import { jsx as B, jsxs as me, Fragment as ht } from "react/jsx-runtime"; import * as V from "react"; import de, { createContext as an, useState as We, useRef as ce, useEffect as xe, isValidElement as Ws, cloneElement as Gs, useContext as gr, useMemo as br, useLayoutEffect as qs, forwardRef as Ym, useCallback as dt, version as Fxe, Fragment as Tr, useReducer as nre, createRef as c4, useId as q1, createElement as xO, useSyncExternalStore as Lxe } from "react"; import * as tm from "react-dom"; import QI, { unstable_batchedUpdates as ZI, createPortal as Vxe } from "react-dom"; function pf(e, t, { checkForDefaultPrevented: r = !0 } = {}) { return function(n) { if (e == null || e(n), r === !1 || !n.defaultPrevented) return t == null ? void 0 : t(n); }; } function HD(e, t) { if (typeof e == "function") return e(t); e != null && (e.current = t); } function ore(...e) { return (t) => { let r = !1; const n = e.map((o) => { const a = HD(o, t); return !r && typeof a == "function" && (r = !0), a; }); if (r) return () => { for (let o = 0; o < n.length; o++) { const a = n[o]; typeof a == "function" ? a() : HD(e[o], null); } }; }; } function Bm(...e) { return V.useCallback(ore(...e), e); } function Wxe(e, t) { const r = V.createContext(t), n = (a) => { const { children: i, ...s } = a, l = V.useMemo(() => s, Object.values(s)); return /* @__PURE__ */ B(r.Provider, { value: l, children: i }); }; n.displayName = e + "Provider"; function o(a) { const i = V.useContext(r); if (i) return i; if (t !== void 0) return t; throw new Error(`\`${a}\` must be used within \`${e}\``); } return [n, o]; } function Gxe(e, t = []) { let r = []; function n(a, i) { const s = V.createContext(i), l = r.length; r = [...r, i]; const c = (f) => { var p; const { scope: v, children: w, ...b } = f, m = ((p = v == null ? void 0 : v[e]) == null ? void 0 : p[l]) || s, x = V.useMemo(() => b, Object.values(b)); return /* @__PURE__ */ B(m.Provider, { value: x, children: w }); }; c.displayName = a + "Provider"; function u(f, p) { var v; const w = ((v = p == null ? void 0 : p[e]) == null ? void 0 : v[l]) || s, b = V.useContext(w); if (b) return b; if (i !== void 0) return i; throw new Error(`\`${f}\` must be used within \`${a}\``); } return [c, u]; } const o = () => { const a = r.map((i) => V.createContext(i)); return function(i) { const s = (i == null ? void 0 : i[e]) || a; return V.useMemo( () => ({ [`__scope${e}`]: { ...i, [e]: s } }), [i, s] ); }; }; return o.scopeName = e, [n, Uxe(o, ...t)]; } function Uxe(...e) { const t = e[0]; if (e.length === 1) return t; const r = () => { const n = e.map((o) => ({ useScope: o(), scopeName: o.scopeName })); return function(o) { const a = n.reduce((i, { useScope: s, scopeName: l }) => { const c = s(o)[`__scope${l}`]; return { ...i, ...c }; }, {}); return V.useMemo(() => ({ [`__scope${t.scopeName}`]: a }), [a]); }; }; return r.scopeName = t.scopeName, r; } var X1 = globalThis != null && globalThis.document ? V.useLayoutEffect : () => { }, Hxe = V[" useId ".trim().toString()] || (() => { }), Yxe = 0; function u4(e) { const [t, r] = V.useState(Hxe()); return X1(() => { r((n) => n ?? String(Yxe++)); }, [e]), e || (t ? `radix-${t}` : ""); } var Bxe = V[" useInsertionEffect ".trim().toString()] || X1; function qxe({ prop: e, defaultProp: t, onChange: r = () => { }, caller: n }) { const [o, a, i] = Xxe({ defaultProp: t, onChange: r }), s = e !== void 0, l = s ? e : o; { const u = V.useRef(e !== void 0); V.useEffect(() => { const f = u.current; f !== s && console.warn( `${n} is changing from ${f ? "controlled" : "uncontrolled"} to ${s ? "controlled" : "uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.` ), u.current = s; }, [s, n]); } const c = V.useCallback( (u) => { var f; if (s) { const p = Kxe(u) ? u(e) : u; p !== e && ((f = i.current) == null || f.call(i, p)); } else a(u); }, [s, e, a, i] ); return [l, c]; } function Xxe({ defaultProp: e, onChange: t }) { const [r, n] = V.useState(e), o = V.useRef(r), a = V.useRef(t); return Bxe(() => { a.current = t; }, [t]), V.useEffect(() => { var i; o.current !== r && ((i = a.current) == null || i.call(a, r), o.current = r); }, [r, o]), [r, n, a]; } function Kxe(e) { return typeof e == "function"; } // @__NO_SIDE_EFFECTS__ function are(e) { const t = /* @__PURE__ */ Jxe(e), r = V.forwardRef((n, o) => { const { children: a, ...i } = n, s = V.Children.toArray(a), l = s.find(Zxe); if (l) { const c = l.props.children, u = s.map((f) => f === l ? V.Children.count(c) > 1 ? V.Children.only(null) : V.isValidElement(c) ? c.props.children : null : f); return /* @__PURE__ */ B(t, { ...i, ref: o, children: V.isValidElement(c) ? V.cloneElement(c, void 0, u) : null }); } return /* @__PURE__ */ B(t, { ...i, ref: o, children: a }); }); return r.displayName = `${e}.Slot`, r; } // @__NO_SIDE_EFFECTS__ function Jxe(e) { const t = V.forwardRef((r, n) => { const { children: o, ...a } = r; if (V.isValidElement(o)) { const i = twe(o), s = ewe(a, o.props); return o.type !== V.Fragment && (s.ref = n ? ore(n, i) : i), V.cloneElement(o, s); } return V.Children.count(o) > 1 ? V.Children.only(null) : null; }); return t.displayName = `${e}.SlotClone`, t; } var Qxe = Symbol("radix.slottable"); function Zxe(e) { return V.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === Qxe; } function ewe(e, t) { const r = { ...t }; for (const n in t) { const o = e[n], a = t[n]; /^on[A-Z]/.test(n) ? o && a ? r[n] = (...i) => { const s = a(...i); return o(...i), s; } : o && (r[n] = o) : n === "style" ? r[n] = { ...o, ...a } : n === "className" && (r[n] = [o, a].filter(Boolean).join(" ")); } return { ...e, ...r }; } function twe(e) { var t, r; let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning; return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref); } var rwe = [ "a", "button", "div", "form", "h2", "h3", "img", "input", "label", "li", "nav", "ol", "p", "select", "span", "svg", "ul" ], Xs = rwe.reduce((e, t) => { const r = /* @__PURE__ */ are(`Primitive.${t}`), n = V.forwardRef((o, a) => { const { asChild: i, ...s } = o, l = i ? r : t; return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ B(l, { ...s, ref: a }); }); return n.displayName = `Primitive.${t}`, { ...e, [t]: n }; }, {}); function nwe(e, t) { e && tm.flushSync(() => e.dispatchEvent(t)); } function K1(e) { const t = V.useRef(e); return V.useEffect(() => { t.current = e; }), V.useMemo(() => (...r) => { var n; return (n = t.current) == null ? void 0 : n.call(t, ...r); }, []); } function owe(e, t = globalThis == null ? void 0 : globalThis.document) { const r = K1(e); V.useEffect(() => { const n = (o) => { o.key === "Escape" && r(o); }; return t.addEventListener("keydown", n, { capture: !0 }), () => t.removeEventListener("keydown", n, { capture: !0 }); }, [r, t]); } var awe = "DismissableLayer", TP = "dismissableLayer.update", iwe = "dismissableLayer.pointerDownOutside", swe = "dismissableLayer.focusOutside", YD, ire = V.createContext({ layers: /* @__PURE__ */ new Set(), layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(), branches: /* @__PURE__ */ new Set() }), sre = V.forwardRef( (e, t) => { const { disableOutsidePointerEvents: r = !1, onEscapeKeyDown: n, onPointerDownOutside: o, onFocusOutside: a, onInteractOutside: i, onDismiss: s, ...l } = e, c = V.useContext(ire), [u, f] = V.useState(null), p = (u == null ? void 0 : u.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, v] = V.useState({}), w = Bm(t, (H) => f(H)), b = Array.from(c.layers), [m] = [...c.layersWithOutsidePointerEventsDisabled].slice(-1), x = b.indexOf(m), O = u ? b.indexOf(u) : -1, E = c.layersWithOutsidePointerEventsDisabled.size > 0, A = O >= x, h = uwe((H) => { const Z = H.target, J = [...c.branches].some((X) => X.contains(Z)); !A || J || (o == null || o(H), i == null || i(H), H.defaultPrevented || s == null || s()); }, p), G = fwe((H) => { const Z = H.target; [...c.branches].some((J) => J.contains(Z)) || (a == null || a(H), i == null || i(H), H.defaultPrevented || s == null || s()); }, p); return owe((H) => { O === c.layers.size - 1 && (n == null || n(H), !H.defaultPrevented && s && (H.preventDefault(), s())); }, p), V.useEffect(() => { if (u) return r && (c.layersWithOutsidePointerEventsDisabled.size === 0 && (YD = p.body.style.pointerEvents, p.body.style.pointerEvents = "none"), c.layersWithOutsidePointerEventsDisabled.add(u)), c.layers.add(u), BD(), () => { r && c.layersWithOutsidePointerEventsDisabled.size === 1 && (p.body.style.pointerEvents = YD); }; }, [u, p, r, c]), V.useEffect(() => () => { u && (c.layers.delete(u), c.layersWithOutsidePointerEventsDisabled.delete(u), BD()); }, [u, c]), V.useEffect(() => { const H = () => v({}); return document.addEventListener(TP, H), () => document.removeEventListener(TP, H); }, []), /* @__PURE__ */ B( Xs.div, { ...l, ref: w, style: { pointerEvents: E ? A ? "auto" : "none" : void 0, ...e.style }, onFocusCapture: pf(e.onFocusCapture, G.onFocusCapture), onBlurCapture: pf(e.onBlurCapture, G.onBlurCapture), onPointerDownCapture: pf( e.onPointerDownCapture, h.onPointerDownCapture ) } ); } ); sre.displayName = awe; var lwe = "DismissableLayerBranch", cwe = V.forwardRef((e, t) => { const r = V.useContext(ire), n = V.useRef(null), o = Bm(t, n); return V.useEffect(() => { const a = n.current; if (a) return r.branches.add(a), () => { r.branches.delete(a); }; }, [r.branches]), /* @__PURE__ */ B(Xs.div, { ...e, ref: o }); }); cwe.displayName = lwe; function uwe(e, t = globalThis == null ? void 0 : globalThis.document) { const r = K1(e), n = V.useRef(!1), o = V.useRef(() => { }); return V.useEffect(() => { const a = (s) => { if (s.target && !n.current) { let l = function() { lre( iwe, r, c, { discrete: !0 } ); }; const c = { originalEvent: s }; s.pointerType === "touch" ? (t.removeEventListener("click", o.current), o.current = l, t.addEventListener("click", o.current, { once: !0 })) : l(); } else t.removeEventListener("click", o.current); n.current = !1; }, i = window.setTimeout(() => { t.addEventListener("pointerdown", a); }, 0); return () => { window.clearTimeout(i), t.removeEventListener("pointerdown", a), t.removeEventListener("click", o.current); }; }, [t, r]), { // ensures we check React component tree (not just DOM tree) onPointerDownCapture: () => n.current = !0 }; } function fwe(e, t = globalThis == null ? void 0 : globalThis.document) { const r = K1(e), n = V.useRef(!1); return V.useEffect(() => { const o = (a) => { a.target && !n.current && lre(swe, r, { originalEvent: a }, { discrete: !1 }); }; return t.addEventListener("focusin", o), () => t.removeEventListener("focusin", o); }, [t, r]), { onFocusCapture: () => n.current = !0, onBlurCapture: () => n.current = !1 }; } function BD() { const e = new CustomEvent(TP); document.dispatchEvent(e); } function lre(e, t, r, { discrete: n }) { const o = r.originalEvent.target, a = new CustomEvent(e, { bubbles: !1, cancelable: !0, detail: r }); t && o.addEventListener(e, t, { once: !0 }), n ? nwe(o, a) : o.dispatchEvent(a); } var f4 = "focusScope.autoFocusOnMount", d4 = "focusScope.autoFocusOnUnmount", qD = { bubbles: !1, cancelable: !0 }, dwe = "FocusScope", cre = V.forwardRef((e, t) => { const { loop: r = !1, trapped: n = !1, onMountAutoFocus: o, onUnmountAutoFocus: a, ...i } = e, [s, l] = V.useState(null), c = K1(o), u = K1(a), f = V.useRef(null), p = Bm(t, (b) => l(b)), v = V.useRef({ paused: !1, pause() { this.paused = !0; }, resume() { this.paused = !1; } }).current; V.useEffect(() => { if (n) { let b = function(E) { if (v.paused || !s) return; const A = E.target; s.contains(A) ? f.current = A : qu(f.current, { select: !0 }); }, m = function(E) { if (v.paused || !s) return; const A = E.relatedTarget; A !== null && (s.contains(A) || qu(f.current, { select: !0 })); }, x = function(E) { if (document.activeElement === document.body) for (const A of E) A.removedNodes.length > 0 && qu(s); }; document.addEventListener("focusin", b), document.addEventListener("focusout", m); const O = new MutationObserver(x); return s && O.observe(s, { childList: !0, subtree: !0 }), () => { document.removeEventListener("focusin", b), document.removeEventListener("focusout", m), O.disconnect(); }; } }, [n, s, v.paused]), V.useEffect(() => { if (s) { KD.add(v); const b = document.activeElement; if (!s.contains(b)) { const m = new CustomEvent(f4, qD); s.addEventListener(f4, c), s.dispatchEvent(m), m.defaultPrevented || (pwe(ywe(ure(s)), { select: !0 }), document.activeElement === b && qu(s)); } return () => { s.removeEventListener(f4, c), setTimeout(() => { const m = new CustomEvent(d4, qD); s.addEventListener(d4, u), s.dispatchEvent(m), m.defaultPrevented || qu(b ?? document.body, { select: !0 }), s.removeEventListener(d4, u), KD.remove(v); }, 0); }; } }, [s, c, u, v]); const w = V.useCallback( (b) => { if (!r && !n || v.paused) return; const m = b.key === "Tab" && !b.altKey && !b.ctrlKey && !b.metaKey, x = document.activeElement; if (m && x) { const O = b.currentTarget, [E, A] = mwe(O); E && A ? !b.shiftKey && x === A ? (b.preventDefault(), r && qu(E, { select: !0 })) : b.shiftKey && x === E && (b.preventDefault(), r && qu(A, { select: !0 })) : x === O && b.preventDefault(); } }, [r, n, v.paused] ); return /* @__PURE__ */ B(Xs.div, { tabIndex: -1, ...i, ref: p, onKeyDown: w }); }); cre.displayName = dwe; function pwe(e, { select: t = !1 } = {}) { const r = document.activeElement; for (const n of e) if (qu(n, { select: t }), document.activeElement !== r) return; } function mwe(e) { const t = ure(e), r = XD(t, e), n = XD(t.reverse(), e); return [r, n]; } function ure(e) { const t = [], r = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, { acceptNode: (n) => { const o = n.tagName === "INPUT" && n.type === "hidden"; return n.disabled || n.hidden || o ? NodeFilter.FILTER_SKIP : n.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP; } }); for (; r.nextNode(); ) t.push(r.currentNode); return t; } function XD(e, t) { for (const r of e) if (!gwe(r, { upTo: t })) return r; } function gwe(e, { upTo: t }) { if (getComputedStyle(e).visibility === "hidden") return !0; for (; e; ) { if (t !== void 0 && e === t) return !1; if (getComputedStyle(e).display === "none") return !0; e = e.parentElement; } return !1; } function hwe(e) { return e instanceof HTMLInputElement && "select" in e; } function qu(e, { select: t = !1 } = {}) { if (e && e.focus) { const r = document.activeElement; e.focus({ preventScroll: !0 }), e !== r && hwe(e) && t && e.select(); } } var KD = bwe(); function bwe() { let e = []; return { add(t) { const r = e[0]; t !== r && (r == null || r.pause()), e = JD(e, t), e.unshift(t); }, remove(t) { var r; e = JD(e, t), (r = e[0]) == null || r.resume(); } }; } function JD(e, t) { const r = [...e], n = r.indexOf(t); return n !== -1 && r.splice(n, 1), r; } function ywe(e) { return e.filter((t) => t.tagName !== "A"); } var vwe = "Portal", fre = V.forwardRef((e, t) => { var r; const { container: n, ...o } = e, [a, i] = V.useState(!1); X1(() => i(!0), []); const s = n || a && ((r = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : r.body); return s ? QI.createPortal(/* @__PURE__ */ B(Xs.div, { ...o, ref: t }), s) : null; }); fre.displayName = vwe; function xwe(e, t) { return V.useReducer((r, n) => t[r][n] ?? r, e); } var wO = (e) => { const { present: t, children: r } = e, n = wwe(t), o = typeof r == "function" ? r({ present: n.isPresent }) : V.Children.only(r), a = Bm(n.ref, kwe(o)); return typeof r == "function" || n.isPresent ? V.cloneElement(o, { ref: a }) : null; }; wO.displayName = "Presence"; function wwe(e) { const [t, r] = V.useState(), n = V.useRef(null), o = V.useRef(e), a = V.useRef("none"), i = e ? "mounted" : "unmounted", [s, l] = xwe(i, { mounted: { UNMOUNT: "unmounted", ANIMATION_OUT: "unmountSuspended" }, unmountSuspended: { MOUNT: "mounted", ANIMATION_END: "unmounted" }, unmounted: { MOUNT: "mounted" } }); return V.useEffect(() => { const c = uw(n.current); a.current = s === "mounted" ? c : "none"; }, [s]), X1(() => { const c = n.current, u = o.current; if (u !== e) { const f = a.current, p = uw(c); e ? l("MOUNT") : p === "none" || (c == null ? void 0 : c.display) === "none" ? l("UNMOUNT") : l(u && f !== p ? "ANIMATION_OUT" : "UNMOUNT"), o.current = e; } }, [e, l]), X1(() => { if (t) { let c; const u = t.ownerDocument.defaultView ?? window, f = (v) => { const w = uw(n.current).includes(v.animationName); if (v.target === t && w && (l("ANIMATION_END"), !o.current)) { const b = t.style.animationFillMode; t.style.animationFillMode = "forwards", c = u.setTimeout(() => { t.style.animationFillMode === "forwards" && (t.style.animationFillMode = b); }); } }, p = (v) => { v.target === t && (a.current = uw(n.current)); }; return t.addEventListener("animationstart", p), t.addEventListener("animationcancel", f), t.addEventListener("animationend", f), () => { u.clearTimeout(c), t.removeEventListener("animationstart", p), t.removeEventListener("animationcancel", f), t.removeEventListener("animationend", f); }; } else l("ANIMATION_END"); }, [t, l]), { isPresent: ["mounted", "unmountSuspended"].includes(s), ref: V.useCallback((c) => { n.current = c ? getComputedStyle(c) : null, r(c); }, []) }; } function uw(e) { return (e == null ? void 0 : e.animationName) || "none"; } function kwe(e) { var t, r; let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning; return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref); } var p4 = 0; function Owe() { V.useEffect(() => { const e = document.querySelectorAll("[data-radix-focus-guard]"); return document.body.insertAdjacentElement("afterbegin", e[0] ?? QD()), document.body.insertAdjacentElement("beforeend", e[1] ?? QD()), p4++, () => { p4 === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((t) => t.remove()), p4--; }; }, []); } function QD() { const e = document.createElement("span"); return e.setAttribute("data-radix-focus-guard", ""), e.tabIndex = 0, e.style.outline = "none", e.style.opacity = "0", e.style.position = "fixed", e.style.pointerEvents = "none", e; } var os = function() { return os = Object.assign || function(e) { for (var t, r = 1, n = arguments.length; r < n; r++) { t = arguments[r]; for (var o in t) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]); } return e; }, os.apply(this, arguments); }; function dre(e, t) { var r = {}; for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (r[n] = e[n]); if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var o = 0, n = Object.getOwnPropertySymbols(e); o < n.length; o++) t.indexOf(n[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[o]) && (r[n[o]] = e[n[o]]); return r; } function Swe(e, t, r) { for (var n = 0, o = t.length, a; n < o; n++) (a || !(n in t)) && (a || (a = Array.prototype.slice.call(t, 0, n)), a[n] = t[n]); return e.concat(a || Array.prototype.slice.call(t)); } var W2 = "right-scroll-bar-position", G2 = "width-before-scroll-bar", Ewe = "with-scroll-bars-hidden", Awe = "--removed-body-scroll-bar-size"; function m4(e, t) { return typeof e == "function" ? e(t) : e && (e.current = t), e; } function $we(e, t) { var r = We(function() { return { // value value: e, // last callback callback: t, // "memoized" public interface facade: { get current() { return r.value; }, set current(n) { var o = r.value; o !== n && (r.value = n, r.callback(n, o)); } } }; })[0]; return r.callback = t, r.facade; } var Pwe = typeof window < "u" ? V.useLayoutEffect : V.useEffect, ZD = /* @__PURE__ */ new WeakMap(); function Cwe(e, t) { var r = $we(null, function(n) { return e.forEach(function(o) { return m4(o, n); }); }); return Pwe(function() { var n = ZD.get(r); if (n) { var o = new Set(n), a = new Set(e), i = r.current; o.forEach(function(s) { a.has(s) || m4(s, null); }), a.forEach(function(s) { o.has(s) || m4(s, i); }); } ZD.set(r, e); }, [e]), r; } function Nwe(e) { return e; } function _we(e, t) { t === void 0 && (t = Nwe); var r = [], n = !1, o = { read: function() { if (n) throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`."); return r.length ? r[r.length - 1] : e; }, useMedium: function(a) { var i = t(a, n); return r.push(i), function() { r = r.filter(function(s) { return s !== i; }); }; }, assignSyncMedium: function(a) { for (n = !0; r.length; ) { var i = r; r = [], i.forEach(a); } r = { push: function(s) { return a(s); }, filter: function() { return r; } }; }, assignMedium: function(a) { n = !0; var i = []; if (r.length) { var s = r; r = [], s.forEach(a), i = r; } var l = function() { var u = i; i = [], u.forEach(a); }, c = function() { return Promise.resolve().then(l); }; c(), r = { push: function(u) { i.push(u), c(); }, filter: function(u) { return i = i.filter(u), r; } }; } }; return o; } function jwe(e) { e === void 0 && (e = {}); var t = _we(null); return t.options = os({ async: !0, ssr: !1 }, e), t; } var pre = function(e) { var t = e.sideCar, r = dre(e, ["sideCar"]); if (!t) throw new Error("Sidecar: please provide `sideCar` property to import the right car"); var n = t.read(); if (!n) throw new Error("Sidecar medium not found"); return V.createElement(n, os({}, r)); }; pre.isSideCarExport = !0; function Iwe(e, t) { return e.useMedium(t), pre; } var mre = jwe(), g4 = function() { }, kO = V.forwardRef(function(e, t) { var r = V.useRef(null), n = V.useState({ onScrollCapture: g4, onWheelCapture: g4, onTouchMoveCapture: g4 }), o = n[0], a = n[1], i = e.forwardProps, s = e.children, l = e.className, c = e.removeScrollBar, u = e.enabled, f = e.shards, p = e.sideCar, v = e.noRelative, w = e.noIsolation, b = e.inert, m = e.allowPinchZoom, x = e.as, O = x === void 0 ? "div" : x, E = e.gapMode, A = dre(e, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noRelative", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]), h = p, G = Cwe([r, t]), H = os(os({}, A), o); return V.createElement( V.Fragment, null, u && V.createElement(h, { sideCar: mre, removeScrollBar: c, shards: f, noRelative: v, noIsolation: w, inert: b, setCallbacks: a, allowPinchZoom: !!m, lockRef: r, gapMode: E }), i ? V.cloneElement(V.Children.only(s), os(os({}, H), { ref: G })) : V.createElement(O, os({}, H, { className: l, ref: G }), s) ); }); kO.defaultProps = { enabled: !0, removeScrollBar: !0, inert: !1 }; kO.classNames = { fullWidth: G2, zeroRight: W2 }; var Rwe = function() { if (typeof __webpack_nonce__ < "u") return __webpack_nonce__; }; function Mwe() { if (!document) return null; var e = document.createElement("style"); e.type = "text/css"; var t = Rwe(); return t && e.setAttribute("nonce", t), e; } function Twe(e, t) { e.styleSheet ? e.styleSheet.cssText = t : e.appendChild(document.createTextNode(t)); } function zwe(e) { var t = document.head || document.getElementsByTagName("head")[0]; t.appendChild(e); } var Dwe = function() { var e = 0, t = null; return { add: function(r) { e == 0 && (t = Mwe()) && (Twe(t, r), zwe(t)), e++; }, remove: function() { e--, !e && t && (t.parentNode && t.parentNode.removeChild(t), t = null); } }; }, Fwe = function() { var e = Dwe(); return function(t, r) { V.useEffect(function() { return e.add(t), function() { e.remove(); }; }, [t && r]); }; }, gre = function() { var e = Fwe(), t = function(r) { var n = r.styles, o = r.dynamic; return e(n, o), null; }; return t; }, Lwe = { left: 0, top: 0, right: 0, gap: 0 }, h4 = function(e) { return parseInt(e || "", 10) || 0; }, Vwe = function(e) { var t = window.getComputedStyle(document.body), r = t[e === "padding" ? "paddingLeft" : "marginLeft"], n = t[e === "padding" ? "paddingTop" : "marginTop"], o = t[e === "padding" ? "paddingRight" : "marginRight"]; return [h4(r), h4(n), h4(o)]; }, Wwe = function(e) { if (e === void 0 && (e = "margin"), typeof window > "u") return Lwe; var t = Vwe(e), r = document.documentElement.clientWidth, n = window.innerWidth; return { left: t[0], top: t[1], right: t[2], gap: Math.max(0, n - r + t[2] - t[0]) }; }, Gwe = gre(), rh = "data-scroll-locked", Uwe = function(e, t, r, n) { var o = e.left, a = e.top, i = e.right, s = e.gap; return r === void 0 && (r = "margin"), ` .`.concat(Ewe, ` { overflow: hidden `).concat(n, `; padding-right: `).concat(s, "px ").concat(n, `; } body[`).concat(rh, `] { overflow: hidden `).concat(n, `; overscroll-behavior: contain; `).concat([ t && "position: relative ".concat(n, ";"), r === "margin" && ` padding-left: `.concat(o, `px; padding-top: `).concat(a, `px; padding-right: `).concat(i, `px; margin-left:0; margin-top:0; margin-right: `).concat(s, "px ").concat(n, `; `), r === "padding" && "padding-right: ".concat(s, "px ").concat(n, ";") ].filter(Boolean).join(""), ` } .`).concat(W2, ` { right: `).concat(s, "px ").concat(n, `; } .`).concat(G2, ` { margin-right: `).concat(s, "px ").concat(n, `; } .`).concat(W2, " .").concat(W2, ` { right: 0 `).concat(n, `; } .`).concat(G2, " .").concat(G2, ` { margin-right: 0 `).concat(n, `; } body[`).concat(rh, `] { `).concat(Awe, ": ").concat(s, `px; } `); }, eF = function() { var e = parseInt(document.body.getAttribute(rh) || "0", 10); return isFinite(e) ? e : 0; }, Hwe = function() { V.useEffect(function() { return document.body.setAttribute(rh, (eF() + 1).toString()), function() { var e = eF() - 1; e <= 0 ? document.body.removeAttribute(rh) : document.body.setAttribute(rh, e.toString()); }; }, []); }, Ywe = function(e) { var t = e.noRelative, r = e.noImportant, n = e.gapMode, o = n === void 0 ? "margin" : n; Hwe(); var a = V.useMemo(function() { return Wwe(o); }, [o]); return V.createElement(Gwe, { styles: Uwe(a, !t, o, r ? "" : "!important") }); }, zP = !1; if (typeof window < "u") try { var fw = Object.defineProperty({}, "passive", { get: function() { return zP = !0, !0; } }); window.addEventListener("test", fw, fw), window.removeEventListener("test", fw, fw); } catch { zP = !1; } var Jm = zP ? { passive: !1 } : !1, Bwe = function(e) { return e.tagName === "TEXTAREA"; }, hre = function(e, t) { if (!(e instanceof Element)) return !1; var r = window.getComputedStyle(e); return ( // not-not-scrollable r[t] !== "hidden" && // contains scroll inside self !(r.overflowY === r.overflowX && !Bwe(e) && r[t] === "visible") ); }, qwe = function(e) { return hre(e, "overflowY"); }, Xwe = function(e) { return hre(e, "overflowX"); }, tF = function(e, t) { var r = t.ownerDocument, n = t; do { typeof ShadowRoot < "u" && n instanceof ShadowRoot && (n = n.host); var o = bre(e, n); if (o) { var a = yre(e, n), i = a[1], s = a[2]; if (i > s) return !0; } n = n.parentNode; } while (n && n !== r.body); return !1; }, Kwe = function(e) { var t = e.scrollTop, r = e.scrollHeight, n = e.clientHeight; return [ t, r, n ]; }, Jwe = function(e) { var t = e.scrollLeft, r = e.scrollWidth, n = e.clientWidth; return [ t, r, n ]; }, bre = function(e, t) { return e === "v" ? qwe(t) : Xwe(t); }, yre = function(e, t) { return e === "v" ? Kwe(t) : Jwe(t); }, Qwe = function(e, t) { return e === "h" && t === "rtl" ? -1 : 1; }, Zwe = function(e, t, r, n, o) { var a = Qwe(e, window.getComputedStyle(t).direction), i = a * n, s = r.target, l = t.contains(s), c = !1, u = i > 0, f = 0, p = 0; do { if (!s) break; var v = yre(e, s), w = v[0], b = v[1], m = v[2], x = b - m - a * w; (w || x) && bre(e, s) && (f += x, p += w); var O = s.parentNode; s = O && O.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? O.host : O; } while ( // portaled content !l && s !== document.body || // self content l && (t.contains(s) || t === s) ); return (u && Math.abs(f) < 1 || !u && Math.abs(p) < 1) && (c = !0), c; }, dw = function(e) { return "changedTouches" in e ? [e.changedTouches[0].clientX, e.changedTouches[0].clientY] : [0, 0]; }, rF = function(e) { return [e.deltaX, e.deltaY]; }, nF = function(e) { return e && "current" in e ? e.current : e; }, e2e = function(e, t) { return e[0] === t[0] && e[1] === t[1]; }, t2e = function(e) { return ` .block-interactivity-`.concat(e, ` {pointer-events: none;} .allow-interactivity-`).concat(e, ` {pointer-events: all;} `); }, r2e = 0, Qm = []; function n2e(e) { var t = V.useRef([]), r = V.useRef([0, 0]), n = V.useRef(), o = V.useState(r2e++)[0], a = V.useState(gre)[0], i = V.useRef(e); V.useEffect(function() { i.current = e; }, [e]), V.useEffect(function() { if (e.inert) { document.body.classList.add("block-interactivity-".concat(o)); var b = Swe([e.lockRef.current], (e.shards || []).map(nF)).filter(Boolean); return b.forEach(function(m) { return m.classList.add("allow-interactivity-".concat(o)); }), function() { document.body.classList.remove("block-interactivity-".concat(o)), b.forEach(function(m) { return m.classList.remove("allow-interactivity-".concat(o)); }); }; } }, [e.inert, e.lockRef.current, e.shards]); var s = V.useCallback(function(b, m) { if ("touches" in b && b.touches.length === 2 || b.type === "wheel" && b.ctrlKey) return !i.current.allowPinchZoom; var x = dw(b), O = r.current, E = "deltaX" in b ? b.deltaX : O[0] - x[0], A = "deltaY" in b ? b.deltaY : O[1] - x[1], h, G = b.target, H = Math.abs(E) > Math.abs(A) ? "h" : "v"; if ("touches" in b && H === "h" && G.type === "range") return !1; var Z = tF(H, G); if (!Z) return !0; if (Z ? h = H : (h = H === "v" ? "h" : "v", Z = tF(H, G)), !Z) return !1; if (!n.current && "changedTouches" in b && (E || A) && (n.current = h), !h) return !0; var J = n.current || h; return Zwe(J, m, b, J === "h" ? E : A); }, []), l = V.useCallback(function(b) { var m = b; if (!(!Qm.length || Qm[Qm.length - 1] !== a)) { var x = "deltaY" in m ? rF(m) : dw(m), O = t.current.filter(function(h) { return h.name === m.type && (h.target === m.target || m.target === h.shadowParent) && e2e(h.delta, x); })[0]; if (O && O.should) { m.cancelable && m.preventDefault(); return; } if (!O) { var E = (i.current.shards || []).map(nF).filter(Boolean).filter(function(h) { return h.contains(m.target); }), A = E.length > 0 ? s(m, E[0]) : !i.current.noIsolation; A && m.cancelable && m.preventDefault(); } } }, []), c = V.useCallback(function(b, m, x, O) { var E = { name: b, delta: m, target: x, should: O, shadowParent: o2e(x) }; t.current.push(E), setTimeout(function() { t.current = t.current.filter(function(A) { return A !== E; }); }, 1); }, []), u = V.useCallback(function(b) { r.current = dw(b), n.current = void 0; }, []), f = V.useCallback(function(b) { c(b.type, rF(b), b.target, s(b, e.lockRef.current)); }, []), p = V.useCallback(function(b) { c(b.type, dw(b), b.target, s(b, e.lockRef.current)); }, []); V.useEffect(function() { return Qm.push(a), e.setCallbacks({ onScrollCapture: f, onWheelCapture: f, onTouchMoveCapture: p }), document.addEventListener("wheel", l, Jm), document.addEventListener("touchmove", l, Jm), document.addEventListener("touchstart", u, Jm), function() { Qm = Qm.filter(function(b) { return b !== a; }), document.removeEventListener("wheel", l, Jm), document.removeEventListener("touchmove", l, Jm), document.removeEventListener("touchstart", u, Jm); }; }, []); var v = e.removeScrollBar, w = e.inert; return V.createElement( V.Fragment, null, w ? V.createElement(a, { styles: t2e(o) }) : null, v ? V.createElement(Ywe, { noRelative: e.noRelative, gapMode: e.gapMode }) : null ); } function o2e(e) { for (var t = null; e !== null; ) e instanceof ShadowRoot && (t = e.host, e = e.host), e = e.parentNode; return t; } const a2e = Iwe(mre, n2e); var vre = V.forwardRef(function(e, t) { return V.createElement(kO, os({}, e, { ref: t, sideCar: a2e })); }); vre.classNames = kO.classNames; var i2e = function(e) { if (typeof document > "u") return null; var t = Array.isArray(e) ? e[0] : e; return t.ownerDocument.body; }, Zm = /* @__PURE__ */ new WeakMap(), pw = /* @__PURE__ */ new WeakMap(), mw = {}, b4 = 0, xre = function(e) { return e && (e.host || xre(e.parentNode)); }, s2e = function(e, t) { return t.map(function(r) { if (e.contains(r)) return r; var n = xre(r); return n && e.contains(n) ? n : (console.error("aria-hidden", r, "in not contained inside", e, ". Doing nothing"), null); }).filter(function(r) { return !!r; }); }, l2e = function(e, t, r, n) { var o = s2e(t, Array.isArray(e) ? e : [e]); mw[r] || (mw[r] = /* @__PURE__ */ new WeakMap()); var a = mw[r], i = [], s = /* @__PURE__ */ new Set(), l = new Set(o), c = function(f) { !f || s.has(f) || (s.add(f), c(f.parentNode)); }; o.forEach(c); var u = function(f) { !f || l.has(f) || Array.prototype.forEach.call(f.children, function(p) { if (s.has(p)) u(p); else try { var v = p.getAttribute(n), w = v !== null && v !== "false", b = (Zm.get(p) || 0) + 1, m = (a.get(p) || 0) + 1; Zm.set(p, b), a.set(p, m), i.push(p), b === 1 && w && pw.set(p, !0), m === 1 && p.setAttribute(r, "true"), w || p.setAttribute(n, "true"); } catch (x) { console.error("aria-hidden: cannot operate on ", p, x); } }); }; return u(t), s.clear(), b4++, function() { i.forEach(function(f) { var p = Zm.get(f) - 1, v = a.get(f) - 1; Zm.set(f, p), a.set(f, v), p || (pw.has(f) || f.removeAttribute(n), pw.delete(f)), v || f.removeAttribute(r); }), b4--, b4 || (Zm = /* @__PURE__ */ new WeakMap(), Zm = /* @__PURE__ */ new WeakMap(), pw = /* @__PURE__ */ new WeakMap(), mw = {}); }; }, c2e = function(e, t, r) { r === void 0 && (r = "data-aria-hidden"); var n = Array.from(Array.isArray(e) ? e : [e]), o = i2e(e); return o ? (n.push.apply(n, Array.from(o.querySelectorAll("[aria-live], script"))), l2e(n, o, r, "aria-hidden")) : function() { return null; }; }, OO = "Dialog", [wre, d6t] = Gxe(OO), [u2e, Ii] = wre(OO), kre = (e) => { const { __scopeDialog: t, children: r, open: n, defaultOpen: o, onOpenChange: a, modal: i = !0 } = e, s = V.useRef(null), l = V.useRef(null), [c, u] = qxe({ prop: n, defaultProp: o ?? !1, onChange: a, caller: OO }); return /* @__PURE__ */ B( u2e, { scope: t, triggerRef: s, contentRef: l, contentId: u4(), titleId: u4(), descriptionId: u4(), open: c, onOpenChange: u, onOpenToggle: V.useCallback(() => u((f) => !f), [u]), modal: i, children: r } ); }; kre.displayName = OO; var Ore = "DialogTrigger", f2e = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = Ii(Ore, r), a = Bm(t, o.triggerRef); return /* @__PURE__ */ B( Xs.button, { type: "button", "aria-haspopup": "dialog", "aria-expanded": o.open, "aria-controls": o.contentId, "data-state": rR(o.open), ...n, ref: a, onClick: pf(e.onClick, o.onOpenToggle) } ); } ); f2e.displayName = Ore; var eR = "DialogPortal", [d2e, Sre] = wre(eR, { forceMount: void 0 }), Ere = (e) => { const { __scopeDialog: t, forceMount: r, children: n, container: o } = e, a = Ii(eR, t); return /* @__PURE__ */ B(d2e, { scope: t, forceMount: r, children: V.Children.map(n, (i) => /* @__PURE__ */ B(wO, { present: r || a.open, children: /* @__PURE__ */ B(fre, { asChild: !0, container: o, children: i }) })) }); }; Ere.displayName = eR; var Xk = "DialogOverlay", Are = V.forwardRef( (e, t) => { const r = Sre(Xk, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = Ii(Xk, e.__scopeDialog); return a.modal ? /* @__PURE__ */ B(wO, { present: n || a.open, children: /* @__PURE__ */ B(m2e, { ...o, ref: t }) }) : null; } ); Are.displayName = Xk; var p2e = /* @__PURE__ */ are("DialogOverlay.RemoveScroll"), m2e = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = Ii(Xk, r); return ( // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll` // ie. when `Overlay` and `Content` are siblings /* @__PURE__ */ B(vre, { as: p2e, allowPinchZoom: !0, shards: [o.contentRef], children: /* @__PURE__ */ B( Xs.div, { "data-state": rR(o.open), ...n, ref: t, style: { pointerEvents: "auto", ...n.style } } ) }) ); } ), rm = "DialogContent", $re = V.forwardRef( (e, t) => { const r = Sre(rm, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = Ii(rm, e.__scopeDialog); return /* @__PURE__ */ B(wO, { present: n || a.open, children: a.modal ? /* @__PURE__ */ B(g2e, { ...o, ref: t }) : /* @__PURE__ */ B(h2e, { ...o, ref: t }) }); } ); $re.displayName = rm; var g2e = V.forwardRef( (e, t) => { const r = Ii(rm, e.__scopeDialog), n = V.useRef(null), o = Bm(t, r.contentRef, n); return V.useEffect(() => { const a = n.current; if (a) return c2e(a); }, []), /* @__PURE__ */ B( Pre, { ...e, ref: o, trapFocus: r.open, disableOutsidePointerEvents: !0, onCloseAutoFocus: pf(e.onCloseAutoFocus, (a) => { var i; a.preventDefault(), (i = r.triggerRef.current) == null || i.focus(); }), onPointerDownOutside: pf(e.onPointerDownOutside, (a) => { const i = a.detail.originalEvent, s = i.button === 0 && i.ctrlKey === !0; (i.button === 2 || s) && a.preventDefault(); }), onFocusOutside: pf( e.onFocusOutside, (a) => a.preventDefault() ) } ); } ), h2e = V.forwardRef( (e, t) => { const r = Ii(rm, e.__scopeDialog), n = V.useRef(!1), o = V.useRef(!1); return /* @__PURE__ */ B( Pre, { ...e, ref: t, trapFocus: !1, disableOutsidePointerEvents: !1, onCloseAutoFocus: (a) => { var i, s; (i = e.onCloseAutoFocus) == null || i.call(e, a), a.defaultPrevented || (n.current || (s = r.triggerRef.current) == null || s.focus(), a.preventDefault()), n.current = !1, o.current = !1; }, onInteractOutside: (a) => { var i, s; (i = e.onInteractOutside) == null || i.call(e, a), a.defaultPrevented || (n.current = !0, a.detail.originalEvent.type === "pointerdown" && (o.current = !0)); const l = a.target; (s = r.triggerRef.current) != null && s.contains(l) && a.preventDefault(), a.detail.originalEvent.type === "focusin" && o.current && a.preventDefault(); } } ); } ), Pre = V.forwardRef( (e, t) => { const { __scopeDialog: r, trapFocus: n, onOpenAutoFocus: o, onCloseAutoFocus: a, ...i } = e, s = Ii(rm, r), l = V.useRef(null), c = Bm(t, l); return Owe(), /* @__PURE__ */ me(ht, { children: [ /* @__PURE__ */ B( cre, { asChild: !0, loop: !0, trapped: n, onMountAutoFocus: o, onUnmountAutoFocus: a, children: /* @__PURE__ */ B( sre, { role: "dialog", id: s.contentId, "aria-describedby": s.descriptionId, "aria-labelledby": s.titleId, "data-state": rR(s.open), ...i, ref: c, onDismiss: () => s.onOpenChange(!1) } ) } ), /* @__PURE__ */ me(ht, { children: [ /* @__PURE__ */ B(y2e, { titleId: s.titleId }), /* @__PURE__ */ B(x2e, { contentRef: l, descriptionId: s.descriptionId }) ] }) ] }); } ), tR = "DialogTitle", Cre = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = Ii(tR, r); return /* @__PURE__ */ B(Xs.h2, { id: o.titleId, ...n, ref: t }); } ); Cre.displayName = tR; var Nre = "DialogDescription", _re = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = Ii(Nre, r); return /* @__PURE__ */ B(Xs.p, { id: o.descriptionId, ...n, ref: t }); } ); _re.displayName = Nre; var jre = "DialogClose", b2e = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = Ii(jre, r); return /* @__PURE__ */ B( Xs.button, { type: "button", ...n, ref: t, onClick: pf(e.onClick, () => o.onOpenChange(!1)) } ); } ); b2e.displayName = jre; function rR(e) { return e ? "open" : "closed"; } var Ire = "DialogTitleWarning", [p6t, Rre] = Wxe(Ire, { contentName: rm, titleName: tR, docsSlug: "dialog" }), y2e = ({ titleId: e }) => { const t = Rre(Ire), r = `\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users. If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component. For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`; return V.useEffect(() => { e && (document.getElementById(e) || console.error(r)); }, [r, e]), null; }, v2e = "DialogDescriptionWarning", x2e = ({ contentRef: e, descriptionId: t }) => { const r = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Rre(v2e).contentName}}.`; return V.useEffect(() => { var n; const o = (n = e.current) == null ? void 0 : n.getAttribute("aria-describedby"); t && o && (document.getElementById(t) || console.warn(r)); }, [r, e, t]), null; }, w2e = kre, k2e = Ere, O2e = Are, S2e = $re, oF = Cre, E2e = _re; const nR = "-", A2e = (e) => { const t = P2e(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(nR); return a[0] === "" && a.length !== 1 && a.shift(), Mre(a, t) || $2e(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, Mre = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? Mre(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(nR); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, aF = /^\[(.+)\]$/, $2e = (e) => { if (aF.test(e)) { const t = aF.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, P2e = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return N2e(Object.entries(e.classGroups), r).forEach(([o, a]) => { DP(a, n, o, t); }), n; }, DP = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : iF(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (C2e(o)) { DP(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { DP(i, iF(t, a), r, n); }); }); }, iF = (e, t) => { let r = e; return t.split(nR).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, C2e = (e) => e.isThemeGetter, N2e = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, _2e = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, Tre = "!", j2e = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(Tre), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, I2e = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, R2e = (e) => ({ cache: _2e(e.cacheSize), parseClassName: j2e(e), ...A2e(e) }), M2e = /\s+/, T2e = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(M2e); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = I2e(u).join(":"), x = f ? m + Tre : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function z2e() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = zre(t)) && (n && (n += " "), n += r); return n; } const zre = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = zre(e[n])) && (r && (r += " "), r += t); return r; }; function D2e(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = R2e(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = T2e(l, r); return o(l, u), u; } return function() { return a(z2e.apply(null, arguments)); }; } const sn = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, Dre = /^\[(?:([a-z-]+):)?(.+)\]$/i, F2e = /^\d+\/\d+$/, L2e = /* @__PURE__ */ new Set(["px", "full", "screen"]), V2e = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, W2e = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, G2e = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, U2e = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, H2e = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Zs = (e) => nh(e) || L2e.has(e) || F2e.test(e), Mc = (e) => Ob(e, "length", Z2e), nh = (e) => !!e && !Number.isNaN(Number(e)), y4 = (e) => Ob(e, "number", nh), gy = (e) => !!e && Number.isInteger(Number(e)), Y2e = (e) => e.endsWith("%") && nh(e.slice(0, -1)), wt = (e) => Dre.test(e), Tc = (e) => V2e.test(e), B2e = /* @__PURE__ */ new Set(["length", "size", "percentage"]), q2e = (e) => Ob(e, B2e, Fre), X2e = (e) => Ob(e, "position", Fre), K2e = /* @__PURE__ */ new Set(["image", "url"]), J2e = (e) => Ob(e, K2e, tke), Q2e = (e) => Ob(e, "", eke), hy = () => !0, Ob = (e, t, r) => { const n = Dre.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, Z2e = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. W2e.test(e) && !G2e.test(e) ), Fre = () => !1, eke = (e) => U2e.test(e), tke = (e) => H2e.test(e), rke = () => { const e = sn("colors"), t = sn("spacing"), r = sn("blur"), n = sn("brightness"), o = sn("borderColor"), a = sn("borderRadius"), i = sn("borderSpacing"), s = sn("borderWidth"), l = sn("contrast"), c = sn("grayscale"), u = sn("hueRotate"), f = sn("invert"), p = sn("gap"), v = sn("gradientColorStops"), w = sn("gradientColorStopPositions"), b = sn("inset"), m = sn("margin"), x = sn("opacity"), O = sn("padding"), E = sn("saturate"), A = sn("scale"), h = sn("sepia"), G = sn("skew"), H = sn("space"), Z = sn("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", wt, t], I = () => [wt, t], te = () => ["", Zs, Mc], U = () => ["auto", nh, wt], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", wt], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [nh, wt]; return { cacheSize: 500, separator: ":", theme: { colors: [hy], spacing: [Zs, Mc], blur: ["none", "", Tc, wt], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", Tc, wt], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [Y2e, Mc], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", wt] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [Tc] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), wt] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", gy, wt] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", wt] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", gy, wt] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [hy] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", gy, wt] }, wt] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [hy] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [gy, wt] }, wt] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", wt] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", wt] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", wt, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [wt, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [wt, t, "none", "full", "min", "max", "fit", "prose", { screen: [Tc] }, Tc] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [wt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [wt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [wt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [wt, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", Tc, Mc] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", y4] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [hy] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", wt] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", nh, y4] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", Zs, wt] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", wt] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", wt] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", Zs, Mc] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", Zs, wt] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", wt] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", wt] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), X2e] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", q2e] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, J2e] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [Zs, wt] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [Zs, Mc] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [Zs, Mc] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", Tc, Q2e] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [hy] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", Tc, wt] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", wt] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", wt] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", wt] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [gy, wt] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", wt] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", wt] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", wt] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [Zs, Mc, y4] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, Xv = /* @__PURE__ */ D2e(rke); /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function nke(e, t, r) { return (t = ake(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function sF(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function ke(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? sF(Object(r), !0).forEach(function(n) { nke(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : sF(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function oke(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function ake(e) { var t = oke(e, "string"); return typeof t == "symbol" ? t : t + ""; } const lF = () => { }; let oR = {}, Lre = {}, Vre = null, Wre = { mark: lF, measure: lF }; try { typeof window < "u" && (oR = window), typeof document < "u" && (Lre = document), typeof MutationObserver < "u" && (Vre = MutationObserver), typeof performance < "u" && (Wre = performance); } catch { } const { userAgent: cF = "" } = oR.navigator || {}, kf = oR, Nn = Lre, uF = Vre, gw = Wre; kf.document; const yc = !!Nn.documentElement && !!Nn.head && typeof Nn.addEventListener == "function" && typeof Nn.createElement == "function", Gre = ~cF.indexOf("MSIE") || ~cF.indexOf("Trident/"); var ike = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, ske = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, Ure = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, lke = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, Hre = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], xo = "classic", SO = "duotone", cke = "sharp", uke = "sharp-duotone", Yre = [xo, SO, cke, uke], fke = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, dke = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, pke = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), mke = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, gke = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], fF = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, hke = ["kit"], bke = { kit: { "fa-kit": "fak" } }, yke = ["fak", "fakd"], vke = { kit: { fak: "fa-kit" } }, dF = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, hw = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, xke = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], wke = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], kke = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, Oke = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, Ske = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, FP = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, Eke = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], LP = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...xke, ...Eke], Ake = ["solid", "regular", "light", "thin", "duotone", "brands"], Bre = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], $ke = Bre.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), Pke = [...Object.keys(Ske), ...Ake, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", hw.GROUP, hw.SWAP_OPACITY, hw.PRIMARY, hw.SECONDARY].concat(Bre.map((e) => "".concat(e, "x"))).concat($ke.map((e) => "w-".concat(e))), Cke = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const Rl = "___FONT_AWESOME___", VP = 16, qre = "fa", Xre = "svg-inline--fa", nm = "data-fa-i2svg", WP = "data-fa-pseudo-element", Nke = "data-fa-pseudo-element-pending", aR = "data-prefix", iR = "data-icon", pF = "fontawesome-i2svg", _ke = "async", jke = ["HTML", "HEAD", "STYLE", "SCRIPT"], Kre = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function px(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[xo]; } }); } const Jre = ke({}, Ure); Jre[xo] = ke(ke(ke(ke({}, { "fa-duotone": "duotone" }), Ure[xo]), fF.kit), fF["kit-duotone"]); const Ike = px(Jre), GP = ke({}, mke); GP[xo] = ke(ke(ke(ke({}, { duotone: "fad" }), GP[xo]), dF.kit), dF["kit-duotone"]); const mF = px(GP), UP = ke({}, FP); UP[xo] = ke(ke({}, UP[xo]), vke.kit); const sR = px(UP), HP = ke({}, Oke); HP[xo] = ke(ke({}, HP[xo]), bke.kit); px(HP); const Rke = ike, Qre = "fa-layers-text", Mke = ske, Tke = ke({}, fke); px(Tke); const zke = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], v4 = lke, Dke = [...hke, ...Pke], Kv = kf.FontAwesomeConfig || {}; function Fke(e) { var t = Nn.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function Lke(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } Nn && typeof Nn.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => { let [t, r] = e; const n = Lke(Fke(t)); n != null && (Kv[r] = n); }); const Zre = { styleDefault: "solid", familyDefault: xo, cssPrefix: qre, replacementClass: Xre, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; Kv.familyPrefix && (Kv.cssPrefix = Kv.familyPrefix); const Zh = ke(ke({}, Zre), Kv); Zh.autoReplaceSvg || (Zh.observeMutations = !1); const Xe = {}; Object.keys(Zre).forEach((e) => { Object.defineProperty(Xe, e, { enumerable: !0, set: function(t) { Zh[e] = t, Jv.forEach((r) => r(Xe)); }, get: function() { return Zh[e]; } }); }); Object.defineProperty(Xe, "familyPrefix", { enumerable: !0, set: function(e) { Zh.cssPrefix = e, Jv.forEach((t) => t(Xe)); }, get: function() { return Zh.cssPrefix; } }); kf.FontAwesomeConfig = Xe; const Jv = []; function Vke(e) { return Jv.push(e), () => { Jv.splice(Jv.indexOf(e), 1); }; } const zc = VP, ss = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function Wke(e) { if (!e || !yc) return; const t = Nn.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = Nn.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return Nn.head.insertBefore(t, n), e; } const Gke = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function J1() { let e = 12, t = ""; for (; e-- > 0; ) t += Gke[Math.random() * 62 | 0]; return t; } function Sb(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function lR(e) { return e.classList ? Sb(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function ene(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function Uke(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(ene(e[r]), '" '), "").trim(); } function EO(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function cR(e) { return e.size !== ss.size || e.x !== ss.x || e.y !== ss.y || e.rotate !== ss.rotate || e.flipX || e.flipY; } function Hke(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), l = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: l, path: c }; } function Yke(e) { let { transform: t, width: r = VP, height: n = VP, startCentered: o = !1 } = e, a = ""; return o && Gre ? a += "translate(".concat(t.x / zc - r / 2, "em, ").concat(t.y / zc - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / zc, "em), calc(-50% + ").concat(t.y / zc, "em)) ") : a += "translate(".concat(t.x / zc, "em, ").concat(t.y / zc, "em) "), a += "scale(".concat(t.size / zc * (t.flipX ? -1 : 1), ", ").concat(t.size / zc * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var Bke = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function tne() { const e = qre, t = Xre, r = Xe.cssPrefix, n = Xe.replacementClass; let o = Bke; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let gF = !1; function x4() { Xe.autoAddCss && !gF && (Wke(tne()), gF = !0); } var qke = { mixout() { return { dom: { css: tne, insertCss: x4 } }; }, hooks() { return { beforeDOMElementCreation() { x4(); }, beforeI2svg() { x4(); } }; } }; const Ml = kf || {}; Ml[Rl] || (Ml[Rl] = {}); Ml[Rl].styles || (Ml[Rl].styles = {}); Ml[Rl].hooks || (Ml[Rl].hooks = {}); Ml[Rl].shims || (Ml[Rl].shims = []); var ls = Ml[Rl]; const rne = [], nne = function() { Nn.removeEventListener("DOMContentLoaded", nne), Kk = 1, rne.map((e) => e()); }; let Kk = !1; yc && (Kk = (Nn.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Nn.readyState), Kk || Nn.addEventListener("DOMContentLoaded", nne)); function Xke(e) { yc && (Kk ? setTimeout(e, 0) : rne.push(e)); } function mx(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? ene(e) : "<".concat(t, " ").concat(Uke(r), ">").concat(n.map(mx).join(""), ""); } function hF(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var w4 = function(e, t, r, n) { var o = Object.keys(e), a = o.length, i = t, s, l, c; for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++) l = o[s], c = i(c, e[l], l, e); return c; }; function Kke(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function one(e) { const t = Kke(e); return t.length === 1 ? t[0].toString(16) : null; } function Jke(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function bF(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function YP(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = bF(t); typeof ls.hooks.addPack == "function" && !n ? ls.hooks.addPack(e, bF(t)) : ls.styles[e] = ke(ke({}, ls.styles[e] || {}), o), e === "fas" && YP("fa", t); } const { styles: Q1, shims: Qke } = ls, ane = Object.keys(sR), Zke = ane.reduce((e, t) => (e[t] = Object.keys(sR[t]), e), {}); let uR = null, ine = {}, sne = {}, lne = {}, cne = {}, une = {}; function e5e(e) { return ~Dke.indexOf(e); } function t5e(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !e5e(o) ? o : null; } const fne = () => { const e = (n) => w4(Q1, (o, a, i) => (o[i] = w4(a, n, {}), o), {}); ine = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => { n[i.toString(16)] = a; }), n)), sne = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => { n[i] = a; }), n)), une = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in Q1 || Xe.autoFetchSvg, r = w4(Qke, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); lne = r.names, cne = r.unicodes, uR = AO(Xe.styleDefault, { family: Xe.familyDefault }); }; Vke((e) => { uR = AO(e.styleDefault, { family: Xe.familyDefault }); }); fne(); function fR(e, t) { return (ine[e] || {})[t]; } function r5e(e, t) { return (sne[e] || {})[t]; } function Cp(e, t) { return (une[e] || {})[t]; } function dne(e) { return lne[e] || { prefix: null, iconName: null }; } function n5e(e) { const t = cne[e], r = fR("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function Of() { return uR; } const pne = () => ({ prefix: null, iconName: null, rest: [] }); function o5e(e) { let t = xo; const r = ane.reduce((n, o) => (n[o] = "".concat(Xe.cssPrefix, "-").concat(o), n), {}); return Yre.forEach((n) => { (e.includes(r[n]) || e.some((o) => Zke[n].includes(o))) && (t = n); }), t; } function AO(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = xo } = t, n = Ike[r][e]; if (r === SO && !e) return "fad"; const o = mF[r][e] || mF[r][n], a = e in ls.styles ? e : null; return o || a || null; } function a5e(e) { let t = [], r = null; return e.forEach((n) => { const o = t5e(Xe.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function yF(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function $O(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = LP.concat(wke), a = yF(e.filter((f) => o.includes(f))), i = yF(e.filter((f) => !LP.includes(f))), s = a.filter((f) => (n = f, !Hre.includes(f))), [l = null] = s, c = o5e(a), u = ke(ke({}, a5e(i)), {}, { prefix: AO(l, { family: c }) }); return ke(ke(ke({}, u), c5e({ values: e, family: c, styles: Q1, config: Xe, canonical: u, givenPrefix: n })), i5e(r, n, u)); } function i5e(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? dne(o) : {}, i = Cp(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Q1.far && Q1.fas && !Xe.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const s5e = Yre.filter((e) => e !== xo || e !== SO), l5e = Object.keys(FP).filter((e) => e !== xo).map((e) => Object.keys(FP[e])).flat(); function c5e(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === SO, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && s5e.includes(r) && (Object.keys(a).find((f) => l5e.includes(f)) || i.autoFetchSvg)) { const f = pke.get(r).defaultShortPrefixId; n.prefix = f, n.iconName = Cp(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = Of() || "fas"), n; } let u5e = class { constructor() { this.definitions = {}; } add() { for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++) r[n] = arguments[n]; const o = r.reduce(this._pullDefinitions, {}); Object.keys(o).forEach((a) => { this.definitions[a] = ke(ke({}, this.definitions[a] || {}), o[a]), YP(a, o[a]); const i = sR[xo][a]; i && YP(i, o[a]), fne(); }); } reset() { this.definitions = {}; } _pullDefinitions(t, r) { const n = r.prefix && r.iconName && r.icon ? { 0: r } : r; return Object.keys(n).map((o) => { const { prefix: a, iconName: i, icon: s } = n[o], l = s[2]; t[a] || (t[a] = {}), l.length > 0 && l.forEach((c) => { typeof c == "string" && (t[a][c] = s); }), t[a][i] = s; }), t; } }, vF = [], vg = {}; const oh = {}, f5e = Object.keys(oh); function d5e(e, t) { let { mixoutsTo: r } = t; return vF = e, vg = {}, Object.keys(oh).forEach((n) => { f5e.indexOf(n) === -1 && delete oh[n]; }), vF.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { vg[i] || (vg[i] = []), vg[i].push(a[i]); }); } n.provides && n.provides(oh); }), r; } function BP(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (vg[e] || []).forEach((a) => { t = a.apply(null, [t, ...n]); }), t; } function om(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (vg[e] || []).forEach((o) => { o.apply(null, r); }); } function Sf() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return oh[e] ? oh[e].apply(null, t) : void 0; } function qP(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || Of(); if (t) return t = Cp(r, t) || t, hF(mne.definitions, r, t) || hF(ls.styles, r, t); } const mne = new u5e(), p5e = () => { Xe.autoReplaceSvg = !1, Xe.observeMutations = !1, om("noAuto"); }, m5e = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return yc ? (om("beforeI2svg", e), Sf("pseudoElements2svg", e), Sf("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; Xe.autoReplaceSvg === !1 && (Xe.autoReplaceSvg = !0), Xe.observeMutations = !0, Xke(() => { h5e({ autoReplaceSvgRoot: t }), om("watch", e); }); } }, g5e = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: Cp(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = AO(e[0]); return { prefix: r, iconName: Cp(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(Xe.cssPrefix, "-")) > -1 || e.match(Rke))) { const t = $O(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || Of(), iconName: Cp(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = Of(); return { prefix: t, iconName: Cp(t, e) || e }; } } }, ba = { noAuto: p5e, config: Xe, dom: m5e, parse: g5e, library: mne, findIconDefinition: qP, toHtml: mx }, h5e = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = Nn } = e; (Object.keys(ls.styles).length > 0 || Xe.autoFetchSvg) && yc && Xe.autoReplaceSvg && ba.dom.i2svg({ node: t }); }; function PO(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => mx(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!yc) return; const r = Nn.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function b5e(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (cR(i) && r.found && !n.found) { const { width: s, height: l } = r, c = { x: s / l / 2, y: 0.5 }; o.style = EO(ke(ke({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function y5e(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(Xe.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: ke(ke({}, o), {}, { id: i }), children: n }] }]; } function dR(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: l, titleId: c, extra: u, watchable: f = !1 } = e, { width: p, height: v } = r.found ? r : t, w = yke.includes(n), b = [Xe.replacementClass, o ? "".concat(Xe.cssPrefix, "-").concat(o) : ""].filter((h) => u.classes.indexOf(h) === -1).filter((h) => h !== "" || !!h).concat(u.classes).join(" "); let m = { children: [], attributes: ke(ke({}, u.attributes), {}, { "data-prefix": n, "data-icon": o, class: b, role: u.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(p, " ").concat(v) }) }; const x = w && !~u.classes.indexOf("fa-fw") ? { width: "".concat(p / v * 16 * 0.0625, "em") } : {}; f && (m.attributes[nm] = ""), s && (m.children.push({ tag: "title", attributes: { id: m.attributes["aria-labelledby"] || "title-".concat(c || J1()) }, children: [s] }), delete m.attributes.title); const O = ke(ke({}, m), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: l, transform: a, symbol: i, styles: ke(ke({}, x), u.styles) }), { children: E, attributes: A } = r.found && t.found ? Sf("generateAbstractMask", O) || { children: [], attributes: {} } : Sf("generateAbstractIcon", O) || { children: [], attributes: {} }; return O.children = E, O.attributes = A, i ? y5e(O) : b5e(O); } function xF(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, l = ke(ke(ke({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (l[nm] = ""); const c = ke({}, i.styles); cR(o) && (c.transform = Yke({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const u = EO(c); u.length > 0 && (l.style = u); const f = []; return f.push({ tag: "span", attributes: l, children: [t] }), a && f.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), f; } function v5e(e) { const { content: t, title: r, extra: n } = e, o = ke(ke(ke({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = EO(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: k4 } = ls; function XP(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(Xe.cssPrefix, "-").concat(v4.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(Xe.cssPrefix, "-").concat(v4.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(Xe.cssPrefix, "-").concat(v4.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const x5e = { found: !1, width: 512, height: 512 }; function w5e(e, t) { !Kre && !Xe.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function KP(e, t) { let r = t; return t === "fa" && Xe.styleDefault !== null && (t = Of()), new Promise((n, o) => { if (r === "fa") { const a = dne(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && k4[t] && k4[t][e]) { const a = k4[t][e]; return n(XP(a)); } w5e(e, t), n(ke(ke({}, x5e), {}, { icon: Xe.showMissingIcons && e ? Sf("missingIconAbstract") || {} : {} })); }); } const wF = () => { }, JP = Xe.measurePerformance && gw && gw.mark && gw.measure ? gw : { mark: wF, measure: wF }, Av = 'FA "6.7.2"', k5e = (e) => (JP.mark("".concat(Av, " ").concat(e, " begins")), () => gne(e)), gne = (e) => { JP.mark("".concat(Av, " ").concat(e, " ends")), JP.measure("".concat(Av, " ").concat(e), "".concat(Av, " ").concat(e, " begins"), "".concat(Av, " ").concat(e, " ends")); }; var pR = { begin: k5e, end: gne }; const U2 = () => { }; function kF(e) { return typeof (e.getAttribute ? e.getAttribute(nm) : null) == "string"; } function O5e(e) { const t = e.getAttribute ? e.getAttribute(aR) : null, r = e.getAttribute ? e.getAttribute(iR) : null; return t && r; } function S5e(e) { return e && e.classList && e.classList.contains && e.classList.contains(Xe.replacementClass); } function E5e() { return Xe.autoReplaceSvg === !0 ? H2.replace : H2[Xe.autoReplaceSvg] || H2.replace; } function A5e(e) { return Nn.createElementNS("http://www.w3.org/2000/svg", e); } function $5e(e) { return Nn.createElement(e); } function hne(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? A5e : $5e } = t; if (typeof e == "string") return Nn.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(o) { n.setAttribute(o, e.attributes[o]); }), (e.children || []).forEach(function(o) { n.appendChild(hne(o, { ceFn: r })); }), n; } function P5e(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const H2 = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(hne(r), t); }), t.getAttribute(nm) === null && Xe.keepOriginalSource) { let r = Nn.createComment(P5e(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~lR(t).indexOf(Xe.replacementClass)) return H2.replace(e); const n = new RegExp("".concat(Xe.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === Xe.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => mx(a)).join(` `); t.setAttribute(nm, ""), t.innerHTML = o; } }; function OF(e) { e(); } function bne(e, t) { const r = typeof t == "function" ? t : U2; if (e.length === 0) r(); else { let n = OF; Xe.mutateApproach === _ke && (n = kf.requestAnimationFrame || OF), n(() => { const o = E5e(), a = pR.begin("mutate"); e.map(o), a(), r(); }); } } let mR = !1; function yne() { mR = !0; } function QP() { mR = !1; } let Jk = null; function SF(e) { if (!uF || !Xe.observeMutations) return; const { treeCallback: t = U2, nodeCallback: r = U2, pseudoElementsCallback: n = U2, observeMutationsRoot: o = Nn } = e; Jk = new uF((a) => { if (mR) return; const i = Of(); Sb(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !kF(s.addedNodes[0]) && (Xe.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Xe.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && kF(s.target) && ~zke.indexOf(s.attributeName)) if (s.attributeName === "class" && O5e(s.target)) { const { prefix: l, iconName: c } = $O(lR(s.target)); s.target.setAttribute(aR, l || i), c && s.target.setAttribute(iR, c); } else S5e(s.target) && r(s.target); }); }), yc && Jk.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function C5e() { Jk && Jk.disconnect(); } function N5e(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function _5e(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = $O(lR(e)); return o.prefix || (o.prefix = Of()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = r5e(o.prefix, e.innerText) || fR(o.prefix, one(e.innerText))), !o.iconName && Xe.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function j5e(e) { const t = Sb(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return Xe.autoA11y && (r ? t["aria-labelledby"] = "".concat(Xe.replacementClass, "-title-").concat(n || J1()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function I5e() { return { iconName: null, title: null, titleId: null, prefix: null, transform: ss, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function EF(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = _5e(e), a = j5e(e), i = BP("parseNodeAttributes", {}, e); let s = t.styleParser ? N5e(e) : []; return ke({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: ss, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: R5e } = ls; function vne(e) { const t = Xe.autoReplaceSvg === "nest" ? EF(e, { styleParser: !1 }) : EF(e); return ~t.extra.classes.indexOf(Qre) ? Sf("generateLayersText", e, t) : Sf("generateSvgReplacementMutation", e, t); } function M5e() { return [...gke, ...LP]; } function AF(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!yc) return Promise.resolve(); const r = Nn.documentElement.classList, n = (u) => r.add("".concat(pF, "-").concat(u)), o = (u) => r.remove("".concat(pF, "-").concat(u)), a = Xe.autoFetchSvg ? M5e() : Hre.concat(Object.keys(R5e)); a.includes("fa") || a.push("fa"); const i = [".".concat(Qre, ":not([").concat(nm, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(nm, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = Sb(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const l = pR.begin("onTree"), c = s.reduce((u, f) => { try { const p = vne(f); p && u.push(p); } catch (p) { Kre || p.name === "MissingIcon" && console.error(p); } return u; }, []); return new Promise((u, f) => { Promise.all(c).then((p) => { bne(p, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u(); }); }).catch((p) => { l(), f(p); }); }); } function T5e(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; vne(e).then((r) => { r && bne([r], t); }); } function z5e(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : qP(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : qP(o || {})), e(n, ke(ke({}, r), {}, { mask: o })); }; } const D5e = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = ss, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: l = [], attributes: c = {}, styles: u = {} } = t; if (!e) return; const { prefix: f, iconName: p, icon: v } = e; return PO(ke({ type: "icon" }, e), () => (om("beforeDOMElementCreation", { iconDefinition: e, params: t }), Xe.autoA11y && (i ? c["aria-labelledby"] = "".concat(Xe.replacementClass, "-title-").concat(s || J1()) : (c["aria-hidden"] = "true", c.focusable = "false")), dR({ icons: { main: XP(v), mask: o ? XP(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: f, iconName: p, transform: ke(ke({}, ss), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: u, classes: l } }))); }; var F5e = { mixout() { return { icon: z5e(D5e) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = AF, e.nodeCallback = T5e, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = Nn, callback: n = () => { } } = t; return AF(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: l, mask: c, maskId: u, extra: f } = r; return new Promise((p, v) => { Promise.all([KP(n, i), c.iconName ? KP(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((w) => { let [b, m] = w; p([t, dR({ icons: { main: b, mask: m }, prefix: i, iconName: n, transform: s, symbol: l, maskId: u, title: o, titleId: a, extra: f, watchable: !0 })]); }).catch(v); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = EO(i); s.length > 0 && (n.style = s); let l; return cR(a) && (l = Sf("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(l || o.icon), { children: r, attributes: n }; }; } }, L5e = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return PO({ type: "layer" }, () => { om("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(Xe.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, V5e = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return PO({ type: "counter", content: e }, () => (om("beforeDOMElementCreation", { content: e, params: t }), v5e({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(Xe.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, W5e = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = ss, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return PO({ type: "text", content: e }, () => (om("beforeDOMElementCreation", { content: e, params: t }), xF({ content: e, transform: ke(ke({}, ss), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(Xe.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (Gre) { const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / l, s = c.height / l; } return Xe.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, xF({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const G5e = new RegExp('"', "ug"), $F = [1105920, 1112319], PF = ke(ke(ke(ke({}, { FontAwesome: { normal: "fas", 400: "fas" } }), dke), Cke), kke), ZP = Object.keys(PF).reduce((e, t) => (e[t.toLowerCase()] = PF[t], e), {}), U5e = Object.keys(ZP).reduce((e, t) => { const r = ZP[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function H5e(e) { const t = e.replace(G5e, ""), r = Jke(t, 0), n = r >= $F[0] && r <= $F[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: one(o ? t[0] : t), isSecondary: n || o }; } function Y5e(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return (ZP[r] || {})[o] || U5e[r]; } function CF(e, t) { const r = "".concat(Nke).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const a = Sb(e.children).filter((f) => f.getAttribute(WP) === t)[0], i = kf.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(Mke), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content"); if (a && !l) return e.removeChild(a), n(); if (l && u !== "none" && u !== "") { const f = i.getPropertyValue("content"); let p = Y5e(s, c); const { value: v, isSecondary: w } = H5e(f), b = l[0].startsWith("FontAwesome"); let m = fR(p, v), x = m; if (b) { const O = n5e(v); O.iconName && O.prefix && (m = O.iconName, p = O.prefix); } if (m && !w && (!a || a.getAttribute(aR) !== p || a.getAttribute(iR) !== x)) { e.setAttribute(r, x), a && e.removeChild(a); const O = I5e(), { extra: E } = O; E.attributes[WP] = t, KP(m, p).then((A) => { const h = dR(ke(ke({}, O), {}, { icons: { main: A, mask: pne() }, prefix: p, iconName: x, extra: E, watchable: !0 })), G = Nn.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(G, e.firstChild) : e.appendChild(G), G.outerHTML = h.map((H) => mx(H)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function B5e(e) { return Promise.all([CF(e, "::before"), CF(e, "::after")]); } function q5e(e) { return e.parentNode !== document.head && !~jke.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(WP) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function NF(e) { if (yc) return new Promise((t, r) => { const n = Sb(e.querySelectorAll("*")).filter(q5e).map(B5e), o = pR.begin("searchPseudoElements"); yne(), Promise.all(n).then(() => { o(), QP(), t(); }).catch(() => { o(), QP(), r(); }); }); } var X5e = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = NF, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = Nn } = t; Xe.searchPseudoElements && NF(r); }; } }; let _F = !1; var K5e = { mixout() { return { dom: { unwatch() { yne(), _F = !0; } } }; }, hooks() { return { bootstrap() { SF(BP("mutationObserverCallbacks", {})); }, noAuto() { C5e(); }, watch(e) { const { observeMutationsRoot: t } = e; _F ? QP() : SF(BP("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const jF = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var J5e = { mixout() { return { parse: { transform: (e) => jF(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = jF(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = { transform: "".concat(s, " ").concat(l, " ").concat(c) }, f = { transform: "translate(".concat(a / 2 * -1, " -256)") }, p = { outer: i, inner: u, path: f }; return { tag: "g", attributes: ke({}, p.outer), children: [{ tag: "g", attributes: ke({}, p.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: ke(ke({}, r.icon.attributes), p.path) }] }] }; }; } }; const O4 = { x: 0, y: 0, width: "100%", height: "100%" }; function IF(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function Q5e(e) { return e.tag === "g" ? e.children : [e]; } var Z5e = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? $O(r.split(" ").map((o) => o.trim())) : pne(); return n.prefix || (n.prefix = Of()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: l, icon: c } = o, { width: u, icon: f } = a, p = Hke({ transform: s, containerWidth: u, iconWidth: l }), v = { tag: "rect", attributes: ke(ke({}, O4), {}, { fill: "white" }) }, w = c.children ? { children: c.children.map(IF) } : {}, b = { tag: "g", attributes: ke({}, p.inner), children: [IF(ke({ tag: c.tag, attributes: ke(ke({}, c.attributes), p.path) }, w))] }, m = { tag: "g", attributes: ke({}, p.outer), children: [b] }, x = "mask-".concat(i || J1()), O = "clip-".concat(i || J1()), E = { tag: "mask", attributes: ke(ke({}, O4), {}, { id: x, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [v, m] }, A = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: O }, children: Q5e(f) }, E] }; return r.push(A, { tag: "rect", attributes: ke({ fill: "currentColor", "clip-path": "url(#".concat(O, ")"), mask: "url(#".concat(x, ")") }, O4) }), { children: r, attributes: n }; }; } }, eOe = { provides(e) { let t = !1; kf.matchMedia && (t = kf.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: ke(ke({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = ke(ke({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: ke(ke({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: ke(ke({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: ke(ke({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: ke(ke({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: ke(ke({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: ke(ke({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: ke(ke({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, tOe = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, rOe = [qke, F5e, L5e, V5e, W5e, X5e, K5e, J5e, Z5e, eOe, tOe]; d5e(rOe, { mixoutsTo: ba }); ba.noAuto; ba.config; ba.library; ba.dom; const eC = ba.parse; ba.findIconDefinition; ba.toHtml; const nOe = ba.icon; ba.layer; ba.text; ba.counter; function oOe(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var bw = { exports: {} }, S4 = { exports: {} }, vr = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var RF; function aOe() { if (RF) return vr; RF = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(h) { if (typeof h == "object" && h !== null) { var G = h.$$typeof; switch (G) { case t: switch (h = h.type, h) { case l: case c: case n: case a: case o: case f: return h; default: switch (h = h && h.$$typeof, h) { case s: case u: case w: case v: case i: return h; default: return G; } } case r: return G; } } } function A(h) { return E(h) === c; } return vr.AsyncMode = l, vr.ConcurrentMode = c, vr.ContextConsumer = s, vr.ContextProvider = i, vr.Element = t, vr.ForwardRef = u, vr.Fragment = n, vr.Lazy = w, vr.Memo = v, vr.Portal = r, vr.Profiler = a, vr.StrictMode = o, vr.Suspense = f, vr.isAsyncMode = function(h) { return A(h) || E(h) === l; }, vr.isConcurrentMode = A, vr.isContextConsumer = function(h) { return E(h) === s; }, vr.isContextProvider = function(h) { return E(h) === i; }, vr.isElement = function(h) { return typeof h == "object" && h !== null && h.$$typeof === t; }, vr.isForwardRef = function(h) { return E(h) === u; }, vr.isFragment = function(h) { return E(h) === n; }, vr.isLazy = function(h) { return E(h) === w; }, vr.isMemo = function(h) { return E(h) === v; }, vr.isPortal = function(h) { return E(h) === r; }, vr.isProfiler = function(h) { return E(h) === a; }, vr.isStrictMode = function(h) { return E(h) === o; }, vr.isSuspense = function(h) { return E(h) === f; }, vr.isValidElementType = function(h) { return typeof h == "string" || typeof h == "function" || h === n || h === c || h === a || h === o || h === f || h === p || typeof h == "object" && h !== null && (h.$$typeof === w || h.$$typeof === v || h.$$typeof === i || h.$$typeof === s || h.$$typeof === u || h.$$typeof === m || h.$$typeof === x || h.$$typeof === O || h.$$typeof === b); }, vr.typeOf = E, vr; } var zr = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var MF; function iOe() { return MF || (MF = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === f || k === p || typeof k == "object" && k !== null && (k.$$typeof === w || k.$$typeof === v || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === m || k.$$typeof === x || k.$$typeof === O || k.$$typeof === b); } function A(k) { if (typeof k == "object" && k !== null) { var ne = k.$$typeof; switch (ne) { case t: var pe = k.type; switch (pe) { case l: case c: case n: case a: case o: case f: return pe; default: var He = pe && pe.$$typeof; switch (He) { case s: case u: case w: case v: case i: return He; default: return ne; } } case r: return ne; } } } var h = l, G = c, H = s, Z = i, J = t, X = u, ee = n, I = w, te = v, U = r, z = a, F = o, D = f, Y = !1; function q(k) { return Y || (Y = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), g(k) || A(k) === l; } function g(k) { return A(k) === c; } function d(k) { return A(k) === s; } function S(k) { return A(k) === i; } function C(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function P(k) { return A(k) === u; } function j(k) { return A(k) === n; } function _(k) { return A(k) === w; } function N(k) { return A(k) === v; } function M(k) { return A(k) === r; } function R(k) { return A(k) === a; } function T(k) { return A(k) === o; } function Q(k) { return A(k) === f; } zr.AsyncMode = h, zr.ConcurrentMode = G, zr.ContextConsumer = H, zr.ContextProvider = Z, zr.Element = J, zr.ForwardRef = X, zr.Fragment = ee, zr.Lazy = I, zr.Memo = te, zr.Portal = U, zr.Profiler = z, zr.StrictMode = F, zr.Suspense = D, zr.isAsyncMode = q, zr.isConcurrentMode = g, zr.isContextConsumer = d, zr.isContextProvider = S, zr.isElement = C, zr.isForwardRef = P, zr.isFragment = j, zr.isLazy = _, zr.isMemo = N, zr.isPortal = M, zr.isProfiler = R, zr.isStrictMode = T, zr.isSuspense = Q, zr.isValidElementType = E, zr.typeOf = A; }()), zr; } var TF; function xne() { return TF || (TF = 1, process.env.NODE_ENV === "production" ? S4.exports = aOe() : S4.exports = iOe()), S4.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var E4, zF; function sOe() { if (zF) return E4; zF = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var l = Object.getOwnPropertyNames(i).map(function(u) { return i[u]; }); if (l.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(u) { c[u] = u; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return E4 = o() ? Object.assign : function(a, i) { for (var s, l = n(a), c, u = 1; u < arguments.length; u++) { s = Object(arguments[u]); for (var f in s) t.call(s, f) && (l[f] = s[f]); if (e) { c = e(s); for (var p = 0; p < c.length; p++) r.call(s, c[p]) && (l[c[p]] = s[c[p]]); } } return l; }, E4; } var A4, DF; function gR() { if (DF) return A4; DF = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return A4 = e, A4; } var FF, LF; function wne() { return LF || (LF = 1, FF = Function.call.bind(Object.prototype.hasOwnProperty)), FF; } var $4, VF; function lOe() { if (VF) return $4; VF = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ gR(), r = {}, n = /* @__PURE__ */ wne(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, l, c) { if (process.env.NODE_ENV !== "production") { for (var u in a) if (n(a, u)) { var f; try { if (typeof a[u] != "function") { var p = Error( (l || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw p.name = "Invariant Violation", p; } f = a[u](i, u, l, s, null, t); } catch (w) { f = w; } if (f && !(f instanceof Error) && e( (l || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), f instanceof Error && !(f.message in r)) { r[f.message] = !0; var v = c ? c() : ""; e( "Failed " + s + " type: " + f.message + (v ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, $4 = o, $4; } var P4, WF; function cOe() { if (WF) return P4; WF = 1; var e = xne(), t = sOe(), r = /* @__PURE__ */ gR(), n = /* @__PURE__ */ wne(), o = /* @__PURE__ */ lOe(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var l = "Warning: " + s; typeof console < "u" && console.error(l); try { throw new Error(l); } catch { } }); function i() { return null; } return P4 = function(s, l) { var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator"; function f(g) { var d = g && (c && g[c] || g[u]); if (typeof d == "function") return d; } var p = "<>", v = { array: x("array"), bigint: x("bigint"), bool: x("boolean"), func: x("function"), number: x("number"), object: x("object"), string: x("string"), symbol: x("symbol"), any: O(), arrayOf: E, element: A(), elementType: h(), instanceOf: G, node: X(), objectOf: Z, oneOf: H, oneOfType: J, shape: I, exact: te }; function w(g, d) { return g === d ? g !== 0 || 1 / g === 1 / d : g !== g && d !== d; } function b(g, d) { this.message = g, this.data = d && typeof d == "object" ? d : {}, this.stack = ""; } b.prototype = Error.prototype; function m(g) { if (process.env.NODE_ENV !== "production") var d = {}, S = 0; function C(j, _, N, M, R, T, Q) { if (M = M || p, T = T || N, Q !== r) { if (l) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var ne = M + ":" + N; !d[ne] && // Avoid spamming the console because they are often not actionable except for lib authors S < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + M + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), d[ne] = !0, S++); } } return _[N] == null ? j ? _[N] === null ? new b("The " + R + " `" + T + "` is marked as required " + ("in `" + M + "`, but its value is `null`.")) : new b("The " + R + " `" + T + "` is marked as required in " + ("`" + M + "`, but its value is `undefined`.")) : null : g(_, N, M, R, T); } var P = C.bind(null, !1); return P.isRequired = C.bind(null, !0), P; } function x(g) { function d(S, C, P, j, _, N) { var M = S[C], R = F(M); if (R !== g) { var T = D(M); return new b( "Invalid " + j + " `" + _ + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."), { expectedType: g } ); } return null; } return m(d); } function O() { return m(i); } function E(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside arrayOf."); var N = S[C]; if (!Array.isArray(N)) { var M = F(N); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an array.")); } for (var R = 0; R < N.length; R++) { var T = g(N, R, P, j, _ + "[" + R + "]", r); if (T instanceof Error) return T; } return null; } return m(d); } function A() { function g(d, S, C, P, j) { var _ = d[S]; if (!s(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement.")); } return null; } return m(g); } function h() { function g(d, S, C, P, j) { var _ = d[S]; if (!e.isValidElementType(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement type.")); } return null; } return m(g); } function G(g) { function d(S, C, P, j, _) { if (!(S[C] instanceof g)) { var N = g.name || p, M = q(S[C]); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected ") + ("instance of `" + N + "`.")); } return null; } return m(d); } function H(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function d(S, C, P, j, _) { for (var N = S[C], M = 0; M < g.length; M++) if (w(N, g[M])) return null; var R = JSON.stringify(g, function(T, Q) { var k = D(Q); return k === "symbol" ? String(Q) : Q; }); return new b("Invalid " + j + " `" + _ + "` of value `" + String(N) + "` " + ("supplied to `" + P + "`, expected one of " + R + ".")); } return m(d); } function Z(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside objectOf."); var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an object.")); for (var R in N) if (n(N, R)) { var T = g(N, R, P, j, _ + "." + R, r); if (T instanceof Error) return T; } return null; } return m(d); } function J(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var d = 0; d < g.length; d++) { var S = g[d]; if (typeof S != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(S) + " at index " + d + "." ), i; } function C(P, j, _, N, M) { for (var R = [], T = 0; T < g.length; T++) { var Q = g[T], k = Q(P, j, _, N, M, r); if (k == null) return null; k.data && n(k.data, "expectedType") && R.push(k.data.expectedType); } var ne = R.length > 0 ? ", expected one of type [" + R.join(", ") + "]" : ""; return new b("Invalid " + N + " `" + M + "` supplied to " + ("`" + _ + "`" + ne + ".")); } return m(C); } function X() { function g(d, S, C, P, j) { return U(d[S]) ? null : new b("Invalid " + P + " `" + j + "` supplied to " + ("`" + C + "`, expected a ReactNode.")); } return m(g); } function ee(g, d, S, C, P) { return new b( (g || "React class") + ": " + d + " type `" + S + "." + C + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`." ); } function I(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); for (var R in g) { var T = g[R]; if (typeof T != "function") return ee(P, j, _, R, D(T)); var Q = T(N, R, P, j, _ + "." + R, r); if (Q) return Q; } return null; } return m(d); } function te(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); var R = t({}, S[C], g); for (var T in R) { var Q = g[T]; if (n(g, T) && typeof Q != "function") return ee(P, j, _, T, D(Q)); if (!Q) return new b( "Invalid " + j + " `" + _ + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(S[C], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(g), null, " ") ); var k = Q(N, T, P, j, _ + "." + T, r); if (k) return k; } return null; } return m(d); } function U(g) { switch (typeof g) { case "number": case "string": case "undefined": return !0; case "boolean": return !g; case "object": if (Array.isArray(g)) return g.every(U); if (g === null || s(g)) return !0; var d = f(g); if (d) { var S = d.call(g), C; if (d !== g.entries) { for (; !(C = S.next()).done; ) if (!U(C.value)) return !1; } else for (; !(C = S.next()).done; ) { var P = C.value; if (P && !U(P[1])) return !1; } } else return !1; return !0; default: return !1; } } function z(g, d) { return g === "symbol" ? !0 : d ? d["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && d instanceof Symbol : !1; } function F(g) { var d = typeof g; return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : z(d, g) ? "symbol" : d; } function D(g) { if (typeof g > "u" || g === null) return "" + g; var d = F(g); if (d === "object") { if (g instanceof Date) return "date"; if (g instanceof RegExp) return "regexp"; } return d; } function Y(g) { var d = D(g); switch (d) { case "array": case "object": return "an " + d; case "boolean": case "date": case "regexp": return "a " + d; default: return d; } } function q(g) { return !g.constructor || !g.constructor.name ? p : g.constructor.name; } return v.checkPropTypes = o, v.resetWarningCache = o.resetWarningCache, v.PropTypes = v, v; }, P4; } var C4, GF; function uOe() { if (GF) return C4; GF = 1; var e = /* @__PURE__ */ gR(); function t() { } function r() { } return r.resetWarningCache = t, C4 = function() { function n(i, s, l, c, u, f) { if (f !== e) { var p = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw p.name = "Invariant Violation", p; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, C4; } var UF; function fOe() { if (UF) return bw.exports; if (UF = 1, process.env.NODE_ENV !== "production") { var e = xne(), t = !0; bw.exports = /* @__PURE__ */ cOe()(e.isElement, t); } else bw.exports = /* @__PURE__ */ uOe()(); return bw.exports; } var dOe = /* @__PURE__ */ fOe(); const Jt = /* @__PURE__ */ oOe(dOe); function HF(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Vi(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? HF(Object(r), !0).forEach(function(n) { xg(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : HF(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function Qk(e) { "@babel/helpers - typeof"; return Qk = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, Qk(e); } function xg(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function pOe(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function mOe(e, t) { if (e == null) return {}; var r = pOe(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function tC(e) { return gOe(e) || hOe(e) || bOe(e) || yOe(); } function gOe(e) { if (Array.isArray(e)) return rC(e); } function hOe(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function bOe(e, t) { if (e) { if (typeof e == "string") return rC(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return rC(e, t); } } function rC(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function yOe() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function vOe(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, p = e.fixedWidth, v = e.inverse, w = e.border, b = e.listItem, m = e.flip, x = e.size, O = e.rotation, E = e.pull, A = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": l, "fa-spin-reverse": u, "fa-spin-pulse": c, "fa-pulse": f, "fa-fw": p, "fa-inverse": v, "fa-border": w, "fa-li": b, "fa-flip": m === !0, "fa-flip-horizontal": m === "horizontal" || m === "both", "fa-flip-vertical": m === "vertical" || m === "both" }, xg(t, "fa-".concat(x), typeof x < "u" && x !== null), xg(t, "fa-rotate-".concat(O), typeof O < "u" && O !== null && O !== 0), xg(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), xg(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(A).map(function(h) { return A[h] ? h : null; }).filter(function(h) { return h; }); } function xOe(e) { return e = e - 0, e === e; } function kne(e) { return xOe(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var wOe = ["style"]; function kOe(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function OOe(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = kne(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[kOe(o)] = a : t[o] = a, t; }, {}); } function One(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(l) { return One(e, l); }), o = Object.keys(t.attributes || {}).reduce(function(l, c) { var u = t.attributes[c]; switch (c) { case "class": l.attrs.className = u, delete t.attributes.class; break; case "style": l.attrs.style = OOe(u); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[kne(c)] = u; } return l; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = mOe(r, wOe); return o.attrs.style = Vi(Vi({}, o.attrs.style), i), e.apply(void 0, [t.tag, Vi(Vi({}, o.attrs), s)].concat(tC(n))); } var Sne = !1; try { Sne = process.env.NODE_ENV === "production"; } catch { } function SOe() { if (!Sne && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function YF(e) { if (e && Qk(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (eC.icon) return eC.icon(e); if (e === null) return null; if (e && Qk(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function N4(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? xg({}, e, t) : {}; } var BF = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, Z1 = /* @__PURE__ */ de.forwardRef(function(e, t) { var r = Vi(Vi({}, BF), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = YF(n), f = N4("classes", [].concat(tC(vOe(r)), tC((i || "").split(" ")))), p = N4("transform", typeof r.transform == "string" ? eC.transform(r.transform) : r.transform), v = N4("mask", YF(o)), w = nOe(u, Vi(Vi(Vi(Vi({}, f), p), v), {}, { symbol: a, title: s, titleId: l, maskId: c })); if (!w) return SOe("Could not find icon", u), null; var b = w.abstract, m = { ref: t }; return Object.keys(r).forEach(function(x) { BF.hasOwnProperty(x) || (m[x] = r[x]); }), EOe(b[0], m); }); Z1.displayName = "FontAwesomeIcon"; Z1.propTypes = { beat: Jt.bool, border: Jt.bool, beatFade: Jt.bool, bounce: Jt.bool, className: Jt.string, fade: Jt.bool, flash: Jt.bool, mask: Jt.oneOfType([Jt.object, Jt.array, Jt.string]), maskId: Jt.string, fixedWidth: Jt.bool, inverse: Jt.bool, flip: Jt.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: Jt.oneOfType([Jt.object, Jt.array, Jt.string]), listItem: Jt.bool, pull: Jt.oneOf(["right", "left"]), pulse: Jt.bool, rotation: Jt.oneOf([0, 90, 180, 270]), shake: Jt.bool, size: Jt.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: Jt.bool, spinPulse: Jt.bool, spinReverse: Jt.bool, symbol: Jt.oneOfType([Jt.bool, Jt.string]), title: Jt.string, titleId: Jt.string, transform: Jt.oneOfType([Jt.string, Jt.object]), swapOpacity: Jt.bool }; var EOe = One.bind(null, de.createElement); /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const AOe = { prefix: "fas", iconName: "xmark", icon: [384, 512, [128473, 10005, 10006, 10060, 215, "close", "multiply", "remove", "times"], "f00d", "M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"] }; /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function $Oe(e, t, r) { return (t = COe(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function qF(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Oe(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? qF(Object(r), !0).forEach(function(n) { $Oe(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : qF(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function POe(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function COe(e) { var t = POe(e, "string"); return typeof t == "symbol" ? t : t + ""; } const XF = () => { }; let hR = {}, Ene = {}, Ane = null, $ne = { mark: XF, measure: XF }; try { typeof window < "u" && (hR = window), typeof document < "u" && (Ene = document), typeof MutationObserver < "u" && (Ane = MutationObserver), typeof performance < "u" && ($ne = performance); } catch { } const { userAgent: KF = "" } = hR.navigator || {}, Ef = hR, _n = Ene, JF = Ane, yw = $ne; Ef.document; const vc = !!_n.documentElement && !!_n.head && typeof _n.addEventListener == "function" && typeof _n.createElement == "function", Pne = ~KF.indexOf("MSIE") || ~KF.indexOf("Trident/"); var NOe = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, _Oe = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, Cne = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, jOe = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, Nne = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], wo = "classic", CO = "duotone", IOe = "sharp", ROe = "sharp-duotone", _ne = [wo, CO, IOe, ROe], MOe = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, TOe = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, zOe = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), DOe = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, FOe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], QF = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, LOe = ["kit"], VOe = { kit: { "fa-kit": "fak" } }, WOe = ["fak", "fakd"], GOe = { kit: { fak: "fa-kit" } }, ZF = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, vw = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, UOe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], HOe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], YOe = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, BOe = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, qOe = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, nC = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, XOe = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], oC = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...UOe, ...XOe], KOe = ["solid", "regular", "light", "thin", "duotone", "brands"], jne = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], JOe = jne.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), QOe = [...Object.keys(qOe), ...KOe, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", vw.GROUP, vw.SWAP_OPACITY, vw.PRIMARY, vw.SECONDARY].concat(jne.map((e) => "".concat(e, "x"))).concat(JOe.map((e) => "w-".concat(e))), ZOe = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const Tl = "___FONT_AWESOME___", aC = 16, Ine = "fa", Rne = "svg-inline--fa", am = "data-fa-i2svg", iC = "data-fa-pseudo-element", eSe = "data-fa-pseudo-element-pending", bR = "data-prefix", yR = "data-icon", eL = "fontawesome-i2svg", tSe = "async", rSe = ["HTML", "HEAD", "STYLE", "SCRIPT"], Mne = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function gx(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[wo]; } }); } const Tne = Oe({}, Cne); Tne[wo] = Oe(Oe(Oe(Oe({}, { "fa-duotone": "duotone" }), Cne[wo]), QF.kit), QF["kit-duotone"]); const nSe = gx(Tne), sC = Oe({}, DOe); sC[wo] = Oe(Oe(Oe(Oe({}, { duotone: "fad" }), sC[wo]), ZF.kit), ZF["kit-duotone"]); const tL = gx(sC), lC = Oe({}, nC); lC[wo] = Oe(Oe({}, lC[wo]), GOe.kit); const vR = gx(lC), cC = Oe({}, BOe); cC[wo] = Oe(Oe({}, cC[wo]), VOe.kit); gx(cC); const oSe = NOe, zne = "fa-layers-text", aSe = _Oe, iSe = Oe({}, MOe); gx(iSe); const sSe = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], _4 = jOe, lSe = [...LOe, ...QOe], Qv = Ef.FontAwesomeConfig || {}; function cSe(e) { var t = _n.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function uSe(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } _n && typeof _n.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => { let [t, r] = e; const n = uSe(cSe(t)); n != null && (Qv[r] = n); }); const Dne = { styleDefault: "solid", familyDefault: wo, cssPrefix: Ine, replacementClass: Rne, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; Qv.familyPrefix && (Qv.cssPrefix = Qv.familyPrefix); const eb = Oe(Oe({}, Dne), Qv); eb.autoReplaceSvg || (eb.observeMutations = !1); const Ke = {}; Object.keys(Dne).forEach((e) => { Object.defineProperty(Ke, e, { enumerable: !0, set: function(t) { eb[e] = t, Zv.forEach((r) => r(Ke)); }, get: function() { return eb[e]; } }); }); Object.defineProperty(Ke, "familyPrefix", { enumerable: !0, set: function(e) { eb.cssPrefix = e, Zv.forEach((t) => t(Ke)); }, get: function() { return eb.cssPrefix; } }); Ef.FontAwesomeConfig = Ke; const Zv = []; function fSe(e) { return Zv.push(e), () => { Zv.splice(Zv.indexOf(e), 1); }; } const Dc = aC, cs = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function dSe(e) { if (!e || !vc) return; const t = _n.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = _n.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return _n.head.insertBefore(t, n), e; } const pSe = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function e0() { let e = 12, t = ""; for (; e-- > 0; ) t += pSe[Math.random() * 62 | 0]; return t; } function Eb(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function xR(e) { return e.classList ? Eb(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function Fne(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function mSe(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(Fne(e[r]), '" '), "").trim(); } function NO(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function wR(e) { return e.size !== cs.size || e.x !== cs.x || e.y !== cs.y || e.rotate !== cs.rotate || e.flipX || e.flipY; } function gSe(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), l = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: l, path: c }; } function hSe(e) { let { transform: t, width: r = aC, height: n = aC, startCentered: o = !1 } = e, a = ""; return o && Pne ? a += "translate(".concat(t.x / Dc - r / 2, "em, ").concat(t.y / Dc - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Dc, "em), calc(-50% + ").concat(t.y / Dc, "em)) ") : a += "translate(".concat(t.x / Dc, "em, ").concat(t.y / Dc, "em) "), a += "scale(".concat(t.size / Dc * (t.flipX ? -1 : 1), ", ").concat(t.size / Dc * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var bSe = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function Lne() { const e = Ine, t = Rne, r = Ke.cssPrefix, n = Ke.replacementClass; let o = bSe; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let rL = !1; function j4() { Ke.autoAddCss && !rL && (dSe(Lne()), rL = !0); } var ySe = { mixout() { return { dom: { css: Lne, insertCss: j4 } }; }, hooks() { return { beforeDOMElementCreation() { j4(); }, beforeI2svg() { j4(); } }; } }; const zl = Ef || {}; zl[Tl] || (zl[Tl] = {}); zl[Tl].styles || (zl[Tl].styles = {}); zl[Tl].hooks || (zl[Tl].hooks = {}); zl[Tl].shims || (zl[Tl].shims = []); var us = zl[Tl]; const Vne = [], Wne = function() { _n.removeEventListener("DOMContentLoaded", Wne), Zk = 1, Vne.map((e) => e()); }; let Zk = !1; vc && (Zk = (_n.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(_n.readyState), Zk || _n.addEventListener("DOMContentLoaded", Wne)); function vSe(e) { vc && (Zk ? setTimeout(e, 0) : Vne.push(e)); } function hx(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? Fne(e) : "<".concat(t, " ").concat(mSe(r), ">").concat(n.map(hx).join(""), ""); } function nL(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var I4 = function(e, t, r, n) { var o = Object.keys(e), a = o.length, i = t, s, l, c; for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++) l = o[s], c = i(c, e[l], l, e); return c; }; function xSe(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function Gne(e) { const t = xSe(e); return t.length === 1 ? t[0].toString(16) : null; } function wSe(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function oL(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function uC(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = oL(t); typeof us.hooks.addPack == "function" && !n ? us.hooks.addPack(e, oL(t)) : us.styles[e] = Oe(Oe({}, us.styles[e] || {}), o), e === "fas" && uC("fa", t); } const { styles: t0, shims: kSe } = us, Une = Object.keys(vR), OSe = Une.reduce((e, t) => (e[t] = Object.keys(vR[t]), e), {}); let kR = null, Hne = {}, Yne = {}, Bne = {}, qne = {}, Xne = {}; function SSe(e) { return ~lSe.indexOf(e); } function ESe(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !SSe(o) ? o : null; } const Kne = () => { const e = (n) => I4(t0, (o, a, i) => (o[i] = I4(a, n, {}), o), {}); Hne = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => { n[i.toString(16)] = a; }), n)), Yne = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => { n[i] = a; }), n)), Xne = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in t0 || Ke.autoFetchSvg, r = I4(kSe, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); Bne = r.names, qne = r.unicodes, kR = _O(Ke.styleDefault, { family: Ke.familyDefault }); }; fSe((e) => { kR = _O(e.styleDefault, { family: Ke.familyDefault }); }); Kne(); function OR(e, t) { return (Hne[e] || {})[t]; } function ASe(e, t) { return (Yne[e] || {})[t]; } function Np(e, t) { return (Xne[e] || {})[t]; } function Jne(e) { return Bne[e] || { prefix: null, iconName: null }; } function $Se(e) { const t = qne[e], r = OR("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function Af() { return kR; } const Qne = () => ({ prefix: null, iconName: null, rest: [] }); function PSe(e) { let t = wo; const r = Une.reduce((n, o) => (n[o] = "".concat(Ke.cssPrefix, "-").concat(o), n), {}); return _ne.forEach((n) => { (e.includes(r[n]) || e.some((o) => OSe[n].includes(o))) && (t = n); }), t; } function _O(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = wo } = t, n = nSe[r][e]; if (r === CO && !e) return "fad"; const o = tL[r][e] || tL[r][n], a = e in us.styles ? e : null; return o || a || null; } function CSe(e) { let t = [], r = null; return e.forEach((n) => { const o = ESe(Ke.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function aL(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function jO(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = oC.concat(HOe), a = aL(e.filter((f) => o.includes(f))), i = aL(e.filter((f) => !oC.includes(f))), s = a.filter((f) => (n = f, !Nne.includes(f))), [l = null] = s, c = PSe(a), u = Oe(Oe({}, CSe(i)), {}, { prefix: _O(l, { family: c }) }); return Oe(Oe(Oe({}, u), ISe({ values: e, family: c, styles: t0, config: Ke, canonical: u, givenPrefix: n })), NSe(r, n, u)); } function NSe(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? Jne(o) : {}, i = Np(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !t0.far && t0.fas && !Ke.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const _Se = _ne.filter((e) => e !== wo || e !== CO), jSe = Object.keys(nC).filter((e) => e !== wo).map((e) => Object.keys(nC[e])).flat(); function ISe(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === CO, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && _Se.includes(r) && (Object.keys(a).find((f) => jSe.includes(f)) || i.autoFetchSvg)) { const f = zOe.get(r).defaultShortPrefixId; n.prefix = f, n.iconName = Np(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = Af() || "fas"), n; } let RSe = class { constructor() { this.definitions = {}; } add() { for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++) r[n] = arguments[n]; const o = r.reduce(this._pullDefinitions, {}); Object.keys(o).forEach((a) => { this.definitions[a] = Oe(Oe({}, this.definitions[a] || {}), o[a]), uC(a, o[a]); const i = vR[wo][a]; i && uC(i, o[a]), Kne(); }); } reset() { this.definitions = {}; } _pullDefinitions(t, r) { const n = r.prefix && r.iconName && r.icon ? { 0: r } : r; return Object.keys(n).map((o) => { const { prefix: a, iconName: i, icon: s } = n[o], l = s[2]; t[a] || (t[a] = {}), l.length > 0 && l.forEach((c) => { typeof c == "string" && (t[a][c] = s); }), t[a][i] = s; }), t; } }, iL = [], wg = {}; const ah = {}, MSe = Object.keys(ah); function TSe(e, t) { let { mixoutsTo: r } = t; return iL = e, wg = {}, Object.keys(ah).forEach((n) => { MSe.indexOf(n) === -1 && delete ah[n]; }), iL.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { wg[i] || (wg[i] = []), wg[i].push(a[i]); }); } n.provides && n.provides(ah); }), r; } function fC(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (wg[e] || []).forEach((a) => { t = a.apply(null, [t, ...n]); }), t; } function im(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (wg[e] || []).forEach((o) => { o.apply(null, r); }); } function $f() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return ah[e] ? ah[e].apply(null, t) : void 0; } function dC(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || Af(); if (t) return t = Np(r, t) || t, nL(Zne.definitions, r, t) || nL(us.styles, r, t); } const Zne = new RSe(), zSe = () => { Ke.autoReplaceSvg = !1, Ke.observeMutations = !1, im("noAuto"); }, DSe = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return vc ? (im("beforeI2svg", e), $f("pseudoElements2svg", e), $f("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; Ke.autoReplaceSvg === !1 && (Ke.autoReplaceSvg = !0), Ke.observeMutations = !0, vSe(() => { LSe({ autoReplaceSvgRoot: t }), im("watch", e); }); } }, FSe = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: Np(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = _O(e[0]); return { prefix: r, iconName: Np(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(Ke.cssPrefix, "-")) > -1 || e.match(oSe))) { const t = jO(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || Af(), iconName: Np(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = Af(); return { prefix: t, iconName: Np(t, e) || e }; } } }, ya = { noAuto: zSe, config: Ke, dom: DSe, parse: FSe, library: Zne, findIconDefinition: dC, toHtml: hx }, LSe = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = _n } = e; (Object.keys(us.styles).length > 0 || Ke.autoFetchSvg) && vc && Ke.autoReplaceSvg && ya.dom.i2svg({ node: t }); }; function IO(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => hx(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!vc) return; const r = _n.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function VSe(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (wR(i) && r.found && !n.found) { const { width: s, height: l } = r, c = { x: s / l / 2, y: 0.5 }; o.style = NO(Oe(Oe({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function WSe(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(Ke.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: Oe(Oe({}, o), {}, { id: i }), children: n }] }]; } function SR(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: l, titleId: c, extra: u, watchable: f = !1 } = e, { width: p, height: v } = r.found ? r : t, w = WOe.includes(n), b = [Ke.replacementClass, o ? "".concat(Ke.cssPrefix, "-").concat(o) : ""].filter((h) => u.classes.indexOf(h) === -1).filter((h) => h !== "" || !!h).concat(u.classes).join(" "); let m = { children: [], attributes: Oe(Oe({}, u.attributes), {}, { "data-prefix": n, "data-icon": o, class: b, role: u.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(p, " ").concat(v) }) }; const x = w && !~u.classes.indexOf("fa-fw") ? { width: "".concat(p / v * 16 * 0.0625, "em") } : {}; f && (m.attributes[am] = ""), s && (m.children.push({ tag: "title", attributes: { id: m.attributes["aria-labelledby"] || "title-".concat(c || e0()) }, children: [s] }), delete m.attributes.title); const O = Oe(Oe({}, m), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: l, transform: a, symbol: i, styles: Oe(Oe({}, x), u.styles) }), { children: E, attributes: A } = r.found && t.found ? $f("generateAbstractMask", O) || { children: [], attributes: {} } : $f("generateAbstractIcon", O) || { children: [], attributes: {} }; return O.children = E, O.attributes = A, i ? WSe(O) : VSe(O); } function sL(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, l = Oe(Oe(Oe({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (l[am] = ""); const c = Oe({}, i.styles); wR(o) && (c.transform = hSe({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const u = NO(c); u.length > 0 && (l.style = u); const f = []; return f.push({ tag: "span", attributes: l, children: [t] }), a && f.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), f; } function GSe(e) { const { content: t, title: r, extra: n } = e, o = Oe(Oe(Oe({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = NO(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: R4 } = us; function pC(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(Ke.cssPrefix, "-").concat(_4.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(Ke.cssPrefix, "-").concat(_4.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(Ke.cssPrefix, "-").concat(_4.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const USe = { found: !1, width: 512, height: 512 }; function HSe(e, t) { !Mne && !Ke.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function mC(e, t) { let r = t; return t === "fa" && Ke.styleDefault !== null && (t = Af()), new Promise((n, o) => { if (r === "fa") { const a = Jne(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && R4[t] && R4[t][e]) { const a = R4[t][e]; return n(pC(a)); } HSe(e, t), n(Oe(Oe({}, USe), {}, { icon: Ke.showMissingIcons && e ? $f("missingIconAbstract") || {} : {} })); }); } const lL = () => { }, gC = Ke.measurePerformance && yw && yw.mark && yw.measure ? yw : { mark: lL, measure: lL }, $v = 'FA "6.7.2"', YSe = (e) => (gC.mark("".concat($v, " ").concat(e, " begins")), () => eoe(e)), eoe = (e) => { gC.mark("".concat($v, " ").concat(e, " ends")), gC.measure("".concat($v, " ").concat(e), "".concat($v, " ").concat(e, " begins"), "".concat($v, " ").concat(e, " ends")); }; var ER = { begin: YSe, end: eoe }; const Y2 = () => { }; function cL(e) { return typeof (e.getAttribute ? e.getAttribute(am) : null) == "string"; } function BSe(e) { const t = e.getAttribute ? e.getAttribute(bR) : null, r = e.getAttribute ? e.getAttribute(yR) : null; return t && r; } function qSe(e) { return e && e.classList && e.classList.contains && e.classList.contains(Ke.replacementClass); } function XSe() { return Ke.autoReplaceSvg === !0 ? B2.replace : B2[Ke.autoReplaceSvg] || B2.replace; } function KSe(e) { return _n.createElementNS("http://www.w3.org/2000/svg", e); } function JSe(e) { return _n.createElement(e); } function toe(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? KSe : JSe } = t; if (typeof e == "string") return _n.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(o) { n.setAttribute(o, e.attributes[o]); }), (e.children || []).forEach(function(o) { n.appendChild(toe(o, { ceFn: r })); }), n; } function QSe(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const B2 = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(toe(r), t); }), t.getAttribute(am) === null && Ke.keepOriginalSource) { let r = _n.createComment(QSe(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~xR(t).indexOf(Ke.replacementClass)) return B2.replace(e); const n = new RegExp("".concat(Ke.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === Ke.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => hx(a)).join(` `); t.setAttribute(am, ""), t.innerHTML = o; } }; function uL(e) { e(); } function roe(e, t) { const r = typeof t == "function" ? t : Y2; if (e.length === 0) r(); else { let n = uL; Ke.mutateApproach === tSe && (n = Ef.requestAnimationFrame || uL), n(() => { const o = XSe(), a = ER.begin("mutate"); e.map(o), a(), r(); }); } } let AR = !1; function noe() { AR = !0; } function hC() { AR = !1; } let e5 = null; function fL(e) { if (!JF || !Ke.observeMutations) return; const { treeCallback: t = Y2, nodeCallback: r = Y2, pseudoElementsCallback: n = Y2, observeMutationsRoot: o = _n } = e; e5 = new JF((a) => { if (AR) return; const i = Af(); Eb(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !cL(s.addedNodes[0]) && (Ke.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Ke.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && cL(s.target) && ~sSe.indexOf(s.attributeName)) if (s.attributeName === "class" && BSe(s.target)) { const { prefix: l, iconName: c } = jO(xR(s.target)); s.target.setAttribute(bR, l || i), c && s.target.setAttribute(yR, c); } else qSe(s.target) && r(s.target); }); }), vc && e5.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function ZSe() { e5 && e5.disconnect(); } function e3e(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function t3e(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = jO(xR(e)); return o.prefix || (o.prefix = Af()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = ASe(o.prefix, e.innerText) || OR(o.prefix, Gne(e.innerText))), !o.iconName && Ke.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function r3e(e) { const t = Eb(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return Ke.autoA11y && (r ? t["aria-labelledby"] = "".concat(Ke.replacementClass, "-title-").concat(n || e0()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function n3e() { return { iconName: null, title: null, titleId: null, prefix: null, transform: cs, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function dL(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = t3e(e), a = r3e(e), i = fC("parseNodeAttributes", {}, e); let s = t.styleParser ? e3e(e) : []; return Oe({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: cs, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: o3e } = us; function ooe(e) { const t = Ke.autoReplaceSvg === "nest" ? dL(e, { styleParser: !1 }) : dL(e); return ~t.extra.classes.indexOf(zne) ? $f("generateLayersText", e, t) : $f("generateSvgReplacementMutation", e, t); } function a3e() { return [...FOe, ...oC]; } function pL(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!vc) return Promise.resolve(); const r = _n.documentElement.classList, n = (u) => r.add("".concat(eL, "-").concat(u)), o = (u) => r.remove("".concat(eL, "-").concat(u)), a = Ke.autoFetchSvg ? a3e() : Nne.concat(Object.keys(o3e)); a.includes("fa") || a.push("fa"); const i = [".".concat(zne, ":not([").concat(am, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(am, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = Eb(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const l = ER.begin("onTree"), c = s.reduce((u, f) => { try { const p = ooe(f); p && u.push(p); } catch (p) { Mne || p.name === "MissingIcon" && console.error(p); } return u; }, []); return new Promise((u, f) => { Promise.all(c).then((p) => { roe(p, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u(); }); }).catch((p) => { l(), f(p); }); }); } function i3e(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; ooe(e).then((r) => { r && roe([r], t); }); } function s3e(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : dC(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : dC(o || {})), e(n, Oe(Oe({}, r), {}, { mask: o })); }; } const l3e = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = cs, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: l = [], attributes: c = {}, styles: u = {} } = t; if (!e) return; const { prefix: f, iconName: p, icon: v } = e; return IO(Oe({ type: "icon" }, e), () => (im("beforeDOMElementCreation", { iconDefinition: e, params: t }), Ke.autoA11y && (i ? c["aria-labelledby"] = "".concat(Ke.replacementClass, "-title-").concat(s || e0()) : (c["aria-hidden"] = "true", c.focusable = "false")), SR({ icons: { main: pC(v), mask: o ? pC(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: f, iconName: p, transform: Oe(Oe({}, cs), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: u, classes: l } }))); }; var c3e = { mixout() { return { icon: s3e(l3e) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = pL, e.nodeCallback = i3e, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = _n, callback: n = () => { } } = t; return pL(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: l, mask: c, maskId: u, extra: f } = r; return new Promise((p, v) => { Promise.all([mC(n, i), c.iconName ? mC(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((w) => { let [b, m] = w; p([t, SR({ icons: { main: b, mask: m }, prefix: i, iconName: n, transform: s, symbol: l, maskId: u, title: o, titleId: a, extra: f, watchable: !0 })]); }).catch(v); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = NO(i); s.length > 0 && (n.style = s); let l; return wR(a) && (l = $f("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(l || o.icon), { children: r, attributes: n }; }; } }, u3e = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return IO({ type: "layer" }, () => { im("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(Ke.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, f3e = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return IO({ type: "counter", content: e }, () => (im("beforeDOMElementCreation", { content: e, params: t }), GSe({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(Ke.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, d3e = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = cs, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return IO({ type: "text", content: e }, () => (im("beforeDOMElementCreation", { content: e, params: t }), sL({ content: e, transform: Oe(Oe({}, cs), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(Ke.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (Pne) { const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / l, s = c.height / l; } return Ke.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, sL({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const p3e = new RegExp('"', "ug"), mL = [1105920, 1112319], gL = Oe(Oe(Oe(Oe({}, { FontAwesome: { normal: "fas", 400: "fas" } }), TOe), ZOe), YOe), bC = Object.keys(gL).reduce((e, t) => (e[t.toLowerCase()] = gL[t], e), {}), m3e = Object.keys(bC).reduce((e, t) => { const r = bC[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function g3e(e) { const t = e.replace(p3e, ""), r = wSe(t, 0), n = r >= mL[0] && r <= mL[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: Gne(o ? t[0] : t), isSecondary: n || o }; } function h3e(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return (bC[r] || {})[o] || m3e[r]; } function hL(e, t) { const r = "".concat(eSe).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const a = Eb(e.children).filter((f) => f.getAttribute(iC) === t)[0], i = Ef.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(aSe), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content"); if (a && !l) return e.removeChild(a), n(); if (l && u !== "none" && u !== "") { const f = i.getPropertyValue("content"); let p = h3e(s, c); const { value: v, isSecondary: w } = g3e(f), b = l[0].startsWith("FontAwesome"); let m = OR(p, v), x = m; if (b) { const O = $Se(v); O.iconName && O.prefix && (m = O.iconName, p = O.prefix); } if (m && !w && (!a || a.getAttribute(bR) !== p || a.getAttribute(yR) !== x)) { e.setAttribute(r, x), a && e.removeChild(a); const O = n3e(), { extra: E } = O; E.attributes[iC] = t, mC(m, p).then((A) => { const h = SR(Oe(Oe({}, O), {}, { icons: { main: A, mask: Qne() }, prefix: p, iconName: x, extra: E, watchable: !0 })), G = _n.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(G, e.firstChild) : e.appendChild(G), G.outerHTML = h.map((H) => hx(H)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function b3e(e) { return Promise.all([hL(e, "::before"), hL(e, "::after")]); } function y3e(e) { return e.parentNode !== document.head && !~rSe.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(iC) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function bL(e) { if (vc) return new Promise((t, r) => { const n = Eb(e.querySelectorAll("*")).filter(y3e).map(b3e), o = ER.begin("searchPseudoElements"); noe(), Promise.all(n).then(() => { o(), hC(), t(); }).catch(() => { o(), hC(), r(); }); }); } var v3e = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = bL, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = _n } = t; Ke.searchPseudoElements && bL(r); }; } }; let yL = !1; var x3e = { mixout() { return { dom: { unwatch() { noe(), yL = !0; } } }; }, hooks() { return { bootstrap() { fL(fC("mutationObserverCallbacks", {})); }, noAuto() { ZSe(); }, watch(e) { const { observeMutationsRoot: t } = e; yL ? hC() : fL(fC("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const vL = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var w3e = { mixout() { return { parse: { transform: (e) => vL(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = vL(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = { transform: "".concat(s, " ").concat(l, " ").concat(c) }, f = { transform: "translate(".concat(a / 2 * -1, " -256)") }, p = { outer: i, inner: u, path: f }; return { tag: "g", attributes: Oe({}, p.outer), children: [{ tag: "g", attributes: Oe({}, p.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: Oe(Oe({}, r.icon.attributes), p.path) }] }] }; }; } }; const M4 = { x: 0, y: 0, width: "100%", height: "100%" }; function xL(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function k3e(e) { return e.tag === "g" ? e.children : [e]; } var O3e = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? jO(r.split(" ").map((o) => o.trim())) : Qne(); return n.prefix || (n.prefix = Af()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: l, icon: c } = o, { width: u, icon: f } = a, p = gSe({ transform: s, containerWidth: u, iconWidth: l }), v = { tag: "rect", attributes: Oe(Oe({}, M4), {}, { fill: "white" }) }, w = c.children ? { children: c.children.map(xL) } : {}, b = { tag: "g", attributes: Oe({}, p.inner), children: [xL(Oe({ tag: c.tag, attributes: Oe(Oe({}, c.attributes), p.path) }, w))] }, m = { tag: "g", attributes: Oe({}, p.outer), children: [b] }, x = "mask-".concat(i || e0()), O = "clip-".concat(i || e0()), E = { tag: "mask", attributes: Oe(Oe({}, M4), {}, { id: x, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [v, m] }, A = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: O }, children: k3e(f) }, E] }; return r.push(A, { tag: "rect", attributes: Oe({ fill: "currentColor", "clip-path": "url(#".concat(O, ")"), mask: "url(#".concat(x, ")") }, M4) }), { children: r, attributes: n }; }; } }, S3e = { provides(e) { let t = !1; Ef.matchMedia && (t = Ef.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: Oe(Oe({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = Oe(Oe({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: Oe(Oe({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: Oe(Oe({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: Oe(Oe({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: Oe(Oe({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: Oe(Oe({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: Oe(Oe({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: Oe(Oe({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, E3e = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, A3e = [ySe, c3e, u3e, f3e, d3e, v3e, x3e, w3e, O3e, S3e, E3e]; TSe(A3e, { mixoutsTo: ya }); ya.noAuto; ya.config; ya.library; ya.dom; const yC = ya.parse; ya.findIconDefinition; ya.toHtml; const $3e = ya.icon; ya.layer; ya.text; ya.counter; function P3e(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var xw = { exports: {} }, T4 = { exports: {} }, xr = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var wL; function C3e() { if (wL) return xr; wL = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(h) { if (typeof h == "object" && h !== null) { var G = h.$$typeof; switch (G) { case t: switch (h = h.type, h) { case l: case c: case n: case a: case o: case f: return h; default: switch (h = h && h.$$typeof, h) { case s: case u: case w: case v: case i: return h; default: return G; } } case r: return G; } } } function A(h) { return E(h) === c; } return xr.AsyncMode = l, xr.ConcurrentMode = c, xr.ContextConsumer = s, xr.ContextProvider = i, xr.Element = t, xr.ForwardRef = u, xr.Fragment = n, xr.Lazy = w, xr.Memo = v, xr.Portal = r, xr.Profiler = a, xr.StrictMode = o, xr.Suspense = f, xr.isAsyncMode = function(h) { return A(h) || E(h) === l; }, xr.isConcurrentMode = A, xr.isContextConsumer = function(h) { return E(h) === s; }, xr.isContextProvider = function(h) { return E(h) === i; }, xr.isElement = function(h) { return typeof h == "object" && h !== null && h.$$typeof === t; }, xr.isForwardRef = function(h) { return E(h) === u; }, xr.isFragment = function(h) { return E(h) === n; }, xr.isLazy = function(h) { return E(h) === w; }, xr.isMemo = function(h) { return E(h) === v; }, xr.isPortal = function(h) { return E(h) === r; }, xr.isProfiler = function(h) { return E(h) === a; }, xr.isStrictMode = function(h) { return E(h) === o; }, xr.isSuspense = function(h) { return E(h) === f; }, xr.isValidElementType = function(h) { return typeof h == "string" || typeof h == "function" || h === n || h === c || h === a || h === o || h === f || h === p || typeof h == "object" && h !== null && (h.$$typeof === w || h.$$typeof === v || h.$$typeof === i || h.$$typeof === s || h.$$typeof === u || h.$$typeof === m || h.$$typeof === x || h.$$typeof === O || h.$$typeof === b); }, xr.typeOf = E, xr; } var Dr = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var kL; function N3e() { return kL || (kL = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === f || k === p || typeof k == "object" && k !== null && (k.$$typeof === w || k.$$typeof === v || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === m || k.$$typeof === x || k.$$typeof === O || k.$$typeof === b); } function A(k) { if (typeof k == "object" && k !== null) { var ne = k.$$typeof; switch (ne) { case t: var pe = k.type; switch (pe) { case l: case c: case n: case a: case o: case f: return pe; default: var He = pe && pe.$$typeof; switch (He) { case s: case u: case w: case v: case i: return He; default: return ne; } } case r: return ne; } } } var h = l, G = c, H = s, Z = i, J = t, X = u, ee = n, I = w, te = v, U = r, z = a, F = o, D = f, Y = !1; function q(k) { return Y || (Y = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), g(k) || A(k) === l; } function g(k) { return A(k) === c; } function d(k) { return A(k) === s; } function S(k) { return A(k) === i; } function C(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function P(k) { return A(k) === u; } function j(k) { return A(k) === n; } function _(k) { return A(k) === w; } function N(k) { return A(k) === v; } function M(k) { return A(k) === r; } function R(k) { return A(k) === a; } function T(k) { return A(k) === o; } function Q(k) { return A(k) === f; } Dr.AsyncMode = h, Dr.ConcurrentMode = G, Dr.ContextConsumer = H, Dr.ContextProvider = Z, Dr.Element = J, Dr.ForwardRef = X, Dr.Fragment = ee, Dr.Lazy = I, Dr.Memo = te, Dr.Portal = U, Dr.Profiler = z, Dr.StrictMode = F, Dr.Suspense = D, Dr.isAsyncMode = q, Dr.isConcurrentMode = g, Dr.isContextConsumer = d, Dr.isContextProvider = S, Dr.isElement = C, Dr.isForwardRef = P, Dr.isFragment = j, Dr.isLazy = _, Dr.isMemo = N, Dr.isPortal = M, Dr.isProfiler = R, Dr.isStrictMode = T, Dr.isSuspense = Q, Dr.isValidElementType = E, Dr.typeOf = A; }()), Dr; } var OL; function aoe() { return OL || (OL = 1, process.env.NODE_ENV === "production" ? T4.exports = C3e() : T4.exports = N3e()), T4.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var z4, SL; function _3e() { if (SL) return z4; SL = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var l = Object.getOwnPropertyNames(i).map(function(u) { return i[u]; }); if (l.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(u) { c[u] = u; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return z4 = o() ? Object.assign : function(a, i) { for (var s, l = n(a), c, u = 1; u < arguments.length; u++) { s = Object(arguments[u]); for (var f in s) t.call(s, f) && (l[f] = s[f]); if (e) { c = e(s); for (var p = 0; p < c.length; p++) r.call(s, c[p]) && (l[c[p]] = s[c[p]]); } } return l; }, z4; } var D4, EL; function $R() { if (EL) return D4; EL = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return D4 = e, D4; } var AL, $L; function ioe() { return $L || ($L = 1, AL = Function.call.bind(Object.prototype.hasOwnProperty)), AL; } var F4, PL; function j3e() { if (PL) return F4; PL = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ $R(), r = {}, n = /* @__PURE__ */ ioe(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, l, c) { if (process.env.NODE_ENV !== "production") { for (var u in a) if (n(a, u)) { var f; try { if (typeof a[u] != "function") { var p = Error( (l || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw p.name = "Invariant Violation", p; } f = a[u](i, u, l, s, null, t); } catch (w) { f = w; } if (f && !(f instanceof Error) && e( (l || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), f instanceof Error && !(f.message in r)) { r[f.message] = !0; var v = c ? c() : ""; e( "Failed " + s + " type: " + f.message + (v ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, F4 = o, F4; } var L4, CL; function I3e() { if (CL) return L4; CL = 1; var e = aoe(), t = _3e(), r = /* @__PURE__ */ $R(), n = /* @__PURE__ */ ioe(), o = /* @__PURE__ */ j3e(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var l = "Warning: " + s; typeof console < "u" && console.error(l); try { throw new Error(l); } catch { } }); function i() { return null; } return L4 = function(s, l) { var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator"; function f(g) { var d = g && (c && g[c] || g[u]); if (typeof d == "function") return d; } var p = "<>", v = { array: x("array"), bigint: x("bigint"), bool: x("boolean"), func: x("function"), number: x("number"), object: x("object"), string: x("string"), symbol: x("symbol"), any: O(), arrayOf: E, element: A(), elementType: h(), instanceOf: G, node: X(), objectOf: Z, oneOf: H, oneOfType: J, shape: I, exact: te }; function w(g, d) { return g === d ? g !== 0 || 1 / g === 1 / d : g !== g && d !== d; } function b(g, d) { this.message = g, this.data = d && typeof d == "object" ? d : {}, this.stack = ""; } b.prototype = Error.prototype; function m(g) { if (process.env.NODE_ENV !== "production") var d = {}, S = 0; function C(j, _, N, M, R, T, Q) { if (M = M || p, T = T || N, Q !== r) { if (l) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var ne = M + ":" + N; !d[ne] && // Avoid spamming the console because they are often not actionable except for lib authors S < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + M + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), d[ne] = !0, S++); } } return _[N] == null ? j ? _[N] === null ? new b("The " + R + " `" + T + "` is marked as required " + ("in `" + M + "`, but its value is `null`.")) : new b("The " + R + " `" + T + "` is marked as required in " + ("`" + M + "`, but its value is `undefined`.")) : null : g(_, N, M, R, T); } var P = C.bind(null, !1); return P.isRequired = C.bind(null, !0), P; } function x(g) { function d(S, C, P, j, _, N) { var M = S[C], R = F(M); if (R !== g) { var T = D(M); return new b( "Invalid " + j + " `" + _ + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."), { expectedType: g } ); } return null; } return m(d); } function O() { return m(i); } function E(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside arrayOf."); var N = S[C]; if (!Array.isArray(N)) { var M = F(N); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an array.")); } for (var R = 0; R < N.length; R++) { var T = g(N, R, P, j, _ + "[" + R + "]", r); if (T instanceof Error) return T; } return null; } return m(d); } function A() { function g(d, S, C, P, j) { var _ = d[S]; if (!s(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement.")); } return null; } return m(g); } function h() { function g(d, S, C, P, j) { var _ = d[S]; if (!e.isValidElementType(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement type.")); } return null; } return m(g); } function G(g) { function d(S, C, P, j, _) { if (!(S[C] instanceof g)) { var N = g.name || p, M = q(S[C]); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected ") + ("instance of `" + N + "`.")); } return null; } return m(d); } function H(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function d(S, C, P, j, _) { for (var N = S[C], M = 0; M < g.length; M++) if (w(N, g[M])) return null; var R = JSON.stringify(g, function(T, Q) { var k = D(Q); return k === "symbol" ? String(Q) : Q; }); return new b("Invalid " + j + " `" + _ + "` of value `" + String(N) + "` " + ("supplied to `" + P + "`, expected one of " + R + ".")); } return m(d); } function Z(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside objectOf."); var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an object.")); for (var R in N) if (n(N, R)) { var T = g(N, R, P, j, _ + "." + R, r); if (T instanceof Error) return T; } return null; } return m(d); } function J(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var d = 0; d < g.length; d++) { var S = g[d]; if (typeof S != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(S) + " at index " + d + "." ), i; } function C(P, j, _, N, M) { for (var R = [], T = 0; T < g.length; T++) { var Q = g[T], k = Q(P, j, _, N, M, r); if (k == null) return null; k.data && n(k.data, "expectedType") && R.push(k.data.expectedType); } var ne = R.length > 0 ? ", expected one of type [" + R.join(", ") + "]" : ""; return new b("Invalid " + N + " `" + M + "` supplied to " + ("`" + _ + "`" + ne + ".")); } return m(C); } function X() { function g(d, S, C, P, j) { return U(d[S]) ? null : new b("Invalid " + P + " `" + j + "` supplied to " + ("`" + C + "`, expected a ReactNode.")); } return m(g); } function ee(g, d, S, C, P) { return new b( (g || "React class") + ": " + d + " type `" + S + "." + C + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`." ); } function I(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); for (var R in g) { var T = g[R]; if (typeof T != "function") return ee(P, j, _, R, D(T)); var Q = T(N, R, P, j, _ + "." + R, r); if (Q) return Q; } return null; } return m(d); } function te(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); var R = t({}, S[C], g); for (var T in R) { var Q = g[T]; if (n(g, T) && typeof Q != "function") return ee(P, j, _, T, D(Q)); if (!Q) return new b( "Invalid " + j + " `" + _ + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(S[C], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(g), null, " ") ); var k = Q(N, T, P, j, _ + "." + T, r); if (k) return k; } return null; } return m(d); } function U(g) { switch (typeof g) { case "number": case "string": case "undefined": return !0; case "boolean": return !g; case "object": if (Array.isArray(g)) return g.every(U); if (g === null || s(g)) return !0; var d = f(g); if (d) { var S = d.call(g), C; if (d !== g.entries) { for (; !(C = S.next()).done; ) if (!U(C.value)) return !1; } else for (; !(C = S.next()).done; ) { var P = C.value; if (P && !U(P[1])) return !1; } } else return !1; return !0; default: return !1; } } function z(g, d) { return g === "symbol" ? !0 : d ? d["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && d instanceof Symbol : !1; } function F(g) { var d = typeof g; return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : z(d, g) ? "symbol" : d; } function D(g) { if (typeof g > "u" || g === null) return "" + g; var d = F(g); if (d === "object") { if (g instanceof Date) return "date"; if (g instanceof RegExp) return "regexp"; } return d; } function Y(g) { var d = D(g); switch (d) { case "array": case "object": return "an " + d; case "boolean": case "date": case "regexp": return "a " + d; default: return d; } } function q(g) { return !g.constructor || !g.constructor.name ? p : g.constructor.name; } return v.checkPropTypes = o, v.resetWarningCache = o.resetWarningCache, v.PropTypes = v, v; }, L4; } var V4, NL; function R3e() { if (NL) return V4; NL = 1; var e = /* @__PURE__ */ $R(); function t() { } function r() { } return r.resetWarningCache = t, V4 = function() { function n(i, s, l, c, u, f) { if (f !== e) { var p = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw p.name = "Invariant Violation", p; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, V4; } var _L; function M3e() { if (_L) return xw.exports; if (_L = 1, process.env.NODE_ENV !== "production") { var e = aoe(), t = !0; xw.exports = /* @__PURE__ */ I3e()(e.isElement, t); } else xw.exports = /* @__PURE__ */ R3e()(); return xw.exports; } var T3e = /* @__PURE__ */ M3e(); const Qt = /* @__PURE__ */ P3e(T3e); function jL(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Wi(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? jL(Object(r), !0).forEach(function(n) { kg(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : jL(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function t5(e) { "@babel/helpers - typeof"; return t5 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, t5(e); } function kg(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function z3e(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function D3e(e, t) { if (e == null) return {}; var r = z3e(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function vC(e) { return F3e(e) || L3e(e) || V3e(e) || W3e(); } function F3e(e) { if (Array.isArray(e)) return xC(e); } function L3e(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function V3e(e, t) { if (e) { if (typeof e == "string") return xC(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return xC(e, t); } } function xC(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function W3e() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function G3e(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, p = e.fixedWidth, v = e.inverse, w = e.border, b = e.listItem, m = e.flip, x = e.size, O = e.rotation, E = e.pull, A = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": l, "fa-spin-reverse": u, "fa-spin-pulse": c, "fa-pulse": f, "fa-fw": p, "fa-inverse": v, "fa-border": w, "fa-li": b, "fa-flip": m === !0, "fa-flip-horizontal": m === "horizontal" || m === "both", "fa-flip-vertical": m === "vertical" || m === "both" }, kg(t, "fa-".concat(x), typeof x < "u" && x !== null), kg(t, "fa-rotate-".concat(O), typeof O < "u" && O !== null && O !== 0), kg(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), kg(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(A).map(function(h) { return A[h] ? h : null; }).filter(function(h) { return h; }); } function U3e(e) { return e = e - 0, e === e; } function soe(e) { return U3e(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var H3e = ["style"]; function Y3e(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function B3e(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = soe(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[Y3e(o)] = a : t[o] = a, t; }, {}); } function loe(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(l) { return loe(e, l); }), o = Object.keys(t.attributes || {}).reduce(function(l, c) { var u = t.attributes[c]; switch (c) { case "class": l.attrs.className = u, delete t.attributes.class; break; case "style": l.attrs.style = B3e(u); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[soe(c)] = u; } return l; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = D3e(r, H3e); return o.attrs.style = Wi(Wi({}, o.attrs.style), i), e.apply(void 0, [t.tag, Wi(Wi({}, o.attrs), s)].concat(vC(n))); } var coe = !1; try { coe = process.env.NODE_ENV === "production"; } catch { } function q3e() { if (!coe && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function IL(e) { if (e && t5(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (yC.icon) return yC.icon(e); if (e === null) return null; if (e && t5(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function W4(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? kg({}, e, t) : {}; } var RL = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, PR = /* @__PURE__ */ de.forwardRef(function(e, t) { var r = Wi(Wi({}, RL), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = IL(n), f = W4("classes", [].concat(vC(G3e(r)), vC((i || "").split(" ")))), p = W4("transform", typeof r.transform == "string" ? yC.transform(r.transform) : r.transform), v = W4("mask", IL(o)), w = $3e(u, Wi(Wi(Wi(Wi({}, f), p), v), {}, { symbol: a, title: s, titleId: l, maskId: c })); if (!w) return q3e("Could not find icon", u), null; var b = w.abstract, m = { ref: t }; return Object.keys(r).forEach(function(x) { RL.hasOwnProperty(x) || (m[x] = r[x]); }), X3e(b[0], m); }); PR.displayName = "FontAwesomeIcon"; PR.propTypes = { beat: Qt.bool, border: Qt.bool, beatFade: Qt.bool, bounce: Qt.bool, className: Qt.string, fade: Qt.bool, flash: Qt.bool, mask: Qt.oneOfType([Qt.object, Qt.array, Qt.string]), maskId: Qt.string, fixedWidth: Qt.bool, inverse: Qt.bool, flip: Qt.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: Qt.oneOfType([Qt.object, Qt.array, Qt.string]), listItem: Qt.bool, pull: Qt.oneOf(["right", "left"]), pulse: Qt.bool, rotation: Qt.oneOf([0, 90, 180, 270]), shake: Qt.bool, size: Qt.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: Qt.bool, spinPulse: Qt.bool, spinReverse: Qt.bool, symbol: Qt.oneOfType([Qt.bool, Qt.string]), title: Qt.string, titleId: Qt.string, transform: Qt.oneOfType([Qt.string, Qt.object]), swapOpacity: Qt.bool }; var X3e = loe.bind(null, de.createElement); const CR = "-", K3e = (e) => { const t = Q3e(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(CR); return a[0] === "" && a.length !== 1 && a.shift(), uoe(a, t) || J3e(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, uoe = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? uoe(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(CR); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, ML = /^\[(.+)\]$/, J3e = (e) => { if (ML.test(e)) { const t = ML.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, Q3e = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return e4e(Object.entries(e.classGroups), r).forEach(([o, a]) => { wC(a, n, o, t); }), n; }, wC = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : TL(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (Z3e(o)) { wC(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { wC(i, TL(t, a), r, n); }); }); }, TL = (e, t) => { let r = e; return t.split(CR).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, Z3e = (e) => e.isThemeGetter, e4e = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, t4e = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, foe = "!", r4e = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(foe), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, n4e = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, o4e = (e) => ({ cache: t4e(e.cacheSize), parseClassName: r4e(e), ...K3e(e) }), a4e = /\s+/, i4e = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(a4e); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = n4e(u).join(":"), x = f ? m + foe : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function s4e() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = doe(t)) && (n && (n += " "), n += r); return n; } const doe = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = doe(e[n])) && (r && (r += " "), r += t); return r; }; function l4e(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = o4e(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = i4e(l, r); return o(l, u), u; } return function() { return a(s4e.apply(null, arguments)); }; } const ln = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, poe = /^\[(?:([a-z-]+):)?(.+)\]$/i, c4e = /^\d+\/\d+$/, u4e = /* @__PURE__ */ new Set(["px", "full", "screen"]), f4e = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, d4e = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, p4e = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, m4e = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, g4e = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, el = (e) => ih(e) || u4e.has(e) || c4e.test(e), Fc = (e) => Ab(e, "length", O4e), ih = (e) => !!e && !Number.isNaN(Number(e)), G4 = (e) => Ab(e, "number", ih), by = (e) => !!e && Number.isInteger(Number(e)), h4e = (e) => e.endsWith("%") && ih(e.slice(0, -1)), kt = (e) => poe.test(e), Lc = (e) => f4e.test(e), b4e = /* @__PURE__ */ new Set(["length", "size", "percentage"]), y4e = (e) => Ab(e, b4e, moe), v4e = (e) => Ab(e, "position", moe), x4e = /* @__PURE__ */ new Set(["image", "url"]), w4e = (e) => Ab(e, x4e, E4e), k4e = (e) => Ab(e, "", S4e), yy = () => !0, Ab = (e, t, r) => { const n = poe.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, O4e = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. d4e.test(e) && !p4e.test(e) ), moe = () => !1, S4e = (e) => m4e.test(e), E4e = (e) => g4e.test(e), A4e = () => { const e = ln("colors"), t = ln("spacing"), r = ln("blur"), n = ln("brightness"), o = ln("borderColor"), a = ln("borderRadius"), i = ln("borderSpacing"), s = ln("borderWidth"), l = ln("contrast"), c = ln("grayscale"), u = ln("hueRotate"), f = ln("invert"), p = ln("gap"), v = ln("gradientColorStops"), w = ln("gradientColorStopPositions"), b = ln("inset"), m = ln("margin"), x = ln("opacity"), O = ln("padding"), E = ln("saturate"), A = ln("scale"), h = ln("sepia"), G = ln("skew"), H = ln("space"), Z = ln("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", kt, t], I = () => [kt, t], te = () => ["", el, Fc], U = () => ["auto", ih, kt], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", kt], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [ih, kt]; return { cacheSize: 500, separator: ":", theme: { colors: [yy], spacing: [el, Fc], blur: ["none", "", Lc, kt], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", Lc, kt], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [h4e, Fc], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", kt] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [Lc] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), kt] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", by, kt] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", kt] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", by, kt] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [yy] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", by, kt] }, kt] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [yy] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [by, kt] }, kt] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", kt] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", kt] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", kt, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [kt, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [kt, t, "none", "full", "min", "max", "fit", "prose", { screen: [Lc] }, Lc] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [kt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [kt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [kt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [kt, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", Lc, Fc] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", G4] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [yy] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", kt] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", ih, G4] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", el, kt] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", kt] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", kt] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", el, Fc] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", el, kt] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", kt] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", kt] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), v4e] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", y4e] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, w4e] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [el, kt] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [el, Fc] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [el, Fc] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", Lc, k4e] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [yy] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", Lc, kt] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", kt] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", kt] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", kt] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [by, kt] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", kt] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", kt] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", kt] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [el, Fc, G4] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, $4e = /* @__PURE__ */ l4e(A4e), P4e = ({ onClick: e, className: t, size: r = "md" }) => /* @__PURE__ */ B( "button", { onClick: e, className: $4e( "flex items-center justify-center rounded-full bg-black/40 text-white/60 transition-all hover:bg-black/70 hover:text-white", { sm: "h-5 w-5 text-sm", md: "h-7 w-7 text-md", lg: "h-9 w-9 text-xl" }[r], t ), children: /* @__PURE__ */ B(PR, { icon: AOe }) } ); var NR = yx(), yt = (e) => bx(e, NR), _R = yx(); yt.write = (e) => bx(e, _R); var RO = yx(); yt.onStart = (e) => bx(e, RO); var jR = yx(); yt.onFrame = (e) => bx(e, jR); var IR = yx(); yt.onFinish = (e) => bx(e, IR); var sh = []; yt.setTimeout = (e, t) => { const r = yt.now() + t, n = () => { const a = sh.findIndex((i) => i.cancel == n); ~a && sh.splice(a, 1), rf -= ~a ? 1 : 0; }, o = { time: r, handler: e, cancel: n }; return sh.splice(goe(r), 0, o), rf += 1, hoe(), o; }; var goe = (e) => ~(~sh.findIndex((t) => t.time > e) || ~sh.length); yt.cancel = (e) => { RO.delete(e), jR.delete(e), IR.delete(e), NR.delete(e), _R.delete(e); }; yt.sync = (e) => { kC = !0, yt.batchedUpdates(e), kC = !1; }; yt.throttle = (e) => { let t; function r() { try { e(...t); } finally { t = null; } } function n(...o) { t = o, yt.onStart(r); } return n.handler = e, n.cancel = () => { RO.delete(r), t = null; }, n; }; var RR = typeof window < "u" ? window.requestAnimationFrame : ( // eslint-disable-next-line @typescript-eslint/no-empty-function () => { } ); yt.use = (e) => RR = e; yt.now = typeof performance < "u" ? () => performance.now() : Date.now; yt.batchedUpdates = (e) => e(); yt.catch = console.error; yt.frameLoop = "always"; yt.advance = () => { yt.frameLoop !== "demand" ? console.warn( "Cannot call the manual advancement of rafz whilst frameLoop is not set as demand" ) : yoe(); }; var tf = -1, rf = 0, kC = !1; function bx(e, t) { kC ? (t.delete(e), e(0)) : (t.add(e), hoe()); } function hoe() { tf < 0 && (tf = 0, yt.frameLoop !== "demand" && RR(boe)); } function C4e() { tf = -1; } function boe() { ~tf && (RR(boe), yt.batchedUpdates(yoe)); } function yoe() { const e = tf; tf = yt.now(); const t = goe(tf); if (t && (voe(sh.splice(0, t), (r) => r.handler()), rf -= t), !rf) { C4e(); return; } RO.flush(), NR.flush(e ? Math.min(64, tf - e) : 16.667), jR.flush(), _R.flush(), IR.flush(); } function yx() { let e = /* @__PURE__ */ new Set(), t = e; return { add(r) { rf += t == e && !e.has(r) ? 1 : 0, e.add(r); }, delete(r) { return rf -= t == e && e.has(r) ? 1 : 0, e.delete(r); }, flush(r) { t.size && (e = /* @__PURE__ */ new Set(), rf -= t.size, voe(t, (n) => n(r) && e.add(n)), rf += e.size, t = e); } }; } function voe(e, t) { e.forEach((r) => { try { t(r); } catch (n) { yt.catch(n); } }); } var N4e = Object.defineProperty, _4e = (e, t) => { for (var r in t) N4e(e, r, { get: t[r], enumerable: !0 }); }, Pi = {}; _4e(Pi, { assign: () => I4e, colors: () => mf, createStringInterpolator: () => TR, skipAnimation: () => woe, to: () => xoe, willAdvance: () => zR }); function OC() { } var j4e = (e, t, r) => Object.defineProperty(e, t, { value: r, writable: !0, configurable: !0 }), Fe = { arr: Array.isArray, obj: (e) => !!e && e.constructor.name === "Object", fun: (e) => typeof e == "function", str: (e) => typeof e == "string", num: (e) => typeof e == "number", und: (e) => e === void 0 }; function Al(e, t) { if (Fe.arr(e)) { if (!Fe.arr(t) || e.length !== t.length) return !1; for (let r = 0; r < e.length; r++) if (e[r] !== t[r]) return !1; return !0; } return e === t; } var Ut = (e, t) => e.forEach(t); function Us(e, t, r) { if (Fe.arr(e)) { for (let n = 0; n < e.length; n++) t.call(r, e[n], `${n}`); return; } for (const n in e) e.hasOwnProperty(n) && t.call(r, e[n], n); } var Xo = (e) => Fe.und(e) ? [] : Fe.arr(e) ? e : [e]; function e1(e, t) { if (e.size) { const r = Array.from(e); e.clear(), Ut(r, t); } } var Pv = (e, ...t) => e1(e, (r) => r(...t)), MR = () => typeof window > "u" || !window.navigator || /ServerSideRendering|^Deno\//.test(window.navigator.userAgent), TR, xoe, mf = null, woe = !1, zR = OC, I4e = (e) => { e.to && (xoe = e.to), e.now && (yt.now = e.now), e.colors !== void 0 && (mf = e.colors), e.skipAnimation != null && (woe = e.skipAnimation), e.createStringInterpolator && (TR = e.createStringInterpolator), e.requestAnimationFrame && yt.use(e.requestAnimationFrame), e.batchedUpdates && (yt.batchedUpdates = e.batchedUpdates), e.willAdvance && (zR = e.willAdvance), e.frameLoop && (yt.frameLoop = e.frameLoop); }, t1 = /* @__PURE__ */ new Set(), Ga = [], U4 = [], r5 = 0, MO = { get idle() { return !t1.size && !Ga.length; }, /** Advance the given animation on every frame until idle. */ start(e) { r5 > e.priority ? (t1.add(e), yt.onStart(R4e)) : (koe(e), yt(SC)); }, /** Advance all animations by the given time. */ advance: SC, /** Call this when an animation's priority changes. */ sort(e) { if (r5) yt.onFrame(() => MO.sort(e)); else { const t = Ga.indexOf(e); ~t && (Ga.splice(t, 1), Ooe(e)); } }, /** * Clear all animations. For testing purposes. * * ☠️ Never call this from within the frameloop. */ clear() { Ga = [], t1.clear(); } }; function R4e() { t1.forEach(koe), t1.clear(), yt(SC); } function koe(e) { Ga.includes(e) || Ooe(e); } function Ooe(e) { Ga.splice( M4e(Ga, (t) => t.priority > e.priority), 0, e ); } function SC(e) { const t = U4; for (let r = 0; r < Ga.length; r++) { const n = Ga[r]; r5 = n.priority, n.idle || (zR(n), n.advance(e), n.idle || t.push(n)); } return r5 = 0, U4 = Ga, U4.length = 0, Ga = t, Ga.length > 0; } function M4e(e, t) { const r = e.findIndex(t); return r < 0 ? e.length : r; } var T4e = { transparent: 0, aliceblue: 4042850303, antiquewhite: 4209760255, aqua: 16777215, aquamarine: 2147472639, azure: 4043309055, beige: 4126530815, bisque: 4293182719, black: 255, blanchedalmond: 4293643775, blue: 65535, blueviolet: 2318131967, brown: 2771004159, burlywood: 3736635391, burntsienna: 3934150143, cadetblue: 1604231423, chartreuse: 2147418367, chocolate: 3530104575, coral: 4286533887, cornflowerblue: 1687547391, cornsilk: 4294499583, crimson: 3692313855, cyan: 16777215, darkblue: 35839, darkcyan: 9145343, darkgoldenrod: 3095792639, darkgray: 2846468607, darkgreen: 6553855, darkgrey: 2846468607, darkkhaki: 3182914559, darkmagenta: 2332068863, darkolivegreen: 1433087999, darkorange: 4287365375, darkorchid: 2570243327, darkred: 2332033279, darksalmon: 3918953215, darkseagreen: 2411499519, darkslateblue: 1211993087, darkslategray: 793726975, darkslategrey: 793726975, darkturquoise: 13554175, darkviolet: 2483082239, deeppink: 4279538687, deepskyblue: 12582911, dimgray: 1768516095, dimgrey: 1768516095, dodgerblue: 512819199, firebrick: 2988581631, floralwhite: 4294635775, forestgreen: 579543807, fuchsia: 4278255615, gainsboro: 3705462015, ghostwhite: 4177068031, gold: 4292280575, goldenrod: 3668254975, gray: 2155905279, green: 8388863, greenyellow: 2919182335, grey: 2155905279, honeydew: 4043305215, hotpink: 4285117695, indianred: 3445382399, indigo: 1258324735, ivory: 4294963455, khaki: 4041641215, lavender: 3873897215, lavenderblush: 4293981695, lawngreen: 2096890111, lemonchiffon: 4294626815, lightblue: 2916673279, lightcoral: 4034953471, lightcyan: 3774873599, lightgoldenrodyellow: 4210742015, lightgray: 3553874943, lightgreen: 2431553791, lightgrey: 3553874943, lightpink: 4290167295, lightsalmon: 4288707327, lightseagreen: 548580095, lightskyblue: 2278488831, lightslategray: 2005441023, lightslategrey: 2005441023, lightsteelblue: 2965692159, lightyellow: 4294959359, lime: 16711935, limegreen: 852308735, linen: 4210091775, magenta: 4278255615, maroon: 2147483903, mediumaquamarine: 1724754687, mediumblue: 52735, mediumorchid: 3126187007, mediumpurple: 2473647103, mediumseagreen: 1018393087, mediumslateblue: 2070474495, mediumspringgreen: 16423679, mediumturquoise: 1221709055, mediumvioletred: 3340076543, midnightblue: 421097727, mintcream: 4127193855, mistyrose: 4293190143, moccasin: 4293178879, navajowhite: 4292783615, navy: 33023, oldlace: 4260751103, olive: 2155872511, olivedrab: 1804477439, orange: 4289003775, orangered: 4282712319, orchid: 3664828159, palegoldenrod: 4008225535, palegreen: 2566625535, paleturquoise: 2951671551, palevioletred: 3681588223, papayawhip: 4293907967, peachpuff: 4292524543, peru: 3448061951, pink: 4290825215, plum: 3718307327, powderblue: 2967529215, purple: 2147516671, rebeccapurple: 1714657791, red: 4278190335, rosybrown: 3163525119, royalblue: 1097458175, saddlebrown: 2336560127, salmon: 4202722047, sandybrown: 4104413439, seagreen: 780883967, seashell: 4294307583, sienna: 2689740287, silver: 3233857791, skyblue: 2278484991, slateblue: 1784335871, slategray: 1887473919, slategrey: 1887473919, snow: 4294638335, springgreen: 16744447, steelblue: 1182971135, tan: 3535047935, teal: 8421631, thistle: 3636451583, tomato: 4284696575, turquoise: 1088475391, violet: 4001558271, wheat: 4125012991, white: 4294967295, whitesmoke: 4126537215, yellow: 4294902015, yellowgreen: 2597139199 }, Ei = "[-+]?\\d*\\.?\\d+", n5 = Ei + "%"; function TO(...e) { return "\\(\\s*(" + e.join(")\\s*,\\s*(") + ")\\s*\\)"; } var z4e = new RegExp("rgb" + TO(Ei, Ei, Ei)), D4e = new RegExp("rgba" + TO(Ei, Ei, Ei, Ei)), F4e = new RegExp("hsl" + TO(Ei, n5, n5)), L4e = new RegExp( "hsla" + TO(Ei, n5, n5, Ei) ), V4e = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, W4e = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, G4e = /^#([0-9a-fA-F]{6})$/, U4e = /^#([0-9a-fA-F]{8})$/; function H4e(e) { let t; return typeof e == "number" ? e >>> 0 === e && e >= 0 && e <= 4294967295 ? e : null : (t = G4e.exec(e)) ? parseInt(t[1] + "ff", 16) >>> 0 : mf && mf[e] !== void 0 ? mf[e] : (t = z4e.exec(e)) ? (eg(t[1]) << 24 | // r eg(t[2]) << 16 | // g eg(t[3]) << 8 | // b 255) >>> // a 0 : (t = D4e.exec(e)) ? (eg(t[1]) << 24 | // r eg(t[2]) << 16 | // g eg(t[3]) << 8 | // b FL(t[4])) >>> // a 0 : (t = V4e.exec(e)) ? parseInt( t[1] + t[1] + // r t[2] + t[2] + // g t[3] + t[3] + // b "ff", // a 16 ) >>> 0 : (t = U4e.exec(e)) ? parseInt(t[1], 16) >>> 0 : (t = W4e.exec(e)) ? parseInt( t[1] + t[1] + // r t[2] + t[2] + // g t[3] + t[3] + // b t[4] + t[4], // a 16 ) >>> 0 : (t = F4e.exec(e)) ? (zL( DL(t[1]), // h ww(t[2]), // s ww(t[3]) // l ) | 255) >>> // a 0 : (t = L4e.exec(e)) ? (zL( DL(t[1]), // h ww(t[2]), // s ww(t[3]) // l ) | FL(t[4])) >>> // a 0 : null; } function H4(e, t, r) { return r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? e + (t - e) * 6 * r : r < 1 / 2 ? t : r < 2 / 3 ? e + (t - e) * (2 / 3 - r) * 6 : e; } function zL(e, t, r) { const n = r < 0.5 ? r * (1 + t) : r + t - r * t, o = 2 * r - n, a = H4(o, n, e + 1 / 3), i = H4(o, n, e), s = H4(o, n, e - 1 / 3); return Math.round(a * 255) << 24 | Math.round(i * 255) << 16 | Math.round(s * 255) << 8; } function eg(e) { const t = parseInt(e, 10); return t < 0 ? 0 : t > 255 ? 255 : t; } function DL(e) { return (parseFloat(e) % 360 + 360) % 360 / 360; } function FL(e) { const t = parseFloat(e); return t < 0 ? 0 : t > 1 ? 255 : Math.round(t * 255); } function ww(e) { const t = parseFloat(e); return t < 0 ? 0 : t > 100 ? 1 : t / 100; } function LL(e) { let t = H4e(e); if (t === null) return e; t = t || 0; const r = (t & 4278190080) >>> 24, n = (t & 16711680) >>> 16, o = (t & 65280) >>> 8, a = (t & 255) / 255; return `rgba(${r}, ${n}, ${o}, ${a})`; } var r0 = (e, t, r) => { if (Fe.fun(e)) return e; if (Fe.arr(e)) return r0({ range: e, output: t, extrapolate: r }); if (Fe.str(e.output[0])) return TR(e); const n = e, o = n.output, a = n.range || [0, 1], i = n.extrapolateLeft || n.extrapolate || "extend", s = n.extrapolateRight || n.extrapolate || "extend", l = n.easing || ((c) => c); return (c) => { const u = B4e(c, a); return Y4e( c, a[u], a[u + 1], o[u], o[u + 1], l, i, s, n.map ); }; }; function Y4e(e, t, r, n, o, a, i, s, l) { let c = l ? l(e) : e; if (c < t) { if (i === "identity") return c; i === "clamp" && (c = t); } if (c > r) { if (s === "identity") return c; s === "clamp" && (c = r); } return n === o ? n : t === r ? e <= t ? n : o : (t === -1 / 0 ? c = -c : r === 1 / 0 ? c = c - t : c = (c - t) / (r - t), c = a(c), n === -1 / 0 ? c = -c : o === 1 / 0 ? c = c + n : c = c * (o - n) + n, c); } function B4e(e, t) { for (var r = 1; r < t.length - 1 && !(t[r] >= e); ++r) ; return r - 1; } var q4e = { linear: (e) => e }, n0 = Symbol.for("FluidValue.get"), tb = Symbol.for("FluidValue.observers"), Fa = (e) => !!(e && e[n0]), ia = (e) => e && e[n0] ? e[n0]() : e, VL = (e) => e[tb] || null; function X4e(e, t) { e.eventObserved ? e.eventObserved(t) : e(t); } function o0(e, t) { const r = e[tb]; r && r.forEach((n) => { X4e(n, t); }); } var Soe = class { constructor(t) { if (!t && !(t = this.get)) throw Error("Unknown getter"); K4e(this, t); } }, K4e = (e, t) => Eoe(e, n0, t); function $b(e, t) { if (e[n0]) { let r = e[tb]; r || Eoe(e, tb, r = /* @__PURE__ */ new Set()), r.has(t) || (r.add(t), e.observerAdded && e.observerAdded(r.size, t)); } return t; } function a0(e, t) { const r = e[tb]; if (r && r.has(t)) { const n = r.size - 1; n ? r.delete(t) : e[tb] = null, e.observerRemoved && e.observerRemoved(n, t); } } var Eoe = (e, t, r) => Object.defineProperty(e, t, { value: r, writable: !0, configurable: !0 }), q2 = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, J4e = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi, WL = new RegExp(`(${q2.source})(%|[a-z]+)`, "i"), Q4e = /rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, zO = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/, Aoe = (e) => { const [t, r] = Z4e(e); if (!t || MR()) return e; const n = window.getComputedStyle(document.documentElement).getPropertyValue(t); return n ? n.trim() : r && r.startsWith("--") ? window.getComputedStyle(document.documentElement).getPropertyValue(r) || e : r && zO.test(r) ? Aoe(r) : r || e; }, Z4e = (e) => { const t = zO.exec(e); if (!t) return [,]; const [, r, n] = t; return [r, n]; }, Y4, eEe = (e, t, r, n, o) => `rgba(${Math.round(t)}, ${Math.round(r)}, ${Math.round(n)}, ${o})`, $oe = (e) => { Y4 || (Y4 = mf ? ( // match color names, ignore partial matches new RegExp(`(${Object.keys(mf).join("|")})(?!\\w)`, "g") ) : ( // never match /^\b$/ )); const t = e.output.map((o) => ia(o).replace(zO, Aoe).replace(J4e, LL).replace(Y4, LL)), r = t.map((o) => o.match(q2).map(Number)), n = r[0].map( (o, a) => r.map((i) => { if (!(a in i)) throw Error('The arity of each "output" value must be equal'); return i[a]; }) ).map( (o) => r0({ ...e, output: o }) ); return (o) => { var a; const i = !WL.test(t[0]) && ((a = t.find((l) => WL.test(l))) == null ? void 0 : a.replace(q2, "")); let s = 0; return t[0].replace( q2, () => `${n[s++](o)}${i || ""}` ).replace(Q4e, eEe); }; }, DR = "react-spring: ", Poe = (e) => { const t = e; let r = !1; if (typeof t != "function") throw new TypeError(`${DR}once requires a function parameter`); return (...n) => { r || (t(...n), r = !0); }; }, tEe = Poe(console.warn); function rEe() { tEe( `${DR}The "interpolate" function is deprecated in v9 (use "to" instead)` ); } var nEe = Poe(console.warn); function oEe() { nEe( `${DR}Directly calling start instead of using the api object is deprecated in v9 (use ".start" instead), this will be removed in later 0.X.0 versions` ); } function DO(e) { return Fe.str(e) && (e[0] == "#" || /\d/.test(e) || // Do not identify a CSS variable as an AnimatedString if its SSR !MR() && zO.test(e) || e in (mf || {})); } var Og = MR() ? xe : qs, aEe = () => { const e = ce(!1); return Og(() => (e.current = !0, () => { e.current = !1; }), []), e; }; function Coe() { const e = We()[1], t = aEe(); return () => { t.current && e(Math.random()); }; } var Noe = (e) => xe(e, iEe), iEe = []; function sEe(e) { const t = ce(void 0); return xe(() => { t.current = e; }), t.current; } var i0 = Symbol.for("Animated:node"), lEe = (e) => !!e && e[i0] === e, Di = (e) => e && e[i0], FR = (e, t) => j4e(e, i0, t), FO = (e) => e && e[i0] && e[i0].getPayload(), _oe = class { constructor() { FR(this, this); } /** Get every `AnimatedValue` used by this node. */ getPayload() { return this.payload || []; } }, LO = class joe extends _oe { constructor(t) { super(), this._value = t, this.done = !0, this.durationProgress = 0, Fe.num(this._value) && (this.lastPosition = this._value); } /** @internal */ static create(t) { return new joe(t); } getPayload() { return [this]; } getValue() { return this._value; } setValue(t, r) { return Fe.num(t) && (this.lastPosition = t, r && (t = Math.round(t / r) * r, this.done && (this.lastPosition = t))), this._value === t ? !1 : (this._value = t, !0); } reset() { const { done: t } = this; this.done = !1, Fe.num(this._value) && (this.elapsedTime = 0, this.durationProgress = 0, this.lastPosition = this._value, t && (this.lastVelocity = null), this.v0 = null); } }, o5 = class Ioe extends LO { constructor(t) { super(0), this._string = null, this._toString = r0({ output: [t, t] }); } /** @internal */ static create(t) { return new Ioe(t); } getValue() { return this._string ?? (this._string = this._toString(this._value)); } setValue(t) { if (Fe.str(t)) { if (t == this._string) return !1; this._string = t, this._value = 1; } else if (super.setValue(t)) this._string = null; else return !1; return !0; } reset(t) { t && (this._toString = r0({ output: [this.getValue(), t] })), this._value = 0, super.reset(); } }, a5 = { dependencies: null }, VO = class extends _oe { constructor(t) { super(), this.source = t, this.setValue(t); } getValue(t) { const r = {}; return Us(this.source, (n, o) => { lEe(n) ? r[o] = n.getValue(t) : Fa(n) ? r[o] = ia(n) : t || (r[o] = n); }), r; } /** Replace the raw object data */ setValue(t) { this.source = t, this.payload = this._makePayload(t); } reset() { this.payload && Ut(this.payload, (t) => t.reset()); } /** Create a payload set. */ _makePayload(t) { if (t) { const r = /* @__PURE__ */ new Set(); return Us(t, this._addToPayload, r), Array.from(r); } } /** Add to a payload set. */ _addToPayload(t) { a5.dependencies && Fa(t) && a5.dependencies.add(t); const r = FO(t); r && Ut(r, (n) => this.add(n)); } }, cEe = class Roe extends VO { constructor(t) { super(t); } /** @internal */ static create(t) { return new Roe(t); } getValue() { return this.source.map((t) => t.getValue()); } setValue(t) { const r = this.getPayload(); return t.length == r.length ? r.map((n, o) => n.setValue(t[o])).some(Boolean) : (super.setValue(t.map(uEe)), !0); } }; function uEe(e) { return (DO(e) ? o5 : LO).create(e); } function EC(e) { const t = Di(e); return t ? t.constructor : Fe.arr(e) ? cEe : DO(e) ? o5 : LO; } var GL = (e, t) => { const r = ( // Function components must use "forwardRef" to avoid being // re-rendered on every animation frame. !Fe.fun(e) || e.prototype && e.prototype.isReactComponent ); return Ym((n, o) => { const a = ce(null), i = r && // eslint-disable-next-line react-hooks/rules-of-hooks dt( (w) => { a.current = pEe(o, w); }, [o] ), [s, l] = dEe(n, t), c = Coe(), u = () => { const w = a.current; r && !w || (w ? t.applyAnimatedValues(w, s.getValue(!0)) : !1) === !1 && c(); }, f = new fEe(u, l), p = ce(void 0); Og(() => (p.current = f, Ut(l, (w) => $b(w, f)), () => { p.current && (Ut( p.current.deps, (w) => a0(w, p.current) ), yt.cancel(p.current.update)); })), xe(u, []), Noe(() => () => { const w = p.current; Ut(w.deps, (b) => a0(b, w)); }); const v = t.getComponentProps(s.getValue()); return /* @__PURE__ */ V.createElement(e, { ...v, ref: i }); }); }, fEe = class { constructor(t, r) { this.update = t, this.deps = r; } eventObserved(t) { t.type == "change" && yt.write(this.update); } }; function dEe(e, t) { const r = /* @__PURE__ */ new Set(); return a5.dependencies = r, e.style && (e = { ...e, style: t.createAnimatedStyle(e.style) }), e = new VO(e), a5.dependencies = null, [e, r]; } function pEe(e, t) { return e && (Fe.fun(e) ? e(t) : e.current = t), t; } var UL = Symbol.for("AnimatedComponent"), mEe = (e, { applyAnimatedValues: t = () => !1, createAnimatedStyle: r = (o) => new VO(o), getComponentProps: n = (o) => o } = {}) => { const o = { applyAnimatedValues: t, createAnimatedStyle: r, getComponentProps: n }, a = (i) => { const s = HL(i) || "Anonymous"; return Fe.str(i) ? i = a[i] || (a[i] = GL(i, o)) : i = i[UL] || (i[UL] = GL(i, o)), i.displayName = `Animated(${s})`, i; }; return Us(e, (i, s) => { Fe.arr(e) && (s = HL(i)), a[s] = a(i); }), { animated: a }; }, HL = (e) => Fe.str(e) ? e : e && Fe.str(e.displayName) ? e.displayName : Fe.fun(e) && e.name || null; function sa(e, ...t) { return Fe.fun(e) ? e(...t) : e; } var r1 = (e, t) => e === !0 || !!(t && e && (Fe.fun(e) ? e(t) : Xo(e).includes(t))), Moe = (e, t) => Fe.obj(e) ? t && e[t] : e, Toe = (e, t) => e.default === !0 ? e[t] : e.default ? e.default[t] : void 0, gEe = (e) => e, LR = (e, t = gEe) => { let r = hEe; e.default && e.default !== !0 && (e = e.default, r = Object.keys(e)); const n = {}; for (const o of r) { const a = t(e[o], o); Fe.und(a) || (n[o] = a); } return n; }, hEe = [ "config", "onProps", "onStart", "onChange", "onPause", "onResume", "onRest" ], bEe = { config: 1, from: 1, to: 1, ref: 1, loop: 1, reset: 1, pause: 1, cancel: 1, reverse: 1, immediate: 1, default: 1, delay: 1, onProps: 1, onStart: 1, onChange: 1, onPause: 1, onResume: 1, onRest: 1, onResolve: 1, // Transition props items: 1, trail: 1, sort: 1, expires: 1, initial: 1, enter: 1, update: 1, leave: 1, children: 1, onDestroyed: 1, // Internal props keys: 1, callId: 1, parentId: 1 }; function yEe(e) { const t = {}; let r = 0; if (Us(e, (n, o) => { bEe[o] || (t[o] = n, r++); }), r) return t; } function VR(e) { const t = yEe(e); if (t) { const r = { to: t }; return Us(e, (n, o) => o in t || (r[o] = n)), r; } return { ...e }; } function s0(e) { return e = ia(e), Fe.arr(e) ? e.map(s0) : DO(e) ? Pi.createStringInterpolator({ range: [0, 1], output: [e, e] })(1) : e; } function vEe(e) { for (const t in e) return !0; return !1; } function AC(e) { return Fe.fun(e) || Fe.arr(e) && Fe.obj(e[0]); } function YL(e, t) { var r; (r = e.ref) == null || r.delete(e), t == null || t.delete(e); } function xEe(e, t) { var r; t && e.ref !== t && ((r = e.ref) == null || r.delete(e), t.add(e), e.ref = t); } var wEe = { default: { tension: 170, friction: 26 } }, $C = { ...wEe.default, mass: 1, damping: 1, easing: q4e.linear, clamp: !1 }, kEe = class { constructor() { this.velocity = 0, Object.assign(this, $C); } }; function OEe(e, t, r) { r && (r = { ...r }, BL(r, t), t = { ...r, ...t }), BL(e, t), Object.assign(e, t); for (const i in $C) e[i] == null && (e[i] = $C[i]); let { frequency: n, damping: o } = e; const { mass: a } = e; return Fe.und(n) || (n < 0.01 && (n = 0.01), o < 0 && (o = 0), e.tension = Math.pow(2 * Math.PI / n, 2) * a, e.friction = 4 * Math.PI * o * a / n), e; } function BL(e, t) { if (!Fe.und(t.decay)) e.duration = void 0; else { const r = !Fe.und(t.tension) || !Fe.und(t.friction); (r || !Fe.und(t.frequency) || !Fe.und(t.damping) || !Fe.und(t.mass)) && (e.duration = void 0, e.decay = void 0), r && (e.frequency = void 0); } } var qL = [], SEe = class { constructor() { this.changed = !1, this.values = qL, this.toValues = null, this.fromValues = qL, this.config = new kEe(), this.immediate = !1; } }; function zoe(e, { key: t, props: r, defaultProps: n, state: o, actions: a }) { return new Promise((i, s) => { let l, c, u = r1(r.cancel ?? (n == null ? void 0 : n.cancel), t); if (u) v(); else { Fe.und(r.pause) || (o.paused = r1(r.pause, t)); let w = n == null ? void 0 : n.pause; w !== !0 && (w = o.paused || r1(w, t)), l = sa(r.delay || 0, t), w ? (o.resumeQueue.add(p), a.pause()) : (a.resume(), p()); } function f() { o.resumeQueue.add(p), o.timeouts.delete(c), c.cancel(), l = c.time - yt.now(); } function p() { l > 0 && !Pi.skipAnimation ? (o.delayed = !0, c = yt.setTimeout(v, l), o.pauseQueue.add(f), o.timeouts.add(c)) : v(); } function v() { o.delayed && (o.delayed = !1), o.pauseQueue.delete(f), o.timeouts.delete(c), e <= (o.cancelId || 0) && (u = !0); try { a.start({ ...r, callId: e, cancel: u }, i); } catch (w) { s(w); } } }); } var WR = (e, t) => t.length == 1 ? t[0] : t.some((r) => r.cancelled) ? lh(e.get()) : t.every((r) => r.noop) ? Doe(e.get()) : ki( e.get(), t.every((r) => r.finished) ), Doe = (e) => ({ value: e, noop: !0, finished: !0, cancelled: !1 }), ki = (e, t, r = !1) => ({ value: e, finished: t, cancelled: r }), lh = (e) => ({ value: e, cancelled: !0, finished: !1 }); function Foe(e, t, r, n) { const { callId: o, parentId: a, onRest: i } = t, { asyncTo: s, promise: l } = r; return !a && e === s && !t.reset ? l : r.promise = (async () => { r.asyncId = o, r.asyncTo = e; const c = LR( t, (m, x) => ( // The `onRest` prop is only called when the `runAsync` promise is resolved. x === "onRest" ? void 0 : m ) ); let u, f; const p = new Promise( (m, x) => (u = m, f = x) ), v = (m) => { const x = ( // The `cancel` prop or `stop` method was used. o <= (r.cancelId || 0) && lh(n) || // The async `to` prop was replaced. o !== r.asyncId && ki(n, !1) ); if (x) throw m.result = x, f(m), m; }, w = (m, x) => { const O = new XL(), E = new KL(); return (async () => { if (Pi.skipAnimation) throw l0(r), E.result = ki(n, !1), f(E), E; v(O); const A = Fe.obj(m) ? { ...m } : { ...x, to: m }; A.parentId = o, Us(c, (G, H) => { Fe.und(A[H]) && (A[H] = G); }); const h = await n.start(A); return v(O), r.paused && await new Promise((G) => { r.resumeQueue.add(G); }), h; })(); }; let b; if (Pi.skipAnimation) return l0(r), ki(n, !1); try { let m; Fe.arr(e) ? m = (async (x) => { for (const O of x) await w(O); })(e) : m = Promise.resolve(e(w, n.stop.bind(n))), await Promise.all([m.then(u), p]), b = ki(n.get(), !0, !1); } catch (m) { if (m instanceof XL) b = m.result; else if (m instanceof KL) b = m.result; else throw m; } finally { o == r.asyncId && (r.asyncId = a, r.asyncTo = a ? s : void 0, r.promise = a ? l : void 0); } return Fe.fun(i) && yt.batchedUpdates(() => { i(b, n, n.item); }), b; })(); } function l0(e, t) { e1(e.timeouts, (r) => r.cancel()), e.pauseQueue.clear(), e.resumeQueue.clear(), e.asyncId = e.asyncTo = e.promise = void 0, t && (e.cancelId = t); } var XL = class extends Error { constructor() { super( "An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise." ); } }, KL = class extends Error { constructor() { super("SkipAnimationSignal"); } }, PC = (e) => e instanceof GR, EEe = 1, GR = class extends Soe { constructor() { super(...arguments), this.id = EEe++, this._priority = 0; } get priority() { return this._priority; } set priority(t) { this._priority != t && (this._priority = t, this._onPriorityChange(t)); } /** Get the current value */ get() { const t = Di(this); return t && t.getValue(); } /** Create a spring that maps our value to another value */ to(...t) { return Pi.to(this, t); } /** @deprecated Use the `to` method instead. */ interpolate(...t) { return rEe(), Pi.to(this, t); } toJSON() { return this.get(); } observerAdded(t) { t == 1 && this._attach(); } observerRemoved(t) { t == 0 && this._detach(); } /** Called when the first child is added. */ _attach() { } /** Called when the last child is removed. */ _detach() { } /** Tell our children about our new value */ _onChange(t, r = !1) { o0(this, { type: "change", parent: this, value: t, idle: r }); } /** Tell our children about our new priority */ _onPriorityChange(t) { this.idle || MO.sort(this), o0(this, { type: "priority", parent: this, priority: t }); } }, sm = Symbol.for("SpringPhase"), Loe = 1, Voe = 2, Woe = 4, B4 = (e) => (e[sm] & Loe) > 0, Vc = (e) => (e[sm] & Voe) > 0, vy = (e) => (e[sm] & Woe) > 0, JL = (e, t) => t ? e[sm] |= Voe | Loe : e[sm] &= -3, QL = (e, t) => t ? e[sm] |= Woe : e[sm] &= -5, AEe = class extends GR { constructor(t, r) { if (super(), this.animation = new SEe(), this.defaultProps = {}, this._state = { paused: !1, delayed: !1, pauseQueue: /* @__PURE__ */ new Set(), resumeQueue: /* @__PURE__ */ new Set(), timeouts: /* @__PURE__ */ new Set() }, this._pendingCalls = /* @__PURE__ */ new Set(), this._lastCallId = 0, this._lastToId = 0, this._memoizedDuration = 0, !Fe.und(t) || !Fe.und(r)) { const n = Fe.obj(t) ? { ...t } : { ...r, from: t }; Fe.und(n.default) && (n.default = !0), this.start(n); } } /** Equals true when not advancing on each frame. */ get idle() { return !(Vc(this) || this._state.asyncTo) || vy(this); } get goal() { return ia(this.animation.to); } get velocity() { const t = Di(this); return t instanceof LO ? t.lastVelocity || 0 : t.getPayload().map((r) => r.lastVelocity || 0); } /** * When true, this value has been animated at least once. */ get hasAnimated() { return B4(this); } /** * When true, this value has an unfinished animation, * which is either active or paused. */ get isAnimating() { return Vc(this); } /** * When true, all current and future animations are paused. */ get isPaused() { return vy(this); } /** * * */ get isDelayed() { return this._state.delayed; } /** Advance the current animation by a number of milliseconds */ advance(t) { let r = !0, n = !1; const o = this.animation; let { toValues: a } = o; const { config: i } = o, s = FO(o.to); !s && Fa(o.to) && (a = Xo(ia(o.to))), o.values.forEach((u, f) => { if (u.done) return; const p = ( // Animated strings always go from 0 to 1. u.constructor == o5 ? 1 : s ? s[f].lastPosition : a[f] ); let v = o.immediate, w = p; if (!v) { if (w = u.lastPosition, i.tension <= 0) { u.done = !0; return; } let b = u.elapsedTime += t; const m = o.fromValues[f], x = u.v0 != null ? u.v0 : u.v0 = Fe.arr(i.velocity) ? i.velocity[f] : i.velocity; let O; const E = i.precision || (m == p ? 5e-3 : Math.min(1, Math.abs(p - m) * 1e-3)); if (Fe.und(i.duration)) if (i.decay) { const A = i.decay === !0 ? 0.998 : i.decay, h = Math.exp(-(1 - A) * b); w = m + x / (1 - A) * (1 - h), v = Math.abs(u.lastPosition - w) <= E, O = x * h; } else { O = u.lastVelocity == null ? x : u.lastVelocity; const A = i.restVelocity || E / 10, h = i.clamp ? 0 : i.bounce, G = !Fe.und(h), H = m == p ? u.v0 > 0 : m < p; let Z, J = !1; const X = 1, ee = Math.ceil(t / X); for (let I = 0; I < ee && (Z = Math.abs(O) > A, !(!Z && (v = Math.abs(p - w) <= E, v))); ++I) { G && (J = w == p || w > p == H, J && (O = -O * h, w = p)); const te = -i.tension * 1e-6 * (w - p), U = -i.friction * 1e-3 * O, z = (te + U) / i.mass; O = O + z * X, w = w + O * X; } } else { let A = 1; i.duration > 0 && (this._memoizedDuration !== i.duration && (this._memoizedDuration = i.duration, u.durationProgress > 0 && (u.elapsedTime = i.duration * u.durationProgress, b = u.elapsedTime += t)), A = (i.progress || 0) + b / this._memoizedDuration, A = A > 1 ? 1 : A < 0 ? 0 : A, u.durationProgress = A), w = m + i.easing(A) * (p - m), O = (w - u.lastPosition) / t, v = A == 1; } u.lastVelocity = O, Number.isNaN(w) && (console.warn("Got NaN while animating:", this), v = !0); } s && !s[f].done && (v = !1), v ? u.done = !0 : r = !1, u.setValue(w, i.round) && (n = !0); }); const l = Di(this), c = l.getValue(); if (r) { const u = ia(o.to); (c !== u || n) && !i.decay ? (l.setValue(u), this._onChange(u)) : n && i.decay && this._onChange(c), this._stop(); } else n && this._onChange(c); } /** Set the current value, while stopping the current animation */ set(t) { return yt.batchedUpdates(() => { this._stop(), this._focus(t), this._set(t); }), this; } /** * Freeze the active animation in time, as well as any updates merged * before `resume` is called. */ pause() { this._update({ pause: !0 }); } /** Resume the animation if paused. */ resume() { this._update({ pause: !1 }); } /** Skip to the end of the current animation. */ finish() { if (Vc(this)) { const { to: t, config: r } = this.animation; yt.batchedUpdates(() => { this._onStart(), r.decay || this._set(t, !1), this._stop(); }); } return this; } /** Push props into the pending queue. */ update(t) { return (this.queue || (this.queue = [])).push(t), this; } start(t, r) { let n; return Fe.und(t) ? (n = this.queue || [], this.queue = []) : n = [Fe.obj(t) ? t : { ...r, to: t }], Promise.all( n.map((o) => this._update(o)) ).then((o) => WR(this, o)); } /** * Stop the current animation, and cancel any delayed updates. * * Pass `true` to call `onRest` with `cancelled: true`. */ stop(t) { const { to: r } = this.animation; return this._focus(this.get()), l0(this._state, t && this._lastCallId), yt.batchedUpdates(() => this._stop(r, t)), this; } /** Restart the animation. */ reset() { this._update({ reset: !0 }); } /** @internal */ eventObserved(t) { t.type == "change" ? this._start() : t.type == "priority" && (this.priority = t.priority + 1); } /** * Parse the `to` and `from` range from the given `props` object. * * This also ensures the initial value is available to animated components * during the render phase. */ _prepareNode(t) { const r = this.key || ""; let { to: n, from: o } = t; n = Fe.obj(n) ? n[r] : n, (n == null || AC(n)) && (n = void 0), o = Fe.obj(o) ? o[r] : o, o == null && (o = void 0); const a = { to: n, from: o }; return B4(this) || (t.reverse && ([n, o] = [o, n]), o = ia(o), Fe.und(o) ? Di(this) || this._set(n) : this._set(o)), a; } /** Every update is processed by this method before merging. */ _update({ ...t }, r) { const { key: n, defaultProps: o } = this; t.default && Object.assign( o, LR( t, (s, l) => /^on/.test(l) ? Moe(s, n) : s ) ), eV(this, t, "onProps"), wy(this, "onProps", t, this); const a = this._prepareNode(t); if (Object.isFrozen(this)) throw Error( "Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?" ); const i = this._state; return zoe(++this._lastCallId, { key: n, props: t, defaultProps: o, state: i, actions: { pause: () => { vy(this) || (QL(this, !0), Pv(i.pauseQueue), wy( this, "onPause", ki(this, xy(this, this.animation.to)), this )); }, resume: () => { vy(this) && (QL(this, !1), Vc(this) && this._resume(), Pv(i.resumeQueue), wy( this, "onResume", ki(this, xy(this, this.animation.to)), this )); }, start: this._merge.bind(this, a) } }).then((s) => { if (t.loop && s.finished && !(r && s.noop)) { const l = Goe(t); if (l) return this._update(l, !0); } return s; }); } /** Merge props into the current animation */ _merge(t, r, n) { if (r.cancel) return this.stop(!0), n(lh(this)); const o = !Fe.und(t.to), a = !Fe.und(t.from); if (o || a) if (r.callId > this._lastToId) this._lastToId = r.callId; else return n(lh(this)); const { key: i, defaultProps: s, animation: l } = this, { to: c, from: u } = l; let { to: f = c, from: p = u } = t; a && !o && (!r.default || Fe.und(f)) && (f = p), r.reverse && ([f, p] = [p, f]); const v = !Al(p, u); v && (l.from = p), p = ia(p); const w = !Al(f, c); w && this._focus(f); const b = AC(r.to), { config: m } = l, { decay: x, velocity: O } = m; (o || a) && (m.velocity = 0), r.config && !b && OEe( m, sa(r.config, i), // Avoid calling the same "config" prop twice. r.config !== s.config ? sa(s.config, i) : void 0 ); let E = Di(this); if (!E || Fe.und(f)) return n(ki(this, !0)); const A = ( // When `reset` is undefined, the `from` prop implies `reset: true`, // except for declarative updates. When `reset` is defined, there // must exist a value to animate from. Fe.und(r.reset) ? a && !r.default : !Fe.und(p) && r1(r.reset, i) ), h = A ? p : this.get(), G = s0(f), H = Fe.num(G) || Fe.arr(G) || DO(G), Z = !b && (!H || r1(s.immediate || r.immediate, i)); if (w) { const I = EC(f); if (I !== E.constructor) if (Z) E = this._set(G); else throw Error( `Cannot animate between ${E.constructor.name} and ${I.name}, as the "to" prop suggests` ); } const J = E.constructor; let X = Fa(f), ee = !1; if (!X) { const I = A || !B4(this) && v; (w || I) && (ee = Al(s0(h), G), X = !ee), (!Al(l.immediate, Z) && !Z || !Al(m.decay, x) || !Al(m.velocity, O)) && (X = !0); } if (ee && Vc(this) && (l.changed && !A ? X = !0 : X || this._stop(c)), !b && ((X || Fa(c)) && (l.values = E.getPayload(), l.toValues = Fa(f) ? null : J == o5 ? [1] : Xo(G)), l.immediate != Z && (l.immediate = Z, !Z && !A && this._set(c)), X)) { const { onRest: I } = l; Ut($Ee, (U) => eV(this, r, U)); const te = ki(this, xy(this, c)); Pv(this._pendingCalls, te), this._pendingCalls.add(n), l.changed && yt.batchedUpdates(() => { var U; l.changed = !A, I == null || I(te, this), A ? sa(s.onRest, te) : (U = l.onStart) == null || U.call(l, te, this); }); } A && this._set(h), b ? n(Foe(r.to, r, this._state, this)) : X ? this._start() : Vc(this) && !w ? this._pendingCalls.add(n) : n(Doe(h)); } /** Update the `animation.to` value, which might be a `FluidValue` */ _focus(t) { const r = this.animation; t !== r.to && (VL(this) && this._detach(), r.to = t, VL(this) && this._attach()); } _attach() { let t = 0; const { to: r } = this.animation; Fa(r) && ($b(r, this), PC(r) && (t = r.priority + 1)), this.priority = t; } _detach() { const { to: t } = this.animation; Fa(t) && a0(t, this); } /** * Update the current value from outside the frameloop, * and return the `Animated` node. */ _set(t, r = !0) { const n = ia(t); if (!Fe.und(n)) { const o = Di(this); if (!o || !Al(n, o.getValue())) { const a = EC(n); !o || o.constructor != a ? FR(this, a.create(n)) : o.setValue(n), o && yt.batchedUpdates(() => { this._onChange(n, r); }); } } return Di(this); } _onStart() { const t = this.animation; t.changed || (t.changed = !0, wy( this, "onStart", ki(this, xy(this, t.to)), this )); } _onChange(t, r) { r || (this._onStart(), sa(this.animation.onChange, t, this)), sa(this.defaultProps.onChange, t, this), super._onChange(t, r); } // This method resets the animation state (even if already animating) to // ensure the latest from/to range is used, and it also ensures this spring // is added to the frameloop. _start() { const t = this.animation; Di(this).reset(ia(t.to)), t.immediate || (t.fromValues = t.values.map((r) => r.lastPosition)), Vc(this) || (JL(this, !0), vy(this) || this._resume()); } _resume() { Pi.skipAnimation ? this.finish() : MO.start(this); } /** * Exit the frameloop and notify `onRest` listeners. * * Always wrap `_stop` calls with `batchedUpdates`. */ _stop(t, r) { if (Vc(this)) { JL(this, !1); const n = this.animation; Ut(n.values, (a) => { a.done = !0; }), n.toValues && (n.onChange = n.onPause = n.onResume = void 0), o0(this, { type: "idle", parent: this }); const o = r ? lh(this.get()) : ki(this.get(), xy(this, t ?? n.to)); Pv(this._pendingCalls, o), n.changed && (n.changed = !1, wy(this, "onRest", o, this)); } } }; function xy(e, t) { const r = s0(t), n = s0(e.get()); return Al(n, r); } function Goe(e, t = e.loop, r = e.to) { const n = sa(t); if (n) { const o = n !== !0 && VR(n), a = (o || e).reverse, i = !o || o.reset; return i5({ ...e, loop: t, // Avoid updating default props when looping. default: !1, // Never loop the `pause` prop. pause: void 0, // For the "reverse" prop to loop as expected, the "to" prop // must be undefined. The "reverse" prop is ignored when the // "to" prop is an array or function. to: !a || AC(r) ? r : void 0, // Ignore the "from" prop except on reset. from: i ? e.from : void 0, reset: i, // The "loop" prop can return a "useSpring" props object to // override any of the original props. ...o }); } } function i5(e) { const { to: t, from: r } = e = VR(e), n = /* @__PURE__ */ new Set(); return Fe.obj(t) && ZL(t, n), Fe.obj(r) && ZL(r, n), e.keys = n.size ? Array.from(n) : null, e; } function ZL(e, t) { Us(e, (r, n) => r != null && t.add(n)); } var $Ee = [ "onStart", "onRest", "onChange", "onPause", "onResume" ]; function eV(e, t, r) { e.animation[r] = t[r] !== Toe(t, r) ? Moe(t[r], e.key) : void 0; } function wy(e, t, ...r) { var n, o, a, i; (o = (n = e.animation)[t]) == null || o.call(n, ...r), (i = (a = e.defaultProps)[t]) == null || i.call(a, ...r); } var PEe = ["onStart", "onChange", "onRest"], CEe = 1, NEe = class { constructor(t, r) { this.id = CEe++, this.springs = {}, this.queue = [], this._lastAsyncId = 0, this._active = /* @__PURE__ */ new Set(), this._changed = /* @__PURE__ */ new Set(), this._started = !1, this._state = { paused: !1, pauseQueue: /* @__PURE__ */ new Set(), resumeQueue: /* @__PURE__ */ new Set(), timeouts: /* @__PURE__ */ new Set() }, this._events = { onStart: /* @__PURE__ */ new Map(), onChange: /* @__PURE__ */ new Map(), onRest: /* @__PURE__ */ new Map() }, this._onFrame = this._onFrame.bind(this), r && (this._flush = r), t && this.start({ default: !0, ...t }); } /** * Equals `true` when no spring values are in the frameloop, and * no async animation is currently active. */ get idle() { return !this._state.asyncTo && Object.values(this.springs).every((t) => t.idle && !t.isDelayed && !t.isPaused); } get item() { return this._item; } set item(t) { this._item = t; } /** Get the current values of our springs */ get() { const t = {}; return this.each((r, n) => t[n] = r.get()), t; } /** Set the current values without animating. */ set(t) { for (const r in t) { const n = t[r]; Fe.und(n) || this.springs[r].set(n); } } /** Push an update onto the queue of each value. */ update(t) { return t && this.queue.push(i5(t)), this; } /** * Start the queued animations for every spring, and resolve the returned * promise once all queued animations have finished or been cancelled. * * When you pass a queue (instead of nothing), that queue is used instead of * the queued animations added with the `update` method, which are left alone. */ start(t) { let { queue: r } = this; return t ? r = Xo(t).map(i5) : this.queue = [], this._flush ? this._flush(this, r) : (Boe(this, r), _Ee(this, r)); } /** @internal */ stop(t, r) { if (t !== !!t && (r = t), r) { const n = this.springs; Ut(Xo(r), (o) => n[o].stop(!!t)); } else l0(this._state, this._lastAsyncId), this.each((n) => n.stop(!!t)); return this; } /** Freeze the active animation in time */ pause(t) { if (Fe.und(t)) this.start({ pause: !0 }); else { const r = this.springs; Ut(Xo(t), (n) => r[n].pause()); } return this; } /** Resume the animation if paused. */ resume(t) { if (Fe.und(t)) this.start({ pause: !1 }); else { const r = this.springs; Ut(Xo(t), (n) => r[n].resume()); } return this; } /** Call a function once per spring value */ each(t) { Us(this.springs, t); } /** @internal Called at the end of every animation frame */ _onFrame() { const { onStart: t, onChange: r, onRest: n } = this._events, o = this._active.size > 0, a = this._changed.size > 0; (o && !this._started || a && !this._started) && (this._started = !0, e1(t, ([l, c]) => { c.value = this.get(), l(c, this, this._item); })); const i = !o && this._started, s = a || i && n.size ? this.get() : null; a && r.size && e1(r, ([l, c]) => { c.value = s, l(c, this, this._item); }), i && (this._started = !1, e1(n, ([l, c]) => { c.value = s, l(c, this, this._item); })); } /** @internal */ eventObserved(t) { if (t.type == "change") this._changed.add(t.parent), t.idle || this._active.add(t.parent); else if (t.type == "idle") this._active.delete(t.parent); else return; yt.onFrame(this._onFrame); } }; function _Ee(e, t) { return Promise.all(t.map((r) => Uoe(e, r))).then( (r) => WR(e, r) ); } async function Uoe(e, t, r) { const { keys: n, to: o, from: a, loop: i, onRest: s, onResolve: l } = t, c = Fe.obj(t.default) && t.default; i && (t.loop = !1), o === !1 && (t.to = null), a === !1 && (t.from = null); const u = Fe.arr(o) || Fe.fun(o) ? o : void 0; u ? (t.to = void 0, t.onRest = void 0, c && (c.onRest = void 0)) : Ut(PEe, (b) => { const m = t[b]; if (Fe.fun(m)) { const x = e._events[b]; t[b] = ({ finished: O, cancelled: E }) => { const A = x.get(m); A ? (O || (A.finished = !1), E && (A.cancelled = !0)) : x.set(m, { value: null, finished: O || !1, cancelled: E || !1 }); }, c && (c[b] = t[b]); } }); const f = e._state; t.pause === !f.paused ? (f.paused = t.pause, Pv(t.pause ? f.pauseQueue : f.resumeQueue)) : f.paused && (t.pause = !0); const p = (n || Object.keys(e.springs)).map( (b) => e.springs[b].start(t) ), v = t.cancel === !0 || Toe(t, "cancel") === !0; (u || v && f.asyncId) && p.push( zoe(++e._lastAsyncId, { props: t, state: f, actions: { pause: OC, resume: OC, start(b, m) { v ? (l0(f, e._lastAsyncId), m(lh(e))) : (b.onRest = s, m( Foe( u, b, f, e ) )); } } }) ), f.paused && await new Promise((b) => { f.resumeQueue.add(b); }); const w = WR(e, await Promise.all(p)); if (i && w.finished && !(r && w.noop)) { const b = Goe(t, i, o); if (b) return Boe(e, [b]), Uoe(e, b, !0); } return l && yt.batchedUpdates(() => l(w, e, e.item)), w; } function jEe(e, t) { const r = { ...e.springs }; return t && Ut(Xo(t), (n) => { Fe.und(n.keys) && (n = i5(n)), Fe.obj(n.to) || (n = { ...n, to: void 0 }), Yoe(r, n, (o) => Hoe(o)); }), IEe(e, r), r; } function IEe(e, t) { Us(t, (r, n) => { e.springs[n] || (e.springs[n] = r, $b(r, e)); }); } function Hoe(e, t) { const r = new AEe(); return r.key = e, t && $b(r, t), r; } function Yoe(e, t, r) { t.keys && Ut(t.keys, (n) => { (e[n] || (e[n] = r(n)))._prepareNode(t); }); } function Boe(e, t) { Ut(t, (r) => { Yoe(e.springs, r, (n) => Hoe(n, e)); }); } var REe = V.createContext({ pause: !1, immediate: !1 }), MEe = () => { const e = [], t = function(n) { oEe(); const o = []; return Ut(e, (a, i) => { if (Fe.und(n)) o.push(a.start()); else { const s = r(n, a, i); s && o.push(a.start(s)); } }), o; }; t.current = e, t.add = function(n) { e.includes(n) || e.push(n); }, t.delete = function(n) { const o = e.indexOf(n); ~o && e.splice(o, 1); }, t.pause = function() { return Ut(e, (n) => n.pause(...arguments)), this; }, t.resume = function() { return Ut(e, (n) => n.resume(...arguments)), this; }, t.set = function(n) { Ut(e, (o, a) => { const i = Fe.fun(n) ? n(a, o) : n; i && o.set(i); }); }, t.start = function(n) { const o = []; return Ut(e, (a, i) => { if (Fe.und(n)) o.push(a.start()); else { const s = this._getProps(n, a, i); s && o.push(a.start(s)); } }), o; }, t.stop = function() { return Ut(e, (n) => n.stop(...arguments)), this; }, t.update = function(n) { return Ut(e, (o, a) => o.update(this._getProps(n, o, a))), this; }; const r = function(n, o, a) { return Fe.fun(n) ? n(a, o) : n; }; return t._getProps = r, t; }; function tV(e, t, r) { const n = Fe.fun(t) && t, { reset: o, sort: a, trail: i = 0, expires: s = !0, exitBeforeEnter: l = !1, onDestroyed: c, ref: u, config: f } = n ? n() : t, p = br( () => n || arguments.length == 3 ? MEe() : void 0, [] ), v = Xo(e), w = [], b = ce(null), m = o ? null : b.current; Og(() => { b.current = w; }), Noe(() => (Ut(w, (U) => { p == null || p.add(U.ctrl), U.ctrl.ref = p; }), () => { Ut(b.current, (U) => { U.expired && clearTimeout(U.expirationId), YL(U.ctrl, p), U.ctrl.stop(!0); }); })); const x = zEe(v, n ? n() : t, m), O = o && b.current || []; Og( () => Ut(O, ({ ctrl: U, item: z, key: F }) => { YL(U, p), sa(c, z, F); }) ); const E = []; if (m && Ut(m, (U, z) => { U.expired ? (clearTimeout(U.expirationId), O.push(U)) : (z = E[z] = x.indexOf(U.key), ~z && (w[z] = U)); }), Ut(v, (U, z) => { w[z] || (w[z] = { key: x[z], item: U, phase: "mount", ctrl: new NEe() }, w[z].ctrl.item = U); }), E.length) { let U = -1; const { leave: z } = n ? n() : t; Ut(E, (F, D) => { const Y = m[D]; ~F ? (U = w.indexOf(Y), w[U] = { ...Y, item: v[F] }) : z && w.splice(++U, 0, Y); }); } Fe.fun(a) && w.sort((U, z) => a(U.item, z.item)); let A = -i; const h = Coe(), G = LR(t), H = /* @__PURE__ */ new Map(), Z = ce(/* @__PURE__ */ new Map()), J = ce(!1); Ut(w, (U, z) => { const F = U.key, D = U.phase, Y = n ? n() : t; let q, g; const d = sa(Y.delay || 0, F); if (D == "mount") q = Y.enter, g = "enter"; else { const j = x.indexOf(F) < 0; if (D != "leave") if (j) q = Y.leave, g = "leave"; else if (q = Y.update) g = "update"; else return; else if (!j) q = Y.enter, g = "enter"; else return; } if (q = sa(q, U.item, z), q = Fe.obj(q) ? VR(q) : { to: q }, !q.config) { const j = f || G.config; q.config = sa(j, U.item, z, g); } A += i; const S = { ...G, // we need to add our props.delay value you here. delay: d + A, ref: u, immediate: Y.immediate, // This prevents implied resets. reset: !1, // Merge any phase-specific props. ...q }; if (g == "enter" && Fe.und(S.from)) { const j = n ? n() : t, _ = Fe.und(j.initial) || m ? j.from : j.initial; S.from = sa(_, U.item, z); } const { onResolve: C } = S; S.onResolve = (j) => { sa(C, j); const _ = b.current, N = _.find((M) => M.key === F); if (N && !(j.cancelled && N.phase != "update") && N.ctrl.idle) { const M = _.every((R) => R.ctrl.idle); if (N.phase == "leave") { const R = sa(s, N.item); if (R !== !1) { const T = R === !0 ? 0 : R; if (N.expired = !0, !M && T > 0) { T <= 2147483647 && (N.expirationId = setTimeout(h, T)); return; } } } M && _.some((R) => R.expired) && (Z.current.delete(N), l && (J.current = !0), h()); } }; const P = jEe(U.ctrl, S); g === "leave" && l ? Z.current.set(U, { phase: g, springs: P, payload: S }) : H.set(U, { phase: g, springs: P, payload: S }); }); const X = gr(REe), ee = sEe(X), I = X !== ee && vEe(X); Og(() => { I && Ut(w, (U) => { U.ctrl.start({ default: X }); }); }, [X]), Ut(H, (U, z) => { if (Z.current.size) { const F = w.findIndex((D) => D.key === z.key); w.splice(F, 1); } }), Og( () => { Ut( Z.current.size ? Z.current : H, ({ phase: U, payload: z }, F) => { const { ctrl: D } = F; F.phase = U, p == null || p.add(D), I && U == "enter" && D.start({ default: X }), z && (xEe(D, z.ref), (D.ref || p) && !J.current ? D.update(z) : (D.start(z), J.current && (J.current = !1))); } ); }, o ? void 0 : r ); const te = (U) => /* @__PURE__ */ V.createElement(V.Fragment, null, w.map((z, F) => { const { springs: D } = H.get(z) || z.ctrl, Y = U({ ...D }, z.item, z, F); return Y && Y.type ? /* @__PURE__ */ V.createElement( Y.type, { ...Y.props, key: Fe.str(z.key) || Fe.num(z.key) ? z.key : z.ctrl.id, ref: Y.ref } ) : Y; })); return p ? [te, p] : te; } var TEe = 1; function zEe(e, { key: t, keys: r = t }, n) { if (r === null) { const o = /* @__PURE__ */ new Set(); return e.map((a) => { const i = n && n.find( (s) => s.item === a && s.phase !== "leave" && !o.has(s) ); return i ? (o.add(i), i.key) : TEe++; }); } return Fe.und(r) ? e : Fe.fun(r) ? e.map(r) : Xo(r); } var DEe = class extends GR { constructor(t, r) { super(), this.source = t, this.idle = !0, this._active = /* @__PURE__ */ new Set(), this.calc = r0(...r); const n = this._get(), o = EC(n); FR(this, o.create(n)); } advance(t) { const r = this._get(), n = this.get(); Al(r, n) || (Di(this).setValue(r), this._onChange(r, this.idle)), !this.idle && rV(this._active) && q4(this); } _get() { const t = Fe.arr(this.source) ? this.source.map(ia) : Xo(ia(this.source)); return this.calc(...t); } _start() { this.idle && !rV(this._active) && (this.idle = !1, Ut(FO(this), (t) => { t.done = !1; }), Pi.skipAnimation ? (yt.batchedUpdates(() => this.advance()), q4(this)) : MO.start(this)); } // Observe our sources only when we're observed. _attach() { let t = 1; Ut(Xo(this.source), (r) => { Fa(r) && $b(r, this), PC(r) && (r.idle || this._active.add(r), t = Math.max(t, r.priority + 1)); }), this.priority = t, this._start(); } // Stop observing our sources once we have no observers. _detach() { Ut(Xo(this.source), (t) => { Fa(t) && a0(t, this); }), this._active.clear(), q4(this); } /** @internal */ eventObserved(t) { t.type == "change" ? t.idle ? this.advance() : (this._active.add(t.parent), this._start()) : t.type == "idle" ? this._active.delete(t.parent) : t.type == "priority" && (this.priority = Xo(this.source).reduce( (r, n) => Math.max(r, (PC(n) ? n.priority : 0) + 1), 0 )); } }; function FEe(e) { return e.idle !== !1; } function rV(e) { return !e.size || Array.from(e).every(FEe); } function q4(e) { e.idle || (e.idle = !0, Ut(FO(e), (t) => { t.done = !0; }), o0(e, { type: "idle", parent: e })); } Pi.assign({ createStringInterpolator: $oe, to: (e, t) => new DEe(e, t) }); var qoe = /^--/; function LEe(e, t) { return t == null || typeof t == "boolean" || t === "" ? "" : typeof t == "number" && t !== 0 && !qoe.test(e) && !(n1.hasOwnProperty(e) && n1[e]) ? t + "px" : ("" + t).trim(); } var nV = {}; function VEe(e, t) { if (!e.nodeType || !e.setAttribute) return !1; const r = e.nodeName === "filter" || e.parentNode && e.parentNode.nodeName === "filter", { className: n, style: o, children: a, scrollTop: i, scrollLeft: s, viewBox: l, ...c } = t, u = Object.values(c), f = Object.keys(c).map( (p) => r || e.hasAttribute(p) ? p : nV[p] || (nV[p] = p.replace( /([A-Z])/g, // Attributes are written in dash case (v) => "-" + v.toLowerCase() )) ); a !== void 0 && (e.textContent = a); for (const p in o) if (o.hasOwnProperty(p)) { const v = LEe(p, o[p]); qoe.test(p) ? e.style.setProperty(p, v) : e.style[p] = v; } f.forEach((p, v) => { e.setAttribute(p, u[v]); }), n !== void 0 && (e.className = n), i !== void 0 && (e.scrollTop = i), s !== void 0 && (e.scrollLeft = s), l !== void 0 && e.setAttribute("viewBox", l); } var n1 = { animationIterationCount: !0, borderImageOutset: !0, borderImageSlice: !0, borderImageWidth: !0, boxFlex: !0, boxFlexGroup: !0, boxOrdinalGroup: !0, columnCount: !0, columns: !0, flex: !0, flexGrow: !0, flexPositive: !0, flexShrink: !0, flexNegative: !0, flexOrder: !0, gridRow: !0, gridRowEnd: !0, gridRowSpan: !0, gridRowStart: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnSpan: !0, gridColumnStart: !0, fontWeight: !0, lineClamp: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, tabSize: !0, widows: !0, zIndex: !0, zoom: !0, // SVG-related properties fillOpacity: !0, floodOpacity: !0, stopOpacity: !0, strokeDasharray: !0, strokeDashoffset: !0, strokeMiterlimit: !0, strokeOpacity: !0, strokeWidth: !0 }, WEe = (e, t) => e + t.charAt(0).toUpperCase() + t.substring(1), GEe = ["Webkit", "Ms", "Moz", "O"]; n1 = Object.keys(n1).reduce((e, t) => (GEe.forEach((r) => e[WEe(r, t)] = e[t]), e), n1); var UEe = /^(matrix|translate|scale|rotate|skew)/, HEe = /^(translate)/, YEe = /^(rotate|skew)/, X4 = (e, t) => Fe.num(e) && e !== 0 ? e + t : e, X2 = (e, t) => Fe.arr(e) ? e.every((r) => X2(r, t)) : Fe.num(e) ? e === t : parseFloat(e) === t, BEe = class extends VO { constructor({ x: t, y: r, z: n, ...o }) { const a = [], i = []; (t || r || n) && (a.push([t || 0, r || 0, n || 0]), i.push((s) => [ `translate3d(${s.map((l) => X4(l, "px")).join(",")})`, // prettier-ignore X2(s, 0) ])), Us(o, (s, l) => { if (l === "transform") a.push([s || ""]), i.push((c) => [c, c === ""]); else if (UEe.test(l)) { if (delete o[l], Fe.und(s)) return; const c = HEe.test(l) ? "px" : YEe.test(l) ? "deg" : ""; a.push(Xo(s)), i.push( l === "rotate3d" ? ([u, f, p, v]) => [ `rotate3d(${u},${f},${p},${X4(v, c)})`, X2(v, 0) ] : (u) => [ `${l}(${u.map((f) => X4(f, c)).join(",")})`, X2(u, l.startsWith("scale") ? 1 : 0) ] ); } }), a.length && (o.transform = new qEe(a, i)), super(o); } }, qEe = class extends Soe { constructor(t, r) { super(), this.inputs = t, this.transforms = r, this._value = null; } get() { return this._value || (this._value = this._get()); } _get() { let t = "", r = !0; return Ut(this.inputs, (n, o) => { const a = ia(n[0]), [i, s] = this.transforms[o]( Fe.arr(a) ? a : n.map(ia) ); t += " " + i, r = r && s; }), r ? "none" : t; } // Start observing our inputs once we have an observer. observerAdded(t) { t == 1 && Ut( this.inputs, (r) => Ut( r, (n) => Fa(n) && $b(n, this) ) ); } // Stop observing our inputs once we have no observers. observerRemoved(t) { t == 0 && Ut( this.inputs, (r) => Ut( r, (n) => Fa(n) && a0(n, this) ) ); } eventObserved(t) { t.type == "change" && (this._value = null), o0(this, t); } }, XEe = [ "a", "abbr", "address", "area", "article", "aside", "audio", "b", "base", "bdi", "bdo", "big", "blockquote", "body", "br", "button", "canvas", "caption", "cite", "code", "col", "colgroup", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "iframe", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "link", "main", "map", "mark", "menu", "menuitem", "meta", "meter", "nav", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "script", "section", "select", "small", "source", "span", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "u", "ul", "var", "video", "wbr", // SVG "circle", "clipPath", "defs", "ellipse", "foreignObject", "g", "image", "line", "linearGradient", "mask", "path", "pattern", "polygon", "polyline", "radialGradient", "rect", "stop", "svg", "text", "tspan" ]; Pi.assign({ batchedUpdates: ZI, createStringInterpolator: $oe, colors: T4e }); var KEe = mEe(XEe, { applyAnimatedValues: VEe, createAnimatedStyle: (e) => new BEe(e), // eslint-disable-next-line @typescript-eslint/no-unused-vars getComponentProps: ({ scrollTop: e, scrollLeft: t, ...r }) => r }), Xoe = KEe.animated; /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const JEe = { prefix: "fas", iconName: "down-left-and-up-right-to-center", icon: [512, 512, ["compress-alt"], "f422", "M439 7c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8l-144 0c-13.3 0-24-10.7-24-24l0-144c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39L439 7zM72 272l144 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39L73 505c-9.4 9.4-24.6 9.4-33.9 0L7 473c-9.4-9.4-9.4-24.6 0-33.9l87-87L55 313c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8z"] }, QEe = { prefix: "fas", iconName: "up-right-and-down-left-from-center", icon: [512, 512, ["expand-alt"], "f424", "M344 0L488 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87L327 41c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM168 512L24 512c-13.3 0-24-10.7-24-24L0 344c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8z"] }; var CC = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = "NONE", e[e.INPUT = 1] = "INPUT", e[e.PANEL = 2] = "PANEL", e[e.DIALOGUE = 3] = "DIALOGUE", e))(CC || {}), ZEe = Object.freeze({ // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss position: "absolute", border: 0, width: 1, height: 1, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", wordWrap: "normal" }), e6e = "VisuallyHidden", Koe = V.forwardRef( (e, t) => /* @__PURE__ */ B( Xs.span, { ...e, ref: t, style: { ...ZEe, ...e.style } } ) ); Koe.displayName = e6e; var oV = Koe; const c0 = [], t6e = (e) => { c0.push(e); }, r6e = (e) => { const t = c0.findIndex((r) => r.id === e); t !== -1 && c0.splice(t, 1); }, n6e = (e, t) => { const r = c0.find((n) => n.id === e); r && Object.assign(r, t); }, o6e = () => c0.filter((e) => e.closeOnEsc).sort((e, t) => t.zIndex - e.zIndex)[0]; typeof window < "u" && !window.__modalEscListenerInstalled && (window.__modalEscListenerInstalled = !0, window.addEventListener("keydown", (e) => { if (e.key !== "Escape" && e.key !== "Esc") return; const t = o6e(); t && (e.preventDefault(), t.onClose()); })); let ky = 70; const a6e = ({ styles: e, backdropClassName: t, disableHotkeyInput: r, enableHotkeyInput: n }) => (xe(() => (r(CC.DIALOGUE), () => { n(CC.DIALOGUE); }), [r, n]), /* @__PURE__ */ B(O2e, { forceMount: !0, asChild: !0, children: /* @__PURE__ */ B( Xoe.div, { className: Xv("fixed inset-0 z-[69]", t), style: { opacity: e.opacity, pointerEvents: "none", background: "radial-gradient(800px 400px at 10% -10%, rgba(45,129,255,0.10), transparent), radial-gradient(600px 320px at 110% 110%, rgba(28,182,190,0.10), transparent), rgba(0,0,0,0.60)" } } ) })), NC = ({ children: e }) => /* @__PURE__ */ B(ht, { children: e }), Joe = an( void 0 ), UR = ({ className: e, size: t = "md" }) => { const r = gr(Joe); if (!r) return null; const { expanded: n, toggleExpanded: o } = r; return /* @__PURE__ */ B( "button", { type: "button", "aria-label": n ? "Restore modal size" : "Expand modal", onClick: o, className: Xv( "flex items-center justify-center rounded-full bg-black/40 text-white/60 transition-all hover:bg-black/70 hover:text-white", { sm: "h-5 w-5 text-sm", md: "h-7 w-7 text-md", lg: "h-9 w-9 text-xl" }[t], "relative z-[70]", e ), children: /* @__PURE__ */ B( Z1, { icon: n ? JEe : QEe } ) } ); }; UR.displayName = "ModalExpandButton"; const vx = ({ isOpen: e, title: t, titleIcon: r, onTitleIconClick: n, onClose: o, enableHotkeyInput: a = () => { }, disableHotkeyInput: i = () => { }, className: s, backdropClassName: l, width: c, children: u, childPadding: f = !0, titleIconClassName: p, showClose: v = !0, draggable: w = !1, resizable: b = !1, initialPosition: m, closeOnOutsideClick: x = !0, closeOnEsc: O = !0, allowBackgroundInteraction: E = !1, expandable: A = !1, accessibleTitle: h, accessibleDescription: G }) => { const [H, Z] = We( null ), [J, X] = We(!1), [ee, I] = We(!1), te = ce({ x: 0, y: 0 }), U = ce({ x: 0, y: 0 }), z = ce(null), F = ce(null), D = ce(null), [Y, q] = We(() => ++ky), [g, d] = We(!1), S = ce(null), C = tV(e, { from: { opacity: 0, transform: "scale(0.95) translateY(-10px)" }, enter: { opacity: 1, transform: "scale(1) translateY(0px)" }, leave: { opacity: 0, transform: "scale(0.95) translateY(10px)" }, config: { tension: 300, friction: 30, mass: 0.8 } }), P = tV(e, { from: { opacity: 0 }, enter: { opacity: 1 }, leave: { opacity: 0 }, config: { tension: 280, friction: 25 } }); xe(() => { g ? (F.current && (S.current = { ...F.current }), Z({ x: 0, y: 0 }), F.current = { x: 0, y: 0 }, z.current && (z.current.style.left = "0px", z.current.style.top = "0px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y))) : S.current && (Z({ ...S.current }), F.current = { ...S.current }, z.current && (z.current.style.left = S.current.x + "px", z.current.style.top = S.current.y + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y))); }, [g, Y]); const j = () => d((se) => !se); xe(() => { e ? D.current ? (Z({ ...D.current }), F.current = { ...D.current }, z.current && (z.current.style.left = D.current.x + "px", z.current.style.top = D.current.y + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y))) : m && (Z({ ...m }), F.current = { ...m }, z.current && (z.current.style.left = m.x + "px", z.current.style.top = m.y + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y))) : F.current && (D.current = { ...F.current }); }, [e, Y]), xe(() => { if (!J) return; let se = null; const ae = (Be) => { if (!z.current) return; const gt = Be.clientX - U.current.x, fe = Be.clientY - U.current.y, he = te.current.x + gt, we = te.current.y + fe, Ue = z.current, { width: pt, height: yr } = Ue.getBoundingClientRect(), so = window.innerWidth, fo = window.innerHeight, bt = 450, po = -450, mo = 0, da = so - pt + bt, hr = fo - yr + bt, lo = Math.max(po, Math.min(he, da)), pa = Math.max(mo, Math.min(we, hr)); F.current = { x: lo, y: pa }, z.current && (se && cancelAnimationFrame(se), se = requestAnimationFrame(() => { z.current && F.current && (z.current.style.left = F.current.x + "px", z.current.style.top = F.current.y + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y)); })); }, le = () => { X(!1), F.current && Z({ ...F.current }); }; return window.addEventListener("mousemove", ae), window.addEventListener("mouseup", le), () => { window.removeEventListener("mousemove", ae), window.removeEventListener("mouseup", le), se && cancelAnimationFrame(se); }; }, [J, Y]); const _ = (se) => { var ae, le; if (!z.current) return; g && d(!1), se.preventDefault(), se.stopPropagation(); const Be = z.current, { width: gt, height: fe } = Be.getBoundingClientRect(), he = window.innerWidth, we = window.innerHeight; let Ue = ((ae = F.current) == null ? void 0 : ae.x) ?? (H == null ? void 0 : H.x), pt = ((le = F.current) == null ? void 0 : le.y) ?? (H == null ? void 0 : H.y); (Ue === void 0 || pt === void 0) && (m ? (Ue = m.x, pt = m.y) : (Ue = (he - gt) / 2, pt = (we - fe) / 2)), te.current = { x: Ue, y: pt }, U.current = { x: se.clientX, y: se.clientY }, X(!0), !H && !F.current && (Z({ x: Ue, y: pt }), F.current = { x: Ue, y: pt }, z.current && (z.current.style.left = Ue + "px", z.current.style.top = pt + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y))); }; let N = u; if (w) { let se = !1; N = Array.isArray(u) ? u.map((ae) => { if (!se && Ws(ae) && (ae.type === NC || ae.type.displayName === "ModalDragHandle")) { se = !0; const le = ae; return Gs(le, { children: /* @__PURE__ */ B( "div", { style: { cursor: "move", userSelect: "none" }, onMouseDown: _, children: le.props.children } ) }); } return ae; }) : Ws(u) && (u.type === NC || u.type.displayName === "ModalDragHandle") ? (() => { const ae = u; return Gs(ae, { children: /* @__PURE__ */ B( "div", { style: { cursor: "move", userSelect: "none" }, onMouseDown: _, children: ae.props.children } ) }); })() : u; } const M = ce(null), R = ce(null), T = (se, ae) => { if (!z.current || (se.preventDefault(), se.stopPropagation(), g)) return; const le = z.current.getBoundingClientRect(); M.current = ae, R.current = { mouseX: se.clientX, mouseY: se.clientY, width: le.width, height: le.height, x: le.left, y: le.top }, I(!0); }; xe(() => { if (!ee) return; let se = null; const ae = (Be) => { if (!z.current || !R.current || !M.current) return; const gt = Be.clientX - R.current.mouseX, fe = Be.clientY - R.current.mouseY; let he = R.current.width, we = R.current.height, Ue = R.current.x, pt = R.current.y; const yr = M.current; yr.includes("right") && (he = R.current.width + gt), yr.includes("left") && (he = R.current.width - gt, Ue = R.current.x + gt), yr.includes("bottom") && (we = R.current.height + fe), yr.includes("top") && (we = R.current.height - fe, pt = R.current.y + fe), he = Math.max(320, he), we = Math.max(240, we), F.current = { x: Ue, y: pt }, pe.current = { width: he, height: we }, se && cancelAnimationFrame(se), se = requestAnimationFrame(() => { z.current && F.current && (z.current.style.width = he + "px", z.current.style.height = we + "px", z.current.style.left = F.current.x + "px", z.current.style.top = F.current.y + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y)); }); }, le = () => { I(!1), F.current && Z({ ...F.current }), pe.current && ne({ ...pe.current }); }; return window.addEventListener("mousemove", ae), window.addEventListener("mouseup", le), () => { window.removeEventListener("mousemove", ae), window.removeEventListener("mouseup", le), se && cancelAnimationFrame(se); }; }, [ee, Y]); const Q = () => { if (!b || g) return null; const se = "absolute z-[75] bg-transparent select-none", ae = 5, le = 2, Be = [ { dir: "top", className: `top-0 left-0 w-full h-${le}` }, { dir: "bottom", className: `bottom-0 left-0 w-full h-${le}` }, { dir: "left", className: `left-0 top-0 h-full w-${le}` }, { dir: "right", className: `right-0 top-0 h-full w-${le}` }, { dir: "top-left", className: `top-0 left-0 w-${ae} h-${ae}` }, { dir: "top-right", className: `top-0 right-0 w-${ae} h-${ae}` }, { dir: "bottom-left", className: `bottom-0 left-0 w-${ae} h-${ae}` }, { dir: "bottom-right", className: `bottom-0 right-0 w-${ae} h-${ae}` } ], gt = { top: "n-resize", bottom: "s-resize", left: "w-resize", right: "e-resize", "top-left": "nw-resize", "top-right": "ne-resize", "bottom-left": "sw-resize", "bottom-right": "se-resize" }; return Be.map((fe) => /* @__PURE__ */ B( "div", { className: `${se} ${fe.className}`, style: { cursor: gt[fe.dir] }, onMouseDown: (he) => T(he, fe.dir) }, fe.dir )); }, [k, ne] = We( null ), pe = ce(null), He = ce(null); xe(() => { if (e && !k && z.current && b) { const { width: se, height: ae } = z.current.getBoundingClientRect(); ne({ width: se, height: ae }), pe.current = { width: se, height: ae }; } }, [e, k, b]), xe(() => { if (b) { if (!e) pe.current && (He.current = { ...pe.current }); else if (He.current && z.current) { const { width: se, height: ae } = He.current; z.current.style.width = se + "px", z.current.style.height = ae + "px", ne({ width: se, height: ae }), pe.current = { width: se, height: ae }; } } }, [e, b]), xe(() => { const se = () => { z.current && Y < ky && (ky += 1, q(ky), z.current.style.zIndex = String(ky)); }, ae = z.current; return ae && ae.addEventListener("mousedown", se), () => { ae && ae.removeEventListener("mousedown", se); }; }, [Y]), xe(() => { if (!e || E) return; const se = (ae) => { if (ae.key === "Escape" || ae.key === "Esc") return; const le = ae.target; le && (le.closest( '[role="dialog"], [role="menu"], [role="listbox"], [data-headlessui-portal]' ) || le.matches("input, textarea, select, button, [contenteditable]")) || ae.stopPropagation(); }; return window.addEventListener("keydown", se, !0), () => { window.removeEventListener("keydown", se, !0); }; }, [e, E]), xe(() => { if (!E) return; const se = z.current; if (!se) return; const ae = (fe) => { fe && (fe.hasAttribute("inert") && fe.removeAttribute("inert"), fe.inert && (fe.inert = !1), fe.getAttribute("aria-hidden") === "true" && fe.removeAttribute("aria-hidden")); }; let le = se; for (; le; ) ae(le), le = le.parentElement; const Be = new MutationObserver((fe) => { fe.forEach((he) => { if (he.type === "attributes" && he.attributeName === "inert" && he.target instanceof HTMLElement) { const we = he.target; (we === se || se.contains(we)) && ae(we); } }); }); Be.observe(se, { attributes: !0, subtree: !1, attributeFilter: ["inert"] }), document.querySelectorAll( "[data-radix-portal][inert], [data-headlessui-portal][inert]" ).forEach((fe) => fe.removeAttribute("inert")); const gt = new MutationObserver((fe) => { fe.forEach((he) => { if (he.type === "attributes" && he.attributeName === "inert" && he.target.hasAttribute("inert")) { const we = he.target; (we.hasAttribute("data-radix-portal") || we.hasAttribute("data-headlessui-portal")) && ae(we); } }); }); return gt.observe(document.body, { attributes: !0, subtree: !0, attributeFilter: ["inert"] }), () => { Be.disconnect(), gt.disconnect(); }; }, [E]); const on = ce(Math.floor(Math.random() * 1e9)); xe(() => { if (e) return t6e({ id: on.current, zIndex: Y, onClose: o, closeOnEsc: O }), () => { r6e(on.current); }; }, [e]), xe(() => { e && n6e(on.current, { zIndex: Y, onClose: o, closeOnEsc: O }); }, [e, Y, o, O]); const en = () => g ? { position: "fixed", left: 0, top: 0, margin: 0, zIndex: Y, width: "100vw", height: "100vh", ...E ? { pointerEvents: "auto" } : {} } : !w || !H ? { ...b && k ? { width: k.width, height: k.height } : {}, ...E ? { pointerEvents: "auto" } : {} } : { position: "fixed", left: H.x, top: H.y, margin: 0, zIndex: Y, ...b && k ? { width: k.width, height: k.height } : {}, ...E ? { pointerEvents: "auto" } : {} }; return /* @__PURE__ */ B( w2e, { open: e, onOpenChange: (se) => !se && x && o(), modal: !E, children: /* @__PURE__ */ B(k2e, { children: /* @__PURE__ */ me( "div", { className: "fixed inset-0 z-[70]", style: E ? { pointerEvents: "none" } : void 0, children: [ !E && P( (se, ae) => ae ? /* @__PURE__ */ B( a6e, { styles: se, backdropClassName: l, disableHotkeyInput: i, enableHotkeyInput: a }, "backdrop" ) : null ), E && /* @__PURE__ */ B( "div", { className: Xv("fixed inset-0 z-[69]", l), style: { pointerEvents: "none" } } ), /* @__PURE__ */ B(Joe.Provider, { value: { expanded: g, toggleExpanded: j }, children: /* @__PURE__ */ B( "div", { className: "flex min-h-full items-center justify-center p-4 text-center", style: E ? { pointerEvents: "none" } : void 0, children: C((se, ae) => ae ? /* @__PURE__ */ B( S2e, { forceMount: !0, asChild: !0, ...G ? {} : { "aria-describedby": void 0 }, onPointerDownOutside: (le) => { (!x || E) && le.preventDefault(); }, onEscapeKeyDown: (le) => { O || le.preventDefault(); }, onInteractOutside: (le) => { E && le.preventDefault(); }, children: /* @__PURE__ */ me( Xoe.div, { className: Xv( "w-full max-w-lg rounded-xl relative border border-ui-panel-border bg-ui-modal text-left align-middle shadow-2xl z-[70]", f && !g ? "p-4" : "", s, "!transition-none", // Always disable CSS transitions for spring animations g && "w-screen h-screen max-w-screen max-h-screen rounded-none" ), ref: z, style: { ...en(), opacity: se.opacity, transform: se.transform, transformOrigin: "center center", willChange: "transform, opacity" // Optimize for animations }, children: [ /* @__PURE__ */ me("div", { className: "w-full h-full", children: [ G && /* @__PURE__ */ B(oV, { asChild: !0, children: /* @__PURE__ */ B(E2e, { children: G }) }), t ? /* @__PURE__ */ B( oF, { className: Xv( "mb-4 flex justify-between pb-0 text-xl font-bold text-base-fg" ), children: /* @__PURE__ */ B(ht, { children: n ? /* @__PURE__ */ me( "button", { className: "flex items-center gap-3", onClick: n, children: [ r && /* @__PURE__ */ B( Z1, { icon: r, className: p } ), t ] } ) : /* @__PURE__ */ me("div", { className: "flex items-center gap-3", children: [ r && /* @__PURE__ */ B( Z1, { icon: r, className: p } ), t ] }) }) } ) : /* @__PURE__ */ B(oV, { asChild: !0, children: /* @__PURE__ */ B(oF, { children: h ?? "Dialog" }) }), /* @__PURE__ */ B("div", { className: "h-full".trim(), children: N }), Q() ] }), (v || A) && /* @__PURE__ */ me("div", { className: "absolute top-0 right-0 m-2.5 z-[80] flex items-center gap-2", children: [ A && /* @__PURE__ */ B(vx.ExpandButton, {}), v && /* @__PURE__ */ B(P4e, { onClick: o }) ] }) ] } ) } ) : null) } ) }) ] } ) }) } ); }; vx.DragHandle = NC; vx.DragHandle.displayName = "ModalDragHandle"; vx.ExpandButton = UR; UR.displayName = "ModalExpandButton"; /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function i6e(e, t, r) { return (t = l6e(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function aV(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Se(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? aV(Object(r), !0).forEach(function(n) { i6e(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : aV(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function s6e(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function l6e(e) { var t = s6e(e, "string"); return typeof t == "symbol" ? t : t + ""; } const iV = () => { }; let HR = {}, Qoe = {}, Zoe = null, eae = { mark: iV, measure: iV }; try { typeof window < "u" && (HR = window), typeof document < "u" && (Qoe = document), typeof MutationObserver < "u" && (Zoe = MutationObserver), typeof performance < "u" && (eae = performance); } catch { } const { userAgent: sV = "" } = HR.navigator || {}, Pf = HR, jn = Qoe, lV = Zoe, kw = eae; Pf.document; const xc = !!jn.documentElement && !!jn.head && typeof jn.addEventListener == "function" && typeof jn.createElement == "function", tae = ~sV.indexOf("MSIE") || ~sV.indexOf("Trident/"); var c6e = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, u6e = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, rae = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, f6e = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, nae = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], ko = "classic", WO = "duotone", d6e = "sharp", p6e = "sharp-duotone", oae = [ko, WO, d6e, p6e], m6e = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, g6e = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, h6e = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), b6e = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, y6e = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], cV = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, v6e = ["kit"], x6e = { kit: { "fa-kit": "fak" } }, w6e = ["fak", "fakd"], k6e = { kit: { fak: "fa-kit" } }, uV = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, Ow = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, O6e = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], S6e = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], E6e = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, A6e = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, $6e = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, _C = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, P6e = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], jC = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...O6e, ...P6e], C6e = ["solid", "regular", "light", "thin", "duotone", "brands"], aae = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], N6e = aae.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), _6e = [...Object.keys($6e), ...C6e, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", Ow.GROUP, Ow.SWAP_OPACITY, Ow.PRIMARY, Ow.SECONDARY].concat(aae.map((e) => "".concat(e, "x"))).concat(N6e.map((e) => "w-".concat(e))), j6e = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const Dl = "___FONT_AWESOME___", IC = 16, iae = "fa", sae = "svg-inline--fa", lm = "data-fa-i2svg", RC = "data-fa-pseudo-element", I6e = "data-fa-pseudo-element-pending", YR = "data-prefix", BR = "data-icon", fV = "fontawesome-i2svg", R6e = "async", M6e = ["HTML", "HEAD", "STYLE", "SCRIPT"], lae = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function xx(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[ko]; } }); } const cae = Se({}, rae); cae[ko] = Se(Se(Se(Se({}, { "fa-duotone": "duotone" }), rae[ko]), cV.kit), cV["kit-duotone"]); const T6e = xx(cae), MC = Se({}, b6e); MC[ko] = Se(Se(Se(Se({}, { duotone: "fad" }), MC[ko]), uV.kit), uV["kit-duotone"]); const dV = xx(MC), TC = Se({}, _C); TC[ko] = Se(Se({}, TC[ko]), k6e.kit); const qR = xx(TC), zC = Se({}, A6e); zC[ko] = Se(Se({}, zC[ko]), x6e.kit); xx(zC); const z6e = c6e, uae = "fa-layers-text", D6e = u6e, F6e = Se({}, m6e); xx(F6e); const L6e = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], K4 = f6e, V6e = [...v6e, ..._6e], o1 = Pf.FontAwesomeConfig || {}; function W6e(e) { var t = jn.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function G6e(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } jn && typeof jn.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => { let [t, r] = e; const n = G6e(W6e(t)); n != null && (o1[r] = n); }); const fae = { styleDefault: "solid", familyDefault: ko, cssPrefix: iae, replacementClass: sae, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; o1.familyPrefix && (o1.cssPrefix = o1.familyPrefix); const rb = Se(Se({}, fae), o1); rb.autoReplaceSvg || (rb.observeMutations = !1); const Je = {}; Object.keys(fae).forEach((e) => { Object.defineProperty(Je, e, { enumerable: !0, set: function(t) { rb[e] = t, a1.forEach((r) => r(Je)); }, get: function() { return rb[e]; } }); }); Object.defineProperty(Je, "familyPrefix", { enumerable: !0, set: function(e) { rb.cssPrefix = e, a1.forEach((t) => t(Je)); }, get: function() { return rb.cssPrefix; } }); Pf.FontAwesomeConfig = Je; const a1 = []; function U6e(e) { return a1.push(e), () => { a1.splice(a1.indexOf(e), 1); }; } const Wc = IC, fs = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function H6e(e) { if (!e || !xc) return; const t = jn.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = jn.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return jn.head.insertBefore(t, n), e; } const Y6e = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function u0() { let e = 12, t = ""; for (; e-- > 0; ) t += Y6e[Math.random() * 62 | 0]; return t; } function Pb(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function XR(e) { return e.classList ? Pb(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function dae(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function B6e(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(dae(e[r]), '" '), "").trim(); } function GO(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function KR(e) { return e.size !== fs.size || e.x !== fs.x || e.y !== fs.y || e.rotate !== fs.rotate || e.flipX || e.flipY; } function q6e(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), l = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: l, path: c }; } function X6e(e) { let { transform: t, width: r = IC, height: n = IC, startCentered: o = !1 } = e, a = ""; return o && tae ? a += "translate(".concat(t.x / Wc - r / 2, "em, ").concat(t.y / Wc - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Wc, "em), calc(-50% + ").concat(t.y / Wc, "em)) ") : a += "translate(".concat(t.x / Wc, "em, ").concat(t.y / Wc, "em) "), a += "scale(".concat(t.size / Wc * (t.flipX ? -1 : 1), ", ").concat(t.size / Wc * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var K6e = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function pae() { const e = iae, t = sae, r = Je.cssPrefix, n = Je.replacementClass; let o = K6e; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let pV = !1; function J4() { Je.autoAddCss && !pV && (H6e(pae()), pV = !0); } var J6e = { mixout() { return { dom: { css: pae, insertCss: J4 } }; }, hooks() { return { beforeDOMElementCreation() { J4(); }, beforeI2svg() { J4(); } }; } }; const Fl = Pf || {}; Fl[Dl] || (Fl[Dl] = {}); Fl[Dl].styles || (Fl[Dl].styles = {}); Fl[Dl].hooks || (Fl[Dl].hooks = {}); Fl[Dl].shims || (Fl[Dl].shims = []); var ds = Fl[Dl]; const mae = [], gae = function() { jn.removeEventListener("DOMContentLoaded", gae), s5 = 1, mae.map((e) => e()); }; let s5 = !1; xc && (s5 = (jn.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(jn.readyState), s5 || jn.addEventListener("DOMContentLoaded", gae)); function Q6e(e) { xc && (s5 ? setTimeout(e, 0) : mae.push(e)); } function wx(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? dae(e) : "<".concat(t, " ").concat(B6e(r), ">").concat(n.map(wx).join(""), ""); } function mV(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var Q4 = function(e, t, r, n) { var o = Object.keys(e), a = o.length, i = t, s, l, c; for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++) l = o[s], c = i(c, e[l], l, e); return c; }; function Z6e(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function hae(e) { const t = Z6e(e); return t.length === 1 ? t[0].toString(16) : null; } function eAe(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function gV(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function DC(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = gV(t); typeof ds.hooks.addPack == "function" && !n ? ds.hooks.addPack(e, gV(t)) : ds.styles[e] = Se(Se({}, ds.styles[e] || {}), o), e === "fas" && DC("fa", t); } const { styles: f0, shims: tAe } = ds, bae = Object.keys(qR), rAe = bae.reduce((e, t) => (e[t] = Object.keys(qR[t]), e), {}); let JR = null, yae = {}, vae = {}, xae = {}, wae = {}, kae = {}; function nAe(e) { return ~V6e.indexOf(e); } function oAe(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !nAe(o) ? o : null; } const Oae = () => { const e = (n) => Q4(f0, (o, a, i) => (o[i] = Q4(a, n, {}), o), {}); yae = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => { n[i.toString(16)] = a; }), n)), vae = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => { n[i] = a; }), n)), kae = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in f0 || Je.autoFetchSvg, r = Q4(tAe, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); xae = r.names, wae = r.unicodes, JR = UO(Je.styleDefault, { family: Je.familyDefault }); }; U6e((e) => { JR = UO(e.styleDefault, { family: Je.familyDefault }); }); Oae(); function QR(e, t) { return (yae[e] || {})[t]; } function aAe(e, t) { return (vae[e] || {})[t]; } function _p(e, t) { return (kae[e] || {})[t]; } function Sae(e) { return xae[e] || { prefix: null, iconName: null }; } function iAe(e) { const t = wae[e], r = QR("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function Cf() { return JR; } const Eae = () => ({ prefix: null, iconName: null, rest: [] }); function sAe(e) { let t = ko; const r = bae.reduce((n, o) => (n[o] = "".concat(Je.cssPrefix, "-").concat(o), n), {}); return oae.forEach((n) => { (e.includes(r[n]) || e.some((o) => rAe[n].includes(o))) && (t = n); }), t; } function UO(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = ko } = t, n = T6e[r][e]; if (r === WO && !e) return "fad"; const o = dV[r][e] || dV[r][n], a = e in ds.styles ? e : null; return o || a || null; } function lAe(e) { let t = [], r = null; return e.forEach((n) => { const o = oAe(Je.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function hV(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function HO(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = jC.concat(S6e), a = hV(e.filter((f) => o.includes(f))), i = hV(e.filter((f) => !jC.includes(f))), s = a.filter((f) => (n = f, !nae.includes(f))), [l = null] = s, c = sAe(a), u = Se(Se({}, lAe(i)), {}, { prefix: UO(l, { family: c }) }); return Se(Se(Se({}, u), dAe({ values: e, family: c, styles: f0, config: Je, canonical: u, givenPrefix: n })), cAe(r, n, u)); } function cAe(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? Sae(o) : {}, i = _p(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !f0.far && f0.fas && !Je.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const uAe = oae.filter((e) => e !== ko || e !== WO), fAe = Object.keys(_C).filter((e) => e !== ko).map((e) => Object.keys(_C[e])).flat(); function dAe(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === WO, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && uAe.includes(r) && (Object.keys(a).find((f) => fAe.includes(f)) || i.autoFetchSvg)) { const f = h6e.get(r).defaultShortPrefixId; n.prefix = f, n.iconName = _p(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = Cf() || "fas"), n; } let pAe = class { constructor() { this.definitions = {}; } add() { for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++) r[n] = arguments[n]; const o = r.reduce(this._pullDefinitions, {}); Object.keys(o).forEach((a) => { this.definitions[a] = Se(Se({}, this.definitions[a] || {}), o[a]), DC(a, o[a]); const i = qR[ko][a]; i && DC(i, o[a]), Oae(); }); } reset() { this.definitions = {}; } _pullDefinitions(t, r) { const n = r.prefix && r.iconName && r.icon ? { 0: r } : r; return Object.keys(n).map((o) => { const { prefix: a, iconName: i, icon: s } = n[o], l = s[2]; t[a] || (t[a] = {}), l.length > 0 && l.forEach((c) => { typeof c == "string" && (t[a][c] = s); }), t[a][i] = s; }), t; } }, bV = [], Sg = {}; const ch = {}, mAe = Object.keys(ch); function gAe(e, t) { let { mixoutsTo: r } = t; return bV = e, Sg = {}, Object.keys(ch).forEach((n) => { mAe.indexOf(n) === -1 && delete ch[n]; }), bV.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { Sg[i] || (Sg[i] = []), Sg[i].push(a[i]); }); } n.provides && n.provides(ch); }), r; } function FC(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (Sg[e] || []).forEach((a) => { t = a.apply(null, [t, ...n]); }), t; } function cm(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (Sg[e] || []).forEach((o) => { o.apply(null, r); }); } function Nf() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return ch[e] ? ch[e].apply(null, t) : void 0; } function LC(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || Cf(); if (t) return t = _p(r, t) || t, mV(Aae.definitions, r, t) || mV(ds.styles, r, t); } const Aae = new pAe(), hAe = () => { Je.autoReplaceSvg = !1, Je.observeMutations = !1, cm("noAuto"); }, bAe = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return xc ? (cm("beforeI2svg", e), Nf("pseudoElements2svg", e), Nf("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; Je.autoReplaceSvg === !1 && (Je.autoReplaceSvg = !0), Je.observeMutations = !0, Q6e(() => { vAe({ autoReplaceSvgRoot: t }), cm("watch", e); }); } }, yAe = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: _p(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = UO(e[0]); return { prefix: r, iconName: _p(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(Je.cssPrefix, "-")) > -1 || e.match(z6e))) { const t = HO(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || Cf(), iconName: _p(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = Cf(); return { prefix: t, iconName: _p(t, e) || e }; } } }, va = { noAuto: hAe, config: Je, dom: bAe, parse: yAe, library: Aae, findIconDefinition: LC, toHtml: wx }, vAe = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = jn } = e; (Object.keys(ds.styles).length > 0 || Je.autoFetchSvg) && xc && Je.autoReplaceSvg && va.dom.i2svg({ node: t }); }; function YO(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => wx(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!xc) return; const r = jn.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function xAe(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (KR(i) && r.found && !n.found) { const { width: s, height: l } = r, c = { x: s / l / 2, y: 0.5 }; o.style = GO(Se(Se({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function wAe(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(Je.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: Se(Se({}, o), {}, { id: i }), children: n }] }]; } function ZR(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: l, titleId: c, extra: u, watchable: f = !1 } = e, { width: p, height: v } = r.found ? r : t, w = w6e.includes(n), b = [Je.replacementClass, o ? "".concat(Je.cssPrefix, "-").concat(o) : ""].filter((h) => u.classes.indexOf(h) === -1).filter((h) => h !== "" || !!h).concat(u.classes).join(" "); let m = { children: [], attributes: Se(Se({}, u.attributes), {}, { "data-prefix": n, "data-icon": o, class: b, role: u.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(p, " ").concat(v) }) }; const x = w && !~u.classes.indexOf("fa-fw") ? { width: "".concat(p / v * 16 * 0.0625, "em") } : {}; f && (m.attributes[lm] = ""), s && (m.children.push({ tag: "title", attributes: { id: m.attributes["aria-labelledby"] || "title-".concat(c || u0()) }, children: [s] }), delete m.attributes.title); const O = Se(Se({}, m), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: l, transform: a, symbol: i, styles: Se(Se({}, x), u.styles) }), { children: E, attributes: A } = r.found && t.found ? Nf("generateAbstractMask", O) || { children: [], attributes: {} } : Nf("generateAbstractIcon", O) || { children: [], attributes: {} }; return O.children = E, O.attributes = A, i ? wAe(O) : xAe(O); } function yV(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, l = Se(Se(Se({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (l[lm] = ""); const c = Se({}, i.styles); KR(o) && (c.transform = X6e({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const u = GO(c); u.length > 0 && (l.style = u); const f = []; return f.push({ tag: "span", attributes: l, children: [t] }), a && f.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), f; } function kAe(e) { const { content: t, title: r, extra: n } = e, o = Se(Se(Se({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = GO(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: Z4 } = ds; function VC(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(Je.cssPrefix, "-").concat(K4.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(Je.cssPrefix, "-").concat(K4.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(Je.cssPrefix, "-").concat(K4.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const OAe = { found: !1, width: 512, height: 512 }; function SAe(e, t) { !lae && !Je.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function WC(e, t) { let r = t; return t === "fa" && Je.styleDefault !== null && (t = Cf()), new Promise((n, o) => { if (r === "fa") { const a = Sae(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && Z4[t] && Z4[t][e]) { const a = Z4[t][e]; return n(VC(a)); } SAe(e, t), n(Se(Se({}, OAe), {}, { icon: Je.showMissingIcons && e ? Nf("missingIconAbstract") || {} : {} })); }); } const vV = () => { }, GC = Je.measurePerformance && kw && kw.mark && kw.measure ? kw : { mark: vV, measure: vV }, Cv = 'FA "6.7.2"', EAe = (e) => (GC.mark("".concat(Cv, " ").concat(e, " begins")), () => $ae(e)), $ae = (e) => { GC.mark("".concat(Cv, " ").concat(e, " ends")), GC.measure("".concat(Cv, " ").concat(e), "".concat(Cv, " ").concat(e, " begins"), "".concat(Cv, " ").concat(e, " ends")); }; var eM = { begin: EAe, end: $ae }; const K2 = () => { }; function xV(e) { return typeof (e.getAttribute ? e.getAttribute(lm) : null) == "string"; } function AAe(e) { const t = e.getAttribute ? e.getAttribute(YR) : null, r = e.getAttribute ? e.getAttribute(BR) : null; return t && r; } function $Ae(e) { return e && e.classList && e.classList.contains && e.classList.contains(Je.replacementClass); } function PAe() { return Je.autoReplaceSvg === !0 ? J2.replace : J2[Je.autoReplaceSvg] || J2.replace; } function CAe(e) { return jn.createElementNS("http://www.w3.org/2000/svg", e); } function NAe(e) { return jn.createElement(e); } function Pae(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? CAe : NAe } = t; if (typeof e == "string") return jn.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(o) { n.setAttribute(o, e.attributes[o]); }), (e.children || []).forEach(function(o) { n.appendChild(Pae(o, { ceFn: r })); }), n; } function _Ae(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const J2 = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(Pae(r), t); }), t.getAttribute(lm) === null && Je.keepOriginalSource) { let r = jn.createComment(_Ae(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~XR(t).indexOf(Je.replacementClass)) return J2.replace(e); const n = new RegExp("".concat(Je.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === Je.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => wx(a)).join(` `); t.setAttribute(lm, ""), t.innerHTML = o; } }; function wV(e) { e(); } function Cae(e, t) { const r = typeof t == "function" ? t : K2; if (e.length === 0) r(); else { let n = wV; Je.mutateApproach === R6e && (n = Pf.requestAnimationFrame || wV), n(() => { const o = PAe(), a = eM.begin("mutate"); e.map(o), a(), r(); }); } } let tM = !1; function Nae() { tM = !0; } function UC() { tM = !1; } let l5 = null; function kV(e) { if (!lV || !Je.observeMutations) return; const { treeCallback: t = K2, nodeCallback: r = K2, pseudoElementsCallback: n = K2, observeMutationsRoot: o = jn } = e; l5 = new lV((a) => { if (tM) return; const i = Cf(); Pb(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !xV(s.addedNodes[0]) && (Je.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Je.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && xV(s.target) && ~L6e.indexOf(s.attributeName)) if (s.attributeName === "class" && AAe(s.target)) { const { prefix: l, iconName: c } = HO(XR(s.target)); s.target.setAttribute(YR, l || i), c && s.target.setAttribute(BR, c); } else $Ae(s.target) && r(s.target); }); }), xc && l5.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function jAe() { l5 && l5.disconnect(); } function IAe(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function RAe(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = HO(XR(e)); return o.prefix || (o.prefix = Cf()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = aAe(o.prefix, e.innerText) || QR(o.prefix, hae(e.innerText))), !o.iconName && Je.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function MAe(e) { const t = Pb(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return Je.autoA11y && (r ? t["aria-labelledby"] = "".concat(Je.replacementClass, "-title-").concat(n || u0()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function TAe() { return { iconName: null, title: null, titleId: null, prefix: null, transform: fs, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function OV(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = RAe(e), a = MAe(e), i = FC("parseNodeAttributes", {}, e); let s = t.styleParser ? IAe(e) : []; return Se({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: fs, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: zAe } = ds; function _ae(e) { const t = Je.autoReplaceSvg === "nest" ? OV(e, { styleParser: !1 }) : OV(e); return ~t.extra.classes.indexOf(uae) ? Nf("generateLayersText", e, t) : Nf("generateSvgReplacementMutation", e, t); } function DAe() { return [...y6e, ...jC]; } function SV(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!xc) return Promise.resolve(); const r = jn.documentElement.classList, n = (u) => r.add("".concat(fV, "-").concat(u)), o = (u) => r.remove("".concat(fV, "-").concat(u)), a = Je.autoFetchSvg ? DAe() : nae.concat(Object.keys(zAe)); a.includes("fa") || a.push("fa"); const i = [".".concat(uae, ":not([").concat(lm, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(lm, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = Pb(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const l = eM.begin("onTree"), c = s.reduce((u, f) => { try { const p = _ae(f); p && u.push(p); } catch (p) { lae || p.name === "MissingIcon" && console.error(p); } return u; }, []); return new Promise((u, f) => { Promise.all(c).then((p) => { Cae(p, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u(); }); }).catch((p) => { l(), f(p); }); }); } function FAe(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; _ae(e).then((r) => { r && Cae([r], t); }); } function LAe(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : LC(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : LC(o || {})), e(n, Se(Se({}, r), {}, { mask: o })); }; } const VAe = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = fs, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: l = [], attributes: c = {}, styles: u = {} } = t; if (!e) return; const { prefix: f, iconName: p, icon: v } = e; return YO(Se({ type: "icon" }, e), () => (cm("beforeDOMElementCreation", { iconDefinition: e, params: t }), Je.autoA11y && (i ? c["aria-labelledby"] = "".concat(Je.replacementClass, "-title-").concat(s || u0()) : (c["aria-hidden"] = "true", c.focusable = "false")), ZR({ icons: { main: VC(v), mask: o ? VC(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: f, iconName: p, transform: Se(Se({}, fs), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: u, classes: l } }))); }; var WAe = { mixout() { return { icon: LAe(VAe) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = SV, e.nodeCallback = FAe, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = jn, callback: n = () => { } } = t; return SV(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: l, mask: c, maskId: u, extra: f } = r; return new Promise((p, v) => { Promise.all([WC(n, i), c.iconName ? WC(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((w) => { let [b, m] = w; p([t, ZR({ icons: { main: b, mask: m }, prefix: i, iconName: n, transform: s, symbol: l, maskId: u, title: o, titleId: a, extra: f, watchable: !0 })]); }).catch(v); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = GO(i); s.length > 0 && (n.style = s); let l; return KR(a) && (l = Nf("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(l || o.icon), { children: r, attributes: n }; }; } }, GAe = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return YO({ type: "layer" }, () => { cm("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(Je.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, UAe = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return YO({ type: "counter", content: e }, () => (cm("beforeDOMElementCreation", { content: e, params: t }), kAe({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(Je.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, HAe = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = fs, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return YO({ type: "text", content: e }, () => (cm("beforeDOMElementCreation", { content: e, params: t }), yV({ content: e, transform: Se(Se({}, fs), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(Je.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (tae) { const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / l, s = c.height / l; } return Je.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, yV({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const YAe = new RegExp('"', "ug"), EV = [1105920, 1112319], AV = Se(Se(Se(Se({}, { FontAwesome: { normal: "fas", 400: "fas" } }), g6e), j6e), E6e), HC = Object.keys(AV).reduce((e, t) => (e[t.toLowerCase()] = AV[t], e), {}), BAe = Object.keys(HC).reduce((e, t) => { const r = HC[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function qAe(e) { const t = e.replace(YAe, ""), r = eAe(t, 0), n = r >= EV[0] && r <= EV[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: hae(o ? t[0] : t), isSecondary: n || o }; } function XAe(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return (HC[r] || {})[o] || BAe[r]; } function $V(e, t) { const r = "".concat(I6e).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const a = Pb(e.children).filter((f) => f.getAttribute(RC) === t)[0], i = Pf.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(D6e), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content"); if (a && !l) return e.removeChild(a), n(); if (l && u !== "none" && u !== "") { const f = i.getPropertyValue("content"); let p = XAe(s, c); const { value: v, isSecondary: w } = qAe(f), b = l[0].startsWith("FontAwesome"); let m = QR(p, v), x = m; if (b) { const O = iAe(v); O.iconName && O.prefix && (m = O.iconName, p = O.prefix); } if (m && !w && (!a || a.getAttribute(YR) !== p || a.getAttribute(BR) !== x)) { e.setAttribute(r, x), a && e.removeChild(a); const O = TAe(), { extra: E } = O; E.attributes[RC] = t, WC(m, p).then((A) => { const h = ZR(Se(Se({}, O), {}, { icons: { main: A, mask: Eae() }, prefix: p, iconName: x, extra: E, watchable: !0 })), G = jn.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(G, e.firstChild) : e.appendChild(G), G.outerHTML = h.map((H) => wx(H)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function KAe(e) { return Promise.all([$V(e, "::before"), $V(e, "::after")]); } function JAe(e) { return e.parentNode !== document.head && !~M6e.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(RC) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function PV(e) { if (xc) return new Promise((t, r) => { const n = Pb(e.querySelectorAll("*")).filter(JAe).map(KAe), o = eM.begin("searchPseudoElements"); Nae(), Promise.all(n).then(() => { o(), UC(), t(); }).catch(() => { o(), UC(), r(); }); }); } var QAe = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = PV, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = jn } = t; Je.searchPseudoElements && PV(r); }; } }; let CV = !1; var ZAe = { mixout() { return { dom: { unwatch() { Nae(), CV = !0; } } }; }, hooks() { return { bootstrap() { kV(FC("mutationObserverCallbacks", {})); }, noAuto() { jAe(); }, watch(e) { const { observeMutationsRoot: t } = e; CV ? UC() : kV(FC("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const NV = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var e$e = { mixout() { return { parse: { transform: (e) => NV(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = NV(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = { transform: "".concat(s, " ").concat(l, " ").concat(c) }, f = { transform: "translate(".concat(a / 2 * -1, " -256)") }, p = { outer: i, inner: u, path: f }; return { tag: "g", attributes: Se({}, p.outer), children: [{ tag: "g", attributes: Se({}, p.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: Se(Se({}, r.icon.attributes), p.path) }] }] }; }; } }; const eE = { x: 0, y: 0, width: "100%", height: "100%" }; function _V(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function t$e(e) { return e.tag === "g" ? e.children : [e]; } var r$e = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? HO(r.split(" ").map((o) => o.trim())) : Eae(); return n.prefix || (n.prefix = Cf()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: l, icon: c } = o, { width: u, icon: f } = a, p = q6e({ transform: s, containerWidth: u, iconWidth: l }), v = { tag: "rect", attributes: Se(Se({}, eE), {}, { fill: "white" }) }, w = c.children ? { children: c.children.map(_V) } : {}, b = { tag: "g", attributes: Se({}, p.inner), children: [_V(Se({ tag: c.tag, attributes: Se(Se({}, c.attributes), p.path) }, w))] }, m = { tag: "g", attributes: Se({}, p.outer), children: [b] }, x = "mask-".concat(i || u0()), O = "clip-".concat(i || u0()), E = { tag: "mask", attributes: Se(Se({}, eE), {}, { id: x, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [v, m] }, A = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: O }, children: t$e(f) }, E] }; return r.push(A, { tag: "rect", attributes: Se({ fill: "currentColor", "clip-path": "url(#".concat(O, ")"), mask: "url(#".concat(x, ")") }, eE) }), { children: r, attributes: n }; }; } }, n$e = { provides(e) { let t = !1; Pf.matchMedia && (t = Pf.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: Se(Se({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = Se(Se({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: Se(Se({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: Se(Se({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: Se(Se({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: Se(Se({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: Se(Se({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: Se(Se({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: Se(Se({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, o$e = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, a$e = [J6e, WAe, GAe, UAe, HAe, QAe, ZAe, e$e, r$e, n$e, o$e]; gAe(a$e, { mixoutsTo: va }); va.noAuto; va.config; va.library; va.dom; const YC = va.parse; va.findIconDefinition; va.toHtml; const i$e = va.icon; va.layer; va.text; va.counter; function s$e(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var Sw = { exports: {} }, tE = { exports: {} }, wr = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var jV; function l$e() { if (jV) return wr; jV = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(h) { if (typeof h == "object" && h !== null) { var G = h.$$typeof; switch (G) { case t: switch (h = h.type, h) { case l: case c: case n: case a: case o: case f: return h; default: switch (h = h && h.$$typeof, h) { case s: case u: case w: case v: case i: return h; default: return G; } } case r: return G; } } } function A(h) { return E(h) === c; } return wr.AsyncMode = l, wr.ConcurrentMode = c, wr.ContextConsumer = s, wr.ContextProvider = i, wr.Element = t, wr.ForwardRef = u, wr.Fragment = n, wr.Lazy = w, wr.Memo = v, wr.Portal = r, wr.Profiler = a, wr.StrictMode = o, wr.Suspense = f, wr.isAsyncMode = function(h) { return A(h) || E(h) === l; }, wr.isConcurrentMode = A, wr.isContextConsumer = function(h) { return E(h) === s; }, wr.isContextProvider = function(h) { return E(h) === i; }, wr.isElement = function(h) { return typeof h == "object" && h !== null && h.$$typeof === t; }, wr.isForwardRef = function(h) { return E(h) === u; }, wr.isFragment = function(h) { return E(h) === n; }, wr.isLazy = function(h) { return E(h) === w; }, wr.isMemo = function(h) { return E(h) === v; }, wr.isPortal = function(h) { return E(h) === r; }, wr.isProfiler = function(h) { return E(h) === a; }, wr.isStrictMode = function(h) { return E(h) === o; }, wr.isSuspense = function(h) { return E(h) === f; }, wr.isValidElementType = function(h) { return typeof h == "string" || typeof h == "function" || h === n || h === c || h === a || h === o || h === f || h === p || typeof h == "object" && h !== null && (h.$$typeof === w || h.$$typeof === v || h.$$typeof === i || h.$$typeof === s || h.$$typeof === u || h.$$typeof === m || h.$$typeof === x || h.$$typeof === O || h.$$typeof === b); }, wr.typeOf = E, wr; } var Fr = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var IV; function c$e() { return IV || (IV = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === f || k === p || typeof k == "object" && k !== null && (k.$$typeof === w || k.$$typeof === v || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === m || k.$$typeof === x || k.$$typeof === O || k.$$typeof === b); } function A(k) { if (typeof k == "object" && k !== null) { var ne = k.$$typeof; switch (ne) { case t: var pe = k.type; switch (pe) { case l: case c: case n: case a: case o: case f: return pe; default: var He = pe && pe.$$typeof; switch (He) { case s: case u: case w: case v: case i: return He; default: return ne; } } case r: return ne; } } } var h = l, G = c, H = s, Z = i, J = t, X = u, ee = n, I = w, te = v, U = r, z = a, F = o, D = f, Y = !1; function q(k) { return Y || (Y = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), g(k) || A(k) === l; } function g(k) { return A(k) === c; } function d(k) { return A(k) === s; } function S(k) { return A(k) === i; } function C(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function P(k) { return A(k) === u; } function j(k) { return A(k) === n; } function _(k) { return A(k) === w; } function N(k) { return A(k) === v; } function M(k) { return A(k) === r; } function R(k) { return A(k) === a; } function T(k) { return A(k) === o; } function Q(k) { return A(k) === f; } Fr.AsyncMode = h, Fr.ConcurrentMode = G, Fr.ContextConsumer = H, Fr.ContextProvider = Z, Fr.Element = J, Fr.ForwardRef = X, Fr.Fragment = ee, Fr.Lazy = I, Fr.Memo = te, Fr.Portal = U, Fr.Profiler = z, Fr.StrictMode = F, Fr.Suspense = D, Fr.isAsyncMode = q, Fr.isConcurrentMode = g, Fr.isContextConsumer = d, Fr.isContextProvider = S, Fr.isElement = C, Fr.isForwardRef = P, Fr.isFragment = j, Fr.isLazy = _, Fr.isMemo = N, Fr.isPortal = M, Fr.isProfiler = R, Fr.isStrictMode = T, Fr.isSuspense = Q, Fr.isValidElementType = E, Fr.typeOf = A; }()), Fr; } var RV; function jae() { return RV || (RV = 1, process.env.NODE_ENV === "production" ? tE.exports = l$e() : tE.exports = c$e()), tE.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var rE, MV; function u$e() { if (MV) return rE; MV = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var l = Object.getOwnPropertyNames(i).map(function(u) { return i[u]; }); if (l.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(u) { c[u] = u; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return rE = o() ? Object.assign : function(a, i) { for (var s, l = n(a), c, u = 1; u < arguments.length; u++) { s = Object(arguments[u]); for (var f in s) t.call(s, f) && (l[f] = s[f]); if (e) { c = e(s); for (var p = 0; p < c.length; p++) r.call(s, c[p]) && (l[c[p]] = s[c[p]]); } } return l; }, rE; } var nE, TV; function rM() { if (TV) return nE; TV = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return nE = e, nE; } var zV, DV; function Iae() { return DV || (DV = 1, zV = Function.call.bind(Object.prototype.hasOwnProperty)), zV; } var oE, FV; function f$e() { if (FV) return oE; FV = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ rM(), r = {}, n = /* @__PURE__ */ Iae(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, l, c) { if (process.env.NODE_ENV !== "production") { for (var u in a) if (n(a, u)) { var f; try { if (typeof a[u] != "function") { var p = Error( (l || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw p.name = "Invariant Violation", p; } f = a[u](i, u, l, s, null, t); } catch (w) { f = w; } if (f && !(f instanceof Error) && e( (l || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), f instanceof Error && !(f.message in r)) { r[f.message] = !0; var v = c ? c() : ""; e( "Failed " + s + " type: " + f.message + (v ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, oE = o, oE; } var aE, LV; function d$e() { if (LV) return aE; LV = 1; var e = jae(), t = u$e(), r = /* @__PURE__ */ rM(), n = /* @__PURE__ */ Iae(), o = /* @__PURE__ */ f$e(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var l = "Warning: " + s; typeof console < "u" && console.error(l); try { throw new Error(l); } catch { } }); function i() { return null; } return aE = function(s, l) { var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator"; function f(g) { var d = g && (c && g[c] || g[u]); if (typeof d == "function") return d; } var p = "<>", v = { array: x("array"), bigint: x("bigint"), bool: x("boolean"), func: x("function"), number: x("number"), object: x("object"), string: x("string"), symbol: x("symbol"), any: O(), arrayOf: E, element: A(), elementType: h(), instanceOf: G, node: X(), objectOf: Z, oneOf: H, oneOfType: J, shape: I, exact: te }; function w(g, d) { return g === d ? g !== 0 || 1 / g === 1 / d : g !== g && d !== d; } function b(g, d) { this.message = g, this.data = d && typeof d == "object" ? d : {}, this.stack = ""; } b.prototype = Error.prototype; function m(g) { if (process.env.NODE_ENV !== "production") var d = {}, S = 0; function C(j, _, N, M, R, T, Q) { if (M = M || p, T = T || N, Q !== r) { if (l) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var ne = M + ":" + N; !d[ne] && // Avoid spamming the console because they are often not actionable except for lib authors S < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + M + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), d[ne] = !0, S++); } } return _[N] == null ? j ? _[N] === null ? new b("The " + R + " `" + T + "` is marked as required " + ("in `" + M + "`, but its value is `null`.")) : new b("The " + R + " `" + T + "` is marked as required in " + ("`" + M + "`, but its value is `undefined`.")) : null : g(_, N, M, R, T); } var P = C.bind(null, !1); return P.isRequired = C.bind(null, !0), P; } function x(g) { function d(S, C, P, j, _, N) { var M = S[C], R = F(M); if (R !== g) { var T = D(M); return new b( "Invalid " + j + " `" + _ + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."), { expectedType: g } ); } return null; } return m(d); } function O() { return m(i); } function E(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside arrayOf."); var N = S[C]; if (!Array.isArray(N)) { var M = F(N); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an array.")); } for (var R = 0; R < N.length; R++) { var T = g(N, R, P, j, _ + "[" + R + "]", r); if (T instanceof Error) return T; } return null; } return m(d); } function A() { function g(d, S, C, P, j) { var _ = d[S]; if (!s(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement.")); } return null; } return m(g); } function h() { function g(d, S, C, P, j) { var _ = d[S]; if (!e.isValidElementType(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement type.")); } return null; } return m(g); } function G(g) { function d(S, C, P, j, _) { if (!(S[C] instanceof g)) { var N = g.name || p, M = q(S[C]); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected ") + ("instance of `" + N + "`.")); } return null; } return m(d); } function H(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function d(S, C, P, j, _) { for (var N = S[C], M = 0; M < g.length; M++) if (w(N, g[M])) return null; var R = JSON.stringify(g, function(T, Q) { var k = D(Q); return k === "symbol" ? String(Q) : Q; }); return new b("Invalid " + j + " `" + _ + "` of value `" + String(N) + "` " + ("supplied to `" + P + "`, expected one of " + R + ".")); } return m(d); } function Z(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside objectOf."); var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an object.")); for (var R in N) if (n(N, R)) { var T = g(N, R, P, j, _ + "." + R, r); if (T instanceof Error) return T; } return null; } return m(d); } function J(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var d = 0; d < g.length; d++) { var S = g[d]; if (typeof S != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(S) + " at index " + d + "." ), i; } function C(P, j, _, N, M) { for (var R = [], T = 0; T < g.length; T++) { var Q = g[T], k = Q(P, j, _, N, M, r); if (k == null) return null; k.data && n(k.data, "expectedType") && R.push(k.data.expectedType); } var ne = R.length > 0 ? ", expected one of type [" + R.join(", ") + "]" : ""; return new b("Invalid " + N + " `" + M + "` supplied to " + ("`" + _ + "`" + ne + ".")); } return m(C); } function X() { function g(d, S, C, P, j) { return U(d[S]) ? null : new b("Invalid " + P + " `" + j + "` supplied to " + ("`" + C + "`, expected a ReactNode.")); } return m(g); } function ee(g, d, S, C, P) { return new b( (g || "React class") + ": " + d + " type `" + S + "." + C + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`." ); } function I(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); for (var R in g) { var T = g[R]; if (typeof T != "function") return ee(P, j, _, R, D(T)); var Q = T(N, R, P, j, _ + "." + R, r); if (Q) return Q; } return null; } return m(d); } function te(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); var R = t({}, S[C], g); for (var T in R) { var Q = g[T]; if (n(g, T) && typeof Q != "function") return ee(P, j, _, T, D(Q)); if (!Q) return new b( "Invalid " + j + " `" + _ + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(S[C], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(g), null, " ") ); var k = Q(N, T, P, j, _ + "." + T, r); if (k) return k; } return null; } return m(d); } function U(g) { switch (typeof g) { case "number": case "string": case "undefined": return !0; case "boolean": return !g; case "object": if (Array.isArray(g)) return g.every(U); if (g === null || s(g)) return !0; var d = f(g); if (d) { var S = d.call(g), C; if (d !== g.entries) { for (; !(C = S.next()).done; ) if (!U(C.value)) return !1; } else for (; !(C = S.next()).done; ) { var P = C.value; if (P && !U(P[1])) return !1; } } else return !1; return !0; default: return !1; } } function z(g, d) { return g === "symbol" ? !0 : d ? d["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && d instanceof Symbol : !1; } function F(g) { var d = typeof g; return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : z(d, g) ? "symbol" : d; } function D(g) { if (typeof g > "u" || g === null) return "" + g; var d = F(g); if (d === "object") { if (g instanceof Date) return "date"; if (g instanceof RegExp) return "regexp"; } return d; } function Y(g) { var d = D(g); switch (d) { case "array": case "object": return "an " + d; case "boolean": case "date": case "regexp": return "a " + d; default: return d; } } function q(g) { return !g.constructor || !g.constructor.name ? p : g.constructor.name; } return v.checkPropTypes = o, v.resetWarningCache = o.resetWarningCache, v.PropTypes = v, v; }, aE; } var iE, VV; function p$e() { if (VV) return iE; VV = 1; var e = /* @__PURE__ */ rM(); function t() { } function r() { } return r.resetWarningCache = t, iE = function() { function n(i, s, l, c, u, f) { if (f !== e) { var p = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw p.name = "Invariant Violation", p; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, iE; } var WV; function m$e() { if (WV) return Sw.exports; if (WV = 1, process.env.NODE_ENV !== "production") { var e = jae(), t = !0; Sw.exports = /* @__PURE__ */ d$e()(e.isElement, t); } else Sw.exports = /* @__PURE__ */ p$e()(); return Sw.exports; } var g$e = /* @__PURE__ */ m$e(); const Zt = /* @__PURE__ */ s$e(g$e); function GV(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Gi(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? GV(Object(r), !0).forEach(function(n) { Eg(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : GV(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function c5(e) { "@babel/helpers - typeof"; return c5 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, c5(e); } function Eg(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function h$e(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function b$e(e, t) { if (e == null) return {}; var r = h$e(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function BC(e) { return y$e(e) || v$e(e) || x$e(e) || w$e(); } function y$e(e) { if (Array.isArray(e)) return qC(e); } function v$e(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function x$e(e, t) { if (e) { if (typeof e == "string") return qC(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return qC(e, t); } } function qC(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function w$e() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function k$e(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, p = e.fixedWidth, v = e.inverse, w = e.border, b = e.listItem, m = e.flip, x = e.size, O = e.rotation, E = e.pull, A = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": l, "fa-spin-reverse": u, "fa-spin-pulse": c, "fa-pulse": f, "fa-fw": p, "fa-inverse": v, "fa-border": w, "fa-li": b, "fa-flip": m === !0, "fa-flip-horizontal": m === "horizontal" || m === "both", "fa-flip-vertical": m === "vertical" || m === "both" }, Eg(t, "fa-".concat(x), typeof x < "u" && x !== null), Eg(t, "fa-rotate-".concat(O), typeof O < "u" && O !== null && O !== 0), Eg(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), Eg(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(A).map(function(h) { return A[h] ? h : null; }).filter(function(h) { return h; }); } function O$e(e) { return e = e - 0, e === e; } function Rae(e) { return O$e(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var S$e = ["style"]; function E$e(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function A$e(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = Rae(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[E$e(o)] = a : t[o] = a, t; }, {}); } function Mae(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(l) { return Mae(e, l); }), o = Object.keys(t.attributes || {}).reduce(function(l, c) { var u = t.attributes[c]; switch (c) { case "class": l.attrs.className = u, delete t.attributes.class; break; case "style": l.attrs.style = A$e(u); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[Rae(c)] = u; } return l; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = b$e(r, S$e); return o.attrs.style = Gi(Gi({}, o.attrs.style), i), e.apply(void 0, [t.tag, Gi(Gi({}, o.attrs), s)].concat(BC(n))); } var Tae = !1; try { Tae = process.env.NODE_ENV === "production"; } catch { } function $$e() { if (!Tae && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function UV(e) { if (e && c5(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (YC.icon) return YC.icon(e); if (e === null) return null; if (e && c5(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function sE(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Eg({}, e, t) : {}; } var HV = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, ea = /* @__PURE__ */ de.forwardRef(function(e, t) { var r = Gi(Gi({}, HV), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = UV(n), f = sE("classes", [].concat(BC(k$e(r)), BC((i || "").split(" ")))), p = sE("transform", typeof r.transform == "string" ? YC.transform(r.transform) : r.transform), v = sE("mask", UV(o)), w = i$e(u, Gi(Gi(Gi(Gi({}, f), p), v), {}, { symbol: a, title: s, titleId: l, maskId: c })); if (!w) return $$e("Could not find icon", u), null; var b = w.abstract, m = { ref: t }; return Object.keys(r).forEach(function(x) { HV.hasOwnProperty(x) || (m[x] = r[x]); }), P$e(b[0], m); }); ea.displayName = "FontAwesomeIcon"; ea.propTypes = { beat: Zt.bool, border: Zt.bool, beatFade: Zt.bool, bounce: Zt.bool, className: Zt.string, fade: Zt.bool, flash: Zt.bool, mask: Zt.oneOfType([Zt.object, Zt.array, Zt.string]), maskId: Zt.string, fixedWidth: Zt.bool, inverse: Zt.bool, flip: Zt.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: Zt.oneOfType([Zt.object, Zt.array, Zt.string]), listItem: Zt.bool, pull: Zt.oneOf(["right", "left"]), pulse: Zt.bool, rotation: Zt.oneOf([0, 90, 180, 270]), shake: Zt.bool, size: Zt.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: Zt.bool, spinPulse: Zt.bool, spinReverse: Zt.bool, symbol: Zt.oneOfType([Zt.bool, Zt.string]), title: Zt.string, titleId: Zt.string, transform: Zt.oneOfType([Zt.string, Zt.object]), swapOpacity: Zt.bool }; var P$e = Mae.bind(null, de.createElement); const nM = "-", C$e = (e) => { const t = _$e(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(nM); return a[0] === "" && a.length !== 1 && a.shift(), zae(a, t) || N$e(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, zae = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? zae(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(nM); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, YV = /^\[(.+)\]$/, N$e = (e) => { if (YV.test(e)) { const t = YV.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, _$e = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return I$e(Object.entries(e.classGroups), r).forEach(([o, a]) => { XC(a, n, o, t); }), n; }, XC = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : BV(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (j$e(o)) { XC(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { XC(i, BV(t, a), r, n); }); }); }, BV = (e, t) => { let r = e; return t.split(nM).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, j$e = (e) => e.isThemeGetter, I$e = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, R$e = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, Dae = "!", M$e = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(Dae), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, T$e = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, z$e = (e) => ({ cache: R$e(e.cacheSize), parseClassName: M$e(e), ...C$e(e) }), D$e = /\s+/, F$e = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(D$e); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = T$e(u).join(":"), x = f ? m + Dae : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function L$e() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = Fae(t)) && (n && (n += " "), n += r); return n; } const Fae = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = Fae(e[n])) && (r && (r += " "), r += t); return r; }; function V$e(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = z$e(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = F$e(l, r); return o(l, u), u; } return function() { return a(L$e.apply(null, arguments)); }; } const cn = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, Lae = /^\[(?:([a-z-]+):)?(.+)\]$/i, W$e = /^\d+\/\d+$/, G$e = /* @__PURE__ */ new Set(["px", "full", "screen"]), U$e = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, H$e = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Y$e = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, B$e = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, q$e = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, tl = (e) => uh(e) || G$e.has(e) || W$e.test(e), Gc = (e) => Cb(e, "length", rPe), uh = (e) => !!e && !Number.isNaN(Number(e)), lE = (e) => Cb(e, "number", uh), Oy = (e) => !!e && Number.isInteger(Number(e)), X$e = (e) => e.endsWith("%") && uh(e.slice(0, -1)), Ot = (e) => Lae.test(e), Uc = (e) => U$e.test(e), K$e = /* @__PURE__ */ new Set(["length", "size", "percentage"]), J$e = (e) => Cb(e, K$e, Vae), Q$e = (e) => Cb(e, "position", Vae), Z$e = /* @__PURE__ */ new Set(["image", "url"]), ePe = (e) => Cb(e, Z$e, oPe), tPe = (e) => Cb(e, "", nPe), Sy = () => !0, Cb = (e, t, r) => { const n = Lae.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, rPe = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. H$e.test(e) && !Y$e.test(e) ), Vae = () => !1, nPe = (e) => B$e.test(e), oPe = (e) => q$e.test(e), aPe = () => { const e = cn("colors"), t = cn("spacing"), r = cn("blur"), n = cn("brightness"), o = cn("borderColor"), a = cn("borderRadius"), i = cn("borderSpacing"), s = cn("borderWidth"), l = cn("contrast"), c = cn("grayscale"), u = cn("hueRotate"), f = cn("invert"), p = cn("gap"), v = cn("gradientColorStops"), w = cn("gradientColorStopPositions"), b = cn("inset"), m = cn("margin"), x = cn("opacity"), O = cn("padding"), E = cn("saturate"), A = cn("scale"), h = cn("sepia"), G = cn("skew"), H = cn("space"), Z = cn("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", Ot, t], I = () => [Ot, t], te = () => ["", tl, Gc], U = () => ["auto", uh, Ot], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", Ot], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [uh, Ot]; return { cacheSize: 500, separator: ":", theme: { colors: [Sy], spacing: [tl, Gc], blur: ["none", "", Uc, Ot], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", Uc, Ot], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [X$e, Gc], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", Ot] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [Uc] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), Ot] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", Oy, Ot] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", Ot] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", Oy, Ot] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [Sy] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", Oy, Ot] }, Ot] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [Sy] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [Oy, Ot] }, Ot] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", Ot] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", Ot] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", Ot, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [Ot, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [Ot, t, "none", "full", "min", "max", "fit", "prose", { screen: [Uc] }, Uc] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [Ot, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [Ot, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [Ot, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [Ot, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", Uc, Gc] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", lE] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [Sy] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", Ot] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", uh, lE] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", tl, Ot] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", Ot] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", Ot] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", tl, Gc] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", tl, Ot] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Ot] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", Ot] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), Q$e] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", J$e] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, ePe] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [tl, Ot] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [tl, Gc] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [tl, Gc] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", Uc, tPe] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [Sy] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", Uc, Ot] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", Ot] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", Ot] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", Ot] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [Oy, Ot] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", Ot] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", Ot] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", Ot] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [tl, Gc, lE] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, qV = /* @__PURE__ */ V$e(aPe); /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const tg = { prefix: "fas", iconName: "spinner-third", icon: [512, 512, [], "f3f4", "M224 32c0-17.7 14.3-32 32-32C397.4 0 512 114.6 512 256c0 46.6-12.5 90.4-34.3 128c-8.8 15.3-28.4 20.5-43.7 11.7s-20.5-28.4-11.7-43.7c16.3-28.2 25.7-61 25.7-96c0-106-86-192-192-192c-17.7 0-32-14.3-32-32z"] }, iPe = ({ icon: e, iconClassName: t, children: r, className: n, htmlFor: o, variant: a = "primary", disabled: i, iconFlip: s = !1, loading: l, as: c = "button", href: u, target: f, ...p }) => { function v(m) { switch (m) { case "secondary": return "i-am-a-unique-string bg-ui-controls text-base-fg border border-ui-controls-border hover:bg-ui-controls/80 focus-visible:outline-secondary"; case "action": return "bg-ui-controls text-base-fg border border-ui-controls-border hover:bg-ui-controls/80 focus-visible:outline-action"; case "destructive": return "bg-red hover:bg-red/90 text-white focus-visible:outline-red"; case "ghost": return "bg-transparent text-base-fg border border-ui-controls-border/70 hover:bg-ui-controls/30 focus-visible:outline-primary-600"; case "primary": default: return "bg-primary hover:bg-primary-400 text-white focus-visible:outline-primary-600"; } } const w = qV( i || l ? "opacity-50 pointer-events-none" : "" ), b = qV( "w-fit text-sm font-medium rounded-lg px-3 py-2 border border-transparent shadow-sm focus-visible:outline focus-visible:outline-0 focus-visible:outline-offset-0 transition-all duration-150 flex gap-2 items-center justify-center active:scale-95 transform", v(a), n, w ); return o ? /* @__PURE__ */ me("label", { className: b, htmlFor: o, style: p.style, children: [ l && !s ? /* @__PURE__ */ B(ea, { icon: tg, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && !s ? /* @__PURE__ */ B(ea, { icon: e, className: t }) : null }), r, l && s ? /* @__PURE__ */ B(ea, { icon: tg, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && s ? /* @__PURE__ */ B(ea, { icon: e, className: t }) : null }) ] }) : c === "link" && u ? /* @__PURE__ */ me( "a", { href: u, className: b, style: p.style, ...p, target: f, children: [ l && !s ? /* @__PURE__ */ B(ea, { icon: tg, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && !s ? /* @__PURE__ */ B(ea, { icon: e, className: t }) : null }), r, l && s ? /* @__PURE__ */ B(ea, { icon: tg, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && s ? /* @__PURE__ */ B(ea, { icon: e, className: t }) : null }) ] } ) : /* @__PURE__ */ me( "button", { className: b, disabled: i || l, ...p, htmlFor: o, children: [ l && !s ? /* @__PURE__ */ B(ea, { icon: tg, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && !s ? /* @__PURE__ */ B(ea, { icon: e, className: t }) : null }), r, l && s ? /* @__PURE__ */ B(ea, { icon: tg, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && s ? /* @__PURE__ */ B(ea, { icon: e, className: t }) : null }) ] } ); }; var Q2 = /* @__PURE__ */ ((e) => (e[e.ALL = 0] = "ALL", e[e.FEATURED = 1] = "FEATURED", e[e.MINE = 2] = "MINE", e[e.BOOKMARKED = 3] = "BOOKMARKED", e))(Q2 || {}); Q2.FEATURED, Q2.MINE, Q2.BOOKMARKED; const oM = "-", sPe = (e) => { const t = cPe(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (i) => { const s = i.split(oM); return s[0] === "" && s.length !== 1 && s.shift(), Wae(s, t) || lPe(i); }, getConflictingClassGroupIds: (i, s) => { const l = r[i] || []; return s && n[i] ? [...l, ...n[i]] : l; } }; }, Wae = (e, t) => { var i; if (e.length === 0) return t.classGroupId; const r = e[0], n = t.nextPart.get(r), o = n ? Wae(e.slice(1), n) : void 0; if (o) return o; if (t.validators.length === 0) return; const a = e.join(oM); return (i = t.validators.find(({ validator: s }) => s(a))) == null ? void 0 : i.classGroupId; }, XV = /^\[(.+)\]$/, lPe = (e) => { if (XV.test(e)) { const t = XV.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, cPe = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return fPe(Object.entries(e.classGroups), r).forEach(([a, i]) => { KC(i, n, a, t); }), n; }, KC = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : KV(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (uPe(o)) { KC(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { KC(i, KV(t, a), r, n); }); }); }, KV = (e, t) => { let r = e; return t.split(oM).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, uPe = (e) => e.isThemeGetter, fPe = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, dPe = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, Gae = "!", pPe = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(Gae), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, mPe = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, gPe = (e) => ({ cache: dPe(e.cacheSize), parseClassName: pPe(e), ...sPe(e) }), hPe = /\s+/, bPe = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(hPe); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = mPe(u).join(":"), x = f ? m + Gae : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function yPe() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = Uae(t)) && (n && (n += " "), n += r); return n; } const Uae = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = Uae(e[n])) && (r && (r += " "), r += t); return r; }; function vPe(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = gPe(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = bPe(l, r); return o(l, u), u; } return function() { return a(yPe.apply(null, arguments)); }; } const un = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, Hae = /^\[(?:([a-z-]+):)?(.+)\]$/i, xPe = /^\d+\/\d+$/, wPe = /* @__PURE__ */ new Set(["px", "full", "screen"]), kPe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, OPe = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, SPe = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, EPe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, APe = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, rl = (e) => fh(e) || wPe.has(e) || xPe.test(e), Hc = (e) => Nb(e, "length", RPe), fh = (e) => !!e && !Number.isNaN(Number(e)), cE = (e) => Nb(e, "number", fh), Ey = (e) => !!e && Number.isInteger(Number(e)), $Pe = (e) => e.endsWith("%") && fh(e.slice(0, -1)), St = (e) => Hae.test(e), Yc = (e) => kPe.test(e), PPe = /* @__PURE__ */ new Set(["length", "size", "percentage"]), CPe = (e) => Nb(e, PPe, Yae), NPe = (e) => Nb(e, "position", Yae), _Pe = /* @__PURE__ */ new Set(["image", "url"]), jPe = (e) => Nb(e, _Pe, TPe), IPe = (e) => Nb(e, "", MPe), Ay = () => !0, Nb = (e, t, r) => { const n = Hae.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, RPe = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. OPe.test(e) && !SPe.test(e) ), Yae = () => !1, MPe = (e) => EPe.test(e), TPe = (e) => APe.test(e), zPe = () => { const e = un("colors"), t = un("spacing"), r = un("blur"), n = un("brightness"), o = un("borderColor"), a = un("borderRadius"), i = un("borderSpacing"), s = un("borderWidth"), l = un("contrast"), c = un("grayscale"), u = un("hueRotate"), f = un("invert"), p = un("gap"), v = un("gradientColorStops"), w = un("gradientColorStopPositions"), b = un("inset"), m = un("margin"), x = un("opacity"), O = un("padding"), E = un("saturate"), A = un("scale"), h = un("sepia"), G = un("skew"), H = un("space"), Z = un("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", St, t], I = () => [St, t], te = () => ["", rl, Hc], U = () => ["auto", fh, St], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", St], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [fh, St]; return { cacheSize: 500, separator: ":", theme: { colors: [Ay], spacing: [rl, Hc], blur: ["none", "", Yc, St], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", Yc, St], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [$Pe, Hc], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", St] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [Yc] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), St] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", Ey, St] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", St] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", Ey, St] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [Ay] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", Ey, St] }, St] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [Ay] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [Ey, St] }, St] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", St] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", St] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", St, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [St, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [St, t, "none", "full", "min", "max", "fit", "prose", { screen: [Yc] }, Yc] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [St, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [St, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [St, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [St, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", Yc, Hc] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", cE] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [Ay] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", St] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", fh, cE] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", rl, St] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", St] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", St] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", rl, Hc] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", rl, St] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", St] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", St] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), NPe] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", CPe] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, jPe] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [rl, St] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [rl, Hc] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [rl, Hc] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", Yc, IPe] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [Ay] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", Yc, St] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", St] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", St] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", St] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [Ey, St] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", St] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", St] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", St] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [rl, Hc, cE] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, JV = /* @__PURE__ */ vPe(zPe), QV = (e) => { let t; const r = /* @__PURE__ */ new Set(), n = (c, u) => { const f = typeof c == "function" ? c(t) : c; if (!Object.is(f, t)) { const p = t; t = u ?? (typeof f != "object" || f === null) ? f : Object.assign({}, t, f), r.forEach((v) => v(t, p)); } }, o = () => t, s = { setState: n, getState: o, getInitialState: () => l, subscribe: (c) => (r.add(c), () => r.delete(c)) }, l = t = e(n, o, s); return s; }, DPe = (e) => e ? QV(e) : QV, FPe = (e) => e; function LPe(e, t = FPe) { const r = de.useSyncExternalStore( e.subscribe, () => t(e.getState()), () => t(e.getInitialState()) ); return de.useDebugValue(r), r; } const ZV = (e) => { const t = DPe(e), r = (n) => LPe(t, n); return Object.assign(r, t), r; }, VPe = (e) => e ? ZV(e) : ZV, WPe = VPe((e) => ({ isOpen: !1, open: () => e({ isOpen: !0 }), close: () => e({ isOpen: !1 }), toggle: () => e((t) => ({ isOpen: !t.isOpen })) })); function gf(e, t, { checkForDefaultPrevented: r = !0 } = {}) { return function(n) { if (e == null || e(n), r === !1 || !n.defaultPrevented) return t == null ? void 0 : t(n); }; } function eW(e, t) { if (typeof e == "function") return e(t); e != null && (e.current = t); } function Bae(...e) { return (t) => { let r = !1; const n = e.map((o) => { const a = eW(o, t); return !r && typeof a == "function" && (r = !0), a; }); if (r) return () => { for (let o = 0; o < n.length; o++) { const a = n[o]; typeof a == "function" ? a() : eW(e[o], null); } }; }; } function qm(...e) { return V.useCallback(Bae(...e), e); } function GPe(e, t) { const r = V.createContext(t), n = (a) => { const { children: i, ...s } = a, l = V.useMemo(() => s, Object.values(s)); return /* @__PURE__ */ B(r.Provider, { value: l, children: i }); }; n.displayName = e + "Provider"; function o(a) { const i = V.useContext(r); if (i) return i; if (t !== void 0) return t; throw new Error(`\`${a}\` must be used within \`${e}\``); } return [n, o]; } function UPe(e, t = []) { let r = []; function n(a, i) { const s = V.createContext(i), l = r.length; r = [...r, i]; const c = (f) => { var p; const { scope: v, children: w, ...b } = f, m = ((p = v == null ? void 0 : v[e]) == null ? void 0 : p[l]) || s, x = V.useMemo(() => b, Object.values(b)); return /* @__PURE__ */ B(m.Provider, { value: x, children: w }); }; c.displayName = a + "Provider"; function u(f, p) { var v; const w = ((v = p == null ? void 0 : p[e]) == null ? void 0 : v[l]) || s, b = V.useContext(w); if (b) return b; if (i !== void 0) return i; throw new Error(`\`${f}\` must be used within \`${a}\``); } return [c, u]; } const o = () => { const a = r.map((i) => V.createContext(i)); return function(i) { const s = (i == null ? void 0 : i[e]) || a; return V.useMemo( () => ({ [`__scope${e}`]: { ...i, [e]: s } }), [i, s] ); }; }; return o.scopeName = e, [n, HPe(o, ...t)]; } function HPe(...e) { const t = e[0]; if (e.length === 1) return t; const r = () => { const n = e.map((o) => ({ useScope: o(), scopeName: o.scopeName })); return function(o) { const a = n.reduce((i, { useScope: s, scopeName: l }) => { const c = s(o)[`__scope${l}`]; return { ...i, ...c }; }, {}); return V.useMemo(() => ({ [`__scope${t.scopeName}`]: a }), [a]); }; }; return r.scopeName = t.scopeName, r; } var d0 = globalThis != null && globalThis.document ? V.useLayoutEffect : () => { }, YPe = V[" useId ".trim().toString()] || (() => { }), BPe = 0; function uE(e) { const [t, r] = V.useState(YPe()); return d0(() => { r((n) => n ?? String(BPe++)); }, [e]), e || (t ? `radix-${t}` : ""); } var qPe = V[" useInsertionEffect ".trim().toString()] || d0; function XPe({ prop: e, defaultProp: t, onChange: r = () => { }, caller: n }) { const [o, a, i] = KPe({ defaultProp: t, onChange: r }), s = e !== void 0, l = s ? e : o; { const u = V.useRef(e !== void 0); V.useEffect(() => { const f = u.current; f !== s && console.warn( `${n} is changing from ${f ? "controlled" : "uncontrolled"} to ${s ? "controlled" : "uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.` ), u.current = s; }, [s, n]); } const c = V.useCallback( (u) => { var f; if (s) { const p = JPe(u) ? u(e) : u; p !== e && ((f = i.current) == null || f.call(i, p)); } else a(u); }, [s, e, a, i] ); return [l, c]; } function KPe({ defaultProp: e, onChange: t }) { const [r, n] = V.useState(e), o = V.useRef(r), a = V.useRef(t); return qPe(() => { a.current = t; }, [t]), V.useEffect(() => { var i; o.current !== r && ((i = a.current) == null || i.call(a, r), o.current = r); }, [r, o]), [r, n, a]; } function JPe(e) { return typeof e == "function"; } // @__NO_SIDE_EFFECTS__ function qae(e) { const t = /* @__PURE__ */ QPe(e), r = V.forwardRef((n, o) => { const { children: a, ...i } = n, s = V.Children.toArray(a), l = s.find(eCe); if (l) { const c = l.props.children, u = s.map((f) => f === l ? V.Children.count(c) > 1 ? V.Children.only(null) : V.isValidElement(c) ? c.props.children : null : f); return /* @__PURE__ */ B(t, { ...i, ref: o, children: V.isValidElement(c) ? V.cloneElement(c, void 0, u) : null }); } return /* @__PURE__ */ B(t, { ...i, ref: o, children: a }); }); return r.displayName = `${e}.Slot`, r; } // @__NO_SIDE_EFFECTS__ function QPe(e) { const t = V.forwardRef((r, n) => { const { children: o, ...a } = r; if (V.isValidElement(o)) { const i = rCe(o), s = tCe(a, o.props); return o.type !== V.Fragment && (s.ref = n ? Bae(n, i) : i), V.cloneElement(o, s); } return V.Children.count(o) > 1 ? V.Children.only(null) : null; }); return t.displayName = `${e}.SlotClone`, t; } var ZPe = Symbol("radix.slottable"); function eCe(e) { return V.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === ZPe; } function tCe(e, t) { const r = { ...t }; for (const n in t) { const o = e[n], a = t[n]; /^on[A-Z]/.test(n) ? o && a ? r[n] = (...i) => { const s = a(...i); return o(...i), s; } : o && (r[n] = o) : n === "style" ? r[n] = { ...o, ...a } : n === "className" && (r[n] = [o, a].filter(Boolean).join(" ")); } return { ...e, ...r }; } function rCe(e) { var t, r; let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning; return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref); } var nCe = [ "a", "button", "div", "form", "h2", "h3", "img", "input", "label", "li", "nav", "ol", "p", "select", "span", "svg", "ul" ], Ks = nCe.reduce((e, t) => { const r = /* @__PURE__ */ qae(`Primitive.${t}`), n = V.forwardRef((o, a) => { const { asChild: i, ...s } = o, l = i ? r : t; return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ B(l, { ...s, ref: a }); }); return n.displayName = `Primitive.${t}`, { ...e, [t]: n }; }, {}); function oCe(e, t) { e && tm.flushSync(() => e.dispatchEvent(t)); } function p0(e) { const t = V.useRef(e); return V.useEffect(() => { t.current = e; }), V.useMemo(() => (...r) => { var n; return (n = t.current) == null ? void 0 : n.call(t, ...r); }, []); } function aCe(e, t = globalThis == null ? void 0 : globalThis.document) { const r = p0(e); V.useEffect(() => { const n = (o) => { o.key === "Escape" && r(o); }; return t.addEventListener("keydown", n, { capture: !0 }), () => t.removeEventListener("keydown", n, { capture: !0 }); }, [r, t]); } var iCe = "DismissableLayer", JC = "dismissableLayer.update", sCe = "dismissableLayer.pointerDownOutside", lCe = "dismissableLayer.focusOutside", tW, Xae = V.createContext({ layers: /* @__PURE__ */ new Set(), layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(), branches: /* @__PURE__ */ new Set() }), Kae = V.forwardRef( (e, t) => { const { disableOutsidePointerEvents: r = !1, onEscapeKeyDown: n, onPointerDownOutside: o, onFocusOutside: a, onInteractOutside: i, onDismiss: s, ...l } = e, c = V.useContext(Xae), [u, f] = V.useState(null), p = (u == null ? void 0 : u.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, v] = V.useState({}), w = qm(t, (H) => f(H)), b = Array.from(c.layers), [m] = [...c.layersWithOutsidePointerEventsDisabled].slice(-1), x = b.indexOf(m), O = u ? b.indexOf(u) : -1, E = c.layersWithOutsidePointerEventsDisabled.size > 0, A = O >= x, h = fCe((H) => { const Z = H.target, J = [...c.branches].some((X) => X.contains(Z)); !A || J || (o == null || o(H), i == null || i(H), H.defaultPrevented || s == null || s()); }, p), G = dCe((H) => { const Z = H.target; [...c.branches].some((J) => J.contains(Z)) || (a == null || a(H), i == null || i(H), H.defaultPrevented || s == null || s()); }, p); return aCe((H) => { O === c.layers.size - 1 && (n == null || n(H), !H.defaultPrevented && s && (H.preventDefault(), s())); }, p), V.useEffect(() => { if (u) return r && (c.layersWithOutsidePointerEventsDisabled.size === 0 && (tW = p.body.style.pointerEvents, p.body.style.pointerEvents = "none"), c.layersWithOutsidePointerEventsDisabled.add(u)), c.layers.add(u), rW(), () => { r && c.layersWithOutsidePointerEventsDisabled.size === 1 && (p.body.style.pointerEvents = tW); }; }, [u, p, r, c]), V.useEffect(() => () => { u && (c.layers.delete(u), c.layersWithOutsidePointerEventsDisabled.delete(u), rW()); }, [u, c]), V.useEffect(() => { const H = () => v({}); return document.addEventListener(JC, H), () => document.removeEventListener(JC, H); }, []), /* @__PURE__ */ B( Ks.div, { ...l, ref: w, style: { pointerEvents: E ? A ? "auto" : "none" : void 0, ...e.style }, onFocusCapture: gf(e.onFocusCapture, G.onFocusCapture), onBlurCapture: gf(e.onBlurCapture, G.onBlurCapture), onPointerDownCapture: gf( e.onPointerDownCapture, h.onPointerDownCapture ) } ); } ); Kae.displayName = iCe; var cCe = "DismissableLayerBranch", uCe = V.forwardRef((e, t) => { const r = V.useContext(Xae), n = V.useRef(null), o = qm(t, n); return V.useEffect(() => { const a = n.current; if (a) return r.branches.add(a), () => { r.branches.delete(a); }; }, [r.branches]), /* @__PURE__ */ B(Ks.div, { ...e, ref: o }); }); uCe.displayName = cCe; function fCe(e, t = globalThis == null ? void 0 : globalThis.document) { const r = p0(e), n = V.useRef(!1), o = V.useRef(() => { }); return V.useEffect(() => { const a = (s) => { if (s.target && !n.current) { let l = function() { Jae( sCe, r, c, { discrete: !0 } ); }; const c = { originalEvent: s }; s.pointerType === "touch" ? (t.removeEventListener("click", o.current), o.current = l, t.addEventListener("click", o.current, { once: !0 })) : l(); } else t.removeEventListener("click", o.current); n.current = !1; }, i = window.setTimeout(() => { t.addEventListener("pointerdown", a); }, 0); return () => { window.clearTimeout(i), t.removeEventListener("pointerdown", a), t.removeEventListener("click", o.current); }; }, [t, r]), { // ensures we check React component tree (not just DOM tree) onPointerDownCapture: () => n.current = !0 }; } function dCe(e, t = globalThis == null ? void 0 : globalThis.document) { const r = p0(e), n = V.useRef(!1); return V.useEffect(() => { const o = (a) => { a.target && !n.current && Jae(lCe, r, { originalEvent: a }, { discrete: !1 }); }; return t.addEventListener("focusin", o), () => t.removeEventListener("focusin", o); }, [t, r]), { onFocusCapture: () => n.current = !0, onBlurCapture: () => n.current = !1 }; } function rW() { const e = new CustomEvent(JC); document.dispatchEvent(e); } function Jae(e, t, r, { discrete: n }) { const o = r.originalEvent.target, a = new CustomEvent(e, { bubbles: !1, cancelable: !0, detail: r }); t && o.addEventListener(e, t, { once: !0 }), n ? oCe(o, a) : o.dispatchEvent(a); } var fE = "focusScope.autoFocusOnMount", dE = "focusScope.autoFocusOnUnmount", nW = { bubbles: !1, cancelable: !0 }, pCe = "FocusScope", Qae = V.forwardRef((e, t) => { const { loop: r = !1, trapped: n = !1, onMountAutoFocus: o, onUnmountAutoFocus: a, ...i } = e, [s, l] = V.useState(null), c = p0(o), u = p0(a), f = V.useRef(null), p = qm(t, (b) => l(b)), v = V.useRef({ paused: !1, pause() { this.paused = !0; }, resume() { this.paused = !1; } }).current; V.useEffect(() => { if (n) { let b = function(E) { if (v.paused || !s) return; const A = E.target; s.contains(A) ? f.current = A : Xu(f.current, { select: !0 }); }, m = function(E) { if (v.paused || !s) return; const A = E.relatedTarget; A !== null && (s.contains(A) || Xu(f.current, { select: !0 })); }, x = function(E) { if (document.activeElement === document.body) for (const A of E) A.removedNodes.length > 0 && Xu(s); }; document.addEventListener("focusin", b), document.addEventListener("focusout", m); const O = new MutationObserver(x); return s && O.observe(s, { childList: !0, subtree: !0 }), () => { document.removeEventListener("focusin", b), document.removeEventListener("focusout", m), O.disconnect(); }; } }, [n, s, v.paused]), V.useEffect(() => { if (s) { aW.add(v); const b = document.activeElement; if (!s.contains(b)) { const m = new CustomEvent(fE, nW); s.addEventListener(fE, c), s.dispatchEvent(m), m.defaultPrevented || (mCe(vCe(Zae(s)), { select: !0 }), document.activeElement === b && Xu(s)); } return () => { s.removeEventListener(fE, c), setTimeout(() => { const m = new CustomEvent(dE, nW); s.addEventListener(dE, u), s.dispatchEvent(m), m.defaultPrevented || Xu(b ?? document.body, { select: !0 }), s.removeEventListener(dE, u), aW.remove(v); }, 0); }; } }, [s, c, u, v]); const w = V.useCallback( (b) => { if (!r && !n || v.paused) return; const m = b.key === "Tab" && !b.altKey && !b.ctrlKey && !b.metaKey, x = document.activeElement; if (m && x) { const O = b.currentTarget, [E, A] = gCe(O); E && A ? !b.shiftKey && x === A ? (b.preventDefault(), r && Xu(E, { select: !0 })) : b.shiftKey && x === E && (b.preventDefault(), r && Xu(A, { select: !0 })) : x === O && b.preventDefault(); } }, [r, n, v.paused] ); return /* @__PURE__ */ B(Ks.div, { tabIndex: -1, ...i, ref: p, onKeyDown: w }); }); Qae.displayName = pCe; function mCe(e, { select: t = !1 } = {}) { const r = document.activeElement; for (const n of e) if (Xu(n, { select: t }), document.activeElement !== r) return; } function gCe(e) { const t = Zae(e), r = oW(t, e), n = oW(t.reverse(), e); return [r, n]; } function Zae(e) { const t = [], r = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, { acceptNode: (n) => { const o = n.tagName === "INPUT" && n.type === "hidden"; return n.disabled || n.hidden || o ? NodeFilter.FILTER_SKIP : n.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP; } }); for (; r.nextNode(); ) t.push(r.currentNode); return t; } function oW(e, t) { for (const r of e) if (!hCe(r, { upTo: t })) return r; } function hCe(e, { upTo: t }) { if (getComputedStyle(e).visibility === "hidden") return !0; for (; e; ) { if (t !== void 0 && e === t) return !1; if (getComputedStyle(e).display === "none") return !0; e = e.parentElement; } return !1; } function bCe(e) { return e instanceof HTMLInputElement && "select" in e; } function Xu(e, { select: t = !1 } = {}) { if (e && e.focus) { const r = document.activeElement; e.focus({ preventScroll: !0 }), e !== r && bCe(e) && t && e.select(); } } var aW = yCe(); function yCe() { let e = []; return { add(t) { const r = e[0]; t !== r && (r == null || r.pause()), e = iW(e, t), e.unshift(t); }, remove(t) { var r; e = iW(e, t), (r = e[0]) == null || r.resume(); } }; } function iW(e, t) { const r = [...e], n = r.indexOf(t); return n !== -1 && r.splice(n, 1), r; } function vCe(e) { return e.filter((t) => t.tagName !== "A"); } var xCe = "Portal", eie = V.forwardRef((e, t) => { var r; const { container: n, ...o } = e, [a, i] = V.useState(!1); d0(() => i(!0), []); const s = n || a && ((r = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : r.body); return s ? QI.createPortal(/* @__PURE__ */ B(Ks.div, { ...o, ref: t }), s) : null; }); eie.displayName = xCe; function wCe(e, t) { return V.useReducer((r, n) => t[r][n] ?? r, e); } var BO = (e) => { const { present: t, children: r } = e, n = kCe(t), o = typeof r == "function" ? r({ present: n.isPresent }) : V.Children.only(r), a = qm(n.ref, OCe(o)); return typeof r == "function" || n.isPresent ? V.cloneElement(o, { ref: a }) : null; }; BO.displayName = "Presence"; function kCe(e) { const [t, r] = V.useState(), n = V.useRef(null), o = V.useRef(e), a = V.useRef("none"), i = e ? "mounted" : "unmounted", [s, l] = wCe(i, { mounted: { UNMOUNT: "unmounted", ANIMATION_OUT: "unmountSuspended" }, unmountSuspended: { MOUNT: "mounted", ANIMATION_END: "unmounted" }, unmounted: { MOUNT: "mounted" } }); return V.useEffect(() => { const c = Ew(n.current); a.current = s === "mounted" ? c : "none"; }, [s]), d0(() => { const c = n.current, u = o.current; if (u !== e) { const f = a.current, p = Ew(c); e ? l("MOUNT") : p === "none" || (c == null ? void 0 : c.display) === "none" ? l("UNMOUNT") : l(u && f !== p ? "ANIMATION_OUT" : "UNMOUNT"), o.current = e; } }, [e, l]), d0(() => { if (t) { let c; const u = t.ownerDocument.defaultView ?? window, f = (v) => { const w = Ew(n.current).includes(v.animationName); if (v.target === t && w && (l("ANIMATION_END"), !o.current)) { const b = t.style.animationFillMode; t.style.animationFillMode = "forwards", c = u.setTimeout(() => { t.style.animationFillMode === "forwards" && (t.style.animationFillMode = b); }); } }, p = (v) => { v.target === t && (a.current = Ew(n.current)); }; return t.addEventListener("animationstart", p), t.addEventListener("animationcancel", f), t.addEventListener("animationend", f), () => { u.clearTimeout(c), t.removeEventListener("animationstart", p), t.removeEventListener("animationcancel", f), t.removeEventListener("animationend", f); }; } else l("ANIMATION_END"); }, [t, l]), { isPresent: ["mounted", "unmountSuspended"].includes(s), ref: V.useCallback((c) => { n.current = c ? getComputedStyle(c) : null, r(c); }, []) }; } function Ew(e) { return (e == null ? void 0 : e.animationName) || "none"; } function OCe(e) { var t, r; let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning; return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref); } var pE = 0; function SCe() { V.useEffect(() => { const e = document.querySelectorAll("[data-radix-focus-guard]"); return document.body.insertAdjacentElement("afterbegin", e[0] ?? sW()), document.body.insertAdjacentElement("beforeend", e[1] ?? sW()), pE++, () => { pE === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((t) => t.remove()), pE--; }; }, []); } function sW() { const e = document.createElement("span"); return e.setAttribute("data-radix-focus-guard", ""), e.tabIndex = 0, e.style.outline = "none", e.style.opacity = "0", e.style.position = "fixed", e.style.pointerEvents = "none", e; } var as = function() { return as = Object.assign || function(e) { for (var t, r = 1, n = arguments.length; r < n; r++) { t = arguments[r]; for (var o in t) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]); } return e; }, as.apply(this, arguments); }; function tie(e, t) { var r = {}; for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (r[n] = e[n]); if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var o = 0, n = Object.getOwnPropertySymbols(e); o < n.length; o++) t.indexOf(n[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[o]) && (r[n[o]] = e[n[o]]); return r; } function ECe(e, t, r) { for (var n = 0, o = t.length, a; n < o; n++) (a || !(n in t)) && (a || (a = Array.prototype.slice.call(t, 0, n)), a[n] = t[n]); return e.concat(a || Array.prototype.slice.call(t)); } var Z2 = "right-scroll-bar-position", ek = "width-before-scroll-bar", ACe = "with-scroll-bars-hidden", $Ce = "--removed-body-scroll-bar-size"; function mE(e, t) { return typeof e == "function" ? e(t) : e && (e.current = t), e; } function PCe(e, t) { var r = We(function() { return { // value value: e, // last callback callback: t, // "memoized" public interface facade: { get current() { return r.value; }, set current(n) { var o = r.value; o !== n && (r.value = n, r.callback(n, o)); } } }; })[0]; return r.callback = t, r.facade; } var CCe = typeof window < "u" ? V.useLayoutEffect : V.useEffect, lW = /* @__PURE__ */ new WeakMap(); function NCe(e, t) { var r = PCe(null, function(n) { return e.forEach(function(o) { return mE(o, n); }); }); return CCe(function() { var n = lW.get(r); if (n) { var o = new Set(n), a = new Set(e), i = r.current; o.forEach(function(s) { a.has(s) || mE(s, null); }), a.forEach(function(s) { o.has(s) || mE(s, i); }); } lW.set(r, e); }, [e]), r; } function _Ce(e) { return e; } function jCe(e, t) { t === void 0 && (t = _Ce); var r = [], n = !1, o = { read: function() { if (n) throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`."); return r.length ? r[r.length - 1] : e; }, useMedium: function(a) { var i = t(a, n); return r.push(i), function() { r = r.filter(function(s) { return s !== i; }); }; }, assignSyncMedium: function(a) { for (n = !0; r.length; ) { var i = r; r = [], i.forEach(a); } r = { push: function(s) { return a(s); }, filter: function() { return r; } }; }, assignMedium: function(a) { n = !0; var i = []; if (r.length) { var s = r; r = [], s.forEach(a), i = r; } var l = function() { var u = i; i = [], u.forEach(a); }, c = function() { return Promise.resolve().then(l); }; c(), r = { push: function(u) { i.push(u), c(); }, filter: function(u) { return i = i.filter(u), r; } }; } }; return o; } function ICe(e) { e === void 0 && (e = {}); var t = jCe(null); return t.options = as({ async: !0, ssr: !1 }, e), t; } var rie = function(e) { var t = e.sideCar, r = tie(e, ["sideCar"]); if (!t) throw new Error("Sidecar: please provide `sideCar` property to import the right car"); var n = t.read(); if (!n) throw new Error("Sidecar medium not found"); return V.createElement(n, as({}, r)); }; rie.isSideCarExport = !0; function RCe(e, t) { return e.useMedium(t), rie; } var nie = ICe(), gE = function() { }, qO = V.forwardRef(function(e, t) { var r = V.useRef(null), n = V.useState({ onScrollCapture: gE, onWheelCapture: gE, onTouchMoveCapture: gE }), o = n[0], a = n[1], i = e.forwardProps, s = e.children, l = e.className, c = e.removeScrollBar, u = e.enabled, f = e.shards, p = e.sideCar, v = e.noRelative, w = e.noIsolation, b = e.inert, m = e.allowPinchZoom, x = e.as, O = x === void 0 ? "div" : x, E = e.gapMode, A = tie(e, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noRelative", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]), h = p, G = NCe([r, t]), H = as(as({}, A), o); return V.createElement( V.Fragment, null, u && V.createElement(h, { sideCar: nie, removeScrollBar: c, shards: f, noRelative: v, noIsolation: w, inert: b, setCallbacks: a, allowPinchZoom: !!m, lockRef: r, gapMode: E }), i ? V.cloneElement(V.Children.only(s), as(as({}, H), { ref: G })) : V.createElement(O, as({}, H, { className: l, ref: G }), s) ); }); qO.defaultProps = { enabled: !0, removeScrollBar: !0, inert: !1 }; qO.classNames = { fullWidth: ek, zeroRight: Z2 }; var MCe = function() { if (typeof __webpack_nonce__ < "u") return __webpack_nonce__; }; function TCe() { if (!document) return null; var e = document.createElement("style"); e.type = "text/css"; var t = MCe(); return t && e.setAttribute("nonce", t), e; } function zCe(e, t) { e.styleSheet ? e.styleSheet.cssText = t : e.appendChild(document.createTextNode(t)); } function DCe(e) { var t = document.head || document.getElementsByTagName("head")[0]; t.appendChild(e); } var FCe = function() { var e = 0, t = null; return { add: function(r) { e == 0 && (t = TCe()) && (zCe(t, r), DCe(t)), e++; }, remove: function() { e--, !e && t && (t.parentNode && t.parentNode.removeChild(t), t = null); } }; }, LCe = function() { var e = FCe(); return function(t, r) { V.useEffect(function() { return e.add(t), function() { e.remove(); }; }, [t && r]); }; }, oie = function() { var e = LCe(), t = function(r) { var n = r.styles, o = r.dynamic; return e(n, o), null; }; return t; }, VCe = { left: 0, top: 0, right: 0, gap: 0 }, hE = function(e) { return parseInt(e || "", 10) || 0; }, WCe = function(e) { var t = window.getComputedStyle(document.body), r = t[e === "padding" ? "paddingLeft" : "marginLeft"], n = t[e === "padding" ? "paddingTop" : "marginTop"], o = t[e === "padding" ? "paddingRight" : "marginRight"]; return [hE(r), hE(n), hE(o)]; }, GCe = function(e) { if (e === void 0 && (e = "margin"), typeof window > "u") return VCe; var t = WCe(e), r = document.documentElement.clientWidth, n = window.innerWidth; return { left: t[0], top: t[1], right: t[2], gap: Math.max(0, n - r + t[2] - t[0]) }; }, UCe = oie(), dh = "data-scroll-locked", HCe = function(e, t, r, n) { var o = e.left, a = e.top, i = e.right, s = e.gap; return r === void 0 && (r = "margin"), ` .`.concat(ACe, ` { overflow: hidden `).concat(n, `; padding-right: `).concat(s, "px ").concat(n, `; } body[`).concat(dh, `] { overflow: hidden `).concat(n, `; overscroll-behavior: contain; `).concat([ t && "position: relative ".concat(n, ";"), r === "margin" && ` padding-left: `.concat(o, `px; padding-top: `).concat(a, `px; padding-right: `).concat(i, `px; margin-left:0; margin-top:0; margin-right: `).concat(s, "px ").concat(n, `; `), r === "padding" && "padding-right: ".concat(s, "px ").concat(n, ";") ].filter(Boolean).join(""), ` } .`).concat(Z2, ` { right: `).concat(s, "px ").concat(n, `; } .`).concat(ek, ` { margin-right: `).concat(s, "px ").concat(n, `; } .`).concat(Z2, " .").concat(Z2, ` { right: 0 `).concat(n, `; } .`).concat(ek, " .").concat(ek, ` { margin-right: 0 `).concat(n, `; } body[`).concat(dh, `] { `).concat($Ce, ": ").concat(s, `px; } `); }, cW = function() { var e = parseInt(document.body.getAttribute(dh) || "0", 10); return isFinite(e) ? e : 0; }, YCe = function() { V.useEffect(function() { return document.body.setAttribute(dh, (cW() + 1).toString()), function() { var e = cW() - 1; e <= 0 ? document.body.removeAttribute(dh) : document.body.setAttribute(dh, e.toString()); }; }, []); }, BCe = function(e) { var t = e.noRelative, r = e.noImportant, n = e.gapMode, o = n === void 0 ? "margin" : n; YCe(); var a = V.useMemo(function() { return GCe(o); }, [o]); return V.createElement(UCe, { styles: HCe(a, !t, o, r ? "" : "!important") }); }, QC = !1; if (typeof window < "u") try { var Aw = Object.defineProperty({}, "passive", { get: function() { return QC = !0, !0; } }); window.addEventListener("test", Aw, Aw), window.removeEventListener("test", Aw, Aw); } catch { QC = !1; } var rg = QC ? { passive: !1 } : !1, qCe = function(e) { return e.tagName === "TEXTAREA"; }, aie = function(e, t) { if (!(e instanceof Element)) return !1; var r = window.getComputedStyle(e); return ( // not-not-scrollable r[t] !== "hidden" && // contains scroll inside self !(r.overflowY === r.overflowX && !qCe(e) && r[t] === "visible") ); }, XCe = function(e) { return aie(e, "overflowY"); }, KCe = function(e) { return aie(e, "overflowX"); }, uW = function(e, t) { var r = t.ownerDocument, n = t; do { typeof ShadowRoot < "u" && n instanceof ShadowRoot && (n = n.host); var o = iie(e, n); if (o) { var a = sie(e, n), i = a[1], s = a[2]; if (i > s) return !0; } n = n.parentNode; } while (n && n !== r.body); return !1; }, JCe = function(e) { var t = e.scrollTop, r = e.scrollHeight, n = e.clientHeight; return [ t, r, n ]; }, QCe = function(e) { var t = e.scrollLeft, r = e.scrollWidth, n = e.clientWidth; return [ t, r, n ]; }, iie = function(e, t) { return e === "v" ? XCe(t) : KCe(t); }, sie = function(e, t) { return e === "v" ? JCe(t) : QCe(t); }, ZCe = function(e, t) { return e === "h" && t === "rtl" ? -1 : 1; }, eNe = function(e, t, r, n, o) { var a = ZCe(e, window.getComputedStyle(t).direction), i = a * n, s = r.target, l = t.contains(s), c = !1, u = i > 0, f = 0, p = 0; do { if (!s) break; var v = sie(e, s), w = v[0], b = v[1], m = v[2], x = b - m - a * w; (w || x) && iie(e, s) && (f += x, p += w); var O = s.parentNode; s = O && O.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? O.host : O; } while ( // portaled content !l && s !== document.body || // self content l && (t.contains(s) || t === s) ); return (u && Math.abs(f) < 1 || !u && Math.abs(p) < 1) && (c = !0), c; }, $w = function(e) { return "changedTouches" in e ? [e.changedTouches[0].clientX, e.changedTouches[0].clientY] : [0, 0]; }, fW = function(e) { return [e.deltaX, e.deltaY]; }, dW = function(e) { return e && "current" in e ? e.current : e; }, tNe = function(e, t) { return e[0] === t[0] && e[1] === t[1]; }, rNe = function(e) { return ` .block-interactivity-`.concat(e, ` {pointer-events: none;} .allow-interactivity-`).concat(e, ` {pointer-events: all;} `); }, nNe = 0, ng = []; function oNe(e) { var t = V.useRef([]), r = V.useRef([0, 0]), n = V.useRef(), o = V.useState(nNe++)[0], a = V.useState(oie)[0], i = V.useRef(e); V.useEffect(function() { i.current = e; }, [e]), V.useEffect(function() { if (e.inert) { document.body.classList.add("block-interactivity-".concat(o)); var b = ECe([e.lockRef.current], (e.shards || []).map(dW)).filter(Boolean); return b.forEach(function(m) { return m.classList.add("allow-interactivity-".concat(o)); }), function() { document.body.classList.remove("block-interactivity-".concat(o)), b.forEach(function(m) { return m.classList.remove("allow-interactivity-".concat(o)); }); }; } }, [e.inert, e.lockRef.current, e.shards]); var s = V.useCallback(function(b, m) { if ("touches" in b && b.touches.length === 2 || b.type === "wheel" && b.ctrlKey) return !i.current.allowPinchZoom; var x = $w(b), O = r.current, E = "deltaX" in b ? b.deltaX : O[0] - x[0], A = "deltaY" in b ? b.deltaY : O[1] - x[1], h, G = b.target, H = Math.abs(E) > Math.abs(A) ? "h" : "v"; if ("touches" in b && H === "h" && G.type === "range") return !1; var Z = uW(H, G); if (!Z) return !0; if (Z ? h = H : (h = H === "v" ? "h" : "v", Z = uW(H, G)), !Z) return !1; if (!n.current && "changedTouches" in b && (E || A) && (n.current = h), !h) return !0; var J = n.current || h; return eNe(J, m, b, J === "h" ? E : A); }, []), l = V.useCallback(function(b) { var m = b; if (!(!ng.length || ng[ng.length - 1] !== a)) { var x = "deltaY" in m ? fW(m) : $w(m), O = t.current.filter(function(h) { return h.name === m.type && (h.target === m.target || m.target === h.shadowParent) && tNe(h.delta, x); })[0]; if (O && O.should) { m.cancelable && m.preventDefault(); return; } if (!O) { var E = (i.current.shards || []).map(dW).filter(Boolean).filter(function(h) { return h.contains(m.target); }), A = E.length > 0 ? s(m, E[0]) : !i.current.noIsolation; A && m.cancelable && m.preventDefault(); } } }, []), c = V.useCallback(function(b, m, x, O) { var E = { name: b, delta: m, target: x, should: O, shadowParent: aNe(x) }; t.current.push(E), setTimeout(function() { t.current = t.current.filter(function(A) { return A !== E; }); }, 1); }, []), u = V.useCallback(function(b) { r.current = $w(b), n.current = void 0; }, []), f = V.useCallback(function(b) { c(b.type, fW(b), b.target, s(b, e.lockRef.current)); }, []), p = V.useCallback(function(b) { c(b.type, $w(b), b.target, s(b, e.lockRef.current)); }, []); V.useEffect(function() { return ng.push(a), e.setCallbacks({ onScrollCapture: f, onWheelCapture: f, onTouchMoveCapture: p }), document.addEventListener("wheel", l, rg), document.addEventListener("touchmove", l, rg), document.addEventListener("touchstart", u, rg), function() { ng = ng.filter(function(b) { return b !== a; }), document.removeEventListener("wheel", l, rg), document.removeEventListener("touchmove", l, rg), document.removeEventListener("touchstart", u, rg); }; }, []); var v = e.removeScrollBar, w = e.inert; return V.createElement( V.Fragment, null, w ? V.createElement(a, { styles: rNe(o) }) : null, v ? V.createElement(BCe, { noRelative: e.noRelative, gapMode: e.gapMode }) : null ); } function aNe(e) { for (var t = null; e !== null; ) e instanceof ShadowRoot && (t = e.host, e = e.host), e = e.parentNode; return t; } const iNe = RCe(nie, oNe); var lie = V.forwardRef(function(e, t) { return V.createElement(qO, as({}, e, { ref: t, sideCar: iNe })); }); lie.classNames = qO.classNames; var sNe = function(e) { if (typeof document > "u") return null; var t = Array.isArray(e) ? e[0] : e; return t.ownerDocument.body; }, og = /* @__PURE__ */ new WeakMap(), Pw = /* @__PURE__ */ new WeakMap(), Cw = {}, bE = 0, cie = function(e) { return e && (e.host || cie(e.parentNode)); }, lNe = function(e, t) { return t.map(function(r) { if (e.contains(r)) return r; var n = cie(r); return n && e.contains(n) ? n : (console.error("aria-hidden", r, "in not contained inside", e, ". Doing nothing"), null); }).filter(function(r) { return !!r; }); }, cNe = function(e, t, r, n) { var o = lNe(t, Array.isArray(e) ? e : [e]); Cw[r] || (Cw[r] = /* @__PURE__ */ new WeakMap()); var a = Cw[r], i = [], s = /* @__PURE__ */ new Set(), l = new Set(o), c = function(f) { !f || s.has(f) || (s.add(f), c(f.parentNode)); }; o.forEach(c); var u = function(f) { !f || l.has(f) || Array.prototype.forEach.call(f.children, function(p) { if (s.has(p)) u(p); else try { var v = p.getAttribute(n), w = v !== null && v !== "false", b = (og.get(p) || 0) + 1, m = (a.get(p) || 0) + 1; og.set(p, b), a.set(p, m), i.push(p), b === 1 && w && Pw.set(p, !0), m === 1 && p.setAttribute(r, "true"), w || p.setAttribute(n, "true"); } catch (x) { console.error("aria-hidden: cannot operate on ", p, x); } }); }; return u(t), s.clear(), bE++, function() { i.forEach(function(f) { var p = og.get(f) - 1, v = a.get(f) - 1; og.set(f, p), a.set(f, v), p || (Pw.has(f) || f.removeAttribute(n), Pw.delete(f)), v || f.removeAttribute(r); }), bE--, bE || (og = /* @__PURE__ */ new WeakMap(), og = /* @__PURE__ */ new WeakMap(), Pw = /* @__PURE__ */ new WeakMap(), Cw = {}); }; }, uNe = function(e, t, r) { r === void 0 && (r = "data-aria-hidden"); var n = Array.from(Array.isArray(e) ? e : [e]), o = sNe(e); return o ? (n.push.apply(n, Array.from(o.querySelectorAll("[aria-live], script"))), cNe(n, o, r, "aria-hidden")) : function() { return null; }; }, XO = "Dialog", [uie, _6t] = UPe(XO), [fNe, Ri] = uie(XO), fie = (e) => { const { __scopeDialog: t, children: r, open: n, defaultOpen: o, onOpenChange: a, modal: i = !0 } = e, s = V.useRef(null), l = V.useRef(null), [c, u] = XPe({ prop: n, defaultProp: o ?? !1, onChange: a, caller: XO }); return /* @__PURE__ */ B( fNe, { scope: t, triggerRef: s, contentRef: l, contentId: uE(), titleId: uE(), descriptionId: uE(), open: c, onOpenChange: u, onOpenToggle: V.useCallback(() => u((f) => !f), [u]), modal: i, children: r } ); }; fie.displayName = XO; var die = "DialogTrigger", dNe = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = Ri(die, r), a = qm(t, o.triggerRef); return /* @__PURE__ */ B( Ks.button, { type: "button", "aria-haspopup": "dialog", "aria-expanded": o.open, "aria-controls": o.contentId, "data-state": sM(o.open), ...n, ref: a, onClick: gf(e.onClick, o.onOpenToggle) } ); } ); dNe.displayName = die; var aM = "DialogPortal", [pNe, pie] = uie(aM, { forceMount: void 0 }), mie = (e) => { const { __scopeDialog: t, forceMount: r, children: n, container: o } = e, a = Ri(aM, t); return /* @__PURE__ */ B(pNe, { scope: t, forceMount: r, children: V.Children.map(n, (i) => /* @__PURE__ */ B(BO, { present: r || a.open, children: /* @__PURE__ */ B(eie, { asChild: !0, container: o, children: i }) })) }); }; mie.displayName = aM; var u5 = "DialogOverlay", gie = V.forwardRef( (e, t) => { const r = pie(u5, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = Ri(u5, e.__scopeDialog); return a.modal ? /* @__PURE__ */ B(BO, { present: n || a.open, children: /* @__PURE__ */ B(gNe, { ...o, ref: t }) }) : null; } ); gie.displayName = u5; var mNe = /* @__PURE__ */ qae("DialogOverlay.RemoveScroll"), gNe = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = Ri(u5, r); return ( // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll` // ie. when `Overlay` and `Content` are siblings /* @__PURE__ */ B(lie, { as: mNe, allowPinchZoom: !0, shards: [o.contentRef], children: /* @__PURE__ */ B( Ks.div, { "data-state": sM(o.open), ...n, ref: t, style: { pointerEvents: "auto", ...n.style } } ) }) ); } ), um = "DialogContent", hie = V.forwardRef( (e, t) => { const r = pie(um, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = Ri(um, e.__scopeDialog); return /* @__PURE__ */ B(BO, { present: n || a.open, children: a.modal ? /* @__PURE__ */ B(hNe, { ...o, ref: t }) : /* @__PURE__ */ B(bNe, { ...o, ref: t }) }); } ); hie.displayName = um; var hNe = V.forwardRef( (e, t) => { const r = Ri(um, e.__scopeDialog), n = V.useRef(null), o = qm(t, r.contentRef, n); return V.useEffect(() => { const a = n.current; if (a) return uNe(a); }, []), /* @__PURE__ */ B( bie, { ...e, ref: o, trapFocus: r.open, disableOutsidePointerEvents: !0, onCloseAutoFocus: gf(e.onCloseAutoFocus, (a) => { var i; a.preventDefault(), (i = r.triggerRef.current) == null || i.focus(); }), onPointerDownOutside: gf(e.onPointerDownOutside, (a) => { const i = a.detail.originalEvent, s = i.button === 0 && i.ctrlKey === !0; (i.button === 2 || s) && a.preventDefault(); }), onFocusOutside: gf( e.onFocusOutside, (a) => a.preventDefault() ) } ); } ), bNe = V.forwardRef( (e, t) => { const r = Ri(um, e.__scopeDialog), n = V.useRef(!1), o = V.useRef(!1); return /* @__PURE__ */ B( bie, { ...e, ref: t, trapFocus: !1, disableOutsidePointerEvents: !1, onCloseAutoFocus: (a) => { var i, s; (i = e.onCloseAutoFocus) == null || i.call(e, a), a.defaultPrevented || (n.current || (s = r.triggerRef.current) == null || s.focus(), a.preventDefault()), n.current = !1, o.current = !1; }, onInteractOutside: (a) => { var i, s; (i = e.onInteractOutside) == null || i.call(e, a), a.defaultPrevented || (n.current = !0, a.detail.originalEvent.type === "pointerdown" && (o.current = !0)); const l = a.target; (s = r.triggerRef.current) != null && s.contains(l) && a.preventDefault(), a.detail.originalEvent.type === "focusin" && o.current && a.preventDefault(); } } ); } ), bie = V.forwardRef( (e, t) => { const { __scopeDialog: r, trapFocus: n, onOpenAutoFocus: o, onCloseAutoFocus: a, ...i } = e, s = Ri(um, r), l = V.useRef(null), c = qm(t, l); return SCe(), /* @__PURE__ */ me(ht, { children: [ /* @__PURE__ */ B( Qae, { asChild: !0, loop: !0, trapped: n, onMountAutoFocus: o, onUnmountAutoFocus: a, children: /* @__PURE__ */ B( Kae, { role: "dialog", id: s.contentId, "aria-describedby": s.descriptionId, "aria-labelledby": s.titleId, "data-state": sM(s.open), ...i, ref: c, onDismiss: () => s.onOpenChange(!1) } ) } ), /* @__PURE__ */ me(ht, { children: [ /* @__PURE__ */ B(vNe, { titleId: s.titleId }), /* @__PURE__ */ B(wNe, { contentRef: l, descriptionId: s.descriptionId }) ] }) ] }); } ), iM = "DialogTitle", yie = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = Ri(iM, r); return /* @__PURE__ */ B(Ks.h2, { id: o.titleId, ...n, ref: t }); } ); yie.displayName = iM; var vie = "DialogDescription", xie = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = Ri(vie, r); return /* @__PURE__ */ B(Ks.p, { id: o.descriptionId, ...n, ref: t }); } ); xie.displayName = vie; var wie = "DialogClose", yNe = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = Ri(wie, r); return /* @__PURE__ */ B( Ks.button, { type: "button", ...n, ref: t, onClick: gf(e.onClick, () => o.onOpenChange(!1)) } ); } ); yNe.displayName = wie; function sM(e) { return e ? "open" : "closed"; } var kie = "DialogTitleWarning", [j6t, Oie] = GPe(kie, { contentName: um, titleName: iM, docsSlug: "dialog" }), vNe = ({ titleId: e }) => { const t = Oie(kie), r = `\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users. If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component. For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`; return V.useEffect(() => { e && (document.getElementById(e) || console.error(r)); }, [r, e]), null; }, xNe = "DialogDescriptionWarning", wNe = ({ contentRef: e, descriptionId: t }) => { const r = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Oie(xNe).contentName}}.`; return V.useEffect(() => { var n; const o = (n = e.current) == null ? void 0 : n.getAttribute("aria-describedby"); t && o && (document.getElementById(t) || console.warn(r)); }, [r, e, t]), null; }, kNe = fie, ONe = mie, SNe = gie, ENe = hie, pW = yie, ANe = xie; const lM = "-", $Ne = (e) => { const t = CNe(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(lM); return a[0] === "" && a.length !== 1 && a.shift(), Sie(a, t) || PNe(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, Sie = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? Sie(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(lM); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, mW = /^\[(.+)\]$/, PNe = (e) => { if (mW.test(e)) { const t = mW.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, CNe = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return _Ne(Object.entries(e.classGroups), r).forEach(([o, a]) => { ZC(a, n, o, t); }), n; }, ZC = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : gW(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (NNe(o)) { ZC(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { ZC(i, gW(t, a), r, n); }); }); }, gW = (e, t) => { let r = e; return t.split(lM).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, NNe = (e) => e.isThemeGetter, _Ne = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, jNe = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, Eie = "!", INe = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(Eie), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, RNe = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, MNe = (e) => ({ cache: jNe(e.cacheSize), parseClassName: INe(e), ...$Ne(e) }), TNe = /\s+/, zNe = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(TNe); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = RNe(u).join(":"), x = f ? m + Eie : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function DNe() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = Aie(t)) && (n && (n += " "), n += r); return n; } const Aie = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = Aie(e[n])) && (r && (r += " "), r += t); return r; }; function FNe(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = MNe(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = zNe(l, r); return o(l, u), u; } return function() { return a(DNe.apply(null, arguments)); }; } const fn = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, $ie = /^\[(?:([a-z-]+):)?(.+)\]$/i, LNe = /^\d+\/\d+$/, VNe = /* @__PURE__ */ new Set(["px", "full", "screen"]), WNe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, GNe = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, UNe = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, HNe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, YNe = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, nl = (e) => ph(e) || VNe.has(e) || LNe.test(e), Bc = (e) => _b(e, "length", e_e), ph = (e) => !!e && !Number.isNaN(Number(e)), yE = (e) => _b(e, "number", ph), $y = (e) => !!e && Number.isInteger(Number(e)), BNe = (e) => e.endsWith("%") && ph(e.slice(0, -1)), Et = (e) => $ie.test(e), qc = (e) => WNe.test(e), qNe = /* @__PURE__ */ new Set(["length", "size", "percentage"]), XNe = (e) => _b(e, qNe, Pie), KNe = (e) => _b(e, "position", Pie), JNe = /* @__PURE__ */ new Set(["image", "url"]), QNe = (e) => _b(e, JNe, r_e), ZNe = (e) => _b(e, "", t_e), Py = () => !0, _b = (e, t, r) => { const n = $ie.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, e_e = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. GNe.test(e) && !UNe.test(e) ), Pie = () => !1, t_e = (e) => HNe.test(e), r_e = (e) => YNe.test(e), n_e = () => { const e = fn("colors"), t = fn("spacing"), r = fn("blur"), n = fn("brightness"), o = fn("borderColor"), a = fn("borderRadius"), i = fn("borderSpacing"), s = fn("borderWidth"), l = fn("contrast"), c = fn("grayscale"), u = fn("hueRotate"), f = fn("invert"), p = fn("gap"), v = fn("gradientColorStops"), w = fn("gradientColorStopPositions"), b = fn("inset"), m = fn("margin"), x = fn("opacity"), O = fn("padding"), E = fn("saturate"), A = fn("scale"), h = fn("sepia"), G = fn("skew"), H = fn("space"), Z = fn("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", Et, t], I = () => [Et, t], te = () => ["", nl, Bc], U = () => ["auto", ph, Et], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", Et], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [ph, Et]; return { cacheSize: 500, separator: ":", theme: { colors: [Py], spacing: [nl, Bc], blur: ["none", "", qc, Et], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", qc, Et], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [BNe, Bc], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", Et] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [qc] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), Et] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", $y, Et] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", Et] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", $y, Et] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [Py] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", $y, Et] }, Et] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [Py] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [$y, Et] }, Et] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", Et] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", Et] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", Et, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [Et, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [Et, t, "none", "full", "min", "max", "fit", "prose", { screen: [qc] }, qc] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [Et, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [Et, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [Et, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [Et, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", qc, Bc] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", yE] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [Py] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", Et] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", ph, yE] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", nl, Et] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", Et] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", Et] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", nl, Bc] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", nl, Et] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Et] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", Et] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), KNe] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", XNe] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, QNe] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [nl, Et] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [nl, Bc] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [nl, Bc] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", qc, ZNe] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [Py] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", qc, Et] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", Et] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", Et] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", Et] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [$y, Et] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", Et] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", Et] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", Et] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [nl, Bc, yE] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, i1 = /* @__PURE__ */ FNe(n_e); /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function o_e(e, t, r) { return (t = i_e(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function hW(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Ee(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? hW(Object(r), !0).forEach(function(n) { o_e(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : hW(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function a_e(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function i_e(e) { var t = a_e(e, "string"); return typeof t == "symbol" ? t : t + ""; } const bW = () => { }; let cM = {}, Cie = {}, Nie = null, _ie = { mark: bW, measure: bW }; try { typeof window < "u" && (cM = window), typeof document < "u" && (Cie = document), typeof MutationObserver < "u" && (Nie = MutationObserver), typeof performance < "u" && (_ie = performance); } catch { } const { userAgent: yW = "" } = cM.navigator || {}, _f = cM, In = Cie, vW = Nie, Nw = _ie; _f.document; const wc = !!In.documentElement && !!In.head && typeof In.addEventListener == "function" && typeof In.createElement == "function", jie = ~yW.indexOf("MSIE") || ~yW.indexOf("Trident/"); var s_e = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, l_e = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, Iie = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, c_e = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, Rie = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Oo = "classic", KO = "duotone", u_e = "sharp", f_e = "sharp-duotone", Mie = [Oo, KO, u_e, f_e], d_e = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, p_e = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, m_e = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), g_e = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, h_e = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], xW = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, b_e = ["kit"], y_e = { kit: { "fa-kit": "fak" } }, v_e = ["fak", "fakd"], x_e = { kit: { fak: "fa-kit" } }, wW = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, _w = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, w_e = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], k_e = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], O_e = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, S_e = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, E_e = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, eN = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, A_e = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], tN = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...w_e, ...A_e], $_e = ["solid", "regular", "light", "thin", "duotone", "brands"], Tie = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], P_e = Tie.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), C_e = [...Object.keys(E_e), ...$_e, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", _w.GROUP, _w.SWAP_OPACITY, _w.PRIMARY, _w.SECONDARY].concat(Tie.map((e) => "".concat(e, "x"))).concat(P_e.map((e) => "w-".concat(e))), N_e = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const Ll = "___FONT_AWESOME___", rN = 16, zie = "fa", Die = "svg-inline--fa", fm = "data-fa-i2svg", nN = "data-fa-pseudo-element", __e = "data-fa-pseudo-element-pending", uM = "data-prefix", fM = "data-icon", kW = "fontawesome-i2svg", j_e = "async", I_e = ["HTML", "HEAD", "STYLE", "SCRIPT"], Fie = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function kx(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[Oo]; } }); } const Lie = Ee({}, Iie); Lie[Oo] = Ee(Ee(Ee(Ee({}, { "fa-duotone": "duotone" }), Iie[Oo]), xW.kit), xW["kit-duotone"]); const R_e = kx(Lie), oN = Ee({}, g_e); oN[Oo] = Ee(Ee(Ee(Ee({}, { duotone: "fad" }), oN[Oo]), wW.kit), wW["kit-duotone"]); const OW = kx(oN), aN = Ee({}, eN); aN[Oo] = Ee(Ee({}, aN[Oo]), x_e.kit); const dM = kx(aN), iN = Ee({}, S_e); iN[Oo] = Ee(Ee({}, iN[Oo]), y_e.kit); kx(iN); const M_e = s_e, Vie = "fa-layers-text", T_e = l_e, z_e = Ee({}, d_e); kx(z_e); const D_e = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], vE = c_e, F_e = [...b_e, ...C_e], s1 = _f.FontAwesomeConfig || {}; function L_e(e) { var t = In.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function V_e(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } In && typeof In.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => { let [t, r] = e; const n = V_e(L_e(t)); n != null && (s1[r] = n); }); const Wie = { styleDefault: "solid", familyDefault: Oo, cssPrefix: zie, replacementClass: Die, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; s1.familyPrefix && (s1.cssPrefix = s1.familyPrefix); const nb = Ee(Ee({}, Wie), s1); nb.autoReplaceSvg || (nb.observeMutations = !1); const Qe = {}; Object.keys(Wie).forEach((e) => { Object.defineProperty(Qe, e, { enumerable: !0, set: function(t) { nb[e] = t, l1.forEach((r) => r(Qe)); }, get: function() { return nb[e]; } }); }); Object.defineProperty(Qe, "familyPrefix", { enumerable: !0, set: function(e) { nb.cssPrefix = e, l1.forEach((t) => t(Qe)); }, get: function() { return nb.cssPrefix; } }); _f.FontAwesomeConfig = Qe; const l1 = []; function W_e(e) { return l1.push(e), () => { l1.splice(l1.indexOf(e), 1); }; } const Xc = rN, ps = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function G_e(e) { if (!e || !wc) return; const t = In.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = In.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return In.head.insertBefore(t, n), e; } const U_e = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function m0() { let e = 12, t = ""; for (; e-- > 0; ) t += U_e[Math.random() * 62 | 0]; return t; } function jb(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function pM(e) { return e.classList ? jb(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function Gie(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function H_e(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(Gie(e[r]), '" '), "").trim(); } function JO(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function mM(e) { return e.size !== ps.size || e.x !== ps.x || e.y !== ps.y || e.rotate !== ps.rotate || e.flipX || e.flipY; } function Y_e(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), l = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: l, path: c }; } function B_e(e) { let { transform: t, width: r = rN, height: n = rN, startCentered: o = !1 } = e, a = ""; return o && jie ? a += "translate(".concat(t.x / Xc - r / 2, "em, ").concat(t.y / Xc - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Xc, "em), calc(-50% + ").concat(t.y / Xc, "em)) ") : a += "translate(".concat(t.x / Xc, "em, ").concat(t.y / Xc, "em) "), a += "scale(".concat(t.size / Xc * (t.flipX ? -1 : 1), ", ").concat(t.size / Xc * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var q_e = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function Uie() { const e = zie, t = Die, r = Qe.cssPrefix, n = Qe.replacementClass; let o = q_e; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let SW = !1; function xE() { Qe.autoAddCss && !SW && (G_e(Uie()), SW = !0); } var X_e = { mixout() { return { dom: { css: Uie, insertCss: xE } }; }, hooks() { return { beforeDOMElementCreation() { xE(); }, beforeI2svg() { xE(); } }; } }; const Vl = _f || {}; Vl[Ll] || (Vl[Ll] = {}); Vl[Ll].styles || (Vl[Ll].styles = {}); Vl[Ll].hooks || (Vl[Ll].hooks = {}); Vl[Ll].shims || (Vl[Ll].shims = []); var ms = Vl[Ll]; const Hie = [], Yie = function() { In.removeEventListener("DOMContentLoaded", Yie), f5 = 1, Hie.map((e) => e()); }; let f5 = !1; wc && (f5 = (In.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(In.readyState), f5 || In.addEventListener("DOMContentLoaded", Yie)); function K_e(e) { wc && (f5 ? setTimeout(e, 0) : Hie.push(e)); } function Ox(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? Gie(e) : "<".concat(t, " ").concat(H_e(r), ">").concat(n.map(Ox).join(""), ""); } function EW(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var wE = function(e, t, r, n) { var o = Object.keys(e), a = o.length, i = t, s, l, c; for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++) l = o[s], c = i(c, e[l], l, e); return c; }; function J_e(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function Bie(e) { const t = J_e(e); return t.length === 1 ? t[0].toString(16) : null; } function Q_e(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function AW(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function sN(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = AW(t); typeof ms.hooks.addPack == "function" && !n ? ms.hooks.addPack(e, AW(t)) : ms.styles[e] = Ee(Ee({}, ms.styles[e] || {}), o), e === "fas" && sN("fa", t); } const { styles: g0, shims: Z_e } = ms, qie = Object.keys(dM), eje = qie.reduce((e, t) => (e[t] = Object.keys(dM[t]), e), {}); let gM = null, Xie = {}, Kie = {}, Jie = {}, Qie = {}, Zie = {}; function tje(e) { return ~F_e.indexOf(e); } function rje(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !tje(o) ? o : null; } const ese = () => { const e = (n) => wE(g0, (o, a, i) => (o[i] = wE(a, n, {}), o), {}); Xie = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => { n[i.toString(16)] = a; }), n)), Kie = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => { n[i] = a; }), n)), Zie = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in g0 || Qe.autoFetchSvg, r = wE(Z_e, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); Jie = r.names, Qie = r.unicodes, gM = QO(Qe.styleDefault, { family: Qe.familyDefault }); }; W_e((e) => { gM = QO(e.styleDefault, { family: Qe.familyDefault }); }); ese(); function hM(e, t) { return (Xie[e] || {})[t]; } function nje(e, t) { return (Kie[e] || {})[t]; } function jp(e, t) { return (Zie[e] || {})[t]; } function tse(e) { return Jie[e] || { prefix: null, iconName: null }; } function oje(e) { const t = Qie[e], r = hM("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function jf() { return gM; } const rse = () => ({ prefix: null, iconName: null, rest: [] }); function aje(e) { let t = Oo; const r = qie.reduce((n, o) => (n[o] = "".concat(Qe.cssPrefix, "-").concat(o), n), {}); return Mie.forEach((n) => { (e.includes(r[n]) || e.some((o) => eje[n].includes(o))) && (t = n); }), t; } function QO(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = Oo } = t, n = R_e[r][e]; if (r === KO && !e) return "fad"; const o = OW[r][e] || OW[r][n], a = e in ms.styles ? e : null; return o || a || null; } function ije(e) { let t = [], r = null; return e.forEach((n) => { const o = rje(Qe.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function $W(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function ZO(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = tN.concat(k_e), a = $W(e.filter((f) => o.includes(f))), i = $W(e.filter((f) => !tN.includes(f))), s = a.filter((f) => (n = f, !Rie.includes(f))), [l = null] = s, c = aje(a), u = Ee(Ee({}, ije(i)), {}, { prefix: QO(l, { family: c }) }); return Ee(Ee(Ee({}, u), uje({ values: e, family: c, styles: g0, config: Qe, canonical: u, givenPrefix: n })), sje(r, n, u)); } function sje(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? tse(o) : {}, i = jp(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !g0.far && g0.fas && !Qe.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const lje = Mie.filter((e) => e !== Oo || e !== KO), cje = Object.keys(eN).filter((e) => e !== Oo).map((e) => Object.keys(eN[e])).flat(); function uje(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === KO, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && lje.includes(r) && (Object.keys(a).find((f) => cje.includes(f)) || i.autoFetchSvg)) { const f = m_e.get(r).defaultShortPrefixId; n.prefix = f, n.iconName = jp(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = jf() || "fas"), n; } let fje = class { constructor() { this.definitions = {}; } add() { for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r]; const n = t.reduce(this._pullDefinitions, {}); Object.keys(n).forEach((o) => { this.definitions[o] = Ee(Ee({}, this.definitions[o] || {}), n[o]), sN(o, n[o]); const a = dM[Oo][o]; a && sN(a, n[o]), ese(); }); } reset() { this.definitions = {}; } _pullDefinitions(e, t) { const r = t.prefix && t.iconName && t.icon ? { 0: t } : t; return Object.keys(r).map((n) => { const { prefix: o, iconName: a, icon: i } = r[n], s = i[2]; e[o] || (e[o] = {}), s.length > 0 && s.forEach((l) => { typeof l == "string" && (e[o][l] = i); }), e[o][a] = i; }), e; } }, PW = [], Ag = {}; const mh = {}, dje = Object.keys(mh); function pje(e, t) { let { mixoutsTo: r } = t; return PW = e, Ag = {}, Object.keys(mh).forEach((n) => { dje.indexOf(n) === -1 && delete mh[n]; }), PW.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { Ag[i] || (Ag[i] = []), Ag[i].push(a[i]); }); } n.provides && n.provides(mh); }), r; } function lN(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (Ag[e] || []).forEach((a) => { t = a.apply(null, [t, ...n]); }), t; } function dm(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (Ag[e] || []).forEach((o) => { o.apply(null, r); }); } function If() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return mh[e] ? mh[e].apply(null, t) : void 0; } function cN(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || jf(); if (t) return t = jp(r, t) || t, EW(nse.definitions, r, t) || EW(ms.styles, r, t); } const nse = new fje(), mje = () => { Qe.autoReplaceSvg = !1, Qe.observeMutations = !1, dm("noAuto"); }, gje = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return wc ? (dm("beforeI2svg", e), If("pseudoElements2svg", e), If("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; Qe.autoReplaceSvg === !1 && (Qe.autoReplaceSvg = !0), Qe.observeMutations = !0, K_e(() => { bje({ autoReplaceSvgRoot: t }), dm("watch", e); }); } }, hje = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: jp(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = QO(e[0]); return { prefix: r, iconName: jp(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(Qe.cssPrefix, "-")) > -1 || e.match(M_e))) { const t = ZO(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || jf(), iconName: jp(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = jf(); return { prefix: t, iconName: jp(t, e) || e }; } } }, xa = { noAuto: mje, config: Qe, dom: gje, parse: hje, library: nse, findIconDefinition: cN, toHtml: Ox }, bje = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = In } = e; (Object.keys(ms.styles).length > 0 || Qe.autoFetchSvg) && wc && Qe.autoReplaceSvg && xa.dom.i2svg({ node: t }); }; function eS(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => Ox(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!wc) return; const r = In.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function yje(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (mM(i) && r.found && !n.found) { const { width: s, height: l } = r, c = { x: s / l / 2, y: 0.5 }; o.style = JO(Ee(Ee({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function vje(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(Qe.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: Ee(Ee({}, o), {}, { id: i }), children: n }] }]; } function bM(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: l, titleId: c, extra: u, watchable: f = !1 } = e, { width: p, height: v } = r.found ? r : t, w = v_e.includes(n), b = [Qe.replacementClass, o ? "".concat(Qe.cssPrefix, "-").concat(o) : ""].filter((h) => u.classes.indexOf(h) === -1).filter((h) => h !== "" || !!h).concat(u.classes).join(" "); let m = { children: [], attributes: Ee(Ee({}, u.attributes), {}, { "data-prefix": n, "data-icon": o, class: b, role: u.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(p, " ").concat(v) }) }; const x = w && !~u.classes.indexOf("fa-fw") ? { width: "".concat(p / v * 16 * 0.0625, "em") } : {}; f && (m.attributes[fm] = ""), s && (m.children.push({ tag: "title", attributes: { id: m.attributes["aria-labelledby"] || "title-".concat(c || m0()) }, children: [s] }), delete m.attributes.title); const O = Ee(Ee({}, m), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: l, transform: a, symbol: i, styles: Ee(Ee({}, x), u.styles) }), { children: E, attributes: A } = r.found && t.found ? If("generateAbstractMask", O) || { children: [], attributes: {} } : If("generateAbstractIcon", O) || { children: [], attributes: {} }; return O.children = E, O.attributes = A, i ? vje(O) : yje(O); } function CW(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, l = Ee(Ee(Ee({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (l[fm] = ""); const c = Ee({}, i.styles); mM(o) && (c.transform = B_e({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const u = JO(c); u.length > 0 && (l.style = u); const f = []; return f.push({ tag: "span", attributes: l, children: [t] }), a && f.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), f; } function xje(e) { const { content: t, title: r, extra: n } = e, o = Ee(Ee(Ee({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = JO(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: kE } = ms; function uN(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(Qe.cssPrefix, "-").concat(vE.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(Qe.cssPrefix, "-").concat(vE.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(Qe.cssPrefix, "-").concat(vE.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const wje = { found: !1, width: 512, height: 512 }; function kje(e, t) { !Fie && !Qe.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function fN(e, t) { let r = t; return t === "fa" && Qe.styleDefault !== null && (t = jf()), new Promise((n, o) => { if (r === "fa") { const a = tse(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && kE[t] && kE[t][e]) { const a = kE[t][e]; return n(uN(a)); } kje(e, t), n(Ee(Ee({}, wje), {}, { icon: Qe.showMissingIcons && e ? If("missingIconAbstract") || {} : {} })); }); } const NW = () => { }, dN = Qe.measurePerformance && Nw && Nw.mark && Nw.measure ? Nw : { mark: NW, measure: NW }, Nv = 'FA "6.7.2"', Oje = (e) => (dN.mark("".concat(Nv, " ").concat(e, " begins")), () => ose(e)), ose = (e) => { dN.mark("".concat(Nv, " ").concat(e, " ends")), dN.measure("".concat(Nv, " ").concat(e), "".concat(Nv, " ").concat(e, " begins"), "".concat(Nv, " ").concat(e, " ends")); }; var yM = { begin: Oje, end: ose }; const tk = () => { }; function _W(e) { return typeof (e.getAttribute ? e.getAttribute(fm) : null) == "string"; } function Sje(e) { const t = e.getAttribute ? e.getAttribute(uM) : null, r = e.getAttribute ? e.getAttribute(fM) : null; return t && r; } function Eje(e) { return e && e.classList && e.classList.contains && e.classList.contains(Qe.replacementClass); } function Aje() { return Qe.autoReplaceSvg === !0 ? rk.replace : rk[Qe.autoReplaceSvg] || rk.replace; } function $je(e) { return In.createElementNS("http://www.w3.org/2000/svg", e); } function Pje(e) { return In.createElement(e); } function ase(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? $je : Pje } = t; if (typeof e == "string") return In.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(o) { n.setAttribute(o, e.attributes[o]); }), (e.children || []).forEach(function(o) { n.appendChild(ase(o, { ceFn: r })); }), n; } function Cje(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const rk = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(ase(r), t); }), t.getAttribute(fm) === null && Qe.keepOriginalSource) { let r = In.createComment(Cje(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~pM(t).indexOf(Qe.replacementClass)) return rk.replace(e); const n = new RegExp("".concat(Qe.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === Qe.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => Ox(a)).join(` `); t.setAttribute(fm, ""), t.innerHTML = o; } }; function jW(e) { e(); } function ise(e, t) { const r = typeof t == "function" ? t : tk; if (e.length === 0) r(); else { let n = jW; Qe.mutateApproach === j_e && (n = _f.requestAnimationFrame || jW), n(() => { const o = Aje(), a = yM.begin("mutate"); e.map(o), a(), r(); }); } } let vM = !1; function sse() { vM = !0; } function pN() { vM = !1; } let d5 = null; function IW(e) { if (!vW || !Qe.observeMutations) return; const { treeCallback: t = tk, nodeCallback: r = tk, pseudoElementsCallback: n = tk, observeMutationsRoot: o = In } = e; d5 = new vW((a) => { if (vM) return; const i = jf(); jb(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !_W(s.addedNodes[0]) && (Qe.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Qe.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && _W(s.target) && ~D_e.indexOf(s.attributeName)) if (s.attributeName === "class" && Sje(s.target)) { const { prefix: l, iconName: c } = ZO(pM(s.target)); s.target.setAttribute(uM, l || i), c && s.target.setAttribute(fM, c); } else Eje(s.target) && r(s.target); }); }), wc && d5.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function Nje() { d5 && d5.disconnect(); } function _je(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function jje(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = ZO(pM(e)); return o.prefix || (o.prefix = jf()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = nje(o.prefix, e.innerText) || hM(o.prefix, Bie(e.innerText))), !o.iconName && Qe.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function Ije(e) { const t = jb(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return Qe.autoA11y && (r ? t["aria-labelledby"] = "".concat(Qe.replacementClass, "-title-").concat(n || m0()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function Rje() { return { iconName: null, title: null, titleId: null, prefix: null, transform: ps, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function RW(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = jje(e), a = Ije(e), i = lN("parseNodeAttributes", {}, e); let s = t.styleParser ? _je(e) : []; return Ee({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: ps, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: Mje } = ms; function lse(e) { const t = Qe.autoReplaceSvg === "nest" ? RW(e, { styleParser: !1 }) : RW(e); return ~t.extra.classes.indexOf(Vie) ? If("generateLayersText", e, t) : If("generateSvgReplacementMutation", e, t); } function Tje() { return [...h_e, ...tN]; } function MW(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!wc) return Promise.resolve(); const r = In.documentElement.classList, n = (u) => r.add("".concat(kW, "-").concat(u)), o = (u) => r.remove("".concat(kW, "-").concat(u)), a = Qe.autoFetchSvg ? Tje() : Rie.concat(Object.keys(Mje)); a.includes("fa") || a.push("fa"); const i = [".".concat(Vie, ":not([").concat(fm, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(fm, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = jb(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const l = yM.begin("onTree"), c = s.reduce((u, f) => { try { const p = lse(f); p && u.push(p); } catch (p) { Fie || p.name === "MissingIcon" && console.error(p); } return u; }, []); return new Promise((u, f) => { Promise.all(c).then((p) => { ise(p, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u(); }); }).catch((p) => { l(), f(p); }); }); } function zje(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; lse(e).then((r) => { r && ise([r], t); }); } function Dje(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : cN(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : cN(o || {})), e(n, Ee(Ee({}, r), {}, { mask: o })); }; } const Fje = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = ps, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: l = [], attributes: c = {}, styles: u = {} } = t; if (!e) return; const { prefix: f, iconName: p, icon: v } = e; return eS(Ee({ type: "icon" }, e), () => (dm("beforeDOMElementCreation", { iconDefinition: e, params: t }), Qe.autoA11y && (i ? c["aria-labelledby"] = "".concat(Qe.replacementClass, "-title-").concat(s || m0()) : (c["aria-hidden"] = "true", c.focusable = "false")), bM({ icons: { main: uN(v), mask: o ? uN(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: f, iconName: p, transform: Ee(Ee({}, ps), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: u, classes: l } }))); }; var Lje = { mixout() { return { icon: Dje(Fje) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = MW, e.nodeCallback = zje, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = In, callback: n = () => { } } = t; return MW(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: l, mask: c, maskId: u, extra: f } = r; return new Promise((p, v) => { Promise.all([fN(n, i), c.iconName ? fN(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((w) => { let [b, m] = w; p([t, bM({ icons: { main: b, mask: m }, prefix: i, iconName: n, transform: s, symbol: l, maskId: u, title: o, titleId: a, extra: f, watchable: !0 })]); }).catch(v); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = JO(i); s.length > 0 && (n.style = s); let l; return mM(a) && (l = If("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(l || o.icon), { children: r, attributes: n }; }; } }, Vje = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return eS({ type: "layer" }, () => { dm("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(Qe.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, Wje = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return eS({ type: "counter", content: e }, () => (dm("beforeDOMElementCreation", { content: e, params: t }), xje({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(Qe.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, Gje = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = ps, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return eS({ type: "text", content: e }, () => (dm("beforeDOMElementCreation", { content: e, params: t }), CW({ content: e, transform: Ee(Ee({}, ps), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(Qe.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (jie) { const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / l, s = c.height / l; } return Qe.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, CW({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const Uje = new RegExp('"', "ug"), TW = [1105920, 1112319], zW = Ee(Ee(Ee(Ee({}, { FontAwesome: { normal: "fas", 400: "fas" } }), p_e), N_e), O_e), mN = Object.keys(zW).reduce((e, t) => (e[t.toLowerCase()] = zW[t], e), {}), Hje = Object.keys(mN).reduce((e, t) => { const r = mN[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function Yje(e) { const t = e.replace(Uje, ""), r = Q_e(t, 0), n = r >= TW[0] && r <= TW[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: Bie(o ? t[0] : t), isSecondary: n || o }; } function Bje(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return (mN[r] || {})[o] || Hje[r]; } function DW(e, t) { const r = "".concat(__e).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const a = jb(e.children).filter((f) => f.getAttribute(nN) === t)[0], i = _f.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(T_e), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content"); if (a && !l) return e.removeChild(a), n(); if (l && u !== "none" && u !== "") { const f = i.getPropertyValue("content"); let p = Bje(s, c); const { value: v, isSecondary: w } = Yje(f), b = l[0].startsWith("FontAwesome"); let m = hM(p, v), x = m; if (b) { const O = oje(v); O.iconName && O.prefix && (m = O.iconName, p = O.prefix); } if (m && !w && (!a || a.getAttribute(uM) !== p || a.getAttribute(fM) !== x)) { e.setAttribute(r, x), a && e.removeChild(a); const O = Rje(), { extra: E } = O; E.attributes[nN] = t, fN(m, p).then((A) => { const h = bM(Ee(Ee({}, O), {}, { icons: { main: A, mask: rse() }, prefix: p, iconName: x, extra: E, watchable: !0 })), G = In.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(G, e.firstChild) : e.appendChild(G), G.outerHTML = h.map((H) => Ox(H)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function qje(e) { return Promise.all([DW(e, "::before"), DW(e, "::after")]); } function Xje(e) { return e.parentNode !== document.head && !~I_e.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(nN) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function FW(e) { if (wc) return new Promise((t, r) => { const n = jb(e.querySelectorAll("*")).filter(Xje).map(qje), o = yM.begin("searchPseudoElements"); sse(), Promise.all(n).then(() => { o(), pN(), t(); }).catch(() => { o(), pN(), r(); }); }); } var Kje = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = FW, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = In } = t; Qe.searchPseudoElements && FW(r); }; } }; let LW = !1; var Jje = { mixout() { return { dom: { unwatch() { sse(), LW = !0; } } }; }, hooks() { return { bootstrap() { IW(lN("mutationObserverCallbacks", {})); }, noAuto() { Nje(); }, watch(e) { const { observeMutationsRoot: t } = e; LW ? pN() : IW(lN("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const VW = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var Qje = { mixout() { return { parse: { transform: (e) => VW(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = VW(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = { transform: "".concat(s, " ").concat(l, " ").concat(c) }, f = { transform: "translate(".concat(a / 2 * -1, " -256)") }, p = { outer: i, inner: u, path: f }; return { tag: "g", attributes: Ee({}, p.outer), children: [{ tag: "g", attributes: Ee({}, p.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: Ee(Ee({}, r.icon.attributes), p.path) }] }] }; }; } }; const OE = { x: 0, y: 0, width: "100%", height: "100%" }; function WW(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function Zje(e) { return e.tag === "g" ? e.children : [e]; } var e9e = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? ZO(r.split(" ").map((o) => o.trim())) : rse(); return n.prefix || (n.prefix = jf()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: l, icon: c } = o, { width: u, icon: f } = a, p = Y_e({ transform: s, containerWidth: u, iconWidth: l }), v = { tag: "rect", attributes: Ee(Ee({}, OE), {}, { fill: "white" }) }, w = c.children ? { children: c.children.map(WW) } : {}, b = { tag: "g", attributes: Ee({}, p.inner), children: [WW(Ee({ tag: c.tag, attributes: Ee(Ee({}, c.attributes), p.path) }, w))] }, m = { tag: "g", attributes: Ee({}, p.outer), children: [b] }, x = "mask-".concat(i || m0()), O = "clip-".concat(i || m0()), E = { tag: "mask", attributes: Ee(Ee({}, OE), {}, { id: x, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [v, m] }, A = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: O }, children: Zje(f) }, E] }; return r.push(A, { tag: "rect", attributes: Ee({ fill: "currentColor", "clip-path": "url(#".concat(O, ")"), mask: "url(#".concat(x, ")") }, OE) }), { children: r, attributes: n }; }; } }, t9e = { provides(e) { let t = !1; _f.matchMedia && (t = _f.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: Ee(Ee({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = Ee(Ee({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: Ee(Ee({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: Ee(Ee({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: Ee(Ee({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: Ee(Ee({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: Ee(Ee({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: Ee(Ee({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: Ee(Ee({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, r9e = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, n9e = [X_e, Lje, Vje, Wje, Gje, Kje, Jje, Qje, e9e, t9e, r9e]; pje(n9e, { mixoutsTo: xa }); xa.noAuto; xa.config; xa.library; xa.dom; const gN = xa.parse; xa.findIconDefinition; xa.toHtml; const o9e = xa.icon; xa.layer; xa.text; xa.counter; function a9e(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var jw = { exports: {} }, SE = { exports: {} }, kr = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var GW; function i9e() { if (GW) return kr; GW = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(h) { if (typeof h == "object" && h !== null) { var G = h.$$typeof; switch (G) { case t: switch (h = h.type, h) { case l: case c: case n: case a: case o: case f: return h; default: switch (h = h && h.$$typeof, h) { case s: case u: case w: case v: case i: return h; default: return G; } } case r: return G; } } } function A(h) { return E(h) === c; } return kr.AsyncMode = l, kr.ConcurrentMode = c, kr.ContextConsumer = s, kr.ContextProvider = i, kr.Element = t, kr.ForwardRef = u, kr.Fragment = n, kr.Lazy = w, kr.Memo = v, kr.Portal = r, kr.Profiler = a, kr.StrictMode = o, kr.Suspense = f, kr.isAsyncMode = function(h) { return A(h) || E(h) === l; }, kr.isConcurrentMode = A, kr.isContextConsumer = function(h) { return E(h) === s; }, kr.isContextProvider = function(h) { return E(h) === i; }, kr.isElement = function(h) { return typeof h == "object" && h !== null && h.$$typeof === t; }, kr.isForwardRef = function(h) { return E(h) === u; }, kr.isFragment = function(h) { return E(h) === n; }, kr.isLazy = function(h) { return E(h) === w; }, kr.isMemo = function(h) { return E(h) === v; }, kr.isPortal = function(h) { return E(h) === r; }, kr.isProfiler = function(h) { return E(h) === a; }, kr.isStrictMode = function(h) { return E(h) === o; }, kr.isSuspense = function(h) { return E(h) === f; }, kr.isValidElementType = function(h) { return typeof h == "string" || typeof h == "function" || h === n || h === c || h === a || h === o || h === f || h === p || typeof h == "object" && h !== null && (h.$$typeof === w || h.$$typeof === v || h.$$typeof === i || h.$$typeof === s || h.$$typeof === u || h.$$typeof === m || h.$$typeof === x || h.$$typeof === O || h.$$typeof === b); }, kr.typeOf = E, kr; } var Lr = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var UW; function s9e() { return UW || (UW = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === f || k === p || typeof k == "object" && k !== null && (k.$$typeof === w || k.$$typeof === v || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === m || k.$$typeof === x || k.$$typeof === O || k.$$typeof === b); } function A(k) { if (typeof k == "object" && k !== null) { var ne = k.$$typeof; switch (ne) { case t: var pe = k.type; switch (pe) { case l: case c: case n: case a: case o: case f: return pe; default: var He = pe && pe.$$typeof; switch (He) { case s: case u: case w: case v: case i: return He; default: return ne; } } case r: return ne; } } } var h = l, G = c, H = s, Z = i, J = t, X = u, ee = n, I = w, te = v, U = r, z = a, F = o, D = f, Y = !1; function q(k) { return Y || (Y = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), g(k) || A(k) === l; } function g(k) { return A(k) === c; } function d(k) { return A(k) === s; } function S(k) { return A(k) === i; } function C(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function P(k) { return A(k) === u; } function j(k) { return A(k) === n; } function _(k) { return A(k) === w; } function N(k) { return A(k) === v; } function M(k) { return A(k) === r; } function R(k) { return A(k) === a; } function T(k) { return A(k) === o; } function Q(k) { return A(k) === f; } Lr.AsyncMode = h, Lr.ConcurrentMode = G, Lr.ContextConsumer = H, Lr.ContextProvider = Z, Lr.Element = J, Lr.ForwardRef = X, Lr.Fragment = ee, Lr.Lazy = I, Lr.Memo = te, Lr.Portal = U, Lr.Profiler = z, Lr.StrictMode = F, Lr.Suspense = D, Lr.isAsyncMode = q, Lr.isConcurrentMode = g, Lr.isContextConsumer = d, Lr.isContextProvider = S, Lr.isElement = C, Lr.isForwardRef = P, Lr.isFragment = j, Lr.isLazy = _, Lr.isMemo = N, Lr.isPortal = M, Lr.isProfiler = R, Lr.isStrictMode = T, Lr.isSuspense = Q, Lr.isValidElementType = E, Lr.typeOf = A; }()), Lr; } var HW; function cse() { return HW || (HW = 1, process.env.NODE_ENV === "production" ? SE.exports = i9e() : SE.exports = s9e()), SE.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var EE, YW; function l9e() { if (YW) return EE; YW = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var l = Object.getOwnPropertyNames(i).map(function(u) { return i[u]; }); if (l.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(u) { c[u] = u; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return EE = o() ? Object.assign : function(a, i) { for (var s, l = n(a), c, u = 1; u < arguments.length; u++) { s = Object(arguments[u]); for (var f in s) t.call(s, f) && (l[f] = s[f]); if (e) { c = e(s); for (var p = 0; p < c.length; p++) r.call(s, c[p]) && (l[c[p]] = s[c[p]]); } } return l; }, EE; } var AE, BW; function xM() { if (BW) return AE; BW = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return AE = e, AE; } var qW, XW; function use() { return XW || (XW = 1, qW = Function.call.bind(Object.prototype.hasOwnProperty)), qW; } var $E, KW; function c9e() { if (KW) return $E; KW = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ xM(), r = {}, n = /* @__PURE__ */ use(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, l, c) { if (process.env.NODE_ENV !== "production") { for (var u in a) if (n(a, u)) { var f; try { if (typeof a[u] != "function") { var p = Error( (l || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw p.name = "Invariant Violation", p; } f = a[u](i, u, l, s, null, t); } catch (w) { f = w; } if (f && !(f instanceof Error) && e( (l || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), f instanceof Error && !(f.message in r)) { r[f.message] = !0; var v = c ? c() : ""; e( "Failed " + s + " type: " + f.message + (v ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, $E = o, $E; } var PE, JW; function u9e() { if (JW) return PE; JW = 1; var e = cse(), t = l9e(), r = /* @__PURE__ */ xM(), n = /* @__PURE__ */ use(), o = /* @__PURE__ */ c9e(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var l = "Warning: " + s; typeof console < "u" && console.error(l); try { throw new Error(l); } catch { } }); function i() { return null; } return PE = function(s, l) { var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator"; function f(g) { var d = g && (c && g[c] || g[u]); if (typeof d == "function") return d; } var p = "<>", v = { array: x("array"), bigint: x("bigint"), bool: x("boolean"), func: x("function"), number: x("number"), object: x("object"), string: x("string"), symbol: x("symbol"), any: O(), arrayOf: E, element: A(), elementType: h(), instanceOf: G, node: X(), objectOf: Z, oneOf: H, oneOfType: J, shape: I, exact: te }; function w(g, d) { return g === d ? g !== 0 || 1 / g === 1 / d : g !== g && d !== d; } function b(g, d) { this.message = g, this.data = d && typeof d == "object" ? d : {}, this.stack = ""; } b.prototype = Error.prototype; function m(g) { if (process.env.NODE_ENV !== "production") var d = {}, S = 0; function C(j, _, N, M, R, T, Q) { if (M = M || p, T = T || N, Q !== r) { if (l) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var ne = M + ":" + N; !d[ne] && // Avoid spamming the console because they are often not actionable except for lib authors S < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + M + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), d[ne] = !0, S++); } } return _[N] == null ? j ? _[N] === null ? new b("The " + R + " `" + T + "` is marked as required " + ("in `" + M + "`, but its value is `null`.")) : new b("The " + R + " `" + T + "` is marked as required in " + ("`" + M + "`, but its value is `undefined`.")) : null : g(_, N, M, R, T); } var P = C.bind(null, !1); return P.isRequired = C.bind(null, !0), P; } function x(g) { function d(S, C, P, j, _, N) { var M = S[C], R = F(M); if (R !== g) { var T = D(M); return new b( "Invalid " + j + " `" + _ + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."), { expectedType: g } ); } return null; } return m(d); } function O() { return m(i); } function E(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside arrayOf."); var N = S[C]; if (!Array.isArray(N)) { var M = F(N); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an array.")); } for (var R = 0; R < N.length; R++) { var T = g(N, R, P, j, _ + "[" + R + "]", r); if (T instanceof Error) return T; } return null; } return m(d); } function A() { function g(d, S, C, P, j) { var _ = d[S]; if (!s(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement.")); } return null; } return m(g); } function h() { function g(d, S, C, P, j) { var _ = d[S]; if (!e.isValidElementType(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement type.")); } return null; } return m(g); } function G(g) { function d(S, C, P, j, _) { if (!(S[C] instanceof g)) { var N = g.name || p, M = q(S[C]); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected ") + ("instance of `" + N + "`.")); } return null; } return m(d); } function H(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function d(S, C, P, j, _) { for (var N = S[C], M = 0; M < g.length; M++) if (w(N, g[M])) return null; var R = JSON.stringify(g, function(T, Q) { var k = D(Q); return k === "symbol" ? String(Q) : Q; }); return new b("Invalid " + j + " `" + _ + "` of value `" + String(N) + "` " + ("supplied to `" + P + "`, expected one of " + R + ".")); } return m(d); } function Z(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside objectOf."); var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an object.")); for (var R in N) if (n(N, R)) { var T = g(N, R, P, j, _ + "." + R, r); if (T instanceof Error) return T; } return null; } return m(d); } function J(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var d = 0; d < g.length; d++) { var S = g[d]; if (typeof S != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(S) + " at index " + d + "." ), i; } function C(P, j, _, N, M) { for (var R = [], T = 0; T < g.length; T++) { var Q = g[T], k = Q(P, j, _, N, M, r); if (k == null) return null; k.data && n(k.data, "expectedType") && R.push(k.data.expectedType); } var ne = R.length > 0 ? ", expected one of type [" + R.join(", ") + "]" : ""; return new b("Invalid " + N + " `" + M + "` supplied to " + ("`" + _ + "`" + ne + ".")); } return m(C); } function X() { function g(d, S, C, P, j) { return U(d[S]) ? null : new b("Invalid " + P + " `" + j + "` supplied to " + ("`" + C + "`, expected a ReactNode.")); } return m(g); } function ee(g, d, S, C, P) { return new b( (g || "React class") + ": " + d + " type `" + S + "." + C + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`." ); } function I(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); for (var R in g) { var T = g[R]; if (typeof T != "function") return ee(P, j, _, R, D(T)); var Q = T(N, R, P, j, _ + "." + R, r); if (Q) return Q; } return null; } return m(d); } function te(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); var R = t({}, S[C], g); for (var T in R) { var Q = g[T]; if (n(g, T) && typeof Q != "function") return ee(P, j, _, T, D(Q)); if (!Q) return new b( "Invalid " + j + " `" + _ + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(S[C], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(g), null, " ") ); var k = Q(N, T, P, j, _ + "." + T, r); if (k) return k; } return null; } return m(d); } function U(g) { switch (typeof g) { case "number": case "string": case "undefined": return !0; case "boolean": return !g; case "object": if (Array.isArray(g)) return g.every(U); if (g === null || s(g)) return !0; var d = f(g); if (d) { var S = d.call(g), C; if (d !== g.entries) { for (; !(C = S.next()).done; ) if (!U(C.value)) return !1; } else for (; !(C = S.next()).done; ) { var P = C.value; if (P && !U(P[1])) return !1; } } else return !1; return !0; default: return !1; } } function z(g, d) { return g === "symbol" ? !0 : d ? d["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && d instanceof Symbol : !1; } function F(g) { var d = typeof g; return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : z(d, g) ? "symbol" : d; } function D(g) { if (typeof g > "u" || g === null) return "" + g; var d = F(g); if (d === "object") { if (g instanceof Date) return "date"; if (g instanceof RegExp) return "regexp"; } return d; } function Y(g) { var d = D(g); switch (d) { case "array": case "object": return "an " + d; case "boolean": case "date": case "regexp": return "a " + d; default: return d; } } function q(g) { return !g.constructor || !g.constructor.name ? p : g.constructor.name; } return v.checkPropTypes = o, v.resetWarningCache = o.resetWarningCache, v.PropTypes = v, v; }, PE; } var CE, QW; function f9e() { if (QW) return CE; QW = 1; var e = /* @__PURE__ */ xM(); function t() { } function r() { } return r.resetWarningCache = t, CE = function() { function n(i, s, l, c, u, f) { if (f !== e) { var p = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw p.name = "Invariant Violation", p; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, CE; } var ZW; function d9e() { if (ZW) return jw.exports; if (ZW = 1, process.env.NODE_ENV !== "production") { var e = cse(), t = !0; jw.exports = /* @__PURE__ */ u9e()(e.isElement, t); } else jw.exports = /* @__PURE__ */ f9e()(); return jw.exports; } var p9e = /* @__PURE__ */ d9e(); const er = /* @__PURE__ */ a9e(p9e); function eG(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Ui(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? eG(Object(r), !0).forEach(function(n) { $g(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : eG(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function p5(e) { "@babel/helpers - typeof"; return p5 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, p5(e); } function $g(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function m9e(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function g9e(e, t) { if (e == null) return {}; var r = m9e(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function hN(e) { return h9e(e) || b9e(e) || y9e(e) || v9e(); } function h9e(e) { if (Array.isArray(e)) return bN(e); } function b9e(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function y9e(e, t) { if (e) { if (typeof e == "string") return bN(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return bN(e, t); } } function bN(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function v9e() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function x9e(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, p = e.fixedWidth, v = e.inverse, w = e.border, b = e.listItem, m = e.flip, x = e.size, O = e.rotation, E = e.pull, A = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": l, "fa-spin-reverse": u, "fa-spin-pulse": c, "fa-pulse": f, "fa-fw": p, "fa-inverse": v, "fa-border": w, "fa-li": b, "fa-flip": m === !0, "fa-flip-horizontal": m === "horizontal" || m === "both", "fa-flip-vertical": m === "vertical" || m === "both" }, $g(t, "fa-".concat(x), typeof x < "u" && x !== null), $g(t, "fa-rotate-".concat(O), typeof O < "u" && O !== null && O !== 0), $g(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), $g(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(A).map(function(h) { return A[h] ? h : null; }).filter(function(h) { return h; }); } function w9e(e) { return e = e - 0, e === e; } function fse(e) { return w9e(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var k9e = ["style"]; function O9e(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function S9e(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = fse(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[O9e(o)] = a : t[o] = a, t; }, {}); } function dse(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(l) { return dse(e, l); }), o = Object.keys(t.attributes || {}).reduce(function(l, c) { var u = t.attributes[c]; switch (c) { case "class": l.attrs.className = u, delete t.attributes.class; break; case "style": l.attrs.style = S9e(u); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[fse(c)] = u; } return l; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = g9e(r, k9e); return o.attrs.style = Ui(Ui({}, o.attrs.style), i), e.apply(void 0, [t.tag, Ui(Ui({}, o.attrs), s)].concat(hN(n))); } var pse = !1; try { pse = process.env.NODE_ENV === "production"; } catch { } function E9e() { if (!pse && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function tG(e) { if (e && p5(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (gN.icon) return gN.icon(e); if (e === null) return null; if (e && p5(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function NE(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? $g({}, e, t) : {}; } var rG = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, h0 = /* @__PURE__ */ de.forwardRef(function(e, t) { var r = Ui(Ui({}, rG), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = tG(n), f = NE("classes", [].concat(hN(x9e(r)), hN((i || "").split(" ")))), p = NE("transform", typeof r.transform == "string" ? gN.transform(r.transform) : r.transform), v = NE("mask", tG(o)), w = o9e(u, Ui(Ui(Ui(Ui({}, f), p), v), {}, { symbol: a, title: s, titleId: l, maskId: c })); if (!w) return E9e("Could not find icon", u), null; var b = w.abstract, m = { ref: t }; return Object.keys(r).forEach(function(x) { rG.hasOwnProperty(x) || (m[x] = r[x]); }), A9e(b[0], m); }); h0.displayName = "FontAwesomeIcon"; h0.propTypes = { beat: er.bool, border: er.bool, beatFade: er.bool, bounce: er.bool, className: er.string, fade: er.bool, flash: er.bool, mask: er.oneOfType([er.object, er.array, er.string]), maskId: er.string, fixedWidth: er.bool, inverse: er.bool, flip: er.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: er.oneOfType([er.object, er.array, er.string]), listItem: er.bool, pull: er.oneOf(["right", "left"]), pulse: er.bool, rotation: er.oneOf([0, 90, 180, 270]), shake: er.bool, size: er.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: er.bool, spinPulse: er.bool, spinReverse: er.bool, symbol: er.oneOfType([er.bool, er.string]), title: er.string, titleId: er.string, transform: er.oneOfType([er.string, er.object]), swapOpacity: er.bool }; var A9e = dse.bind(null, de.createElement); /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const $9e = { prefix: "fas", iconName: "xmark", icon: [384, 512, [128473, 10005, 10006, 10060, 215, "close", "multiply", "remove", "times"], "f00d", "M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"] }; /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function P9e(e, t, r) { return (t = N9e(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function nG(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Ae(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? nG(Object(r), !0).forEach(function(n) { P9e(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : nG(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function C9e(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function N9e(e) { var t = C9e(e, "string"); return typeof t == "symbol" ? t : t + ""; } const oG = () => { }; let wM = {}, mse = {}, gse = null, hse = { mark: oG, measure: oG }; try { typeof window < "u" && (wM = window), typeof document < "u" && (mse = document), typeof MutationObserver < "u" && (gse = MutationObserver), typeof performance < "u" && (hse = performance); } catch { } const { userAgent: aG = "" } = wM.navigator || {}, Rf = wM, Rn = mse, iG = gse, Iw = hse; Rf.document; const kc = !!Rn.documentElement && !!Rn.head && typeof Rn.addEventListener == "function" && typeof Rn.createElement == "function", bse = ~aG.indexOf("MSIE") || ~aG.indexOf("Trident/"); var _9e = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, j9e = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, yse = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, I9e = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, vse = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], So = "classic", tS = "duotone", R9e = "sharp", M9e = "sharp-duotone", xse = [So, tS, R9e, M9e], T9e = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, z9e = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, D9e = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), F9e = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, L9e = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], sG = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, V9e = ["kit"], W9e = { kit: { "fa-kit": "fak" } }, G9e = ["fak", "fakd"], U9e = { kit: { fak: "fa-kit" } }, lG = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, Rw = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, H9e = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Y9e = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], B9e = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, q9e = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, X9e = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, yN = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, K9e = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], vN = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...H9e, ...K9e], J9e = ["solid", "regular", "light", "thin", "duotone", "brands"], wse = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], Q9e = wse.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), Z9e = [...Object.keys(X9e), ...J9e, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", Rw.GROUP, Rw.SWAP_OPACITY, Rw.PRIMARY, Rw.SECONDARY].concat(wse.map((e) => "".concat(e, "x"))).concat(Q9e.map((e) => "w-".concat(e))), e7e = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const Wl = "___FONT_AWESOME___", xN = 16, kse = "fa", Ose = "svg-inline--fa", pm = "data-fa-i2svg", wN = "data-fa-pseudo-element", t7e = "data-fa-pseudo-element-pending", kM = "data-prefix", OM = "data-icon", cG = "fontawesome-i2svg", r7e = "async", n7e = ["HTML", "HEAD", "STYLE", "SCRIPT"], Sse = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function Sx(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[So]; } }); } const Ese = Ae({}, yse); Ese[So] = Ae(Ae(Ae(Ae({}, { "fa-duotone": "duotone" }), yse[So]), sG.kit), sG["kit-duotone"]); const o7e = Sx(Ese), kN = Ae({}, F9e); kN[So] = Ae(Ae(Ae(Ae({}, { duotone: "fad" }), kN[So]), lG.kit), lG["kit-duotone"]); const uG = Sx(kN), ON = Ae({}, yN); ON[So] = Ae(Ae({}, ON[So]), U9e.kit); const SM = Sx(ON), SN = Ae({}, q9e); SN[So] = Ae(Ae({}, SN[So]), W9e.kit); Sx(SN); const a7e = _9e, Ase = "fa-layers-text", i7e = j9e, s7e = Ae({}, T9e); Sx(s7e); const l7e = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], _E = I9e, c7e = [...V9e, ...Z9e], c1 = Rf.FontAwesomeConfig || {}; function u7e(e) { var t = Rn.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function f7e(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } Rn && typeof Rn.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => { let [t, r] = e; const n = f7e(u7e(t)); n != null && (c1[r] = n); }); const $se = { styleDefault: "solid", familyDefault: So, cssPrefix: kse, replacementClass: Ose, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; c1.familyPrefix && (c1.cssPrefix = c1.familyPrefix); const ob = Ae(Ae({}, $se), c1); ob.autoReplaceSvg || (ob.observeMutations = !1); const Ze = {}; Object.keys($se).forEach((e) => { Object.defineProperty(Ze, e, { enumerable: !0, set: function(t) { ob[e] = t, u1.forEach((r) => r(Ze)); }, get: function() { return ob[e]; } }); }); Object.defineProperty(Ze, "familyPrefix", { enumerable: !0, set: function(e) { ob.cssPrefix = e, u1.forEach((t) => t(Ze)); }, get: function() { return ob.cssPrefix; } }); Rf.FontAwesomeConfig = Ze; const u1 = []; function d7e(e) { return u1.push(e), () => { u1.splice(u1.indexOf(e), 1); }; } const Kc = xN, gs = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function p7e(e) { if (!e || !kc) return; const t = Rn.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = Rn.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return Rn.head.insertBefore(t, n), e; } const m7e = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function b0() { let e = 12, t = ""; for (; e-- > 0; ) t += m7e[Math.random() * 62 | 0]; return t; } function Ib(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function EM(e) { return e.classList ? Ib(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function Pse(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function g7e(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(Pse(e[r]), '" '), "").trim(); } function rS(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function AM(e) { return e.size !== gs.size || e.x !== gs.x || e.y !== gs.y || e.rotate !== gs.rotate || e.flipX || e.flipY; } function h7e(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), l = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: l, path: c }; } function b7e(e) { let { transform: t, width: r = xN, height: n = xN, startCentered: o = !1 } = e, a = ""; return o && bse ? a += "translate(".concat(t.x / Kc - r / 2, "em, ").concat(t.y / Kc - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Kc, "em), calc(-50% + ").concat(t.y / Kc, "em)) ") : a += "translate(".concat(t.x / Kc, "em, ").concat(t.y / Kc, "em) "), a += "scale(".concat(t.size / Kc * (t.flipX ? -1 : 1), ", ").concat(t.size / Kc * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var y7e = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function Cse() { const e = kse, t = Ose, r = Ze.cssPrefix, n = Ze.replacementClass; let o = y7e; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let fG = !1; function jE() { Ze.autoAddCss && !fG && (p7e(Cse()), fG = !0); } var v7e = { mixout() { return { dom: { css: Cse, insertCss: jE } }; }, hooks() { return { beforeDOMElementCreation() { jE(); }, beforeI2svg() { jE(); } }; } }; const Gl = Rf || {}; Gl[Wl] || (Gl[Wl] = {}); Gl[Wl].styles || (Gl[Wl].styles = {}); Gl[Wl].hooks || (Gl[Wl].hooks = {}); Gl[Wl].shims || (Gl[Wl].shims = []); var hs = Gl[Wl]; const Nse = [], _se = function() { Rn.removeEventListener("DOMContentLoaded", _se), m5 = 1, Nse.map((e) => e()); }; let m5 = !1; kc && (m5 = (Rn.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Rn.readyState), m5 || Rn.addEventListener("DOMContentLoaded", _se)); function x7e(e) { kc && (m5 ? setTimeout(e, 0) : Nse.push(e)); } function Ex(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? Pse(e) : "<".concat(t, " ").concat(g7e(r), ">").concat(n.map(Ex).join(""), ""); } function dG(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var IE = function(e, t, r, n) { var o = Object.keys(e), a = o.length, i = t, s, l, c; for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++) l = o[s], c = i(c, e[l], l, e); return c; }; function w7e(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function jse(e) { const t = w7e(e); return t.length === 1 ? t[0].toString(16) : null; } function k7e(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function pG(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function EN(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = pG(t); typeof hs.hooks.addPack == "function" && !n ? hs.hooks.addPack(e, pG(t)) : hs.styles[e] = Ae(Ae({}, hs.styles[e] || {}), o), e === "fas" && EN("fa", t); } const { styles: y0, shims: O7e } = hs, Ise = Object.keys(SM), S7e = Ise.reduce((e, t) => (e[t] = Object.keys(SM[t]), e), {}); let $M = null, Rse = {}, Mse = {}, Tse = {}, zse = {}, Dse = {}; function E7e(e) { return ~c7e.indexOf(e); } function A7e(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !E7e(o) ? o : null; } const Fse = () => { const e = (n) => IE(y0, (o, a, i) => (o[i] = IE(a, n, {}), o), {}); Rse = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => { n[i.toString(16)] = a; }), n)), Mse = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => { n[i] = a; }), n)), Dse = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in y0 || Ze.autoFetchSvg, r = IE(O7e, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); Tse = r.names, zse = r.unicodes, $M = nS(Ze.styleDefault, { family: Ze.familyDefault }); }; d7e((e) => { $M = nS(e.styleDefault, { family: Ze.familyDefault }); }); Fse(); function PM(e, t) { return (Rse[e] || {})[t]; } function $7e(e, t) { return (Mse[e] || {})[t]; } function Ip(e, t) { return (Dse[e] || {})[t]; } function Lse(e) { return Tse[e] || { prefix: null, iconName: null }; } function P7e(e) { const t = zse[e], r = PM("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function Mf() { return $M; } const Vse = () => ({ prefix: null, iconName: null, rest: [] }); function C7e(e) { let t = So; const r = Ise.reduce((n, o) => (n[o] = "".concat(Ze.cssPrefix, "-").concat(o), n), {}); return xse.forEach((n) => { (e.includes(r[n]) || e.some((o) => S7e[n].includes(o))) && (t = n); }), t; } function nS(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = So } = t, n = o7e[r][e]; if (r === tS && !e) return "fad"; const o = uG[r][e] || uG[r][n], a = e in hs.styles ? e : null; return o || a || null; } function N7e(e) { let t = [], r = null; return e.forEach((n) => { const o = A7e(Ze.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function mG(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function oS(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = vN.concat(Y9e), a = mG(e.filter((f) => o.includes(f))), i = mG(e.filter((f) => !vN.includes(f))), s = a.filter((f) => (n = f, !vse.includes(f))), [l = null] = s, c = C7e(a), u = Ae(Ae({}, N7e(i)), {}, { prefix: nS(l, { family: c }) }); return Ae(Ae(Ae({}, u), R7e({ values: e, family: c, styles: y0, config: Ze, canonical: u, givenPrefix: n })), _7e(r, n, u)); } function _7e(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? Lse(o) : {}, i = Ip(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !y0.far && y0.fas && !Ze.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const j7e = xse.filter((e) => e !== So || e !== tS), I7e = Object.keys(yN).filter((e) => e !== So).map((e) => Object.keys(yN[e])).flat(); function R7e(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === tS, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && j7e.includes(r) && (Object.keys(a).find((f) => I7e.includes(f)) || i.autoFetchSvg)) { const f = D9e.get(r).defaultShortPrefixId; n.prefix = f, n.iconName = Ip(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = Mf() || "fas"), n; } let M7e = class { constructor() { this.definitions = {}; } add() { for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r]; const n = t.reduce(this._pullDefinitions, {}); Object.keys(n).forEach((o) => { this.definitions[o] = Ae(Ae({}, this.definitions[o] || {}), n[o]), EN(o, n[o]); const a = SM[So][o]; a && EN(a, n[o]), Fse(); }); } reset() { this.definitions = {}; } _pullDefinitions(e, t) { const r = t.prefix && t.iconName && t.icon ? { 0: t } : t; return Object.keys(r).map((n) => { const { prefix: o, iconName: a, icon: i } = r[n], s = i[2]; e[o] || (e[o] = {}), s.length > 0 && s.forEach((l) => { typeof l == "string" && (e[o][l] = i); }), e[o][a] = i; }), e; } }, gG = [], Pg = {}; const gh = {}, T7e = Object.keys(gh); function z7e(e, t) { let { mixoutsTo: r } = t; return gG = e, Pg = {}, Object.keys(gh).forEach((n) => { T7e.indexOf(n) === -1 && delete gh[n]; }), gG.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { Pg[i] || (Pg[i] = []), Pg[i].push(a[i]); }); } n.provides && n.provides(gh); }), r; } function AN(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (Pg[e] || []).forEach((a) => { t = a.apply(null, [t, ...n]); }), t; } function mm(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (Pg[e] || []).forEach((o) => { o.apply(null, r); }); } function Tf() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return gh[e] ? gh[e].apply(null, t) : void 0; } function $N(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || Mf(); if (t) return t = Ip(r, t) || t, dG(Wse.definitions, r, t) || dG(hs.styles, r, t); } const Wse = new M7e(), D7e = () => { Ze.autoReplaceSvg = !1, Ze.observeMutations = !1, mm("noAuto"); }, F7e = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return kc ? (mm("beforeI2svg", e), Tf("pseudoElements2svg", e), Tf("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; Ze.autoReplaceSvg === !1 && (Ze.autoReplaceSvg = !0), Ze.observeMutations = !0, x7e(() => { V7e({ autoReplaceSvgRoot: t }), mm("watch", e); }); } }, L7e = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: Ip(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = nS(e[0]); return { prefix: r, iconName: Ip(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(Ze.cssPrefix, "-")) > -1 || e.match(a7e))) { const t = oS(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || Mf(), iconName: Ip(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = Mf(); return { prefix: t, iconName: Ip(t, e) || e }; } } }, wa = { noAuto: D7e, config: Ze, dom: F7e, parse: L7e, library: Wse, findIconDefinition: $N, toHtml: Ex }, V7e = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = Rn } = e; (Object.keys(hs.styles).length > 0 || Ze.autoFetchSvg) && kc && Ze.autoReplaceSvg && wa.dom.i2svg({ node: t }); }; function aS(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => Ex(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!kc) return; const r = Rn.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function W7e(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (AM(i) && r.found && !n.found) { const { width: s, height: l } = r, c = { x: s / l / 2, y: 0.5 }; o.style = rS(Ae(Ae({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function G7e(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(Ze.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: Ae(Ae({}, o), {}, { id: i }), children: n }] }]; } function CM(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: l, titleId: c, extra: u, watchable: f = !1 } = e, { width: p, height: v } = r.found ? r : t, w = G9e.includes(n), b = [Ze.replacementClass, o ? "".concat(Ze.cssPrefix, "-").concat(o) : ""].filter((h) => u.classes.indexOf(h) === -1).filter((h) => h !== "" || !!h).concat(u.classes).join(" "); let m = { children: [], attributes: Ae(Ae({}, u.attributes), {}, { "data-prefix": n, "data-icon": o, class: b, role: u.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(p, " ").concat(v) }) }; const x = w && !~u.classes.indexOf("fa-fw") ? { width: "".concat(p / v * 16 * 0.0625, "em") } : {}; f && (m.attributes[pm] = ""), s && (m.children.push({ tag: "title", attributes: { id: m.attributes["aria-labelledby"] || "title-".concat(c || b0()) }, children: [s] }), delete m.attributes.title); const O = Ae(Ae({}, m), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: l, transform: a, symbol: i, styles: Ae(Ae({}, x), u.styles) }), { children: E, attributes: A } = r.found && t.found ? Tf("generateAbstractMask", O) || { children: [], attributes: {} } : Tf("generateAbstractIcon", O) || { children: [], attributes: {} }; return O.children = E, O.attributes = A, i ? G7e(O) : W7e(O); } function hG(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, l = Ae(Ae(Ae({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (l[pm] = ""); const c = Ae({}, i.styles); AM(o) && (c.transform = b7e({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const u = rS(c); u.length > 0 && (l.style = u); const f = []; return f.push({ tag: "span", attributes: l, children: [t] }), a && f.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), f; } function U7e(e) { const { content: t, title: r, extra: n } = e, o = Ae(Ae(Ae({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = rS(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: RE } = hs; function PN(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(Ze.cssPrefix, "-").concat(_E.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(Ze.cssPrefix, "-").concat(_E.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(Ze.cssPrefix, "-").concat(_E.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const H7e = { found: !1, width: 512, height: 512 }; function Y7e(e, t) { !Sse && !Ze.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function CN(e, t) { let r = t; return t === "fa" && Ze.styleDefault !== null && (t = Mf()), new Promise((n, o) => { if (r === "fa") { const a = Lse(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && RE[t] && RE[t][e]) { const a = RE[t][e]; return n(PN(a)); } Y7e(e, t), n(Ae(Ae({}, H7e), {}, { icon: Ze.showMissingIcons && e ? Tf("missingIconAbstract") || {} : {} })); }); } const bG = () => { }, NN = Ze.measurePerformance && Iw && Iw.mark && Iw.measure ? Iw : { mark: bG, measure: bG }, _v = 'FA "6.7.2"', B7e = (e) => (NN.mark("".concat(_v, " ").concat(e, " begins")), () => Gse(e)), Gse = (e) => { NN.mark("".concat(_v, " ").concat(e, " ends")), NN.measure("".concat(_v, " ").concat(e), "".concat(_v, " ").concat(e, " begins"), "".concat(_v, " ").concat(e, " ends")); }; var NM = { begin: B7e, end: Gse }; const nk = () => { }; function yG(e) { return typeof (e.getAttribute ? e.getAttribute(pm) : null) == "string"; } function q7e(e) { const t = e.getAttribute ? e.getAttribute(kM) : null, r = e.getAttribute ? e.getAttribute(OM) : null; return t && r; } function X7e(e) { return e && e.classList && e.classList.contains && e.classList.contains(Ze.replacementClass); } function K7e() { return Ze.autoReplaceSvg === !0 ? ok.replace : ok[Ze.autoReplaceSvg] || ok.replace; } function J7e(e) { return Rn.createElementNS("http://www.w3.org/2000/svg", e); } function Q7e(e) { return Rn.createElement(e); } function Use(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? J7e : Q7e } = t; if (typeof e == "string") return Rn.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(o) { n.setAttribute(o, e.attributes[o]); }), (e.children || []).forEach(function(o) { n.appendChild(Use(o, { ceFn: r })); }), n; } function Z7e(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const ok = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(Use(r), t); }), t.getAttribute(pm) === null && Ze.keepOriginalSource) { let r = Rn.createComment(Z7e(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~EM(t).indexOf(Ze.replacementClass)) return ok.replace(e); const n = new RegExp("".concat(Ze.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === Ze.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => Ex(a)).join(` `); t.setAttribute(pm, ""), t.innerHTML = o; } }; function vG(e) { e(); } function Hse(e, t) { const r = typeof t == "function" ? t : nk; if (e.length === 0) r(); else { let n = vG; Ze.mutateApproach === r7e && (n = Rf.requestAnimationFrame || vG), n(() => { const o = K7e(), a = NM.begin("mutate"); e.map(o), a(), r(); }); } } let _M = !1; function Yse() { _M = !0; } function _N() { _M = !1; } let g5 = null; function xG(e) { if (!iG || !Ze.observeMutations) return; const { treeCallback: t = nk, nodeCallback: r = nk, pseudoElementsCallback: n = nk, observeMutationsRoot: o = Rn } = e; g5 = new iG((a) => { if (_M) return; const i = Mf(); Ib(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !yG(s.addedNodes[0]) && (Ze.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Ze.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && yG(s.target) && ~l7e.indexOf(s.attributeName)) if (s.attributeName === "class" && q7e(s.target)) { const { prefix: l, iconName: c } = oS(EM(s.target)); s.target.setAttribute(kM, l || i), c && s.target.setAttribute(OM, c); } else X7e(s.target) && r(s.target); }); }), kc && g5.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function eIe() { g5 && g5.disconnect(); } function tIe(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function rIe(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = oS(EM(e)); return o.prefix || (o.prefix = Mf()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = $7e(o.prefix, e.innerText) || PM(o.prefix, jse(e.innerText))), !o.iconName && Ze.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function nIe(e) { const t = Ib(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return Ze.autoA11y && (r ? t["aria-labelledby"] = "".concat(Ze.replacementClass, "-title-").concat(n || b0()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function oIe() { return { iconName: null, title: null, titleId: null, prefix: null, transform: gs, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function wG(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = rIe(e), a = nIe(e), i = AN("parseNodeAttributes", {}, e); let s = t.styleParser ? tIe(e) : []; return Ae({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: gs, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: aIe } = hs; function Bse(e) { const t = Ze.autoReplaceSvg === "nest" ? wG(e, { styleParser: !1 }) : wG(e); return ~t.extra.classes.indexOf(Ase) ? Tf("generateLayersText", e, t) : Tf("generateSvgReplacementMutation", e, t); } function iIe() { return [...L9e, ...vN]; } function kG(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!kc) return Promise.resolve(); const r = Rn.documentElement.classList, n = (u) => r.add("".concat(cG, "-").concat(u)), o = (u) => r.remove("".concat(cG, "-").concat(u)), a = Ze.autoFetchSvg ? iIe() : vse.concat(Object.keys(aIe)); a.includes("fa") || a.push("fa"); const i = [".".concat(Ase, ":not([").concat(pm, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(pm, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = Ib(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const l = NM.begin("onTree"), c = s.reduce((u, f) => { try { const p = Bse(f); p && u.push(p); } catch (p) { Sse || p.name === "MissingIcon" && console.error(p); } return u; }, []); return new Promise((u, f) => { Promise.all(c).then((p) => { Hse(p, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u(); }); }).catch((p) => { l(), f(p); }); }); } function sIe(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; Bse(e).then((r) => { r && Hse([r], t); }); } function lIe(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : $N(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : $N(o || {})), e(n, Ae(Ae({}, r), {}, { mask: o })); }; } const cIe = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = gs, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: l = [], attributes: c = {}, styles: u = {} } = t; if (!e) return; const { prefix: f, iconName: p, icon: v } = e; return aS(Ae({ type: "icon" }, e), () => (mm("beforeDOMElementCreation", { iconDefinition: e, params: t }), Ze.autoA11y && (i ? c["aria-labelledby"] = "".concat(Ze.replacementClass, "-title-").concat(s || b0()) : (c["aria-hidden"] = "true", c.focusable = "false")), CM({ icons: { main: PN(v), mask: o ? PN(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: f, iconName: p, transform: Ae(Ae({}, gs), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: u, classes: l } }))); }; var uIe = { mixout() { return { icon: lIe(cIe) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = kG, e.nodeCallback = sIe, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = Rn, callback: n = () => { } } = t; return kG(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: l, mask: c, maskId: u, extra: f } = r; return new Promise((p, v) => { Promise.all([CN(n, i), c.iconName ? CN(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((w) => { let [b, m] = w; p([t, CM({ icons: { main: b, mask: m }, prefix: i, iconName: n, transform: s, symbol: l, maskId: u, title: o, titleId: a, extra: f, watchable: !0 })]); }).catch(v); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = rS(i); s.length > 0 && (n.style = s); let l; return AM(a) && (l = Tf("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(l || o.icon), { children: r, attributes: n }; }; } }, fIe = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return aS({ type: "layer" }, () => { mm("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(Ze.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, dIe = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return aS({ type: "counter", content: e }, () => (mm("beforeDOMElementCreation", { content: e, params: t }), U7e({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(Ze.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, pIe = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = gs, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return aS({ type: "text", content: e }, () => (mm("beforeDOMElementCreation", { content: e, params: t }), hG({ content: e, transform: Ae(Ae({}, gs), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(Ze.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (bse) { const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / l, s = c.height / l; } return Ze.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, hG({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const mIe = new RegExp('"', "ug"), OG = [1105920, 1112319], SG = Ae(Ae(Ae(Ae({}, { FontAwesome: { normal: "fas", 400: "fas" } }), z9e), e7e), B9e), jN = Object.keys(SG).reduce((e, t) => (e[t.toLowerCase()] = SG[t], e), {}), gIe = Object.keys(jN).reduce((e, t) => { const r = jN[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function hIe(e) { const t = e.replace(mIe, ""), r = k7e(t, 0), n = r >= OG[0] && r <= OG[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: jse(o ? t[0] : t), isSecondary: n || o }; } function bIe(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return (jN[r] || {})[o] || gIe[r]; } function EG(e, t) { const r = "".concat(t7e).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const a = Ib(e.children).filter((f) => f.getAttribute(wN) === t)[0], i = Rf.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(i7e), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content"); if (a && !l) return e.removeChild(a), n(); if (l && u !== "none" && u !== "") { const f = i.getPropertyValue("content"); let p = bIe(s, c); const { value: v, isSecondary: w } = hIe(f), b = l[0].startsWith("FontAwesome"); let m = PM(p, v), x = m; if (b) { const O = P7e(v); O.iconName && O.prefix && (m = O.iconName, p = O.prefix); } if (m && !w && (!a || a.getAttribute(kM) !== p || a.getAttribute(OM) !== x)) { e.setAttribute(r, x), a && e.removeChild(a); const O = oIe(), { extra: E } = O; E.attributes[wN] = t, CN(m, p).then((A) => { const h = CM(Ae(Ae({}, O), {}, { icons: { main: A, mask: Vse() }, prefix: p, iconName: x, extra: E, watchable: !0 })), G = Rn.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(G, e.firstChild) : e.appendChild(G), G.outerHTML = h.map((H) => Ex(H)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function yIe(e) { return Promise.all([EG(e, "::before"), EG(e, "::after")]); } function vIe(e) { return e.parentNode !== document.head && !~n7e.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(wN) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function AG(e) { if (kc) return new Promise((t, r) => { const n = Ib(e.querySelectorAll("*")).filter(vIe).map(yIe), o = NM.begin("searchPseudoElements"); Yse(), Promise.all(n).then(() => { o(), _N(), t(); }).catch(() => { o(), _N(), r(); }); }); } var xIe = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = AG, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = Rn } = t; Ze.searchPseudoElements && AG(r); }; } }; let $G = !1; var wIe = { mixout() { return { dom: { unwatch() { Yse(), $G = !0; } } }; }, hooks() { return { bootstrap() { xG(AN("mutationObserverCallbacks", {})); }, noAuto() { eIe(); }, watch(e) { const { observeMutationsRoot: t } = e; $G ? _N() : xG(AN("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const PG = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var kIe = { mixout() { return { parse: { transform: (e) => PG(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = PG(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = { transform: "".concat(s, " ").concat(l, " ").concat(c) }, f = { transform: "translate(".concat(a / 2 * -1, " -256)") }, p = { outer: i, inner: u, path: f }; return { tag: "g", attributes: Ae({}, p.outer), children: [{ tag: "g", attributes: Ae({}, p.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: Ae(Ae({}, r.icon.attributes), p.path) }] }] }; }; } }; const ME = { x: 0, y: 0, width: "100%", height: "100%" }; function CG(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function OIe(e) { return e.tag === "g" ? e.children : [e]; } var SIe = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? oS(r.split(" ").map((o) => o.trim())) : Vse(); return n.prefix || (n.prefix = Mf()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: l, icon: c } = o, { width: u, icon: f } = a, p = h7e({ transform: s, containerWidth: u, iconWidth: l }), v = { tag: "rect", attributes: Ae(Ae({}, ME), {}, { fill: "white" }) }, w = c.children ? { children: c.children.map(CG) } : {}, b = { tag: "g", attributes: Ae({}, p.inner), children: [CG(Ae({ tag: c.tag, attributes: Ae(Ae({}, c.attributes), p.path) }, w))] }, m = { tag: "g", attributes: Ae({}, p.outer), children: [b] }, x = "mask-".concat(i || b0()), O = "clip-".concat(i || b0()), E = { tag: "mask", attributes: Ae(Ae({}, ME), {}, { id: x, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [v, m] }, A = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: O }, children: OIe(f) }, E] }; return r.push(A, { tag: "rect", attributes: Ae({ fill: "currentColor", "clip-path": "url(#".concat(O, ")"), mask: "url(#".concat(x, ")") }, ME) }), { children: r, attributes: n }; }; } }, EIe = { provides(e) { let t = !1; Rf.matchMedia && (t = Rf.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: Ae(Ae({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = Ae(Ae({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: Ae(Ae({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: Ae(Ae({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: Ae(Ae({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: Ae(Ae({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: Ae(Ae({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: Ae(Ae({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: Ae(Ae({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, AIe = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, $Ie = [v7e, uIe, fIe, dIe, pIe, xIe, wIe, kIe, SIe, EIe, AIe]; z7e($Ie, { mixoutsTo: wa }); wa.noAuto; wa.config; wa.library; wa.dom; const IN = wa.parse; wa.findIconDefinition; wa.toHtml; const PIe = wa.icon; wa.layer; wa.text; wa.counter; function CIe(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var Mw = { exports: {} }, TE = { exports: {} }, Or = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var NG; function NIe() { if (NG) return Or; NG = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(h) { if (typeof h == "object" && h !== null) { var G = h.$$typeof; switch (G) { case t: switch (h = h.type, h) { case l: case c: case n: case a: case o: case f: return h; default: switch (h = h && h.$$typeof, h) { case s: case u: case w: case v: case i: return h; default: return G; } } case r: return G; } } } function A(h) { return E(h) === c; } return Or.AsyncMode = l, Or.ConcurrentMode = c, Or.ContextConsumer = s, Or.ContextProvider = i, Or.Element = t, Or.ForwardRef = u, Or.Fragment = n, Or.Lazy = w, Or.Memo = v, Or.Portal = r, Or.Profiler = a, Or.StrictMode = o, Or.Suspense = f, Or.isAsyncMode = function(h) { return A(h) || E(h) === l; }, Or.isConcurrentMode = A, Or.isContextConsumer = function(h) { return E(h) === s; }, Or.isContextProvider = function(h) { return E(h) === i; }, Or.isElement = function(h) { return typeof h == "object" && h !== null && h.$$typeof === t; }, Or.isForwardRef = function(h) { return E(h) === u; }, Or.isFragment = function(h) { return E(h) === n; }, Or.isLazy = function(h) { return E(h) === w; }, Or.isMemo = function(h) { return E(h) === v; }, Or.isPortal = function(h) { return E(h) === r; }, Or.isProfiler = function(h) { return E(h) === a; }, Or.isStrictMode = function(h) { return E(h) === o; }, Or.isSuspense = function(h) { return E(h) === f; }, Or.isValidElementType = function(h) { return typeof h == "string" || typeof h == "function" || h === n || h === c || h === a || h === o || h === f || h === p || typeof h == "object" && h !== null && (h.$$typeof === w || h.$$typeof === v || h.$$typeof === i || h.$$typeof === s || h.$$typeof === u || h.$$typeof === m || h.$$typeof === x || h.$$typeof === O || h.$$typeof === b); }, Or.typeOf = E, Or; } var Vr = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var _G; function _Ie() { return _G || (_G = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === f || k === p || typeof k == "object" && k !== null && (k.$$typeof === w || k.$$typeof === v || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === m || k.$$typeof === x || k.$$typeof === O || k.$$typeof === b); } function A(k) { if (typeof k == "object" && k !== null) { var ne = k.$$typeof; switch (ne) { case t: var pe = k.type; switch (pe) { case l: case c: case n: case a: case o: case f: return pe; default: var He = pe && pe.$$typeof; switch (He) { case s: case u: case w: case v: case i: return He; default: return ne; } } case r: return ne; } } } var h = l, G = c, H = s, Z = i, J = t, X = u, ee = n, I = w, te = v, U = r, z = a, F = o, D = f, Y = !1; function q(k) { return Y || (Y = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), g(k) || A(k) === l; } function g(k) { return A(k) === c; } function d(k) { return A(k) === s; } function S(k) { return A(k) === i; } function C(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function P(k) { return A(k) === u; } function j(k) { return A(k) === n; } function _(k) { return A(k) === w; } function N(k) { return A(k) === v; } function M(k) { return A(k) === r; } function R(k) { return A(k) === a; } function T(k) { return A(k) === o; } function Q(k) { return A(k) === f; } Vr.AsyncMode = h, Vr.ConcurrentMode = G, Vr.ContextConsumer = H, Vr.ContextProvider = Z, Vr.Element = J, Vr.ForwardRef = X, Vr.Fragment = ee, Vr.Lazy = I, Vr.Memo = te, Vr.Portal = U, Vr.Profiler = z, Vr.StrictMode = F, Vr.Suspense = D, Vr.isAsyncMode = q, Vr.isConcurrentMode = g, Vr.isContextConsumer = d, Vr.isContextProvider = S, Vr.isElement = C, Vr.isForwardRef = P, Vr.isFragment = j, Vr.isLazy = _, Vr.isMemo = N, Vr.isPortal = M, Vr.isProfiler = R, Vr.isStrictMode = T, Vr.isSuspense = Q, Vr.isValidElementType = E, Vr.typeOf = A; }()), Vr; } var jG; function qse() { return jG || (jG = 1, process.env.NODE_ENV === "production" ? TE.exports = NIe() : TE.exports = _Ie()), TE.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var zE, IG; function jIe() { if (IG) return zE; IG = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var l = Object.getOwnPropertyNames(i).map(function(u) { return i[u]; }); if (l.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(u) { c[u] = u; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return zE = o() ? Object.assign : function(a, i) { for (var s, l = n(a), c, u = 1; u < arguments.length; u++) { s = Object(arguments[u]); for (var f in s) t.call(s, f) && (l[f] = s[f]); if (e) { c = e(s); for (var p = 0; p < c.length; p++) r.call(s, c[p]) && (l[c[p]] = s[c[p]]); } } return l; }, zE; } var DE, RG; function jM() { if (RG) return DE; RG = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return DE = e, DE; } var MG, TG; function Xse() { return TG || (TG = 1, MG = Function.call.bind(Object.prototype.hasOwnProperty)), MG; } var FE, zG; function IIe() { if (zG) return FE; zG = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ jM(), r = {}, n = /* @__PURE__ */ Xse(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, l, c) { if (process.env.NODE_ENV !== "production") { for (var u in a) if (n(a, u)) { var f; try { if (typeof a[u] != "function") { var p = Error( (l || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw p.name = "Invariant Violation", p; } f = a[u](i, u, l, s, null, t); } catch (w) { f = w; } if (f && !(f instanceof Error) && e( (l || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), f instanceof Error && !(f.message in r)) { r[f.message] = !0; var v = c ? c() : ""; e( "Failed " + s + " type: " + f.message + (v ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, FE = o, FE; } var LE, DG; function RIe() { if (DG) return LE; DG = 1; var e = qse(), t = jIe(), r = /* @__PURE__ */ jM(), n = /* @__PURE__ */ Xse(), o = /* @__PURE__ */ IIe(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var l = "Warning: " + s; typeof console < "u" && console.error(l); try { throw new Error(l); } catch { } }); function i() { return null; } return LE = function(s, l) { var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator"; function f(g) { var d = g && (c && g[c] || g[u]); if (typeof d == "function") return d; } var p = "<>", v = { array: x("array"), bigint: x("bigint"), bool: x("boolean"), func: x("function"), number: x("number"), object: x("object"), string: x("string"), symbol: x("symbol"), any: O(), arrayOf: E, element: A(), elementType: h(), instanceOf: G, node: X(), objectOf: Z, oneOf: H, oneOfType: J, shape: I, exact: te }; function w(g, d) { return g === d ? g !== 0 || 1 / g === 1 / d : g !== g && d !== d; } function b(g, d) { this.message = g, this.data = d && typeof d == "object" ? d : {}, this.stack = ""; } b.prototype = Error.prototype; function m(g) { if (process.env.NODE_ENV !== "production") var d = {}, S = 0; function C(j, _, N, M, R, T, Q) { if (M = M || p, T = T || N, Q !== r) { if (l) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var ne = M + ":" + N; !d[ne] && // Avoid spamming the console because they are often not actionable except for lib authors S < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + M + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), d[ne] = !0, S++); } } return _[N] == null ? j ? _[N] === null ? new b("The " + R + " `" + T + "` is marked as required " + ("in `" + M + "`, but its value is `null`.")) : new b("The " + R + " `" + T + "` is marked as required in " + ("`" + M + "`, but its value is `undefined`.")) : null : g(_, N, M, R, T); } var P = C.bind(null, !1); return P.isRequired = C.bind(null, !0), P; } function x(g) { function d(S, C, P, j, _, N) { var M = S[C], R = F(M); if (R !== g) { var T = D(M); return new b( "Invalid " + j + " `" + _ + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."), { expectedType: g } ); } return null; } return m(d); } function O() { return m(i); } function E(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside arrayOf."); var N = S[C]; if (!Array.isArray(N)) { var M = F(N); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an array.")); } for (var R = 0; R < N.length; R++) { var T = g(N, R, P, j, _ + "[" + R + "]", r); if (T instanceof Error) return T; } return null; } return m(d); } function A() { function g(d, S, C, P, j) { var _ = d[S]; if (!s(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement.")); } return null; } return m(g); } function h() { function g(d, S, C, P, j) { var _ = d[S]; if (!e.isValidElementType(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement type.")); } return null; } return m(g); } function G(g) { function d(S, C, P, j, _) { if (!(S[C] instanceof g)) { var N = g.name || p, M = q(S[C]); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected ") + ("instance of `" + N + "`.")); } return null; } return m(d); } function H(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function d(S, C, P, j, _) { for (var N = S[C], M = 0; M < g.length; M++) if (w(N, g[M])) return null; var R = JSON.stringify(g, function(T, Q) { var k = D(Q); return k === "symbol" ? String(Q) : Q; }); return new b("Invalid " + j + " `" + _ + "` of value `" + String(N) + "` " + ("supplied to `" + P + "`, expected one of " + R + ".")); } return m(d); } function Z(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside objectOf."); var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an object.")); for (var R in N) if (n(N, R)) { var T = g(N, R, P, j, _ + "." + R, r); if (T instanceof Error) return T; } return null; } return m(d); } function J(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var d = 0; d < g.length; d++) { var S = g[d]; if (typeof S != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(S) + " at index " + d + "." ), i; } function C(P, j, _, N, M) { for (var R = [], T = 0; T < g.length; T++) { var Q = g[T], k = Q(P, j, _, N, M, r); if (k == null) return null; k.data && n(k.data, "expectedType") && R.push(k.data.expectedType); } var ne = R.length > 0 ? ", expected one of type [" + R.join(", ") + "]" : ""; return new b("Invalid " + N + " `" + M + "` supplied to " + ("`" + _ + "`" + ne + ".")); } return m(C); } function X() { function g(d, S, C, P, j) { return U(d[S]) ? null : new b("Invalid " + P + " `" + j + "` supplied to " + ("`" + C + "`, expected a ReactNode.")); } return m(g); } function ee(g, d, S, C, P) { return new b( (g || "React class") + ": " + d + " type `" + S + "." + C + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`." ); } function I(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); for (var R in g) { var T = g[R]; if (typeof T != "function") return ee(P, j, _, R, D(T)); var Q = T(N, R, P, j, _ + "." + R, r); if (Q) return Q; } return null; } return m(d); } function te(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); var R = t({}, S[C], g); for (var T in R) { var Q = g[T]; if (n(g, T) && typeof Q != "function") return ee(P, j, _, T, D(Q)); if (!Q) return new b( "Invalid " + j + " `" + _ + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(S[C], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(g), null, " ") ); var k = Q(N, T, P, j, _ + "." + T, r); if (k) return k; } return null; } return m(d); } function U(g) { switch (typeof g) { case "number": case "string": case "undefined": return !0; case "boolean": return !g; case "object": if (Array.isArray(g)) return g.every(U); if (g === null || s(g)) return !0; var d = f(g); if (d) { var S = d.call(g), C; if (d !== g.entries) { for (; !(C = S.next()).done; ) if (!U(C.value)) return !1; } else for (; !(C = S.next()).done; ) { var P = C.value; if (P && !U(P[1])) return !1; } } else return !1; return !0; default: return !1; } } function z(g, d) { return g === "symbol" ? !0 : d ? d["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && d instanceof Symbol : !1; } function F(g) { var d = typeof g; return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : z(d, g) ? "symbol" : d; } function D(g) { if (typeof g > "u" || g === null) return "" + g; var d = F(g); if (d === "object") { if (g instanceof Date) return "date"; if (g instanceof RegExp) return "regexp"; } return d; } function Y(g) { var d = D(g); switch (d) { case "array": case "object": return "an " + d; case "boolean": case "date": case "regexp": return "a " + d; default: return d; } } function q(g) { return !g.constructor || !g.constructor.name ? p : g.constructor.name; } return v.checkPropTypes = o, v.resetWarningCache = o.resetWarningCache, v.PropTypes = v, v; }, LE; } var VE, FG; function MIe() { if (FG) return VE; FG = 1; var e = /* @__PURE__ */ jM(); function t() { } function r() { } return r.resetWarningCache = t, VE = function() { function n(i, s, l, c, u, f) { if (f !== e) { var p = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw p.name = "Invariant Violation", p; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, VE; } var LG; function TIe() { if (LG) return Mw.exports; if (LG = 1, process.env.NODE_ENV !== "production") { var e = qse(), t = !0; Mw.exports = /* @__PURE__ */ RIe()(e.isElement, t); } else Mw.exports = /* @__PURE__ */ MIe()(); return Mw.exports; } var zIe = /* @__PURE__ */ TIe(); const tr = /* @__PURE__ */ CIe(zIe); function VG(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Hi(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? VG(Object(r), !0).forEach(function(n) { Cg(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : VG(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function h5(e) { "@babel/helpers - typeof"; return h5 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, h5(e); } function Cg(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function DIe(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function FIe(e, t) { if (e == null) return {}; var r = DIe(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function RN(e) { return LIe(e) || VIe(e) || WIe(e) || GIe(); } function LIe(e) { if (Array.isArray(e)) return MN(e); } function VIe(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function WIe(e, t) { if (e) { if (typeof e == "string") return MN(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return MN(e, t); } } function MN(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function GIe() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function UIe(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, p = e.fixedWidth, v = e.inverse, w = e.border, b = e.listItem, m = e.flip, x = e.size, O = e.rotation, E = e.pull, A = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": l, "fa-spin-reverse": u, "fa-spin-pulse": c, "fa-pulse": f, "fa-fw": p, "fa-inverse": v, "fa-border": w, "fa-li": b, "fa-flip": m === !0, "fa-flip-horizontal": m === "horizontal" || m === "both", "fa-flip-vertical": m === "vertical" || m === "both" }, Cg(t, "fa-".concat(x), typeof x < "u" && x !== null), Cg(t, "fa-rotate-".concat(O), typeof O < "u" && O !== null && O !== 0), Cg(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), Cg(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(A).map(function(h) { return A[h] ? h : null; }).filter(function(h) { return h; }); } function HIe(e) { return e = e - 0, e === e; } function Kse(e) { return HIe(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var YIe = ["style"]; function BIe(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function qIe(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = Kse(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[BIe(o)] = a : t[o] = a, t; }, {}); } function Jse(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(l) { return Jse(e, l); }), o = Object.keys(t.attributes || {}).reduce(function(l, c) { var u = t.attributes[c]; switch (c) { case "class": l.attrs.className = u, delete t.attributes.class; break; case "style": l.attrs.style = qIe(u); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[Kse(c)] = u; } return l; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = FIe(r, YIe); return o.attrs.style = Hi(Hi({}, o.attrs.style), i), e.apply(void 0, [t.tag, Hi(Hi({}, o.attrs), s)].concat(RN(n))); } var Qse = !1; try { Qse = process.env.NODE_ENV === "production"; } catch { } function XIe() { if (!Qse && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function WG(e) { if (e && h5(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (IN.icon) return IN.icon(e); if (e === null) return null; if (e && h5(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function WE(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Cg({}, e, t) : {}; } var GG = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, IM = /* @__PURE__ */ de.forwardRef(function(e, t) { var r = Hi(Hi({}, GG), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = WG(n), f = WE("classes", [].concat(RN(UIe(r)), RN((i || "").split(" ")))), p = WE("transform", typeof r.transform == "string" ? IN.transform(r.transform) : r.transform), v = WE("mask", WG(o)), w = PIe(u, Hi(Hi(Hi(Hi({}, f), p), v), {}, { symbol: a, title: s, titleId: l, maskId: c })); if (!w) return XIe("Could not find icon", u), null; var b = w.abstract, m = { ref: t }; return Object.keys(r).forEach(function(x) { GG.hasOwnProperty(x) || (m[x] = r[x]); }), KIe(b[0], m); }); IM.displayName = "FontAwesomeIcon"; IM.propTypes = { beat: tr.bool, border: tr.bool, beatFade: tr.bool, bounce: tr.bool, className: tr.string, fade: tr.bool, flash: tr.bool, mask: tr.oneOfType([tr.object, tr.array, tr.string]), maskId: tr.string, fixedWidth: tr.bool, inverse: tr.bool, flip: tr.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: tr.oneOfType([tr.object, tr.array, tr.string]), listItem: tr.bool, pull: tr.oneOf(["right", "left"]), pulse: tr.bool, rotation: tr.oneOf([0, 90, 180, 270]), shake: tr.bool, size: tr.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: tr.bool, spinPulse: tr.bool, spinReverse: tr.bool, symbol: tr.oneOfType([tr.bool, tr.string]), title: tr.string, titleId: tr.string, transform: tr.oneOfType([tr.string, tr.object]), swapOpacity: tr.bool }; var KIe = Jse.bind(null, de.createElement); const RM = "-", JIe = (e) => { const t = ZIe(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(RM); return a[0] === "" && a.length !== 1 && a.shift(), Zse(a, t) || QIe(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, Zse = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? Zse(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(RM); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, UG = /^\[(.+)\]$/, QIe = (e) => { if (UG.test(e)) { const t = UG.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, ZIe = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return tRe(Object.entries(e.classGroups), r).forEach(([o, a]) => { TN(a, n, o, t); }), n; }, TN = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : HG(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (eRe(o)) { TN(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { TN(i, HG(t, a), r, n); }); }); }, HG = (e, t) => { let r = e; return t.split(RM).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, eRe = (e) => e.isThemeGetter, tRe = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, rRe = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, ele = "!", nRe = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(ele), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, oRe = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, aRe = (e) => ({ cache: rRe(e.cacheSize), parseClassName: nRe(e), ...JIe(e) }), iRe = /\s+/, sRe = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(iRe); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = oRe(u).join(":"), x = f ? m + ele : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function lRe() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = tle(t)) && (n && (n += " "), n += r); return n; } const tle = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = tle(e[n])) && (r && (r += " "), r += t); return r; }; function cRe(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = aRe(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = sRe(l, r); return o(l, u), u; } return function() { return a(lRe.apply(null, arguments)); }; } const dn = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, rle = /^\[(?:([a-z-]+):)?(.+)\]$/i, uRe = /^\d+\/\d+$/, fRe = /* @__PURE__ */ new Set(["px", "full", "screen"]), dRe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, pRe = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, mRe = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, gRe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, hRe = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, ol = (e) => hh(e) || fRe.has(e) || uRe.test(e), Jc = (e) => Rb(e, "length", SRe), hh = (e) => !!e && !Number.isNaN(Number(e)), GE = (e) => Rb(e, "number", hh), Cy = (e) => !!e && Number.isInteger(Number(e)), bRe = (e) => e.endsWith("%") && hh(e.slice(0, -1)), At = (e) => rle.test(e), Qc = (e) => dRe.test(e), yRe = /* @__PURE__ */ new Set(["length", "size", "percentage"]), vRe = (e) => Rb(e, yRe, nle), xRe = (e) => Rb(e, "position", nle), wRe = /* @__PURE__ */ new Set(["image", "url"]), kRe = (e) => Rb(e, wRe, ARe), ORe = (e) => Rb(e, "", ERe), Ny = () => !0, Rb = (e, t, r) => { const n = rle.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, SRe = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. pRe.test(e) && !mRe.test(e) ), nle = () => !1, ERe = (e) => gRe.test(e), ARe = (e) => hRe.test(e), $Re = () => { const e = dn("colors"), t = dn("spacing"), r = dn("blur"), n = dn("brightness"), o = dn("borderColor"), a = dn("borderRadius"), i = dn("borderSpacing"), s = dn("borderWidth"), l = dn("contrast"), c = dn("grayscale"), u = dn("hueRotate"), f = dn("invert"), p = dn("gap"), v = dn("gradientColorStops"), w = dn("gradientColorStopPositions"), b = dn("inset"), m = dn("margin"), x = dn("opacity"), O = dn("padding"), E = dn("saturate"), A = dn("scale"), h = dn("sepia"), G = dn("skew"), H = dn("space"), Z = dn("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", At, t], I = () => [At, t], te = () => ["", ol, Jc], U = () => ["auto", hh, At], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", At], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [hh, At]; return { cacheSize: 500, separator: ":", theme: { colors: [Ny], spacing: [ol, Jc], blur: ["none", "", Qc, At], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", Qc, At], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [bRe, Jc], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", At] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [Qc] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), At] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", Cy, At] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", At] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", Cy, At] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [Ny] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", Cy, At] }, At] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [Ny] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [Cy, At] }, At] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", At] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", At] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", At, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [At, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [At, t, "none", "full", "min", "max", "fit", "prose", { screen: [Qc] }, Qc] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [At, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [At, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [At, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [At, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", Qc, Jc] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", GE] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [Ny] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", At] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", hh, GE] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", ol, At] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", At] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", At] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", ol, Jc] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", ol, At] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", At] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", At] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), xRe] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", vRe] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, kRe] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [ol, At] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [ol, Jc] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [ol, Jc] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", Qc, ORe] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [Ny] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", Qc, At] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", At] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", At] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", At] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [Cy, At] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", At] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", At] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", At] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [ol, Jc, GE] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, PRe = /* @__PURE__ */ cRe($Re), CRe = ({ onClick: e, className: t, size: r = "md" }) => /* @__PURE__ */ B( "button", { onClick: e, className: PRe( "flex items-center justify-center rounded-full bg-black/40 text-white/60 transition-all hover:bg-black/70 hover:text-white", { sm: "h-5 w-5 text-sm", md: "h-7 w-7 text-md", lg: "h-9 w-9 text-xl" }[r], t ), children: /* @__PURE__ */ B(IM, { icon: $9e }) } ); var MM = $x(), vt = (e) => Ax(e, MM), TM = $x(); vt.write = (e) => Ax(e, TM); var iS = $x(); vt.onStart = (e) => Ax(e, iS); var zM = $x(); vt.onFrame = (e) => Ax(e, zM); var DM = $x(); vt.onFinish = (e) => Ax(e, DM); var bh = []; vt.setTimeout = (e, t) => { const r = vt.now() + t, n = () => { const a = bh.findIndex((i) => i.cancel == n); ~a && bh.splice(a, 1), of -= ~a ? 1 : 0; }, o = { time: r, handler: e, cancel: n }; return bh.splice(ole(r), 0, o), of += 1, ale(), o; }; var ole = (e) => ~(~bh.findIndex((t) => t.time > e) || ~bh.length); vt.cancel = (e) => { iS.delete(e), zM.delete(e), DM.delete(e), MM.delete(e), TM.delete(e); }; vt.sync = (e) => { zN = !0, vt.batchedUpdates(e), zN = !1; }; vt.throttle = (e) => { let t; function r() { try { e(...t); } finally { t = null; } } function n(...o) { t = o, vt.onStart(r); } return n.handler = e, n.cancel = () => { iS.delete(r), t = null; }, n; }; var FM = typeof window < "u" ? window.requestAnimationFrame : ( // eslint-disable-next-line @typescript-eslint/no-empty-function () => { } ); vt.use = (e) => FM = e; vt.now = typeof performance < "u" ? () => performance.now() : Date.now; vt.batchedUpdates = (e) => e(); vt.catch = console.error; vt.frameLoop = "always"; vt.advance = () => { vt.frameLoop !== "demand" ? console.warn( "Cannot call the manual advancement of rafz whilst frameLoop is not set as demand" ) : sle(); }; var nf = -1, of = 0, zN = !1; function Ax(e, t) { zN ? (t.delete(e), e(0)) : (t.add(e), ale()); } function ale() { nf < 0 && (nf = 0, vt.frameLoop !== "demand" && FM(ile)); } function NRe() { nf = -1; } function ile() { ~nf && (FM(ile), vt.batchedUpdates(sle)); } function sle() { const e = nf; nf = vt.now(); const t = ole(nf); if (t && (lle(bh.splice(0, t), (r) => r.handler()), of -= t), !of) { NRe(); return; } iS.flush(), MM.flush(e ? Math.min(64, nf - e) : 16.667), zM.flush(), TM.flush(), DM.flush(); } function $x() { let e = /* @__PURE__ */ new Set(), t = e; return { add(r) { of += t == e && !e.has(r) ? 1 : 0, e.add(r); }, delete(r) { return of -= t == e && e.has(r) ? 1 : 0, e.delete(r); }, flush(r) { t.size && (e = /* @__PURE__ */ new Set(), of -= t.size, lle(t, (n) => n(r) && e.add(n)), of += e.size, t = e); } }; } function lle(e, t) { e.forEach((r) => { try { t(r); } catch (n) { vt.catch(n); } }); } var _Re = Object.defineProperty, jRe = (e, t) => { for (var r in t) _Re(e, r, { get: t[r], enumerable: !0 }); }, Ci = {}; jRe(Ci, { assign: () => RRe, colors: () => hf, createStringInterpolator: () => VM, skipAnimation: () => ule, to: () => cle, willAdvance: () => WM }); function DN() { } var IRe = (e, t, r) => Object.defineProperty(e, t, { value: r, writable: !0, configurable: !0 }), Le = { arr: Array.isArray, obj: (e) => !!e && e.constructor.name === "Object", fun: (e) => typeof e == "function", str: (e) => typeof e == "string", num: (e) => typeof e == "number", und: (e) => e === void 0 }; function $l(e, t) { if (Le.arr(e)) { if (!Le.arr(t) || e.length !== t.length) return !1; for (let r = 0; r < e.length; r++) if (e[r] !== t[r]) return !1; return !0; } return e === t; } var Ht = (e, t) => e.forEach(t); function Hs(e, t, r) { if (Le.arr(e)) { for (let n = 0; n < e.length; n++) t.call(r, e[n], `${n}`); return; } for (const n in e) e.hasOwnProperty(n) && t.call(r, e[n], n); } var Ko = (e) => Le.und(e) ? [] : Le.arr(e) ? e : [e]; function f1(e, t) { if (e.size) { const r = Array.from(e); e.clear(), Ht(r, t); } } var jv = (e, ...t) => f1(e, (r) => r(...t)), LM = () => typeof window > "u" || !window.navigator || /ServerSideRendering|^Deno\//.test(window.navigator.userAgent), VM, cle, hf = null, ule = !1, WM = DN, RRe = (e) => { e.to && (cle = e.to), e.now && (vt.now = e.now), e.colors !== void 0 && (hf = e.colors), e.skipAnimation != null && (ule = e.skipAnimation), e.createStringInterpolator && (VM = e.createStringInterpolator), e.requestAnimationFrame && vt.use(e.requestAnimationFrame), e.batchedUpdates && (vt.batchedUpdates = e.batchedUpdates), e.willAdvance && (WM = e.willAdvance), e.frameLoop && (vt.frameLoop = e.frameLoop); }, d1 = /* @__PURE__ */ new Set(), Ua = [], UE = [], b5 = 0, sS = { get idle() { return !d1.size && !Ua.length; }, /** Advance the given animation on every frame until idle. */ start(e) { b5 > e.priority ? (d1.add(e), vt.onStart(MRe)) : (fle(e), vt(FN)); }, /** Advance all animations by the given time. */ advance: FN, /** Call this when an animation's priority changes. */ sort(e) { if (b5) vt.onFrame(() => sS.sort(e)); else { const t = Ua.indexOf(e); ~t && (Ua.splice(t, 1), dle(e)); } }, /** * Clear all animations. For testing purposes. * * ☠️ Never call this from within the frameloop. */ clear() { Ua = [], d1.clear(); } }; function MRe() { d1.forEach(fle), d1.clear(), vt(FN); } function fle(e) { Ua.includes(e) || dle(e); } function dle(e) { Ua.splice( TRe(Ua, (t) => t.priority > e.priority), 0, e ); } function FN(e) { const t = UE; for (let r = 0; r < Ua.length; r++) { const n = Ua[r]; b5 = n.priority, n.idle || (WM(n), n.advance(e), n.idle || t.push(n)); } return b5 = 0, UE = Ua, UE.length = 0, Ua = t, Ua.length > 0; } function TRe(e, t) { const r = e.findIndex(t); return r < 0 ? e.length : r; } var zRe = { transparent: 0, aliceblue: 4042850303, antiquewhite: 4209760255, aqua: 16777215, aquamarine: 2147472639, azure: 4043309055, beige: 4126530815, bisque: 4293182719, black: 255, blanchedalmond: 4293643775, blue: 65535, blueviolet: 2318131967, brown: 2771004159, burlywood: 3736635391, burntsienna: 3934150143, cadetblue: 1604231423, chartreuse: 2147418367, chocolate: 3530104575, coral: 4286533887, cornflowerblue: 1687547391, cornsilk: 4294499583, crimson: 3692313855, cyan: 16777215, darkblue: 35839, darkcyan: 9145343, darkgoldenrod: 3095792639, darkgray: 2846468607, darkgreen: 6553855, darkgrey: 2846468607, darkkhaki: 3182914559, darkmagenta: 2332068863, darkolivegreen: 1433087999, darkorange: 4287365375, darkorchid: 2570243327, darkred: 2332033279, darksalmon: 3918953215, darkseagreen: 2411499519, darkslateblue: 1211993087, darkslategray: 793726975, darkslategrey: 793726975, darkturquoise: 13554175, darkviolet: 2483082239, deeppink: 4279538687, deepskyblue: 12582911, dimgray: 1768516095, dimgrey: 1768516095, dodgerblue: 512819199, firebrick: 2988581631, floralwhite: 4294635775, forestgreen: 579543807, fuchsia: 4278255615, gainsboro: 3705462015, ghostwhite: 4177068031, gold: 4292280575, goldenrod: 3668254975, gray: 2155905279, green: 8388863, greenyellow: 2919182335, grey: 2155905279, honeydew: 4043305215, hotpink: 4285117695, indianred: 3445382399, indigo: 1258324735, ivory: 4294963455, khaki: 4041641215, lavender: 3873897215, lavenderblush: 4293981695, lawngreen: 2096890111, lemonchiffon: 4294626815, lightblue: 2916673279, lightcoral: 4034953471, lightcyan: 3774873599, lightgoldenrodyellow: 4210742015, lightgray: 3553874943, lightgreen: 2431553791, lightgrey: 3553874943, lightpink: 4290167295, lightsalmon: 4288707327, lightseagreen: 548580095, lightskyblue: 2278488831, lightslategray: 2005441023, lightslategrey: 2005441023, lightsteelblue: 2965692159, lightyellow: 4294959359, lime: 16711935, limegreen: 852308735, linen: 4210091775, magenta: 4278255615, maroon: 2147483903, mediumaquamarine: 1724754687, mediumblue: 52735, mediumorchid: 3126187007, mediumpurple: 2473647103, mediumseagreen: 1018393087, mediumslateblue: 2070474495, mediumspringgreen: 16423679, mediumturquoise: 1221709055, mediumvioletred: 3340076543, midnightblue: 421097727, mintcream: 4127193855, mistyrose: 4293190143, moccasin: 4293178879, navajowhite: 4292783615, navy: 33023, oldlace: 4260751103, olive: 2155872511, olivedrab: 1804477439, orange: 4289003775, orangered: 4282712319, orchid: 3664828159, palegoldenrod: 4008225535, palegreen: 2566625535, paleturquoise: 2951671551, palevioletred: 3681588223, papayawhip: 4293907967, peachpuff: 4292524543, peru: 3448061951, pink: 4290825215, plum: 3718307327, powderblue: 2967529215, purple: 2147516671, rebeccapurple: 1714657791, red: 4278190335, rosybrown: 3163525119, royalblue: 1097458175, saddlebrown: 2336560127, salmon: 4202722047, sandybrown: 4104413439, seagreen: 780883967, seashell: 4294307583, sienna: 2689740287, silver: 3233857791, skyblue: 2278484991, slateblue: 1784335871, slategray: 1887473919, slategrey: 1887473919, snow: 4294638335, springgreen: 16744447, steelblue: 1182971135, tan: 3535047935, teal: 8421631, thistle: 3636451583, tomato: 4284696575, turquoise: 1088475391, violet: 4001558271, wheat: 4125012991, white: 4294967295, whitesmoke: 4126537215, yellow: 4294902015, yellowgreen: 2597139199 }, Ai = "[-+]?\\d*\\.?\\d+", y5 = Ai + "%"; function lS(...e) { return "\\(\\s*(" + e.join(")\\s*,\\s*(") + ")\\s*\\)"; } var DRe = new RegExp("rgb" + lS(Ai, Ai, Ai)), FRe = new RegExp("rgba" + lS(Ai, Ai, Ai, Ai)), LRe = new RegExp("hsl" + lS(Ai, y5, y5)), VRe = new RegExp( "hsla" + lS(Ai, y5, y5, Ai) ), WRe = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, GRe = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, URe = /^#([0-9a-fA-F]{6})$/, HRe = /^#([0-9a-fA-F]{8})$/; function YRe(e) { let t; return typeof e == "number" ? e >>> 0 === e && e >= 0 && e <= 4294967295 ? e : null : (t = URe.exec(e)) ? parseInt(t[1] + "ff", 16) >>> 0 : hf && hf[e] !== void 0 ? hf[e] : (t = DRe.exec(e)) ? (ag(t[1]) << 24 | // r ag(t[2]) << 16 | // g ag(t[3]) << 8 | // b 255) >>> // a 0 : (t = FRe.exec(e)) ? (ag(t[1]) << 24 | // r ag(t[2]) << 16 | // g ag(t[3]) << 8 | // b qG(t[4])) >>> // a 0 : (t = WRe.exec(e)) ? parseInt( t[1] + t[1] + // r t[2] + t[2] + // g t[3] + t[3] + // b "ff", // a 16 ) >>> 0 : (t = HRe.exec(e)) ? parseInt(t[1], 16) >>> 0 : (t = GRe.exec(e)) ? parseInt( t[1] + t[1] + // r t[2] + t[2] + // g t[3] + t[3] + // b t[4] + t[4], // a 16 ) >>> 0 : (t = LRe.exec(e)) ? (YG( BG(t[1]), // h Tw(t[2]), // s Tw(t[3]) // l ) | 255) >>> // a 0 : (t = VRe.exec(e)) ? (YG( BG(t[1]), // h Tw(t[2]), // s Tw(t[3]) // l ) | qG(t[4])) >>> // a 0 : null; } function HE(e, t, r) { return r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? e + (t - e) * 6 * r : r < 1 / 2 ? t : r < 2 / 3 ? e + (t - e) * (2 / 3 - r) * 6 : e; } function YG(e, t, r) { const n = r < 0.5 ? r * (1 + t) : r + t - r * t, o = 2 * r - n, a = HE(o, n, e + 1 / 3), i = HE(o, n, e), s = HE(o, n, e - 1 / 3); return Math.round(a * 255) << 24 | Math.round(i * 255) << 16 | Math.round(s * 255) << 8; } function ag(e) { const t = parseInt(e, 10); return t < 0 ? 0 : t > 255 ? 255 : t; } function BG(e) { return (parseFloat(e) % 360 + 360) % 360 / 360; } function qG(e) { const t = parseFloat(e); return t < 0 ? 0 : t > 1 ? 255 : Math.round(t * 255); } function Tw(e) { const t = parseFloat(e); return t < 0 ? 0 : t > 100 ? 1 : t / 100; } function XG(e) { let t = YRe(e); if (t === null) return e; t = t || 0; const r = (t & 4278190080) >>> 24, n = (t & 16711680) >>> 16, o = (t & 65280) >>> 8, a = (t & 255) / 255; return `rgba(${r}, ${n}, ${o}, ${a})`; } var v0 = (e, t, r) => { if (Le.fun(e)) return e; if (Le.arr(e)) return v0({ range: e, output: t, extrapolate: r }); if (Le.str(e.output[0])) return VM(e); const n = e, o = n.output, a = n.range || [0, 1], i = n.extrapolateLeft || n.extrapolate || "extend", s = n.extrapolateRight || n.extrapolate || "extend", l = n.easing || ((c) => c); return (c) => { const u = qRe(c, a); return BRe( c, a[u], a[u + 1], o[u], o[u + 1], l, i, s, n.map ); }; }; function BRe(e, t, r, n, o, a, i, s, l) { let c = l ? l(e) : e; if (c < t) { if (i === "identity") return c; i === "clamp" && (c = t); } if (c > r) { if (s === "identity") return c; s === "clamp" && (c = r); } return n === o ? n : t === r ? e <= t ? n : o : (t === -1 / 0 ? c = -c : r === 1 / 0 ? c = c - t : c = (c - t) / (r - t), c = a(c), n === -1 / 0 ? c = -c : o === 1 / 0 ? c = c + n : c = c * (o - n) + n, c); } function qRe(e, t) { for (var r = 1; r < t.length - 1 && !(t[r] >= e); ++r) ; return r - 1; } var XRe = { linear: (e) => e }, x0 = Symbol.for("FluidValue.get"), ab = Symbol.for("FluidValue.observers"), La = (e) => !!(e && e[x0]), la = (e) => e && e[x0] ? e[x0]() : e, KG = (e) => e[ab] || null; function KRe(e, t) { e.eventObserved ? e.eventObserved(t) : e(t); } function w0(e, t) { const r = e[ab]; r && r.forEach((n) => { KRe(n, t); }); } var ple = class { constructor(e) { if (!e && !(e = this.get)) throw Error("Unknown getter"); JRe(this, e); } }, JRe = (e, t) => mle(e, x0, t); function Mb(e, t) { if (e[x0]) { let r = e[ab]; r || mle(e, ab, r = /* @__PURE__ */ new Set()), r.has(t) || (r.add(t), e.observerAdded && e.observerAdded(r.size, t)); } return t; } function k0(e, t) { const r = e[ab]; if (r && r.has(t)) { const n = r.size - 1; n ? r.delete(t) : e[ab] = null, e.observerRemoved && e.observerRemoved(n, t); } } var mle = (e, t, r) => Object.defineProperty(e, t, { value: r, writable: !0, configurable: !0 }), ak = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, QRe = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi, JG = new RegExp(`(${ak.source})(%|[a-z]+)`, "i"), ZRe = /rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, cS = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/, gle = (e) => { const [t, r] = eMe(e); if (!t || LM()) return e; const n = window.getComputedStyle(document.documentElement).getPropertyValue(t); return n ? n.trim() : r && r.startsWith("--") ? window.getComputedStyle(document.documentElement).getPropertyValue(r) || e : r && cS.test(r) ? gle(r) : r || e; }, eMe = (e) => { const t = cS.exec(e); if (!t) return [,]; const [, r, n] = t; return [r, n]; }, YE, tMe = (e, t, r, n, o) => `rgba(${Math.round(t)}, ${Math.round(r)}, ${Math.round(n)}, ${o})`, hle = (e) => { YE || (YE = hf ? ( // match color names, ignore partial matches new RegExp(`(${Object.keys(hf).join("|")})(?!\\w)`, "g") ) : ( // never match /^\b$/ )); const t = e.output.map((o) => la(o).replace(cS, gle).replace(QRe, XG).replace(YE, XG)), r = t.map((o) => o.match(ak).map(Number)), n = r[0].map( (o, a) => r.map((i) => { if (!(a in i)) throw Error('The arity of each "output" value must be equal'); return i[a]; }) ).map( (o) => v0({ ...e, output: o }) ); return (o) => { var a; const i = !JG.test(t[0]) && ((a = t.find((l) => JG.test(l))) == null ? void 0 : a.replace(ak, "")); let s = 0; return t[0].replace( ak, () => `${n[s++](o)}${i || ""}` ).replace(ZRe, tMe); }; }, GM = "react-spring: ", ble = (e) => { const t = e; let r = !1; if (typeof t != "function") throw new TypeError(`${GM}once requires a function parameter`); return (...n) => { r || (t(...n), r = !0); }; }, rMe = ble(console.warn); function nMe() { rMe( `${GM}The "interpolate" function is deprecated in v9 (use "to" instead)` ); } var oMe = ble(console.warn); function aMe() { oMe( `${GM}Directly calling start instead of using the api object is deprecated in v9 (use ".start" instead), this will be removed in later 0.X.0 versions` ); } function uS(e) { return Le.str(e) && (e[0] == "#" || /\d/.test(e) || // Do not identify a CSS variable as an AnimatedString if its SSR !LM() && cS.test(e) || e in (hf || {})); } var Ng = LM() ? xe : qs, iMe = () => { const e = ce(!1); return Ng(() => (e.current = !0, () => { e.current = !1; }), []), e; }; function yle() { const e = We()[1], t = iMe(); return () => { t.current && e(Math.random()); }; } var vle = (e) => xe(e, sMe), sMe = []; function lMe(e) { const t = ce(void 0); return xe(() => { t.current = e; }), t.current; } var O0 = Symbol.for("Animated:node"), cMe = (e) => !!e && e[O0] === e, Fi = (e) => e && e[O0], UM = (e, t) => IRe(e, O0, t), fS = (e) => e && e[O0] && e[O0].getPayload(), xle = class { constructor() { UM(this, this); } /** Get every `AnimatedValue` used by this node. */ getPayload() { return this.payload || []; } }, dS = class wle extends xle { constructor(t) { super(), this._value = t, this.done = !0, this.durationProgress = 0, Le.num(this._value) && (this.lastPosition = this._value); } /** @internal */ static create(t) { return new wle(t); } getPayload() { return [this]; } getValue() { return this._value; } setValue(t, r) { return Le.num(t) && (this.lastPosition = t, r && (t = Math.round(t / r) * r, this.done && (this.lastPosition = t))), this._value === t ? !1 : (this._value = t, !0); } reset() { const { done: t } = this; this.done = !1, Le.num(this._value) && (this.elapsedTime = 0, this.durationProgress = 0, this.lastPosition = this._value, t && (this.lastVelocity = null), this.v0 = null); } }, v5 = class kle extends dS { constructor(t) { super(0), this._string = null, this._toString = v0({ output: [t, t] }); } /** @internal */ static create(t) { return new kle(t); } getValue() { return this._string ?? (this._string = this._toString(this._value)); } setValue(t) { if (Le.str(t)) { if (t == this._string) return !1; this._string = t, this._value = 1; } else if (super.setValue(t)) this._string = null; else return !1; return !0; } reset(t) { t && (this._toString = v0({ output: [this.getValue(), t] })), this._value = 0, super.reset(); } }, x5 = { dependencies: null }, pS = class extends xle { constructor(e) { super(), this.source = e, this.setValue(e); } getValue(e) { const t = {}; return Hs(this.source, (r, n) => { cMe(r) ? t[n] = r.getValue(e) : La(r) ? t[n] = la(r) : e || (t[n] = r); }), t; } /** Replace the raw object data */ setValue(e) { this.source = e, this.payload = this._makePayload(e); } reset() { this.payload && Ht(this.payload, (e) => e.reset()); } /** Create a payload set. */ _makePayload(e) { if (e) { const t = /* @__PURE__ */ new Set(); return Hs(e, this._addToPayload, t), Array.from(t); } } /** Add to a payload set. */ _addToPayload(e) { x5.dependencies && La(e) && x5.dependencies.add(e); const t = fS(e); t && Ht(t, (r) => this.add(r)); } }, uMe = class Ole extends pS { constructor(t) { super(t); } /** @internal */ static create(t) { return new Ole(t); } getValue() { return this.source.map((t) => t.getValue()); } setValue(t) { const r = this.getPayload(); return t.length == r.length ? r.map((n, o) => n.setValue(t[o])).some(Boolean) : (super.setValue(t.map(fMe)), !0); } }; function fMe(e) { return (uS(e) ? v5 : dS).create(e); } function LN(e) { const t = Fi(e); return t ? t.constructor : Le.arr(e) ? uMe : uS(e) ? v5 : dS; } var QG = (e, t) => { const r = ( // Function components must use "forwardRef" to avoid being // re-rendered on every animation frame. !Le.fun(e) || e.prototype && e.prototype.isReactComponent ); return Ym((n, o) => { const a = ce(null), i = r && // eslint-disable-next-line react-hooks/rules-of-hooks dt( (w) => { a.current = mMe(o, w); }, [o] ), [s, l] = pMe(n, t), c = yle(), u = () => { const w = a.current; r && !w || (w ? t.applyAnimatedValues(w, s.getValue(!0)) : !1) === !1 && c(); }, f = new dMe(u, l), p = ce(void 0); Ng(() => (p.current = f, Ht(l, (w) => Mb(w, f)), () => { p.current && (Ht( p.current.deps, (w) => k0(w, p.current) ), vt.cancel(p.current.update)); })), xe(u, []), vle(() => () => { const w = p.current; Ht(w.deps, (b) => k0(b, w)); }); const v = t.getComponentProps(s.getValue()); return /* @__PURE__ */ V.createElement(e, { ...v, ref: i }); }); }, dMe = class { constructor(e, t) { this.update = e, this.deps = t; } eventObserved(e) { e.type == "change" && vt.write(this.update); } }; function pMe(e, t) { const r = /* @__PURE__ */ new Set(); return x5.dependencies = r, e.style && (e = { ...e, style: t.createAnimatedStyle(e.style) }), e = new pS(e), x5.dependencies = null, [e, r]; } function mMe(e, t) { return e && (Le.fun(e) ? e(t) : e.current = t), t; } var ZG = Symbol.for("AnimatedComponent"), gMe = (e, { applyAnimatedValues: t = () => !1, createAnimatedStyle: r = (o) => new pS(o), getComponentProps: n = (o) => o } = {}) => { const o = { applyAnimatedValues: t, createAnimatedStyle: r, getComponentProps: n }, a = (i) => { const s = eU(i) || "Anonymous"; return Le.str(i) ? i = a[i] || (a[i] = QG(i, o)) : i = i[ZG] || (i[ZG] = QG(i, o)), i.displayName = `Animated(${s})`, i; }; return Hs(e, (i, s) => { Le.arr(e) && (s = eU(i)), a[s] = a(i); }), { animated: a }; }, eU = (e) => Le.str(e) ? e : e && Le.str(e.displayName) ? e.displayName : Le.fun(e) && e.name || null; function ca(e, ...t) { return Le.fun(e) ? e(...t) : e; } var p1 = (e, t) => e === !0 || !!(t && e && (Le.fun(e) ? e(t) : Ko(e).includes(t))), Sle = (e, t) => Le.obj(e) ? t && e[t] : e, Ele = (e, t) => e.default === !0 ? e[t] : e.default ? e.default[t] : void 0, hMe = (e) => e, HM = (e, t = hMe) => { let r = bMe; e.default && e.default !== !0 && (e = e.default, r = Object.keys(e)); const n = {}; for (const o of r) { const a = t(e[o], o); Le.und(a) || (n[o] = a); } return n; }, bMe = [ "config", "onProps", "onStart", "onChange", "onPause", "onResume", "onRest" ], yMe = { config: 1, from: 1, to: 1, ref: 1, loop: 1, reset: 1, pause: 1, cancel: 1, reverse: 1, immediate: 1, default: 1, delay: 1, onProps: 1, onStart: 1, onChange: 1, onPause: 1, onResume: 1, onRest: 1, onResolve: 1, // Transition props items: 1, trail: 1, sort: 1, expires: 1, initial: 1, enter: 1, update: 1, leave: 1, children: 1, onDestroyed: 1, // Internal props keys: 1, callId: 1, parentId: 1 }; function vMe(e) { const t = {}; let r = 0; if (Hs(e, (n, o) => { yMe[o] || (t[o] = n, r++); }), r) return t; } function YM(e) { const t = vMe(e); if (t) { const r = { to: t }; return Hs(e, (n, o) => o in t || (r[o] = n)), r; } return { ...e }; } function S0(e) { return e = la(e), Le.arr(e) ? e.map(S0) : uS(e) ? Ci.createStringInterpolator({ range: [0, 1], output: [e, e] })(1) : e; } function xMe(e) { for (const t in e) return !0; return !1; } function VN(e) { return Le.fun(e) || Le.arr(e) && Le.obj(e[0]); } function tU(e, t) { var r; (r = e.ref) == null || r.delete(e), t == null || t.delete(e); } function wMe(e, t) { var r; t && e.ref !== t && ((r = e.ref) == null || r.delete(e), t.add(e), e.ref = t); } var kMe = { default: { tension: 170, friction: 26 } }, WN = { ...kMe.default, mass: 1, damping: 1, easing: XRe.linear, clamp: !1 }, OMe = class { constructor() { this.velocity = 0, Object.assign(this, WN); } }; function SMe(e, t, r) { r && (r = { ...r }, rU(r, t), t = { ...r, ...t }), rU(e, t), Object.assign(e, t); for (const i in WN) e[i] == null && (e[i] = WN[i]); let { frequency: n, damping: o } = e; const { mass: a } = e; return Le.und(n) || (n < 0.01 && (n = 0.01), o < 0 && (o = 0), e.tension = Math.pow(2 * Math.PI / n, 2) * a, e.friction = 4 * Math.PI * o * a / n), e; } function rU(e, t) { if (!Le.und(t.decay)) e.duration = void 0; else { const r = !Le.und(t.tension) || !Le.und(t.friction); (r || !Le.und(t.frequency) || !Le.und(t.damping) || !Le.und(t.mass)) && (e.duration = void 0, e.decay = void 0), r && (e.frequency = void 0); } } var nU = [], EMe = class { constructor() { this.changed = !1, this.values = nU, this.toValues = null, this.fromValues = nU, this.config = new OMe(), this.immediate = !1; } }; function Ale(e, { key: t, props: r, defaultProps: n, state: o, actions: a }) { return new Promise((i, s) => { let l, c, u = p1(r.cancel ?? (n == null ? void 0 : n.cancel), t); if (u) v(); else { Le.und(r.pause) || (o.paused = p1(r.pause, t)); let w = n == null ? void 0 : n.pause; w !== !0 && (w = o.paused || p1(w, t)), l = ca(r.delay || 0, t), w ? (o.resumeQueue.add(p), a.pause()) : (a.resume(), p()); } function f() { o.resumeQueue.add(p), o.timeouts.delete(c), c.cancel(), l = c.time - vt.now(); } function p() { l > 0 && !Ci.skipAnimation ? (o.delayed = !0, c = vt.setTimeout(v, l), o.pauseQueue.add(f), o.timeouts.add(c)) : v(); } function v() { o.delayed && (o.delayed = !1), o.pauseQueue.delete(f), o.timeouts.delete(c), e <= (o.cancelId || 0) && (u = !0); try { a.start({ ...r, callId: e, cancel: u }, i); } catch (w) { s(w); } } }); } var BM = (e, t) => t.length == 1 ? t[0] : t.some((r) => r.cancelled) ? yh(e.get()) : t.every((r) => r.noop) ? $le(e.get()) : Oi( e.get(), t.every((r) => r.finished) ), $le = (e) => ({ value: e, noop: !0, finished: !0, cancelled: !1 }), Oi = (e, t, r = !1) => ({ value: e, finished: t, cancelled: r }), yh = (e) => ({ value: e, cancelled: !0, finished: !1 }); function Ple(e, t, r, n) { const { callId: o, parentId: a, onRest: i } = t, { asyncTo: s, promise: l } = r; return !a && e === s && !t.reset ? l : r.promise = (async () => { r.asyncId = o, r.asyncTo = e; const c = HM( t, (m, x) => ( // The `onRest` prop is only called when the `runAsync` promise is resolved. x === "onRest" ? void 0 : m ) ); let u, f; const p = new Promise( (m, x) => (u = m, f = x) ), v = (m) => { const x = ( // The `cancel` prop or `stop` method was used. o <= (r.cancelId || 0) && yh(n) || // The async `to` prop was replaced. o !== r.asyncId && Oi(n, !1) ); if (x) throw m.result = x, f(m), m; }, w = (m, x) => { const O = new oU(), E = new aU(); return (async () => { if (Ci.skipAnimation) throw E0(r), E.result = Oi(n, !1), f(E), E; v(O); const A = Le.obj(m) ? { ...m } : { ...x, to: m }; A.parentId = o, Hs(c, (G, H) => { Le.und(A[H]) && (A[H] = G); }); const h = await n.start(A); return v(O), r.paused && await new Promise((G) => { r.resumeQueue.add(G); }), h; })(); }; let b; if (Ci.skipAnimation) return E0(r), Oi(n, !1); try { let m; Le.arr(e) ? m = (async (x) => { for (const O of x) await w(O); })(e) : m = Promise.resolve(e(w, n.stop.bind(n))), await Promise.all([m.then(u), p]), b = Oi(n.get(), !0, !1); } catch (m) { if (m instanceof oU) b = m.result; else if (m instanceof aU) b = m.result; else throw m; } finally { o == r.asyncId && (r.asyncId = a, r.asyncTo = a ? s : void 0, r.promise = a ? l : void 0); } return Le.fun(i) && vt.batchedUpdates(() => { i(b, n, n.item); }), b; })(); } function E0(e, t) { f1(e.timeouts, (r) => r.cancel()), e.pauseQueue.clear(), e.resumeQueue.clear(), e.asyncId = e.asyncTo = e.promise = void 0, t && (e.cancelId = t); } var oU = class extends Error { constructor() { super( "An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise." ); } }, aU = class extends Error { constructor() { super("SkipAnimationSignal"); } }, GN = (e) => e instanceof qM, AMe = 1, qM = class extends ple { constructor() { super(...arguments), this.id = AMe++, this._priority = 0; } get priority() { return this._priority; } set priority(e) { this._priority != e && (this._priority = e, this._onPriorityChange(e)); } /** Get the current value */ get() { const e = Fi(this); return e && e.getValue(); } /** Create a spring that maps our value to another value */ to(...e) { return Ci.to(this, e); } /** @deprecated Use the `to` method instead. */ interpolate(...e) { return nMe(), Ci.to(this, e); } toJSON() { return this.get(); } observerAdded(e) { e == 1 && this._attach(); } observerRemoved(e) { e == 0 && this._detach(); } /** Called when the first child is added. */ _attach() { } /** Called when the last child is removed. */ _detach() { } /** Tell our children about our new value */ _onChange(e, t = !1) { w0(this, { type: "change", parent: this, value: e, idle: t }); } /** Tell our children about our new priority */ _onPriorityChange(e) { this.idle || sS.sort(this), w0(this, { type: "priority", parent: this, priority: e }); } }, gm = Symbol.for("SpringPhase"), Cle = 1, Nle = 2, _le = 4, BE = (e) => (e[gm] & Cle) > 0, Zc = (e) => (e[gm] & Nle) > 0, _y = (e) => (e[gm] & _le) > 0, iU = (e, t) => t ? e[gm] |= Nle | Cle : e[gm] &= -3, sU = (e, t) => t ? e[gm] |= _le : e[gm] &= -5, $Me = class extends qM { constructor(e, t) { if (super(), this.animation = new EMe(), this.defaultProps = {}, this._state = { paused: !1, delayed: !1, pauseQueue: /* @__PURE__ */ new Set(), resumeQueue: /* @__PURE__ */ new Set(), timeouts: /* @__PURE__ */ new Set() }, this._pendingCalls = /* @__PURE__ */ new Set(), this._lastCallId = 0, this._lastToId = 0, this._memoizedDuration = 0, !Le.und(e) || !Le.und(t)) { const r = Le.obj(e) ? { ...e } : { ...t, from: e }; Le.und(r.default) && (r.default = !0), this.start(r); } } /** Equals true when not advancing on each frame. */ get idle() { return !(Zc(this) || this._state.asyncTo) || _y(this); } get goal() { return la(this.animation.to); } get velocity() { const e = Fi(this); return e instanceof dS ? e.lastVelocity || 0 : e.getPayload().map((t) => t.lastVelocity || 0); } /** * When true, this value has been animated at least once. */ get hasAnimated() { return BE(this); } /** * When true, this value has an unfinished animation, * which is either active or paused. */ get isAnimating() { return Zc(this); } /** * When true, all current and future animations are paused. */ get isPaused() { return _y(this); } /** * * */ get isDelayed() { return this._state.delayed; } /** Advance the current animation by a number of milliseconds */ advance(e) { let t = !0, r = !1; const n = this.animation; let { toValues: o } = n; const { config: a } = n, i = fS(n.to); !i && La(n.to) && (o = Ko(la(n.to))), n.values.forEach((c, u) => { if (c.done) return; const f = ( // Animated strings always go from 0 to 1. c.constructor == v5 ? 1 : i ? i[u].lastPosition : o[u] ); let p = n.immediate, v = f; if (!p) { if (v = c.lastPosition, a.tension <= 0) { c.done = !0; return; } let w = c.elapsedTime += e; const b = n.fromValues[u], m = c.v0 != null ? c.v0 : c.v0 = Le.arr(a.velocity) ? a.velocity[u] : a.velocity; let x; const O = a.precision || (b == f ? 5e-3 : Math.min(1, Math.abs(f - b) * 1e-3)); if (Le.und(a.duration)) if (a.decay) { const E = a.decay === !0 ? 0.998 : a.decay, A = Math.exp(-(1 - E) * w); v = b + m / (1 - E) * (1 - A), p = Math.abs(c.lastPosition - v) <= O, x = m * A; } else { x = c.lastVelocity == null ? m : c.lastVelocity; const E = a.restVelocity || O / 10, A = a.clamp ? 0 : a.bounce, h = !Le.und(A), G = b == f ? c.v0 > 0 : b < f; let H, Z = !1; const J = 1, X = Math.ceil(e / J); for (let ee = 0; ee < X && (H = Math.abs(x) > E, !(!H && (p = Math.abs(f - v) <= O, p))); ++ee) { h && (Z = v == f || v > f == G, Z && (x = -x * A, v = f)); const I = -a.tension * 1e-6 * (v - f), te = -a.friction * 1e-3 * x, U = (I + te) / a.mass; x = x + U * J, v = v + x * J; } } else { let E = 1; a.duration > 0 && (this._memoizedDuration !== a.duration && (this._memoizedDuration = a.duration, c.durationProgress > 0 && (c.elapsedTime = a.duration * c.durationProgress, w = c.elapsedTime += e)), E = (a.progress || 0) + w / this._memoizedDuration, E = E > 1 ? 1 : E < 0 ? 0 : E, c.durationProgress = E), v = b + a.easing(E) * (f - b), x = (v - c.lastPosition) / e, p = E == 1; } c.lastVelocity = x, Number.isNaN(v) && (console.warn("Got NaN while animating:", this), p = !0); } i && !i[u].done && (p = !1), p ? c.done = !0 : t = !1, c.setValue(v, a.round) && (r = !0); }); const s = Fi(this), l = s.getValue(); if (t) { const c = la(n.to); (l !== c || r) && !a.decay ? (s.setValue(c), this._onChange(c)) : r && a.decay && this._onChange(l), this._stop(); } else r && this._onChange(l); } /** Set the current value, while stopping the current animation */ set(e) { return vt.batchedUpdates(() => { this._stop(), this._focus(e), this._set(e); }), this; } /** * Freeze the active animation in time, as well as any updates merged * before `resume` is called. */ pause() { this._update({ pause: !0 }); } /** Resume the animation if paused. */ resume() { this._update({ pause: !1 }); } /** Skip to the end of the current animation. */ finish() { if (Zc(this)) { const { to: e, config: t } = this.animation; vt.batchedUpdates(() => { this._onStart(), t.decay || this._set(e, !1), this._stop(); }); } return this; } /** Push props into the pending queue. */ update(e) { return (this.queue || (this.queue = [])).push(e), this; } start(e, t) { let r; return Le.und(e) ? (r = this.queue || [], this.queue = []) : r = [Le.obj(e) ? e : { ...t, to: e }], Promise.all( r.map((n) => this._update(n)) ).then((n) => BM(this, n)); } /** * Stop the current animation, and cancel any delayed updates. * * Pass `true` to call `onRest` with `cancelled: true`. */ stop(e) { const { to: t } = this.animation; return this._focus(this.get()), E0(this._state, e && this._lastCallId), vt.batchedUpdates(() => this._stop(t, e)), this; } /** Restart the animation. */ reset() { this._update({ reset: !0 }); } /** @internal */ eventObserved(e) { e.type == "change" ? this._start() : e.type == "priority" && (this.priority = e.priority + 1); } /** * Parse the `to` and `from` range from the given `props` object. * * This also ensures the initial value is available to animated components * during the render phase. */ _prepareNode(e) { const t = this.key || ""; let { to: r, from: n } = e; r = Le.obj(r) ? r[t] : r, (r == null || VN(r)) && (r = void 0), n = Le.obj(n) ? n[t] : n, n == null && (n = void 0); const o = { to: r, from: n }; return BE(this) || (e.reverse && ([r, n] = [n, r]), n = la(n), Le.und(n) ? Fi(this) || this._set(r) : this._set(n)), o; } /** Every update is processed by this method before merging. */ _update({ ...e }, t) { const { key: r, defaultProps: n } = this; e.default && Object.assign( n, HM( e, (i, s) => /^on/.test(s) ? Sle(i, r) : i ) ), cU(this, e, "onProps"), Iy(this, "onProps", e, this); const o = this._prepareNode(e); if (Object.isFrozen(this)) throw Error( "Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?" ); const a = this._state; return Ale(++this._lastCallId, { key: r, props: e, defaultProps: n, state: a, actions: { pause: () => { _y(this) || (sU(this, !0), jv(a.pauseQueue), Iy( this, "onPause", Oi(this, jy(this, this.animation.to)), this )); }, resume: () => { _y(this) && (sU(this, !1), Zc(this) && this._resume(), jv(a.resumeQueue), Iy( this, "onResume", Oi(this, jy(this, this.animation.to)), this )); }, start: this._merge.bind(this, o) } }).then((i) => { if (e.loop && i.finished && !(t && i.noop)) { const s = jle(e); if (s) return this._update(s, !0); } return i; }); } /** Merge props into the current animation */ _merge(e, t, r) { if (t.cancel) return this.stop(!0), r(yh(this)); const n = !Le.und(e.to), o = !Le.und(e.from); if (n || o) if (t.callId > this._lastToId) this._lastToId = t.callId; else return r(yh(this)); const { key: a, defaultProps: i, animation: s } = this, { to: l, from: c } = s; let { to: u = l, from: f = c } = e; o && !n && (!t.default || Le.und(u)) && (u = f), t.reverse && ([u, f] = [f, u]); const p = !$l(f, c); p && (s.from = f), f = la(f); const v = !$l(u, l); v && this._focus(u); const w = VN(t.to), { config: b } = s, { decay: m, velocity: x } = b; (n || o) && (b.velocity = 0), t.config && !w && SMe( b, ca(t.config, a), // Avoid calling the same "config" prop twice. t.config !== i.config ? ca(i.config, a) : void 0 ); let O = Fi(this); if (!O || Le.und(u)) return r(Oi(this, !0)); const E = ( // When `reset` is undefined, the `from` prop implies `reset: true`, // except for declarative updates. When `reset` is defined, there // must exist a value to animate from. Le.und(t.reset) ? o && !t.default : !Le.und(f) && p1(t.reset, a) ), A = E ? f : this.get(), h = S0(u), G = Le.num(h) || Le.arr(h) || uS(h), H = !w && (!G || p1(i.immediate || t.immediate, a)); if (v) { const ee = LN(u); if (ee !== O.constructor) if (H) O = this._set(h); else throw Error( `Cannot animate between ${O.constructor.name} and ${ee.name}, as the "to" prop suggests` ); } const Z = O.constructor; let J = La(u), X = !1; if (!J) { const ee = E || !BE(this) && p; (v || ee) && (X = $l(S0(A), h), J = !X), (!$l(s.immediate, H) && !H || !$l(b.decay, m) || !$l(b.velocity, x)) && (J = !0); } if (X && Zc(this) && (s.changed && !E ? J = !0 : J || this._stop(l)), !w && ((J || La(l)) && (s.values = O.getPayload(), s.toValues = La(u) ? null : Z == v5 ? [1] : Ko(h)), s.immediate != H && (s.immediate = H, !H && !E && this._set(l)), J)) { const { onRest: ee } = s; Ht(PMe, (te) => cU(this, t, te)); const I = Oi(this, jy(this, l)); jv(this._pendingCalls, I), this._pendingCalls.add(r), s.changed && vt.batchedUpdates(() => { var te; s.changed = !E, ee == null || ee(I, this), E ? ca(i.onRest, I) : (te = s.onStart) == null || te.call(s, I, this); }); } E && this._set(A), w ? r(Ple(t.to, t, this._state, this)) : J ? this._start() : Zc(this) && !v ? this._pendingCalls.add(r) : r($le(A)); } /** Update the `animation.to` value, which might be a `FluidValue` */ _focus(e) { const t = this.animation; e !== t.to && (KG(this) && this._detach(), t.to = e, KG(this) && this._attach()); } _attach() { let e = 0; const { to: t } = this.animation; La(t) && (Mb(t, this), GN(t) && (e = t.priority + 1)), this.priority = e; } _detach() { const { to: e } = this.animation; La(e) && k0(e, this); } /** * Update the current value from outside the frameloop, * and return the `Animated` node. */ _set(e, t = !0) { const r = la(e); if (!Le.und(r)) { const n = Fi(this); if (!n || !$l(r, n.getValue())) { const o = LN(r); !n || n.constructor != o ? UM(this, o.create(r)) : n.setValue(r), n && vt.batchedUpdates(() => { this._onChange(r, t); }); } } return Fi(this); } _onStart() { const e = this.animation; e.changed || (e.changed = !0, Iy( this, "onStart", Oi(this, jy(this, e.to)), this )); } _onChange(e, t) { t || (this._onStart(), ca(this.animation.onChange, e, this)), ca(this.defaultProps.onChange, e, this), super._onChange(e, t); } // This method resets the animation state (even if already animating) to // ensure the latest from/to range is used, and it also ensures this spring // is added to the frameloop. _start() { const e = this.animation; Fi(this).reset(la(e.to)), e.immediate || (e.fromValues = e.values.map((t) => t.lastPosition)), Zc(this) || (iU(this, !0), _y(this) || this._resume()); } _resume() { Ci.skipAnimation ? this.finish() : sS.start(this); } /** * Exit the frameloop and notify `onRest` listeners. * * Always wrap `_stop` calls with `batchedUpdates`. */ _stop(e, t) { if (Zc(this)) { iU(this, !1); const r = this.animation; Ht(r.values, (o) => { o.done = !0; }), r.toValues && (r.onChange = r.onPause = r.onResume = void 0), w0(this, { type: "idle", parent: this }); const n = t ? yh(this.get()) : Oi(this.get(), jy(this, e ?? r.to)); jv(this._pendingCalls, n), r.changed && (r.changed = !1, Iy(this, "onRest", n, this)); } } }; function jy(e, t) { const r = S0(t), n = S0(e.get()); return $l(n, r); } function jle(e, t = e.loop, r = e.to) { const n = ca(t); if (n) { const o = n !== !0 && YM(n), a = (o || e).reverse, i = !o || o.reset; return w5({ ...e, loop: t, // Avoid updating default props when looping. default: !1, // Never loop the `pause` prop. pause: void 0, // For the "reverse" prop to loop as expected, the "to" prop // must be undefined. The "reverse" prop is ignored when the // "to" prop is an array or function. to: !a || VN(r) ? r : void 0, // Ignore the "from" prop except on reset. from: i ? e.from : void 0, reset: i, // The "loop" prop can return a "useSpring" props object to // override any of the original props. ...o }); } } function w5(e) { const { to: t, from: r } = e = YM(e), n = /* @__PURE__ */ new Set(); return Le.obj(t) && lU(t, n), Le.obj(r) && lU(r, n), e.keys = n.size ? Array.from(n) : null, e; } function lU(e, t) { Hs(e, (r, n) => r != null && t.add(n)); } var PMe = [ "onStart", "onRest", "onChange", "onPause", "onResume" ]; function cU(e, t, r) { e.animation[r] = t[r] !== Ele(t, r) ? Sle(t[r], e.key) : void 0; } function Iy(e, t, ...r) { var n, o, a, i; (o = (n = e.animation)[t]) == null || o.call(n, ...r), (i = (a = e.defaultProps)[t]) == null || i.call(a, ...r); } var CMe = ["onStart", "onChange", "onRest"], NMe = 1, _Me = class { constructor(e, t) { this.id = NMe++, this.springs = {}, this.queue = [], this._lastAsyncId = 0, this._active = /* @__PURE__ */ new Set(), this._changed = /* @__PURE__ */ new Set(), this._started = !1, this._state = { paused: !1, pauseQueue: /* @__PURE__ */ new Set(), resumeQueue: /* @__PURE__ */ new Set(), timeouts: /* @__PURE__ */ new Set() }, this._events = { onStart: /* @__PURE__ */ new Map(), onChange: /* @__PURE__ */ new Map(), onRest: /* @__PURE__ */ new Map() }, this._onFrame = this._onFrame.bind(this), t && (this._flush = t), e && this.start({ default: !0, ...e }); } /** * Equals `true` when no spring values are in the frameloop, and * no async animation is currently active. */ get idle() { return !this._state.asyncTo && Object.values(this.springs).every((e) => e.idle && !e.isDelayed && !e.isPaused); } get item() { return this._item; } set item(e) { this._item = e; } /** Get the current values of our springs */ get() { const e = {}; return this.each((t, r) => e[r] = t.get()), e; } /** Set the current values without animating. */ set(e) { for (const t in e) { const r = e[t]; Le.und(r) || this.springs[t].set(r); } } /** Push an update onto the queue of each value. */ update(e) { return e && this.queue.push(w5(e)), this; } /** * Start the queued animations for every spring, and resolve the returned * promise once all queued animations have finished or been cancelled. * * When you pass a queue (instead of nothing), that queue is used instead of * the queued animations added with the `update` method, which are left alone. */ start(e) { let { queue: t } = this; return e ? t = Ko(e).map(w5) : this.queue = [], this._flush ? this._flush(this, t) : (Tle(this, t), jMe(this, t)); } /** @internal */ stop(e, t) { if (e !== !!e && (t = e), t) { const r = this.springs; Ht(Ko(t), (n) => r[n].stop(!!e)); } else E0(this._state, this._lastAsyncId), this.each((r) => r.stop(!!e)); return this; } /** Freeze the active animation in time */ pause(e) { if (Le.und(e)) this.start({ pause: !0 }); else { const t = this.springs; Ht(Ko(e), (r) => t[r].pause()); } return this; } /** Resume the animation if paused. */ resume(e) { if (Le.und(e)) this.start({ pause: !1 }); else { const t = this.springs; Ht(Ko(e), (r) => t[r].resume()); } return this; } /** Call a function once per spring value */ each(e) { Hs(this.springs, e); } /** @internal Called at the end of every animation frame */ _onFrame() { const { onStart: e, onChange: t, onRest: r } = this._events, n = this._active.size > 0, o = this._changed.size > 0; (n && !this._started || o && !this._started) && (this._started = !0, f1(e, ([s, l]) => { l.value = this.get(), s(l, this, this._item); })); const a = !n && this._started, i = o || a && r.size ? this.get() : null; o && t.size && f1(t, ([s, l]) => { l.value = i, s(l, this, this._item); }), a && (this._started = !1, f1(r, ([s, l]) => { l.value = i, s(l, this, this._item); })); } /** @internal */ eventObserved(e) { if (e.type == "change") this._changed.add(e.parent), e.idle || this._active.add(e.parent); else if (e.type == "idle") this._active.delete(e.parent); else return; vt.onFrame(this._onFrame); } }; function jMe(e, t) { return Promise.all(t.map((r) => Ile(e, r))).then( (r) => BM(e, r) ); } async function Ile(e, t, r) { const { keys: n, to: o, from: a, loop: i, onRest: s, onResolve: l } = t, c = Le.obj(t.default) && t.default; i && (t.loop = !1), o === !1 && (t.to = null), a === !1 && (t.from = null); const u = Le.arr(o) || Le.fun(o) ? o : void 0; u ? (t.to = void 0, t.onRest = void 0, c && (c.onRest = void 0)) : Ht(CMe, (b) => { const m = t[b]; if (Le.fun(m)) { const x = e._events[b]; t[b] = ({ finished: O, cancelled: E }) => { const A = x.get(m); A ? (O || (A.finished = !1), E && (A.cancelled = !0)) : x.set(m, { value: null, finished: O || !1, cancelled: E || !1 }); }, c && (c[b] = t[b]); } }); const f = e._state; t.pause === !f.paused ? (f.paused = t.pause, jv(t.pause ? f.pauseQueue : f.resumeQueue)) : f.paused && (t.pause = !0); const p = (n || Object.keys(e.springs)).map( (b) => e.springs[b].start(t) ), v = t.cancel === !0 || Ele(t, "cancel") === !0; (u || v && f.asyncId) && p.push( Ale(++e._lastAsyncId, { props: t, state: f, actions: { pause: DN, resume: DN, start(b, m) { v ? (E0(f, e._lastAsyncId), m(yh(e))) : (b.onRest = s, m( Ple( u, b, f, e ) )); } } }) ), f.paused && await new Promise((b) => { f.resumeQueue.add(b); }); const w = BM(e, await Promise.all(p)); if (i && w.finished && !(r && w.noop)) { const b = jle(t, i, o); if (b) return Tle(e, [b]), Ile(e, b, !0); } return l && vt.batchedUpdates(() => l(w, e, e.item)), w; } function IMe(e, t) { const r = { ...e.springs }; return t && Ht(Ko(t), (n) => { Le.und(n.keys) && (n = w5(n)), Le.obj(n.to) || (n = { ...n, to: void 0 }), Mle(r, n, (o) => Rle(o)); }), RMe(e, r), r; } function RMe(e, t) { Hs(t, (r, n) => { e.springs[n] || (e.springs[n] = r, Mb(r, e)); }); } function Rle(e, t) { const r = new $Me(); return r.key = e, t && Mb(r, t), r; } function Mle(e, t, r) { t.keys && Ht(t.keys, (n) => { (e[n] || (e[n] = r(n)))._prepareNode(t); }); } function Tle(e, t) { Ht(t, (r) => { Mle(e.springs, r, (n) => Rle(n, e)); }); } var MMe = V.createContext({ pause: !1, immediate: !1 }), TMe = () => { const e = [], t = function(n) { aMe(); const o = []; return Ht(e, (a, i) => { if (Le.und(n)) o.push(a.start()); else { const s = r(n, a, i); s && o.push(a.start(s)); } }), o; }; t.current = e, t.add = function(n) { e.includes(n) || e.push(n); }, t.delete = function(n) { const o = e.indexOf(n); ~o && e.splice(o, 1); }, t.pause = function() { return Ht(e, (n) => n.pause(...arguments)), this; }, t.resume = function() { return Ht(e, (n) => n.resume(...arguments)), this; }, t.set = function(n) { Ht(e, (o, a) => { const i = Le.fun(n) ? n(a, o) : n; i && o.set(i); }); }, t.start = function(n) { const o = []; return Ht(e, (a, i) => { if (Le.und(n)) o.push(a.start()); else { const s = this._getProps(n, a, i); s && o.push(a.start(s)); } }), o; }, t.stop = function() { return Ht(e, (n) => n.stop(...arguments)), this; }, t.update = function(n) { return Ht(e, (o, a) => o.update(this._getProps(n, o, a))), this; }; const r = function(n, o, a) { return Le.fun(n) ? n(a, o) : n; }; return t._getProps = r, t; }; function uU(e, t, r) { const n = Le.fun(t) && t, { reset: o, sort: a, trail: i = 0, expires: s = !0, exitBeforeEnter: l = !1, onDestroyed: c, ref: u, config: f } = n ? n() : t, p = br( () => n || arguments.length == 3 ? TMe() : void 0, [] ), v = Ko(e), w = [], b = ce(null), m = o ? null : b.current; Ng(() => { b.current = w; }), vle(() => (Ht(w, (U) => { p == null || p.add(U.ctrl), U.ctrl.ref = p; }), () => { Ht(b.current, (U) => { U.expired && clearTimeout(U.expirationId), tU(U.ctrl, p), U.ctrl.stop(!0); }); })); const x = DMe(v, n ? n() : t, m), O = o && b.current || []; Ng( () => Ht(O, ({ ctrl: U, item: z, key: F }) => { tU(U, p), ca(c, z, F); }) ); const E = []; if (m && Ht(m, (U, z) => { U.expired ? (clearTimeout(U.expirationId), O.push(U)) : (z = E[z] = x.indexOf(U.key), ~z && (w[z] = U)); }), Ht(v, (U, z) => { w[z] || (w[z] = { key: x[z], item: U, phase: "mount", ctrl: new _Me() }, w[z].ctrl.item = U); }), E.length) { let U = -1; const { leave: z } = n ? n() : t; Ht(E, (F, D) => { const Y = m[D]; ~F ? (U = w.indexOf(Y), w[U] = { ...Y, item: v[F] }) : z && w.splice(++U, 0, Y); }); } Le.fun(a) && w.sort((U, z) => a(U.item, z.item)); let A = -i; const h = yle(), G = HM(t), H = /* @__PURE__ */ new Map(), Z = ce(/* @__PURE__ */ new Map()), J = ce(!1); Ht(w, (U, z) => { const F = U.key, D = U.phase, Y = n ? n() : t; let q, g; const d = ca(Y.delay || 0, F); if (D == "mount") q = Y.enter, g = "enter"; else { const j = x.indexOf(F) < 0; if (D != "leave") if (j) q = Y.leave, g = "leave"; else if (q = Y.update) g = "update"; else return; else if (!j) q = Y.enter, g = "enter"; else return; } if (q = ca(q, U.item, z), q = Le.obj(q) ? YM(q) : { to: q }, !q.config) { const j = f || G.config; q.config = ca(j, U.item, z, g); } A += i; const S = { ...G, // we need to add our props.delay value you here. delay: d + A, ref: u, immediate: Y.immediate, // This prevents implied resets. reset: !1, // Merge any phase-specific props. ...q }; if (g == "enter" && Le.und(S.from)) { const j = n ? n() : t, _ = Le.und(j.initial) || m ? j.from : j.initial; S.from = ca(_, U.item, z); } const { onResolve: C } = S; S.onResolve = (j) => { ca(C, j); const _ = b.current, N = _.find((M) => M.key === F); if (N && !(j.cancelled && N.phase != "update") && N.ctrl.idle) { const M = _.every((R) => R.ctrl.idle); if (N.phase == "leave") { const R = ca(s, N.item); if (R !== !1) { const T = R === !0 ? 0 : R; if (N.expired = !0, !M && T > 0) { T <= 2147483647 && (N.expirationId = setTimeout(h, T)); return; } } } M && _.some((R) => R.expired) && (Z.current.delete(N), l && (J.current = !0), h()); } }; const P = IMe(U.ctrl, S); g === "leave" && l ? Z.current.set(U, { phase: g, springs: P, payload: S }) : H.set(U, { phase: g, springs: P, payload: S }); }); const X = gr(MMe), ee = lMe(X), I = X !== ee && xMe(X); Ng(() => { I && Ht(w, (U) => { U.ctrl.start({ default: X }); }); }, [X]), Ht(H, (U, z) => { if (Z.current.size) { const F = w.findIndex((D) => D.key === z.key); w.splice(F, 1); } }), Ng( () => { Ht( Z.current.size ? Z.current : H, ({ phase: U, payload: z }, F) => { const { ctrl: D } = F; F.phase = U, p == null || p.add(D), I && U == "enter" && D.start({ default: X }), z && (wMe(D, z.ref), (D.ref || p) && !J.current ? D.update(z) : (D.start(z), J.current && (J.current = !1))); } ); }, o ? void 0 : r ); const te = (U) => /* @__PURE__ */ V.createElement(V.Fragment, null, w.map((z, F) => { const { springs: D } = H.get(z) || z.ctrl, Y = U({ ...D }, z.item, z, F); return Y && Y.type ? /* @__PURE__ */ V.createElement( Y.type, { ...Y.props, key: Le.str(z.key) || Le.num(z.key) ? z.key : z.ctrl.id, ref: Y.ref } ) : Y; })); return p ? [te, p] : te; } var zMe = 1; function DMe(e, { key: t, keys: r = t }, n) { if (r === null) { const o = /* @__PURE__ */ new Set(); return e.map((a) => { const i = n && n.find( (s) => s.item === a && s.phase !== "leave" && !o.has(s) ); return i ? (o.add(i), i.key) : zMe++; }); } return Le.und(r) ? e : Le.fun(r) ? e.map(r) : Ko(r); } var FMe = class extends qM { constructor(e, t) { super(), this.source = e, this.idle = !0, this._active = /* @__PURE__ */ new Set(), this.calc = v0(...t); const r = this._get(), n = LN(r); UM(this, n.create(r)); } advance(e) { const t = this._get(), r = this.get(); $l(t, r) || (Fi(this).setValue(t), this._onChange(t, this.idle)), !this.idle && fU(this._active) && qE(this); } _get() { const e = Le.arr(this.source) ? this.source.map(la) : Ko(la(this.source)); return this.calc(...e); } _start() { this.idle && !fU(this._active) && (this.idle = !1, Ht(fS(this), (e) => { e.done = !1; }), Ci.skipAnimation ? (vt.batchedUpdates(() => this.advance()), qE(this)) : sS.start(this)); } // Observe our sources only when we're observed. _attach() { let e = 1; Ht(Ko(this.source), (t) => { La(t) && Mb(t, this), GN(t) && (t.idle || this._active.add(t), e = Math.max(e, t.priority + 1)); }), this.priority = e, this._start(); } // Stop observing our sources once we have no observers. _detach() { Ht(Ko(this.source), (e) => { La(e) && k0(e, this); }), this._active.clear(), qE(this); } /** @internal */ eventObserved(e) { e.type == "change" ? e.idle ? this.advance() : (this._active.add(e.parent), this._start()) : e.type == "idle" ? this._active.delete(e.parent) : e.type == "priority" && (this.priority = Ko(this.source).reduce( (t, r) => Math.max(t, (GN(r) ? r.priority : 0) + 1), 0 )); } }; function LMe(e) { return e.idle !== !1; } function fU(e) { return !e.size || Array.from(e).every(LMe); } function qE(e) { e.idle || (e.idle = !0, Ht(fS(e), (t) => { t.done = !0; }), w0(e, { type: "idle", parent: e })); } Ci.assign({ createStringInterpolator: hle, to: (e, t) => new FMe(e, t) }); var zle = /^--/; function VMe(e, t) { return t == null || typeof t == "boolean" || t === "" ? "" : typeof t == "number" && t !== 0 && !zle.test(e) && !(m1.hasOwnProperty(e) && m1[e]) ? t + "px" : ("" + t).trim(); } var dU = {}; function WMe(e, t) { if (!e.nodeType || !e.setAttribute) return !1; const r = e.nodeName === "filter" || e.parentNode && e.parentNode.nodeName === "filter", { className: n, style: o, children: a, scrollTop: i, scrollLeft: s, viewBox: l, ...c } = t, u = Object.values(c), f = Object.keys(c).map( (p) => r || e.hasAttribute(p) ? p : dU[p] || (dU[p] = p.replace( /([A-Z])/g, // Attributes are written in dash case (v) => "-" + v.toLowerCase() )) ); a !== void 0 && (e.textContent = a); for (const p in o) if (o.hasOwnProperty(p)) { const v = VMe(p, o[p]); zle.test(p) ? e.style.setProperty(p, v) : e.style[p] = v; } f.forEach((p, v) => { e.setAttribute(p, u[v]); }), n !== void 0 && (e.className = n), i !== void 0 && (e.scrollTop = i), s !== void 0 && (e.scrollLeft = s), l !== void 0 && e.setAttribute("viewBox", l); } var m1 = { animationIterationCount: !0, borderImageOutset: !0, borderImageSlice: !0, borderImageWidth: !0, boxFlex: !0, boxFlexGroup: !0, boxOrdinalGroup: !0, columnCount: !0, columns: !0, flex: !0, flexGrow: !0, flexPositive: !0, flexShrink: !0, flexNegative: !0, flexOrder: !0, gridRow: !0, gridRowEnd: !0, gridRowSpan: !0, gridRowStart: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnSpan: !0, gridColumnStart: !0, fontWeight: !0, lineClamp: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, tabSize: !0, widows: !0, zIndex: !0, zoom: !0, // SVG-related properties fillOpacity: !0, floodOpacity: !0, stopOpacity: !0, strokeDasharray: !0, strokeDashoffset: !0, strokeMiterlimit: !0, strokeOpacity: !0, strokeWidth: !0 }, GMe = (e, t) => e + t.charAt(0).toUpperCase() + t.substring(1), UMe = ["Webkit", "Ms", "Moz", "O"]; m1 = Object.keys(m1).reduce((e, t) => (UMe.forEach((r) => e[GMe(r, t)] = e[t]), e), m1); var HMe = /^(matrix|translate|scale|rotate|skew)/, YMe = /^(translate)/, BMe = /^(rotate|skew)/, XE = (e, t) => Le.num(e) && e !== 0 ? e + t : e, ik = (e, t) => Le.arr(e) ? e.every((r) => ik(r, t)) : Le.num(e) ? e === t : parseFloat(e) === t, qMe = class extends pS { constructor({ x: e, y: t, z: r, ...n }) { const o = [], a = []; (e || t || r) && (o.push([e || 0, t || 0, r || 0]), a.push((i) => [ `translate3d(${i.map((s) => XE(s, "px")).join(",")})`, // prettier-ignore ik(i, 0) ])), Hs(n, (i, s) => { if (s === "transform") o.push([i || ""]), a.push((l) => [l, l === ""]); else if (HMe.test(s)) { if (delete n[s], Le.und(i)) return; const l = YMe.test(s) ? "px" : BMe.test(s) ? "deg" : ""; o.push(Ko(i)), a.push( s === "rotate3d" ? ([c, u, f, p]) => [ `rotate3d(${c},${u},${f},${XE(p, l)})`, ik(p, 0) ] : (c) => [ `${s}(${c.map((u) => XE(u, l)).join(",")})`, ik(c, s.startsWith("scale") ? 1 : 0) ] ); } }), o.length && (n.transform = new XMe(o, a)), super(n); } }, XMe = class extends ple { constructor(e, t) { super(), this.inputs = e, this.transforms = t, this._value = null; } get() { return this._value || (this._value = this._get()); } _get() { let e = "", t = !0; return Ht(this.inputs, (r, n) => { const o = la(r[0]), [a, i] = this.transforms[n]( Le.arr(o) ? o : r.map(la) ); e += " " + a, t = t && i; }), t ? "none" : e; } // Start observing our inputs once we have an observer. observerAdded(e) { e == 1 && Ht( this.inputs, (t) => Ht( t, (r) => La(r) && Mb(r, this) ) ); } // Stop observing our inputs once we have no observers. observerRemoved(e) { e == 0 && Ht( this.inputs, (t) => Ht( t, (r) => La(r) && k0(r, this) ) ); } eventObserved(e) { e.type == "change" && (this._value = null), w0(this, e); } }, KMe = [ "a", "abbr", "address", "area", "article", "aside", "audio", "b", "base", "bdi", "bdo", "big", "blockquote", "body", "br", "button", "canvas", "caption", "cite", "code", "col", "colgroup", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "iframe", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "link", "main", "map", "mark", "menu", "menuitem", "meta", "meter", "nav", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "script", "section", "select", "small", "source", "span", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "u", "ul", "var", "video", "wbr", // SVG "circle", "clipPath", "defs", "ellipse", "foreignObject", "g", "image", "line", "linearGradient", "mask", "path", "pattern", "polygon", "polyline", "radialGradient", "rect", "stop", "svg", "text", "tspan" ]; Ci.assign({ batchedUpdates: ZI, createStringInterpolator: hle, colors: zRe }); var JMe = gMe(KMe, { applyAnimatedValues: WMe, createAnimatedStyle: (e) => new qMe(e), // eslint-disable-next-line @typescript-eslint/no-unused-vars getComponentProps: ({ scrollTop: e, scrollLeft: t, ...r }) => r }), Dle = JMe.animated; /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const QMe = { prefix: "fas", iconName: "down-left-and-up-right-to-center", icon: [512, 512, ["compress-alt"], "f422", "M439 7c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8l-144 0c-13.3 0-24-10.7-24-24l0-144c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39L439 7zM72 272l144 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39L73 505c-9.4 9.4-24.6 9.4-33.9 0L7 473c-9.4-9.4-9.4-24.6 0-33.9l87-87L55 313c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8z"] }, ZMe = { prefix: "fas", iconName: "up-right-and-down-left-from-center", icon: [512, 512, ["expand-alt"], "f424", "M344 0L488 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87L327 41c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM168 512L24 512c-13.3 0-24-10.7-24-24L0 344c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8z"] }; var UN = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = "NONE", e[e.INPUT = 1] = "INPUT", e[e.PANEL = 2] = "PANEL", e[e.DIALOGUE = 3] = "DIALOGUE", e))(UN || {}), eTe = Object.freeze({ // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss position: "absolute", border: 0, width: 1, height: 1, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", wordWrap: "normal" }), tTe = "VisuallyHidden", Fle = V.forwardRef( (e, t) => /* @__PURE__ */ B( Ks.span, { ...e, ref: t, style: { ...eTe, ...e.style } } ) ); Fle.displayName = tTe; var pU = Fle; const A0 = [], rTe = (e) => { A0.push(e); }, nTe = (e) => { const t = A0.findIndex((r) => r.id === e); t !== -1 && A0.splice(t, 1); }, oTe = (e, t) => { const r = A0.find((n) => n.id === e); r && Object.assign(r, t); }, aTe = () => A0.filter((e) => e.closeOnEsc).sort((e, t) => t.zIndex - e.zIndex)[0]; typeof window < "u" && !window.__modalEscListenerInstalled && (window.__modalEscListenerInstalled = !0, window.addEventListener("keydown", (e) => { if (e.key !== "Escape" && e.key !== "Esc") return; const t = aTe(); t && (e.preventDefault(), t.onClose()); })); let Ry = 70; const iTe = ({ styles: e, backdropClassName: t, disableHotkeyInput: r, enableHotkeyInput: n }) => (xe(() => (r(UN.DIALOGUE), () => { n(UN.DIALOGUE); }), [r, n]), /* @__PURE__ */ B(SNe, { forceMount: !0, asChild: !0, children: /* @__PURE__ */ B( Dle.div, { className: i1("fixed inset-0 z-[69]", t), style: { opacity: e.opacity, pointerEvents: "none", background: "radial-gradient(800px 400px at 10% -10%, rgba(45,129,255,0.10), transparent), radial-gradient(600px 320px at 110% 110%, rgba(28,182,190,0.10), transparent), rgba(0,0,0,0.60)" } } ) })), HN = ({ children: e }) => /* @__PURE__ */ B(ht, { children: e }), Lle = an( void 0 ), XM = ({ className: e, size: t = "md" }) => { const r = gr(Lle); if (!r) return null; const { expanded: n, toggleExpanded: o } = r; return /* @__PURE__ */ B( "button", { type: "button", "aria-label": n ? "Restore modal size" : "Expand modal", onClick: o, className: i1( "flex items-center justify-center rounded-full bg-black/40 text-white/60 transition-all hover:bg-black/70 hover:text-white", { sm: "h-5 w-5 text-sm", md: "h-7 w-7 text-md", lg: "h-9 w-9 text-xl" }[t], "relative z-[70]", e ), children: /* @__PURE__ */ B( h0, { icon: n ? QMe : ZMe } ) } ); }; XM.displayName = "ModalExpandButton"; const Zp = ({ isOpen: e, title: t, titleIcon: r, onTitleIconClick: n, onClose: o, enableHotkeyInput: a = () => { }, disableHotkeyInput: i = () => { }, className: s, backdropClassName: l, width: c, children: u, childPadding: f = !0, titleIconClassName: p, showClose: v = !0, draggable: w = !1, resizable: b = !1, initialPosition: m, closeOnOutsideClick: x = !0, closeOnEsc: O = !0, allowBackgroundInteraction: E = !1, expandable: A = !1, accessibleTitle: h, accessibleDescription: G }) => { const [H, Z] = We( null ), [J, X] = We(!1), [ee, I] = We(!1), te = ce({ x: 0, y: 0 }), U = ce({ x: 0, y: 0 }), z = ce(null), F = ce(null), D = ce(null), [Y, q] = We(() => ++Ry), [g, d] = We(!1), S = ce(null), C = uU(e, { from: { opacity: 0, transform: "scale(0.95) translateY(-10px)" }, enter: { opacity: 1, transform: "scale(1) translateY(0px)" }, leave: { opacity: 0, transform: "scale(0.95) translateY(10px)" }, config: { tension: 300, friction: 30, mass: 0.8 } }), P = uU(e, { from: { opacity: 0 }, enter: { opacity: 1 }, leave: { opacity: 0 }, config: { tension: 280, friction: 25 } }); xe(() => { g ? (F.current && (S.current = { ...F.current }), Z({ x: 0, y: 0 }), F.current = { x: 0, y: 0 }, z.current && (z.current.style.left = "0px", z.current.style.top = "0px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y))) : S.current && (Z({ ...S.current }), F.current = { ...S.current }, z.current && (z.current.style.left = S.current.x + "px", z.current.style.top = S.current.y + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y))); }, [g, Y]); const j = () => d((se) => !se); xe(() => { e ? D.current ? (Z({ ...D.current }), F.current = { ...D.current }, z.current && (z.current.style.left = D.current.x + "px", z.current.style.top = D.current.y + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y))) : m && (Z({ ...m }), F.current = { ...m }, z.current && (z.current.style.left = m.x + "px", z.current.style.top = m.y + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y))) : F.current && (D.current = { ...F.current }); }, [e, Y]), xe(() => { if (!J) return; let se = null; const ae = (Be) => { if (!z.current) return; const gt = Be.clientX - U.current.x, fe = Be.clientY - U.current.y, he = te.current.x + gt, we = te.current.y + fe, Ue = z.current, { width: pt, height: yr } = Ue.getBoundingClientRect(), so = window.innerWidth, fo = window.innerHeight, bt = 450, po = -450, mo = 0, da = so - pt + bt, hr = fo - yr + bt, lo = Math.max(po, Math.min(he, da)), pa = Math.max(mo, Math.min(we, hr)); F.current = { x: lo, y: pa }, z.current && (se && cancelAnimationFrame(se), se = requestAnimationFrame(() => { z.current && F.current && (z.current.style.left = F.current.x + "px", z.current.style.top = F.current.y + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y)); })); }, le = () => { X(!1), F.current && Z({ ...F.current }); }; return window.addEventListener("mousemove", ae), window.addEventListener("mouseup", le), () => { window.removeEventListener("mousemove", ae), window.removeEventListener("mouseup", le), se && cancelAnimationFrame(se); }; }, [J, Y]); const _ = (se) => { var ae, le; if (!z.current) return; g && d(!1), se.preventDefault(), se.stopPropagation(); const Be = z.current, { width: gt, height: fe } = Be.getBoundingClientRect(), he = window.innerWidth, we = window.innerHeight; let Ue = ((ae = F.current) == null ? void 0 : ae.x) ?? (H == null ? void 0 : H.x), pt = ((le = F.current) == null ? void 0 : le.y) ?? (H == null ? void 0 : H.y); (Ue === void 0 || pt === void 0) && (m ? (Ue = m.x, pt = m.y) : (Ue = (he - gt) / 2, pt = (we - fe) / 2)), te.current = { x: Ue, y: pt }, U.current = { x: se.clientX, y: se.clientY }, X(!0), !H && !F.current && (Z({ x: Ue, y: pt }), F.current = { x: Ue, y: pt }, z.current && (z.current.style.left = Ue + "px", z.current.style.top = pt + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y))); }; let N = u; if (w) { let se = !1; N = Array.isArray(u) ? u.map((ae) => { if (!se && Ws(ae) && (ae.type === HN || ae.type.displayName === "ModalDragHandle")) { se = !0; const le = ae; return Gs(le, { children: /* @__PURE__ */ B( "div", { style: { cursor: "move", userSelect: "none" }, onMouseDown: _, children: le.props.children } ) }); } return ae; }) : Ws(u) && (u.type === HN || u.type.displayName === "ModalDragHandle") ? (() => { const ae = u; return Gs(ae, { children: /* @__PURE__ */ B( "div", { style: { cursor: "move", userSelect: "none" }, onMouseDown: _, children: ae.props.children } ) }); })() : u; } const M = ce(null), R = ce(null), T = (se, ae) => { if (!z.current || (se.preventDefault(), se.stopPropagation(), g)) return; const le = z.current.getBoundingClientRect(); M.current = ae, R.current = { mouseX: se.clientX, mouseY: se.clientY, width: le.width, height: le.height, x: le.left, y: le.top }, I(!0); }; xe(() => { if (!ee) return; let se = null; const ae = (Be) => { if (!z.current || !R.current || !M.current) return; const gt = Be.clientX - R.current.mouseX, fe = Be.clientY - R.current.mouseY; let he = R.current.width, we = R.current.height, Ue = R.current.x, pt = R.current.y; const yr = M.current; yr.includes("right") && (he = R.current.width + gt), yr.includes("left") && (he = R.current.width - gt, Ue = R.current.x + gt), yr.includes("bottom") && (we = R.current.height + fe), yr.includes("top") && (we = R.current.height - fe, pt = R.current.y + fe), he = Math.max(320, he), we = Math.max(240, we), F.current = { x: Ue, y: pt }, pe.current = { width: he, height: we }, se && cancelAnimationFrame(se), se = requestAnimationFrame(() => { z.current && F.current && (z.current.style.width = he + "px", z.current.style.height = we + "px", z.current.style.left = F.current.x + "px", z.current.style.top = F.current.y + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y)); }); }, le = () => { I(!1), F.current && Z({ ...F.current }), pe.current && ne({ ...pe.current }); }; return window.addEventListener("mousemove", ae), window.addEventListener("mouseup", le), () => { window.removeEventListener("mousemove", ae), window.removeEventListener("mouseup", le), se && cancelAnimationFrame(se); }; }, [ee, Y]); const Q = () => { if (!b || g) return null; const se = "absolute z-[75] bg-transparent select-none", ae = 5, le = 2, Be = [ { dir: "top", className: `top-0 left-0 w-full h-${le}` }, { dir: "bottom", className: `bottom-0 left-0 w-full h-${le}` }, { dir: "left", className: `left-0 top-0 h-full w-${le}` }, { dir: "right", className: `right-0 top-0 h-full w-${le}` }, { dir: "top-left", className: `top-0 left-0 w-${ae} h-${ae}` }, { dir: "top-right", className: `top-0 right-0 w-${ae} h-${ae}` }, { dir: "bottom-left", className: `bottom-0 left-0 w-${ae} h-${ae}` }, { dir: "bottom-right", className: `bottom-0 right-0 w-${ae} h-${ae}` } ], gt = { top: "n-resize", bottom: "s-resize", left: "w-resize", right: "e-resize", "top-left": "nw-resize", "top-right": "ne-resize", "bottom-left": "sw-resize", "bottom-right": "se-resize" }; return Be.map((fe) => /* @__PURE__ */ B( "div", { className: `${se} ${fe.className}`, style: { cursor: gt[fe.dir] }, onMouseDown: (he) => T(he, fe.dir) }, fe.dir )); }, [k, ne] = We( null ), pe = ce(null), He = ce(null); xe(() => { if (e && !k && z.current && b) { const { width: se, height: ae } = z.current.getBoundingClientRect(); ne({ width: se, height: ae }), pe.current = { width: se, height: ae }; } }, [e, k, b]), xe(() => { if (b) { if (!e) pe.current && (He.current = { ...pe.current }); else if (He.current && z.current) { const { width: se, height: ae } = He.current; z.current.style.width = se + "px", z.current.style.height = ae + "px", ne({ width: se, height: ae }), pe.current = { width: se, height: ae }; } } }, [e, b]), xe(() => { const se = () => { z.current && Y < Ry && (Ry += 1, q(Ry), z.current.style.zIndex = String(Ry)); }, ae = z.current; return ae && ae.addEventListener("mousedown", se), () => { ae && ae.removeEventListener("mousedown", se); }; }, [Y]), xe(() => { if (!e || E) return; const se = (ae) => { if (ae.key === "Escape" || ae.key === "Esc") return; const le = ae.target; le && (le.closest( '[role="dialog"], [role="menu"], [role="listbox"], [data-headlessui-portal]' ) || le.matches("input, textarea, select, button, [contenteditable]")) || ae.stopPropagation(); }; return window.addEventListener("keydown", se, !0), () => { window.removeEventListener("keydown", se, !0); }; }, [e, E]), xe(() => { if (!E) return; const se = z.current; if (!se) return; const ae = (fe) => { fe && (fe.hasAttribute("inert") && fe.removeAttribute("inert"), fe.inert && (fe.inert = !1), fe.getAttribute("aria-hidden") === "true" && fe.removeAttribute("aria-hidden")); }; let le = se; for (; le; ) ae(le), le = le.parentElement; const Be = new MutationObserver((fe) => { fe.forEach((he) => { if (he.type === "attributes" && he.attributeName === "inert" && he.target instanceof HTMLElement) { const we = he.target; (we === se || se.contains(we)) && ae(we); } }); }); Be.observe(se, { attributes: !0, subtree: !1, attributeFilter: ["inert"] }), document.querySelectorAll( "[data-radix-portal][inert], [data-headlessui-portal][inert]" ).forEach((fe) => fe.removeAttribute("inert")); const gt = new MutationObserver((fe) => { fe.forEach((he) => { if (he.type === "attributes" && he.attributeName === "inert" && he.target.hasAttribute("inert")) { const we = he.target; (we.hasAttribute("data-radix-portal") || we.hasAttribute("data-headlessui-portal")) && ae(we); } }); }); return gt.observe(document.body, { attributes: !0, subtree: !0, attributeFilter: ["inert"] }), () => { Be.disconnect(), gt.disconnect(); }; }, [E]); const on = ce(Math.floor(Math.random() * 1e9)); xe(() => { if (e) return rTe({ id: on.current, zIndex: Y, onClose: o, closeOnEsc: O }), () => { nTe(on.current); }; }, [e]), xe(() => { e && oTe(on.current, { zIndex: Y, onClose: o, closeOnEsc: O }); }, [e, Y, o, O]); const en = () => g ? { position: "fixed", left: 0, top: 0, margin: 0, zIndex: Y, width: "100vw", height: "100vh", ...E ? { pointerEvents: "auto" } : {} } : !w || !H ? { ...b && k ? { width: k.width, height: k.height } : {}, ...E ? { pointerEvents: "auto" } : {} } : { position: "fixed", left: H.x, top: H.y, margin: 0, zIndex: Y, ...b && k ? { width: k.width, height: k.height } : {}, ...E ? { pointerEvents: "auto" } : {} }; return /* @__PURE__ */ B( kNe, { open: e, onOpenChange: (se) => !se && x && o(), modal: !E, children: /* @__PURE__ */ B(ONe, { children: /* @__PURE__ */ me( "div", { className: "fixed inset-0 z-[70]", style: E ? { pointerEvents: "none" } : void 0, children: [ !E && P( (se, ae) => ae ? /* @__PURE__ */ B( iTe, { styles: se, backdropClassName: l, disableHotkeyInput: i, enableHotkeyInput: a }, "backdrop" ) : null ), E && /* @__PURE__ */ B( "div", { className: i1("fixed inset-0 z-[69]", l), style: { pointerEvents: "none" } } ), /* @__PURE__ */ B(Lle.Provider, { value: { expanded: g, toggleExpanded: j }, children: /* @__PURE__ */ B( "div", { className: "flex min-h-full items-center justify-center p-4 text-center", style: E ? { pointerEvents: "none" } : void 0, children: C((se, ae) => ae ? /* @__PURE__ */ B( ENe, { forceMount: !0, asChild: !0, ...G ? {} : { "aria-describedby": void 0 }, onPointerDownOutside: (le) => { (!x || E) && le.preventDefault(); }, onEscapeKeyDown: (le) => { O || le.preventDefault(); }, onInteractOutside: (le) => { E && le.preventDefault(); }, children: /* @__PURE__ */ me( Dle.div, { className: i1( "w-full max-w-lg rounded-xl relative border border-ui-panel-border bg-ui-modal text-left align-middle shadow-2xl z-[70]", f && !g ? "p-4" : "", s, "!transition-none", // Always disable CSS transitions for spring animations g && "w-screen h-screen max-w-screen max-h-screen rounded-none" ), ref: z, style: { ...en(), opacity: se.opacity, transform: se.transform, transformOrigin: "center center", willChange: "transform, opacity" // Optimize for animations }, children: [ /* @__PURE__ */ me("div", { className: "w-full h-full", children: [ G && /* @__PURE__ */ B(pU, { asChild: !0, children: /* @__PURE__ */ B(ANe, { children: G }) }), t ? /* @__PURE__ */ B( pW, { className: i1( "mb-4 flex justify-between pb-0 text-xl font-bold text-base-fg" ), children: /* @__PURE__ */ B(ht, { children: n ? /* @__PURE__ */ me( "button", { className: "flex items-center gap-3", onClick: n, children: [ r && /* @__PURE__ */ B( h0, { icon: r, className: p } ), t ] } ) : /* @__PURE__ */ me("div", { className: "flex items-center gap-3", children: [ r && /* @__PURE__ */ B( h0, { icon: r, className: p } ), t ] }) }) } ) : /* @__PURE__ */ B(pU, { asChild: !0, children: /* @__PURE__ */ B(pW, { children: h ?? "Dialog" }) }), /* @__PURE__ */ B("div", { className: "h-full".trim(), children: N }), Q() ] }), (v || A) && /* @__PURE__ */ me("div", { className: "absolute top-0 right-0 m-2.5 z-[80] flex items-center gap-2", children: [ A && /* @__PURE__ */ B(Zp.ExpandButton, {}), v && /* @__PURE__ */ B(CRe, { onClick: o }) ] }) ] } ) } ) : null) } ) }) ] } ) }) } ); }; Zp.DragHandle = HN; Zp.DragHandle.displayName = "ModalDragHandle"; Zp.ExpandButton = XM; XM.displayName = "ModalExpandButton"; function bf(e, t, { checkForDefaultPrevented: r = !0 } = {}) { return function(n) { if (e == null || e(n), r === !1 || !n.defaultPrevented) return t == null ? void 0 : t(n); }; } function mU(e, t) { if (typeof e == "function") return e(t); e != null && (e.current = t); } function Vle(...e) { return (t) => { let r = !1; const n = e.map((o) => { const a = mU(o, t); return !r && typeof a == "function" && (r = !0), a; }); if (r) return () => { for (let o = 0; o < n.length; o++) { const a = n[o]; typeof a == "function" ? a() : mU(e[o], null); } }; }; } function Xm(...e) { return V.useCallback(Vle(...e), e); } function sTe(e, t) { const r = V.createContext(t), n = (a) => { const { children: i, ...s } = a, l = V.useMemo(() => s, Object.values(s)); return /* @__PURE__ */ B(r.Provider, { value: l, children: i }); }; n.displayName = e + "Provider"; function o(a) { const i = V.useContext(r); if (i) return i; if (t !== void 0) return t; throw new Error(`\`${a}\` must be used within \`${e}\``); } return [n, o]; } function lTe(e, t = []) { let r = []; function n(a, i) { const s = V.createContext(i), l = r.length; r = [...r, i]; const c = (f) => { var p; const { scope: v, children: w, ...b } = f, m = ((p = v == null ? void 0 : v[e]) == null ? void 0 : p[l]) || s, x = V.useMemo(() => b, Object.values(b)); return /* @__PURE__ */ B(m.Provider, { value: x, children: w }); }; c.displayName = a + "Provider"; function u(f, p) { var v; const w = ((v = p == null ? void 0 : p[e]) == null ? void 0 : v[l]) || s, b = V.useContext(w); if (b) return b; if (i !== void 0) return i; throw new Error(`\`${f}\` must be used within \`${a}\``); } return [c, u]; } const o = () => { const a = r.map((i) => V.createContext(i)); return function(i) { const s = (i == null ? void 0 : i[e]) || a; return V.useMemo( () => ({ [`__scope${e}`]: { ...i, [e]: s } }), [i, s] ); }; }; return o.scopeName = e, [n, cTe(o, ...t)]; } function cTe(...e) { const t = e[0]; if (e.length === 1) return t; const r = () => { const n = e.map((o) => ({ useScope: o(), scopeName: o.scopeName })); return function(o) { const a = n.reduce((i, { useScope: s, scopeName: l }) => { const c = s(o)[`__scope${l}`]; return { ...i, ...c }; }, {}); return V.useMemo(() => ({ [`__scope${t.scopeName}`]: a }), [a]); }; }; return r.scopeName = t.scopeName, r; } var $0 = globalThis != null && globalThis.document ? V.useLayoutEffect : () => { }, uTe = V[" useId ".trim().toString()] || (() => { }), fTe = 0; function KE(e) { const [t, r] = V.useState(uTe()); return $0(() => { r((n) => n ?? String(fTe++)); }, [e]), e || (t ? `radix-${t}` : ""); } var dTe = V[" useInsertionEffect ".trim().toString()] || $0; function pTe({ prop: e, defaultProp: t, onChange: r = () => { }, caller: n }) { const [o, a, i] = mTe({ defaultProp: t, onChange: r }), s = e !== void 0, l = s ? e : o; { const u = V.useRef(e !== void 0); V.useEffect(() => { const f = u.current; f !== s && console.warn( `${n} is changing from ${f ? "controlled" : "uncontrolled"} to ${s ? "controlled" : "uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.` ), u.current = s; }, [s, n]); } const c = V.useCallback( (u) => { var f; if (s) { const p = gTe(u) ? u(e) : u; p !== e && ((f = i.current) == null || f.call(i, p)); } else a(u); }, [s, e, a, i] ); return [l, c]; } function mTe({ defaultProp: e, onChange: t }) { const [r, n] = V.useState(e), o = V.useRef(r), a = V.useRef(t); return dTe(() => { a.current = t; }, [t]), V.useEffect(() => { var i; o.current !== r && ((i = a.current) == null || i.call(a, r), o.current = r); }, [r, o]), [r, n, a]; } function gTe(e) { return typeof e == "function"; } // @__NO_SIDE_EFFECTS__ function Wle(e) { const t = /* @__PURE__ */ hTe(e), r = V.forwardRef((n, o) => { const { children: a, ...i } = n, s = V.Children.toArray(a), l = s.find(yTe); if (l) { const c = l.props.children, u = s.map((f) => f === l ? V.Children.count(c) > 1 ? V.Children.only(null) : V.isValidElement(c) ? c.props.children : null : f); return /* @__PURE__ */ B(t, { ...i, ref: o, children: V.isValidElement(c) ? V.cloneElement(c, void 0, u) : null }); } return /* @__PURE__ */ B(t, { ...i, ref: o, children: a }); }); return r.displayName = `${e}.Slot`, r; } // @__NO_SIDE_EFFECTS__ function hTe(e) { const t = V.forwardRef((r, n) => { const { children: o, ...a } = r; if (V.isValidElement(o)) { const i = xTe(o), s = vTe(a, o.props); return o.type !== V.Fragment && (s.ref = n ? Vle(n, i) : i), V.cloneElement(o, s); } return V.Children.count(o) > 1 ? V.Children.only(null) : null; }); return t.displayName = `${e}.SlotClone`, t; } var bTe = Symbol("radix.slottable"); function yTe(e) { return V.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === bTe; } function vTe(e, t) { const r = { ...t }; for (const n in t) { const o = e[n], a = t[n]; /^on[A-Z]/.test(n) ? o && a ? r[n] = (...i) => { const s = a(...i); return o(...i), s; } : o && (r[n] = o) : n === "style" ? r[n] = { ...o, ...a } : n === "className" && (r[n] = [o, a].filter(Boolean).join(" ")); } return { ...e, ...r }; } function xTe(e) { var t, r; let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning; return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref); } var wTe = [ "a", "button", "div", "form", "h2", "h3", "img", "input", "label", "li", "nav", "ol", "p", "select", "span", "svg", "ul" ], Js = wTe.reduce((e, t) => { const r = /* @__PURE__ */ Wle(`Primitive.${t}`), n = V.forwardRef((o, a) => { const { asChild: i, ...s } = o, l = i ? r : t; return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ B(l, { ...s, ref: a }); }); return n.displayName = `Primitive.${t}`, { ...e, [t]: n }; }, {}); function kTe(e, t) { e && tm.flushSync(() => e.dispatchEvent(t)); } function P0(e) { const t = V.useRef(e); return V.useEffect(() => { t.current = e; }), V.useMemo(() => (...r) => { var n; return (n = t.current) == null ? void 0 : n.call(t, ...r); }, []); } function OTe(e, t = globalThis == null ? void 0 : globalThis.document) { const r = P0(e); V.useEffect(() => { const n = (o) => { o.key === "Escape" && r(o); }; return t.addEventListener("keydown", n, { capture: !0 }), () => t.removeEventListener("keydown", n, { capture: !0 }); }, [r, t]); } var STe = "DismissableLayer", YN = "dismissableLayer.update", ETe = "dismissableLayer.pointerDownOutside", ATe = "dismissableLayer.focusOutside", gU, Gle = V.createContext({ layers: /* @__PURE__ */ new Set(), layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(), branches: /* @__PURE__ */ new Set() }), Ule = V.forwardRef( (e, t) => { const { disableOutsidePointerEvents: r = !1, onEscapeKeyDown: n, onPointerDownOutside: o, onFocusOutside: a, onInteractOutside: i, onDismiss: s, ...l } = e, c = V.useContext(Gle), [u, f] = V.useState(null), p = (u == null ? void 0 : u.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, v] = V.useState({}), w = Xm(t, (H) => f(H)), b = Array.from(c.layers), [m] = [...c.layersWithOutsidePointerEventsDisabled].slice(-1), x = b.indexOf(m), O = u ? b.indexOf(u) : -1, E = c.layersWithOutsidePointerEventsDisabled.size > 0, A = O >= x, h = CTe((H) => { const Z = H.target, J = [...c.branches].some((X) => X.contains(Z)); !A || J || (o == null || o(H), i == null || i(H), H.defaultPrevented || s == null || s()); }, p), G = NTe((H) => { const Z = H.target; [...c.branches].some((J) => J.contains(Z)) || (a == null || a(H), i == null || i(H), H.defaultPrevented || s == null || s()); }, p); return OTe((H) => { O === c.layers.size - 1 && (n == null || n(H), !H.defaultPrevented && s && (H.preventDefault(), s())); }, p), V.useEffect(() => { if (u) return r && (c.layersWithOutsidePointerEventsDisabled.size === 0 && (gU = p.body.style.pointerEvents, p.body.style.pointerEvents = "none"), c.layersWithOutsidePointerEventsDisabled.add(u)), c.layers.add(u), hU(), () => { r && c.layersWithOutsidePointerEventsDisabled.size === 1 && (p.body.style.pointerEvents = gU); }; }, [u, p, r, c]), V.useEffect(() => () => { u && (c.layers.delete(u), c.layersWithOutsidePointerEventsDisabled.delete(u), hU()); }, [u, c]), V.useEffect(() => { const H = () => v({}); return document.addEventListener(YN, H), () => document.removeEventListener(YN, H); }, []), /* @__PURE__ */ B( Js.div, { ...l, ref: w, style: { pointerEvents: E ? A ? "auto" : "none" : void 0, ...e.style }, onFocusCapture: bf(e.onFocusCapture, G.onFocusCapture), onBlurCapture: bf(e.onBlurCapture, G.onBlurCapture), onPointerDownCapture: bf( e.onPointerDownCapture, h.onPointerDownCapture ) } ); } ); Ule.displayName = STe; var $Te = "DismissableLayerBranch", PTe = V.forwardRef((e, t) => { const r = V.useContext(Gle), n = V.useRef(null), o = Xm(t, n); return V.useEffect(() => { const a = n.current; if (a) return r.branches.add(a), () => { r.branches.delete(a); }; }, [r.branches]), /* @__PURE__ */ B(Js.div, { ...e, ref: o }); }); PTe.displayName = $Te; function CTe(e, t = globalThis == null ? void 0 : globalThis.document) { const r = P0(e), n = V.useRef(!1), o = V.useRef(() => { }); return V.useEffect(() => { const a = (s) => { if (s.target && !n.current) { let l = function() { Hle( ETe, r, c, { discrete: !0 } ); }; const c = { originalEvent: s }; s.pointerType === "touch" ? (t.removeEventListener("click", o.current), o.current = l, t.addEventListener("click", o.current, { once: !0 })) : l(); } else t.removeEventListener("click", o.current); n.current = !1; }, i = window.setTimeout(() => { t.addEventListener("pointerdown", a); }, 0); return () => { window.clearTimeout(i), t.removeEventListener("pointerdown", a), t.removeEventListener("click", o.current); }; }, [t, r]), { // ensures we check React component tree (not just DOM tree) onPointerDownCapture: () => n.current = !0 }; } function NTe(e, t = globalThis == null ? void 0 : globalThis.document) { const r = P0(e), n = V.useRef(!1); return V.useEffect(() => { const o = (a) => { a.target && !n.current && Hle(ATe, r, { originalEvent: a }, { discrete: !1 }); }; return t.addEventListener("focusin", o), () => t.removeEventListener("focusin", o); }, [t, r]), { onFocusCapture: () => n.current = !0, onBlurCapture: () => n.current = !1 }; } function hU() { const e = new CustomEvent(YN); document.dispatchEvent(e); } function Hle(e, t, r, { discrete: n }) { const o = r.originalEvent.target, a = new CustomEvent(e, { bubbles: !1, cancelable: !0, detail: r }); t && o.addEventListener(e, t, { once: !0 }), n ? kTe(o, a) : o.dispatchEvent(a); } var JE = "focusScope.autoFocusOnMount", QE = "focusScope.autoFocusOnUnmount", bU = { bubbles: !1, cancelable: !0 }, _Te = "FocusScope", Yle = V.forwardRef((e, t) => { const { loop: r = !1, trapped: n = !1, onMountAutoFocus: o, onUnmountAutoFocus: a, ...i } = e, [s, l] = V.useState(null), c = P0(o), u = P0(a), f = V.useRef(null), p = Xm(t, (b) => l(b)), v = V.useRef({ paused: !1, pause() { this.paused = !0; }, resume() { this.paused = !1; } }).current; V.useEffect(() => { if (n) { let b = function(E) { if (v.paused || !s) return; const A = E.target; s.contains(A) ? f.current = A : Ku(f.current, { select: !0 }); }, m = function(E) { if (v.paused || !s) return; const A = E.relatedTarget; A !== null && (s.contains(A) || Ku(f.current, { select: !0 })); }, x = function(E) { if (document.activeElement === document.body) for (const A of E) A.removedNodes.length > 0 && Ku(s); }; document.addEventListener("focusin", b), document.addEventListener("focusout", m); const O = new MutationObserver(x); return s && O.observe(s, { childList: !0, subtree: !0 }), () => { document.removeEventListener("focusin", b), document.removeEventListener("focusout", m), O.disconnect(); }; } }, [n, s, v.paused]), V.useEffect(() => { if (s) { vU.add(v); const b = document.activeElement; if (!s.contains(b)) { const m = new CustomEvent(JE, bU); s.addEventListener(JE, c), s.dispatchEvent(m), m.defaultPrevented || (jTe(zTe(Ble(s)), { select: !0 }), document.activeElement === b && Ku(s)); } return () => { s.removeEventListener(JE, c), setTimeout(() => { const m = new CustomEvent(QE, bU); s.addEventListener(QE, u), s.dispatchEvent(m), m.defaultPrevented || Ku(b ?? document.body, { select: !0 }), s.removeEventListener(QE, u), vU.remove(v); }, 0); }; } }, [s, c, u, v]); const w = V.useCallback( (b) => { if (!r && !n || v.paused) return; const m = b.key === "Tab" && !b.altKey && !b.ctrlKey && !b.metaKey, x = document.activeElement; if (m && x) { const O = b.currentTarget, [E, A] = ITe(O); E && A ? !b.shiftKey && x === A ? (b.preventDefault(), r && Ku(E, { select: !0 })) : b.shiftKey && x === E && (b.preventDefault(), r && Ku(A, { select: !0 })) : x === O && b.preventDefault(); } }, [r, n, v.paused] ); return /* @__PURE__ */ B(Js.div, { tabIndex: -1, ...i, ref: p, onKeyDown: w }); }); Yle.displayName = _Te; function jTe(e, { select: t = !1 } = {}) { const r = document.activeElement; for (const n of e) if (Ku(n, { select: t }), document.activeElement !== r) return; } function ITe(e) { const t = Ble(e), r = yU(t, e), n = yU(t.reverse(), e); return [r, n]; } function Ble(e) { const t = [], r = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, { acceptNode: (n) => { const o = n.tagName === "INPUT" && n.type === "hidden"; return n.disabled || n.hidden || o ? NodeFilter.FILTER_SKIP : n.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP; } }); for (; r.nextNode(); ) t.push(r.currentNode); return t; } function yU(e, t) { for (const r of e) if (!RTe(r, { upTo: t })) return r; } function RTe(e, { upTo: t }) { if (getComputedStyle(e).visibility === "hidden") return !0; for (; e; ) { if (t !== void 0 && e === t) return !1; if (getComputedStyle(e).display === "none") return !0; e = e.parentElement; } return !1; } function MTe(e) { return e instanceof HTMLInputElement && "select" in e; } function Ku(e, { select: t = !1 } = {}) { if (e && e.focus) { const r = document.activeElement; e.focus({ preventScroll: !0 }), e !== r && MTe(e) && t && e.select(); } } var vU = TTe(); function TTe() { let e = []; return { add(t) { const r = e[0]; t !== r && (r == null || r.pause()), e = xU(e, t), e.unshift(t); }, remove(t) { var r; e = xU(e, t), (r = e[0]) == null || r.resume(); } }; } function xU(e, t) { const r = [...e], n = r.indexOf(t); return n !== -1 && r.splice(n, 1), r; } function zTe(e) { return e.filter((t) => t.tagName !== "A"); } var DTe = "Portal", qle = V.forwardRef((e, t) => { var r; const { container: n, ...o } = e, [a, i] = V.useState(!1); $0(() => i(!0), []); const s = n || a && ((r = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : r.body); return s ? QI.createPortal(/* @__PURE__ */ B(Js.div, { ...o, ref: t }), s) : null; }); qle.displayName = DTe; function FTe(e, t) { return V.useReducer((r, n) => t[r][n] ?? r, e); } var mS = (e) => { const { present: t, children: r } = e, n = LTe(t), o = typeof r == "function" ? r({ present: n.isPresent }) : V.Children.only(r), a = Xm(n.ref, VTe(o)); return typeof r == "function" || n.isPresent ? V.cloneElement(o, { ref: a }) : null; }; mS.displayName = "Presence"; function LTe(e) { const [t, r] = V.useState(), n = V.useRef(null), o = V.useRef(e), a = V.useRef("none"), i = e ? "mounted" : "unmounted", [s, l] = FTe(i, { mounted: { UNMOUNT: "unmounted", ANIMATION_OUT: "unmountSuspended" }, unmountSuspended: { MOUNT: "mounted", ANIMATION_END: "unmounted" }, unmounted: { MOUNT: "mounted" } }); return V.useEffect(() => { const c = zw(n.current); a.current = s === "mounted" ? c : "none"; }, [s]), $0(() => { const c = n.current, u = o.current; if (u !== e) { const f = a.current, p = zw(c); e ? l("MOUNT") : p === "none" || (c == null ? void 0 : c.display) === "none" ? l("UNMOUNT") : l(u && f !== p ? "ANIMATION_OUT" : "UNMOUNT"), o.current = e; } }, [e, l]), $0(() => { if (t) { let c; const u = t.ownerDocument.defaultView ?? window, f = (v) => { const w = zw(n.current).includes(v.animationName); if (v.target === t && w && (l("ANIMATION_END"), !o.current)) { const b = t.style.animationFillMode; t.style.animationFillMode = "forwards", c = u.setTimeout(() => { t.style.animationFillMode === "forwards" && (t.style.animationFillMode = b); }); } }, p = (v) => { v.target === t && (a.current = zw(n.current)); }; return t.addEventListener("animationstart", p), t.addEventListener("animationcancel", f), t.addEventListener("animationend", f), () => { u.clearTimeout(c), t.removeEventListener("animationstart", p), t.removeEventListener("animationcancel", f), t.removeEventListener("animationend", f); }; } else l("ANIMATION_END"); }, [t, l]), { isPresent: ["mounted", "unmountSuspended"].includes(s), ref: V.useCallback((c) => { n.current = c ? getComputedStyle(c) : null, r(c); }, []) }; } function zw(e) { return (e == null ? void 0 : e.animationName) || "none"; } function VTe(e) { var t, r; let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning; return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref); } var ZE = 0; function WTe() { V.useEffect(() => { const e = document.querySelectorAll("[data-radix-focus-guard]"); return document.body.insertAdjacentElement("afterbegin", e[0] ?? wU()), document.body.insertAdjacentElement("beforeend", e[1] ?? wU()), ZE++, () => { ZE === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((t) => t.remove()), ZE--; }; }, []); } function wU() { const e = document.createElement("span"); return e.setAttribute("data-radix-focus-guard", ""), e.tabIndex = 0, e.style.outline = "none", e.style.opacity = "0", e.style.position = "fixed", e.style.pointerEvents = "none", e; } var is = function() { return is = Object.assign || function(e) { for (var t, r = 1, n = arguments.length; r < n; r++) { t = arguments[r]; for (var o in t) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]); } return e; }, is.apply(this, arguments); }; function Xle(e, t) { var r = {}; for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (r[n] = e[n]); if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var o = 0, n = Object.getOwnPropertySymbols(e); o < n.length; o++) t.indexOf(n[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[o]) && (r[n[o]] = e[n[o]]); return r; } function GTe(e, t, r) { for (var n = 0, o = t.length, a; n < o; n++) (a || !(n in t)) && (a || (a = Array.prototype.slice.call(t, 0, n)), a[n] = t[n]); return e.concat(a || Array.prototype.slice.call(t)); } var sk = "right-scroll-bar-position", lk = "width-before-scroll-bar", UTe = "with-scroll-bars-hidden", HTe = "--removed-body-scroll-bar-size"; function e6(e, t) { return typeof e == "function" ? e(t) : e && (e.current = t), e; } function YTe(e, t) { var r = We(function() { return { // value value: e, // last callback callback: t, // "memoized" public interface facade: { get current() { return r.value; }, set current(n) { var o = r.value; o !== n && (r.value = n, r.callback(n, o)); } } }; })[0]; return r.callback = t, r.facade; } var BTe = typeof window < "u" ? V.useLayoutEffect : V.useEffect, kU = /* @__PURE__ */ new WeakMap(); function qTe(e, t) { var r = YTe(null, function(n) { return e.forEach(function(o) { return e6(o, n); }); }); return BTe(function() { var n = kU.get(r); if (n) { var o = new Set(n), a = new Set(e), i = r.current; o.forEach(function(s) { a.has(s) || e6(s, null); }), a.forEach(function(s) { o.has(s) || e6(s, i); }); } kU.set(r, e); }, [e]), r; } function XTe(e) { return e; } function KTe(e, t) { t === void 0 && (t = XTe); var r = [], n = !1, o = { read: function() { if (n) throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`."); return r.length ? r[r.length - 1] : e; }, useMedium: function(a) { var i = t(a, n); return r.push(i), function() { r = r.filter(function(s) { return s !== i; }); }; }, assignSyncMedium: function(a) { for (n = !0; r.length; ) { var i = r; r = [], i.forEach(a); } r = { push: function(s) { return a(s); }, filter: function() { return r; } }; }, assignMedium: function(a) { n = !0; var i = []; if (r.length) { var s = r; r = [], s.forEach(a), i = r; } var l = function() { var u = i; i = [], u.forEach(a); }, c = function() { return Promise.resolve().then(l); }; c(), r = { push: function(u) { i.push(u), c(); }, filter: function(u) { return i = i.filter(u), r; } }; } }; return o; } function JTe(e) { e === void 0 && (e = {}); var t = KTe(null); return t.options = is({ async: !0, ssr: !1 }, e), t; } var Kle = function(e) { var t = e.sideCar, r = Xle(e, ["sideCar"]); if (!t) throw new Error("Sidecar: please provide `sideCar` property to import the right car"); var n = t.read(); if (!n) throw new Error("Sidecar medium not found"); return V.createElement(n, is({}, r)); }; Kle.isSideCarExport = !0; function QTe(e, t) { return e.useMedium(t), Kle; } var Jle = JTe(), t6 = function() { }, gS = V.forwardRef(function(e, t) { var r = V.useRef(null), n = V.useState({ onScrollCapture: t6, onWheelCapture: t6, onTouchMoveCapture: t6 }), o = n[0], a = n[1], i = e.forwardProps, s = e.children, l = e.className, c = e.removeScrollBar, u = e.enabled, f = e.shards, p = e.sideCar, v = e.noRelative, w = e.noIsolation, b = e.inert, m = e.allowPinchZoom, x = e.as, O = x === void 0 ? "div" : x, E = e.gapMode, A = Xle(e, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noRelative", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]), h = p, G = qTe([r, t]), H = is(is({}, A), o); return V.createElement( V.Fragment, null, u && V.createElement(h, { sideCar: Jle, removeScrollBar: c, shards: f, noRelative: v, noIsolation: w, inert: b, setCallbacks: a, allowPinchZoom: !!m, lockRef: r, gapMode: E }), i ? V.cloneElement(V.Children.only(s), is(is({}, H), { ref: G })) : V.createElement(O, is({}, H, { className: l, ref: G }), s) ); }); gS.defaultProps = { enabled: !0, removeScrollBar: !0, inert: !1 }; gS.classNames = { fullWidth: lk, zeroRight: sk }; var ZTe = function() { if (typeof __webpack_nonce__ < "u") return __webpack_nonce__; }; function eze() { if (!document) return null; var e = document.createElement("style"); e.type = "text/css"; var t = ZTe(); return t && e.setAttribute("nonce", t), e; } function tze(e, t) { e.styleSheet ? e.styleSheet.cssText = t : e.appendChild(document.createTextNode(t)); } function rze(e) { var t = document.head || document.getElementsByTagName("head")[0]; t.appendChild(e); } var nze = function() { var e = 0, t = null; return { add: function(r) { e == 0 && (t = eze()) && (tze(t, r), rze(t)), e++; }, remove: function() { e--, !e && t && (t.parentNode && t.parentNode.removeChild(t), t = null); } }; }, oze = function() { var e = nze(); return function(t, r) { V.useEffect(function() { return e.add(t), function() { e.remove(); }; }, [t && r]); }; }, Qle = function() { var e = oze(), t = function(r) { var n = r.styles, o = r.dynamic; return e(n, o), null; }; return t; }, aze = { left: 0, top: 0, right: 0, gap: 0 }, r6 = function(e) { return parseInt(e || "", 10) || 0; }, ize = function(e) { var t = window.getComputedStyle(document.body), r = t[e === "padding" ? "paddingLeft" : "marginLeft"], n = t[e === "padding" ? "paddingTop" : "marginTop"], o = t[e === "padding" ? "paddingRight" : "marginRight"]; return [r6(r), r6(n), r6(o)]; }, sze = function(e) { if (e === void 0 && (e = "margin"), typeof window > "u") return aze; var t = ize(e), r = document.documentElement.clientWidth, n = window.innerWidth; return { left: t[0], top: t[1], right: t[2], gap: Math.max(0, n - r + t[2] - t[0]) }; }, lze = Qle(), vh = "data-scroll-locked", cze = function(e, t, r, n) { var o = e.left, a = e.top, i = e.right, s = e.gap; return r === void 0 && (r = "margin"), ` .`.concat(UTe, ` { overflow: hidden `).concat(n, `; padding-right: `).concat(s, "px ").concat(n, `; } body[`).concat(vh, `] { overflow: hidden `).concat(n, `; overscroll-behavior: contain; `).concat([ t && "position: relative ".concat(n, ";"), r === "margin" && ` padding-left: `.concat(o, `px; padding-top: `).concat(a, `px; padding-right: `).concat(i, `px; margin-left:0; margin-top:0; margin-right: `).concat(s, "px ").concat(n, `; `), r === "padding" && "padding-right: ".concat(s, "px ").concat(n, ";") ].filter(Boolean).join(""), ` } .`).concat(sk, ` { right: `).concat(s, "px ").concat(n, `; } .`).concat(lk, ` { margin-right: `).concat(s, "px ").concat(n, `; } .`).concat(sk, " .").concat(sk, ` { right: 0 `).concat(n, `; } .`).concat(lk, " .").concat(lk, ` { margin-right: 0 `).concat(n, `; } body[`).concat(vh, `] { `).concat(HTe, ": ").concat(s, `px; } `); }, OU = function() { var e = parseInt(document.body.getAttribute(vh) || "0", 10); return isFinite(e) ? e : 0; }, uze = function() { V.useEffect(function() { return document.body.setAttribute(vh, (OU() + 1).toString()), function() { var e = OU() - 1; e <= 0 ? document.body.removeAttribute(vh) : document.body.setAttribute(vh, e.toString()); }; }, []); }, fze = function(e) { var t = e.noRelative, r = e.noImportant, n = e.gapMode, o = n === void 0 ? "margin" : n; uze(); var a = V.useMemo(function() { return sze(o); }, [o]); return V.createElement(lze, { styles: cze(a, !t, o, r ? "" : "!important") }); }, BN = !1; if (typeof window < "u") try { var Dw = Object.defineProperty({}, "passive", { get: function() { return BN = !0, !0; } }); window.addEventListener("test", Dw, Dw), window.removeEventListener("test", Dw, Dw); } catch { BN = !1; } var ig = BN ? { passive: !1 } : !1, dze = function(e) { return e.tagName === "TEXTAREA"; }, Zle = function(e, t) { if (!(e instanceof Element)) return !1; var r = window.getComputedStyle(e); return ( // not-not-scrollable r[t] !== "hidden" && // contains scroll inside self !(r.overflowY === r.overflowX && !dze(e) && r[t] === "visible") ); }, pze = function(e) { return Zle(e, "overflowY"); }, mze = function(e) { return Zle(e, "overflowX"); }, SU = function(e, t) { var r = t.ownerDocument, n = t; do { typeof ShadowRoot < "u" && n instanceof ShadowRoot && (n = n.host); var o = ece(e, n); if (o) { var a = tce(e, n), i = a[1], s = a[2]; if (i > s) return !0; } n = n.parentNode; } while (n && n !== r.body); return !1; }, gze = function(e) { var t = e.scrollTop, r = e.scrollHeight, n = e.clientHeight; return [ t, r, n ]; }, hze = function(e) { var t = e.scrollLeft, r = e.scrollWidth, n = e.clientWidth; return [ t, r, n ]; }, ece = function(e, t) { return e === "v" ? pze(t) : mze(t); }, tce = function(e, t) { return e === "v" ? gze(t) : hze(t); }, bze = function(e, t) { return e === "h" && t === "rtl" ? -1 : 1; }, yze = function(e, t, r, n, o) { var a = bze(e, window.getComputedStyle(t).direction), i = a * n, s = r.target, l = t.contains(s), c = !1, u = i > 0, f = 0, p = 0; do { if (!s) break; var v = tce(e, s), w = v[0], b = v[1], m = v[2], x = b - m - a * w; (w || x) && ece(e, s) && (f += x, p += w); var O = s.parentNode; s = O && O.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? O.host : O; } while ( // portaled content !l && s !== document.body || // self content l && (t.contains(s) || t === s) ); return (u && Math.abs(f) < 1 || !u && Math.abs(p) < 1) && (c = !0), c; }, Fw = function(e) { return "changedTouches" in e ? [e.changedTouches[0].clientX, e.changedTouches[0].clientY] : [0, 0]; }, EU = function(e) { return [e.deltaX, e.deltaY]; }, AU = function(e) { return e && "current" in e ? e.current : e; }, vze = function(e, t) { return e[0] === t[0] && e[1] === t[1]; }, xze = function(e) { return ` .block-interactivity-`.concat(e, ` {pointer-events: none;} .allow-interactivity-`).concat(e, ` {pointer-events: all;} `); }, wze = 0, sg = []; function kze(e) { var t = V.useRef([]), r = V.useRef([0, 0]), n = V.useRef(), o = V.useState(wze++)[0], a = V.useState(Qle)[0], i = V.useRef(e); V.useEffect(function() { i.current = e; }, [e]), V.useEffect(function() { if (e.inert) { document.body.classList.add("block-interactivity-".concat(o)); var b = GTe([e.lockRef.current], (e.shards || []).map(AU)).filter(Boolean); return b.forEach(function(m) { return m.classList.add("allow-interactivity-".concat(o)); }), function() { document.body.classList.remove("block-interactivity-".concat(o)), b.forEach(function(m) { return m.classList.remove("allow-interactivity-".concat(o)); }); }; } }, [e.inert, e.lockRef.current, e.shards]); var s = V.useCallback(function(b, m) { if ("touches" in b && b.touches.length === 2 || b.type === "wheel" && b.ctrlKey) return !i.current.allowPinchZoom; var x = Fw(b), O = r.current, E = "deltaX" in b ? b.deltaX : O[0] - x[0], A = "deltaY" in b ? b.deltaY : O[1] - x[1], h, G = b.target, H = Math.abs(E) > Math.abs(A) ? "h" : "v"; if ("touches" in b && H === "h" && G.type === "range") return !1; var Z = SU(H, G); if (!Z) return !0; if (Z ? h = H : (h = H === "v" ? "h" : "v", Z = SU(H, G)), !Z) return !1; if (!n.current && "changedTouches" in b && (E || A) && (n.current = h), !h) return !0; var J = n.current || h; return yze(J, m, b, J === "h" ? E : A); }, []), l = V.useCallback(function(b) { var m = b; if (!(!sg.length || sg[sg.length - 1] !== a)) { var x = "deltaY" in m ? EU(m) : Fw(m), O = t.current.filter(function(h) { return h.name === m.type && (h.target === m.target || m.target === h.shadowParent) && vze(h.delta, x); })[0]; if (O && O.should) { m.cancelable && m.preventDefault(); return; } if (!O) { var E = (i.current.shards || []).map(AU).filter(Boolean).filter(function(h) { return h.contains(m.target); }), A = E.length > 0 ? s(m, E[0]) : !i.current.noIsolation; A && m.cancelable && m.preventDefault(); } } }, []), c = V.useCallback(function(b, m, x, O) { var E = { name: b, delta: m, target: x, should: O, shadowParent: Oze(x) }; t.current.push(E), setTimeout(function() { t.current = t.current.filter(function(A) { return A !== E; }); }, 1); }, []), u = V.useCallback(function(b) { r.current = Fw(b), n.current = void 0; }, []), f = V.useCallback(function(b) { c(b.type, EU(b), b.target, s(b, e.lockRef.current)); }, []), p = V.useCallback(function(b) { c(b.type, Fw(b), b.target, s(b, e.lockRef.current)); }, []); V.useEffect(function() { return sg.push(a), e.setCallbacks({ onScrollCapture: f, onWheelCapture: f, onTouchMoveCapture: p }), document.addEventListener("wheel", l, ig), document.addEventListener("touchmove", l, ig), document.addEventListener("touchstart", u, ig), function() { sg = sg.filter(function(b) { return b !== a; }), document.removeEventListener("wheel", l, ig), document.removeEventListener("touchmove", l, ig), document.removeEventListener("touchstart", u, ig); }; }, []); var v = e.removeScrollBar, w = e.inert; return V.createElement( V.Fragment, null, w ? V.createElement(a, { styles: xze(o) }) : null, v ? V.createElement(fze, { noRelative: e.noRelative, gapMode: e.gapMode }) : null ); } function Oze(e) { for (var t = null; e !== null; ) e instanceof ShadowRoot && (t = e.host, e = e.host), e = e.parentNode; return t; } const Sze = QTe(Jle, kze); var rce = V.forwardRef(function(e, t) { return V.createElement(gS, is({}, e, { ref: t, sideCar: Sze })); }); rce.classNames = gS.classNames; var Eze = function(e) { if (typeof document > "u") return null; var t = Array.isArray(e) ? e[0] : e; return t.ownerDocument.body; }, lg = /* @__PURE__ */ new WeakMap(), Lw = /* @__PURE__ */ new WeakMap(), Vw = {}, n6 = 0, nce = function(e) { return e && (e.host || nce(e.parentNode)); }, Aze = function(e, t) { return t.map(function(r) { if (e.contains(r)) return r; var n = nce(r); return n && e.contains(n) ? n : (console.error("aria-hidden", r, "in not contained inside", e, ". Doing nothing"), null); }).filter(function(r) { return !!r; }); }, $ze = function(e, t, r, n) { var o = Aze(t, Array.isArray(e) ? e : [e]); Vw[r] || (Vw[r] = /* @__PURE__ */ new WeakMap()); var a = Vw[r], i = [], s = /* @__PURE__ */ new Set(), l = new Set(o), c = function(f) { !f || s.has(f) || (s.add(f), c(f.parentNode)); }; o.forEach(c); var u = function(f) { !f || l.has(f) || Array.prototype.forEach.call(f.children, function(p) { if (s.has(p)) u(p); else try { var v = p.getAttribute(n), w = v !== null && v !== "false", b = (lg.get(p) || 0) + 1, m = (a.get(p) || 0) + 1; lg.set(p, b), a.set(p, m), i.push(p), b === 1 && w && Lw.set(p, !0), m === 1 && p.setAttribute(r, "true"), w || p.setAttribute(n, "true"); } catch (x) { console.error("aria-hidden: cannot operate on ", p, x); } }); }; return u(t), s.clear(), n6++, function() { i.forEach(function(f) { var p = lg.get(f) - 1, v = a.get(f) - 1; lg.set(f, p), a.set(f, v), p || (Lw.has(f) || f.removeAttribute(n), Lw.delete(f)), v || f.removeAttribute(r); }), n6--, n6 || (lg = /* @__PURE__ */ new WeakMap(), lg = /* @__PURE__ */ new WeakMap(), Lw = /* @__PURE__ */ new WeakMap(), Vw = {}); }; }, Pze = function(e, t, r) { r === void 0 && (r = "data-aria-hidden"); var n = Array.from(Array.isArray(e) ? e : [e]), o = Eze(e); return o ? (n.push.apply(n, Array.from(o.querySelectorAll("[aria-live], script"))), $ze(n, o, r, "aria-hidden")) : function() { return null; }; }, hS = "Dialog", [oce, I6t] = lTe(hS), [Cze, Mi] = oce(hS), ace = (e) => { const { __scopeDialog: t, children: r, open: n, defaultOpen: o, onOpenChange: a, modal: i = !0 } = e, s = V.useRef(null), l = V.useRef(null), [c, u] = pTe({ prop: n, defaultProp: o ?? !1, onChange: a, caller: hS }); return /* @__PURE__ */ B( Cze, { scope: t, triggerRef: s, contentRef: l, contentId: KE(), titleId: KE(), descriptionId: KE(), open: c, onOpenChange: u, onOpenToggle: V.useCallback(() => u((f) => !f), [u]), modal: i, children: r } ); }; ace.displayName = hS; var ice = "DialogTrigger", Nze = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = Mi(ice, r), a = Xm(t, o.triggerRef); return /* @__PURE__ */ B( Js.button, { type: "button", "aria-haspopup": "dialog", "aria-expanded": o.open, "aria-controls": o.contentId, "data-state": QM(o.open), ...n, ref: a, onClick: bf(e.onClick, o.onOpenToggle) } ); } ); Nze.displayName = ice; var KM = "DialogPortal", [_ze, sce] = oce(KM, { forceMount: void 0 }), lce = (e) => { const { __scopeDialog: t, forceMount: r, children: n, container: o } = e, a = Mi(KM, t); return /* @__PURE__ */ B(_ze, { scope: t, forceMount: r, children: V.Children.map(n, (i) => /* @__PURE__ */ B(mS, { present: r || a.open, children: /* @__PURE__ */ B(qle, { asChild: !0, container: o, children: i }) })) }); }; lce.displayName = KM; var k5 = "DialogOverlay", cce = V.forwardRef( (e, t) => { const r = sce(k5, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = Mi(k5, e.__scopeDialog); return a.modal ? /* @__PURE__ */ B(mS, { present: n || a.open, children: /* @__PURE__ */ B(Ize, { ...o, ref: t }) }) : null; } ); cce.displayName = k5; var jze = /* @__PURE__ */ Wle("DialogOverlay.RemoveScroll"), Ize = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = Mi(k5, r); return ( // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll` // ie. when `Overlay` and `Content` are siblings /* @__PURE__ */ B(rce, { as: jze, allowPinchZoom: !0, shards: [o.contentRef], children: /* @__PURE__ */ B( Js.div, { "data-state": QM(o.open), ...n, ref: t, style: { pointerEvents: "auto", ...n.style } } ) }) ); } ), hm = "DialogContent", uce = V.forwardRef( (e, t) => { const r = sce(hm, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = Mi(hm, e.__scopeDialog); return /* @__PURE__ */ B(mS, { present: n || a.open, children: a.modal ? /* @__PURE__ */ B(Rze, { ...o, ref: t }) : /* @__PURE__ */ B(Mze, { ...o, ref: t }) }); } ); uce.displayName = hm; var Rze = V.forwardRef( (e, t) => { const r = Mi(hm, e.__scopeDialog), n = V.useRef(null), o = Xm(t, r.contentRef, n); return V.useEffect(() => { const a = n.current; if (a) return Pze(a); }, []), /* @__PURE__ */ B( fce, { ...e, ref: o, trapFocus: r.open, disableOutsidePointerEvents: !0, onCloseAutoFocus: bf(e.onCloseAutoFocus, (a) => { var i; a.preventDefault(), (i = r.triggerRef.current) == null || i.focus(); }), onPointerDownOutside: bf(e.onPointerDownOutside, (a) => { const i = a.detail.originalEvent, s = i.button === 0 && i.ctrlKey === !0; (i.button === 2 || s) && a.preventDefault(); }), onFocusOutside: bf( e.onFocusOutside, (a) => a.preventDefault() ) } ); } ), Mze = V.forwardRef( (e, t) => { const r = Mi(hm, e.__scopeDialog), n = V.useRef(!1), o = V.useRef(!1); return /* @__PURE__ */ B( fce, { ...e, ref: t, trapFocus: !1, disableOutsidePointerEvents: !1, onCloseAutoFocus: (a) => { var i, s; (i = e.onCloseAutoFocus) == null || i.call(e, a), a.defaultPrevented || (n.current || (s = r.triggerRef.current) == null || s.focus(), a.preventDefault()), n.current = !1, o.current = !1; }, onInteractOutside: (a) => { var i, s; (i = e.onInteractOutside) == null || i.call(e, a), a.defaultPrevented || (n.current = !0, a.detail.originalEvent.type === "pointerdown" && (o.current = !0)); const l = a.target; (s = r.triggerRef.current) != null && s.contains(l) && a.preventDefault(), a.detail.originalEvent.type === "focusin" && o.current && a.preventDefault(); } } ); } ), fce = V.forwardRef( (e, t) => { const { __scopeDialog: r, trapFocus: n, onOpenAutoFocus: o, onCloseAutoFocus: a, ...i } = e, s = Mi(hm, r), l = V.useRef(null), c = Xm(t, l); return WTe(), /* @__PURE__ */ me(ht, { children: [ /* @__PURE__ */ B( Yle, { asChild: !0, loop: !0, trapped: n, onMountAutoFocus: o, onUnmountAutoFocus: a, children: /* @__PURE__ */ B( Ule, { role: "dialog", id: s.contentId, "aria-describedby": s.descriptionId, "aria-labelledby": s.titleId, "data-state": QM(s.open), ...i, ref: c, onDismiss: () => s.onOpenChange(!1) } ) } ), /* @__PURE__ */ me(ht, { children: [ /* @__PURE__ */ B(zze, { titleId: s.titleId }), /* @__PURE__ */ B(Fze, { contentRef: l, descriptionId: s.descriptionId }) ] }) ] }); } ), JM = "DialogTitle", dce = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = Mi(JM, r); return /* @__PURE__ */ B(Js.h2, { id: o.titleId, ...n, ref: t }); } ); dce.displayName = JM; var pce = "DialogDescription", mce = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = Mi(pce, r); return /* @__PURE__ */ B(Js.p, { id: o.descriptionId, ...n, ref: t }); } ); mce.displayName = pce; var gce = "DialogClose", Tze = V.forwardRef( (e, t) => { const { __scopeDialog: r, ...n } = e, o = Mi(gce, r); return /* @__PURE__ */ B( Js.button, { type: "button", ...n, ref: t, onClick: bf(e.onClick, () => o.onOpenChange(!1)) } ); } ); Tze.displayName = gce; function QM(e) { return e ? "open" : "closed"; } var hce = "DialogTitleWarning", [R6t, bce] = sTe(hce, { contentName: hm, titleName: JM, docsSlug: "dialog" }), zze = ({ titleId: e }) => { const t = bce(hce), r = `\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users. If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component. For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`; return V.useEffect(() => { e && (document.getElementById(e) || console.error(r)); }, [r, e]), null; }, Dze = "DialogDescriptionWarning", Fze = ({ contentRef: e, descriptionId: t }) => { const r = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${bce(Dze).contentName}}.`; return V.useEffect(() => { var n; const o = (n = e.current) == null ? void 0 : n.getAttribute("aria-describedby"); t && o && (document.getElementById(t) || console.warn(r)); }, [r, e, t]), null; }, Lze = ace, Vze = lce, Wze = cce, Gze = uce, $U = dce, Uze = mce; const ZM = "-", Hze = (e) => { const t = Bze(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(ZM); return a[0] === "" && a.length !== 1 && a.shift(), yce(a, t) || Yze(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, yce = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? yce(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(ZM); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, PU = /^\[(.+)\]$/, Yze = (e) => { if (PU.test(e)) { const t = PU.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, Bze = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return Xze(Object.entries(e.classGroups), r).forEach(([o, a]) => { qN(a, n, o, t); }), n; }, qN = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : CU(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (qze(o)) { qN(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { qN(i, CU(t, a), r, n); }); }); }, CU = (e, t) => { let r = e; return t.split(ZM).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, qze = (e) => e.isThemeGetter, Xze = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, Kze = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, vce = "!", Jze = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(vce), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, Qze = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, Zze = (e) => ({ cache: Kze(e.cacheSize), parseClassName: Jze(e), ...Hze(e) }), e8e = /\s+/, t8e = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(e8e); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = Qze(u).join(":"), x = f ? m + vce : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function r8e() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = xce(t)) && (n && (n += " "), n += r); return n; } const xce = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = xce(e[n])) && (r && (r += " "), r += t); return r; }; function n8e(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = Zze(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = t8e(l, r); return o(l, u), u; } return function() { return a(r8e.apply(null, arguments)); }; } const pn = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, wce = /^\[(?:([a-z-]+):)?(.+)\]$/i, o8e = /^\d+\/\d+$/, a8e = /* @__PURE__ */ new Set(["px", "full", "screen"]), i8e = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, s8e = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, l8e = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, c8e = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, u8e = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, al = (e) => xh(e) || a8e.has(e) || o8e.test(e), eu = (e) => Tb(e, "length", y8e), xh = (e) => !!e && !Number.isNaN(Number(e)), o6 = (e) => Tb(e, "number", xh), My = (e) => !!e && Number.isInteger(Number(e)), f8e = (e) => e.endsWith("%") && xh(e.slice(0, -1)), $t = (e) => wce.test(e), tu = (e) => i8e.test(e), d8e = /* @__PURE__ */ new Set(["length", "size", "percentage"]), p8e = (e) => Tb(e, d8e, kce), m8e = (e) => Tb(e, "position", kce), g8e = /* @__PURE__ */ new Set(["image", "url"]), h8e = (e) => Tb(e, g8e, x8e), b8e = (e) => Tb(e, "", v8e), Ty = () => !0, Tb = (e, t, r) => { const n = wce.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, y8e = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. s8e.test(e) && !l8e.test(e) ), kce = () => !1, v8e = (e) => c8e.test(e), x8e = (e) => u8e.test(e), w8e = () => { const e = pn("colors"), t = pn("spacing"), r = pn("blur"), n = pn("brightness"), o = pn("borderColor"), a = pn("borderRadius"), i = pn("borderSpacing"), s = pn("borderWidth"), l = pn("contrast"), c = pn("grayscale"), u = pn("hueRotate"), f = pn("invert"), p = pn("gap"), v = pn("gradientColorStops"), w = pn("gradientColorStopPositions"), b = pn("inset"), m = pn("margin"), x = pn("opacity"), O = pn("padding"), E = pn("saturate"), A = pn("scale"), h = pn("sepia"), G = pn("skew"), H = pn("space"), Z = pn("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", $t, t], I = () => [$t, t], te = () => ["", al, eu], U = () => ["auto", xh, $t], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", $t], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [xh, $t]; return { cacheSize: 500, separator: ":", theme: { colors: [Ty], spacing: [al, eu], blur: ["none", "", tu, $t], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", tu, $t], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [f8e, eu], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", $t] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [tu] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), $t] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", My, $t] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", $t] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", My, $t] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [Ty] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", My, $t] }, $t] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [Ty] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [My, $t] }, $t] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", $t] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", $t] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", $t, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [$t, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [$t, t, "none", "full", "min", "max", "fit", "prose", { screen: [tu] }, tu] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [$t, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [$t, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [$t, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [$t, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", tu, eu] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", o6] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [Ty] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", $t] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", xh, o6] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", al, $t] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", $t] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", $t] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", al, eu] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", al, $t] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", $t] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", $t] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), m8e] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", p8e] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, h8e] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [al, $t] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [al, eu] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [al, eu] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", tu, b8e] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [Ty] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", tu, $t] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", $t] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", $t] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", $t] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [My, $t] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", $t] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", $t] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", $t] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [al, eu, o6] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, g1 = /* @__PURE__ */ n8e(w8e); /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function k8e(e, t, r) { return (t = S8e(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function NU(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function $e(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? NU(Object(r), !0).forEach(function(n) { k8e(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : NU(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function O8e(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function S8e(e) { var t = O8e(e, "string"); return typeof t == "symbol" ? t : t + ""; } const _U = () => { }; let eT = {}, Oce = {}, Sce = null, Ece = { mark: _U, measure: _U }; try { typeof window < "u" && (eT = window), typeof document < "u" && (Oce = document), typeof MutationObserver < "u" && (Sce = MutationObserver), typeof performance < "u" && (Ece = performance); } catch { } const { userAgent: jU = "" } = eT.navigator || {}, zf = eT, Mn = Oce, IU = Sce, Ww = Ece; zf.document; const Oc = !!Mn.documentElement && !!Mn.head && typeof Mn.addEventListener == "function" && typeof Mn.createElement == "function", Ace = ~jU.indexOf("MSIE") || ~jU.indexOf("Trident/"); var E8e = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, A8e = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, $ce = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, $8e = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, Pce = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Eo = "classic", bS = "duotone", P8e = "sharp", C8e = "sharp-duotone", Cce = [Eo, bS, P8e, C8e], N8e = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, _8e = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, j8e = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), I8e = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, R8e = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], RU = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, M8e = ["kit"], T8e = { kit: { "fa-kit": "fak" } }, z8e = ["fak", "fakd"], D8e = { kit: { fak: "fa-kit" } }, MU = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, Gw = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, F8e = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], L8e = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], V8e = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, W8e = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, G8e = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, XN = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, U8e = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], KN = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...F8e, ...U8e], H8e = ["solid", "regular", "light", "thin", "duotone", "brands"], Nce = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], Y8e = Nce.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), B8e = [...Object.keys(G8e), ...H8e, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", Gw.GROUP, Gw.SWAP_OPACITY, Gw.PRIMARY, Gw.SECONDARY].concat(Nce.map((e) => "".concat(e, "x"))).concat(Y8e.map((e) => "w-".concat(e))), q8e = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const Ul = "___FONT_AWESOME___", JN = 16, _ce = "fa", jce = "svg-inline--fa", bm = "data-fa-i2svg", QN = "data-fa-pseudo-element", X8e = "data-fa-pseudo-element-pending", tT = "data-prefix", rT = "data-icon", TU = "fontawesome-i2svg", K8e = "async", J8e = ["HTML", "HEAD", "STYLE", "SCRIPT"], Ice = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function Px(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[Eo]; } }); } const Rce = $e({}, $ce); Rce[Eo] = $e($e($e($e({}, { "fa-duotone": "duotone" }), $ce[Eo]), RU.kit), RU["kit-duotone"]); const Q8e = Px(Rce), ZN = $e({}, I8e); ZN[Eo] = $e($e($e($e({}, { duotone: "fad" }), ZN[Eo]), MU.kit), MU["kit-duotone"]); const zU = Px(ZN), e_ = $e({}, XN); e_[Eo] = $e($e({}, e_[Eo]), D8e.kit); const nT = Px(e_), t_ = $e({}, W8e); t_[Eo] = $e($e({}, t_[Eo]), T8e.kit); Px(t_); const Z8e = E8e, Mce = "fa-layers-text", eDe = A8e, tDe = $e({}, N8e); Px(tDe); const rDe = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], a6 = $8e, nDe = [...M8e, ...B8e], h1 = zf.FontAwesomeConfig || {}; function oDe(e) { var t = Mn.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function aDe(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } Mn && typeof Mn.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => { let [t, r] = e; const n = aDe(oDe(t)); n != null && (h1[r] = n); }); const Tce = { styleDefault: "solid", familyDefault: Eo, cssPrefix: _ce, replacementClass: jce, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; h1.familyPrefix && (h1.cssPrefix = h1.familyPrefix); const ib = $e($e({}, Tce), h1); ib.autoReplaceSvg || (ib.observeMutations = !1); const et = {}; Object.keys(Tce).forEach((e) => { Object.defineProperty(et, e, { enumerable: !0, set: function(t) { ib[e] = t, b1.forEach((r) => r(et)); }, get: function() { return ib[e]; } }); }); Object.defineProperty(et, "familyPrefix", { enumerable: !0, set: function(e) { ib.cssPrefix = e, b1.forEach((t) => t(et)); }, get: function() { return ib.cssPrefix; } }); zf.FontAwesomeConfig = et; const b1 = []; function iDe(e) { return b1.push(e), () => { b1.splice(b1.indexOf(e), 1); }; } const ru = JN, bs = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function sDe(e) { if (!e || !Oc) return; const t = Mn.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = Mn.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return Mn.head.insertBefore(t, n), e; } const lDe = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function C0() { let e = 12, t = ""; for (; e-- > 0; ) t += lDe[Math.random() * 62 | 0]; return t; } function zb(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function oT(e) { return e.classList ? zb(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function zce(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function cDe(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(zce(e[r]), '" '), "").trim(); } function yS(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function aT(e) { return e.size !== bs.size || e.x !== bs.x || e.y !== bs.y || e.rotate !== bs.rotate || e.flipX || e.flipY; } function uDe(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), l = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: l, path: c }; } function fDe(e) { let { transform: t, width: r = JN, height: n = JN, startCentered: o = !1 } = e, a = ""; return o && Ace ? a += "translate(".concat(t.x / ru - r / 2, "em, ").concat(t.y / ru - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / ru, "em), calc(-50% + ").concat(t.y / ru, "em)) ") : a += "translate(".concat(t.x / ru, "em, ").concat(t.y / ru, "em) "), a += "scale(".concat(t.size / ru * (t.flipX ? -1 : 1), ", ").concat(t.size / ru * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var dDe = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function Dce() { const e = _ce, t = jce, r = et.cssPrefix, n = et.replacementClass; let o = dDe; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let DU = !1; function i6() { et.autoAddCss && !DU && (sDe(Dce()), DU = !0); } var pDe = { mixout() { return { dom: { css: Dce, insertCss: i6 } }; }, hooks() { return { beforeDOMElementCreation() { i6(); }, beforeI2svg() { i6(); } }; } }; const Hl = zf || {}; Hl[Ul] || (Hl[Ul] = {}); Hl[Ul].styles || (Hl[Ul].styles = {}); Hl[Ul].hooks || (Hl[Ul].hooks = {}); Hl[Ul].shims || (Hl[Ul].shims = []); var ys = Hl[Ul]; const Fce = [], Lce = function() { Mn.removeEventListener("DOMContentLoaded", Lce), O5 = 1, Fce.map((e) => e()); }; let O5 = !1; Oc && (O5 = (Mn.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Mn.readyState), O5 || Mn.addEventListener("DOMContentLoaded", Lce)); function mDe(e) { Oc && (O5 ? setTimeout(e, 0) : Fce.push(e)); } function Cx(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? zce(e) : "<".concat(t, " ").concat(cDe(r), ">").concat(n.map(Cx).join(""), ""); } function FU(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var s6 = function(e, t, r, n) { var o = Object.keys(e), a = o.length, i = t, s, l, c; for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++) l = o[s], c = i(c, e[l], l, e); return c; }; function gDe(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function Vce(e) { const t = gDe(e); return t.length === 1 ? t[0].toString(16) : null; } function hDe(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function LU(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function r_(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = LU(t); typeof ys.hooks.addPack == "function" && !n ? ys.hooks.addPack(e, LU(t)) : ys.styles[e] = $e($e({}, ys.styles[e] || {}), o), e === "fas" && r_("fa", t); } const { styles: N0, shims: bDe } = ys, Wce = Object.keys(nT), yDe = Wce.reduce((e, t) => (e[t] = Object.keys(nT[t]), e), {}); let iT = null, Gce = {}, Uce = {}, Hce = {}, Yce = {}, Bce = {}; function vDe(e) { return ~nDe.indexOf(e); } function xDe(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !vDe(o) ? o : null; } const qce = () => { const e = (n) => s6(N0, (o, a, i) => (o[i] = s6(a, n, {}), o), {}); Gce = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => { n[i.toString(16)] = a; }), n)), Uce = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => { n[i] = a; }), n)), Bce = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in N0 || et.autoFetchSvg, r = s6(bDe, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); Hce = r.names, Yce = r.unicodes, iT = vS(et.styleDefault, { family: et.familyDefault }); }; iDe((e) => { iT = vS(e.styleDefault, { family: et.familyDefault }); }); qce(); function sT(e, t) { return (Gce[e] || {})[t]; } function wDe(e, t) { return (Uce[e] || {})[t]; } function Rp(e, t) { return (Bce[e] || {})[t]; } function Xce(e) { return Hce[e] || { prefix: null, iconName: null }; } function kDe(e) { const t = Yce[e], r = sT("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function Df() { return iT; } const Kce = () => ({ prefix: null, iconName: null, rest: [] }); function ODe(e) { let t = Eo; const r = Wce.reduce((n, o) => (n[o] = "".concat(et.cssPrefix, "-").concat(o), n), {}); return Cce.forEach((n) => { (e.includes(r[n]) || e.some((o) => yDe[n].includes(o))) && (t = n); }), t; } function vS(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = Eo } = t, n = Q8e[r][e]; if (r === bS && !e) return "fad"; const o = zU[r][e] || zU[r][n], a = e in ys.styles ? e : null; return o || a || null; } function SDe(e) { let t = [], r = null; return e.forEach((n) => { const o = xDe(et.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function VU(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function xS(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = KN.concat(L8e), a = VU(e.filter((f) => o.includes(f))), i = VU(e.filter((f) => !KN.includes(f))), s = a.filter((f) => (n = f, !Pce.includes(f))), [l = null] = s, c = ODe(a), u = $e($e({}, SDe(i)), {}, { prefix: vS(l, { family: c }) }); return $e($e($e({}, u), PDe({ values: e, family: c, styles: N0, config: et, canonical: u, givenPrefix: n })), EDe(r, n, u)); } function EDe(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? Xce(o) : {}, i = Rp(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !N0.far && N0.fas && !et.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const ADe = Cce.filter((e) => e !== Eo || e !== bS), $De = Object.keys(XN).filter((e) => e !== Eo).map((e) => Object.keys(XN[e])).flat(); function PDe(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === bS, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && ADe.includes(r) && (Object.keys(a).find((f) => $De.includes(f)) || i.autoFetchSvg)) { const f = j8e.get(r).defaultShortPrefixId; n.prefix = f, n.iconName = Rp(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = Df() || "fas"), n; } class CDe { constructor() { this.definitions = {}; } add() { for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++) r[n] = arguments[n]; const o = r.reduce(this._pullDefinitions, {}); Object.keys(o).forEach((a) => { this.definitions[a] = $e($e({}, this.definitions[a] || {}), o[a]), r_(a, o[a]); const i = nT[Eo][a]; i && r_(i, o[a]), qce(); }); } reset() { this.definitions = {}; } _pullDefinitions(t, r) { const n = r.prefix && r.iconName && r.icon ? { 0: r } : r; return Object.keys(n).map((o) => { const { prefix: a, iconName: i, icon: s } = n[o], l = s[2]; t[a] || (t[a] = {}), l.length > 0 && l.forEach((c) => { typeof c == "string" && (t[a][c] = s); }), t[a][i] = s; }), t; } } let WU = [], _g = {}; const wh = {}, NDe = Object.keys(wh); function _De(e, t) { let { mixoutsTo: r } = t; return WU = e, _g = {}, Object.keys(wh).forEach((n) => { NDe.indexOf(n) === -1 && delete wh[n]; }), WU.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { _g[i] || (_g[i] = []), _g[i].push(a[i]); }); } n.provides && n.provides(wh); }), r; } function n_(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (_g[e] || []).forEach((a) => { t = a.apply(null, [t, ...n]); }), t; } function ym(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (_g[e] || []).forEach((o) => { o.apply(null, r); }); } function Ff() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return wh[e] ? wh[e].apply(null, t) : void 0; } function o_(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || Df(); if (t) return t = Rp(r, t) || t, FU(Jce.definitions, r, t) || FU(ys.styles, r, t); } const Jce = new CDe(), jDe = () => { et.autoReplaceSvg = !1, et.observeMutations = !1, ym("noAuto"); }, IDe = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return Oc ? (ym("beforeI2svg", e), Ff("pseudoElements2svg", e), Ff("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; et.autoReplaceSvg === !1 && (et.autoReplaceSvg = !0), et.observeMutations = !0, mDe(() => { MDe({ autoReplaceSvgRoot: t }), ym("watch", e); }); } }, RDe = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: Rp(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = vS(e[0]); return { prefix: r, iconName: Rp(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(et.cssPrefix, "-")) > -1 || e.match(Z8e))) { const t = xS(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || Df(), iconName: Rp(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = Df(); return { prefix: t, iconName: Rp(t, e) || e }; } } }, ka = { noAuto: jDe, config: et, dom: IDe, parse: RDe, library: Jce, findIconDefinition: o_, toHtml: Cx }, MDe = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = Mn } = e; (Object.keys(ys.styles).length > 0 || et.autoFetchSvg) && Oc && et.autoReplaceSvg && ka.dom.i2svg({ node: t }); }; function wS(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => Cx(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!Oc) return; const r = Mn.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function TDe(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (aT(i) && r.found && !n.found) { const { width: s, height: l } = r, c = { x: s / l / 2, y: 0.5 }; o.style = yS($e($e({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function zDe(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(et.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: $e($e({}, o), {}, { id: i }), children: n }] }]; } function lT(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: l, titleId: c, extra: u, watchable: f = !1 } = e, { width: p, height: v } = r.found ? r : t, w = z8e.includes(n), b = [et.replacementClass, o ? "".concat(et.cssPrefix, "-").concat(o) : ""].filter((h) => u.classes.indexOf(h) === -1).filter((h) => h !== "" || !!h).concat(u.classes).join(" "); let m = { children: [], attributes: $e($e({}, u.attributes), {}, { "data-prefix": n, "data-icon": o, class: b, role: u.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(p, " ").concat(v) }) }; const x = w && !~u.classes.indexOf("fa-fw") ? { width: "".concat(p / v * 16 * 0.0625, "em") } : {}; f && (m.attributes[bm] = ""), s && (m.children.push({ tag: "title", attributes: { id: m.attributes["aria-labelledby"] || "title-".concat(c || C0()) }, children: [s] }), delete m.attributes.title); const O = $e($e({}, m), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: l, transform: a, symbol: i, styles: $e($e({}, x), u.styles) }), { children: E, attributes: A } = r.found && t.found ? Ff("generateAbstractMask", O) || { children: [], attributes: {} } : Ff("generateAbstractIcon", O) || { children: [], attributes: {} }; return O.children = E, O.attributes = A, i ? zDe(O) : TDe(O); } function GU(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, l = $e($e($e({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (l[bm] = ""); const c = $e({}, i.styles); aT(o) && (c.transform = fDe({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const u = yS(c); u.length > 0 && (l.style = u); const f = []; return f.push({ tag: "span", attributes: l, children: [t] }), a && f.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), f; } function DDe(e) { const { content: t, title: r, extra: n } = e, o = $e($e($e({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = yS(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: l6 } = ys; function a_(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(et.cssPrefix, "-").concat(a6.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(et.cssPrefix, "-").concat(a6.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(et.cssPrefix, "-").concat(a6.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const FDe = { found: !1, width: 512, height: 512 }; function LDe(e, t) { !Ice && !et.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function i_(e, t) { let r = t; return t === "fa" && et.styleDefault !== null && (t = Df()), new Promise((n, o) => { if (r === "fa") { const a = Xce(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && l6[t] && l6[t][e]) { const a = l6[t][e]; return n(a_(a)); } LDe(e, t), n($e($e({}, FDe), {}, { icon: et.showMissingIcons && e ? Ff("missingIconAbstract") || {} : {} })); }); } const UU = () => { }, s_ = et.measurePerformance && Ww && Ww.mark && Ww.measure ? Ww : { mark: UU, measure: UU }, Iv = 'FA "6.7.2"', VDe = (e) => (s_.mark("".concat(Iv, " ").concat(e, " begins")), () => Qce(e)), Qce = (e) => { s_.mark("".concat(Iv, " ").concat(e, " ends")), s_.measure("".concat(Iv, " ").concat(e), "".concat(Iv, " ").concat(e, " begins"), "".concat(Iv, " ").concat(e, " ends")); }; var cT = { begin: VDe, end: Qce }; const ck = () => { }; function HU(e) { return typeof (e.getAttribute ? e.getAttribute(bm) : null) == "string"; } function WDe(e) { const t = e.getAttribute ? e.getAttribute(tT) : null, r = e.getAttribute ? e.getAttribute(rT) : null; return t && r; } function GDe(e) { return e && e.classList && e.classList.contains && e.classList.contains(et.replacementClass); } function UDe() { return et.autoReplaceSvg === !0 ? uk.replace : uk[et.autoReplaceSvg] || uk.replace; } function HDe(e) { return Mn.createElementNS("http://www.w3.org/2000/svg", e); } function YDe(e) { return Mn.createElement(e); } function Zce(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? HDe : YDe } = t; if (typeof e == "string") return Mn.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(o) { n.setAttribute(o, e.attributes[o]); }), (e.children || []).forEach(function(o) { n.appendChild(Zce(o, { ceFn: r })); }), n; } function BDe(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const uk = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(Zce(r), t); }), t.getAttribute(bm) === null && et.keepOriginalSource) { let r = Mn.createComment(BDe(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~oT(t).indexOf(et.replacementClass)) return uk.replace(e); const n = new RegExp("".concat(et.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === et.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => Cx(a)).join(` `); t.setAttribute(bm, ""), t.innerHTML = o; } }; function YU(e) { e(); } function eue(e, t) { const r = typeof t == "function" ? t : ck; if (e.length === 0) r(); else { let n = YU; et.mutateApproach === K8e && (n = zf.requestAnimationFrame || YU), n(() => { const o = UDe(), a = cT.begin("mutate"); e.map(o), a(), r(); }); } } let uT = !1; function tue() { uT = !0; } function l_() { uT = !1; } let S5 = null; function BU(e) { if (!IU || !et.observeMutations) return; const { treeCallback: t = ck, nodeCallback: r = ck, pseudoElementsCallback: n = ck, observeMutationsRoot: o = Mn } = e; S5 = new IU((a) => { if (uT) return; const i = Df(); zb(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !HU(s.addedNodes[0]) && (et.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && et.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && HU(s.target) && ~rDe.indexOf(s.attributeName)) if (s.attributeName === "class" && WDe(s.target)) { const { prefix: l, iconName: c } = xS(oT(s.target)); s.target.setAttribute(tT, l || i), c && s.target.setAttribute(rT, c); } else GDe(s.target) && r(s.target); }); }), Oc && S5.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function qDe() { S5 && S5.disconnect(); } function XDe(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function KDe(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = xS(oT(e)); return o.prefix || (o.prefix = Df()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = wDe(o.prefix, e.innerText) || sT(o.prefix, Vce(e.innerText))), !o.iconName && et.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function JDe(e) { const t = zb(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return et.autoA11y && (r ? t["aria-labelledby"] = "".concat(et.replacementClass, "-title-").concat(n || C0()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function QDe() { return { iconName: null, title: null, titleId: null, prefix: null, transform: bs, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function qU(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = KDe(e), a = JDe(e), i = n_("parseNodeAttributes", {}, e); let s = t.styleParser ? XDe(e) : []; return $e({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: bs, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: ZDe } = ys; function rue(e) { const t = et.autoReplaceSvg === "nest" ? qU(e, { styleParser: !1 }) : qU(e); return ~t.extra.classes.indexOf(Mce) ? Ff("generateLayersText", e, t) : Ff("generateSvgReplacementMutation", e, t); } function eFe() { return [...R8e, ...KN]; } function XU(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!Oc) return Promise.resolve(); const r = Mn.documentElement.classList, n = (u) => r.add("".concat(TU, "-").concat(u)), o = (u) => r.remove("".concat(TU, "-").concat(u)), a = et.autoFetchSvg ? eFe() : Pce.concat(Object.keys(ZDe)); a.includes("fa") || a.push("fa"); const i = [".".concat(Mce, ":not([").concat(bm, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(bm, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = zb(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const l = cT.begin("onTree"), c = s.reduce((u, f) => { try { const p = rue(f); p && u.push(p); } catch (p) { Ice || p.name === "MissingIcon" && console.error(p); } return u; }, []); return new Promise((u, f) => { Promise.all(c).then((p) => { eue(p, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u(); }); }).catch((p) => { l(), f(p); }); }); } function tFe(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; rue(e).then((r) => { r && eue([r], t); }); } function rFe(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : o_(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : o_(o || {})), e(n, $e($e({}, r), {}, { mask: o })); }; } const nFe = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = bs, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: l = [], attributes: c = {}, styles: u = {} } = t; if (!e) return; const { prefix: f, iconName: p, icon: v } = e; return wS($e({ type: "icon" }, e), () => (ym("beforeDOMElementCreation", { iconDefinition: e, params: t }), et.autoA11y && (i ? c["aria-labelledby"] = "".concat(et.replacementClass, "-title-").concat(s || C0()) : (c["aria-hidden"] = "true", c.focusable = "false")), lT({ icons: { main: a_(v), mask: o ? a_(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: f, iconName: p, transform: $e($e({}, bs), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: u, classes: l } }))); }; var oFe = { mixout() { return { icon: rFe(nFe) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = XU, e.nodeCallback = tFe, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = Mn, callback: n = () => { } } = t; return XU(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: l, mask: c, maskId: u, extra: f } = r; return new Promise((p, v) => { Promise.all([i_(n, i), c.iconName ? i_(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((w) => { let [b, m] = w; p([t, lT({ icons: { main: b, mask: m }, prefix: i, iconName: n, transform: s, symbol: l, maskId: u, title: o, titleId: a, extra: f, watchable: !0 })]); }).catch(v); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = yS(i); s.length > 0 && (n.style = s); let l; return aT(a) && (l = Ff("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(l || o.icon), { children: r, attributes: n }; }; } }, aFe = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return wS({ type: "layer" }, () => { ym("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(et.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, iFe = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return wS({ type: "counter", content: e }, () => (ym("beforeDOMElementCreation", { content: e, params: t }), DDe({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(et.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, sFe = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = bs, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return wS({ type: "text", content: e }, () => (ym("beforeDOMElementCreation", { content: e, params: t }), GU({ content: e, transform: $e($e({}, bs), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(et.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (Ace) { const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / l, s = c.height / l; } return et.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, GU({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const lFe = new RegExp('"', "ug"), KU = [1105920, 1112319], JU = $e($e($e($e({}, { FontAwesome: { normal: "fas", 400: "fas" } }), _8e), q8e), V8e), c_ = Object.keys(JU).reduce((e, t) => (e[t.toLowerCase()] = JU[t], e), {}), cFe = Object.keys(c_).reduce((e, t) => { const r = c_[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function uFe(e) { const t = e.replace(lFe, ""), r = hDe(t, 0), n = r >= KU[0] && r <= KU[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: Vce(o ? t[0] : t), isSecondary: n || o }; } function fFe(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return (c_[r] || {})[o] || cFe[r]; } function QU(e, t) { const r = "".concat(X8e).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const a = zb(e.children).filter((f) => f.getAttribute(QN) === t)[0], i = zf.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(eDe), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content"); if (a && !l) return e.removeChild(a), n(); if (l && u !== "none" && u !== "") { const f = i.getPropertyValue("content"); let p = fFe(s, c); const { value: v, isSecondary: w } = uFe(f), b = l[0].startsWith("FontAwesome"); let m = sT(p, v), x = m; if (b) { const O = kDe(v); O.iconName && O.prefix && (m = O.iconName, p = O.prefix); } if (m && !w && (!a || a.getAttribute(tT) !== p || a.getAttribute(rT) !== x)) { e.setAttribute(r, x), a && e.removeChild(a); const O = QDe(), { extra: E } = O; E.attributes[QN] = t, i_(m, p).then((A) => { const h = lT($e($e({}, O), {}, { icons: { main: A, mask: Kce() }, prefix: p, iconName: x, extra: E, watchable: !0 })), G = Mn.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(G, e.firstChild) : e.appendChild(G), G.outerHTML = h.map((H) => Cx(H)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function dFe(e) { return Promise.all([QU(e, "::before"), QU(e, "::after")]); } function pFe(e) { return e.parentNode !== document.head && !~J8e.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(QN) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function ZU(e) { if (Oc) return new Promise((t, r) => { const n = zb(e.querySelectorAll("*")).filter(pFe).map(dFe), o = cT.begin("searchPseudoElements"); tue(), Promise.all(n).then(() => { o(), l_(), t(); }).catch(() => { o(), l_(), r(); }); }); } var mFe = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = ZU, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = Mn } = t; et.searchPseudoElements && ZU(r); }; } }; let eH = !1; var gFe = { mixout() { return { dom: { unwatch() { tue(), eH = !0; } } }; }, hooks() { return { bootstrap() { BU(n_("mutationObserverCallbacks", {})); }, noAuto() { qDe(); }, watch(e) { const { observeMutationsRoot: t } = e; eH ? l_() : BU(n_("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const tH = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var hFe = { mixout() { return { parse: { transform: (e) => tH(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = tH(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = { transform: "".concat(s, " ").concat(l, " ").concat(c) }, f = { transform: "translate(".concat(a / 2 * -1, " -256)") }, p = { outer: i, inner: u, path: f }; return { tag: "g", attributes: $e({}, p.outer), children: [{ tag: "g", attributes: $e({}, p.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: $e($e({}, r.icon.attributes), p.path) }] }] }; }; } }; const c6 = { x: 0, y: 0, width: "100%", height: "100%" }; function rH(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function bFe(e) { return e.tag === "g" ? e.children : [e]; } var yFe = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? xS(r.split(" ").map((o) => o.trim())) : Kce(); return n.prefix || (n.prefix = Df()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: l, icon: c } = o, { width: u, icon: f } = a, p = uDe({ transform: s, containerWidth: u, iconWidth: l }), v = { tag: "rect", attributes: $e($e({}, c6), {}, { fill: "white" }) }, w = c.children ? { children: c.children.map(rH) } : {}, b = { tag: "g", attributes: $e({}, p.inner), children: [rH($e({ tag: c.tag, attributes: $e($e({}, c.attributes), p.path) }, w))] }, m = { tag: "g", attributes: $e({}, p.outer), children: [b] }, x = "mask-".concat(i || C0()), O = "clip-".concat(i || C0()), E = { tag: "mask", attributes: $e($e({}, c6), {}, { id: x, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [v, m] }, A = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: O }, children: bFe(f) }, E] }; return r.push(A, { tag: "rect", attributes: $e({ fill: "currentColor", "clip-path": "url(#".concat(O, ")"), mask: "url(#".concat(x, ")") }, c6) }), { children: r, attributes: n }; }; } }, vFe = { provides(e) { let t = !1; zf.matchMedia && (t = zf.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: $e($e({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = $e($e({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: $e($e({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: $e($e({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: $e($e({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: $e($e({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: $e($e({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: $e($e({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: $e($e({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, xFe = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, wFe = [pDe, oFe, aFe, iFe, sFe, mFe, gFe, hFe, yFe, vFe, xFe]; _De(wFe, { mixoutsTo: ka }); ka.noAuto; ka.config; ka.library; ka.dom; const u_ = ka.parse; ka.findIconDefinition; ka.toHtml; const kFe = ka.icon; ka.layer; ka.text; ka.counter; function OFe(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var Uw = { exports: {} }, u6 = { exports: {} }, Sr = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var nH; function SFe() { if (nH) return Sr; nH = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(h) { if (typeof h == "object" && h !== null) { var G = h.$$typeof; switch (G) { case t: switch (h = h.type, h) { case l: case c: case n: case a: case o: case f: return h; default: switch (h = h && h.$$typeof, h) { case s: case u: case w: case v: case i: return h; default: return G; } } case r: return G; } } } function A(h) { return E(h) === c; } return Sr.AsyncMode = l, Sr.ConcurrentMode = c, Sr.ContextConsumer = s, Sr.ContextProvider = i, Sr.Element = t, Sr.ForwardRef = u, Sr.Fragment = n, Sr.Lazy = w, Sr.Memo = v, Sr.Portal = r, Sr.Profiler = a, Sr.StrictMode = o, Sr.Suspense = f, Sr.isAsyncMode = function(h) { return A(h) || E(h) === l; }, Sr.isConcurrentMode = A, Sr.isContextConsumer = function(h) { return E(h) === s; }, Sr.isContextProvider = function(h) { return E(h) === i; }, Sr.isElement = function(h) { return typeof h == "object" && h !== null && h.$$typeof === t; }, Sr.isForwardRef = function(h) { return E(h) === u; }, Sr.isFragment = function(h) { return E(h) === n; }, Sr.isLazy = function(h) { return E(h) === w; }, Sr.isMemo = function(h) { return E(h) === v; }, Sr.isPortal = function(h) { return E(h) === r; }, Sr.isProfiler = function(h) { return E(h) === a; }, Sr.isStrictMode = function(h) { return E(h) === o; }, Sr.isSuspense = function(h) { return E(h) === f; }, Sr.isValidElementType = function(h) { return typeof h == "string" || typeof h == "function" || h === n || h === c || h === a || h === o || h === f || h === p || typeof h == "object" && h !== null && (h.$$typeof === w || h.$$typeof === v || h.$$typeof === i || h.$$typeof === s || h.$$typeof === u || h.$$typeof === m || h.$$typeof === x || h.$$typeof === O || h.$$typeof === b); }, Sr.typeOf = E, Sr; } var Wr = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var oH; function EFe() { return oH || (oH = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === f || k === p || typeof k == "object" && k !== null && (k.$$typeof === w || k.$$typeof === v || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === m || k.$$typeof === x || k.$$typeof === O || k.$$typeof === b); } function A(k) { if (typeof k == "object" && k !== null) { var ne = k.$$typeof; switch (ne) { case t: var pe = k.type; switch (pe) { case l: case c: case n: case a: case o: case f: return pe; default: var He = pe && pe.$$typeof; switch (He) { case s: case u: case w: case v: case i: return He; default: return ne; } } case r: return ne; } } } var h = l, G = c, H = s, Z = i, J = t, X = u, ee = n, I = w, te = v, U = r, z = a, F = o, D = f, Y = !1; function q(k) { return Y || (Y = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), g(k) || A(k) === l; } function g(k) { return A(k) === c; } function d(k) { return A(k) === s; } function S(k) { return A(k) === i; } function C(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function P(k) { return A(k) === u; } function j(k) { return A(k) === n; } function _(k) { return A(k) === w; } function N(k) { return A(k) === v; } function M(k) { return A(k) === r; } function R(k) { return A(k) === a; } function T(k) { return A(k) === o; } function Q(k) { return A(k) === f; } Wr.AsyncMode = h, Wr.ConcurrentMode = G, Wr.ContextConsumer = H, Wr.ContextProvider = Z, Wr.Element = J, Wr.ForwardRef = X, Wr.Fragment = ee, Wr.Lazy = I, Wr.Memo = te, Wr.Portal = U, Wr.Profiler = z, Wr.StrictMode = F, Wr.Suspense = D, Wr.isAsyncMode = q, Wr.isConcurrentMode = g, Wr.isContextConsumer = d, Wr.isContextProvider = S, Wr.isElement = C, Wr.isForwardRef = P, Wr.isFragment = j, Wr.isLazy = _, Wr.isMemo = N, Wr.isPortal = M, Wr.isProfiler = R, Wr.isStrictMode = T, Wr.isSuspense = Q, Wr.isValidElementType = E, Wr.typeOf = A; }()), Wr; } var aH; function nue() { return aH || (aH = 1, process.env.NODE_ENV === "production" ? u6.exports = SFe() : u6.exports = EFe()), u6.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var f6, iH; function AFe() { if (iH) return f6; iH = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var l = Object.getOwnPropertyNames(i).map(function(u) { return i[u]; }); if (l.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(u) { c[u] = u; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return f6 = o() ? Object.assign : function(a, i) { for (var s, l = n(a), c, u = 1; u < arguments.length; u++) { s = Object(arguments[u]); for (var f in s) t.call(s, f) && (l[f] = s[f]); if (e) { c = e(s); for (var p = 0; p < c.length; p++) r.call(s, c[p]) && (l[c[p]] = s[c[p]]); } } return l; }, f6; } var d6, sH; function fT() { if (sH) return d6; sH = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return d6 = e, d6; } var lH, cH; function oue() { return cH || (cH = 1, lH = Function.call.bind(Object.prototype.hasOwnProperty)), lH; } var p6, uH; function $Fe() { if (uH) return p6; uH = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ fT(), r = {}, n = /* @__PURE__ */ oue(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, l, c) { if (process.env.NODE_ENV !== "production") { for (var u in a) if (n(a, u)) { var f; try { if (typeof a[u] != "function") { var p = Error( (l || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw p.name = "Invariant Violation", p; } f = a[u](i, u, l, s, null, t); } catch (w) { f = w; } if (f && !(f instanceof Error) && e( (l || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), f instanceof Error && !(f.message in r)) { r[f.message] = !0; var v = c ? c() : ""; e( "Failed " + s + " type: " + f.message + (v ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, p6 = o, p6; } var m6, fH; function PFe() { if (fH) return m6; fH = 1; var e = nue(), t = AFe(), r = /* @__PURE__ */ fT(), n = /* @__PURE__ */ oue(), o = /* @__PURE__ */ $Fe(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var l = "Warning: " + s; typeof console < "u" && console.error(l); try { throw new Error(l); } catch { } }); function i() { return null; } return m6 = function(s, l) { var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator"; function f(g) { var d = g && (c && g[c] || g[u]); if (typeof d == "function") return d; } var p = "<>", v = { array: x("array"), bigint: x("bigint"), bool: x("boolean"), func: x("function"), number: x("number"), object: x("object"), string: x("string"), symbol: x("symbol"), any: O(), arrayOf: E, element: A(), elementType: h(), instanceOf: G, node: X(), objectOf: Z, oneOf: H, oneOfType: J, shape: I, exact: te }; function w(g, d) { return g === d ? g !== 0 || 1 / g === 1 / d : g !== g && d !== d; } function b(g, d) { this.message = g, this.data = d && typeof d == "object" ? d : {}, this.stack = ""; } b.prototype = Error.prototype; function m(g) { if (process.env.NODE_ENV !== "production") var d = {}, S = 0; function C(j, _, N, M, R, T, Q) { if (M = M || p, T = T || N, Q !== r) { if (l) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var ne = M + ":" + N; !d[ne] && // Avoid spamming the console because they are often not actionable except for lib authors S < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + M + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), d[ne] = !0, S++); } } return _[N] == null ? j ? _[N] === null ? new b("The " + R + " `" + T + "` is marked as required " + ("in `" + M + "`, but its value is `null`.")) : new b("The " + R + " `" + T + "` is marked as required in " + ("`" + M + "`, but its value is `undefined`.")) : null : g(_, N, M, R, T); } var P = C.bind(null, !1); return P.isRequired = C.bind(null, !0), P; } function x(g) { function d(S, C, P, j, _, N) { var M = S[C], R = F(M); if (R !== g) { var T = D(M); return new b( "Invalid " + j + " `" + _ + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."), { expectedType: g } ); } return null; } return m(d); } function O() { return m(i); } function E(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside arrayOf."); var N = S[C]; if (!Array.isArray(N)) { var M = F(N); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an array.")); } for (var R = 0; R < N.length; R++) { var T = g(N, R, P, j, _ + "[" + R + "]", r); if (T instanceof Error) return T; } return null; } return m(d); } function A() { function g(d, S, C, P, j) { var _ = d[S]; if (!s(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement.")); } return null; } return m(g); } function h() { function g(d, S, C, P, j) { var _ = d[S]; if (!e.isValidElementType(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement type.")); } return null; } return m(g); } function G(g) { function d(S, C, P, j, _) { if (!(S[C] instanceof g)) { var N = g.name || p, M = q(S[C]); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected ") + ("instance of `" + N + "`.")); } return null; } return m(d); } function H(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function d(S, C, P, j, _) { for (var N = S[C], M = 0; M < g.length; M++) if (w(N, g[M])) return null; var R = JSON.stringify(g, function(T, Q) { var k = D(Q); return k === "symbol" ? String(Q) : Q; }); return new b("Invalid " + j + " `" + _ + "` of value `" + String(N) + "` " + ("supplied to `" + P + "`, expected one of " + R + ".")); } return m(d); } function Z(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside objectOf."); var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an object.")); for (var R in N) if (n(N, R)) { var T = g(N, R, P, j, _ + "." + R, r); if (T instanceof Error) return T; } return null; } return m(d); } function J(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var d = 0; d < g.length; d++) { var S = g[d]; if (typeof S != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(S) + " at index " + d + "." ), i; } function C(P, j, _, N, M) { for (var R = [], T = 0; T < g.length; T++) { var Q = g[T], k = Q(P, j, _, N, M, r); if (k == null) return null; k.data && n(k.data, "expectedType") && R.push(k.data.expectedType); } var ne = R.length > 0 ? ", expected one of type [" + R.join(", ") + "]" : ""; return new b("Invalid " + N + " `" + M + "` supplied to " + ("`" + _ + "`" + ne + ".")); } return m(C); } function X() { function g(d, S, C, P, j) { return U(d[S]) ? null : new b("Invalid " + P + " `" + j + "` supplied to " + ("`" + C + "`, expected a ReactNode.")); } return m(g); } function ee(g, d, S, C, P) { return new b( (g || "React class") + ": " + d + " type `" + S + "." + C + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`." ); } function I(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); for (var R in g) { var T = g[R]; if (typeof T != "function") return ee(P, j, _, R, D(T)); var Q = T(N, R, P, j, _ + "." + R, r); if (Q) return Q; } return null; } return m(d); } function te(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); var R = t({}, S[C], g); for (var T in R) { var Q = g[T]; if (n(g, T) && typeof Q != "function") return ee(P, j, _, T, D(Q)); if (!Q) return new b( "Invalid " + j + " `" + _ + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(S[C], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(g), null, " ") ); var k = Q(N, T, P, j, _ + "." + T, r); if (k) return k; } return null; } return m(d); } function U(g) { switch (typeof g) { case "number": case "string": case "undefined": return !0; case "boolean": return !g; case "object": if (Array.isArray(g)) return g.every(U); if (g === null || s(g)) return !0; var d = f(g); if (d) { var S = d.call(g), C; if (d !== g.entries) { for (; !(C = S.next()).done; ) if (!U(C.value)) return !1; } else for (; !(C = S.next()).done; ) { var P = C.value; if (P && !U(P[1])) return !1; } } else return !1; return !0; default: return !1; } } function z(g, d) { return g === "symbol" ? !0 : d ? d["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && d instanceof Symbol : !1; } function F(g) { var d = typeof g; return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : z(d, g) ? "symbol" : d; } function D(g) { if (typeof g > "u" || g === null) return "" + g; var d = F(g); if (d === "object") { if (g instanceof Date) return "date"; if (g instanceof RegExp) return "regexp"; } return d; } function Y(g) { var d = D(g); switch (d) { case "array": case "object": return "an " + d; case "boolean": case "date": case "regexp": return "a " + d; default: return d; } } function q(g) { return !g.constructor || !g.constructor.name ? p : g.constructor.name; } return v.checkPropTypes = o, v.resetWarningCache = o.resetWarningCache, v.PropTypes = v, v; }, m6; } var g6, dH; function CFe() { if (dH) return g6; dH = 1; var e = /* @__PURE__ */ fT(); function t() { } function r() { } return r.resetWarningCache = t, g6 = function() { function n(i, s, l, c, u, f) { if (f !== e) { var p = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw p.name = "Invariant Violation", p; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, g6; } var pH; function NFe() { if (pH) return Uw.exports; if (pH = 1, process.env.NODE_ENV !== "production") { var e = nue(), t = !0; Uw.exports = /* @__PURE__ */ PFe()(e.isElement, t); } else Uw.exports = /* @__PURE__ */ CFe()(); return Uw.exports; } var _Fe = /* @__PURE__ */ NFe(); const rr = /* @__PURE__ */ OFe(_Fe); function mH(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Yi(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? mH(Object(r), !0).forEach(function(n) { jg(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : mH(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function E5(e) { "@babel/helpers - typeof"; return E5 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, E5(e); } function jg(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function jFe(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function IFe(e, t) { if (e == null) return {}; var r = jFe(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function f_(e) { return RFe(e) || MFe(e) || TFe(e) || zFe(); } function RFe(e) { if (Array.isArray(e)) return d_(e); } function MFe(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function TFe(e, t) { if (e) { if (typeof e == "string") return d_(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return d_(e, t); } } function d_(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function zFe() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function DFe(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, p = e.fixedWidth, v = e.inverse, w = e.border, b = e.listItem, m = e.flip, x = e.size, O = e.rotation, E = e.pull, A = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": l, "fa-spin-reverse": u, "fa-spin-pulse": c, "fa-pulse": f, "fa-fw": p, "fa-inverse": v, "fa-border": w, "fa-li": b, "fa-flip": m === !0, "fa-flip-horizontal": m === "horizontal" || m === "both", "fa-flip-vertical": m === "vertical" || m === "both" }, jg(t, "fa-".concat(x), typeof x < "u" && x !== null), jg(t, "fa-rotate-".concat(O), typeof O < "u" && O !== null && O !== 0), jg(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), jg(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(A).map(function(h) { return A[h] ? h : null; }).filter(function(h) { return h; }); } function FFe(e) { return e = e - 0, e === e; } function aue(e) { return FFe(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var LFe = ["style"]; function VFe(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function WFe(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = aue(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[VFe(o)] = a : t[o] = a, t; }, {}); } function iue(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(l) { return iue(e, l); }), o = Object.keys(t.attributes || {}).reduce(function(l, c) { var u = t.attributes[c]; switch (c) { case "class": l.attrs.className = u, delete t.attributes.class; break; case "style": l.attrs.style = WFe(u); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[aue(c)] = u; } return l; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = IFe(r, LFe); return o.attrs.style = Yi(Yi({}, o.attrs.style), i), e.apply(void 0, [t.tag, Yi(Yi({}, o.attrs), s)].concat(f_(n))); } var sue = !1; try { sue = process.env.NODE_ENV === "production"; } catch { } function GFe() { if (!sue && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function gH(e) { if (e && E5(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (u_.icon) return u_.icon(e); if (e === null) return null; if (e && E5(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function h6(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? jg({}, e, t) : {}; } var hH = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, _0 = /* @__PURE__ */ de.forwardRef(function(e, t) { var r = Yi(Yi({}, hH), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = gH(n), f = h6("classes", [].concat(f_(DFe(r)), f_((i || "").split(" ")))), p = h6("transform", typeof r.transform == "string" ? u_.transform(r.transform) : r.transform), v = h6("mask", gH(o)), w = kFe(u, Yi(Yi(Yi(Yi({}, f), p), v), {}, { symbol: a, title: s, titleId: l, maskId: c })); if (!w) return GFe("Could not find icon", u), null; var b = w.abstract, m = { ref: t }; return Object.keys(r).forEach(function(x) { hH.hasOwnProperty(x) || (m[x] = r[x]); }), UFe(b[0], m); }); _0.displayName = "FontAwesomeIcon"; _0.propTypes = { beat: rr.bool, border: rr.bool, beatFade: rr.bool, bounce: rr.bool, className: rr.string, fade: rr.bool, flash: rr.bool, mask: rr.oneOfType([rr.object, rr.array, rr.string]), maskId: rr.string, fixedWidth: rr.bool, inverse: rr.bool, flip: rr.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: rr.oneOfType([rr.object, rr.array, rr.string]), listItem: rr.bool, pull: rr.oneOf(["right", "left"]), pulse: rr.bool, rotation: rr.oneOf([0, 90, 180, 270]), shake: rr.bool, size: rr.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: rr.bool, spinPulse: rr.bool, spinReverse: rr.bool, symbol: rr.oneOfType([rr.bool, rr.string]), title: rr.string, titleId: rr.string, transform: rr.oneOfType([rr.string, rr.object]), swapOpacity: rr.bool }; var UFe = iue.bind(null, de.createElement); /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const HFe = { prefix: "fas", iconName: "xmark", icon: [384, 512, [128473, 10005, 10006, 10060, 215, "close", "multiply", "remove", "times"], "f00d", "M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"] }; /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function YFe(e, t, r) { return (t = qFe(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function bH(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Pe(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? bH(Object(r), !0).forEach(function(n) { YFe(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : bH(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function BFe(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function qFe(e) { var t = BFe(e, "string"); return typeof t == "symbol" ? t : t + ""; } const yH = () => { }; let dT = {}, lue = {}, cue = null, uue = { mark: yH, measure: yH }; try { typeof window < "u" && (dT = window), typeof document < "u" && (lue = document), typeof MutationObserver < "u" && (cue = MutationObserver), typeof performance < "u" && (uue = performance); } catch { } const { userAgent: vH = "" } = dT.navigator || {}, Lf = dT, Tn = lue, xH = cue, Hw = uue; Lf.document; const Sc = !!Tn.documentElement && !!Tn.head && typeof Tn.addEventListener == "function" && typeof Tn.createElement == "function", fue = ~vH.indexOf("MSIE") || ~vH.indexOf("Trident/"); var XFe = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, KFe = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, due = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, JFe = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, pue = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Ao = "classic", kS = "duotone", QFe = "sharp", ZFe = "sharp-duotone", mue = [Ao, kS, QFe, ZFe], eLe = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, tLe = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, rLe = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), nLe = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, oLe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], wH = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, aLe = ["kit"], iLe = { kit: { "fa-kit": "fak" } }, sLe = ["fak", "fakd"], lLe = { kit: { fak: "fa-kit" } }, kH = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, Yw = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, cLe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], uLe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], fLe = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, dLe = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, pLe = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, p_ = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, mLe = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], m_ = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...cLe, ...mLe], gLe = ["solid", "regular", "light", "thin", "duotone", "brands"], gue = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], hLe = gue.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), bLe = [...Object.keys(pLe), ...gLe, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", Yw.GROUP, Yw.SWAP_OPACITY, Yw.PRIMARY, Yw.SECONDARY].concat(gue.map((e) => "".concat(e, "x"))).concat(hLe.map((e) => "w-".concat(e))), yLe = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const Yl = "___FONT_AWESOME___", g_ = 16, hue = "fa", bue = "svg-inline--fa", vm = "data-fa-i2svg", h_ = "data-fa-pseudo-element", vLe = "data-fa-pseudo-element-pending", pT = "data-prefix", mT = "data-icon", OH = "fontawesome-i2svg", xLe = "async", wLe = ["HTML", "HEAD", "STYLE", "SCRIPT"], yue = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function Nx(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[Ao]; } }); } const vue = Pe({}, due); vue[Ao] = Pe(Pe(Pe(Pe({}, { "fa-duotone": "duotone" }), due[Ao]), wH.kit), wH["kit-duotone"]); const kLe = Nx(vue), b_ = Pe({}, nLe); b_[Ao] = Pe(Pe(Pe(Pe({}, { duotone: "fad" }), b_[Ao]), kH.kit), kH["kit-duotone"]); const SH = Nx(b_), y_ = Pe({}, p_); y_[Ao] = Pe(Pe({}, y_[Ao]), lLe.kit); const gT = Nx(y_), v_ = Pe({}, dLe); v_[Ao] = Pe(Pe({}, v_[Ao]), iLe.kit); Nx(v_); const OLe = XFe, xue = "fa-layers-text", SLe = KFe, ELe = Pe({}, eLe); Nx(ELe); const ALe = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], b6 = JFe, $Le = [...aLe, ...bLe], y1 = Lf.FontAwesomeConfig || {}; function PLe(e) { var t = Tn.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function CLe(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } Tn && typeof Tn.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => { let [t, r] = e; const n = CLe(PLe(t)); n != null && (y1[r] = n); }); const wue = { styleDefault: "solid", familyDefault: Ao, cssPrefix: hue, replacementClass: bue, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; y1.familyPrefix && (y1.cssPrefix = y1.familyPrefix); const sb = Pe(Pe({}, wue), y1); sb.autoReplaceSvg || (sb.observeMutations = !1); const tt = {}; Object.keys(wue).forEach((e) => { Object.defineProperty(tt, e, { enumerable: !0, set: function(t) { sb[e] = t, v1.forEach((r) => r(tt)); }, get: function() { return sb[e]; } }); }); Object.defineProperty(tt, "familyPrefix", { enumerable: !0, set: function(e) { sb.cssPrefix = e, v1.forEach((t) => t(tt)); }, get: function() { return sb.cssPrefix; } }); Lf.FontAwesomeConfig = tt; const v1 = []; function NLe(e) { return v1.push(e), () => { v1.splice(v1.indexOf(e), 1); }; } const nu = g_, vs = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function _Le(e) { if (!e || !Sc) return; const t = Tn.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = Tn.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return Tn.head.insertBefore(t, n), e; } const jLe = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function j0() { let e = 12, t = ""; for (; e-- > 0; ) t += jLe[Math.random() * 62 | 0]; return t; } function Db(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function hT(e) { return e.classList ? Db(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function kue(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function ILe(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(kue(e[r]), '" '), "").trim(); } function OS(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function bT(e) { return e.size !== vs.size || e.x !== vs.x || e.y !== vs.y || e.rotate !== vs.rotate || e.flipX || e.flipY; } function RLe(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), l = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: l, path: c }; } function MLe(e) { let { transform: t, width: r = g_, height: n = g_, startCentered: o = !1 } = e, a = ""; return o && fue ? a += "translate(".concat(t.x / nu - r / 2, "em, ").concat(t.y / nu - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / nu, "em), calc(-50% + ").concat(t.y / nu, "em)) ") : a += "translate(".concat(t.x / nu, "em, ").concat(t.y / nu, "em) "), a += "scale(".concat(t.size / nu * (t.flipX ? -1 : 1), ", ").concat(t.size / nu * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var TLe = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function Oue() { const e = hue, t = bue, r = tt.cssPrefix, n = tt.replacementClass; let o = TLe; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let EH = !1; function y6() { tt.autoAddCss && !EH && (_Le(Oue()), EH = !0); } var zLe = { mixout() { return { dom: { css: Oue, insertCss: y6 } }; }, hooks() { return { beforeDOMElementCreation() { y6(); }, beforeI2svg() { y6(); } }; } }; const Bl = Lf || {}; Bl[Yl] || (Bl[Yl] = {}); Bl[Yl].styles || (Bl[Yl].styles = {}); Bl[Yl].hooks || (Bl[Yl].hooks = {}); Bl[Yl].shims || (Bl[Yl].shims = []); var xs = Bl[Yl]; const Sue = [], Eue = function() { Tn.removeEventListener("DOMContentLoaded", Eue), A5 = 1, Sue.map((e) => e()); }; let A5 = !1; Sc && (A5 = (Tn.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Tn.readyState), A5 || Tn.addEventListener("DOMContentLoaded", Eue)); function DLe(e) { Sc && (A5 ? setTimeout(e, 0) : Sue.push(e)); } function _x(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? kue(e) : "<".concat(t, " ").concat(ILe(r), ">").concat(n.map(_x).join(""), ""); } function AH(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var v6 = function(e, t, r, n) { var o = Object.keys(e), a = o.length, i = t, s, l, c; for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++) l = o[s], c = i(c, e[l], l, e); return c; }; function FLe(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function Aue(e) { const t = FLe(e); return t.length === 1 ? t[0].toString(16) : null; } function LLe(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function $H(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function x_(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = $H(t); typeof xs.hooks.addPack == "function" && !n ? xs.hooks.addPack(e, $H(t)) : xs.styles[e] = Pe(Pe({}, xs.styles[e] || {}), o), e === "fas" && x_("fa", t); } const { styles: I0, shims: VLe } = xs, $ue = Object.keys(gT), WLe = $ue.reduce((e, t) => (e[t] = Object.keys(gT[t]), e), {}); let yT = null, Pue = {}, Cue = {}, Nue = {}, _ue = {}, jue = {}; function GLe(e) { return ~$Le.indexOf(e); } function ULe(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !GLe(o) ? o : null; } const Iue = () => { const e = (n) => v6(I0, (o, a, i) => (o[i] = v6(a, n, {}), o), {}); Pue = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => { n[i.toString(16)] = a; }), n)), Cue = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => { n[i] = a; }), n)), jue = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in I0 || tt.autoFetchSvg, r = v6(VLe, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); Nue = r.names, _ue = r.unicodes, yT = SS(tt.styleDefault, { family: tt.familyDefault }); }; NLe((e) => { yT = SS(e.styleDefault, { family: tt.familyDefault }); }); Iue(); function vT(e, t) { return (Pue[e] || {})[t]; } function HLe(e, t) { return (Cue[e] || {})[t]; } function Mp(e, t) { return (jue[e] || {})[t]; } function Rue(e) { return Nue[e] || { prefix: null, iconName: null }; } function YLe(e) { const t = _ue[e], r = vT("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function Vf() { return yT; } const Mue = () => ({ prefix: null, iconName: null, rest: [] }); function BLe(e) { let t = Ao; const r = $ue.reduce((n, o) => (n[o] = "".concat(tt.cssPrefix, "-").concat(o), n), {}); return mue.forEach((n) => { (e.includes(r[n]) || e.some((o) => WLe[n].includes(o))) && (t = n); }), t; } function SS(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = Ao } = t, n = kLe[r][e]; if (r === kS && !e) return "fad"; const o = SH[r][e] || SH[r][n], a = e in xs.styles ? e : null; return o || a || null; } function qLe(e) { let t = [], r = null; return e.forEach((n) => { const o = ULe(tt.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function PH(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function ES(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = m_.concat(uLe), a = PH(e.filter((f) => o.includes(f))), i = PH(e.filter((f) => !m_.includes(f))), s = a.filter((f) => (n = f, !pue.includes(f))), [l = null] = s, c = BLe(a), u = Pe(Pe({}, qLe(i)), {}, { prefix: SS(l, { family: c }) }); return Pe(Pe(Pe({}, u), QLe({ values: e, family: c, styles: I0, config: tt, canonical: u, givenPrefix: n })), XLe(r, n, u)); } function XLe(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? Rue(o) : {}, i = Mp(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !I0.far && I0.fas && !tt.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const KLe = mue.filter((e) => e !== Ao || e !== kS), JLe = Object.keys(p_).filter((e) => e !== Ao).map((e) => Object.keys(p_[e])).flat(); function QLe(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === kS, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && KLe.includes(r) && (Object.keys(a).find((f) => JLe.includes(f)) || i.autoFetchSvg)) { const f = rLe.get(r).defaultShortPrefixId; n.prefix = f, n.iconName = Mp(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = Vf() || "fas"), n; } class ZLe { constructor() { this.definitions = {}; } add() { for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++) r[n] = arguments[n]; const o = r.reduce(this._pullDefinitions, {}); Object.keys(o).forEach((a) => { this.definitions[a] = Pe(Pe({}, this.definitions[a] || {}), o[a]), x_(a, o[a]); const i = gT[Ao][a]; i && x_(i, o[a]), Iue(); }); } reset() { this.definitions = {}; } _pullDefinitions(t, r) { const n = r.prefix && r.iconName && r.icon ? { 0: r } : r; return Object.keys(n).map((o) => { const { prefix: a, iconName: i, icon: s } = n[o], l = s[2]; t[a] || (t[a] = {}), l.length > 0 && l.forEach((c) => { typeof c == "string" && (t[a][c] = s); }), t[a][i] = s; }), t; } } let CH = [], Ig = {}; const kh = {}, eVe = Object.keys(kh); function tVe(e, t) { let { mixoutsTo: r } = t; return CH = e, Ig = {}, Object.keys(kh).forEach((n) => { eVe.indexOf(n) === -1 && delete kh[n]; }), CH.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { Ig[i] || (Ig[i] = []), Ig[i].push(a[i]); }); } n.provides && n.provides(kh); }), r; } function w_(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (Ig[e] || []).forEach((a) => { t = a.apply(null, [t, ...n]); }), t; } function xm(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (Ig[e] || []).forEach((o) => { o.apply(null, r); }); } function Wf() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return kh[e] ? kh[e].apply(null, t) : void 0; } function k_(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || Vf(); if (t) return t = Mp(r, t) || t, AH(Tue.definitions, r, t) || AH(xs.styles, r, t); } const Tue = new ZLe(), rVe = () => { tt.autoReplaceSvg = !1, tt.observeMutations = !1, xm("noAuto"); }, nVe = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return Sc ? (xm("beforeI2svg", e), Wf("pseudoElements2svg", e), Wf("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; tt.autoReplaceSvg === !1 && (tt.autoReplaceSvg = !0), tt.observeMutations = !0, DLe(() => { aVe({ autoReplaceSvgRoot: t }), xm("watch", e); }); } }, oVe = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: Mp(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = SS(e[0]); return { prefix: r, iconName: Mp(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(tt.cssPrefix, "-")) > -1 || e.match(OLe))) { const t = ES(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || Vf(), iconName: Mp(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = Vf(); return { prefix: t, iconName: Mp(t, e) || e }; } } }, Oa = { noAuto: rVe, config: tt, dom: nVe, parse: oVe, library: Tue, findIconDefinition: k_, toHtml: _x }, aVe = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = Tn } = e; (Object.keys(xs.styles).length > 0 || tt.autoFetchSvg) && Sc && tt.autoReplaceSvg && Oa.dom.i2svg({ node: t }); }; function AS(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => _x(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!Sc) return; const r = Tn.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function iVe(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (bT(i) && r.found && !n.found) { const { width: s, height: l } = r, c = { x: s / l / 2, y: 0.5 }; o.style = OS(Pe(Pe({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function sVe(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(tt.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: Pe(Pe({}, o), {}, { id: i }), children: n }] }]; } function xT(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: l, titleId: c, extra: u, watchable: f = !1 } = e, { width: p, height: v } = r.found ? r : t, w = sLe.includes(n), b = [tt.replacementClass, o ? "".concat(tt.cssPrefix, "-").concat(o) : ""].filter((h) => u.classes.indexOf(h) === -1).filter((h) => h !== "" || !!h).concat(u.classes).join(" "); let m = { children: [], attributes: Pe(Pe({}, u.attributes), {}, { "data-prefix": n, "data-icon": o, class: b, role: u.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(p, " ").concat(v) }) }; const x = w && !~u.classes.indexOf("fa-fw") ? { width: "".concat(p / v * 16 * 0.0625, "em") } : {}; f && (m.attributes[vm] = ""), s && (m.children.push({ tag: "title", attributes: { id: m.attributes["aria-labelledby"] || "title-".concat(c || j0()) }, children: [s] }), delete m.attributes.title); const O = Pe(Pe({}, m), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: l, transform: a, symbol: i, styles: Pe(Pe({}, x), u.styles) }), { children: E, attributes: A } = r.found && t.found ? Wf("generateAbstractMask", O) || { children: [], attributes: {} } : Wf("generateAbstractIcon", O) || { children: [], attributes: {} }; return O.children = E, O.attributes = A, i ? sVe(O) : iVe(O); } function NH(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, l = Pe(Pe(Pe({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (l[vm] = ""); const c = Pe({}, i.styles); bT(o) && (c.transform = MLe({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const u = OS(c); u.length > 0 && (l.style = u); const f = []; return f.push({ tag: "span", attributes: l, children: [t] }), a && f.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), f; } function lVe(e) { const { content: t, title: r, extra: n } = e, o = Pe(Pe(Pe({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = OS(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: x6 } = xs; function O_(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(tt.cssPrefix, "-").concat(b6.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(tt.cssPrefix, "-").concat(b6.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(tt.cssPrefix, "-").concat(b6.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const cVe = { found: !1, width: 512, height: 512 }; function uVe(e, t) { !yue && !tt.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function S_(e, t) { let r = t; return t === "fa" && tt.styleDefault !== null && (t = Vf()), new Promise((n, o) => { if (r === "fa") { const a = Rue(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && x6[t] && x6[t][e]) { const a = x6[t][e]; return n(O_(a)); } uVe(e, t), n(Pe(Pe({}, cVe), {}, { icon: tt.showMissingIcons && e ? Wf("missingIconAbstract") || {} : {} })); }); } const _H = () => { }, E_ = tt.measurePerformance && Hw && Hw.mark && Hw.measure ? Hw : { mark: _H, measure: _H }, Rv = 'FA "6.7.2"', fVe = (e) => (E_.mark("".concat(Rv, " ").concat(e, " begins")), () => zue(e)), zue = (e) => { E_.mark("".concat(Rv, " ").concat(e, " ends")), E_.measure("".concat(Rv, " ").concat(e), "".concat(Rv, " ").concat(e, " begins"), "".concat(Rv, " ").concat(e, " ends")); }; var wT = { begin: fVe, end: zue }; const fk = () => { }; function jH(e) { return typeof (e.getAttribute ? e.getAttribute(vm) : null) == "string"; } function dVe(e) { const t = e.getAttribute ? e.getAttribute(pT) : null, r = e.getAttribute ? e.getAttribute(mT) : null; return t && r; } function pVe(e) { return e && e.classList && e.classList.contains && e.classList.contains(tt.replacementClass); } function mVe() { return tt.autoReplaceSvg === !0 ? dk.replace : dk[tt.autoReplaceSvg] || dk.replace; } function gVe(e) { return Tn.createElementNS("http://www.w3.org/2000/svg", e); } function hVe(e) { return Tn.createElement(e); } function Due(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? gVe : hVe } = t; if (typeof e == "string") return Tn.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(o) { n.setAttribute(o, e.attributes[o]); }), (e.children || []).forEach(function(o) { n.appendChild(Due(o, { ceFn: r })); }), n; } function bVe(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const dk = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(Due(r), t); }), t.getAttribute(vm) === null && tt.keepOriginalSource) { let r = Tn.createComment(bVe(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~hT(t).indexOf(tt.replacementClass)) return dk.replace(e); const n = new RegExp("".concat(tt.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === tt.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => _x(a)).join(` `); t.setAttribute(vm, ""), t.innerHTML = o; } }; function IH(e) { e(); } function Fue(e, t) { const r = typeof t == "function" ? t : fk; if (e.length === 0) r(); else { let n = IH; tt.mutateApproach === xLe && (n = Lf.requestAnimationFrame || IH), n(() => { const o = mVe(), a = wT.begin("mutate"); e.map(o), a(), r(); }); } } let kT = !1; function Lue() { kT = !0; } function A_() { kT = !1; } let $5 = null; function RH(e) { if (!xH || !tt.observeMutations) return; const { treeCallback: t = fk, nodeCallback: r = fk, pseudoElementsCallback: n = fk, observeMutationsRoot: o = Tn } = e; $5 = new xH((a) => { if (kT) return; const i = Vf(); Db(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !jH(s.addedNodes[0]) && (tt.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && tt.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && jH(s.target) && ~ALe.indexOf(s.attributeName)) if (s.attributeName === "class" && dVe(s.target)) { const { prefix: l, iconName: c } = ES(hT(s.target)); s.target.setAttribute(pT, l || i), c && s.target.setAttribute(mT, c); } else pVe(s.target) && r(s.target); }); }), Sc && $5.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function yVe() { $5 && $5.disconnect(); } function vVe(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function xVe(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = ES(hT(e)); return o.prefix || (o.prefix = Vf()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = HLe(o.prefix, e.innerText) || vT(o.prefix, Aue(e.innerText))), !o.iconName && tt.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function wVe(e) { const t = Db(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return tt.autoA11y && (r ? t["aria-labelledby"] = "".concat(tt.replacementClass, "-title-").concat(n || j0()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function kVe() { return { iconName: null, title: null, titleId: null, prefix: null, transform: vs, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function MH(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = xVe(e), a = wVe(e), i = w_("parseNodeAttributes", {}, e); let s = t.styleParser ? vVe(e) : []; return Pe({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: vs, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: OVe } = xs; function Vue(e) { const t = tt.autoReplaceSvg === "nest" ? MH(e, { styleParser: !1 }) : MH(e); return ~t.extra.classes.indexOf(xue) ? Wf("generateLayersText", e, t) : Wf("generateSvgReplacementMutation", e, t); } function SVe() { return [...oLe, ...m_]; } function TH(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!Sc) return Promise.resolve(); const r = Tn.documentElement.classList, n = (u) => r.add("".concat(OH, "-").concat(u)), o = (u) => r.remove("".concat(OH, "-").concat(u)), a = tt.autoFetchSvg ? SVe() : pue.concat(Object.keys(OVe)); a.includes("fa") || a.push("fa"); const i = [".".concat(xue, ":not([").concat(vm, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(vm, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = Db(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const l = wT.begin("onTree"), c = s.reduce((u, f) => { try { const p = Vue(f); p && u.push(p); } catch (p) { yue || p.name === "MissingIcon" && console.error(p); } return u; }, []); return new Promise((u, f) => { Promise.all(c).then((p) => { Fue(p, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u(); }); }).catch((p) => { l(), f(p); }); }); } function EVe(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; Vue(e).then((r) => { r && Fue([r], t); }); } function AVe(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : k_(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : k_(o || {})), e(n, Pe(Pe({}, r), {}, { mask: o })); }; } const $Ve = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = vs, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: l = [], attributes: c = {}, styles: u = {} } = t; if (!e) return; const { prefix: f, iconName: p, icon: v } = e; return AS(Pe({ type: "icon" }, e), () => (xm("beforeDOMElementCreation", { iconDefinition: e, params: t }), tt.autoA11y && (i ? c["aria-labelledby"] = "".concat(tt.replacementClass, "-title-").concat(s || j0()) : (c["aria-hidden"] = "true", c.focusable = "false")), xT({ icons: { main: O_(v), mask: o ? O_(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: f, iconName: p, transform: Pe(Pe({}, vs), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: u, classes: l } }))); }; var PVe = { mixout() { return { icon: AVe($Ve) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = TH, e.nodeCallback = EVe, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = Tn, callback: n = () => { } } = t; return TH(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: l, mask: c, maskId: u, extra: f } = r; return new Promise((p, v) => { Promise.all([S_(n, i), c.iconName ? S_(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((w) => { let [b, m] = w; p([t, xT({ icons: { main: b, mask: m }, prefix: i, iconName: n, transform: s, symbol: l, maskId: u, title: o, titleId: a, extra: f, watchable: !0 })]); }).catch(v); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = OS(i); s.length > 0 && (n.style = s); let l; return bT(a) && (l = Wf("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(l || o.icon), { children: r, attributes: n }; }; } }, CVe = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return AS({ type: "layer" }, () => { xm("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(tt.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, NVe = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return AS({ type: "counter", content: e }, () => (xm("beforeDOMElementCreation", { content: e, params: t }), lVe({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(tt.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, _Ve = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = vs, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return AS({ type: "text", content: e }, () => (xm("beforeDOMElementCreation", { content: e, params: t }), NH({ content: e, transform: Pe(Pe({}, vs), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(tt.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (fue) { const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / l, s = c.height / l; } return tt.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, NH({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const jVe = new RegExp('"', "ug"), zH = [1105920, 1112319], DH = Pe(Pe(Pe(Pe({}, { FontAwesome: { normal: "fas", 400: "fas" } }), tLe), yLe), fLe), $_ = Object.keys(DH).reduce((e, t) => (e[t.toLowerCase()] = DH[t], e), {}), IVe = Object.keys($_).reduce((e, t) => { const r = $_[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function RVe(e) { const t = e.replace(jVe, ""), r = LLe(t, 0), n = r >= zH[0] && r <= zH[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: Aue(o ? t[0] : t), isSecondary: n || o }; } function MVe(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return ($_[r] || {})[o] || IVe[r]; } function FH(e, t) { const r = "".concat(vLe).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const a = Db(e.children).filter((f) => f.getAttribute(h_) === t)[0], i = Lf.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(SLe), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content"); if (a && !l) return e.removeChild(a), n(); if (l && u !== "none" && u !== "") { const f = i.getPropertyValue("content"); let p = MVe(s, c); const { value: v, isSecondary: w } = RVe(f), b = l[0].startsWith("FontAwesome"); let m = vT(p, v), x = m; if (b) { const O = YLe(v); O.iconName && O.prefix && (m = O.iconName, p = O.prefix); } if (m && !w && (!a || a.getAttribute(pT) !== p || a.getAttribute(mT) !== x)) { e.setAttribute(r, x), a && e.removeChild(a); const O = kVe(), { extra: E } = O; E.attributes[h_] = t, S_(m, p).then((A) => { const h = xT(Pe(Pe({}, O), {}, { icons: { main: A, mask: Mue() }, prefix: p, iconName: x, extra: E, watchable: !0 })), G = Tn.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(G, e.firstChild) : e.appendChild(G), G.outerHTML = h.map((H) => _x(H)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function TVe(e) { return Promise.all([FH(e, "::before"), FH(e, "::after")]); } function zVe(e) { return e.parentNode !== document.head && !~wLe.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(h_) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function LH(e) { if (Sc) return new Promise((t, r) => { const n = Db(e.querySelectorAll("*")).filter(zVe).map(TVe), o = wT.begin("searchPseudoElements"); Lue(), Promise.all(n).then(() => { o(), A_(), t(); }).catch(() => { o(), A_(), r(); }); }); } var DVe = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = LH, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = Tn } = t; tt.searchPseudoElements && LH(r); }; } }; let VH = !1; var FVe = { mixout() { return { dom: { unwatch() { Lue(), VH = !0; } } }; }, hooks() { return { bootstrap() { RH(w_("mutationObserverCallbacks", {})); }, noAuto() { yVe(); }, watch(e) { const { observeMutationsRoot: t } = e; VH ? A_() : RH(w_("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const WH = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var LVe = { mixout() { return { parse: { transform: (e) => WH(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = WH(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = { transform: "".concat(s, " ").concat(l, " ").concat(c) }, f = { transform: "translate(".concat(a / 2 * -1, " -256)") }, p = { outer: i, inner: u, path: f }; return { tag: "g", attributes: Pe({}, p.outer), children: [{ tag: "g", attributes: Pe({}, p.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: Pe(Pe({}, r.icon.attributes), p.path) }] }] }; }; } }; const w6 = { x: 0, y: 0, width: "100%", height: "100%" }; function GH(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function VVe(e) { return e.tag === "g" ? e.children : [e]; } var WVe = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? ES(r.split(" ").map((o) => o.trim())) : Mue(); return n.prefix || (n.prefix = Vf()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: l, icon: c } = o, { width: u, icon: f } = a, p = RLe({ transform: s, containerWidth: u, iconWidth: l }), v = { tag: "rect", attributes: Pe(Pe({}, w6), {}, { fill: "white" }) }, w = c.children ? { children: c.children.map(GH) } : {}, b = { tag: "g", attributes: Pe({}, p.inner), children: [GH(Pe({ tag: c.tag, attributes: Pe(Pe({}, c.attributes), p.path) }, w))] }, m = { tag: "g", attributes: Pe({}, p.outer), children: [b] }, x = "mask-".concat(i || j0()), O = "clip-".concat(i || j0()), E = { tag: "mask", attributes: Pe(Pe({}, w6), {}, { id: x, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [v, m] }, A = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: O }, children: VVe(f) }, E] }; return r.push(A, { tag: "rect", attributes: Pe({ fill: "currentColor", "clip-path": "url(#".concat(O, ")"), mask: "url(#".concat(x, ")") }, w6) }), { children: r, attributes: n }; }; } }, GVe = { provides(e) { let t = !1; Lf.matchMedia && (t = Lf.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: Pe(Pe({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = Pe(Pe({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: Pe(Pe({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: Pe(Pe({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: Pe(Pe({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: Pe(Pe({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: Pe(Pe({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: Pe(Pe({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: Pe(Pe({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, UVe = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, HVe = [zLe, PVe, CVe, NVe, _Ve, DVe, FVe, LVe, WVe, GVe, UVe]; tVe(HVe, { mixoutsTo: Oa }); Oa.noAuto; Oa.config; Oa.library; Oa.dom; const P_ = Oa.parse; Oa.findIconDefinition; Oa.toHtml; const YVe = Oa.icon; Oa.layer; Oa.text; Oa.counter; function BVe(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var Bw = { exports: {} }, k6 = { exports: {} }, Er = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var UH; function qVe() { if (UH) return Er; UH = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(h) { if (typeof h == "object" && h !== null) { var G = h.$$typeof; switch (G) { case t: switch (h = h.type, h) { case l: case c: case n: case a: case o: case f: return h; default: switch (h = h && h.$$typeof, h) { case s: case u: case w: case v: case i: return h; default: return G; } } case r: return G; } } } function A(h) { return E(h) === c; } return Er.AsyncMode = l, Er.ConcurrentMode = c, Er.ContextConsumer = s, Er.ContextProvider = i, Er.Element = t, Er.ForwardRef = u, Er.Fragment = n, Er.Lazy = w, Er.Memo = v, Er.Portal = r, Er.Profiler = a, Er.StrictMode = o, Er.Suspense = f, Er.isAsyncMode = function(h) { return A(h) || E(h) === l; }, Er.isConcurrentMode = A, Er.isContextConsumer = function(h) { return E(h) === s; }, Er.isContextProvider = function(h) { return E(h) === i; }, Er.isElement = function(h) { return typeof h == "object" && h !== null && h.$$typeof === t; }, Er.isForwardRef = function(h) { return E(h) === u; }, Er.isFragment = function(h) { return E(h) === n; }, Er.isLazy = function(h) { return E(h) === w; }, Er.isMemo = function(h) { return E(h) === v; }, Er.isPortal = function(h) { return E(h) === r; }, Er.isProfiler = function(h) { return E(h) === a; }, Er.isStrictMode = function(h) { return E(h) === o; }, Er.isSuspense = function(h) { return E(h) === f; }, Er.isValidElementType = function(h) { return typeof h == "string" || typeof h == "function" || h === n || h === c || h === a || h === o || h === f || h === p || typeof h == "object" && h !== null && (h.$$typeof === w || h.$$typeof === v || h.$$typeof === i || h.$$typeof === s || h.$$typeof === u || h.$$typeof === m || h.$$typeof === x || h.$$typeof === O || h.$$typeof === b); }, Er.typeOf = E, Er; } var Gr = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var HH; function XVe() { return HH || (HH = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === f || k === p || typeof k == "object" && k !== null && (k.$$typeof === w || k.$$typeof === v || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === m || k.$$typeof === x || k.$$typeof === O || k.$$typeof === b); } function A(k) { if (typeof k == "object" && k !== null) { var ne = k.$$typeof; switch (ne) { case t: var pe = k.type; switch (pe) { case l: case c: case n: case a: case o: case f: return pe; default: var He = pe && pe.$$typeof; switch (He) { case s: case u: case w: case v: case i: return He; default: return ne; } } case r: return ne; } } } var h = l, G = c, H = s, Z = i, J = t, X = u, ee = n, I = w, te = v, U = r, z = a, F = o, D = f, Y = !1; function q(k) { return Y || (Y = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), g(k) || A(k) === l; } function g(k) { return A(k) === c; } function d(k) { return A(k) === s; } function S(k) { return A(k) === i; } function C(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function P(k) { return A(k) === u; } function j(k) { return A(k) === n; } function _(k) { return A(k) === w; } function N(k) { return A(k) === v; } function M(k) { return A(k) === r; } function R(k) { return A(k) === a; } function T(k) { return A(k) === o; } function Q(k) { return A(k) === f; } Gr.AsyncMode = h, Gr.ConcurrentMode = G, Gr.ContextConsumer = H, Gr.ContextProvider = Z, Gr.Element = J, Gr.ForwardRef = X, Gr.Fragment = ee, Gr.Lazy = I, Gr.Memo = te, Gr.Portal = U, Gr.Profiler = z, Gr.StrictMode = F, Gr.Suspense = D, Gr.isAsyncMode = q, Gr.isConcurrentMode = g, Gr.isContextConsumer = d, Gr.isContextProvider = S, Gr.isElement = C, Gr.isForwardRef = P, Gr.isFragment = j, Gr.isLazy = _, Gr.isMemo = N, Gr.isPortal = M, Gr.isProfiler = R, Gr.isStrictMode = T, Gr.isSuspense = Q, Gr.isValidElementType = E, Gr.typeOf = A; }()), Gr; } var YH; function Wue() { return YH || (YH = 1, process.env.NODE_ENV === "production" ? k6.exports = qVe() : k6.exports = XVe()), k6.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var O6, BH; function KVe() { if (BH) return O6; BH = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var l = Object.getOwnPropertyNames(i).map(function(u) { return i[u]; }); if (l.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(u) { c[u] = u; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return O6 = o() ? Object.assign : function(a, i) { for (var s, l = n(a), c, u = 1; u < arguments.length; u++) { s = Object(arguments[u]); for (var f in s) t.call(s, f) && (l[f] = s[f]); if (e) { c = e(s); for (var p = 0; p < c.length; p++) r.call(s, c[p]) && (l[c[p]] = s[c[p]]); } } return l; }, O6; } var S6, qH; function OT() { if (qH) return S6; qH = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return S6 = e, S6; } var XH, KH; function Gue() { return KH || (KH = 1, XH = Function.call.bind(Object.prototype.hasOwnProperty)), XH; } var E6, JH; function JVe() { if (JH) return E6; JH = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ OT(), r = {}, n = /* @__PURE__ */ Gue(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, l, c) { if (process.env.NODE_ENV !== "production") { for (var u in a) if (n(a, u)) { var f; try { if (typeof a[u] != "function") { var p = Error( (l || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw p.name = "Invariant Violation", p; } f = a[u](i, u, l, s, null, t); } catch (w) { f = w; } if (f && !(f instanceof Error) && e( (l || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), f instanceof Error && !(f.message in r)) { r[f.message] = !0; var v = c ? c() : ""; e( "Failed " + s + " type: " + f.message + (v ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, E6 = o, E6; } var A6, QH; function QVe() { if (QH) return A6; QH = 1; var e = Wue(), t = KVe(), r = /* @__PURE__ */ OT(), n = /* @__PURE__ */ Gue(), o = /* @__PURE__ */ JVe(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var l = "Warning: " + s; typeof console < "u" && console.error(l); try { throw new Error(l); } catch { } }); function i() { return null; } return A6 = function(s, l) { var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator"; function f(g) { var d = g && (c && g[c] || g[u]); if (typeof d == "function") return d; } var p = "<>", v = { array: x("array"), bigint: x("bigint"), bool: x("boolean"), func: x("function"), number: x("number"), object: x("object"), string: x("string"), symbol: x("symbol"), any: O(), arrayOf: E, element: A(), elementType: h(), instanceOf: G, node: X(), objectOf: Z, oneOf: H, oneOfType: J, shape: I, exact: te }; function w(g, d) { return g === d ? g !== 0 || 1 / g === 1 / d : g !== g && d !== d; } function b(g, d) { this.message = g, this.data = d && typeof d == "object" ? d : {}, this.stack = ""; } b.prototype = Error.prototype; function m(g) { if (process.env.NODE_ENV !== "production") var d = {}, S = 0; function C(j, _, N, M, R, T, Q) { if (M = M || p, T = T || N, Q !== r) { if (l) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var ne = M + ":" + N; !d[ne] && // Avoid spamming the console because they are often not actionable except for lib authors S < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + M + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), d[ne] = !0, S++); } } return _[N] == null ? j ? _[N] === null ? new b("The " + R + " `" + T + "` is marked as required " + ("in `" + M + "`, but its value is `null`.")) : new b("The " + R + " `" + T + "` is marked as required in " + ("`" + M + "`, but its value is `undefined`.")) : null : g(_, N, M, R, T); } var P = C.bind(null, !1); return P.isRequired = C.bind(null, !0), P; } function x(g) { function d(S, C, P, j, _, N) { var M = S[C], R = F(M); if (R !== g) { var T = D(M); return new b( "Invalid " + j + " `" + _ + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."), { expectedType: g } ); } return null; } return m(d); } function O() { return m(i); } function E(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside arrayOf."); var N = S[C]; if (!Array.isArray(N)) { var M = F(N); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an array.")); } for (var R = 0; R < N.length; R++) { var T = g(N, R, P, j, _ + "[" + R + "]", r); if (T instanceof Error) return T; } return null; } return m(d); } function A() { function g(d, S, C, P, j) { var _ = d[S]; if (!s(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement.")); } return null; } return m(g); } function h() { function g(d, S, C, P, j) { var _ = d[S]; if (!e.isValidElementType(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement type.")); } return null; } return m(g); } function G(g) { function d(S, C, P, j, _) { if (!(S[C] instanceof g)) { var N = g.name || p, M = q(S[C]); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected ") + ("instance of `" + N + "`.")); } return null; } return m(d); } function H(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function d(S, C, P, j, _) { for (var N = S[C], M = 0; M < g.length; M++) if (w(N, g[M])) return null; var R = JSON.stringify(g, function(T, Q) { var k = D(Q); return k === "symbol" ? String(Q) : Q; }); return new b("Invalid " + j + " `" + _ + "` of value `" + String(N) + "` " + ("supplied to `" + P + "`, expected one of " + R + ".")); } return m(d); } function Z(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside objectOf."); var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an object.")); for (var R in N) if (n(N, R)) { var T = g(N, R, P, j, _ + "." + R, r); if (T instanceof Error) return T; } return null; } return m(d); } function J(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var d = 0; d < g.length; d++) { var S = g[d]; if (typeof S != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(S) + " at index " + d + "." ), i; } function C(P, j, _, N, M) { for (var R = [], T = 0; T < g.length; T++) { var Q = g[T], k = Q(P, j, _, N, M, r); if (k == null) return null; k.data && n(k.data, "expectedType") && R.push(k.data.expectedType); } var ne = R.length > 0 ? ", expected one of type [" + R.join(", ") + "]" : ""; return new b("Invalid " + N + " `" + M + "` supplied to " + ("`" + _ + "`" + ne + ".")); } return m(C); } function X() { function g(d, S, C, P, j) { return U(d[S]) ? null : new b("Invalid " + P + " `" + j + "` supplied to " + ("`" + C + "`, expected a ReactNode.")); } return m(g); } function ee(g, d, S, C, P) { return new b( (g || "React class") + ": " + d + " type `" + S + "." + C + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`." ); } function I(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); for (var R in g) { var T = g[R]; if (typeof T != "function") return ee(P, j, _, R, D(T)); var Q = T(N, R, P, j, _ + "." + R, r); if (Q) return Q; } return null; } return m(d); } function te(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); var R = t({}, S[C], g); for (var T in R) { var Q = g[T]; if (n(g, T) && typeof Q != "function") return ee(P, j, _, T, D(Q)); if (!Q) return new b( "Invalid " + j + " `" + _ + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(S[C], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(g), null, " ") ); var k = Q(N, T, P, j, _ + "." + T, r); if (k) return k; } return null; } return m(d); } function U(g) { switch (typeof g) { case "number": case "string": case "undefined": return !0; case "boolean": return !g; case "object": if (Array.isArray(g)) return g.every(U); if (g === null || s(g)) return !0; var d = f(g); if (d) { var S = d.call(g), C; if (d !== g.entries) { for (; !(C = S.next()).done; ) if (!U(C.value)) return !1; } else for (; !(C = S.next()).done; ) { var P = C.value; if (P && !U(P[1])) return !1; } } else return !1; return !0; default: return !1; } } function z(g, d) { return g === "symbol" ? !0 : d ? d["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && d instanceof Symbol : !1; } function F(g) { var d = typeof g; return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : z(d, g) ? "symbol" : d; } function D(g) { if (typeof g > "u" || g === null) return "" + g; var d = F(g); if (d === "object") { if (g instanceof Date) return "date"; if (g instanceof RegExp) return "regexp"; } return d; } function Y(g) { var d = D(g); switch (d) { case "array": case "object": return "an " + d; case "boolean": case "date": case "regexp": return "a " + d; default: return d; } } function q(g) { return !g.constructor || !g.constructor.name ? p : g.constructor.name; } return v.checkPropTypes = o, v.resetWarningCache = o.resetWarningCache, v.PropTypes = v, v; }, A6; } var $6, ZH; function ZVe() { if (ZH) return $6; ZH = 1; var e = /* @__PURE__ */ OT(); function t() { } function r() { } return r.resetWarningCache = t, $6 = function() { function n(i, s, l, c, u, f) { if (f !== e) { var p = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw p.name = "Invariant Violation", p; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, $6; } var eY; function eWe() { if (eY) return Bw.exports; if (eY = 1, process.env.NODE_ENV !== "production") { var e = Wue(), t = !0; Bw.exports = /* @__PURE__ */ QVe()(e.isElement, t); } else Bw.exports = /* @__PURE__ */ ZVe()(); return Bw.exports; } var tWe = /* @__PURE__ */ eWe(); const nr = /* @__PURE__ */ BVe(tWe); function tY(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Bi(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? tY(Object(r), !0).forEach(function(n) { Rg(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : tY(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function P5(e) { "@babel/helpers - typeof"; return P5 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, P5(e); } function Rg(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function rWe(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function nWe(e, t) { if (e == null) return {}; var r = rWe(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function C_(e) { return oWe(e) || aWe(e) || iWe(e) || sWe(); } function oWe(e) { if (Array.isArray(e)) return N_(e); } function aWe(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function iWe(e, t) { if (e) { if (typeof e == "string") return N_(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return N_(e, t); } } function N_(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function sWe() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function lWe(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, p = e.fixedWidth, v = e.inverse, w = e.border, b = e.listItem, m = e.flip, x = e.size, O = e.rotation, E = e.pull, A = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": l, "fa-spin-reverse": u, "fa-spin-pulse": c, "fa-pulse": f, "fa-fw": p, "fa-inverse": v, "fa-border": w, "fa-li": b, "fa-flip": m === !0, "fa-flip-horizontal": m === "horizontal" || m === "both", "fa-flip-vertical": m === "vertical" || m === "both" }, Rg(t, "fa-".concat(x), typeof x < "u" && x !== null), Rg(t, "fa-rotate-".concat(O), typeof O < "u" && O !== null && O !== 0), Rg(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), Rg(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(A).map(function(h) { return A[h] ? h : null; }).filter(function(h) { return h; }); } function cWe(e) { return e = e - 0, e === e; } function Uue(e) { return cWe(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var uWe = ["style"]; function fWe(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function dWe(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = Uue(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[fWe(o)] = a : t[o] = a, t; }, {}); } function Hue(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(l) { return Hue(e, l); }), o = Object.keys(t.attributes || {}).reduce(function(l, c) { var u = t.attributes[c]; switch (c) { case "class": l.attrs.className = u, delete t.attributes.class; break; case "style": l.attrs.style = dWe(u); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[Uue(c)] = u; } return l; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = nWe(r, uWe); return o.attrs.style = Bi(Bi({}, o.attrs.style), i), e.apply(void 0, [t.tag, Bi(Bi({}, o.attrs), s)].concat(C_(n))); } var Yue = !1; try { Yue = process.env.NODE_ENV === "production"; } catch { } function pWe() { if (!Yue && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function rY(e) { if (e && P5(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (P_.icon) return P_.icon(e); if (e === null) return null; if (e && P5(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function P6(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Rg({}, e, t) : {}; } var nY = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, ST = /* @__PURE__ */ de.forwardRef(function(e, t) { var r = Bi(Bi({}, nY), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = rY(n), f = P6("classes", [].concat(C_(lWe(r)), C_((i || "").split(" ")))), p = P6("transform", typeof r.transform == "string" ? P_.transform(r.transform) : r.transform), v = P6("mask", rY(o)), w = YVe(u, Bi(Bi(Bi(Bi({}, f), p), v), {}, { symbol: a, title: s, titleId: l, maskId: c })); if (!w) return pWe("Could not find icon", u), null; var b = w.abstract, m = { ref: t }; return Object.keys(r).forEach(function(x) { nY.hasOwnProperty(x) || (m[x] = r[x]); }), mWe(b[0], m); }); ST.displayName = "FontAwesomeIcon"; ST.propTypes = { beat: nr.bool, border: nr.bool, beatFade: nr.bool, bounce: nr.bool, className: nr.string, fade: nr.bool, flash: nr.bool, mask: nr.oneOfType([nr.object, nr.array, nr.string]), maskId: nr.string, fixedWidth: nr.bool, inverse: nr.bool, flip: nr.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: nr.oneOfType([nr.object, nr.array, nr.string]), listItem: nr.bool, pull: nr.oneOf(["right", "left"]), pulse: nr.bool, rotation: nr.oneOf([0, 90, 180, 270]), shake: nr.bool, size: nr.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: nr.bool, spinPulse: nr.bool, spinReverse: nr.bool, symbol: nr.oneOfType([nr.bool, nr.string]), title: nr.string, titleId: nr.string, transform: nr.oneOfType([nr.string, nr.object]), swapOpacity: nr.bool }; var mWe = Hue.bind(null, de.createElement); const ET = "-", gWe = (e) => { const t = bWe(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(ET); return a[0] === "" && a.length !== 1 && a.shift(), Bue(a, t) || hWe(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, Bue = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? Bue(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(ET); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, oY = /^\[(.+)\]$/, hWe = (e) => { if (oY.test(e)) { const t = oY.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, bWe = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return vWe(Object.entries(e.classGroups), r).forEach(([o, a]) => { __(a, n, o, t); }), n; }, __ = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : aY(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (yWe(o)) { __(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { __(i, aY(t, a), r, n); }); }); }, aY = (e, t) => { let r = e; return t.split(ET).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, yWe = (e) => e.isThemeGetter, vWe = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, xWe = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, que = "!", wWe = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(que), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, kWe = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, OWe = (e) => ({ cache: xWe(e.cacheSize), parseClassName: wWe(e), ...gWe(e) }), SWe = /\s+/, EWe = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(SWe); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = kWe(u).join(":"), x = f ? m + que : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function AWe() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = Xue(t)) && (n && (n += " "), n += r); return n; } const Xue = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = Xue(e[n])) && (r && (r += " "), r += t); return r; }; function $We(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = OWe(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = EWe(l, r); return o(l, u), u; } return function() { return a(AWe.apply(null, arguments)); }; } const mn = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, Kue = /^\[(?:([a-z-]+):)?(.+)\]$/i, PWe = /^\d+\/\d+$/, CWe = /* @__PURE__ */ new Set(["px", "full", "screen"]), NWe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, _We = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, jWe = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, IWe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, RWe = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, il = (e) => Oh(e) || CWe.has(e) || PWe.test(e), ou = (e) => Fb(e, "length", WWe), Oh = (e) => !!e && !Number.isNaN(Number(e)), C6 = (e) => Fb(e, "number", Oh), zy = (e) => !!e && Number.isInteger(Number(e)), MWe = (e) => e.endsWith("%") && Oh(e.slice(0, -1)), Pt = (e) => Kue.test(e), au = (e) => NWe.test(e), TWe = /* @__PURE__ */ new Set(["length", "size", "percentage"]), zWe = (e) => Fb(e, TWe, Jue), DWe = (e) => Fb(e, "position", Jue), FWe = /* @__PURE__ */ new Set(["image", "url"]), LWe = (e) => Fb(e, FWe, UWe), VWe = (e) => Fb(e, "", GWe), Dy = () => !0, Fb = (e, t, r) => { const n = Kue.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, WWe = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. _We.test(e) && !jWe.test(e) ), Jue = () => !1, GWe = (e) => IWe.test(e), UWe = (e) => RWe.test(e), HWe = () => { const e = mn("colors"), t = mn("spacing"), r = mn("blur"), n = mn("brightness"), o = mn("borderColor"), a = mn("borderRadius"), i = mn("borderSpacing"), s = mn("borderWidth"), l = mn("contrast"), c = mn("grayscale"), u = mn("hueRotate"), f = mn("invert"), p = mn("gap"), v = mn("gradientColorStops"), w = mn("gradientColorStopPositions"), b = mn("inset"), m = mn("margin"), x = mn("opacity"), O = mn("padding"), E = mn("saturate"), A = mn("scale"), h = mn("sepia"), G = mn("skew"), H = mn("space"), Z = mn("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", Pt, t], I = () => [Pt, t], te = () => ["", il, ou], U = () => ["auto", Oh, Pt], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", Pt], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [Oh, Pt]; return { cacheSize: 500, separator: ":", theme: { colors: [Dy], spacing: [il, ou], blur: ["none", "", au, Pt], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", au, Pt], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [MWe, ou], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", Pt] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [au] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), Pt] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", zy, Pt] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", Pt] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", zy, Pt] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [Dy] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", zy, Pt] }, Pt] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [Dy] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [zy, Pt] }, Pt] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", Pt] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", Pt] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", Pt, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [Pt, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [Pt, t, "none", "full", "min", "max", "fit", "prose", { screen: [au] }, au] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [Pt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [Pt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [Pt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [Pt, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", au, ou] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", C6] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [Dy] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", Pt] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", Oh, C6] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", il, Pt] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", Pt] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", Pt] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", il, ou] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", il, Pt] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Pt] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", Pt] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), DWe] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", zWe] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, LWe] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [il, Pt] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [il, ou] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [il, ou] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", au, VWe] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [Dy] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", au, Pt] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", Pt] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", Pt] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", Pt] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [zy, Pt] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", Pt] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", Pt] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", Pt] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [il, ou, C6] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, YWe = /* @__PURE__ */ $We(HWe), BWe = ({ onClick: e, className: t, size: r = "md" }) => /* @__PURE__ */ B( "button", { onClick: e, className: YWe( "flex items-center justify-center rounded-full bg-black/40 text-white/60 transition-all hover:bg-black/70 hover:text-white", { sm: "h-5 w-5 text-sm", md: "h-7 w-7 text-md", lg: "h-9 w-9 text-xl" }[r], t ), children: /* @__PURE__ */ B(ST, { icon: HFe }) } ); var AT = Ix(), xt = (e) => jx(e, AT), $T = Ix(); xt.write = (e) => jx(e, $T); var $S = Ix(); xt.onStart = (e) => jx(e, $S); var PT = Ix(); xt.onFrame = (e) => jx(e, PT); var CT = Ix(); xt.onFinish = (e) => jx(e, CT); var Sh = []; xt.setTimeout = (e, t) => { const r = xt.now() + t, n = () => { const a = Sh.findIndex((i) => i.cancel == n); ~a && Sh.splice(a, 1), sf -= ~a ? 1 : 0; }, o = { time: r, handler: e, cancel: n }; return Sh.splice(Que(r), 0, o), sf += 1, Zue(), o; }; var Que = (e) => ~(~Sh.findIndex((t) => t.time > e) || ~Sh.length); xt.cancel = (e) => { $S.delete(e), PT.delete(e), CT.delete(e), AT.delete(e), $T.delete(e); }; xt.sync = (e) => { j_ = !0, xt.batchedUpdates(e), j_ = !1; }; xt.throttle = (e) => { let t; function r() { try { e(...t); } finally { t = null; } } function n(...o) { t = o, xt.onStart(r); } return n.handler = e, n.cancel = () => { $S.delete(r), t = null; }, n; }; var NT = typeof window < "u" ? window.requestAnimationFrame : ( // eslint-disable-next-line @typescript-eslint/no-empty-function () => { } ); xt.use = (e) => NT = e; xt.now = typeof performance < "u" ? () => performance.now() : Date.now; xt.batchedUpdates = (e) => e(); xt.catch = console.error; xt.frameLoop = "always"; xt.advance = () => { xt.frameLoop !== "demand" ? console.warn( "Cannot call the manual advancement of rafz whilst frameLoop is not set as demand" ) : tfe(); }; var af = -1, sf = 0, j_ = !1; function jx(e, t) { j_ ? (t.delete(e), e(0)) : (t.add(e), Zue()); } function Zue() { af < 0 && (af = 0, xt.frameLoop !== "demand" && NT(efe)); } function qWe() { af = -1; } function efe() { ~af && (NT(efe), xt.batchedUpdates(tfe)); } function tfe() { const e = af; af = xt.now(); const t = Que(af); if (t && (rfe(Sh.splice(0, t), (r) => r.handler()), sf -= t), !sf) { qWe(); return; } $S.flush(), AT.flush(e ? Math.min(64, af - e) : 16.667), PT.flush(), $T.flush(), CT.flush(); } function Ix() { let e = /* @__PURE__ */ new Set(), t = e; return { add(r) { sf += t == e && !e.has(r) ? 1 : 0, e.add(r); }, delete(r) { return sf -= t == e && e.has(r) ? 1 : 0, e.delete(r); }, flush(r) { t.size && (e = /* @__PURE__ */ new Set(), sf -= t.size, rfe(t, (n) => n(r) && e.add(n)), sf += e.size, t = e); } }; } function rfe(e, t) { e.forEach((r) => { try { t(r); } catch (n) { xt.catch(n); } }); } var XWe = Object.defineProperty, KWe = (e, t) => { for (var r in t) XWe(e, r, { get: t[r], enumerable: !0 }); }, Ni = {}; KWe(Ni, { assign: () => QWe, colors: () => yf, createStringInterpolator: () => jT, skipAnimation: () => ofe, to: () => nfe, willAdvance: () => IT }); function I_() { } var JWe = (e, t, r) => Object.defineProperty(e, t, { value: r, writable: !0, configurable: !0 }), Ve = { arr: Array.isArray, obj: (e) => !!e && e.constructor.name === "Object", fun: (e) => typeof e == "function", str: (e) => typeof e == "string", num: (e) => typeof e == "number", und: (e) => e === void 0 }; function Pl(e, t) { if (Ve.arr(e)) { if (!Ve.arr(t) || e.length !== t.length) return !1; for (let r = 0; r < e.length; r++) if (e[r] !== t[r]) return !1; return !0; } return e === t; } var Yt = (e, t) => e.forEach(t); function Ys(e, t, r) { if (Ve.arr(e)) { for (let n = 0; n < e.length; n++) t.call(r, e[n], `${n}`); return; } for (const n in e) e.hasOwnProperty(n) && t.call(r, e[n], n); } var Jo = (e) => Ve.und(e) ? [] : Ve.arr(e) ? e : [e]; function x1(e, t) { if (e.size) { const r = Array.from(e); e.clear(), Yt(r, t); } } var Mv = (e, ...t) => x1(e, (r) => r(...t)), _T = () => typeof window > "u" || !window.navigator || /ServerSideRendering|^Deno\//.test(window.navigator.userAgent), jT, nfe, yf = null, ofe = !1, IT = I_, QWe = (e) => { e.to && (nfe = e.to), e.now && (xt.now = e.now), e.colors !== void 0 && (yf = e.colors), e.skipAnimation != null && (ofe = e.skipAnimation), e.createStringInterpolator && (jT = e.createStringInterpolator), e.requestAnimationFrame && xt.use(e.requestAnimationFrame), e.batchedUpdates && (xt.batchedUpdates = e.batchedUpdates), e.willAdvance && (IT = e.willAdvance), e.frameLoop && (xt.frameLoop = e.frameLoop); }, w1 = /* @__PURE__ */ new Set(), Ha = [], N6 = [], C5 = 0, PS = { get idle() { return !w1.size && !Ha.length; }, /** Advance the given animation on every frame until idle. */ start(e) { C5 > e.priority ? (w1.add(e), xt.onStart(ZWe)) : (afe(e), xt(R_)); }, /** Advance all animations by the given time. */ advance: R_, /** Call this when an animation's priority changes. */ sort(e) { if (C5) xt.onFrame(() => PS.sort(e)); else { const t = Ha.indexOf(e); ~t && (Ha.splice(t, 1), ife(e)); } }, /** * Clear all animations. For testing purposes. * * ☠️ Never call this from within the frameloop. */ clear() { Ha = [], w1.clear(); } }; function ZWe() { w1.forEach(afe), w1.clear(), xt(R_); } function afe(e) { Ha.includes(e) || ife(e); } function ife(e) { Ha.splice( eGe(Ha, (t) => t.priority > e.priority), 0, e ); } function R_(e) { const t = N6; for (let r = 0; r < Ha.length; r++) { const n = Ha[r]; C5 = n.priority, n.idle || (IT(n), n.advance(e), n.idle || t.push(n)); } return C5 = 0, N6 = Ha, N6.length = 0, Ha = t, Ha.length > 0; } function eGe(e, t) { const r = e.findIndex(t); return r < 0 ? e.length : r; } var tGe = { transparent: 0, aliceblue: 4042850303, antiquewhite: 4209760255, aqua: 16777215, aquamarine: 2147472639, azure: 4043309055, beige: 4126530815, bisque: 4293182719, black: 255, blanchedalmond: 4293643775, blue: 65535, blueviolet: 2318131967, brown: 2771004159, burlywood: 3736635391, burntsienna: 3934150143, cadetblue: 1604231423, chartreuse: 2147418367, chocolate: 3530104575, coral: 4286533887, cornflowerblue: 1687547391, cornsilk: 4294499583, crimson: 3692313855, cyan: 16777215, darkblue: 35839, darkcyan: 9145343, darkgoldenrod: 3095792639, darkgray: 2846468607, darkgreen: 6553855, darkgrey: 2846468607, darkkhaki: 3182914559, darkmagenta: 2332068863, darkolivegreen: 1433087999, darkorange: 4287365375, darkorchid: 2570243327, darkred: 2332033279, darksalmon: 3918953215, darkseagreen: 2411499519, darkslateblue: 1211993087, darkslategray: 793726975, darkslategrey: 793726975, darkturquoise: 13554175, darkviolet: 2483082239, deeppink: 4279538687, deepskyblue: 12582911, dimgray: 1768516095, dimgrey: 1768516095, dodgerblue: 512819199, firebrick: 2988581631, floralwhite: 4294635775, forestgreen: 579543807, fuchsia: 4278255615, gainsboro: 3705462015, ghostwhite: 4177068031, gold: 4292280575, goldenrod: 3668254975, gray: 2155905279, green: 8388863, greenyellow: 2919182335, grey: 2155905279, honeydew: 4043305215, hotpink: 4285117695, indianred: 3445382399, indigo: 1258324735, ivory: 4294963455, khaki: 4041641215, lavender: 3873897215, lavenderblush: 4293981695, lawngreen: 2096890111, lemonchiffon: 4294626815, lightblue: 2916673279, lightcoral: 4034953471, lightcyan: 3774873599, lightgoldenrodyellow: 4210742015, lightgray: 3553874943, lightgreen: 2431553791, lightgrey: 3553874943, lightpink: 4290167295, lightsalmon: 4288707327, lightseagreen: 548580095, lightskyblue: 2278488831, lightslategray: 2005441023, lightslategrey: 2005441023, lightsteelblue: 2965692159, lightyellow: 4294959359, lime: 16711935, limegreen: 852308735, linen: 4210091775, magenta: 4278255615, maroon: 2147483903, mediumaquamarine: 1724754687, mediumblue: 52735, mediumorchid: 3126187007, mediumpurple: 2473647103, mediumseagreen: 1018393087, mediumslateblue: 2070474495, mediumspringgreen: 16423679, mediumturquoise: 1221709055, mediumvioletred: 3340076543, midnightblue: 421097727, mintcream: 4127193855, mistyrose: 4293190143, moccasin: 4293178879, navajowhite: 4292783615, navy: 33023, oldlace: 4260751103, olive: 2155872511, olivedrab: 1804477439, orange: 4289003775, orangered: 4282712319, orchid: 3664828159, palegoldenrod: 4008225535, palegreen: 2566625535, paleturquoise: 2951671551, palevioletred: 3681588223, papayawhip: 4293907967, peachpuff: 4292524543, peru: 3448061951, pink: 4290825215, plum: 3718307327, powderblue: 2967529215, purple: 2147516671, rebeccapurple: 1714657791, red: 4278190335, rosybrown: 3163525119, royalblue: 1097458175, saddlebrown: 2336560127, salmon: 4202722047, sandybrown: 4104413439, seagreen: 780883967, seashell: 4294307583, sienna: 2689740287, silver: 3233857791, skyblue: 2278484991, slateblue: 1784335871, slategray: 1887473919, slategrey: 1887473919, snow: 4294638335, springgreen: 16744447, steelblue: 1182971135, tan: 3535047935, teal: 8421631, thistle: 3636451583, tomato: 4284696575, turquoise: 1088475391, violet: 4001558271, wheat: 4125012991, white: 4294967295, whitesmoke: 4126537215, yellow: 4294902015, yellowgreen: 2597139199 }, $i = "[-+]?\\d*\\.?\\d+", N5 = $i + "%"; function CS(...e) { return "\\(\\s*(" + e.join(")\\s*,\\s*(") + ")\\s*\\)"; } var rGe = new RegExp("rgb" + CS($i, $i, $i)), nGe = new RegExp("rgba" + CS($i, $i, $i, $i)), oGe = new RegExp("hsl" + CS($i, N5, N5)), aGe = new RegExp( "hsla" + CS($i, N5, N5, $i) ), iGe = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, sGe = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, lGe = /^#([0-9a-fA-F]{6})$/, cGe = /^#([0-9a-fA-F]{8})$/; function uGe(e) { let t; return typeof e == "number" ? e >>> 0 === e && e >= 0 && e <= 4294967295 ? e : null : (t = lGe.exec(e)) ? parseInt(t[1] + "ff", 16) >>> 0 : yf && yf[e] !== void 0 ? yf[e] : (t = rGe.exec(e)) ? (cg(t[1]) << 24 | // r cg(t[2]) << 16 | // g cg(t[3]) << 8 | // b 255) >>> // a 0 : (t = nGe.exec(e)) ? (cg(t[1]) << 24 | // r cg(t[2]) << 16 | // g cg(t[3]) << 8 | // b lY(t[4])) >>> // a 0 : (t = iGe.exec(e)) ? parseInt( t[1] + t[1] + // r t[2] + t[2] + // g t[3] + t[3] + // b "ff", // a 16 ) >>> 0 : (t = cGe.exec(e)) ? parseInt(t[1], 16) >>> 0 : (t = sGe.exec(e)) ? parseInt( t[1] + t[1] + // r t[2] + t[2] + // g t[3] + t[3] + // b t[4] + t[4], // a 16 ) >>> 0 : (t = oGe.exec(e)) ? (iY( sY(t[1]), // h qw(t[2]), // s qw(t[3]) // l ) | 255) >>> // a 0 : (t = aGe.exec(e)) ? (iY( sY(t[1]), // h qw(t[2]), // s qw(t[3]) // l ) | lY(t[4])) >>> // a 0 : null; } function _6(e, t, r) { return r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? e + (t - e) * 6 * r : r < 1 / 2 ? t : r < 2 / 3 ? e + (t - e) * (2 / 3 - r) * 6 : e; } function iY(e, t, r) { const n = r < 0.5 ? r * (1 + t) : r + t - r * t, o = 2 * r - n, a = _6(o, n, e + 1 / 3), i = _6(o, n, e), s = _6(o, n, e - 1 / 3); return Math.round(a * 255) << 24 | Math.round(i * 255) << 16 | Math.round(s * 255) << 8; } function cg(e) { const t = parseInt(e, 10); return t < 0 ? 0 : t > 255 ? 255 : t; } function sY(e) { return (parseFloat(e) % 360 + 360) % 360 / 360; } function lY(e) { const t = parseFloat(e); return t < 0 ? 0 : t > 1 ? 255 : Math.round(t * 255); } function qw(e) { const t = parseFloat(e); return t < 0 ? 0 : t > 100 ? 1 : t / 100; } function cY(e) { let t = uGe(e); if (t === null) return e; t = t || 0; const r = (t & 4278190080) >>> 24, n = (t & 16711680) >>> 16, o = (t & 65280) >>> 8, a = (t & 255) / 255; return `rgba(${r}, ${n}, ${o}, ${a})`; } var R0 = (e, t, r) => { if (Ve.fun(e)) return e; if (Ve.arr(e)) return R0({ range: e, output: t, extrapolate: r }); if (Ve.str(e.output[0])) return jT(e); const n = e, o = n.output, a = n.range || [0, 1], i = n.extrapolateLeft || n.extrapolate || "extend", s = n.extrapolateRight || n.extrapolate || "extend", l = n.easing || ((c) => c); return (c) => { const u = dGe(c, a); return fGe( c, a[u], a[u + 1], o[u], o[u + 1], l, i, s, n.map ); }; }; function fGe(e, t, r, n, o, a, i, s, l) { let c = l ? l(e) : e; if (c < t) { if (i === "identity") return c; i === "clamp" && (c = t); } if (c > r) { if (s === "identity") return c; s === "clamp" && (c = r); } return n === o ? n : t === r ? e <= t ? n : o : (t === -1 / 0 ? c = -c : r === 1 / 0 ? c = c - t : c = (c - t) / (r - t), c = a(c), n === -1 / 0 ? c = -c : o === 1 / 0 ? c = c + n : c = c * (o - n) + n, c); } function dGe(e, t) { for (var r = 1; r < t.length - 1 && !(t[r] >= e); ++r) ; return r - 1; } var pGe = { linear: (e) => e }, M0 = Symbol.for("FluidValue.get"), lb = Symbol.for("FluidValue.observers"), Va = (e) => !!(e && e[M0]), ua = (e) => e && e[M0] ? e[M0]() : e, uY = (e) => e[lb] || null; function mGe(e, t) { e.eventObserved ? e.eventObserved(t) : e(t); } function T0(e, t) { const r = e[lb]; r && r.forEach((n) => { mGe(n, t); }); } var sfe = class { constructor(e) { if (!e && !(e = this.get)) throw Error("Unknown getter"); gGe(this, e); } }, gGe = (e, t) => lfe(e, M0, t); function Lb(e, t) { if (e[M0]) { let r = e[lb]; r || lfe(e, lb, r = /* @__PURE__ */ new Set()), r.has(t) || (r.add(t), e.observerAdded && e.observerAdded(r.size, t)); } return t; } function z0(e, t) { const r = e[lb]; if (r && r.has(t)) { const n = r.size - 1; n ? r.delete(t) : e[lb] = null, e.observerRemoved && e.observerRemoved(n, t); } } var lfe = (e, t, r) => Object.defineProperty(e, t, { value: r, writable: !0, configurable: !0 }), pk = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, hGe = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi, fY = new RegExp(`(${pk.source})(%|[a-z]+)`, "i"), bGe = /rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, NS = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/, cfe = (e) => { const [t, r] = yGe(e); if (!t || _T()) return e; const n = window.getComputedStyle(document.documentElement).getPropertyValue(t); return n ? n.trim() : r && r.startsWith("--") ? window.getComputedStyle(document.documentElement).getPropertyValue(r) || e : r && NS.test(r) ? cfe(r) : r || e; }, yGe = (e) => { const t = NS.exec(e); if (!t) return [,]; const [, r, n] = t; return [r, n]; }, j6, vGe = (e, t, r, n, o) => `rgba(${Math.round(t)}, ${Math.round(r)}, ${Math.round(n)}, ${o})`, ufe = (e) => { j6 || (j6 = yf ? ( // match color names, ignore partial matches new RegExp(`(${Object.keys(yf).join("|")})(?!\\w)`, "g") ) : ( // never match /^\b$/ )); const t = e.output.map((o) => ua(o).replace(NS, cfe).replace(hGe, cY).replace(j6, cY)), r = t.map((o) => o.match(pk).map(Number)), n = r[0].map( (o, a) => r.map((i) => { if (!(a in i)) throw Error('The arity of each "output" value must be equal'); return i[a]; }) ).map( (o) => R0({ ...e, output: o }) ); return (o) => { var a; const i = !fY.test(t[0]) && ((a = t.find((l) => fY.test(l))) == null ? void 0 : a.replace(pk, "")); let s = 0; return t[0].replace( pk, () => `${n[s++](o)}${i || ""}` ).replace(bGe, vGe); }; }, RT = "react-spring: ", ffe = (e) => { const t = e; let r = !1; if (typeof t != "function") throw new TypeError(`${RT}once requires a function parameter`); return (...n) => { r || (t(...n), r = !0); }; }, xGe = ffe(console.warn); function wGe() { xGe( `${RT}The "interpolate" function is deprecated in v9 (use "to" instead)` ); } var kGe = ffe(console.warn); function OGe() { kGe( `${RT}Directly calling start instead of using the api object is deprecated in v9 (use ".start" instead), this will be removed in later 0.X.0 versions` ); } function _S(e) { return Ve.str(e) && (e[0] == "#" || /\d/.test(e) || // Do not identify a CSS variable as an AnimatedString if its SSR !_T() && NS.test(e) || e in (yf || {})); } var Mg = _T() ? xe : qs, SGe = () => { const e = ce(!1); return Mg(() => (e.current = !0, () => { e.current = !1; }), []), e; }; function dfe() { const e = We()[1], t = SGe(); return () => { t.current && e(Math.random()); }; } var pfe = (e) => xe(e, EGe), EGe = []; function AGe(e) { const t = ce(void 0); return xe(() => { t.current = e; }), t.current; } var D0 = Symbol.for("Animated:node"), $Ge = (e) => !!e && e[D0] === e, Li = (e) => e && e[D0], MT = (e, t) => JWe(e, D0, t), jS = (e) => e && e[D0] && e[D0].getPayload(), mfe = class { constructor() { MT(this, this); } /** Get every `AnimatedValue` used by this node. */ getPayload() { return this.payload || []; } }, IS = class gfe extends mfe { constructor(t) { super(), this._value = t, this.done = !0, this.durationProgress = 0, Ve.num(this._value) && (this.lastPosition = this._value); } /** @internal */ static create(t) { return new gfe(t); } getPayload() { return [this]; } getValue() { return this._value; } setValue(t, r) { return Ve.num(t) && (this.lastPosition = t, r && (t = Math.round(t / r) * r, this.done && (this.lastPosition = t))), this._value === t ? !1 : (this._value = t, !0); } reset() { const { done: t } = this; this.done = !1, Ve.num(this._value) && (this.elapsedTime = 0, this.durationProgress = 0, this.lastPosition = this._value, t && (this.lastVelocity = null), this.v0 = null); } }, _5 = class hfe extends IS { constructor(t) { super(0), this._string = null, this._toString = R0({ output: [t, t] }); } /** @internal */ static create(t) { return new hfe(t); } getValue() { return this._string ?? (this._string = this._toString(this._value)); } setValue(t) { if (Ve.str(t)) { if (t == this._string) return !1; this._string = t, this._value = 1; } else if (super.setValue(t)) this._string = null; else return !1; return !0; } reset(t) { t && (this._toString = R0({ output: [this.getValue(), t] })), this._value = 0, super.reset(); } }, j5 = { dependencies: null }, RS = class extends mfe { constructor(e) { super(), this.source = e, this.setValue(e); } getValue(e) { const t = {}; return Ys(this.source, (r, n) => { $Ge(r) ? t[n] = r.getValue(e) : Va(r) ? t[n] = ua(r) : e || (t[n] = r); }), t; } /** Replace the raw object data */ setValue(e) { this.source = e, this.payload = this._makePayload(e); } reset() { this.payload && Yt(this.payload, (e) => e.reset()); } /** Create a payload set. */ _makePayload(e) { if (e) { const t = /* @__PURE__ */ new Set(); return Ys(e, this._addToPayload, t), Array.from(t); } } /** Add to a payload set. */ _addToPayload(e) { j5.dependencies && Va(e) && j5.dependencies.add(e); const t = jS(e); t && Yt(t, (r) => this.add(r)); } }, PGe = class bfe extends RS { constructor(t) { super(t); } /** @internal */ static create(t) { return new bfe(t); } getValue() { return this.source.map((t) => t.getValue()); } setValue(t) { const r = this.getPayload(); return t.length == r.length ? r.map((n, o) => n.setValue(t[o])).some(Boolean) : (super.setValue(t.map(CGe)), !0); } }; function CGe(e) { return (_S(e) ? _5 : IS).create(e); } function M_(e) { const t = Li(e); return t ? t.constructor : Ve.arr(e) ? PGe : _S(e) ? _5 : IS; } var dY = (e, t) => { const r = ( // Function components must use "forwardRef" to avoid being // re-rendered on every animation frame. !Ve.fun(e) || e.prototype && e.prototype.isReactComponent ); return Ym((n, o) => { const a = ce(null), i = r && // eslint-disable-next-line react-hooks/rules-of-hooks dt( (w) => { a.current = jGe(o, w); }, [o] ), [s, l] = _Ge(n, t), c = dfe(), u = () => { const w = a.current; r && !w || (w ? t.applyAnimatedValues(w, s.getValue(!0)) : !1) === !1 && c(); }, f = new NGe(u, l), p = ce(void 0); Mg(() => (p.current = f, Yt(l, (w) => Lb(w, f)), () => { p.current && (Yt( p.current.deps, (w) => z0(w, p.current) ), xt.cancel(p.current.update)); })), xe(u, []), pfe(() => () => { const w = p.current; Yt(w.deps, (b) => z0(b, w)); }); const v = t.getComponentProps(s.getValue()); return /* @__PURE__ */ V.createElement(e, { ...v, ref: i }); }); }, NGe = class { constructor(e, t) { this.update = e, this.deps = t; } eventObserved(e) { e.type == "change" && xt.write(this.update); } }; function _Ge(e, t) { const r = /* @__PURE__ */ new Set(); return j5.dependencies = r, e.style && (e = { ...e, style: t.createAnimatedStyle(e.style) }), e = new RS(e), j5.dependencies = null, [e, r]; } function jGe(e, t) { return e && (Ve.fun(e) ? e(t) : e.current = t), t; } var pY = Symbol.for("AnimatedComponent"), IGe = (e, { applyAnimatedValues: t = () => !1, createAnimatedStyle: r = (o) => new RS(o), getComponentProps: n = (o) => o } = {}) => { const o = { applyAnimatedValues: t, createAnimatedStyle: r, getComponentProps: n }, a = (i) => { const s = mY(i) || "Anonymous"; return Ve.str(i) ? i = a[i] || (a[i] = dY(i, o)) : i = i[pY] || (i[pY] = dY(i, o)), i.displayName = `Animated(${s})`, i; }; return Ys(e, (i, s) => { Ve.arr(e) && (s = mY(i)), a[s] = a(i); }), { animated: a }; }, mY = (e) => Ve.str(e) ? e : e && Ve.str(e.displayName) ? e.displayName : Ve.fun(e) && e.name || null; function fa(e, ...t) { return Ve.fun(e) ? e(...t) : e; } var k1 = (e, t) => e === !0 || !!(t && e && (Ve.fun(e) ? e(t) : Jo(e).includes(t))), yfe = (e, t) => Ve.obj(e) ? t && e[t] : e, vfe = (e, t) => e.default === !0 ? e[t] : e.default ? e.default[t] : void 0, RGe = (e) => e, TT = (e, t = RGe) => { let r = MGe; e.default && e.default !== !0 && (e = e.default, r = Object.keys(e)); const n = {}; for (const o of r) { const a = t(e[o], o); Ve.und(a) || (n[o] = a); } return n; }, MGe = [ "config", "onProps", "onStart", "onChange", "onPause", "onResume", "onRest" ], TGe = { config: 1, from: 1, to: 1, ref: 1, loop: 1, reset: 1, pause: 1, cancel: 1, reverse: 1, immediate: 1, default: 1, delay: 1, onProps: 1, onStart: 1, onChange: 1, onPause: 1, onResume: 1, onRest: 1, onResolve: 1, // Transition props items: 1, trail: 1, sort: 1, expires: 1, initial: 1, enter: 1, update: 1, leave: 1, children: 1, onDestroyed: 1, // Internal props keys: 1, callId: 1, parentId: 1 }; function zGe(e) { const t = {}; let r = 0; if (Ys(e, (n, o) => { TGe[o] || (t[o] = n, r++); }), r) return t; } function zT(e) { const t = zGe(e); if (t) { const r = { to: t }; return Ys(e, (n, o) => o in t || (r[o] = n)), r; } return { ...e }; } function F0(e) { return e = ua(e), Ve.arr(e) ? e.map(F0) : _S(e) ? Ni.createStringInterpolator({ range: [0, 1], output: [e, e] })(1) : e; } function DGe(e) { for (const t in e) return !0; return !1; } function T_(e) { return Ve.fun(e) || Ve.arr(e) && Ve.obj(e[0]); } function gY(e, t) { var r; (r = e.ref) == null || r.delete(e), t == null || t.delete(e); } function FGe(e, t) { var r; t && e.ref !== t && ((r = e.ref) == null || r.delete(e), t.add(e), e.ref = t); } var LGe = { default: { tension: 170, friction: 26 } }, z_ = { ...LGe.default, mass: 1, damping: 1, easing: pGe.linear, clamp: !1 }, VGe = class { constructor() { this.velocity = 0, Object.assign(this, z_); } }; function WGe(e, t, r) { r && (r = { ...r }, hY(r, t), t = { ...r, ...t }), hY(e, t), Object.assign(e, t); for (const i in z_) e[i] == null && (e[i] = z_[i]); let { frequency: n, damping: o } = e; const { mass: a } = e; return Ve.und(n) || (n < 0.01 && (n = 0.01), o < 0 && (o = 0), e.tension = Math.pow(2 * Math.PI / n, 2) * a, e.friction = 4 * Math.PI * o * a / n), e; } function hY(e, t) { if (!Ve.und(t.decay)) e.duration = void 0; else { const r = !Ve.und(t.tension) || !Ve.und(t.friction); (r || !Ve.und(t.frequency) || !Ve.und(t.damping) || !Ve.und(t.mass)) && (e.duration = void 0, e.decay = void 0), r && (e.frequency = void 0); } } var bY = [], GGe = class { constructor() { this.changed = !1, this.values = bY, this.toValues = null, this.fromValues = bY, this.config = new VGe(), this.immediate = !1; } }; function xfe(e, { key: t, props: r, defaultProps: n, state: o, actions: a }) { return new Promise((i, s) => { let l, c, u = k1(r.cancel ?? (n == null ? void 0 : n.cancel), t); if (u) v(); else { Ve.und(r.pause) || (o.paused = k1(r.pause, t)); let w = n == null ? void 0 : n.pause; w !== !0 && (w = o.paused || k1(w, t)), l = fa(r.delay || 0, t), w ? (o.resumeQueue.add(p), a.pause()) : (a.resume(), p()); } function f() { o.resumeQueue.add(p), o.timeouts.delete(c), c.cancel(), l = c.time - xt.now(); } function p() { l > 0 && !Ni.skipAnimation ? (o.delayed = !0, c = xt.setTimeout(v, l), o.pauseQueue.add(f), o.timeouts.add(c)) : v(); } function v() { o.delayed && (o.delayed = !1), o.pauseQueue.delete(f), o.timeouts.delete(c), e <= (o.cancelId || 0) && (u = !0); try { a.start({ ...r, callId: e, cancel: u }, i); } catch (w) { s(w); } } }); } var DT = (e, t) => t.length == 1 ? t[0] : t.some((r) => r.cancelled) ? Eh(e.get()) : t.every((r) => r.noop) ? wfe(e.get()) : Si( e.get(), t.every((r) => r.finished) ), wfe = (e) => ({ value: e, noop: !0, finished: !0, cancelled: !1 }), Si = (e, t, r = !1) => ({ value: e, finished: t, cancelled: r }), Eh = (e) => ({ value: e, cancelled: !0, finished: !1 }); function kfe(e, t, r, n) { const { callId: o, parentId: a, onRest: i } = t, { asyncTo: s, promise: l } = r; return !a && e === s && !t.reset ? l : r.promise = (async () => { r.asyncId = o, r.asyncTo = e; const c = TT( t, (m, x) => ( // The `onRest` prop is only called when the `runAsync` promise is resolved. x === "onRest" ? void 0 : m ) ); let u, f; const p = new Promise( (m, x) => (u = m, f = x) ), v = (m) => { const x = ( // The `cancel` prop or `stop` method was used. o <= (r.cancelId || 0) && Eh(n) || // The async `to` prop was replaced. o !== r.asyncId && Si(n, !1) ); if (x) throw m.result = x, f(m), m; }, w = (m, x) => { const O = new yY(), E = new vY(); return (async () => { if (Ni.skipAnimation) throw L0(r), E.result = Si(n, !1), f(E), E; v(O); const A = Ve.obj(m) ? { ...m } : { ...x, to: m }; A.parentId = o, Ys(c, (G, H) => { Ve.und(A[H]) && (A[H] = G); }); const h = await n.start(A); return v(O), r.paused && await new Promise((G) => { r.resumeQueue.add(G); }), h; })(); }; let b; if (Ni.skipAnimation) return L0(r), Si(n, !1); try { let m; Ve.arr(e) ? m = (async (x) => { for (const O of x) await w(O); })(e) : m = Promise.resolve(e(w, n.stop.bind(n))), await Promise.all([m.then(u), p]), b = Si(n.get(), !0, !1); } catch (m) { if (m instanceof yY) b = m.result; else if (m instanceof vY) b = m.result; else throw m; } finally { o == r.asyncId && (r.asyncId = a, r.asyncTo = a ? s : void 0, r.promise = a ? l : void 0); } return Ve.fun(i) && xt.batchedUpdates(() => { i(b, n, n.item); }), b; })(); } function L0(e, t) { x1(e.timeouts, (r) => r.cancel()), e.pauseQueue.clear(), e.resumeQueue.clear(), e.asyncId = e.asyncTo = e.promise = void 0, t && (e.cancelId = t); } var yY = class extends Error { constructor() { super( "An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise." ); } }, vY = class extends Error { constructor() { super("SkipAnimationSignal"); } }, D_ = (e) => e instanceof FT, UGe = 1, FT = class extends sfe { constructor() { super(...arguments), this.id = UGe++, this._priority = 0; } get priority() { return this._priority; } set priority(e) { this._priority != e && (this._priority = e, this._onPriorityChange(e)); } /** Get the current value */ get() { const e = Li(this); return e && e.getValue(); } /** Create a spring that maps our value to another value */ to(...e) { return Ni.to(this, e); } /** @deprecated Use the `to` method instead. */ interpolate(...e) { return wGe(), Ni.to(this, e); } toJSON() { return this.get(); } observerAdded(e) { e == 1 && this._attach(); } observerRemoved(e) { e == 0 && this._detach(); } /** Called when the first child is added. */ _attach() { } /** Called when the last child is removed. */ _detach() { } /** Tell our children about our new value */ _onChange(e, t = !1) { T0(this, { type: "change", parent: this, value: e, idle: t }); } /** Tell our children about our new priority */ _onPriorityChange(e) { this.idle || PS.sort(this), T0(this, { type: "priority", parent: this, priority: e }); } }, wm = Symbol.for("SpringPhase"), Ofe = 1, Sfe = 2, Efe = 4, I6 = (e) => (e[wm] & Ofe) > 0, iu = (e) => (e[wm] & Sfe) > 0, Fy = (e) => (e[wm] & Efe) > 0, xY = (e, t) => t ? e[wm] |= Sfe | Ofe : e[wm] &= -3, wY = (e, t) => t ? e[wm] |= Efe : e[wm] &= -5, HGe = class extends FT { constructor(e, t) { if (super(), this.animation = new GGe(), this.defaultProps = {}, this._state = { paused: !1, delayed: !1, pauseQueue: /* @__PURE__ */ new Set(), resumeQueue: /* @__PURE__ */ new Set(), timeouts: /* @__PURE__ */ new Set() }, this._pendingCalls = /* @__PURE__ */ new Set(), this._lastCallId = 0, this._lastToId = 0, this._memoizedDuration = 0, !Ve.und(e) || !Ve.und(t)) { const r = Ve.obj(e) ? { ...e } : { ...t, from: e }; Ve.und(r.default) && (r.default = !0), this.start(r); } } /** Equals true when not advancing on each frame. */ get idle() { return !(iu(this) || this._state.asyncTo) || Fy(this); } get goal() { return ua(this.animation.to); } get velocity() { const e = Li(this); return e instanceof IS ? e.lastVelocity || 0 : e.getPayload().map((t) => t.lastVelocity || 0); } /** * When true, this value has been animated at least once. */ get hasAnimated() { return I6(this); } /** * When true, this value has an unfinished animation, * which is either active or paused. */ get isAnimating() { return iu(this); } /** * When true, all current and future animations are paused. */ get isPaused() { return Fy(this); } /** * * */ get isDelayed() { return this._state.delayed; } /** Advance the current animation by a number of milliseconds */ advance(e) { let t = !0, r = !1; const n = this.animation; let { toValues: o } = n; const { config: a } = n, i = jS(n.to); !i && Va(n.to) && (o = Jo(ua(n.to))), n.values.forEach((c, u) => { if (c.done) return; const f = ( // Animated strings always go from 0 to 1. c.constructor == _5 ? 1 : i ? i[u].lastPosition : o[u] ); let p = n.immediate, v = f; if (!p) { if (v = c.lastPosition, a.tension <= 0) { c.done = !0; return; } let w = c.elapsedTime += e; const b = n.fromValues[u], m = c.v0 != null ? c.v0 : c.v0 = Ve.arr(a.velocity) ? a.velocity[u] : a.velocity; let x; const O = a.precision || (b == f ? 5e-3 : Math.min(1, Math.abs(f - b) * 1e-3)); if (Ve.und(a.duration)) if (a.decay) { const E = a.decay === !0 ? 0.998 : a.decay, A = Math.exp(-(1 - E) * w); v = b + m / (1 - E) * (1 - A), p = Math.abs(c.lastPosition - v) <= O, x = m * A; } else { x = c.lastVelocity == null ? m : c.lastVelocity; const E = a.restVelocity || O / 10, A = a.clamp ? 0 : a.bounce, h = !Ve.und(A), G = b == f ? c.v0 > 0 : b < f; let H, Z = !1; const J = 1, X = Math.ceil(e / J); for (let ee = 0; ee < X && (H = Math.abs(x) > E, !(!H && (p = Math.abs(f - v) <= O, p))); ++ee) { h && (Z = v == f || v > f == G, Z && (x = -x * A, v = f)); const I = -a.tension * 1e-6 * (v - f), te = -a.friction * 1e-3 * x, U = (I + te) / a.mass; x = x + U * J, v = v + x * J; } } else { let E = 1; a.duration > 0 && (this._memoizedDuration !== a.duration && (this._memoizedDuration = a.duration, c.durationProgress > 0 && (c.elapsedTime = a.duration * c.durationProgress, w = c.elapsedTime += e)), E = (a.progress || 0) + w / this._memoizedDuration, E = E > 1 ? 1 : E < 0 ? 0 : E, c.durationProgress = E), v = b + a.easing(E) * (f - b), x = (v - c.lastPosition) / e, p = E == 1; } c.lastVelocity = x, Number.isNaN(v) && (console.warn("Got NaN while animating:", this), p = !0); } i && !i[u].done && (p = !1), p ? c.done = !0 : t = !1, c.setValue(v, a.round) && (r = !0); }); const s = Li(this), l = s.getValue(); if (t) { const c = ua(n.to); (l !== c || r) && !a.decay ? (s.setValue(c), this._onChange(c)) : r && a.decay && this._onChange(l), this._stop(); } else r && this._onChange(l); } /** Set the current value, while stopping the current animation */ set(e) { return xt.batchedUpdates(() => { this._stop(), this._focus(e), this._set(e); }), this; } /** * Freeze the active animation in time, as well as any updates merged * before `resume` is called. */ pause() { this._update({ pause: !0 }); } /** Resume the animation if paused. */ resume() { this._update({ pause: !1 }); } /** Skip to the end of the current animation. */ finish() { if (iu(this)) { const { to: e, config: t } = this.animation; xt.batchedUpdates(() => { this._onStart(), t.decay || this._set(e, !1), this._stop(); }); } return this; } /** Push props into the pending queue. */ update(e) { return (this.queue || (this.queue = [])).push(e), this; } start(e, t) { let r; return Ve.und(e) ? (r = this.queue || [], this.queue = []) : r = [Ve.obj(e) ? e : { ...t, to: e }], Promise.all( r.map((n) => this._update(n)) ).then((n) => DT(this, n)); } /** * Stop the current animation, and cancel any delayed updates. * * Pass `true` to call `onRest` with `cancelled: true`. */ stop(e) { const { to: t } = this.animation; return this._focus(this.get()), L0(this._state, e && this._lastCallId), xt.batchedUpdates(() => this._stop(t, e)), this; } /** Restart the animation. */ reset() { this._update({ reset: !0 }); } /** @internal */ eventObserved(e) { e.type == "change" ? this._start() : e.type == "priority" && (this.priority = e.priority + 1); } /** * Parse the `to` and `from` range from the given `props` object. * * This also ensures the initial value is available to animated components * during the render phase. */ _prepareNode(e) { const t = this.key || ""; let { to: r, from: n } = e; r = Ve.obj(r) ? r[t] : r, (r == null || T_(r)) && (r = void 0), n = Ve.obj(n) ? n[t] : n, n == null && (n = void 0); const o = { to: r, from: n }; return I6(this) || (e.reverse && ([r, n] = [n, r]), n = ua(n), Ve.und(n) ? Li(this) || this._set(r) : this._set(n)), o; } /** Every update is processed by this method before merging. */ _update({ ...e }, t) { const { key: r, defaultProps: n } = this; e.default && Object.assign( n, TT( e, (i, s) => /^on/.test(s) ? yfe(i, r) : i ) ), OY(this, e, "onProps"), Vy(this, "onProps", e, this); const o = this._prepareNode(e); if (Object.isFrozen(this)) throw Error( "Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?" ); const a = this._state; return xfe(++this._lastCallId, { key: r, props: e, defaultProps: n, state: a, actions: { pause: () => { Fy(this) || (wY(this, !0), Mv(a.pauseQueue), Vy( this, "onPause", Si(this, Ly(this, this.animation.to)), this )); }, resume: () => { Fy(this) && (wY(this, !1), iu(this) && this._resume(), Mv(a.resumeQueue), Vy( this, "onResume", Si(this, Ly(this, this.animation.to)), this )); }, start: this._merge.bind(this, o) } }).then((i) => { if (e.loop && i.finished && !(t && i.noop)) { const s = Afe(e); if (s) return this._update(s, !0); } return i; }); } /** Merge props into the current animation */ _merge(e, t, r) { if (t.cancel) return this.stop(!0), r(Eh(this)); const n = !Ve.und(e.to), o = !Ve.und(e.from); if (n || o) if (t.callId > this._lastToId) this._lastToId = t.callId; else return r(Eh(this)); const { key: a, defaultProps: i, animation: s } = this, { to: l, from: c } = s; let { to: u = l, from: f = c } = e; o && !n && (!t.default || Ve.und(u)) && (u = f), t.reverse && ([u, f] = [f, u]); const p = !Pl(f, c); p && (s.from = f), f = ua(f); const v = !Pl(u, l); v && this._focus(u); const w = T_(t.to), { config: b } = s, { decay: m, velocity: x } = b; (n || o) && (b.velocity = 0), t.config && !w && WGe( b, fa(t.config, a), // Avoid calling the same "config" prop twice. t.config !== i.config ? fa(i.config, a) : void 0 ); let O = Li(this); if (!O || Ve.und(u)) return r(Si(this, !0)); const E = ( // When `reset` is undefined, the `from` prop implies `reset: true`, // except for declarative updates. When `reset` is defined, there // must exist a value to animate from. Ve.und(t.reset) ? o && !t.default : !Ve.und(f) && k1(t.reset, a) ), A = E ? f : this.get(), h = F0(u), G = Ve.num(h) || Ve.arr(h) || _S(h), H = !w && (!G || k1(i.immediate || t.immediate, a)); if (v) { const ee = M_(u); if (ee !== O.constructor) if (H) O = this._set(h); else throw Error( `Cannot animate between ${O.constructor.name} and ${ee.name}, as the "to" prop suggests` ); } const Z = O.constructor; let J = Va(u), X = !1; if (!J) { const ee = E || !I6(this) && p; (v || ee) && (X = Pl(F0(A), h), J = !X), (!Pl(s.immediate, H) && !H || !Pl(b.decay, m) || !Pl(b.velocity, x)) && (J = !0); } if (X && iu(this) && (s.changed && !E ? J = !0 : J || this._stop(l)), !w && ((J || Va(l)) && (s.values = O.getPayload(), s.toValues = Va(u) ? null : Z == _5 ? [1] : Jo(h)), s.immediate != H && (s.immediate = H, !H && !E && this._set(l)), J)) { const { onRest: ee } = s; Yt(YGe, (te) => OY(this, t, te)); const I = Si(this, Ly(this, l)); Mv(this._pendingCalls, I), this._pendingCalls.add(r), s.changed && xt.batchedUpdates(() => { var te; s.changed = !E, ee == null || ee(I, this), E ? fa(i.onRest, I) : (te = s.onStart) == null || te.call(s, I, this); }); } E && this._set(A), w ? r(kfe(t.to, t, this._state, this)) : J ? this._start() : iu(this) && !v ? this._pendingCalls.add(r) : r(wfe(A)); } /** Update the `animation.to` value, which might be a `FluidValue` */ _focus(e) { const t = this.animation; e !== t.to && (uY(this) && this._detach(), t.to = e, uY(this) && this._attach()); } _attach() { let e = 0; const { to: t } = this.animation; Va(t) && (Lb(t, this), D_(t) && (e = t.priority + 1)), this.priority = e; } _detach() { const { to: e } = this.animation; Va(e) && z0(e, this); } /** * Update the current value from outside the frameloop, * and return the `Animated` node. */ _set(e, t = !0) { const r = ua(e); if (!Ve.und(r)) { const n = Li(this); if (!n || !Pl(r, n.getValue())) { const o = M_(r); !n || n.constructor != o ? MT(this, o.create(r)) : n.setValue(r), n && xt.batchedUpdates(() => { this._onChange(r, t); }); } } return Li(this); } _onStart() { const e = this.animation; e.changed || (e.changed = !0, Vy( this, "onStart", Si(this, Ly(this, e.to)), this )); } _onChange(e, t) { t || (this._onStart(), fa(this.animation.onChange, e, this)), fa(this.defaultProps.onChange, e, this), super._onChange(e, t); } // This method resets the animation state (even if already animating) to // ensure the latest from/to range is used, and it also ensures this spring // is added to the frameloop. _start() { const e = this.animation; Li(this).reset(ua(e.to)), e.immediate || (e.fromValues = e.values.map((t) => t.lastPosition)), iu(this) || (xY(this, !0), Fy(this) || this._resume()); } _resume() { Ni.skipAnimation ? this.finish() : PS.start(this); } /** * Exit the frameloop and notify `onRest` listeners. * * Always wrap `_stop` calls with `batchedUpdates`. */ _stop(e, t) { if (iu(this)) { xY(this, !1); const r = this.animation; Yt(r.values, (o) => { o.done = !0; }), r.toValues && (r.onChange = r.onPause = r.onResume = void 0), T0(this, { type: "idle", parent: this }); const n = t ? Eh(this.get()) : Si(this.get(), Ly(this, e ?? r.to)); Mv(this._pendingCalls, n), r.changed && (r.changed = !1, Vy(this, "onRest", n, this)); } } }; function Ly(e, t) { const r = F0(t), n = F0(e.get()); return Pl(n, r); } function Afe(e, t = e.loop, r = e.to) { const n = fa(t); if (n) { const o = n !== !0 && zT(n), a = (o || e).reverse, i = !o || o.reset; return I5({ ...e, loop: t, // Avoid updating default props when looping. default: !1, // Never loop the `pause` prop. pause: void 0, // For the "reverse" prop to loop as expected, the "to" prop // must be undefined. The "reverse" prop is ignored when the // "to" prop is an array or function. to: !a || T_(r) ? r : void 0, // Ignore the "from" prop except on reset. from: i ? e.from : void 0, reset: i, // The "loop" prop can return a "useSpring" props object to // override any of the original props. ...o }); } } function I5(e) { const { to: t, from: r } = e = zT(e), n = /* @__PURE__ */ new Set(); return Ve.obj(t) && kY(t, n), Ve.obj(r) && kY(r, n), e.keys = n.size ? Array.from(n) : null, e; } function kY(e, t) { Ys(e, (r, n) => r != null && t.add(n)); } var YGe = [ "onStart", "onRest", "onChange", "onPause", "onResume" ]; function OY(e, t, r) { e.animation[r] = t[r] !== vfe(t, r) ? yfe(t[r], e.key) : void 0; } function Vy(e, t, ...r) { var n, o, a, i; (o = (n = e.animation)[t]) == null || o.call(n, ...r), (i = (a = e.defaultProps)[t]) == null || i.call(a, ...r); } var BGe = ["onStart", "onChange", "onRest"], qGe = 1, XGe = class { constructor(e, t) { this.id = qGe++, this.springs = {}, this.queue = [], this._lastAsyncId = 0, this._active = /* @__PURE__ */ new Set(), this._changed = /* @__PURE__ */ new Set(), this._started = !1, this._state = { paused: !1, pauseQueue: /* @__PURE__ */ new Set(), resumeQueue: /* @__PURE__ */ new Set(), timeouts: /* @__PURE__ */ new Set() }, this._events = { onStart: /* @__PURE__ */ new Map(), onChange: /* @__PURE__ */ new Map(), onRest: /* @__PURE__ */ new Map() }, this._onFrame = this._onFrame.bind(this), t && (this._flush = t), e && this.start({ default: !0, ...e }); } /** * Equals `true` when no spring values are in the frameloop, and * no async animation is currently active. */ get idle() { return !this._state.asyncTo && Object.values(this.springs).every((e) => e.idle && !e.isDelayed && !e.isPaused); } get item() { return this._item; } set item(e) { this._item = e; } /** Get the current values of our springs */ get() { const e = {}; return this.each((t, r) => e[r] = t.get()), e; } /** Set the current values without animating. */ set(e) { for (const t in e) { const r = e[t]; Ve.und(r) || this.springs[t].set(r); } } /** Push an update onto the queue of each value. */ update(e) { return e && this.queue.push(I5(e)), this; } /** * Start the queued animations for every spring, and resolve the returned * promise once all queued animations have finished or been cancelled. * * When you pass a queue (instead of nothing), that queue is used instead of * the queued animations added with the `update` method, which are left alone. */ start(e) { let { queue: t } = this; return e ? t = Jo(e).map(I5) : this.queue = [], this._flush ? this._flush(this, t) : (Nfe(this, t), KGe(this, t)); } /** @internal */ stop(e, t) { if (e !== !!e && (t = e), t) { const r = this.springs; Yt(Jo(t), (n) => r[n].stop(!!e)); } else L0(this._state, this._lastAsyncId), this.each((r) => r.stop(!!e)); return this; } /** Freeze the active animation in time */ pause(e) { if (Ve.und(e)) this.start({ pause: !0 }); else { const t = this.springs; Yt(Jo(e), (r) => t[r].pause()); } return this; } /** Resume the animation if paused. */ resume(e) { if (Ve.und(e)) this.start({ pause: !1 }); else { const t = this.springs; Yt(Jo(e), (r) => t[r].resume()); } return this; } /** Call a function once per spring value */ each(e) { Ys(this.springs, e); } /** @internal Called at the end of every animation frame */ _onFrame() { const { onStart: e, onChange: t, onRest: r } = this._events, n = this._active.size > 0, o = this._changed.size > 0; (n && !this._started || o && !this._started) && (this._started = !0, x1(e, ([s, l]) => { l.value = this.get(), s(l, this, this._item); })); const a = !n && this._started, i = o || a && r.size ? this.get() : null; o && t.size && x1(t, ([s, l]) => { l.value = i, s(l, this, this._item); }), a && (this._started = !1, x1(r, ([s, l]) => { l.value = i, s(l, this, this._item); })); } /** @internal */ eventObserved(e) { if (e.type == "change") this._changed.add(e.parent), e.idle || this._active.add(e.parent); else if (e.type == "idle") this._active.delete(e.parent); else return; xt.onFrame(this._onFrame); } }; function KGe(e, t) { return Promise.all(t.map((r) => $fe(e, r))).then( (r) => DT(e, r) ); } async function $fe(e, t, r) { const { keys: n, to: o, from: a, loop: i, onRest: s, onResolve: l } = t, c = Ve.obj(t.default) && t.default; i && (t.loop = !1), o === !1 && (t.to = null), a === !1 && (t.from = null); const u = Ve.arr(o) || Ve.fun(o) ? o : void 0; u ? (t.to = void 0, t.onRest = void 0, c && (c.onRest = void 0)) : Yt(BGe, (b) => { const m = t[b]; if (Ve.fun(m)) { const x = e._events[b]; t[b] = ({ finished: O, cancelled: E }) => { const A = x.get(m); A ? (O || (A.finished = !1), E && (A.cancelled = !0)) : x.set(m, { value: null, finished: O || !1, cancelled: E || !1 }); }, c && (c[b] = t[b]); } }); const f = e._state; t.pause === !f.paused ? (f.paused = t.pause, Mv(t.pause ? f.pauseQueue : f.resumeQueue)) : f.paused && (t.pause = !0); const p = (n || Object.keys(e.springs)).map( (b) => e.springs[b].start(t) ), v = t.cancel === !0 || vfe(t, "cancel") === !0; (u || v && f.asyncId) && p.push( xfe(++e._lastAsyncId, { props: t, state: f, actions: { pause: I_, resume: I_, start(b, m) { v ? (L0(f, e._lastAsyncId), m(Eh(e))) : (b.onRest = s, m( kfe( u, b, f, e ) )); } } }) ), f.paused && await new Promise((b) => { f.resumeQueue.add(b); }); const w = DT(e, await Promise.all(p)); if (i && w.finished && !(r && w.noop)) { const b = Afe(t, i, o); if (b) return Nfe(e, [b]), $fe(e, b, !0); } return l && xt.batchedUpdates(() => l(w, e, e.item)), w; } function JGe(e, t) { const r = { ...e.springs }; return t && Yt(Jo(t), (n) => { Ve.und(n.keys) && (n = I5(n)), Ve.obj(n.to) || (n = { ...n, to: void 0 }), Cfe(r, n, (o) => Pfe(o)); }), QGe(e, r), r; } function QGe(e, t) { Ys(t, (r, n) => { e.springs[n] || (e.springs[n] = r, Lb(r, e)); }); } function Pfe(e, t) { const r = new HGe(); return r.key = e, t && Lb(r, t), r; } function Cfe(e, t, r) { t.keys && Yt(t.keys, (n) => { (e[n] || (e[n] = r(n)))._prepareNode(t); }); } function Nfe(e, t) { Yt(t, (r) => { Cfe(e.springs, r, (n) => Pfe(n, e)); }); } var ZGe = V.createContext({ pause: !1, immediate: !1 }), eUe = () => { const e = [], t = function(n) { OGe(); const o = []; return Yt(e, (a, i) => { if (Ve.und(n)) o.push(a.start()); else { const s = r(n, a, i); s && o.push(a.start(s)); } }), o; }; t.current = e, t.add = function(n) { e.includes(n) || e.push(n); }, t.delete = function(n) { const o = e.indexOf(n); ~o && e.splice(o, 1); }, t.pause = function() { return Yt(e, (n) => n.pause(...arguments)), this; }, t.resume = function() { return Yt(e, (n) => n.resume(...arguments)), this; }, t.set = function(n) { Yt(e, (o, a) => { const i = Ve.fun(n) ? n(a, o) : n; i && o.set(i); }); }, t.start = function(n) { const o = []; return Yt(e, (a, i) => { if (Ve.und(n)) o.push(a.start()); else { const s = this._getProps(n, a, i); s && o.push(a.start(s)); } }), o; }, t.stop = function() { return Yt(e, (n) => n.stop(...arguments)), this; }, t.update = function(n) { return Yt(e, (o, a) => o.update(this._getProps(n, o, a))), this; }; const r = function(n, o, a) { return Ve.fun(n) ? n(a, o) : n; }; return t._getProps = r, t; }; function SY(e, t, r) { const n = Ve.fun(t) && t, { reset: o, sort: a, trail: i = 0, expires: s = !0, exitBeforeEnter: l = !1, onDestroyed: c, ref: u, config: f } = n ? n() : t, p = br( () => n || arguments.length == 3 ? eUe() : void 0, [] ), v = Jo(e), w = [], b = ce(null), m = o ? null : b.current; Mg(() => { b.current = w; }), pfe(() => (Yt(w, (U) => { p == null || p.add(U.ctrl), U.ctrl.ref = p; }), () => { Yt(b.current, (U) => { U.expired && clearTimeout(U.expirationId), gY(U.ctrl, p), U.ctrl.stop(!0); }); })); const x = rUe(v, n ? n() : t, m), O = o && b.current || []; Mg( () => Yt(O, ({ ctrl: U, item: z, key: F }) => { gY(U, p), fa(c, z, F); }) ); const E = []; if (m && Yt(m, (U, z) => { U.expired ? (clearTimeout(U.expirationId), O.push(U)) : (z = E[z] = x.indexOf(U.key), ~z && (w[z] = U)); }), Yt(v, (U, z) => { w[z] || (w[z] = { key: x[z], item: U, phase: "mount", ctrl: new XGe() }, w[z].ctrl.item = U); }), E.length) { let U = -1; const { leave: z } = n ? n() : t; Yt(E, (F, D) => { const Y = m[D]; ~F ? (U = w.indexOf(Y), w[U] = { ...Y, item: v[F] }) : z && w.splice(++U, 0, Y); }); } Ve.fun(a) && w.sort((U, z) => a(U.item, z.item)); let A = -i; const h = dfe(), G = TT(t), H = /* @__PURE__ */ new Map(), Z = ce(/* @__PURE__ */ new Map()), J = ce(!1); Yt(w, (U, z) => { const F = U.key, D = U.phase, Y = n ? n() : t; let q, g; const d = fa(Y.delay || 0, F); if (D == "mount") q = Y.enter, g = "enter"; else { const j = x.indexOf(F) < 0; if (D != "leave") if (j) q = Y.leave, g = "leave"; else if (q = Y.update) g = "update"; else return; else if (!j) q = Y.enter, g = "enter"; else return; } if (q = fa(q, U.item, z), q = Ve.obj(q) ? zT(q) : { to: q }, !q.config) { const j = f || G.config; q.config = fa(j, U.item, z, g); } A += i; const S = { ...G, // we need to add our props.delay value you here. delay: d + A, ref: u, immediate: Y.immediate, // This prevents implied resets. reset: !1, // Merge any phase-specific props. ...q }; if (g == "enter" && Ve.und(S.from)) { const j = n ? n() : t, _ = Ve.und(j.initial) || m ? j.from : j.initial; S.from = fa(_, U.item, z); } const { onResolve: C } = S; S.onResolve = (j) => { fa(C, j); const _ = b.current, N = _.find((M) => M.key === F); if (N && !(j.cancelled && N.phase != "update") && N.ctrl.idle) { const M = _.every((R) => R.ctrl.idle); if (N.phase == "leave") { const R = fa(s, N.item); if (R !== !1) { const T = R === !0 ? 0 : R; if (N.expired = !0, !M && T > 0) { T <= 2147483647 && (N.expirationId = setTimeout(h, T)); return; } } } M && _.some((R) => R.expired) && (Z.current.delete(N), l && (J.current = !0), h()); } }; const P = JGe(U.ctrl, S); g === "leave" && l ? Z.current.set(U, { phase: g, springs: P, payload: S }) : H.set(U, { phase: g, springs: P, payload: S }); }); const X = gr(ZGe), ee = AGe(X), I = X !== ee && DGe(X); Mg(() => { I && Yt(w, (U) => { U.ctrl.start({ default: X }); }); }, [X]), Yt(H, (U, z) => { if (Z.current.size) { const F = w.findIndex((D) => D.key === z.key); w.splice(F, 1); } }), Mg( () => { Yt( Z.current.size ? Z.current : H, ({ phase: U, payload: z }, F) => { const { ctrl: D } = F; F.phase = U, p == null || p.add(D), I && U == "enter" && D.start({ default: X }), z && (FGe(D, z.ref), (D.ref || p) && !J.current ? D.update(z) : (D.start(z), J.current && (J.current = !1))); } ); }, o ? void 0 : r ); const te = (U) => /* @__PURE__ */ V.createElement(V.Fragment, null, w.map((z, F) => { const { springs: D } = H.get(z) || z.ctrl, Y = U({ ...D }, z.item, z, F); return Y && Y.type ? /* @__PURE__ */ V.createElement( Y.type, { ...Y.props, key: Ve.str(z.key) || Ve.num(z.key) ? z.key : z.ctrl.id, ref: Y.ref } ) : Y; })); return p ? [te, p] : te; } var tUe = 1; function rUe(e, { key: t, keys: r = t }, n) { if (r === null) { const o = /* @__PURE__ */ new Set(); return e.map((a) => { const i = n && n.find( (s) => s.item === a && s.phase !== "leave" && !o.has(s) ); return i ? (o.add(i), i.key) : tUe++; }); } return Ve.und(r) ? e : Ve.fun(r) ? e.map(r) : Jo(r); } var nUe = class extends FT { constructor(e, t) { super(), this.source = e, this.idle = !0, this._active = /* @__PURE__ */ new Set(), this.calc = R0(...t); const r = this._get(), n = M_(r); MT(this, n.create(r)); } advance(e) { const t = this._get(), r = this.get(); Pl(t, r) || (Li(this).setValue(t), this._onChange(t, this.idle)), !this.idle && EY(this._active) && R6(this); } _get() { const e = Ve.arr(this.source) ? this.source.map(ua) : Jo(ua(this.source)); return this.calc(...e); } _start() { this.idle && !EY(this._active) && (this.idle = !1, Yt(jS(this), (e) => { e.done = !1; }), Ni.skipAnimation ? (xt.batchedUpdates(() => this.advance()), R6(this)) : PS.start(this)); } // Observe our sources only when we're observed. _attach() { let e = 1; Yt(Jo(this.source), (t) => { Va(t) && Lb(t, this), D_(t) && (t.idle || this._active.add(t), e = Math.max(e, t.priority + 1)); }), this.priority = e, this._start(); } // Stop observing our sources once we have no observers. _detach() { Yt(Jo(this.source), (e) => { Va(e) && z0(e, this); }), this._active.clear(), R6(this); } /** @internal */ eventObserved(e) { e.type == "change" ? e.idle ? this.advance() : (this._active.add(e.parent), this._start()) : e.type == "idle" ? this._active.delete(e.parent) : e.type == "priority" && (this.priority = Jo(this.source).reduce( (t, r) => Math.max(t, (D_(r) ? r.priority : 0) + 1), 0 )); } }; function oUe(e) { return e.idle !== !1; } function EY(e) { return !e.size || Array.from(e).every(oUe); } function R6(e) { e.idle || (e.idle = !0, Yt(jS(e), (t) => { t.done = !0; }), T0(e, { type: "idle", parent: e })); } Ni.assign({ createStringInterpolator: ufe, to: (e, t) => new nUe(e, t) }); var _fe = /^--/; function aUe(e, t) { return t == null || typeof t == "boolean" || t === "" ? "" : typeof t == "number" && t !== 0 && !_fe.test(e) && !(O1.hasOwnProperty(e) && O1[e]) ? t + "px" : ("" + t).trim(); } var AY = {}; function iUe(e, t) { if (!e.nodeType || !e.setAttribute) return !1; const r = e.nodeName === "filter" || e.parentNode && e.parentNode.nodeName === "filter", { className: n, style: o, children: a, scrollTop: i, scrollLeft: s, viewBox: l, ...c } = t, u = Object.values(c), f = Object.keys(c).map( (p) => r || e.hasAttribute(p) ? p : AY[p] || (AY[p] = p.replace( /([A-Z])/g, // Attributes are written in dash case (v) => "-" + v.toLowerCase() )) ); a !== void 0 && (e.textContent = a); for (const p in o) if (o.hasOwnProperty(p)) { const v = aUe(p, o[p]); _fe.test(p) ? e.style.setProperty(p, v) : e.style[p] = v; } f.forEach((p, v) => { e.setAttribute(p, u[v]); }), n !== void 0 && (e.className = n), i !== void 0 && (e.scrollTop = i), s !== void 0 && (e.scrollLeft = s), l !== void 0 && e.setAttribute("viewBox", l); } var O1 = { animationIterationCount: !0, borderImageOutset: !0, borderImageSlice: !0, borderImageWidth: !0, boxFlex: !0, boxFlexGroup: !0, boxOrdinalGroup: !0, columnCount: !0, columns: !0, flex: !0, flexGrow: !0, flexPositive: !0, flexShrink: !0, flexNegative: !0, flexOrder: !0, gridRow: !0, gridRowEnd: !0, gridRowSpan: !0, gridRowStart: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnSpan: !0, gridColumnStart: !0, fontWeight: !0, lineClamp: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, tabSize: !0, widows: !0, zIndex: !0, zoom: !0, // SVG-related properties fillOpacity: !0, floodOpacity: !0, stopOpacity: !0, strokeDasharray: !0, strokeDashoffset: !0, strokeMiterlimit: !0, strokeOpacity: !0, strokeWidth: !0 }, sUe = (e, t) => e + t.charAt(0).toUpperCase() + t.substring(1), lUe = ["Webkit", "Ms", "Moz", "O"]; O1 = Object.keys(O1).reduce((e, t) => (lUe.forEach((r) => e[sUe(r, t)] = e[t]), e), O1); var cUe = /^(matrix|translate|scale|rotate|skew)/, uUe = /^(translate)/, fUe = /^(rotate|skew)/, M6 = (e, t) => Ve.num(e) && e !== 0 ? e + t : e, mk = (e, t) => Ve.arr(e) ? e.every((r) => mk(r, t)) : Ve.num(e) ? e === t : parseFloat(e) === t, dUe = class extends RS { constructor({ x: e, y: t, z: r, ...n }) { const o = [], a = []; (e || t || r) && (o.push([e || 0, t || 0, r || 0]), a.push((i) => [ `translate3d(${i.map((s) => M6(s, "px")).join(",")})`, // prettier-ignore mk(i, 0) ])), Ys(n, (i, s) => { if (s === "transform") o.push([i || ""]), a.push((l) => [l, l === ""]); else if (cUe.test(s)) { if (delete n[s], Ve.und(i)) return; const l = uUe.test(s) ? "px" : fUe.test(s) ? "deg" : ""; o.push(Jo(i)), a.push( s === "rotate3d" ? ([c, u, f, p]) => [ `rotate3d(${c},${u},${f},${M6(p, l)})`, mk(p, 0) ] : (c) => [ `${s}(${c.map((u) => M6(u, l)).join(",")})`, mk(c, s.startsWith("scale") ? 1 : 0) ] ); } }), o.length && (n.transform = new pUe(o, a)), super(n); } }, pUe = class extends sfe { constructor(e, t) { super(), this.inputs = e, this.transforms = t, this._value = null; } get() { return this._value || (this._value = this._get()); } _get() { let e = "", t = !0; return Yt(this.inputs, (r, n) => { const o = ua(r[0]), [a, i] = this.transforms[n]( Ve.arr(o) ? o : r.map(ua) ); e += " " + a, t = t && i; }), t ? "none" : e; } // Start observing our inputs once we have an observer. observerAdded(e) { e == 1 && Yt( this.inputs, (t) => Yt( t, (r) => Va(r) && Lb(r, this) ) ); } // Stop observing our inputs once we have no observers. observerRemoved(e) { e == 0 && Yt( this.inputs, (t) => Yt( t, (r) => Va(r) && z0(r, this) ) ); } eventObserved(e) { e.type == "change" && (this._value = null), T0(this, e); } }, mUe = [ "a", "abbr", "address", "area", "article", "aside", "audio", "b", "base", "bdi", "bdo", "big", "blockquote", "body", "br", "button", "canvas", "caption", "cite", "code", "col", "colgroup", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "iframe", "img", "input", "ins", "kbd", "keygen", "label", "legend", "li", "link", "main", "map", "mark", "menu", "menuitem", "meta", "meter", "nav", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "script", "section", "select", "small", "source", "span", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "u", "ul", "var", "video", "wbr", // SVG "circle", "clipPath", "defs", "ellipse", "foreignObject", "g", "image", "line", "linearGradient", "mask", "path", "pattern", "polygon", "polyline", "radialGradient", "rect", "stop", "svg", "text", "tspan" ]; Ni.assign({ batchedUpdates: ZI, createStringInterpolator: ufe, colors: tGe }); var gUe = IGe(mUe, { applyAnimatedValues: iUe, createAnimatedStyle: (e) => new dUe(e), // eslint-disable-next-line @typescript-eslint/no-unused-vars getComponentProps: ({ scrollTop: e, scrollLeft: t, ...r }) => r }), jfe = gUe.animated; /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const hUe = { prefix: "fas", iconName: "down-left-and-up-right-to-center", icon: [512, 512, ["compress-alt"], "f422", "M439 7c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8l-144 0c-13.3 0-24-10.7-24-24l0-144c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39L439 7zM72 272l144 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39L73 505c-9.4 9.4-24.6 9.4-33.9 0L7 473c-9.4-9.4-9.4-24.6 0-33.9l87-87L55 313c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8z"] }, bUe = { prefix: "fas", iconName: "up-right-and-down-left-from-center", icon: [512, 512, ["expand-alt"], "f424", "M344 0L488 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87L327 41c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM168 512L24 512c-13.3 0-24-10.7-24-24L0 344c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8z"] }; var F_ = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = "NONE", e[e.INPUT = 1] = "INPUT", e[e.PANEL = 2] = "PANEL", e[e.DIALOGUE = 3] = "DIALOGUE", e))(F_ || {}), yUe = Object.freeze({ // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss position: "absolute", border: 0, width: 1, height: 1, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", wordWrap: "normal" }), vUe = "VisuallyHidden", Ife = V.forwardRef( (e, t) => /* @__PURE__ */ B( Js.span, { ...e, ref: t, style: { ...yUe, ...e.style } } ) ); Ife.displayName = vUe; var $Y = Ife; const V0 = [], xUe = (e) => { V0.push(e); }, wUe = (e) => { const t = V0.findIndex((r) => r.id === e); t !== -1 && V0.splice(t, 1); }, kUe = (e, t) => { const r = V0.find((n) => n.id === e); r && Object.assign(r, t); }, OUe = () => V0.filter((e) => e.closeOnEsc).sort((e, t) => t.zIndex - e.zIndex)[0]; typeof window < "u" && !window.__modalEscListenerInstalled && (window.__modalEscListenerInstalled = !0, window.addEventListener("keydown", (e) => { if (e.key !== "Escape" && e.key !== "Esc") return; const t = OUe(); t && (e.preventDefault(), t.onClose()); })); let Wy = 70; const SUe = ({ styles: e, backdropClassName: t, disableHotkeyInput: r, enableHotkeyInput: n }) => (xe(() => (r(F_.DIALOGUE), () => { n(F_.DIALOGUE); }), [r, n]), /* @__PURE__ */ B(Wze, { forceMount: !0, asChild: !0, children: /* @__PURE__ */ B( jfe.div, { className: g1("fixed inset-0 z-[69]", t), style: { opacity: e.opacity, pointerEvents: "none", background: "radial-gradient(800px 400px at 10% -10%, rgba(45,129,255,0.10), transparent), radial-gradient(600px 320px at 110% 110%, rgba(28,182,190,0.10), transparent), rgba(0,0,0,0.60)" } } ) })), L_ = ({ children: e }) => /* @__PURE__ */ B(ht, { children: e }), Rfe = an( void 0 ), LT = ({ className: e, size: t = "md" }) => { const r = gr(Rfe); if (!r) return null; const { expanded: n, toggleExpanded: o } = r; return /* @__PURE__ */ B( "button", { type: "button", "aria-label": n ? "Restore modal size" : "Expand modal", onClick: o, className: g1( "flex items-center justify-center rounded-full bg-black/40 text-white/60 transition-all hover:bg-black/70 hover:text-white", { sm: "h-5 w-5 text-sm", md: "h-7 w-7 text-md", lg: "h-9 w-9 text-xl" }[t], "relative z-[70]", e ), children: /* @__PURE__ */ B( _0, { icon: n ? hUe : bUe } ) } ); }; LT.displayName = "ModalExpandButton"; const cb = ({ isOpen: e, title: t, titleIcon: r, onTitleIconClick: n, onClose: o, enableHotkeyInput: a = () => { }, disableHotkeyInput: i = () => { }, className: s, backdropClassName: l, width: c, children: u, childPadding: f = !0, titleIconClassName: p, showClose: v = !0, draggable: w = !1, resizable: b = !1, initialPosition: m, closeOnOutsideClick: x = !0, closeOnEsc: O = !0, allowBackgroundInteraction: E = !1, expandable: A = !1, accessibleTitle: h, accessibleDescription: G }) => { const [H, Z] = We( null ), [J, X] = We(!1), [ee, I] = We(!1), te = ce({ x: 0, y: 0 }), U = ce({ x: 0, y: 0 }), z = ce(null), F = ce(null), D = ce(null), [Y, q] = We(() => ++Wy), [g, d] = We(!1), S = ce(null), C = SY(e, { from: { opacity: 0, transform: "scale(0.95) translateY(-10px)" }, enter: { opacity: 1, transform: "scale(1) translateY(0px)" }, leave: { opacity: 0, transform: "scale(0.95) translateY(10px)" }, config: { tension: 300, friction: 30, mass: 0.8 } }), P = SY(e, { from: { opacity: 0 }, enter: { opacity: 1 }, leave: { opacity: 0 }, config: { tension: 280, friction: 25 } }); xe(() => { g ? (F.current && (S.current = { ...F.current }), Z({ x: 0, y: 0 }), F.current = { x: 0, y: 0 }, z.current && (z.current.style.left = "0px", z.current.style.top = "0px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y))) : S.current && (Z({ ...S.current }), F.current = { ...S.current }, z.current && (z.current.style.left = S.current.x + "px", z.current.style.top = S.current.y + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y))); }, [g, Y]); const j = () => d((se) => !se); xe(() => { e ? D.current ? (Z({ ...D.current }), F.current = { ...D.current }, z.current && (z.current.style.left = D.current.x + "px", z.current.style.top = D.current.y + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y))) : m && (Z({ ...m }), F.current = { ...m }, z.current && (z.current.style.left = m.x + "px", z.current.style.top = m.y + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y))) : F.current && (D.current = { ...F.current }); }, [e, Y]), xe(() => { if (!J) return; let se = null; const ae = (Be) => { if (!z.current) return; const gt = Be.clientX - U.current.x, fe = Be.clientY - U.current.y, he = te.current.x + gt, we = te.current.y + fe, Ue = z.current, { width: pt, height: yr } = Ue.getBoundingClientRect(), so = window.innerWidth, fo = window.innerHeight, bt = 450, po = -450, mo = 0, da = so - pt + bt, hr = fo - yr + bt, lo = Math.max(po, Math.min(he, da)), pa = Math.max(mo, Math.min(we, hr)); F.current = { x: lo, y: pa }, z.current && (se && cancelAnimationFrame(se), se = requestAnimationFrame(() => { z.current && F.current && (z.current.style.left = F.current.x + "px", z.current.style.top = F.current.y + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y)); })); }, le = () => { X(!1), F.current && Z({ ...F.current }); }; return window.addEventListener("mousemove", ae), window.addEventListener("mouseup", le), () => { window.removeEventListener("mousemove", ae), window.removeEventListener("mouseup", le), se && cancelAnimationFrame(se); }; }, [J, Y]); const _ = (se) => { var ae, le; if (!z.current) return; g && d(!1), se.preventDefault(), se.stopPropagation(); const Be = z.current, { width: gt, height: fe } = Be.getBoundingClientRect(), he = window.innerWidth, we = window.innerHeight; let Ue = ((ae = F.current) == null ? void 0 : ae.x) ?? (H == null ? void 0 : H.x), pt = ((le = F.current) == null ? void 0 : le.y) ?? (H == null ? void 0 : H.y); (Ue === void 0 || pt === void 0) && (m ? (Ue = m.x, pt = m.y) : (Ue = (he - gt) / 2, pt = (we - fe) / 2)), te.current = { x: Ue, y: pt }, U.current = { x: se.clientX, y: se.clientY }, X(!0), !H && !F.current && (Z({ x: Ue, y: pt }), F.current = { x: Ue, y: pt }, z.current && (z.current.style.left = Ue + "px", z.current.style.top = pt + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y))); }; let N = u; if (w) { let se = !1; N = Array.isArray(u) ? u.map((ae) => { if (!se && Ws(ae) && (ae.type === L_ || ae.type.displayName === "ModalDragHandle")) { se = !0; const le = ae; return Gs(le, { children: /* @__PURE__ */ B( "div", { style: { cursor: "move", userSelect: "none" }, onMouseDown: _, children: le.props.children } ) }); } return ae; }) : Ws(u) && (u.type === L_ || u.type.displayName === "ModalDragHandle") ? (() => { const ae = u; return Gs(ae, { children: /* @__PURE__ */ B( "div", { style: { cursor: "move", userSelect: "none" }, onMouseDown: _, children: ae.props.children } ) }); })() : u; } const M = ce(null), R = ce(null), T = (se, ae) => { if (!z.current || (se.preventDefault(), se.stopPropagation(), g)) return; const le = z.current.getBoundingClientRect(); M.current = ae, R.current = { mouseX: se.clientX, mouseY: se.clientY, width: le.width, height: le.height, x: le.left, y: le.top }, I(!0); }; xe(() => { if (!ee) return; let se = null; const ae = (Be) => { if (!z.current || !R.current || !M.current) return; const gt = Be.clientX - R.current.mouseX, fe = Be.clientY - R.current.mouseY; let he = R.current.width, we = R.current.height, Ue = R.current.x, pt = R.current.y; const yr = M.current; yr.includes("right") && (he = R.current.width + gt), yr.includes("left") && (he = R.current.width - gt, Ue = R.current.x + gt), yr.includes("bottom") && (we = R.current.height + fe), yr.includes("top") && (we = R.current.height - fe, pt = R.current.y + fe), he = Math.max(320, he), we = Math.max(240, we), F.current = { x: Ue, y: pt }, pe.current = { width: he, height: we }, se && cancelAnimationFrame(se), se = requestAnimationFrame(() => { z.current && F.current && (z.current.style.width = he + "px", z.current.style.height = we + "px", z.current.style.left = F.current.x + "px", z.current.style.top = F.current.y + "px", z.current.style.margin = "0", z.current.style.position = "fixed", z.current.style.zIndex = String(Y)); }); }, le = () => { I(!1), F.current && Z({ ...F.current }), pe.current && ne({ ...pe.current }); }; return window.addEventListener("mousemove", ae), window.addEventListener("mouseup", le), () => { window.removeEventListener("mousemove", ae), window.removeEventListener("mouseup", le), se && cancelAnimationFrame(se); }; }, [ee, Y]); const Q = () => { if (!b || g) return null; const se = "absolute z-[75] bg-transparent select-none", ae = 5, le = 2, Be = [ { dir: "top", className: `top-0 left-0 w-full h-${le}` }, { dir: "bottom", className: `bottom-0 left-0 w-full h-${le}` }, { dir: "left", className: `left-0 top-0 h-full w-${le}` }, { dir: "right", className: `right-0 top-0 h-full w-${le}` }, { dir: "top-left", className: `top-0 left-0 w-${ae} h-${ae}` }, { dir: "top-right", className: `top-0 right-0 w-${ae} h-${ae}` }, { dir: "bottom-left", className: `bottom-0 left-0 w-${ae} h-${ae}` }, { dir: "bottom-right", className: `bottom-0 right-0 w-${ae} h-${ae}` } ], gt = { top: "n-resize", bottom: "s-resize", left: "w-resize", right: "e-resize", "top-left": "nw-resize", "top-right": "ne-resize", "bottom-left": "sw-resize", "bottom-right": "se-resize" }; return Be.map((fe) => /* @__PURE__ */ B( "div", { className: `${se} ${fe.className}`, style: { cursor: gt[fe.dir] }, onMouseDown: (he) => T(he, fe.dir) }, fe.dir )); }, [k, ne] = We( null ), pe = ce(null), He = ce(null); xe(() => { if (e && !k && z.current && b) { const { width: se, height: ae } = z.current.getBoundingClientRect(); ne({ width: se, height: ae }), pe.current = { width: se, height: ae }; } }, [e, k, b]), xe(() => { if (b) { if (!e) pe.current && (He.current = { ...pe.current }); else if (He.current && z.current) { const { width: se, height: ae } = He.current; z.current.style.width = se + "px", z.current.style.height = ae + "px", ne({ width: se, height: ae }), pe.current = { width: se, height: ae }; } } }, [e, b]), xe(() => { const se = () => { z.current && Y < Wy && (Wy += 1, q(Wy), z.current.style.zIndex = String(Wy)); }, ae = z.current; return ae && ae.addEventListener("mousedown", se), () => { ae && ae.removeEventListener("mousedown", se); }; }, [Y]), xe(() => { if (!e || E) return; const se = (ae) => { if (ae.key === "Escape" || ae.key === "Esc") return; const le = ae.target; le && (le.closest( '[role="dialog"], [role="menu"], [role="listbox"], [data-headlessui-portal]' ) || le.matches("input, textarea, select, button, [contenteditable]")) || ae.stopPropagation(); }; return window.addEventListener("keydown", se, !0), () => { window.removeEventListener("keydown", se, !0); }; }, [e, E]), xe(() => { if (!E) return; const se = z.current; if (!se) return; const ae = (fe) => { fe && (fe.hasAttribute("inert") && fe.removeAttribute("inert"), fe.inert && (fe.inert = !1), fe.getAttribute("aria-hidden") === "true" && fe.removeAttribute("aria-hidden")); }; let le = se; for (; le; ) ae(le), le = le.parentElement; const Be = new MutationObserver((fe) => { fe.forEach((he) => { if (he.type === "attributes" && he.attributeName === "inert" && he.target instanceof HTMLElement) { const we = he.target; (we === se || se.contains(we)) && ae(we); } }); }); Be.observe(se, { attributes: !0, subtree: !1, attributeFilter: ["inert"] }), document.querySelectorAll( "[data-radix-portal][inert], [data-headlessui-portal][inert]" ).forEach((fe) => fe.removeAttribute("inert")); const gt = new MutationObserver((fe) => { fe.forEach((he) => { if (he.type === "attributes" && he.attributeName === "inert" && he.target.hasAttribute("inert")) { const we = he.target; (we.hasAttribute("data-radix-portal") || we.hasAttribute("data-headlessui-portal")) && ae(we); } }); }); return gt.observe(document.body, { attributes: !0, subtree: !0, attributeFilter: ["inert"] }), () => { Be.disconnect(), gt.disconnect(); }; }, [E]); const on = ce(Math.floor(Math.random() * 1e9)); xe(() => { if (e) return xUe({ id: on.current, zIndex: Y, onClose: o, closeOnEsc: O }), () => { wUe(on.current); }; }, [e]), xe(() => { e && kUe(on.current, { zIndex: Y, onClose: o, closeOnEsc: O }); }, [e, Y, o, O]); const en = () => g ? { position: "fixed", left: 0, top: 0, margin: 0, zIndex: Y, width: "100vw", height: "100vh", ...E ? { pointerEvents: "auto" } : {} } : !w || !H ? { ...b && k ? { width: k.width, height: k.height } : {}, ...E ? { pointerEvents: "auto" } : {} } : { position: "fixed", left: H.x, top: H.y, margin: 0, zIndex: Y, ...b && k ? { width: k.width, height: k.height } : {}, ...E ? { pointerEvents: "auto" } : {} }; return /* @__PURE__ */ B( Lze, { open: e, onOpenChange: (se) => !se && x && o(), modal: !E, children: /* @__PURE__ */ B(Vze, { children: /* @__PURE__ */ me( "div", { className: "fixed inset-0 z-[70]", style: E ? { pointerEvents: "none" } : void 0, children: [ !E && P( (se, ae) => ae ? /* @__PURE__ */ B( SUe, { styles: se, backdropClassName: l, disableHotkeyInput: i, enableHotkeyInput: a }, "backdrop" ) : null ), E && /* @__PURE__ */ B( "div", { className: g1("fixed inset-0 z-[69]", l), style: { pointerEvents: "none" } } ), /* @__PURE__ */ B(Rfe.Provider, { value: { expanded: g, toggleExpanded: j }, children: /* @__PURE__ */ B( "div", { className: "flex min-h-full items-center justify-center p-4 text-center", style: E ? { pointerEvents: "none" } : void 0, children: C((se, ae) => ae ? /* @__PURE__ */ B( Gze, { forceMount: !0, asChild: !0, ...G ? {} : { "aria-describedby": void 0 }, onPointerDownOutside: (le) => { (!x || E) && le.preventDefault(); }, onEscapeKeyDown: (le) => { O || le.preventDefault(); }, onInteractOutside: (le) => { E && le.preventDefault(); }, children: /* @__PURE__ */ me( jfe.div, { className: g1( "w-full max-w-lg rounded-xl relative border border-ui-panel-border bg-ui-modal text-left align-middle shadow-2xl z-[70]", f && !g ? "p-4" : "", s, "!transition-none", // Always disable CSS transitions for spring animations g && "w-screen h-screen max-w-screen max-h-screen rounded-none" ), ref: z, style: { ...en(), opacity: se.opacity, transform: se.transform, transformOrigin: "center center", willChange: "transform, opacity" // Optimize for animations }, children: [ /* @__PURE__ */ me("div", { className: "w-full h-full", children: [ G && /* @__PURE__ */ B($Y, { asChild: !0, children: /* @__PURE__ */ B(Uze, { children: G }) }), t ? /* @__PURE__ */ B( $U, { className: g1( "mb-4 flex justify-between pb-0 text-xl font-bold text-base-fg" ), children: /* @__PURE__ */ B(ht, { children: n ? /* @__PURE__ */ me( "button", { className: "flex items-center gap-3", onClick: n, children: [ r && /* @__PURE__ */ B( _0, { icon: r, className: p } ), t ] } ) : /* @__PURE__ */ me("div", { className: "flex items-center gap-3", children: [ r && /* @__PURE__ */ B( _0, { icon: r, className: p } ), t ] }) }) } ) : /* @__PURE__ */ B($Y, { asChild: !0, children: /* @__PURE__ */ B($U, { children: h ?? "Dialog" }) }), /* @__PURE__ */ B("div", { className: "h-full".trim(), children: N }), Q() ] }), (v || A) && /* @__PURE__ */ me("div", { className: "absolute top-0 right-0 m-2.5 z-[80] flex items-center gap-2", children: [ A && /* @__PURE__ */ B(cb.ExpandButton, {}), v && /* @__PURE__ */ B(BWe, { onClick: o }) ] }) ] } ) } ) : null) } ) }) ] } ) }) } ); }; cb.DragHandle = L_; cb.DragHandle.displayName = "ModalDragHandle"; cb.ExpandButton = LT; LT.displayName = "ModalExpandButton"; /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function EUe(e, t, r) { return (t = $Ue(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function PY(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Ce(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? PY(Object(r), !0).forEach(function(n) { EUe(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : PY(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function AUe(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function $Ue(e) { var t = AUe(e, "string"); return typeof t == "symbol" ? t : t + ""; } const CY = () => { }; let VT = {}, Mfe = {}, Tfe = null, zfe = { mark: CY, measure: CY }; try { typeof window < "u" && (VT = window), typeof document < "u" && (Mfe = document), typeof MutationObserver < "u" && (Tfe = MutationObserver), typeof performance < "u" && (zfe = performance); } catch { } const { userAgent: NY = "" } = VT.navigator || {}, Gf = VT, zn = Mfe, _Y = Tfe, Xw = zfe; Gf.document; const Ec = !!zn.documentElement && !!zn.head && typeof zn.addEventListener == "function" && typeof zn.createElement == "function", Dfe = ~NY.indexOf("MSIE") || ~NY.indexOf("Trident/"); var PUe = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, CUe = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, Ffe = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, NUe = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, Lfe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], $o = "classic", MS = "duotone", _Ue = "sharp", jUe = "sharp-duotone", Vfe = [$o, MS, _Ue, jUe], IUe = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, RUe = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, MUe = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), TUe = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, zUe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], jY = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, DUe = ["kit"], FUe = { kit: { "fa-kit": "fak" } }, LUe = ["fak", "fakd"], VUe = { kit: { fak: "fa-kit" } }, IY = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, Kw = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, WUe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], GUe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], UUe = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, HUe = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, YUe = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, V_ = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, BUe = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], W_ = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...WUe, ...BUe], qUe = ["solid", "regular", "light", "thin", "duotone", "brands"], Wfe = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], XUe = Wfe.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), KUe = [...Object.keys(YUe), ...qUe, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", Kw.GROUP, Kw.SWAP_OPACITY, Kw.PRIMARY, Kw.SECONDARY].concat(Wfe.map((e) => "".concat(e, "x"))).concat(XUe.map((e) => "w-".concat(e))), JUe = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const ql = "___FONT_AWESOME___", G_ = 16, Gfe = "fa", Ufe = "svg-inline--fa", km = "data-fa-i2svg", U_ = "data-fa-pseudo-element", QUe = "data-fa-pseudo-element-pending", WT = "data-prefix", GT = "data-icon", RY = "fontawesome-i2svg", ZUe = "async", eHe = ["HTML", "HEAD", "STYLE", "SCRIPT"], Hfe = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function Rx(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[$o]; } }); } const Yfe = Ce({}, Ffe); Yfe[$o] = Ce(Ce(Ce(Ce({}, { "fa-duotone": "duotone" }), Ffe[$o]), jY.kit), jY["kit-duotone"]); const tHe = Rx(Yfe), H_ = Ce({}, TUe); H_[$o] = Ce(Ce(Ce(Ce({}, { duotone: "fad" }), H_[$o]), IY.kit), IY["kit-duotone"]); const MY = Rx(H_), Y_ = Ce({}, V_); Y_[$o] = Ce(Ce({}, Y_[$o]), VUe.kit); const UT = Rx(Y_), B_ = Ce({}, HUe); B_[$o] = Ce(Ce({}, B_[$o]), FUe.kit); Rx(B_); const rHe = PUe, Bfe = "fa-layers-text", nHe = CUe, oHe = Ce({}, IUe); Rx(oHe); const aHe = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], T6 = NUe, iHe = [...DUe, ...KUe], S1 = Gf.FontAwesomeConfig || {}; function sHe(e) { var t = zn.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function lHe(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } zn && typeof zn.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => { let [t, r] = e; const n = lHe(sHe(t)); n != null && (S1[r] = n); }); const qfe = { styleDefault: "solid", familyDefault: $o, cssPrefix: Gfe, replacementClass: Ufe, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; S1.familyPrefix && (S1.cssPrefix = S1.familyPrefix); const ub = Ce(Ce({}, qfe), S1); ub.autoReplaceSvg || (ub.observeMutations = !1); const rt = {}; Object.keys(qfe).forEach((e) => { Object.defineProperty(rt, e, { enumerable: !0, set: function(t) { ub[e] = t, E1.forEach((r) => r(rt)); }, get: function() { return ub[e]; } }); }); Object.defineProperty(rt, "familyPrefix", { enumerable: !0, set: function(e) { ub.cssPrefix = e, E1.forEach((t) => t(rt)); }, get: function() { return ub.cssPrefix; } }); Gf.FontAwesomeConfig = rt; const E1 = []; function cHe(e) { return E1.push(e), () => { E1.splice(E1.indexOf(e), 1); }; } const su = G_, ws = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function uHe(e) { if (!e || !Ec) return; const t = zn.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = zn.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return zn.head.insertBefore(t, n), e; } const fHe = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function W0() { let e = 12, t = ""; for (; e-- > 0; ) t += fHe[Math.random() * 62 | 0]; return t; } function Vb(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function HT(e) { return e.classList ? Vb(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function Xfe(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function dHe(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(Xfe(e[r]), '" '), "").trim(); } function TS(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function YT(e) { return e.size !== ws.size || e.x !== ws.x || e.y !== ws.y || e.rotate !== ws.rotate || e.flipX || e.flipY; } function pHe(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), l = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: l, path: c }; } function mHe(e) { let { transform: t, width: r = G_, height: n = G_, startCentered: o = !1 } = e, a = ""; return o && Dfe ? a += "translate(".concat(t.x / su - r / 2, "em, ").concat(t.y / su - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / su, "em), calc(-50% + ").concat(t.y / su, "em)) ") : a += "translate(".concat(t.x / su, "em, ").concat(t.y / su, "em) "), a += "scale(".concat(t.size / su * (t.flipX ? -1 : 1), ", ").concat(t.size / su * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var gHe = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function Kfe() { const e = Gfe, t = Ufe, r = rt.cssPrefix, n = rt.replacementClass; let o = gHe; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let TY = !1; function z6() { rt.autoAddCss && !TY && (uHe(Kfe()), TY = !0); } var hHe = { mixout() { return { dom: { css: Kfe, insertCss: z6 } }; }, hooks() { return { beforeDOMElementCreation() { z6(); }, beforeI2svg() { z6(); } }; } }; const Xl = Gf || {}; Xl[ql] || (Xl[ql] = {}); Xl[ql].styles || (Xl[ql].styles = {}); Xl[ql].hooks || (Xl[ql].hooks = {}); Xl[ql].shims || (Xl[ql].shims = []); var ks = Xl[ql]; const Jfe = [], Qfe = function() { zn.removeEventListener("DOMContentLoaded", Qfe), R5 = 1, Jfe.map((e) => e()); }; let R5 = !1; Ec && (R5 = (zn.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(zn.readyState), R5 || zn.addEventListener("DOMContentLoaded", Qfe)); function bHe(e) { Ec && (R5 ? setTimeout(e, 0) : Jfe.push(e)); } function Mx(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? Xfe(e) : "<".concat(t, " ").concat(dHe(r), ">").concat(n.map(Mx).join(""), ""); } function zY(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var D6 = function(e, t, r, n) { var o = Object.keys(e), a = o.length, i = t, s, l, c; for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++) l = o[s], c = i(c, e[l], l, e); return c; }; function yHe(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function Zfe(e) { const t = yHe(e); return t.length === 1 ? t[0].toString(16) : null; } function vHe(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function DY(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function q_(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = DY(t); typeof ks.hooks.addPack == "function" && !n ? ks.hooks.addPack(e, DY(t)) : ks.styles[e] = Ce(Ce({}, ks.styles[e] || {}), o), e === "fas" && q_("fa", t); } const { styles: G0, shims: xHe } = ks, ede = Object.keys(UT), wHe = ede.reduce((e, t) => (e[t] = Object.keys(UT[t]), e), {}); let BT = null, tde = {}, rde = {}, nde = {}, ode = {}, ade = {}; function kHe(e) { return ~iHe.indexOf(e); } function OHe(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !kHe(o) ? o : null; } const ide = () => { const e = (n) => D6(G0, (o, a, i) => (o[i] = D6(a, n, {}), o), {}); tde = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => { n[i.toString(16)] = a; }), n)), rde = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => { n[i] = a; }), n)), ade = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in G0 || rt.autoFetchSvg, r = D6(xHe, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); nde = r.names, ode = r.unicodes, BT = zS(rt.styleDefault, { family: rt.familyDefault }); }; cHe((e) => { BT = zS(e.styleDefault, { family: rt.familyDefault }); }); ide(); function qT(e, t) { return (tde[e] || {})[t]; } function SHe(e, t) { return (rde[e] || {})[t]; } function Tp(e, t) { return (ade[e] || {})[t]; } function sde(e) { return nde[e] || { prefix: null, iconName: null }; } function EHe(e) { const t = ode[e], r = qT("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function Uf() { return BT; } const lde = () => ({ prefix: null, iconName: null, rest: [] }); function AHe(e) { let t = $o; const r = ede.reduce((n, o) => (n[o] = "".concat(rt.cssPrefix, "-").concat(o), n), {}); return Vfe.forEach((n) => { (e.includes(r[n]) || e.some((o) => wHe[n].includes(o))) && (t = n); }), t; } function zS(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = $o } = t, n = tHe[r][e]; if (r === MS && !e) return "fad"; const o = MY[r][e] || MY[r][n], a = e in ks.styles ? e : null; return o || a || null; } function $He(e) { let t = [], r = null; return e.forEach((n) => { const o = OHe(rt.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function FY(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function DS(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = W_.concat(GUe), a = FY(e.filter((f) => o.includes(f))), i = FY(e.filter((f) => !W_.includes(f))), s = a.filter((f) => (n = f, !Lfe.includes(f))), [l = null] = s, c = AHe(a), u = Ce(Ce({}, $He(i)), {}, { prefix: zS(l, { family: c }) }); return Ce(Ce(Ce({}, u), _He({ values: e, family: c, styles: G0, config: rt, canonical: u, givenPrefix: n })), PHe(r, n, u)); } function PHe(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? sde(o) : {}, i = Tp(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !G0.far && G0.fas && !rt.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const CHe = Vfe.filter((e) => e !== $o || e !== MS), NHe = Object.keys(V_).filter((e) => e !== $o).map((e) => Object.keys(V_[e])).flat(); function _He(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === MS, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && CHe.includes(r) && (Object.keys(a).find((f) => NHe.includes(f)) || i.autoFetchSvg)) { const f = MUe.get(r).defaultShortPrefixId; n.prefix = f, n.iconName = Tp(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = Uf() || "fas"), n; } class jHe { constructor() { this.definitions = {}; } add() { for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++) r[n] = arguments[n]; const o = r.reduce(this._pullDefinitions, {}); Object.keys(o).forEach((a) => { this.definitions[a] = Ce(Ce({}, this.definitions[a] || {}), o[a]), q_(a, o[a]); const i = UT[$o][a]; i && q_(i, o[a]), ide(); }); } reset() { this.definitions = {}; } _pullDefinitions(t, r) { const n = r.prefix && r.iconName && r.icon ? { 0: r } : r; return Object.keys(n).map((o) => { const { prefix: a, iconName: i, icon: s } = n[o], l = s[2]; t[a] || (t[a] = {}), l.length > 0 && l.forEach((c) => { typeof c == "string" && (t[a][c] = s); }), t[a][i] = s; }), t; } } let LY = [], Tg = {}; const Ah = {}, IHe = Object.keys(Ah); function RHe(e, t) { let { mixoutsTo: r } = t; return LY = e, Tg = {}, Object.keys(Ah).forEach((n) => { IHe.indexOf(n) === -1 && delete Ah[n]; }), LY.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { Tg[i] || (Tg[i] = []), Tg[i].push(a[i]); }); } n.provides && n.provides(Ah); }), r; } function X_(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (Tg[e] || []).forEach((a) => { t = a.apply(null, [t, ...n]); }), t; } function Om(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (Tg[e] || []).forEach((o) => { o.apply(null, r); }); } function Hf() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return Ah[e] ? Ah[e].apply(null, t) : void 0; } function K_(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || Uf(); if (t) return t = Tp(r, t) || t, zY(cde.definitions, r, t) || zY(ks.styles, r, t); } const cde = new jHe(), MHe = () => { rt.autoReplaceSvg = !1, rt.observeMutations = !1, Om("noAuto"); }, THe = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return Ec ? (Om("beforeI2svg", e), Hf("pseudoElements2svg", e), Hf("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; rt.autoReplaceSvg === !1 && (rt.autoReplaceSvg = !0), rt.observeMutations = !0, bHe(() => { DHe({ autoReplaceSvgRoot: t }), Om("watch", e); }); } }, zHe = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: Tp(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = zS(e[0]); return { prefix: r, iconName: Tp(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(rt.cssPrefix, "-")) > -1 || e.match(rHe))) { const t = DS(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || Uf(), iconName: Tp(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = Uf(); return { prefix: t, iconName: Tp(t, e) || e }; } } }, Sa = { noAuto: MHe, config: rt, dom: THe, parse: zHe, library: cde, findIconDefinition: K_, toHtml: Mx }, DHe = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = zn } = e; (Object.keys(ks.styles).length > 0 || rt.autoFetchSvg) && Ec && rt.autoReplaceSvg && Sa.dom.i2svg({ node: t }); }; function FS(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => Mx(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!Ec) return; const r = zn.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function FHe(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (YT(i) && r.found && !n.found) { const { width: s, height: l } = r, c = { x: s / l / 2, y: 0.5 }; o.style = TS(Ce(Ce({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function LHe(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(rt.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: Ce(Ce({}, o), {}, { id: i }), children: n }] }]; } function XT(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: l, titleId: c, extra: u, watchable: f = !1 } = e, { width: p, height: v } = r.found ? r : t, w = LUe.includes(n), b = [rt.replacementClass, o ? "".concat(rt.cssPrefix, "-").concat(o) : ""].filter((h) => u.classes.indexOf(h) === -1).filter((h) => h !== "" || !!h).concat(u.classes).join(" "); let m = { children: [], attributes: Ce(Ce({}, u.attributes), {}, { "data-prefix": n, "data-icon": o, class: b, role: u.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(p, " ").concat(v) }) }; const x = w && !~u.classes.indexOf("fa-fw") ? { width: "".concat(p / v * 16 * 0.0625, "em") } : {}; f && (m.attributes[km] = ""), s && (m.children.push({ tag: "title", attributes: { id: m.attributes["aria-labelledby"] || "title-".concat(c || W0()) }, children: [s] }), delete m.attributes.title); const O = Ce(Ce({}, m), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: l, transform: a, symbol: i, styles: Ce(Ce({}, x), u.styles) }), { children: E, attributes: A } = r.found && t.found ? Hf("generateAbstractMask", O) || { children: [], attributes: {} } : Hf("generateAbstractIcon", O) || { children: [], attributes: {} }; return O.children = E, O.attributes = A, i ? LHe(O) : FHe(O); } function VY(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, l = Ce(Ce(Ce({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (l[km] = ""); const c = Ce({}, i.styles); YT(o) && (c.transform = mHe({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const u = TS(c); u.length > 0 && (l.style = u); const f = []; return f.push({ tag: "span", attributes: l, children: [t] }), a && f.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), f; } function VHe(e) { const { content: t, title: r, extra: n } = e, o = Ce(Ce(Ce({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = TS(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: F6 } = ks; function J_(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(rt.cssPrefix, "-").concat(T6.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(rt.cssPrefix, "-").concat(T6.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(rt.cssPrefix, "-").concat(T6.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const WHe = { found: !1, width: 512, height: 512 }; function GHe(e, t) { !Hfe && !rt.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function Q_(e, t) { let r = t; return t === "fa" && rt.styleDefault !== null && (t = Uf()), new Promise((n, o) => { if (r === "fa") { const a = sde(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && F6[t] && F6[t][e]) { const a = F6[t][e]; return n(J_(a)); } GHe(e, t), n(Ce(Ce({}, WHe), {}, { icon: rt.showMissingIcons && e ? Hf("missingIconAbstract") || {} : {} })); }); } const WY = () => { }, Z_ = rt.measurePerformance && Xw && Xw.mark && Xw.measure ? Xw : { mark: WY, measure: WY }, Tv = 'FA "6.7.2"', UHe = (e) => (Z_.mark("".concat(Tv, " ").concat(e, " begins")), () => ude(e)), ude = (e) => { Z_.mark("".concat(Tv, " ").concat(e, " ends")), Z_.measure("".concat(Tv, " ").concat(e), "".concat(Tv, " ").concat(e, " begins"), "".concat(Tv, " ").concat(e, " ends")); }; var KT = { begin: UHe, end: ude }; const gk = () => { }; function GY(e) { return typeof (e.getAttribute ? e.getAttribute(km) : null) == "string"; } function HHe(e) { const t = e.getAttribute ? e.getAttribute(WT) : null, r = e.getAttribute ? e.getAttribute(GT) : null; return t && r; } function YHe(e) { return e && e.classList && e.classList.contains && e.classList.contains(rt.replacementClass); } function BHe() { return rt.autoReplaceSvg === !0 ? hk.replace : hk[rt.autoReplaceSvg] || hk.replace; } function qHe(e) { return zn.createElementNS("http://www.w3.org/2000/svg", e); } function XHe(e) { return zn.createElement(e); } function fde(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? qHe : XHe } = t; if (typeof e == "string") return zn.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(o) { n.setAttribute(o, e.attributes[o]); }), (e.children || []).forEach(function(o) { n.appendChild(fde(o, { ceFn: r })); }), n; } function KHe(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const hk = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(fde(r), t); }), t.getAttribute(km) === null && rt.keepOriginalSource) { let r = zn.createComment(KHe(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~HT(t).indexOf(rt.replacementClass)) return hk.replace(e); const n = new RegExp("".concat(rt.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === rt.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => Mx(a)).join(` `); t.setAttribute(km, ""), t.innerHTML = o; } }; function UY(e) { e(); } function dde(e, t) { const r = typeof t == "function" ? t : gk; if (e.length === 0) r(); else { let n = UY; rt.mutateApproach === ZUe && (n = Gf.requestAnimationFrame || UY), n(() => { const o = BHe(), a = KT.begin("mutate"); e.map(o), a(), r(); }); } } let JT = !1; function pde() { JT = !0; } function ej() { JT = !1; } let M5 = null; function HY(e) { if (!_Y || !rt.observeMutations) return; const { treeCallback: t = gk, nodeCallback: r = gk, pseudoElementsCallback: n = gk, observeMutationsRoot: o = zn } = e; M5 = new _Y((a) => { if (JT) return; const i = Uf(); Vb(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !GY(s.addedNodes[0]) && (rt.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && rt.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && GY(s.target) && ~aHe.indexOf(s.attributeName)) if (s.attributeName === "class" && HHe(s.target)) { const { prefix: l, iconName: c } = DS(HT(s.target)); s.target.setAttribute(WT, l || i), c && s.target.setAttribute(GT, c); } else YHe(s.target) && r(s.target); }); }), Ec && M5.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function JHe() { M5 && M5.disconnect(); } function QHe(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function ZHe(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = DS(HT(e)); return o.prefix || (o.prefix = Uf()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = SHe(o.prefix, e.innerText) || qT(o.prefix, Zfe(e.innerText))), !o.iconName && rt.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function eYe(e) { const t = Vb(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return rt.autoA11y && (r ? t["aria-labelledby"] = "".concat(rt.replacementClass, "-title-").concat(n || W0()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function tYe() { return { iconName: null, title: null, titleId: null, prefix: null, transform: ws, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function YY(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = ZHe(e), a = eYe(e), i = X_("parseNodeAttributes", {}, e); let s = t.styleParser ? QHe(e) : []; return Ce({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: ws, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: rYe } = ks; function mde(e) { const t = rt.autoReplaceSvg === "nest" ? YY(e, { styleParser: !1 }) : YY(e); return ~t.extra.classes.indexOf(Bfe) ? Hf("generateLayersText", e, t) : Hf("generateSvgReplacementMutation", e, t); } function nYe() { return [...zUe, ...W_]; } function BY(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!Ec) return Promise.resolve(); const r = zn.documentElement.classList, n = (u) => r.add("".concat(RY, "-").concat(u)), o = (u) => r.remove("".concat(RY, "-").concat(u)), a = rt.autoFetchSvg ? nYe() : Lfe.concat(Object.keys(rYe)); a.includes("fa") || a.push("fa"); const i = [".".concat(Bfe, ":not([").concat(km, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(km, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = Vb(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const l = KT.begin("onTree"), c = s.reduce((u, f) => { try { const p = mde(f); p && u.push(p); } catch (p) { Hfe || p.name === "MissingIcon" && console.error(p); } return u; }, []); return new Promise((u, f) => { Promise.all(c).then((p) => { dde(p, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u(); }); }).catch((p) => { l(), f(p); }); }); } function oYe(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; mde(e).then((r) => { r && dde([r], t); }); } function aYe(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : K_(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : K_(o || {})), e(n, Ce(Ce({}, r), {}, { mask: o })); }; } const iYe = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = ws, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: l = [], attributes: c = {}, styles: u = {} } = t; if (!e) return; const { prefix: f, iconName: p, icon: v } = e; return FS(Ce({ type: "icon" }, e), () => (Om("beforeDOMElementCreation", { iconDefinition: e, params: t }), rt.autoA11y && (i ? c["aria-labelledby"] = "".concat(rt.replacementClass, "-title-").concat(s || W0()) : (c["aria-hidden"] = "true", c.focusable = "false")), XT({ icons: { main: J_(v), mask: o ? J_(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: f, iconName: p, transform: Ce(Ce({}, ws), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: u, classes: l } }))); }; var sYe = { mixout() { return { icon: aYe(iYe) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = BY, e.nodeCallback = oYe, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = zn, callback: n = () => { } } = t; return BY(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: l, mask: c, maskId: u, extra: f } = r; return new Promise((p, v) => { Promise.all([Q_(n, i), c.iconName ? Q_(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((w) => { let [b, m] = w; p([t, XT({ icons: { main: b, mask: m }, prefix: i, iconName: n, transform: s, symbol: l, maskId: u, title: o, titleId: a, extra: f, watchable: !0 })]); }).catch(v); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = TS(i); s.length > 0 && (n.style = s); let l; return YT(a) && (l = Hf("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(l || o.icon), { children: r, attributes: n }; }; } }, lYe = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return FS({ type: "layer" }, () => { Om("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(rt.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, cYe = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return FS({ type: "counter", content: e }, () => (Om("beforeDOMElementCreation", { content: e, params: t }), VHe({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(rt.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, uYe = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = ws, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return FS({ type: "text", content: e }, () => (Om("beforeDOMElementCreation", { content: e, params: t }), VY({ content: e, transform: Ce(Ce({}, ws), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(rt.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (Dfe) { const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / l, s = c.height / l; } return rt.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, VY({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const fYe = new RegExp('"', "ug"), qY = [1105920, 1112319], XY = Ce(Ce(Ce(Ce({}, { FontAwesome: { normal: "fas", 400: "fas" } }), RUe), JUe), UUe), tj = Object.keys(XY).reduce((e, t) => (e[t.toLowerCase()] = XY[t], e), {}), dYe = Object.keys(tj).reduce((e, t) => { const r = tj[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function pYe(e) { const t = e.replace(fYe, ""), r = vHe(t, 0), n = r >= qY[0] && r <= qY[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: Zfe(o ? t[0] : t), isSecondary: n || o }; } function mYe(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return (tj[r] || {})[o] || dYe[r]; } function KY(e, t) { const r = "".concat(QUe).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const a = Vb(e.children).filter((f) => f.getAttribute(U_) === t)[0], i = Gf.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(nHe), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content"); if (a && !l) return e.removeChild(a), n(); if (l && u !== "none" && u !== "") { const f = i.getPropertyValue("content"); let p = mYe(s, c); const { value: v, isSecondary: w } = pYe(f), b = l[0].startsWith("FontAwesome"); let m = qT(p, v), x = m; if (b) { const O = EHe(v); O.iconName && O.prefix && (m = O.iconName, p = O.prefix); } if (m && !w && (!a || a.getAttribute(WT) !== p || a.getAttribute(GT) !== x)) { e.setAttribute(r, x), a && e.removeChild(a); const O = tYe(), { extra: E } = O; E.attributes[U_] = t, Q_(m, p).then((A) => { const h = XT(Ce(Ce({}, O), {}, { icons: { main: A, mask: lde() }, prefix: p, iconName: x, extra: E, watchable: !0 })), G = zn.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(G, e.firstChild) : e.appendChild(G), G.outerHTML = h.map((H) => Mx(H)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function gYe(e) { return Promise.all([KY(e, "::before"), KY(e, "::after")]); } function hYe(e) { return e.parentNode !== document.head && !~eHe.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(U_) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function JY(e) { if (Ec) return new Promise((t, r) => { const n = Vb(e.querySelectorAll("*")).filter(hYe).map(gYe), o = KT.begin("searchPseudoElements"); pde(), Promise.all(n).then(() => { o(), ej(), t(); }).catch(() => { o(), ej(), r(); }); }); } var bYe = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = JY, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = zn } = t; rt.searchPseudoElements && JY(r); }; } }; let QY = !1; var yYe = { mixout() { return { dom: { unwatch() { pde(), QY = !0; } } }; }, hooks() { return { bootstrap() { HY(X_("mutationObserverCallbacks", {})); }, noAuto() { JHe(); }, watch(e) { const { observeMutationsRoot: t } = e; QY ? ej() : HY(X_("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const ZY = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var vYe = { mixout() { return { parse: { transform: (e) => ZY(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = ZY(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = { transform: "".concat(s, " ").concat(l, " ").concat(c) }, f = { transform: "translate(".concat(a / 2 * -1, " -256)") }, p = { outer: i, inner: u, path: f }; return { tag: "g", attributes: Ce({}, p.outer), children: [{ tag: "g", attributes: Ce({}, p.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: Ce(Ce({}, r.icon.attributes), p.path) }] }] }; }; } }; const L6 = { x: 0, y: 0, width: "100%", height: "100%" }; function eB(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function xYe(e) { return e.tag === "g" ? e.children : [e]; } var wYe = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? DS(r.split(" ").map((o) => o.trim())) : lde(); return n.prefix || (n.prefix = Uf()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: l, icon: c } = o, { width: u, icon: f } = a, p = pHe({ transform: s, containerWidth: u, iconWidth: l }), v = { tag: "rect", attributes: Ce(Ce({}, L6), {}, { fill: "white" }) }, w = c.children ? { children: c.children.map(eB) } : {}, b = { tag: "g", attributes: Ce({}, p.inner), children: [eB(Ce({ tag: c.tag, attributes: Ce(Ce({}, c.attributes), p.path) }, w))] }, m = { tag: "g", attributes: Ce({}, p.outer), children: [b] }, x = "mask-".concat(i || W0()), O = "clip-".concat(i || W0()), E = { tag: "mask", attributes: Ce(Ce({}, L6), {}, { id: x, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [v, m] }, A = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: O }, children: xYe(f) }, E] }; return r.push(A, { tag: "rect", attributes: Ce({ fill: "currentColor", "clip-path": "url(#".concat(O, ")"), mask: "url(#".concat(x, ")") }, L6) }), { children: r, attributes: n }; }; } }, kYe = { provides(e) { let t = !1; Gf.matchMedia && (t = Gf.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: Ce(Ce({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = Ce(Ce({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: Ce(Ce({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: Ce(Ce({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: Ce(Ce({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: Ce(Ce({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: Ce(Ce({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: Ce(Ce({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: Ce(Ce({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, OYe = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, SYe = [hHe, sYe, lYe, cYe, uYe, bYe, yYe, vYe, wYe, kYe, OYe]; RHe(SYe, { mixoutsTo: Sa }); Sa.noAuto; Sa.config; Sa.library; Sa.dom; const rj = Sa.parse; Sa.findIconDefinition; Sa.toHtml; const EYe = Sa.icon; Sa.layer; Sa.text; Sa.counter; function AYe(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var Jw = { exports: {} }, V6 = { exports: {} }, Ar = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var tB; function $Ye() { if (tB) return Ar; tB = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(h) { if (typeof h == "object" && h !== null) { var G = h.$$typeof; switch (G) { case t: switch (h = h.type, h) { case l: case c: case n: case a: case o: case f: return h; default: switch (h = h && h.$$typeof, h) { case s: case u: case w: case v: case i: return h; default: return G; } } case r: return G; } } } function A(h) { return E(h) === c; } return Ar.AsyncMode = l, Ar.ConcurrentMode = c, Ar.ContextConsumer = s, Ar.ContextProvider = i, Ar.Element = t, Ar.ForwardRef = u, Ar.Fragment = n, Ar.Lazy = w, Ar.Memo = v, Ar.Portal = r, Ar.Profiler = a, Ar.StrictMode = o, Ar.Suspense = f, Ar.isAsyncMode = function(h) { return A(h) || E(h) === l; }, Ar.isConcurrentMode = A, Ar.isContextConsumer = function(h) { return E(h) === s; }, Ar.isContextProvider = function(h) { return E(h) === i; }, Ar.isElement = function(h) { return typeof h == "object" && h !== null && h.$$typeof === t; }, Ar.isForwardRef = function(h) { return E(h) === u; }, Ar.isFragment = function(h) { return E(h) === n; }, Ar.isLazy = function(h) { return E(h) === w; }, Ar.isMemo = function(h) { return E(h) === v; }, Ar.isPortal = function(h) { return E(h) === r; }, Ar.isProfiler = function(h) { return E(h) === a; }, Ar.isStrictMode = function(h) { return E(h) === o; }, Ar.isSuspense = function(h) { return E(h) === f; }, Ar.isValidElementType = function(h) { return typeof h == "string" || typeof h == "function" || h === n || h === c || h === a || h === o || h === f || h === p || typeof h == "object" && h !== null && (h.$$typeof === w || h.$$typeof === v || h.$$typeof === i || h.$$typeof === s || h.$$typeof === u || h.$$typeof === m || h.$$typeof === x || h.$$typeof === O || h.$$typeof === b); }, Ar.typeOf = E, Ar; } var Ur = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var rB; function PYe() { return rB || (rB = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === f || k === p || typeof k == "object" && k !== null && (k.$$typeof === w || k.$$typeof === v || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === m || k.$$typeof === x || k.$$typeof === O || k.$$typeof === b); } function A(k) { if (typeof k == "object" && k !== null) { var ne = k.$$typeof; switch (ne) { case t: var pe = k.type; switch (pe) { case l: case c: case n: case a: case o: case f: return pe; default: var He = pe && pe.$$typeof; switch (He) { case s: case u: case w: case v: case i: return He; default: return ne; } } case r: return ne; } } } var h = l, G = c, H = s, Z = i, J = t, X = u, ee = n, I = w, te = v, U = r, z = a, F = o, D = f, Y = !1; function q(k) { return Y || (Y = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), g(k) || A(k) === l; } function g(k) { return A(k) === c; } function d(k) { return A(k) === s; } function S(k) { return A(k) === i; } function C(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function P(k) { return A(k) === u; } function j(k) { return A(k) === n; } function _(k) { return A(k) === w; } function N(k) { return A(k) === v; } function M(k) { return A(k) === r; } function R(k) { return A(k) === a; } function T(k) { return A(k) === o; } function Q(k) { return A(k) === f; } Ur.AsyncMode = h, Ur.ConcurrentMode = G, Ur.ContextConsumer = H, Ur.ContextProvider = Z, Ur.Element = J, Ur.ForwardRef = X, Ur.Fragment = ee, Ur.Lazy = I, Ur.Memo = te, Ur.Portal = U, Ur.Profiler = z, Ur.StrictMode = F, Ur.Suspense = D, Ur.isAsyncMode = q, Ur.isConcurrentMode = g, Ur.isContextConsumer = d, Ur.isContextProvider = S, Ur.isElement = C, Ur.isForwardRef = P, Ur.isFragment = j, Ur.isLazy = _, Ur.isMemo = N, Ur.isPortal = M, Ur.isProfiler = R, Ur.isStrictMode = T, Ur.isSuspense = Q, Ur.isValidElementType = E, Ur.typeOf = A; }()), Ur; } var nB; function gde() { return nB || (nB = 1, process.env.NODE_ENV === "production" ? V6.exports = $Ye() : V6.exports = PYe()), V6.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var W6, oB; function CYe() { if (oB) return W6; oB = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var l = Object.getOwnPropertyNames(i).map(function(u) { return i[u]; }); if (l.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(u) { c[u] = u; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return W6 = o() ? Object.assign : function(a, i) { for (var s, l = n(a), c, u = 1; u < arguments.length; u++) { s = Object(arguments[u]); for (var f in s) t.call(s, f) && (l[f] = s[f]); if (e) { c = e(s); for (var p = 0; p < c.length; p++) r.call(s, c[p]) && (l[c[p]] = s[c[p]]); } } return l; }, W6; } var G6, aB; function QT() { if (aB) return G6; aB = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return G6 = e, G6; } var iB, sB; function hde() { return sB || (sB = 1, iB = Function.call.bind(Object.prototype.hasOwnProperty)), iB; } var U6, lB; function NYe() { if (lB) return U6; lB = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ QT(), r = {}, n = /* @__PURE__ */ hde(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, l, c) { if (process.env.NODE_ENV !== "production") { for (var u in a) if (n(a, u)) { var f; try { if (typeof a[u] != "function") { var p = Error( (l || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw p.name = "Invariant Violation", p; } f = a[u](i, u, l, s, null, t); } catch (w) { f = w; } if (f && !(f instanceof Error) && e( (l || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), f instanceof Error && !(f.message in r)) { r[f.message] = !0; var v = c ? c() : ""; e( "Failed " + s + " type: " + f.message + (v ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, U6 = o, U6; } var H6, cB; function _Ye() { if (cB) return H6; cB = 1; var e = gde(), t = CYe(), r = /* @__PURE__ */ QT(), n = /* @__PURE__ */ hde(), o = /* @__PURE__ */ NYe(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var l = "Warning: " + s; typeof console < "u" && console.error(l); try { throw new Error(l); } catch { } }); function i() { return null; } return H6 = function(s, l) { var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator"; function f(g) { var d = g && (c && g[c] || g[u]); if (typeof d == "function") return d; } var p = "<>", v = { array: x("array"), bigint: x("bigint"), bool: x("boolean"), func: x("function"), number: x("number"), object: x("object"), string: x("string"), symbol: x("symbol"), any: O(), arrayOf: E, element: A(), elementType: h(), instanceOf: G, node: X(), objectOf: Z, oneOf: H, oneOfType: J, shape: I, exact: te }; function w(g, d) { return g === d ? g !== 0 || 1 / g === 1 / d : g !== g && d !== d; } function b(g, d) { this.message = g, this.data = d && typeof d == "object" ? d : {}, this.stack = ""; } b.prototype = Error.prototype; function m(g) { if (process.env.NODE_ENV !== "production") var d = {}, S = 0; function C(j, _, N, M, R, T, Q) { if (M = M || p, T = T || N, Q !== r) { if (l) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var ne = M + ":" + N; !d[ne] && // Avoid spamming the console because they are often not actionable except for lib authors S < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + M + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), d[ne] = !0, S++); } } return _[N] == null ? j ? _[N] === null ? new b("The " + R + " `" + T + "` is marked as required " + ("in `" + M + "`, but its value is `null`.")) : new b("The " + R + " `" + T + "` is marked as required in " + ("`" + M + "`, but its value is `undefined`.")) : null : g(_, N, M, R, T); } var P = C.bind(null, !1); return P.isRequired = C.bind(null, !0), P; } function x(g) { function d(S, C, P, j, _, N) { var M = S[C], R = F(M); if (R !== g) { var T = D(M); return new b( "Invalid " + j + " `" + _ + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."), { expectedType: g } ); } return null; } return m(d); } function O() { return m(i); } function E(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside arrayOf."); var N = S[C]; if (!Array.isArray(N)) { var M = F(N); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an array.")); } for (var R = 0; R < N.length; R++) { var T = g(N, R, P, j, _ + "[" + R + "]", r); if (T instanceof Error) return T; } return null; } return m(d); } function A() { function g(d, S, C, P, j) { var _ = d[S]; if (!s(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement.")); } return null; } return m(g); } function h() { function g(d, S, C, P, j) { var _ = d[S]; if (!e.isValidElementType(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement type.")); } return null; } return m(g); } function G(g) { function d(S, C, P, j, _) { if (!(S[C] instanceof g)) { var N = g.name || p, M = q(S[C]); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected ") + ("instance of `" + N + "`.")); } return null; } return m(d); } function H(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function d(S, C, P, j, _) { for (var N = S[C], M = 0; M < g.length; M++) if (w(N, g[M])) return null; var R = JSON.stringify(g, function(T, Q) { var k = D(Q); return k === "symbol" ? String(Q) : Q; }); return new b("Invalid " + j + " `" + _ + "` of value `" + String(N) + "` " + ("supplied to `" + P + "`, expected one of " + R + ".")); } return m(d); } function Z(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside objectOf."); var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an object.")); for (var R in N) if (n(N, R)) { var T = g(N, R, P, j, _ + "." + R, r); if (T instanceof Error) return T; } return null; } return m(d); } function J(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var d = 0; d < g.length; d++) { var S = g[d]; if (typeof S != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(S) + " at index " + d + "." ), i; } function C(P, j, _, N, M) { for (var R = [], T = 0; T < g.length; T++) { var Q = g[T], k = Q(P, j, _, N, M, r); if (k == null) return null; k.data && n(k.data, "expectedType") && R.push(k.data.expectedType); } var ne = R.length > 0 ? ", expected one of type [" + R.join(", ") + "]" : ""; return new b("Invalid " + N + " `" + M + "` supplied to " + ("`" + _ + "`" + ne + ".")); } return m(C); } function X() { function g(d, S, C, P, j) { return U(d[S]) ? null : new b("Invalid " + P + " `" + j + "` supplied to " + ("`" + C + "`, expected a ReactNode.")); } return m(g); } function ee(g, d, S, C, P) { return new b( (g || "React class") + ": " + d + " type `" + S + "." + C + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`." ); } function I(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); for (var R in g) { var T = g[R]; if (typeof T != "function") return ee(P, j, _, R, D(T)); var Q = T(N, R, P, j, _ + "." + R, r); if (Q) return Q; } return null; } return m(d); } function te(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); var R = t({}, S[C], g); for (var T in R) { var Q = g[T]; if (n(g, T) && typeof Q != "function") return ee(P, j, _, T, D(Q)); if (!Q) return new b( "Invalid " + j + " `" + _ + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(S[C], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(g), null, " ") ); var k = Q(N, T, P, j, _ + "." + T, r); if (k) return k; } return null; } return m(d); } function U(g) { switch (typeof g) { case "number": case "string": case "undefined": return !0; case "boolean": return !g; case "object": if (Array.isArray(g)) return g.every(U); if (g === null || s(g)) return !0; var d = f(g); if (d) { var S = d.call(g), C; if (d !== g.entries) { for (; !(C = S.next()).done; ) if (!U(C.value)) return !1; } else for (; !(C = S.next()).done; ) { var P = C.value; if (P && !U(P[1])) return !1; } } else return !1; return !0; default: return !1; } } function z(g, d) { return g === "symbol" ? !0 : d ? d["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && d instanceof Symbol : !1; } function F(g) { var d = typeof g; return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : z(d, g) ? "symbol" : d; } function D(g) { if (typeof g > "u" || g === null) return "" + g; var d = F(g); if (d === "object") { if (g instanceof Date) return "date"; if (g instanceof RegExp) return "regexp"; } return d; } function Y(g) { var d = D(g); switch (d) { case "array": case "object": return "an " + d; case "boolean": case "date": case "regexp": return "a " + d; default: return d; } } function q(g) { return !g.constructor || !g.constructor.name ? p : g.constructor.name; } return v.checkPropTypes = o, v.resetWarningCache = o.resetWarningCache, v.PropTypes = v, v; }, H6; } var Y6, uB; function jYe() { if (uB) return Y6; uB = 1; var e = /* @__PURE__ */ QT(); function t() { } function r() { } return r.resetWarningCache = t, Y6 = function() { function n(i, s, l, c, u, f) { if (f !== e) { var p = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw p.name = "Invariant Violation", p; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, Y6; } var fB; function IYe() { if (fB) return Jw.exports; if (fB = 1, process.env.NODE_ENV !== "production") { var e = gde(), t = !0; Jw.exports = /* @__PURE__ */ _Ye()(e.isElement, t); } else Jw.exports = /* @__PURE__ */ jYe()(); return Jw.exports; } var RYe = /* @__PURE__ */ IYe(); const or = /* @__PURE__ */ AYe(RYe); function dB(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function qi(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? dB(Object(r), !0).forEach(function(n) { zg(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : dB(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function T5(e) { "@babel/helpers - typeof"; return T5 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, T5(e); } function zg(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function MYe(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function TYe(e, t) { if (e == null) return {}; var r = MYe(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function nj(e) { return zYe(e) || DYe(e) || FYe(e) || LYe(); } function zYe(e) { if (Array.isArray(e)) return oj(e); } function DYe(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function FYe(e, t) { if (e) { if (typeof e == "string") return oj(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return oj(e, t); } } function oj(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function LYe() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function VYe(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, p = e.fixedWidth, v = e.inverse, w = e.border, b = e.listItem, m = e.flip, x = e.size, O = e.rotation, E = e.pull, A = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": l, "fa-spin-reverse": u, "fa-spin-pulse": c, "fa-pulse": f, "fa-fw": p, "fa-inverse": v, "fa-border": w, "fa-li": b, "fa-flip": m === !0, "fa-flip-horizontal": m === "horizontal" || m === "both", "fa-flip-vertical": m === "vertical" || m === "both" }, zg(t, "fa-".concat(x), typeof x < "u" && x !== null), zg(t, "fa-rotate-".concat(O), typeof O < "u" && O !== null && O !== 0), zg(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), zg(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(A).map(function(h) { return A[h] ? h : null; }).filter(function(h) { return h; }); } function WYe(e) { return e = e - 0, e === e; } function bde(e) { return WYe(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var GYe = ["style"]; function UYe(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function HYe(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = bde(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[UYe(o)] = a : t[o] = a, t; }, {}); } function yde(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(l) { return yde(e, l); }), o = Object.keys(t.attributes || {}).reduce(function(l, c) { var u = t.attributes[c]; switch (c) { case "class": l.attrs.className = u, delete t.attributes.class; break; case "style": l.attrs.style = HYe(u); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[bde(c)] = u; } return l; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = TYe(r, GYe); return o.attrs.style = qi(qi({}, o.attrs.style), i), e.apply(void 0, [t.tag, qi(qi({}, o.attrs), s)].concat(nj(n))); } var vde = !1; try { vde = process.env.NODE_ENV === "production"; } catch { } function YYe() { if (!vde && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function pB(e) { if (e && T5(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (rj.icon) return rj.icon(e); if (e === null) return null; if (e && T5(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function B6(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? zg({}, e, t) : {}; } var mB = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, ta = /* @__PURE__ */ de.forwardRef(function(e, t) { var r = qi(qi({}, mB), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = pB(n), f = B6("classes", [].concat(nj(VYe(r)), nj((i || "").split(" ")))), p = B6("transform", typeof r.transform == "string" ? rj.transform(r.transform) : r.transform), v = B6("mask", pB(o)), w = EYe(u, qi(qi(qi(qi({}, f), p), v), {}, { symbol: a, title: s, titleId: l, maskId: c })); if (!w) return YYe("Could not find icon", u), null; var b = w.abstract, m = { ref: t }; return Object.keys(r).forEach(function(x) { mB.hasOwnProperty(x) || (m[x] = r[x]); }), BYe(b[0], m); }); ta.displayName = "FontAwesomeIcon"; ta.propTypes = { beat: or.bool, border: or.bool, beatFade: or.bool, bounce: or.bool, className: or.string, fade: or.bool, flash: or.bool, mask: or.oneOfType([or.object, or.array, or.string]), maskId: or.string, fixedWidth: or.bool, inverse: or.bool, flip: or.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: or.oneOfType([or.object, or.array, or.string]), listItem: or.bool, pull: or.oneOf(["right", "left"]), pulse: or.bool, rotation: or.oneOf([0, 90, 180, 270]), shake: or.bool, size: or.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: or.bool, spinPulse: or.bool, spinReverse: or.bool, symbol: or.oneOfType([or.bool, or.string]), title: or.string, titleId: or.string, transform: or.oneOfType([or.string, or.object]), swapOpacity: or.bool }; var BYe = yde.bind(null, de.createElement); const ZT = "-", qYe = (e) => { const t = KYe(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(ZT); return a[0] === "" && a.length !== 1 && a.shift(), xde(a, t) || XYe(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, xde = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? xde(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(ZT); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, gB = /^\[(.+)\]$/, XYe = (e) => { if (gB.test(e)) { const t = gB.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, KYe = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return QYe(Object.entries(e.classGroups), r).forEach(([o, a]) => { aj(a, n, o, t); }), n; }, aj = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : hB(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (JYe(o)) { aj(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { aj(i, hB(t, a), r, n); }); }); }, hB = (e, t) => { let r = e; return t.split(ZT).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, JYe = (e) => e.isThemeGetter, QYe = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, ZYe = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, wde = "!", eBe = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(wde), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, tBe = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, rBe = (e) => ({ cache: ZYe(e.cacheSize), parseClassName: eBe(e), ...qYe(e) }), nBe = /\s+/, oBe = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(nBe); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = tBe(u).join(":"), x = f ? m + wde : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function aBe() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = kde(t)) && (n && (n += " "), n += r); return n; } const kde = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = kde(e[n])) && (r && (r += " "), r += t); return r; }; function iBe(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = rBe(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = oBe(l, r); return o(l, u), u; } return function() { return a(aBe.apply(null, arguments)); }; } const gn = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, Ode = /^\[(?:([a-z-]+):)?(.+)\]$/i, sBe = /^\d+\/\d+$/, lBe = /* @__PURE__ */ new Set(["px", "full", "screen"]), cBe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, uBe = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, fBe = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, dBe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, pBe = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, sl = (e) => $h(e) || lBe.has(e) || sBe.test(e), lu = (e) => Wb(e, "length", wBe), $h = (e) => !!e && !Number.isNaN(Number(e)), q6 = (e) => Wb(e, "number", $h), Gy = (e) => !!e && Number.isInteger(Number(e)), mBe = (e) => e.endsWith("%") && $h(e.slice(0, -1)), Ct = (e) => Ode.test(e), cu = (e) => cBe.test(e), gBe = /* @__PURE__ */ new Set(["length", "size", "percentage"]), hBe = (e) => Wb(e, gBe, Sde), bBe = (e) => Wb(e, "position", Sde), yBe = /* @__PURE__ */ new Set(["image", "url"]), vBe = (e) => Wb(e, yBe, OBe), xBe = (e) => Wb(e, "", kBe), Uy = () => !0, Wb = (e, t, r) => { const n = Ode.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, wBe = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. uBe.test(e) && !fBe.test(e) ), Sde = () => !1, kBe = (e) => dBe.test(e), OBe = (e) => pBe.test(e), SBe = () => { const e = gn("colors"), t = gn("spacing"), r = gn("blur"), n = gn("brightness"), o = gn("borderColor"), a = gn("borderRadius"), i = gn("borderSpacing"), s = gn("borderWidth"), l = gn("contrast"), c = gn("grayscale"), u = gn("hueRotate"), f = gn("invert"), p = gn("gap"), v = gn("gradientColorStops"), w = gn("gradientColorStopPositions"), b = gn("inset"), m = gn("margin"), x = gn("opacity"), O = gn("padding"), E = gn("saturate"), A = gn("scale"), h = gn("sepia"), G = gn("skew"), H = gn("space"), Z = gn("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", Ct, t], I = () => [Ct, t], te = () => ["", sl, lu], U = () => ["auto", $h, Ct], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", Ct], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [$h, Ct]; return { cacheSize: 500, separator: ":", theme: { colors: [Uy], spacing: [sl, lu], blur: ["none", "", cu, Ct], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", cu, Ct], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [mBe, lu], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", Ct] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [cu] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), Ct] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", Gy, Ct] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", Ct] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", Gy, Ct] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [Uy] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", Gy, Ct] }, Ct] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [Uy] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [Gy, Ct] }, Ct] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", Ct] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", Ct] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", Ct, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [Ct, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [Ct, t, "none", "full", "min", "max", "fit", "prose", { screen: [cu] }, cu] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [Ct, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [Ct, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [Ct, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [Ct, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", cu, lu] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", q6] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [Uy] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", Ct] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", $h, q6] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", sl, Ct] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", Ct] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", Ct] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", sl, lu] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", sl, Ct] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Ct] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", Ct] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), bBe] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", hBe] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, vBe] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [sl, Ct] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [sl, lu] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [sl, lu] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", cu, xBe] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [Uy] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", cu, Ct] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", Ct] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", Ct] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", Ct] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [Gy, Ct] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", Ct] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", Ct] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", Ct] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [sl, lu, q6] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, bB = /* @__PURE__ */ iBe(SBe); /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const ug = { prefix: "fas", iconName: "spinner-third", icon: [512, 512, [], "f3f4", "M224 32c0-17.7 14.3-32 32-32C397.4 0 512 114.6 512 256c0 46.6-12.5 90.4-34.3 128c-8.8 15.3-28.4 20.5-43.7 11.7s-20.5-28.4-11.7-43.7c16.3-28.2 25.7-61 25.7-96c0-106-86-192-192-192c-17.7 0-32-14.3-32-32z"] }, Qw = ({ icon: e, iconClassName: t, children: r, className: n, htmlFor: o, variant: a = "primary", disabled: i, iconFlip: s = !1, loading: l, as: c = "button", href: u, target: f, ...p }) => { function v(m) { switch (m) { case "secondary": return "i-am-a-unique-string bg-ui-controls text-base-fg border border-ui-controls-border hover:bg-ui-controls/80 focus-visible:outline-secondary"; case "action": return "bg-ui-controls text-base-fg border border-ui-controls-border hover:bg-ui-controls/80 focus-visible:outline-action"; case "destructive": return "bg-red hover:bg-red/90 text-white focus-visible:outline-red"; case "ghost": return "bg-transparent text-base-fg border border-ui-controls-border/70 hover:bg-ui-controls/30 focus-visible:outline-primary-600"; case "primary": default: return "bg-primary hover:bg-primary-400 text-white focus-visible:outline-primary-600"; } } const w = bB( i || l ? "opacity-50 pointer-events-none" : "" ), b = bB( "w-fit text-sm font-medium rounded-lg px-3 py-2 border border-transparent shadow-sm focus-visible:outline focus-visible:outline-0 focus-visible:outline-offset-0 transition-all duration-150 flex gap-2 items-center justify-center active:scale-95 transform", v(a), n, w ); return o ? /* @__PURE__ */ me("label", { className: b, htmlFor: o, style: p.style, children: [ l && !s ? /* @__PURE__ */ B(ta, { icon: ug, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && !s ? /* @__PURE__ */ B(ta, { icon: e, className: t }) : null }), r, l && s ? /* @__PURE__ */ B(ta, { icon: ug, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && s ? /* @__PURE__ */ B(ta, { icon: e, className: t }) : null }) ] }) : c === "link" && u ? /* @__PURE__ */ me( "a", { href: u, className: b, style: p.style, ...p, target: f, children: [ l && !s ? /* @__PURE__ */ B(ta, { icon: ug, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && !s ? /* @__PURE__ */ B(ta, { icon: e, className: t }) : null }), r, l && s ? /* @__PURE__ */ B(ta, { icon: ug, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && s ? /* @__PURE__ */ B(ta, { icon: e, className: t }) : null }) ] } ) : /* @__PURE__ */ me( "button", { className: b, disabled: i || l, ...p, htmlFor: o, children: [ l && !s ? /* @__PURE__ */ B(ta, { icon: ug, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && !s ? /* @__PURE__ */ B(ta, { icon: e, className: t }) : null }), r, l && s ? /* @__PURE__ */ B(ta, { icon: ug, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && s ? /* @__PURE__ */ B(ta, { icon: e, className: t }) : null }) ] } ); }; var bk = /* @__PURE__ */ ((e) => (e[e.ALL = 0] = "ALL", e[e.FEATURED = 1] = "FEATURED", e[e.MINE = 2] = "MINE", e[e.BOOKMARKED = 3] = "BOOKMARKED", e))(bk || {}); bk.FEATURED, bk.MINE, bk.BOOKMARKED; function Ede(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var ij = { exports: {} }, EBe = ij.exports, yB; function ABe() { return yB || (yB = 1, function(e, t) { (function(r, n) { e.exports = n(); })(EBe, function() { var r = 1e3, n = 6e4, o = 36e5, a = "millisecond", i = "second", s = "minute", l = "hour", c = "day", u = "week", f = "month", p = "quarter", v = "year", w = "date", b = "Invalid Date", m = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, x = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, O = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(U) { var z = ["th", "st", "nd", "rd"], F = U % 100; return "[" + U + (z[(F - 20) % 10] || z[F] || z[0]) + "]"; } }, E = function(U, z, F) { var D = String(U); return !D || D.length >= z ? U : "" + Array(z + 1 - D.length).join(F) + U; }, A = { s: E, z: function(U) { var z = -U.utcOffset(), F = Math.abs(z), D = Math.floor(F / 60), Y = F % 60; return (z <= 0 ? "+" : "-") + E(D, 2, "0") + ":" + E(Y, 2, "0"); }, m: function U(z, F) { if (z.date() < F.date()) return -U(F, z); var D = 12 * (F.year() - z.year()) + (F.month() - z.month()), Y = z.clone().add(D, f), q = F - Y < 0, g = z.clone().add(D + (q ? -1 : 1), f); return +(-(D + (F - Y) / (q ? Y - g : g - Y)) || 0); }, a: function(U) { return U < 0 ? Math.ceil(U) || 0 : Math.floor(U); }, p: function(U) { return { M: f, y: v, w: u, d: c, D: w, h: l, m: s, s: i, ms: a, Q: p }[U] || String(U || "").toLowerCase().replace(/s$/, ""); }, u: function(U) { return U === void 0; } }, h = "en", G = {}; G[h] = O; var H = "$isDayjsObject", Z = function(U) { return U instanceof I || !(!U || !U[H]); }, J = function U(z, F, D) { var Y; if (!z) return h; if (typeof z == "string") { var q = z.toLowerCase(); G[q] && (Y = q), F && (G[q] = F, Y = q); var g = z.split("-"); if (!Y && g.length > 1) return U(g[0]); } else { var d = z.name; G[d] = z, Y = d; } return !D && Y && (h = Y), Y || !D && h; }, X = function(U, z) { if (Z(U)) return U.clone(); var F = typeof z == "object" ? z : {}; return F.date = U, F.args = arguments, new I(F); }, ee = A; ee.l = J, ee.i = Z, ee.w = function(U, z) { return X(U, { locale: z.$L, utc: z.$u, x: z.$x, $offset: z.$offset }); }; var I = function() { function U(F) { this.$L = J(F.locale, null, !0), this.parse(F), this.$x = this.$x || F.x || {}, this[H] = !0; } var z = U.prototype; return z.parse = function(F) { this.$d = function(D) { var Y = D.date, q = D.utc; if (Y === null) return /* @__PURE__ */ new Date(NaN); if (ee.u(Y)) return /* @__PURE__ */ new Date(); if (Y instanceof Date) return new Date(Y); if (typeof Y == "string" && !/Z$/i.test(Y)) { var g = Y.match(m); if (g) { var d = g[2] - 1 || 0, S = (g[7] || "0").substring(0, 3); return q ? new Date(Date.UTC(g[1], d, g[3] || 1, g[4] || 0, g[5] || 0, g[6] || 0, S)) : new Date(g[1], d, g[3] || 1, g[4] || 0, g[5] || 0, g[6] || 0, S); } } return new Date(Y); }(F), this.init(); }, z.init = function() { var F = this.$d; this.$y = F.getFullYear(), this.$M = F.getMonth(), this.$D = F.getDate(), this.$W = F.getDay(), this.$H = F.getHours(), this.$m = F.getMinutes(), this.$s = F.getSeconds(), this.$ms = F.getMilliseconds(); }, z.$utils = function() { return ee; }, z.isValid = function() { return this.$d.toString() !== b; }, z.isSame = function(F, D) { var Y = X(F); return this.startOf(D) <= Y && Y <= this.endOf(D); }, z.isAfter = function(F, D) { return X(F) < this.startOf(D); }, z.isBefore = function(F, D) { return this.endOf(D) < X(F); }, z.$g = function(F, D, Y) { return ee.u(F) ? this[D] : this.set(Y, F); }, z.unix = function() { return Math.floor(this.valueOf() / 1e3); }, z.valueOf = function() { return this.$d.getTime(); }, z.startOf = function(F, D) { var Y = this, q = !!ee.u(D) || D, g = ee.p(F), d = function(R, T) { var Q = ee.w(Y.$u ? Date.UTC(Y.$y, T, R) : new Date(Y.$y, T, R), Y); return q ? Q : Q.endOf(c); }, S = function(R, T) { return ee.w(Y.toDate()[R].apply(Y.toDate("s"), (q ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(T)), Y); }, C = this.$W, P = this.$M, j = this.$D, _ = "set" + (this.$u ? "UTC" : ""); switch (g) { case v: return q ? d(1, 0) : d(31, 11); case f: return q ? d(1, P) : d(0, P + 1); case u: var N = this.$locale().weekStart || 0, M = (C < N ? C + 7 : C) - N; return d(q ? j - M : j + (6 - M), P); case c: case w: return S(_ + "Hours", 0); case l: return S(_ + "Minutes", 1); case s: return S(_ + "Seconds", 2); case i: return S(_ + "Milliseconds", 3); default: return this.clone(); } }, z.endOf = function(F) { return this.startOf(F, !1); }, z.$set = function(F, D) { var Y, q = ee.p(F), g = "set" + (this.$u ? "UTC" : ""), d = (Y = {}, Y[c] = g + "Date", Y[w] = g + "Date", Y[f] = g + "Month", Y[v] = g + "FullYear", Y[l] = g + "Hours", Y[s] = g + "Minutes", Y[i] = g + "Seconds", Y[a] = g + "Milliseconds", Y)[q], S = q === c ? this.$D + (D - this.$W) : D; if (q === f || q === v) { var C = this.clone().set(w, 1); C.$d[d](S), C.init(), this.$d = C.set(w, Math.min(this.$D, C.daysInMonth())).$d; } else d && this.$d[d](S); return this.init(), this; }, z.set = function(F, D) { return this.clone().$set(F, D); }, z.get = function(F) { return this[ee.p(F)](); }, z.add = function(F, D) { var Y, q = this; F = Number(F); var g = ee.p(D), d = function(P) { var j = X(q); return ee.w(j.date(j.date() + Math.round(P * F)), q); }; if (g === f) return this.set(f, this.$M + F); if (g === v) return this.set(v, this.$y + F); if (g === c) return d(1); if (g === u) return d(7); var S = (Y = {}, Y[s] = n, Y[l] = o, Y[i] = r, Y)[g] || 1, C = this.$d.getTime() + F * S; return ee.w(C, this); }, z.subtract = function(F, D) { return this.add(-1 * F, D); }, z.format = function(F) { var D = this, Y = this.$locale(); if (!this.isValid()) return Y.invalidDate || b; var q = F || "YYYY-MM-DDTHH:mm:ssZ", g = ee.z(this), d = this.$H, S = this.$m, C = this.$M, P = Y.weekdays, j = Y.months, _ = Y.meridiem, N = function(T, Q, k, ne) { return T && (T[Q] || T(D, q)) || k[Q].slice(0, ne); }, M = function(T) { return ee.s(d % 12 || 12, T, "0"); }, R = _ || function(T, Q, k) { var ne = T < 12 ? "AM" : "PM"; return k ? ne.toLowerCase() : ne; }; return q.replace(x, function(T, Q) { return Q || function(k) { switch (k) { case "YY": return String(D.$y).slice(-2); case "YYYY": return ee.s(D.$y, 4, "0"); case "M": return C + 1; case "MM": return ee.s(C + 1, 2, "0"); case "MMM": return N(Y.monthsShort, C, j, 3); case "MMMM": return N(j, C); case "D": return D.$D; case "DD": return ee.s(D.$D, 2, "0"); case "d": return String(D.$W); case "dd": return N(Y.weekdaysMin, D.$W, P, 2); case "ddd": return N(Y.weekdaysShort, D.$W, P, 3); case "dddd": return P[D.$W]; case "H": return String(d); case "HH": return ee.s(d, 2, "0"); case "h": return M(1); case "hh": return M(2); case "a": return R(d, S, !0); case "A": return R(d, S, !1); case "m": return String(S); case "mm": return ee.s(S, 2, "0"); case "s": return String(D.$s); case "ss": return ee.s(D.$s, 2, "0"); case "SSS": return ee.s(D.$ms, 3, "0"); case "Z": return g; } return null; }(T) || g.replace(":", ""); }); }, z.utcOffset = function() { return 15 * -Math.round(this.$d.getTimezoneOffset() / 15); }, z.diff = function(F, D, Y) { var q, g = this, d = ee.p(D), S = X(F), C = (S.utcOffset() - this.utcOffset()) * n, P = this - S, j = function() { return ee.m(g, S); }; switch (d) { case v: q = j() / 12; break; case f: q = j(); break; case p: q = j() / 3; break; case u: q = (P - C) / 6048e5; break; case c: q = (P - C) / 864e5; break; case l: q = P / o; break; case s: q = P / n; break; case i: q = P / r; break; default: q = P; } return Y ? q : ee.a(q); }, z.daysInMonth = function() { return this.endOf(f).$D; }, z.$locale = function() { return G[this.$L]; }, z.locale = function(F, D) { if (!F) return this.$L; var Y = this.clone(), q = J(F, D, !0); return q && (Y.$L = q), Y; }, z.clone = function() { return ee.w(this.$d, this); }, z.toDate = function() { return new Date(this.valueOf()); }, z.toJSON = function() { return this.isValid() ? this.toISOString() : null; }, z.toISOString = function() { return this.$d.toISOString(); }, z.toString = function() { return this.$d.toUTCString(); }, U; }(), te = I.prototype; return X.prototype = te, [["$ms", a], ["$s", i], ["$m", s], ["$H", l], ["$W", c], ["$M", f], ["$y", v], ["$D", w]].forEach(function(U) { te[U[1]] = function(z) { return this.$g(z, U[0], U[1]); }; }), X.extend = function(U, z) { return U.$i || (U(z, I, X), U.$i = !0), X; }, X.locale = J, X.isDayjs = Z, X.unix = function(U) { return X(1e3 * U); }, X.en = G[h], X.Ls = G, X.p = {}, X; }); }(ij)), ij.exports; } var $Be = ABe(); const vB = /* @__PURE__ */ Ede($Be); /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const PBe = { prefix: "fas", iconName: "pencil", icon: [512, 512, [9999, 61504, "pencil-alt"], "f303", "M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"] }, CBe = { prefix: "fas", iconName: "down-to-line", icon: [384, 512, ["arrow-alt-to-bottom"], "f34a", "M342.1 249.9L219.3 372.7c-7.2 7.2-17.1 11.3-27.3 11.3s-20.1-4.1-27.3-11.3L41.9 249.9c-6.4-6.4-9.9-15-9.9-24C32 207.2 47.2 192 65.9 192l62.1 0 0-128c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l0 128 62.1 0c18.7 0 33.9 15.2 33.9 33.9c0 9-3.6 17.6-9.9 24zM32 416l320 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32z"] }, NBe = { prefix: "fas", iconName: "copy", icon: [448, 512, [], "f0c5", "M208 0L332.1 0c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9L448 336c0 26.5-21.5 48-48 48l-192 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48zM48 128l80 0 0 64-64 0 0 256 192 0 0-32 64 0 0 48c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 176c0-26.5 21.5-48 48-48z"] }; async function _Be(e, t = {}, r) { return window.__TAURI_INTERNALS__.invoke(e, t, r); } var Ade = /* @__PURE__ */ ((e) => (e.Hunyuan3d2 = "hunyuan_3d_2", e.Hunyuan3d2_0 = "hunyuan_3d_2_0", e.Hunyuan3d2_1 = "hunyuan_3d_2_1", e))(Ade || {}); const jBe = async (e) => await _Be("enqueue_image_to_3d_object_command", { request: { image_media_token: e.image_media_token, model: e.model } }); var xB; (function(e) { e.WINDOW_RESIZED = "tauri://resize", e.WINDOW_MOVED = "tauri://move", e.WINDOW_CLOSE_REQUESTED = "tauri://close-requested", e.WINDOW_DESTROYED = "tauri://destroyed", e.WINDOW_FOCUS = "tauri://focus", e.WINDOW_BLUR = "tauri://blur", e.WINDOW_SCALE_FACTOR_CHANGED = "tauri://scale-change", e.WINDOW_THEME_CHANGED = "tauri://theme-changed", e.WINDOW_CREATED = "tauri://window-created", e.WEBVIEW_CREATED = "tauri://webview-created", e.DRAG_ENTER = "tauri://drag-enter", e.DRAG_OVER = "tauri://drag-over", e.DRAG_DROP = "tauri://drag-drop", e.DRAG_LEAVE = "tauri://drag-leave"; })(xB || (xB = {})); const ez = "-", IBe = (e) => { const t = MBe(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(ez); return a[0] === "" && a.length !== 1 && a.shift(), $de(a, t) || RBe(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, $de = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? $de(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(ez); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, wB = /^\[(.+)\]$/, RBe = (e) => { if (wB.test(e)) { const t = wB.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, MBe = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return zBe(Object.entries(e.classGroups), r).forEach(([o, a]) => { sj(a, n, o, t); }), n; }, sj = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : kB(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (TBe(o)) { sj(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { sj(i, kB(t, a), r, n); }); }); }, kB = (e, t) => { let r = e; return t.split(ez).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, TBe = (e) => e.isThemeGetter, zBe = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, DBe = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, Pde = "!", FBe = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(Pde), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, LBe = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, VBe = (e) => ({ cache: DBe(e.cacheSize), parseClassName: FBe(e), ...IBe(e) }), WBe = /\s+/, GBe = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(WBe); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = LBe(u).join(":"), x = f ? m + Pde : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function UBe() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = Cde(t)) && (n && (n += " "), n += r); return n; } const Cde = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = Cde(e[n])) && (r && (r += " "), r += t); return r; }; function HBe(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = VBe(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = GBe(l, r); return o(l, u), u; } return function() { return a(UBe.apply(null, arguments)); }; } const hn = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, Nde = /^\[(?:([a-z-]+):)?(.+)\]$/i, YBe = /^\d+\/\d+$/, BBe = /* @__PURE__ */ new Set(["px", "full", "screen"]), qBe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, XBe = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, KBe = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, JBe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, QBe = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, ll = (e) => Ph(e) || BBe.has(e) || YBe.test(e), uu = (e) => Gb(e, "length", iqe), Ph = (e) => !!e && !Number.isNaN(Number(e)), X6 = (e) => Gb(e, "number", Ph), Hy = (e) => !!e && Number.isInteger(Number(e)), ZBe = (e) => e.endsWith("%") && Ph(e.slice(0, -1)), Nt = (e) => Nde.test(e), fu = (e) => qBe.test(e), eqe = /* @__PURE__ */ new Set(["length", "size", "percentage"]), tqe = (e) => Gb(e, eqe, _de), rqe = (e) => Gb(e, "position", _de), nqe = /* @__PURE__ */ new Set(["image", "url"]), oqe = (e) => Gb(e, nqe, lqe), aqe = (e) => Gb(e, "", sqe), Yy = () => !0, Gb = (e, t, r) => { const n = Nde.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, iqe = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. XBe.test(e) && !KBe.test(e) ), _de = () => !1, sqe = (e) => JBe.test(e), lqe = (e) => QBe.test(e), cqe = () => { const e = hn("colors"), t = hn("spacing"), r = hn("blur"), n = hn("brightness"), o = hn("borderColor"), a = hn("borderRadius"), i = hn("borderSpacing"), s = hn("borderWidth"), l = hn("contrast"), c = hn("grayscale"), u = hn("hueRotate"), f = hn("invert"), p = hn("gap"), v = hn("gradientColorStops"), w = hn("gradientColorStopPositions"), b = hn("inset"), m = hn("margin"), x = hn("opacity"), O = hn("padding"), E = hn("saturate"), A = hn("scale"), h = hn("sepia"), G = hn("skew"), H = hn("space"), Z = hn("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", Nt, t], I = () => [Nt, t], te = () => ["", ll, uu], U = () => ["auto", Ph, Nt], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", Nt], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [Ph, Nt]; return { cacheSize: 500, separator: ":", theme: { colors: [Yy], spacing: [ll, uu], blur: ["none", "", fu, Nt], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", fu, Nt], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [ZBe, uu], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", Nt] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [fu] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), Nt] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", Hy, Nt] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", Nt] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", Hy, Nt] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [Yy] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", Hy, Nt] }, Nt] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [Yy] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [Hy, Nt] }, Nt] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", Nt] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", Nt] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", Nt, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [Nt, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [Nt, t, "none", "full", "min", "max", "fit", "prose", { screen: [fu] }, fu] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [Nt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [Nt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [Nt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [Nt, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", fu, uu] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", X6] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [Yy] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", Nt] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", Ph, X6] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", ll, Nt] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", Nt] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", Nt] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", ll, uu] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", ll, Nt] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Nt] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", Nt] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), rqe] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", tqe] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, oqe] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [ll, Nt] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [ll, uu] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [ll, uu] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", fu, aqe] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [Yy] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", fu, Nt] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", Nt] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", Nt] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", Nt] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [Hy, Nt] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", Nt] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", Nt] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", Nt] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [ll, uu, X6] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, uqe = /* @__PURE__ */ HBe(cqe), OB = ({ className: e, thickness: t = 4 }) => /* @__PURE__ */ me( "svg", { className: uqe("h-6 w-6 animate-spin", e), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: [ /* @__PURE__ */ B( "circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: t } ), /* @__PURE__ */ B( "path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" } ) ] } ), Zw = function(e, t) { console.debug("gtagEvent", e, t), window.gtag("event", e); }; var fqe = Object.defineProperty, dqe = (e, t, r) => t in e ? fqe(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, jde = (e, t, r) => dqe(e, typeof t != "symbol" ? t + "" : t, r); const pqe = "https://api.storyteller.ai"; window.STORYTELLER_API_HOST_STORE = void 0; let mqe = class Ide { constructor(t) { jde(this, "apiSchemeAndHost"), this.apiSchemeAndHost = t; } // NB(bt,2025-09-25): 'nx' is creating multiple copies of the library with name // mangling, so the singleton pattern fails to resolve to a single instance. // public static getInstance(): StorytellerApiHostStore { // if (StorytellerApiHostStore.instance !== undefined) { // return StorytellerApiHostStore.instance; // } // const instance = new StorytellerApiHostStore(DEFAULT_API_HOST); // StorytellerApiHostStore.instance = instance; // return instance; // } static getInstance() { if (window.STORYTELLER_API_HOST_STORE !== void 0) return window.STORYTELLER_API_HOST_STORE; const t = new Ide(pqe); return window.STORYTELLER_API_HOST_STORE = t, t; } /** Get the API scheme and host. */ getApiSchemeAndHost() { return console.debug("StorytellerApiHostStore.getApiSchemeAndHost()", this.apiSchemeAndHost, this.constructor.name), this.apiSchemeAndHost; } /** * Externally update the API host. * This is used to sync with Tauri for enabling easier development. */ setApiSchemeAndHost(t) { if (console.debug("StorytellerApiHostStore.setApiSchemeAndHost()", t, this.constructor.name), !t.startsWith("http://") && !t.startsWith("https://")) throw new Error(`Scheme not included in URL: ${t}`); const r = "https://".lastIndexOf("/"); if (t.lastIndexOf("/") > r) throw new Error(`Path components should not be included in URL: ${t}`); this.apiSchemeAndHost = t; } }; var zv = /* @__PURE__ */ ((e) => (e.GOOGLE_API = "https://storage.googleapis.com", e.FUNNEL_API = "https://style.storyteller.ai", e.CDN_API = "https://cdn.storyteller.ai", e.GRAVATAR_API = "https://www.gravatar.com", e))(zv || {}), K6 = { exports: {} }, Bt = {}; /** * @license React * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var SB; function gqe() { if (SB) return Bt; SB = 1; var e = Symbol.for("react.element"), t = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), n = Symbol.for("react.strict_mode"), o = Symbol.for("react.profiler"), a = Symbol.for("react.provider"), i = Symbol.for("react.context"), s = Symbol.for("react.forward_ref"), l = Symbol.for("react.suspense"), c = Symbol.for("react.memo"), u = Symbol.for("react.lazy"), f = Symbol.iterator; function p(d) { return d === null || typeof d != "object" ? null : (d = f && d[f] || d["@@iterator"], typeof d == "function" ? d : null); } var v = { isMounted: function() { return !1; }, enqueueForceUpdate: function() { }, enqueueReplaceState: function() { }, enqueueSetState: function() { } }, w = Object.assign, b = {}; function m(d, S, C) { this.props = d, this.context = S, this.refs = b, this.updater = C || v; } m.prototype.isReactComponent = {}, m.prototype.setState = function(d, S) { if (typeof d != "object" && typeof d != "function" && d != null) throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables."); this.updater.enqueueSetState(this, d, S, "setState"); }, m.prototype.forceUpdate = function(d) { this.updater.enqueueForceUpdate(this, d, "forceUpdate"); }; function x() { } x.prototype = m.prototype; function O(d, S, C) { this.props = d, this.context = S, this.refs = b, this.updater = C || v; } var E = O.prototype = new x(); E.constructor = O, w(E, m.prototype), E.isPureReactComponent = !0; var A = Array.isArray, h = Object.prototype.hasOwnProperty, G = { current: null }, H = { key: !0, ref: !0, __self: !0, __source: !0 }; function Z(d, S, C) { var P, j = {}, _ = null, N = null; if (S != null) for (P in S.ref !== void 0 && (N = S.ref), S.key !== void 0 && (_ = "" + S.key), S) h.call(S, P) && !H.hasOwnProperty(P) && (j[P] = S[P]); var M = arguments.length - 2; if (M === 1) j.children = C; else if (1 < M) { for (var R = Array(M), T = 0; T < M; T++) R[T] = arguments[T + 2]; j.children = R; } if (d && d.defaultProps) for (P in M = d.defaultProps, M) j[P] === void 0 && (j[P] = M[P]); return { $$typeof: e, type: d, key: _, ref: N, props: j, _owner: G.current }; } function J(d, S) { return { $$typeof: e, type: d.type, key: S, ref: d.ref, props: d.props, _owner: d._owner }; } function X(d) { return typeof d == "object" && d !== null && d.$$typeof === e; } function ee(d) { var S = { "=": "=0", ":": "=2" }; return "$" + d.replace(/[=:]/g, function(C) { return S[C]; }); } var I = /\/+/g; function te(d, S) { return typeof d == "object" && d !== null && d.key != null ? ee("" + d.key) : S.toString(36); } function U(d, S, C, P, j) { var _ = typeof d; (_ === "undefined" || _ === "boolean") && (d = null); var N = !1; if (d === null) N = !0; else switch (_) { case "string": case "number": N = !0; break; case "object": switch (d.$$typeof) { case e: case t: N = !0; } } if (N) return N = d, j = j(N), d = P === "" ? "." + te(N, 0) : P, A(j) ? (C = "", d != null && (C = d.replace(I, "$&/") + "/"), U(j, S, C, "", function(T) { return T; })) : j != null && (X(j) && (j = J(j, C + (!j.key || N && N.key === j.key ? "" : ("" + j.key).replace(I, "$&/") + "/") + d)), S.push(j)), 1; if (N = 0, P = P === "" ? "." : P + ":", A(d)) for (var M = 0; M < d.length; M++) { _ = d[M]; var R = P + te(_, M); N += U(_, S, C, R, j); } else if (R = p(d), typeof R == "function") for (d = R.call(d), M = 0; !(_ = d.next()).done; ) _ = _.value, R = P + te(_, M++), N += U(_, S, C, R, j); else if (_ === "object") throw S = String(d), Error("Objects are not valid as a React child (found: " + (S === "[object Object]" ? "object with keys {" + Object.keys(d).join(", ") + "}" : S) + "). If you meant to render a collection of children, use an array instead."); return N; } function z(d, S, C) { if (d == null) return d; var P = [], j = 0; return U(d, P, "", "", function(_) { return S.call(C, _, j++); }), P; } function F(d) { if (d._status === -1) { var S = d._result; S = S(), S.then(function(C) { (d._status === 0 || d._status === -1) && (d._status = 1, d._result = C); }, function(C) { (d._status === 0 || d._status === -1) && (d._status = 2, d._result = C); }), d._status === -1 && (d._status = 0, d._result = S); } if (d._status === 1) return d._result.default; throw d._result; } var D = { current: null }, Y = { transition: null }, q = { ReactCurrentDispatcher: D, ReactCurrentBatchConfig: Y, ReactCurrentOwner: G }; function g() { throw Error("act(...) is not supported in production builds of React."); } return Bt.Children = { map: z, forEach: function(d, S, C) { z(d, function() { S.apply(this, arguments); }, C); }, count: function(d) { var S = 0; return z(d, function() { S++; }), S; }, toArray: function(d) { return z(d, function(S) { return S; }) || []; }, only: function(d) { if (!X(d)) throw Error("React.Children.only expected to receive a single React element child."); return d; } }, Bt.Component = m, Bt.Fragment = r, Bt.Profiler = o, Bt.PureComponent = O, Bt.StrictMode = n, Bt.Suspense = l, Bt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = q, Bt.act = g, Bt.cloneElement = function(d, S, C) { if (d == null) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + d + "."); var P = w({}, d.props), j = d.key, _ = d.ref, N = d._owner; if (S != null) { if (S.ref !== void 0 && (_ = S.ref, N = G.current), S.key !== void 0 && (j = "" + S.key), d.type && d.type.defaultProps) var M = d.type.defaultProps; for (R in S) h.call(S, R) && !H.hasOwnProperty(R) && (P[R] = S[R] === void 0 && M !== void 0 ? M[R] : S[R]); } var R = arguments.length - 2; if (R === 1) P.children = C; else if (1 < R) { M = Array(R); for (var T = 0; T < R; T++) M[T] = arguments[T + 2]; P.children = M; } return { $$typeof: e, type: d.type, key: j, ref: _, props: P, _owner: N }; }, Bt.createContext = function(d) { return d = { $$typeof: i, _currentValue: d, _currentValue2: d, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, d.Provider = { $$typeof: a, _context: d }, d.Consumer = d; }, Bt.createElement = Z, Bt.createFactory = function(d) { var S = Z.bind(null, d); return S.type = d, S; }, Bt.createRef = function() { return { current: null }; }, Bt.forwardRef = function(d) { return { $$typeof: s, render: d }; }, Bt.isValidElement = X, Bt.lazy = function(d) { return { $$typeof: u, _payload: { _status: -1, _result: d }, _init: F }; }, Bt.memo = function(d, S) { return { $$typeof: c, type: d, compare: S === void 0 ? null : S }; }, Bt.startTransition = function(d) { var S = Y.transition; Y.transition = {}; try { d(); } finally { Y.transition = S; } }, Bt.unstable_act = g, Bt.useCallback = function(d, S) { return D.current.useCallback(d, S); }, Bt.useContext = function(d) { return D.current.useContext(d); }, Bt.useDebugValue = function() { }, Bt.useDeferredValue = function(d) { return D.current.useDeferredValue(d); }, Bt.useEffect = function(d, S) { return D.current.useEffect(d, S); }, Bt.useId = function() { return D.current.useId(); }, Bt.useImperativeHandle = function(d, S, C) { return D.current.useImperativeHandle(d, S, C); }, Bt.useInsertionEffect = function(d, S) { return D.current.useInsertionEffect(d, S); }, Bt.useLayoutEffect = function(d, S) { return D.current.useLayoutEffect(d, S); }, Bt.useMemo = function(d, S) { return D.current.useMemo(d, S); }, Bt.useReducer = function(d, S, C) { return D.current.useReducer(d, S, C); }, Bt.useRef = function(d) { return D.current.useRef(d); }, Bt.useState = function(d) { return D.current.useState(d); }, Bt.useSyncExternalStore = function(d, S, C) { return D.current.useSyncExternalStore(d, S, C); }, Bt.useTransition = function() { return D.current.useTransition(); }, Bt.version = "18.3.1", Bt; } var yk = { exports: {} }; /** * @license React * react.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ yk.exports; var EB; function hqe() { return EB || (EB = 1, function(e, t) { process.env.NODE_ENV !== "production" && function() { typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); var r = "18.3.1", n = Symbol.for("react.element"), o = Symbol.for("react.portal"), a = Symbol.for("react.fragment"), i = Symbol.for("react.strict_mode"), s = Symbol.for("react.profiler"), l = Symbol.for("react.provider"), c = Symbol.for("react.context"), u = Symbol.for("react.forward_ref"), f = Symbol.for("react.suspense"), p = Symbol.for("react.suspense_list"), v = Symbol.for("react.memo"), w = Symbol.for("react.lazy"), b = Symbol.for("react.offscreen"), m = Symbol.iterator, x = "@@iterator"; function O(y) { if (y === null || typeof y != "object") return null; var $ = m && y[m] || y[x]; return typeof $ == "function" ? $ : null; } var E = { /** * @internal * @type {ReactComponent} */ current: null }, A = { transition: null }, h = { current: null, // Used to reproduce behavior of `batchedUpdates` in legacy mode. isBatchingLegacy: !1, didScheduleLegacyUpdate: !1 }, G = { /** * @internal * @type {ReactComponent} */ current: null }, H = {}, Z = null; function J(y) { Z = y; } H.setExtraStackFrame = function(y) { Z = y; }, H.getCurrentStack = null, H.getStackAddendum = function() { var y = ""; Z && (y += Z); var $ = H.getCurrentStack; return $ && (y += $() || ""), y; }; var X = !1, ee = !1, I = !1, te = !1, U = !1, z = { ReactCurrentDispatcher: E, ReactCurrentBatchConfig: A, ReactCurrentOwner: G }; z.ReactDebugCurrentFrame = H, z.ReactCurrentActQueue = h; function F(y) { { for (var $ = arguments.length, L = new Array($ > 1 ? $ - 1 : 0), W = 1; W < $; W++) L[W - 1] = arguments[W]; Y("warn", y, L); } } function D(y) { { for (var $ = arguments.length, L = new Array($ > 1 ? $ - 1 : 0), W = 1; W < $; W++) L[W - 1] = arguments[W]; Y("error", y, L); } } function Y(y, $, L) { { var W = z.ReactDebugCurrentFrame, K = W.getStackAddendum(); K !== "" && ($ += "%s", L = L.concat([K])); var oe = L.map(function(re) { return String(re); }); oe.unshift("Warning: " + $), Function.prototype.apply.call(console[y], console, oe); } } var q = {}; function g(y, $) { { var L = y.constructor, W = L && (L.displayName || L.name) || "ReactClass", K = W + "." + $; if (q[K]) return; D("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", $, W), q[K] = !0; } } var d = { /** * Checks whether or not this composite component is mounted. * @param {ReactClass} publicInstance The instance we want to test. * @return {boolean} True if mounted, false otherwise. * @protected * @final */ isMounted: function(y) { return !1; }, /** * Forces an update. This should only be invoked when it is known with * certainty that we are **not** in a DOM transaction. * * You may want to call this when you know that some deeper aspect of the * component's state has changed but `setState` was not called. * * This will not invoke `shouldComponentUpdate`, but it will invoke * `componentWillUpdate` and `componentDidUpdate`. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {?function} callback Called after component is updated. * @param {?string} callerName name of the calling function in the public API. * @internal */ enqueueForceUpdate: function(y, $, L) { g(y, "forceUpdate"); }, /** * Replaces all of the state. Always use this or `setState` to mutate state. * You should treat `this.state` as immutable. * * There is no guarantee that `this.state` will be immediately updated, so * accessing `this.state` after calling this method may return the old value. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} completeState Next state. * @param {?function} callback Called after component is updated. * @param {?string} callerName name of the calling function in the public API. * @internal */ enqueueReplaceState: function(y, $, L, W) { g(y, "replaceState"); }, /** * Sets a subset of the state. This only exists because _pendingState is * internal. This provides a merging strategy that is not available to deep * properties which is confusing. TODO: Expose pendingState or don't use it * during the merge. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} partialState Next partial state to be merged with state. * @param {?function} callback Called after component is updated. * @param {?string} Name of the calling function in the public API. * @internal */ enqueueSetState: function(y, $, L, W) { g(y, "setState"); } }, S = Object.assign, C = {}; Object.freeze(C); function P(y, $, L) { this.props = y, this.context = $, this.refs = C, this.updater = L || d; } P.prototype.isReactComponent = {}, P.prototype.setState = function(y, $) { if (typeof y != "object" && typeof y != "function" && y != null) throw new Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables."); this.updater.enqueueSetState(this, y, $, "setState"); }, P.prototype.forceUpdate = function(y) { this.updater.enqueueForceUpdate(this, y, "forceUpdate"); }; { var j = { isMounted: ["isMounted", "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."], replaceState: ["replaceState", "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."] }, _ = function(y, $) { Object.defineProperty(P.prototype, y, { get: function() { F("%s(...) is deprecated in plain JavaScript React classes. %s", $[0], $[1]); } }); }; for (var N in j) j.hasOwnProperty(N) && _(N, j[N]); } function M() { } M.prototype = P.prototype; function R(y, $, L) { this.props = y, this.context = $, this.refs = C, this.updater = L || d; } var T = R.prototype = new M(); T.constructor = R, S(T, P.prototype), T.isPureReactComponent = !0; function Q() { var y = { current: null }; return Object.seal(y), y; } var k = Array.isArray; function ne(y) { return k(y); } function pe(y) { { var $ = typeof Symbol == "function" && Symbol.toStringTag, L = $ && y[Symbol.toStringTag] || y.constructor.name || "Object"; return L; } } function He(y) { try { return on(y), !1; } catch { return !0; } } function on(y) { return "" + y; } function en(y) { if (He(y)) return D("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", pe(y)), on(y); } function se(y, $, L) { var W = y.displayName; if (W) return W; var K = $.displayName || $.name || ""; return K !== "" ? L + "(" + K + ")" : L; } function ae(y) { return y.displayName || "Context"; } function le(y) { if (y == null) return null; if (typeof y.tag == "number" && D("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof y == "function") return y.displayName || y.name || null; if (typeof y == "string") return y; switch (y) { case a: return "Fragment"; case o: return "Portal"; case s: return "Profiler"; case i: return "StrictMode"; case f: return "Suspense"; case p: return "SuspenseList"; } if (typeof y == "object") switch (y.$$typeof) { case c: var $ = y; return ae($) + ".Consumer"; case l: var L = y; return ae(L._context) + ".Provider"; case u: return se(y, y.render, "ForwardRef"); case v: var W = y.displayName || null; return W !== null ? W : le(y.type) || "Memo"; case w: { var K = y, oe = K._payload, re = K._init; try { return le(re(oe)); } catch { return null; } } } return null; } var Be = Object.prototype.hasOwnProperty, gt = { key: !0, ref: !0, __self: !0, __source: !0 }, fe, he, we; we = {}; function Ue(y) { if (Be.call(y, "ref")) { var $ = Object.getOwnPropertyDescriptor(y, "ref").get; if ($ && $.isReactWarning) return !1; } return y.ref !== void 0; } function pt(y) { if (Be.call(y, "key")) { var $ = Object.getOwnPropertyDescriptor(y, "key").get; if ($ && $.isReactWarning) return !1; } return y.key !== void 0; } function yr(y, $) { var L = function() { fe || (fe = !0, D("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", $)); }; L.isReactWarning = !0, Object.defineProperty(y, "key", { get: L, configurable: !0 }); } function so(y, $) { var L = function() { he || (he = !0, D("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", $)); }; L.isReactWarning = !0, Object.defineProperty(y, "ref", { get: L, configurable: !0 }); } function fo(y) { if (typeof y.ref == "string" && G.current && y.__self && G.current.stateNode !== y.__self) { var $ = le(G.current.type); we[$] || (D('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', $, y.ref), we[$] = !0); } } var bt = function(y, $, L, W, K, oe, re) { var ie = { // This tag allows us to uniquely identify this as a React Element $$typeof: n, // Built-in properties that belong on the element type: y, key: $, ref: L, props: re, // Record the component responsible for creating this element. _owner: oe }; return ie._store = {}, Object.defineProperty(ie._store, "validated", { configurable: !1, enumerable: !1, writable: !0, value: !1 }), Object.defineProperty(ie, "_self", { configurable: !1, enumerable: !1, writable: !1, value: W }), Object.defineProperty(ie, "_source", { configurable: !1, enumerable: !1, writable: !1, value: K }), Object.freeze && (Object.freeze(ie.props), Object.freeze(ie)), ie; }; function po(y, $, L) { var W, K = {}, oe = null, re = null, ie = null, ue = null; if ($ != null) { Ue($) && (re = $.ref, fo($)), pt($) && (en($.key), oe = "" + $.key), ie = $.__self === void 0 ? null : $.__self, ue = $.__source === void 0 ? null : $.__source; for (W in $) Be.call($, W) && !gt.hasOwnProperty(W) && (K[W] = $[W]); } var ge = arguments.length - 2; if (ge === 1) K.children = L; else if (ge > 1) { for (var be = Array(ge), ye = 0; ye < ge; ye++) be[ye] = arguments[ye + 2]; Object.freeze && Object.freeze(be), K.children = be; } if (y && y.defaultProps) { var ve = y.defaultProps; for (W in ve) K[W] === void 0 && (K[W] = ve[W]); } if (oe || re) { var Ge = typeof y == "function" ? y.displayName || y.name || "Unknown" : y; oe && yr(K, Ge), re && so(K, Ge); } return bt(y, oe, re, ie, ue, G.current, K); } function mo(y, $) { var L = bt(y.type, $, y.ref, y._self, y._source, y._owner, y.props); return L; } function da(y, $, L) { if (y == null) throw new Error("React.cloneElement(...): The argument must be a React element, but you passed " + y + "."); var W, K = S({}, y.props), oe = y.key, re = y.ref, ie = y._self, ue = y._source, ge = y._owner; if ($ != null) { Ue($) && (re = $.ref, ge = G.current), pt($) && (en($.key), oe = "" + $.key); var be; y.type && y.type.defaultProps && (be = y.type.defaultProps); for (W in $) Be.call($, W) && !gt.hasOwnProperty(W) && ($[W] === void 0 && be !== void 0 ? K[W] = be[W] : K[W] = $[W]); } var ye = arguments.length - 2; if (ye === 1) K.children = L; else if (ye > 1) { for (var ve = Array(ye), Ge = 0; Ge < ye; Ge++) ve[Ge] = arguments[Ge + 2]; K.children = ve; } return bt(y.type, oe, re, ie, ue, ge, K); } function hr(y) { return typeof y == "object" && y !== null && y.$$typeof === n; } var lo = ".", pa = ":"; function Ed(y) { var $ = /[=:]/g, L = { "=": "=0", ":": "=2" }, W = y.replace($, function(K) { return L[K]; }); return "$" + W; } var Ba = !1, Ad = /\/+/g; function qa(y) { return y.replace(Ad, "$&/"); } function Do(y, $) { return typeof y == "object" && y !== null && y.key != null ? (en(y.key), Ed("" + y.key)) : $.toString(36); } function Jn(y, $, L, W, K) { var oe = typeof y; (oe === "undefined" || oe === "boolean") && (y = null); var re = !1; if (y === null) re = !0; else switch (oe) { case "string": case "number": re = !0; break; case "object": switch (y.$$typeof) { case n: case o: re = !0; } } if (re) { var ie = y, ue = K(ie), ge = W === "" ? lo + Do(ie, 0) : W; if (ne(ue)) { var be = ""; ge != null && (be = qa(ge) + "/"), Jn(ue, $, be, "", function(yp) { return yp; }); } else ue != null && (hr(ue) && (ue.key && (!ie || ie.key !== ue.key) && en(ue.key), ue = mo( ue, // Keep both the (mapped) and old keys if they differ, just as // traverseAllChildren used to do for objects as children L + // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key (ue.key && (!ie || ie.key !== ue.key) ? ( // $FlowFixMe Flow incorrectly thinks existing element's key can be a number // eslint-disable-next-line react-internal/safe-string-coercion qa("" + ue.key) + "/" ) : "") + ge )), $.push(ue)); return 1; } var ye, ve, Ge = 0, Ye = W === "" ? lo : W + pa; if (ne(y)) for (var ao = 0; ao < y.length; ao++) ye = y[ao], ve = Ye + Do(ye, ao), Ge += Jn(ye, $, L, ve, K); else { var Bo = O(y); if (typeof Bo == "function") { var vi = y; Bo === vi.entries && (Ba || F("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), Ba = !0); for (var hp = Bo.call(vi), xi, bp = 0; !(xi = hp.next()).done; ) ye = xi.value, ve = Ye + Do(ye, bp++), Ge += Jn(ye, $, L, ve, K); } else if (oe === "object") { var wi = String(y); throw new Error("Objects are not valid as a React child (found: " + (wi === "[object Object]" ? "object with keys {" + Object.keys(y).join(", ") + "}" : wi) + "). If you meant to render a collection of children, use an array instead."); } } return Ge; } function Qn(y, $, L) { if (y == null) return y; var W = [], K = 0; return Jn(y, W, "", "", function(oe) { return $.call(L, oe, K++); }), W; } function $d(y) { var $ = 0; return Qn(y, function() { $++; }), $; } function Pd(y, $, L) { Qn(y, function() { $.apply(this, arguments); }, L); } function Cd(y) { return Qn(y, function($) { return $; }) || []; } function Nd(y) { if (!hr(y)) throw new Error("React.Children.only expected to receive a single React element child."); return y; } function _d(y) { var $ = { $$typeof: c, // As a workaround to support multiple concurrent renderers, we categorize // some renderers as primary and others as secondary. We only expect // there to be two concurrent renderers at most: React Native (primary) and // Fabric (secondary); React DOM (primary) and React ART (secondary). // Secondary renderers store their context values on separate fields. _currentValue: y, _currentValue2: y, // Used to track how many concurrent renderers this context currently // supports within in a single renderer. Such as parallel server rendering. _threadCount: 0, // These are circular Provider: null, Consumer: null, // Add these to use same hidden class in VM as ServerContext _defaultValue: null, _globalName: null }; $.Provider = { $$typeof: l, _context: $ }; var L = !1, W = !1, K = !1; { var oe = { $$typeof: c, _context: $ }; Object.defineProperties(oe, { Provider: { get: function() { return W || (W = !0, D("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")), $.Provider; }, set: function(re) { $.Provider = re; } }, _currentValue: { get: function() { return $._currentValue; }, set: function(re) { $._currentValue = re; } }, _currentValue2: { get: function() { return $._currentValue2; }, set: function(re) { $._currentValue2 = re; } }, _threadCount: { get: function() { return $._threadCount; }, set: function(re) { $._threadCount = re; } }, Consumer: { get: function() { return L || (L = !0, D("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")), $.Consumer; } }, displayName: { get: function() { return $.displayName; }, set: function(re) { K || (F("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.", re), K = !0); } } }), $.Consumer = oe; } return $._currentRenderer = null, $._currentRenderer2 = null, $; } var Bn = -1, Fo = 0, Xa = 1, jd = 2; function Id(y) { if (y._status === Bn) { var $ = y._result, L = $(); if (L.then(function(oe) { if (y._status === Fo || y._status === Bn) { var re = y; re._status = Xa, re._result = oe; } }, function(oe) { if (y._status === Fo || y._status === Bn) { var re = y; re._status = jd, re._result = oe; } }), y._status === Bn) { var W = y; W._status = Fo, W._result = L; } } if (y._status === Xa) { var K = y._result; return K === void 0 && D(`lazy: Expected the result of a dynamic import() call. Instead received: %s Your code should look like: const MyComponent = lazy(() => import('./MyComponent')) Did you accidentally put curly braces around the import?`, K), "default" in K || D(`lazy: Expected the result of a dynamic import() call. Instead received: %s Your code should look like: const MyComponent = lazy(() => import('./MyComponent'))`, K), K.default; } else throw y._result; } function Rd(y) { var $ = { // We use these fields to store the result. _status: Bn, _result: y }, L = { $$typeof: w, _payload: $, _init: Id }; { var W, K; Object.defineProperties(L, { defaultProps: { configurable: !0, get: function() { return W; }, set: function(oe) { D("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), W = oe, Object.defineProperty(L, "defaultProps", { enumerable: !0 }); } }, propTypes: { configurable: !0, get: function() { return K; }, set: function(oe) { D("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), K = oe, Object.defineProperty(L, "propTypes", { enumerable: !0 }); } } }); } return L; } function Md(y) { y != null && y.$$typeof === v ? D("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).") : typeof y != "function" ? D("forwardRef requires a render function but was given %s.", y === null ? "null" : typeof y) : y.length !== 0 && y.length !== 2 && D("forwardRef render functions accept exactly two parameters: props and ref. %s", y.length === 1 ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined."), y != null && (y.defaultProps != null || y.propTypes != null) && D("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"); var $ = { $$typeof: u, render: y }; { var L; Object.defineProperty($, "displayName", { enumerable: !1, configurable: !0, get: function() { return L; }, set: function(W) { L = W, !y.name && !y.displayName && (y.displayName = W); } }); } return $; } var Ka; Ka = Symbol.for("react.module.reference"); function Ja(y) { return !!(typeof y == "string" || typeof y == "function" || y === a || y === s || U || y === i || y === f || y === p || te || y === b || X || ee || I || typeof y == "object" && y !== null && (y.$$typeof === w || y.$$typeof === v || y.$$typeof === l || y.$$typeof === c || y.$$typeof === u || // This needs to include all possible module reference object // types supported by any Flight configuration anywhere since // we don't know which Flight build this will end up being used // with. y.$$typeof === Ka || y.getModuleId !== void 0)); } function Td(y, $) { Ja(y) || D("memo: The first argument must be a component. Instead received: %s", y === null ? "null" : typeof y); var L = { $$typeof: v, type: y, compare: $ === void 0 ? null : $ }; { var W; Object.defineProperty(L, "displayName", { enumerable: !1, configurable: !0, get: function() { return W; }, set: function(K) { W = K, !y.name && !y.displayName && (y.displayName = K); } }); } return L; } function qe() { var y = E.current; return y === null && D(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: 1. You might have mismatching versions of React and the renderer (such as React DOM) 2. You might be breaking the Rules of Hooks 3. You might have more than one copy of React in the same app See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`), y; } function zd(y) { var $ = qe(); if (y._context !== void 0) { var L = y._context; L.Consumer === y ? D("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?") : L.Provider === y && D("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?"); } return $.useContext(y); } function Dd(y) { var $ = qe(); return $.useState(y); } function Fd(y, $, L) { var W = qe(); return W.useReducer(y, $, L); } function Ld(y) { var $ = qe(); return $.useRef(y); } function Vd(y, $) { var L = qe(); return L.useEffect(y, $); } function Wd(y, $) { var L = qe(); return L.useInsertionEffect(y, $); } function Gd(y, $) { var L = qe(); return L.useLayoutEffect(y, $); } function Ud(y, $) { var L = qe(); return L.useCallback(y, $); } function Hd(y, $) { var L = qe(); return L.useMemo(y, $); } function Yd(y, $, L) { var W = qe(); return W.useImperativeHandle(y, $, L); } function Bd(y, $) { { var L = qe(); return L.useDebugValue(y, $); } } function qd() { var y = qe(); return y.useTransition(); } function Xd(y) { var $ = qe(); return $.useDeferredValue(y); } function Kd() { var y = qe(); return y.useId(); } function Jd(y, $, L) { var W = qe(); return W.useSyncExternalStore(y, $, L); } var qn = 0, Qa, Za, ei, ti, ri, ni, oi; function ai() { } ai.__reactDisabledLog = !0; function Qd() { { if (qn === 0) { Qa = console.log, Za = console.info, ei = console.warn, ti = console.error, ri = console.group, ni = console.groupCollapsed, oi = console.groupEnd; var y = { configurable: !0, enumerable: !0, value: ai, writable: !0 }; Object.defineProperties(console, { info: y, log: y, warn: y, error: y, group: y, groupCollapsed: y, groupEnd: y }); } qn++; } } function Zd() { { if (qn--, qn === 0) { var y = { configurable: !0, enumerable: !0, writable: !0 }; Object.defineProperties(console, { log: S({}, y, { value: Qa }), info: S({}, y, { value: Za }), warn: S({}, y, { value: ei }), error: S({}, y, { value: ti }), group: S({}, y, { value: ri }), groupCollapsed: S({}, y, { value: ni }), groupEnd: S({}, y, { value: oi }) }); } qn < 0 && D("disabledDepth fell below zero. This is a bug in React. Please file an issue."); } } var Lo = z.ReactCurrentDispatcher, Vo; function Zn(y, $, L) { { if (Vo === void 0) try { throw Error(); } catch (K) { var W = K.stack.trim().match(/\n( *(at )?)/); Vo = W && W[1] || ""; } return ` ` + Vo + y; } } var Wo = !1, eo; { var ep = typeof WeakMap == "function" ? WeakMap : Map; eo = new ep(); } function ii(y, $) { if (!y || Wo) return ""; { var L = eo.get(y); if (L !== void 0) return L; } var W; Wo = !0; var K = Error.prepareStackTrace; Error.prepareStackTrace = void 0; var oe; oe = Lo.current, Lo.current = null, Qd(); try { if ($) { var re = function() { throw Error(); }; if (Object.defineProperty(re.prototype, "props", { set: function() { throw Error(); } }), typeof Reflect == "object" && Reflect.construct) { try { Reflect.construct(re, []); } catch (Ye) { W = Ye; } Reflect.construct(y, [], re); } else { try { re.call(); } catch (Ye) { W = Ye; } y.call(re.prototype); } } else { try { throw Error(); } catch (Ye) { W = Ye; } y(); } } catch (Ye) { if (Ye && W && typeof Ye.stack == "string") { for (var ie = Ye.stack.split(` `), ue = W.stack.split(` `), ge = ie.length - 1, be = ue.length - 1; ge >= 1 && be >= 0 && ie[ge] !== ue[be]; ) be--; for (; ge >= 1 && be >= 0; ge--, be--) if (ie[ge] !== ue[be]) { if (ge !== 1 || be !== 1) do if (ge--, be--, be < 0 || ie[ge] !== ue[be]) { var ye = ` ` + ie[ge].replace(" at new ", " at "); return y.displayName && ye.includes("") && (ye = ye.replace("", y.displayName)), typeof y == "function" && eo.set(y, ye), ye; } while (ge >= 1 && be >= 0); break; } } } finally { Wo = !1, Lo.current = oe, Zd(), Error.prepareStackTrace = K; } var ve = y ? y.displayName || y.name : "", Ge = ve ? Zn(ve) : ""; return typeof y == "function" && eo.set(y, Ge), Ge; } function tp(y, $, L) { return ii(y, !1); } function rp(y) { var $ = y.prototype; return !!($ && $.isReactComponent); } function to(y, $, L) { if (y == null) return ""; if (typeof y == "function") return ii(y, rp(y)); if (typeof y == "string") return Zn(y); switch (y) { case f: return Zn("Suspense"); case p: return Zn("SuspenseList"); } if (typeof y == "object") switch (y.$$typeof) { case u: return tp(y.render); case v: return to(y.type, $, L); case w: { var W = y, K = W._payload, oe = W._init; try { return to(oe(K), $, L); } catch { } } } return ""; } var si = {}, li = z.ReactDebugCurrentFrame; function ro(y) { if (y) { var $ = y._owner, L = to(y.type, y._source, $ ? $.type : null); li.setExtraStackFrame(L); } else li.setExtraStackFrame(null); } function np(y, $, L, W, K) { { var oe = Function.call.bind(Be); for (var re in y) if (oe(y, re)) { var ie = void 0; try { if (typeof y[re] != "function") { var ue = Error((W || "React class") + ": " + L + " type `" + re + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof y[re] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."); throw ue.name = "Invariant Violation", ue; } ie = y[re]($, re, W, L, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"); } catch (ge) { ie = ge; } ie && !(ie instanceof Error) && (ro(K), D("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", W || "React class", L, re, typeof ie), ro(null)), ie instanceof Error && !(ie.message in si) && (si[ie.message] = !0, ro(K), D("Failed %s type: %s", L, ie.message), ro(null)); } } } function tn(y) { if (y) { var $ = y._owner, L = to(y.type, y._source, $ ? $.type : null); J(L); } else J(null); } var Go; Go = !1; function ci() { if (G.current) { var y = le(G.current.type); if (y) return ` Check the render method of \`` + y + "`."; } return ""; } function op(y) { if (y !== void 0) { var $ = y.fileName.replace(/^.*[\\\/]/, ""), L = y.lineNumber; return ` Check your code at ` + $ + ":" + L + "."; } return ""; } function ap(y) { return y != null ? op(y.__source) : ""; } var ui = {}; function ip(y) { var $ = ci(); if (!$) { var L = typeof y == "string" ? y : y.displayName || y.name; L && ($ = ` Check the top-level render call using <` + L + ">."); } return $; } function fi(y, $) { if (!(!y._store || y._store.validated || y.key != null)) { y._store.validated = !0; var L = ip($); if (!ui[L]) { ui[L] = !0; var W = ""; y && y._owner && y._owner !== G.current && (W = " It was passed a child from " + le(y._owner.type) + "."), tn(y), D('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', L, W), tn(null); } } } function di(y, $) { if (typeof y == "object") { if (ne(y)) for (var L = 0; L < y.length; L++) { var W = y[L]; hr(W) && fi(W, $); } else if (hr(y)) y._store && (y._store.validated = !0); else if (y) { var K = O(y); if (typeof K == "function" && K !== y.entries) for (var oe = K.call(y), re; !(re = oe.next()).done; ) hr(re.value) && fi(re.value, $); } } } function pi(y) { { var $ = y.type; if ($ == null || typeof $ == "string") return; var L; if (typeof $ == "function") L = $.propTypes; else if (typeof $ == "object" && ($.$$typeof === u || // Note: Memo only checks outer props here. // Inner props are checked in the reconciler. $.$$typeof === v)) L = $.propTypes; else return; if (L) { var W = le($); np(L, y.props, "prop", W, y); } else if ($.PropTypes !== void 0 && !Go) { Go = !0; var K = le($); D("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", K || "Unknown"); } typeof $.getDefaultProps == "function" && !$.getDefaultProps.isReactClassApproved && D("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead."); } } function sp(y) { { for (var $ = Object.keys(y.props), L = 0; L < $.length; L++) { var W = $[L]; if (W !== "children" && W !== "key") { tn(y), D("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", W), tn(null); break; } } y.ref !== null && (tn(y), D("Invalid attribute `ref` supplied to `React.Fragment`."), tn(null)); } } function mi(y, $, L) { var W = Ja(y); if (!W) { var K = ""; (y === void 0 || typeof y == "object" && y !== null && Object.keys(y).length === 0) && (K += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."); var oe = ap($); oe ? K += oe : K += ci(); var re; y === null ? re = "null" : ne(y) ? re = "array" : y !== void 0 && y.$$typeof === n ? (re = "<" + (le(y.type) || "Unknown") + " />", K = " Did you accidentally export a JSX literal instead of a component?") : re = typeof y, D("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", re, K); } var ie = po.apply(this, arguments); if (ie == null) return ie; if (W) for (var ue = 2; ue < arguments.length; ue++) di(arguments[ue], y); return y === a ? sp(ie) : pi(ie), ie; } var gi = !1; function lp(y) { var $ = mi.bind(null, y); return $.type = y, gi || (gi = !0, F("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.")), Object.defineProperty($, "type", { enumerable: !1, get: function() { return F("Factory.type is deprecated. Access the class directly before passing it to createFactory."), Object.defineProperty(this, "type", { value: y }), y; } }), $; } function cp(y, $, L) { for (var W = da.apply(this, arguments), K = 2; K < arguments.length; K++) di(arguments[K], W.type); return pi(W), W; } function up(y, $) { var L = A.transition; A.transition = {}; var W = A.transition; A.transition._updatedFibers = /* @__PURE__ */ new Set(); try { y(); } finally { if (A.transition = L, L === null && W._updatedFibers) { var K = W._updatedFibers.size; K > 10 && F("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."), W._updatedFibers.clear(); } } } var hi = !1, no = null; function fp(y) { if (no === null) try { var $ = ("require" + Math.random()).slice(0, 7), L = e && e[$]; no = L.call(e, "timers").setImmediate; } catch { no = function(W) { hi === !1 && (hi = !0, typeof MessageChannel > "u" && D("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.")); var K = new MessageChannel(); K.port1.onmessage = W, K.port2.postMessage(void 0); }; } return no(y); } var rn = 0, bi = !1; function yi(y) { { var $ = rn; rn++, h.current === null && (h.current = []); var L = h.isBatchingLegacy, W; try { if (h.isBatchingLegacy = !0, W = y(), !L && h.didScheduleLegacyUpdate) { var K = h.current; K !== null && (h.didScheduleLegacyUpdate = !1, Yo(K)); } } catch (ve) { throw oo($), ve; } finally { h.isBatchingLegacy = L; } if (W !== null && typeof W == "object" && typeof W.then == "function") { var oe = W, re = !1, ie = { then: function(ve, Ge) { re = !0, oe.then(function(Ye) { oo($), rn === 0 ? Uo(Ye, ve, Ge) : ve(Ye); }, function(Ye) { oo($), Ge(Ye); }); } }; return !bi && typeof Promise < "u" && Promise.resolve().then(function() { }).then(function() { re || (bi = !0, D("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);")); }), ie; } else { var ue = W; if (oo($), rn === 0) { var ge = h.current; ge !== null && (Yo(ge), h.current = null); var be = { then: function(ve, Ge) { h.current === null ? (h.current = [], Uo(ue, ve, Ge)) : ve(ue); } }; return be; } else { var ye = { then: function(ve, Ge) { ve(ue); } }; return ye; } } } } function oo(y) { y !== rn - 1 && D("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "), rn = y; } function Uo(y, $, L) { { var W = h.current; if (W !== null) try { Yo(W), fp(function() { W.length === 0 ? (h.current = null, $(y)) : Uo(y, $, L); }); } catch (K) { L(K); } else $(y); } } var Ho = !1; function Yo(y) { if (!Ho) { Ho = !0; var $ = 0; try { for (; $ < y.length; $++) { var L = y[$]; do L = L(!0); while (L !== null); } y.length = 0; } catch (W) { throw y = y.slice($ + 1), W; } finally { Ho = !1; } } } var dp = mi, pp = cp, mp = lp, gp = { map: Qn, forEach: Pd, count: $d, toArray: Cd, only: Nd }; t.Children = gp, t.Component = P, t.Fragment = a, t.Profiler = s, t.PureComponent = R, t.StrictMode = i, t.Suspense = f, t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = z, t.act = yi, t.cloneElement = pp, t.createContext = _d, t.createElement = dp, t.createFactory = mp, t.createRef = Q, t.forwardRef = Md, t.isValidElement = hr, t.lazy = Rd, t.memo = Td, t.startTransition = up, t.unstable_act = yi, t.useCallback = Ud, t.useContext = zd, t.useDebugValue = Bd, t.useDeferredValue = Xd, t.useEffect = Vd, t.useId = Kd, t.useImperativeHandle = Yd, t.useInsertionEffect = Wd, t.useLayoutEffect = Gd, t.useMemo = Hd, t.useReducer = Fd, t.useRef = Ld, t.useState = Dd, t.useSyncExternalStore = Jd, t.useTransition = qd, t.version = r, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); }(); }(yk, yk.exports)), yk.exports; } var AB; function bqe() { return AB || (AB = 1, process.env.NODE_ENV === "production" ? K6.exports = gqe() : K6.exports = hqe()), K6.exports; } bqe(); function Rde() { return typeof window < "u" && ("__TAURI_INTERNALS__" in window || "__TAURI__" in window); } window.IsDesktopApp = Rde; function go(e, t, r, n) { if (typeof t == "function" ? e !== t || !0 : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return r === "m" ? n : r === "a" ? n.call(e) : n ? n.value : t.get(e); } function By(e, t, r, n, o) { if (typeof t == "function" ? e !== t || !0 : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); return t.set(e, r), r; } var vp, Ma, fg, e2; const $B = "__TAURI_TO_IPC_KEY__"; function yqe(e, t = !1) { return window.__TAURI_INTERNALS__.transformCallback(e, t); } class vqe { constructor(t) { vp.set(this, void 0), Ma.set(this, 0), fg.set(this, []), e2.set(this, void 0), By(this, vp, t || (() => { })), this.id = yqe((r) => { const n = r.index; if ("end" in r) { n == go(this, Ma, "f") ? this.cleanupCallback() : By(this, e2, n); return; } const o = r.message; if (n == go(this, Ma, "f")) { for (go(this, vp, "f").call(this, o), By(this, Ma, go(this, Ma, "f") + 1); go(this, Ma, "f") in go(this, fg, "f"); ) { const a = go(this, fg, "f")[go(this, Ma, "f")]; go(this, vp, "f").call(this, a), delete go(this, fg, "f")[go(this, Ma, "f")], By(this, Ma, go(this, Ma, "f") + 1); } go(this, Ma, "f") === go(this, e2, "f") && this.cleanupCallback(); } else go(this, fg, "f")[n] = o; }); } cleanupCallback() { window.__TAURI_INTERNALS__.unregisterCallback(this.id); } set onmessage(t) { By(this, vp, t); } get onmessage() { return go(this, vp, "f"); } [(vp = /* @__PURE__ */ new WeakMap(), Ma = /* @__PURE__ */ new WeakMap(), fg = /* @__PURE__ */ new WeakMap(), e2 = /* @__PURE__ */ new WeakMap(), $B)]() { return `__CHANNEL__:${this.id}`; } toJSON() { return this[$B](); } } async function t2(e, t = {}, r) { return window.__TAURI_INTERNALS__.invoke(e, t, r); } const r2 = "Request cancelled"; async function PB(e, t) { const r = t == null ? void 0 : t.signal; if (r != null && r.aborted) throw new Error(r2); const n = t == null ? void 0 : t.maxRedirections, o = t == null ? void 0 : t.connectTimeout, a = t == null ? void 0 : t.proxy, i = t == null ? void 0 : t.danger; t && (delete t.maxRedirections, delete t.connectTimeout, delete t.proxy, delete t.danger); const s = t != null && t.headers ? t.headers instanceof Headers ? t.headers : new Headers(t.headers) : new Headers(), l = new Request(e, t), c = await l.arrayBuffer(), u = c.byteLength !== 0 ? Array.from(new Uint8Array(c)) : null; for (const [h, G] of l.headers) s.get(h) || s.set(h, G); const f = (s instanceof Headers ? Array.from(s.entries()) : Array.isArray(s) ? s : Object.entries(s)).map(([h, G]) => [ h, // we need to ensure we have all header values as strings // eslint-disable-next-line typeof G == "string" ? G : G.toString() ]); if (r != null && r.aborted) throw new Error(r2); const p = await t2("plugin:http|fetch", { clientConfig: { method: l.method, url: l.url, headers: f, data: u, maxRedirections: n, connectTimeout: o, proxy: a, danger: i } }), v = () => t2("plugin:http|fetch_cancel", { rid: p }); if (r != null && r.aborted) throw v(), new Error(r2); r == null || r.addEventListener("abort", () => void v()); const { status: w, statusText: b, url: m, headers: x, rid: O } = await t2("plugin:http|fetch_send", { rid: p }), E = [101, 103, 204, 205, 304].includes(w) ? null : new ReadableStream({ start: (h) => { const G = new vqe(); G.onmessage = (H) => { if (r != null && r.aborted) { h.error(r2); return; } const Z = new Uint8Array(H), J = Z[Z.byteLength - 1], X = Z.slice(0, Z.byteLength - 1); if (J == 1) { h.close(); return; } h.enqueue(X); }, t2("plugin:http|fetch_read_body", { rid: O, streamChannel: G }).catch((H) => { h.error(H); }); } }), A = new Response(E, { status: w, statusText: b }); return Object.defineProperty(A, "url", { value: m }), Object.defineProperty(A, "headers", { value: new Headers(x) }), A; } function U0(e, t) { return Rde() ? t !== void 0 ? PB(e, t) : PB(e) : t !== void 0 ? fetch(e, t) : fetch(e); } window.FetchProxy = U0; let tz = class { constructor() { jde(this, "ApiTargets", {}), this.ApiTargets = { GoggleApi: zv.GOOGLE_API, FunnelApi: zv.FUNNEL_API, CdnApi: zv.CDN_API, GravatarApi: zv.GRAVATAR_API }; } getApiSchemeAndHost() { return mqe.getInstance().getApiSchemeAndHost(); } async fetch(e, { method: t, query: r, body: n }) { const o = r && Object.entries(r).reduce( (l, [c, u]) => (u && (l[c] = u.toString()), l), {} ), a = o ? e + "?" + new URLSearchParams(o) : e, i = JSON.stringify(n), s = await U0(a, { method: t, headers: { Accept: "application/json", "Content-Type": "application/json" }, credentials: "include", body: i }); if (!s.ok) throw new Error(`HTTP error! status: ${s.status}`); return s.json(); } async fetchMultipartFormData(e, { method: t, body: r }) { return (await U0(e, { method: t, headers: { Accept: "application/json" }, credentials: "include", body: r })).json(); } get({ endpoint: e, query: t }) { return this.fetch(e, { method: "GET", query: t }); } post({ endpoint: e, query: t, body: r }) { return this.fetch(e, { method: "POST", query: t, body: r }); } delete({ endpoint: e, query: t, body: r }) { return this.fetch(e, { method: "DELETE", query: t, body: r }); } async postFormVideo({ endpoint: e, formRecord: t, uuid: r, blob: n, blobFileName: o }) { const a = new FormData(); return a.append("uuid_idempotency_token", r), Object.entries(t).forEach(([i, s]) => { a.append(i, s); }), n && o ? a.append("video", n, o) : n && a.append("video", n), this.fetchMultipartFormData(e, { method: "POST", body: a }); } async postForm({ endpoint: e, formRecord: t, uuid: r, blob: n, blobFileName: o }) { const a = new FormData(); return a.append("uuid_idempotency_token", r), Object.entries(t).forEach(([i, s]) => { a.append(i, s); }), n && o ? a.append("file", n, o) : n && a.append("file", n), this.fetchMultipartFormData(e, { method: "POST", body: a }); } camelToSnakeCase(e) { return e.replace(/([a-z0])([A-Z])/g, "$1_$2").toLowerCase(); } parseQueryValues(e) { return Object.entries(e).reduce( (t, [r, n]) => { if (!n) return t; const o = this.camelToSnakeCase(r); return Array.isArray(n) ? { ...t, [o]: n.join(",") } : { ...t, [o]: n.toString() }; }, {} ); } parseBodyValues(e) { return Object.entries(e).reduce((t, [r, n]) => { if (!n) return t; const o = this.camelToSnakeCase(r); return Array.isArray(n) ? { ...t, [o]: n } : { ...t, [o]: n }; }, {}); } }; class xqe extends tz { async DeleteMediaFileByToken({ mediaFileToken: t, asMod: r = !0, setDelete: n = !0 }) { const o = `${this.getApiSchemeAndHost()}/v1/media_files/file/${t}`, a = { as_mod: r, set_delete: n }; return await this.delete({ endpoint: o, body: a }).then((i) => ({ success: i.success ?? !1, errorMessage: i.BadInput })).catch((i) => ({ success: !1, errorMessage: i.message })); } async ListMediaFilesByTokens({ mediaTokens: t }) { const r = `${this.getApiSchemeAndHost()}/v1/media_files/batch`; return await this.get({ endpoint: r, query: { tokens: t.join(",") } }).then((n) => ({ success: n.success, data: n.media_files })).catch((n) => ({ success: !1, errorMessage: n.message })); } async GetMediaFileByToken({ mediaFileToken: t }) { const r = `${this.getApiSchemeAndHost()}/v1/media_files/file/${t}`; return await this.get({ endpoint: r }).then((n) => ({ success: n.success, data: n.media_file })).catch((n) => ({ success: !1, errorMessage: n.message })); } async ListMediaFiles(t) { const r = `${this.getApiSchemeAndHost()}/v1/media_files/list`, n = { ...t, filter_media_classes: t.filter_media_classes ? t.filter_media_classes.join(",") : void 0, filter_media_type: t.filter_media_type ? t.filter_media_type.join(",") : void 0, filter_engine_categories: t.filter_engine_categories ? t.filter_engine_categories.join(",") : void 0 }; return await this.get({ endpoint: r, query: n }).then((o) => ({ success: o.success, data: o.results ?? [], pagination: o.pagination })).catch((o) => ({ success: !1, errorMessage: o.message })); } async ListFeaturedMediaFiles(t) { const r = `${this.getApiSchemeAndHost()}/v1/media_files/list_featured`, n = { ...t, filter_media_classes: t.filter_media_classes ? t.filter_media_classes.join(",") : void 0, filter_media_type: t.filter_media_type ? t.filter_media_type.join(",") : void 0, filter_engine_categories: t.filter_engine_categories ? t.filter_engine_categories.join(",") : void 0 }; return await this.get({ endpoint: r, query: n }).then((o) => ({ success: !0, data: o.results, pagination: o.pagination })).catch((o) => ({ success: !1, errorMessage: o.message })); } async ListUserMediaFiles(t) { const r = t.username, n = `${this.getApiSchemeAndHost()}/v1/media_files/list/user/${r}`, o = { ...t, include_user_uploads: t.include_user_uploads, filter_media_classes: t.filter_media_classes ? t.filter_media_classes.join(",") : void 0, filter_media_type: t.filter_media_type ? t.filter_media_type.join(",") : void 0, filter_engine_categories: t.filter_engine_categories ? t.filter_engine_categories.join(",") : void 0 }; return await this.get({ endpoint: n, query: o }).then((a) => { let i = a.results ?? []; return t.user_uploads_only && (i = i.filter((s) => s.origin_category === "upload")), { success: a.success, data: i, pagination: a.pagination }; }).catch((a) => ({ success: !1, errorMessage: a.message })); } async SearchFeaturedMediaFiles(t) { const r = `${this.getApiSchemeAndHost()}/v1/media_files/search_featured`, n = { search_term: t.search_term, filter_media_classes: t.filter_media_classes ? t.filter_media_classes.join(",") : void 0, filter_media_type: t.filter_media_type ? t.filter_media_type.join(",") : void 0, filter_engine_categories: t.filter_engine_categories ? t.filter_engine_categories.join(",") : void 0 }; return await this.get({ endpoint: r, query: n }).then((o) => ({ success: !0, data: o.results, pagination: o.pagination })).catch((o) => ({ success: !1, errorMessage: o.message })); } async SearchUserMediaFiles(t) { const r = `${this.getApiSchemeAndHost()}/v1/media_files/search_session`, n = { search_term: t.search_term, filter_media_classes: t.filter_media_classes ? t.filter_media_classes.join(",") : void 0, filter_media_type: t.filter_media_type ? t.filter_media_type.join(",") : void 0, filter_engine_categories: t.filter_engine_categories ? t.filter_engine_categories.join(",") : void 0 }; return await this.get({ endpoint: r, query: n }).then((o) => ({ success: !0, data: o.results, pagination: o.pagination })).catch((o) => ({ success: !1, errorMessage: o.message })); } async RenameMediaFileByToken({ mediaToken: t, name: r }) { const n = `${this.getApiSchemeAndHost()}/v1/media_files/rename/${t}`, o = { name: r }; return await this.post({ endpoint: n, body: o }).then((a) => ({ success: a.success ?? !1, errorMessage: a.BadInput })).catch((a) => ({ success: !1, errorMessage: a.message })); } async UpdateCoverImage({ mediaFileToken: t, imageToken: r }) { const n = `${this.getApiSchemeAndHost()}/v1/media_files/cover_image/${t}`; return await this.post({ endpoint: n, body: { cover_image_media_file_token: r } }).then((o) => ({ success: o.success ?? !1, errorMessage: o.BadInput })).catch((o) => ({ success: !1, errorMessage: o.message })); } async UpdateVisibility({ mediaFileToken: t, visibility: r }) { const n = `${this.getApiSchemeAndHost()}/v1/media_files/visibility/${t}`; return await this.post({ endpoint: n, body: { creator_set_visibility: r } }).then((o) => ({ success: o.success ?? !1, errorMessage: o.BadInput })).catch((o) => ({ success: !1, errorMessage: o.message })); } } var CB; (function(e) { e[e.Audio = 1] = "Audio", e[e.Cache = 2] = "Cache", e[e.Config = 3] = "Config", e[e.Data = 4] = "Data", e[e.LocalData = 5] = "LocalData", e[e.Document = 6] = "Document", e[e.Download = 7] = "Download", e[e.Picture = 8] = "Picture", e[e.Public = 9] = "Public", e[e.Video = 10] = "Video", e[e.Resource = 11] = "Resource", e[e.Temp = 12] = "Temp", e[e.AppConfig = 13] = "AppConfig", e[e.AppData = 14] = "AppData", e[e.AppLocalData = 15] = "AppLocalData", e[e.AppCache = 16] = "AppCache", e[e.AppLog = 17] = "AppLog", e[e.Desktop = 18] = "Desktop", e[e.Executable = 19] = "Executable", e[e.Font = 20] = "Font", e[e.Home = 21] = "Home", e[e.Runtime = 22] = "Runtime", e[e.Template = 23] = "Template"; })(CB || (CB = {})); class wqe extends tz { async enqueueImageGeneration({ disableSystemPrompt: t, prompt: r, snapshotMediaToken: n, additionalImages: o }) { const a = `${this.getApiSchemeAndHost()}/v1/image_studio/prompt`, i = { uuid_idempotency_token: crypto.randomUUID(), disable_system_prompt: t, prompt: r, snapshot_media_token: n, // Changed from scene_media_token to snapshot_media_token additional_images: o }, s = await this.post({ endpoint: a, body: i }), l = s.success ?? !1; return console.log("postResponse FOR ENQUEUE IMAGE GENERATION"), console.log(s), { success: l, data: l ? s.job_token : void 0, errorMessage: l ? void 0 : s.BadInput }; } async pollJobSession(t, r = 256) { var n, o, a, i, s, l; const c = `${this.getApiSchemeAndHost()}/v1/jobs/job/${t}`, u = await this.get({ endpoint: c }); console.log("Job Polling Response:"), console.log(u); const f = (o = (n = u.state.maybe_result) == null ? void 0 : n.media_links) == null ? void 0 : o.cdn_url, p = (a = u.state.maybe_result) == null ? void 0 : a.maybe_public_bucket_media_path, v = (l = (s = (i = u.state.maybe_result) == null ? void 0 : i.media_links) == null ? void 0 : s.maybe_thumbnail_template) == null ? void 0 : l.replace( "{WIDTH}", r.toString() ), w = u.state.status.progress_percentage, b = u.state.status.status; console.log("Image URL:", f), console.log("Thumbnail URL:", v), console.log("Progress Percentage:", w), console.log("Status", b), console.log("response FROM JOBS"), console.log(u); const m = u.success ?? !1; u.status; const x = u.BadInput; return { success: m, data: { result: { image_url: f || "", thumbnail_url: v || "", public_bucket_path: p || "", error: void 0 }, job_token: t, request: { maybe_model_title: "Image Generation" }, status: { status: b.toLowerCase(), progress_percentage: w } }, errorMessage: x }; } async pollStudioSessionJobs(t) { const r = `${this.getApiSchemeAndHost()}/v1/image_studio/session_jobs/${t}`, n = await this.get({ endpoint: r }), o = n.success ?? !1, a = n.status ?? "", i = n.result ?? { generated_images: [], error: void 0 }, s = n.BadInput; return { success: o, data: { status: a, result: i }, errorMessage: s }; } GetPromptsByToken({ token: t }) { const r = `${this.getApiSchemeAndHost()}/v1/prompts/${t}`; return this.get({ endpoint: r }).then((n) => ({ success: n.success, data: n.prompt })).catch((n) => ({ success: !1, errorMessage: n.message })); } async uploadSceneSnapshot({ screenshot: t, sceneMediaToken: r }) { const n = `${this.getApiSchemeAndHost()}/v1/image_studio/scene_snapshot`, o = new FormData(); o.append("snapshot", t), r && o.append("scene_media_token", r); const a = crypto.randomUUID(); o.append("uuid_idempotency_token", a); const i = await (await U0(n, { method: "POST", headers: { Accept: "application/json" }, credentials: "include", body: o })).json(); console.log(i); let s; return i.success ? s = { success: !0, data: i.snapshot_media_token, errorMessage: void 0 } : s = { success: !1, errorMessage: "Failed to generate snapshot." }, s; } } class kqe extends tz { async authFetch(t, { method: r, body: n }) { const o = JSON.stringify(n); return await (await U0(t, { method: r, headers: { Accept: "application/json", "Content-Type": "application/json" }, credentials: "include", body: o })).json(); } GetSession() { const t = `${this.getApiSchemeAndHost()}/v1/session`; return this.get({ endpoint: t }).then((r) => ({ success: r.success, data: { loggedIn: r.logged_in, user: r.user } })).catch((r) => ({ success: !1, errorMessage: r.message })); } GetUserProfile(t) { const r = `${this.getApiSchemeAndHost()}/v1/user/${t}/profile`; return console.log("endpoint", r), this.get({ endpoint: r }).then((n) => ({ success: n.success, data: { user: n.user } })).catch((n) => ({ success: !1, errorMessage: n.message })); } async Login({ usernameOrEmail: t, password: r }) { console.log("libs/api - Logging in with usernameOrEmail:", t); const n = `${this.getApiSchemeAndHost()}/v1/login`; console.log("libs/api - Login endpoint", n); const o = { username_or_email: t, password: r }; try { const a = await this.authFetch(n, { method: "POST", body: o }); return { success: a.success, data: a.success ? { signedSession: a.signed_session } : void 0, errorMessage: a.error_message }; } catch (a) { return { success: !1, errorMessage: a.message }; } } Logout() { const t = `${this.getApiSchemeAndHost()}/v1/logout`; return this.post({ endpoint: t }).then((r) => ({ success: r.success })).catch((r) => ({ success: !1, errorMessage: r.message })); } async Signup({ username: t, email: r, password: n, passwordConfirmation: o, signupSource: a }) { const i = `${this.getApiSchemeAndHost()}/v1/create_account`, s = { email_address: r, password: n, password_confirmation: o, username: t }; a && (s.signup_source = a); try { const l = await this.authFetch(i, { method: "POST", body: s }); return { success: l.success, data: l.success ? { signedSession: l.signed_session } : void 0, errorMessage: l.error_message || Object.values(l.error_fields ?? {}).join(", ") }; } catch (l) { return { success: !1, errorMessage: l.message }; } } } window.UsersApi = new kqe(); let Oqe = { data: "" }, Sqe = (e) => typeof window == "object" ? ((e ? e.querySelector("#_goober") : window._goober) || Object.assign((e || document.head).appendChild(document.createElement("style")), { innerHTML: " ", id: "_goober" })).firstChild : e || Oqe, Eqe = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g, Aqe = /\/\*[^]*?\*\/| +/g, NB = /\n+/g, Qu = (e, t) => { let r = "", n = "", o = ""; for (let a in e) { let i = e[a]; a[0] == "@" ? a[1] == "i" ? r = a + " " + i + ";" : n += a[1] == "f" ? Qu(i, a) : a + "{" + Qu(i, a[1] == "k" ? "" : t) + "}" : typeof i == "object" ? n += Qu(i, t ? t.replace(/([^,])+/g, (s) => a.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g, (l) => /&/.test(l) ? l.replace(/&/g, s) : s ? s + " " + l : l)) : a) : i != null && (a = /^--/.test(a) ? a : a.replace(/[A-Z]/g, "-$&").toLowerCase(), o += Qu.p ? Qu.p(a, i) : a + ":" + i + ";"); } return r + (t && o ? t + "{" + o + "}" : o) + n; }, cl = {}, Mde = (e) => { if (typeof e == "object") { let t = ""; for (let r in e) t += r + Mde(e[r]); return t; } return e; }, $qe = (e, t, r, n, o) => { let a = Mde(e), i = cl[a] || (cl[a] = ((l) => { let c = 0, u = 11; for (; c < l.length; ) u = 101 * u + l.charCodeAt(c++) >>> 0; return "go" + u; })(a)); if (!cl[i]) { let l = a !== e ? e : ((c) => { let u, f, p = [{}]; for (; u = Eqe.exec(c.replace(Aqe, "")); ) u[4] ? p.shift() : u[3] ? (f = u[3].replace(NB, " ").trim(), p.unshift(p[0][f] = p[0][f] || {})) : p[0][u[1]] = u[2].replace(NB, " ").trim(); return p[0]; })(e); cl[i] = Qu(o ? { ["@keyframes " + i]: l } : l, r ? "" : "." + i); } let s = r && cl.g ? cl.g : null; return r && (cl.g = cl[i]), ((l, c, u, f) => { f ? c.data = c.data.replace(f, l) : c.data.indexOf(l) === -1 && (c.data = u ? l + c.data : c.data + l); })(cl[i], t, n, s), i; }, Pqe = (e, t, r) => e.reduce((n, o, a) => { let i = t[a]; if (i && i.call) { let s = i(r), l = s && s.props && s.props.className || /^go/.test(s) && s; i = l ? "." + l : s && typeof s == "object" ? s.props ? "" : Qu(s, "") : s === !1 ? "" : s; } return n + o + (i ?? ""); }, ""); function LS(e) { let t = this || {}, r = e.call ? e(t.p) : e; return $qe(r.unshift ? r.raw ? Pqe(r, [].slice.call(arguments, 1), t.p) : r.reduce((n, o) => Object.assign(n, o && o.call ? o(t.p) : o), {}) : r, Sqe(t.target), t.g, t.o, t.k); } let Tde, lj, cj; LS.bind({ g: 1 }); let Kl = LS.bind({ k: 1 }); function Cqe(e, t, r, n) { Qu.p = t, Tde = e, lj = r, cj = n; } function wd(e, t) { let r = this || {}; return function() { let n = arguments; function o(a, i) { let s = Object.assign({}, a), l = s.className || o.className; r.p = Object.assign({ theme: lj && lj() }, s), r.o = / *go\d+/.test(l), s.className = LS.apply(r, n) + (l ? " " + l : ""); let c = e; return e[0] && (c = s.as || e, delete s.as), cj && c[0] && cj(s), Tde(c, s); } return o; }; } var Nqe = (e) => typeof e == "function", uj = (e, t) => Nqe(e) ? e(t) : e, _qe = /* @__PURE__ */ (() => { let e = 0; return () => (++e).toString(); })(), jqe = /* @__PURE__ */ (() => { let e; return () => { if (e === void 0 && typeof window < "u") { let t = matchMedia("(prefers-reduced-motion: reduce)"); e = !t || t.matches; } return e; }; })(), Iqe = 20, zde = (e, t) => { switch (t.type) { case 0: return { ...e, toasts: [t.toast, ...e.toasts].slice(0, Iqe) }; case 1: return { ...e, toasts: e.toasts.map((a) => a.id === t.toast.id ? { ...a, ...t.toast } : a) }; case 2: let { toast: r } = t; return zde(e, { type: e.toasts.find((a) => a.id === r.id) ? 1 : 0, toast: r }); case 3: let { toastId: n } = t; return { ...e, toasts: e.toasts.map((a) => a.id === n || n === void 0 ? { ...a, dismissed: !0, visible: !1 } : a) }; case 4: return t.toastId === void 0 ? { ...e, toasts: [] } : { ...e, toasts: e.toasts.filter((a) => a.id !== t.toastId) }; case 5: return { ...e, pausedAt: t.time }; case 6: let o = t.time - (e.pausedAt || 0); return { ...e, pausedAt: void 0, toasts: e.toasts.map((a) => ({ ...a, pauseDuration: a.pauseDuration + o })) }; } }, Rqe = [], J6 = { toasts: [], pausedAt: void 0 }, rz = (e) => { J6 = zde(J6, e), Rqe.forEach((t) => { t(J6); }); }, Mqe = (e, t = "blank", r) => ({ createdAt: Date.now(), visible: !0, dismissed: !1, type: t, ariaProps: { role: "status", "aria-live": "polite" }, message: e, pauseDuration: 0, ...r, id: (r == null ? void 0 : r.id) || _qe() }), Tx = (e) => (t, r) => { let n = Mqe(t, e, r); return rz({ type: 2, toast: n }), n.id; }, ma = (e, t) => Tx("blank")(e, t); ma.error = Tx("error"); ma.success = Tx("success"); ma.loading = Tx("loading"); ma.custom = Tx("custom"); ma.dismiss = (e) => { rz({ type: 3, toastId: e }); }; ma.remove = (e) => rz({ type: 4, toastId: e }); ma.promise = (e, t, r) => { let n = ma.loading(t.loading, { ...r, ...r == null ? void 0 : r.loading }); return typeof e == "function" && (e = e()), e.then((o) => { let a = t.success ? uj(t.success, o) : void 0; return a ? ma.success(a, { id: n, ...r, ...r == null ? void 0 : r.success }) : ma.dismiss(n), o; }).catch((o) => { let a = t.error ? uj(t.error, o) : void 0; a ? ma.error(a, { id: n, ...r, ...r == null ? void 0 : r.error }) : ma.dismiss(n); }), e; }; var Tqe = Kl` from { transform: scale(0) rotate(45deg); opacity: 0; } to { transform: scale(1) rotate(45deg); opacity: 1; }`, zqe = Kl` from { transform: scale(0); opacity: 0; } to { transform: scale(1); opacity: 1; }`, Dqe = Kl` from { transform: scale(0) rotate(90deg); opacity: 0; } to { transform: scale(1) rotate(90deg); opacity: 1; }`, Fqe = wd("div")` width: 20px; opacity: 0; height: 20px; border-radius: 10px; background: ${(e) => e.primary || "#ff4b4b"}; position: relative; transform: rotate(45deg); animation: ${Tqe} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; animation-delay: 100ms; &:after, &:before { content: ''; animation: ${zqe} 0.15s ease-out forwards; animation-delay: 150ms; position: absolute; border-radius: 3px; opacity: 0; background: ${(e) => e.secondary || "#fff"}; bottom: 9px; left: 4px; height: 2px; width: 12px; } &:before { animation: ${Dqe} 0.15s ease-out forwards; animation-delay: 180ms; transform: rotate(90deg); } `, Lqe = Kl` from { transform: rotate(0deg); } to { transform: rotate(360deg); } `, Vqe = wd("div")` width: 12px; height: 12px; box-sizing: border-box; border: 2px solid; border-radius: 100%; border-color: ${(e) => e.secondary || "#e0e0e0"}; border-right-color: ${(e) => e.primary || "#616161"}; animation: ${Lqe} 1s linear infinite; `, Wqe = Kl` from { transform: scale(0) rotate(45deg); opacity: 0; } to { transform: scale(1) rotate(45deg); opacity: 1; }`, Gqe = Kl` 0% { height: 0; width: 0; opacity: 0; } 40% { height: 0; width: 6px; opacity: 1; } 100% { opacity: 1; height: 10px; }`, Uqe = wd("div")` width: 20px; opacity: 0; height: 20px; border-radius: 10px; background: ${(e) => e.primary || "#61d345"}; position: relative; transform: rotate(45deg); animation: ${Wqe} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; animation-delay: 100ms; &:after { content: ''; box-sizing: border-box; animation: ${Gqe} 0.2s ease-out forwards; opacity: 0; animation-delay: 200ms; position: absolute; border-right: 2px solid; border-bottom: 2px solid; border-color: ${(e) => e.secondary || "#fff"}; bottom: 6px; left: 6px; height: 10px; width: 6px; } `, Hqe = wd("div")` position: absolute; `, Yqe = wd("div")` position: relative; display: flex; justify-content: center; align-items: center; min-width: 20px; min-height: 20px; `, Bqe = Kl` from { transform: scale(0.6); opacity: 0.4; } to { transform: scale(1); opacity: 1; }`, qqe = wd("div")` position: relative; transform: scale(0.6); opacity: 0.4; min-width: 20px; animation: ${Bqe} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; `, Xqe = ({ toast: e }) => { let { icon: t, type: r, iconTheme: n } = e; return t !== void 0 ? typeof t == "string" ? V.createElement(qqe, null, t) : t : r === "blank" ? null : V.createElement(Yqe, null, V.createElement(Vqe, { ...n }), r !== "loading" && V.createElement(Hqe, null, r === "error" ? V.createElement(Fqe, { ...n }) : V.createElement(Uqe, { ...n }))); }, Kqe = (e) => ` 0% {transform: translate3d(0,${e * -200}%,0) scale(.6); opacity:.5;} 100% {transform: translate3d(0,0,0) scale(1); opacity:1;} `, Jqe = (e) => ` 0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;} 100% {transform: translate3d(0,${e * -150}%,-1px) scale(.6); opacity:0;} `, Qqe = "0%{opacity:0;} 100%{opacity:1;}", Zqe = "0%{opacity:1;} 100%{opacity:0;}", eXe = wd("div")` display: flex; align-items: center; background: #fff; color: #363636; line-height: 1.3; will-change: transform; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05); max-width: 350px; pointer-events: auto; padding: 8px 10px; border-radius: 8px; `, tXe = wd("div")` display: flex; justify-content: center; margin: 4px 10px; color: inherit; flex: 1 1 auto; white-space: pre-line; `, rXe = (e, t) => { let r = e.includes("top") ? 1 : -1, [n, o] = jqe() ? [Qqe, Zqe] : [Kqe(r), Jqe(r)]; return { animation: t ? `${Kl(n)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards` : `${Kl(o)} 0.4s forwards cubic-bezier(.06,.71,.55,1)` }; }; V.memo(({ toast: e, position: t, style: r, children: n }) => { let o = e.height ? rXe(e.position || t || "top-center", e.visible) : { opacity: 0 }, a = V.createElement(Xqe, { toast: e }), i = V.createElement(tXe, { ...e.ariaProps }, uj(e.message, e)); return V.createElement(eXe, { className: e.className, style: { ...o, ...r, ...e.style } }, typeof n == "function" ? n({ icon: a, message: i }) : V.createElement(V.Fragment, null, a, i)); }); Cqe(V.createElement); LS` z-index: 9999; > * { pointer-events: auto; } `; var nXe = ma; /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function oXe(e, t, r) { return (t = iXe(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function _B(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Ne(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? _B(Object(r), !0).forEach(function(n) { oXe(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : _B(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function aXe(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function iXe(e) { var t = aXe(e, "string"); return typeof t == "symbol" ? t : t + ""; } const jB = () => { }; let nz = {}, Dde = {}, Fde = null, Lde = { mark: jB, measure: jB }; try { typeof window < "u" && (nz = window), typeof document < "u" && (Dde = document), typeof MutationObserver < "u" && (Fde = MutationObserver), typeof performance < "u" && (Lde = performance); } catch { } const { userAgent: IB = "" } = nz.navigator || {}, Yf = nz, Dn = Dde, RB = Fde, n2 = Lde; Yf.document; const Ac = !!Dn.documentElement && !!Dn.head && typeof Dn.addEventListener == "function" && typeof Dn.createElement == "function", Vde = ~IB.indexOf("MSIE") || ~IB.indexOf("Trident/"); var sXe = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, lXe = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, Wde = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, cXe = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, Gde = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Po = "classic", VS = "duotone", uXe = "sharp", fXe = "sharp-duotone", Ude = [Po, VS, uXe, fXe], dXe = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, pXe = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, mXe = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), gXe = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, hXe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], MB = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, bXe = ["kit"], yXe = { kit: { "fa-kit": "fak" } }, vXe = ["fak", "fakd"], xXe = { kit: { fak: "fa-kit" } }, TB = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, o2 = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, wXe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], kXe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], OXe = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, SXe = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, EXe = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, fj = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, AXe = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], dj = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...wXe, ...AXe], $Xe = ["solid", "regular", "light", "thin", "duotone", "brands"], Hde = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], PXe = Hde.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), CXe = [...Object.keys(EXe), ...$Xe, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", o2.GROUP, o2.SWAP_OPACITY, o2.PRIMARY, o2.SECONDARY].concat(Hde.map((e) => "".concat(e, "x"))).concat(PXe.map((e) => "w-".concat(e))), NXe = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const Jl = "___FONT_AWESOME___", pj = 16, Yde = "fa", Bde = "svg-inline--fa", Sm = "data-fa-i2svg", mj = "data-fa-pseudo-element", _Xe = "data-fa-pseudo-element-pending", oz = "data-prefix", az = "data-icon", zB = "fontawesome-i2svg", jXe = "async", IXe = ["HTML", "HEAD", "STYLE", "SCRIPT"], qde = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function zx(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[Po]; } }); } const Xde = Ne({}, Wde); Xde[Po] = Ne(Ne(Ne(Ne({}, { "fa-duotone": "duotone" }), Wde[Po]), MB.kit), MB["kit-duotone"]); const RXe = zx(Xde), gj = Ne({}, gXe); gj[Po] = Ne(Ne(Ne(Ne({}, { duotone: "fad" }), gj[Po]), TB.kit), TB["kit-duotone"]); const DB = zx(gj), hj = Ne({}, fj); hj[Po] = Ne(Ne({}, hj[Po]), xXe.kit); const iz = zx(hj), bj = Ne({}, SXe); bj[Po] = Ne(Ne({}, bj[Po]), yXe.kit); zx(bj); const MXe = sXe, Kde = "fa-layers-text", TXe = lXe, zXe = Ne({}, dXe); zx(zXe); const DXe = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], Q6 = cXe, FXe = [...bXe, ...CXe], A1 = Yf.FontAwesomeConfig || {}; function LXe(e) { var t = Dn.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function VXe(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } Dn && typeof Dn.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => { let [t, r] = e; const n = VXe(LXe(t)); n != null && (A1[r] = n); }); const Jde = { styleDefault: "solid", familyDefault: Po, cssPrefix: Yde, replacementClass: Bde, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; A1.familyPrefix && (A1.cssPrefix = A1.familyPrefix); const fb = Ne(Ne({}, Jde), A1); fb.autoReplaceSvg || (fb.observeMutations = !1); const nt = {}; Object.keys(Jde).forEach((e) => { Object.defineProperty(nt, e, { enumerable: !0, set: function(t) { fb[e] = t, $1.forEach((r) => r(nt)); }, get: function() { return fb[e]; } }); }); Object.defineProperty(nt, "familyPrefix", { enumerable: !0, set: function(e) { fb.cssPrefix = e, $1.forEach((t) => t(nt)); }, get: function() { return fb.cssPrefix; } }); Yf.FontAwesomeConfig = nt; const $1 = []; function WXe(e) { return $1.push(e), () => { $1.splice($1.indexOf(e), 1); }; } const du = pj, Os = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function GXe(e) { if (!e || !Ac) return; const t = Dn.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = Dn.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return Dn.head.insertBefore(t, n), e; } const UXe = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function H0() { let e = 12, t = ""; for (; e-- > 0; ) t += UXe[Math.random() * 62 | 0]; return t; } function Ub(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function sz(e) { return e.classList ? Ub(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function Qde(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function HXe(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(Qde(e[r]), '" '), "").trim(); } function WS(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function lz(e) { return e.size !== Os.size || e.x !== Os.x || e.y !== Os.y || e.rotate !== Os.rotate || e.flipX || e.flipY; } function YXe(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), l = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: l, path: c }; } function BXe(e) { let { transform: t, width: r = pj, height: n = pj, startCentered: o = !1 } = e, a = ""; return o && Vde ? a += "translate(".concat(t.x / du - r / 2, "em, ").concat(t.y / du - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / du, "em), calc(-50% + ").concat(t.y / du, "em)) ") : a += "translate(".concat(t.x / du, "em, ").concat(t.y / du, "em) "), a += "scale(".concat(t.size / du * (t.flipX ? -1 : 1), ", ").concat(t.size / du * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var qXe = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function Zde() { const e = Yde, t = Bde, r = nt.cssPrefix, n = nt.replacementClass; let o = qXe; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let FB = !1; function Z6() { nt.autoAddCss && !FB && (GXe(Zde()), FB = !0); } var XXe = { mixout() { return { dom: { css: Zde, insertCss: Z6 } }; }, hooks() { return { beforeDOMElementCreation() { Z6(); }, beforeI2svg() { Z6(); } }; } }; const Ql = Yf || {}; Ql[Jl] || (Ql[Jl] = {}); Ql[Jl].styles || (Ql[Jl].styles = {}); Ql[Jl].hooks || (Ql[Jl].hooks = {}); Ql[Jl].shims || (Ql[Jl].shims = []); var Ss = Ql[Jl]; const epe = [], tpe = function() { Dn.removeEventListener("DOMContentLoaded", tpe), z5 = 1, epe.map((e) => e()); }; let z5 = !1; Ac && (z5 = (Dn.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Dn.readyState), z5 || Dn.addEventListener("DOMContentLoaded", tpe)); function KXe(e) { Ac && (z5 ? setTimeout(e, 0) : epe.push(e)); } function Dx(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? Qde(e) : "<".concat(t, " ").concat(HXe(r), ">").concat(n.map(Dx).join(""), ""); } function LB(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var eA = function(e, t, r, n) { var o = Object.keys(e), a = o.length, i = t, s, l, c; for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++) l = o[s], c = i(c, e[l], l, e); return c; }; function JXe(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function rpe(e) { const t = JXe(e); return t.length === 1 ? t[0].toString(16) : null; } function QXe(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function VB(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function yj(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = VB(t); typeof Ss.hooks.addPack == "function" && !n ? Ss.hooks.addPack(e, VB(t)) : Ss.styles[e] = Ne(Ne({}, Ss.styles[e] || {}), o), e === "fas" && yj("fa", t); } const { styles: Y0, shims: ZXe } = Ss, npe = Object.keys(iz), eKe = npe.reduce((e, t) => (e[t] = Object.keys(iz[t]), e), {}); let cz = null, ope = {}, ape = {}, ipe = {}, spe = {}, lpe = {}; function tKe(e) { return ~FXe.indexOf(e); } function rKe(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !tKe(o) ? o : null; } const cpe = () => { const e = (n) => eA(Y0, (o, a, i) => (o[i] = eA(a, n, {}), o), {}); ope = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => { n[i.toString(16)] = a; }), n)), ape = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => { n[i] = a; }), n)), lpe = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in Y0 || nt.autoFetchSvg, r = eA(ZXe, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); ipe = r.names, spe = r.unicodes, cz = GS(nt.styleDefault, { family: nt.familyDefault }); }; WXe((e) => { cz = GS(e.styleDefault, { family: nt.familyDefault }); }); cpe(); function uz(e, t) { return (ope[e] || {})[t]; } function nKe(e, t) { return (ape[e] || {})[t]; } function zp(e, t) { return (lpe[e] || {})[t]; } function upe(e) { return ipe[e] || { prefix: null, iconName: null }; } function oKe(e) { const t = spe[e], r = uz("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function Bf() { return cz; } const fpe = () => ({ prefix: null, iconName: null, rest: [] }); function aKe(e) { let t = Po; const r = npe.reduce((n, o) => (n[o] = "".concat(nt.cssPrefix, "-").concat(o), n), {}); return Ude.forEach((n) => { (e.includes(r[n]) || e.some((o) => eKe[n].includes(o))) && (t = n); }), t; } function GS(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = Po } = t, n = RXe[r][e]; if (r === VS && !e) return "fad"; const o = DB[r][e] || DB[r][n], a = e in Ss.styles ? e : null; return o || a || null; } function iKe(e) { let t = [], r = null; return e.forEach((n) => { const o = rKe(nt.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function WB(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function US(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = dj.concat(kXe), a = WB(e.filter((f) => o.includes(f))), i = WB(e.filter((f) => !dj.includes(f))), s = a.filter((f) => (n = f, !Gde.includes(f))), [l = null] = s, c = aKe(a), u = Ne(Ne({}, iKe(i)), {}, { prefix: GS(l, { family: c }) }); return Ne(Ne(Ne({}, u), uKe({ values: e, family: c, styles: Y0, config: nt, canonical: u, givenPrefix: n })), sKe(r, n, u)); } function sKe(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? upe(o) : {}, i = zp(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Y0.far && Y0.fas && !nt.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const lKe = Ude.filter((e) => e !== Po || e !== VS), cKe = Object.keys(fj).filter((e) => e !== Po).map((e) => Object.keys(fj[e])).flat(); function uKe(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === VS, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && lKe.includes(r) && (Object.keys(a).find((f) => cKe.includes(f)) || i.autoFetchSvg)) { const f = mXe.get(r).defaultShortPrefixId; n.prefix = f, n.iconName = zp(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = Bf() || "fas"), n; } class fKe { constructor() { this.definitions = {}; } add() { for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++) r[n] = arguments[n]; const o = r.reduce(this._pullDefinitions, {}); Object.keys(o).forEach((a) => { this.definitions[a] = Ne(Ne({}, this.definitions[a] || {}), o[a]), yj(a, o[a]); const i = iz[Po][a]; i && yj(i, o[a]), cpe(); }); } reset() { this.definitions = {}; } _pullDefinitions(t, r) { const n = r.prefix && r.iconName && r.icon ? { 0: r } : r; return Object.keys(n).map((o) => { const { prefix: a, iconName: i, icon: s } = n[o], l = s[2]; t[a] || (t[a] = {}), l.length > 0 && l.forEach((c) => { typeof c == "string" && (t[a][c] = s); }), t[a][i] = s; }), t; } } let GB = [], Dg = {}; const Ch = {}, dKe = Object.keys(Ch); function pKe(e, t) { let { mixoutsTo: r } = t; return GB = e, Dg = {}, Object.keys(Ch).forEach((n) => { dKe.indexOf(n) === -1 && delete Ch[n]; }), GB.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { Dg[i] || (Dg[i] = []), Dg[i].push(a[i]); }); } n.provides && n.provides(Ch); }), r; } function vj(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (Dg[e] || []).forEach((a) => { t = a.apply(null, [t, ...n]); }), t; } function Em(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (Dg[e] || []).forEach((o) => { o.apply(null, r); }); } function qf() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return Ch[e] ? Ch[e].apply(null, t) : void 0; } function xj(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || Bf(); if (t) return t = zp(r, t) || t, LB(dpe.definitions, r, t) || LB(Ss.styles, r, t); } const dpe = new fKe(), mKe = () => { nt.autoReplaceSvg = !1, nt.observeMutations = !1, Em("noAuto"); }, gKe = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return Ac ? (Em("beforeI2svg", e), qf("pseudoElements2svg", e), qf("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; nt.autoReplaceSvg === !1 && (nt.autoReplaceSvg = !0), nt.observeMutations = !0, KXe(() => { bKe({ autoReplaceSvgRoot: t }), Em("watch", e); }); } }, hKe = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: zp(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = GS(e[0]); return { prefix: r, iconName: zp(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(nt.cssPrefix, "-")) > -1 || e.match(MXe))) { const t = US(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || Bf(), iconName: zp(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = Bf(); return { prefix: t, iconName: zp(t, e) || e }; } } }, Ea = { noAuto: mKe, config: nt, dom: gKe, parse: hKe, library: dpe, findIconDefinition: xj, toHtml: Dx }, bKe = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = Dn } = e; (Object.keys(Ss.styles).length > 0 || nt.autoFetchSvg) && Ac && nt.autoReplaceSvg && Ea.dom.i2svg({ node: t }); }; function HS(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => Dx(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!Ac) return; const r = Dn.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function yKe(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (lz(i) && r.found && !n.found) { const { width: s, height: l } = r, c = { x: s / l / 2, y: 0.5 }; o.style = WS(Ne(Ne({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function vKe(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(nt.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: Ne(Ne({}, o), {}, { id: i }), children: n }] }]; } function fz(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: l, titleId: c, extra: u, watchable: f = !1 } = e, { width: p, height: v } = r.found ? r : t, w = vXe.includes(n), b = [nt.replacementClass, o ? "".concat(nt.cssPrefix, "-").concat(o) : ""].filter((h) => u.classes.indexOf(h) === -1).filter((h) => h !== "" || !!h).concat(u.classes).join(" "); let m = { children: [], attributes: Ne(Ne({}, u.attributes), {}, { "data-prefix": n, "data-icon": o, class: b, role: u.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(p, " ").concat(v) }) }; const x = w && !~u.classes.indexOf("fa-fw") ? { width: "".concat(p / v * 16 * 0.0625, "em") } : {}; f && (m.attributes[Sm] = ""), s && (m.children.push({ tag: "title", attributes: { id: m.attributes["aria-labelledby"] || "title-".concat(c || H0()) }, children: [s] }), delete m.attributes.title); const O = Ne(Ne({}, m), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: l, transform: a, symbol: i, styles: Ne(Ne({}, x), u.styles) }), { children: E, attributes: A } = r.found && t.found ? qf("generateAbstractMask", O) || { children: [], attributes: {} } : qf("generateAbstractIcon", O) || { children: [], attributes: {} }; return O.children = E, O.attributes = A, i ? vKe(O) : yKe(O); } function UB(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, l = Ne(Ne(Ne({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (l[Sm] = ""); const c = Ne({}, i.styles); lz(o) && (c.transform = BXe({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const u = WS(c); u.length > 0 && (l.style = u); const f = []; return f.push({ tag: "span", attributes: l, children: [t] }), a && f.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), f; } function xKe(e) { const { content: t, title: r, extra: n } = e, o = Ne(Ne(Ne({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = WS(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: tA } = Ss; function wj(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(nt.cssPrefix, "-").concat(Q6.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(nt.cssPrefix, "-").concat(Q6.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(nt.cssPrefix, "-").concat(Q6.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const wKe = { found: !1, width: 512, height: 512 }; function kKe(e, t) { !qde && !nt.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function kj(e, t) { let r = t; return t === "fa" && nt.styleDefault !== null && (t = Bf()), new Promise((n, o) => { if (r === "fa") { const a = upe(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && tA[t] && tA[t][e]) { const a = tA[t][e]; return n(wj(a)); } kKe(e, t), n(Ne(Ne({}, wKe), {}, { icon: nt.showMissingIcons && e ? qf("missingIconAbstract") || {} : {} })); }); } const HB = () => { }, Oj = nt.measurePerformance && n2 && n2.mark && n2.measure ? n2 : { mark: HB, measure: HB }, Dv = 'FA "6.7.2"', OKe = (e) => (Oj.mark("".concat(Dv, " ").concat(e, " begins")), () => ppe(e)), ppe = (e) => { Oj.mark("".concat(Dv, " ").concat(e, " ends")), Oj.measure("".concat(Dv, " ").concat(e), "".concat(Dv, " ").concat(e, " begins"), "".concat(Dv, " ").concat(e, " ends")); }; var dz = { begin: OKe, end: ppe }; const vk = () => { }; function YB(e) { return typeof (e.getAttribute ? e.getAttribute(Sm) : null) == "string"; } function SKe(e) { const t = e.getAttribute ? e.getAttribute(oz) : null, r = e.getAttribute ? e.getAttribute(az) : null; return t && r; } function EKe(e) { return e && e.classList && e.classList.contains && e.classList.contains(nt.replacementClass); } function AKe() { return nt.autoReplaceSvg === !0 ? xk.replace : xk[nt.autoReplaceSvg] || xk.replace; } function $Ke(e) { return Dn.createElementNS("http://www.w3.org/2000/svg", e); } function PKe(e) { return Dn.createElement(e); } function mpe(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? $Ke : PKe } = t; if (typeof e == "string") return Dn.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(o) { n.setAttribute(o, e.attributes[o]); }), (e.children || []).forEach(function(o) { n.appendChild(mpe(o, { ceFn: r })); }), n; } function CKe(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const xk = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(mpe(r), t); }), t.getAttribute(Sm) === null && nt.keepOriginalSource) { let r = Dn.createComment(CKe(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~sz(t).indexOf(nt.replacementClass)) return xk.replace(e); const n = new RegExp("".concat(nt.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === nt.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => Dx(a)).join(` `); t.setAttribute(Sm, ""), t.innerHTML = o; } }; function BB(e) { e(); } function gpe(e, t) { const r = typeof t == "function" ? t : vk; if (e.length === 0) r(); else { let n = BB; nt.mutateApproach === jXe && (n = Yf.requestAnimationFrame || BB), n(() => { const o = AKe(), a = dz.begin("mutate"); e.map(o), a(), r(); }); } } let pz = !1; function hpe() { pz = !0; } function Sj() { pz = !1; } let D5 = null; function qB(e) { if (!RB || !nt.observeMutations) return; const { treeCallback: t = vk, nodeCallback: r = vk, pseudoElementsCallback: n = vk, observeMutationsRoot: o = Dn } = e; D5 = new RB((a) => { if (pz) return; const i = Bf(); Ub(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !YB(s.addedNodes[0]) && (nt.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && nt.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && YB(s.target) && ~DXe.indexOf(s.attributeName)) if (s.attributeName === "class" && SKe(s.target)) { const { prefix: l, iconName: c } = US(sz(s.target)); s.target.setAttribute(oz, l || i), c && s.target.setAttribute(az, c); } else EKe(s.target) && r(s.target); }); }), Ac && D5.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function NKe() { D5 && D5.disconnect(); } function _Ke(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function jKe(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = US(sz(e)); return o.prefix || (o.prefix = Bf()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = nKe(o.prefix, e.innerText) || uz(o.prefix, rpe(e.innerText))), !o.iconName && nt.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function IKe(e) { const t = Ub(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return nt.autoA11y && (r ? t["aria-labelledby"] = "".concat(nt.replacementClass, "-title-").concat(n || H0()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function RKe() { return { iconName: null, title: null, titleId: null, prefix: null, transform: Os, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function XB(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = jKe(e), a = IKe(e), i = vj("parseNodeAttributes", {}, e); let s = t.styleParser ? _Ke(e) : []; return Ne({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: Os, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: MKe } = Ss; function bpe(e) { const t = nt.autoReplaceSvg === "nest" ? XB(e, { styleParser: !1 }) : XB(e); return ~t.extra.classes.indexOf(Kde) ? qf("generateLayersText", e, t) : qf("generateSvgReplacementMutation", e, t); } function TKe() { return [...hXe, ...dj]; } function KB(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!Ac) return Promise.resolve(); const r = Dn.documentElement.classList, n = (u) => r.add("".concat(zB, "-").concat(u)), o = (u) => r.remove("".concat(zB, "-").concat(u)), a = nt.autoFetchSvg ? TKe() : Gde.concat(Object.keys(MKe)); a.includes("fa") || a.push("fa"); const i = [".".concat(Kde, ":not([").concat(Sm, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(Sm, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = Ub(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const l = dz.begin("onTree"), c = s.reduce((u, f) => { try { const p = bpe(f); p && u.push(p); } catch (p) { qde || p.name === "MissingIcon" && console.error(p); } return u; }, []); return new Promise((u, f) => { Promise.all(c).then((p) => { gpe(p, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u(); }); }).catch((p) => { l(), f(p); }); }); } function zKe(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; bpe(e).then((r) => { r && gpe([r], t); }); } function DKe(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : xj(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : xj(o || {})), e(n, Ne(Ne({}, r), {}, { mask: o })); }; } const FKe = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = Os, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: l = [], attributes: c = {}, styles: u = {} } = t; if (!e) return; const { prefix: f, iconName: p, icon: v } = e; return HS(Ne({ type: "icon" }, e), () => (Em("beforeDOMElementCreation", { iconDefinition: e, params: t }), nt.autoA11y && (i ? c["aria-labelledby"] = "".concat(nt.replacementClass, "-title-").concat(s || H0()) : (c["aria-hidden"] = "true", c.focusable = "false")), fz({ icons: { main: wj(v), mask: o ? wj(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: f, iconName: p, transform: Ne(Ne({}, Os), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: u, classes: l } }))); }; var LKe = { mixout() { return { icon: DKe(FKe) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = KB, e.nodeCallback = zKe, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = Dn, callback: n = () => { } } = t; return KB(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: l, mask: c, maskId: u, extra: f } = r; return new Promise((p, v) => { Promise.all([kj(n, i), c.iconName ? kj(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((w) => { let [b, m] = w; p([t, fz({ icons: { main: b, mask: m }, prefix: i, iconName: n, transform: s, symbol: l, maskId: u, title: o, titleId: a, extra: f, watchable: !0 })]); }).catch(v); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = WS(i); s.length > 0 && (n.style = s); let l; return lz(a) && (l = qf("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(l || o.icon), { children: r, attributes: n }; }; } }, VKe = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return HS({ type: "layer" }, () => { Em("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(nt.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, WKe = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return HS({ type: "counter", content: e }, () => (Em("beforeDOMElementCreation", { content: e, params: t }), xKe({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(nt.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, GKe = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = Os, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return HS({ type: "text", content: e }, () => (Em("beforeDOMElementCreation", { content: e, params: t }), UB({ content: e, transform: Ne(Ne({}, Os), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(nt.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (Vde) { const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / l, s = c.height / l; } return nt.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, UB({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const UKe = new RegExp('"', "ug"), JB = [1105920, 1112319], QB = Ne(Ne(Ne(Ne({}, { FontAwesome: { normal: "fas", 400: "fas" } }), pXe), NXe), OXe), Ej = Object.keys(QB).reduce((e, t) => (e[t.toLowerCase()] = QB[t], e), {}), HKe = Object.keys(Ej).reduce((e, t) => { const r = Ej[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function YKe(e) { const t = e.replace(UKe, ""), r = QXe(t, 0), n = r >= JB[0] && r <= JB[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: rpe(o ? t[0] : t), isSecondary: n || o }; } function BKe(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return (Ej[r] || {})[o] || HKe[r]; } function ZB(e, t) { const r = "".concat(_Xe).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const a = Ub(e.children).filter((f) => f.getAttribute(mj) === t)[0], i = Yf.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(TXe), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content"); if (a && !l) return e.removeChild(a), n(); if (l && u !== "none" && u !== "") { const f = i.getPropertyValue("content"); let p = BKe(s, c); const { value: v, isSecondary: w } = YKe(f), b = l[0].startsWith("FontAwesome"); let m = uz(p, v), x = m; if (b) { const O = oKe(v); O.iconName && O.prefix && (m = O.iconName, p = O.prefix); } if (m && !w && (!a || a.getAttribute(oz) !== p || a.getAttribute(az) !== x)) { e.setAttribute(r, x), a && e.removeChild(a); const O = RKe(), { extra: E } = O; E.attributes[mj] = t, kj(m, p).then((A) => { const h = fz(Ne(Ne({}, O), {}, { icons: { main: A, mask: fpe() }, prefix: p, iconName: x, extra: E, watchable: !0 })), G = Dn.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(G, e.firstChild) : e.appendChild(G), G.outerHTML = h.map((H) => Dx(H)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function qKe(e) { return Promise.all([ZB(e, "::before"), ZB(e, "::after")]); } function XKe(e) { return e.parentNode !== document.head && !~IXe.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(mj) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function eq(e) { if (Ac) return new Promise((t, r) => { const n = Ub(e.querySelectorAll("*")).filter(XKe).map(qKe), o = dz.begin("searchPseudoElements"); hpe(), Promise.all(n).then(() => { o(), Sj(), t(); }).catch(() => { o(), Sj(), r(); }); }); } var KKe = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = eq, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = Dn } = t; nt.searchPseudoElements && eq(r); }; } }; let tq = !1; var JKe = { mixout() { return { dom: { unwatch() { hpe(), tq = !0; } } }; }, hooks() { return { bootstrap() { qB(vj("mutationObserverCallbacks", {})); }, noAuto() { NKe(); }, watch(e) { const { observeMutationsRoot: t } = e; tq ? Sj() : qB(vj("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const rq = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var QKe = { mixout() { return { parse: { transform: (e) => rq(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = rq(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = { transform: "".concat(s, " ").concat(l, " ").concat(c) }, f = { transform: "translate(".concat(a / 2 * -1, " -256)") }, p = { outer: i, inner: u, path: f }; return { tag: "g", attributes: Ne({}, p.outer), children: [{ tag: "g", attributes: Ne({}, p.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: Ne(Ne({}, r.icon.attributes), p.path) }] }] }; }; } }; const rA = { x: 0, y: 0, width: "100%", height: "100%" }; function nq(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function ZKe(e) { return e.tag === "g" ? e.children : [e]; } var eJe = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? US(r.split(" ").map((o) => o.trim())) : fpe(); return n.prefix || (n.prefix = Bf()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: l, icon: c } = o, { width: u, icon: f } = a, p = YXe({ transform: s, containerWidth: u, iconWidth: l }), v = { tag: "rect", attributes: Ne(Ne({}, rA), {}, { fill: "white" }) }, w = c.children ? { children: c.children.map(nq) } : {}, b = { tag: "g", attributes: Ne({}, p.inner), children: [nq(Ne({ tag: c.tag, attributes: Ne(Ne({}, c.attributes), p.path) }, w))] }, m = { tag: "g", attributes: Ne({}, p.outer), children: [b] }, x = "mask-".concat(i || H0()), O = "clip-".concat(i || H0()), E = { tag: "mask", attributes: Ne(Ne({}, rA), {}, { id: x, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [v, m] }, A = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: O }, children: ZKe(f) }, E] }; return r.push(A, { tag: "rect", attributes: Ne({ fill: "currentColor", "clip-path": "url(#".concat(O, ")"), mask: "url(#".concat(x, ")") }, rA) }), { children: r, attributes: n }; }; } }, tJe = { provides(e) { let t = !1; Yf.matchMedia && (t = Yf.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: Ne(Ne({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = Ne(Ne({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: Ne(Ne({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: Ne(Ne({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: Ne(Ne({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: Ne(Ne({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: Ne(Ne({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: Ne(Ne({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: Ne(Ne({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, rJe = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, nJe = [XXe, LKe, VKe, WKe, GKe, KKe, JKe, QKe, eJe, tJe, rJe]; pKe(nJe, { mixoutsTo: Ea }); Ea.noAuto; Ea.config; Ea.library; Ea.dom; const Aj = Ea.parse; Ea.findIconDefinition; Ea.toHtml; const oJe = Ea.icon; Ea.layer; Ea.text; Ea.counter; var a2 = { exports: {} }, nA = { exports: {} }, $r = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var oq; function aJe() { if (oq) return $r; oq = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(h) { if (typeof h == "object" && h !== null) { var G = h.$$typeof; switch (G) { case t: switch (h = h.type, h) { case l: case c: case n: case a: case o: case f: return h; default: switch (h = h && h.$$typeof, h) { case s: case u: case w: case v: case i: return h; default: return G; } } case r: return G; } } } function A(h) { return E(h) === c; } return $r.AsyncMode = l, $r.ConcurrentMode = c, $r.ContextConsumer = s, $r.ContextProvider = i, $r.Element = t, $r.ForwardRef = u, $r.Fragment = n, $r.Lazy = w, $r.Memo = v, $r.Portal = r, $r.Profiler = a, $r.StrictMode = o, $r.Suspense = f, $r.isAsyncMode = function(h) { return A(h) || E(h) === l; }, $r.isConcurrentMode = A, $r.isContextConsumer = function(h) { return E(h) === s; }, $r.isContextProvider = function(h) { return E(h) === i; }, $r.isElement = function(h) { return typeof h == "object" && h !== null && h.$$typeof === t; }, $r.isForwardRef = function(h) { return E(h) === u; }, $r.isFragment = function(h) { return E(h) === n; }, $r.isLazy = function(h) { return E(h) === w; }, $r.isMemo = function(h) { return E(h) === v; }, $r.isPortal = function(h) { return E(h) === r; }, $r.isProfiler = function(h) { return E(h) === a; }, $r.isStrictMode = function(h) { return E(h) === o; }, $r.isSuspense = function(h) { return E(h) === f; }, $r.isValidElementType = function(h) { return typeof h == "string" || typeof h == "function" || h === n || h === c || h === a || h === o || h === f || h === p || typeof h == "object" && h !== null && (h.$$typeof === w || h.$$typeof === v || h.$$typeof === i || h.$$typeof === s || h.$$typeof === u || h.$$typeof === m || h.$$typeof === x || h.$$typeof === O || h.$$typeof === b); }, $r.typeOf = E, $r; } var Hr = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var aq; function iJe() { return aq || (aq = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === f || k === p || typeof k == "object" && k !== null && (k.$$typeof === w || k.$$typeof === v || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === m || k.$$typeof === x || k.$$typeof === O || k.$$typeof === b); } function A(k) { if (typeof k == "object" && k !== null) { var ne = k.$$typeof; switch (ne) { case t: var pe = k.type; switch (pe) { case l: case c: case n: case a: case o: case f: return pe; default: var He = pe && pe.$$typeof; switch (He) { case s: case u: case w: case v: case i: return He; default: return ne; } } case r: return ne; } } } var h = l, G = c, H = s, Z = i, J = t, X = u, ee = n, I = w, te = v, U = r, z = a, F = o, D = f, Y = !1; function q(k) { return Y || (Y = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), g(k) || A(k) === l; } function g(k) { return A(k) === c; } function d(k) { return A(k) === s; } function S(k) { return A(k) === i; } function C(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function P(k) { return A(k) === u; } function j(k) { return A(k) === n; } function _(k) { return A(k) === w; } function N(k) { return A(k) === v; } function M(k) { return A(k) === r; } function R(k) { return A(k) === a; } function T(k) { return A(k) === o; } function Q(k) { return A(k) === f; } Hr.AsyncMode = h, Hr.ConcurrentMode = G, Hr.ContextConsumer = H, Hr.ContextProvider = Z, Hr.Element = J, Hr.ForwardRef = X, Hr.Fragment = ee, Hr.Lazy = I, Hr.Memo = te, Hr.Portal = U, Hr.Profiler = z, Hr.StrictMode = F, Hr.Suspense = D, Hr.isAsyncMode = q, Hr.isConcurrentMode = g, Hr.isContextConsumer = d, Hr.isContextProvider = S, Hr.isElement = C, Hr.isForwardRef = P, Hr.isFragment = j, Hr.isLazy = _, Hr.isMemo = N, Hr.isPortal = M, Hr.isProfiler = R, Hr.isStrictMode = T, Hr.isSuspense = Q, Hr.isValidElementType = E, Hr.typeOf = A; }()), Hr; } var iq; function ype() { return iq || (iq = 1, process.env.NODE_ENV === "production" ? nA.exports = aJe() : nA.exports = iJe()), nA.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var oA, sq; function sJe() { if (sq) return oA; sq = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var l = Object.getOwnPropertyNames(i).map(function(u) { return i[u]; }); if (l.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(u) { c[u] = u; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return oA = o() ? Object.assign : function(a, i) { for (var s, l = n(a), c, u = 1; u < arguments.length; u++) { s = Object(arguments[u]); for (var f in s) t.call(s, f) && (l[f] = s[f]); if (e) { c = e(s); for (var p = 0; p < c.length; p++) r.call(s, c[p]) && (l[c[p]] = s[c[p]]); } } return l; }, oA; } var aA, lq; function mz() { if (lq) return aA; lq = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return aA = e, aA; } var cq, uq; function vpe() { return uq || (uq = 1, cq = Function.call.bind(Object.prototype.hasOwnProperty)), cq; } var iA, fq; function lJe() { if (fq) return iA; fq = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ mz(), r = {}, n = /* @__PURE__ */ vpe(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, l, c) { if (process.env.NODE_ENV !== "production") { for (var u in a) if (n(a, u)) { var f; try { if (typeof a[u] != "function") { var p = Error( (l || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw p.name = "Invariant Violation", p; } f = a[u](i, u, l, s, null, t); } catch (w) { f = w; } if (f && !(f instanceof Error) && e( (l || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), f instanceof Error && !(f.message in r)) { r[f.message] = !0; var v = c ? c() : ""; e( "Failed " + s + " type: " + f.message + (v ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, iA = o, iA; } var sA, dq; function cJe() { if (dq) return sA; dq = 1; var e = ype(), t = sJe(), r = /* @__PURE__ */ mz(), n = /* @__PURE__ */ vpe(), o = /* @__PURE__ */ lJe(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var l = "Warning: " + s; typeof console < "u" && console.error(l); try { throw new Error(l); } catch { } }); function i() { return null; } return sA = function(s, l) { var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator"; function f(g) { var d = g && (c && g[c] || g[u]); if (typeof d == "function") return d; } var p = "<>", v = { array: x("array"), bigint: x("bigint"), bool: x("boolean"), func: x("function"), number: x("number"), object: x("object"), string: x("string"), symbol: x("symbol"), any: O(), arrayOf: E, element: A(), elementType: h(), instanceOf: G, node: X(), objectOf: Z, oneOf: H, oneOfType: J, shape: I, exact: te }; function w(g, d) { return g === d ? g !== 0 || 1 / g === 1 / d : g !== g && d !== d; } function b(g, d) { this.message = g, this.data = d && typeof d == "object" ? d : {}, this.stack = ""; } b.prototype = Error.prototype; function m(g) { if (process.env.NODE_ENV !== "production") var d = {}, S = 0; function C(j, _, N, M, R, T, Q) { if (M = M || p, T = T || N, Q !== r) { if (l) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var ne = M + ":" + N; !d[ne] && // Avoid spamming the console because they are often not actionable except for lib authors S < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + M + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), d[ne] = !0, S++); } } return _[N] == null ? j ? _[N] === null ? new b("The " + R + " `" + T + "` is marked as required " + ("in `" + M + "`, but its value is `null`.")) : new b("The " + R + " `" + T + "` is marked as required in " + ("`" + M + "`, but its value is `undefined`.")) : null : g(_, N, M, R, T); } var P = C.bind(null, !1); return P.isRequired = C.bind(null, !0), P; } function x(g) { function d(S, C, P, j, _, N) { var M = S[C], R = F(M); if (R !== g) { var T = D(M); return new b( "Invalid " + j + " `" + _ + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."), { expectedType: g } ); } return null; } return m(d); } function O() { return m(i); } function E(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside arrayOf."); var N = S[C]; if (!Array.isArray(N)) { var M = F(N); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an array.")); } for (var R = 0; R < N.length; R++) { var T = g(N, R, P, j, _ + "[" + R + "]", r); if (T instanceof Error) return T; } return null; } return m(d); } function A() { function g(d, S, C, P, j) { var _ = d[S]; if (!s(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement.")); } return null; } return m(g); } function h() { function g(d, S, C, P, j) { var _ = d[S]; if (!e.isValidElementType(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement type.")); } return null; } return m(g); } function G(g) { function d(S, C, P, j, _) { if (!(S[C] instanceof g)) { var N = g.name || p, M = q(S[C]); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected ") + ("instance of `" + N + "`.")); } return null; } return m(d); } function H(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function d(S, C, P, j, _) { for (var N = S[C], M = 0; M < g.length; M++) if (w(N, g[M])) return null; var R = JSON.stringify(g, function(T, Q) { var k = D(Q); return k === "symbol" ? String(Q) : Q; }); return new b("Invalid " + j + " `" + _ + "` of value `" + String(N) + "` " + ("supplied to `" + P + "`, expected one of " + R + ".")); } return m(d); } function Z(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside objectOf."); var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an object.")); for (var R in N) if (n(N, R)) { var T = g(N, R, P, j, _ + "." + R, r); if (T instanceof Error) return T; } return null; } return m(d); } function J(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var d = 0; d < g.length; d++) { var S = g[d]; if (typeof S != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(S) + " at index " + d + "." ), i; } function C(P, j, _, N, M) { for (var R = [], T = 0; T < g.length; T++) { var Q = g[T], k = Q(P, j, _, N, M, r); if (k == null) return null; k.data && n(k.data, "expectedType") && R.push(k.data.expectedType); } var ne = R.length > 0 ? ", expected one of type [" + R.join(", ") + "]" : ""; return new b("Invalid " + N + " `" + M + "` supplied to " + ("`" + _ + "`" + ne + ".")); } return m(C); } function X() { function g(d, S, C, P, j) { return U(d[S]) ? null : new b("Invalid " + P + " `" + j + "` supplied to " + ("`" + C + "`, expected a ReactNode.")); } return m(g); } function ee(g, d, S, C, P) { return new b( (g || "React class") + ": " + d + " type `" + S + "." + C + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`." ); } function I(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); for (var R in g) { var T = g[R]; if (typeof T != "function") return ee(P, j, _, R, D(T)); var Q = T(N, R, P, j, _ + "." + R, r); if (Q) return Q; } return null; } return m(d); } function te(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); var R = t({}, S[C], g); for (var T in R) { var Q = g[T]; if (n(g, T) && typeof Q != "function") return ee(P, j, _, T, D(Q)); if (!Q) return new b( "Invalid " + j + " `" + _ + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(S[C], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(g), null, " ") ); var k = Q(N, T, P, j, _ + "." + T, r); if (k) return k; } return null; } return m(d); } function U(g) { switch (typeof g) { case "number": case "string": case "undefined": return !0; case "boolean": return !g; case "object": if (Array.isArray(g)) return g.every(U); if (g === null || s(g)) return !0; var d = f(g); if (d) { var S = d.call(g), C; if (d !== g.entries) { for (; !(C = S.next()).done; ) if (!U(C.value)) return !1; } else for (; !(C = S.next()).done; ) { var P = C.value; if (P && !U(P[1])) return !1; } } else return !1; return !0; default: return !1; } } function z(g, d) { return g === "symbol" ? !0 : d ? d["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && d instanceof Symbol : !1; } function F(g) { var d = typeof g; return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : z(d, g) ? "symbol" : d; } function D(g) { if (typeof g > "u" || g === null) return "" + g; var d = F(g); if (d === "object") { if (g instanceof Date) return "date"; if (g instanceof RegExp) return "regexp"; } return d; } function Y(g) { var d = D(g); switch (d) { case "array": case "object": return "an " + d; case "boolean": case "date": case "regexp": return "a " + d; default: return d; } } function q(g) { return !g.constructor || !g.constructor.name ? p : g.constructor.name; } return v.checkPropTypes = o, v.resetWarningCache = o.resetWarningCache, v.PropTypes = v, v; }, sA; } var lA, pq; function uJe() { if (pq) return lA; pq = 1; var e = /* @__PURE__ */ mz(); function t() { } function r() { } return r.resetWarningCache = t, lA = function() { function n(i, s, l, c, u, f) { if (f !== e) { var p = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw p.name = "Invariant Violation", p; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, lA; } var mq; function fJe() { if (mq) return a2.exports; if (mq = 1, process.env.NODE_ENV !== "production") { var e = ype(), t = !0; a2.exports = /* @__PURE__ */ cJe()(e.isElement, t); } else a2.exports = /* @__PURE__ */ uJe()(); return a2.exports; } var dJe = /* @__PURE__ */ fJe(); const ar = /* @__PURE__ */ Ede(dJe); function gq(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Xi(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? gq(Object(r), !0).forEach(function(n) { Fg(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : gq(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function F5(e) { "@babel/helpers - typeof"; return F5 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, F5(e); } function Fg(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function pJe(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function mJe(e, t) { if (e == null) return {}; var r = pJe(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function $j(e) { return gJe(e) || hJe(e) || bJe(e) || yJe(); } function gJe(e) { if (Array.isArray(e)) return Pj(e); } function hJe(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function bJe(e, t) { if (e) { if (typeof e == "string") return Pj(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return Pj(e, t); } } function Pj(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function yJe() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function vJe(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, p = e.fixedWidth, v = e.inverse, w = e.border, b = e.listItem, m = e.flip, x = e.size, O = e.rotation, E = e.pull, A = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": l, "fa-spin-reverse": u, "fa-spin-pulse": c, "fa-pulse": f, "fa-fw": p, "fa-inverse": v, "fa-border": w, "fa-li": b, "fa-flip": m === !0, "fa-flip-horizontal": m === "horizontal" || m === "both", "fa-flip-vertical": m === "vertical" || m === "both" }, Fg(t, "fa-".concat(x), typeof x < "u" && x !== null), Fg(t, "fa-rotate-".concat(O), typeof O < "u" && O !== null && O !== 0), Fg(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), Fg(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(A).map(function(h) { return A[h] ? h : null; }).filter(function(h) { return h; }); } function xJe(e) { return e = e - 0, e === e; } function xpe(e) { return xJe(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var wJe = ["style"]; function kJe(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function OJe(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = xpe(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[kJe(o)] = a : t[o] = a, t; }, {}); } function wpe(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(l) { return wpe(e, l); }), o = Object.keys(t.attributes || {}).reduce(function(l, c) { var u = t.attributes[c]; switch (c) { case "class": l.attrs.className = u, delete t.attributes.class; break; case "style": l.attrs.style = OJe(u); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[xpe(c)] = u; } return l; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = mJe(r, wJe); return o.attrs.style = Xi(Xi({}, o.attrs.style), i), e.apply(void 0, [t.tag, Xi(Xi({}, o.attrs), s)].concat($j(n))); } var kpe = !1; try { kpe = process.env.NODE_ENV === "production"; } catch { } function SJe() { if (!kpe && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function hq(e) { if (e && F5(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (Aj.icon) return Aj.icon(e); if (e === null) return null; if (e && F5(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function cA(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Fg({}, e, t) : {}; } var bq = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, gz = /* @__PURE__ */ de.forwardRef(function(e, t) { var r = Xi(Xi({}, bq), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = hq(n), f = cA("classes", [].concat($j(vJe(r)), $j((i || "").split(" ")))), p = cA("transform", typeof r.transform == "string" ? Aj.transform(r.transform) : r.transform), v = cA("mask", hq(o)), w = oJe(u, Xi(Xi(Xi(Xi({}, f), p), v), {}, { symbol: a, title: s, titleId: l, maskId: c })); if (!w) return SJe("Could not find icon", u), null; var b = w.abstract, m = { ref: t }; return Object.keys(r).forEach(function(x) { bq.hasOwnProperty(x) || (m[x] = r[x]); }), EJe(b[0], m); }); gz.displayName = "FontAwesomeIcon"; gz.propTypes = { beat: ar.bool, border: ar.bool, beatFade: ar.bool, bounce: ar.bool, className: ar.string, fade: ar.bool, flash: ar.bool, mask: ar.oneOfType([ar.object, ar.array, ar.string]), maskId: ar.string, fixedWidth: ar.bool, inverse: ar.bool, flip: ar.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: ar.oneOfType([ar.object, ar.array, ar.string]), listItem: ar.bool, pull: ar.oneOf(["right", "left"]), pulse: ar.bool, rotation: ar.oneOf([0, 90, 180, 270]), shake: ar.bool, size: ar.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: ar.bool, spinPulse: ar.bool, spinReverse: ar.bool, symbol: ar.oneOfType([ar.bool, ar.string]), title: ar.string, titleId: ar.string, transform: ar.oneOfType([ar.string, ar.object]), swapOpacity: ar.bool }; var EJe = wpe.bind(null, de.createElement); const hz = "-", AJe = (e) => { const t = PJe(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(hz); return a[0] === "" && a.length !== 1 && a.shift(), Ope(a, t) || $Je(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, Ope = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? Ope(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(hz); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, yq = /^\[(.+)\]$/, $Je = (e) => { if (yq.test(e)) { const t = yq.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, PJe = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return NJe(Object.entries(e.classGroups), r).forEach(([o, a]) => { Cj(a, n, o, t); }), n; }, Cj = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : vq(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (CJe(o)) { Cj(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { Cj(i, vq(t, a), r, n); }); }); }, vq = (e, t) => { let r = e; return t.split(hz).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, CJe = (e) => e.isThemeGetter, NJe = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, _Je = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, Spe = "!", jJe = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(Spe), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, IJe = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, RJe = (e) => ({ cache: _Je(e.cacheSize), parseClassName: jJe(e), ...AJe(e) }), MJe = /\s+/, TJe = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(MJe); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = IJe(u).join(":"), x = f ? m + Spe : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function zJe() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = Epe(t)) && (n && (n += " "), n += r); return n; } const Epe = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = Epe(e[n])) && (r && (r += " "), r += t); return r; }; function DJe(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = RJe(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = TJe(l, r); return o(l, u), u; } return function() { return a(zJe.apply(null, arguments)); }; } const bn = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, Ape = /^\[(?:([a-z-]+):)?(.+)\]$/i, FJe = /^\d+\/\d+$/, LJe = /* @__PURE__ */ new Set(["px", "full", "screen"]), VJe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, WJe = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, GJe = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, UJe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, HJe = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, ul = (e) => Nh(e) || LJe.has(e) || FJe.test(e), pu = (e) => Hb(e, "length", ZJe), Nh = (e) => !!e && !Number.isNaN(Number(e)), uA = (e) => Hb(e, "number", Nh), qy = (e) => !!e && Number.isInteger(Number(e)), YJe = (e) => e.endsWith("%") && Nh(e.slice(0, -1)), _t = (e) => Ape.test(e), mu = (e) => VJe.test(e), BJe = /* @__PURE__ */ new Set(["length", "size", "percentage"]), qJe = (e) => Hb(e, BJe, $pe), XJe = (e) => Hb(e, "position", $pe), KJe = /* @__PURE__ */ new Set(["image", "url"]), JJe = (e) => Hb(e, KJe, tQe), QJe = (e) => Hb(e, "", eQe), Xy = () => !0, Hb = (e, t, r) => { const n = Ape.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, ZJe = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. WJe.test(e) && !GJe.test(e) ), $pe = () => !1, eQe = (e) => UJe.test(e), tQe = (e) => HJe.test(e), rQe = () => { const e = bn("colors"), t = bn("spacing"), r = bn("blur"), n = bn("brightness"), o = bn("borderColor"), a = bn("borderRadius"), i = bn("borderSpacing"), s = bn("borderWidth"), l = bn("contrast"), c = bn("grayscale"), u = bn("hueRotate"), f = bn("invert"), p = bn("gap"), v = bn("gradientColorStops"), w = bn("gradientColorStopPositions"), b = bn("inset"), m = bn("margin"), x = bn("opacity"), O = bn("padding"), E = bn("saturate"), A = bn("scale"), h = bn("sepia"), G = bn("skew"), H = bn("space"), Z = bn("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", _t, t], I = () => [_t, t], te = () => ["", ul, pu], U = () => ["auto", Nh, _t], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", _t], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [Nh, _t]; return { cacheSize: 500, separator: ":", theme: { colors: [Xy], spacing: [ul, pu], blur: ["none", "", mu, _t], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", mu, _t], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [YJe, pu], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", _t] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [mu] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), _t] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", qy, _t] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", _t] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", qy, _t] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [Xy] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", qy, _t] }, _t] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [Xy] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [qy, _t] }, _t] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", _t] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", _t] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", _t, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [_t, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [_t, t, "none", "full", "min", "max", "fit", "prose", { screen: [mu] }, mu] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [_t, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [_t, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [_t, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [_t, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", mu, pu] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", uA] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [Xy] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", _t] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", Nh, uA] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", ul, _t] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", _t] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", _t] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", ul, pu] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", ul, _t] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", _t] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", _t] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), XJe] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", qJe] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, JJe] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [ul, _t] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [ul, pu] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [ul, pu] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", mu, QJe] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [Xy] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", mu, _t] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", _t] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", _t] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", _t] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [qy, _t] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", _t] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", _t] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", _t] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [ul, pu, uA] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, xq = /* @__PURE__ */ DJe(rQe); var nQe = Object.defineProperty, oQe = (e, t, r) => t in e ? nQe(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Kn = (e, t, r) => oQe(e, typeof t != "symbol" ? t + "" : t, r); let Ppe = class { constructor(e) { Kn(this, "kind", "model"), Kn(this, "id"), Kn(this, "tauriId"), Kn(this, "fullName"), Kn(this, "category"), Kn(this, "creator"), Kn(this, "selectorName"), Kn(this, "selectorDescription"), Kn(this, "selectorBadges"), Kn(this, "tags"), this.id = e.id, this.tauriId = e.tauriId, this.fullName = e.fullName, this.category = e.category, this.creator = e.creator, this.selectorName = e.selectorName, this.selectorDescription = e.selectorDescription, this.selectorBadges = e.selectorBadges, this.tags = e.tags ?? []; } toLegacyBadges() { return this.selectorBadges.map((e) => ({ label: e })); } // TODO: This is a method to support migration. Kill it after we no longer need it. toLegacyModelConfig() { return { id: this.id, label: this.selectorName, description: this.selectorDescription, badges: this.toLegacyBadges(), category: this.category, info: { name: this.fullName, tauri_id: this.tauriId, creator: this.creator }, capabilities: { maxGenerationCount: 9, // NB: Sentinel value to detect continued use defaultGenerationCount: 9 // NB: Sentinel value to detect continued use }, tags: [] }; } }, zi = class extends Ppe { constructor(t) { if (t.maxGenerationCount < 1) throw new Error("maxGenerationCount must be at least 1"); if (t.defaultGenerationCount < 1) throw new Error("defaultGenerationCount must be at least 1"); if (t.defaultGenerationCount > t.maxGenerationCount) throw new Error( "defaultGenerationCount must be less than or equal to maxGenerationCount" ); super(t), Kn(this, "kind", "image_model"), Kn(this, "maxGenerationCount"), Kn(this, "defaultGenerationCount"), Kn(this, "canEditImages"), Kn(this, "usesInpaintingMask"), Kn(this, "canUseImagePrompt"), Kn(this, "maxImagePromptCount"), this.maxGenerationCount = t.maxGenerationCount, this.defaultGenerationCount = t.defaultGenerationCount, this.canEditImages = t.canEditImages ?? !1, this.usesInpaintingMask = t.usesInpaintingMask ?? !1, this.canUseImagePrompt = t.canUseImagePrompt ?? !1, this.maxImagePromptCount = Math.max(0, t.maxImagePromptCount ?? 1); } }, Ky = class extends Ppe { constructor(e) { super(e), Kn(this, "kind", "video_model"), Kn(this, "startFrame"), Kn(this, "endFrame"), this.startFrame = e.startFrame, this.endFrame = e.endFrame; } }; var mt = /* @__PURE__ */ ((e) => (e.BlackForestLabs = "BlackForestLabs", e.Bytedance = "Bytedance", e.Google = "Google", e.Hailuo = "Hailuo", e.Kling = "Kling", e.Midjourney = "Midjourney", e.OpenAi = "OpenAi", e.Runway = "Runway", e.Stability = "Stability", e.Tencent = "Tencent", e.Recraft = "Recraft", e.Krea = "Krea", e.Fal = "Fal", e.Replicate = "Replicate", e.TensorArt = "TensorArt", e.OpenArt = "OpenArt", e.Higgsfield = "Higgsfield", e.Alibaba = "Alibaba", e.Vidu = "Vidu", e.ArtCraft = "ArtCraft", e))(mt || {}); function aQe(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var fA = { exports: {} }, qt = {}; /** * @license React * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var wq; function iQe() { if (wq) return qt; wq = 1; var e = Symbol.for("react.element"), t = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), n = Symbol.for("react.strict_mode"), o = Symbol.for("react.profiler"), a = Symbol.for("react.provider"), i = Symbol.for("react.context"), s = Symbol.for("react.forward_ref"), l = Symbol.for("react.suspense"), c = Symbol.for("react.memo"), u = Symbol.for("react.lazy"), f = Symbol.iterator; function p(d) { return d === null || typeof d != "object" ? null : (d = f && d[f] || d["@@iterator"], typeof d == "function" ? d : null); } var v = { isMounted: function() { return !1; }, enqueueForceUpdate: function() { }, enqueueReplaceState: function() { }, enqueueSetState: function() { } }, w = Object.assign, b = {}; function m(d, S, C) { this.props = d, this.context = S, this.refs = b, this.updater = C || v; } m.prototype.isReactComponent = {}, m.prototype.setState = function(d, S) { if (typeof d != "object" && typeof d != "function" && d != null) throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables."); this.updater.enqueueSetState(this, d, S, "setState"); }, m.prototype.forceUpdate = function(d) { this.updater.enqueueForceUpdate(this, d, "forceUpdate"); }; function x() { } x.prototype = m.prototype; function O(d, S, C) { this.props = d, this.context = S, this.refs = b, this.updater = C || v; } var E = O.prototype = new x(); E.constructor = O, w(E, m.prototype), E.isPureReactComponent = !0; var A = Array.isArray, h = Object.prototype.hasOwnProperty, G = { current: null }, H = { key: !0, ref: !0, __self: !0, __source: !0 }; function Z(d, S, C) { var P, j = {}, _ = null, N = null; if (S != null) for (P in S.ref !== void 0 && (N = S.ref), S.key !== void 0 && (_ = "" + S.key), S) h.call(S, P) && !H.hasOwnProperty(P) && (j[P] = S[P]); var M = arguments.length - 2; if (M === 1) j.children = C; else if (1 < M) { for (var R = Array(M), T = 0; T < M; T++) R[T] = arguments[T + 2]; j.children = R; } if (d && d.defaultProps) for (P in M = d.defaultProps, M) j[P] === void 0 && (j[P] = M[P]); return { $$typeof: e, type: d, key: _, ref: N, props: j, _owner: G.current }; } function J(d, S) { return { $$typeof: e, type: d.type, key: S, ref: d.ref, props: d.props, _owner: d._owner }; } function X(d) { return typeof d == "object" && d !== null && d.$$typeof === e; } function ee(d) { var S = { "=": "=0", ":": "=2" }; return "$" + d.replace(/[=:]/g, function(C) { return S[C]; }); } var I = /\/+/g; function te(d, S) { return typeof d == "object" && d !== null && d.key != null ? ee("" + d.key) : S.toString(36); } function U(d, S, C, P, j) { var _ = typeof d; (_ === "undefined" || _ === "boolean") && (d = null); var N = !1; if (d === null) N = !0; else switch (_) { case "string": case "number": N = !0; break; case "object": switch (d.$$typeof) { case e: case t: N = !0; } } if (N) return N = d, j = j(N), d = P === "" ? "." + te(N, 0) : P, A(j) ? (C = "", d != null && (C = d.replace(I, "$&/") + "/"), U(j, S, C, "", function(T) { return T; })) : j != null && (X(j) && (j = J(j, C + (!j.key || N && N.key === j.key ? "" : ("" + j.key).replace(I, "$&/") + "/") + d)), S.push(j)), 1; if (N = 0, P = P === "" ? "." : P + ":", A(d)) for (var M = 0; M < d.length; M++) { _ = d[M]; var R = P + te(_, M); N += U(_, S, C, R, j); } else if (R = p(d), typeof R == "function") for (d = R.call(d), M = 0; !(_ = d.next()).done; ) _ = _.value, R = P + te(_, M++), N += U(_, S, C, R, j); else if (_ === "object") throw S = String(d), Error("Objects are not valid as a React child (found: " + (S === "[object Object]" ? "object with keys {" + Object.keys(d).join(", ") + "}" : S) + "). If you meant to render a collection of children, use an array instead."); return N; } function z(d, S, C) { if (d == null) return d; var P = [], j = 0; return U(d, P, "", "", function(_) { return S.call(C, _, j++); }), P; } function F(d) { if (d._status === -1) { var S = d._result; S = S(), S.then(function(C) { (d._status === 0 || d._status === -1) && (d._status = 1, d._result = C); }, function(C) { (d._status === 0 || d._status === -1) && (d._status = 2, d._result = C); }), d._status === -1 && (d._status = 0, d._result = S); } if (d._status === 1) return d._result.default; throw d._result; } var D = { current: null }, Y = { transition: null }, q = { ReactCurrentDispatcher: D, ReactCurrentBatchConfig: Y, ReactCurrentOwner: G }; function g() { throw Error("act(...) is not supported in production builds of React."); } return qt.Children = { map: z, forEach: function(d, S, C) { z(d, function() { S.apply(this, arguments); }, C); }, count: function(d) { var S = 0; return z(d, function() { S++; }), S; }, toArray: function(d) { return z(d, function(S) { return S; }) || []; }, only: function(d) { if (!X(d)) throw Error("React.Children.only expected to receive a single React element child."); return d; } }, qt.Component = m, qt.Fragment = r, qt.Profiler = o, qt.PureComponent = O, qt.StrictMode = n, qt.Suspense = l, qt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = q, qt.act = g, qt.cloneElement = function(d, S, C) { if (d == null) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + d + "."); var P = w({}, d.props), j = d.key, _ = d.ref, N = d._owner; if (S != null) { if (S.ref !== void 0 && (_ = S.ref, N = G.current), S.key !== void 0 && (j = "" + S.key), d.type && d.type.defaultProps) var M = d.type.defaultProps; for (R in S) h.call(S, R) && !H.hasOwnProperty(R) && (P[R] = S[R] === void 0 && M !== void 0 ? M[R] : S[R]); } var R = arguments.length - 2; if (R === 1) P.children = C; else if (1 < R) { M = Array(R); for (var T = 0; T < R; T++) M[T] = arguments[T + 2]; P.children = M; } return { $$typeof: e, type: d.type, key: j, ref: _, props: P, _owner: N }; }, qt.createContext = function(d) { return d = { $$typeof: i, _currentValue: d, _currentValue2: d, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, d.Provider = { $$typeof: a, _context: d }, d.Consumer = d; }, qt.createElement = Z, qt.createFactory = function(d) { var S = Z.bind(null, d); return S.type = d, S; }, qt.createRef = function() { return { current: null }; }, qt.forwardRef = function(d) { return { $$typeof: s, render: d }; }, qt.isValidElement = X, qt.lazy = function(d) { return { $$typeof: u, _payload: { _status: -1, _result: d }, _init: F }; }, qt.memo = function(d, S) { return { $$typeof: c, type: d, compare: S === void 0 ? null : S }; }, qt.startTransition = function(d) { var S = Y.transition; Y.transition = {}; try { d(); } finally { Y.transition = S; } }, qt.unstable_act = g, qt.useCallback = function(d, S) { return D.current.useCallback(d, S); }, qt.useContext = function(d) { return D.current.useContext(d); }, qt.useDebugValue = function() { }, qt.useDeferredValue = function(d) { return D.current.useDeferredValue(d); }, qt.useEffect = function(d, S) { return D.current.useEffect(d, S); }, qt.useId = function() { return D.current.useId(); }, qt.useImperativeHandle = function(d, S, C) { return D.current.useImperativeHandle(d, S, C); }, qt.useInsertionEffect = function(d, S) { return D.current.useInsertionEffect(d, S); }, qt.useLayoutEffect = function(d, S) { return D.current.useLayoutEffect(d, S); }, qt.useMemo = function(d, S) { return D.current.useMemo(d, S); }, qt.useReducer = function(d, S, C) { return D.current.useReducer(d, S, C); }, qt.useRef = function(d) { return D.current.useRef(d); }, qt.useState = function(d) { return D.current.useState(d); }, qt.useSyncExternalStore = function(d, S, C) { return D.current.useSyncExternalStore(d, S, C); }, qt.useTransition = function() { return D.current.useTransition(); }, qt.version = "18.3.1", qt; } var wk = { exports: {} }; /** * @license React * react.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ wk.exports; var kq; function sQe() { return kq || (kq = 1, function(e, t) { process.env.NODE_ENV !== "production" && function() { typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); var r = "18.3.1", n = Symbol.for("react.element"), o = Symbol.for("react.portal"), a = Symbol.for("react.fragment"), i = Symbol.for("react.strict_mode"), s = Symbol.for("react.profiler"), l = Symbol.for("react.provider"), c = Symbol.for("react.context"), u = Symbol.for("react.forward_ref"), f = Symbol.for("react.suspense"), p = Symbol.for("react.suspense_list"), v = Symbol.for("react.memo"), w = Symbol.for("react.lazy"), b = Symbol.for("react.offscreen"), m = Symbol.iterator, x = "@@iterator"; function O(y) { if (y === null || typeof y != "object") return null; var $ = m && y[m] || y[x]; return typeof $ == "function" ? $ : null; } var E = { /** * @internal * @type {ReactComponent} */ current: null }, A = { transition: null }, h = { current: null, // Used to reproduce behavior of `batchedUpdates` in legacy mode. isBatchingLegacy: !1, didScheduleLegacyUpdate: !1 }, G = { /** * @internal * @type {ReactComponent} */ current: null }, H = {}, Z = null; function J(y) { Z = y; } H.setExtraStackFrame = function(y) { Z = y; }, H.getCurrentStack = null, H.getStackAddendum = function() { var y = ""; Z && (y += Z); var $ = H.getCurrentStack; return $ && (y += $() || ""), y; }; var X = !1, ee = !1, I = !1, te = !1, U = !1, z = { ReactCurrentDispatcher: E, ReactCurrentBatchConfig: A, ReactCurrentOwner: G }; z.ReactDebugCurrentFrame = H, z.ReactCurrentActQueue = h; function F(y) { { for (var $ = arguments.length, L = new Array($ > 1 ? $ - 1 : 0), W = 1; W < $; W++) L[W - 1] = arguments[W]; Y("warn", y, L); } } function D(y) { { for (var $ = arguments.length, L = new Array($ > 1 ? $ - 1 : 0), W = 1; W < $; W++) L[W - 1] = arguments[W]; Y("error", y, L); } } function Y(y, $, L) { { var W = z.ReactDebugCurrentFrame, K = W.getStackAddendum(); K !== "" && ($ += "%s", L = L.concat([K])); var oe = L.map(function(re) { return String(re); }); oe.unshift("Warning: " + $), Function.prototype.apply.call(console[y], console, oe); } } var q = {}; function g(y, $) { { var L = y.constructor, W = L && (L.displayName || L.name) || "ReactClass", K = W + "." + $; if (q[K]) return; D("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", $, W), q[K] = !0; } } var d = { /** * Checks whether or not this composite component is mounted. * @param {ReactClass} publicInstance The instance we want to test. * @return {boolean} True if mounted, false otherwise. * @protected * @final */ isMounted: function(y) { return !1; }, /** * Forces an update. This should only be invoked when it is known with * certainty that we are **not** in a DOM transaction. * * You may want to call this when you know that some deeper aspect of the * component's state has changed but `setState` was not called. * * This will not invoke `shouldComponentUpdate`, but it will invoke * `componentWillUpdate` and `componentDidUpdate`. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {?function} callback Called after component is updated. * @param {?string} callerName name of the calling function in the public API. * @internal */ enqueueForceUpdate: function(y, $, L) { g(y, "forceUpdate"); }, /** * Replaces all of the state. Always use this or `setState` to mutate state. * You should treat `this.state` as immutable. * * There is no guarantee that `this.state` will be immediately updated, so * accessing `this.state` after calling this method may return the old value. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} completeState Next state. * @param {?function} callback Called after component is updated. * @param {?string} callerName name of the calling function in the public API. * @internal */ enqueueReplaceState: function(y, $, L, W) { g(y, "replaceState"); }, /** * Sets a subset of the state. This only exists because _pendingState is * internal. This provides a merging strategy that is not available to deep * properties which is confusing. TODO: Expose pendingState or don't use it * during the merge. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} partialState Next partial state to be merged with state. * @param {?function} callback Called after component is updated. * @param {?string} Name of the calling function in the public API. * @internal */ enqueueSetState: function(y, $, L, W) { g(y, "setState"); } }, S = Object.assign, C = {}; Object.freeze(C); function P(y, $, L) { this.props = y, this.context = $, this.refs = C, this.updater = L || d; } P.prototype.isReactComponent = {}, P.prototype.setState = function(y, $) { if (typeof y != "object" && typeof y != "function" && y != null) throw new Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables."); this.updater.enqueueSetState(this, y, $, "setState"); }, P.prototype.forceUpdate = function(y) { this.updater.enqueueForceUpdate(this, y, "forceUpdate"); }; { var j = { isMounted: ["isMounted", "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."], replaceState: ["replaceState", "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."] }, _ = function(y, $) { Object.defineProperty(P.prototype, y, { get: function() { F("%s(...) is deprecated in plain JavaScript React classes. %s", $[0], $[1]); } }); }; for (var N in j) j.hasOwnProperty(N) && _(N, j[N]); } function M() { } M.prototype = P.prototype; function R(y, $, L) { this.props = y, this.context = $, this.refs = C, this.updater = L || d; } var T = R.prototype = new M(); T.constructor = R, S(T, P.prototype), T.isPureReactComponent = !0; function Q() { var y = { current: null }; return Object.seal(y), y; } var k = Array.isArray; function ne(y) { return k(y); } function pe(y) { { var $ = typeof Symbol == "function" && Symbol.toStringTag, L = $ && y[Symbol.toStringTag] || y.constructor.name || "Object"; return L; } } function He(y) { try { return on(y), !1; } catch { return !0; } } function on(y) { return "" + y; } function en(y) { if (He(y)) return D("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", pe(y)), on(y); } function se(y, $, L) { var W = y.displayName; if (W) return W; var K = $.displayName || $.name || ""; return K !== "" ? L + "(" + K + ")" : L; } function ae(y) { return y.displayName || "Context"; } function le(y) { if (y == null) return null; if (typeof y.tag == "number" && D("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof y == "function") return y.displayName || y.name || null; if (typeof y == "string") return y; switch (y) { case a: return "Fragment"; case o: return "Portal"; case s: return "Profiler"; case i: return "StrictMode"; case f: return "Suspense"; case p: return "SuspenseList"; } if (typeof y == "object") switch (y.$$typeof) { case c: var $ = y; return ae($) + ".Consumer"; case l: var L = y; return ae(L._context) + ".Provider"; case u: return se(y, y.render, "ForwardRef"); case v: var W = y.displayName || null; return W !== null ? W : le(y.type) || "Memo"; case w: { var K = y, oe = K._payload, re = K._init; try { return le(re(oe)); } catch { return null; } } } return null; } var Be = Object.prototype.hasOwnProperty, gt = { key: !0, ref: !0, __self: !0, __source: !0 }, fe, he, we; we = {}; function Ue(y) { if (Be.call(y, "ref")) { var $ = Object.getOwnPropertyDescriptor(y, "ref").get; if ($ && $.isReactWarning) return !1; } return y.ref !== void 0; } function pt(y) { if (Be.call(y, "key")) { var $ = Object.getOwnPropertyDescriptor(y, "key").get; if ($ && $.isReactWarning) return !1; } return y.key !== void 0; } function yr(y, $) { var L = function() { fe || (fe = !0, D("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", $)); }; L.isReactWarning = !0, Object.defineProperty(y, "key", { get: L, configurable: !0 }); } function so(y, $) { var L = function() { he || (he = !0, D("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", $)); }; L.isReactWarning = !0, Object.defineProperty(y, "ref", { get: L, configurable: !0 }); } function fo(y) { if (typeof y.ref == "string" && G.current && y.__self && G.current.stateNode !== y.__self) { var $ = le(G.current.type); we[$] || (D('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', $, y.ref), we[$] = !0); } } var bt = function(y, $, L, W, K, oe, re) { var ie = { // This tag allows us to uniquely identify this as a React Element $$typeof: n, // Built-in properties that belong on the element type: y, key: $, ref: L, props: re, // Record the component responsible for creating this element. _owner: oe }; return ie._store = {}, Object.defineProperty(ie._store, "validated", { configurable: !1, enumerable: !1, writable: !0, value: !1 }), Object.defineProperty(ie, "_self", { configurable: !1, enumerable: !1, writable: !1, value: W }), Object.defineProperty(ie, "_source", { configurable: !1, enumerable: !1, writable: !1, value: K }), Object.freeze && (Object.freeze(ie.props), Object.freeze(ie)), ie; }; function po(y, $, L) { var W, K = {}, oe = null, re = null, ie = null, ue = null; if ($ != null) { Ue($) && (re = $.ref, fo($)), pt($) && (en($.key), oe = "" + $.key), ie = $.__self === void 0 ? null : $.__self, ue = $.__source === void 0 ? null : $.__source; for (W in $) Be.call($, W) && !gt.hasOwnProperty(W) && (K[W] = $[W]); } var ge = arguments.length - 2; if (ge === 1) K.children = L; else if (ge > 1) { for (var be = Array(ge), ye = 0; ye < ge; ye++) be[ye] = arguments[ye + 2]; Object.freeze && Object.freeze(be), K.children = be; } if (y && y.defaultProps) { var ve = y.defaultProps; for (W in ve) K[W] === void 0 && (K[W] = ve[W]); } if (oe || re) { var Ge = typeof y == "function" ? y.displayName || y.name || "Unknown" : y; oe && yr(K, Ge), re && so(K, Ge); } return bt(y, oe, re, ie, ue, G.current, K); } function mo(y, $) { var L = bt(y.type, $, y.ref, y._self, y._source, y._owner, y.props); return L; } function da(y, $, L) { if (y == null) throw new Error("React.cloneElement(...): The argument must be a React element, but you passed " + y + "."); var W, K = S({}, y.props), oe = y.key, re = y.ref, ie = y._self, ue = y._source, ge = y._owner; if ($ != null) { Ue($) && (re = $.ref, ge = G.current), pt($) && (en($.key), oe = "" + $.key); var be; y.type && y.type.defaultProps && (be = y.type.defaultProps); for (W in $) Be.call($, W) && !gt.hasOwnProperty(W) && ($[W] === void 0 && be !== void 0 ? K[W] = be[W] : K[W] = $[W]); } var ye = arguments.length - 2; if (ye === 1) K.children = L; else if (ye > 1) { for (var ve = Array(ye), Ge = 0; Ge < ye; Ge++) ve[Ge] = arguments[Ge + 2]; K.children = ve; } return bt(y.type, oe, re, ie, ue, ge, K); } function hr(y) { return typeof y == "object" && y !== null && y.$$typeof === n; } var lo = ".", pa = ":"; function Ed(y) { var $ = /[=:]/g, L = { "=": "=0", ":": "=2" }, W = y.replace($, function(K) { return L[K]; }); return "$" + W; } var Ba = !1, Ad = /\/+/g; function qa(y) { return y.replace(Ad, "$&/"); } function Do(y, $) { return typeof y == "object" && y !== null && y.key != null ? (en(y.key), Ed("" + y.key)) : $.toString(36); } function Jn(y, $, L, W, K) { var oe = typeof y; (oe === "undefined" || oe === "boolean") && (y = null); var re = !1; if (y === null) re = !0; else switch (oe) { case "string": case "number": re = !0; break; case "object": switch (y.$$typeof) { case n: case o: re = !0; } } if (re) { var ie = y, ue = K(ie), ge = W === "" ? lo + Do(ie, 0) : W; if (ne(ue)) { var be = ""; ge != null && (be = qa(ge) + "/"), Jn(ue, $, be, "", function(yp) { return yp; }); } else ue != null && (hr(ue) && (ue.key && (!ie || ie.key !== ue.key) && en(ue.key), ue = mo( ue, // Keep both the (mapped) and old keys if they differ, just as // traverseAllChildren used to do for objects as children L + // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key (ue.key && (!ie || ie.key !== ue.key) ? ( // $FlowFixMe Flow incorrectly thinks existing element's key can be a number // eslint-disable-next-line react-internal/safe-string-coercion qa("" + ue.key) + "/" ) : "") + ge )), $.push(ue)); return 1; } var ye, ve, Ge = 0, Ye = W === "" ? lo : W + pa; if (ne(y)) for (var ao = 0; ao < y.length; ao++) ye = y[ao], ve = Ye + Do(ye, ao), Ge += Jn(ye, $, L, ve, K); else { var Bo = O(y); if (typeof Bo == "function") { var vi = y; Bo === vi.entries && (Ba || F("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), Ba = !0); for (var hp = Bo.call(vi), xi, bp = 0; !(xi = hp.next()).done; ) ye = xi.value, ve = Ye + Do(ye, bp++), Ge += Jn(ye, $, L, ve, K); } else if (oe === "object") { var wi = String(y); throw new Error("Objects are not valid as a React child (found: " + (wi === "[object Object]" ? "object with keys {" + Object.keys(y).join(", ") + "}" : wi) + "). If you meant to render a collection of children, use an array instead."); } } return Ge; } function Qn(y, $, L) { if (y == null) return y; var W = [], K = 0; return Jn(y, W, "", "", function(oe) { return $.call(L, oe, K++); }), W; } function $d(y) { var $ = 0; return Qn(y, function() { $++; }), $; } function Pd(y, $, L) { Qn(y, function() { $.apply(this, arguments); }, L); } function Cd(y) { return Qn(y, function($) { return $; }) || []; } function Nd(y) { if (!hr(y)) throw new Error("React.Children.only expected to receive a single React element child."); return y; } function _d(y) { var $ = { $$typeof: c, // As a workaround to support multiple concurrent renderers, we categorize // some renderers as primary and others as secondary. We only expect // there to be two concurrent renderers at most: React Native (primary) and // Fabric (secondary); React DOM (primary) and React ART (secondary). // Secondary renderers store their context values on separate fields. _currentValue: y, _currentValue2: y, // Used to track how many concurrent renderers this context currently // supports within in a single renderer. Such as parallel server rendering. _threadCount: 0, // These are circular Provider: null, Consumer: null, // Add these to use same hidden class in VM as ServerContext _defaultValue: null, _globalName: null }; $.Provider = { $$typeof: l, _context: $ }; var L = !1, W = !1, K = !1; { var oe = { $$typeof: c, _context: $ }; Object.defineProperties(oe, { Provider: { get: function() { return W || (W = !0, D("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")), $.Provider; }, set: function(re) { $.Provider = re; } }, _currentValue: { get: function() { return $._currentValue; }, set: function(re) { $._currentValue = re; } }, _currentValue2: { get: function() { return $._currentValue2; }, set: function(re) { $._currentValue2 = re; } }, _threadCount: { get: function() { return $._threadCount; }, set: function(re) { $._threadCount = re; } }, Consumer: { get: function() { return L || (L = !0, D("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")), $.Consumer; } }, displayName: { get: function() { return $.displayName; }, set: function(re) { K || (F("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.", re), K = !0); } } }), $.Consumer = oe; } return $._currentRenderer = null, $._currentRenderer2 = null, $; } var Bn = -1, Fo = 0, Xa = 1, jd = 2; function Id(y) { if (y._status === Bn) { var $ = y._result, L = $(); if (L.then(function(oe) { if (y._status === Fo || y._status === Bn) { var re = y; re._status = Xa, re._result = oe; } }, function(oe) { if (y._status === Fo || y._status === Bn) { var re = y; re._status = jd, re._result = oe; } }), y._status === Bn) { var W = y; W._status = Fo, W._result = L; } } if (y._status === Xa) { var K = y._result; return K === void 0 && D(`lazy: Expected the result of a dynamic import() call. Instead received: %s Your code should look like: const MyComponent = lazy(() => import('./MyComponent')) Did you accidentally put curly braces around the import?`, K), "default" in K || D(`lazy: Expected the result of a dynamic import() call. Instead received: %s Your code should look like: const MyComponent = lazy(() => import('./MyComponent'))`, K), K.default; } else throw y._result; } function Rd(y) { var $ = { // We use these fields to store the result. _status: Bn, _result: y }, L = { $$typeof: w, _payload: $, _init: Id }; { var W, K; Object.defineProperties(L, { defaultProps: { configurable: !0, get: function() { return W; }, set: function(oe) { D("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), W = oe, Object.defineProperty(L, "defaultProps", { enumerable: !0 }); } }, propTypes: { configurable: !0, get: function() { return K; }, set: function(oe) { D("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), K = oe, Object.defineProperty(L, "propTypes", { enumerable: !0 }); } } }); } return L; } function Md(y) { y != null && y.$$typeof === v ? D("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).") : typeof y != "function" ? D("forwardRef requires a render function but was given %s.", y === null ? "null" : typeof y) : y.length !== 0 && y.length !== 2 && D("forwardRef render functions accept exactly two parameters: props and ref. %s", y.length === 1 ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined."), y != null && (y.defaultProps != null || y.propTypes != null) && D("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"); var $ = { $$typeof: u, render: y }; { var L; Object.defineProperty($, "displayName", { enumerable: !1, configurable: !0, get: function() { return L; }, set: function(W) { L = W, !y.name && !y.displayName && (y.displayName = W); } }); } return $; } var Ka; Ka = Symbol.for("react.module.reference"); function Ja(y) { return !!(typeof y == "string" || typeof y == "function" || y === a || y === s || U || y === i || y === f || y === p || te || y === b || X || ee || I || typeof y == "object" && y !== null && (y.$$typeof === w || y.$$typeof === v || y.$$typeof === l || y.$$typeof === c || y.$$typeof === u || // This needs to include all possible module reference object // types supported by any Flight configuration anywhere since // we don't know which Flight build this will end up being used // with. y.$$typeof === Ka || y.getModuleId !== void 0)); } function Td(y, $) { Ja(y) || D("memo: The first argument must be a component. Instead received: %s", y === null ? "null" : typeof y); var L = { $$typeof: v, type: y, compare: $ === void 0 ? null : $ }; { var W; Object.defineProperty(L, "displayName", { enumerable: !1, configurable: !0, get: function() { return W; }, set: function(K) { W = K, !y.name && !y.displayName && (y.displayName = K); } }); } return L; } function qe() { var y = E.current; return y === null && D(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: 1. You might have mismatching versions of React and the renderer (such as React DOM) 2. You might be breaking the Rules of Hooks 3. You might have more than one copy of React in the same app See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`), y; } function zd(y) { var $ = qe(); if (y._context !== void 0) { var L = y._context; L.Consumer === y ? D("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?") : L.Provider === y && D("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?"); } return $.useContext(y); } function Dd(y) { var $ = qe(); return $.useState(y); } function Fd(y, $, L) { var W = qe(); return W.useReducer(y, $, L); } function Ld(y) { var $ = qe(); return $.useRef(y); } function Vd(y, $) { var L = qe(); return L.useEffect(y, $); } function Wd(y, $) { var L = qe(); return L.useInsertionEffect(y, $); } function Gd(y, $) { var L = qe(); return L.useLayoutEffect(y, $); } function Ud(y, $) { var L = qe(); return L.useCallback(y, $); } function Hd(y, $) { var L = qe(); return L.useMemo(y, $); } function Yd(y, $, L) { var W = qe(); return W.useImperativeHandle(y, $, L); } function Bd(y, $) { { var L = qe(); return L.useDebugValue(y, $); } } function qd() { var y = qe(); return y.useTransition(); } function Xd(y) { var $ = qe(); return $.useDeferredValue(y); } function Kd() { var y = qe(); return y.useId(); } function Jd(y, $, L) { var W = qe(); return W.useSyncExternalStore(y, $, L); } var qn = 0, Qa, Za, ei, ti, ri, ni, oi; function ai() { } ai.__reactDisabledLog = !0; function Qd() { { if (qn === 0) { Qa = console.log, Za = console.info, ei = console.warn, ti = console.error, ri = console.group, ni = console.groupCollapsed, oi = console.groupEnd; var y = { configurable: !0, enumerable: !0, value: ai, writable: !0 }; Object.defineProperties(console, { info: y, log: y, warn: y, error: y, group: y, groupCollapsed: y, groupEnd: y }); } qn++; } } function Zd() { { if (qn--, qn === 0) { var y = { configurable: !0, enumerable: !0, writable: !0 }; Object.defineProperties(console, { log: S({}, y, { value: Qa }), info: S({}, y, { value: Za }), warn: S({}, y, { value: ei }), error: S({}, y, { value: ti }), group: S({}, y, { value: ri }), groupCollapsed: S({}, y, { value: ni }), groupEnd: S({}, y, { value: oi }) }); } qn < 0 && D("disabledDepth fell below zero. This is a bug in React. Please file an issue."); } } var Lo = z.ReactCurrentDispatcher, Vo; function Zn(y, $, L) { { if (Vo === void 0) try { throw Error(); } catch (K) { var W = K.stack.trim().match(/\n( *(at )?)/); Vo = W && W[1] || ""; } return ` ` + Vo + y; } } var Wo = !1, eo; { var ep = typeof WeakMap == "function" ? WeakMap : Map; eo = new ep(); } function ii(y, $) { if (!y || Wo) return ""; { var L = eo.get(y); if (L !== void 0) return L; } var W; Wo = !0; var K = Error.prepareStackTrace; Error.prepareStackTrace = void 0; var oe; oe = Lo.current, Lo.current = null, Qd(); try { if ($) { var re = function() { throw Error(); }; if (Object.defineProperty(re.prototype, "props", { set: function() { throw Error(); } }), typeof Reflect == "object" && Reflect.construct) { try { Reflect.construct(re, []); } catch (Ye) { W = Ye; } Reflect.construct(y, [], re); } else { try { re.call(); } catch (Ye) { W = Ye; } y.call(re.prototype); } } else { try { throw Error(); } catch (Ye) { W = Ye; } y(); } } catch (Ye) { if (Ye && W && typeof Ye.stack == "string") { for (var ie = Ye.stack.split(` `), ue = W.stack.split(` `), ge = ie.length - 1, be = ue.length - 1; ge >= 1 && be >= 0 && ie[ge] !== ue[be]; ) be--; for (; ge >= 1 && be >= 0; ge--, be--) if (ie[ge] !== ue[be]) { if (ge !== 1 || be !== 1) do if (ge--, be--, be < 0 || ie[ge] !== ue[be]) { var ye = ` ` + ie[ge].replace(" at new ", " at "); return y.displayName && ye.includes("") && (ye = ye.replace("", y.displayName)), typeof y == "function" && eo.set(y, ye), ye; } while (ge >= 1 && be >= 0); break; } } } finally { Wo = !1, Lo.current = oe, Zd(), Error.prepareStackTrace = K; } var ve = y ? y.displayName || y.name : "", Ge = ve ? Zn(ve) : ""; return typeof y == "function" && eo.set(y, Ge), Ge; } function tp(y, $, L) { return ii(y, !1); } function rp(y) { var $ = y.prototype; return !!($ && $.isReactComponent); } function to(y, $, L) { if (y == null) return ""; if (typeof y == "function") return ii(y, rp(y)); if (typeof y == "string") return Zn(y); switch (y) { case f: return Zn("Suspense"); case p: return Zn("SuspenseList"); } if (typeof y == "object") switch (y.$$typeof) { case u: return tp(y.render); case v: return to(y.type, $, L); case w: { var W = y, K = W._payload, oe = W._init; try { return to(oe(K), $, L); } catch { } } } return ""; } var si = {}, li = z.ReactDebugCurrentFrame; function ro(y) { if (y) { var $ = y._owner, L = to(y.type, y._source, $ ? $.type : null); li.setExtraStackFrame(L); } else li.setExtraStackFrame(null); } function np(y, $, L, W, K) { { var oe = Function.call.bind(Be); for (var re in y) if (oe(y, re)) { var ie = void 0; try { if (typeof y[re] != "function") { var ue = Error((W || "React class") + ": " + L + " type `" + re + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof y[re] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."); throw ue.name = "Invariant Violation", ue; } ie = y[re]($, re, W, L, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"); } catch (ge) { ie = ge; } ie && !(ie instanceof Error) && (ro(K), D("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", W || "React class", L, re, typeof ie), ro(null)), ie instanceof Error && !(ie.message in si) && (si[ie.message] = !0, ro(K), D("Failed %s type: %s", L, ie.message), ro(null)); } } } function tn(y) { if (y) { var $ = y._owner, L = to(y.type, y._source, $ ? $.type : null); J(L); } else J(null); } var Go; Go = !1; function ci() { if (G.current) { var y = le(G.current.type); if (y) return ` Check the render method of \`` + y + "`."; } return ""; } function op(y) { if (y !== void 0) { var $ = y.fileName.replace(/^.*[\\\/]/, ""), L = y.lineNumber; return ` Check your code at ` + $ + ":" + L + "."; } return ""; } function ap(y) { return y != null ? op(y.__source) : ""; } var ui = {}; function ip(y) { var $ = ci(); if (!$) { var L = typeof y == "string" ? y : y.displayName || y.name; L && ($ = ` Check the top-level render call using <` + L + ">."); } return $; } function fi(y, $) { if (!(!y._store || y._store.validated || y.key != null)) { y._store.validated = !0; var L = ip($); if (!ui[L]) { ui[L] = !0; var W = ""; y && y._owner && y._owner !== G.current && (W = " It was passed a child from " + le(y._owner.type) + "."), tn(y), D('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', L, W), tn(null); } } } function di(y, $) { if (typeof y == "object") { if (ne(y)) for (var L = 0; L < y.length; L++) { var W = y[L]; hr(W) && fi(W, $); } else if (hr(y)) y._store && (y._store.validated = !0); else if (y) { var K = O(y); if (typeof K == "function" && K !== y.entries) for (var oe = K.call(y), re; !(re = oe.next()).done; ) hr(re.value) && fi(re.value, $); } } } function pi(y) { { var $ = y.type; if ($ == null || typeof $ == "string") return; var L; if (typeof $ == "function") L = $.propTypes; else if (typeof $ == "object" && ($.$$typeof === u || // Note: Memo only checks outer props here. // Inner props are checked in the reconciler. $.$$typeof === v)) L = $.propTypes; else return; if (L) { var W = le($); np(L, y.props, "prop", W, y); } else if ($.PropTypes !== void 0 && !Go) { Go = !0; var K = le($); D("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", K || "Unknown"); } typeof $.getDefaultProps == "function" && !$.getDefaultProps.isReactClassApproved && D("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead."); } } function sp(y) { { for (var $ = Object.keys(y.props), L = 0; L < $.length; L++) { var W = $[L]; if (W !== "children" && W !== "key") { tn(y), D("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", W), tn(null); break; } } y.ref !== null && (tn(y), D("Invalid attribute `ref` supplied to `React.Fragment`."), tn(null)); } } function mi(y, $, L) { var W = Ja(y); if (!W) { var K = ""; (y === void 0 || typeof y == "object" && y !== null && Object.keys(y).length === 0) && (K += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."); var oe = ap($); oe ? K += oe : K += ci(); var re; y === null ? re = "null" : ne(y) ? re = "array" : y !== void 0 && y.$$typeof === n ? (re = "<" + (le(y.type) || "Unknown") + " />", K = " Did you accidentally export a JSX literal instead of a component?") : re = typeof y, D("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", re, K); } var ie = po.apply(this, arguments); if (ie == null) return ie; if (W) for (var ue = 2; ue < arguments.length; ue++) di(arguments[ue], y); return y === a ? sp(ie) : pi(ie), ie; } var gi = !1; function lp(y) { var $ = mi.bind(null, y); return $.type = y, gi || (gi = !0, F("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.")), Object.defineProperty($, "type", { enumerable: !1, get: function() { return F("Factory.type is deprecated. Access the class directly before passing it to createFactory."), Object.defineProperty(this, "type", { value: y }), y; } }), $; } function cp(y, $, L) { for (var W = da.apply(this, arguments), K = 2; K < arguments.length; K++) di(arguments[K], W.type); return pi(W), W; } function up(y, $) { var L = A.transition; A.transition = {}; var W = A.transition; A.transition._updatedFibers = /* @__PURE__ */ new Set(); try { y(); } finally { if (A.transition = L, L === null && W._updatedFibers) { var K = W._updatedFibers.size; K > 10 && F("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."), W._updatedFibers.clear(); } } } var hi = !1, no = null; function fp(y) { if (no === null) try { var $ = ("require" + Math.random()).slice(0, 7), L = e && e[$]; no = L.call(e, "timers").setImmediate; } catch { no = function(W) { hi === !1 && (hi = !0, typeof MessageChannel > "u" && D("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.")); var K = new MessageChannel(); K.port1.onmessage = W, K.port2.postMessage(void 0); }; } return no(y); } var rn = 0, bi = !1; function yi(y) { { var $ = rn; rn++, h.current === null && (h.current = []); var L = h.isBatchingLegacy, W; try { if (h.isBatchingLegacy = !0, W = y(), !L && h.didScheduleLegacyUpdate) { var K = h.current; K !== null && (h.didScheduleLegacyUpdate = !1, Yo(K)); } } catch (ve) { throw oo($), ve; } finally { h.isBatchingLegacy = L; } if (W !== null && typeof W == "object" && typeof W.then == "function") { var oe = W, re = !1, ie = { then: function(ve, Ge) { re = !0, oe.then(function(Ye) { oo($), rn === 0 ? Uo(Ye, ve, Ge) : ve(Ye); }, function(Ye) { oo($), Ge(Ye); }); } }; return !bi && typeof Promise < "u" && Promise.resolve().then(function() { }).then(function() { re || (bi = !0, D("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);")); }), ie; } else { var ue = W; if (oo($), rn === 0) { var ge = h.current; ge !== null && (Yo(ge), h.current = null); var be = { then: function(ve, Ge) { h.current === null ? (h.current = [], Uo(ue, ve, Ge)) : ve(ue); } }; return be; } else { var ye = { then: function(ve, Ge) { ve(ue); } }; return ye; } } } } function oo(y) { y !== rn - 1 && D("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "), rn = y; } function Uo(y, $, L) { { var W = h.current; if (W !== null) try { Yo(W), fp(function() { W.length === 0 ? (h.current = null, $(y)) : Uo(y, $, L); }); } catch (K) { L(K); } else $(y); } } var Ho = !1; function Yo(y) { if (!Ho) { Ho = !0; var $ = 0; try { for (; $ < y.length; $++) { var L = y[$]; do L = L(!0); while (L !== null); } y.length = 0; } catch (W) { throw y = y.slice($ + 1), W; } finally { Ho = !1; } } } var dp = mi, pp = cp, mp = lp, gp = { map: Qn, forEach: Pd, count: $d, toArray: Cd, only: Nd }; t.Children = gp, t.Component = P, t.Fragment = a, t.Profiler = s, t.PureComponent = R, t.StrictMode = i, t.Suspense = f, t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = z, t.act = yi, t.cloneElement = pp, t.createContext = _d, t.createElement = dp, t.createFactory = mp, t.createRef = Q, t.forwardRef = Md, t.isValidElement = hr, t.lazy = Rd, t.memo = Td, t.startTransition = up, t.unstable_act = yi, t.useCallback = Ud, t.useContext = zd, t.useDebugValue = Bd, t.useDeferredValue = Xd, t.useEffect = Vd, t.useId = Kd, t.useImperativeHandle = Yd, t.useInsertionEffect = Wd, t.useLayoutEffect = Gd, t.useMemo = Hd, t.useReducer = Fd, t.useRef = Ld, t.useState = Dd, t.useSyncExternalStore = Jd, t.useTransition = qd, t.version = r, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); }(); }(wk, wk.exports)), wk.exports; } var Oq; function lQe() { return Oq || (Oq = 1, process.env.NODE_ENV === "production" ? fA.exports = iQe() : fA.exports = sQe()), fA.exports; } var cQe = lQe(); const uQe = /* @__PURE__ */ aQe(cQe), fQe = { [mt.BlackForestLabs]: "/resources/images/services/blackforestlabs.svg", [mt.Kling]: "/resources/images/services/kling.svg", [mt.Midjourney]: "/resources/images/services/midjourney.svg", [mt.OpenAi]: "/resources/images/services/openai.svg", [mt.Bytedance]: "/resources/images/services/bytedance.svg", [mt.Google]: "/resources/images/services/google.svg", [mt.Recraft]: "/resources/images/services/recraft.svg", [mt.Tencent]: "/resources/images/services/tencent.svg", [mt.Krea]: "/resources/images/services/krea.svg", [mt.Fal]: "/resources/images/services/fal.svg", [mt.Replicate]: "/resources/images/services/replicate.svg", [mt.TensorArt]: "/resources/images/services/tensorart.svg", [mt.OpenArt]: "/resources/images/services/openart.svg", [mt.Higgsfield]: "/resources/images/services/higgsfield.svg", [mt.Alibaba]: "/resources/images/services/alibaba.svg", [mt.Vidu]: "/resources/images/services/vidu.svg", [mt.ArtCraft]: "/resources/images/services/artcraft.svg" }, dQe = "/resources/images/services/generic.svg", pQe = (e) => fQe[e], mQe = (e, t = "h-4 w-4 invert") => { const r = pQe(e) ?? dQe; return uQe.createElement("img", { src: r, alt: `${e} logo`, className: t }); }, gQe = { flux_1_dev: mt.BlackForestLabs, flux_1_schnell: mt.BlackForestLabs, flux_pro_1p1: mt.BlackForestLabs, flux_pro_1p1_ultra: mt.BlackForestLabs, gpt_image_1: mt.OpenAi, kling_1p6_pro: mt.Kling, kling_2p1_pro: mt.Kling, kling_2p1_master: mt.Kling, seedance_1p0_lite: mt.Bytedance, veo_2: mt.Google, recraft_3: mt.Recraft, hunyuan_3d: mt.Tencent, midjourney: mt.Midjourney, midjourney_v6: mt.Midjourney, midjourney_v6p1: mt.Midjourney, midjourney_v6p1_raw: mt.Midjourney, midjourney_v7: mt.Midjourney, midjourney_v7_raw: mt.Midjourney, midjourney_v7_draft_raw: mt.Midjourney }, hQe = (e) => { const t = gQe[e]; return t ? mQe(t, "h-4 w-4 invert") : null; }, bQe = (e) => ({ flux_1_dev: "Flux 1 Dev", flux_1_schnell: "Flux 1 Schnell", flux_pro_1p1: "Flux Pro 1.1", flux_pro_1p1_ultra: "Flux Pro 1.1 Ultra", gpt_image_1: "GPT Image 1", kling_1p6_pro: "Kling 1.6 Pro", kling_2p1_pro: "Kling 2.1 Pro", kling_2p1_master: "Kling 2.1 Master", seedance_1p0_lite: "Seedance 1.0 Lite", veo_2: "Veo 2", recraft_3: "Recraft 3", hunyuan_3d_2p0: "Hunyuan 3D 2.0", hunyuan_3d_2p1: "Hunyuan 3D 2.1", hunyuan_3d: "Hunyuan 3D", flux_pro_kontext_max: "Flux Pro Kontext Max", // Catch-all bucket for Midjourney. midjourney: "Midjourney", // Specific Midjourney models. midjourney_v6: "Midjourney V6", midjourney_v6p1: "Midjourney V6.1", midjourney_v6p1_raw: "Midjourney V6.1 (Raw)", midjourney_v7: "Midjourney V7", midjourney_v7_raw: "Midjourney V7 (Raw)", midjourney_v7_draft_raw: "Midjourney V7 (Draft Raw)" // TODO: add more models here - BFlat })[e] || e, yQe = (e) => ({ artcraft: "ArtCraft", fal: "FAL", midjourney: "Midjourney", sora: "Sora" })[e] || e; var lf = /* @__PURE__ */ ((e) => (e.InstructiveEdit = "instructiveEdit", e.MaskedInpainting = "maskedInpainting", e.NonMaskedInpainting = "nonMaskedInpainting", e))(lf || {}); const Qo = mt, vQe = { maxGenerationCount: 1, defaultGenerationCount: 1 }, Zo = (e) => ({ label: e.label ?? e.info.name, description: e.description, badges: e.badges, capabilities: e.capabilities ?? vQe, tags: e.tags ?? [], ...e }); Zo({ id: "midjourney", category: "image", info: { name: "Midjourney", tauri_id: "midjourney", creator: Qo.Midjourney }, description: "Incredible style and quality", badges: [{ label: "15 sec." }], capabilities: { maxGenerationCount: 4, defaultGenerationCount: 4 } }), Zo({ id: "flux_pro_1_1_ultra", category: "image", info: { name: "Flux Pro 1.1 Ultra", tauri_id: "flux_pro_11_ultra", creator: Qo.BlackForestLabs }, description: "High quality model", badges: [{ label: "15 sec." }], capabilities: { maxGenerationCount: 4, defaultGenerationCount: 4 } }), Zo({ id: "flux_pro_1_1", category: "image", info: { name: "Flux Pro 1.1", tauri_id: "flux_pro_11", creator: Qo.BlackForestLabs }, description: "High quality model", badges: [{ label: "15 sec." }], capabilities: { maxGenerationCount: 4, defaultGenerationCount: 4 } }), Zo({ id: "flux_1_dev", category: "image", info: { name: "Flux 1 Dev", tauri_id: "flux_1_dev", creator: Qo.BlackForestLabs }, description: "High quality model", badges: [{ label: "15 sec." }], capabilities: { maxGenerationCount: 4, defaultGenerationCount: 4 } }), Zo({ id: "flux_1_schnell", category: "image", info: { name: "Flux 1 Schnell", tauri_id: "flux_1_schnell", creator: Qo.BlackForestLabs }, description: "High quality model", badges: [{ label: "15 sec." }], capabilities: { maxGenerationCount: 4, defaultGenerationCount: 4 } }), Zo({ id: "gpt_image_1", category: "image", info: { name: "GPT Image 1 (GPT-4o)", tauri_id: "gpt_image_1", creator: Qo.OpenAi }, description: "Slow, ultra instructive model", badges: [{ label: "45 sec." }], capabilities: { maxGenerationCount: 1 }, tags: ["instructiveEdit"] }), Zo({ id: "flux_pro_kontext_max", category: "image", info: { name: "Flux Pro Kontext Max", tauri_id: "flux_pro_kontext_max", creator: Qo.BlackForestLabs }, description: "Fast and high-quality model", badges: [{ label: "20 sec." }], capabilities: { maxGenerationCount: 4 }, tags: [lf.InstructiveEdit, lf.NonMaskedInpainting] }), Zo({ id: "flux_pro_inpaint", category: "image", info: { name: "Flux Pro 1 (Inpainting)", tauri_id: "flux_pro_1", creator: Qo.BlackForestLabs }, description: "Fast and high-quality model", badges: [{ label: "20 sec." }], capabilities: { maxGenerationCount: 1 // NB: For some reason Fal only supports ONE image! }, tags: [lf.MaskedInpainting] }), Zo({ id: "flux_dev_juggernaut_inpaint", category: "image", info: { name: "Flux Dev Juggernaut (Inpainting)", tauri_id: "flux_dev_juggernaut", creator: Qo.BlackForestLabs }, description: "Fast and high-quality model", badges: [{ label: "20 sec." }], capabilities: { maxGenerationCount: 4 }, tags: [lf.MaskedInpainting] }), ////////////////////////////// // Video models ////////////////////////////// Zo({ id: "kling_1_6_pro", category: "video", info: { name: "Kling 1.6 Pro", tauri_id: "kling_1.6_pro", creator: Qo.Kling }, description: "Good quality model", badges: [{ label: "2 min." }], capabilities: { maxGenerationCount: 1 } }), Zo({ id: "kling_2_1_pro", category: "video", info: { name: "Kling 2.1 Pro", tauri_id: "kling_2.1_pro", creator: Qo.Kling }, description: "High quality model", badges: [{ label: "2 min." }], capabilities: { maxGenerationCount: 1 } }), Zo({ id: "kling_2_1_master", category: "video", info: { name: "Kling 2.1 Master", tauri_id: "kling_2.1_master", creator: Qo.Kling }, description: "Master quality model ($$)", badges: [{ label: "2 min." }], capabilities: { maxGenerationCount: 1 } }), Zo({ id: "seedance_1_0_lite", category: "video", info: { name: "Seedance 1.0 Lite", tauri_id: "seedance_1.0_lite", creator: Qo.Bytedance }, description: "Fast and high-quality model", badges: [{ label: "2 min." }], capabilities: { maxGenerationCount: 1 } }), Zo({ id: "veo_2", category: "video", info: { name: "Google Veo 2", tauri_id: "veo_2", creator: Qo.Google }, description: "Fast and high-quality model", badges: [{ label: "2 min." }], capabilities: { maxGenerationCount: 1 } }); const bz = [ new zi({ id: "midjourney", tauriId: "midjourney", fullName: "Midjourney", category: "image", creator: mt.Midjourney, selectorName: "Midjourney", selectorDescription: "Incredible style and quality", selectorBadges: ["15 sec."], maxGenerationCount: 4, defaultGenerationCount: 4, canUseImagePrompt: !1, maxImagePromptCount: 6 }), new zi({ id: "flux_pro_1_1_ultra", tauriId: "flux_pro_11_ultra", fullName: "Flux Pro 1.1 Ultra", category: "image", creator: mt.BlackForestLabs, selectorName: "Flux Pro 1.1 Ultra", selectorDescription: "High quality model", selectorBadges: ["15 sec."], maxGenerationCount: 4, defaultGenerationCount: 4, canUseImagePrompt: !0, maxImagePromptCount: 6 }), new zi({ id: "flux_pro_1_1", tauriId: "flux_pro_11", fullName: "Flux Pro 1.1", category: "image", creator: mt.BlackForestLabs, selectorName: "Flux Pro 1.1", selectorDescription: "High quality model", selectorBadges: ["15 sec."], maxGenerationCount: 4, defaultGenerationCount: 4, canUseImagePrompt: !0, maxImagePromptCount: 6 }), new zi({ id: "flux_1_dev", tauriId: "flux_1_dev", fullName: "Flux 1 Dev", category: "image", creator: mt.BlackForestLabs, selectorName: "Flux 1 Dev", selectorDescription: "High quality model", selectorBadges: ["15 sec."], maxGenerationCount: 4, defaultGenerationCount: 4, canUseImagePrompt: !0, maxImagePromptCount: 6 }), new zi({ id: "flux_1_schnell", tauriId: "flux_1_schnell", fullName: "Flux 1 Schnell", category: "image", creator: mt.BlackForestLabs, selectorName: "Flux 1 Schnell", selectorDescription: "High quality model", selectorBadges: ["15 sec."], maxGenerationCount: 4, defaultGenerationCount: 4, canUseImagePrompt: !0, maxImagePromptCount: 6 }), new zi({ id: "gemini_25_flash", tauriId: "gemini_25_flash", fullName: "Gemini 2.5 Flash", category: "image", creator: mt.Google, selectorName: "Gemini 2.5 Flash", selectorDescription: "Ultra instructive model", selectorBadges: ["35 sec."], maxGenerationCount: 4, defaultGenerationCount: 1, canEditImages: !0, canUseImagePrompt: !0, maxImagePromptCount: 6, tags: [lf.InstructiveEdit] }), new zi({ id: "gpt_image_1", tauriId: "gpt_image_1", fullName: "GPT Image 1 (GPT-4o)", category: "image", creator: mt.OpenAi, selectorName: "GPT Image 1 (GPT-4o)", selectorDescription: "Slow, ultra instructive model", selectorBadges: ["45 sec."], maxGenerationCount: 1, defaultGenerationCount: 1, tags: [lf.InstructiveEdit], canEditImages: !0, canUseImagePrompt: !0, maxImagePromptCount: 6 }), new zi({ id: "flux_pro_kontext_max", tauriId: "flux_pro_kontext_max", fullName: "Flux Pro Kontext Max", category: "image", creator: mt.BlackForestLabs, selectorName: "Flux Pro Kontext Max", selectorDescription: "Fast instructive editing", selectorBadges: ["20 sec."], maxGenerationCount: 4, defaultGenerationCount: 4, canEditImages: !0, tags: [lf.InstructiveEdit] }), new zi({ id: "flux_pro_inpaint", tauriId: "flux_pro_1", fullName: "Flux Pro Inpaint", category: "image", creator: mt.BlackForestLabs, selectorName: "Flux Pro", selectorDescription: "Fast inpainting", selectorBadges: ["30 sec."], maxGenerationCount: 1, // NB: Fal only allows one image for some reason! defaultGenerationCount: 1, // NB: Fal only allows one image for some reason! canEditImages: !0, usesInpaintingMask: !0 }), new zi({ id: "flux_dev_juggernaut_inpaint", tauriId: "flux_dev_juggernaut", fullName: "Flux Dev Juggernaut Inpaint", category: "image", creator: mt.BlackForestLabs, selectorName: "Flux Dev Juggernaut", selectorDescription: "Fast inpainting", selectorBadges: ["15 sec."], maxGenerationCount: 4, defaultGenerationCount: 4, canEditImages: !0, usesInpaintingMask: !0 }) ], xQe = new Map( bz.map((e) => [e.id, e]) ); if (xQe.size !== bz.length) throw new Error("All image models must have unique IDs"); const wQe = [ new Ky({ id: "kling_1_6_pro", tauriId: "kling_1.6_pro", fullName: "Kling 1.6 Pro", category: "video", creator: mt.Kling, selectorName: "Kling 1.6 Pro", selectorDescription: "Fast video model", selectorBadges: ["2 min."], startFrame: !0, endFrame: !0 }), new Ky({ id: "kling_2_1_pro", tauriId: "kling_2.1_pro", fullName: "Kling 2.1 Pro", category: "video", creator: mt.Kling, selectorName: "Kling 2.1 Pro", selectorDescription: "Fast video model", selectorBadges: ["2 min."], startFrame: !0, endFrame: !0 }), new Ky({ id: "kling_2_1_master", tauriId: "kling_2.1_master", fullName: "Kling 2.1 Master", category: "video", creator: mt.Kling, selectorName: "Kling 2.1 Master", selectorDescription: "Fast video model", selectorBadges: ["2 min."], startFrame: !0, endFrame: !1 }), new Ky({ id: "seedance_1_0_lite", tauriId: "seedance_1.0_lite", fullName: "Seedance 1.0 Lite", category: "video", creator: mt.Bytedance, selectorName: "Seedance 1.0 Lite", selectorDescription: "Fast video model", selectorBadges: ["2 min."], startFrame: !0, endFrame: !1 }), new Ky({ id: "veo_2", tauriId: "veo_2", fullName: "Google Veo 2", category: "video", creator: mt.Google, selectorName: "Google Veo 2", selectorDescription: "Fast video model", selectorBadges: ["2 min."], startFrame: !0, endFrame: !1 }) ], Cpe = [...bz, ...wQe], kQe = new Map( Cpe.map((e) => [e.id, e]) ); if (kQe.size !== Cpe.length) throw new Error("All models must have unique IDs"); var OQe = Object.defineProperty, SQe = (e, t, r) => t in e ? OQe(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, dA = (e, t, r) => (SQe(e, typeof t != "symbol" ? t + "" : t, r), r); let EQe = class { constructor() { dA(this, "current", this.detect()), dA(this, "handoffState", "pending"), dA(this, "currentId", 0); } set(e) { this.current !== e && (this.handoffState = "pending", this.currentId = 0, this.current = e); } reset() { this.set(this.detect()); } nextId() { return ++this.currentId; } get isServer() { return this.current === "server"; } get isClient() { return this.current === "client"; } detect() { return typeof window > "u" || typeof document > "u" ? "server" : "client"; } handoff() { this.handoffState === "pending" && (this.handoffState = "complete"); } get isHandoffComplete() { return this.handoffState === "complete"; } }, kk = new EQe(); function AQe(e) { typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => { throw t; })); } function YS() { let e = [], t = { addEventListener(r, n, o, a) { return r.addEventListener(n, o, a), t.add(() => r.removeEventListener(n, o, a)); }, requestAnimationFrame(...r) { let n = requestAnimationFrame(...r); return t.add(() => cancelAnimationFrame(n)); }, nextFrame(...r) { return t.requestAnimationFrame(() => t.requestAnimationFrame(...r)); }, setTimeout(...r) { let n = setTimeout(...r); return t.add(() => clearTimeout(n)); }, microTask(...r) { let n = { current: !0 }; return AQe(() => { n.current && r[0](); }), t.add(() => { n.current = !1; }); }, style(r, n, o) { let a = r.style.getPropertyValue(n); return Object.assign(r.style, { [n]: o }), this.add(() => { Object.assign(r.style, { [n]: a }); }); }, group(r) { let n = YS(); return r(n), this.add(() => n.dispose()); }, add(r) { return e.includes(r) || e.push(r), () => { let n = e.indexOf(r); if (n >= 0) for (let o of e.splice(n, 1)) o(); }; }, dispose() { for (let r of e.splice(0)) r(); } }; return t; } function Npe() { let [e] = We(YS); return xe(() => () => e.dispose(), [e]), e; } let vf = (e, t) => { kk.isServer ? xe(e, t) : qs(e, t); }; function _pe(e) { let t = ce(e); return vf(() => { t.current = e; }, [e]), t; } let Cl = function(e) { let t = _pe(e); return de.useCallback((...r) => t.current(...r), [t]); }; function Nj(...e) { return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" "); } function BS(e, t, ...r) { if (e in t) { let o = t[e]; return typeof o == "function" ? o(...r) : o; } let n = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((o) => `"${o}"`).join(", ")}.`); throw Error.captureStackTrace && Error.captureStackTrace(n, BS), n; } var jpe = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(jpe || {}), cf = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(cf || {}); function Ipe() { let e = PQe(); return dt((t) => $Qe({ mergeRefs: e, ...t }), [e]); } function $Qe({ ourProps: e, theirProps: t, slot: r, defaultTag: n, features: o, visible: a = !0, name: i, mergeRefs: s }) { s = s ?? CQe; let l = Rpe(t, e); if (a) return i2(l, r, n, i, s); let c = o ?? 0; if (c & 2) { let { static: u = !1, ...f } = l; if (u) return i2(f, r, n, i, s); } if (c & 1) { let { unmount: u = !0, ...f } = l; return BS(u ? 0 : 1, { 0() { return null; }, 1() { return i2({ ...f, hidden: !0, style: { display: "none" } }, r, n, i, s); } }); } return i2(l, r, n, i, s); } function i2(e, t = {}, r, n, o) { let { as: a = r, children: i, refName: s = "ref", ...l } = pA(e, ["unmount", "static"]), c = e.ref !== void 0 ? { [s]: e.ref } : {}, u = typeof i == "function" ? i(t) : i; "className" in l && l.className && typeof l.className == "function" && (l.className = l.className(t)), l["aria-labelledby"] && l["aria-labelledby"] === l.id && (l["aria-labelledby"] = void 0); let f = {}; if (t) { let p = !1, v = []; for (let [w, b] of Object.entries(t)) typeof b == "boolean" && (p = !0), b === !0 && v.push(w.replace(/([A-Z])/g, (m) => `-${m.toLowerCase()}`)); if (p) { f["data-headlessui-state"] = v.join(" "); for (let w of v) f[`data-${w}`] = ""; } } if (a === Tr && (Object.keys(kp(l)).length > 0 || Object.keys(kp(f)).length > 0)) if (!Ws(u) || Array.isArray(u) && u.length > 1) { if (Object.keys(kp(l)).length > 0) throw new Error(['Passing props on "Fragment"!', "", `The current component <${n} /> is rendering a "Fragment".`, "However we need to passthrough the following props:", Object.keys(kp(l)).concat(Object.keys(kp(f))).map((p) => ` - ${p}`).join(` `), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".', "Render a single element as the child so that we can forward the props onto that element."].map((p) => ` - ${p}`).join(` `)].join(` `)); } else { let p = u.props, v = p == null ? void 0 : p.className, w = typeof v == "function" ? (...x) => Nj(v(...x), l.className) : Nj(v, l.className), b = w ? { className: w } : {}, m = Rpe(u.props, kp(pA(l, ["ref"]))); for (let x in f) x in m && delete f[x]; return Gs(u, Object.assign({}, m, f, c, { ref: o(NQe(u), c.ref) }, b)); } return xO(a, Object.assign({}, pA(l, ["ref"]), a !== Tr && c, a !== Tr && f), u); } function PQe() { let e = ce([]), t = dt((r) => { for (let n of e.current) n != null && (typeof n == "function" ? n(r) : n.current = r); }, []); return (...r) => { if (!r.every((n) => n == null)) return e.current = r, t; }; } function CQe(...e) { return e.every((t) => t == null) ? void 0 : (t) => { for (let r of e) r != null && (typeof r == "function" ? r(t) : r.current = t); }; } function Rpe(...e) { if (e.length === 0) return {}; if (e.length === 1) return e[0]; let t = {}, r = {}; for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o]; if (t.disabled || t["aria-disabled"]) for (let n in r) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(n) && (r[n] = [(o) => { var a; return (a = o == null ? void 0 : o.preventDefault) == null ? void 0 : a.call(o); }]); for (let n in r) Object.assign(t, { [n](o, ...a) { let i = r[n]; for (let s of i) { if ((o instanceof Event || (o == null ? void 0 : o.nativeEvent) instanceof Event) && o.defaultPrevented) return; s(o, ...a); } } }); return t; } function yz(e) { var t; return Object.assign(Ym(e), { displayName: (t = e.displayName) != null ? t : e.name }); } function kp(e) { let t = Object.assign({}, e); for (let r in t) t[r] === void 0 && delete t[r]; return t; } function pA(e, t = []) { let r = Object.assign({}, e); for (let n of t) n in r && delete r[n]; return r; } function NQe(e) { return de.version.split(".")[0] >= "19" ? e.props.ref : e.ref; } let _Qe = Symbol(); function Mpe(...e) { let t = ce(e); xe(() => { t.current = e; }, [e]); let r = Cl((n) => { for (let o of t.current) o != null && (typeof o == "function" ? o(n) : o.current = n); }); return e.every((n) => n == null || (n == null ? void 0 : n[_Qe])) ? void 0 : r; } function jQe(e = 0) { let [t, r] = We(e), n = dt((l) => r(l), [t]), o = dt((l) => r((c) => c | l), [t]), a = dt((l) => (t & l) === l, [t]), i = dt((l) => r((c) => c & ~l), [r]), s = dt((l) => r((c) => c ^ l), [r]); return { flags: t, setFlag: n, addFlag: o, hasFlag: a, removeFlag: i, toggleFlag: s }; } var Sq, Eq; typeof process < "u" && typeof globalThis < "u" && typeof Element < "u" && ((Sq = process == null ? void 0 : process.env) == null ? void 0 : Sq.NODE_ENV) === "test" && typeof ((Eq = Element == null ? void 0 : Element.prototype) == null ? void 0 : Eq.getAnimations) > "u" && (Element.prototype.getAnimations = function() { return console.warn(["Headless UI has polyfilled `Element.prototype.getAnimations` for your tests.", "Please install a proper polyfill e.g. `jsdom-testing-mocks`, to silence these warnings.", "", "Example usage:", "```js", "import { mockAnimationsApi } from 'jsdom-testing-mocks'", "mockAnimationsApi()", "```"].join(` `)), []; }); var IQe = ((e) => (e[e.None = 0] = "None", e[e.Closed = 1] = "Closed", e[e.Enter = 2] = "Enter", e[e.Leave = 4] = "Leave", e))(IQe || {}); function RQe(e) { let t = {}; for (let r in e) e[r] === !0 && (t[`data-${r}`] = ""); return t; } function MQe(e, t, r, n) { let [o, a] = We(r), { hasFlag: i, addFlag: s, removeFlag: l } = jQe(e && o ? 3 : 0), c = ce(!1), u = ce(!1), f = Npe(); return vf(() => { var p; if (e) { if (r && a(!0), !t) { r && s(3); return; } return (p = n == null ? void 0 : n.start) == null || p.call(n, r), TQe(t, { inFlight: c, prepare() { u.current ? u.current = !1 : u.current = c.current, c.current = !0, !u.current && (r ? (s(3), l(4)) : (s(4), l(2))); }, run() { u.current ? r ? (l(3), s(4)) : (l(4), s(3)) : r ? l(1) : s(1); }, done() { var v; u.current && typeof t.getAnimations == "function" && t.getAnimations().length > 0 || (c.current = !1, l(7), r || a(!1), (v = n == null ? void 0 : n.end) == null || v.call(n, r)); } }); } }, [e, r, t, f]), e ? [o, { closed: i(1), enter: i(2), leave: i(4), transition: i(2) || i(4) }] : [r, { closed: void 0, enter: void 0, leave: void 0, transition: void 0 }]; } function TQe(e, { prepare: t, run: r, done: n, inFlight: o }) { let a = YS(); return DQe(e, { prepare: t, inFlight: o }), a.nextFrame(() => { r(), a.requestAnimationFrame(() => { a.add(zQe(e, n)); }); }), a.dispose; } function zQe(e, t) { var r, n; let o = YS(); if (!e) return o.dispose; let a = !1; o.add(() => { a = !0; }); let i = (n = (r = e.getAnimations) == null ? void 0 : r.call(e).filter((s) => s instanceof CSSTransition)) != null ? n : []; return i.length === 0 ? (t(), o.dispose) : (Promise.allSettled(i.map((s) => s.finished)).then(() => { a || t(); }), o.dispose); } function DQe(e, { inFlight: t, prepare: r }) { if (t != null && t.current) { r(); return; } let n = e.style.transition; e.style.transition = "none", r(), e.offsetHeight, e.style.transition = n; } let vz = an(null); vz.displayName = "OpenClosedContext"; var Dp = ((e) => (e[e.Open = 1] = "Open", e[e.Closed = 2] = "Closed", e[e.Closing = 4] = "Closing", e[e.Opening = 8] = "Opening", e))(Dp || {}); function Tpe() { return gr(vz); } function FQe({ value: e, children: t }) { return de.createElement(vz.Provider, { value: e }, t); } function LQe() { let e = typeof document > "u"; return "useSyncExternalStore" in V ? ((t) => t.useSyncExternalStore)(V)(() => () => { }, () => !1, () => !e) : !1; } function zpe() { let e = LQe(), [t, r] = V.useState(kk.isHandoffComplete); return t && kk.isHandoffComplete === !1 && r(!1), V.useEffect(() => { t !== !0 && r(!0); }, [t]), V.useEffect(() => kk.handoff(), []), e ? !1 : t; } function VQe() { let e = ce(!1); return vf(() => (e.current = !0, () => { e.current = !1; }), []), e; } function Dpe(e) { var t; return !!(e.enter || e.enterFrom || e.enterTo || e.leave || e.leaveFrom || e.leaveTo) || ((t = e.as) != null ? t : Lpe) !== Tr || de.Children.count(e.children) === 1; } let qS = an(null); qS.displayName = "TransitionContext"; var WQe = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(WQe || {}); function GQe() { let e = gr(qS); if (e === null) throw new Error("A is used but it is missing a parent or ."); return e; } function UQe() { let e = gr(XS); if (e === null) throw new Error("A is used but it is missing a parent or ."); return e; } let XS = an(null); XS.displayName = "NestingContext"; function KS(e) { return "children" in e ? KS(e.children) : e.current.filter(({ el: t }) => t.current !== null).filter(({ state: t }) => t === "visible").length > 0; } function Fpe(e, t) { let r = _pe(e), n = ce([]), o = VQe(), a = Npe(), i = Cl((v, w = cf.Hidden) => { let b = n.current.findIndex(({ el: m }) => m === v); b !== -1 && (BS(w, { [cf.Unmount]() { n.current.splice(b, 1); }, [cf.Hidden]() { n.current[b].state = "hidden"; } }), a.microTask(() => { var m; !KS(n) && o.current && ((m = r.current) == null || m.call(r)); })); }), s = Cl((v) => { let w = n.current.find(({ el: b }) => b === v); return w ? w.state !== "visible" && (w.state = "visible") : n.current.push({ el: v, state: "visible" }), () => i(v, cf.Unmount); }), l = ce([]), c = ce(Promise.resolve()), u = ce({ enter: [], leave: [] }), f = Cl((v, w, b) => { l.current.splice(0), t && (t.chains.current[w] = t.chains.current[w].filter(([m]) => m !== v)), t == null || t.chains.current[w].push([v, new Promise((m) => { l.current.push(m); })]), t == null || t.chains.current[w].push([v, new Promise((m) => { Promise.all(u.current[w].map(([x, O]) => O)).then(() => m()); })]), w === "enter" ? c.current = c.current.then(() => t == null ? void 0 : t.wait.current).then(() => b(w)) : b(w); }), p = Cl((v, w, b) => { Promise.all(u.current[w].splice(0).map(([m, x]) => x)).then(() => { var m; (m = l.current.shift()) == null || m(); }).then(() => b(w)); }); return br(() => ({ children: n, register: s, unregister: i, onStart: f, onStop: p, wait: c, chains: u }), [s, i, n, f, p, u, c]); } let Lpe = Tr, Vpe = jpe.RenderStrategy; function HQe(e, t) { var r, n; let { transition: o = !0, beforeEnter: a, afterEnter: i, beforeLeave: s, afterLeave: l, enter: c, enterFrom: u, enterTo: f, entered: p, leave: v, leaveFrom: w, leaveTo: b, ...m } = e, [x, O] = We(null), E = ce(null), A = Dpe(e), h = Mpe(...A ? [E, t, O] : t === null ? [] : [t]), G = (r = m.unmount) == null || r ? cf.Unmount : cf.Hidden, { show: H, appear: Z, initial: J } = GQe(), [X, ee] = We(H ? "visible" : "hidden"), I = UQe(), { register: te, unregister: U } = I; vf(() => te(E), [te, E]), vf(() => { if (G === cf.Hidden && E.current) { if (H && X !== "visible") { ee("visible"); return; } return BS(X, { hidden: () => U(E), visible: () => te(E) }); } }, [X, E, te, U, H, G]); let z = zpe(); vf(() => { if (A && z && X === "visible" && E.current === null) throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?"); }, [E, X, z, A]); let F = J && !Z, D = Z && H && J, Y = ce(!1), q = Fpe(() => { Y.current || (ee("hidden"), U(E)); }, I), g = Cl((N) => { Y.current = !0; let M = N ? "enter" : "leave"; q.onStart(E, M, (R) => { R === "enter" ? a == null || a() : R === "leave" && (s == null || s()); }); }), d = Cl((N) => { let M = N ? "enter" : "leave"; Y.current = !1, q.onStop(E, M, (R) => { R === "enter" ? i == null || i() : R === "leave" && (l == null || l()); }), M === "leave" && !KS(q) && (ee("hidden"), U(E)); }); xe(() => { A && o || (g(H), d(H)); }, [H, A, o]); let S = !(!o || !A || !z || F), [, C] = MQe(S, x, H, { start: g, end: d }), P = kp({ ref: h, className: ((n = Nj(m.className, D && c, D && u, C.enter && c, C.enter && C.closed && u, C.enter && !C.closed && f, C.leave && v, C.leave && !C.closed && w, C.leave && C.closed && b, !C.transition && H && p)) == null ? void 0 : n.trim()) || void 0, ...RQe(C) }), j = 0; X === "visible" && (j |= Dp.Open), X === "hidden" && (j |= Dp.Closed), H && X === "hidden" && (j |= Dp.Opening), !H && X === "visible" && (j |= Dp.Closing); let _ = Ipe(); return de.createElement(XS.Provider, { value: q }, de.createElement(FQe, { value: j }, _({ ourProps: P, theirProps: m, defaultTag: Lpe, features: Vpe, visible: X === "visible", name: "Transition.Child" }))); } function YQe(e, t) { let { show: r, appear: n = !1, unmount: o = !0, ...a } = e, i = ce(null), s = Dpe(e), l = Mpe(...s ? [i, t] : t === null ? [] : [t]); zpe(); let c = Tpe(); if (r === void 0 && c !== null && (r = (c & Dp.Open) === Dp.Open), r === void 0) throw new Error("A is used but it is missing a `show={true | false}` prop."); let [u, f] = We(r ? "visible" : "hidden"), p = Fpe(() => { r || f("hidden"); }), [v, w] = We(!0), b = ce([r]); vf(() => { v !== !1 && b.current[b.current.length - 1] !== r && (b.current.push(r), w(!1)); }, [b, r]); let m = br(() => ({ show: r, appear: n, initial: v }), [r, n, v]); vf(() => { r ? f("visible") : !KS(p) && i.current !== null && f("hidden"); }, [r, p]); let x = { unmount: o }, O = Cl(() => { var h; v && w(!1), (h = e.beforeEnter) == null || h.call(e); }), E = Cl(() => { var h; v && w(!1), (h = e.beforeLeave) == null || h.call(e); }), A = Ipe(); return de.createElement(XS.Provider, { value: p }, de.createElement(qS.Provider, { value: m }, A({ ourProps: { ...x, as: Tr, children: de.createElement(Wpe, { ref: l, ...x, ...a, beforeEnter: O, beforeLeave: E }) }, theirProps: {}, defaultTag: Tr, features: Vpe, visible: u === "visible", name: "Transition" }))); } function BQe(e, t) { let r = gr(qS) !== null, n = Tpe() !== null; return de.createElement(de.Fragment, null, !r && n ? de.createElement(_j, { ref: t, ...e }) : de.createElement(Wpe, { ref: t, ...e })); } let _j = yz(YQe), Wpe = yz(HQe), qQe = yz(BQe), XQe = Object.assign(_j, { Child: qQe, Root: _j }); const xz = "-", KQe = (e) => { const t = QQe(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(xz); return a[0] === "" && a.length !== 1 && a.shift(), Gpe(a, t) || JQe(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, Gpe = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? Gpe(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(xz); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, Aq = /^\[(.+)\]$/, JQe = (e) => { if (Aq.test(e)) { const t = Aq.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, QQe = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return eZe(Object.entries(e.classGroups), r).forEach(([o, a]) => { jj(a, n, o, t); }), n; }, jj = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : $q(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (ZQe(o)) { jj(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { jj(i, $q(t, a), r, n); }); }); }, $q = (e, t) => { let r = e; return t.split(xz).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, ZQe = (e) => e.isThemeGetter, eZe = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, tZe = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, Upe = "!", rZe = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(Upe), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, nZe = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, oZe = (e) => ({ cache: tZe(e.cacheSize), parseClassName: rZe(e), ...KQe(e) }), aZe = /\s+/, iZe = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(aZe); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = nZe(u).join(":"), x = f ? m + Upe : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function sZe() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = Hpe(t)) && (n && (n += " "), n += r); return n; } const Hpe = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = Hpe(e[n])) && (r && (r += " "), r += t); return r; }; function lZe(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = oZe(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = iZe(l, r); return o(l, u), u; } return function() { return a(sZe.apply(null, arguments)); }; } const yn = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, Ype = /^\[(?:([a-z-]+):)?(.+)\]$/i, cZe = /^\d+\/\d+$/, uZe = /* @__PURE__ */ new Set(["px", "full", "screen"]), fZe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, dZe = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, pZe = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, mZe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, gZe = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, fl = (e) => _h(e) || uZe.has(e) || cZe.test(e), gu = (e) => Yb(e, "length", OZe), _h = (e) => !!e && !Number.isNaN(Number(e)), mA = (e) => Yb(e, "number", _h), Jy = (e) => !!e && Number.isInteger(Number(e)), hZe = (e) => e.endsWith("%") && _h(e.slice(0, -1)), jt = (e) => Ype.test(e), hu = (e) => fZe.test(e), bZe = /* @__PURE__ */ new Set(["length", "size", "percentage"]), yZe = (e) => Yb(e, bZe, Bpe), vZe = (e) => Yb(e, "position", Bpe), xZe = /* @__PURE__ */ new Set(["image", "url"]), wZe = (e) => Yb(e, xZe, EZe), kZe = (e) => Yb(e, "", SZe), Qy = () => !0, Yb = (e, t, r) => { const n = Ype.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, OZe = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. dZe.test(e) && !pZe.test(e) ), Bpe = () => !1, SZe = (e) => mZe.test(e), EZe = (e) => gZe.test(e), AZe = () => { const e = yn("colors"), t = yn("spacing"), r = yn("blur"), n = yn("brightness"), o = yn("borderColor"), a = yn("borderRadius"), i = yn("borderSpacing"), s = yn("borderWidth"), l = yn("contrast"), c = yn("grayscale"), u = yn("hueRotate"), f = yn("invert"), p = yn("gap"), v = yn("gradientColorStops"), w = yn("gradientColorStopPositions"), b = yn("inset"), m = yn("margin"), x = yn("opacity"), O = yn("padding"), E = yn("saturate"), A = yn("scale"), h = yn("sepia"), G = yn("skew"), H = yn("space"), Z = yn("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", jt, t], I = () => [jt, t], te = () => ["", fl, gu], U = () => ["auto", _h, jt], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", jt], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [_h, jt]; return { cacheSize: 500, separator: ":", theme: { colors: [Qy], spacing: [fl, gu], blur: ["none", "", hu, jt], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", hu, jt], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [hZe, gu], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", jt] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [hu] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), jt] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", Jy, jt] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", jt] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", Jy, jt] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [Qy] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", Jy, jt] }, jt] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [Qy] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [Jy, jt] }, jt] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", jt] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", jt] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", jt, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [jt, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [jt, t, "none", "full", "min", "max", "fit", "prose", { screen: [hu] }, hu] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [jt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [jt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [jt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [jt, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", hu, gu] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", mA] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [Qy] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", jt] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", _h, mA] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", fl, jt] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", jt] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", jt] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", fl, gu] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", fl, jt] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", jt] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", jt] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), vZe] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", yZe] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, wZe] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [fl, jt] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [fl, gu] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [fl, gu] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", hu, kZe] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [Qy] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", hu, jt] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", jt] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", jt] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", jt] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [Jy, jt] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", jt] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", jt] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", jt] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [fl, gu, mA] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, Pq = /* @__PURE__ */ lZe(AZe), $Ze = ({ children: e, content: t, position: r, className: n, delay: o = 300, closeOnClick: a = !1, imageSrc: i, description: s, interactive: l = !1 }) => { const [c, u] = We(!1), f = ce(null), p = ce(null), [v, w] = We(!1), [b, m] = We(!1), x = () => f.current ? f.current.querySelectorAll('[data-headlessui-state="open"]').length > 0 : !1; xe(() => { const A = new MutationObserver((h) => { h.forEach((G) => { G.type === "attributes" && G.attributeName === "data-headlessui-state" && G.target.getAttribute("data-headlessui-state") === "open" && u(!1); }); }); return f.current && A.observe(f.current, { attributes: !0, subtree: !0, attributeFilter: ["data-headlessui-state"] }), () => { A.disconnect(); }; }, []); const O = () => { if (f.current) { const A = f.current.getBoundingClientRect(); switch (r) { case "top": return { bottom: A.height + 10, left: "50%", transform: "translateX(-50%)" }; case "bottom": return { top: A.height + 10, left: "50%", transform: "translateX(-50%)" }; case "left": return { right: A.width + 10, top: "50%", transform: "translateY(-50%)" }; case "right": return { left: A.width + 10, top: "50%", transform: "translateY(-50%)" }; default: return {}; } } return {}; }, E = (A) => { a && (u(!1), A.stopPropagation()); }; return xe(() => { x() || u(v || l && b); }, [v, b, l]), /* @__PURE__ */ me( "div", { ref: f, onMouseEnter: () => { w(!0), x() || u(!0); }, onMouseLeave: () => { w(!1), l || u(!1); }, onClick: E, className: "relative", children: [ e, /* @__PURE__ */ B( XQe, { show: c, enter: Pq( "transition ease-out duration-200", o ? `delay-[${o}ms]` : "delay-[300ms]" ), enterFrom: "opacity-0", enterTo: "opacity-100", leave: "transition ease-in duration-150", leaveFrom: "opacity-100", leaveTo: "opacity-0", children: /* @__PURE__ */ B( "div", { ref: p, onMouseEnter: () => l && m(!0), onMouseLeave: () => l && m(!1), style: { ...O(), transitionDelay: `${o}ms`, transitionProperty: "opacity", transitionDuration: "200ms", transitionTimingFunction: "ease-out" }, className: Pq( "absolute z-10 w-max rounded-lg bg-ui-controls px-2.5 py-1.5 text-[13px] font-medium text-base-fg shadow-xl border border-ui-panel-border", l ? "pointer-events-auto" : "pointer-events-none", n || "" ), children: /* @__PURE__ */ me("div", { className: "flex flex-col gap-1", children: [ t, i && /* @__PURE__ */ B( "img", { src: i, alt: "tooltip", className: "mb-1 aspect-square w-56 rounded-md" } ), s && /* @__PURE__ */ B("p", { className: "text-sm text-base-fg font-normal", children: s }) ] }) } ) } ) ] } ); }; function PZe({ isOpen: e, onClose: t, onCloseGallery: r, imageUrl: n, imageAlt: o = "", onImageError: a, title: i, createdAt: s, additionalInfo: l, downloadUrl: c, // cdn url of the image mediaId: u, // media id of the image onDownloadClicked: f, onAddToSceneClicked: p, mediaClass: v, onEditClicked: w }) { const b = n ? n + "?cors=1" : "", [m, x] = de.useState(!1), [O, E] = de.useState(null), [A, h] = de.useState(!1), [G, H] = de.useState(!1), [Z, J] = de.useState(!1), [X, ee] = de.useState(null), [I, te] = de.useState(null), [U, z] = de.useState(null); return de.useEffect(() => { x(!1); }, [n]), de.useEffect(() => { (async () => { var F; if (!u) { E(null), H(!1), ee(null), te(null), z(null); return; } h(!0); try { const D = await new xqe().GetMediaFileByToken({ mediaFileToken: u }); if (D.success && (F = D.data) != null && F.maybe_prompt_token) { H(!0); const Y = await new wqe().GetPromptsByToken({ token: D.data.maybe_prompt_token }); if (Y.success && Y.data) { const q = Y.data; E(q.maybe_positive_prompt || null), ee(q.maybe_generation_provider || null), te(q.maybe_model_type || null), z(q.maybe_context_images || null); } else E(null), ee(null), te(null), z(null); } else H(!1), E(null), ee(null), te(null), z(null); } catch (D) { console.error("Error fetching prompt:", D), H(!1), E(null), ee(null), te(null), z(null); } finally { h(!1); } })(); }, [u]), /* @__PURE__ */ me( cb, { isOpen: e, onClose: t, className: "rounded-xl bg-[#2C2C2C] h-[75vh] w-[60vw] max-w-screen min-w-[35vw] min-h-[40vh] p-4", draggable: !0, allowBackgroundInteraction: !0, showClose: !0, closeOnOutsideClick: !1, resizable: !0, backdropClassName: "pointer-events-none hidden", expandable: !0, children: [ /* @__PURE__ */ B(cb.DragHandle, { children: /* @__PURE__ */ B("div", { className: "absolute left-0 top-0 z-20 h-12 w-full cursor-move rounded-t-xl" }) }), /* @__PURE__ */ me("div", { className: "grid h-full grid-cols-3 gap-6", children: [ /* @__PURE__ */ me("div", { className: "col-span-2 relative flex h-full items-center justify-center overflow-hidden rounded-l-xl bg-[#1A1A1A]", children: [ n ? v === "video" ? /* @__PURE__ */ me( "video", { controls: !0, loop: !0, autoPlay: !0, className: "h-full w-full object-contain", onLoadedData: () => x(!0), children: [ /* @__PURE__ */ B("source", { src: n, type: "video/mp4" }), "Your browser does not support the video tag." ] } ) : /* @__PURE__ */ B( "img", { "data-lightbox-modal": "true", src: b, alt: o, className: "h-full w-full object-contain", onError: a, onLoad: () => x(!0) } ) : /* @__PURE__ */ B("div", { className: "flex h-full w-full items-center justify-center bg-gray-800", children: /* @__PURE__ */ B("span", { className: "text-white/60", children: "Image not available" }) }), !m && n && /* @__PURE__ */ B("div", { className: "absolute inset-0 bg-[#1A1A1A] flex items-center justify-center", children: /* @__PURE__ */ B(OB, { className: "h-12 w-12 text-white" }) }) ] }), /* @__PURE__ */ me("div", { className: "flex h-full flex-col", children: [ /* @__PURE__ */ me("div", { className: "flex-1 space-y-5", children: [ s && /* @__PURE__ */ me("div", { className: "space-y-1.5", children: [ /* @__PURE__ */ B("div", { className: "text-sm font-medium text-white/90", children: "Created" }), /* @__PURE__ */ me("div", { className: "text-sm text-white/70", children: [ vB(s).format("MMM D, YYYY"), " at", " ", vB(s).format("hh:mm A") ] }) ] }), G && /* @__PURE__ */ me(ht, { children: [ /* @__PURE__ */ me("div", { className: "relative space-y-1.5", children: [ /* @__PURE__ */ B("div", { className: "text-sm font-medium text-white/90", children: "Prompt" }), /* @__PURE__ */ B( "div", { className: xq( "relative text-sm text-white/90 break-words bg-black/20 p-3 rounded-lg cursor-pointer transition-colors duration-100 leading-relaxed", Z && "bg-black/30" ), onMouseEnter: () => J(!0), onMouseLeave: () => J(!1), onClick: () => { O && (navigator.clipboard.writeText(O).catch(() => { }), nXe.success("Prompt copied")); }, children: A ? /* @__PURE__ */ me("div", { className: "flex items-center gap-2", children: [ /* @__PURE__ */ B(OB, { className: "h-4 w-4" }), /* @__PURE__ */ B("span", { className: "text-sm text-white/80", children: "Loading prompt..." }) ] }) : O || /* @__PURE__ */ B("span", { className: "text-sm text-white/90", children: "No prompt" }) } ), !A && /* @__PURE__ */ B( "div", { className: xq( "pointer-events-none absolute inset-0 flex items-end justify-end opacity-0 transition-opacity duration-50", Z && "opacity-100" ), children: /* @__PURE__ */ me("div", { className: "flex items-center gap-1 text-xs text-white/80 bg-black/80 backdrop-blur-md p-1.5 rounded-tl-lg rounded-br-lg", children: [ /* @__PURE__ */ B(gz, { icon: NBe, className: "h-3 w-3" }), /* @__PURE__ */ B("span", { children: "Copy prompt" }) ] }) } ) ] }), U && U.length > 0 && /* @__PURE__ */ me("div", { className: "space-y-1.5", children: [ /* @__PURE__ */ B("div", { className: "text-sm font-medium text-white/90", children: "Reference Images" }), /* @__PURE__ */ B("div", { className: "grid grid-cols-6 gap-2", children: U.map((F, D) => { const Y = F.media_links.maybe_thumbnail_template ? F.media_links.maybe_thumbnail_template.replace( "{WIDTH}", "128" ) : F.media_links.cdn_url, q = F.media_links.maybe_thumbnail_template ? F.media_links.maybe_thumbnail_template.replace( "{WIDTH}", "512" ) : F.media_links.cdn_url; return ( // Hover preview /* @__PURE__ */ B( $Ze, { className: "bg-black p-1.5", content: /* @__PURE__ */ me("div", { children: [ /* @__PURE__ */ B("div", { className: "flex flex-col items-center bg-white/10 rounded-lg", children: /* @__PURE__ */ B( "img", { src: q, alt: `Reference image ${D + 1} preview`, className: "w-auto h-48 object-cover rounded-lg" } ) }), F.semantic && /* @__PURE__ */ B("div", { className: "mt-2 text-xs text-white/90 text-center max-w-48 px-1", children: F.semantic }) ] }), position: "top", delay: 300, closeOnClick: !0, children: /* @__PURE__ */ B( "div", { className: "relative group cursor-pointer", onClick: () => { window.open( F.media_links.cdn_url, "_blank" ); }, children: /* @__PURE__ */ B("div", { className: "relative overflow-hidden rounded-lg border border-white/5 bg-white/10 aspect-square", children: /* @__PURE__ */ B( "img", { src: Y, alt: `Reference image ${D + 1}`, className: "w-full h-full object-cover transition-transform duration-200 group-hover:scale-105" } ) }) } ) }, F.media_token ) ); }) }) ] }), (X || I) && /* @__PURE__ */ me("div", { className: "space-y-1.5", children: [ /* @__PURE__ */ B("div", { className: "text-sm font-medium text-white/90", children: "Generation Details" }), /* @__PURE__ */ me("div", { className: "flex flex-col gap-1.5", children: [ I && /* @__PURE__ */ me("div", { className: "flex items-center justify-between py-2 px-3 bg-black/20 rounded-lg border border-white/5", children: [ /* @__PURE__ */ B("span", { className: "text-sm text-white/70 font-medium", children: "Model" }), /* @__PURE__ */ me("div", { className: "flex items-center gap-2", children: [ hQe(I), /* @__PURE__ */ B("span", { className: "text-sm text-white/90 rounded", children: bQe(I) }) ] }) ] }), X && /* @__PURE__ */ me("div", { className: "flex items-center justify-between py-2 px-3 bg-black/20 rounded-lg border border-white/5", children: [ /* @__PURE__ */ B("span", { className: "text-sm text-white/70 font-medium", children: "Provider" }), /* @__PURE__ */ B("span", { className: "text-sm text-white/90 rounded", children: yQe(X) }) ] }) ] }) ] }) ] }), l ] }), p && c || c ? /* @__PURE__ */ me("div", { className: "mt-15 mb-15 flex justify-end gap-2", children: [ /* @__PURE__ */ B( Qw, { onClick: async (F) => { Zw("image_to_3d_clicked"), await jBe({ image_media_token: u, model: Ade.Hunyuan3d2_0 }); }, children: "3D" } ), w && c && /* @__PURE__ */ B( Qw, { icon: PBe, onClick: async (F) => { F.stopPropagation(), Zw("edit_image_clicked"), await w(c, u); }, children: "Edit" } ), p && c && /* @__PURE__ */ B( Qw, { onClick: async (F) => { F.stopPropagation(), Zw("add_to_scene_clicked"), await p(c, u), t(), r(); }, children: "Add to Current Scene" } ), f && c && /* @__PURE__ */ B( Qw, { icon: CBe, onClick: async (F) => { F.stopPropagation(), Zw("download_clicked"), await f(c, v); }, children: "Download" } ) ] }) : null ] }) ] }) ] } ); } /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function CZe(e, t, r) { return (t = _Ze(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function Cq(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function _e(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? Cq(Object(r), !0).forEach(function(n) { CZe(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Cq(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function NZe(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function _Ze(e) { var t = NZe(e, "string"); return typeof t == "symbol" ? t : t + ""; } const Nq = () => { }; let wz = {}, qpe = {}, Xpe = null, Kpe = { mark: Nq, measure: Nq }; try { typeof window < "u" && (wz = window), typeof document < "u" && (qpe = document), typeof MutationObserver < "u" && (Xpe = MutationObserver), typeof performance < "u" && (Kpe = performance); } catch { } const { userAgent: _q = "" } = wz.navigator || {}, Xf = wz, Fn = qpe, jq = Xpe, s2 = Kpe; Xf.document; const $c = !!Fn.documentElement && !!Fn.head && typeof Fn.addEventListener == "function" && typeof Fn.createElement == "function", Jpe = ~_q.indexOf("MSIE") || ~_q.indexOf("Trident/"); var jZe = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, IZe = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, Qpe = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, RZe = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, Zpe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Co = "classic", JS = "duotone", MZe = "sharp", TZe = "sharp-duotone", eme = [Co, JS, MZe, TZe], zZe = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, DZe = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, FZe = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), LZe = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, VZe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], Iq = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, WZe = ["kit"], GZe = { kit: { "fa-kit": "fak" } }, UZe = ["fak", "fakd"], HZe = { kit: { fak: "fa-kit" } }, Rq = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, l2 = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, YZe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], BZe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], qZe = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, XZe = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, KZe = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, Ij = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, JZe = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], Rj = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...YZe, ...JZe], QZe = ["solid", "regular", "light", "thin", "duotone", "brands"], tme = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], ZZe = tme.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), eet = [...Object.keys(KZe), ...QZe, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", l2.GROUP, l2.SWAP_OPACITY, l2.PRIMARY, l2.SECONDARY].concat(tme.map((e) => "".concat(e, "x"))).concat(ZZe.map((e) => "w-".concat(e))), tet = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const Zl = "___FONT_AWESOME___", Mj = 16, rme = "fa", nme = "svg-inline--fa", Am = "data-fa-i2svg", Tj = "data-fa-pseudo-element", ret = "data-fa-pseudo-element-pending", kz = "data-prefix", Oz = "data-icon", Mq = "fontawesome-i2svg", net = "async", oet = ["HTML", "HEAD", "STYLE", "SCRIPT"], ome = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function Fx(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[Co]; } }); } const ame = _e({}, Qpe); ame[Co] = _e(_e(_e(_e({}, { "fa-duotone": "duotone" }), Qpe[Co]), Iq.kit), Iq["kit-duotone"]); const aet = Fx(ame), zj = _e({}, LZe); zj[Co] = _e(_e(_e(_e({}, { duotone: "fad" }), zj[Co]), Rq.kit), Rq["kit-duotone"]); const Tq = Fx(zj), Dj = _e({}, Ij); Dj[Co] = _e(_e({}, Dj[Co]), HZe.kit); const Sz = Fx(Dj), Fj = _e({}, XZe); Fj[Co] = _e(_e({}, Fj[Co]), GZe.kit); Fx(Fj); const iet = jZe, ime = "fa-layers-text", set = IZe, cet = _e({}, zZe); Fx(cet); const uet = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], gA = RZe, fet = [...WZe, ...eet], P1 = Xf.FontAwesomeConfig || {}; function det(e) { var t = Fn.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function pet(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } Fn && typeof Fn.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => { let [t, r] = e; const n = pet(det(t)); n != null && (P1[r] = n); }); const sme = { styleDefault: "solid", familyDefault: Co, cssPrefix: rme, replacementClass: nme, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; P1.familyPrefix && (P1.cssPrefix = P1.familyPrefix); const db = _e(_e({}, sme), P1); db.autoReplaceSvg || (db.observeMutations = !1); const ot = {}; Object.keys(sme).forEach((e) => { Object.defineProperty(ot, e, { enumerable: !0, set: function(t) { db[e] = t, C1.forEach((r) => r(ot)); }, get: function() { return db[e]; } }); }); Object.defineProperty(ot, "familyPrefix", { enumerable: !0, set: function(e) { db.cssPrefix = e, C1.forEach((t) => t(ot)); }, get: function() { return db.cssPrefix; } }); Xf.FontAwesomeConfig = ot; const C1 = []; function met(e) { return C1.push(e), () => { C1.splice(C1.indexOf(e), 1); }; } const bu = Mj, Es = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function get(e) { if (!e || !$c) return; const t = Fn.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = Fn.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return Fn.head.insertBefore(t, n), e; } const het = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function B0() { let e = 12, t = ""; for (; e-- > 0; ) t += het[Math.random() * 62 | 0]; return t; } function Bb(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function Ez(e) { return e.classList ? Bb(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function lme(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function bet(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(lme(e[r]), '" '), "").trim(); } function QS(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function Az(e) { return e.size !== Es.size || e.x !== Es.x || e.y !== Es.y || e.rotate !== Es.rotate || e.flipX || e.flipY; } function yet(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), l = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: l, path: c }; } function vet(e) { let { transform: t, width: r = Mj, height: n = Mj, startCentered: o = !1 } = e, a = ""; return o && Jpe ? a += "translate(".concat(t.x / bu - r / 2, "em, ").concat(t.y / bu - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / bu, "em), calc(-50% + ").concat(t.y / bu, "em)) ") : a += "translate(".concat(t.x / bu, "em, ").concat(t.y / bu, "em) "), a += "scale(".concat(t.size / bu * (t.flipX ? -1 : 1), ", ").concat(t.size / bu * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var xet = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function cme() { const e = rme, t = nme, r = ot.cssPrefix, n = ot.replacementClass; let o = xet; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let zq = !1; function hA() { ot.autoAddCss && !zq && (get(cme()), zq = !0); } var wet = { mixout() { return { dom: { css: cme, insertCss: hA } }; }, hooks() { return { beforeDOMElementCreation() { hA(); }, beforeI2svg() { hA(); } }; } }; const ec = Xf || {}; ec[Zl] || (ec[Zl] = {}); ec[Zl].styles || (ec[Zl].styles = {}); ec[Zl].hooks || (ec[Zl].hooks = {}); ec[Zl].shims || (ec[Zl].shims = []); var As = ec[Zl]; const ume = [], fme = function() { Fn.removeEventListener("DOMContentLoaded", fme), L5 = 1, ume.map((e) => e()); }; let L5 = !1; $c && (L5 = (Fn.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Fn.readyState), L5 || Fn.addEventListener("DOMContentLoaded", fme)); function ket(e) { $c && (L5 ? setTimeout(e, 0) : ume.push(e)); } function Lx(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? lme(e) : "<".concat(t, " ").concat(bet(r), ">").concat(n.map(Lx).join(""), ""); } function Dq(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var bA = function(e, t, r, n) { var o = Object.keys(e), a = o.length, i = t, s, l, c; for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++) l = o[s], c = i(c, e[l], l, e); return c; }; function Oet(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function dme(e) { const t = Oet(e); return t.length === 1 ? t[0].toString(16) : null; } function Eet(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function Fq(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function Lj(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = Fq(t); typeof As.hooks.addPack == "function" && !n ? As.hooks.addPack(e, Fq(t)) : As.styles[e] = _e(_e({}, As.styles[e] || {}), o), e === "fas" && Lj("fa", t); } const { styles: q0, shims: Aet } = As, pme = Object.keys(Sz), $et = pme.reduce((e, t) => (e[t] = Object.keys(Sz[t]), e), {}); let $z = null, mme = {}, gme = {}, hme = {}, bme = {}, yme = {}; function Pet(e) { return ~fet.indexOf(e); } function Cet(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !Pet(o) ? o : null; } const vme = () => { const e = (n) => bA(q0, (o, a, i) => (o[i] = bA(a, n, {}), o), {}); mme = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => { n[i.toString(16)] = a; }), n)), gme = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => { n[i] = a; }), n)), yme = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in q0 || ot.autoFetchSvg, r = bA(Aet, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); hme = r.names, bme = r.unicodes, $z = ZS(ot.styleDefault, { family: ot.familyDefault }); }; met((e) => { $z = ZS(e.styleDefault, { family: ot.familyDefault }); }); vme(); function Pz(e, t) { return (mme[e] || {})[t]; } function Net(e, t) { return (gme[e] || {})[t]; } function Fp(e, t) { return (yme[e] || {})[t]; } function xme(e) { return hme[e] || { prefix: null, iconName: null }; } function _et(e) { const t = bme[e], r = Pz("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function Kf() { return $z; } const wme = () => ({ prefix: null, iconName: null, rest: [] }); function jet(e) { let t = Co; const r = pme.reduce((n, o) => (n[o] = "".concat(ot.cssPrefix, "-").concat(o), n), {}); return eme.forEach((n) => { (e.includes(r[n]) || e.some((o) => $et[n].includes(o))) && (t = n); }), t; } function ZS(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = Co } = t, n = aet[r][e]; if (r === JS && !e) return "fad"; const o = Tq[r][e] || Tq[r][n], a = e in As.styles ? e : null; return o || a || null; } function Iet(e) { let t = [], r = null; return e.forEach((n) => { const o = Cet(ot.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function Lq(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function e3(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = Rj.concat(BZe), a = Lq(e.filter((f) => o.includes(f))), i = Lq(e.filter((f) => !Rj.includes(f))), s = a.filter((f) => (n = f, !Zpe.includes(f))), [l = null] = s, c = jet(a), u = _e(_e({}, Iet(i)), {}, { prefix: ZS(l, { family: c }) }); return _e(_e(_e({}, u), zet({ values: e, family: c, styles: q0, config: ot, canonical: u, givenPrefix: n })), Ret(r, n, u)); } function Ret(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? xme(o) : {}, i = Fp(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !q0.far && q0.fas && !ot.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const Met = eme.filter((e) => e !== Co || e !== JS), Tet = Object.keys(Ij).filter((e) => e !== Co).map((e) => Object.keys(Ij[e])).flat(); function zet(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === JS, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && Met.includes(r) && (Object.keys(a).find((f) => Tet.includes(f)) || i.autoFetchSvg)) { const f = FZe.get(r).defaultShortPrefixId; n.prefix = f, n.iconName = Fp(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = Kf() || "fas"), n; } let Det = class { constructor() { this.definitions = {}; } add() { for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r]; const n = t.reduce(this._pullDefinitions, {}); Object.keys(n).forEach((o) => { this.definitions[o] = _e(_e({}, this.definitions[o] || {}), n[o]), Lj(o, n[o]); const a = Sz[Co][o]; a && Lj(a, n[o]), vme(); }); } reset() { this.definitions = {}; } _pullDefinitions(e, t) { const r = t.prefix && t.iconName && t.icon ? { 0: t } : t; return Object.keys(r).map((n) => { const { prefix: o, iconName: a, icon: i } = r[n], s = i[2]; e[o] || (e[o] = {}), s.length > 0 && s.forEach((l) => { typeof l == "string" && (e[o][l] = i); }), e[o][a] = i; }), e; } }, Vq = [], Lg = {}; const jh = {}, Fet = Object.keys(jh); function Let(e, t) { let { mixoutsTo: r } = t; return Vq = e, Lg = {}, Object.keys(jh).forEach((n) => { Fet.indexOf(n) === -1 && delete jh[n]; }), Vq.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { Lg[i] || (Lg[i] = []), Lg[i].push(a[i]); }); } n.provides && n.provides(jh); }), r; } function Vj(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (Lg[e] || []).forEach((a) => { t = a.apply(null, [t, ...n]); }), t; } function $m(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (Lg[e] || []).forEach((o) => { o.apply(null, r); }); } function Jf() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return jh[e] ? jh[e].apply(null, t) : void 0; } function Wj(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || Kf(); if (t) return t = Fp(r, t) || t, Dq(kme.definitions, r, t) || Dq(As.styles, r, t); } const kme = new Det(), Vet = () => { ot.autoReplaceSvg = !1, ot.observeMutations = !1, $m("noAuto"); }, Wet = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return $c ? ($m("beforeI2svg", e), Jf("pseudoElements2svg", e), Jf("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; ot.autoReplaceSvg === !1 && (ot.autoReplaceSvg = !0), ot.observeMutations = !0, ket(() => { Uet({ autoReplaceSvgRoot: t }), $m("watch", e); }); } }, Get = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: Fp(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = ZS(e[0]); return { prefix: r, iconName: Fp(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(ot.cssPrefix, "-")) > -1 || e.match(iet))) { const t = e3(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || Kf(), iconName: Fp(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = Kf(); return { prefix: t, iconName: Fp(t, e) || e }; } } }, Aa = { noAuto: Vet, config: ot, dom: Wet, parse: Get, library: kme, findIconDefinition: Wj, toHtml: Lx }, Uet = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = Fn } = e; (Object.keys(As.styles).length > 0 || ot.autoFetchSvg) && $c && ot.autoReplaceSvg && Aa.dom.i2svg({ node: t }); }; function t3(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => Lx(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!$c) return; const r = Fn.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function Het(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (Az(i) && r.found && !n.found) { const { width: s, height: l } = r, c = { x: s / l / 2, y: 0.5 }; o.style = QS(_e(_e({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function Yet(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(ot.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: _e(_e({}, o), {}, { id: i }), children: n }] }]; } function Cz(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: l, titleId: c, extra: u, watchable: f = !1 } = e, { width: p, height: v } = r.found ? r : t, w = UZe.includes(n), b = [ot.replacementClass, o ? "".concat(ot.cssPrefix, "-").concat(o) : ""].filter((h) => u.classes.indexOf(h) === -1).filter((h) => h !== "" || !!h).concat(u.classes).join(" "); let m = { children: [], attributes: _e(_e({}, u.attributes), {}, { "data-prefix": n, "data-icon": o, class: b, role: u.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(p, " ").concat(v) }) }; const x = w && !~u.classes.indexOf("fa-fw") ? { width: "".concat(p / v * 16 * 0.0625, "em") } : {}; f && (m.attributes[Am] = ""), s && (m.children.push({ tag: "title", attributes: { id: m.attributes["aria-labelledby"] || "title-".concat(c || B0()) }, children: [s] }), delete m.attributes.title); const O = _e(_e({}, m), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: l, transform: a, symbol: i, styles: _e(_e({}, x), u.styles) }), { children: E, attributes: A } = r.found && t.found ? Jf("generateAbstractMask", O) || { children: [], attributes: {} } : Jf("generateAbstractIcon", O) || { children: [], attributes: {} }; return O.children = E, O.attributes = A, i ? Yet(O) : Het(O); } function Wq(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, l = _e(_e(_e({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (l[Am] = ""); const c = _e({}, i.styles); Az(o) && (c.transform = vet({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const u = QS(c); u.length > 0 && (l.style = u); const f = []; return f.push({ tag: "span", attributes: l, children: [t] }), a && f.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), f; } function Bet(e) { const { content: t, title: r, extra: n } = e, o = _e(_e(_e({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = QS(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: yA } = As; function Gj(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(ot.cssPrefix, "-").concat(gA.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(ot.cssPrefix, "-").concat(gA.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(ot.cssPrefix, "-").concat(gA.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const qet = { found: !1, width: 512, height: 512 }; function Xet(e, t) { !ome && !ot.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function Uj(e, t) { let r = t; return t === "fa" && ot.styleDefault !== null && (t = Kf()), new Promise((n, o) => { if (r === "fa") { const a = xme(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && yA[t] && yA[t][e]) { const a = yA[t][e]; return n(Gj(a)); } Xet(e, t), n(_e(_e({}, qet), {}, { icon: ot.showMissingIcons && e ? Jf("missingIconAbstract") || {} : {} })); }); } const Gq = () => { }, Hj = ot.measurePerformance && s2 && s2.mark && s2.measure ? s2 : { mark: Gq, measure: Gq }, Fv = 'FA "6.7.2"', Ket = (e) => (Hj.mark("".concat(Fv, " ").concat(e, " begins")), () => Ome(e)), Ome = (e) => { Hj.mark("".concat(Fv, " ").concat(e, " ends")), Hj.measure("".concat(Fv, " ").concat(e), "".concat(Fv, " ").concat(e, " begins"), "".concat(Fv, " ").concat(e, " ends")); }; var Nz = { begin: Ket, end: Ome }; const Ok = () => { }; function Uq(e) { return typeof (e.getAttribute ? e.getAttribute(Am) : null) == "string"; } function Jet(e) { const t = e.getAttribute ? e.getAttribute(kz) : null, r = e.getAttribute ? e.getAttribute(Oz) : null; return t && r; } function Qet(e) { return e && e.classList && e.classList.contains && e.classList.contains(ot.replacementClass); } function Zet() { return ot.autoReplaceSvg === !0 ? Sk.replace : Sk[ot.autoReplaceSvg] || Sk.replace; } function ett(e) { return Fn.createElementNS("http://www.w3.org/2000/svg", e); } function ttt(e) { return Fn.createElement(e); } function Sme(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? ett : ttt } = t; if (typeof e == "string") return Fn.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(o) { n.setAttribute(o, e.attributes[o]); }), (e.children || []).forEach(function(o) { n.appendChild(Sme(o, { ceFn: r })); }), n; } function rtt(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const Sk = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(Sme(r), t); }), t.getAttribute(Am) === null && ot.keepOriginalSource) { let r = Fn.createComment(rtt(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~Ez(t).indexOf(ot.replacementClass)) return Sk.replace(e); const n = new RegExp("".concat(ot.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === ot.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => Lx(a)).join(` `); t.setAttribute(Am, ""), t.innerHTML = o; } }; function Hq(e) { e(); } function Eme(e, t) { const r = typeof t == "function" ? t : Ok; if (e.length === 0) r(); else { let n = Hq; ot.mutateApproach === net && (n = Xf.requestAnimationFrame || Hq), n(() => { const o = Zet(), a = Nz.begin("mutate"); e.map(o), a(), r(); }); } } let _z = !1; function Ame() { _z = !0; } function Yj() { _z = !1; } let V5 = null; function Yq(e) { if (!jq || !ot.observeMutations) return; const { treeCallback: t = Ok, nodeCallback: r = Ok, pseudoElementsCallback: n = Ok, observeMutationsRoot: o = Fn } = e; V5 = new jq((a) => { if (_z) return; const i = Kf(); Bb(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !Uq(s.addedNodes[0]) && (ot.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && ot.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && Uq(s.target) && ~uet.indexOf(s.attributeName)) if (s.attributeName === "class" && Jet(s.target)) { const { prefix: l, iconName: c } = e3(Ez(s.target)); s.target.setAttribute(kz, l || i), c && s.target.setAttribute(Oz, c); } else Qet(s.target) && r(s.target); }); }), $c && V5.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function ntt() { V5 && V5.disconnect(); } function ott(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function att(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = e3(Ez(e)); return o.prefix || (o.prefix = Kf()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = Net(o.prefix, e.innerText) || Pz(o.prefix, dme(e.innerText))), !o.iconName && ot.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function itt(e) { const t = Bb(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return ot.autoA11y && (r ? t["aria-labelledby"] = "".concat(ot.replacementClass, "-title-").concat(n || B0()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function stt() { return { iconName: null, title: null, titleId: null, prefix: null, transform: Es, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function Bq(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = att(e), a = itt(e), i = Vj("parseNodeAttributes", {}, e); let s = t.styleParser ? ott(e) : []; return _e({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: Es, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: ltt } = As; function $me(e) { const t = ot.autoReplaceSvg === "nest" ? Bq(e, { styleParser: !1 }) : Bq(e); return ~t.extra.classes.indexOf(ime) ? Jf("generateLayersText", e, t) : Jf("generateSvgReplacementMutation", e, t); } function ctt() { return [...VZe, ...Rj]; } function qq(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!$c) return Promise.resolve(); const r = Fn.documentElement.classList, n = (u) => r.add("".concat(Mq, "-").concat(u)), o = (u) => r.remove("".concat(Mq, "-").concat(u)), a = ot.autoFetchSvg ? ctt() : Zpe.concat(Object.keys(ltt)); a.includes("fa") || a.push("fa"); const i = [".".concat(ime, ":not([").concat(Am, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(Am, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = Bb(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const l = Nz.begin("onTree"), c = s.reduce((u, f) => { try { const p = $me(f); p && u.push(p); } catch (p) { ome || p.name === "MissingIcon" && console.error(p); } return u; }, []); return new Promise((u, f) => { Promise.all(c).then((p) => { Eme(p, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u(); }); }).catch((p) => { l(), f(p); }); }); } function utt(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; $me(e).then((r) => { r && Eme([r], t); }); } function ftt(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : Wj(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : Wj(o || {})), e(n, _e(_e({}, r), {}, { mask: o })); }; } const dtt = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = Es, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: l = [], attributes: c = {}, styles: u = {} } = t; if (!e) return; const { prefix: f, iconName: p, icon: v } = e; return t3(_e({ type: "icon" }, e), () => ($m("beforeDOMElementCreation", { iconDefinition: e, params: t }), ot.autoA11y && (i ? c["aria-labelledby"] = "".concat(ot.replacementClass, "-title-").concat(s || B0()) : (c["aria-hidden"] = "true", c.focusable = "false")), Cz({ icons: { main: Gj(v), mask: o ? Gj(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: f, iconName: p, transform: _e(_e({}, Es), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: u, classes: l } }))); }; var ptt = { mixout() { return { icon: ftt(dtt) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = qq, e.nodeCallback = utt, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = Fn, callback: n = () => { } } = t; return qq(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: l, mask: c, maskId: u, extra: f } = r; return new Promise((p, v) => { Promise.all([Uj(n, i), c.iconName ? Uj(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((w) => { let [b, m] = w; p([t, Cz({ icons: { main: b, mask: m }, prefix: i, iconName: n, transform: s, symbol: l, maskId: u, title: o, titleId: a, extra: f, watchable: !0 })]); }).catch(v); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = QS(i); s.length > 0 && (n.style = s); let l; return Az(a) && (l = Jf("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(l || o.icon), { children: r, attributes: n }; }; } }, mtt = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return t3({ type: "layer" }, () => { $m("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(ot.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, gtt = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return t3({ type: "counter", content: e }, () => ($m("beforeDOMElementCreation", { content: e, params: t }), Bet({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(ot.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, htt = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = Es, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return t3({ type: "text", content: e }, () => ($m("beforeDOMElementCreation", { content: e, params: t }), Wq({ content: e, transform: _e(_e({}, Es), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(ot.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (Jpe) { const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / l, s = c.height / l; } return ot.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, Wq({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const btt = new RegExp('"', "ug"), Xq = [1105920, 1112319], Kq = _e(_e(_e(_e({}, { FontAwesome: { normal: "fas", 400: "fas" } }), DZe), tet), qZe), Bj = Object.keys(Kq).reduce((e, t) => (e[t.toLowerCase()] = Kq[t], e), {}), ytt = Object.keys(Bj).reduce((e, t) => { const r = Bj[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function vtt(e) { const t = e.replace(btt, ""), r = Eet(t, 0), n = r >= Xq[0] && r <= Xq[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: dme(o ? t[0] : t), isSecondary: n || o }; } function xtt(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return (Bj[r] || {})[o] || ytt[r]; } function Jq(e, t) { const r = "".concat(ret).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const a = Bb(e.children).filter((f) => f.getAttribute(Tj) === t)[0], i = Xf.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(set), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content"); if (a && !l) return e.removeChild(a), n(); if (l && u !== "none" && u !== "") { const f = i.getPropertyValue("content"); let p = xtt(s, c); const { value: v, isSecondary: w } = vtt(f), b = l[0].startsWith("FontAwesome"); let m = Pz(p, v), x = m; if (b) { const O = _et(v); O.iconName && O.prefix && (m = O.iconName, p = O.prefix); } if (m && !w && (!a || a.getAttribute(kz) !== p || a.getAttribute(Oz) !== x)) { e.setAttribute(r, x), a && e.removeChild(a); const O = stt(), { extra: E } = O; E.attributes[Tj] = t, Uj(m, p).then((A) => { const h = Cz(_e(_e({}, O), {}, { icons: { main: A, mask: wme() }, prefix: p, iconName: x, extra: E, watchable: !0 })), G = Fn.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(G, e.firstChild) : e.appendChild(G), G.outerHTML = h.map((H) => Lx(H)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function wtt(e) { return Promise.all([Jq(e, "::before"), Jq(e, "::after")]); } function ktt(e) { return e.parentNode !== document.head && !~oet.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(Tj) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function Qq(e) { if ($c) return new Promise((t, r) => { const n = Bb(e.querySelectorAll("*")).filter(ktt).map(wtt), o = Nz.begin("searchPseudoElements"); Ame(), Promise.all(n).then(() => { o(), Yj(), t(); }).catch(() => { o(), Yj(), r(); }); }); } var Ott = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = Qq, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = Fn } = t; ot.searchPseudoElements && Qq(r); }; } }; let Zq = !1; var Stt = { mixout() { return { dom: { unwatch() { Ame(), Zq = !0; } } }; }, hooks() { return { bootstrap() { Yq(Vj("mutationObserverCallbacks", {})); }, noAuto() { ntt(); }, watch(e) { const { observeMutationsRoot: t } = e; Zq ? Yj() : Yq(Vj("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const eX = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var Ett = { mixout() { return { parse: { transform: (e) => eX(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = eX(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = { transform: "".concat(s, " ").concat(l, " ").concat(c) }, f = { transform: "translate(".concat(a / 2 * -1, " -256)") }, p = { outer: i, inner: u, path: f }; return { tag: "g", attributes: _e({}, p.outer), children: [{ tag: "g", attributes: _e({}, p.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: _e(_e({}, r.icon.attributes), p.path) }] }] }; }; } }; const vA = { x: 0, y: 0, width: "100%", height: "100%" }; function tX(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function Att(e) { return e.tag === "g" ? e.children : [e]; } var $tt = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? e3(r.split(" ").map((o) => o.trim())) : wme(); return n.prefix || (n.prefix = Kf()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: l, icon: c } = o, { width: u, icon: f } = a, p = yet({ transform: s, containerWidth: u, iconWidth: l }), v = { tag: "rect", attributes: _e(_e({}, vA), {}, { fill: "white" }) }, w = c.children ? { children: c.children.map(tX) } : {}, b = { tag: "g", attributes: _e({}, p.inner), children: [tX(_e({ tag: c.tag, attributes: _e(_e({}, c.attributes), p.path) }, w))] }, m = { tag: "g", attributes: _e({}, p.outer), children: [b] }, x = "mask-".concat(i || B0()), O = "clip-".concat(i || B0()), E = { tag: "mask", attributes: _e(_e({}, vA), {}, { id: x, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [v, m] }, A = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: O }, children: Att(f) }, E] }; return r.push(A, { tag: "rect", attributes: _e({ fill: "currentColor", "clip-path": "url(#".concat(O, ")"), mask: "url(#".concat(x, ")") }, vA) }), { children: r, attributes: n }; }; } }, Ptt = { provides(e) { let t = !1; Xf.matchMedia && (t = Xf.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: _e(_e({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = _e(_e({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: _e(_e({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: _e(_e({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: _e(_e({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: _e(_e({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: _e(_e({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: _e(_e({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: _e(_e({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, Ctt = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, Ntt = [wet, ptt, mtt, gtt, htt, Ott, Stt, Ett, $tt, Ptt, Ctt]; Let(Ntt, { mixoutsTo: Aa }); Aa.noAuto; Aa.config; Aa.library; Aa.dom; const qj = Aa.parse; Aa.findIconDefinition; Aa.toHtml; const _tt = Aa.icon; Aa.layer; Aa.text; Aa.counter; function jtt(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var c2 = { exports: {} }, xA = { exports: {} }, Pr = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var rX; function Itt() { if (rX) return Pr; rX = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(h) { if (typeof h == "object" && h !== null) { var G = h.$$typeof; switch (G) { case t: switch (h = h.type, h) { case l: case c: case n: case a: case o: case f: return h; default: switch (h = h && h.$$typeof, h) { case s: case u: case w: case v: case i: return h; default: return G; } } case r: return G; } } } function A(h) { return E(h) === c; } return Pr.AsyncMode = l, Pr.ConcurrentMode = c, Pr.ContextConsumer = s, Pr.ContextProvider = i, Pr.Element = t, Pr.ForwardRef = u, Pr.Fragment = n, Pr.Lazy = w, Pr.Memo = v, Pr.Portal = r, Pr.Profiler = a, Pr.StrictMode = o, Pr.Suspense = f, Pr.isAsyncMode = function(h) { return A(h) || E(h) === l; }, Pr.isConcurrentMode = A, Pr.isContextConsumer = function(h) { return E(h) === s; }, Pr.isContextProvider = function(h) { return E(h) === i; }, Pr.isElement = function(h) { return typeof h == "object" && h !== null && h.$$typeof === t; }, Pr.isForwardRef = function(h) { return E(h) === u; }, Pr.isFragment = function(h) { return E(h) === n; }, Pr.isLazy = function(h) { return E(h) === w; }, Pr.isMemo = function(h) { return E(h) === v; }, Pr.isPortal = function(h) { return E(h) === r; }, Pr.isProfiler = function(h) { return E(h) === a; }, Pr.isStrictMode = function(h) { return E(h) === o; }, Pr.isSuspense = function(h) { return E(h) === f; }, Pr.isValidElementType = function(h) { return typeof h == "string" || typeof h == "function" || h === n || h === c || h === a || h === o || h === f || h === p || typeof h == "object" && h !== null && (h.$$typeof === w || h.$$typeof === v || h.$$typeof === i || h.$$typeof === s || h.$$typeof === u || h.$$typeof === m || h.$$typeof === x || h.$$typeof === O || h.$$typeof === b); }, Pr.typeOf = E, Pr; } var Yr = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var nX; function Rtt() { return nX || (nX = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === f || k === p || typeof k == "object" && k !== null && (k.$$typeof === w || k.$$typeof === v || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === m || k.$$typeof === x || k.$$typeof === O || k.$$typeof === b); } function A(k) { if (typeof k == "object" && k !== null) { var ne = k.$$typeof; switch (ne) { case t: var pe = k.type; switch (pe) { case l: case c: case n: case a: case o: case f: return pe; default: var He = pe && pe.$$typeof; switch (He) { case s: case u: case w: case v: case i: return He; default: return ne; } } case r: return ne; } } } var h = l, G = c, H = s, Z = i, J = t, X = u, ee = n, I = w, te = v, U = r, z = a, F = o, D = f, Y = !1; function q(k) { return Y || (Y = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), g(k) || A(k) === l; } function g(k) { return A(k) === c; } function d(k) { return A(k) === s; } function S(k) { return A(k) === i; } function C(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function P(k) { return A(k) === u; } function j(k) { return A(k) === n; } function _(k) { return A(k) === w; } function N(k) { return A(k) === v; } function M(k) { return A(k) === r; } function R(k) { return A(k) === a; } function T(k) { return A(k) === o; } function Q(k) { return A(k) === f; } Yr.AsyncMode = h, Yr.ConcurrentMode = G, Yr.ContextConsumer = H, Yr.ContextProvider = Z, Yr.Element = J, Yr.ForwardRef = X, Yr.Fragment = ee, Yr.Lazy = I, Yr.Memo = te, Yr.Portal = U, Yr.Profiler = z, Yr.StrictMode = F, Yr.Suspense = D, Yr.isAsyncMode = q, Yr.isConcurrentMode = g, Yr.isContextConsumer = d, Yr.isContextProvider = S, Yr.isElement = C, Yr.isForwardRef = P, Yr.isFragment = j, Yr.isLazy = _, Yr.isMemo = N, Yr.isPortal = M, Yr.isProfiler = R, Yr.isStrictMode = T, Yr.isSuspense = Q, Yr.isValidElementType = E, Yr.typeOf = A; }()), Yr; } var oX; function Pme() { return oX || (oX = 1, process.env.NODE_ENV === "production" ? xA.exports = Itt() : xA.exports = Rtt()), xA.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var wA, aX; function Mtt() { if (aX) return wA; aX = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var l = Object.getOwnPropertyNames(i).map(function(u) { return i[u]; }); if (l.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(u) { c[u] = u; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return wA = o() ? Object.assign : function(a, i) { for (var s, l = n(a), c, u = 1; u < arguments.length; u++) { s = Object(arguments[u]); for (var f in s) t.call(s, f) && (l[f] = s[f]); if (e) { c = e(s); for (var p = 0; p < c.length; p++) r.call(s, c[p]) && (l[c[p]] = s[c[p]]); } } return l; }, wA; } var kA, iX; function jz() { if (iX) return kA; iX = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return kA = e, kA; } var sX, lX; function Cme() { return lX || (lX = 1, sX = Function.call.bind(Object.prototype.hasOwnProperty)), sX; } var OA, cX; function Ttt() { if (cX) return OA; cX = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ jz(), r = {}, n = /* @__PURE__ */ Cme(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, l, c) { if (process.env.NODE_ENV !== "production") { for (var u in a) if (n(a, u)) { var f; try { if (typeof a[u] != "function") { var p = Error( (l || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw p.name = "Invariant Violation", p; } f = a[u](i, u, l, s, null, t); } catch (w) { f = w; } if (f && !(f instanceof Error) && e( (l || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), f instanceof Error && !(f.message in r)) { r[f.message] = !0; var v = c ? c() : ""; e( "Failed " + s + " type: " + f.message + (v ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, OA = o, OA; } var SA, uX; function ztt() { if (uX) return SA; uX = 1; var e = Pme(), t = Mtt(), r = /* @__PURE__ */ jz(), n = /* @__PURE__ */ Cme(), o = /* @__PURE__ */ Ttt(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var l = "Warning: " + s; typeof console < "u" && console.error(l); try { throw new Error(l); } catch { } }); function i() { return null; } return SA = function(s, l) { var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator"; function f(g) { var d = g && (c && g[c] || g[u]); if (typeof d == "function") return d; } var p = "<>", v = { array: x("array"), bigint: x("bigint"), bool: x("boolean"), func: x("function"), number: x("number"), object: x("object"), string: x("string"), symbol: x("symbol"), any: O(), arrayOf: E, element: A(), elementType: h(), instanceOf: G, node: X(), objectOf: Z, oneOf: H, oneOfType: J, shape: I, exact: te }; function w(g, d) { return g === d ? g !== 0 || 1 / g === 1 / d : g !== g && d !== d; } function b(g, d) { this.message = g, this.data = d && typeof d == "object" ? d : {}, this.stack = ""; } b.prototype = Error.prototype; function m(g) { if (process.env.NODE_ENV !== "production") var d = {}, S = 0; function C(j, _, N, M, R, T, Q) { if (M = M || p, T = T || N, Q !== r) { if (l) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var ne = M + ":" + N; !d[ne] && // Avoid spamming the console because they are often not actionable except for lib authors S < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + M + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), d[ne] = !0, S++); } } return _[N] == null ? j ? _[N] === null ? new b("The " + R + " `" + T + "` is marked as required " + ("in `" + M + "`, but its value is `null`.")) : new b("The " + R + " `" + T + "` is marked as required in " + ("`" + M + "`, but its value is `undefined`.")) : null : g(_, N, M, R, T); } var P = C.bind(null, !1); return P.isRequired = C.bind(null, !0), P; } function x(g) { function d(S, C, P, j, _, N) { var M = S[C], R = F(M); if (R !== g) { var T = D(M); return new b( "Invalid " + j + " `" + _ + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."), { expectedType: g } ); } return null; } return m(d); } function O() { return m(i); } function E(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside arrayOf."); var N = S[C]; if (!Array.isArray(N)) { var M = F(N); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an array.")); } for (var R = 0; R < N.length; R++) { var T = g(N, R, P, j, _ + "[" + R + "]", r); if (T instanceof Error) return T; } return null; } return m(d); } function A() { function g(d, S, C, P, j) { var _ = d[S]; if (!s(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement.")); } return null; } return m(g); } function h() { function g(d, S, C, P, j) { var _ = d[S]; if (!e.isValidElementType(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement type.")); } return null; } return m(g); } function G(g) { function d(S, C, P, j, _) { if (!(S[C] instanceof g)) { var N = g.name || p, M = q(S[C]); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected ") + ("instance of `" + N + "`.")); } return null; } return m(d); } function H(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function d(S, C, P, j, _) { for (var N = S[C], M = 0; M < g.length; M++) if (w(N, g[M])) return null; var R = JSON.stringify(g, function(T, Q) { var k = D(Q); return k === "symbol" ? String(Q) : Q; }); return new b("Invalid " + j + " `" + _ + "` of value `" + String(N) + "` " + ("supplied to `" + P + "`, expected one of " + R + ".")); } return m(d); } function Z(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside objectOf."); var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an object.")); for (var R in N) if (n(N, R)) { var T = g(N, R, P, j, _ + "." + R, r); if (T instanceof Error) return T; } return null; } return m(d); } function J(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var d = 0; d < g.length; d++) { var S = g[d]; if (typeof S != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(S) + " at index " + d + "." ), i; } function C(P, j, _, N, M) { for (var R = [], T = 0; T < g.length; T++) { var Q = g[T], k = Q(P, j, _, N, M, r); if (k == null) return null; k.data && n(k.data, "expectedType") && R.push(k.data.expectedType); } var ne = R.length > 0 ? ", expected one of type [" + R.join(", ") + "]" : ""; return new b("Invalid " + N + " `" + M + "` supplied to " + ("`" + _ + "`" + ne + ".")); } return m(C); } function X() { function g(d, S, C, P, j) { return U(d[S]) ? null : new b("Invalid " + P + " `" + j + "` supplied to " + ("`" + C + "`, expected a ReactNode.")); } return m(g); } function ee(g, d, S, C, P) { return new b( (g || "React class") + ": " + d + " type `" + S + "." + C + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`." ); } function I(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); for (var R in g) { var T = g[R]; if (typeof T != "function") return ee(P, j, _, R, D(T)); var Q = T(N, R, P, j, _ + "." + R, r); if (Q) return Q; } return null; } return m(d); } function te(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); var R = t({}, S[C], g); for (var T in R) { var Q = g[T]; if (n(g, T) && typeof Q != "function") return ee(P, j, _, T, D(Q)); if (!Q) return new b( "Invalid " + j + " `" + _ + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(S[C], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(g), null, " ") ); var k = Q(N, T, P, j, _ + "." + T, r); if (k) return k; } return null; } return m(d); } function U(g) { switch (typeof g) { case "number": case "string": case "undefined": return !0; case "boolean": return !g; case "object": if (Array.isArray(g)) return g.every(U); if (g === null || s(g)) return !0; var d = f(g); if (d) { var S = d.call(g), C; if (d !== g.entries) { for (; !(C = S.next()).done; ) if (!U(C.value)) return !1; } else for (; !(C = S.next()).done; ) { var P = C.value; if (P && !U(P[1])) return !1; } } else return !1; return !0; default: return !1; } } function z(g, d) { return g === "symbol" ? !0 : d ? d["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && d instanceof Symbol : !1; } function F(g) { var d = typeof g; return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : z(d, g) ? "symbol" : d; } function D(g) { if (typeof g > "u" || g === null) return "" + g; var d = F(g); if (d === "object") { if (g instanceof Date) return "date"; if (g instanceof RegExp) return "regexp"; } return d; } function Y(g) { var d = D(g); switch (d) { case "array": case "object": return "an " + d; case "boolean": case "date": case "regexp": return "a " + d; default: return d; } } function q(g) { return !g.constructor || !g.constructor.name ? p : g.constructor.name; } return v.checkPropTypes = o, v.resetWarningCache = o.resetWarningCache, v.PropTypes = v, v; }, SA; } var EA, fX; function Dtt() { if (fX) return EA; fX = 1; var e = /* @__PURE__ */ jz(); function t() { } function r() { } return r.resetWarningCache = t, EA = function() { function n(i, s, l, c, u, f) { if (f !== e) { var p = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw p.name = "Invariant Violation", p; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, EA; } var dX; function Ftt() { if (dX) return c2.exports; if (dX = 1, process.env.NODE_ENV !== "production") { var e = Pme(), t = !0; c2.exports = /* @__PURE__ */ ztt()(e.isElement, t); } else c2.exports = /* @__PURE__ */ Dtt()(); return c2.exports; } var Ltt = /* @__PURE__ */ Ftt(); const ir = /* @__PURE__ */ jtt(Ltt); function pX(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Ki(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? pX(Object(r), !0).forEach(function(n) { Vg(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : pX(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function W5(e) { "@babel/helpers - typeof"; return W5 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, W5(e); } function Vg(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function Vtt(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function Wtt(e, t) { if (e == null) return {}; var r = Vtt(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function Xj(e) { return Gtt(e) || Utt(e) || Htt(e) || Ytt(); } function Gtt(e) { if (Array.isArray(e)) return Kj(e); } function Utt(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function Htt(e, t) { if (e) { if (typeof e == "string") return Kj(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return Kj(e, t); } } function Kj(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function Ytt() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function Btt(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, p = e.fixedWidth, v = e.inverse, w = e.border, b = e.listItem, m = e.flip, x = e.size, O = e.rotation, E = e.pull, A = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": l, "fa-spin-reverse": u, "fa-spin-pulse": c, "fa-pulse": f, "fa-fw": p, "fa-inverse": v, "fa-border": w, "fa-li": b, "fa-flip": m === !0, "fa-flip-horizontal": m === "horizontal" || m === "both", "fa-flip-vertical": m === "vertical" || m === "both" }, Vg(t, "fa-".concat(x), typeof x < "u" && x !== null), Vg(t, "fa-rotate-".concat(O), typeof O < "u" && O !== null && O !== 0), Vg(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), Vg(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(A).map(function(h) { return A[h] ? h : null; }).filter(function(h) { return h; }); } function qtt(e) { return e = e - 0, e === e; } function Nme(e) { return qtt(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var Xtt = ["style"]; function Ktt(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function Jtt(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = Nme(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[Ktt(o)] = a : t[o] = a, t; }, {}); } function _me(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(l) { return _me(e, l); }), o = Object.keys(t.attributes || {}).reduce(function(l, c) { var u = t.attributes[c]; switch (c) { case "class": l.attrs.className = u, delete t.attributes.class; break; case "style": l.attrs.style = Jtt(u); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[Nme(c)] = u; } return l; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = Wtt(r, Xtt); return o.attrs.style = Ki(Ki({}, o.attrs.style), i), e.apply(void 0, [t.tag, Ki(Ki({}, o.attrs), s)].concat(Xj(n))); } var jme = !1; try { jme = process.env.NODE_ENV === "production"; } catch { } function Qtt() { if (!jme && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function mX(e) { if (e && W5(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (qj.icon) return qj.icon(e); if (e === null) return null; if (e && W5(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function AA(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Vg({}, e, t) : {}; } var gX = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, ra = /* @__PURE__ */ de.forwardRef(function(e, t) { var r = Ki(Ki({}, gX), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = mX(n), f = AA("classes", [].concat(Xj(Btt(r)), Xj((i || "").split(" ")))), p = AA("transform", typeof r.transform == "string" ? qj.transform(r.transform) : r.transform), v = AA("mask", mX(o)), w = _tt(u, Ki(Ki(Ki(Ki({}, f), p), v), {}, { symbol: a, title: s, titleId: l, maskId: c })); if (!w) return Qtt("Could not find icon", u), null; var b = w.abstract, m = { ref: t }; return Object.keys(r).forEach(function(x) { gX.hasOwnProperty(x) || (m[x] = r[x]); }), Ztt(b[0], m); }); ra.displayName = "FontAwesomeIcon"; ra.propTypes = { beat: ir.bool, border: ir.bool, beatFade: ir.bool, bounce: ir.bool, className: ir.string, fade: ir.bool, flash: ir.bool, mask: ir.oneOfType([ir.object, ir.array, ir.string]), maskId: ir.string, fixedWidth: ir.bool, inverse: ir.bool, flip: ir.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: ir.oneOfType([ir.object, ir.array, ir.string]), listItem: ir.bool, pull: ir.oneOf(["right", "left"]), pulse: ir.bool, rotation: ir.oneOf([0, 90, 180, 270]), shake: ir.bool, size: ir.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: ir.bool, spinPulse: ir.bool, spinReverse: ir.bool, symbol: ir.oneOfType([ir.bool, ir.string]), title: ir.string, titleId: ir.string, transform: ir.oneOfType([ir.string, ir.object]), swapOpacity: ir.bool }; var Ztt = _me.bind(null, de.createElement); const Iz = "-", ert = (e) => { const t = rrt(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(Iz); return a[0] === "" && a.length !== 1 && a.shift(), Ime(a, t) || trt(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, Ime = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? Ime(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(Iz); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, hX = /^\[(.+)\]$/, trt = (e) => { if (hX.test(e)) { const t = hX.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, rrt = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return ort(Object.entries(e.classGroups), r).forEach(([o, a]) => { Jj(a, n, o, t); }), n; }, Jj = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : bX(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (nrt(o)) { Jj(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { Jj(i, bX(t, a), r, n); }); }); }, bX = (e, t) => { let r = e; return t.split(Iz).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, nrt = (e) => e.isThemeGetter, ort = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, art = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, Rme = "!", irt = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(Rme), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, srt = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, lrt = (e) => ({ cache: art(e.cacheSize), parseClassName: irt(e), ...ert(e) }), crt = /\s+/, urt = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(crt); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = srt(u).join(":"), x = f ? m + Rme : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function frt() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = Mme(t)) && (n && (n += " "), n += r); return n; } const Mme = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = Mme(e[n])) && (r && (r += " "), r += t); return r; }; function drt(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = lrt(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = urt(l, r); return o(l, u), u; } return function() { return a(frt.apply(null, arguments)); }; } const vn = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, Tme = /^\[(?:([a-z-]+):)?(.+)\]$/i, prt = /^\d+\/\d+$/, mrt = /* @__PURE__ */ new Set(["px", "full", "screen"]), grt = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, hrt = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, brt = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, yrt = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, vrt = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, dl = (e) => Ih(e) || mrt.has(e) || prt.test(e), yu = (e) => qb(e, "length", $rt), Ih = (e) => !!e && !Number.isNaN(Number(e)), $A = (e) => qb(e, "number", Ih), Zy = (e) => !!e && Number.isInteger(Number(e)), xrt = (e) => e.endsWith("%") && Ih(e.slice(0, -1)), It = (e) => Tme.test(e), vu = (e) => grt.test(e), wrt = /* @__PURE__ */ new Set(["length", "size", "percentage"]), krt = (e) => qb(e, wrt, zme), Ort = (e) => qb(e, "position", zme), Srt = /* @__PURE__ */ new Set(["image", "url"]), Ert = (e) => qb(e, Srt, Crt), Art = (e) => qb(e, "", Prt), ev = () => !0, qb = (e, t, r) => { const n = Tme.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, $rt = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. hrt.test(e) && !brt.test(e) ), zme = () => !1, Prt = (e) => yrt.test(e), Crt = (e) => vrt.test(e), Nrt = () => { const e = vn("colors"), t = vn("spacing"), r = vn("blur"), n = vn("brightness"), o = vn("borderColor"), a = vn("borderRadius"), i = vn("borderSpacing"), s = vn("borderWidth"), l = vn("contrast"), c = vn("grayscale"), u = vn("hueRotate"), f = vn("invert"), p = vn("gap"), v = vn("gradientColorStops"), w = vn("gradientColorStopPositions"), b = vn("inset"), m = vn("margin"), x = vn("opacity"), O = vn("padding"), E = vn("saturate"), A = vn("scale"), h = vn("sepia"), G = vn("skew"), H = vn("space"), Z = vn("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", It, t], I = () => [It, t], te = () => ["", dl, yu], U = () => ["auto", Ih, It], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", It], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [Ih, It]; return { cacheSize: 500, separator: ":", theme: { colors: [ev], spacing: [dl, yu], blur: ["none", "", vu, It], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", vu, It], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [xrt, yu], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", It] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [vu] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), It] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", Zy, It] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", It] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", Zy, It] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [ev] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", Zy, It] }, It] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [ev] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [Zy, It] }, It] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", It] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", It] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", It, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [It, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [It, t, "none", "full", "min", "max", "fit", "prose", { screen: [vu] }, vu] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [It, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [It, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [It, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [It, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", vu, yu] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", $A] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [ev] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", It] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", Ih, $A] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", dl, It] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", It] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", It] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", dl, yu] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", dl, It] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", It] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", It] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), Ort] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", krt] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, Ert] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [dl, It] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [dl, yu] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [dl, yu] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", vu, Art] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [ev] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", vu, It] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", It] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", It] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", It] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [Zy, It] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", It] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", It] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", It] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [dl, yu, $A] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, yX = /* @__PURE__ */ drt(Nrt); /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const dg = { prefix: "fas", iconName: "spinner-third", icon: [512, 512, [], "f3f4", "M224 32c0-17.7 14.3-32 32-32C397.4 0 512 114.6 512 256c0 46.6-12.5 90.4-34.3 128c-8.8 15.3-28.4 20.5-43.7 11.7s-20.5-28.4-11.7-43.7c16.3-28.2 25.7-61 25.7-96c0-106-86-192-192-192c-17.7 0-32-14.3-32-32z"] }, PA = ({ icon: e, iconClassName: t, children: r, className: n, htmlFor: o, variant: a = "primary", disabled: i, iconFlip: s = !1, loading: l, as: c = "button", href: u, target: f, ...p }) => { function v(m) { switch (m) { case "secondary": return "i-am-a-unique-string bg-ui-controls text-base-fg border border-ui-controls-border hover:bg-ui-controls/80 focus-visible:outline-secondary"; case "action": return "bg-ui-controls text-base-fg border border-ui-controls-border hover:bg-ui-controls/80 focus-visible:outline-action"; case "destructive": return "bg-red hover:bg-red/90 text-white focus-visible:outline-red"; case "ghost": return "bg-transparent text-base-fg border border-ui-controls-border/70 hover:bg-ui-controls/30 focus-visible:outline-primary-600"; case "primary": default: return "bg-primary hover:bg-primary-400 text-white focus-visible:outline-primary-600"; } } const w = yX( i || l ? "opacity-50 pointer-events-none" : "" ), b = yX( "w-fit text-sm font-medium rounded-lg px-3 py-2 border border-transparent shadow-sm focus-visible:outline focus-visible:outline-0 focus-visible:outline-offset-0 transition-all duration-150 flex gap-2 items-center justify-center active:scale-95 transform", v(a), n, w ); return o ? /* @__PURE__ */ me("label", { className: b, htmlFor: o, style: p.style, children: [ l && !s ? /* @__PURE__ */ B(ra, { icon: dg, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && !s ? /* @__PURE__ */ B(ra, { icon: e, className: t }) : null }), r, l && s ? /* @__PURE__ */ B(ra, { icon: dg, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && s ? /* @__PURE__ */ B(ra, { icon: e, className: t }) : null }) ] }) : c === "link" && u ? /* @__PURE__ */ me( "a", { href: u, className: b, style: p.style, ...p, target: f, children: [ l && !s ? /* @__PURE__ */ B(ra, { icon: dg, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && !s ? /* @__PURE__ */ B(ra, { icon: e, className: t }) : null }), r, l && s ? /* @__PURE__ */ B(ra, { icon: dg, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && s ? /* @__PURE__ */ B(ra, { icon: e, className: t }) : null }) ] } ) : /* @__PURE__ */ me( "button", { className: b, disabled: i || l, ...p, htmlFor: o, children: [ l && !s ? /* @__PURE__ */ B(ra, { icon: dg, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && !s ? /* @__PURE__ */ B(ra, { icon: e, className: t }) : null }), r, l && s ? /* @__PURE__ */ B(ra, { icon: dg, className: "animate-spin" }) : /* @__PURE__ */ B(ht, { children: e && s ? /* @__PURE__ */ B(ra, { icon: e, className: t }) : null }) ] } ); }; var Ek = /* @__PURE__ */ ((e) => (e[e.ALL = 0] = "ALL", e[e.FEATURED = 1] = "FEATURED", e[e.MINE = 2] = "MINE", e[e.BOOKMARKED = 3] = "BOOKMARKED", e))(Ek || {}); Ek.FEATURED, Ek.MINE, Ek.BOOKMARKED; /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const _rt = { prefix: "fas", iconName: "xmark", icon: [384, 512, [128473, 10005, 10006, 10060, 215, "close", "multiply", "remove", "times"], "f00d", "M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"] }; /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function jrt(e, t, r) { return (t = Rrt(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function vX(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function je(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? vX(Object(r), !0).forEach(function(n) { jrt(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : vX(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function Irt(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function Rrt(e) { var t = Irt(e, "string"); return typeof t == "symbol" ? t : t + ""; } const xX = () => { }; let Rz = {}, Dme = {}, Fme = null, Lme = { mark: xX, measure: xX }; try { typeof window < "u" && (Rz = window), typeof document < "u" && (Dme = document), typeof MutationObserver < "u" && (Fme = MutationObserver), typeof performance < "u" && (Lme = performance); } catch { } const { userAgent: wX = "" } = Rz.navigator || {}, Qf = Rz, Ln = Dme, kX = Fme, u2 = Lme; Qf.document; const Pc = !!Ln.documentElement && !!Ln.head && typeof Ln.addEventListener == "function" && typeof Ln.createElement == "function", Vme = ~wX.indexOf("MSIE") || ~wX.indexOf("Trident/"); var Mrt = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, Trt = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, Wme = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, zrt = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, Gme = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], No = "classic", r3 = "duotone", Drt = "sharp", Frt = "sharp-duotone", Ume = [No, r3, Drt, Frt], Lrt = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, Vrt = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, Wrt = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), Grt = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, Urt = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], OX = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, Hrt = ["kit"], Yrt = { kit: { "fa-kit": "fak" } }, Brt = ["fak", "fakd"], qrt = { kit: { fak: "fa-kit" } }, SX = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, f2 = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, Xrt = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Krt = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], Jrt = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, Qrt = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, Zrt = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, Qj = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, ent = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], Zj = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...Xrt, ...ent], tnt = ["solid", "regular", "light", "thin", "duotone", "brands"], Hme = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], rnt = Hme.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), nnt = [...Object.keys(Zrt), ...tnt, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", f2.GROUP, f2.SWAP_OPACITY, f2.PRIMARY, f2.SECONDARY].concat(Hme.map((e) => "".concat(e, "x"))).concat(rnt.map((e) => "w-".concat(e))), ont = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const tc = "___FONT_AWESOME___", e9 = 16, Yme = "fa", Bme = "svg-inline--fa", Pm = "data-fa-i2svg", t9 = "data-fa-pseudo-element", ant = "data-fa-pseudo-element-pending", Mz = "data-prefix", Tz = "data-icon", EX = "fontawesome-i2svg", int = "async", snt = ["HTML", "HEAD", "STYLE", "SCRIPT"], qme = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function Vx(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[No]; } }); } const Xme = je({}, Wme); Xme[No] = je(je(je(je({}, { "fa-duotone": "duotone" }), Wme[No]), OX.kit), OX["kit-duotone"]); const lnt = Vx(Xme), r9 = je({}, Grt); r9[No] = je(je(je(je({}, { duotone: "fad" }), r9[No]), SX.kit), SX["kit-duotone"]); const AX = Vx(r9), n9 = je({}, Qj); n9[No] = je(je({}, n9[No]), qrt.kit); const zz = Vx(n9), o9 = je({}, Qrt); o9[No] = je(je({}, o9[No]), Yrt.kit); Vx(o9); const cnt = Mrt, Kme = "fa-layers-text", unt = Trt, fnt = je({}, Lrt); Vx(fnt); const dnt = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], CA = zrt, pnt = [...Hrt, ...nnt], N1 = Qf.FontAwesomeConfig || {}; function mnt(e) { var t = Ln.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function gnt(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } Ln && typeof Ln.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => { let [t, r] = e; const n = gnt(mnt(t)); n != null && (N1[r] = n); }); const Jme = { styleDefault: "solid", familyDefault: No, cssPrefix: Yme, replacementClass: Bme, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; N1.familyPrefix && (N1.cssPrefix = N1.familyPrefix); const pb = je(je({}, Jme), N1); pb.autoReplaceSvg || (pb.observeMutations = !1); const at = {}; Object.keys(Jme).forEach((e) => { Object.defineProperty(at, e, { enumerable: !0, set: function(t) { pb[e] = t, _1.forEach((r) => r(at)); }, get: function() { return pb[e]; } }); }); Object.defineProperty(at, "familyPrefix", { enumerable: !0, set: function(e) { pb.cssPrefix = e, _1.forEach((t) => t(at)); }, get: function() { return pb.cssPrefix; } }); Qf.FontAwesomeConfig = at; const _1 = []; function hnt(e) { return _1.push(e), () => { _1.splice(_1.indexOf(e), 1); }; } const xu = e9, $s = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function bnt(e) { if (!e || !Pc) return; const t = Ln.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = Ln.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return Ln.head.insertBefore(t, n), e; } const ynt = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function X0() { let e = 12, t = ""; for (; e-- > 0; ) t += ynt[Math.random() * 62 | 0]; return t; } function Xb(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function Dz(e) { return e.classList ? Xb(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function Qme(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function vnt(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(Qme(e[r]), '" '), "").trim(); } function n3(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function Fz(e) { return e.size !== $s.size || e.x !== $s.x || e.y !== $s.y || e.rotate !== $s.rotate || e.flipX || e.flipY; } function xnt(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), l = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: l, path: c }; } function wnt(e) { let { transform: t, width: r = e9, height: n = e9, startCentered: o = !1 } = e, a = ""; return o && Vme ? a += "translate(".concat(t.x / xu - r / 2, "em, ").concat(t.y / xu - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / xu, "em), calc(-50% + ").concat(t.y / xu, "em)) ") : a += "translate(".concat(t.x / xu, "em, ").concat(t.y / xu, "em) "), a += "scale(".concat(t.size / xu * (t.flipX ? -1 : 1), ", ").concat(t.size / xu * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var knt = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function Zme() { const e = Yme, t = Bme, r = at.cssPrefix, n = at.replacementClass; let o = knt; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let $X = !1; function NA() { at.autoAddCss && !$X && (bnt(Zme()), $X = !0); } var Ont = { mixout() { return { dom: { css: Zme, insertCss: NA } }; }, hooks() { return { beforeDOMElementCreation() { NA(); }, beforeI2svg() { NA(); } }; } }; const rc = Qf || {}; rc[tc] || (rc[tc] = {}); rc[tc].styles || (rc[tc].styles = {}); rc[tc].hooks || (rc[tc].hooks = {}); rc[tc].shims || (rc[tc].shims = []); var Ps = rc[tc]; const ege = [], tge = function() { Ln.removeEventListener("DOMContentLoaded", tge), G5 = 1, ege.map((e) => e()); }; let G5 = !1; Pc && (G5 = (Ln.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Ln.readyState), G5 || Ln.addEventListener("DOMContentLoaded", tge)); function Snt(e) { Pc && (G5 ? setTimeout(e, 0) : ege.push(e)); } function Wx(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? Qme(e) : "<".concat(t, " ").concat(vnt(r), ">").concat(n.map(Wx).join(""), ""); } function PX(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var _A = function(e, t, r, n) { var o = Object.keys(e), a = o.length, i = t, s, l, c; for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++) l = o[s], c = i(c, e[l], l, e); return c; }; function Ent(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function rge(e) { const t = Ent(e); return t.length === 1 ? t[0].toString(16) : null; } function Ant(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function CX(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function a9(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = CX(t); typeof Ps.hooks.addPack == "function" && !n ? Ps.hooks.addPack(e, CX(t)) : Ps.styles[e] = je(je({}, Ps.styles[e] || {}), o), e === "fas" && a9("fa", t); } const { styles: K0, shims: $nt } = Ps, nge = Object.keys(zz), Pnt = nge.reduce((e, t) => (e[t] = Object.keys(zz[t]), e), {}); let Lz = null, oge = {}, age = {}, ige = {}, sge = {}, lge = {}; function Cnt(e) { return ~pnt.indexOf(e); } function Nnt(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !Cnt(o) ? o : null; } const cge = () => { const e = (n) => _A(K0, (o, a, i) => (o[i] = _A(a, n, {}), o), {}); oge = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => { n[i.toString(16)] = a; }), n)), age = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => { n[i] = a; }), n)), lge = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in K0 || at.autoFetchSvg, r = _A($nt, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); ige = r.names, sge = r.unicodes, Lz = o3(at.styleDefault, { family: at.familyDefault }); }; hnt((e) => { Lz = o3(e.styleDefault, { family: at.familyDefault }); }); cge(); function Vz(e, t) { return (oge[e] || {})[t]; } function _nt(e, t) { return (age[e] || {})[t]; } function Lp(e, t) { return (lge[e] || {})[t]; } function uge(e) { return ige[e] || { prefix: null, iconName: null }; } function jnt(e) { const t = sge[e], r = Vz("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function Zf() { return Lz; } const fge = () => ({ prefix: null, iconName: null, rest: [] }); function Int(e) { let t = No; const r = nge.reduce((n, o) => (n[o] = "".concat(at.cssPrefix, "-").concat(o), n), {}); return Ume.forEach((n) => { (e.includes(r[n]) || e.some((o) => Pnt[n].includes(o))) && (t = n); }), t; } function o3(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = No } = t, n = lnt[r][e]; if (r === r3 && !e) return "fad"; const o = AX[r][e] || AX[r][n], a = e in Ps.styles ? e : null; return o || a || null; } function Rnt(e) { let t = [], r = null; return e.forEach((n) => { const o = Nnt(at.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function NX(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function a3(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = Zj.concat(Krt), a = NX(e.filter((f) => o.includes(f))), i = NX(e.filter((f) => !Zj.includes(f))), s = a.filter((f) => (n = f, !Gme.includes(f))), [l = null] = s, c = Int(a), u = je(je({}, Rnt(i)), {}, { prefix: o3(l, { family: c }) }); return je(je(je({}, u), Dnt({ values: e, family: c, styles: K0, config: at, canonical: u, givenPrefix: n })), Mnt(r, n, u)); } function Mnt(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? uge(o) : {}, i = Lp(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !K0.far && K0.fas && !at.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const Tnt = Ume.filter((e) => e !== No || e !== r3), znt = Object.keys(Qj).filter((e) => e !== No).map((e) => Object.keys(Qj[e])).flat(); function Dnt(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === r3, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && Tnt.includes(r) && (Object.keys(a).find((f) => znt.includes(f)) || i.autoFetchSvg)) { const f = Wrt.get(r).defaultShortPrefixId; n.prefix = f, n.iconName = Lp(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = Zf() || "fas"), n; } let Fnt = class { constructor() { this.definitions = {}; } add() { for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r]; const n = t.reduce(this._pullDefinitions, {}); Object.keys(n).forEach((o) => { this.definitions[o] = je(je({}, this.definitions[o] || {}), n[o]), a9(o, n[o]); const a = zz[No][o]; a && a9(a, n[o]), cge(); }); } reset() { this.definitions = {}; } _pullDefinitions(e, t) { const r = t.prefix && t.iconName && t.icon ? { 0: t } : t; return Object.keys(r).map((n) => { const { prefix: o, iconName: a, icon: i } = r[n], s = i[2]; e[o] || (e[o] = {}), s.length > 0 && s.forEach((l) => { typeof l == "string" && (e[o][l] = i); }), e[o][a] = i; }), e; } }, _X = [], Wg = {}; const Rh = {}, Lnt = Object.keys(Rh); function Vnt(e, t) { let { mixoutsTo: r } = t; return _X = e, Wg = {}, Object.keys(Rh).forEach((n) => { Lnt.indexOf(n) === -1 && delete Rh[n]; }), _X.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { Wg[i] || (Wg[i] = []), Wg[i].push(a[i]); }); } n.provides && n.provides(Rh); }), r; } function i9(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (Wg[e] || []).forEach((a) => { t = a.apply(null, [t, ...n]); }), t; } function Cm(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (Wg[e] || []).forEach((o) => { o.apply(null, r); }); } function ed() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return Rh[e] ? Rh[e].apply(null, t) : void 0; } function s9(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || Zf(); if (t) return t = Lp(r, t) || t, PX(dge.definitions, r, t) || PX(Ps.styles, r, t); } const dge = new Fnt(), Wnt = () => { at.autoReplaceSvg = !1, at.observeMutations = !1, Cm("noAuto"); }, Gnt = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return Pc ? (Cm("beforeI2svg", e), ed("pseudoElements2svg", e), ed("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; at.autoReplaceSvg === !1 && (at.autoReplaceSvg = !0), at.observeMutations = !0, Snt(() => { Hnt({ autoReplaceSvgRoot: t }), Cm("watch", e); }); } }, Unt = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: Lp(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = o3(e[0]); return { prefix: r, iconName: Lp(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(at.cssPrefix, "-")) > -1 || e.match(cnt))) { const t = a3(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || Zf(), iconName: Lp(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = Zf(); return { prefix: t, iconName: Lp(t, e) || e }; } } }, $a = { noAuto: Wnt, config: at, dom: Gnt, parse: Unt, library: dge, findIconDefinition: s9, toHtml: Wx }, Hnt = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = Ln } = e; (Object.keys(Ps.styles).length > 0 || at.autoFetchSvg) && Pc && at.autoReplaceSvg && $a.dom.i2svg({ node: t }); }; function i3(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => Wx(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!Pc) return; const r = Ln.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function Ynt(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (Fz(i) && r.found && !n.found) { const { width: s, height: l } = r, c = { x: s / l / 2, y: 0.5 }; o.style = n3(je(je({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function Bnt(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(at.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: je(je({}, o), {}, { id: i }), children: n }] }]; } function Wz(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: l, titleId: c, extra: u, watchable: f = !1 } = e, { width: p, height: v } = r.found ? r : t, w = Brt.includes(n), b = [at.replacementClass, o ? "".concat(at.cssPrefix, "-").concat(o) : ""].filter((h) => u.classes.indexOf(h) === -1).filter((h) => h !== "" || !!h).concat(u.classes).join(" "); let m = { children: [], attributes: je(je({}, u.attributes), {}, { "data-prefix": n, "data-icon": o, class: b, role: u.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(p, " ").concat(v) }) }; const x = w && !~u.classes.indexOf("fa-fw") ? { width: "".concat(p / v * 16 * 0.0625, "em") } : {}; f && (m.attributes[Pm] = ""), s && (m.children.push({ tag: "title", attributes: { id: m.attributes["aria-labelledby"] || "title-".concat(c || X0()) }, children: [s] }), delete m.attributes.title); const O = je(je({}, m), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: l, transform: a, symbol: i, styles: je(je({}, x), u.styles) }), { children: E, attributes: A } = r.found && t.found ? ed("generateAbstractMask", O) || { children: [], attributes: {} } : ed("generateAbstractIcon", O) || { children: [], attributes: {} }; return O.children = E, O.attributes = A, i ? Bnt(O) : Ynt(O); } function jX(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, l = je(je(je({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (l[Pm] = ""); const c = je({}, i.styles); Fz(o) && (c.transform = wnt({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const u = n3(c); u.length > 0 && (l.style = u); const f = []; return f.push({ tag: "span", attributes: l, children: [t] }), a && f.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), f; } function qnt(e) { const { content: t, title: r, extra: n } = e, o = je(je(je({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = n3(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: jA } = Ps; function l9(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(at.cssPrefix, "-").concat(CA.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(at.cssPrefix, "-").concat(CA.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(at.cssPrefix, "-").concat(CA.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const Xnt = { found: !1, width: 512, height: 512 }; function Knt(e, t) { !qme && !at.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function c9(e, t) { let r = t; return t === "fa" && at.styleDefault !== null && (t = Zf()), new Promise((n, o) => { if (r === "fa") { const a = uge(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && jA[t] && jA[t][e]) { const a = jA[t][e]; return n(l9(a)); } Knt(e, t), n(je(je({}, Xnt), {}, { icon: at.showMissingIcons && e ? ed("missingIconAbstract") || {} : {} })); }); } const IX = () => { }, u9 = at.measurePerformance && u2 && u2.mark && u2.measure ? u2 : { mark: IX, measure: IX }, Lv = 'FA "6.7.2"', Jnt = (e) => (u9.mark("".concat(Lv, " ").concat(e, " begins")), () => pge(e)), pge = (e) => { u9.mark("".concat(Lv, " ").concat(e, " ends")), u9.measure("".concat(Lv, " ").concat(e), "".concat(Lv, " ").concat(e, " begins"), "".concat(Lv, " ").concat(e, " ends")); }; var Gz = { begin: Jnt, end: pge }; const Ak = () => { }; function RX(e) { return typeof (e.getAttribute ? e.getAttribute(Pm) : null) == "string"; } function Qnt(e) { const t = e.getAttribute ? e.getAttribute(Mz) : null, r = e.getAttribute ? e.getAttribute(Tz) : null; return t && r; } function Znt(e) { return e && e.classList && e.classList.contains && e.classList.contains(at.replacementClass); } function eot() { return at.autoReplaceSvg === !0 ? $k.replace : $k[at.autoReplaceSvg] || $k.replace; } function tot(e) { return Ln.createElementNS("http://www.w3.org/2000/svg", e); } function rot(e) { return Ln.createElement(e); } function mge(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? tot : rot } = t; if (typeof e == "string") return Ln.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(o) { n.setAttribute(o, e.attributes[o]); }), (e.children || []).forEach(function(o) { n.appendChild(mge(o, { ceFn: r })); }), n; } function not(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const $k = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(mge(r), t); }), t.getAttribute(Pm) === null && at.keepOriginalSource) { let r = Ln.createComment(not(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~Dz(t).indexOf(at.replacementClass)) return $k.replace(e); const n = new RegExp("".concat(at.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === at.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => Wx(a)).join(` `); t.setAttribute(Pm, ""), t.innerHTML = o; } }; function MX(e) { e(); } function gge(e, t) { const r = typeof t == "function" ? t : Ak; if (e.length === 0) r(); else { let n = MX; at.mutateApproach === int && (n = Qf.requestAnimationFrame || MX), n(() => { const o = eot(), a = Gz.begin("mutate"); e.map(o), a(), r(); }); } } let Uz = !1; function hge() { Uz = !0; } function f9() { Uz = !1; } let U5 = null; function TX(e) { if (!kX || !at.observeMutations) return; const { treeCallback: t = Ak, nodeCallback: r = Ak, pseudoElementsCallback: n = Ak, observeMutationsRoot: o = Ln } = e; U5 = new kX((a) => { if (Uz) return; const i = Zf(); Xb(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !RX(s.addedNodes[0]) && (at.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && at.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && RX(s.target) && ~dnt.indexOf(s.attributeName)) if (s.attributeName === "class" && Qnt(s.target)) { const { prefix: l, iconName: c } = a3(Dz(s.target)); s.target.setAttribute(Mz, l || i), c && s.target.setAttribute(Tz, c); } else Znt(s.target) && r(s.target); }); }), Pc && U5.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function oot() { U5 && U5.disconnect(); } function aot(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function iot(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = a3(Dz(e)); return o.prefix || (o.prefix = Zf()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = _nt(o.prefix, e.innerText) || Vz(o.prefix, rge(e.innerText))), !o.iconName && at.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function sot(e) { const t = Xb(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return at.autoA11y && (r ? t["aria-labelledby"] = "".concat(at.replacementClass, "-title-").concat(n || X0()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function lot() { return { iconName: null, title: null, titleId: null, prefix: null, transform: $s, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function zX(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = iot(e), a = sot(e), i = i9("parseNodeAttributes", {}, e); let s = t.styleParser ? aot(e) : []; return je({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: $s, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: cot } = Ps; function bge(e) { const t = at.autoReplaceSvg === "nest" ? zX(e, { styleParser: !1 }) : zX(e); return ~t.extra.classes.indexOf(Kme) ? ed("generateLayersText", e, t) : ed("generateSvgReplacementMutation", e, t); } function uot() { return [...Urt, ...Zj]; } function DX(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!Pc) return Promise.resolve(); const r = Ln.documentElement.classList, n = (u) => r.add("".concat(EX, "-").concat(u)), o = (u) => r.remove("".concat(EX, "-").concat(u)), a = at.autoFetchSvg ? uot() : Gme.concat(Object.keys(cot)); a.includes("fa") || a.push("fa"); const i = [".".concat(Kme, ":not([").concat(Pm, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(Pm, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = Xb(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const l = Gz.begin("onTree"), c = s.reduce((u, f) => { try { const p = bge(f); p && u.push(p); } catch (p) { qme || p.name === "MissingIcon" && console.error(p); } return u; }, []); return new Promise((u, f) => { Promise.all(c).then((p) => { gge(p, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u(); }); }).catch((p) => { l(), f(p); }); }); } function fot(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; bge(e).then((r) => { r && gge([r], t); }); } function dot(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : s9(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : s9(o || {})), e(n, je(je({}, r), {}, { mask: o })); }; } const pot = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = $s, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: l = [], attributes: c = {}, styles: u = {} } = t; if (!e) return; const { prefix: f, iconName: p, icon: v } = e; return i3(je({ type: "icon" }, e), () => (Cm("beforeDOMElementCreation", { iconDefinition: e, params: t }), at.autoA11y && (i ? c["aria-labelledby"] = "".concat(at.replacementClass, "-title-").concat(s || X0()) : (c["aria-hidden"] = "true", c.focusable = "false")), Wz({ icons: { main: l9(v), mask: o ? l9(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: f, iconName: p, transform: je(je({}, $s), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: u, classes: l } }))); }; var mot = { mixout() { return { icon: dot(pot) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = DX, e.nodeCallback = fot, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = Ln, callback: n = () => { } } = t; return DX(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: l, mask: c, maskId: u, extra: f } = r; return new Promise((p, v) => { Promise.all([c9(n, i), c.iconName ? c9(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((w) => { let [b, m] = w; p([t, Wz({ icons: { main: b, mask: m }, prefix: i, iconName: n, transform: s, symbol: l, maskId: u, title: o, titleId: a, extra: f, watchable: !0 })]); }).catch(v); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = n3(i); s.length > 0 && (n.style = s); let l; return Fz(a) && (l = ed("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(l || o.icon), { children: r, attributes: n }; }; } }, got = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return i3({ type: "layer" }, () => { Cm("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(at.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, hot = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return i3({ type: "counter", content: e }, () => (Cm("beforeDOMElementCreation", { content: e, params: t }), qnt({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(at.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, bot = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = $s, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return i3({ type: "text", content: e }, () => (Cm("beforeDOMElementCreation", { content: e, params: t }), jX({ content: e, transform: je(je({}, $s), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(at.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (Vme) { const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / l, s = c.height / l; } return at.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, jX({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const yot = new RegExp('"', "ug"), FX = [1105920, 1112319], LX = je(je(je(je({}, { FontAwesome: { normal: "fas", 400: "fas" } }), Vrt), ont), Jrt), d9 = Object.keys(LX).reduce((e, t) => (e[t.toLowerCase()] = LX[t], e), {}), vot = Object.keys(d9).reduce((e, t) => { const r = d9[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function xot(e) { const t = e.replace(yot, ""), r = Ant(t, 0), n = r >= FX[0] && r <= FX[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: rge(o ? t[0] : t), isSecondary: n || o }; } function wot(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return (d9[r] || {})[o] || vot[r]; } function VX(e, t) { const r = "".concat(ant).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const a = Xb(e.children).filter((f) => f.getAttribute(t9) === t)[0], i = Qf.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(unt), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content"); if (a && !l) return e.removeChild(a), n(); if (l && u !== "none" && u !== "") { const f = i.getPropertyValue("content"); let p = wot(s, c); const { value: v, isSecondary: w } = xot(f), b = l[0].startsWith("FontAwesome"); let m = Vz(p, v), x = m; if (b) { const O = jnt(v); O.iconName && O.prefix && (m = O.iconName, p = O.prefix); } if (m && !w && (!a || a.getAttribute(Mz) !== p || a.getAttribute(Tz) !== x)) { e.setAttribute(r, x), a && e.removeChild(a); const O = lot(), { extra: E } = O; E.attributes[t9] = t, c9(m, p).then((A) => { const h = Wz(je(je({}, O), {}, { icons: { main: A, mask: fge() }, prefix: p, iconName: x, extra: E, watchable: !0 })), G = Ln.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(G, e.firstChild) : e.appendChild(G), G.outerHTML = h.map((H) => Wx(H)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function kot(e) { return Promise.all([VX(e, "::before"), VX(e, "::after")]); } function Oot(e) { return e.parentNode !== document.head && !~snt.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(t9) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function WX(e) { if (Pc) return new Promise((t, r) => { const n = Xb(e.querySelectorAll("*")).filter(Oot).map(kot), o = Gz.begin("searchPseudoElements"); hge(), Promise.all(n).then(() => { o(), f9(), t(); }).catch(() => { o(), f9(), r(); }); }); } var Sot = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = WX, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = Ln } = t; at.searchPseudoElements && WX(r); }; } }; let GX = !1; var Eot = { mixout() { return { dom: { unwatch() { hge(), GX = !0; } } }; }, hooks() { return { bootstrap() { TX(i9("mutationObserverCallbacks", {})); }, noAuto() { oot(); }, watch(e) { const { observeMutationsRoot: t } = e; GX ? f9() : TX(i9("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const UX = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var Aot = { mixout() { return { parse: { transform: (e) => UX(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = UX(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = { transform: "".concat(s, " ").concat(l, " ").concat(c) }, f = { transform: "translate(".concat(a / 2 * -1, " -256)") }, p = { outer: i, inner: u, path: f }; return { tag: "g", attributes: je({}, p.outer), children: [{ tag: "g", attributes: je({}, p.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: je(je({}, r.icon.attributes), p.path) }] }] }; }; } }; const IA = { x: 0, y: 0, width: "100%", height: "100%" }; function HX(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function $ot(e) { return e.tag === "g" ? e.children : [e]; } var Pot = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? a3(r.split(" ").map((o) => o.trim())) : fge(); return n.prefix || (n.prefix = Zf()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: l, icon: c } = o, { width: u, icon: f } = a, p = xnt({ transform: s, containerWidth: u, iconWidth: l }), v = { tag: "rect", attributes: je(je({}, IA), {}, { fill: "white" }) }, w = c.children ? { children: c.children.map(HX) } : {}, b = { tag: "g", attributes: je({}, p.inner), children: [HX(je({ tag: c.tag, attributes: je(je({}, c.attributes), p.path) }, w))] }, m = { tag: "g", attributes: je({}, p.outer), children: [b] }, x = "mask-".concat(i || X0()), O = "clip-".concat(i || X0()), E = { tag: "mask", attributes: je(je({}, IA), {}, { id: x, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [v, m] }, A = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: O }, children: $ot(f) }, E] }; return r.push(A, { tag: "rect", attributes: je({ fill: "currentColor", "clip-path": "url(#".concat(O, ")"), mask: "url(#".concat(x, ")") }, IA) }), { children: r, attributes: n }; }; } }, Cot = { provides(e) { let t = !1; Qf.matchMedia && (t = Qf.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: je(je({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = je(je({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: je(je({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: je(je({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: je(je({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: je(je({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: je(je({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: je(je({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: je(je({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, Not = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, _ot = [Ont, mot, got, hot, bot, Sot, Eot, Aot, Pot, Cot, Not]; Vnt(_ot, { mixoutsTo: $a }); $a.noAuto; $a.config; $a.library; $a.dom; const p9 = $a.parse; $a.findIconDefinition; $a.toHtml; const jot = $a.icon; $a.layer; $a.text; $a.counter; function Iot(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var d2 = { exports: {} }, RA = { exports: {} }, Cr = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var YX; function Rot() { if (YX) return Cr; YX = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(h) { if (typeof h == "object" && h !== null) { var G = h.$$typeof; switch (G) { case t: switch (h = h.type, h) { case l: case c: case n: case a: case o: case f: return h; default: switch (h = h && h.$$typeof, h) { case s: case u: case w: case v: case i: return h; default: return G; } } case r: return G; } } } function A(h) { return E(h) === c; } return Cr.AsyncMode = l, Cr.ConcurrentMode = c, Cr.ContextConsumer = s, Cr.ContextProvider = i, Cr.Element = t, Cr.ForwardRef = u, Cr.Fragment = n, Cr.Lazy = w, Cr.Memo = v, Cr.Portal = r, Cr.Profiler = a, Cr.StrictMode = o, Cr.Suspense = f, Cr.isAsyncMode = function(h) { return A(h) || E(h) === l; }, Cr.isConcurrentMode = A, Cr.isContextConsumer = function(h) { return E(h) === s; }, Cr.isContextProvider = function(h) { return E(h) === i; }, Cr.isElement = function(h) { return typeof h == "object" && h !== null && h.$$typeof === t; }, Cr.isForwardRef = function(h) { return E(h) === u; }, Cr.isFragment = function(h) { return E(h) === n; }, Cr.isLazy = function(h) { return E(h) === w; }, Cr.isMemo = function(h) { return E(h) === v; }, Cr.isPortal = function(h) { return E(h) === r; }, Cr.isProfiler = function(h) { return E(h) === a; }, Cr.isStrictMode = function(h) { return E(h) === o; }, Cr.isSuspense = function(h) { return E(h) === f; }, Cr.isValidElementType = function(h) { return typeof h == "string" || typeof h == "function" || h === n || h === c || h === a || h === o || h === f || h === p || typeof h == "object" && h !== null && (h.$$typeof === w || h.$$typeof === v || h.$$typeof === i || h.$$typeof === s || h.$$typeof === u || h.$$typeof === m || h.$$typeof === x || h.$$typeof === O || h.$$typeof === b); }, Cr.typeOf = E, Cr; } var Br = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var BX; function Mot() { return BX || (BX = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === f || k === p || typeof k == "object" && k !== null && (k.$$typeof === w || k.$$typeof === v || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === m || k.$$typeof === x || k.$$typeof === O || k.$$typeof === b); } function A(k) { if (typeof k == "object" && k !== null) { var ne = k.$$typeof; switch (ne) { case t: var pe = k.type; switch (pe) { case l: case c: case n: case a: case o: case f: return pe; default: var He = pe && pe.$$typeof; switch (He) { case s: case u: case w: case v: case i: return He; default: return ne; } } case r: return ne; } } } var h = l, G = c, H = s, Z = i, J = t, X = u, ee = n, I = w, te = v, U = r, z = a, F = o, D = f, Y = !1; function q(k) { return Y || (Y = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), g(k) || A(k) === l; } function g(k) { return A(k) === c; } function d(k) { return A(k) === s; } function S(k) { return A(k) === i; } function C(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function P(k) { return A(k) === u; } function j(k) { return A(k) === n; } function _(k) { return A(k) === w; } function N(k) { return A(k) === v; } function M(k) { return A(k) === r; } function R(k) { return A(k) === a; } function T(k) { return A(k) === o; } function Q(k) { return A(k) === f; } Br.AsyncMode = h, Br.ConcurrentMode = G, Br.ContextConsumer = H, Br.ContextProvider = Z, Br.Element = J, Br.ForwardRef = X, Br.Fragment = ee, Br.Lazy = I, Br.Memo = te, Br.Portal = U, Br.Profiler = z, Br.StrictMode = F, Br.Suspense = D, Br.isAsyncMode = q, Br.isConcurrentMode = g, Br.isContextConsumer = d, Br.isContextProvider = S, Br.isElement = C, Br.isForwardRef = P, Br.isFragment = j, Br.isLazy = _, Br.isMemo = N, Br.isPortal = M, Br.isProfiler = R, Br.isStrictMode = T, Br.isSuspense = Q, Br.isValidElementType = E, Br.typeOf = A; }()), Br; } var qX; function yge() { return qX || (qX = 1, process.env.NODE_ENV === "production" ? RA.exports = Rot() : RA.exports = Mot()), RA.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var MA, XX; function Tot() { if (XX) return MA; XX = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var l = Object.getOwnPropertyNames(i).map(function(u) { return i[u]; }); if (l.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(u) { c[u] = u; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return MA = o() ? Object.assign : function(a, i) { for (var s, l = n(a), c, u = 1; u < arguments.length; u++) { s = Object(arguments[u]); for (var f in s) t.call(s, f) && (l[f] = s[f]); if (e) { c = e(s); for (var p = 0; p < c.length; p++) r.call(s, c[p]) && (l[c[p]] = s[c[p]]); } } return l; }, MA; } var TA, KX; function Hz() { if (KX) return TA; KX = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return TA = e, TA; } var JX, QX; function vge() { return QX || (QX = 1, JX = Function.call.bind(Object.prototype.hasOwnProperty)), JX; } var zA, ZX; function zot() { if (ZX) return zA; ZX = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ Hz(), r = {}, n = /* @__PURE__ */ vge(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, l, c) { if (process.env.NODE_ENV !== "production") { for (var u in a) if (n(a, u)) { var f; try { if (typeof a[u] != "function") { var p = Error( (l || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw p.name = "Invariant Violation", p; } f = a[u](i, u, l, s, null, t); } catch (w) { f = w; } if (f && !(f instanceof Error) && e( (l || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), f instanceof Error && !(f.message in r)) { r[f.message] = !0; var v = c ? c() : ""; e( "Failed " + s + " type: " + f.message + (v ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, zA = o, zA; } var DA, eK; function Dot() { if (eK) return DA; eK = 1; var e = yge(), t = Tot(), r = /* @__PURE__ */ Hz(), n = /* @__PURE__ */ vge(), o = /* @__PURE__ */ zot(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var l = "Warning: " + s; typeof console < "u" && console.error(l); try { throw new Error(l); } catch { } }); function i() { return null; } return DA = function(s, l) { var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator"; function f(g) { var d = g && (c && g[c] || g[u]); if (typeof d == "function") return d; } var p = "<>", v = { array: x("array"), bigint: x("bigint"), bool: x("boolean"), func: x("function"), number: x("number"), object: x("object"), string: x("string"), symbol: x("symbol"), any: O(), arrayOf: E, element: A(), elementType: h(), instanceOf: G, node: X(), objectOf: Z, oneOf: H, oneOfType: J, shape: I, exact: te }; function w(g, d) { return g === d ? g !== 0 || 1 / g === 1 / d : g !== g && d !== d; } function b(g, d) { this.message = g, this.data = d && typeof d == "object" ? d : {}, this.stack = ""; } b.prototype = Error.prototype; function m(g) { if (process.env.NODE_ENV !== "production") var d = {}, S = 0; function C(j, _, N, M, R, T, Q) { if (M = M || p, T = T || N, Q !== r) { if (l) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var ne = M + ":" + N; !d[ne] && // Avoid spamming the console because they are often not actionable except for lib authors S < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + M + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), d[ne] = !0, S++); } } return _[N] == null ? j ? _[N] === null ? new b("The " + R + " `" + T + "` is marked as required " + ("in `" + M + "`, but its value is `null`.")) : new b("The " + R + " `" + T + "` is marked as required in " + ("`" + M + "`, but its value is `undefined`.")) : null : g(_, N, M, R, T); } var P = C.bind(null, !1); return P.isRequired = C.bind(null, !0), P; } function x(g) { function d(S, C, P, j, _, N) { var M = S[C], R = F(M); if (R !== g) { var T = D(M); return new b( "Invalid " + j + " `" + _ + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."), { expectedType: g } ); } return null; } return m(d); } function O() { return m(i); } function E(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside arrayOf."); var N = S[C]; if (!Array.isArray(N)) { var M = F(N); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an array.")); } for (var R = 0; R < N.length; R++) { var T = g(N, R, P, j, _ + "[" + R + "]", r); if (T instanceof Error) return T; } return null; } return m(d); } function A() { function g(d, S, C, P, j) { var _ = d[S]; if (!s(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement.")); } return null; } return m(g); } function h() { function g(d, S, C, P, j) { var _ = d[S]; if (!e.isValidElementType(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement type.")); } return null; } return m(g); } function G(g) { function d(S, C, P, j, _) { if (!(S[C] instanceof g)) { var N = g.name || p, M = q(S[C]); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected ") + ("instance of `" + N + "`.")); } return null; } return m(d); } function H(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function d(S, C, P, j, _) { for (var N = S[C], M = 0; M < g.length; M++) if (w(N, g[M])) return null; var R = JSON.stringify(g, function(T, Q) { var k = D(Q); return k === "symbol" ? String(Q) : Q; }); return new b("Invalid " + j + " `" + _ + "` of value `" + String(N) + "` " + ("supplied to `" + P + "`, expected one of " + R + ".")); } return m(d); } function Z(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside objectOf."); var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an object.")); for (var R in N) if (n(N, R)) { var T = g(N, R, P, j, _ + "." + R, r); if (T instanceof Error) return T; } return null; } return m(d); } function J(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var d = 0; d < g.length; d++) { var S = g[d]; if (typeof S != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(S) + " at index " + d + "." ), i; } function C(P, j, _, N, M) { for (var R = [], T = 0; T < g.length; T++) { var Q = g[T], k = Q(P, j, _, N, M, r); if (k == null) return null; k.data && n(k.data, "expectedType") && R.push(k.data.expectedType); } var ne = R.length > 0 ? ", expected one of type [" + R.join(", ") + "]" : ""; return new b("Invalid " + N + " `" + M + "` supplied to " + ("`" + _ + "`" + ne + ".")); } return m(C); } function X() { function g(d, S, C, P, j) { return U(d[S]) ? null : new b("Invalid " + P + " `" + j + "` supplied to " + ("`" + C + "`, expected a ReactNode.")); } return m(g); } function ee(g, d, S, C, P) { return new b( (g || "React class") + ": " + d + " type `" + S + "." + C + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`." ); } function I(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); for (var R in g) { var T = g[R]; if (typeof T != "function") return ee(P, j, _, R, D(T)); var Q = T(N, R, P, j, _ + "." + R, r); if (Q) return Q; } return null; } return m(d); } function te(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); var R = t({}, S[C], g); for (var T in R) { var Q = g[T]; if (n(g, T) && typeof Q != "function") return ee(P, j, _, T, D(Q)); if (!Q) return new b( "Invalid " + j + " `" + _ + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(S[C], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(g), null, " ") ); var k = Q(N, T, P, j, _ + "." + T, r); if (k) return k; } return null; } return m(d); } function U(g) { switch (typeof g) { case "number": case "string": case "undefined": return !0; case "boolean": return !g; case "object": if (Array.isArray(g)) return g.every(U); if (g === null || s(g)) return !0; var d = f(g); if (d) { var S = d.call(g), C; if (d !== g.entries) { for (; !(C = S.next()).done; ) if (!U(C.value)) return !1; } else for (; !(C = S.next()).done; ) { var P = C.value; if (P && !U(P[1])) return !1; } } else return !1; return !0; default: return !1; } } function z(g, d) { return g === "symbol" ? !0 : d ? d["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && d instanceof Symbol : !1; } function F(g) { var d = typeof g; return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : z(d, g) ? "symbol" : d; } function D(g) { if (typeof g > "u" || g === null) return "" + g; var d = F(g); if (d === "object") { if (g instanceof Date) return "date"; if (g instanceof RegExp) return "regexp"; } return d; } function Y(g) { var d = D(g); switch (d) { case "array": case "object": return "an " + d; case "boolean": case "date": case "regexp": return "a " + d; default: return d; } } function q(g) { return !g.constructor || !g.constructor.name ? p : g.constructor.name; } return v.checkPropTypes = o, v.resetWarningCache = o.resetWarningCache, v.PropTypes = v, v; }, DA; } var FA, tK; function Fot() { if (tK) return FA; tK = 1; var e = /* @__PURE__ */ Hz(); function t() { } function r() { } return r.resetWarningCache = t, FA = function() { function n(i, s, l, c, u, f) { if (f !== e) { var p = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw p.name = "Invariant Violation", p; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, FA; } var rK; function Lot() { if (rK) return d2.exports; if (rK = 1, process.env.NODE_ENV !== "production") { var e = yge(), t = !0; d2.exports = /* @__PURE__ */ Dot()(e.isElement, t); } else d2.exports = /* @__PURE__ */ Fot()(); return d2.exports; } var Vot = /* @__PURE__ */ Lot(); const sr = /* @__PURE__ */ Iot(Vot); function nK(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Ji(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? nK(Object(r), !0).forEach(function(n) { Gg(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : nK(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function H5(e) { "@babel/helpers - typeof"; return H5 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, H5(e); } function Gg(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function Wot(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function Got(e, t) { if (e == null) return {}; var r = Wot(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function m9(e) { return Uot(e) || Hot(e) || Yot(e) || Bot(); } function Uot(e) { if (Array.isArray(e)) return g9(e); } function Hot(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function Yot(e, t) { if (e) { if (typeof e == "string") return g9(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return g9(e, t); } } function g9(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function Bot() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function qot(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, p = e.fixedWidth, v = e.inverse, w = e.border, b = e.listItem, m = e.flip, x = e.size, O = e.rotation, E = e.pull, A = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": l, "fa-spin-reverse": u, "fa-spin-pulse": c, "fa-pulse": f, "fa-fw": p, "fa-inverse": v, "fa-border": w, "fa-li": b, "fa-flip": m === !0, "fa-flip-horizontal": m === "horizontal" || m === "both", "fa-flip-vertical": m === "vertical" || m === "both" }, Gg(t, "fa-".concat(x), typeof x < "u" && x !== null), Gg(t, "fa-rotate-".concat(O), typeof O < "u" && O !== null && O !== 0), Gg(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), Gg(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(A).map(function(h) { return A[h] ? h : null; }).filter(function(h) { return h; }); } function Xot(e) { return e = e - 0, e === e; } function xge(e) { return Xot(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var Kot = ["style"]; function Jot(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function Qot(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = xge(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[Jot(o)] = a : t[o] = a, t; }, {}); } function wge(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(l) { return wge(e, l); }), o = Object.keys(t.attributes || {}).reduce(function(l, c) { var u = t.attributes[c]; switch (c) { case "class": l.attrs.className = u, delete t.attributes.class; break; case "style": l.attrs.style = Qot(u); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[xge(c)] = u; } return l; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = Got(r, Kot); return o.attrs.style = Ji(Ji({}, o.attrs.style), i), e.apply(void 0, [t.tag, Ji(Ji({}, o.attrs), s)].concat(m9(n))); } var kge = !1; try { kge = process.env.NODE_ENV === "production"; } catch { } function Zot() { if (!kge && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function oK(e) { if (e && H5(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (p9.icon) return p9.icon(e); if (e === null) return null; if (e && H5(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function LA(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Gg({}, e, t) : {}; } var aK = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, Yz = /* @__PURE__ */ de.forwardRef(function(e, t) { var r = Ji(Ji({}, aK), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = oK(n), f = LA("classes", [].concat(m9(qot(r)), m9((i || "").split(" ")))), p = LA("transform", typeof r.transform == "string" ? p9.transform(r.transform) : r.transform), v = LA("mask", oK(o)), w = jot(u, Ji(Ji(Ji(Ji({}, f), p), v), {}, { symbol: a, title: s, titleId: l, maskId: c })); if (!w) return Zot("Could not find icon", u), null; var b = w.abstract, m = { ref: t }; return Object.keys(r).forEach(function(x) { aK.hasOwnProperty(x) || (m[x] = r[x]); }), eat(b[0], m); }); Yz.displayName = "FontAwesomeIcon"; Yz.propTypes = { beat: sr.bool, border: sr.bool, beatFade: sr.bool, bounce: sr.bool, className: sr.string, fade: sr.bool, flash: sr.bool, mask: sr.oneOfType([sr.object, sr.array, sr.string]), maskId: sr.string, fixedWidth: sr.bool, inverse: sr.bool, flip: sr.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: sr.oneOfType([sr.object, sr.array, sr.string]), listItem: sr.bool, pull: sr.oneOf(["right", "left"]), pulse: sr.bool, rotation: sr.oneOf([0, 90, 180, 270]), shake: sr.bool, size: sr.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: sr.bool, spinPulse: sr.bool, spinReverse: sr.bool, symbol: sr.oneOfType([sr.bool, sr.string]), title: sr.string, titleId: sr.string, transform: sr.oneOfType([sr.string, sr.object]), swapOpacity: sr.bool }; var eat = wge.bind(null, de.createElement); const Bz = "-", tat = (e) => { const t = nat(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(Bz); return a[0] === "" && a.length !== 1 && a.shift(), Oge(a, t) || rat(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, Oge = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? Oge(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(Bz); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, iK = /^\[(.+)\]$/, rat = (e) => { if (iK.test(e)) { const t = iK.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, nat = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return aat(Object.entries(e.classGroups), r).forEach(([o, a]) => { h9(a, n, o, t); }), n; }, h9 = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : sK(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (oat(o)) { h9(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { h9(i, sK(t, a), r, n); }); }); }, sK = (e, t) => { let r = e; return t.split(Bz).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, oat = (e) => e.isThemeGetter, aat = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, iat = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, Sge = "!", sat = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(Sge), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, lat = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, cat = (e) => ({ cache: iat(e.cacheSize), parseClassName: sat(e), ...tat(e) }), uat = /\s+/, fat = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(uat); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = lat(u).join(":"), x = f ? m + Sge : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function dat() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = Ege(t)) && (n && (n += " "), n += r); return n; } const Ege = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = Ege(e[n])) && (r && (r += " "), r += t); return r; }; function pat(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = cat(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = fat(l, r); return o(l, u), u; } return function() { return a(dat.apply(null, arguments)); }; } const xn = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, Age = /^\[(?:([a-z-]+):)?(.+)\]$/i, mat = /^\d+\/\d+$/, gat = /* @__PURE__ */ new Set(["px", "full", "screen"]), hat = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, bat = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, yat = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, vat = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, xat = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, pl = (e) => Mh(e) || gat.has(e) || mat.test(e), wu = (e) => Kb(e, "length", Pat), Mh = (e) => !!e && !Number.isNaN(Number(e)), VA = (e) => Kb(e, "number", Mh), tv = (e) => !!e && Number.isInteger(Number(e)), wat = (e) => e.endsWith("%") && Mh(e.slice(0, -1)), Rt = (e) => Age.test(e), ku = (e) => hat.test(e), kat = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Oat = (e) => Kb(e, kat, $ge), Sat = (e) => Kb(e, "position", $ge), Eat = /* @__PURE__ */ new Set(["image", "url"]), Aat = (e) => Kb(e, Eat, Nat), $at = (e) => Kb(e, "", Cat), rv = () => !0, Kb = (e, t, r) => { const n = Age.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, Pat = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. bat.test(e) && !yat.test(e) ), $ge = () => !1, Cat = (e) => vat.test(e), Nat = (e) => xat.test(e), _at = () => { const e = xn("colors"), t = xn("spacing"), r = xn("blur"), n = xn("brightness"), o = xn("borderColor"), a = xn("borderRadius"), i = xn("borderSpacing"), s = xn("borderWidth"), l = xn("contrast"), c = xn("grayscale"), u = xn("hueRotate"), f = xn("invert"), p = xn("gap"), v = xn("gradientColorStops"), w = xn("gradientColorStopPositions"), b = xn("inset"), m = xn("margin"), x = xn("opacity"), O = xn("padding"), E = xn("saturate"), A = xn("scale"), h = xn("sepia"), G = xn("skew"), H = xn("space"), Z = xn("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", Rt, t], I = () => [Rt, t], te = () => ["", pl, wu], U = () => ["auto", Mh, Rt], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", Rt], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [Mh, Rt]; return { cacheSize: 500, separator: ":", theme: { colors: [rv], spacing: [pl, wu], blur: ["none", "", ku, Rt], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", ku, Rt], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [wat, wu], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", Rt] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [ku] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), Rt] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", tv, Rt] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", Rt] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", tv, Rt] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [rv] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", tv, Rt] }, Rt] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [rv] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [tv, Rt] }, Rt] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", Rt] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", Rt] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", Rt, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [Rt, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [Rt, t, "none", "full", "min", "max", "fit", "prose", { screen: [ku] }, ku] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [Rt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [Rt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [Rt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [Rt, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", ku, wu] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", VA] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [rv] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", Rt] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", Mh, VA] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", pl, Rt] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", Rt] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", Rt] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", pl, wu] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", pl, Rt] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Rt] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", Rt] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), Sat] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", Oat] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, Aat] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [pl, Rt] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [pl, wu] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [pl, wu] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", ku, $at] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [rv] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", ku, Rt] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", Rt] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", Rt] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", Rt] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [tv, Rt] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", Rt] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", Rt] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", Rt] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [pl, wu, VA] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, jat = /* @__PURE__ */ pat(_at), Iat = ({ onClick: e, className: t, size: r = "md" }) => /* @__PURE__ */ B( "button", { onClick: e, className: jat( "flex items-center justify-center rounded-full bg-black/40 text-white/60 transition-all hover:bg-black/70 hover:text-white", { sm: "h-5 w-5 text-sm", md: "h-7 w-7 text-md", lg: "h-9 w-9 text-xl" }[r], t ), children: /* @__PURE__ */ B(Yz, { icon: _rt }) } ), qz = "-", Rat = (e) => { const t = Tat(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(qz); return a[0] === "" && a.length !== 1 && a.shift(), Pge(a, t) || Mat(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, Pge = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? Pge(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(qz); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, lK = /^\[(.+)\]$/, Mat = (e) => { if (lK.test(e)) { const t = lK.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, Tat = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return Dat(Object.entries(e.classGroups), r).forEach(([o, a]) => { b9(a, n, o, t); }), n; }, b9 = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : cK(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (zat(o)) { b9(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { b9(i, cK(t, a), r, n); }); }); }, cK = (e, t) => { let r = e; return t.split(qz).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, zat = (e) => e.isThemeGetter, Dat = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, Fat = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, Cge = "!", Lat = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(Cge), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, Vat = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, Wat = (e) => ({ cache: Fat(e.cacheSize), parseClassName: Lat(e), ...Rat(e) }), Gat = /\s+/, Uat = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(Gat); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = Vat(u).join(":"), x = f ? m + Cge : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function Hat() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = Nge(t)) && (n && (n += " "), n += r); return n; } const Nge = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = Nge(e[n])) && (r && (r += " "), r += t); return r; }; function Yat(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = Wat(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = Uat(l, r); return o(l, u), u; } return function() { return a(Hat.apply(null, arguments)); }; } const wn = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, _ge = /^\[(?:([a-z-]+):)?(.+)\]$/i, Bat = /^\d+\/\d+$/, qat = /* @__PURE__ */ new Set(["px", "full", "screen"]), Xat = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Kat = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Jat = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, Qat = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Zat = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, ml = (e) => Th(e) || qat.has(e) || Bat.test(e), Ou = (e) => Jb(e, "length", sit), Th = (e) => !!e && !Number.isNaN(Number(e)), WA = (e) => Jb(e, "number", Th), nv = (e) => !!e && Number.isInteger(Number(e)), eit = (e) => e.endsWith("%") && Th(e.slice(0, -1)), Mt = (e) => _ge.test(e), Su = (e) => Xat.test(e), tit = /* @__PURE__ */ new Set(["length", "size", "percentage"]), rit = (e) => Jb(e, tit, jge), nit = (e) => Jb(e, "position", jge), oit = /* @__PURE__ */ new Set(["image", "url"]), ait = (e) => Jb(e, oit, cit), iit = (e) => Jb(e, "", lit), ov = () => !0, Jb = (e, t, r) => { const n = _ge.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, sit = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. Kat.test(e) && !Jat.test(e) ), jge = () => !1, lit = (e) => Qat.test(e), cit = (e) => Zat.test(e), uit = () => { const e = wn("colors"), t = wn("spacing"), r = wn("blur"), n = wn("brightness"), o = wn("borderColor"), a = wn("borderRadius"), i = wn("borderSpacing"), s = wn("borderWidth"), l = wn("contrast"), c = wn("grayscale"), u = wn("hueRotate"), f = wn("invert"), p = wn("gap"), v = wn("gradientColorStops"), w = wn("gradientColorStopPositions"), b = wn("inset"), m = wn("margin"), x = wn("opacity"), O = wn("padding"), E = wn("saturate"), A = wn("scale"), h = wn("sepia"), G = wn("skew"), H = wn("space"), Z = wn("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", Mt, t], I = () => [Mt, t], te = () => ["", ml, Ou], U = () => ["auto", Th, Mt], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", Mt], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [Th, Mt]; return { cacheSize: 500, separator: ":", theme: { colors: [ov], spacing: [ml, Ou], blur: ["none", "", Su, Mt], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", Su, Mt], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [eit, Ou], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", Mt] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [Su] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), Mt] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", nv, Mt] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", Mt] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", nv, Mt] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [ov] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", nv, Mt] }, Mt] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [ov] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [nv, Mt] }, Mt] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", Mt] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", Mt] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", Mt, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [Mt, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [Mt, t, "none", "full", "min", "max", "fit", "prose", { screen: [Su] }, Su] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [Mt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [Mt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [Mt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [Mt, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", Su, Ou] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", WA] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [ov] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", Mt] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", Th, WA] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", ml, Mt] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", Mt] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", Mt] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", ml, Ou] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", ml, Mt] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Mt] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", Mt] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), nit] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", rit] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, ait] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [ml, Mt] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [ml, Ou] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [ml, Ou] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", Su, iit] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [ov] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", Su, Mt] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", Mt] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", Mt] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", Mt] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [nv, Mt] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", Mt] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", Mt] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", Mt] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [ml, Ou, WA] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, fit = /* @__PURE__ */ Yat(uit), uK = ({ className: e, thickness: t = 4 }) => /* @__PURE__ */ me( "svg", { className: fit("h-6 w-6 animate-spin", e), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: [ /* @__PURE__ */ B( "circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: t } ), /* @__PURE__ */ B( "path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" } ) ] } ); var dit = Object.defineProperty, pit = (e, t, r) => t in e ? dit(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Ige = (e, t, r) => pit(e, typeof t != "symbol" ? t + "" : t, r), Op = /* @__PURE__ */ ((e) => (e.AUDIO = "audio", e.IMAGE = "image", e.VIDEO = "video", e.DIMENSIONAL = "dimensional", e))(Op || {}), Rge = /* @__PURE__ */ ((e) => (e.SCENE_JSON = "scene_json", e.GLB = "glb", e.GLTF = "gltf", e.PMX = "pmx", e.PMD = "pmd", e.VMD = "vmd", e))(Rge || {}); const mit = "https://api.storyteller.ai"; window.STORYTELLER_API_HOST_STORE = void 0; let git = class Mge { constructor(t) { Ige(this, "apiSchemeAndHost"), this.apiSchemeAndHost = t; } // NB(bt,2025-09-25): 'nx' is creating multiple copies of the library with name // mangling, so the singleton pattern fails to resolve to a single instance. // public static getInstance(): StorytellerApiHostStore { // if (StorytellerApiHostStore.instance !== undefined) { // return StorytellerApiHostStore.instance; // } // const instance = new StorytellerApiHostStore(DEFAULT_API_HOST); // StorytellerApiHostStore.instance = instance; // return instance; // } static getInstance() { if (window.STORYTELLER_API_HOST_STORE !== void 0) return window.STORYTELLER_API_HOST_STORE; const t = new Mge(mit); return window.STORYTELLER_API_HOST_STORE = t, t; } /** Get the API scheme and host. */ getApiSchemeAndHost() { return console.debug("StorytellerApiHostStore.getApiSchemeAndHost()", this.apiSchemeAndHost, this.constructor.name), this.apiSchemeAndHost; } /** * Externally update the API host. * This is used to sync with Tauri for enabling easier development. */ setApiSchemeAndHost(t) { if (console.debug("StorytellerApiHostStore.setApiSchemeAndHost()", t, this.constructor.name), !t.startsWith("http://") && !t.startsWith("https://")) throw new Error(`Scheme not included in URL: ${t}`); const r = "https://".lastIndexOf("/"); if (t.lastIndexOf("/") > r) throw new Error(`Path components should not be included in URL: ${t}`); this.apiSchemeAndHost = t; } }; var Vv = /* @__PURE__ */ ((e) => (e.GOOGLE_API = "https://storage.googleapis.com", e.FUNNEL_API = "https://style.storyteller.ai", e.CDN_API = "https://cdn.storyteller.ai", e.GRAVATAR_API = "https://www.gravatar.com", e))(Vv || {}), GA = { exports: {} }, Xt = {}; /** * @license React * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var fK; function hit() { if (fK) return Xt; fK = 1; var e = Symbol.for("react.element"), t = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), n = Symbol.for("react.strict_mode"), o = Symbol.for("react.profiler"), a = Symbol.for("react.provider"), i = Symbol.for("react.context"), s = Symbol.for("react.forward_ref"), l = Symbol.for("react.suspense"), c = Symbol.for("react.memo"), u = Symbol.for("react.lazy"), f = Symbol.iterator; function p(d) { return d === null || typeof d != "object" ? null : (d = f && d[f] || d["@@iterator"], typeof d == "function" ? d : null); } var v = { isMounted: function() { return !1; }, enqueueForceUpdate: function() { }, enqueueReplaceState: function() { }, enqueueSetState: function() { } }, w = Object.assign, b = {}; function m(d, S, C) { this.props = d, this.context = S, this.refs = b, this.updater = C || v; } m.prototype.isReactComponent = {}, m.prototype.setState = function(d, S) { if (typeof d != "object" && typeof d != "function" && d != null) throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables."); this.updater.enqueueSetState(this, d, S, "setState"); }, m.prototype.forceUpdate = function(d) { this.updater.enqueueForceUpdate(this, d, "forceUpdate"); }; function x() { } x.prototype = m.prototype; function O(d, S, C) { this.props = d, this.context = S, this.refs = b, this.updater = C || v; } var E = O.prototype = new x(); E.constructor = O, w(E, m.prototype), E.isPureReactComponent = !0; var A = Array.isArray, h = Object.prototype.hasOwnProperty, G = { current: null }, H = { key: !0, ref: !0, __self: !0, __source: !0 }; function Z(d, S, C) { var P, j = {}, _ = null, N = null; if (S != null) for (P in S.ref !== void 0 && (N = S.ref), S.key !== void 0 && (_ = "" + S.key), S) h.call(S, P) && !H.hasOwnProperty(P) && (j[P] = S[P]); var M = arguments.length - 2; if (M === 1) j.children = C; else if (1 < M) { for (var R = Array(M), T = 0; T < M; T++) R[T] = arguments[T + 2]; j.children = R; } if (d && d.defaultProps) for (P in M = d.defaultProps, M) j[P] === void 0 && (j[P] = M[P]); return { $$typeof: e, type: d, key: _, ref: N, props: j, _owner: G.current }; } function J(d, S) { return { $$typeof: e, type: d.type, key: S, ref: d.ref, props: d.props, _owner: d._owner }; } function X(d) { return typeof d == "object" && d !== null && d.$$typeof === e; } function ee(d) { var S = { "=": "=0", ":": "=2" }; return "$" + d.replace(/[=:]/g, function(C) { return S[C]; }); } var I = /\/+/g; function te(d, S) { return typeof d == "object" && d !== null && d.key != null ? ee("" + d.key) : S.toString(36); } function U(d, S, C, P, j) { var _ = typeof d; (_ === "undefined" || _ === "boolean") && (d = null); var N = !1; if (d === null) N = !0; else switch (_) { case "string": case "number": N = !0; break; case "object": switch (d.$$typeof) { case e: case t: N = !0; } } if (N) return N = d, j = j(N), d = P === "" ? "." + te(N, 0) : P, A(j) ? (C = "", d != null && (C = d.replace(I, "$&/") + "/"), U(j, S, C, "", function(T) { return T; })) : j != null && (X(j) && (j = J(j, C + (!j.key || N && N.key === j.key ? "" : ("" + j.key).replace(I, "$&/") + "/") + d)), S.push(j)), 1; if (N = 0, P = P === "" ? "." : P + ":", A(d)) for (var M = 0; M < d.length; M++) { _ = d[M]; var R = P + te(_, M); N += U(_, S, C, R, j); } else if (R = p(d), typeof R == "function") for (d = R.call(d), M = 0; !(_ = d.next()).done; ) _ = _.value, R = P + te(_, M++), N += U(_, S, C, R, j); else if (_ === "object") throw S = String(d), Error("Objects are not valid as a React child (found: " + (S === "[object Object]" ? "object with keys {" + Object.keys(d).join(", ") + "}" : S) + "). If you meant to render a collection of children, use an array instead."); return N; } function z(d, S, C) { if (d == null) return d; var P = [], j = 0; return U(d, P, "", "", function(_) { return S.call(C, _, j++); }), P; } function F(d) { if (d._status === -1) { var S = d._result; S = S(), S.then(function(C) { (d._status === 0 || d._status === -1) && (d._status = 1, d._result = C); }, function(C) { (d._status === 0 || d._status === -1) && (d._status = 2, d._result = C); }), d._status === -1 && (d._status = 0, d._result = S); } if (d._status === 1) return d._result.default; throw d._result; } var D = { current: null }, Y = { transition: null }, q = { ReactCurrentDispatcher: D, ReactCurrentBatchConfig: Y, ReactCurrentOwner: G }; function g() { throw Error("act(...) is not supported in production builds of React."); } return Xt.Children = { map: z, forEach: function(d, S, C) { z(d, function() { S.apply(this, arguments); }, C); }, count: function(d) { var S = 0; return z(d, function() { S++; }), S; }, toArray: function(d) { return z(d, function(S) { return S; }) || []; }, only: function(d) { if (!X(d)) throw Error("React.Children.only expected to receive a single React element child."); return d; } }, Xt.Component = m, Xt.Fragment = r, Xt.Profiler = o, Xt.PureComponent = O, Xt.StrictMode = n, Xt.Suspense = l, Xt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = q, Xt.act = g, Xt.cloneElement = function(d, S, C) { if (d == null) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + d + "."); var P = w({}, d.props), j = d.key, _ = d.ref, N = d._owner; if (S != null) { if (S.ref !== void 0 && (_ = S.ref, N = G.current), S.key !== void 0 && (j = "" + S.key), d.type && d.type.defaultProps) var M = d.type.defaultProps; for (R in S) h.call(S, R) && !H.hasOwnProperty(R) && (P[R] = S[R] === void 0 && M !== void 0 ? M[R] : S[R]); } var R = arguments.length - 2; if (R === 1) P.children = C; else if (1 < R) { M = Array(R); for (var T = 0; T < R; T++) M[T] = arguments[T + 2]; P.children = M; } return { $$typeof: e, type: d.type, key: j, ref: _, props: P, _owner: N }; }, Xt.createContext = function(d) { return d = { $$typeof: i, _currentValue: d, _currentValue2: d, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, d.Provider = { $$typeof: a, _context: d }, d.Consumer = d; }, Xt.createElement = Z, Xt.createFactory = function(d) { var S = Z.bind(null, d); return S.type = d, S; }, Xt.createRef = function() { return { current: null }; }, Xt.forwardRef = function(d) { return { $$typeof: s, render: d }; }, Xt.isValidElement = X, Xt.lazy = function(d) { return { $$typeof: u, _payload: { _status: -1, _result: d }, _init: F }; }, Xt.memo = function(d, S) { return { $$typeof: c, type: d, compare: S === void 0 ? null : S }; }, Xt.startTransition = function(d) { var S = Y.transition; Y.transition = {}; try { d(); } finally { Y.transition = S; } }, Xt.unstable_act = g, Xt.useCallback = function(d, S) { return D.current.useCallback(d, S); }, Xt.useContext = function(d) { return D.current.useContext(d); }, Xt.useDebugValue = function() { }, Xt.useDeferredValue = function(d) { return D.current.useDeferredValue(d); }, Xt.useEffect = function(d, S) { return D.current.useEffect(d, S); }, Xt.useId = function() { return D.current.useId(); }, Xt.useImperativeHandle = function(d, S, C) { return D.current.useImperativeHandle(d, S, C); }, Xt.useInsertionEffect = function(d, S) { return D.current.useInsertionEffect(d, S); }, Xt.useLayoutEffect = function(d, S) { return D.current.useLayoutEffect(d, S); }, Xt.useMemo = function(d, S) { return D.current.useMemo(d, S); }, Xt.useReducer = function(d, S, C) { return D.current.useReducer(d, S, C); }, Xt.useRef = function(d) { return D.current.useRef(d); }, Xt.useState = function(d) { return D.current.useState(d); }, Xt.useSyncExternalStore = function(d, S, C) { return D.current.useSyncExternalStore(d, S, C); }, Xt.useTransition = function() { return D.current.useTransition(); }, Xt.version = "18.3.1", Xt; } var Pk = { exports: {} }; /** * @license React * react.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ Pk.exports; var dK; function bit() { return dK || (dK = 1, function(e, t) { process.env.NODE_ENV !== "production" && function() { typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); var r = "18.3.1", n = Symbol.for("react.element"), o = Symbol.for("react.portal"), a = Symbol.for("react.fragment"), i = Symbol.for("react.strict_mode"), s = Symbol.for("react.profiler"), l = Symbol.for("react.provider"), c = Symbol.for("react.context"), u = Symbol.for("react.forward_ref"), f = Symbol.for("react.suspense"), p = Symbol.for("react.suspense_list"), v = Symbol.for("react.memo"), w = Symbol.for("react.lazy"), b = Symbol.for("react.offscreen"), m = Symbol.iterator, x = "@@iterator"; function O(y) { if (y === null || typeof y != "object") return null; var $ = m && y[m] || y[x]; return typeof $ == "function" ? $ : null; } var E = { /** * @internal * @type {ReactComponent} */ current: null }, A = { transition: null }, h = { current: null, // Used to reproduce behavior of `batchedUpdates` in legacy mode. isBatchingLegacy: !1, didScheduleLegacyUpdate: !1 }, G = { /** * @internal * @type {ReactComponent} */ current: null }, H = {}, Z = null; function J(y) { Z = y; } H.setExtraStackFrame = function(y) { Z = y; }, H.getCurrentStack = null, H.getStackAddendum = function() { var y = ""; Z && (y += Z); var $ = H.getCurrentStack; return $ && (y += $() || ""), y; }; var X = !1, ee = !1, I = !1, te = !1, U = !1, z = { ReactCurrentDispatcher: E, ReactCurrentBatchConfig: A, ReactCurrentOwner: G }; z.ReactDebugCurrentFrame = H, z.ReactCurrentActQueue = h; function F(y) { { for (var $ = arguments.length, L = new Array($ > 1 ? $ - 1 : 0), W = 1; W < $; W++) L[W - 1] = arguments[W]; Y("warn", y, L); } } function D(y) { { for (var $ = arguments.length, L = new Array($ > 1 ? $ - 1 : 0), W = 1; W < $; W++) L[W - 1] = arguments[W]; Y("error", y, L); } } function Y(y, $, L) { { var W = z.ReactDebugCurrentFrame, K = W.getStackAddendum(); K !== "" && ($ += "%s", L = L.concat([K])); var oe = L.map(function(re) { return String(re); }); oe.unshift("Warning: " + $), Function.prototype.apply.call(console[y], console, oe); } } var q = {}; function g(y, $) { { var L = y.constructor, W = L && (L.displayName || L.name) || "ReactClass", K = W + "." + $; if (q[K]) return; D("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", $, W), q[K] = !0; } } var d = { /** * Checks whether or not this composite component is mounted. * @param {ReactClass} publicInstance The instance we want to test. * @return {boolean} True if mounted, false otherwise. * @protected * @final */ isMounted: function(y) { return !1; }, /** * Forces an update. This should only be invoked when it is known with * certainty that we are **not** in a DOM transaction. * * You may want to call this when you know that some deeper aspect of the * component's state has changed but `setState` was not called. * * This will not invoke `shouldComponentUpdate`, but it will invoke * `componentWillUpdate` and `componentDidUpdate`. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {?function} callback Called after component is updated. * @param {?string} callerName name of the calling function in the public API. * @internal */ enqueueForceUpdate: function(y, $, L) { g(y, "forceUpdate"); }, /** * Replaces all of the state. Always use this or `setState` to mutate state. * You should treat `this.state` as immutable. * * There is no guarantee that `this.state` will be immediately updated, so * accessing `this.state` after calling this method may return the old value. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} completeState Next state. * @param {?function} callback Called after component is updated. * @param {?string} callerName name of the calling function in the public API. * @internal */ enqueueReplaceState: function(y, $, L, W) { g(y, "replaceState"); }, /** * Sets a subset of the state. This only exists because _pendingState is * internal. This provides a merging strategy that is not available to deep * properties which is confusing. TODO: Expose pendingState or don't use it * during the merge. * * @param {ReactClass} publicInstance The instance that should rerender. * @param {object} partialState Next partial state to be merged with state. * @param {?function} callback Called after component is updated. * @param {?string} Name of the calling function in the public API. * @internal */ enqueueSetState: function(y, $, L, W) { g(y, "setState"); } }, S = Object.assign, C = {}; Object.freeze(C); function P(y, $, L) { this.props = y, this.context = $, this.refs = C, this.updater = L || d; } P.prototype.isReactComponent = {}, P.prototype.setState = function(y, $) { if (typeof y != "object" && typeof y != "function" && y != null) throw new Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables."); this.updater.enqueueSetState(this, y, $, "setState"); }, P.prototype.forceUpdate = function(y) { this.updater.enqueueForceUpdate(this, y, "forceUpdate"); }; { var j = { isMounted: ["isMounted", "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."], replaceState: ["replaceState", "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."] }, _ = function(y, $) { Object.defineProperty(P.prototype, y, { get: function() { F("%s(...) is deprecated in plain JavaScript React classes. %s", $[0], $[1]); } }); }; for (var N in j) j.hasOwnProperty(N) && _(N, j[N]); } function M() { } M.prototype = P.prototype; function R(y, $, L) { this.props = y, this.context = $, this.refs = C, this.updater = L || d; } var T = R.prototype = new M(); T.constructor = R, S(T, P.prototype), T.isPureReactComponent = !0; function Q() { var y = { current: null }; return Object.seal(y), y; } var k = Array.isArray; function ne(y) { return k(y); } function pe(y) { { var $ = typeof Symbol == "function" && Symbol.toStringTag, L = $ && y[Symbol.toStringTag] || y.constructor.name || "Object"; return L; } } function He(y) { try { return on(y), !1; } catch { return !0; } } function on(y) { return "" + y; } function en(y) { if (He(y)) return D("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", pe(y)), on(y); } function se(y, $, L) { var W = y.displayName; if (W) return W; var K = $.displayName || $.name || ""; return K !== "" ? L + "(" + K + ")" : L; } function ae(y) { return y.displayName || "Context"; } function le(y) { if (y == null) return null; if (typeof y.tag == "number" && D("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof y == "function") return y.displayName || y.name || null; if (typeof y == "string") return y; switch (y) { case a: return "Fragment"; case o: return "Portal"; case s: return "Profiler"; case i: return "StrictMode"; case f: return "Suspense"; case p: return "SuspenseList"; } if (typeof y == "object") switch (y.$$typeof) { case c: var $ = y; return ae($) + ".Consumer"; case l: var L = y; return ae(L._context) + ".Provider"; case u: return se(y, y.render, "ForwardRef"); case v: var W = y.displayName || null; return W !== null ? W : le(y.type) || "Memo"; case w: { var K = y, oe = K._payload, re = K._init; try { return le(re(oe)); } catch { return null; } } } return null; } var Be = Object.prototype.hasOwnProperty, gt = { key: !0, ref: !0, __self: !0, __source: !0 }, fe, he, we; we = {}; function Ue(y) { if (Be.call(y, "ref")) { var $ = Object.getOwnPropertyDescriptor(y, "ref").get; if ($ && $.isReactWarning) return !1; } return y.ref !== void 0; } function pt(y) { if (Be.call(y, "key")) { var $ = Object.getOwnPropertyDescriptor(y, "key").get; if ($ && $.isReactWarning) return !1; } return y.key !== void 0; } function yr(y, $) { var L = function() { fe || (fe = !0, D("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", $)); }; L.isReactWarning = !0, Object.defineProperty(y, "key", { get: L, configurable: !0 }); } function so(y, $) { var L = function() { he || (he = !0, D("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", $)); }; L.isReactWarning = !0, Object.defineProperty(y, "ref", { get: L, configurable: !0 }); } function fo(y) { if (typeof y.ref == "string" && G.current && y.__self && G.current.stateNode !== y.__self) { var $ = le(G.current.type); we[$] || (D('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', $, y.ref), we[$] = !0); } } var bt = function(y, $, L, W, K, oe, re) { var ie = { // This tag allows us to uniquely identify this as a React Element $$typeof: n, // Built-in properties that belong on the element type: y, key: $, ref: L, props: re, // Record the component responsible for creating this element. _owner: oe }; return ie._store = {}, Object.defineProperty(ie._store, "validated", { configurable: !1, enumerable: !1, writable: !0, value: !1 }), Object.defineProperty(ie, "_self", { configurable: !1, enumerable: !1, writable: !1, value: W }), Object.defineProperty(ie, "_source", { configurable: !1, enumerable: !1, writable: !1, value: K }), Object.freeze && (Object.freeze(ie.props), Object.freeze(ie)), ie; }; function po(y, $, L) { var W, K = {}, oe = null, re = null, ie = null, ue = null; if ($ != null) { Ue($) && (re = $.ref, fo($)), pt($) && (en($.key), oe = "" + $.key), ie = $.__self === void 0 ? null : $.__self, ue = $.__source === void 0 ? null : $.__source; for (W in $) Be.call($, W) && !gt.hasOwnProperty(W) && (K[W] = $[W]); } var ge = arguments.length - 2; if (ge === 1) K.children = L; else if (ge > 1) { for (var be = Array(ge), ye = 0; ye < ge; ye++) be[ye] = arguments[ye + 2]; Object.freeze && Object.freeze(be), K.children = be; } if (y && y.defaultProps) { var ve = y.defaultProps; for (W in ve) K[W] === void 0 && (K[W] = ve[W]); } if (oe || re) { var Ge = typeof y == "function" ? y.displayName || y.name || "Unknown" : y; oe && yr(K, Ge), re && so(K, Ge); } return bt(y, oe, re, ie, ue, G.current, K); } function mo(y, $) { var L = bt(y.type, $, y.ref, y._self, y._source, y._owner, y.props); return L; } function da(y, $, L) { if (y == null) throw new Error("React.cloneElement(...): The argument must be a React element, but you passed " + y + "."); var W, K = S({}, y.props), oe = y.key, re = y.ref, ie = y._self, ue = y._source, ge = y._owner; if ($ != null) { Ue($) && (re = $.ref, ge = G.current), pt($) && (en($.key), oe = "" + $.key); var be; y.type && y.type.defaultProps && (be = y.type.defaultProps); for (W in $) Be.call($, W) && !gt.hasOwnProperty(W) && ($[W] === void 0 && be !== void 0 ? K[W] = be[W] : K[W] = $[W]); } var ye = arguments.length - 2; if (ye === 1) K.children = L; else if (ye > 1) { for (var ve = Array(ye), Ge = 0; Ge < ye; Ge++) ve[Ge] = arguments[Ge + 2]; K.children = ve; } return bt(y.type, oe, re, ie, ue, ge, K); } function hr(y) { return typeof y == "object" && y !== null && y.$$typeof === n; } var lo = ".", pa = ":"; function Ed(y) { var $ = /[=:]/g, L = { "=": "=0", ":": "=2" }, W = y.replace($, function(K) { return L[K]; }); return "$" + W; } var Ba = !1, Ad = /\/+/g; function qa(y) { return y.replace(Ad, "$&/"); } function Do(y, $) { return typeof y == "object" && y !== null && y.key != null ? (en(y.key), Ed("" + y.key)) : $.toString(36); } function Jn(y, $, L, W, K) { var oe = typeof y; (oe === "undefined" || oe === "boolean") && (y = null); var re = !1; if (y === null) re = !0; else switch (oe) { case "string": case "number": re = !0; break; case "object": switch (y.$$typeof) { case n: case o: re = !0; } } if (re) { var ie = y, ue = K(ie), ge = W === "" ? lo + Do(ie, 0) : W; if (ne(ue)) { var be = ""; ge != null && (be = qa(ge) + "/"), Jn(ue, $, be, "", function(yp) { return yp; }); } else ue != null && (hr(ue) && (ue.key && (!ie || ie.key !== ue.key) && en(ue.key), ue = mo( ue, // Keep both the (mapped) and old keys if they differ, just as // traverseAllChildren used to do for objects as children L + // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key (ue.key && (!ie || ie.key !== ue.key) ? ( // $FlowFixMe Flow incorrectly thinks existing element's key can be a number // eslint-disable-next-line react-internal/safe-string-coercion qa("" + ue.key) + "/" ) : "") + ge )), $.push(ue)); return 1; } var ye, ve, Ge = 0, Ye = W === "" ? lo : W + pa; if (ne(y)) for (var ao = 0; ao < y.length; ao++) ye = y[ao], ve = Ye + Do(ye, ao), Ge += Jn(ye, $, L, ve, K); else { var Bo = O(y); if (typeof Bo == "function") { var vi = y; Bo === vi.entries && (Ba || F("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), Ba = !0); for (var hp = Bo.call(vi), xi, bp = 0; !(xi = hp.next()).done; ) ye = xi.value, ve = Ye + Do(ye, bp++), Ge += Jn(ye, $, L, ve, K); } else if (oe === "object") { var wi = String(y); throw new Error("Objects are not valid as a React child (found: " + (wi === "[object Object]" ? "object with keys {" + Object.keys(y).join(", ") + "}" : wi) + "). If you meant to render a collection of children, use an array instead."); } } return Ge; } function Qn(y, $, L) { if (y == null) return y; var W = [], K = 0; return Jn(y, W, "", "", function(oe) { return $.call(L, oe, K++); }), W; } function $d(y) { var $ = 0; return Qn(y, function() { $++; }), $; } function Pd(y, $, L) { Qn(y, function() { $.apply(this, arguments); }, L); } function Cd(y) { return Qn(y, function($) { return $; }) || []; } function Nd(y) { if (!hr(y)) throw new Error("React.Children.only expected to receive a single React element child."); return y; } function _d(y) { var $ = { $$typeof: c, // As a workaround to support multiple concurrent renderers, we categorize // some renderers as primary and others as secondary. We only expect // there to be two concurrent renderers at most: React Native (primary) and // Fabric (secondary); React DOM (primary) and React ART (secondary). // Secondary renderers store their context values on separate fields. _currentValue: y, _currentValue2: y, // Used to track how many concurrent renderers this context currently // supports within in a single renderer. Such as parallel server rendering. _threadCount: 0, // These are circular Provider: null, Consumer: null, // Add these to use same hidden class in VM as ServerContext _defaultValue: null, _globalName: null }; $.Provider = { $$typeof: l, _context: $ }; var L = !1, W = !1, K = !1; { var oe = { $$typeof: c, _context: $ }; Object.defineProperties(oe, { Provider: { get: function() { return W || (W = !0, D("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")), $.Provider; }, set: function(re) { $.Provider = re; } }, _currentValue: { get: function() { return $._currentValue; }, set: function(re) { $._currentValue = re; } }, _currentValue2: { get: function() { return $._currentValue2; }, set: function(re) { $._currentValue2 = re; } }, _threadCount: { get: function() { return $._threadCount; }, set: function(re) { $._threadCount = re; } }, Consumer: { get: function() { return L || (L = !0, D("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")), $.Consumer; } }, displayName: { get: function() { return $.displayName; }, set: function(re) { K || (F("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.", re), K = !0); } } }), $.Consumer = oe; } return $._currentRenderer = null, $._currentRenderer2 = null, $; } var Bn = -1, Fo = 0, Xa = 1, jd = 2; function Id(y) { if (y._status === Bn) { var $ = y._result, L = $(); if (L.then(function(oe) { if (y._status === Fo || y._status === Bn) { var re = y; re._status = Xa, re._result = oe; } }, function(oe) { if (y._status === Fo || y._status === Bn) { var re = y; re._status = jd, re._result = oe; } }), y._status === Bn) { var W = y; W._status = Fo, W._result = L; } } if (y._status === Xa) { var K = y._result; return K === void 0 && D(`lazy: Expected the result of a dynamic import() call. Instead received: %s Your code should look like: const MyComponent = lazy(() => import('./MyComponent')) Did you accidentally put curly braces around the import?`, K), "default" in K || D(`lazy: Expected the result of a dynamic import() call. Instead received: %s Your code should look like: const MyComponent = lazy(() => import('./MyComponent'))`, K), K.default; } else throw y._result; } function Rd(y) { var $ = { // We use these fields to store the result. _status: Bn, _result: y }, L = { $$typeof: w, _payload: $, _init: Id }; { var W, K; Object.defineProperties(L, { defaultProps: { configurable: !0, get: function() { return W; }, set: function(oe) { D("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), W = oe, Object.defineProperty(L, "defaultProps", { enumerable: !0 }); } }, propTypes: { configurable: !0, get: function() { return K; }, set: function(oe) { D("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), K = oe, Object.defineProperty(L, "propTypes", { enumerable: !0 }); } } }); } return L; } function Md(y) { y != null && y.$$typeof === v ? D("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).") : typeof y != "function" ? D("forwardRef requires a render function but was given %s.", y === null ? "null" : typeof y) : y.length !== 0 && y.length !== 2 && D("forwardRef render functions accept exactly two parameters: props and ref. %s", y.length === 1 ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined."), y != null && (y.defaultProps != null || y.propTypes != null) && D("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"); var $ = { $$typeof: u, render: y }; { var L; Object.defineProperty($, "displayName", { enumerable: !1, configurable: !0, get: function() { return L; }, set: function(W) { L = W, !y.name && !y.displayName && (y.displayName = W); } }); } return $; } var Ka; Ka = Symbol.for("react.module.reference"); function Ja(y) { return !!(typeof y == "string" || typeof y == "function" || y === a || y === s || U || y === i || y === f || y === p || te || y === b || X || ee || I || typeof y == "object" && y !== null && (y.$$typeof === w || y.$$typeof === v || y.$$typeof === l || y.$$typeof === c || y.$$typeof === u || // This needs to include all possible module reference object // types supported by any Flight configuration anywhere since // we don't know which Flight build this will end up being used // with. y.$$typeof === Ka || y.getModuleId !== void 0)); } function Td(y, $) { Ja(y) || D("memo: The first argument must be a component. Instead received: %s", y === null ? "null" : typeof y); var L = { $$typeof: v, type: y, compare: $ === void 0 ? null : $ }; { var W; Object.defineProperty(L, "displayName", { enumerable: !1, configurable: !0, get: function() { return W; }, set: function(K) { W = K, !y.name && !y.displayName && (y.displayName = K); } }); } return L; } function qe() { var y = E.current; return y === null && D(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: 1. You might have mismatching versions of React and the renderer (such as React DOM) 2. You might be breaking the Rules of Hooks 3. You might have more than one copy of React in the same app See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`), y; } function zd(y) { var $ = qe(); if (y._context !== void 0) { var L = y._context; L.Consumer === y ? D("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?") : L.Provider === y && D("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?"); } return $.useContext(y); } function Dd(y) { var $ = qe(); return $.useState(y); } function Fd(y, $, L) { var W = qe(); return W.useReducer(y, $, L); } function Ld(y) { var $ = qe(); return $.useRef(y); } function Vd(y, $) { var L = qe(); return L.useEffect(y, $); } function Wd(y, $) { var L = qe(); return L.useInsertionEffect(y, $); } function Gd(y, $) { var L = qe(); return L.useLayoutEffect(y, $); } function Ud(y, $) { var L = qe(); return L.useCallback(y, $); } function Hd(y, $) { var L = qe(); return L.useMemo(y, $); } function Yd(y, $, L) { var W = qe(); return W.useImperativeHandle(y, $, L); } function Bd(y, $) { { var L = qe(); return L.useDebugValue(y, $); } } function qd() { var y = qe(); return y.useTransition(); } function Xd(y) { var $ = qe(); return $.useDeferredValue(y); } function Kd() { var y = qe(); return y.useId(); } function Jd(y, $, L) { var W = qe(); return W.useSyncExternalStore(y, $, L); } var qn = 0, Qa, Za, ei, ti, ri, ni, oi; function ai() { } ai.__reactDisabledLog = !0; function Qd() { { if (qn === 0) { Qa = console.log, Za = console.info, ei = console.warn, ti = console.error, ri = console.group, ni = console.groupCollapsed, oi = console.groupEnd; var y = { configurable: !0, enumerable: !0, value: ai, writable: !0 }; Object.defineProperties(console, { info: y, log: y, warn: y, error: y, group: y, groupCollapsed: y, groupEnd: y }); } qn++; } } function Zd() { { if (qn--, qn === 0) { var y = { configurable: !0, enumerable: !0, writable: !0 }; Object.defineProperties(console, { log: S({}, y, { value: Qa }), info: S({}, y, { value: Za }), warn: S({}, y, { value: ei }), error: S({}, y, { value: ti }), group: S({}, y, { value: ri }), groupCollapsed: S({}, y, { value: ni }), groupEnd: S({}, y, { value: oi }) }); } qn < 0 && D("disabledDepth fell below zero. This is a bug in React. Please file an issue."); } } var Lo = z.ReactCurrentDispatcher, Vo; function Zn(y, $, L) { { if (Vo === void 0) try { throw Error(); } catch (K) { var W = K.stack.trim().match(/\n( *(at )?)/); Vo = W && W[1] || ""; } return ` ` + Vo + y; } } var Wo = !1, eo; { var ep = typeof WeakMap == "function" ? WeakMap : Map; eo = new ep(); } function ii(y, $) { if (!y || Wo) return ""; { var L = eo.get(y); if (L !== void 0) return L; } var W; Wo = !0; var K = Error.prepareStackTrace; Error.prepareStackTrace = void 0; var oe; oe = Lo.current, Lo.current = null, Qd(); try { if ($) { var re = function() { throw Error(); }; if (Object.defineProperty(re.prototype, "props", { set: function() { throw Error(); } }), typeof Reflect == "object" && Reflect.construct) { try { Reflect.construct(re, []); } catch (Ye) { W = Ye; } Reflect.construct(y, [], re); } else { try { re.call(); } catch (Ye) { W = Ye; } y.call(re.prototype); } } else { try { throw Error(); } catch (Ye) { W = Ye; } y(); } } catch (Ye) { if (Ye && W && typeof Ye.stack == "string") { for (var ie = Ye.stack.split(` `), ue = W.stack.split(` `), ge = ie.length - 1, be = ue.length - 1; ge >= 1 && be >= 0 && ie[ge] !== ue[be]; ) be--; for (; ge >= 1 && be >= 0; ge--, be--) if (ie[ge] !== ue[be]) { if (ge !== 1 || be !== 1) do if (ge--, be--, be < 0 || ie[ge] !== ue[be]) { var ye = ` ` + ie[ge].replace(" at new ", " at "); return y.displayName && ye.includes("") && (ye = ye.replace("", y.displayName)), typeof y == "function" && eo.set(y, ye), ye; } while (ge >= 1 && be >= 0); break; } } } finally { Wo = !1, Lo.current = oe, Zd(), Error.prepareStackTrace = K; } var ve = y ? y.displayName || y.name : "", Ge = ve ? Zn(ve) : ""; return typeof y == "function" && eo.set(y, Ge), Ge; } function tp(y, $, L) { return ii(y, !1); } function rp(y) { var $ = y.prototype; return !!($ && $.isReactComponent); } function to(y, $, L) { if (y == null) return ""; if (typeof y == "function") return ii(y, rp(y)); if (typeof y == "string") return Zn(y); switch (y) { case f: return Zn("Suspense"); case p: return Zn("SuspenseList"); } if (typeof y == "object") switch (y.$$typeof) { case u: return tp(y.render); case v: return to(y.type, $, L); case w: { var W = y, K = W._payload, oe = W._init; try { return to(oe(K), $, L); } catch { } } } return ""; } var si = {}, li = z.ReactDebugCurrentFrame; function ro(y) { if (y) { var $ = y._owner, L = to(y.type, y._source, $ ? $.type : null); li.setExtraStackFrame(L); } else li.setExtraStackFrame(null); } function np(y, $, L, W, K) { { var oe = Function.call.bind(Be); for (var re in y) if (oe(y, re)) { var ie = void 0; try { if (typeof y[re] != "function") { var ue = Error((W || "React class") + ": " + L + " type `" + re + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof y[re] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."); throw ue.name = "Invariant Violation", ue; } ie = y[re]($, re, W, L, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"); } catch (ge) { ie = ge; } ie && !(ie instanceof Error) && (ro(K), D("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", W || "React class", L, re, typeof ie), ro(null)), ie instanceof Error && !(ie.message in si) && (si[ie.message] = !0, ro(K), D("Failed %s type: %s", L, ie.message), ro(null)); } } } function tn(y) { if (y) { var $ = y._owner, L = to(y.type, y._source, $ ? $.type : null); J(L); } else J(null); } var Go; Go = !1; function ci() { if (G.current) { var y = le(G.current.type); if (y) return ` Check the render method of \`` + y + "`."; } return ""; } function op(y) { if (y !== void 0) { var $ = y.fileName.replace(/^.*[\\\/]/, ""), L = y.lineNumber; return ` Check your code at ` + $ + ":" + L + "."; } return ""; } function ap(y) { return y != null ? op(y.__source) : ""; } var ui = {}; function ip(y) { var $ = ci(); if (!$) { var L = typeof y == "string" ? y : y.displayName || y.name; L && ($ = ` Check the top-level render call using <` + L + ">."); } return $; } function fi(y, $) { if (!(!y._store || y._store.validated || y.key != null)) { y._store.validated = !0; var L = ip($); if (!ui[L]) { ui[L] = !0; var W = ""; y && y._owner && y._owner !== G.current && (W = " It was passed a child from " + le(y._owner.type) + "."), tn(y), D('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', L, W), tn(null); } } } function di(y, $) { if (typeof y == "object") { if (ne(y)) for (var L = 0; L < y.length; L++) { var W = y[L]; hr(W) && fi(W, $); } else if (hr(y)) y._store && (y._store.validated = !0); else if (y) { var K = O(y); if (typeof K == "function" && K !== y.entries) for (var oe = K.call(y), re; !(re = oe.next()).done; ) hr(re.value) && fi(re.value, $); } } } function pi(y) { { var $ = y.type; if ($ == null || typeof $ == "string") return; var L; if (typeof $ == "function") L = $.propTypes; else if (typeof $ == "object" && ($.$$typeof === u || // Note: Memo only checks outer props here. // Inner props are checked in the reconciler. $.$$typeof === v)) L = $.propTypes; else return; if (L) { var W = le($); np(L, y.props, "prop", W, y); } else if ($.PropTypes !== void 0 && !Go) { Go = !0; var K = le($); D("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", K || "Unknown"); } typeof $.getDefaultProps == "function" && !$.getDefaultProps.isReactClassApproved && D("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead."); } } function sp(y) { { for (var $ = Object.keys(y.props), L = 0; L < $.length; L++) { var W = $[L]; if (W !== "children" && W !== "key") { tn(y), D("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", W), tn(null); break; } } y.ref !== null && (tn(y), D("Invalid attribute `ref` supplied to `React.Fragment`."), tn(null)); } } function mi(y, $, L) { var W = Ja(y); if (!W) { var K = ""; (y === void 0 || typeof y == "object" && y !== null && Object.keys(y).length === 0) && (K += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."); var oe = ap($); oe ? K += oe : K += ci(); var re; y === null ? re = "null" : ne(y) ? re = "array" : y !== void 0 && y.$$typeof === n ? (re = "<" + (le(y.type) || "Unknown") + " />", K = " Did you accidentally export a JSX literal instead of a component?") : re = typeof y, D("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", re, K); } var ie = po.apply(this, arguments); if (ie == null) return ie; if (W) for (var ue = 2; ue < arguments.length; ue++) di(arguments[ue], y); return y === a ? sp(ie) : pi(ie), ie; } var gi = !1; function lp(y) { var $ = mi.bind(null, y); return $.type = y, gi || (gi = !0, F("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.")), Object.defineProperty($, "type", { enumerable: !1, get: function() { return F("Factory.type is deprecated. Access the class directly before passing it to createFactory."), Object.defineProperty(this, "type", { value: y }), y; } }), $; } function cp(y, $, L) { for (var W = da.apply(this, arguments), K = 2; K < arguments.length; K++) di(arguments[K], W.type); return pi(W), W; } function up(y, $) { var L = A.transition; A.transition = {}; var W = A.transition; A.transition._updatedFibers = /* @__PURE__ */ new Set(); try { y(); } finally { if (A.transition = L, L === null && W._updatedFibers) { var K = W._updatedFibers.size; K > 10 && F("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."), W._updatedFibers.clear(); } } } var hi = !1, no = null; function fp(y) { if (no === null) try { var $ = ("require" + Math.random()).slice(0, 7), L = e && e[$]; no = L.call(e, "timers").setImmediate; } catch { no = function(W) { hi === !1 && (hi = !0, typeof MessageChannel > "u" && D("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.")); var K = new MessageChannel(); K.port1.onmessage = W, K.port2.postMessage(void 0); }; } return no(y); } var rn = 0, bi = !1; function yi(y) { { var $ = rn; rn++, h.current === null && (h.current = []); var L = h.isBatchingLegacy, W; try { if (h.isBatchingLegacy = !0, W = y(), !L && h.didScheduleLegacyUpdate) { var K = h.current; K !== null && (h.didScheduleLegacyUpdate = !1, Yo(K)); } } catch (ve) { throw oo($), ve; } finally { h.isBatchingLegacy = L; } if (W !== null && typeof W == "object" && typeof W.then == "function") { var oe = W, re = !1, ie = { then: function(ve, Ge) { re = !0, oe.then(function(Ye) { oo($), rn === 0 ? Uo(Ye, ve, Ge) : ve(Ye); }, function(Ye) { oo($), Ge(Ye); }); } }; return !bi && typeof Promise < "u" && Promise.resolve().then(function() { }).then(function() { re || (bi = !0, D("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);")); }), ie; } else { var ue = W; if (oo($), rn === 0) { var ge = h.current; ge !== null && (Yo(ge), h.current = null); var be = { then: function(ve, Ge) { h.current === null ? (h.current = [], Uo(ue, ve, Ge)) : ve(ue); } }; return be; } else { var ye = { then: function(ve, Ge) { ve(ue); } }; return ye; } } } } function oo(y) { y !== rn - 1 && D("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "), rn = y; } function Uo(y, $, L) { { var W = h.current; if (W !== null) try { Yo(W), fp(function() { W.length === 0 ? (h.current = null, $(y)) : Uo(y, $, L); }); } catch (K) { L(K); } else $(y); } } var Ho = !1; function Yo(y) { if (!Ho) { Ho = !0; var $ = 0; try { for (; $ < y.length; $++) { var L = y[$]; do L = L(!0); while (L !== null); } y.length = 0; } catch (W) { throw y = y.slice($ + 1), W; } finally { Ho = !1; } } } var dp = mi, pp = cp, mp = lp, gp = { map: Qn, forEach: Pd, count: $d, toArray: Cd, only: Nd }; t.Children = gp, t.Component = P, t.Fragment = a, t.Profiler = s, t.PureComponent = R, t.StrictMode = i, t.Suspense = f, t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = z, t.act = yi, t.cloneElement = pp, t.createContext = _d, t.createElement = dp, t.createFactory = mp, t.createRef = Q, t.forwardRef = Md, t.isValidElement = hr, t.lazy = Rd, t.memo = Td, t.startTransition = up, t.unstable_act = yi, t.useCallback = Ud, t.useContext = zd, t.useDebugValue = Bd, t.useDeferredValue = Xd, t.useEffect = Vd, t.useId = Kd, t.useImperativeHandle = Yd, t.useInsertionEffect = Wd, t.useLayoutEffect = Gd, t.useMemo = Hd, t.useReducer = Fd, t.useRef = Ld, t.useState = Dd, t.useSyncExternalStore = Jd, t.useTransition = qd, t.version = r, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); }(); }(Pk, Pk.exports)), Pk.exports; } var pK; function yit() { return pK || (pK = 1, process.env.NODE_ENV === "production" ? GA.exports = hit() : GA.exports = bit()), GA.exports; } yit(); function Tge() { return typeof window < "u" && ("__TAURI_INTERNALS__" in window || "__TAURI__" in window); } window.IsDesktopApp = Tge; function ho(e, t, r, n) { if (typeof t == "function" ? e !== t || !0 : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return r === "m" ? n : r === "a" ? n.call(e) : n ? n.value : t.get(e); } function av(e, t, r, n, o) { if (typeof t == "function" ? e !== t || !0 : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); return t.set(e, r), r; } var xp, Ta, pg, p2; const mK = "__TAURI_TO_IPC_KEY__"; function vit(e, t = !1) { return window.__TAURI_INTERNALS__.transformCallback(e, t); } let xit = class { constructor(e) { xp.set(this, void 0), Ta.set(this, 0), pg.set(this, []), p2.set(this, void 0), av(this, xp, e || (() => { })), this.id = vit((t) => { const r = t.index; if ("end" in t) { r == ho(this, Ta, "f") ? this.cleanupCallback() : av(this, p2, r); return; } const n = t.message; if (r == ho(this, Ta, "f")) { for (ho(this, xp, "f").call(this, n), av(this, Ta, ho(this, Ta, "f") + 1); ho(this, Ta, "f") in ho(this, pg, "f"); ) { const o = ho(this, pg, "f")[ho(this, Ta, "f")]; ho(this, xp, "f").call(this, o), delete ho(this, pg, "f")[ho(this, Ta, "f")], av(this, Ta, ho(this, Ta, "f") + 1); } ho(this, Ta, "f") === ho(this, p2, "f") && this.cleanupCallback(); } else ho(this, pg, "f")[r] = n; }); } cleanupCallback() { window.__TAURI_INTERNALS__.unregisterCallback(this.id); } set onmessage(e) { av(this, xp, e); } get onmessage() { return ho(this, xp, "f"); } [(xp = /* @__PURE__ */ new WeakMap(), Ta = /* @__PURE__ */ new WeakMap(), pg = /* @__PURE__ */ new WeakMap(), p2 = /* @__PURE__ */ new WeakMap(), mK)]() { return `__CHANNEL__:${this.id}`; } toJSON() { return this[mK](); } }; async function m2(e, t = {}, r) { return window.__TAURI_INTERNALS__.invoke(e, t, r); } const g2 = "Request cancelled"; async function gK(e, t) { const r = t == null ? void 0 : t.signal; if (r != null && r.aborted) throw new Error(g2); const n = t == null ? void 0 : t.maxRedirections, o = t == null ? void 0 : t.connectTimeout, a = t == null ? void 0 : t.proxy, i = t == null ? void 0 : t.danger; t && (delete t.maxRedirections, delete t.connectTimeout, delete t.proxy, delete t.danger); const s = t != null && t.headers ? t.headers instanceof Headers ? t.headers : new Headers(t.headers) : new Headers(), l = new Request(e, t), c = await l.arrayBuffer(), u = c.byteLength !== 0 ? Array.from(new Uint8Array(c)) : null; for (const [h, G] of l.headers) s.get(h) || s.set(h, G); const f = (s instanceof Headers ? Array.from(s.entries()) : Array.isArray(s) ? s : Object.entries(s)).map(([h, G]) => [ h, // we need to ensure we have all header values as strings // eslint-disable-next-line typeof G == "string" ? G : G.toString() ]); if (r != null && r.aborted) throw new Error(g2); const p = await m2("plugin:http|fetch", { clientConfig: { method: l.method, url: l.url, headers: f, data: u, maxRedirections: n, connectTimeout: o, proxy: a, danger: i } }), v = () => m2("plugin:http|fetch_cancel", { rid: p }); if (r != null && r.aborted) throw v(), new Error(g2); r == null || r.addEventListener("abort", () => void v()); const { status: w, statusText: b, url: m, headers: x, rid: O } = await m2("plugin:http|fetch_send", { rid: p }), E = [101, 103, 204, 205, 304].includes(w) ? null : new ReadableStream({ start: (h) => { const G = new xit(); G.onmessage = (H) => { if (r != null && r.aborted) { h.error(g2); return; } const Z = new Uint8Array(H), J = Z[Z.byteLength - 1], X = Z.slice(0, Z.byteLength - 1); if (J == 1) { h.close(); return; } h.enqueue(X); }, m2("plugin:http|fetch_read_body", { rid: O, streamChannel: G }).catch((H) => { h.error(H); }); } }), A = new Response(E, { status: w, statusText: b }); return Object.defineProperty(A, "url", { value: m }), Object.defineProperty(A, "headers", { value: new Headers(x) }), A; } function Y5(e, t) { return Tge() ? t !== void 0 ? gK(e, t) : gK(e) : t !== void 0 ? fetch(e, t) : fetch(e); } window.FetchProxy = Y5; let zge = class { constructor() { Ige(this, "ApiTargets", {}), this.ApiTargets = { GoggleApi: Vv.GOOGLE_API, FunnelApi: Vv.FUNNEL_API, CdnApi: Vv.CDN_API, GravatarApi: Vv.GRAVATAR_API }; } getApiSchemeAndHost() { return git.getInstance().getApiSchemeAndHost(); } async fetch(e, { method: t, query: r, body: n }) { const o = r && Object.entries(r).reduce( (l, [c, u]) => (u && (l[c] = u.toString()), l), {} ), a = o ? e + "?" + new URLSearchParams(o) : e, i = JSON.stringify(n), s = await Y5(a, { method: t, headers: { Accept: "application/json", "Content-Type": "application/json" }, credentials: "include", body: i }); if (!s.ok) throw new Error(`HTTP error! status: ${s.status}`); return s.json(); } async fetchMultipartFormData(e, { method: t, body: r }) { return (await Y5(e, { method: t, headers: { Accept: "application/json" }, credentials: "include", body: r })).json(); } get({ endpoint: e, query: t }) { return this.fetch(e, { method: "GET", query: t }); } post({ endpoint: e, query: t, body: r }) { return this.fetch(e, { method: "POST", query: t, body: r }); } delete({ endpoint: e, query: t, body: r }) { return this.fetch(e, { method: "DELETE", query: t, body: r }); } async postFormVideo({ endpoint: e, formRecord: t, uuid: r, blob: n, blobFileName: o }) { const a = new FormData(); return a.append("uuid_idempotency_token", r), Object.entries(t).forEach(([i, s]) => { a.append(i, s); }), n && o ? a.append("video", n, o) : n && a.append("video", n), this.fetchMultipartFormData(e, { method: "POST", body: a }); } async postForm({ endpoint: e, formRecord: t, uuid: r, blob: n, blobFileName: o }) { const a = new FormData(); return a.append("uuid_idempotency_token", r), Object.entries(t).forEach(([i, s]) => { a.append(i, s); }), n && o ? a.append("file", n, o) : n && a.append("file", n), this.fetchMultipartFormData(e, { method: "POST", body: a }); } camelToSnakeCase(e) { return e.replace(/([a-z0])([A-Z])/g, "$1_$2").toLowerCase(); } parseQueryValues(e) { return Object.entries(e).reduce( (t, [r, n]) => { if (!n) return t; const o = this.camelToSnakeCase(r); return Array.isArray(n) ? { ...t, [o]: n.join(",") } : { ...t, [o]: n.toString() }; }, {} ); } parseBodyValues(e) { return Object.entries(e).reduce((t, [r, n]) => { if (!n) return t; const o = this.camelToSnakeCase(r); return Array.isArray(n) ? { ...t, [o]: n } : { ...t, [o]: n }; }, {}); } }, wit = class extends zge { async DeleteMediaFileByToken({ mediaFileToken: e, asMod: t = !0, setDelete: r = !0 }) { const n = `${this.getApiSchemeAndHost()}/v1/media_files/file/${e}`, o = { as_mod: t, set_delete: r }; return await this.delete({ endpoint: n, body: o }).then((a) => ({ success: a.success ?? !1, errorMessage: a.BadInput })).catch((a) => ({ success: !1, errorMessage: a.message })); } async ListMediaFilesByTokens({ mediaTokens: e }) { const t = `${this.getApiSchemeAndHost()}/v1/media_files/batch`; return await this.get({ endpoint: t, query: { tokens: e.join(",") } }).then((r) => ({ success: r.success, data: r.media_files })).catch((r) => ({ success: !1, errorMessage: r.message })); } async GetMediaFileByToken({ mediaFileToken: e }) { const t = `${this.getApiSchemeAndHost()}/v1/media_files/file/${e}`; return await this.get({ endpoint: t }).then((r) => ({ success: r.success, data: r.media_file })).catch((r) => ({ success: !1, errorMessage: r.message })); } async ListMediaFiles(e) { const t = `${this.getApiSchemeAndHost()}/v1/media_files/list`, r = { ...e, filter_media_classes: e.filter_media_classes ? e.filter_media_classes.join(",") : void 0, filter_media_type: e.filter_media_type ? e.filter_media_type.join(",") : void 0, filter_engine_categories: e.filter_engine_categories ? e.filter_engine_categories.join(",") : void 0 }; return await this.get({ endpoint: t, query: r }).then((n) => ({ success: n.success, data: n.results ?? [], pagination: n.pagination })).catch((n) => ({ success: !1, errorMessage: n.message })); } async ListFeaturedMediaFiles(e) { const t = `${this.getApiSchemeAndHost()}/v1/media_files/list_featured`, r = { ...e, filter_media_classes: e.filter_media_classes ? e.filter_media_classes.join(",") : void 0, filter_media_type: e.filter_media_type ? e.filter_media_type.join(",") : void 0, filter_engine_categories: e.filter_engine_categories ? e.filter_engine_categories.join(",") : void 0 }; return await this.get({ endpoint: t, query: r }).then((n) => ({ success: !0, data: n.results, pagination: n.pagination })).catch((n) => ({ success: !1, errorMessage: n.message })); } async ListUserMediaFiles(e) { const t = e.username, r = `${this.getApiSchemeAndHost()}/v1/media_files/list/user/${t}`, n = { ...e, include_user_uploads: e.include_user_uploads, filter_media_classes: e.filter_media_classes ? e.filter_media_classes.join(",") : void 0, filter_media_type: e.filter_media_type ? e.filter_media_type.join(",") : void 0, filter_engine_categories: e.filter_engine_categories ? e.filter_engine_categories.join(",") : void 0 }; return await this.get({ endpoint: r, query: n }).then((o) => { let a = o.results ?? []; return e.user_uploads_only && (a = a.filter((i) => i.origin_category === "upload")), { success: o.success, data: a, pagination: o.pagination }; }).catch((o) => ({ success: !1, errorMessage: o.message })); } async SearchFeaturedMediaFiles(e) { const t = `${this.getApiSchemeAndHost()}/v1/media_files/search_featured`, r = { search_term: e.search_term, filter_media_classes: e.filter_media_classes ? e.filter_media_classes.join(",") : void 0, filter_media_type: e.filter_media_type ? e.filter_media_type.join(",") : void 0, filter_engine_categories: e.filter_engine_categories ? e.filter_engine_categories.join(",") : void 0 }; return await this.get({ endpoint: t, query: r }).then((n) => ({ success: !0, data: n.results, pagination: n.pagination })).catch((n) => ({ success: !1, errorMessage: n.message })); } async SearchUserMediaFiles(e) { const t = `${this.getApiSchemeAndHost()}/v1/media_files/search_session`, r = { search_term: e.search_term, filter_media_classes: e.filter_media_classes ? e.filter_media_classes.join(",") : void 0, filter_media_type: e.filter_media_type ? e.filter_media_type.join(",") : void 0, filter_engine_categories: e.filter_engine_categories ? e.filter_engine_categories.join(",") : void 0 }; return await this.get({ endpoint: t, query: r }).then((n) => ({ success: !0, data: n.results, pagination: n.pagination })).catch((n) => ({ success: !1, errorMessage: n.message })); } async RenameMediaFileByToken({ mediaToken: e, name: t }) { const r = `${this.getApiSchemeAndHost()}/v1/media_files/rename/${e}`, n = { name: t }; return await this.post({ endpoint: r, body: n }).then((o) => ({ success: o.success ?? !1, errorMessage: o.BadInput })).catch((o) => ({ success: !1, errorMessage: o.message })); } async UpdateCoverImage({ mediaFileToken: e, imageToken: t }) { const r = `${this.getApiSchemeAndHost()}/v1/media_files/cover_image/${e}`; return await this.post({ endpoint: r, body: { cover_image_media_file_token: t } }).then((n) => ({ success: n.success ?? !1, errorMessage: n.BadInput })).catch((n) => ({ success: !1, errorMessage: n.message })); } async UpdateVisibility({ mediaFileToken: e, visibility: t }) { const r = `${this.getApiSchemeAndHost()}/v1/media_files/visibility/${e}`; return await this.post({ endpoint: r, body: { creator_set_visibility: t } }).then((n) => ({ success: n.success ?? !1, errorMessage: n.BadInput })).catch((n) => ({ success: !1, errorMessage: n.message })); } }; var hK; (function(e) { e[e.Audio = 1] = "Audio", e[e.Cache = 2] = "Cache", e[e.Config = 3] = "Config", e[e.Data = 4] = "Data", e[e.LocalData = 5] = "LocalData", e[e.Document = 6] = "Document", e[e.Download = 7] = "Download", e[e.Picture = 8] = "Picture", e[e.Public = 9] = "Public", e[e.Video = 10] = "Video", e[e.Resource = 11] = "Resource", e[e.Temp = 12] = "Temp", e[e.AppConfig = 13] = "AppConfig", e[e.AppData = 14] = "AppData", e[e.AppLocalData = 15] = "AppLocalData", e[e.AppCache = 16] = "AppCache", e[e.AppLog = 17] = "AppLog", e[e.Desktop = 18] = "Desktop", e[e.Executable = 19] = "Executable", e[e.Font = 20] = "Font", e[e.Home = 21] = "Home", e[e.Runtime = 22] = "Runtime", e[e.Template = 23] = "Template"; })(hK || (hK = {})); let Dge = class extends zge { async authFetch(e, { method: t, body: r }) { const n = JSON.stringify(r); return await (await Y5(e, { method: t, headers: { Accept: "application/json", "Content-Type": "application/json" }, credentials: "include", body: n })).json(); } GetSession() { const e = `${this.getApiSchemeAndHost()}/v1/session`; return this.get({ endpoint: e }).then((t) => ({ success: t.success, data: { loggedIn: t.logged_in, user: t.user } })).catch((t) => ({ success: !1, errorMessage: t.message })); } GetUserProfile(e) { const t = `${this.getApiSchemeAndHost()}/v1/user/${e}/profile`; return console.log("endpoint", t), this.get({ endpoint: t }).then((r) => ({ success: r.success, data: { user: r.user } })).catch((r) => ({ success: !1, errorMessage: r.message })); } async Login({ usernameOrEmail: e, password: t }) { console.log("libs/api - Logging in with usernameOrEmail:", e); const r = `${this.getApiSchemeAndHost()}/v1/login`; console.log("libs/api - Login endpoint", r); const n = { username_or_email: e, password: t }; try { const o = await this.authFetch(r, { method: "POST", body: n }); return { success: o.success, data: o.success ? { signedSession: o.signed_session } : void 0, errorMessage: o.error_message }; } catch (o) { return { success: !1, errorMessage: o.message }; } } Logout() { const e = `${this.getApiSchemeAndHost()}/v1/logout`; return this.post({ endpoint: e }).then((t) => ({ success: t.success })).catch((t) => ({ success: !1, errorMessage: t.message })); } async Signup({ username: e, email: t, password: r, passwordConfirmation: n, signupSource: o }) { const a = `${this.getApiSchemeAndHost()}/v1/create_account`, i = { email_address: t, password: r, password_confirmation: n, username: e }; o && (i.signup_source = o); try { const s = await this.authFetch(a, { method: "POST", body: i }); return { success: s.success, data: s.success ? { signedSession: s.signed_session } : void 0, errorMessage: s.error_message || Object.values(s.error_fields ?? {}).join(", ") }; } catch (s) { return { success: !1, errorMessage: s.message }; } } }; window.UsersApi = new Dge(); let kit = class extends wit { constructor() { super(); } async listUserMediaFiles(e) { return await this.ListUserMediaFiles({ ...e, filter_media_classes: e.filter_media_classes, filter_media_type: e.filter_media_type, filter_engine_categories: e.filter_engine_categories, username: e.username, user_uploads_only: e.user_uploads_only, include_user_uploads: e.include_user_uploads, page_index: e.page_index, page_size: e.page_size }); } }; const Xz = "-", Oit = (e) => { const t = Eit(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(Xz); return a[0] === "" && a.length !== 1 && a.shift(), Fge(a, t) || Sit(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, Fge = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? Fge(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(Xz); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, bK = /^\[(.+)\]$/, Sit = (e) => { if (bK.test(e)) { const t = bK.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, Eit = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return $it(Object.entries(e.classGroups), r).forEach(([o, a]) => { y9(a, n, o, t); }), n; }, y9 = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : yK(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (Ait(o)) { y9(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { y9(i, yK(t, a), r, n); }); }); }, yK = (e, t) => { let r = e; return t.split(Xz).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, Ait = (e) => e.isThemeGetter, $it = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, Pit = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, Lge = "!", Cit = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(Lge), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, Nit = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, _it = (e) => ({ cache: Pit(e.cacheSize), parseClassName: Cit(e), ...Oit(e) }), jit = /\s+/, Iit = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(jit); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = Nit(u).join(":"), x = f ? m + Lge : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function Rit() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = Vge(t)) && (n && (n += " "), n += r); return n; } const Vge = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = Vge(e[n])) && (r && (r += " "), r += t); return r; }; function Mit(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = _it(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = Iit(l, r); return o(l, u), u; } return function() { return a(Rit.apply(null, arguments)); }; } const kn = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, Wge = /^\[(?:([a-z-]+):)?(.+)\]$/i, Tit = /^\d+\/\d+$/, zit = /* @__PURE__ */ new Set(["px", "full", "screen"]), Dit = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Fit = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Lit = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, Vit = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Wit = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, gl = (e) => zh(e) || zit.has(e) || Tit.test(e), Eu = (e) => Qb(e, "length", Kit), zh = (e) => !!e && !Number.isNaN(Number(e)), UA = (e) => Qb(e, "number", zh), iv = (e) => !!e && Number.isInteger(Number(e)), Git = (e) => e.endsWith("%") && zh(e.slice(0, -1)), Tt = (e) => Wge.test(e), Au = (e) => Dit.test(e), Uit = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Hit = (e) => Qb(e, Uit, Gge), Yit = (e) => Qb(e, "position", Gge), Bit = /* @__PURE__ */ new Set(["image", "url"]), qit = (e) => Qb(e, Bit, Qit), Xit = (e) => Qb(e, "", Jit), sv = () => !0, Qb = (e, t, r) => { const n = Wge.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, Kit = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. Fit.test(e) && !Lit.test(e) ), Gge = () => !1, Jit = (e) => Vit.test(e), Qit = (e) => Wit.test(e), Zit = () => { const e = kn("colors"), t = kn("spacing"), r = kn("blur"), n = kn("brightness"), o = kn("borderColor"), a = kn("borderRadius"), i = kn("borderSpacing"), s = kn("borderWidth"), l = kn("contrast"), c = kn("grayscale"), u = kn("hueRotate"), f = kn("invert"), p = kn("gap"), v = kn("gradientColorStops"), w = kn("gradientColorStopPositions"), b = kn("inset"), m = kn("margin"), x = kn("opacity"), O = kn("padding"), E = kn("saturate"), A = kn("scale"), h = kn("sepia"), G = kn("skew"), H = kn("space"), Z = kn("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", Tt, t], I = () => [Tt, t], te = () => ["", gl, Eu], U = () => ["auto", zh, Tt], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", Tt], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [zh, Tt]; return { cacheSize: 500, separator: ":", theme: { colors: [sv], spacing: [gl, Eu], blur: ["none", "", Au, Tt], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", Au, Tt], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [Git, Eu], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", Tt] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [Au] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), Tt] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", iv, Tt] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", Tt] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", iv, Tt] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [sv] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", iv, Tt] }, Tt] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [sv] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [iv, Tt] }, Tt] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", Tt] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", Tt] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", Tt, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [Tt, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [Tt, t, "none", "full", "min", "max", "fit", "prose", { screen: [Au] }, Au] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [Tt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [Tt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [Tt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [Tt, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", Au, Eu] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", UA] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [sv] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", Tt] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", zh, UA] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", gl, Tt] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", Tt] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", Tt] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", gl, Eu] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", gl, Tt] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Tt] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", Tt] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), Yit] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", Hit] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, qit] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [gl, Tt] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [gl, Eu] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [gl, Eu] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", Au, Xit] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [sv] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", Au, Tt] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", Tt] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", Tt] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", Tt] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [iv, Tt] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", Tt] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", Tt] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", Tt] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [gl, Eu, UA] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, Pp = /* @__PURE__ */ Mit(Zit); /*! * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2024 Fonticons, Inc. */ function est(e, t, r) { return (t = rst(t)) in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function vK(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Ie(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? vK(Object(r), !0).forEach(function(n) { est(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : vK(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function tst(e, t) { if (typeof e != "object" || !e) return e; var r = e[Symbol.toPrimitive]; if (r !== void 0) { var n = r.call(e, t); if (typeof n != "object") return n; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function rst(e) { var t = tst(e, "string"); return typeof t == "symbol" ? t : t + ""; } const xK = () => { }; let Kz = {}, Uge = {}, Hge = null, Yge = { mark: xK, measure: xK }; try { typeof window < "u" && (Kz = window), typeof document < "u" && (Uge = document), typeof MutationObserver < "u" && (Hge = MutationObserver), typeof performance < "u" && (Yge = performance); } catch { } const { userAgent: wK = "" } = Kz.navigator || {}, td = Kz, Vn = Uge, kK = Hge, h2 = Yge; td.document; const Cc = !!Vn.documentElement && !!Vn.head && typeof Vn.addEventListener == "function" && typeof Vn.createElement == "function", Bge = ~wK.indexOf("MSIE") || ~wK.indexOf("Trident/"); var nst = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, ost = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, qge = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" } }, ast = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, Xge = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], _o = "classic", s3 = "duotone", ist = "sharp", sst = "sharp-duotone", Kge = [_o, s3, ist, sst], lst = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" } }, cst = { "Font Awesome 6 Free": { 900: "fas", 400: "far" }, "Font Awesome 6 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 6 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 6 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 6 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 6 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" } }, ust = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }]]), fst = { classic: { solid: "fas", regular: "far", light: "fal", thin: "fat", brands: "fab" }, duotone: { solid: "fad", regular: "fadr", light: "fadl", thin: "fadt" }, sharp: { solid: "fass", regular: "fasr", light: "fasl", thin: "fast" }, "sharp-duotone": { solid: "fasds", regular: "fasdr", light: "fasdl", thin: "fasdt" } }, dst = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], OK = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, pst = ["kit"], mst = { kit: { "fa-kit": "fak" } }, gst = ["fak", "fakd"], hst = { kit: { fak: "fa-kit" } }, SK = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, b2 = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, bst = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], yst = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], vst = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, xst = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" } }, wst = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"] }, v9 = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" } }, kst = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], x9 = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...bst, ...kst], Ost = ["solid", "regular", "light", "thin", "duotone", "brands"], Jge = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], Sst = Jge.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), Est = [...Object.keys(wst), ...Ost, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", b2.GROUP, b2.SWAP_OPACITY, b2.PRIMARY, b2.SECONDARY].concat(Jge.map((e) => "".concat(e, "x"))).concat(Sst.map((e) => "w-".concat(e))), Ast = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }; const nc = "___FONT_AWESOME___", w9 = 16, Qge = "fa", Zge = "svg-inline--fa", Nm = "data-fa-i2svg", k9 = "data-fa-pseudo-element", $st = "data-fa-pseudo-element-pending", Jz = "data-prefix", Qz = "data-icon", EK = "fontawesome-i2svg", Pst = "async", Cst = ["HTML", "HEAD", "STYLE", "SCRIPT"], ehe = (() => { try { return process.env.NODE_ENV === "production"; } catch { return !1; } })(); function Gx(e) { return new Proxy(e, { get(t, r) { return r in t ? t[r] : t[_o]; } }); } const the = Ie({}, qge); the[_o] = Ie(Ie(Ie(Ie({}, { "fa-duotone": "duotone" }), qge[_o]), OK.kit), OK["kit-duotone"]); const Nst = Gx(the), O9 = Ie({}, fst); O9[_o] = Ie(Ie(Ie(Ie({}, { duotone: "fad" }), O9[_o]), SK.kit), SK["kit-duotone"]); const AK = Gx(O9), S9 = Ie({}, v9); S9[_o] = Ie(Ie({}, S9[_o]), hst.kit); const Zz = Gx(S9), E9 = Ie({}, xst); E9[_o] = Ie(Ie({}, E9[_o]), mst.kit); Gx(E9); const _st = nst, rhe = "fa-layers-text", jst = ost, Ist = Ie({}, lst); Gx(Ist); const Rst = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], HA = ast, Mst = [...pst, ...Est], j1 = td.FontAwesomeConfig || {}; function Tst(e) { var t = Vn.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function zst(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } Vn && typeof Vn.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => { let [t, r] = e; const n = zst(Tst(t)); n != null && (j1[r] = n); }); const nhe = { styleDefault: "solid", familyDefault: _o, cssPrefix: Qge, replacementClass: Zge, autoReplaceSvg: !0, autoAddCss: !0, autoA11y: !0, searchPseudoElements: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; j1.familyPrefix && (j1.cssPrefix = j1.familyPrefix); const mb = Ie(Ie({}, nhe), j1); mb.autoReplaceSvg || (mb.observeMutations = !1); const it = {}; Object.keys(nhe).forEach((e) => { Object.defineProperty(it, e, { enumerable: !0, set: function(t) { mb[e] = t, I1.forEach((r) => r(it)); }, get: function() { return mb[e]; } }); }); Object.defineProperty(it, "familyPrefix", { enumerable: !0, set: function(e) { mb.cssPrefix = e, I1.forEach((t) => t(it)); }, get: function() { return mb.cssPrefix; } }); td.FontAwesomeConfig = it; const I1 = []; function Dst(e) { return I1.push(e), () => { I1.splice(I1.indexOf(e), 1); }; } const $u = w9, Cs = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function Fst(e) { if (!e || !Cc) return; const t = Vn.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; const r = Vn.head.childNodes; let n = null; for (let o = r.length - 1; o > -1; o--) { const a = r[o], i = (a.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (n = a); } return Vn.head.insertBefore(t, n), e; } const Lst = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function J0() { let e = 12, t = ""; for (; e-- > 0; ) t += Lst[Math.random() * 62 | 0]; return t; } function Zb(e) { const t = []; for (let r = (e || []).length >>> 0; r--; ) t[r] = e[r]; return t; } function e8(e) { return e.classList ? Zb(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t); } function ohe(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function Vst(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(ohe(e[r]), '" '), "").trim(); } function l3(e) { return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), ""); } function t8(e) { return e.size !== Cs.size || e.x !== Cs.x || e.y !== Cs.y || e.rotate !== Cs.rotate || e.flipX || e.flipY; } function Wst(e) { let { transform: t, containerWidth: r, iconWidth: n } = e; const o = { transform: "translate(".concat(r / 2, " 256)") }, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), l = { transform: "".concat(a, " ").concat(i, " ").concat(s) }, c = { transform: "translate(".concat(n / 2 * -1, " -256)") }; return { outer: o, inner: l, path: c }; } function Gst(e) { let { transform: t, width: r = w9, height: n = w9, startCentered: o = !1 } = e, a = ""; return o && Bge ? a += "translate(".concat(t.x / $u - r / 2, "em, ").concat(t.y / $u - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / $u, "em), calc(-50% + ").concat(t.y / $u, "em)) ") : a += "translate(".concat(t.x / $u, "em, ").concat(t.y / $u, "em) "), a += "scale(".concat(t.size / $u * (t.flipX ? -1 : 1), ", ").concat(t.size / $u * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a; } var Ust = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; } svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { overflow: visible; box-sizing: content-box; } .svg-inline--fa { display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285705em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left { margin-right: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-pull-right { margin-left: var(--fa-pull-margin, 0.3em); width: auto; } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); top: 0.25em; } .svg-inline--fa.fa-fw { width: var(--fa-fw-width, 1.25em); } .fa-layers svg.svg-inline--fa { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: 1em; } .fa-layers svg.svg-inline--fa { transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: 0.625em; line-height: 0.1em; vertical-align: 0.225em; } .fa-xs { font-size: 0.75em; line-height: 0.0833333337em; vertical-align: 0.125em; } .fa-sm { font-size: 0.875em; line-height: 0.0714285718em; vertical-align: 0.0535714295em; } .fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; } .fa-xl { font-size: 1.5em; line-height: 0.0416666682em; vertical-align: -0.125em; } .fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; } .fa-fw { text-align: center; width: 1.25em; } .fa-ul { list-style-type: none; margin-left: var(--fa-li-margin, 2.5em); padding-left: 0; } .fa-ul > li { position: relative; } .fa-li { left: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.08em); padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } .fa-pull-left { float: left; margin-right: var(--fa-pull-margin, 0.3em); } .fa-pull-right { float: right; margin-left: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation-delay: -1ms; animation-duration: 1ms; animation-iteration-count: 1; transition-delay: 0s; transition-duration: 0s; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .fa-stack { display: inline-block; vertical-align: middle; height: 2em; position: relative; width: 2.5em; } .fa-stack-1x, .fa-stack-2x { bottom: 0; left: 0; margin: auto; position: absolute; right: 0; top: 0; z-index: var(--fa-stack-z-index, auto); } .svg-inline--fa.fa-stack-1x { height: 1em; width: 1.25em; } .svg-inline--fa.fa-stack-2x { height: 2em; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .sr-only, .fa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .sr-only-focusable:not(:focus), .fa-sr-only-focusable:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; }`; function ahe() { const e = Qge, t = Zge, r = it.cssPrefix, n = it.replacementClass; let o = Ust; if (r !== e || n !== t) { const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g"); o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n)); } return o; } let $K = !1; function YA() { it.autoAddCss && !$K && (Fst(ahe()), $K = !0); } var Hst = { mixout() { return { dom: { css: ahe, insertCss: YA } }; }, hooks() { return { beforeDOMElementCreation() { YA(); }, beforeI2svg() { YA(); } }; } }; const oc = td || {}; oc[nc] || (oc[nc] = {}); oc[nc].styles || (oc[nc].styles = {}); oc[nc].hooks || (oc[nc].hooks = {}); oc[nc].shims || (oc[nc].shims = []); var Ns = oc[nc]; const ihe = [], she = function() { Vn.removeEventListener("DOMContentLoaded", she), B5 = 1, ihe.map((e) => e()); }; let B5 = !1; Cc && (B5 = (Vn.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Vn.readyState), B5 || Vn.addEventListener("DOMContentLoaded", she)); function Yst(e) { Cc && (B5 ? setTimeout(e, 0) : ihe.push(e)); } function Ux(e) { const { tag: t, attributes: r = {}, children: n = [] } = e; return typeof e == "string" ? ohe(e) : "<".concat(t, " ").concat(Vst(r), ">").concat(n.map(Ux).join(""), ""); } function PK(e, t, r) { if (e && e[t] && e[t][r]) return { prefix: t, iconName: r, icon: e[t][r] }; } var BA = function(e, t, r, n) { var o = Object.keys(e), a = o.length, i = t, s, l, c; for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++) l = o[s], c = i(c, e[l], l, e); return c; }; function Bst(e) { const t = []; let r = 0; const n = e.length; for (; r < n; ) { const o = e.charCodeAt(r++); if (o >= 55296 && o <= 56319 && r < n) { const a = e.charCodeAt(r++); (a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--); } else t.push(o); } return t; } function lhe(e) { const t = Bst(e); return t.length === 1 ? t[0].toString(16) : null; } function qst(e, t) { const r = e.length; let n = e.charCodeAt(t), o; return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n; } function CK(e) { return Object.keys(e).reduce((t, r) => { const n = e[r]; return n.icon ? t[n.iconName] = n.icon : t[r] = n, t; }, {}); } function A9(e, t) { let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; const { skipHooks: n = !1 } = r, o = CK(t); typeof Ns.hooks.addPack == "function" && !n ? Ns.hooks.addPack(e, CK(t)) : Ns.styles[e] = Ie(Ie({}, Ns.styles[e] || {}), o), e === "fas" && A9("fa", t); } const { styles: Q0, shims: Xst } = Ns, che = Object.keys(Zz), Kst = che.reduce((e, t) => (e[t] = Object.keys(Zz[t]), e), {}); let r8 = null, uhe = {}, fhe = {}, dhe = {}, phe = {}, mhe = {}; function Jst(e) { return ~Mst.indexOf(e); } function Qst(e, t) { const r = t.split("-"), n = r[0], o = r.slice(1).join("-"); return n === e && o !== "" && !Jst(o) ? o : null; } const ghe = () => { const e = (n) => BA(Q0, (o, a, i) => (o[i] = BA(a, n, {}), o), {}); uhe = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => { n[i.toString(16)] = a; }), n)), fhe = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => { n[i] = a; }), n)), mhe = e((n, o, a) => { const i = o[2]; return n[a] = a, i.forEach((s) => { n[s] = a; }), n; }); const t = "far" in Q0 || it.autoFetchSvg, r = BA(Xst, (n, o) => { const a = o[0]; let i = o[1]; const s = o[2]; return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = { prefix: i, iconName: s }), typeof a == "number" && (n.unicodes[a.toString(16)] = { prefix: i, iconName: s }), n; }, { names: {}, unicodes: {} }); dhe = r.names, phe = r.unicodes, r8 = c3(it.styleDefault, { family: it.familyDefault }); }; Dst((e) => { r8 = c3(e.styleDefault, { family: it.familyDefault }); }); ghe(); function n8(e, t) { return (uhe[e] || {})[t]; } function Zst(e, t) { return (fhe[e] || {})[t]; } function Vp(e, t) { return (mhe[e] || {})[t]; } function hhe(e) { return dhe[e] || { prefix: null, iconName: null }; } function elt(e) { const t = phe[e], r = n8("fas", e); return t || (r ? { prefix: "fas", iconName: r } : null) || { prefix: null, iconName: null }; } function rd() { return r8; } const bhe = () => ({ prefix: null, iconName: null, rest: [] }); function tlt(e) { let t = _o; const r = che.reduce((n, o) => (n[o] = "".concat(it.cssPrefix, "-").concat(o), n), {}); return Kge.forEach((n) => { (e.includes(r[n]) || e.some((o) => Kst[n].includes(o))) && (t = n); }), t; } function c3(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { family: r = _o } = t, n = Nst[r][e]; if (r === s3 && !e) return "fad"; const o = AK[r][e] || AK[r][n], a = e in Ns.styles ? e : null; return o || a || null; } function rlt(e) { let t = [], r = null; return e.forEach((n) => { const o = Qst(it.cssPrefix, n); o ? r = o : n && t.push(n); }), { iconName: r, rest: t }; } function NK(e) { return e.sort().filter((t, r, n) => n.indexOf(t) === r); } function u3(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { skipLookups: r = !1 } = t; let n = null; const o = x9.concat(yst), a = NK(e.filter((f) => o.includes(f))), i = NK(e.filter((f) => !x9.includes(f))), s = a.filter((f) => (n = f, !Xge.includes(f))), [l = null] = s, c = tlt(a), u = Ie(Ie({}, rlt(i)), {}, { prefix: c3(l, { family: c }) }); return Ie(Ie(Ie({}, u), ilt({ values: e, family: c, styles: Q0, config: it, canonical: u, givenPrefix: n })), nlt(r, n, u)); } function nlt(e, t, r) { let { prefix: n, iconName: o } = r; if (e || !n || !o) return { prefix: n, iconName: o }; const a = t === "fa" ? hhe(o) : {}, i = Vp(n, o); return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Q0.far && Q0.fas && !it.autoFetchSvg && (n = "fas"), { prefix: n, iconName: o }; } const olt = Kge.filter((e) => e !== _o || e !== s3), alt = Object.keys(v9).filter((e) => e !== _o).map((e) => Object.keys(v9[e])).flat(); function ilt(e) { const { values: t, family: r, canonical: n, givenPrefix: o = "", styles: a = {}, config: i = {} } = e, s = r === s3, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone"; if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && olt.includes(r) && (Object.keys(a).find((f) => alt.includes(f)) || i.autoFetchSvg)) { const f = ust.get(r).defaultShortPrefixId; n.prefix = f, n.iconName = Vp(n.prefix, n.iconName) || n.iconName; } return (n.prefix === "fa" || o === "fa") && (n.prefix = rd() || "fas"), n; } class slt { constructor() { this.definitions = {}; } add() { for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++) r[n] = arguments[n]; const o = r.reduce(this._pullDefinitions, {}); Object.keys(o).forEach((a) => { this.definitions[a] = Ie(Ie({}, this.definitions[a] || {}), o[a]), A9(a, o[a]); const i = Zz[_o][a]; i && A9(i, o[a]), ghe(); }); } reset() { this.definitions = {}; } _pullDefinitions(t, r) { const n = r.prefix && r.iconName && r.icon ? { 0: r } : r; return Object.keys(n).map((o) => { const { prefix: a, iconName: i, icon: s } = n[o], l = s[2]; t[a] || (t[a] = {}), l.length > 0 && l.forEach((c) => { typeof c == "string" && (t[a][c] = s); }), t[a][i] = s; }), t; } } let _K = [], Ug = {}; const Dh = {}, llt = Object.keys(Dh); function clt(e, t) { let { mixoutsTo: r } = t; return _K = e, Ug = {}, Object.keys(Dh).forEach((n) => { llt.indexOf(n) === -1 && delete Dh[n]; }), _K.forEach((n) => { const o = n.mixout ? n.mixout() : {}; if (Object.keys(o).forEach((a) => { typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => { r[a] || (r[a] = {}), r[a][i] = o[a][i]; }); }), n.hooks) { const a = n.hooks(); Object.keys(a).forEach((i) => { Ug[i] || (Ug[i] = []), Ug[i].push(a[i]); }); } n.provides && n.provides(Dh); }), r; } function $9(e, t) { for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o]; return (Ug[e] || []).forEach((a) => { t = a.apply(null, [t, ...n]); }), t; } function _m(e) { for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n]; (Ug[e] || []).forEach((o) => { o.apply(null, r); }); } function nd() { const e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return Dh[e] ? Dh[e].apply(null, t) : void 0; } function P9(e) { e.prefix === "fa" && (e.prefix = "fas"); let { iconName: t } = e; const r = e.prefix || rd(); if (t) return t = Vp(r, t) || t, PK(yhe.definitions, r, t) || PK(Ns.styles, r, t); } const yhe = new slt(), ult = () => { it.autoReplaceSvg = !1, it.observeMutations = !1, _m("noAuto"); }, flt = { i2svg: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return Cc ? (_m("beforeI2svg", e), nd("pseudoElements2svg", e), nd("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t } = e; it.autoReplaceSvg === !1 && (it.autoReplaceSvg = !0), it.observeMutations = !0, Yst(() => { plt({ autoReplaceSvgRoot: t }), _m("watch", e); }); } }, dlt = { icon: (e) => { if (e === null) return null; if (typeof e == "object" && e.prefix && e.iconName) return { prefix: e.prefix, iconName: Vp(e.prefix, e.iconName) || e.iconName }; if (Array.isArray(e) && e.length === 2) { const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = c3(e[0]); return { prefix: r, iconName: Vp(r, t) || t }; } if (typeof e == "string" && (e.indexOf("".concat(it.cssPrefix, "-")) > -1 || e.match(_st))) { const t = u3(e.split(" "), { skipLookups: !0 }); return { prefix: t.prefix || rd(), iconName: Vp(t.prefix, t.iconName) || t.iconName }; } if (typeof e == "string") { const t = rd(); return { prefix: t, iconName: Vp(t, e) || e }; } } }, Pa = { noAuto: ult, config: it, dom: flt, parse: dlt, library: yhe, findIconDefinition: P9, toHtml: Ux }, plt = function() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const { autoReplaceSvgRoot: t = Vn } = e; (Object.keys(Ns.styles).length > 0 || it.autoFetchSvg) && Cc && it.autoReplaceSvg && Pa.dom.i2svg({ node: t }); }; function f3(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map((r) => Ux(r)); } }), Object.defineProperty(e, "node", { get: function() { if (!Cc) return; const r = Vn.createElement("div"); return r.innerHTML = e.html, r.children; } }), e; } function mlt(e) { let { children: t, main: r, mask: n, attributes: o, styles: a, transform: i } = e; if (t8(i) && r.found && !n.found) { const { width: s, height: l } = r, c = { x: s / l / 2, y: 0.5 }; o.style = l3(Ie(Ie({}, a), {}, { "transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: o, children: t }]; } function glt(e) { let { prefix: t, iconName: r, children: n, attributes: o, symbol: a } = e; const i = a === !0 ? "".concat(t, "-").concat(it.cssPrefix, "-").concat(r) : a; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: Ie(Ie({}, o), {}, { id: i }), children: n }] }]; } function o8(e) { const { icons: { main: t, mask: r }, prefix: n, iconName: o, transform: a, symbol: i, title: s, maskId: l, titleId: c, extra: u, watchable: f = !1 } = e, { width: p, height: v } = r.found ? r : t, w = gst.includes(n), b = [it.replacementClass, o ? "".concat(it.cssPrefix, "-").concat(o) : ""].filter((h) => u.classes.indexOf(h) === -1).filter((h) => h !== "" || !!h).concat(u.classes).join(" "); let m = { children: [], attributes: Ie(Ie({}, u.attributes), {}, { "data-prefix": n, "data-icon": o, class: b, role: u.attributes.role || "img", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 ".concat(p, " ").concat(v) }) }; const x = w && !~u.classes.indexOf("fa-fw") ? { width: "".concat(p / v * 16 * 0.0625, "em") } : {}; f && (m.attributes[Nm] = ""), s && (m.children.push({ tag: "title", attributes: { id: m.attributes["aria-labelledby"] || "title-".concat(c || J0()) }, children: [s] }), delete m.attributes.title); const O = Ie(Ie({}, m), {}, { prefix: n, iconName: o, main: t, mask: r, maskId: l, transform: a, symbol: i, styles: Ie(Ie({}, x), u.styles) }), { children: E, attributes: A } = r.found && t.found ? nd("generateAbstractMask", O) || { children: [], attributes: {} } : nd("generateAbstractIcon", O) || { children: [], attributes: {} }; return O.children = E, O.attributes = A, i ? glt(O) : mlt(O); } function jK(e) { const { content: t, width: r, height: n, transform: o, title: a, extra: i, watchable: s = !1 } = e, l = Ie(Ie(Ie({}, i.attributes), a ? { title: a } : {}), {}, { class: i.classes.join(" ") }); s && (l[Nm] = ""); const c = Ie({}, i.styles); t8(o) && (c.transform = Gst({ transform: o, startCentered: !0, width: r, height: n }), c["-webkit-transform"] = c.transform); const u = l3(c); u.length > 0 && (l.style = u); const f = []; return f.push({ tag: "span", attributes: l, children: [t] }), a && f.push({ tag: "span", attributes: { class: "sr-only" }, children: [a] }), f; } function hlt(e) { const { content: t, title: r, extra: n } = e, o = Ie(Ie(Ie({}, n.attributes), r ? { title: r } : {}), {}, { class: n.classes.join(" ") }), a = l3(n.styles); a.length > 0 && (o.style = a); const i = []; return i.push({ tag: "span", attributes: o, children: [t] }), r && i.push({ tag: "span", attributes: { class: "sr-only" }, children: [r] }), i; } const { styles: qA } = Ns; function C9(e) { const t = e[0], r = e[1], [n] = e.slice(4); let o = null; return Array.isArray(n) ? o = { tag: "g", attributes: { class: "".concat(it.cssPrefix, "-").concat(HA.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(it.cssPrefix, "-").concat(HA.SECONDARY), fill: "currentColor", d: n[0] } }, { tag: "path", attributes: { class: "".concat(it.cssPrefix, "-").concat(HA.PRIMARY), fill: "currentColor", d: n[1] } }] } : o = { tag: "path", attributes: { fill: "currentColor", d: n } }, { found: !0, width: t, height: r, icon: o }; } const blt = { found: !1, width: 512, height: 512 }; function ylt(e, t) { !ehe && !it.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function N9(e, t) { let r = t; return t === "fa" && it.styleDefault !== null && (t = rd()), new Promise((n, o) => { if (r === "fa") { const a = hhe(e) || {}; e = a.iconName || e, t = a.prefix || t; } if (e && t && qA[t] && qA[t][e]) { const a = qA[t][e]; return n(C9(a)); } ylt(e, t), n(Ie(Ie({}, blt), {}, { icon: it.showMissingIcons && e ? nd("missingIconAbstract") || {} : {} })); }); } const IK = () => { }, _9 = it.measurePerformance && h2 && h2.mark && h2.measure ? h2 : { mark: IK, measure: IK }, Wv = 'FA "6.7.2"', vlt = (e) => (_9.mark("".concat(Wv, " ").concat(e, " begins")), () => vhe(e)), vhe = (e) => { _9.mark("".concat(Wv, " ").concat(e, " ends")), _9.measure("".concat(Wv, " ").concat(e), "".concat(Wv, " ").concat(e, " begins"), "".concat(Wv, " ").concat(e, " ends")); }; var a8 = { begin: vlt, end: vhe }; const Ck = () => { }; function RK(e) { return typeof (e.getAttribute ? e.getAttribute(Nm) : null) == "string"; } function xlt(e) { const t = e.getAttribute ? e.getAttribute(Jz) : null, r = e.getAttribute ? e.getAttribute(Qz) : null; return t && r; } function wlt(e) { return e && e.classList && e.classList.contains && e.classList.contains(it.replacementClass); } function klt() { return it.autoReplaceSvg === !0 ? Nk.replace : Nk[it.autoReplaceSvg] || Nk.replace; } function Olt(e) { return Vn.createElementNS("http://www.w3.org/2000/svg", e); } function Slt(e) { return Vn.createElement(e); } function xhe(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { ceFn: r = e.tag === "svg" ? Olt : Slt } = t; if (typeof e == "string") return Vn.createTextNode(e); const n = r(e.tag); return Object.keys(e.attributes || []).forEach(function(o) { n.setAttribute(o, e.attributes[o]); }), (e.children || []).forEach(function(o) { n.appendChild(xhe(o, { ceFn: r })); }), n; } function Elt(e) { let t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } const Nk = { replace: function(e) { const t = e[0]; if (t.parentNode) if (e[1].forEach((r) => { t.parentNode.insertBefore(xhe(r), t); }), t.getAttribute(Nm) === null && it.keepOriginalSource) { let r = Vn.createComment(Elt(t)); t.parentNode.replaceChild(r, t); } else t.remove(); }, nest: function(e) { const t = e[0], r = e[1]; if (~e8(t).indexOf(it.replacementClass)) return Nk.replace(e); const n = new RegExp("".concat(it.cssPrefix, "-.*")); if (delete r[0].attributes.id, r[0].attributes.class) { const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === it.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), { toNode: [], toSvg: [] }); r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" ")); } const o = r.map((a) => Ux(a)).join(` `); t.setAttribute(Nm, ""), t.innerHTML = o; } }; function MK(e) { e(); } function whe(e, t) { const r = typeof t == "function" ? t : Ck; if (e.length === 0) r(); else { let n = MK; it.mutateApproach === Pst && (n = td.requestAnimationFrame || MK), n(() => { const o = klt(), a = a8.begin("mutate"); e.map(o), a(), r(); }); } } let i8 = !1; function khe() { i8 = !0; } function j9() { i8 = !1; } let q5 = null; function TK(e) { if (!kK || !it.observeMutations) return; const { treeCallback: t = Ck, nodeCallback: r = Ck, pseudoElementsCallback: n = Ck, observeMutationsRoot: o = Vn } = e; q5 = new kK((a) => { if (i8) return; const i = rd(); Zb(a).forEach((s) => { if (s.type === "childList" && s.addedNodes.length > 0 && !RK(s.addedNodes[0]) && (it.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && it.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && RK(s.target) && ~Rst.indexOf(s.attributeName)) if (s.attributeName === "class" && xlt(s.target)) { const { prefix: l, iconName: c } = u3(e8(s.target)); s.target.setAttribute(Jz, l || i), c && s.target.setAttribute(Qz, c); } else wlt(s.target) && r(s.target); }); }), Cc && q5.observe(o, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } function Alt() { q5 && q5.disconnect(); } function $lt(e) { const t = e.getAttribute("style"); let r = []; return t && (r = t.split(";").reduce((n, o) => { const a = o.split(":"), i = a[0], s = a.slice(1); return i && s.length > 0 && (n[i] = s.join(":").trim()), n; }, {})), r; } function Plt(e) { const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : ""; let o = u3(e8(e)); return o.prefix || (o.prefix = rd()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = Zst(o.prefix, e.innerText) || n8(o.prefix, lhe(e.innerText))), !o.iconName && it.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o; } function Clt(e) { const t = Zb(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id"); return it.autoA11y && (r ? t["aria-labelledby"] = "".concat(it.replacementClass, "-title-").concat(n || J0()) : (t["aria-hidden"] = "true", t.focusable = "false")), t; } function Nlt() { return { iconName: null, title: null, titleId: null, prefix: null, transform: Cs, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function zK(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }; const { iconName: r, prefix: n, rest: o } = Plt(e), a = Clt(e), i = $9("parseNodeAttributes", {}, e); let s = t.styleParser ? $lt(e) : []; return Ie({ iconName: r, title: e.getAttribute("title"), titleId: e.getAttribute("data-fa-title-id"), prefix: n, transform: Cs, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: o, styles: s, attributes: a } }, i); } const { styles: _lt } = Ns; function Ohe(e) { const t = it.autoReplaceSvg === "nest" ? zK(e, { styleParser: !1 }) : zK(e); return ~t.extra.classes.indexOf(rhe) ? nd("generateLayersText", e, t) : nd("generateSvgReplacementMutation", e, t); } function jlt() { return [...dst, ...x9]; } function DK(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!Cc) return Promise.resolve(); const r = Vn.documentElement.classList, n = (u) => r.add("".concat(EK, "-").concat(u)), o = (u) => r.remove("".concat(EK, "-").concat(u)), a = it.autoFetchSvg ? jlt() : Xge.concat(Object.keys(_lt)); a.includes("fa") || a.push("fa"); const i = [".".concat(rhe, ":not([").concat(Nm, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(Nm, "])"))).join(", "); if (i.length === 0) return Promise.resolve(); let s = []; try { s = Zb(e.querySelectorAll(i)); } catch { } if (s.length > 0) n("pending"), o("complete"); else return Promise.resolve(); const l = a8.begin("onTree"), c = s.reduce((u, f) => { try { const p = Ohe(f); p && u.push(p); } catch (p) { ehe || p.name === "MissingIcon" && console.error(p); } return u; }, []); return new Promise((u, f) => { Promise.all(c).then((p) => { whe(p, () => { n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u(); }); }).catch((p) => { l(), f(p); }); }); } function Ilt(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; Ohe(e).then((r) => { r && whe([r], t); }); } function Rlt(e) { return function(t) { let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const n = (t || {}).icon ? t : P9(t || {}); let { mask: o } = r; return o && (o = (o || {}).icon ? o : P9(o || {})), e(n, Ie(Ie({}, r), {}, { mask: o })); }; } const Mlt = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = Cs, symbol: n = !1, mask: o = null, maskId: a = null, title: i = null, titleId: s = null, classes: l = [], attributes: c = {}, styles: u = {} } = t; if (!e) return; const { prefix: f, iconName: p, icon: v } = e; return f3(Ie({ type: "icon" }, e), () => (_m("beforeDOMElementCreation", { iconDefinition: e, params: t }), it.autoA11y && (i ? c["aria-labelledby"] = "".concat(it.replacementClass, "-title-").concat(s || J0()) : (c["aria-hidden"] = "true", c.focusable = "false")), o8({ icons: { main: C9(v), mask: o ? C9(o.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: f, iconName: p, transform: Ie(Ie({}, Cs), r), symbol: n, title: i, maskId: a, titleId: s, extra: { attributes: c, styles: u, classes: l } }))); }; var Tlt = { mixout() { return { icon: Rlt(Mlt) }; }, hooks() { return { mutationObserverCallbacks(e) { return e.treeCallback = DK, e.nodeCallback = Ilt, e; } }; }, provides(e) { e.i2svg = function(t) { const { node: r = Vn, callback: n = () => { } } = t; return DK(r, n); }, e.generateSvgReplacementMutation = function(t, r) { const { iconName: n, title: o, titleId: a, prefix: i, transform: s, symbol: l, mask: c, maskId: u, extra: f } = r; return new Promise((p, v) => { Promise.all([N9(n, i), c.iconName ? N9(c.iconName, c.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then((w) => { let [b, m] = w; p([t, o8({ icons: { main: b, mask: m }, prefix: i, iconName: n, transform: s, symbol: l, maskId: u, title: o, titleId: a, extra: f, watchable: !0 })]); }).catch(v); }); }, e.generateAbstractIcon = function(t) { let { children: r, attributes: n, main: o, transform: a, styles: i } = t; const s = l3(i); s.length > 0 && (n.style = s); let l; return t8(a) && (l = nd("generateAbstractTransformGrouping", { main: o, transform: a, containerWidth: o.width, iconWidth: o.width })), r.push(l || o.icon), { children: r, attributes: n }; }; } }, zlt = { mixout() { return { layer(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { classes: r = [] } = t; return f3({ type: "layer" }, () => { _m("beforeDOMElementCreation", { assembler: e, params: t }); let n = []; return e((o) => { Array.isArray(o) ? o.map((a) => { n = n.concat(a.abstract); }) : n = n.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(it.cssPrefix, "-layers"), ...r].join(" ") }, children: n }]; }); } }; } }, Dlt = { mixout() { return { counter(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { title: r = null, classes: n = [], attributes: o = {}, styles: a = {} } = t; return f3({ type: "counter", content: e }, () => (_m("beforeDOMElementCreation", { content: e, params: t }), hlt({ content: e.toString(), title: r, extra: { attributes: o, styles: a, classes: ["".concat(it.cssPrefix, "-layers-counter"), ...n] } }))); } }; } }, Flt = { mixout() { return { text(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const { transform: r = Cs, title: n = null, classes: o = [], attributes: a = {}, styles: i = {} } = t; return f3({ type: "text", content: e }, () => (_m("beforeDOMElementCreation", { content: e, params: t }), jK({ content: e, transform: Ie(Ie({}, Cs), r), title: n, extra: { attributes: a, styles: i, classes: ["".concat(it.cssPrefix, "-layers-text"), ...o] } }))); } }; }, provides(e) { e.generateLayersText = function(t, r) { const { title: n, transform: o, extra: a } = r; let i = null, s = null; if (Bge) { const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect(); i = c.width / l, s = c.height / l; } return it.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, jK({ content: t.innerHTML, width: i, height: s, transform: o, title: n, extra: a, watchable: !0 })]); }; } }; const Llt = new RegExp('"', "ug"), FK = [1105920, 1112319], LK = Ie(Ie(Ie(Ie({}, { FontAwesome: { normal: "fas", 400: "fas" } }), cst), Ast), vst), I9 = Object.keys(LK).reduce((e, t) => (e[t.toLowerCase()] = LK[t], e), {}), Vlt = Object.keys(I9).reduce((e, t) => { const r = I9[t]; return e[t] = r[900] || [...Object.entries(r)][0][1], e; }, {}); function Wlt(e) { const t = e.replace(Llt, ""), r = qst(t, 0), n = r >= FK[0] && r <= FK[1], o = t.length === 2 ? t[0] === t[1] : !1; return { value: lhe(o ? t[0] : t), isSecondary: n || o }; } function Glt(e, t) { const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n; return (I9[r] || {})[o] || Vlt[r]; } function VK(e, t) { const r = "".concat($st).concat(t.replace(":", "-")); return new Promise((n, o) => { if (e.getAttribute(r) !== null) return n(); const a = Zb(e.children).filter((f) => f.getAttribute(k9) === t)[0], i = td.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(jst), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content"); if (a && !l) return e.removeChild(a), n(); if (l && u !== "none" && u !== "") { const f = i.getPropertyValue("content"); let p = Glt(s, c); const { value: v, isSecondary: w } = Wlt(f), b = l[0].startsWith("FontAwesome"); let m = n8(p, v), x = m; if (b) { const O = elt(v); O.iconName && O.prefix && (m = O.iconName, p = O.prefix); } if (m && !w && (!a || a.getAttribute(Jz) !== p || a.getAttribute(Qz) !== x)) { e.setAttribute(r, x), a && e.removeChild(a); const O = Nlt(), { extra: E } = O; E.attributes[k9] = t, N9(m, p).then((A) => { const h = o8(Ie(Ie({}, O), {}, { icons: { main: A, mask: bhe() }, prefix: p, iconName: x, extra: E, watchable: !0 })), G = Vn.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(G, e.firstChild) : e.appendChild(G), G.outerHTML = h.map((H) => Ux(H)).join(` `), e.removeAttribute(r), n(); }).catch(o); } else n(); } else n(); }); } function Ult(e) { return Promise.all([VK(e, "::before"), VK(e, "::after")]); } function Hlt(e) { return e.parentNode !== document.head && !~Cst.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(k9) && (!e.parentNode || e.parentNode.tagName !== "svg"); } function WK(e) { if (Cc) return new Promise((t, r) => { const n = Zb(e.querySelectorAll("*")).filter(Hlt).map(Ult), o = a8.begin("searchPseudoElements"); khe(), Promise.all(n).then(() => { o(), j9(), t(); }).catch(() => { o(), j9(), r(); }); }); } var Ylt = { hooks() { return { mutationObserverCallbacks(e) { return e.pseudoElementsCallback = WK, e; } }; }, provides(e) { e.pseudoElements2svg = function(t) { const { node: r = Vn } = t; it.searchPseudoElements && WK(r); }; } }; let GK = !1; var Blt = { mixout() { return { dom: { unwatch() { khe(), GK = !0; } } }; }, hooks() { return { bootstrap() { TK($9("mutationObserverCallbacks", {})); }, noAuto() { Alt(); }, watch(e) { const { observeMutationsRoot: t } = e; GK ? j9() : TK($9("mutationObserverCallbacks", { observeMutationsRoot: t })); } }; } }; const UK = (e) => { let t = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return e.toLowerCase().split(" ").reduce((r, n) => { const o = n.toLowerCase().split("-"), a = o[0]; let i = o.slice(1).join("-"); if (a && i === "h") return r.flipX = !0, r; if (a && i === "v") return r.flipY = !0, r; if (i = parseFloat(i), isNaN(i)) return r; switch (a) { case "grow": r.size = r.size + i; break; case "shrink": r.size = r.size - i; break; case "left": r.x = r.x - i; break; case "right": r.x = r.x + i; break; case "up": r.y = r.y - i; break; case "down": r.y = r.y + i; break; case "rotate": r.rotate = r.rotate + i; break; } return r; }, t); }; var qlt = { mixout() { return { parse: { transform: (e) => UK(e) } }; }, hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-transform"); return r && (e.transform = UK(r)), e; } }; }, provides(e) { e.generateAbstractTransformGrouping = function(t) { let { main: r, transform: n, containerWidth: o, iconWidth: a } = t; const i = { transform: "translate(".concat(o / 2, " 256)") }, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = { transform: "".concat(s, " ").concat(l, " ").concat(c) }, f = { transform: "translate(".concat(a / 2 * -1, " -256)") }, p = { outer: i, inner: u, path: f }; return { tag: "g", attributes: Ie({}, p.outer), children: [{ tag: "g", attributes: Ie({}, p.inner), children: [{ tag: r.icon.tag, children: r.icon.children, attributes: Ie(Ie({}, r.icon.attributes), p.path) }] }] }; }; } }; const XA = { x: 0, y: 0, width: "100%", height: "100%" }; function HK(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function Xlt(e) { return e.tag === "g" ? e.children : [e]; } var Klt = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-mask"), n = r ? u3(r.split(" ").map((o) => o.trim())) : bhe(); return n.prefix || (n.prefix = rd()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e; } }; }, provides(e) { e.generateAbstractMask = function(t) { let { children: r, attributes: n, main: o, mask: a, maskId: i, transform: s } = t; const { width: l, icon: c } = o, { width: u, icon: f } = a, p = Wst({ transform: s, containerWidth: u, iconWidth: l }), v = { tag: "rect", attributes: Ie(Ie({}, XA), {}, { fill: "white" }) }, w = c.children ? { children: c.children.map(HK) } : {}, b = { tag: "g", attributes: Ie({}, p.inner), children: [HK(Ie({ tag: c.tag, attributes: Ie(Ie({}, c.attributes), p.path) }, w))] }, m = { tag: "g", attributes: Ie({}, p.outer), children: [b] }, x = "mask-".concat(i || J0()), O = "clip-".concat(i || J0()), E = { tag: "mask", attributes: Ie(Ie({}, XA), {}, { id: x, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [v, m] }, A = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: O }, children: Xlt(f) }, E] }; return r.push(A, { tag: "rect", attributes: Ie({ fill: "currentColor", "clip-path": "url(#".concat(O, ")"), mask: "url(#".concat(x, ")") }, XA) }), { children: r, attributes: n }; }; } }, Jlt = { provides(e) { let t = !1; td.matchMedia && (t = td.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() { const r = [], n = { fill: "currentColor" }, o = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; r.push({ tag: "path", attributes: Ie(Ie({}, n), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); const a = Ie(Ie({}, o), {}, { attributeName: "opacity" }), i = { tag: "circle", attributes: Ie(Ie({}, n), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return t || i.children.push({ tag: "animate", attributes: Ie(Ie({}, o), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: Ie(Ie({}, a), {}, { values: "1;0;1;1;0;1;" }) }), r.push(i), r.push({ tag: "path", attributes: Ie(Ie({}, n), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: t ? [] : [{ tag: "animate", attributes: Ie(Ie({}, a), {}, { values: "1;0;0;0;0;1;" }) }] }), t || r.push({ tag: "path", attributes: Ie(Ie({}, n), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: Ie(Ie({}, a), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: r }; }; } }, Qlt = { hooks() { return { parseNodeAttributes(e, t) { const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r; return e.symbol = n, e; } }; } }, Zlt = [Hst, Tlt, zlt, Dlt, Flt, Ylt, Blt, qlt, Klt, Jlt, Qlt]; clt(Zlt, { mixoutsTo: Pa }); Pa.noAuto; Pa.config; Pa.library; Pa.dom; const R9 = Pa.parse; Pa.findIconDefinition; Pa.toHtml; const ect = Pa.icon; Pa.layer; Pa.text; Pa.counter; function tct(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var y2 = { exports: {} }, KA = { exports: {} }, Nr = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var YK; function rct() { if (YK) return Nr; YK = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(h) { if (typeof h == "object" && h !== null) { var G = h.$$typeof; switch (G) { case t: switch (h = h.type, h) { case l: case c: case n: case a: case o: case f: return h; default: switch (h = h && h.$$typeof, h) { case s: case u: case w: case v: case i: return h; default: return G; } } case r: return G; } } } function A(h) { return E(h) === c; } return Nr.AsyncMode = l, Nr.ConcurrentMode = c, Nr.ContextConsumer = s, Nr.ContextProvider = i, Nr.Element = t, Nr.ForwardRef = u, Nr.Fragment = n, Nr.Lazy = w, Nr.Memo = v, Nr.Portal = r, Nr.Profiler = a, Nr.StrictMode = o, Nr.Suspense = f, Nr.isAsyncMode = function(h) { return A(h) || E(h) === l; }, Nr.isConcurrentMode = A, Nr.isContextConsumer = function(h) { return E(h) === s; }, Nr.isContextProvider = function(h) { return E(h) === i; }, Nr.isElement = function(h) { return typeof h == "object" && h !== null && h.$$typeof === t; }, Nr.isForwardRef = function(h) { return E(h) === u; }, Nr.isFragment = function(h) { return E(h) === n; }, Nr.isLazy = function(h) { return E(h) === w; }, Nr.isMemo = function(h) { return E(h) === v; }, Nr.isPortal = function(h) { return E(h) === r; }, Nr.isProfiler = function(h) { return E(h) === a; }, Nr.isStrictMode = function(h) { return E(h) === o; }, Nr.isSuspense = function(h) { return E(h) === f; }, Nr.isValidElementType = function(h) { return typeof h == "string" || typeof h == "function" || h === n || h === c || h === a || h === o || h === f || h === p || typeof h == "object" && h !== null && (h.$$typeof === w || h.$$typeof === v || h.$$typeof === i || h.$$typeof === s || h.$$typeof === u || h.$$typeof === m || h.$$typeof === x || h.$$typeof === O || h.$$typeof === b); }, Nr.typeOf = E, Nr; } var qr = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var BK; function nct() { return BK || (BK = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, w = e ? Symbol.for("react.lazy") : 60116, b = e ? Symbol.for("react.block") : 60121, m = e ? Symbol.for("react.fundamental") : 60117, x = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; function E(k) { return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. k === n || k === c || k === a || k === o || k === f || k === p || typeof k == "object" && k !== null && (k.$$typeof === w || k.$$typeof === v || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === m || k.$$typeof === x || k.$$typeof === O || k.$$typeof === b); } function A(k) { if (typeof k == "object" && k !== null) { var ne = k.$$typeof; switch (ne) { case t: var pe = k.type; switch (pe) { case l: case c: case n: case a: case o: case f: return pe; default: var He = pe && pe.$$typeof; switch (He) { case s: case u: case w: case v: case i: return He; default: return ne; } } case r: return ne; } } } var h = l, G = c, H = s, Z = i, J = t, X = u, ee = n, I = w, te = v, U = r, z = a, F = o, D = f, Y = !1; function q(k) { return Y || (Y = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), g(k) || A(k) === l; } function g(k) { return A(k) === c; } function d(k) { return A(k) === s; } function S(k) { return A(k) === i; } function C(k) { return typeof k == "object" && k !== null && k.$$typeof === t; } function P(k) { return A(k) === u; } function j(k) { return A(k) === n; } function _(k) { return A(k) === w; } function N(k) { return A(k) === v; } function M(k) { return A(k) === r; } function R(k) { return A(k) === a; } function T(k) { return A(k) === o; } function Q(k) { return A(k) === f; } qr.AsyncMode = h, qr.ConcurrentMode = G, qr.ContextConsumer = H, qr.ContextProvider = Z, qr.Element = J, qr.ForwardRef = X, qr.Fragment = ee, qr.Lazy = I, qr.Memo = te, qr.Portal = U, qr.Profiler = z, qr.StrictMode = F, qr.Suspense = D, qr.isAsyncMode = q, qr.isConcurrentMode = g, qr.isContextConsumer = d, qr.isContextProvider = S, qr.isElement = C, qr.isForwardRef = P, qr.isFragment = j, qr.isLazy = _, qr.isMemo = N, qr.isPortal = M, qr.isProfiler = R, qr.isStrictMode = T, qr.isSuspense = Q, qr.isValidElementType = E, qr.typeOf = A; }()), qr; } var qK; function She() { return qK || (qK = 1, process.env.NODE_ENV === "production" ? KA.exports = rct() : KA.exports = nct()), KA.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var JA, XK; function oct() { if (XK) return JA; XK = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function n(a) { if (a == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(a); } function o() { try { if (!Object.assign) return !1; var a = new String("abc"); if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5") return !1; for (var i = {}, s = 0; s < 10; s++) i["_" + String.fromCharCode(s)] = s; var l = Object.getOwnPropertyNames(i).map(function(u) { return i[u]; }); if (l.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(u) { c[u] = u; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return JA = o() ? Object.assign : function(a, i) { for (var s, l = n(a), c, u = 1; u < arguments.length; u++) { s = Object(arguments[u]); for (var f in s) t.call(s, f) && (l[f] = s[f]); if (e) { c = e(s); for (var p = 0; p < c.length; p++) r.call(s, c[p]) && (l[c[p]] = s[c[p]]); } } return l; }, JA; } var QA, KK; function s8() { if (KK) return QA; KK = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return QA = e, QA; } var JK, QK; function Ehe() { return QK || (QK = 1, JK = Function.call.bind(Object.prototype.hasOwnProperty)), JK; } var ZA, ZK; function act() { if (ZK) return ZA; ZK = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = /* @__PURE__ */ s8(), r = {}, n = /* @__PURE__ */ Ehe(); e = function(a) { var i = "Warning: " + a; typeof console < "u" && console.error(i); try { throw new Error(i); } catch { } }; } function o(a, i, s, l, c) { if (process.env.NODE_ENV !== "production") { for (var u in a) if (n(a, u)) { var f; try { if (typeof a[u] != "function") { var p = Error( (l || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw p.name = "Invariant Violation", p; } f = a[u](i, u, l, s, null, t); } catch (w) { f = w; } if (f && !(f instanceof Error) && e( (l || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), f instanceof Error && !(f.message in r)) { r[f.message] = !0; var v = c ? c() : ""; e( "Failed " + s + " type: " + f.message + (v ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (r = {}); }, ZA = o, ZA; } var e$, eJ; function ict() { if (eJ) return e$; eJ = 1; var e = She(), t = oct(), r = /* @__PURE__ */ s8(), n = /* @__PURE__ */ Ehe(), o = /* @__PURE__ */ act(), a = function() { }; process.env.NODE_ENV !== "production" && (a = function(s) { var l = "Warning: " + s; typeof console < "u" && console.error(l); try { throw new Error(l); } catch { } }); function i() { return null; } return e$ = function(s, l) { var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator"; function f(g) { var d = g && (c && g[c] || g[u]); if (typeof d == "function") return d; } var p = "<>", v = { array: x("array"), bigint: x("bigint"), bool: x("boolean"), func: x("function"), number: x("number"), object: x("object"), string: x("string"), symbol: x("symbol"), any: O(), arrayOf: E, element: A(), elementType: h(), instanceOf: G, node: X(), objectOf: Z, oneOf: H, oneOfType: J, shape: I, exact: te }; function w(g, d) { return g === d ? g !== 0 || 1 / g === 1 / d : g !== g && d !== d; } function b(g, d) { this.message = g, this.data = d && typeof d == "object" ? d : {}, this.stack = ""; } b.prototype = Error.prototype; function m(g) { if (process.env.NODE_ENV !== "production") var d = {}, S = 0; function C(j, _, N, M, R, T, Q) { if (M = M || p, T = T || N, Q !== r) { if (l) { var k = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw k.name = "Invariant Violation", k; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var ne = M + ":" + N; !d[ne] && // Avoid spamming the console because they are often not actionable except for lib authors S < 3 && (a( "You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + M + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), d[ne] = !0, S++); } } return _[N] == null ? j ? _[N] === null ? new b("The " + R + " `" + T + "` is marked as required " + ("in `" + M + "`, but its value is `null`.")) : new b("The " + R + " `" + T + "` is marked as required in " + ("`" + M + "`, but its value is `undefined`.")) : null : g(_, N, M, R, T); } var P = C.bind(null, !1); return P.isRequired = C.bind(null, !0), P; } function x(g) { function d(S, C, P, j, _, N) { var M = S[C], R = F(M); if (R !== g) { var T = D(M); return new b( "Invalid " + j + " `" + _ + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."), { expectedType: g } ); } return null; } return m(d); } function O() { return m(i); } function E(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside arrayOf."); var N = S[C]; if (!Array.isArray(N)) { var M = F(N); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an array.")); } for (var R = 0; R < N.length; R++) { var T = g(N, R, P, j, _ + "[" + R + "]", r); if (T instanceof Error) return T; } return null; } return m(d); } function A() { function g(d, S, C, P, j) { var _ = d[S]; if (!s(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement.")); } return null; } return m(g); } function h() { function g(d, S, C, P, j) { var _ = d[S]; if (!e.isValidElementType(_)) { var N = F(_); return new b("Invalid " + P + " `" + j + "` of type " + ("`" + N + "` supplied to `" + C + "`, expected a single ReactElement type.")); } return null; } return m(g); } function G(g) { function d(S, C, P, j, _) { if (!(S[C] instanceof g)) { var N = g.name || p, M = q(S[C]); return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected ") + ("instance of `" + N + "`.")); } return null; } return m(d); } function H(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : a("Invalid argument supplied to oneOf, expected an array.")), i; function d(S, C, P, j, _) { for (var N = S[C], M = 0; M < g.length; M++) if (w(N, g[M])) return null; var R = JSON.stringify(g, function(T, Q) { var k = D(Q); return k === "symbol" ? String(Q) : Q; }); return new b("Invalid " + j + " `" + _ + "` of value `" + String(N) + "` " + ("supplied to `" + P + "`, expected one of " + R + ".")); } return m(d); } function Z(g) { function d(S, C, P, j, _) { if (typeof g != "function") return new b("Property `" + _ + "` of component `" + P + "` has invalid PropType notation inside objectOf."); var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type " + ("`" + M + "` supplied to `" + P + "`, expected an object.")); for (var R in N) if (n(N, R)) { var T = g(N, R, P, j, _ + "." + R, r); if (T instanceof Error) return T; } return null; } return m(d); } function J(g) { if (!Array.isArray(g)) return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i; for (var d = 0; d < g.length; d++) { var S = g[d]; if (typeof S != "function") return a( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(S) + " at index " + d + "." ), i; } function C(P, j, _, N, M) { for (var R = [], T = 0; T < g.length; T++) { var Q = g[T], k = Q(P, j, _, N, M, r); if (k == null) return null; k.data && n(k.data, "expectedType") && R.push(k.data.expectedType); } var ne = R.length > 0 ? ", expected one of type [" + R.join(", ") + "]" : ""; return new b("Invalid " + N + " `" + M + "` supplied to " + ("`" + _ + "`" + ne + ".")); } return m(C); } function X() { function g(d, S, C, P, j) { return U(d[S]) ? null : new b("Invalid " + P + " `" + j + "` supplied to " + ("`" + C + "`, expected a ReactNode.")); } return m(g); } function ee(g, d, S, C, P) { return new b( (g || "React class") + ": " + d + " type `" + S + "." + C + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`." ); } function I(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); for (var R in g) { var T = g[R]; if (typeof T != "function") return ee(P, j, _, R, D(T)); var Q = T(N, R, P, j, _ + "." + R, r); if (Q) return Q; } return null; } return m(d); } function te(g) { function d(S, C, P, j, _) { var N = S[C], M = F(N); if (M !== "object") return new b("Invalid " + j + " `" + _ + "` of type `" + M + "` " + ("supplied to `" + P + "`, expected `object`.")); var R = t({}, S[C], g); for (var T in R) { var Q = g[T]; if (n(g, T) && typeof Q != "function") return ee(P, j, _, T, D(Q)); if (!Q) return new b( "Invalid " + j + " `" + _ + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(S[C], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(g), null, " ") ); var k = Q(N, T, P, j, _ + "." + T, r); if (k) return k; } return null; } return m(d); } function U(g) { switch (typeof g) { case "number": case "string": case "undefined": return !0; case "boolean": return !g; case "object": if (Array.isArray(g)) return g.every(U); if (g === null || s(g)) return !0; var d = f(g); if (d) { var S = d.call(g), C; if (d !== g.entries) { for (; !(C = S.next()).done; ) if (!U(C.value)) return !1; } else for (; !(C = S.next()).done; ) { var P = C.value; if (P && !U(P[1])) return !1; } } else return !1; return !0; default: return !1; } } function z(g, d) { return g === "symbol" ? !0 : d ? d["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && d instanceof Symbol : !1; } function F(g) { var d = typeof g; return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : z(d, g) ? "symbol" : d; } function D(g) { if (typeof g > "u" || g === null) return "" + g; var d = F(g); if (d === "object") { if (g instanceof Date) return "date"; if (g instanceof RegExp) return "regexp"; } return d; } function Y(g) { var d = D(g); switch (d) { case "array": case "object": return "an " + d; case "boolean": case "date": case "regexp": return "a " + d; default: return d; } } function q(g) { return !g.constructor || !g.constructor.name ? p : g.constructor.name; } return v.checkPropTypes = o, v.resetWarningCache = o.resetWarningCache, v.PropTypes = v, v; }, e$; } var t$, tJ; function sct() { if (tJ) return t$; tJ = 1; var e = /* @__PURE__ */ s8(); function t() { } function r() { } return r.resetWarningCache = t, t$ = function() { function n(i, s, l, c, u, f) { if (f !== e) { var p = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw p.name = "Invariant Violation", p; } } n.isRequired = n; function o() { return n; } var a = { array: n, bigint: n, bool: n, func: n, number: n, object: n, string: n, symbol: n, any: n, arrayOf: o, element: n, elementType: n, instanceOf: o, node: n, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: r, resetWarningCache: t }; return a.PropTypes = a, a; }, t$; } var rJ; function lct() { if (rJ) return y2.exports; if (rJ = 1, process.env.NODE_ENV !== "production") { var e = She(), t = !0; y2.exports = /* @__PURE__ */ ict()(e.isElement, t); } else y2.exports = /* @__PURE__ */ sct()(); return y2.exports; } var cct = /* @__PURE__ */ lct(); const lr = /* @__PURE__ */ tct(cct); function nJ(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function(o) { return Object.getOwnPropertyDescriptor(e, o).enumerable; })), r.push.apply(r, n); } return r; } function Qi(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {}; t % 2 ? nJ(Object(r), !0).forEach(function(n) { Hg(e, n, r[n]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : nJ(Object(r)).forEach(function(n) { Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n)); }); } return e; } function X5(e) { "@babel/helpers - typeof"; return X5 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, X5(e); } function Hg(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } function uct(e, t) { if (e == null) return {}; var r = {}, n = Object.keys(e), o, a; for (a = 0; a < n.length; a++) o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]); return r; } function fct(e, t) { if (e == null) return {}; var r = uct(e, t), n, o; if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); for (o = 0; o < a.length; o++) n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]); } return r; } function M9(e) { return dct(e) || pct(e) || mct(e) || gct(); } function dct(e) { if (Array.isArray(e)) return T9(e); } function pct(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function mct(e, t) { if (e) { if (typeof e == "string") return T9(e, t); var r = Object.prototype.toString.call(e).slice(8, -1); if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return T9(e, t); } } function T9(e, t) { (t == null || t > e.length) && (t = e.length); for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r]; return n; } function gct() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function hct(e) { var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, p = e.fixedWidth, v = e.inverse, w = e.border, b = e.listItem, m = e.flip, x = e.size, O = e.rotation, E = e.pull, A = (t = { "fa-beat": r, "fa-fade": n, "fa-beat-fade": o, "fa-bounce": a, "fa-shake": i, "fa-flash": s, "fa-spin": l, "fa-spin-reverse": u, "fa-spin-pulse": c, "fa-pulse": f, "fa-fw": p, "fa-inverse": v, "fa-border": w, "fa-li": b, "fa-flip": m === !0, "fa-flip-horizontal": m === "horizontal" || m === "both", "fa-flip-vertical": m === "vertical" || m === "both" }, Hg(t, "fa-".concat(x), typeof x < "u" && x !== null), Hg(t, "fa-rotate-".concat(O), typeof O < "u" && O !== null && O !== 0), Hg(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), Hg(t, "fa-swap-opacity", e.swapOpacity), t); return Object.keys(A).map(function(h) { return A[h] ? h : null; }).filter(function(h) { return h; }); } function bct(e) { return e = e - 0, e === e; } function Ahe(e) { return bct(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) { return r ? r.toUpperCase() : ""; }), e.substr(0, 1).toLowerCase() + e.substr(1)); } var yct = ["style"]; function vct(e) { return e.charAt(0).toUpperCase() + e.slice(1); } function xct(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, r) { var n = r.indexOf(":"), o = Ahe(r.slice(0, n)), a = r.slice(n + 1).trim(); return o.startsWith("webkit") ? t[vct(o)] = a : t[o] = a, t; }, {}); } function $he(e, t) { var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof t == "string") return t; var n = (t.children || []).map(function(l) { return $he(e, l); }), o = Object.keys(t.attributes || {}).reduce(function(l, c) { var u = t.attributes[c]; switch (c) { case "class": l.attrs.className = u, delete t.attributes.class; break; case "style": l.attrs.style = xct(u); break; default: c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[Ahe(c)] = u; } return l; }, { attrs: {} }), a = r.style, i = a === void 0 ? {} : a, s = fct(r, yct); return o.attrs.style = Qi(Qi({}, o.attrs.style), i), e.apply(void 0, [t.tag, Qi(Qi({}, o.attrs), s)].concat(M9(n))); } var Phe = !1; try { Phe = process.env.NODE_ENV === "production"; } catch { } function wct() { if (!Phe && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function oJ(e) { if (e && X5(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (R9.icon) return R9.icon(e); if (e === null) return null; if (e && X5(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } function r$(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Hg({}, e, t) : {}; } var aJ = { border: !1, className: "", mask: null, maskId: null, fixedWidth: !1, inverse: !1, flip: !1, icon: null, listItem: !1, pull: null, pulse: !1, rotation: null, size: null, spin: !1, spinPulse: !1, spinReverse: !1, beat: !1, fade: !1, beatFade: !1, bounce: !1, shake: !1, symbol: !1, title: "", titleId: null, transform: null, swapOpacity: !1 }, Da = /* @__PURE__ */ de.forwardRef(function(e, t) { var r = Qi(Qi({}, aJ), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = oJ(n), f = r$("classes", [].concat(M9(hct(r)), M9((i || "").split(" ")))), p = r$("transform", typeof r.transform == "string" ? R9.transform(r.transform) : r.transform), v = r$("mask", oJ(o)), w = ect(u, Qi(Qi(Qi(Qi({}, f), p), v), {}, { symbol: a, title: s, titleId: l, maskId: c })); if (!w) return wct("Could not find icon", u), null; var b = w.abstract, m = { ref: t }; return Object.keys(r).forEach(function(x) { aJ.hasOwnProperty(x) || (m[x] = r[x]); }), kct(b[0], m); }); Da.displayName = "FontAwesomeIcon"; Da.propTypes = { beat: lr.bool, border: lr.bool, beatFade: lr.bool, bounce: lr.bool, className: lr.string, fade: lr.bool, flash: lr.bool, mask: lr.oneOfType([lr.object, lr.array, lr.string]), maskId: lr.string, fixedWidth: lr.bool, inverse: lr.bool, flip: lr.oneOf([!0, !1, "horizontal", "vertical", "both"]), icon: lr.oneOfType([lr.object, lr.array, lr.string]), listItem: lr.bool, pull: lr.oneOf(["right", "left"]), pulse: lr.bool, rotation: lr.oneOf([0, 90, 180, 270]), shake: lr.bool, size: lr.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]), spin: lr.bool, spinPulse: lr.bool, spinReverse: lr.bool, symbol: lr.oneOfType([lr.bool, lr.string]), title: lr.string, titleId: lr.string, transform: lr.oneOfType([lr.string, lr.object]), swapOpacity: lr.bool }; var kct = $he.bind(null, de.createElement); /*! * Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) * Copyright 2024 Fonticons, Inc. */ const Oct = { prefix: "fas", iconName: "compress", icon: [448, 512, [], "f066", "M160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96zM32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM352 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 320c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0z"] }, Sct = { prefix: "fas", iconName: "image", icon: [512, 512, [], "f03e", "M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l96 0 32 0 208 0c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z"] }, Ect = { prefix: "fas", iconName: "arrows-rotate", icon: [512, 512, [128472, "refresh", "sync"], "f021", "M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160 352 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l111.5 0c0 0 0 0 0 0l.4 0c17.7 0 32-14.3 32-32l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 35.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1L16 432c0 17.7 14.3 32 32 32s32-14.3 32-32l0-35.1 17.6 17.5c0 0 0 0 0 0c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.8c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1L125.6 352l34.4 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48.4 288c-1.6 0-3.2 .1-4.8 .3s-3.1 .5-4.6 1z"] }, Act = { prefix: "fas", iconName: "filter", icon: [512, 512, [], "f0b0", "M3.9 54.9C10.5 40.9 24.5 32 40 32l432 0c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L320 320.9 320 448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6l0-79.1L9 97.3C-.7 85.4-2.8 68.8 3.9 54.9z"] }, $ct = { prefix: "fas", iconName: "cube", icon: [512, 512, [], "f1b2", "M234.5 5.7c13.9-5 29.1-5 43.1 0l192 68.6C495 83.4 512 107.5 512 134.6l0 242.9c0 27-17 51.2-42.5 60.3l-192 68.6c-13.9 5-29.1 5-43.1 0l-192-68.6C17 428.6 0 404.5 0 377.4L0 134.6c0-27 17-51.2 42.5-60.3l192-68.6zM256 66L82.3 128 256 190l173.7-62L256 66zm32 368.6l160-57.1 0-188L288 246.6l0 188z"] }, Pct = { prefix: "fas", iconName: "upload", icon: [512, 512, [], "f093", "M288 109.3L288 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-242.7-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352l128 0c0 35.3 28.7 64 64 64s64-28.7 64-64l128 0c35.3 0 64 28.7 64 64l0 32c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64l0-32c0-35.3 28.7-64 64-64zM432 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"] }, Cct = { prefix: "fas", iconName: "expand", icon: [448, 512, [], "f065", "M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z"] }, Nct = { prefix: "fas", iconName: "border-all", icon: [448, 512, [], "f84c", "M384 96l0 128-128 0 0-128 128 0zm0 192l0 128-128 0 0-128 128 0zM192 224L64 224 64 96l128 0 0 128zM64 288l128 0 0 128L64 416l0-128zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z"] }, iJ = { prefix: "fas", iconName: "check", icon: [448, 512, [10003, 10004], "f00c", "M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"] }, _ct = { prefix: "fas", iconName: "video", icon: [576, 512, ["video-camera"], "f03d", "M0 128C0 92.7 28.7 64 64 64l256 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128zM559.1 99.8c10.4 5.6 16.9 16.4 16.9 28.2l0 256c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-96-64L416 337.1l0-17.1 0-128 0-17.1 14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6z"] }; var jct = Symbol.for("preact-signals"); function l8() { if (Fh > 1) Fh--; else { for (var e, t = !1; R1 !== void 0; ) { var r = R1; for (R1 = void 0, z9++; r !== void 0; ) { var n = r.o; if (r.o = void 0, r.f &= -3, !(8 & r.f) && Nhe(r)) try { r.c(); } catch (o) { t || (e = o, t = !0); } r = n; } } if (z9 = 0, Fh--, t) throw e; } } var nn = void 0, R1 = void 0, Fh = 0, z9 = 0, K5 = 0; function Che(e) { if (nn !== void 0) { var t = e.n; if (t === void 0 || t.t !== nn) return t = { i: 0, S: e, p: nn.s, n: void 0, t: nn, e: void 0, x: void 0, r: t }, nn.s !== void 0 && (nn.s.n = t), nn.s = t, e.n = t, 32 & nn.f && e.S(t), t; if (t.i === -1) return t.i = 0, t.n !== void 0 && (t.n.p = t.p, t.p !== void 0 && (t.p.n = t.n), t.p = nn.s, t.n = void 0, nn.s.n = t, nn.s = t), t; } } function zo(e) { this.v = e, this.i = 0, this.n = void 0, this.t = void 0; } zo.prototype.brand = jct; zo.prototype.h = function() { return !0; }; zo.prototype.S = function(e) { this.t !== e && e.e === void 0 && (e.x = this.t, this.t !== void 0 && (this.t.e = e), this.t = e); }; zo.prototype.U = function(e) { if (this.t !== void 0) { var t = e.e, r = e.x; t !== void 0 && (t.x = r, e.e = void 0), r !== void 0 && (r.e = t, e.x = void 0), e === this.t && (this.t = r); } }; zo.prototype.subscribe = function(e) { var t = this; return Rhe(function() { var r = t.value, n = nn; nn = void 0; try { e(r); } finally { nn = n; } }); }; zo.prototype.valueOf = function() { return this.value; }; zo.prototype.toString = function() { return this.value + ""; }; zo.prototype.toJSON = function() { return this.value; }; zo.prototype.peek = function() { var e = nn; nn = void 0; try { return this.value; } finally { nn = e; } }; Object.defineProperty(zo.prototype, "value", { get: function() { var e = Che(this); return e !== void 0 && (e.i = this.i), this.v; }, set: function(e) { if (e !== this.v) { if (z9 > 100) throw new Error("Cycle detected"); this.v = e, this.i++, K5++, Fh++; try { for (var t = this.t; t !== void 0; t = t.x) t.t.N(); } finally { l8(); } } } }); function ey(e) { return new zo(e); } function Nhe(e) { for (var t = e.s; t !== void 0; t = t.n) if (t.S.i !== t.i || !t.S.h() || t.S.i !== t.i) return !0; return !1; } function _he(e) { for (var t = e.s; t !== void 0; t = t.n) { var r = t.S.n; if (r !== void 0 && (t.r = r), t.S.n = t, t.i = -1, t.n === void 0) { e.s = t; break; } } } function jhe(e) { for (var t = e.s, r = void 0; t !== void 0; ) { var n = t.p; t.i === -1 ? (t.S.U(t), n !== void 0 && (n.n = t.n), t.n !== void 0 && (t.n.p = n)) : r = t, t.S.n = t.r, t.r !== void 0 && (t.r = void 0), t = n; } e.s = r; } function Hx(e) { zo.call(this, void 0), this.x = e, this.s = void 0, this.g = K5 - 1, this.f = 4; } (Hx.prototype = new zo()).h = function() { if (this.f &= -3, 1 & this.f) return !1; if ((36 & this.f) == 32 || (this.f &= -5, this.g === K5)) return !0; if (this.g = K5, this.f |= 1, this.i > 0 && !Nhe(this)) return this.f &= -2, !0; var e = nn; try { _he(this), nn = this; var t = this.x(); (16 & this.f || this.v !== t || this.i === 0) && (this.v = t, this.f &= -17, this.i++); } catch (r) { this.v = r, this.f |= 16, this.i++; } return nn = e, jhe(this), this.f &= -2, !0; }; Hx.prototype.S = function(e) { if (this.t === void 0) { this.f |= 36; for (var t = this.s; t !== void 0; t = t.n) t.S.S(t); } zo.prototype.S.call(this, e); }; Hx.prototype.U = function(e) { if (this.t !== void 0 && (zo.prototype.U.call(this, e), this.t === void 0)) { this.f &= -33; for (var t = this.s; t !== void 0; t = t.n) t.S.U(t); } }; Hx.prototype.N = function() { if (!(2 & this.f)) { this.f |= 6; for (var e = this.t; e !== void 0; e = e.x) e.t.N(); } }; Object.defineProperty(Hx.prototype, "value", { get: function() { if (1 & this.f) throw new Error("Cycle detected"); var e = Che(this); if (this.h(), e !== void 0 && (e.i = this.i), 16 & this.f) throw this.v; return this.v; } }); function Ihe(e) { var t = e.u; if (e.u = void 0, typeof t == "function") { Fh++; var r = nn; nn = void 0; try { t(); } catch (n) { throw e.f &= -2, e.f |= 8, c8(e), n; } finally { nn = r, l8(); } } } function c8(e) { for (var t = e.s; t !== void 0; t = t.n) t.S.U(t); e.x = void 0, e.s = void 0, Ihe(e); } function Ict(e) { if (nn !== this) throw new Error("Out-of-order effect"); jhe(this), nn = e, this.f &= -2, 8 & this.f && c8(this), l8(); } function Yx(e) { this.x = e, this.u = void 0, this.s = void 0, this.o = void 0, this.f = 32; } Yx.prototype.c = function() { var e = this.S(); try { if (8 & this.f || this.x === void 0) return; var t = this.x(); typeof t == "function" && (this.u = t); } finally { e(); } }; Yx.prototype.S = function() { if (1 & this.f) throw new Error("Cycle detected"); this.f |= 1, this.f &= -9, Ihe(this), _he(this), Fh++; var e = nn; return nn = this, Ict.bind(this, e); }; Yx.prototype.N = function() { 2 & this.f || (this.f |= 2, this.o = R1, R1 = this); }; Yx.prototype.d = function() { this.f |= 8, 1 & this.f || c8(this); }; function Rhe(e) { var t = new Yx(e); try { t.c(); } catch (r) { throw t.d(), r; } return t.d.bind(t); } var n$ = { exports: {} }, o$ = {}; /** * @license React * use-sync-external-store-shim.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var sJ; function Rct() { if (sJ) return o$; sJ = 1; var e = de; function t(f, p) { return f === p && (f !== 0 || 1 / f === 1 / p) || f !== f && p !== p; } var r = typeof Object.is == "function" ? Object.is : t, n = e.useState, o = e.useEffect, a = e.useLayoutEffect, i = e.useDebugValue; function s(f, p) { var v = p(), w = n({ inst: { value: v, getSnapshot: p } }), b = w[0].inst, m = w[1]; return a( function() { b.value = v, b.getSnapshot = p, l(b) && m({ inst: b }); }, [f, v, p] ), o( function() { return l(b) && m({ inst: b }), f(function() { l(b) && m({ inst: b }); }); }, [f] ), i(v), v; } function l(f) { var p = f.getSnapshot; f = f.value; try { var v = p(); return !r(f, v); } catch { return !0; } } function c(f, p) { return p(); } var u = typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u" ? c : s; return o$.useSyncExternalStore = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : u, o$; } var lJ = {}; /** * @license React * use-sync-external-store-shim.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var cJ; function Mct() { return cJ || (cJ = 1, process.env.NODE_ENV !== "production" && function() { function e(v, w) { return v === w && (v !== 0 || 1 / v === 1 / w) || v !== v && w !== w; } function t(v, w) { u || o.startTransition === void 0 || (u = !0, console.error( "You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release." )); var b = w(); if (!f) { var m = w(); a(b, m) || (console.error( "The result of getSnapshot should be cached to avoid an infinite loop" ), f = !0); } m = i({ inst: { value: b, getSnapshot: w } }); var x = m[0].inst, O = m[1]; return l( function() { x.value = b, x.getSnapshot = w, r(x) && O({ inst: x }); }, [v, b, w] ), s( function() { return r(x) && O({ inst: x }), v(function() { r(x) && O({ inst: x }); }); }, [v] ), c(b), b; } function r(v) { var w = v.getSnapshot; v = v.value; try { var b = w(); return !a(v, b); } catch { return !0; } } function n(v, w) { return w(); } typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); var o = de, a = typeof Object.is == "function" ? Object.is : e, i = o.useState, s = o.useEffect, l = o.useLayoutEffect, c = o.useDebugValue, u = !1, f = !1, p = typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u" ? n : t; lJ.useSyncExternalStore = o.useSyncExternalStore !== void 0 ? o.useSyncExternalStore : p, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); }()), lJ; } var uJ; function Tct() { return uJ || (uJ = 1, process.env.NODE_ENV === "production" ? n$.exports = Rct() : n$.exports = Mct()), n$.exports; } var zct = Tct(), Dct = Fxe.split(".").map(Number)[0], Fct = Symbol.for(Dct >= 19 ? "react.transitional.element" : "react.element"), Wp, Mhe = Symbol.dispose || Symbol.for("Symbol.dispose"); function a$(e, t) { var r = t.effect.S(); return Wp = t, Lct.bind(t, e, r); } function Lct(e, t) { t(), Wp = e; } var fJ, D9, dJ = function() { }, Vct = ((fJ = { o: 0, effect: { s: void 0, c: function() { }, S: function() { return dJ; }, d: function() { } }, subscribe: function() { return dJ; }, getSnapshot: function() { return 0; }, S: function() { }, f: function() { } })[Mhe] = function() { }, fJ), Wct = Promise.prototype.then.bind(Promise.resolve()); function Gct() { D9 || (D9 = Wct(The)); } function The() { var e; D9 = void 0, (e = Wp) == null || e.f(); } var Uct = typeof window < "u" ? qs : xe; function zhe(e) { e === void 0 && (e = 0), Gct(); var t = ce(); t.current == null && (typeof window > "u" ? t.current = Vct : t.current = function(n) { var o, a, i, s, l = 0, c = Rhe(function() { a = this; }); return a.c = function() { l = l + 1 | 0, s && s(); }, (o = { o: n, effect: a, subscribe: function(u) { return s = u, function() { l = l + 1 | 0, s = void 0, c(); }; }, getSnapshot: function() { return l; }, S: function() { if (Wp != null) { var u = Wp.o, f = this.o; u == 0 && f == 0 || u == 0 && f == 1 ? (Wp.f(), i = a$(void 0, this)) : u == 1 && f == 0 || u == 2 && f == 0 || (i = a$(Wp, this)); } else i = a$(void 0, this); }, f: function() { var u = i; i = void 0, u == null || u(); } })[Mhe] = function() { this.f(); }, o; }(e)); var r = t.current; return zct.useSyncExternalStore(r.subscribe, r.getSnapshot, r.getSnapshot), r.S(), e === 0 && Uct(The), r; } Object.defineProperties(zo.prototype, { $$typeof: { configurable: !0, value: Fct }, type: { configurable: !0, value: function(e) { var t = e.data, r = zhe(1); try { return t.value; } finally { r.f(); } } }, props: { configurable: !0, get: function() { return { data: this }; } }, ref: { configurable: !0, value: null } }); function Hct(e) { return zhe(e); } const u8 = ey(!0), F9 = ey(!1), Pu = ey(!1), lv = ey(null), Yct = ey(!1), Bct = ey(null), Xn = { item: null, isDragging: !1, startX: 0, startY: 0, currX: 0, currY: 0 }, pJ = 5; function qct(e, t) { e.button === 0 && (Xn.item = t, Xn.startX = e.pageX, Xn.startY = e.pageY, Xn.currX = e.pageX, Xn.currY = e.pageY, Xn.isDragging = !1, u8.value = !1, document.body.style.cursor = "grabbing", window.addEventListener("pointermove", Dhe), window.addEventListener("pointerup", Fhe)); } function Dhe(e) { if (!Xn.item) return; const t = e.pageX - Xn.startX, r = e.pageY - Xn.startY; !Xn.isDragging && (Math.abs(t) > pJ || Math.abs(r) > pJ) && (Xn.isDragging = !0), Xn.currX = e.pageX, Xn.currY = e.pageY; } const Xct = "gallery-image-drop"; function Kct(e, t) { window.dispatchEvent( new CustomEvent(Xct, { detail: { item: e, position: t } }) ); } function Fhe(e) { Xn.item && Xn.isDragging && (Xn.item.mediaClass === "image" || Xn.item.mediaClass === "dimensional") && Kct(Xn.item, { x: e.pageX, y: e.pageY }), Xn.item = null, Xn.isDragging = !1, u8.value = F9.value, document.body.style.cursor = "", window.removeEventListener("pointermove", Dhe), window.removeEventListener("pointerup", Fhe); } function Jct() { return Xn; } const mJ = { onPointerDown: qct, getDragState: Jct }; var Qct = Object.defineProperty, Zct = (e, t, r) => t in e ? Qct(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, i$ = (e, t, r) => (Zct(e, typeof t != "symbol" ? t + "" : t, r), r); let eut = class { constructor() { i$(this, "current", this.detect()), i$(this, "handoffState", "pending"), i$(this, "currentId", 0); } set(e) { this.current !== e && (this.handoffState = "pending", this.currentId = 0, this.current = e); } reset() { this.set(this.detect()); } nextId() { return ++this.currentId; } get isServer() { return this.current === "server"; } get isClient() { return this.current === "client"; } detect() { return typeof window > "u" || typeof document > "u" ? "server" : "client"; } handoff() { this.handoffState === "pending" && (this.handoffState = "complete"); } get isHandoffComplete() { return this.handoffState === "complete"; } }, _k = new eut(); function tut(e) { typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => { throw t; })); } function d3() { let e = [], t = { addEventListener(r, n, o, a) { return r.addEventListener(n, o, a), t.add(() => r.removeEventListener(n, o, a)); }, requestAnimationFrame(...r) { let n = requestAnimationFrame(...r); return t.add(() => cancelAnimationFrame(n)); }, nextFrame(...r) { return t.requestAnimationFrame(() => t.requestAnimationFrame(...r)); }, setTimeout(...r) { let n = setTimeout(...r); return t.add(() => clearTimeout(n)); }, microTask(...r) { let n = { current: !0 }; return tut(() => { n.current && r[0](); }), t.add(() => { n.current = !1; }); }, style(r, n, o) { let a = r.style.getPropertyValue(n); return Object.assign(r.style, { [n]: o }), this.add(() => { Object.assign(r.style, { [n]: a }); }); }, group(r) { let n = d3(); return r(n), this.add(() => n.dispose()); }, add(r) { return e.includes(r) || e.push(r), () => { let n = e.indexOf(r); if (n >= 0) for (let o of e.splice(n, 1)) o(); }; }, dispose() { for (let r of e.splice(0)) r(); } }; return t; } function Lhe() { let [e] = We(d3); return xe(() => () => e.dispose(), [e]), e; } let xf = (e, t) => { _k.isServer ? xe(e, t) : qs(e, t); }; function Vhe(e) { let t = ce(e); return xf(() => { t.current = e; }, [e]), t; } let Nl = function(e) { let t = Vhe(e); return de.useCallback((...r) => t.current(...r), [t]); }; function L9(...e) { return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" "); } function p3(e, t, ...r) { if (e in t) { let o = t[e]; return typeof o == "function" ? o(...r) : o; } let n = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((o) => `"${o}"`).join(", ")}.`); throw Error.captureStackTrace && Error.captureStackTrace(n, p3), n; } var Whe = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(Whe || {}), uf = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(uf || {}); function Ghe() { let e = nut(); return dt((t) => rut({ mergeRefs: e, ...t }), [e]); } function rut({ ourProps: e, theirProps: t, slot: r, defaultTag: n, features: o, visible: a = !0, name: i, mergeRefs: s }) { s = s ?? out; let l = Uhe(t, e); if (a) return v2(l, r, n, i, s); let c = o ?? 0; if (c & 2) { let { static: u = !1, ...f } = l; if (u) return v2(f, r, n, i, s); } if (c & 1) { let { unmount: u = !0, ...f } = l; return p3(u ? 0 : 1, { 0() { return null; }, 1() { return v2({ ...f, hidden: !0, style: { display: "none" } }, r, n, i, s); } }); } return v2(l, r, n, i, s); } function v2(e, t = {}, r, n, o) { let { as: a = r, children: i, refName: s = "ref", ...l } = s$(e, ["unmount", "static"]), c = e.ref !== void 0 ? { [s]: e.ref } : {}, u = typeof i == "function" ? i(t) : i; "className" in l && l.className && typeof l.className == "function" && (l.className = l.className(t)), l["aria-labelledby"] && l["aria-labelledby"] === l.id && (l["aria-labelledby"] = void 0); let f = {}; if (t) { let p = !1, v = []; for (let [w, b] of Object.entries(t)) typeof b == "boolean" && (p = !0), b === !0 && v.push(w.replace(/([A-Z])/g, (m) => `-${m.toLowerCase()}`)); if (p) { f["data-headlessui-state"] = v.join(" "); for (let w of v) f[`data-${w}`] = ""; } } if (a === Tr && (Object.keys(Sp(l)).length > 0 || Object.keys(Sp(f)).length > 0)) if (!Ws(u) || Array.isArray(u) && u.length > 1) { if (Object.keys(Sp(l)).length > 0) throw new Error(['Passing props on "Fragment"!', "", `The current component <${n} /> is rendering a "Fragment".`, "However we need to passthrough the following props:", Object.keys(Sp(l)).concat(Object.keys(Sp(f))).map((p) => ` - ${p}`).join(` `), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".', "Render a single element as the child so that we can forward the props onto that element."].map((p) => ` - ${p}`).join(` `)].join(` `)); } else { let p = u.props, v = p == null ? void 0 : p.className, w = typeof v == "function" ? (...x) => L9(v(...x), l.className) : L9(v, l.className), b = w ? { className: w } : {}, m = Uhe(u.props, Sp(s$(l, ["ref"]))); for (let x in f) x in m && delete f[x]; return Gs(u, Object.assign({}, m, f, c, { ref: o(aut(u), c.ref) }, b)); } return xO(a, Object.assign({}, s$(l, ["ref"]), a !== Tr && c, a !== Tr && f), u); } function nut() { let e = ce([]), t = dt((r) => { for (let n of e.current) n != null && (typeof n == "function" ? n(r) : n.current = r); }, []); return (...r) => { if (!r.every((n) => n == null)) return e.current = r, t; }; } function out(...e) { return e.every((t) => t == null) ? void 0 : (t) => { for (let r of e) r != null && (typeof r == "function" ? r(t) : r.current = t); }; } function Uhe(...e) { if (e.length === 0) return {}; if (e.length === 1) return e[0]; let t = {}, r = {}; for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o]; if (t.disabled || t["aria-disabled"]) for (let n in r) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(n) && (r[n] = [(o) => { var a; return (a = o == null ? void 0 : o.preventDefault) == null ? void 0 : a.call(o); }]); for (let n in r) Object.assign(t, { [n](o, ...a) { let i = r[n]; for (let s of i) { if ((o instanceof Event || (o == null ? void 0 : o.nativeEvent) instanceof Event) && o.defaultPrevented) return; s(o, ...a); } } }); return t; } function f8(e) { var t; return Object.assign(Ym(e), { displayName: (t = e.displayName) != null ? t : e.name }); } function Sp(e) { let t = Object.assign({}, e); for (let r in t) t[r] === void 0 && delete t[r]; return t; } function s$(e, t = []) { let r = Object.assign({}, e); for (let n of t) n in r && delete r[n]; return r; } function aut(e) { return de.version.split(".")[0] >= "19" ? e.props.ref : e.ref; } let iut = Symbol(); function Hhe(...e) { let t = ce(e); xe(() => { t.current = e; }, [e]); let r = Nl((n) => { for (let o of t.current) o != null && (typeof o == "function" ? o(n) : o.current = n); }); return e.every((n) => n == null || (n == null ? void 0 : n[iut])) ? void 0 : r; } function sut(e = 0) { let [t, r] = We(e), n = dt((l) => r(l), [t]), o = dt((l) => r((c) => c | l), [t]), a = dt((l) => (t & l) === l, [t]), i = dt((l) => r((c) => c & ~l), [r]), s = dt((l) => r((c) => c ^ l), [r]); return { flags: t, setFlag: n, addFlag: o, hasFlag: a, removeFlag: i, toggleFlag: s }; } var gJ, hJ; typeof process < "u" && typeof globalThis < "u" && typeof Element < "u" && ((gJ = process == null ? void 0 : process.env) == null ? void 0 : gJ.NODE_ENV) === "test" && typeof ((hJ = Element == null ? void 0 : Element.prototype) == null ? void 0 : hJ.getAnimations) > "u" && (Element.prototype.getAnimations = function() { return console.warn(["Headless UI has polyfilled `Element.prototype.getAnimations` for your tests.", "Please install a proper polyfill e.g. `jsdom-testing-mocks`, to silence these warnings.", "", "Example usage:", "```js", "import { mockAnimationsApi } from 'jsdom-testing-mocks'", "mockAnimationsApi()", "```"].join(` `)), []; }); var lut = ((e) => (e[e.None = 0] = "None", e[e.Closed = 1] = "Closed", e[e.Enter = 2] = "Enter", e[e.Leave = 4] = "Leave", e))(lut || {}); function cut(e) { let t = {}; for (let r in e) e[r] === !0 && (t[`data-${r}`] = ""); return t; } function uut(e, t, r, n) { let [o, a] = We(r), { hasFlag: i, addFlag: s, removeFlag: l } = sut(e && o ? 3 : 0), c = ce(!1), u = ce(!1), f = Lhe(); return xf(() => { var p; if (e) { if (r && a(!0), !t) { r && s(3); return; } return (p = n == null ? void 0 : n.start) == null || p.call(n, r), fut(t, { inFlight: c, prepare() { u.current ? u.current = !1 : u.current = c.current, c.current = !0, !u.current && (r ? (s(3), l(4)) : (s(4), l(2))); }, run() { u.current ? r ? (l(3), s(4)) : (l(4), s(3)) : r ? l(1) : s(1); }, done() { var v; u.current && typeof t.getAnimations == "function" && t.getAnimations().length > 0 || (c.current = !1, l(7), r || a(!1), (v = n == null ? void 0 : n.end) == null || v.call(n, r)); } }); } }, [e, r, t, f]), e ? [o, { closed: i(1), enter: i(2), leave: i(4), transition: i(2) || i(4) }] : [r, { closed: void 0, enter: void 0, leave: void 0, transition: void 0 }]; } function fut(e, { prepare: t, run: r, done: n, inFlight: o }) { let a = d3(); return put(e, { prepare: t, inFlight: o }), a.nextFrame(() => { r(), a.requestAnimationFrame(() => { a.add(dut(e, n)); }); }), a.dispose; } function dut(e, t) { var r, n; let o = d3(); if (!e) return o.dispose; let a = !1; o.add(() => { a = !0; }); let i = (n = (r = e.getAnimations) == null ? void 0 : r.call(e).filter((s) => s instanceof CSSTransition)) != null ? n : []; return i.length === 0 ? (t(), o.dispose) : (Promise.allSettled(i.map((s) => s.finished)).then(() => { a || t(); }), o.dispose); } function put(e, { inFlight: t, prepare: r }) { if (t != null && t.current) { r(); return; } let n = e.style.transition; e.style.transition = "none", r(), e.offsetHeight, e.style.transition = n; } let d8 = an(null); d8.displayName = "OpenClosedContext"; var Gp = ((e) => (e[e.Open = 1] = "Open", e[e.Closed = 2] = "Closed", e[e.Closing = 4] = "Closing", e[e.Opening = 8] = "Opening", e))(Gp || {}); function Yhe() { return gr(d8); } function mut({ value: e, children: t }) { return de.createElement(d8.Provider, { value: e }, t); } function gut() { let e = typeof document > "u"; return "useSyncExternalStore" in V ? ((t) => t.useSyncExternalStore)(V)(() => () => { }, () => !1, () => !e) : !1; } function Bhe() { let e = gut(), [t, r] = V.useState(_k.isHandoffComplete); return t && _k.isHandoffComplete === !1 && r(!1), V.useEffect(() => { t !== !0 && r(!0); }, [t]), V.useEffect(() => _k.handoff(), []), e ? !1 : t; } function hut() { let e = ce(!1); return xf(() => (e.current = !0, () => { e.current = !1; }), []), e; } function qhe(e) { var t; return !!(e.enter || e.enterFrom || e.enterTo || e.leave || e.leaveFrom || e.leaveTo) || ((t = e.as) != null ? t : Khe) !== Tr || de.Children.count(e.children) === 1; } let m3 = an(null); m3.displayName = "TransitionContext"; var but = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(but || {}); function yut() { let e = gr(m3); if (e === null) throw new Error("A is used but it is missing a parent or ."); return e; } function vut() { let e = gr(g3); if (e === null) throw new Error("A is used but it is missing a parent or ."); return e; } let g3 = an(null); g3.displayName = "NestingContext"; function h3(e) { return "children" in e ? h3(e.children) : e.current.filter(({ el: t }) => t.current !== null).filter(({ state: t }) => t === "visible").length > 0; } function Xhe(e, t) { let r = Vhe(e), n = ce([]), o = hut(), a = Lhe(), i = Nl((v, w = uf.Hidden) => { let b = n.current.findIndex(({ el: m }) => m === v); b !== -1 && (p3(w, { [uf.Unmount]() { n.current.splice(b, 1); }, [uf.Hidden]() { n.current[b].state = "hidden"; } }), a.microTask(() => { var m; !h3(n) && o.current && ((m = r.current) == null || m.call(r)); })); }), s = Nl((v) => { let w = n.current.find(({ el: b }) => b === v); return w ? w.state !== "visible" && (w.state = "visible") : n.current.push({ el: v, state: "visible" }), () => i(v, uf.Unmount); }), l = ce([]), c = ce(Promise.resolve()), u = ce({ enter: [], leave: [] }), f = Nl((v, w, b) => { l.current.splice(0), t && (t.chains.current[w] = t.chains.current[w].filter(([m]) => m !== v)), t == null || t.chains.current[w].push([v, new Promise((m) => { l.current.push(m); })]), t == null || t.chains.current[w].push([v, new Promise((m) => { Promise.all(u.current[w].map(([x, O]) => O)).then(() => m()); })]), w === "enter" ? c.current = c.current.then(() => t == null ? void 0 : t.wait.current).then(() => b(w)) : b(w); }), p = Nl((v, w, b) => { Promise.all(u.current[w].splice(0).map(([m, x]) => x)).then(() => { var m; (m = l.current.shift()) == null || m(); }).then(() => b(w)); }); return br(() => ({ children: n, register: s, unregister: i, onStart: f, onStop: p, wait: c, chains: u }), [s, i, n, f, p, u, c]); } let Khe = Tr, Jhe = Whe.RenderStrategy; function xut(e, t) { var r, n; let { transition: o = !0, beforeEnter: a, afterEnter: i, beforeLeave: s, afterLeave: l, enter: c, enterFrom: u, enterTo: f, entered: p, leave: v, leaveFrom: w, leaveTo: b, ...m } = e, [x, O] = We(null), E = ce(null), A = qhe(e), h = Hhe(...A ? [E, t, O] : t === null ? [] : [t]), G = (r = m.unmount) == null || r ? uf.Unmount : uf.Hidden, { show: H, appear: Z, initial: J } = yut(), [X, ee] = We(H ? "visible" : "hidden"), I = vut(), { register: te, unregister: U } = I; xf(() => te(E), [te, E]), xf(() => { if (G === uf.Hidden && E.current) { if (H && X !== "visible") { ee("visible"); return; } return p3(X, { hidden: () => U(E), visible: () => te(E) }); } }, [X, E, te, U, H, G]); let z = Bhe(); xf(() => { if (A && z && X === "visible" && E.current === null) throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?"); }, [E, X, z, A]); let F = J && !Z, D = Z && H && J, Y = ce(!1), q = Xhe(() => { Y.current || (ee("hidden"), U(E)); }, I), g = Nl((N) => { Y.current = !0; let M = N ? "enter" : "leave"; q.onStart(E, M, (R) => { R === "enter" ? a == null || a() : R === "leave" && (s == null || s()); }); }), d = Nl((N) => { let M = N ? "enter" : "leave"; Y.current = !1, q.onStop(E, M, (R) => { R === "enter" ? i == null || i() : R === "leave" && (l == null || l()); }), M === "leave" && !h3(q) && (ee("hidden"), U(E)); }); xe(() => { A && o || (g(H), d(H)); }, [H, A, o]); let S = !(!o || !A || !z || F), [, C] = uut(S, x, H, { start: g, end: d }), P = Sp({ ref: h, className: ((n = L9(m.className, D && c, D && u, C.enter && c, C.enter && C.closed && u, C.enter && !C.closed && f, C.leave && v, C.leave && !C.closed && w, C.leave && C.closed && b, !C.transition && H && p)) == null ? void 0 : n.trim()) || void 0, ...cut(C) }), j = 0; X === "visible" && (j |= Gp.Open), X === "hidden" && (j |= Gp.Closed), H && X === "hidden" && (j |= Gp.Opening), !H && X === "visible" && (j |= Gp.Closing); let _ = Ghe(); return de.createElement(g3.Provider, { value: q }, de.createElement(mut, { value: j }, _({ ourProps: P, theirProps: m, defaultTag: Khe, features: Jhe, visible: X === "visible", name: "Transition.Child" }))); } function wut(e, t) { let { show: r, appear: n = !1, unmount: o = !0, ...a } = e, i = ce(null), s = qhe(e), l = Hhe(...s ? [i, t] : t === null ? [] : [t]); Bhe(); let c = Yhe(); if (r === void 0 && c !== null && (r = (c & Gp.Open) === Gp.Open), r === void 0) throw new Error("A is used but it is missing a `show={true | false}` prop."); let [u, f] = We(r ? "visible" : "hidden"), p = Xhe(() => { r || f("hidden"); }), [v, w] = We(!0), b = ce([r]); xf(() => { v !== !1 && b.current[b.current.length - 1] !== r && (b.current.push(r), w(!1)); }, [b, r]); let m = br(() => ({ show: r, appear: n, initial: v }), [r, n, v]); xf(() => { r ? f("visible") : !h3(p) && i.current !== null && f("hidden"); }, [r, p]); let x = { unmount: o }, O = Nl(() => { var h; v && w(!1), (h = e.beforeEnter) == null || h.call(e); }), E = Nl(() => { var h; v && w(!1), (h = e.beforeLeave) == null || h.call(e); }), A = Ghe(); return de.createElement(g3.Provider, { value: p }, de.createElement(m3.Provider, { value: m }, A({ ourProps: { ...x, as: Tr, children: de.createElement(Qhe, { ref: l, ...x, ...a, beforeEnter: O, beforeLeave: E }) }, theirProps: {}, defaultTag: Tr, features: Jhe, visible: u === "visible", name: "Transition" }))); } function kut(e, t) { let r = gr(m3) !== null, n = Yhe() !== null; return de.createElement(de.Fragment, null, !r && n ? de.createElement(V9, { ref: t, ...e }) : de.createElement(Qhe, { ref: t, ...e })); } let V9 = f8(wut), Qhe = f8(xut), Out = f8(kut), Sut = Object.assign(V9, { Child: Out, Root: V9 }); const p8 = "-", Eut = (e) => { const t = $ut(e), { conflictingClassGroups: r, conflictingClassGroupModifiers: n } = e; return { getClassGroupId: (o) => { const a = o.split(p8); return a[0] === "" && a.length !== 1 && a.shift(), Zhe(a, t) || Aut(o); }, getConflictingClassGroupIds: (o, a) => { const i = r[o] || []; return a && n[o] ? [...i, ...n[o]] : i; } }; }, Zhe = (e, t) => { var r; if (e.length === 0) return t.classGroupId; const n = e[0], o = t.nextPart.get(n), a = o ? Zhe(e.slice(1), o) : void 0; if (a) return a; if (t.validators.length === 0) return; const i = e.join(p8); return (r = t.validators.find(({ validator: s }) => s(i))) == null ? void 0 : r.classGroupId; }, bJ = /^\[(.+)\]$/, Aut = (e) => { if (bJ.test(e)) { const t = bJ.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (r) return "arbitrary.." + r; } }, $ut = (e) => { const { theme: t, prefix: r } = e, n = { nextPart: /* @__PURE__ */ new Map(), validators: [] }; return Cut(Object.entries(e.classGroups), r).forEach(([o, a]) => { W9(a, n, o, t); }), n; }, W9 = (e, t, r, n) => { e.forEach((o) => { if (typeof o == "string") { const a = o === "" ? t : yJ(t, o); a.classGroupId = r; return; } if (typeof o == "function") { if (Put(o)) { W9(o(n), t, r, n); return; } t.validators.push({ validator: o, classGroupId: r }); return; } Object.entries(o).forEach(([a, i]) => { W9(i, yJ(t, a), r, n); }); }); }, yJ = (e, t) => { let r = e; return t.split(p8).forEach((n) => { r.nextPart.has(n) || r.nextPart.set(n, { nextPart: /* @__PURE__ */ new Map(), validators: [] }), r = r.nextPart.get(n); }), r; }, Put = (e) => e.isThemeGetter, Cut = (e, t) => t ? e.map(([r, n]) => { const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a); return [r, o]; }) : e, Nut = (e) => { if (e < 1) return { get: () => { }, set: () => { } }; let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(); const o = (a, i) => { r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map()); }; return { get(a) { let i = r.get(a); if (i !== void 0) return i; if ((i = n.get(a)) !== void 0) return o(a, i), i; }, set(a, i) { r.has(a) ? r.set(a, i) : o(a, i); } }; }, ebe = "!", _ut = (e) => { const { separator: t, experimentalParseClassName: r } = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => { const l = []; let c = 0, u = 0, f; for (let m = 0; m < s.length; m++) { let x = s[m]; if (c === 0) { if (x === o && (n || s.slice(m, m + a) === t)) { l.push(s.slice(u, m)), u = m + a; continue; } if (x === "/") { f = m; continue; } } x === "[" ? c++ : x === "]" && c--; } const p = l.length === 0 ? s : s.substring(u), v = p.startsWith(ebe), w = v ? p.substring(1) : p, b = f && f > u ? f - u : void 0; return { modifiers: l, hasImportantModifier: v, baseClassName: w, maybePostfixModifierPosition: b }; }; return r ? (s) => r({ className: s, parseClassName: i }) : i; }, jut = (e) => { if (e.length <= 1) return e; const t = []; let r = []; return e.forEach((n) => { n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n); }), t.push(...r.sort()), t; }, Iut = (e) => ({ cache: Nut(e.cacheSize), parseClassName: _ut(e), ...Eut(e) }), Rut = /\s+/, Mut = (e, t) => { const { parseClassName: r, getClassGroupId: n, getConflictingClassGroupIds: o } = t, a = [], i = e.trim().split(Rut); let s = ""; for (let l = i.length - 1; l >= 0; l -= 1) { const c = i[l], { modifiers: u, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: v } = r(c); let w = !!v, b = n(w ? p.substring(0, v) : p); if (!b) { if (!w) { s = c + (s.length > 0 ? " " + s : s); continue; } if (b = n(p), !b) { s = c + (s.length > 0 ? " " + s : s); continue; } w = !1; } const m = jut(u).join(":"), x = f ? m + ebe : m, O = x + b; if (a.includes(O)) continue; a.push(O); const E = o(b, w); for (let A = 0; A < E.length; ++A) { const h = E[A]; a.push(x + h); } s = c + (s.length > 0 ? " " + s : s); } return s; }; function Tut() { let e = 0, t, r, n = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (r = tbe(t)) && (n && (n += " "), n += r); return n; } const tbe = (e) => { if (typeof e == "string") return e; let t, r = ""; for (let n = 0; n < e.length; n++) e[n] && (t = tbe(e[n])) && (r && (r += " "), r += t); return r; }; function zut(e, ...t) { let r, n, o, a = i; function i(l) { const c = t.reduce((u, f) => f(u), e()); return r = Iut(c), n = r.cache.get, o = r.cache.set, a = s, s(l); } function s(l) { const c = n(l); if (c) return c; const u = Mut(l, r); return o(l, u), u; } return function() { return a(Tut.apply(null, arguments)); }; } const On = (e) => { const t = (r) => r[e] || []; return t.isThemeGetter = !0, t; }, rbe = /^\[(?:([a-z-]+):)?(.+)\]$/i, Dut = /^\d+\/\d+$/, Fut = /* @__PURE__ */ new Set(["px", "full", "screen"]), Lut = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Vut = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Wut = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, Gut = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Uut = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, hl = (e) => Lh(e) || Fut.has(e) || Dut.test(e), Cu = (e) => ty(e, "length", Qut), Lh = (e) => !!e && !Number.isNaN(Number(e)), l$ = (e) => ty(e, "number", Lh), cv = (e) => !!e && Number.isInteger(Number(e)), Hut = (e) => e.endsWith("%") && Lh(e.slice(0, -1)), zt = (e) => rbe.test(e), Nu = (e) => Lut.test(e), Yut = /* @__PURE__ */ new Set(["length", "size", "percentage"]), But = (e) => ty(e, Yut, nbe), qut = (e) => ty(e, "position", nbe), Xut = /* @__PURE__ */ new Set(["image", "url"]), Kut = (e) => ty(e, Xut, eft), Jut = (e) => ty(e, "", Zut), uv = () => !0, ty = (e, t, r) => { const n = rbe.exec(e); return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1; }, Qut = (e) => ( // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths. // For example, `hsl(0 0% 0%)` would be classified as a length without this check. // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough. Vut.test(e) && !Wut.test(e) ), nbe = () => !1, Zut = (e) => Gut.test(e), eft = (e) => Uut.test(e), tft = () => { const e = On("colors"), t = On("spacing"), r = On("blur"), n = On("brightness"), o = On("borderColor"), a = On("borderRadius"), i = On("borderSpacing"), s = On("borderWidth"), l = On("contrast"), c = On("grayscale"), u = On("hueRotate"), f = On("invert"), p = On("gap"), v = On("gradientColorStops"), w = On("gradientColorStopPositions"), b = On("inset"), m = On("margin"), x = On("opacity"), O = On("padding"), E = On("saturate"), A = On("scale"), h = On("sepia"), G = On("skew"), H = On("space"), Z = On("translate"), J = () => ["auto", "contain", "none"], X = () => ["auto", "hidden", "clip", "visible", "scroll"], ee = () => ["auto", zt, t], I = () => [zt, t], te = () => ["", hl, Cu], U = () => ["auto", Lh, zt], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], F = () => ["solid", "dashed", "dotted", "double", "none"], D = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], q = () => ["", "0", zt], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], d = () => [Lh, zt]; return { cacheSize: 500, separator: ":", theme: { colors: [uv], spacing: [hl, Cu], blur: ["none", "", Nu, zt], brightness: d(), borderColor: [e], borderRadius: ["none", "", "full", Nu, zt], borderSpacing: I(), borderWidth: te(), contrast: d(), grayscale: q(), hueRotate: d(), invert: q(), gap: I(), gradientColorStops: [e], gradientColorStopPositions: [Hut, Cu], inset: ee(), margin: ee(), opacity: d(), padding: I(), saturate: d(), scale: d(), sepia: q(), skew: d(), space: I(), translate: I() }, classGroups: { // Layout /** * Aspect Ratio * @see https://tailwindcss.com/docs/aspect-ratio */ aspect: [{ aspect: ["auto", "square", "video", zt] }], /** * Container * @see https://tailwindcss.com/docs/container */ container: ["container"], /** * Columns * @see https://tailwindcss.com/docs/columns */ columns: [{ columns: [Nu] }], /** * Break After * @see https://tailwindcss.com/docs/break-after */ "break-after": [{ "break-after": g() }], /** * Break Before * @see https://tailwindcss.com/docs/break-before */ "break-before": [{ "break-before": g() }], /** * Break Inside * @see https://tailwindcss.com/docs/break-inside */ "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], /** * Box Decoration Break * @see https://tailwindcss.com/docs/box-decoration-break */ "box-decoration": [{ "box-decoration": ["slice", "clone"] }], /** * Box Sizing * @see https://tailwindcss.com/docs/box-sizing */ box: [{ box: ["border", "content"] }], /** * Display * @see https://tailwindcss.com/docs/display */ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"], /** * Floats * @see https://tailwindcss.com/docs/float */ float: [{ float: ["right", "left", "none", "start", "end"] }], /** * Clear * @see https://tailwindcss.com/docs/clear */ clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], /** * Isolation * @see https://tailwindcss.com/docs/isolation */ isolation: ["isolate", "isolation-auto"], /** * Object Fit * @see https://tailwindcss.com/docs/object-fit */ "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], /** * Object Position * @see https://tailwindcss.com/docs/object-position */ "object-position": [{ object: [...z(), zt] }], /** * Overflow * @see https://tailwindcss.com/docs/overflow */ overflow: [{ overflow: X() }], /** * Overflow X * @see https://tailwindcss.com/docs/overflow */ "overflow-x": [{ "overflow-x": X() }], /** * Overflow Y * @see https://tailwindcss.com/docs/overflow */ "overflow-y": [{ "overflow-y": X() }], /** * Overscroll Behavior * @see https://tailwindcss.com/docs/overscroll-behavior */ overscroll: [{ overscroll: J() }], /** * Overscroll Behavior X * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-x": [{ "overscroll-x": J() }], /** * Overscroll Behavior Y * @see https://tailwindcss.com/docs/overscroll-behavior */ "overscroll-y": [{ "overscroll-y": J() }], /** * Position * @see https://tailwindcss.com/docs/position */ position: ["static", "fixed", "absolute", "relative", "sticky"], /** * Top / Right / Bottom / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ inset: [{ inset: [b] }], /** * Right / Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-x": [{ "inset-x": [b] }], /** * Top / Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ "inset-y": [{ "inset-y": [b] }], /** * Start * @see https://tailwindcss.com/docs/top-right-bottom-left */ start: [{ start: [b] }], /** * End * @see https://tailwindcss.com/docs/top-right-bottom-left */ end: [{ end: [b] }], /** * Top * @see https://tailwindcss.com/docs/top-right-bottom-left */ top: [{ top: [b] }], /** * Right * @see https://tailwindcss.com/docs/top-right-bottom-left */ right: [{ right: [b] }], /** * Bottom * @see https://tailwindcss.com/docs/top-right-bottom-left */ bottom: [{ bottom: [b] }], /** * Left * @see https://tailwindcss.com/docs/top-right-bottom-left */ left: [{ left: [b] }], /** * Visibility * @see https://tailwindcss.com/docs/visibility */ visibility: ["visible", "invisible", "collapse"], /** * Z-Index * @see https://tailwindcss.com/docs/z-index */ z: [{ z: ["auto", cv, zt] }], // Flexbox and Grid /** * Flex Basis * @see https://tailwindcss.com/docs/flex-basis */ basis: [{ basis: ee() }], /** * Flex Direction * @see https://tailwindcss.com/docs/flex-direction */ "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], /** * Flex Wrap * @see https://tailwindcss.com/docs/flex-wrap */ "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], /** * Flex * @see https://tailwindcss.com/docs/flex */ flex: [{ flex: ["1", "auto", "initial", "none", zt] }], /** * Flex Grow * @see https://tailwindcss.com/docs/flex-grow */ grow: [{ grow: q() }], /** * Flex Shrink * @see https://tailwindcss.com/docs/flex-shrink */ shrink: [{ shrink: q() }], /** * Order * @see https://tailwindcss.com/docs/order */ order: [{ order: ["first", "last", "none", cv, zt] }], /** * Grid Template Columns * @see https://tailwindcss.com/docs/grid-template-columns */ "grid-cols": [{ "grid-cols": [uv] }], /** * Grid Column Start / End * @see https://tailwindcss.com/docs/grid-column */ "col-start-end": [{ col: ["auto", { span: ["full", cv, zt] }, zt] }], /** * Grid Column Start * @see https://tailwindcss.com/docs/grid-column */ "col-start": [{ "col-start": U() }], /** * Grid Column End * @see https://tailwindcss.com/docs/grid-column */ "col-end": [{ "col-end": U() }], /** * Grid Template Rows * @see https://tailwindcss.com/docs/grid-template-rows */ "grid-rows": [{ "grid-rows": [uv] }], /** * Grid Row Start / End * @see https://tailwindcss.com/docs/grid-row */ "row-start-end": [{ row: ["auto", { span: [cv, zt] }, zt] }], /** * Grid Row Start * @see https://tailwindcss.com/docs/grid-row */ "row-start": [{ "row-start": U() }], /** * Grid Row End * @see https://tailwindcss.com/docs/grid-row */ "row-end": [{ "row-end": U() }], /** * Grid Auto Flow * @see https://tailwindcss.com/docs/grid-auto-flow */ "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], /** * Grid Auto Columns * @see https://tailwindcss.com/docs/grid-auto-columns */ "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", zt] }], /** * Grid Auto Rows * @see https://tailwindcss.com/docs/grid-auto-rows */ "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", zt] }], /** * Gap * @see https://tailwindcss.com/docs/gap */ gap: [{ gap: [p] }], /** * Gap X * @see https://tailwindcss.com/docs/gap */ "gap-x": [{ "gap-x": [p] }], /** * Gap Y * @see https://tailwindcss.com/docs/gap */ "gap-y": [{ "gap-y": [p] }], /** * Justify Content * @see https://tailwindcss.com/docs/justify-content */ "justify-content": [{ justify: ["normal", ...Y()] }], /** * Justify Items * @see https://tailwindcss.com/docs/justify-items */ "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], /** * Justify Self * @see https://tailwindcss.com/docs/justify-self */ "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], /** * Align Content * @see https://tailwindcss.com/docs/align-content */ "align-content": [{ content: ["normal", ...Y(), "baseline"] }], /** * Align Items * @see https://tailwindcss.com/docs/align-items */ "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], /** * Align Self * @see https://tailwindcss.com/docs/align-self */ "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], /** * Place Content * @see https://tailwindcss.com/docs/place-content */ "place-content": [{ "place-content": [...Y(), "baseline"] }], /** * Place Items * @see https://tailwindcss.com/docs/place-items */ "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], /** * Place Self * @see https://tailwindcss.com/docs/place-self */ "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], // Spacing /** * Padding * @see https://tailwindcss.com/docs/padding */ p: [{ p: [O] }], /** * Padding X * @see https://tailwindcss.com/docs/padding */ px: [{ px: [O] }], /** * Padding Y * @see https://tailwindcss.com/docs/padding */ py: [{ py: [O] }], /** * Padding Start * @see https://tailwindcss.com/docs/padding */ ps: [{ ps: [O] }], /** * Padding End * @see https://tailwindcss.com/docs/padding */ pe: [{ pe: [O] }], /** * Padding Top * @see https://tailwindcss.com/docs/padding */ pt: [{ pt: [O] }], /** * Padding Right * @see https://tailwindcss.com/docs/padding */ pr: [{ pr: [O] }], /** * Padding Bottom * @see https://tailwindcss.com/docs/padding */ pb: [{ pb: [O] }], /** * Padding Left * @see https://tailwindcss.com/docs/padding */ pl: [{ pl: [O] }], /** * Margin * @see https://tailwindcss.com/docs/margin */ m: [{ m: [m] }], /** * Margin X * @see https://tailwindcss.com/docs/margin */ mx: [{ mx: [m] }], /** * Margin Y * @see https://tailwindcss.com/docs/margin */ my: [{ my: [m] }], /** * Margin Start * @see https://tailwindcss.com/docs/margin */ ms: [{ ms: [m] }], /** * Margin End * @see https://tailwindcss.com/docs/margin */ me: [{ me: [m] }], /** * Margin Top * @see https://tailwindcss.com/docs/margin */ mt: [{ mt: [m] }], /** * Margin Right * @see https://tailwindcss.com/docs/margin */ mr: [{ mr: [m] }], /** * Margin Bottom * @see https://tailwindcss.com/docs/margin */ mb: [{ mb: [m] }], /** * Margin Left * @see https://tailwindcss.com/docs/margin */ ml: [{ ml: [m] }], /** * Space Between X * @see https://tailwindcss.com/docs/space */ "space-x": [{ "space-x": [H] }], /** * Space Between X Reverse * @see https://tailwindcss.com/docs/space */ "space-x-reverse": ["space-x-reverse"], /** * Space Between Y * @see https://tailwindcss.com/docs/space */ "space-y": [{ "space-y": [H] }], /** * Space Between Y Reverse * @see https://tailwindcss.com/docs/space */ "space-y-reverse": ["space-y-reverse"], // Sizing /** * Width * @see https://tailwindcss.com/docs/width */ w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", zt, t] }], /** * Min-Width * @see https://tailwindcss.com/docs/min-width */ "min-w": [{ "min-w": [zt, t, "min", "max", "fit"] }], /** * Max-Width * @see https://tailwindcss.com/docs/max-width */ "max-w": [{ "max-w": [zt, t, "none", "full", "min", "max", "fit", "prose", { screen: [Nu] }, Nu] }], /** * Height * @see https://tailwindcss.com/docs/height */ h: [{ h: [zt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Min-Height * @see https://tailwindcss.com/docs/min-height */ "min-h": [{ "min-h": [zt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Max-Height * @see https://tailwindcss.com/docs/max-height */ "max-h": [{ "max-h": [zt, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], /** * Size * @see https://tailwindcss.com/docs/size */ size: [{ size: [zt, t, "auto", "min", "max", "fit"] }], // Typography /** * Font Size * @see https://tailwindcss.com/docs/font-size */ "font-size": [{ text: ["base", Nu, Cu] }], /** * Font Smoothing * @see https://tailwindcss.com/docs/font-smoothing */ "font-smoothing": ["antialiased", "subpixel-antialiased"], /** * Font Style * @see https://tailwindcss.com/docs/font-style */ "font-style": ["italic", "not-italic"], /** * Font Weight * @see https://tailwindcss.com/docs/font-weight */ "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", l$] }], /** * Font Family * @see https://tailwindcss.com/docs/font-family */ "font-family": [{ font: [uv] }], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-normal": ["normal-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-ordinal": ["ordinal"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-slashed-zero": ["slashed-zero"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-figure": ["lining-nums", "oldstyle-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-spacing": ["proportional-nums", "tabular-nums"], /** * Font Variant Numeric * @see https://tailwindcss.com/docs/font-variant-numeric */ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], /** * Letter Spacing * @see https://tailwindcss.com/docs/letter-spacing */ tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", zt] }], /** * Line Clamp * @see https://tailwindcss.com/docs/line-clamp */ "line-clamp": [{ "line-clamp": ["none", Lh, l$] }], /** * Line Height * @see https://tailwindcss.com/docs/line-height */ leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", hl, zt] }], /** * List Style Image * @see https://tailwindcss.com/docs/list-style-image */ "list-image": [{ "list-image": ["none", zt] }], /** * List Style Type * @see https://tailwindcss.com/docs/list-style-type */ "list-style-type": [{ list: ["none", "disc", "decimal", zt] }], /** * List Style Position * @see https://tailwindcss.com/docs/list-style-position */ "list-style-position": [{ list: ["inside", "outside"] }], /** * Placeholder Color * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/placeholder-color */ "placeholder-color": [{ placeholder: [e] }], /** * Placeholder Opacity * @see https://tailwindcss.com/docs/placeholder-opacity */ "placeholder-opacity": [{ "placeholder-opacity": [x] }], /** * Text Alignment * @see https://tailwindcss.com/docs/text-align */ "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], /** * Text Color * @see https://tailwindcss.com/docs/text-color */ "text-color": [{ text: [e] }], /** * Text Opacity * @see https://tailwindcss.com/docs/text-opacity */ "text-opacity": [{ "text-opacity": [x] }], /** * Text Decoration * @see https://tailwindcss.com/docs/text-decoration */ "text-decoration": ["underline", "overline", "line-through", "no-underline"], /** * Text Decoration Style * @see https://tailwindcss.com/docs/text-decoration-style */ "text-decoration-style": [{ decoration: [...F(), "wavy"] }], /** * Text Decoration Thickness * @see https://tailwindcss.com/docs/text-decoration-thickness */ "text-decoration-thickness": [{ decoration: ["auto", "from-font", hl, Cu] }], /** * Text Underline Offset * @see https://tailwindcss.com/docs/text-underline-offset */ "underline-offset": [{ "underline-offset": ["auto", hl, zt] }], /** * Text Decoration Color * @see https://tailwindcss.com/docs/text-decoration-color */ "text-decoration-color": [{ decoration: [e] }], /** * Text Transform * @see https://tailwindcss.com/docs/text-transform */ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], /** * Text Overflow * @see https://tailwindcss.com/docs/text-overflow */ "text-overflow": ["truncate", "text-ellipsis", "text-clip"], /** * Text Wrap * @see https://tailwindcss.com/docs/text-wrap */ "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], /** * Text Indent * @see https://tailwindcss.com/docs/text-indent */ indent: [{ indent: I() }], /** * Vertical Alignment * @see https://tailwindcss.com/docs/vertical-align */ "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", zt] }], /** * Whitespace * @see https://tailwindcss.com/docs/whitespace */ whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], /** * Word Break * @see https://tailwindcss.com/docs/word-break */ break: [{ break: ["normal", "words", "all", "keep"] }], /** * Hyphens * @see https://tailwindcss.com/docs/hyphens */ hyphens: [{ hyphens: ["none", "manual", "auto"] }], /** * Content * @see https://tailwindcss.com/docs/content */ content: [{ content: ["none", zt] }], // Backgrounds /** * Background Attachment * @see https://tailwindcss.com/docs/background-attachment */ "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], /** * Background Clip * @see https://tailwindcss.com/docs/background-clip */ "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], /** * Background Opacity * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/background-opacity */ "bg-opacity": [{ "bg-opacity": [x] }], /** * Background Origin * @see https://tailwindcss.com/docs/background-origin */ "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], /** * Background Position * @see https://tailwindcss.com/docs/background-position */ "bg-position": [{ bg: [...z(), qut] }], /** * Background Repeat * @see https://tailwindcss.com/docs/background-repeat */ "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], /** * Background Size * @see https://tailwindcss.com/docs/background-size */ "bg-size": [{ bg: ["auto", "cover", "contain", But] }], /** * Background Image * @see https://tailwindcss.com/docs/background-image */ "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, Kut] }], /** * Background Color * @see https://tailwindcss.com/docs/background-color */ "bg-color": [{ bg: [e] }], /** * Gradient Color Stops From Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from-pos": [{ from: [w] }], /** * Gradient Color Stops Via Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via-pos": [{ via: [w] }], /** * Gradient Color Stops To Position * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to-pos": [{ to: [w] }], /** * Gradient Color Stops From * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-from": [{ from: [v] }], /** * Gradient Color Stops Via * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-via": [{ via: [v] }], /** * Gradient Color Stops To * @see https://tailwindcss.com/docs/gradient-color-stops */ "gradient-to": [{ to: [v] }], // Borders /** * Border Radius * @see https://tailwindcss.com/docs/border-radius */ rounded: [{ rounded: [a] }], /** * Border Radius Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-s": [{ "rounded-s": [a] }], /** * Border Radius End * @see https://tailwindcss.com/docs/border-radius */ "rounded-e": [{ "rounded-e": [a] }], /** * Border Radius Top * @see https://tailwindcss.com/docs/border-radius */ "rounded-t": [{ "rounded-t": [a] }], /** * Border Radius Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-r": [{ "rounded-r": [a] }], /** * Border Radius Bottom * @see https://tailwindcss.com/docs/border-radius */ "rounded-b": [{ "rounded-b": [a] }], /** * Border Radius Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-l": [{ "rounded-l": [a] }], /** * Border Radius Start Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-ss": [{ "rounded-ss": [a] }], /** * Border Radius Start End * @see https://tailwindcss.com/docs/border-radius */ "rounded-se": [{ "rounded-se": [a] }], /** * Border Radius End End * @see https://tailwindcss.com/docs/border-radius */ "rounded-ee": [{ "rounded-ee": [a] }], /** * Border Radius End Start * @see https://tailwindcss.com/docs/border-radius */ "rounded-es": [{ "rounded-es": [a] }], /** * Border Radius Top Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-tl": [{ "rounded-tl": [a] }], /** * Border Radius Top Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-tr": [{ "rounded-tr": [a] }], /** * Border Radius Bottom Right * @see https://tailwindcss.com/docs/border-radius */ "rounded-br": [{ "rounded-br": [a] }], /** * Border Radius Bottom Left * @see https://tailwindcss.com/docs/border-radius */ "rounded-bl": [{ "rounded-bl": [a] }], /** * Border Width * @see https://tailwindcss.com/docs/border-width */ "border-w": [{ border: [s] }], /** * Border Width X * @see https://tailwindcss.com/docs/border-width */ "border-w-x": [{ "border-x": [s] }], /** * Border Width Y * @see https://tailwindcss.com/docs/border-width */ "border-w-y": [{ "border-y": [s] }], /** * Border Width Start * @see https://tailwindcss.com/docs/border-width */ "border-w-s": [{ "border-s": [s] }], /** * Border Width End * @see https://tailwindcss.com/docs/border-width */ "border-w-e": [{ "border-e": [s] }], /** * Border Width Top * @see https://tailwindcss.com/docs/border-width */ "border-w-t": [{ "border-t": [s] }], /** * Border Width Right * @see https://tailwindcss.com/docs/border-width */ "border-w-r": [{ "border-r": [s] }], /** * Border Width Bottom * @see https://tailwindcss.com/docs/border-width */ "border-w-b": [{ "border-b": [s] }], /** * Border Width Left * @see https://tailwindcss.com/docs/border-width */ "border-w-l": [{ "border-l": [s] }], /** * Border Opacity * @see https://tailwindcss.com/docs/border-opacity */ "border-opacity": [{ "border-opacity": [x] }], /** * Border Style * @see https://tailwindcss.com/docs/border-style */ "border-style": [{ border: [...F(), "hidden"] }], /** * Divide Width X * @see https://tailwindcss.com/docs/divide-width */ "divide-x": [{ "divide-x": [s] }], /** * Divide Width X Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-x-reverse": ["divide-x-reverse"], /** * Divide Width Y * @see https://tailwindcss.com/docs/divide-width */ "divide-y": [{ "divide-y": [s] }], /** * Divide Width Y Reverse * @see https://tailwindcss.com/docs/divide-width */ "divide-y-reverse": ["divide-y-reverse"], /** * Divide Opacity * @see https://tailwindcss.com/docs/divide-opacity */ "divide-opacity": [{ "divide-opacity": [x] }], /** * Divide Style * @see https://tailwindcss.com/docs/divide-style */ "divide-style": [{ divide: F() }], /** * Border Color * @see https://tailwindcss.com/docs/border-color */ "border-color": [{ border: [o] }], /** * Border Color X * @see https://tailwindcss.com/docs/border-color */ "border-color-x": [{ "border-x": [o] }], /** * Border Color Y * @see https://tailwindcss.com/docs/border-color */ "border-color-y": [{ "border-y": [o] }], /** * Border Color S * @see https://tailwindcss.com/docs/border-color */ "border-color-s": [{ "border-s": [o] }], /** * Border Color E * @see https://tailwindcss.com/docs/border-color */ "border-color-e": [{ "border-e": [o] }], /** * Border Color Top * @see https://tailwindcss.com/docs/border-color */ "border-color-t": [{ "border-t": [o] }], /** * Border Color Right * @see https://tailwindcss.com/docs/border-color */ "border-color-r": [{ "border-r": [o] }], /** * Border Color Bottom * @see https://tailwindcss.com/docs/border-color */ "border-color-b": [{ "border-b": [o] }], /** * Border Color Left * @see https://tailwindcss.com/docs/border-color */ "border-color-l": [{ "border-l": [o] }], /** * Divide Color * @see https://tailwindcss.com/docs/divide-color */ "divide-color": [{ divide: [o] }], /** * Outline Style * @see https://tailwindcss.com/docs/outline-style */ "outline-style": [{ outline: ["", ...F()] }], /** * Outline Offset * @see https://tailwindcss.com/docs/outline-offset */ "outline-offset": [{ "outline-offset": [hl, zt] }], /** * Outline Width * @see https://tailwindcss.com/docs/outline-width */ "outline-w": [{ outline: [hl, Cu] }], /** * Outline Color * @see https://tailwindcss.com/docs/outline-color */ "outline-color": [{ outline: [e] }], /** * Ring Width * @see https://tailwindcss.com/docs/ring-width */ "ring-w": [{ ring: te() }], /** * Ring Width Inset * @see https://tailwindcss.com/docs/ring-width */ "ring-w-inset": ["ring-inset"], /** * Ring Color * @see https://tailwindcss.com/docs/ring-color */ "ring-color": [{ ring: [e] }], /** * Ring Opacity * @see https://tailwindcss.com/docs/ring-opacity */ "ring-opacity": [{ "ring-opacity": [x] }], /** * Ring Offset Width * @see https://tailwindcss.com/docs/ring-offset-width */ "ring-offset-w": [{ "ring-offset": [hl, Cu] }], /** * Ring Offset Color * @see https://tailwindcss.com/docs/ring-offset-color */ "ring-offset-color": [{ "ring-offset": [e] }], // Effects /** * Box Shadow * @see https://tailwindcss.com/docs/box-shadow */ shadow: [{ shadow: ["", "inner", "none", Nu, Jut] }], /** * Box Shadow Color * @see https://tailwindcss.com/docs/box-shadow-color */ "shadow-color": [{ shadow: [uv] }], /** * Opacity * @see https://tailwindcss.com/docs/opacity */ opacity: [{ opacity: [x] }], /** * Mix Blend Mode * @see https://tailwindcss.com/docs/mix-blend-mode */ "mix-blend": [{ "mix-blend": [...D(), "plus-lighter", "plus-darker"] }], /** * Background Blend Mode * @see https://tailwindcss.com/docs/background-blend-mode */ "bg-blend": [{ "bg-blend": D() }], // Filters /** * Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/filter */ filter: [{ filter: ["", "none"] }], /** * Blur * @see https://tailwindcss.com/docs/blur */ blur: [{ blur: [r] }], /** * Brightness * @see https://tailwindcss.com/docs/brightness */ brightness: [{ brightness: [n] }], /** * Contrast * @see https://tailwindcss.com/docs/contrast */ contrast: [{ contrast: [l] }], /** * Drop Shadow * @see https://tailwindcss.com/docs/drop-shadow */ "drop-shadow": [{ "drop-shadow": ["", "none", Nu, zt] }], /** * Grayscale * @see https://tailwindcss.com/docs/grayscale */ grayscale: [{ grayscale: [c] }], /** * Hue Rotate * @see https://tailwindcss.com/docs/hue-rotate */ "hue-rotate": [{ "hue-rotate": [u] }], /** * Invert * @see https://tailwindcss.com/docs/invert */ invert: [{ invert: [f] }], /** * Saturate * @see https://tailwindcss.com/docs/saturate */ saturate: [{ saturate: [E] }], /** * Sepia * @see https://tailwindcss.com/docs/sepia */ sepia: [{ sepia: [h] }], /** * Backdrop Filter * @deprecated since Tailwind CSS v3.0.0 * @see https://tailwindcss.com/docs/backdrop-filter */ "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], /** * Backdrop Blur * @see https://tailwindcss.com/docs/backdrop-blur */ "backdrop-blur": [{ "backdrop-blur": [r] }], /** * Backdrop Brightness * @see https://tailwindcss.com/docs/backdrop-brightness */ "backdrop-brightness": [{ "backdrop-brightness": [n] }], /** * Backdrop Contrast * @see https://tailwindcss.com/docs/backdrop-contrast */ "backdrop-contrast": [{ "backdrop-contrast": [l] }], /** * Backdrop Grayscale * @see https://tailwindcss.com/docs/backdrop-grayscale */ "backdrop-grayscale": [{ "backdrop-grayscale": [c] }], /** * Backdrop Hue Rotate * @see https://tailwindcss.com/docs/backdrop-hue-rotate */ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [u] }], /** * Backdrop Invert * @see https://tailwindcss.com/docs/backdrop-invert */ "backdrop-invert": [{ "backdrop-invert": [f] }], /** * Backdrop Opacity * @see https://tailwindcss.com/docs/backdrop-opacity */ "backdrop-opacity": [{ "backdrop-opacity": [x] }], /** * Backdrop Saturate * @see https://tailwindcss.com/docs/backdrop-saturate */ "backdrop-saturate": [{ "backdrop-saturate": [E] }], /** * Backdrop Sepia * @see https://tailwindcss.com/docs/backdrop-sepia */ "backdrop-sepia": [{ "backdrop-sepia": [h] }], // Tables /** * Border Collapse * @see https://tailwindcss.com/docs/border-collapse */ "border-collapse": [{ border: ["collapse", "separate"] }], /** * Border Spacing * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing": [{ "border-spacing": [i] }], /** * Border Spacing X * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-x": [{ "border-spacing-x": [i] }], /** * Border Spacing Y * @see https://tailwindcss.com/docs/border-spacing */ "border-spacing-y": [{ "border-spacing-y": [i] }], /** * Table Layout * @see https://tailwindcss.com/docs/table-layout */ "table-layout": [{ table: ["auto", "fixed"] }], /** * Caption Side * @see https://tailwindcss.com/docs/caption-side */ caption: [{ caption: ["top", "bottom"] }], // Transitions and Animation /** * Tranisition Property * @see https://tailwindcss.com/docs/transition-property */ transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", zt] }], /** * Transition Duration * @see https://tailwindcss.com/docs/transition-duration */ duration: [{ duration: d() }], /** * Transition Timing Function * @see https://tailwindcss.com/docs/transition-timing-function */ ease: [{ ease: ["linear", "in", "out", "in-out", zt] }], /** * Transition Delay * @see https://tailwindcss.com/docs/transition-delay */ delay: [{ delay: d() }], /** * Animation * @see https://tailwindcss.com/docs/animation */ animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", zt] }], // Transforms /** * Transform * @see https://tailwindcss.com/docs/transform */ transform: [{ transform: ["", "gpu", "none"] }], /** * Scale * @see https://tailwindcss.com/docs/scale */ scale: [{ scale: [A] }], /** * Scale X * @see https://tailwindcss.com/docs/scale */ "scale-x": [{ "scale-x": [A] }], /** * Scale Y * @see https://tailwindcss.com/docs/scale */ "scale-y": [{ "scale-y": [A] }], /** * Rotate * @see https://tailwindcss.com/docs/rotate */ rotate: [{ rotate: [cv, zt] }], /** * Translate X * @see https://tailwindcss.com/docs/translate */ "translate-x": [{ "translate-x": [Z] }], /** * Translate Y * @see https://tailwindcss.com/docs/translate */ "translate-y": [{ "translate-y": [Z] }], /** * Skew X * @see https://tailwindcss.com/docs/skew */ "skew-x": [{ "skew-x": [G] }], /** * Skew Y * @see https://tailwindcss.com/docs/skew */ "skew-y": [{ "skew-y": [G] }], /** * Transform Origin * @see https://tailwindcss.com/docs/transform-origin */ "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", zt] }], // Interactivity /** * Accent Color * @see https://tailwindcss.com/docs/accent-color */ accent: [{ accent: ["auto", e] }], /** * Appearance * @see https://tailwindcss.com/docs/appearance */ appearance: [{ appearance: ["none", "auto"] }], /** * Cursor * @see https://tailwindcss.com/docs/cursor */ cursor: [{ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", zt] }], /** * Caret Color * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities */ "caret-color": [{ caret: [e] }], /** * Pointer Events * @see https://tailwindcss.com/docs/pointer-events */ "pointer-events": [{ "pointer-events": ["none", "auto"] }], /** * Resize * @see https://tailwindcss.com/docs/resize */ resize: [{ resize: ["none", "y", "x", ""] }], /** * Scroll Behavior * @see https://tailwindcss.com/docs/scroll-behavior */ "scroll-behavior": [{ scroll: ["auto", "smooth"] }], /** * Scroll Margin * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-m": [{ "scroll-m": I() }], /** * Scroll Margin X * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mx": [{ "scroll-mx": I() }], /** * Scroll Margin Y * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-my": [{ "scroll-my": I() }], /** * Scroll Margin Start * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ms": [{ "scroll-ms": I() }], /** * Scroll Margin End * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-me": [{ "scroll-me": I() }], /** * Scroll Margin Top * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mt": [{ "scroll-mt": I() }], /** * Scroll Margin Right * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mr": [{ "scroll-mr": I() }], /** * Scroll Margin Bottom * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-mb": [{ "scroll-mb": I() }], /** * Scroll Margin Left * @see https://tailwindcss.com/docs/scroll-margin */ "scroll-ml": [{ "scroll-ml": I() }], /** * Scroll Padding * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-p": [{ "scroll-p": I() }], /** * Scroll Padding X * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-px": [{ "scroll-px": I() }], /** * Scroll Padding Y * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-py": [{ "scroll-py": I() }], /** * Scroll Padding Start * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-ps": [{ "scroll-ps": I() }], /** * Scroll Padding End * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pe": [{ "scroll-pe": I() }], /** * Scroll Padding Top * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pt": [{ "scroll-pt": I() }], /** * Scroll Padding Right * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pr": [{ "scroll-pr": I() }], /** * Scroll Padding Bottom * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pb": [{ "scroll-pb": I() }], /** * Scroll Padding Left * @see https://tailwindcss.com/docs/scroll-padding */ "scroll-pl": [{ "scroll-pl": I() }], /** * Scroll Snap Align * @see https://tailwindcss.com/docs/scroll-snap-align */ "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], /** * Scroll Snap Stop * @see https://tailwindcss.com/docs/scroll-snap-stop */ "snap-stop": [{ snap: ["normal", "always"] }], /** * Scroll Snap Type * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-type": [{ snap: ["none", "x", "y", "both"] }], /** * Scroll Snap Type Strictness * @see https://tailwindcss.com/docs/scroll-snap-type */ "snap-strictness": [{ snap: ["mandatory", "proximity"] }], /** * Touch Action * @see https://tailwindcss.com/docs/touch-action */ touch: [{ touch: ["auto", "none", "manipulation"] }], /** * Touch Action X * @see https://tailwindcss.com/docs/touch-action */ "touch-x": [{ "touch-pan": ["x", "left", "right"] }], /** * Touch Action Y * @see https://tailwindcss.com/docs/touch-action */ "touch-y": [{ "touch-pan": ["y", "up", "down"] }], /** * Touch Action Pinch Zoom * @see https://tailwindcss.com/docs/touch-action */ "touch-pz": ["touch-pinch-zoom"], /** * User Select * @see https://tailwindcss.com/docs/user-select */ select: [{ select: ["none", "text", "all", "auto"] }], /** * Will Change * @see https://tailwindcss.com/docs/will-change */ "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", zt] }], // SVG /** * Fill * @see https://tailwindcss.com/docs/fill */ fill: [{ fill: [e, "none"] }], /** * Stroke Width * @see https://tailwindcss.com/docs/stroke-width */ "stroke-w": [{ stroke: [hl, Cu, l$] }], /** * Stroke * @see https://tailwindcss.com/docs/stroke */ stroke: [{ stroke: [e, "none"] }], // Accessibility /** * Screen Readers * @see https://tailwindcss.com/docs/screen-readers */ sr: ["sr-only", "not-sr-only"], /** * Forced Color Adjust * @see https://tailwindcss.com/docs/forced-color-adjust */ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }] }, conflictingClassGroups: { overflow: ["overflow-x", "overflow-y"], overscroll: ["overscroll-x", "overscroll-y"], inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], "inset-x": ["right", "left"], "inset-y": ["top", "bottom"], flex: ["basis", "grow", "shrink"], gap: ["gap-x", "gap-y"], p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], px: ["pr", "pl"], py: ["pt", "pb"], m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], mx: ["mr", "ml"], my: ["mt", "mb"], size: ["w", "h"], "font-size": ["leading"], "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], "fvn-ordinal": ["fvn-normal"], "fvn-slashed-zero": ["fvn-normal"], "fvn-figure": ["fvn-normal"], "fvn-spacing": ["fvn-normal"], "fvn-fraction": ["fvn-normal"], "line-clamp": ["display", "overflow"], rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"], "rounded-s": ["rounded-ss", "rounded-es"], "rounded-e": ["rounded-se", "rounded-ee"], "rounded-t": ["rounded-tl", "rounded-tr"], "rounded-r": ["rounded-tr", "rounded-br"], "rounded-b": ["rounded-br", "rounded-bl"], "rounded-l": ["rounded-tl", "rounded-bl"], "border-spacing": ["border-spacing-x", "border-spacing-y"], "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"], "border-w-x": ["border-w-r", "border-w-l"], "border-w-y": ["border-w-t", "border-w-b"], "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"], "border-color-x": ["border-color-r", "border-color-l"], "border-color-y": ["border-color-t", "border-color-b"], "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"], "scroll-mx": ["scroll-mr", "scroll-ml"], "scroll-my": ["scroll-mt", "scroll-mb"], "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"], "scroll-px": ["scroll-pr", "scroll-pl"], "scroll-py": ["scroll-pt", "scroll-pb"], touch: ["touch-x", "touch-y", "touch-pz"], "touch-x": ["touch"], "touch-y": ["touch"], "touch-pz": ["touch"] }, conflictingClassGroupModifiers: { "font-size": ["leading"] } }; }, vJ = /* @__PURE__ */ zut(tft), jk = ({ children: e, content: t, position: r, className: n, delay: o = 300, closeOnClick: a = !1, imageSrc: i, description: s, interactive: l = !1 }) => { const [c, u] = We(!1), f = ce(null), p = ce(null), [v, w] = We(!1), [b, m] = We(!1), x = () => f.current ? f.current.querySelectorAll('[data-headlessui-state="open"]').length > 0 : !1; xe(() => { const A = new MutationObserver((h) => { h.forEach((G) => { G.type === "attributes" && G.attributeName === "data-headlessui-state" && G.target.getAttribute("data-headlessui-state") === "open" && u(!1); }); }); return f.current && A.observe(f.current, { attributes: !0, subtree: !0, attributeFilter: ["data-headlessui-state"] }), () => { A.disconnect(); }; }, []); const O = () => { if (f.current) { const A = f.current.getBoundingClientRect(); switch (r) { case "top": return { bottom: A.height + 10, left: "50%", transform: "translateX(-50%)" }; case "bottom": return { top: A.height + 10, left: "50%", transform: "translateX(-50%)" }; case "left": return { right: A.width + 10, top: "50%", transform: "translateY(-50%)" }; case "right": return { left: A.width + 10, top: "50%", transform: "translateY(-50%)" }; default: return {}; } } return {}; }, E = (A) => { a && (u(!1), A.stopPropagation()); }; return xe(() => { x() || u(v || l && b); }, [v, b, l]), /* @__PURE__ */ me( "div", { ref: f, onMouseEnter: () => { w(!0), x() || u(!0); }, onMouseLeave: () => { w(!1), l || u(!1); }, onClick: E, className: "relative", children: [ e, /* @__PURE__ */ B( Sut, { show: c, enter: vJ( "transition ease-out duration-200", o ? `delay-[${o}ms]` : "delay-[300ms]" ), enterFrom: "opacity-0", enterTo: "opacity-100", leave: "transition ease-in duration-150", leaveFrom: "opacity-100", leaveTo: "opacity-0", children: /* @__PURE__ */ B( "div", { ref: p, onMouseEnter: () => l && m(!0), onMouseLeave: () => l && m(!1), style: { ...O(), transitionDelay: `${o}ms`, transitionProperty: "opacity", transitionDuration: "200ms", transitionTimingFunction: "ease-out" }, className: vJ( "absolute z-10 w-max rounded-lg bg-ui-controls px-2.5 py-1.5 text-[13px] font-medium text-base-fg shadow-xl border border-ui-panel-border", l ? "pointer-events-auto" : "pointer-events-none", n || "" ), children: /* @__PURE__ */ me("div", { className: "flex flex-col gap-1", children: [ t, i && /* @__PURE__ */ B( "img", { src: i, alt: "tooltip", className: "mb-1 aspect-square w-56 rounded-md" } ), s && /* @__PURE__ */ B("p", { className: "text-sm text-base-fg font-normal", children: s }) ] }) } ) } ) ] } ); }, rft = ({ item: e, mode: t, activeFilter: r, selected: n, onClick: o, onImageError: a, disableTooltipAndBadge: i = !1, imageFit: s = "cover" }) => { const l = ce(null), c = ce(!1), u = (v) => { if (e.mediaClass === "video") return; c.current = !1; const w = (m) => { const x = m.pageX - v.pageX, O = m.pageY - v.pageY; !c.current && (Math.abs(x) > 5 || Math.abs(O) > 5) && (c.current = !0, mJ && !i && mJ.onPointerDown(v, e), window.removeEventListener("pointermove", w)); }; window.addEventListener("pointermove", w); const b = () => { window.removeEventListener("pointermove", w), window.removeEventListener("pointerup", b), c.current || o(); }; window.addEventListener("pointerup", b); }, f = (v) => { !c.current && !i && o(); }, p = (v) => { i || o(); }; return /* @__PURE__ */ me( "div", { className: Pp( "group relative w-full", "aspect-square" ), children: [ !i && e.mediaClass && /* @__PURE__ */ B("div", { className: "pointer-events-none absolute right-2 top-2 z-20 rounded-full bg-black/50 backdrop-blur-lg px-2 py-0.5 text-[11px] font-semibold uppercase tracking-wide text-white opacity-0 group-hover:opacity-100 transition-opacity duration-150", children: e.mediaClass === "dimensional" ? "3D" : e.mediaClass }), i ? /* @__PURE__ */ B( "button", { type: "button", tabIndex: 0, className: Pp( "w-full group relative overflow-visible rounded-md border-transparent border-[3px] transition-all", "aspect-square", n ? "border-primary" : "border-transparent hover:border-primary/80", t === "select" || e.mediaClass === "video" ? "cursor-pointer" : "cursor-grab hover:cursor-grab active:cursor-grabbing" ), onPointerDown: u, onPointerUp: f, onClick: p, "aria-label": e.label, children: /* @__PURE__ */ me("div", { className: "relative h-full w-full", children: [ e.thumbnail ? /* @__PURE__ */ B( "img", { "data-gallery-draggable-1": "true", loading: "lazy", ref: l, src: e.thumbnail, alt: e.label, className: Pp( "h-full w-full bg-black/30", s === "contain" ? "object-contain" : "object-cover" ), draggable: !1, onError: a } ) : /* @__PURE__ */ B("div", { className: "flex h-full w-full items-center justify-center bg-black/30", children: /* @__PURE__ */ B("span", { className: "text-white/60", children: "Image not available" }) }), n && /* @__PURE__ */ B("div", { className: "absolute right-2 top-2 flex h-6 w-6 items-center justify-center rounded-full bg-primary", children: /* @__PURE__ */ B(Da, { icon: iJ, className: "text-sm" }) }) ] }) } ) : /* @__PURE__ */ B( jk, { position: "bottom", delay: 200, className: "-mt-3 bg-ui-controls text-base-fg border border-ui-panel-border", content: /* @__PURE__ */ me("div", { className: "flex flex-col items-center text-xs whitespace-nowrap", children: [ e.mediaClass !== "video" && /* @__PURE__ */ me("span", { children: [ /* @__PURE__ */ B("span", { className: "font-bold", children: "Drag" }), /* @__PURE__ */ B("span", { className: "opacity-50", children: e.mediaClass === "dimensional" ? " to add to scene" : " to add" }) ] }), /* @__PURE__ */ me("span", { children: [ /* @__PURE__ */ B("span", { className: "font-bold", children: "Click" }), /* @__PURE__ */ B("span", { className: "opacity-50", children: " to view" }) ] }) ] }), children: /* @__PURE__ */ B( "button", { type: "button", tabIndex: 0, className: Pp( "w-full group relative overflow-visible rounded-md border-[3px] transition-all focus:outline-none focus:ring-2 focus:ring-primary", "aspect-square", n ? "border-primary" : "border-transparent hover:border-primary", t === "select" || e.mediaClass === "video" ? "cursor-pointer" : "cursor-grab hover:cursor-grab active:cursor-grabbing" ), onPointerDown: u, onPointerUp: f, onClick: p, "aria-label": e.label, children: /* @__PURE__ */ me("div", { className: "relative h-full w-full", children: [ e.thumbnail ? /* @__PURE__ */ B( "img", { "data-gallery-draggable-2": "true", loading: "lazy", ref: l, src: e.thumbnail, alt: e.label, className: Pp( "h-full w-full bg-black/30", s === "contain" ? "object-contain" : "object-cover" ), draggable: !1, onError: a } ) : /* @__PURE__ */ B("div", { className: "flex h-full w-full items-center justify-center bg-black/30", children: /* @__PURE__ */ B("span", { className: "text-white/60", children: "Image not available" }) }), n && /* @__PURE__ */ B("div", { className: "absolute right-2 top-2 flex h-6 w-6 items-center justify-center rounded-full bg-primary", children: /* @__PURE__ */ B(Da, { icon: iJ, className: "text-sm" }) }) ] }) } ) } ) ] } ); }, obe = typeof document < "u" ? de.useLayoutEffect : () => { }; function nft(e) { const t = ce(null); return obe(() => { t.current = e; }, [ e ]), dt((...r) => { const n = t.current; return n == null ? void 0 : n(...r); }, []); } const kd = (e) => { var t; return (t = e == null ? void 0 : e.ownerDocument) !== null && t !== void 0 ? t : document; }, Up = (e) => e && "window" in e && e.window === e ? e : kd(e).defaultView || window; function abe(e, t) { return t && e ? e.contains(t) : !1; } const G9 = (e = document) => e.activeElement; function ibe(e) { return e.target; } function oft(e) { var t; return typeof window > "u" || window.navigator == null ? !1 : ((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.brands.some((r) => e.test(r.brand))) || e.test(window.navigator.userAgent); } function aft(e) { var t; return typeof window < "u" && window.navigator != null ? e.test(((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.platform) || window.navigator.platform) : !1; } function sbe(e) { let t = null; return () => (t == null && (t = e()), t); } const ift = sbe(function() { return aft(/^Mac/i); }), sft = sbe(function() { return oft(/Android/i); }); function lbe() { let e = ce(/* @__PURE__ */ new Map()), t = dt((o, a, i, s) => { let l = s != null && s.once ? (...c) => { e.current.delete(i), i(...c); } : i; e.current.set(i, { type: a, eventTarget: o, fn: l, options: s }), o.addEventListener(a, l, s); }, []), r = dt((o, a, i, s) => { var l; let c = ((l = e.current.get(i)) === null || l === void 0 ? void 0 : l.fn) || i; o.removeEventListener(a, c, s), e.current.delete(i); }, []), n = dt(() => { e.current.forEach((o, a) => { r(o.eventTarget, o.type, a, o.options); }); }, [ r ]); return xe(() => n, [ n ]), { addGlobalListener: t, removeGlobalListener: r, removeAllGlobalListeners: n }; } function lft(e) { return e.mozInputSource === 0 && e.isTrusted ? !0 : sft() && e.pointerType ? e.type === "click" && e.buttons === 1 : e.detail === 0 && !e.pointerType; } let cbe = class { isDefaultPrevented() { return this.nativeEvent.defaultPrevented; } preventDefault() { this.defaultPrevented = !0, this.nativeEvent.preventDefault(); } stopPropagation() { this.nativeEvent.stopPropagation(), this.isPropagationStopped = () => !0; } isPropagationStopped() { return !1; } persist() { } constructor(e, t) { this.nativeEvent = t, this.target = t.target, this.currentTarget = t.currentTarget, this.relatedTarget = t.relatedTarget, this.bubbles = t.bubbles, this.cancelable = t.cancelable, this.defaultPrevented = t.defaultPrevented, this.eventPhase = t.eventPhase, this.isTrusted = t.isTrusted, this.timeStamp = t.timeStamp, this.type = e; } }; function ube(e) { let t = ce({ isFocused: !1, observer: null }); obe(() => { const n = t.current; return () => { n.observer && (n.observer.disconnect(), n.observer = null); }; }, []); let r = nft((n) => { e == null || e(n); }); return dt((n) => { if (n.target instanceof HTMLButtonElement || n.target instanceof HTMLInputElement || n.target instanceof HTMLTextAreaElement || n.target instanceof HTMLSelectElement) { t.current.isFocused = !0; let o = n.target, a = (i) => { t.current.isFocused = !1, o.disabled && r(new cbe("blur", i)), t.current.observer && (t.current.observer.disconnect(), t.current.observer = null); }; o.addEventListener("focusout", a, { once: !0 }), t.current.observer = new MutationObserver(() => { if (t.current.isFocused && o.disabled) { var i; (i = t.current.observer) === null || i === void 0 || i.disconnect(); let s = o === document.activeElement ? null : document.activeElement; o.dispatchEvent(new FocusEvent("blur", { relatedTarget: s })), o.dispatchEvent(new FocusEvent("focusout", { bubbles: !0, relatedTarget: s })); } }), t.current.observer.observe(o, { attributes: !0, attributeFilter: [ "disabled" ] }); } }, [ r ]); } let cft = !1, Bx = null, U9 = /* @__PURE__ */ new Set(), M1 = /* @__PURE__ */ new Map(), jm = !1, H9 = !1; const uft = { Tab: !0, Escape: !0 }; function m8(e, t) { for (let r of U9) r(e, t); } function fft(e) { return !(e.metaKey || !ift() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta"); } function J5(e) { jm = !0, fft(e) && (Bx = "keyboard", m8("keyboard", e)); } function Wa(e) { Bx = "pointer", (e.type === "mousedown" || e.type === "pointerdown") && (jm = !0, m8("pointer", e)); } function fbe(e) { lft(e) && (jm = !0, Bx = "virtual"); } function dbe(e) { e.target === window || e.target === document || cft || !e.isTrusted || (!jm && !H9 && (Bx = "virtual", m8("virtual", e)), jm = !1, H9 = !1); } function pbe() { jm = !1, H9 = !0; } function Y9(e) { if (typeof window > "u" || M1.get(Up(e))) return; const t = Up(e), r = kd(e); let n = t.HTMLElement.prototype.focus; t.HTMLElement.prototype.focus = function() { jm = !0, n.apply(this, arguments); }, r.addEventListener("keydown", J5, !0), r.addEventListener("keyup", J5, !0), r.addEventListener("click", fbe, !0), t.addEventListener("focus", dbe, !0), t.addEventListener("blur", pbe, !1), typeof PointerEvent < "u" ? (r.addEventListener("pointerdown", Wa, !0), r.addEventListener("pointermove", Wa, !0), r.addEventListener("pointerup", Wa, !0)) : (r.addEventListener("mousedown", Wa, !0), r.addEventListener("mousemove", Wa, !0), r.addEventListener("mouseup", Wa, !0)), t.addEventListener("beforeunload", () => { mbe(e); }, { once: !0 }), M1.set(t, { focus: n }); } const mbe = (e, t) => { const r = Up(e), n = kd(e); t && n.removeEventListener("DOMContentLoaded", t), M1.has(r) && (r.HTMLElement.prototype.focus = M1.get(r).focus, n.removeEventListener("keydown", J5, !0), n.removeEventListener("keyup", J5, !0), n.removeEventListener("click", fbe, !0), r.removeEventListener("focus", dbe, !0), r.removeEventListener("blur", pbe, !1), typeof PointerEvent < "u" ? (n.removeEventListener("pointerdown", Wa, !0), n.removeEventListener("pointermove", Wa, !0), n.removeEventListener("pointerup", Wa, !0)) : (n.removeEventListener("mousedown", Wa, !0), n.removeEventListener("mousemove", Wa, !0), n.removeEventListener("mouseup", Wa, !0)), M1.delete(r)); }; function dft(e) { const t = kd(e); let r; return t.readyState !== "loading" ? Y9(e) : (r = () => { Y9(e); }, t.addEventListener("DOMContentLoaded", r)), () => mbe(e, r); } typeof document < "u" && dft(); function gbe() { return Bx !== "pointer"; } const pft = /* @__PURE__ */ new Set([ "checkbox", "radio", "range", "color", "file", "image", "button", "submit", "reset" ]); function mft(e, t, r) { let n = kd(r == null ? void 0 : r.target); const o = typeof window < "u" ? Up(r == null ? void 0 : r.target).HTMLInputElement : HTMLInputElement, a = typeof window < "u" ? Up(r == null ? void 0 : r.target).HTMLTextAreaElement : HTMLTextAreaElement, i = typeof window < "u" ? Up(r == null ? void 0 : r.target).HTMLElement : HTMLElement, s = typeof window < "u" ? Up(r == null ? void 0 : r.target).KeyboardEvent : KeyboardEvent; return e = e || n.activeElement instanceof o && !pft.has(n.activeElement.type) || n.activeElement instanceof a || n.activeElement instanceof i && n.activeElement.isContentEditable, !(e && t === "keyboard" && r instanceof s && !uft[r.key]); } function gft(e, t, r) { Y9(), xe(() => { let n = (o, a) => { mft(!!(r != null && r.isTextInput), o, a) && e(gbe()); }; return U9.add(n), () => { U9.delete(n); }; }, t); } function hft(e) { let { isDisabled: t, onFocus: r, onBlur: n, onFocusChange: o } = e; const a = dt((l) => { if (l.target === l.currentTarget) return n && n(l), o && o(!1), !0; }, [ n, o ]), i = ube(a), s = dt((l) => { const c = kd(l.target), u = c ? G9(c) : G9(); l.target === l.currentTarget && u === ibe(l.nativeEvent) && (r && r(l), o && o(!0), i(l)); }, [ o, r, i ]); return { focusProps: { onFocus: !t && (r || o || n) ? s : void 0, onBlur: !t && (n || o) ? a : void 0 } }; } function bft(e) { let { isDisabled: t, onBlurWithin: r, onFocusWithin: n, onFocusWithinChange: o } = e, a = ce({ isFocusWithin: !1 }), { addGlobalListener: i, removeAllGlobalListeners: s } = lbe(), l = dt((f) => { f.currentTarget.contains(f.target) && a.current.isFocusWithin && !f.currentTarget.contains(f.relatedTarget) && (a.current.isFocusWithin = !1, s(), r && r(f), o && o(!1)); }, [ r, o, a, s ]), c = ube(l), u = dt((f) => { if (!f.currentTarget.contains(f.target)) return; const p = kd(f.target), v = G9(p); if (!a.current.isFocusWithin && v === ibe(f.nativeEvent)) { n && n(f), o && o(!0), a.current.isFocusWithin = !0, c(f); let w = f.currentTarget; i(p, "focus", (b) => { if (a.current.isFocusWithin && !abe(w, b.target)) { let m = new cbe("blur", new p.defaultView.FocusEvent("blur", { relatedTarget: b.target })); m.target = w, m.currentTarget = w, l(m); } }, { capture: !0 }); } }, [ n, o, c, i, l ]); return t ? { focusWithinProps: { // These cannot be null, that would conflict in mergeProps onFocus: void 0, onBlur: void 0 } } : { focusWithinProps: { onFocus: u, onBlur: l } }; } let Q5 = !1, c$ = 0; function B9() { Q5 = !0, setTimeout(() => { Q5 = !1; }, 50); } function xJ(e) { e.pointerType === "touch" && B9(); } function yft() { if (!(typeof document > "u")) return typeof PointerEvent < "u" ? document.addEventListener("pointerup", xJ) : document.addEventListener("touchend", B9), c$++, () => { c$--, !(c$ > 0) && (typeof PointerEvent < "u" ? document.removeEventListener("pointerup", xJ) : document.removeEventListener("touchend", B9)); }; } function vft(e) { let { onHoverStart: t, onHoverChange: r, onHoverEnd: n, isDisabled: o } = e, [a, i] = We(!1), s = ce({ isHovered: !1, ignoreEmulatedMouseEvents: !1, pointerType: "", target: null }).current; xe(yft, []); let { addGlobalListener: l, removeAllGlobalListeners: c } = lbe(), { hoverProps: u, triggerHoverEnd: f } = br(() => { let p = (b, m) => { if (s.pointerType = m, o || m === "touch" || s.isHovered || !b.currentTarget.contains(b.target)) return; s.isHovered = !0; let x = b.currentTarget; s.target = x, l(kd(b.target), "pointerover", (O) => { s.isHovered && s.target && !abe(s.target, O.target) && v(O, O.pointerType); }, { capture: !0 }), t && t({ type: "hoverstart", target: x, pointerType: m }), r && r(!0), i(!0); }, v = (b, m) => { let x = s.target; s.pointerType = "", s.target = null, !(m === "touch" || !s.isHovered || !x) && (s.isHovered = !1, c(), n && n({ type: "hoverend", target: x, pointerType: m }), r && r(!1), i(!1)); }, w = {}; return typeof PointerEvent < "u" ? (w.onPointerEnter = (b) => { Q5 && b.pointerType === "mouse" || p(b, b.pointerType); }, w.onPointerLeave = (b) => { !o && b.currentTarget.contains(b.target) && v(b, b.pointerType); }) : (w.onTouchStart = () => { s.ignoreEmulatedMouseEvents = !0; }, w.onMouseEnter = (b) => { !s.ignoreEmulatedMouseEvents && !Q5 && p(b, "mouse"), s.ignoreEmulatedMouseEvents = !1; }, w.onMouseLeave = (b) => { !o && b.currentTarget.contains(b.target) && v(b, "mouse"); }), { hoverProps: w, triggerHoverEnd: v }; }, [ t, r, n, o, s, l, c ]); return xe(() => { o && f({ currentTarget: s.target }, s.pointerType); }, [ o ]), { hoverProps: u, isHovered: a }; } function xft(e = {}) { let { autoFocus: t = !1, isTextInput: r, within: n } = e, o = ce({ isFocused: !1, isFocusVisible: t || gbe() }), [a, i] = We(!1), [s, l] = We(() => o.current.isFocused && o.current.isFocusVisible), c = dt(() => l(o.current.isFocused && o.current.isFocusVisible), []), u = dt((v) => { o.current.isFocused = v, i(v), c(); }, [ c ]); gft((v) => { o.current.isFocusVisible = v, c(); }, [], { isTextInput: r }); let { focusProps: f } = hft({ isDisabled: n, onFocusChange: u }), { focusWithinProps: p } = bft({ isDisabled: !n, onFocusWithinChange: u }); return { isFocused: a, isFocusVisible: s, focusProps: n ? p : f }; } var wft = Object.defineProperty, kft = (e, t, r) => t in e ? wft(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, u$ = (e, t, r) => (kft(e, typeof t != "symbol" ? t + "" : t, r), r); let Oft = class { constructor() { u$(this, "current", this.detect()), u$(this, "handoffState", "pending"), u$(this, "currentId", 0); } set(e) { this.current !== e && (this.handoffState = "pending", this.currentId = 0, this.current = e); } reset() { this.set(this.detect()); } nextId() { return ++this.currentId; } get isServer() { return this.current === "server"; } get isClient() { return this.current === "client"; } detect() { return typeof window > "u" || typeof document > "u" ? "server" : "client"; } handoff() { this.handoffState === "pending" && (this.handoffState = "complete"); } get isHandoffComplete() { return this.handoffState === "complete"; } }, em = new Oft(); function qx(e) { var t, r; return em.isServer ? null : e ? "ownerDocument" in e ? e.ownerDocument : "current" in e ? (r = (t = e.current) == null ? void 0 : t.ownerDocument) != null ? r : document : null : document; } function hbe(e) { typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => { throw t; })); } function Km() { let e = [], t = { addEventListener(r, n, o, a) { return r.addEventListener(n, o, a), t.add(() => r.removeEventListener(n, o, a)); }, requestAnimationFrame(...r) { let n = requestAnimationFrame(...r); return t.add(() => cancelAnimationFrame(n)); }, nextFrame(...r) { return t.requestAnimationFrame(() => t.requestAnimationFrame(...r)); }, setTimeout(...r) { let n = setTimeout(...r); return t.add(() => clearTimeout(n)); }, microTask(...r) { let n = { current: !0 }; return hbe(() => { n.current && r[0](); }), t.add(() => { n.current = !1; }); }, style(r, n, o) { let a = r.style.getPropertyValue(n); return Object.assign(r.style, { [n]: o }), this.add(() => { Object.assign(r.style, { [n]: a }); }); }, group(r) { let n = Km(); return r(n), this.add(() => n.dispose()); }, add(r) { return e.includes(r) || e.push(r), () => { let n = e.indexOf(r); if (n >= 0) for (let o of e.splice(n, 1)) o(); }; }, dispose() { for (let r of e.splice(0)) r(); } }; return t; } function b3() { let [e] = We(Km); return xe(() => () => e.dispose(), [e]), e; } let io = (e, t) => { em.isServer ? xe(e, t) : qs(e, t); }; function ac(e) { let t = ce(e); return io(() => { t.current = e; }, [e]), t; } let mr = function(e) { let t = ac(e); return de.useCallback((...r) => t.current(...r), [t]); }; function Sft(e) { let t = e.width / 2, r = e.height / 2; return { top: e.clientY - r, right: e.clientX + t, bottom: e.clientY + r, left: e.clientX - t }; } function Eft(e, t) { return !(!e || !t || e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom); } function Aft({ disabled: e = !1 } = {}) { let t = ce(null), [r, n] = We(!1), o = b3(), a = mr(() => { t.current = null, n(!1), o.dispose(); }), i = mr((s) => { if (o.dispose(), t.current === null) { t.current = s.currentTarget, n(!0); { let l = qx(s.currentTarget); o.addEventListener(l, "pointerup", a, !1), o.addEventListener(l, "pointermove", (c) => { if (t.current) { let u = Sft(c); n(Eft(u, t.current.getBoundingClientRect())); } }, !1), o.addEventListener(l, "pointercancel", a, !1); } } }); return { pressed: r, pressProps: e ? {} : { onPointerDown: i, onPointerUp: a, onClick: a } }; } function q9(...e) { return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" "); } function Ya(e, t, ...r) { if (e in t) { let o = t[e]; return typeof o == "function" ? o(...r) : o; } let n = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((o) => `"${o}"`).join(", ")}.`); throw Error.captureStackTrace && Error.captureStackTrace(n, Ya), n; } var gb = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(gb || {}), ff = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(ff || {}); function Ti() { let e = Pft(); return dt((t) => $ft({ mergeRefs: e, ...t }), [e]); } function $ft({ ourProps: e, theirProps: t, slot: r, defaultTag: n, features: o, visible: a = !0, name: i, mergeRefs: s }) { s = s ?? Cft; let l = bbe(t, e); if (a) return x2(l, r, n, i, s); let c = o ?? 0; if (c & 2) { let { static: u = !1, ...f } = l; if (u) return x2(f, r, n, i, s); } if (c & 1) { let { unmount: u = !0, ...f } = l; return Ya(u ? 0 : 1, { 0() { return null; }, 1() { return x2({ ...f, hidden: !0, style: { display: "none" } }, r, n, i, s); } }); } return x2(l, r, n, i, s); } function x2(e, t = {}, r, n, o) { let { as: a = r, children: i, refName: s = "ref", ...l } = f$(e, ["unmount", "static"]), c = e.ref !== void 0 ? { [s]: e.ref } : {}, u = typeof i == "function" ? i(t) : i; "className" in l && l.className && typeof l.className == "function" && (l.className = l.className(t)), l["aria-labelledby"] && l["aria-labelledby"] === l.id && (l["aria-labelledby"] = void 0); let f = {}; if (t) { let p = !1, v = []; for (let [w, b] of Object.entries(t)) typeof b == "boolean" && (p = !0), b === !0 && v.push(w.replace(/([A-Z])/g, (m) => `-${m.toLowerCase()}`)); if (p) { f["data-headlessui-state"] = v.join(" "); for (let w of v) f[`data-${w}`] = ""; } } if (a === Tr && (Object.keys(Ep(l)).length > 0 || Object.keys(Ep(f)).length > 0)) if (!Ws(u) || Array.isArray(u) && u.length > 1) { if (Object.keys(Ep(l)).length > 0) throw new Error(['Passing props on "Fragment"!', "", `The current component <${n} /> is rendering a "Fragment".`, "However we need to passthrough the following props:", Object.keys(Ep(l)).concat(Object.keys(Ep(f))).map((p) => ` - ${p}`).join(` `), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".', "Render a single element as the child so that we can forward the props onto that element."].map((p) => ` - ${p}`).join(` `)].join(` `)); } else { let p = u.props, v = p == null ? void 0 : p.className, w = typeof v == "function" ? (...x) => q9(v(...x), l.className) : q9(v, l.className), b = w ? { className: w } : {}, m = bbe(u.props, Ep(f$(l, ["ref"]))); for (let x in f) x in m && delete f[x]; return Gs(u, Object.assign({}, m, f, c, { ref: o(Nft(u), c.ref) }, b)); } return xO(a, Object.assign({}, f$(l, ["ref"]), a !== Tr && c, a !== Tr && f), u); } function Pft() { let e = ce([]), t = dt((r) => { for (let n of e.current) n != null && (typeof n == "function" ? n(r) : n.current = r); }, []); return (...r) => { if (!r.every((n) => n == null)) return e.current = r, t; }; } function Cft(...e) { return e.every((t) => t == null) ? void 0 : (t) => { for (let r of e) r != null && (typeof r == "function" ? r(t) : r.current = t); }; } function bbe(...e) { if (e.length === 0) return {}; if (e.length === 1) return e[0]; let t = {}, r = {}; for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o]; if (t.disabled || t["aria-disabled"]) for (let n in r) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(n) && (r[n] = [(o) => { var a; return (a = o == null ? void 0 : o.preventDefault) == null ? void 0 : a.call(o); }]); for (let n in r) Object.assign(t, { [n](o, ...a) { let i = r[n]; for (let s of i) { if ((o instanceof Event || (o == null ? void 0 : o.nativeEvent) instanceof Event) && o.defaultPrevented) return; s(o, ...a); } } }); return t; } function ybe(...e) { if (e.length === 0) return {}; if (e.length === 1) return e[0]; let t = {}, r = {}; for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o]; for (let n in r) Object.assign(t, { [n](...o) { let a = r[n]; for (let i of a) i == null || i(...o); } }); return t; } function Ca(e) { var t; return Object.assign(Ym(e), { displayName: (t = e.displayName) != null ? t : e.name }); } function Ep(e) { let t = Object.assign({}, e); for (let r in t) t[r] === void 0 && delete t[r]; return t; } function f$(e, t = []) { let r = Object.assign({}, e); for (let n of t) n in r && delete r[n]; return r; } function Nft(e) { return de.version.split(".")[0] >= "19" ? e.props.ref : e.ref; } let _ft = "span"; var Z0 = ((e) => (e[e.None = 1] = "None", e[e.Focusable = 2] = "Focusable", e[e.Hidden = 4] = "Hidden", e))(Z0 || {}); function jft(e, t) { var r; let { features: n = 1, ...o } = e, a = { ref: t, "aria-hidden": (n & 2) === 2 ? !0 : (r = o["aria-hidden"]) != null ? r : void 0, hidden: (n & 4) === 4 ? !0 : void 0, style: { position: "fixed", top: 1, left: 1, width: 1, height: 0, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0", ...(n & 4) === 4 && (n & 2) !== 2 && { display: "none" } } }; return Ti()({ ourProps: a, theirProps: o, slot: {}, defaultTag: _ft, name: "Hidden" }); } let Z5 = Ca(jft); function vbe(e) { let t = e.parentElement, r = null; for (; t && !(t instanceof HTMLFieldSetElement); ) t instanceof HTMLLegendElement && (r = t), t = t.parentElement; let n = (t == null ? void 0 : t.getAttribute("disabled")) === ""; return n && Ift(r) ? !1 : n; } function Ift(e) { if (!e) return !1; let t = e.previousElementSibling; for (; t !== null; ) { if (t instanceof HTMLLegendElement) return !1; t = t.previousElementSibling; } return !0; } let xbe = Symbol(); function wbe(e, t = !0) { return Object.assign(e, { [xbe]: t }); } function _i(...e) { let t = ce(e); xe(() => { t.current = e; }, [e]); let r = mr((n) => { for (let o of t.current) o != null && (typeof o == "function" ? o(n) : o.current = n); }); return e.every((n) => n == null || (n == null ? void 0 : n[xbe])) ? void 0 : r; } var Ju = ((e) => (e.Space = " ", e.Enter = "Enter", e.Escape = "Escape", e.Backspace = "Backspace", e.Delete = "Delete", e.ArrowLeft = "ArrowLeft", e.ArrowUp = "ArrowUp", e.ArrowRight = "ArrowRight", e.ArrowDown = "ArrowDown", e.Home = "Home", e.End = "End", e.PageUp = "PageUp", e.PageDown = "PageDown", e.Tab = "Tab", e))(Ju || {}); let Rft = an(() => { }); function Mft({ value: e, children: t }) { return de.createElement(Rft.Provider, { value: e }, t); } function Tft(e) { if (e === null) return { width: 0, height: 0 }; let { width: t, height: r } = e.getBoundingClientRect(); return { width: t, height: r }; } function zft(e, t = !1) { let [r, n] = nre(() => ({}), {}), o = br(() => Tft(e), [e, r]); return io(() => { if (!e) return; let a = new ResizeObserver(n); return a.observe(e), () => { a.disconnect(); }; }, [e]), t ? { width: `${o.width}px`, height: `${o.height}px` } : o; } let Dft = class extends Map { constructor(e) { super(), this.factory = e; } get(e) { let t = super.get(e); return t === void 0 && (t = this.factory(e), this.set(e, t)), t; } }; function kbe(e, t) { let r = e(), n = /* @__PURE__ */ new Set(); return { getSnapshot() { return r; }, subscribe(o) { return n.add(o), () => n.delete(o); }, dispatch(o, ...a) { let i = t[o].call(r, ...a); i && (r = i, n.forEach((s) => s())); } }; } function Obe(e) { return Lxe(e.subscribe, e.getSnapshot, e.getSnapshot); } let Fft = new Dft(() => kbe(() => [], { ADD(e) { return this.includes(e) ? this : [...this, e]; }, REMOVE(e) { let t = this.indexOf(e); if (t === -1) return this; let r = this.slice(); return r.splice(t, 1), r; } })); function Sbe(e, t) { let r = Fft.get(t), n = q1(), o = Obe(r); if (io(() => { if (e) return r.dispatch("ADD", n), () => r.dispatch("REMOVE", n); }, [r, e]), !e) return !1; let a = o.indexOf(n), i = o.length; return a === -1 && (a = i, i += 1), a === i - 1; } function Lft(e, t, r) { let n = ac((o) => { let a = o.getBoundingClientRect(); a.x === 0 && a.y === 0 && a.width === 0 && a.height === 0 && r(); }); xe(() => { if (!e) return; let o = t === null ? null : t instanceof HTMLElement ? t : t.current; if (!o) return; let a = Km(); if (typeof ResizeObserver < "u") { let i = new ResizeObserver(() => n.current(o)); i.observe(o), a.add(() => i.disconnect()); } if (typeof IntersectionObserver < "u") { let i = new IntersectionObserver(() => n.current(o)); i.observe(o), a.add(() => i.disconnect()); } return () => a.dispose(); }, [t, n, e]); } let X9 = ["[contentEditable=true]", "[tabindex]", "a[href]", "area[href]", "button:not([disabled])", "iframe", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])"].map((e) => `${e}:not([tabindex='-1'])`).join(","), Vft = ["[data-autofocus]"].map((e) => `${e}:not([tabindex='-1'])`).join(","); var _l = ((e) => (e[e.First = 1] = "First", e[e.Previous = 2] = "Previous", e[e.Next = 4] = "Next", e[e.Last = 8] = "Last", e[e.WrapAround = 16] = "WrapAround", e[e.NoScroll = 32] = "NoScroll", e[e.AutoFocus = 64] = "AutoFocus", e))(_l || {}), eO = ((e) => (e[e.Error = 0] = "Error", e[e.Overflow = 1] = "Overflow", e[e.Success = 2] = "Success", e[e.Underflow = 3] = "Underflow", e))(eO || {}), Wft = ((e) => (e[e.Previous = -1] = "Previous", e[e.Next = 1] = "Next", e))(Wft || {}); function y3(e = document.body) { return e == null ? [] : Array.from(e.querySelectorAll(X9)).sort((t, r) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (r.tabIndex || Number.MAX_SAFE_INTEGER))); } function Gft(e = document.body) { return e == null ? [] : Array.from(e.querySelectorAll(Vft)).sort((t, r) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (r.tabIndex || Number.MAX_SAFE_INTEGER))); } var g8 = ((e) => (e[e.Strict = 0] = "Strict", e[e.Loose = 1] = "Loose", e))(g8 || {}); function Ebe(e, t = 0) { var r; return e === ((r = qx(e)) == null ? void 0 : r.body) ? !1 : Ya(t, { 0() { return e.matches(X9); }, 1() { let n = e; for (; n !== null; ) { if (n.matches(X9)) return !0; n = n.parentElement; } return !1; } }); } var Uft = ((e) => (e[e.Keyboard = 0] = "Keyboard", e[e.Mouse = 1] = "Mouse", e))(Uft || {}); typeof window < "u" && typeof document < "u" && (document.addEventListener("keydown", (e) => { e.metaKey || e.altKey || e.ctrlKey || (document.documentElement.dataset.headlessuiFocusVisible = ""); }, !0), document.addEventListener("click", (e) => { e.detail === 1 ? delete document.documentElement.dataset.headlessuiFocusVisible : e.detail === 0 && (document.documentElement.dataset.headlessuiFocusVisible = ""); }, !0)); let Hft = ["textarea", "input"].join(","); function Yft(e) { var t, r; return (r = (t = e == null ? void 0 : e.matches) == null ? void 0 : t.call(e, Hft)) != null ? r : !1; } function Bft(e, t = (r) => r) { return e.slice().sort((r, n) => { let o = t(r), a = t(n); if (o === null || a === null) return 0; let i = o.compareDocumentPosition(a); return i & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : i & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0; }); } function Hp(e, t, { sorted: r = !0, relativeTo: n = null, skipElements: o = [] } = {}) { let a = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e.ownerDocument, i = Array.isArray(e) ? r ? Bft(e) : e : t & 64 ? Gft(e) : y3(e); o.length > 0 && i.length > 1 && (i = i.filter((v) => !o.some((w) => w != null && "current" in w ? (w == null ? void 0 : w.current) === v : w === v))), n = n ?? a.activeElement; let s = (() => { if (t & 5) return 1; if (t & 10) return -1; throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last"); })(), l = (() => { if (t & 1) return 0; if (t & 2) return Math.max(0, i.indexOf(n)) - 1; if (t & 4) return Math.max(0, i.indexOf(n)) + 1; if (t & 8) return i.length - 1; throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last"); })(), c = t & 32 ? { preventScroll: !0 } : {}, u = 0, f = i.length, p; do { if (u >= f || u + f <= 0) return 0; let v = l + u; if (t & 16) v = (v + f) % f; else { if (v < 0) return 3; if (v >= f) return 1; } p = i[v], p == null || p.focus(c), u += s; } while (p !== a.activeElement); return t & 6 && Yft(p) && p.select(), 2; } function Abe() { return /iPhone/gi.test(window.navigator.platform) || /Mac/gi.test(window.navigator.platform) && window.navigator.maxTouchPoints > 0; } function qft() { return /Android/gi.test(window.navigator.userAgent); } function Xft() { return Abe() || qft(); } function fv(e, t, r, n) { let o = ac(r); xe(() => { if (!e) return; function a(i) { o.current(i); } return document.addEventListener(t, a, n), () => document.removeEventListener(t, a, n); }, [e, t, n]); } function $be(e, t, r, n) { let o = ac(r); xe(() => { if (!e) return; function a(i) { o.current(i); } return window.addEventListener(t, a, n), () => window.removeEventListener(t, a, n); }, [e, t, n]); } const wJ = 30; function Kft(e, t, r) { let n = Sbe(e, "outside-click"), o = ac(r), a = dt(function(l, c) { if (l.defaultPrevented) return; let u = c(l); if (u === null || !u.getRootNode().contains(u) || !u.isConnected) return; let f = function p(v) { return typeof v == "function" ? p(v()) : Array.isArray(v) || v instanceof Set ? v : [v]; }(t); for (let p of f) if (p !== null && (p.contains(u) || l.composed && l.composedPath().includes(p))) return; return !Ebe(u, g8.Loose) && u.tabIndex !== -1 && l.preventDefault(), o.current(l, u); }, [o, t]), i = ce(null); fv(n, "pointerdown", (l) => { var c, u; i.current = ((u = (c = l.composedPath) == null ? void 0 : c.call(l)) == null ? void 0 : u[0]) || l.target; }, !0), fv(n, "mousedown", (l) => { var c, u; i.current = ((u = (c = l.composedPath) == null ? void 0 : c.call(l)) == null ? void 0 : u[0]) || l.target; }, !0), fv(n, "click", (l) => { Xft() || i.current && (a(l, () => i.current), i.current = null); }, !0); let s = ce({ x: 0, y: 0 }); fv(n, "touchstart", (l) => { s.current.x = l.touches[0].clientX, s.current.y = l.touches[0].clientY; }, !0), fv(n, "touchend", (l) => { let c = { x: l.changedTouches[0].clientX, y: l.changedTouches[0].clientY }; if (!(Math.abs(c.x - s.current.x) >= wJ || Math.abs(c.y - s.current.y) >= wJ)) return a(l, () => l.target instanceof HTMLElement ? l.target : null); }, !0), $be(n, "blur", (l) => a(l, () => window.document.activeElement instanceof HTMLIFrameElement ? window.document.activeElement : null), !0); } function hb(...e) { return br(() => qx(...e), [...e]); } function Jft(e, t, r, n) { let o = ac(r); xe(() => { e = e ?? window; function a(i) { o.current(i); } return e.addEventListener(t, a, n), () => e.removeEventListener(t, a, n); }, [e, t, n]); } function Qft(e, t) { return br(() => { var r; if (e.type) return e.type; let n = (r = e.as) != null ? r : "button"; if (typeof n == "string" && n.toLowerCase() === "button" || (t == null ? void 0 : t.tagName) === "BUTTON" && !t.hasAttribute("type")) return "button"; }, [e.type, e.as, t]); } function Zft() { let e; return { before({ doc: t }) { var r; let n = t.documentElement, o = (r = t.defaultView) != null ? r : window; e = Math.max(0, o.innerWidth - n.clientWidth); }, after({ doc: t, d: r }) { let n = t.documentElement, o = Math.max(0, n.clientWidth - n.offsetWidth), a = Math.max(0, e - o); r.style(n, "paddingRight", `${a}px`); } }; } function edt() { return Abe() ? { before({ doc: e, d: t, meta: r }) { function n(o) { return r.containers.flatMap((a) => a()).some((a) => a.contains(o)); } t.microTask(() => { var o; if (window.getComputedStyle(e.documentElement).scrollBehavior !== "auto") { let s = Km(); s.style(e.documentElement, "scrollBehavior", "auto"), t.add(() => t.microTask(() => s.dispose())); } let a = (o = window.scrollY) != null ? o : window.pageYOffset, i = null; t.addEventListener(e, "click", (s) => { if (s.target instanceof HTMLElement) try { let l = s.target.closest("a"); if (!l) return; let { hash: c } = new URL(l.href), u = e.querySelector(c); u && !n(u) && (i = u); } catch { } }, !0), t.addEventListener(e, "touchstart", (s) => { if (s.target instanceof HTMLElement) if (n(s.target)) { let l = s.target; for (; l.parentElement && n(l.parentElement); ) l = l.parentElement; t.style(l, "overscrollBehavior", "contain"); } else t.style(s.target, "touchAction", "none"); }), t.addEventListener(e, "touchmove", (s) => { if (s.target instanceof HTMLElement) { if (s.target.tagName === "INPUT") return; if (n(s.target)) { let l = s.target; for (; l.parentElement && l.dataset.headlessuiPortal !== "" && !(l.scrollHeight > l.clientHeight || l.scrollWidth > l.clientWidth); ) l = l.parentElement; l.dataset.headlessuiPortal === "" && s.preventDefault(); } else s.preventDefault(); } }, { passive: !1 }), t.add(() => { var s; let l = (s = window.scrollY) != null ? s : window.pageYOffset; a !== l && window.scrollTo(0, a), i && i.isConnected && (i.scrollIntoView({ block: "nearest" }), i = null); }); }); } } : {}; } function tdt() { return { before({ doc: e, d: t }) { t.style(e.documentElement, "overflow", "hidden"); } }; } function rdt(e) { let t = {}; for (let r of e) Object.assign(t, r(t)); return t; } let Yp = kbe(() => /* @__PURE__ */ new Map(), { PUSH(e, t) { var r; let n = (r = this.get(e)) != null ? r : { doc: e, count: 0, d: Km(), meta: /* @__PURE__ */ new Set() }; return n.count++, n.meta.add(t), this.set(e, n), this; }, POP(e, t) { let r = this.get(e); return r && (r.count--, r.meta.delete(t)), this; }, SCROLL_PREVENT({ doc: e, d: t, meta: r }) { let n = { doc: e, d: t, meta: rdt(r) }, o = [edt(), Zft(), tdt()]; o.forEach(({ before: a }) => a == null ? void 0 : a(n)), o.forEach(({ after: a }) => a == null ? void 0 : a(n)); }, SCROLL_ALLOW({ d: e }) { e.dispose(); }, TEARDOWN({ doc: e }) { this.delete(e); } }); Yp.subscribe(() => { let e = Yp.getSnapshot(), t = /* @__PURE__ */ new Map(); for (let [r] of e) t.set(r, r.documentElement.style.overflow); for (let r of e.values()) { let n = t.get(r.doc) === "hidden", o = r.count !== 0; (o && !n || !o && n) && Yp.dispatch(r.count > 0 ? "SCROLL_PREVENT" : "SCROLL_ALLOW", r), r.count === 0 && Yp.dispatch("TEARDOWN", r); } }); function ndt(e, t, r = () => ({ containers: [] })) { let n = Obe(Yp), o = t ? n.get(t) : void 0, a = o ? o.count > 0 : !1; return io(() => { if (!(!t || !e)) return Yp.dispatch("PUSH", t, r), () => Yp.dispatch("POP", t, r); }, [e, t]), a; } function odt(e, t, r = () => [document.body]) { let n = Sbe(e, "scroll-lock"); ndt(n, t, (o) => { var a; return { containers: [...(a = o.containers) != null ? a : [], r] }; }); } function adt(e = 0) { let [t, r] = We(e), n = dt((l) => r(l), [t]), o = dt((l) => r((c) => c | l), [t]), a = dt((l) => (t & l) === l, [t]), i = dt((l) => r((c) => c & ~l), [r]), s = dt((l) => r((c) => c ^ l), [r]); return { flags: t, setFlag: n, addFlag: o, hasFlag: a, removeFlag: i, toggleFlag: s }; } var kJ, OJ; typeof process < "u" && typeof globalThis < "u" && typeof Element < "u" && ((kJ = process == null ? void 0 : process.env) == null ? void 0 : kJ.NODE_ENV) === "test" && typeof ((OJ = Element == null ? void 0 : Element.prototype) == null ? void 0 : OJ.getAnimations) > "u" && (Element.prototype.getAnimations = function() { return console.warn(["Headless UI has polyfilled `Element.prototype.getAnimations` for your tests.", "Please install a proper polyfill e.g. `jsdom-testing-mocks`, to silence these warnings.", "", "Example usage:", "```js", "import { mockAnimationsApi } from 'jsdom-testing-mocks'", "mockAnimationsApi()", "```"].join(` `)), []; }); var idt = ((e) => (e[e.None = 0] = "None", e[e.Closed = 1] = "Closed", e[e.Enter = 2] = "Enter", e[e.Leave = 4] = "Leave", e))(idt || {}); function h8(e) { let t = {}; for (let r in e) e[r] === !0 && (t[`data-${r}`] = ""); return t; } function b8(e, t, r, n) { let [o, a] = We(r), { hasFlag: i, addFlag: s, removeFlag: l } = adt(e && o ? 3 : 0), c = ce(!1), u = ce(!1), f = b3(); return io(() => { var p; if (e) { if (r && a(!0), !t) { r && s(3); return; } return (p = n == null ? void 0 : n.start) == null || p.call(n, r), sdt(t, { inFlight: c, prepare() { u.current ? u.current = !1 : u.current = c.current, c.current = !0, !u.current && (r ? (s(3), l(4)) : (s(4), l(2))); }, run() { u.current ? r ? (l(3), s(4)) : (l(4), s(3)) : r ? l(1) : s(1); }, done() { var v; u.current && typeof t.getAnimations == "function" && t.getAnimations().length > 0 || (c.current = !1, l(7), r || a(!1), (v = n == null ? void 0 : n.end) == null || v.call(n, r)); } }); } }, [e, r, t, f]), e ? [o, { closed: i(1), enter: i(2), leave: i(4), transition: i(2) || i(4) }] : [r, { closed: void 0, enter: void 0, leave: void 0, transition: void 0 }]; } function sdt(e, { prepare: t, run: r, done: n, inFlight: o }) { let a = Km(); return cdt(e, { prepare: t, inFlight: o }), a.nextFrame(() => { r(), a.requestAnimationFrame(() => { a.add(ldt(e, n)); }); }), a.dispose; } function ldt(e, t) { var r, n; let o = Km(); if (!e) return o.dispose; let a = !1; o.add(() => { a = !0; }); let i = (n = (r = e.getAnimations) == null ? void 0 : r.call(e).filter((s) => s instanceof CSSTransition)) != null ? n : []; return i.length === 0 ? (t(), o.dispose) : (Promise.allSettled(i.map((s) => s.finished)).then(() => { a || t(); }), o.dispose); } function cdt(e, { inFlight: t, prepare: r }) { if (t != null && t.current) { r(); return; } let n = e.style.transition; e.style.transition = "none", r(), e.offsetHeight, e.style.transition = n; } function v3() { return typeof window < "u"; } function ry(e) { return Pbe(e) ? (e.nodeName || "").toLowerCase() : "#document"; } function ha(e) { var t; return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window; } function Qs(e) { var t; return (t = (Pbe(e) ? e.ownerDocument : e.document) || window.document) == null ? void 0 : t.documentElement; } function Pbe(e) { return v3() ? e instanceof Node || e instanceof ha(e).Node : !1; } function vo(e) { return v3() ? e instanceof Element || e instanceof ha(e).Element : !1; } function Bs(e) { return v3() ? e instanceof HTMLElement || e instanceof ha(e).HTMLElement : !1; } function SJ(e) { return !v3() || typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof ha(e).ShadowRoot; } function Xx(e) { const { overflow: t, overflowX: r, overflowY: n, display: o } = ji(e); return /auto|scroll|overlay|hidden|clip/.test(t + n + r) && !["inline", "contents"].includes(o); } function udt(e) { return ["table", "td", "th"].includes(ry(e)); } function x3(e) { return [":popover-open", ":modal"].some((t) => { try { return e.matches(t); } catch { return !1; } }); } function y8(e) { const t = v8(), r = vo(e) ? ji(e) : e; return ["transform", "translate", "scale", "rotate", "perspective"].some((n) => r[n] ? r[n] !== "none" : !1) || (r.containerType ? r.containerType !== "normal" : !1) || !t && (r.backdropFilter ? r.backdropFilter !== "none" : !1) || !t && (r.filter ? r.filter !== "none" : !1) || ["transform", "translate", "scale", "rotate", "perspective", "filter"].some((n) => (r.willChange || "").includes(n)) || ["paint", "layout", "strict", "content"].some((n) => (r.contain || "").includes(n)); } function fdt(e) { let t = od(e); for (; Bs(t) && !bb(t); ) { if (y8(t)) return t; if (x3(t)) return null; t = od(t); } return null; } function v8() { return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none"); } function bb(e) { return ["html", "body", "#document"].includes(ry(e)); } function ji(e) { return ha(e).getComputedStyle(e); } function w3(e) { return vo(e) ? { scrollLeft: e.scrollLeft, scrollTop: e.scrollTop } : { scrollLeft: e.scrollX, scrollTop: e.scrollY }; } function od(e) { if (ry(e) === "html") return e; const t = ( // Step into the shadow DOM of the parent of a slotted node. e.assignedSlot || // DOM Element detected. e.parentNode || // ShadowRoot detected. SJ(e) && e.host || // Fallback. Qs(e) ); return SJ(t) ? t.host : t; } function Cbe(e) { const t = od(e); return bb(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : Bs(t) && Xx(t) ? t : Cbe(t); } function ex(e, t, r) { var n; t === void 0 && (t = []), r === void 0 && (r = !0); const o = Cbe(e), a = o === ((n = e.ownerDocument) == null ? void 0 : n.body), i = ha(o); if (a) { const s = K9(i); return t.concat(i, i.visualViewport || [], Xx(o) ? o : [], s && r ? ex(s) : []); } return t.concat(o, ex(o, [], r)); } function K9(e) { return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null; } function ddt() { const e = navigator.userAgentData; return e && Array.isArray(e.brands) ? e.brands.map((t) => { let { brand: r, version: n } = t; return r + "/" + n; }).join(" ") : navigator.userAgent; } const Im = Math.min, yo = Math.max, tx = Math.round, w2 = Math.floor, Vs = (e) => ({ x: e, y: e }), pdt = { left: "right", right: "left", bottom: "top", top: "bottom" }, mdt = { start: "end", end: "start" }; function EJ(e, t, r) { return yo(e, Im(t, r)); } function ny(e, t) { return typeof e == "function" ? e(t) : e; } function ad(e) { return e.split("-")[0]; } function Kx(e) { return e.split("-")[1]; } function Nbe(e) { return e === "x" ? "y" : "x"; } function _be(e) { return e === "y" ? "height" : "width"; } function Rm(e) { return ["top", "bottom"].includes(ad(e)) ? "y" : "x"; } function jbe(e) { return Nbe(Rm(e)); } function gdt(e, t, r) { r === void 0 && (r = !1); const n = Kx(e), o = jbe(e), a = _be(o); let i = o === "x" ? n === (r ? "end" : "start") ? "right" : "left" : n === "start" ? "bottom" : "top"; return t.reference[a] > t.floating[a] && (i = tO(i)), [i, tO(i)]; } function hdt(e) { const t = tO(e); return [J9(e), t, J9(t)]; } function J9(e) { return e.replace(/start|end/g, (t) => mdt[t]); } function bdt(e, t, r) { const n = ["left", "right"], o = ["right", "left"], a = ["top", "bottom"], i = ["bottom", "top"]; switch (e) { case "top": case "bottom": return r ? t ? o : n : t ? n : o; case "left": case "right": return t ? a : i; default: return []; } } function ydt(e, t, r, n) { const o = Kx(e); let a = bdt(ad(e), r === "start", n); return o && (a = a.map((i) => i + "-" + o), t && (a = a.concat(a.map(J9)))), a; } function tO(e) { return e.replace(/left|right|bottom|top/g, (t) => pdt[t]); } function vdt(e) { return { top: 0, right: 0, bottom: 0, left: 0, ...e }; } function xdt(e) { return typeof e != "number" ? vdt(e) : { top: e, right: e, bottom: e, left: e }; } function rO(e) { const { x: t, y: r, width: n, height: o } = e; return { width: n, height: o, top: r, left: t, right: t + n, bottom: r + o, x: t, y: r }; } function AJ(e, t, r) { let { reference: n, floating: o } = e; const a = Rm(t), i = jbe(t), s = _be(i), l = ad(t), c = a === "y", u = n.x + n.width / 2 - o.width / 2, f = n.y + n.height / 2 - o.height / 2, p = n[s] / 2 - o[s] / 2; let v; switch (l) { case "top": v = { x: u, y: n.y - o.height }; break; case "bottom": v = { x: u, y: n.y + n.height }; break; case "right": v = { x: n.x + n.width, y: f }; break; case "left": v = { x: n.x - o.width, y: f }; break; default: v = { x: n.x, y: n.y }; } switch (Kx(t)) { case "start": v[i] -= p * (r && c ? -1 : 1); break; case "end": v[i] += p * (r && c ? -1 : 1); break; } return v; } const wdt = async (e, t, r) => { const { placement: n = "bottom", strategy: o = "absolute", middleware: a = [], platform: i } = r, s = a.filter(Boolean), l = await (i.isRTL == null ? void 0 : i.isRTL(t)); let c = await i.getElementRects({ reference: e, floating: t, strategy: o }), { x: u, y: f } = AJ(c, n, l), p = n, v = {}, w = 0; for (let b = 0; b < s.length; b++) { const { name: m, fn: x } = s[b], { x: O, y: E, data: A, reset: h } = await x({ x: u, y: f, initialPlacement: n, placement: p, strategy: o, middlewareData: v, rects: c, platform: i, elements: { reference: e, floating: t } }); u = O ?? u, f = E ?? f, v = { ...v, [m]: { ...v[m], ...A } }, h && w <= 50 && (w++, typeof h == "object" && (h.placement && (p = h.placement), h.rects && (c = h.rects === !0 ? await i.getElementRects({ reference: e, floating: t, strategy: o }) : h.rects), { x: u, y: f } = AJ(c, p, l)), b = -1); } return { x: u, y: f, placement: p, strategy: o, middlewareData: v }; }; async function k3(e, t) { var r; t === void 0 && (t = {}); const { x: n, y: o, platform: a, rects: i, elements: s, strategy: l } = e, { boundary: c = "clippingAncestors", rootBoundary: u = "viewport", elementContext: f = "floating", altBoundary: p = !1, padding: v = 0 } = ny(t, e), w = xdt(v), b = s[p ? f === "floating" ? "reference" : "floating" : f], m = rO(await a.getClippingRect({ element: (r = await (a.isElement == null ? void 0 : a.isElement(b))) == null || r ? b : b.contextElement || await (a.getDocumentElement == null ? void 0 : a.getDocumentElement(s.floating)), boundary: c, rootBoundary: u, strategy: l })), x = f === "floating" ? { x: n, y: o, width: i.floating.width, height: i.floating.height } : i.reference, O = await (a.getOffsetParent == null ? void 0 : a.getOffsetParent(s.floating)), E = await (a.isElement == null ? void 0 : a.isElement(O)) ? await (a.getScale == null ? void 0 : a.getScale(O)) || { x: 1, y: 1 } : { x: 1, y: 1 }, A = rO(a.convertOffsetParentRelativeRectToViewportRelativeRect ? await a.convertOffsetParentRelativeRectToViewportRelativeRect({ elements: s, rect: x, offsetParent: O, strategy: l }) : x); return { top: (m.top - A.top + w.top) / E.y, bottom: (A.bottom - m.bottom + w.bottom) / E.y, left: (m.left - A.left + w.left) / E.x, right: (A.right - m.right + w.right) / E.x }; } const kdt = function(e) { return e === void 0 && (e = {}), { name: "flip", options: e, async fn(t) { var r, n; const { placement: o, middlewareData: a, rects: i, initialPlacement: s, platform: l, elements: c } = t, { mainAxis: u = !0, crossAxis: f = !0, fallbackPlacements: p, fallbackStrategy: v = "bestFit", fallbackAxisSideDirection: w = "none", flipAlignment: b = !0, ...m } = ny(e, t); if ((r = a.arrow) != null && r.alignmentOffset) return {}; const x = ad(o), O = Rm(s), E = ad(s) === s, A = await (l.isRTL == null ? void 0 : l.isRTL(c.floating)), h = p || (E || !b ? [tO(s)] : hdt(s)), G = w !== "none"; !p && G && h.push(...ydt(s, b, w, A)); const H = [s, ...h], Z = await k3(t, m), J = []; let X = ((n = a.flip) == null ? void 0 : n.overflows) || []; if (u && J.push(Z[x]), f) { const U = gdt(o, i, A); J.push(Z[U[0]], Z[U[1]]); } if (X = [...X, { placement: o, overflows: J }], !J.every((U) => U <= 0)) { var ee, I; const U = (((ee = a.flip) == null ? void 0 : ee.index) || 0) + 1, z = H[U]; if (z) return { data: { index: U, overflows: X }, reset: { placement: z } }; let F = (I = X.filter((D) => D.overflows[0] <= 0).sort((D, Y) => D.overflows[1] - Y.overflows[1])[0]) == null ? void 0 : I.placement; if (!F) switch (v) { case "bestFit": { var te; const D = (te = X.filter((Y) => { if (G) { const q = Rm(Y.placement); return q === O || // Create a bias to the `y` side axis due to horizontal // reading directions favoring greater width. q === "y"; } return !0; }).map((Y) => [Y.placement, Y.overflows.filter((q) => q > 0).reduce((q, g) => q + g, 0)]).sort((Y, q) => Y[1] - q[1])[0]) == null ? void 0 : te[0]; D && (F = D); break; } case "initialPlacement": F = s; break; } if (o !== F) return { reset: { placement: F } }; } return {}; } }; }; async function Odt(e, t) { const { placement: r, platform: n, elements: o } = e, a = await (n.isRTL == null ? void 0 : n.isRTL(o.floating)), i = ad(r), s = Kx(r), l = Rm(r) === "y", c = ["left", "top"].includes(i) ? -1 : 1, u = a && l ? -1 : 1, f = ny(t, e); let { mainAxis: p, crossAxis: v, alignmentAxis: w } = typeof f == "number" ? { mainAxis: f, crossAxis: 0, alignmentAxis: null } : { mainAxis: f.mainAxis || 0, crossAxis: f.crossAxis || 0, alignmentAxis: f.alignmentAxis }; return s && typeof w == "number" && (v = s === "end" ? w * -1 : w), l ? { x: v * u, y: p * c } : { x: p * c, y: v * u }; } const Sdt = function(e) { return e === void 0 && (e = 0), { name: "offset", options: e, async fn(t) { var r, n; const { x: o, y: a, placement: i, middlewareData: s } = t, l = await Odt(t, e); return i === ((r = s.offset) == null ? void 0 : r.placement) && (n = s.arrow) != null && n.alignmentOffset ? {} : { x: o + l.x, y: a + l.y, data: { ...l, placement: i } }; } }; }, Edt = function(e) { return e === void 0 && (e = {}), { name: "shift", options: e, async fn(t) { const { x: r, y: n, placement: o } = t, { mainAxis: a = !0, crossAxis: i = !1, limiter: s = { fn: (m) => { let { x, y: O } = m; return { x, y: O }; } }, ...l } = ny(e, t), c = { x: r, y: n }, u = await k3(t, l), f = Rm(ad(o)), p = Nbe(f); let v = c[p], w = c[f]; if (a) { const m = p === "y" ? "top" : "left", x = p === "y" ? "bottom" : "right", O = v + u[m], E = v - u[x]; v = EJ(O, v, E); } if (i) { const m = f === "y" ? "top" : "left", x = f === "y" ? "bottom" : "right", O = w + u[m], E = w - u[x]; w = EJ(O, w, E); } const b = s.fn({ ...t, [p]: v, [f]: w }); return { ...b, data: { x: b.x - r, y: b.y - n, enabled: { [p]: a, [f]: i } } }; } }; }, Adt = function(e) { return e === void 0 && (e = {}), { name: "size", options: e, async fn(t) { var r, n; const { placement: o, rects: a, platform: i, elements: s } = t, { apply: l = () => { }, ...c } = ny(e, t), u = await k3(t, c), f = ad(o), p = Kx(o), v = Rm(o) === "y", { width: w, height: b } = a.floating; let m, x; f === "top" || f === "bottom" ? (m = f, x = p === (await (i.isRTL == null ? void 0 : i.isRTL(s.floating)) ? "start" : "end") ? "left" : "right") : (x = f, m = p === "end" ? "top" : "bottom"); const O = b - u.top - u.bottom, E = w - u.left - u.right, A = Im(b - u[m], O), h = Im(w - u[x], E), G = !t.middlewareData.shift; let H = A, Z = h; if ((r = t.middlewareData.shift) != null && r.enabled.x && (Z = E), (n = t.middlewareData.shift) != null && n.enabled.y && (H = O), G && !p) { const X = yo(u.left, 0), ee = yo(u.right, 0), I = yo(u.top, 0), te = yo(u.bottom, 0); v ? Z = w - 2 * (X !== 0 || ee !== 0 ? X + ee : yo(u.left, u.right)) : H = b - 2 * (I !== 0 || te !== 0 ? I + te : yo(u.top, u.bottom)); } await l({ ...t, availableWidth: Z, availableHeight: H }); const J = await i.getDimensions(s.floating); return w !== J.width || b !== J.height ? { reset: { rects: !0 } } : {}; } }; }; function Ibe(e) { const t = ji(e); let r = parseFloat(t.width) || 0, n = parseFloat(t.height) || 0; const o = Bs(e), a = o ? e.offsetWidth : r, i = o ? e.offsetHeight : n, s = tx(r) !== a || tx(n) !== i; return s && (r = a, n = i), { width: r, height: n, $: s }; } function x8(e) { return vo(e) ? e : e.contextElement; } function Vh(e) { const t = x8(e); if (!Bs(t)) return Vs(1); const r = t.getBoundingClientRect(), { width: n, height: o, $: a } = Ibe(t); let i = (a ? tx(r.width) : r.width) / n, s = (a ? tx(r.height) : r.height) / o; return (!i || !Number.isFinite(i)) && (i = 1), (!s || !Number.isFinite(s)) && (s = 1), { x: i, y: s }; } const $dt = /* @__PURE__ */ Vs(0); function Rbe(e) { const t = ha(e); return !v8() || !t.visualViewport ? $dt : { x: t.visualViewport.offsetLeft, y: t.visualViewport.offsetTop }; } function Pdt(e, t, r) { return t === void 0 && (t = !1), !r || t && r !== ha(e) ? !1 : t; } function Mm(e, t, r, n) { t === void 0 && (t = !1), r === void 0 && (r = !1); const o = e.getBoundingClientRect(), a = x8(e); let i = Vs(1); t && (n ? vo(n) && (i = Vh(n)) : i = Vh(e)); const s = Pdt(a, r, n) ? Rbe(a) : Vs(0); let l = (o.left + s.x) / i.x, c = (o.top + s.y) / i.y, u = o.width / i.x, f = o.height / i.y; if (a) { const p = ha(a), v = n && vo(n) ? ha(n) : n; let w = p, b = K9(w); for (; b && n && v !== w; ) { const m = Vh(b), x = b.getBoundingClientRect(), O = ji(b), E = x.left + (b.clientLeft + parseFloat(O.paddingLeft)) * m.x, A = x.top + (b.clientTop + parseFloat(O.paddingTop)) * m.y; l *= m.x, c *= m.y, u *= m.x, f *= m.y, l += E, c += A, w = ha(b), b = K9(w); } } return rO({ width: u, height: f, x: l, y: c }); } function w8(e, t) { const r = w3(e).scrollLeft; return t ? t.left + r : Mm(Qs(e)).left + r; } function Mbe(e, t, r) { r === void 0 && (r = !1); const n = e.getBoundingClientRect(), o = n.left + t.scrollLeft - (r ? 0 : ( // RTL scrollbar. w8(e, n) )), a = n.top + t.scrollTop; return { x: o, y: a }; } function Cdt(e) { let { elements: t, rect: r, offsetParent: n, strategy: o } = e; const a = o === "fixed", i = Qs(n), s = t ? x3(t.floating) : !1; if (n === i || s && a) return r; let l = { scrollLeft: 0, scrollTop: 0 }, c = Vs(1); const u = Vs(0), f = Bs(n); if ((f || !f && !a) && ((ry(n) !== "body" || Xx(i)) && (l = w3(n)), Bs(n))) { const v = Mm(n); c = Vh(n), u.x = v.x + n.clientLeft, u.y = v.y + n.clientTop; } const p = i && !f && !a ? Mbe(i, l, !0) : Vs(0); return { width: r.width * c.x, height: r.height * c.y, x: r.x * c.x - l.scrollLeft * c.x + u.x + p.x, y: r.y * c.y - l.scrollTop * c.y + u.y + p.y }; } function Ndt(e) { return Array.from(e.getClientRects()); } function _dt(e) { const t = Qs(e), r = w3(e), n = e.ownerDocument.body, o = yo(t.scrollWidth, t.clientWidth, n.scrollWidth, n.clientWidth), a = yo(t.scrollHeight, t.clientHeight, n.scrollHeight, n.clientHeight); let i = -r.scrollLeft + w8(e); const s = -r.scrollTop; return ji(n).direction === "rtl" && (i += yo(t.clientWidth, n.clientWidth) - o), { width: o, height: a, x: i, y: s }; } function jdt(e, t) { const r = ha(e), n = Qs(e), o = r.visualViewport; let a = n.clientWidth, i = n.clientHeight, s = 0, l = 0; if (o) { a = o.width, i = o.height; const c = v8(); (!c || c && t === "fixed") && (s = o.offsetLeft, l = o.offsetTop); } return { width: a, height: i, x: s, y: l }; } function Idt(e, t) { const r = Mm(e, !0, t === "fixed"), n = r.top + e.clientTop, o = r.left + e.clientLeft, a = Bs(e) ? Vh(e) : Vs(1), i = e.clientWidth * a.x, s = e.clientHeight * a.y, l = o * a.x, c = n * a.y; return { width: i, height: s, x: l, y: c }; } function $J(e, t, r) { let n; if (t === "viewport") n = jdt(e, r); else if (t === "document") n = _dt(Qs(e)); else if (vo(t)) n = Idt(t, r); else { const o = Rbe(e); n = { x: t.x - o.x, y: t.y - o.y, width: t.width, height: t.height }; } return rO(n); } function Tbe(e, t) { const r = od(e); return r === t || !vo(r) || bb(r) ? !1 : ji(r).position === "fixed" || Tbe(r, t); } function Rdt(e, t) { const r = t.get(e); if (r) return r; let n = ex(e, [], !1).filter((s) => vo(s) && ry(s) !== "body"), o = null; const a = ji(e).position === "fixed"; let i = a ? od(e) : e; for (; vo(i) && !bb(i); ) { const s = ji(i), l = y8(i); !l && s.position === "fixed" && (o = null), (a ? !l && !o : !l && s.position === "static" && o && ["absolute", "fixed"].includes(o.position) || Xx(i) && !l && Tbe(e, i)) ? n = n.filter((c) => c !== i) : o = s, i = od(i); } return t.set(e, n), n; } function Mdt(e) { let { element: t, boundary: r, rootBoundary: n, strategy: o } = e; const a = [...r === "clippingAncestors" ? x3(t) ? [] : Rdt(t, this._c) : [].concat(r), n], i = a[0], s = a.reduce((l, c) => { const u = $J(t, c, o); return l.top = yo(u.top, l.top), l.right = Im(u.right, l.right), l.bottom = Im(u.bottom, l.bottom), l.left = yo(u.left, l.left), l; }, $J(t, i, o)); return { width: s.right - s.left, height: s.bottom - s.top, x: s.left, y: s.top }; } function Tdt(e) { const { width: t, height: r } = Ibe(e); return { width: t, height: r }; } function zdt(e, t, r) { const n = Bs(t), o = Qs(t), a = r === "fixed", i = Mm(e, !0, a, t); let s = { scrollLeft: 0, scrollTop: 0 }; const l = Vs(0); if (n || !n && !a) if ((ry(t) !== "body" || Xx(o)) && (s = w3(t)), n) { const p = Mm(t, !0, a, t); l.x = p.x + t.clientLeft, l.y = p.y + t.clientTop; } else o && (l.x = w8(o)); const c = o && !n && !a ? Mbe(o, s) : Vs(0), u = i.left + s.scrollLeft - l.x - c.x, f = i.top + s.scrollTop - l.y - c.y; return { x: u, y: f, width: i.width, height: i.height }; } function d$(e) { return ji(e).position === "static"; } function PJ(e, t) { if (!Bs(e) || ji(e).position === "fixed") return null; if (t) return t(e); let r = e.offsetParent; return Qs(e) === r && (r = r.ownerDocument.body), r; } function zbe(e, t) { const r = ha(e); if (x3(e)) return r; if (!Bs(e)) { let o = od(e); for (; o && !bb(o); ) { if (vo(o) && !d$(o)) return o; o = od(o); } return r; } let n = PJ(e, t); for (; n && udt(n) && d$(n); ) n = PJ(n, t); return n && bb(n) && d$(n) && !y8(n) ? r : n || fdt(e) || r; } const Ddt = async function(e) { const t = this.getOffsetParent || zbe, r = this.getDimensions, n = await r(e.floating); return { reference: zdt(e.reference, await t(e.floating), e.strategy), floating: { x: 0, y: 0, width: n.width, height: n.height } }; }; function Fdt(e) { return ji(e).direction === "rtl"; } const Ldt = { convertOffsetParentRelativeRectToViewportRelativeRect: Cdt, getDocumentElement: Qs, getClippingRect: Mdt, getOffsetParent: zbe, getElementRects: Ddt, getClientRects: Ndt, getDimensions: Tdt, getScale: Vh, isElement: vo, isRTL: Fdt }; function Dbe(e, t) { return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height; } function Vdt(e, t) { let r = null, n; const o = Qs(e); function a() { var s; clearTimeout(n), (s = r) == null || s.disconnect(), r = null; } function i(s, l) { s === void 0 && (s = !1), l === void 0 && (l = 1), a(); const c = e.getBoundingClientRect(), { left: u, top: f, width: p, height: v } = c; if (s || t(), !p || !v) return; const w = w2(f), b = w2(o.clientWidth - (u + p)), m = w2(o.clientHeight - (f + v)), x = w2(u), O = { rootMargin: -w + "px " + -b + "px " + -m + "px " + -x + "px", threshold: yo(0, Im(1, l)) || 1 }; let E = !0; function A(h) { const G = h[0].intersectionRatio; if (G !== l) { if (!E) return i(); G ? i(!1, G) : n = setTimeout(() => { i(!1, 1e-7); }, 1e3); } G === 1 && !Dbe(c, e.getBoundingClientRect()) && i(), E = !1; } try { r = new IntersectionObserver(A, { ...O, // Handle