360° Full Service

    Áreas de Atuação

    Navegue por nosso portfólio completo de especialidades jurídicas. Cada área é liderada por um time dedicado de especialistas.

    Advogados Associados. Atuação 360° Full Service com excelência, estratégia e resultados para questões jurídicas complexas.

    Contato

    [email protected]

    +55 (11) 3000-0000

    São Paulo · Brasília · Rio de Janeiro

    © 2026 Louback & Aquino Advogados Associados. Todos os direitos reservados.

    OAB/SP · OAB/DF · OAB/RJ

    WordPress Workshop Arredo – Clean Furniture Store WordPress Theme ArrowIT – Technology, Digital WordPress Theme Arrowtic – Digital Marketing Agency WordPress Theme Artchi – Modern Architecture Elementor Template Kit ArtCoin Bitcoin & Cryptocurrency Elementor Template Kit Artcus – Interior Designer & Architecture WordPress Theme Artday – Creative Artist WordPress Shop Artec – Architecture Elementor Template Kit Artech – Digital Agency & Creative Portfolio WordPress Elementor Theme Artefact – Elementor Tattoo Piercing Studio WordPress Theme
    ", e = e.removeChild(e.firstChild)) : typeof r.is == "string" ? e = s.createElement(n, { is: r.is }) : (e = s.createElement(n), n === "select" && (s = e, r.multiple ? s.multiple = !0 : r.size && (s.size = r.size))) : e = s.createElementNS(e, n), e[Yt] = t, e[Yo] = r, Wv(e, t, !1, !1), t.stateNode = e; e: { switch (s = nc(n, r), n) { case "dialog": se("cancel", e), se("close", e), i = r; break; case "iframe": case "object": case "embed": se("load", e), i = r; break; case "video": case "audio": for (i = 0; i < Eo.length; i++) se(Eo[i], e); i = r; break; case "source": se("error", e), i = r; break; case "img": case "image": case "link": se("error", e), se("load", e), i = r; break; case "details": se("toggle", e), i = r; break; case "input": Lh(e, r), i = Yu(e, r), se("invalid", e); break; case "option": i = r; break; case "select": e._wrapperState = { wasMultiple: !!r.multiple }, i = me({}, r, { value: void 0 }), se("invalid", e); break; case "textarea": Ih(e, r), i = Ju(e, r), se("invalid", e); break; default: i = r } tc(n, i), a = i; for (o in a) if (a.hasOwnProperty(o)) { var l = a[o]; o === "style" ? Cy(e, l) : o === "dangerouslySetInnerHTML" ? (l = l ? l.__html : void 0, l != null && Sy(e, l)) : o === "children" ? typeof l == "string" ? (n !== "textarea" || l !== "") && Bo(e, l) : typeof l == "number" && Bo(e, "" + l) : o !== "suppressContentEditableWarning" && o !== "suppressHydrationWarning" && o !== "autoFocus" && (zo.hasOwnProperty(o) ? l != null && o === "onScroll" && se("scroll", e) : l != null && Fd(e, o, l, s)) } switch (n) { case "input": Ls(e), Oh(e, r, !1); break; case "textarea": Ls(e), Fh(e); break; case "option": r.value != null && e.setAttribute("value", "" + rr(r.value)); break; case "select": e.multiple = !!r.multiple, o = r.value, o != null ? vi(e, !!r.multiple, o, !1) : r.defaultValue != null && vi(e, !!r.multiple, r.defaultValue, !0); break; default: typeof i.onClick == "function" && (e.onclick = Oa) } switch (n) { case "button": case "input": case "select": case "textarea": r = !!r.autoFocus; break e; case "img": r = !0; break e; default: r = !1 } } r && (t.flags |= 4) } t.ref !== null && (t.flags |= 512, t.flags |= 2097152) } return Fe(t), null; case 6: if (e && t.stateNode != null) Kv(e, t, e.memoizedProps, r); else { if (typeof r != "string" && t.stateNode === null) throw Error(j(166)); if (n = Cr(Zo.current), Cr(Jt.current), Us(t)) { if (r = t.stateNode, n = t.memoizedProps, r[Yt] = t, (o = r.nodeValue !== n) && (e = at, e !== null)) switch (e.tag) { case 3: $s(r.nodeValue, n, (e.mode & 1) !== 0); break; case 5: e.memoizedProps.suppressHydrationWarning !== !0 && $s(r.nodeValue, n, (e.mode & 1) !== 0) } o && (t.flags |= 4) } else r = (n.nodeType === 9 ? n : n.ownerDocument).createTextNode(r), r[Yt] = t, t.stateNode = r } return Fe(t), null; case 13: if (ae(de), r = t.memoizedState, e === null || e.memoizedState !== null && e.memoizedState.dehydrated !== null) { if (ue && st !== null && t.mode & 1 && !(t.flags & 128)) cv(), Fi(), t.flags |= 98560, o = !1; else if (o = Us(t), r !== null && r.dehydrated !== null) { if (e === null) { if (!o) throw Error(j(318)); if (o = t.memoizedState, o = o !== null ? o.dehydrated : null, !o) throw Error(j(317)); o[Yt] = t } else Fi(), !(t.flags & 128) && (t.memoizedState = null), t.flags |= 4; Fe(t), o = !1 } else Ot !== null && (Ic(Ot), Ot = null), o = !0; if (!o) return t.flags & 65536 ? t : null } return t.flags & 128 ? (t.lanes = n, t) : (r = r !== null, r !== (e !== null && e.memoizedState !== null) && r && (t.child.flags |= 8192, t.mode & 1 && (e === null || de.current & 1 ? ke === 0 && (ke = 3) : wf())), t.updateQueue !== null && (t.flags |= 4), Fe(t), null); case 4: return _i(), Ac(e, t), e === null && Qo(t.stateNode.containerInfo), Fe(t), null; case 10: return nf(t.type._context), Fe(t), null; case 17: return et(t.type) && Ia(), Fe(t), null; case 19: if (ae(de), o = t.memoizedState, o === null) return Fe(t), null; if (r = (t.flags & 128) !== 0, s = o.rendering, s === null) if (r) go(o, !1); else { if (ke !== 0 || e !== null && e.flags & 128) for (e = t.child; e !== null; ) { if (s = Ua(e), s !== null) { for (t.flags |= 128, go(o, !1), r = s.updateQueue, r !== null && (t.updateQueue = r, t.flags |= 4), t.subtreeFlags = 0, r = n, n = t.child; n !== null; ) o = n, e = r, o.flags &= 14680066, s = o.alternate, s === null ? (o.childLanes = 0, o.lanes = e, o.child = null, o.subtreeFlags = 0, o.memoizedProps = null, o.memoizedState = null, o.updateQueue = null, o.dependencies = null, o.stateNode = null) : (o.childLanes = s.childLanes, o.lanes = s.lanes, o.child = s.child, o.subtreeFlags = 0, o.deletions = null, o.memoizedProps = s.memoizedProps, o.memoizedState = s.memoizedState, o.updateQueue = s.updateQueue, o.type = s.type, e = s.dependencies, o.dependencies = e === null ? null : { lanes: e.lanes, firstContext: e.firstContext }), n = n.sibling; return re(de, de.current & 1 | 2), t.child } e = e.sibling } o.tail !== null && xe() > Bi && (t.flags |= 128, r = !0, go(o, !1), t.lanes = 4194304) } else { if (!r) if (e = Ua(s), e !== null) { if (t.flags |= 128, r = !0, n = e.updateQueue, n !== null && (t.updateQueue = n, t.flags |= 4), go(o, !0), o.tail === null && o.tailMode === "hidden" && !s.alternate && !ue) return Fe(t), null } else 2 * xe() - o.renderingStartTime > Bi && n !== 1073741824 && (t.flags |= 128, r = !0, go(o, !1), t.lanes = 4194304); o.isBackwards ? (s.sibling = t.child, t.child = s) : (n = o.last, n !== null ? n.sibling = s : t.child = s, o.last = s) } return o.tail !== null ? (t = o.tail, o.rendering = t, o.tail = t.sibling, o.renderingStartTime = xe(), t.sibling = null, n = de.current, re(de, r ? n & 1 | 2 : n & 1), t) : (Fe(t), null); case 22: case 23: return xf(), r = t.memoizedState !== null, e !== null && e.memoizedState !== null !== r && (t.flags |= 8192), r && t.mode & 1 ? it & 1073741824 && (Fe(t), t.subtreeFlags & 6 && (t.flags |= 8192)) : Fe(t), null; case 24: return null; case 25: return null } throw Error(j(156, t.tag)) } function Yb(e, t) { switch (Zd(t), t.tag) { case 1: return et(t.type) && Ia(), e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null; case 3: return _i(), ae(Je), ae(Be), lf(), e = t.flags, e & 65536 && !(e & 128) ? (t.flags = e & -65537 | 128, t) : null; case 5: return af(t), null; case 13: if (ae(de), e = t.memoizedState, e !== null && e.dehydrated !== null) { if (t.alternate === null) throw Error(j(340)); Fi() } return e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null; case 19: return ae(de), null; case 4: return _i(), null; case 10: return nf(t.type._context), null; case 22: case 23: return xf(), null; case 24: return null; default: return null } } var Ks = !1 , _e = !1 , Xb = typeof WeakSet == "function" ? WeakSet : Set , V = null; function di(e, t) { var n = e.ref; if (n !== null) if (typeof n == "function") try { n(null) } catch (r) { ye(e, t, r) } else n.current = null } function Rc(e, t, n) { try { n() } catch (r) { ye(e, t, r) } } var Pp = !1; function Zb(e, t) { if (fc = ja, e = Xy(), Yd(e)) { if ("selectionStart"in e) var n = { start: e.selectionStart, end: e.selectionEnd }; else e: { n = (n = e.ownerDocument) && n.defaultView || window; var r = n.getSelection && n.getSelection(); if (r && r.rangeCount !== 0) { n = r.anchorNode; var i = r.anchorOffset , o = r.focusNode; r = r.focusOffset; try { n.nodeType, o.nodeType } catch { n = null; break e } var s = 0 , a = -1 , l = -1 , u = 0 , c = 0 , d = e , f = null; t: for (; ; ) { for (var h; d !== n || i !== 0 && d.nodeType !== 3 || (a = s + i), d !== o || r !== 0 && d.nodeType !== 3 || (l = s + r), d.nodeType === 3 && (s += d.nodeValue.length), (h = d.firstChild) !== null; ) f = d, d = h; for (; ; ) { if (d === e) break t; if (f === n && ++u === i && (a = s), f === o && ++c === r && (l = s), (h = d.nextSibling) !== null) break; d = f, f = d.parentNode } d = h } n = a === -1 || l === -1 ? null : { start: a, end: l } } else n = null } n = n || { start: 0, end: 0 } } else n = null; for (hc = { focusedElem: e, selectionRange: n }, ja = !1, V = t; V !== null; ) if (t = V, e = t.child, (t.subtreeFlags & 1028) !== 0 && e !== null) e.return = t, V = e; else for (; V !== null; ) { t = V; try { var x = t.alternate; if (t.flags & 1024) switch (t.tag) { case 0: case 11: case 15: break; case 1: if (x !== null) { var y = x.memoizedProps , w = x.memoizedState , g = t.stateNode , m = g.getSnapshotBeforeUpdate(t.elementType === t.type ? y : Nt(t.type, y), w); g.__reactInternalSnapshotBeforeUpdate = m } break; case 3: var v = t.stateNode.containerInfo; v.nodeType === 1 ? v.textContent = "" : v.nodeType === 9 && v.documentElement && v.removeChild(v.documentElement); break; case 5: case 6: case 4: case 17: break; default: throw Error(j(163)) } } catch (b) { ye(t, t.return, b) } if (e = t.sibling, e !== null) { e.return = t.return, V = e; break } V = t.return } return x = Pp, Pp = !1, x } function jo(e, t, n) { var r = t.updateQueue; if (r = r !== null ? r.lastEffect : null, r !== null) { var i = r = r.next; do { if ((i.tag & e) === e) { var o = i.destroy; i.destroy = void 0, o !== void 0 && Rc(t, n, o) } i = i.next } while (i !== r) } } function Sl(e, t) { if (t = t.updateQueue, t = t !== null ? t.lastEffect : null, t !== null) { var n = t = t.next; do { if ((n.tag & e) === e) { var r = n.create; n.destroy = r() } n = n.next } while (n !== t) } } function Nc(e) { var t = e.ref; if (t !== null) { var n = e.stateNode; switch (e.tag) { case 5: e = n; break; default: e = n } typeof t == "function" ? t(e) : t.current = e } } function Gv(e) { var t = e.alternate; t !== null && (e.alternate = null, Gv(t)), e.child = null, e.deletions = null, e.sibling = null, e.tag === 5 && (t = e.stateNode, t !== null && (delete t[Yt], delete t[Yo], delete t[gc], delete t[Lb], delete t[Ob])), e.stateNode = null, e.return = null, e.dependencies = null, e.memoizedProps = null, e.memoizedState = null, e.pendingProps = null, e.stateNode = null, e.updateQueue = null } function Qv(e) { return e.tag === 5 || e.tag === 3 || e.tag === 4 } function kp(e) { e: for (; ; ) { for (; e.sibling === null; ) { if (e.return === null || Qv(e.return)) return null; e = e.return } for (e.sibling.return = e.return, e = e.sibling; e.tag !== 5 && e.tag !== 6 && e.tag !== 18; ) { if (e.flags & 2 || e.child === null || e.tag === 4) continue e; e.child.return = e, e = e.child } if (!(e.flags & 2)) return e.stateNode } } function Mc(e, t, n) { var r = e.tag; if (r === 5 || r === 6) e = e.stateNode, t ? n.nodeType === 8 ? n.parentNode.insertBefore(e, t) : n.insertBefore(e, t) : (n.nodeType === 8 ? (t = n.parentNode, t.insertBefore(e, n)) : (t = n, t.appendChild(e)), n = n._reactRootContainer, n != null || t.onclick !== null || (t.onclick = Oa)); else if (r !== 4 && (e = e.child, e !== null)) for (Mc(e, t, n), e = e.sibling; e !== null; ) Mc(e, t, n), e = e.sibling } function jc(e, t, n) { var r = e.tag; if (r === 5 || r === 6) e = e.stateNode, t ? n.insertBefore(e, t) : n.appendChild(e); else if (r !== 4 && (e = e.child, e !== null)) for (jc(e, t, n), e = e.sibling; e !== null; ) jc(e, t, n), e = e.sibling } var Ne = null , Lt = !1; function An(e, t, n) { for (n = n.child; n !== null; ) qv(e, t, n), n = n.sibling } function qv(e, t, n) { if (Zt && typeof Zt.onCommitFiberUnmount == "function") try { Zt.onCommitFiberUnmount(hl, n) } catch {} switch (n.tag) { case 5: _e || di(n, t); case 6: var r = Ne , i = Lt; Ne = null, An(e, t, n), Ne = r, Lt = i, Ne !== null && (Lt ? (e = Ne, n = n.stateNode, e.nodeType === 8 ? e.parentNode.removeChild(n) : e.removeChild(n)) : Ne.removeChild(n.stateNode)); break; case 18: Ne !== null && (Lt ? (e = Ne, n = n.stateNode, e.nodeType === 8 ? du(e.parentNode, n) : e.nodeType === 1 && du(e, n), Ho(e)) : du(Ne, n.stateNode)); break; case 4: r = Ne, i = Lt, Ne = n.stateNode.containerInfo, Lt = !0, An(e, t, n), Ne = r, Lt = i; break; case 0: case 11: case 14: case 15: if (!_e && (r = n.updateQueue, r !== null && (r = r.lastEffect, r !== null))) { i = r = r.next; do { var o = i , s = o.destroy; o = o.tag, s !== void 0 && (o & 2 || o & 4) && Rc(n, t, s), i = i.next } while (i !== r) } An(e, t, n); break; case 1: if (!_e && (di(n, t), r = n.stateNode, typeof r.componentWillUnmount == "function")) try { r.props = n.memoizedProps, r.state = n.memoizedState, r.componentWillUnmount() } catch (a) { ye(n, t, a) } An(e, t, n); break; case 21: An(e, t, n); break; case 22: n.mode & 1 ? (_e = (r = _e) || n.memoizedState !== null, An(e, t, n), _e = r) : An(e, t, n); break; default: An(e, t, n) } } function Ap(e) { var t = e.updateQueue; if (t !== null) { e.updateQueue = null; var n = e.stateNode; n === null && (n = e.stateNode = new Xb), t.forEach(function(r) { var i = aC.bind(null, e, r); n.has(r) || (n.add(r), r.then(i, i)) }) } } function Pt(e, t) { var n = t.deletions; if (n !== null) for (var r = 0; r < n.length; r++) { var i = n[r]; try { var o = e , s = t , a = s; e: for (; a !== null; ) { switch (a.tag) { case 5: Ne = a.stateNode, Lt = !1; break e; case 3: Ne = a.stateNode.containerInfo, Lt = !0; break e; case 4: Ne = a.stateNode.containerInfo, Lt = !0; break e } a = a.return } if (Ne === null) throw Error(j(160)); qv(o, s, i), Ne = null, Lt = !1; var l = i.alternate; l !== null && (l.return = null), i.return = null } catch (u) { ye(i, t, u) } } if (t.subtreeFlags & 12854) for (t = t.child; t !== null; ) Yv(t, e), t = t.sibling } function Yv(e, t) { var n = e.alternate , r = e.flags; switch (e.tag) { case 0: case 11: case 14: case 15: if (Pt(t, e), Wt(e), r & 4) { try { jo(3, e, e.return), Sl(3, e) } catch (y) { ye(e, e.return, y) } try { jo(5, e, e.return) } catch (y) { ye(e, e.return, y) } } break; case 1: Pt(t, e), Wt(e), r & 512 && n !== null && di(n, n.return); break; case 5: if (Pt(t, e), Wt(e), r & 512 && n !== null && di(n, n.return), e.flags & 32) { var i = e.stateNode; try { Bo(i, "") } catch (y) { ye(e, e.return, y) } } if (r & 4 && (i = e.stateNode, i != null)) { var o = e.memoizedProps , s = n !== null ? n.memoizedProps : o , a = e.type , l = e.updateQueue; if (e.updateQueue = null, l !== null) try { a === "input" && o.type === "radio" && o.name != null && vy(i, o), nc(a, s); var u = nc(a, o); for (s = 0; s < l.length; s += 2) { var c = l[s] , d = l[s + 1]; c === "style" ? Cy(i, d) : c === "dangerouslySetInnerHTML" ? Sy(i, d) : c === "children" ? Bo(i, d) : Fd(i, c, d, u) } switch (a) { case "input": Xu(i, o); break; case "textarea": xy(i, o); break; case "select": var f = i._wrapperState.wasMultiple; i._wrapperState.wasMultiple = !!o.multiple; var h = o.value; h != null ? vi(i, !!o.multiple, h, !1) : f !== !!o.multiple && (o.defaultValue != null ? vi(i, !!o.multiple, o.defaultValue, !0) : vi(i, !!o.multiple, o.multiple ? [] : "", !1)) } i[Yo] = o } catch (y) { ye(e, e.return, y) } } break; case 6: if (Pt(t, e), Wt(e), r & 4) { if (e.stateNode === null) throw Error(j(162)); i = e.stateNode, o = e.memoizedProps; try { i.nodeValue = o } catch (y) { ye(e, e.return, y) } } break; case 3: if (Pt(t, e), Wt(e), r & 4 && n !== null && n.memoizedState.isDehydrated) try { Ho(t.containerInfo) } catch (y) { ye(e, e.return, y) } break; case 4: Pt(t, e), Wt(e); break; case 13: Pt(t, e), Wt(e), i = e.child, i.flags & 8192 && (o = i.memoizedState !== null, i.stateNode.isHidden = o, !o || i.alternate !== null && i.alternate.memoizedState !== null || (yf = xe())), r & 4 && Ap(e); break; case 22: if (c = n !== null && n.memoizedState !== null, e.mode & 1 ? (_e = (u = _e) || c, Pt(t, e), _e = u) : Pt(t, e), Wt(e), r & 8192) { if (u = e.memoizedState !== null, (e.stateNode.isHidden = u) && !c && e.mode & 1) for (V = e, c = e.child; c !== null; ) { for (d = V = c; V !== null; ) { switch (f = V, h = f.child, f.tag) { case 0: case 11: case 14: case 15: jo(4, f, f.return); break; case 1: di(f, f.return); var x = f.stateNode; if (typeof x.componentWillUnmount == "function") { r = f, n = f.return; try { t = r, x.props = t.memoizedProps, x.state = t.memoizedState, x.componentWillUnmount() } catch (y) { ye(r, n, y) } } break; case 5: di(f, f.return); break; case 22: if (f.memoizedState !== null) { Np(d); continue } } h !== null ? (h.return = f, V = h) : Np(d) } c = c.sibling } e: for (c = null, d = e; ; ) { if (d.tag === 5) { if (c === null) { c = d; try { i = d.stateNode, u ? (o = i.style, typeof o.setProperty == "function" ? o.setProperty("display", "none", "important") : o.display = "none") : (a = d.stateNode, l = d.memoizedProps.style, s = l != null && l.hasOwnProperty("display") ? l.display : null, a.style.display = by("display", s)) } catch (y) { ye(e, e.return, y) } } } else if (d.tag === 6) { if (c === null) try { d.stateNode.nodeValue = u ? "" : d.memoizedProps } catch (y) { ye(e, e.return, y) } } else if ((d.tag !== 22 && d.tag !== 23 || d.memoizedState === null || d === e) && d.child !== null) { d.child.return = d, d = d.child; continue } if (d === e) break e; for (; d.sibling === null; ) { if (d.return === null || d.return === e) break e; c === d && (c = null), d = d.return } c === d && (c = null), d.sibling.return = d.return, d = d.sibling } } break; case 19: Pt(t, e), Wt(e), r & 4 && Ap(e); break; case 21: break; default: Pt(t, e), Wt(e) } } function Wt(e) { var t = e.flags; if (t & 2) { try { e: { for (var n = e.return; n !== null; ) { if (Qv(n)) { var r = n; break e } n = n.return } throw Error(j(160)) } switch (r.tag) { case 5: var i = r.stateNode; r.flags & 32 && (Bo(i, ""), r.flags &= -33); var o = kp(e); jc(e, o, i); break; case 3: case 4: var s = r.stateNode.containerInfo , a = kp(e); Mc(e, a, s); break; default: throw Error(j(161)) } } catch (l) { ye(e, e.return, l) } e.flags &= -3 } t & 4096 && (e.flags &= -4097) } function Jb(e, t, n) { V = e, Xv(e) } function Xv(e, t, n) { for (var r = (e.mode & 1) !== 0; V !== null; ) { var i = V , o = i.child; if (i.tag === 22 && r) { var s = i.memoizedState !== null || Ks; if (!s) { var a = i.alternate , l = a !== null && a.memoizedState !== null || _e; a = Ks; var u = _e; if (Ks = s, (_e = l) && !u) for (V = i; V !== null; ) s = V, l = s.child, s.tag === 22 && s.memoizedState !== null ? Mp(i) : l !== null ? (l.return = s, V = l) : Mp(i); for (; o !== null; ) V = o, Xv(o), o = o.sibling; V = i, Ks = a, _e = u } Rp(e) } else i.subtreeFlags & 8772 && o !== null ? (o.return = i, V = o) : Rp(e) } } function Rp(e) { for (; V !== null; ) { var t = V; if (t.flags & 8772) { var n = t.alternate; try { if (t.flags & 8772) switch (t.tag) { case 0: case 11: case 15: _e || Sl(5, t); break; case 1: var r = t.stateNode; if (t.flags & 4 && !_e) if (n === null) r.componentDidMount(); else { var i = t.elementType === t.type ? n.memoizedProps : Nt(t.type, n.memoizedProps); r.componentDidUpdate(i, n.memoizedState, r.__reactInternalSnapshotBeforeUpdate) } var o = t.updateQueue; o !== null && hp(t, o, r); break; case 3: var s = t.updateQueue; if (s !== null) { if (n = null, t.child !== null) switch (t.child.tag) { case 5: n = t.child.stateNode; break; case 1: n = t.child.stateNode } hp(t, s, n) } break; case 5: var a = t.stateNode; if (n === null && t.flags & 4) { n = a; var l = t.memoizedProps; switch (t.type) { case "button": case "input": case "select": case "textarea": l.autoFocus && n.focus(); break; case "img": l.src && (n.src = l.src) } } break; case 6: break; case 4: break; case 12: break; case 13: if (t.memoizedState === null) { var u = t.alternate; if (u !== null) { var c = u.memoizedState; if (c !== null) { var d = c.dehydrated; d !== null && Ho(d) } } } break; case 19: case 17: case 21: case 22: case 23: case 25: break; default: throw Error(j(163)) } _e || t.flags & 512 && Nc(t) } catch (f) { ye(t, t.return, f) } } if (t === e) { V = null; break } if (n = t.sibling, n !== null) { n.return = t.return, V = n; break } V = t.return } } function Np(e) { for (; V !== null; ) { var t = V; if (t === e) { V = null; break } var n = t.sibling; if (n !== null) { n.return = t.return, V = n; break } V = t.return } } function Mp(e) { for (; V !== null; ) { var t = V; try { switch (t.tag) { case 0: case 11: case 15: var n = t.return; try { Sl(4, t) } catch (l) { ye(t, n, l) } break; case 1: var r = t.stateNode; if (typeof r.componentDidMount == "function") { var i = t.return; try { r.componentDidMount() } catch (l) { ye(t, i, l) } } var o = t.return; try { Nc(t) } catch (l) { ye(t, o, l) } break; case 5: var s = t.return; try { Nc(t) } catch (l) { ye(t, s, l) } } } catch (l) { ye(t, t.return, l) } if (t === e) { V = null; break } var a = t.sibling; if (a !== null) { a.return = t.return, V = a; break } V = t.return } } var eC = Math.ceil , Ka = Sn.ReactCurrentDispatcher , mf = Sn.ReactCurrentOwner , xt = Sn.ReactCurrentBatchConfig , Z = 0 , Re = null , be = null , je = 0 , it = 0 , fi = dr(0) , ke = 0 , ns = null , Vr = 0 , bl = 0 , gf = 0 , Do = null , Xe = null , yf = 0 , Bi = 1 / 0 , ln = null , Ga = !1 , Dc = null , Jn = null , Gs = !1 , Hn = null , Qa = 0 , Lo = 0 , Lc = null , pa = -1 , ma = 0; function Ge() { return Z & 6 ? xe() : pa !== -1 ? pa : pa = xe() } function er(e) { return e.mode & 1 ? Z & 2 && je !== 0 ? je & -je : Fb.transition !== null ? (ma === 0 && (ma = Oy()), ma) : (e = te, e !== 0 || (e = window.event, e = e === void 0 ? 16 : $y(e.type)), e) : 1 } function Ft(e, t, n, r) { if (50 < Lo) throw Lo = 0, Lc = null, Error(j(185)); gs(e, n, r), (!(Z & 2) || e !== Re) && (e === Re && (!(Z & 2) && (bl |= n), ke === 4 && Vn(e, je)), tt(e, r), n === 1 && Z === 0 && !(t.mode & 1) && (Bi = xe() + 500, vl && fr())) } function tt(e, t) { var n = e.callbackNode; FS(e, t); var r = Ma(e, e === Re ? je : 0); if (r === 0) n !== null && zh(n), e.callbackNode = null, e.callbackPriority = 0; else if (t = r & -r, e.callbackPriority !== t) { if (n != null && zh(n), t === 1) e.tag === 0 ? Ib(jp.bind(null, e)) : av(jp.bind(null, e)), jb(function() { !(Z & 6) && fr() }), n = null; else { switch (Iy(r)) { case 1: n = $d; break; case 4: n = Dy; break; case 16: n = Na; break; case 536870912: n = Ly; break; default: n = Na } n = o0(n, Zv.bind(null, e)) } e.callbackPriority = t, e.callbackNode = n } } function Zv(e, t) { if (pa = -1, ma = 0, Z & 6) throw Error(j(327)); var n = e.callbackNode; if (Ci() && e.callbackNode !== n) return null; var r = Ma(e, e === Re ? je : 0); if (r === 0) return null; if (r & 30 || r & e.expiredLanes || t) t = qa(e, r); else { t = r; var i = Z; Z |= 2; var o = e0(); (Re !== e || je !== t) && (ln = null, Bi = xe() + 500, jr(e, t)); do try { rC(); break } catch (a) { Jv(e, a) } while (!0); tf(), Ka.current = o, Z = i, be !== null ? t = 0 : (Re = null, je = 0, t = ke) } if (t !== 0) { if (t === 2 && (i = ac(e), i !== 0 && (r = i, t = Oc(e, i))), t === 1) throw n = ns, jr(e, 0), Vn(e, r), tt(e, xe()), n; if (t === 6) Vn(e, r); else { if (i = e.current.alternate, !(r & 30) && !tC(i) && (t = qa(e, r), t === 2 && (o = ac(e), o !== 0 && (r = o, t = Oc(e, o))), t === 1)) throw n = ns, jr(e, 0), Vn(e, r), tt(e, xe()), n; switch (e.finishedWork = i, e.finishedLanes = r, t) { case 0: case 1: throw Error(j(345)); case 2: xr(e, Xe, ln); break; case 3: if (Vn(e, r), (r & 130023424) === r && (t = yf + 500 - xe(), 10 < t)) { if (Ma(e, 0) !== 0) break; if (i = e.suspendedLanes, (i & r) !== r) { Ge(), e.pingedLanes |= e.suspendedLanes & i; break } e.timeoutHandle = mc(xr.bind(null, e, Xe, ln), t); break } xr(e, Xe, ln); break; case 4: if (Vn(e, r), (r & 4194240) === r) break; for (t = e.eventTimes, i = -1; 0 < r; ) { var s = 31 - It(r); o = 1 << s, s = t[s], s > i && (i = s), r &= ~o } if (r = i, r = xe() - r, r = (120 > r ? 120 : 480 > r ? 480 : 1080 > r ? 1080 : 1920 > r ? 1920 : 3e3 > r ? 3e3 : 4320 > r ? 4320 : 1960 * eC(r / 1960)) - r, 10 < r) { e.timeoutHandle = mc(xr.bind(null, e, Xe, ln), r); break } xr(e, Xe, ln); break; case 5: xr(e, Xe, ln); break; default: throw Error(j(329)) } } } return tt(e, xe()), e.callbackNode === n ? Zv.bind(null, e) : null } function Oc(e, t) { var n = Do; return e.current.memoizedState.isDehydrated && (jr(e, t).flags |= 256), e = qa(e, t), e !== 2 && (t = Xe, Xe = n, t !== null && Ic(t)), e } function Ic(e) { Xe === null ? Xe = e : Xe.push.apply(Xe, e) } function tC(e) { for (var t = e; ; ) { if (t.flags & 16384) { var n = t.updateQueue; if (n !== null && (n = n.stores, n !== null)) for (var r = 0; r < n.length; r++) { var i = n[r] , o = i.getSnapshot; i = i.value; try { if (!zt(o(), i)) return !1 } catch { return !1 } } } if (n = t.child, t.subtreeFlags & 16384 && n !== null) n.return = t, t = n; else { if (t === e) break; for (; t.sibling === null; ) { if (t.return === null || t.return === e) return !0; t = t.return } t.sibling.return = t.return, t = t.sibling } } return !0 } function Vn(e, t) { for (t &= ~gf, t &= ~bl, e.suspendedLanes |= t, e.pingedLanes &= ~t, e = e.expirationTimes; 0 < t; ) { var n = 31 - It(t) , r = 1 << n; e[n] = -1, t &= ~r } } function jp(e) { if (Z & 6) throw Error(j(327)); Ci(); var t = Ma(e, 0); if (!(t & 1)) return tt(e, xe()), null; var n = qa(e, t); if (e.tag !== 0 && n === 2) { var r = ac(e); r !== 0 && (t = r, n = Oc(e, r)) } if (n === 1) throw n = ns, jr(e, 0), Vn(e, t), tt(e, xe()), n; if (n === 6) throw Error(j(345)); return e.finishedWork = e.current.alternate, e.finishedLanes = t, xr(e, Xe, ln), tt(e, xe()), null } function vf(e, t) { var n = Z; Z |= 1; try { return e(t) } finally { Z = n, Z === 0 && (Bi = xe() + 500, vl && fr()) } } function _r(e) { Hn !== null && Hn.tag === 0 && !(Z & 6) && Ci(); var t = Z; Z |= 1; var n = xt.transition , r = te; try { if (xt.transition = null, te = 1, e) return e() } finally { te = r, xt.transition = n, Z = t, !(Z & 6) && fr() } } function xf() { it = fi.current, ae(fi) } function jr(e, t) { e.finishedWork = null, e.finishedLanes = 0; var n = e.timeoutHandle; if (n !== -1 && (e.timeoutHandle = -1, Mb(n)), be !== null) for (n = be.return; n !== null; ) { var r = n; switch (Zd(r), r.tag) { case 1: r = r.type.childContextTypes, r != null && Ia(); break; case 3: _i(), ae(Je), ae(Be), lf(); break; case 5: af(r); break; case 4: _i(); break; case 13: ae(de); break; case 19: ae(de); break; case 10: nf(r.type._context); break; case 22: case 23: xf() } n = n.return } if (Re = e, be = e = tr(e.current, null), je = it = t, ke = 0, ns = null, gf = bl = Vr = 0, Xe = Do = null, br !== null) { for (t = 0; t < br.length; t++) if (n = br[t], r = n.interleaved, r !== null) { n.interleaved = null; var i = r.next , o = n.pending; if (o !== null) { var s = o.next; o.next = i, r.next = s } n.pending = r } br = null } return e } function Jv(e, t) { do { var n = be; try { if (tf(), da.current = Ha, Wa) { for (var r = he.memoizedState; r !== null; ) { var i = r.queue; i !== null && (i.pending = null), r = r.next } Wa = !1 } if (Fr = 0, Ae = Te = he = null, Mo = !1, Jo = 0, mf.current = null, n === null || n.return === null) { ke = 1, ns = t, be = null; break } e: { var o = e , s = n.return , a = n , l = t; if (t = je, a.flags |= 32768, l !== null && typeof l == "object" && typeof l.then == "function") { var u = l , c = a , d = c.tag; if (!(c.mode & 1) && (d === 0 || d === 11 || d === 15)) { var f = c.alternate; f ? (c.updateQueue = f.updateQueue, c.memoizedState = f.memoizedState, c.lanes = f.lanes) : (c.updateQueue = null, c.memoizedState = null) } var h = xp(s); if (h !== null) { h.flags &= -257, wp(h, s, a, o, t), h.mode & 1 && vp(o, u, t), t = h, l = u; var x = t.updateQueue; if (x === null) { var y = new Set; y.add(l), t.updateQueue = y } else x.add(l); break e } else { if (!(t & 1)) { vp(o, u, t), wf(); break e } l = Error(j(426)) } } else if (ue && a.mode & 1) { var w = xp(s); if (w !== null) { !(w.flags & 65536) && (w.flags |= 256), wp(w, s, a, o, t), Jd(zi(l, a)); break e } } o = l = zi(l, a), ke !== 4 && (ke = 2), Do === null ? Do = [o] : Do.push(o), o = s; do { switch (o.tag) { case 3: o.flags |= 65536, t &= -t, o.lanes |= t; var g = Iv(o, l, t); fp(o, g); break e; case 1: a = l; var m = o.type , v = o.stateNode; if (!(o.flags & 128) && (typeof m.getDerivedStateFromError == "function" || v !== null && typeof v.componentDidCatch == "function" && (Jn === null || !Jn.has(v)))) { o.flags |= 65536, t &= -t, o.lanes |= t; var b = Fv(o, a, t); fp(o, b); break e } } o = o.return } while (o !== null) } n0(n) } catch (C) { t = C, be === n && n !== null && (be = n = n.return); continue } break } while (!0) } function e0() { var e = Ka.current; return Ka.current = Ha, e === null ? Ha : e } function wf() { (ke === 0 || ke === 3 || ke === 2) && (ke = 4), Re === null || !(Vr & 268435455) && !(bl & 268435455) || Vn(Re, je) } function qa(e, t) { var n = Z; Z |= 2; var r = e0(); (Re !== e || je !== t) && (ln = null, jr(e, t)); do try { nC(); break } catch (i) { Jv(e, i) } while (!0); if (tf(), Z = n, Ka.current = r, be !== null) throw Error(j(261)); return Re = null, je = 0, ke } function nC() { for (; be !== null; ) t0(be) } function rC() { for (; be !== null && !AS(); ) t0(be) } function t0(e) { var t = i0(e.alternate, e, it); e.memoizedProps = e.pendingProps, t === null ? n0(e) : be = t, mf.current = null } function n0(e) { var t = e; do { var n = t.alternate; if (e = t.return, t.flags & 32768) { if (n = Yb(n, t), n !== null) { n.flags &= 32767, be = n; return } if (e !== null) e.flags |= 32768, e.subtreeFlags = 0, e.deletions = null; else { ke = 6, be = null; return } } else if (n = qb(n, t, it), n !== null) { be = n; return } if (t = t.sibling, t !== null) { be = t; return } be = t = e } while (t !== null); ke === 0 && (ke = 5) } function xr(e, t, n) { var r = te , i = xt.transition; try { xt.transition = null, te = 1, iC(e, t, n, r) } finally { xt.transition = i, te = r } return null } function iC(e, t, n, r) { do Ci(); while (Hn !== null); if (Z & 6) throw Error(j(327)); n = e.finishedWork; var i = e.finishedLanes; if (n === null) return null; if (e.finishedWork = null, e.finishedLanes = 0, n === e.current) throw Error(j(177)); e.callbackNode = null, e.callbackPriority = 0; var o = n.lanes | n.childLanes; if (VS(e, o), e === Re && (be = Re = null, je = 0), !(n.subtreeFlags & 2064) && !(n.flags & 2064) || Gs || (Gs = !0, o0(Na, function() { return Ci(), null })), o = (n.flags & 15990) !== 0, n.subtreeFlags & 15990 || o) { o = xt.transition, xt.transition = null; var s = te; te = 1; var a = Z; Z |= 4, mf.current = null, Zb(e, n), Yv(n, e), Eb(hc), ja = !!fc, hc = fc = null, e.current = n, Jb(n), RS(), Z = a, te = s, xt.transition = o } else e.current = n; if (Gs && (Gs = !1, Hn = e, Qa = i), o = e.pendingLanes, o === 0 && (Jn = null), jS(n.stateNode), tt(e, xe()), t !== null) for (r = e.onRecoverableError, n = 0; n < t.length; n++) i = t[n], r(i.value, { componentStack: i.stack, digest: i.digest }); if (Ga) throw Ga = !1, e = Dc, Dc = null, e; return Qa & 1 && e.tag !== 0 && Ci(), o = e.pendingLanes, o & 1 ? e === Lc ? Lo++ : (Lo = 0, Lc = e) : Lo = 0, fr(), null } function Ci() { if (Hn !== null) { var e = Iy(Qa) , t = xt.transition , n = te; try { if (xt.transition = null, te = 16 > e ? 16 : e, Hn === null) var r = !1; else { if (e = Hn, Hn = null, Qa = 0, Z & 6) throw Error(j(331)); var i = Z; for (Z |= 4, V = e.current; V !== null; ) { var o = V , s = o.child; if (V.flags & 16) { var a = o.deletions; if (a !== null) { for (var l = 0; l < a.length; l++) { var u = a[l]; for (V = u; V !== null; ) { var c = V; switch (c.tag) { case 0: case 11: case 15: jo(8, c, o) } var d = c.child; if (d !== null) d.return = c, V = d; else for (; V !== null; ) { c = V; var f = c.sibling , h = c.return; if (Gv(c), c === u) { V = null; break } if (f !== null) { f.return = h, V = f; break } V = h } } } var x = o.alternate; if (x !== null) { var y = x.child; if (y !== null) { x.child = null; do { var w = y.sibling; y.sibling = null, y = w } while (y !== null) } } V = o } } if (o.subtreeFlags & 2064 && s !== null) s.return = o, V = s; else e: for (; V !== null; ) { if (o = V, o.flags & 2048) switch (o.tag) { case 0: case 11: case 15: jo(9, o, o.return) } var g = o.sibling; if (g !== null) { g.return = o.return, V = g; break e } V = o.return } } var m = e.current; for (V = m; V !== null; ) { s = V; var v = s.child; if (s.subtreeFlags & 2064 && v !== null) v.return = s, V = v; else e: for (s = m; V !== null; ) { if (a = V, a.flags & 2048) try { switch (a.tag) { case 0: case 11: case 15: Sl(9, a) } } catch (C) { ye(a, a.return, C) } if (a === s) { V = null; break e } var b = a.sibling; if (b !== null) { b.return = a.return, V = b; break e } V = a.return } } if (Z = i, fr(), Zt && typeof Zt.onPostCommitFiberRoot == "function") try { Zt.onPostCommitFiberRoot(hl, e) } catch {} r = !0 } return r } finally { te = n, xt.transition = t } } return !1 } function Dp(e, t, n) { t = zi(n, t), t = Iv(e, t, 1), e = Zn(e, t, 1), t = Ge(), e !== null && (gs(e, 1, t), tt(e, t)) } function ye(e, t, n) { if (e.tag === 3) Dp(e, e, n); else for (; t !== null; ) { if (t.tag === 3) { Dp(t, e, n); break } else if (t.tag === 1) { var r = t.stateNode; if (typeof t.type.getDerivedStateFromError == "function" || typeof r.componentDidCatch == "function" && (Jn === null || !Jn.has(r))) { e = zi(n, e), e = Fv(t, e, 1), t = Zn(t, e, 1), e = Ge(), t !== null && (gs(t, 1, e), tt(t, e)); break } } t = t.return } } function oC(e, t, n) { var r = e.pingCache; r !== null && r.delete(t), t = Ge(), e.pingedLanes |= e.suspendedLanes & n, Re === e && (je & n) === n && (ke === 4 || ke === 3 && (je & 130023424) === je && 500 > xe() - yf ? jr(e, 0) : gf |= n), tt(e, t) } function r0(e, t) { t === 0 && (e.mode & 1 ? (t = Fs, Fs <<= 1, !(Fs & 130023424) && (Fs = 4194304)) : t = 1); var n = Ge(); e = gn(e, t), e !== null && (gs(e, t, n), tt(e, n)) } function sC(e) { var t = e.memoizedState , n = 0; t !== null && (n = t.retryLane), r0(e, n) } function aC(e, t) { var n = 0; switch (e.tag) { case 13: var r = e.stateNode , i = e.memoizedState; i !== null && (n = i.retryLane); break; case 19: r = e.stateNode; break; default: throw Error(j(314)) } r !== null && r.delete(t), r0(e, n) } var i0; i0 = function(e, t, n) { if (e !== null) if (e.memoizedProps !== t.pendingProps || Je.current) Ze = !0; else { if (!(e.lanes & n) && !(t.flags & 128)) return Ze = !1, Qb(e, t, n); Ze = !!(e.flags & 131072) } else Ze = !1, ue && t.flags & 1048576 && lv(t, _a, t.index); switch (t.lanes = 0, t.tag) { case 2: var r = t.type; ha(e, t), e = t.pendingProps; var i = Ii(t, Be.current); bi(t, n), i = cf(null, t, r, e, i, n); var o = df(); return t.flags |= 1, typeof i == "object" && i !== null && typeof i.render == "function" && i.$$typeof === void 0 ? (t.tag = 1, t.memoizedState = null, t.updateQueue = null, et(r) ? (o = !0, Fa(t)) : o = !1, t.memoizedState = i.state !== null && i.state !== void 0 ? i.state : null, of(t), i.updater = wl, t.stateNode = i, i._reactInternals = t, bc(t, r, e, n), t = Tc(null, t, r, !0, o, n)) : (t.tag = 0, ue && o && Xd(t), Ue(null, t, i, n), t = t.child), t; case 16: r = t.elementType; e: { switch (ha(e, t), e = t.pendingProps, i = r._init, r = i(r._payload), t.type = r, i = t.tag = uC(r), e = Nt(r, e), i) { case 0: t = Ec(null, t, r, e, n); break e; case 1: t = Cp(null, t, r, e, n); break e; case 11: t = Sp(null, t, r, e, n); break e; case 14: t = bp(null, t, r, Nt(r.type, e), n); break e } throw Error(j(306, r, "")) } return t; case 0: return r = t.type, i = t.pendingProps, i = t.elementType === r ? i : Nt(r, i), Ec(e, t, r, i, n); case 1: return r = t.type, i = t.pendingProps, i = t.elementType === r ? i : Nt(r, i), Cp(e, t, r, i, n); case 3: e: { if (Bv(t), e === null) throw Error(j(387)); r = t.pendingProps, o = t.memoizedState, i = o.element, pv(e, t), $a(t, r, null, n); var s = t.memoizedState; if (r = s.element, o.isDehydrated) if (o = { element: r, isDehydrated: !1, cache: s.cache, pendingSuspenseBoundaries: s.pendingSuspenseBoundaries, transitions: s.transitions }, t.updateQueue.baseState = o, t.memoizedState = o, t.flags & 256) { i = zi(Error(j(423)), t), t = Ep(e, t, r, n, i); break e } else if (r !== i) { i = zi(Error(j(424)), t), t = Ep(e, t, r, n, i); break e } else for (st = Xn(t.stateNode.containerInfo.firstChild), at = t, ue = !0, Ot = null, n = fv(t, null, r, n), t.child = n; n; ) n.flags = n.flags & -3 | 4096, n = n.sibling; else { if (Fi(), r === i) { t = yn(e, t, n); break e } Ue(e, t, r, n) } t = t.child } return t; case 5: return mv(t), e === null && xc(t), r = t.type, i = t.pendingProps, o = e !== null ? e.memoizedProps : null, s = i.children, pc(r, i) ? s = null : o !== null && pc(r, o) && (t.flags |= 32), zv(e, t), Ue(e, t, s, n), t.child; case 6: return e === null && xc(t), null; case 13: return $v(e, t, n); case 4: return sf(t, t.stateNode.containerInfo), r = t.pendingProps, e === null ? t.child = Vi(t, null, r, n) : Ue(e, t, r, n), t.child; case 11: return r = t.type, i = t.pendingProps, i = t.elementType === r ? i : Nt(r, i), Sp(e, t, r, i, n); case 7: return Ue(e, t, t.pendingProps, n), t.child; case 8: return Ue(e, t, t.pendingProps.children, n), t.child; case 12: return Ue(e, t, t.pendingProps.children, n), t.child; case 10: e: { if (r = t.type._context, i = t.pendingProps, o = t.memoizedProps, s = i.value, re(za, r._currentValue), r._currentValue = s, o !== null) if (zt(o.value, s)) { if (o.children === i.children && !Je.current) { t = yn(e, t, n); break e } } else for (o = t.child, o !== null && (o.return = t); o !== null; ) { var a = o.dependencies; if (a !== null) { s = o.child; for (var l = a.firstContext; l !== null; ) { if (l.context === r) { if (o.tag === 1) { l = hn(-1, n & -n), l.tag = 2; var u = o.updateQueue; if (u !== null) { u = u.shared; var c = u.pending; c === null ? l.next = l : (l.next = c.next, c.next = l), u.pending = l } } o.lanes |= n, l = o.alternate, l !== null && (l.lanes |= n), wc(o.return, n, t), a.lanes |= n; break } l = l.next } } else if (o.tag === 10) s = o.type === t.type ? null : o.child; else if (o.tag === 18) { if (s = o.return, s === null) throw Error(j(341)); s.lanes |= n, a = s.alternate, a !== null && (a.lanes |= n), wc(s, n, t), s = o.sibling } else s = o.child; if (s !== null) s.return = o; else for (s = o; s !== null; ) { if (s === t) { s = null; break } if (o = s.sibling, o !== null) { o.return = s.return, s = o; break } s = s.return } o = s } Ue(e, t, i.children, n), t = t.child } return t; case 9: return i = t.type, r = t.pendingProps.children, bi(t, n), i = St(i), r = r(i), t.flags |= 1, Ue(e, t, r, n), t.child; case 14: return r = t.type, i = Nt(r, t.pendingProps), i = Nt(r.type, i), bp(e, t, r, i, n); case 15: return Vv(e, t, t.type, t.pendingProps, n); case 17: return r = t.type, i = t.pendingProps, i = t.elementType === r ? i : Nt(r, i), ha(e, t), t.tag = 1, et(r) ? (e = !0, Fa(t)) : e = !1, bi(t, n), Ov(t, r, i), bc(t, r, i, n), Tc(null, t, r, !0, e, n); case 19: return Uv(e, t, n); case 22: return _v(e, t, n) } throw Error(j(156, t.tag)) } ; function o0(e, t) { return jy(e, t) } function lC(e, t, n, r) { this.tag = e, this.key = n, this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null, this.index = 0, this.ref = null, this.pendingProps = t, this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null, this.mode = r, this.subtreeFlags = this.flags = 0, this.deletions = null, this.childLanes = this.lanes = 0, this.alternate = null } function yt(e, t, n, r) { return new lC(e,t,n,r) } function Sf(e) { return e = e.prototype, !(!e || !e.isReactComponent) } function uC(e) { if (typeof e == "function") return Sf(e) ? 1 : 0; if (e != null) { if (e = e.$$typeof, e === _d) return 11; if (e === zd) return 14 } return 2 } function tr(e, t) { var n = e.alternate; return n === null ? (n = yt(e.tag, t, e.key, e.mode), n.elementType = e.elementType, n.type = e.type, n.stateNode = e.stateNode, n.alternate = e, e.alternate = n) : (n.pendingProps = t, n.type = e.type, n.flags = 0, n.subtreeFlags = 0, n.deletions = null), n.flags = e.flags & 14680064, n.childLanes = e.childLanes, n.lanes = e.lanes, n.child = e.child, n.memoizedProps = e.memoizedProps, n.memoizedState = e.memoizedState, n.updateQueue = e.updateQueue, t = e.dependencies, n.dependencies = t === null ? null : { lanes: t.lanes, firstContext: t.firstContext }, n.sibling = e.sibling, n.index = e.index, n.ref = e.ref, n } function ga(e, t, n, r, i, o) { var s = 2; if (r = e, typeof e == "function") Sf(e) && (s = 1); else if (typeof e == "string") s = 5; else e: switch (e) { case ni: return Dr(n.children, i, o, t); case Vd: s = 8, i |= 8; break; case Ku: return e = yt(12, n, t, i | 2), e.elementType = Ku, e.lanes = o, e; case Gu: return e = yt(13, n, t, i), e.elementType = Gu, e.lanes = o, e; case Qu: return e = yt(19, n, t, i), e.elementType = Qu, e.lanes = o, e; case my: return Cl(n, i, o, t); default: if (typeof e == "object" && e !== null) switch (e.$$typeof) { case hy: s = 10; break e; case py: s = 9; break e; case _d: s = 11; break e; case zd: s = 14; break e; case On: s = 16, r = null; break e } throw Error(j(130, e == null ? e : typeof e, "")) } return t = yt(s, n, t, i), t.elementType = e, t.type = r, t.lanes = o, t } function Dr(e, t, n, r) { return e = yt(7, e, r, t), e.lanes = n, e } function Cl(e, t, n, r) { return e = yt(22, e, r, t), e.elementType = my, e.lanes = n, e.stateNode = { isHidden: !1 }, e } function xu(e, t, n) { return e = yt(6, e, null, t), e.lanes = n, e } function wu(e, t, n) { return t = yt(4, e.children !== null ? e.children : [], e.key, t), t.lanes = n, t.stateNode = { containerInfo: e.containerInfo, pendingChildren: null, implementation: e.implementation }, t } function cC(e, t, n, r, i) { this.tag = t, this.containerInfo = e, this.finishedWork = this.pingCache = this.current = this.pendingChildren = null, this.timeoutHandle = -1, this.callbackNode = this.pendingContext = this.context = null, this.callbackPriority = 0, this.eventTimes = eu(0), this.expirationTimes = eu(-1), this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0, this.entanglements = eu(0), this.identifierPrefix = r, this.onRecoverableError = i, this.mutableSourceEagerHydrationData = null } function bf(e, t, n, r, i, o, s, a, l) { return e = new cC(e,t,n,a,l), t === 1 ? (t = 1, o === !0 && (t |= 8)) : t = 0, o = yt(3, null, null, t), e.current = o, o.stateNode = e, o.memoizedState = { element: r, isDehydrated: n, cache: null, transitions: null, pendingSuspenseBoundaries: null }, of(o), e } function dC(e, t, n) { var r = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null; return { $$typeof: ti, key: r == null ? null : "" + r, children: e, containerInfo: t, implementation: n } } function s0(e) { if (!e) return ir; e = e._reactInternals; e: { if ($r(e) !== e || e.tag !== 1) throw Error(j(170)); var t = e; do { switch (t.tag) { case 3: t = t.stateNode.context; break e; case 1: if (et(t.type)) { t = t.stateNode.__reactInternalMemoizedMergedChildContext; break e } } t = t.return } while (t !== null); throw Error(j(171)) } if (e.tag === 1) { var n = e.type; if (et(n)) return sv(e, n, t) } return t } function a0(e, t, n, r, i, o, s, a, l) { return e = bf(n, r, !0, e, i, o, s, a, l), e.context = s0(null), n = e.current, r = Ge(), i = er(n), o = hn(r, i), o.callback = t ?? null, Zn(n, o, i), e.current.lanes = i, gs(e, i, r), tt(e, r), e } function El(e, t, n, r) { var i = t.current , o = Ge() , s = er(i); return n = s0(n), t.context === null ? t.context = n : t.pendingContext = n, t = hn(o, s), t.payload = { element: e }, r = r === void 0 ? null : r, r !== null && (t.callback = r), e = Zn(i, t, s), e !== null && (Ft(e, i, s, o), ca(e, i, s)), s } function Ya(e) { if (e = e.current, !e.child) return null; switch (e.child.tag) { case 5: return e.child.stateNode; default: return e.child.stateNode } } function Lp(e, t) { if (e = e.memoizedState, e !== null && e.dehydrated !== null) { var n = e.retryLane; e.retryLane = n !== 0 && n < t ? n : t } } function Cf(e, t) { Lp(e, t), (e = e.alternate) && Lp(e, t) } function fC() { return null } var l0 = typeof reportError == "function" ? reportError : function(e) { console.error(e) } ; function Ef(e) { this._internalRoot = e } Tl.prototype.render = Ef.prototype.render = function(e) { var t = this._internalRoot; if (t === null) throw Error(j(409)); El(e, t, null, null) } ; Tl.prototype.unmount = Ef.prototype.unmount = function() { var e = this._internalRoot; if (e !== null) { this._internalRoot = null; var t = e.containerInfo; _r(function() { El(null, e, null, null) }), t[mn] = null } } ; function Tl(e) { this._internalRoot = e } Tl.prototype.unstable_scheduleHydration = function(e) { if (e) { var t = _y(); e = { blockedOn: null, target: e, priority: t }; for (var n = 0; n < Fn.length && t !== 0 && t < Fn[n].priority; n++) ; Fn.splice(n, 0, e), n === 0 && By(e) } } ; function Tf(e) { return !(!e || e.nodeType !== 1 && e.nodeType !== 9 && e.nodeType !== 11) } function Pl(e) { return !(!e || e.nodeType !== 1 && e.nodeType !== 9 && e.nodeType !== 11 && (e.nodeType !== 8 || e.nodeValue !== " react-mount-point-unstable ")) } function Op() {} function hC(e, t, n, r, i) { if (i) { if (typeof r == "function") { var o = r; r = function() { var u = Ya(s); o.call(u) } } var s = a0(t, r, e, 0, null, !1, !1, "", Op); return e._reactRootContainer = s, e[mn] = s.current, Qo(e.nodeType === 8 ? e.parentNode : e), _r(), s } for (; i = e.lastChild; ) e.removeChild(i); if (typeof r == "function") { var a = r; r = function() { var u = Ya(l); a.call(u) } } var l = bf(e, 0, !1, null, null, !1, !1, "", Op); return e._reactRootContainer = l, e[mn] = l.current, Qo(e.nodeType === 8 ? e.parentNode : e), _r(function() { El(t, l, n, r) }), l } function kl(e, t, n, r, i) { var o = n._reactRootContainer; if (o) { var s = o; if (typeof i == "function") { var a = i; i = function() { var l = Ya(s); a.call(l) } } El(t, s, e, i) } else s = hC(n, t, e, i, r); return Ya(s) } Fy = function(e) { switch (e.tag) { case 3: var t = e.stateNode; if (t.current.memoizedState.isDehydrated) { var n = Co(t.pendingLanes); n !== 0 && (Ud(t, n | 1), tt(t, xe()), !(Z & 6) && (Bi = xe() + 500, fr())) } break; case 13: _r(function() { var r = gn(e, 1); if (r !== null) { var i = Ge(); Ft(r, e, 1, i) } }), Cf(e, 1) } } ; Wd = function(e) { if (e.tag === 13) { var t = gn(e, 134217728); if (t !== null) { var n = Ge(); Ft(t, e, 134217728, n) } Cf(e, 134217728) } } ; Vy = function(e) { if (e.tag === 13) { var t = er(e) , n = gn(e, t); if (n !== null) { var r = Ge(); Ft(n, e, t, r) } Cf(e, t) } } ; _y = function() { return te } ; zy = function(e, t) { var n = te; try { return te = e, t() } finally { te = n } } ; ic = function(e, t, n) { switch (t) { case "input": if (Xu(e, n), t = n.name, n.type === "radio" && t != null) { for (n = e; n.parentNode; ) n = n.parentNode; for (n = n.querySelectorAll("input[name=" + JSON.stringify("" + t) + '][type="radio"]'), t = 0; t < n.length; t++) { var r = n[t]; if (r !== e && r.form === e.form) { var i = yl(r); if (!i) throw Error(j(90)); yy(r), Xu(r, i) } } } break; case "textarea": xy(e, n); break; case "select": t = n.value, t != null && vi(e, !!n.multiple, t, !1) } } ; Py = vf; ky = _r; var pC = { usingClientEntryPoint: !1, Events: [vs, si, yl, Ey, Ty, vf] } , yo = { findFiberByHostInstance: Sr, bundleType: 0, version: "18.3.1", rendererPackageName: "react-dom" } , mC = { bundleType: yo.bundleType, version: yo.version, rendererPackageName: yo.rendererPackageName, rendererConfig: yo.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, overrideProps: null, overridePropsDeletePath: null, overridePropsRenamePath: null, setErrorHandler: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: Sn.ReactCurrentDispatcher, findHostInstanceByFiber: function(e) { return e = Ny(e), e === null ? null : e.stateNode }, findFiberByHostInstance: yo.findFiberByHostInstance || fC, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, reconcilerVersion: "18.3.1-next-f1338f8080-20240426" }; if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u") { var Qs = __REACT_DEVTOOLS_GLOBAL_HOOK__; if (!Qs.isDisabled && Qs.supportsFiber) try { hl = Qs.inject(mC), Zt = Qs } catch {} } dt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = pC; dt.createPortal = function(e, t) { var n = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null; if (!Tf(t)) throw Error(j(200)); return dC(e, t, null, n) } ; dt.createRoot = function(e, t) { if (!Tf(e)) throw Error(j(299)); var n = !1 , r = "" , i = l0; return t != null && (t.unstable_strictMode === !0 && (n = !0), t.identifierPrefix !== void 0 && (r = t.identifierPrefix), t.onRecoverableError !== void 0 && (i = t.onRecoverableError)), t = bf(e, 1, !1, null, null, n, !1, r, i), e[mn] = t.current, Qo(e.nodeType === 8 ? e.parentNode : e), new Ef(t) } ; dt.findDOMNode = function(e) { if (e == null) return null; if (e.nodeType === 1) return e; var t = e._reactInternals; if (t === void 0) throw typeof e.render == "function" ? Error(j(188)) : (e = Object.keys(e).join(","), Error(j(268, e))); return e = Ny(t), e = e === null ? null : e.stateNode, e } ; dt.flushSync = function(e) { return _r(e) } ; dt.hydrate = function(e, t, n) { if (!Pl(t)) throw Error(j(200)); return kl(null, e, t, !0, n) } ; dt.hydrateRoot = function(e, t, n) { if (!Tf(e)) throw Error(j(405)); var r = n != null && n.hydratedSources || null , i = !1 , o = "" , s = l0; if (n != null && (n.unstable_strictMode === !0 && (i = !0), n.identifierPrefix !== void 0 && (o = n.identifierPrefix), n.onRecoverableError !== void 0 && (s = n.onRecoverableError)), t = a0(t, null, e, 1, n ?? null, i, !1, o, s), e[mn] = t.current, Qo(e), r) for (e = 0; e < r.length; e++) n = r[e], i = n._getVersion, i = i(n._source), t.mutableSourceEagerHydrationData == null ? t.mutableSourceEagerHydrationData = [n, i] : t.mutableSourceEagerHydrationData.push(n, i); return new Tl(t) } ; dt.render = function(e, t, n) { if (!Pl(t)) throw Error(j(200)); return kl(null, e, t, !1, n) } ; dt.unmountComponentAtNode = function(e) { if (!Pl(e)) throw Error(j(40)); return e._reactRootContainer ? (_r(function() { kl(null, null, e, !1, function() { e._reactRootContainer = null, e[mn] = null }) }), !0) : !1 } ; dt.unstable_batchedUpdates = vf; dt.unstable_renderSubtreeIntoContainer = function(e, t, n, r) { if (!Pl(n)) throw Error(j(200)); if (e == null || e._reactInternals === void 0) throw Error(j(38)); return kl(e, t, n, !1, r) } ; dt.version = "18.3.1-next-f1338f8080-20240426"; function u0() { if (!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE != "function")) try { __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u0) } catch (e) { console.error(e) } } u0(), uy.exports = dt; var ws = uy.exports; const c0 = Yg(ws); var d0, Ip = ws; d0 = Ip.createRoot, Ip.hydrateRoot; var Al = class { constructor() { this.listeners = new Set, this.subscribe = this.subscribe.bind(this) } subscribe(e) { return this.listeners.add(e), this.onSubscribe(), () => { this.listeners.delete(e), this.onUnsubscribe() } } hasListeners() { return this.listeners.size > 0 } onSubscribe() {} onUnsubscribe() {} } , Rl = typeof window > "u" || "Deno"in globalThis; function Mt() {} function gC(e, t) { return typeof e == "function" ? e(t) : e } function yC(e) { return typeof e == "number" && e >= 0 && e !== 1 / 0 } function vC(e, t) { return Math.max(e + (t || 0) - Date.now(), 0) } function Fc(e, t) { return typeof e == "function" ? e(t) : e } function xC(e, t) { return typeof e == "function" ? e(t) : e } function Fp(e, t) { const {type: n="all", exact: r, fetchStatus: i, predicate: o, queryKey: s, stale: a} = e; if (s) { if (r) { if (t.queryHash !== Pf(s, t.options)) return !1 } else if (!is(t.queryKey, s)) return !1 } if (n !== "all") { const l = t.isActive(); if (n === "active" && !l || n === "inactive" && l) return !1 } return !(typeof a == "boolean" && t.isStale() !== a || i && i !== t.state.fetchStatus || o && !o(t)) } function Vp(e, t) { const {exact: n, status: r, predicate: i, mutationKey: o} = e; if (o) { if (!t.options.mutationKey) return !1; if (n) { if (rs(t.options.mutationKey) !== rs(o)) return !1 } else if (!is(t.options.mutationKey, o)) return !1 } return !(r && t.state.status !== r || i && !i(t)) } function Pf(e, t) { return ((t == null ? void 0 : t.queryKeyHashFn) || rs)(e) } function rs(e) { return JSON.stringify(e, (t, n) => Vc(n) ? Object.keys(n).sort().reduce( (r, i) => (r[i] = n[i], r), {}) : n) } function is(e, t) { return e === t ? !0 : typeof e != typeof t ? !1 : e && t && typeof e == "object" && typeof t == "object" ? Object.keys(t).every(n => is(e[n], t[n])) : !1 } function f0(e, t) { if (e === t) return e; const n = _p(e) && _p(t); if (n || Vc(e) && Vc(t)) { const r = n ? e : Object.keys(e) , i = r.length , o = n ? t : Object.keys(t) , s = o.length , a = n ? [] : {} , l = new Set(r); let u = 0; for (let c = 0; c < s; c++) { const d = n ? c : o[c]; (!n && l.has(d) || n) && e[d] === void 0 && t[d] === void 0 ? (a[d] = void 0, u++) : (a[d] = f0(e[d], t[d]), a[d] === e[d] && e[d] !== void 0 && u++) } return i === s && u === i ? e : a } return t } function _p(e) { return Array.isArray(e) && e.length === Object.keys(e).length } function Vc(e) { if (!zp(e)) return !1; const t = e.constructor; if (t === void 0) return !0; const n = t.prototype; return !(!zp(n) || !n.hasOwnProperty("isPrototypeOf") || Object.getPrototypeOf(e) !== Object.prototype) } function zp(e) { return Object.prototype.toString.call(e) === "[object Object]" } function wC(e) { return new Promise(t => { setTimeout(t, e) } ) } function SC(e, t, n) { return typeof n.structuralSharing == "function" ? n.structuralSharing(e, t) : n.structuralSharing !== !1 ? f0(e, t) : t } function bC(e, t, n=0) { const r = [...e, t]; return n && r.length > n ? r.slice(1) : r } function CC(e, t, n=0) { const r = [t, ...e]; return n && r.length > n ? r.slice(0, -1) : r } var kf = Symbol(); function h0(e, t) { return !e.queryFn && (t != null && t.initialPromise) ? () => t.initialPromise : !e.queryFn || e.queryFn === kf ? () => Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)) : e.queryFn } var Pr, _n, ki, $g, EC = ($g = class extends Al { constructor() { super(); J(this, Pr); J(this, _n); J(this, ki); G(this, ki, t => { if (!Rl && window.addEventListener) { const n = () => t(); return window.addEventListener("visibilitychange", n, !1), () => { window.removeEventListener("visibilitychange", n) } } } ) } onSubscribe() { N(this, _n) || this.setEventListener(N(this, ki)) } onUnsubscribe() { var t; this.hasListeners() || ((t = N(this, _n)) == null || t.call(this), G(this, _n, void 0)) } setEventListener(t) { var n; G(this, ki, t), (n = N(this, _n)) == null || n.call(this), G(this, _n, t(r => { typeof r == "boolean" ? this.setFocused(r) : this.onFocus() } )) } setFocused(t) { N(this, Pr) !== t && (G(this, Pr, t), this.onFocus()) } onFocus() { const t = this.isFocused(); this.listeners.forEach(n => { n(t) } ) } isFocused() { var t; return typeof N(this, Pr) == "boolean" ? N(this, Pr) : ((t = globalThis.document) == null ? void 0 : t.visibilityState) !== "hidden" } } , Pr = new WeakMap, _n = new WeakMap, ki = new WeakMap, $g), p0 = new EC, Ai, zn, Ri, Ug, TC = (Ug = class extends Al { constructor() { super(); J(this, Ai, !0); J(this, zn); J(this, Ri); G(this, Ri, t => { if (!Rl && window.addEventListener) { const n = () => t(!0) , r = () => t(!1); return window.addEventListener("online", n, !1), window.addEventListener("offline", r, !1), () => { window.removeEventListener("online", n), window.removeEventListener("offline", r) } } } ) } onSubscribe() { N(this, zn) || this.setEventListener(N(this, Ri)) } onUnsubscribe() { var t; this.hasListeners() || ((t = N(this, zn)) == null || t.call(this), G(this, zn, void 0)) } setEventListener(t) { var n; G(this, Ri, t), (n = N(this, zn)) == null || n.call(this), G(this, zn, t(this.setOnline.bind(this))) } setOnline(t) { N(this, Ai) !== t && (G(this, Ai, t), this.listeners.forEach(r => { r(t) } )) } isOnline() { return N(this, Ai) } } , Ai = new WeakMap, zn = new WeakMap, Ri = new WeakMap, Ug), Xa = new TC; function PC() { let e, t; const n = new Promise( (i, o) => { e = i, t = o } ); n.status = "pending", n.catch( () => {} ); function r(i) { Object.assign(n, i), delete n.resolve, delete n.reject } return n.resolve = i => { r({ status: "fulfilled", value: i }), e(i) } , n.reject = i => { r({ status: "rejected", reason: i }), t(i) } , n } function kC(e) { return Math.min(1e3 * 2 ** e, 3e4) } function m0(e) { return (e ?? "online") === "online" ? Xa.isOnline() : !0 } var g0 = class extends Error { constructor(e) { super("CancelledError"), this.revert = e == null ? void 0 : e.revert, this.silent = e == null ? void 0 : e.silent } } ; function Su(e) { return e instanceof g0 } function y0(e) { let t = !1, n = 0, r = !1, i; const o = PC() , s = y => { var w; r || (f(new g0(y)), (w = e.abort) == null || w.call(e)) } , a = () => { t = !0 } , l = () => { t = !1 } , u = () => p0.isFocused() && (e.networkMode === "always" || Xa.isOnline()) && e.canRun() , c = () => m0(e.networkMode) && e.canRun() , d = y => { var w; r || (r = !0, (w = e.onSuccess) == null || w.call(e, y), i == null || i(), o.resolve(y)) } , f = y => { var w; r || (r = !0, (w = e.onError) == null || w.call(e, y), i == null || i(), o.reject(y)) } , h = () => new Promise(y => { var w; i = g => { (r || u()) && y(g) } , (w = e.onPause) == null || w.call(e) } ).then( () => { var y; i = void 0, r || (y = e.onContinue) == null || y.call(e) } ) , x = () => { if (r) return; let y; const w = n === 0 ? e.initialPromise : void 0; try { y = w ?? e.fn() } catch (g) { y = Promise.reject(g) } Promise.resolve(y).then(d).catch(g => { var E; if (r) return; const m = e.retry ?? (Rl ? 0 : 3) , v = e.retryDelay ?? kC , b = typeof v == "function" ? v(n, g) : v , C = m === !0 || typeof m == "number" && n < m || typeof m == "function" && m(n, g); if (t || !C) { f(g); return } n++, (E = e.onFail) == null || E.call(e, n, g), wC(b).then( () => u() ? void 0 : h()).then( () => { t ? f(g) : x() } ) } ) } ; return { promise: o, cancel: s, continue: () => (i == null || i(), o), cancelRetry: a, continueRetry: l, canStart: c, start: () => (c() ? x() : h().then(x), o) } } var AC = e => setTimeout(e, 0); function RC() { let e = [] , t = 0 , n = a => { a() } , r = a => { a() } , i = AC; const o = a => { t ? e.push(a) : i( () => { n(a) } ) } , s = () => { const a = e; e = [], a.length && i( () => { r( () => { a.forEach(l => { n(l) } ) } ) } ) } ; return { batch: a => { let l; t++; try { l = a() } finally { t--, t || s() } return l } , batchCalls: a => (...l) => { o( () => { a(...l) } ) } , schedule: o, setNotifyFunction: a => { n = a } , setBatchNotifyFunction: a => { r = a } , setScheduler: a => { i = a } } } var We = RC(), kr, Wg, v0 = (Wg = class { constructor() { J(this, kr) } destroy() { this.clearGcTimeout() } scheduleGc() { this.clearGcTimeout(), yC(this.gcTime) && G(this, kr, setTimeout( () => { this.optionalRemove() } , this.gcTime)) } updateGcTime(e) { this.gcTime = Math.max(this.gcTime || 0, e ?? (Rl ? 1 / 0 : 5 * 60 * 1e3)) } clearGcTimeout() { N(this, kr) && (clearTimeout(N(this, kr)), G(this, kr, void 0)) } } , kr = new WeakMap, Wg), Ni, Ar, pt, Rr, Ve, hs, Nr, jt, an, Hg, NC = (Hg = class extends v0 { constructor(t) { super(); J(this, jt); J(this, Ni); J(this, Ar); J(this, pt); J(this, Rr); J(this, Ve); J(this, hs); J(this, Nr); G(this, Nr, !1), G(this, hs, t.defaultOptions), this.setOptions(t.options), this.observers = [], G(this, Rr, t.client), G(this, pt, N(this, Rr).getQueryCache()), this.queryKey = t.queryKey, this.queryHash = t.queryHash, G(this, Ni, jC(this.options)), this.state = t.state ?? N(this, Ni), this.scheduleGc() } get meta() { return this.options.meta } get promise() { var t; return (t = N(this, Ve)) == null ? void 0 : t.promise } setOptions(t) { this.options = { ...N(this, hs), ...t }, this.updateGcTime(this.options.gcTime) } optionalRemove() { !this.observers.length && this.state.fetchStatus === "idle" && N(this, pt).remove(this) } setData(t, n) { const r = SC(this.state.data, t, this.options); return Oe(this, jt, an).call(this, { data: r, type: "success", dataUpdatedAt: n == null ? void 0 : n.updatedAt, manual: n == null ? void 0 : n.manual }), r } setState(t, n) { Oe(this, jt, an).call(this, { type: "setState", state: t, setStateOptions: n }) } cancel(t) { var r, i; const n = (r = N(this, Ve)) == null ? void 0 : r.promise; return (i = N(this, Ve)) == null || i.cancel(t), n ? n.then(Mt).catch(Mt) : Promise.resolve() } destroy() { super.destroy(), this.cancel({ silent: !0 }) } reset() { this.destroy(), this.setState(N(this, Ni)) } isActive() { return this.observers.some(t => xC(t.options.enabled, this) !== !1) } isDisabled() { return this.getObserversCount() > 0 ? !this.isActive() : this.options.queryFn === kf || this.state.dataUpdateCount + this.state.errorUpdateCount === 0 } isStatic() { return this.getObserversCount() > 0 ? this.observers.some(t => Fc(t.options.staleTime, this) === "static") : !1 } isStale() { return this.getObserversCount() > 0 ? this.observers.some(t => t.getCurrentResult().isStale) : this.state.data === void 0 || this.state.isInvalidated } isStaleByTime(t=0) { return this.state.data === void 0 ? !0 : t === "static" ? !1 : this.state.isInvalidated ? !0 : !vC(this.state.dataUpdatedAt, t) } onFocus() { var n; const t = this.observers.find(r => r.shouldFetchOnWindowFocus()); t == null || t.refetch({ cancelRefetch: !1 }), (n = N(this, Ve)) == null || n.continue() } onOnline() { var n; const t = this.observers.find(r => r.shouldFetchOnReconnect()); t == null || t.refetch({ cancelRefetch: !1 }), (n = N(this, Ve)) == null || n.continue() } addObserver(t) { this.observers.includes(t) || (this.observers.push(t), this.clearGcTimeout(), N(this, pt).notify({ type: "observerAdded", query: this, observer: t })) } removeObserver(t) { this.observers.includes(t) && (this.observers = this.observers.filter(n => n !== t), this.observers.length || (N(this, Ve) && (N(this, Nr) ? N(this, Ve).cancel({ revert: !0 }) : N(this, Ve).cancelRetry()), this.scheduleGc()), N(this, pt).notify({ type: "observerRemoved", query: this, observer: t })) } getObserversCount() { return this.observers.length } invalidate() { this.state.isInvalidated || Oe(this, jt, an).call(this, { type: "invalidate" }) } fetch(t, n) { var u, c, d; if (this.state.fetchStatus !== "idle") { if (this.state.data !== void 0 && (n != null && n.cancelRefetch)) this.cancel({ silent: !0 }); else if (N(this, Ve)) return N(this, Ve).continueRetry(), N(this, Ve).promise } if (t && this.setOptions(t), !this.options.queryFn) { const f = this.observers.find(h => h.options.queryFn); f && this.setOptions(f.options) } const r = new AbortController , i = f => { Object.defineProperty(f, "signal", { enumerable: !0, get: () => (G(this, Nr, !0), r.signal) }) } , o = () => { const f = h0(this.options, n) , x = ( () => { const y = { client: N(this, Rr), queryKey: this.queryKey, meta: this.meta }; return i(y), y } )(); return G(this, Nr, !1), this.options.persister ? this.options.persister(f, x, this) : f(x) } , a = ( () => { const f = { fetchOptions: n, options: this.options, queryKey: this.queryKey, client: N(this, Rr), state: this.state, fetchFn: o }; return i(f), f } )(); (u = this.options.behavior) == null || u.onFetch(a, this), G(this, Ar, this.state), (this.state.fetchStatus === "idle" || this.state.fetchMeta !== ((c = a.fetchOptions) == null ? void 0 : c.meta)) && Oe(this, jt, an).call(this, { type: "fetch", meta: (d = a.fetchOptions) == null ? void 0 : d.meta }); const l = f => { var h, x, y, w; Su(f) && f.silent || Oe(this, jt, an).call(this, { type: "error", error: f }), Su(f) || ((x = (h = N(this, pt).config).onError) == null || x.call(h, f, this), (w = (y = N(this, pt).config).onSettled) == null || w.call(y, this.state.data, f, this)), this.scheduleGc() } ; return G(this, Ve, y0({ initialPromise: n == null ? void 0 : n.initialPromise, fn: a.fetchFn, abort: r.abort.bind(r), onSuccess: f => { var h, x, y, w; if (f === void 0) { l(new Error(`${this.queryHash} data is undefined`)); return } try { this.setData(f) } catch (g) { l(g); return } (x = (h = N(this, pt).config).onSuccess) == null || x.call(h, f, this), (w = (y = N(this, pt).config).onSettled) == null || w.call(y, f, this.state.error, this), this.scheduleGc() } , onError: l, onFail: (f, h) => { Oe(this, jt, an).call(this, { type: "failed", failureCount: f, error: h }) } , onPause: () => { Oe(this, jt, an).call(this, { type: "pause" }) } , onContinue: () => { Oe(this, jt, an).call(this, { type: "continue" }) } , retry: a.options.retry, retryDelay: a.options.retryDelay, networkMode: a.options.networkMode, canRun: () => !0 })), N(this, Ve).start() } } , Ni = new WeakMap, Ar = new WeakMap, pt = new WeakMap, Rr = new WeakMap, Ve = new WeakMap, hs = new WeakMap, Nr = new WeakMap, jt = new WeakSet, an = function(t) { const n = r => { switch (t.type) { case "failed": return { ...r, fetchFailureCount: t.failureCount, fetchFailureReason: t.error }; case "pause": return { ...r, fetchStatus: "paused" }; case "continue": return { ...r, fetchStatus: "fetching" }; case "fetch": return { ...r, ...MC(r.data, this.options), fetchMeta: t.meta ?? null }; case "success": return G(this, Ar, void 0), { ...r, data: t.data, dataUpdateCount: r.dataUpdateCount + 1, dataUpdatedAt: t.dataUpdatedAt ?? Date.now(), error: null, isInvalidated: !1, status: "success", ...!t.manual && { fetchStatus: "idle", fetchFailureCount: 0, fetchFailureReason: null } }; case "error": const i = t.error; return Su(i) && i.revert && N(this, Ar) ? { ...N(this, Ar), fetchStatus: "idle" } : { ...r, error: i, errorUpdateCount: r.errorUpdateCount + 1, errorUpdatedAt: Date.now(), fetchFailureCount: r.fetchFailureCount + 1, fetchFailureReason: i, fetchStatus: "idle", status: "error" }; case "invalidate": return { ...r, isInvalidated: !0 }; case "setState": return { ...r, ...t.state } } } ; this.state = n(this.state), We.batch( () => { this.observers.forEach(r => { r.onQueryUpdate() } ), N(this, pt).notify({ query: this, type: "updated", action: t }) } ) } , Hg); function MC(e, t) { return { fetchFailureCount: 0, fetchFailureReason: null, fetchStatus: m0(t.networkMode) ? "fetching" : "paused", ...e === void 0 && { error: null, status: "pending" } } } function jC(e) { const t = typeof e.initialData == "function" ? e.initialData() : e.initialData , n = t !== void 0 , r = n ? typeof e.initialDataUpdatedAt == "function" ? e.initialDataUpdatedAt() : e.initialDataUpdatedAt : 0; return { data: t, dataUpdateCount: 0, dataUpdatedAt: n ? r ?? Date.now() : 0, error: null, errorUpdateCount: 0, errorUpdatedAt: 0, fetchFailureCount: 0, fetchFailureReason: null, fetchMeta: null, isInvalidated: !1, status: n ? "success" : "pending", fetchStatus: "idle" } } var Gt, Kg, DC = (Kg = class extends Al { constructor(t={}) { super(); J(this, Gt); this.config = t, G(this, Gt, new Map) } build(t, n, r) { const i = n.queryKey , o = n.queryHash ?? Pf(i, n); let s = this.get(o); return s || (s = new NC({ client: t, queryKey: i, queryHash: o, options: t.defaultQueryOptions(n), state: r, defaultOptions: t.getQueryDefaults(i) }), this.add(s)), s } add(t) { N(this, Gt).has(t.queryHash) || (N(this, Gt).set(t.queryHash, t), this.notify({ type: "added", query: t })) } remove(t) { const n = N(this, Gt).get(t.queryHash); n && (t.destroy(), n === t && N(this, Gt).delete(t.queryHash), this.notify({ type: "removed", query: t })) } clear() { We.batch( () => { this.getAll().forEach(t => { this.remove(t) } ) } ) } get(t) { return N(this, Gt).get(t) } getAll() { return [...N(this, Gt).values()] } find(t) { const n = { exact: !0, ...t }; return this.getAll().find(r => Fp(n, r)) } findAll(t={}) { const n = this.getAll(); return Object.keys(t).length > 0 ? n.filter(r => Fp(t, r)) : n } notify(t) { We.batch( () => { this.listeners.forEach(n => { n(t) } ) } ) } onFocus() { We.batch( () => { this.getAll().forEach(t => { t.onFocus() } ) } ) } onOnline() { We.batch( () => { this.getAll().forEach(t => { t.onOnline() } ) } ) } } , Gt = new WeakMap, Kg), Qt, $e, Mr, qt, Mn, Gg, LC = (Gg = class extends v0 { constructor(t) { super(); J(this, qt); J(this, Qt); J(this, $e); J(this, Mr); this.mutationId = t.mutationId, G(this, $e, t.mutationCache), G(this, Qt, []), this.state = t.state || OC(), this.setOptions(t.options), this.scheduleGc() } setOptions(t) { this.options = t, this.updateGcTime(this.options.gcTime) } get meta() { return this.options.meta } addObserver(t) { N(this, Qt).includes(t) || (N(this, Qt).push(t), this.clearGcTimeout(), N(this, $e).notify({ type: "observerAdded", mutation: this, observer: t })) } removeObserver(t) { G(this, Qt, N(this, Qt).filter(n => n !== t)), this.scheduleGc(), N(this, $e).notify({ type: "observerRemoved", mutation: this, observer: t }) } optionalRemove() { N(this, Qt).length || (this.state.status === "pending" ? this.scheduleGc() : N(this, $e).remove(this)) } continue() { var t; return ((t = N(this, Mr)) == null ? void 0 : t.continue()) ?? this.execute(this.state.variables) } async execute(t) { var o, s, a, l, u, c, d, f, h, x, y, w, g, m, v, b, C, E, T, P; const n = () => { Oe(this, qt, Mn).call(this, { type: "continue" }) } ; G(this, Mr, y0({ fn: () => this.options.mutationFn ? this.options.mutationFn(t) : Promise.reject(new Error("No mutationFn found")), onFail: (M, A) => { Oe(this, qt, Mn).call(this, { type: "failed", failureCount: M, error: A }) } , onPause: () => { Oe(this, qt, Mn).call(this, { type: "pause" }) } , onContinue: n, retry: this.options.retry ?? 0, retryDelay: this.options.retryDelay, networkMode: this.options.networkMode, canRun: () => N(this, $e).canRun(this) })); const r = this.state.status === "pending" , i = !N(this, Mr).canStart(); try { if (r) n(); else { Oe(this, qt, Mn).call(this, { type: "pending", variables: t, isPaused: i }), await ((s = (o = N(this, $e).config).onMutate) == null ? void 0 : s.call(o, t, this)); const A = await ((l = (a = this.options).onMutate) == null ? void 0 : l.call(a, t)); A !== this.state.context && Oe(this, qt, Mn).call(this, { type: "pending", context: A, variables: t, isPaused: i }) } const M = await N(this, Mr).start(); return await ((c = (u = N(this, $e).config).onSuccess) == null ? void 0 : c.call(u, M, t, this.state.context, this)), await ((f = (d = this.options).onSuccess) == null ? void 0 : f.call(d, M, t, this.state.context)), await ((x = (h = N(this, $e).config).onSettled) == null ? void 0 : x.call(h, M, null, this.state.variables, this.state.context, this)), await ((w = (y = this.options).onSettled) == null ? void 0 : w.call(y, M, null, t, this.state.context)), Oe(this, qt, Mn).call(this, { type: "success", data: M }), M } catch (M) { try { throw await ((m = (g = N(this, $e).config).onError) == null ? void 0 : m.call(g, M, t, this.state.context, this)), await ((b = (v = this.options).onError) == null ? void 0 : b.call(v, M, t, this.state.context)), await ((E = (C = N(this, $e).config).onSettled) == null ? void 0 : E.call(C, void 0, M, this.state.variables, this.state.context, this)), await ((P = (T = this.options).onSettled) == null ? void 0 : P.call(T, void 0, M, t, this.state.context)), M } finally { Oe(this, qt, Mn).call(this, { type: "error", error: M }) } } finally { N(this, $e).runNext(this) } } } , Qt = new WeakMap, $e = new WeakMap, Mr = new WeakMap, qt = new WeakSet, Mn = function(t) { const n = r => { switch (t.type) { case "failed": return { ...r, failureCount: t.failureCount, failureReason: t.error }; case "pause": return { ...r, isPaused: !0 }; case "continue": return { ...r, isPaused: !1 }; case "pending": return { ...r, context: t.context, data: void 0, failureCount: 0, failureReason: null, error: null, isPaused: t.isPaused, status: "pending", variables: t.variables, submittedAt: Date.now() }; case "success": return { ...r, data: t.data, failureCount: 0, failureReason: null, error: null, status: "success", isPaused: !1 }; case "error": return { ...r, data: void 0, error: t.error, failureCount: r.failureCount + 1, failureReason: t.error, isPaused: !1, status: "error" } } } ; this.state = n(this.state), We.batch( () => { N(this, Qt).forEach(r => { r.onMutationUpdate(t) } ), N(this, $e).notify({ mutation: this, type: "updated", action: t }) } ) } , Gg); function OC() { return { context: void 0, data: void 0, error: null, failureCount: 0, failureReason: null, isPaused: !1, status: "idle", variables: void 0, submittedAt: 0 } } var cn, Dt, ps, Qg, IC = (Qg = class extends Al { constructor(t={}) { super(); J(this, cn); J(this, Dt); J(this, ps); this.config = t, G(this, cn, new Set), G(this, Dt, new Map), G(this, ps, 0) } build(t, n, r) { const i = new LC({ mutationCache: this, mutationId: ++Ms(this, ps)._, options: t.defaultMutationOptions(n), state: r }); return this.add(i), i } add(t) { N(this, cn).add(t); const n = qs(t); if (typeof n == "string") { const r = N(this, Dt).get(n); r ? r.push(t) : N(this, Dt).set(n, [t]) } this.notify({ type: "added", mutation: t }) } remove(t) { if (N(this, cn).delete(t)) { const n = qs(t); if (typeof n == "string") { const r = N(this, Dt).get(n); if (r) if (r.length > 1) { const i = r.indexOf(t); i !== -1 && r.splice(i, 1) } else r[0] === t && N(this, Dt).delete(n) } } this.notify({ type: "removed", mutation: t }) } canRun(t) { const n = qs(t); if (typeof n == "string") { const r = N(this, Dt).get(n) , i = r == null ? void 0 : r.find(o => o.state.status === "pending"); return !i || i === t } else return !0 } runNext(t) { var r; const n = qs(t); if (typeof n == "string") { const i = (r = N(this, Dt).get(n)) == null ? void 0 : r.find(o => o !== t && o.state.isPaused); return (i == null ? void 0 : i.continue()) ?? Promise.resolve() } else return Promise.resolve() } clear() { We.batch( () => { N(this, cn).forEach(t => { this.notify({ type: "removed", mutation: t }) } ), N(this, cn).clear(), N(this, Dt).clear() } ) } getAll() { return Array.from(N(this, cn)) } find(t) { const n = { exact: !0, ...t }; return this.getAll().find(r => Vp(n, r)) } findAll(t={}) { return this.getAll().filter(n => Vp(t, n)) } notify(t) { We.batch( () => { this.listeners.forEach(n => { n(t) } ) } ) } resumePausedMutations() { const t = this.getAll().filter(n => n.state.isPaused); return We.batch( () => Promise.all(t.map(n => n.continue().catch(Mt)))) } } , cn = new WeakMap, Dt = new WeakMap, ps = new WeakMap, Qg); function qs(e) { var t; return (t = e.options.scope) == null ? void 0 : t.id } function Bp(e) { return { onFetch: (t, n) => { var c, d, f, h, x; const r = t.options , i = (f = (d = (c = t.fetchOptions) == null ? void 0 : c.meta) == null ? void 0 : d.fetchMore) == null ? void 0 : f.direction , o = ((h = t.state.data) == null ? void 0 : h.pages) || [] , s = ((x = t.state.data) == null ? void 0 : x.pageParams) || []; let a = { pages: [], pageParams: [] } , l = 0; const u = async () => { let y = !1; const w = v => { Object.defineProperty(v, "signal", { enumerable: !0, get: () => (t.signal.aborted ? y = !0 : t.signal.addEventListener("abort", () => { y = !0 } ), t.signal) }) } , g = h0(t.options, t.fetchOptions) , m = async (v, b, C) => { if (y) return Promise.reject(); if (b == null && v.pages.length) return Promise.resolve(v); const T = ( () => { const F = { client: t.client, queryKey: t.queryKey, pageParam: b, direction: C ? "backward" : "forward", meta: t.options.meta }; return w(F), F } )() , P = await g(T) , {maxPages: M} = t.options , A = C ? CC : bC; return { pages: A(v.pages, P, M), pageParams: A(v.pageParams, b, M) } } ; if (i && o.length) { const v = i === "backward" , b = v ? FC : $p , C = { pages: o, pageParams: s } , E = b(r, C); a = await m(C, E, v) } else { const v = e ?? o.length; do { const b = l === 0 ? s[0] ?? r.initialPageParam : $p(r, a); if (l > 0 && b == null) break; a = await m(a, b), l++ } while (l < v) } return a } ; t.options.persister ? t.fetchFn = () => { var y, w; return (w = (y = t.options).persister) == null ? void 0 : w.call(y, u, { client: t.client, queryKey: t.queryKey, meta: t.options.meta, signal: t.signal }, n) } : t.fetchFn = u } } } function $p(e, {pages: t, pageParams: n}) { const r = t.length - 1; return t.length > 0 ? e.getNextPageParam(t[r], t, n[r], n) : void 0 } function FC(e, {pages: t, pageParams: n}) { var r; return t.length > 0 ? (r = e.getPreviousPageParam) == null ? void 0 : r.call(e, t[0], t, n[0], n) : void 0 } var ge, Bn, $n, Mi, ji, Un, Di, Li, qg, VC = (qg = class { constructor(e={}) { J(this, ge); J(this, Bn); J(this, $n); J(this, Mi); J(this, ji); J(this, Un); J(this, Di); J(this, Li); G(this, ge, e.queryCache || new DC), G(this, Bn, e.mutationCache || new IC), G(this, $n, e.defaultOptions || {}), G(this, Mi, new Map), G(this, ji, new Map), G(this, Un, 0) } mount() { Ms(this, Un)._++, N(this, Un) === 1 && (G(this, Di, p0.subscribe(async e => { e && (await this.resumePausedMutations(), N(this, ge).onFocus()) } )), G(this, Li, Xa.subscribe(async e => { e && (await this.resumePausedMutations(), N(this, ge).onOnline()) } ))) } unmount() { var e, t; Ms(this, Un)._--, N(this, Un) === 0 && ((e = N(this, Di)) == null || e.call(this), G(this, Di, void 0), (t = N(this, Li)) == null || t.call(this), G(this, Li, void 0)) } isFetching(e) { return N(this, ge).findAll({ ...e, fetchStatus: "fetching" }).length } isMutating(e) { return N(this, Bn).findAll({ ...e, status: "pending" }).length } getQueryData(e) { var n; const t = this.defaultQueryOptions({ queryKey: e }); return (n = N(this, ge).get(t.queryHash)) == null ? void 0 : n.state.data } ensureQueryData(e) { const t = this.defaultQueryOptions(e) , n = N(this, ge).build(this, t) , r = n.state.data; return r === void 0 ? this.fetchQuery(e) : (e.revalidateIfStale && n.isStaleByTime(Fc(t.staleTime, n)) && this.prefetchQuery(t), Promise.resolve(r)) } getQueriesData(e) { return N(this, ge).findAll(e).map( ({queryKey: t, state: n}) => { const r = n.data; return [t, r] } ) } setQueryData(e, t, n) { const r = this.defaultQueryOptions({ queryKey: e }) , i = N(this, ge).get(r.queryHash) , o = i == null ? void 0 : i.state.data , s = gC(t, o); if (s !== void 0) return N(this, ge).build(this, r).setData(s, { ...n, manual: !0 }) } setQueriesData(e, t, n) { return We.batch( () => N(this, ge).findAll(e).map( ({queryKey: r}) => [r, this.setQueryData(r, t, n)])) } getQueryState(e) { var n; const t = this.defaultQueryOptions({ queryKey: e }); return (n = N(this, ge).get(t.queryHash)) == null ? void 0 : n.state } removeQueries(e) { const t = N(this, ge); We.batch( () => { t.findAll(e).forEach(n => { t.remove(n) } ) } ) } resetQueries(e, t) { const n = N(this, ge); return We.batch( () => (n.findAll(e).forEach(r => { r.reset() } ), this.refetchQueries({ type: "active", ...e }, t))) } cancelQueries(e, t={}) { const n = { revert: !0, ...t } , r = We.batch( () => N(this, ge).findAll(e).map(i => i.cancel(n))); return Promise.all(r).then(Mt).catch(Mt) } invalidateQueries(e, t={}) { return We.batch( () => (N(this, ge).findAll(e).forEach(n => { n.invalidate() } ), (e == null ? void 0 : e.refetchType) === "none" ? Promise.resolve() : this.refetchQueries({ ...e, type: (e == null ? void 0 : e.refetchType) ?? (e == null ? void 0 : e.type) ?? "active" }, t))) } refetchQueries(e, t={}) { const n = { ...t, cancelRefetch: t.cancelRefetch ?? !0 } , r = We.batch( () => N(this, ge).findAll(e).filter(i => !i.isDisabled() && !i.isStatic()).map(i => { let o = i.fetch(void 0, n); return n.throwOnError || (o = o.catch(Mt)), i.state.fetchStatus === "paused" ? Promise.resolve() : o } )); return Promise.all(r).then(Mt) } fetchQuery(e) { const t = this.defaultQueryOptions(e); t.retry === void 0 && (t.retry = !1); const n = N(this, ge).build(this, t); return n.isStaleByTime(Fc(t.staleTime, n)) ? n.fetch(t) : Promise.resolve(n.state.data) } prefetchQuery(e) { return this.fetchQuery(e).then(Mt).catch(Mt) } fetchInfiniteQuery(e) { return e.behavior = Bp(e.pages), this.fetchQuery(e) } prefetchInfiniteQuery(e) { return this.fetchInfiniteQuery(e).then(Mt).catch(Mt) } ensureInfiniteQueryData(e) { return e.behavior = Bp(e.pages), this.ensureQueryData(e) } resumePausedMutations() { return Xa.isOnline() ? N(this, Bn).resumePausedMutations() : Promise.resolve() } getQueryCache() { return N(this, ge) } getMutationCache() { return N(this, Bn) } getDefaultOptions() { return N(this, $n) } setDefaultOptions(e) { G(this, $n, e) } setQueryDefaults(e, t) { N(this, Mi).set(rs(e), { queryKey: e, defaultOptions: t }) } getQueryDefaults(e) { const t = [...N(this, Mi).values()] , n = {}; return t.forEach(r => { is(e, r.queryKey) && Object.assign(n, r.defaultOptions) } ), n } setMutationDefaults(e, t) { N(this, ji).set(rs(e), { mutationKey: e, defaultOptions: t }) } getMutationDefaults(e) { const t = [...N(this, ji).values()] , n = {}; return t.forEach(r => { is(e, r.mutationKey) && Object.assign(n, r.defaultOptions) } ), n } defaultQueryOptions(e) { if (e._defaulted) return e; const t = { ...N(this, $n).queries, ...this.getQueryDefaults(e.queryKey), ...e, _defaulted: !0 }; return t.queryHash || (t.queryHash = Pf(t.queryKey, t)), t.refetchOnReconnect === void 0 && (t.refetchOnReconnect = t.networkMode !== "always"), t.throwOnError === void 0 && (t.throwOnError = !!t.suspense), !t.networkMode && t.persister && (t.networkMode = "offlineFirst"), t.queryFn === kf && (t.enabled = !1), t } defaultMutationOptions(e) { return e != null && e._defaulted ? e : { ...N(this, $n).mutations, ...(e == null ? void 0 : e.mutationKey) && this.getMutationDefaults(e.mutationKey), ...e, _defaulted: !0 } } clear() { N(this, ge).clear(), N(this, Bn).clear() } } , ge = new WeakMap, Bn = new WeakMap, $n = new WeakMap, Mi = new WeakMap, ji = new WeakMap, Un = new WeakMap, Di = new WeakMap, Li = new WeakMap, qg), _C = S.createContext(void 0), zC = ({client: e, children: t}) => (S.useEffect( () => (e.mount(), () => { e.unmount() } ), [e]), p.jsx(_C.Provider, { value: e, children: t })); /** * @remix-run/router v1.23.0 * * Copyright (c) Remix Software Inc. * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */ function os() { return os = Object.assign ? Object.assign.bind() : function(e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) } return e } , os.apply(this, arguments) } var Kn; (function(e) { e.Pop = "POP", e.Push = "PUSH", e.Replace = "REPLACE" } )(Kn || (Kn = {})); const Up = "popstate"; function BC(e) { e === void 0 && (e = {}); function t(r, i) { let {pathname: o, search: s, hash: a} = r.location; return _c("", { pathname: o, search: s, hash: a }, i.state && i.state.usr || null, i.state && i.state.key || "default") } function n(r, i) { return typeof i == "string" ? i : Za(i) } return UC(t, n, null, e) } function Ce(e, t) { if (e === !1 || e === null || typeof e > "u") throw new Error(t) } function x0(e, t) { if (!e) { typeof console < "u" && console.warn(t); try { throw new Error(t) } catch {} } } function $C() { return Math.random().toString(36).substr(2, 8) } function Wp(e, t) { return { usr: e.state, key: e.key, idx: t } } function _c(e, t, n, r) { return n === void 0 && (n = null), os({ pathname: typeof e == "string" ? e : e.pathname, search: "", hash: "" }, typeof t == "string" ? Yi(t) : t, { state: n, key: t && t.key || r || $C() }) } function Za(e) { let {pathname: t="/", search: n="", hash: r=""} = e; return n && n !== "?" && (t += n.charAt(0) === "?" ? n : "?" + n), r && r !== "#" && (t += r.charAt(0) === "#" ? r : "#" + r), t } function Yi(e) { let t = {}; if (e) { let n = e.indexOf("#"); n >= 0 && (t.hash = e.substr(n), e = e.substr(0, n)); let r = e.indexOf("?"); r >= 0 && (t.search = e.substr(r), e = e.substr(0, r)), e && (t.pathname = e) } return t } function UC(e, t, n, r) { r === void 0 && (r = {}); let {window: i=document.defaultView, v5Compat: o=!1} = r , s = i.history , a = Kn.Pop , l = null , u = c(); u == null && (u = 0, s.replaceState(os({}, s.state, { idx: u }), "")); function c() { return (s.state || { idx: null }).idx } function d() { a = Kn.Pop; let w = c() , g = w == null ? null : w - u; u = w, l && l({ action: a, location: y.location, delta: g }) } function f(w, g) { a = Kn.Push; let m = _c(y.location, w, g); u = c() + 1; let v = Wp(m, u) , b = y.createHref(m); try { s.pushState(v, "", b) } catch (C) { if (C instanceof DOMException && C.name === "DataCloneError") throw C; i.location.assign(b) } o && l && l({ action: a, location: y.location, delta: 1 }) } function h(w, g) { a = Kn.Replace; let m = _c(y.location, w, g); u = c(); let v = Wp(m, u) , b = y.createHref(m); s.replaceState(v, "", b), o && l && l({ action: a, location: y.location, delta: 0 }) } function x(w) { let g = i.location.origin !== "null" ? i.location.origin : i.location.href , m = typeof w == "string" ? w : Za(w); return m = m.replace(/ $/, "%20"), Ce(g, "No window.location.(origin|href) available to create URL for href: " + m), new URL(m,g) } let y = { get action() { return a }, get location() { return e(i, s) }, listen(w) { if (l) throw new Error("A history only accepts one active listener"); return i.addEventListener(Up, d), l = w, () => { i.removeEventListener(Up, d), l = null } }, createHref(w) { return t(i, w) }, createURL: x, encodeLocation(w) { let g = x(w); return { pathname: g.pathname, search: g.search, hash: g.hash } }, push: f, replace: h, go(w) { return s.go(w) } }; return y } var Hp; (function(e) { e.data = "data", e.deferred = "deferred", e.redirect = "redirect", e.error = "error" } )(Hp || (Hp = {})); function WC(e, t, n) { return n === void 0 && (n = "/"), HC(e, t, n, !1) } function HC(e, t, n, r) { let i = typeof t == "string" ? Yi(t) : t , o = Af(i.pathname || "/", n); if (o == null) return null; let s = w0(e); KC(s); let a = null; for (let l = 0; a == null && l < s.length; ++l) { let u = rE(o); a = tE(s[l], u, r) } return a } function w0(e, t, n, r) { t === void 0 && (t = []), n === void 0 && (n = []), r === void 0 && (r = ""); let i = (o, s, a) => { let l = { relativePath: a === void 0 ? o.path || "" : a, caseSensitive: o.caseSensitive === !0, childrenIndex: s, route: o }; l.relativePath.startsWith("/") && (Ce(l.relativePath.startsWith(r), 'Absolute route path "' + l.relativePath + '" nested under path ' + ('"' + r + '" is not valid. An absolute child route path ') + "must start with the combined path of all its parent routes."), l.relativePath = l.relativePath.slice(r.length)); let u = nr([r, l.relativePath]) , c = n.concat(l); o.children && o.children.length > 0 && (Ce(o.index !== !0, "Index routes must not have child routes. Please remove " + ('all child routes from route path "' + u + '".')), w0(o.children, t, c, u)), !(o.path == null && !o.index) && t.push({ path: u, score: JC(u, o.index), routesMeta: c }) } ; return e.forEach( (o, s) => { var a; if (o.path === "" || !((a = o.path) != null && a.includes("?"))) i(o, s); else for (let l of S0(o.path)) i(o, s, l) } ), t } function S0(e) { let t = e.split("/"); if (t.length === 0) return []; let[n,...r] = t , i = n.endsWith("?") , o = n.replace(/?$/, ""); if (r.length === 0) return i ? [o, ""] : [o]; let s = S0(r.join("/")) , a = []; return a.push(...s.map(l => l === "" ? o : [o, l].join("/"))), i && a.push(...s), a.map(l => e.startsWith("/") && l === "" ? "/" : l) } function KC(e) { e.sort( (t, n) => t.score !== n.score ? n.score - t.score : eE(t.routesMeta.map(r => r.childrenIndex), n.routesMeta.map(r => r.childrenIndex))) } const GC = /^:[w-]+$/ , QC = 3 , qC = 2 , YC = 1 , XC = 10 , ZC = -2 , Kp = e => e === "*"; function JC(e, t) { let n = e.split("/") , r = n.length; return n.some(Kp) && (r += ZC), t && (r += qC), n.filter(i => !Kp(i)).reduce( (i, o) => i + (GC.test(o) ? QC : o === "" ? YC : XC), r) } function eE(e, t) { return e.length === t.length && e.slice(0, -1).every( (r, i) => r === t[i]) ? e[e.length - 1] - t[t.length - 1] : 0 } function tE(e, t, n) { let {routesMeta: r} = e , i = {} , o = "/" , s = []; for (let a = 0; a < r.length; ++a) { let l = r[a] , u = a === r.length - 1 , c = o === "/" ? t : t.slice(o.length) || "/" , d = Gp({ path: l.relativePath, caseSensitive: l.caseSensitive, end: u }, c) , f = l.route; if (!d && u && n && !r[r.length - 1].route.index && (d = Gp({ path: l.relativePath, caseSensitive: l.caseSensitive, end: !1 }, c)), !d) return null; Object.assign(i, d.params), s.push({ params: i, pathname: nr([o, d.pathname]), pathnameBase: aE(nr([o, d.pathnameBase])), route: f }), d.pathnameBase !== "/" && (o = nr([o, d.pathnameBase])) } return s } function Gp(e, t) { typeof e == "string" && (e = { path: e, caseSensitive: !1, end: !0 }); let[n,r] = nE(e.path, e.caseSensitive, e.end) , i = t.match(n); if (!i) return null; let o = i[0] , s = o.replace(/(.)/+$/, "$1") , a = i.slice(1); return { params: r.reduce( (u, c, d) => { let {paramName: f, isOptional: h} = c; if (f === "*") { let y = a[d] || ""; s = o.slice(0, o.length - y.length).replace(/(.)/+$/, "$1") } const x = a[d]; return h && !x ? u[f] = void 0 : u[f] = (x || "").replace(/%2F/g, "/"), u } , {}), pathname: o, pathnameBase: s, pattern: e } } function nE(e, t, n) { t === void 0 && (t = !1), n === void 0 && (n = !0), x0(e === "*" || !e.endsWith("*") || e.endsWith("/*"), 'Route path "' + e + '" will be treated as if it were ' + ('"' + e.replace(/*$/, "/*") + '" because the `*` character must ') + "always follow a `/` in the pattern. To get rid of this warning, " + ('please change the route path to "' + e.replace(/*$/, "/*") + '".')); let r = [] , i = "^" + e.replace(//**?$/, "").replace(/^/*/, "/").replace(/[.*+^${}|()[]]/g, "$&").replace(//:([w-]+)(?)?/g, (s, a, l) => (r.push({ paramName: a, isOptional: l != null }), l ? "/?([^/]+)?" : "/([^/]+)")); return e.endsWith("*") ? (r.push({ paramName: "*" }), i += e === "*" || e === "/*" ? "(.*)$" : "(?:/(.+)|/*)$") : n ? i += "/*$" : e !== "" && e !== "/" && (i += "(?:(?=/|$))"), [new RegExp(i,t ? void 0 : "i"), r] } function rE(e) { try { return e.split("/").map(t => decodeURIComponent(t).replace(///g, "%2F")).join("/") } catch (t) { return x0(!1, 'The URL path "' + e + '" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent ' + ("encoding (" + t + ").")), e } } function Af(e, t) { if (t === "/") return e; if (!e.toLowerCase().startsWith(t.toLowerCase())) return null; let n = t.endsWith("/") ? t.length - 1 : t.length , r = e.charAt(n); return r && r !== "/" ? null : e.slice(n) || "/" } function iE(e, t) { t === void 0 && (t = "/"); let {pathname: n, search: r="", hash: i=""} = typeof e == "string" ? Yi(e) : e; return { pathname: n ? n.startsWith("/") ? n : oE(n, t) : t, search: lE(r), hash: uE(i) } } function oE(e, t) { let n = t.replace(//+$/, "").split("/"); return e.split("/").forEach(i => { i === ".." ? n.length > 1 && n.pop() : i !== "." && n.push(i) } ), n.length > 1 ? n.join("/") : "/" } function bu(e, t, n, r) { return "Cannot include a '" + e + "' character in a manually specified " + ("`to." + t + "` field [" + JSON.stringify(r) + "]. Please separate it out to the ") + ("`to." + n + "` field. Alternatively you may provide the full path as ") + 'a string in and the router will parse it for you.' } function sE(e) { return e.filter( (t, n) => n === 0 || t.route.path && t.route.path.length > 0) } function b0(e, t) { let n = sE(e); return t ? n.map( (r, i) => i === n.length - 1 ? r.pathname : r.pathnameBase) : n.map(r => r.pathnameBase) } function C0(e, t, n, r) { r === void 0 && (r = !1); let i; typeof e == "string" ? i = Yi(e) : (i = os({}, e), Ce(!i.pathname || !i.pathname.includes("?"), bu("?", "pathname", "search", i)), Ce(!i.pathname || !i.pathname.includes("#"), bu("#", "pathname", "hash", i)), Ce(!i.search || !i.search.includes("#"), bu("#", "search", "hash", i))); let o = e === "" || i.pathname === "", s = o ? "/" : i.pathname, a; if (s == null) a = n; else { let d = t.length - 1; if (!r && s.startsWith("..")) { let f = s.split("/"); for (; f[0] === ".."; ) f.shift(), d -= 1; i.pathname = f.join("/") } a = d >= 0 ? t[d] : "/" } let l = iE(i, a) , u = s && s !== "/" && s.endsWith("/") , c = (o || s === ".") && n.endsWith("/"); return !l.pathname.endsWith("/") && (u || c) && (l.pathname += "/"), l } const nr = e => e.join("/").replace(///+/g, "/") , aE = e => e.replace(//+$/, "").replace(/^/*/, "/") , lE = e => !e || e === "?" ? "" : e.startsWith("?") ? e : "?" + e , uE = e => !e || e === "#" ? "" : e.startsWith("#") ? e : "#" + e; function cE(e) { return e != null && typeof e.status == "number" && typeof e.statusText == "string" && typeof e.internal == "boolean" && "data"in e } const E0 = ["post", "put", "patch", "delete"]; new Set(E0); const dE = ["get", ...E0]; new Set(dE); /** * React Router v6.30.1 * * Copyright (c) Remix Software Inc. * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */ function ss() { return ss = Object.assign ? Object.assign.bind() : function(e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) } return e } , ss.apply(this, arguments) } const Rf = S.createContext(null) , fE = S.createContext(null) , Ur = S.createContext(null) , Nl = S.createContext(null) , Wr = S.createContext({ outlet: null, matches: [], isDataRoute: !1 }) , T0 = S.createContext(null); function hE(e, t) { let {relative: n} = t === void 0 ? {} : t; Ss() || Ce(!1); let {basename: r, navigator: i} = S.useContext(Ur) , {hash: o, pathname: s, search: a} = k0(e, { relative: n }) , l = s; return r !== "/" && (l = s === "/" ? r : nr([r, s])), i.createHref({ pathname: l, search: a, hash: o }) } function Ss() { return S.useContext(Nl) != null } function Xi() { return Ss() || Ce(!1), S.useContext(Nl).location } function P0(e) { S.useContext(Ur).static || S.useLayoutEffect(e) } function pE() { let {isDataRoute: e} = S.useContext(Wr); return e ? kE() : mE() } function mE() { Ss() || Ce(!1); let e = S.useContext(Rf) , {basename: t, future: n, navigator: r} = S.useContext(Ur) , {matches: i} = S.useContext(Wr) , {pathname: o} = Xi() , s = JSON.stringify(b0(i, n.v7_relativeSplatPath)) , a = S.useRef(!1); return P0( () => { a.current = !0 } ), S.useCallback(function(u, c) { if (c === void 0 && (c = {}), !a.current) return; if (typeof u == "number") { r.go(u); return } let d = C0(u, JSON.parse(s), o, c.relative === "path"); e == null && t !== "/" && (d.pathname = d.pathname === "/" ? t : nr([t, d.pathname])), (c.replace ? r.replace : r.push)(d, c.state, c) }, [t, r, s, o, e]) } function k0(e, t) { let {relative: n} = t === void 0 ? {} : t , {future: r} = S.useContext(Ur) , {matches: i} = S.useContext(Wr) , {pathname: o} = Xi() , s = JSON.stringify(b0(i, r.v7_relativeSplatPath)); return S.useMemo( () => C0(e, JSON.parse(s), o, n === "path"), [e, s, o, n]) } function gE(e, t) { return yE(e, t) } function yE(e, t, n, r) { Ss() || Ce(!1); let {navigator: i} = S.useContext(Ur) , {matches: o} = S.useContext(Wr) , s = o[o.length - 1] , a = s ? s.params : {}; s && s.pathname; let l = s ? s.pathnameBase : "/"; s && s.route; let u = Xi(), c; if (t) { var d; let w = typeof t == "string" ? Yi(t) : t; l === "/" || (d = w.pathname) != null && d.startsWith(l) || Ce(!1), c = w } else c = u; let f = c.pathname || "/" , h = f; if (l !== "/") { let w = l.replace(/^//, "").split("/"); h = "/" + f.replace(/^//, "").split("/").slice(w.length).join("/") } let x = WC(e, { pathname: h }) , y = bE(x && x.map(w => Object.assign({}, w, { params: Object.assign({}, a, w.params), pathname: nr([l, i.encodeLocation ? i.encodeLocation(w.pathname).pathname : w.pathname]), pathnameBase: w.pathnameBase === "/" ? l : nr([l, i.encodeLocation ? i.encodeLocation(w.pathnameBase).pathname : w.pathnameBase]) })), o, n, r); return t && y ? S.createElement(Nl.Provider, { value: { location: ss({ pathname: "/", search: "", hash: "", state: null, key: "default" }, c), navigationType: Kn.Pop } }, y) : y } function vE() { let e = PE() , t = cE(e) ? e.status + " " + e.statusText : e instanceof Error ? e.message : JSON.stringify(e) , n = e instanceof Error ? e.stack : null , i = { padding: "0.5rem", backgroundColor: "rgba(200,200,200, 0.5)" }; return S.createElement(S.Fragment, null, S.createElement("h2", null, "Unexpected Application Error!"), S.createElement("h3", { style: { fontStyle: "italic" } }, t), n ? S.createElement("pre", { style: i }, n) : null, null) } const xE = S.createElement(vE, null); class wE extends S.Component { constructor(t) { super(t), this.state = { location: t.location, revalidation: t.revalidation, error: t.error } } static getDerivedStateFromError(t) { return { error: t } } static getDerivedStateFromProps(t, n) { return n.location !== t.location || n.revalidation !== "idle" && t.revalidation === "idle" ? { error: t.error, location: t.location, revalidation: t.revalidation } : { error: t.error !== void 0 ? t.error : n.error, location: n.location, revalidation: t.revalidation || n.revalidation } } componentDidCatch(t, n) { console.error("React Router caught the following error during render", t, n) } render() { return this.state.error !== void 0 ? S.createElement(Wr.Provider, { value: this.props.routeContext }, S.createElement(T0.Provider, { value: this.state.error, children: this.props.component })) : this.props.children } } function SE(e) { let {routeContext: t, match: n, children: r} = e , i = S.useContext(Rf); return i && i.static && i.staticContext && (n.route.errorElement || n.route.ErrorBoundary) && (i.staticContext._deepestRenderedBoundaryId = n.route.id), S.createElement(Wr.Provider, { value: t }, r) } function bE(e, t, n, r) { var i; if (t === void 0 && (t = []), n === void 0 && (n = null), r === void 0 && (r = null), e == null) { var o; if (!n) return null; if (n.errors) e = n.matches; else if ((o = r) != null && o.v7_partialHydration && t.length === 0 && !n.initialized && n.matches.length > 0) e = n.matches; else return null } let s = e , a = (i = n) == null ? void 0 : i.errors; if (a != null) { let c = s.findIndex(d => d.route.id && (a == null ? void 0 : a[d.route.id]) !== void 0); c >= 0 || Ce(!1), s = s.slice(0, Math.min(s.length, c + 1)) } let l = !1 , u = -1; if (n && r && r.v7_partialHydration) for (let c = 0; c < s.length; c++) { let d = s[c]; if ((d.route.HydrateFallback || d.route.hydrateFallbackElement) && (u = c), d.route.id) { let {loaderData: f, errors: h} = n , x = d.route.loader && f[d.route.id] === void 0 && (!h || h[d.route.id] === void 0); if (d.route.lazy || x) { l = !0, u >= 0 ? s = s.slice(0, u + 1) : s = [s[0]]; break } } } return s.reduceRight( (c, d, f) => { let h, x = !1, y = null, w = null; n && (h = a && d.route.id ? a[d.route.id] : void 0, y = d.route.errorElement || xE, l && (u < 0 && f === 0 ? (x = !0, w = null) : u === f && (x = !0, w = d.route.hydrateFallbackElement || null))); let g = t.concat(s.slice(0, f + 1)) , m = () => { let v; return h ? v = y : x ? v = w : d.route.Component ? v = S.createElement(d.route.Component, null) : d.route.element ? v = d.route.element : v = c, S.createElement(SE, { match: d, routeContext: { outlet: c, matches: g, isDataRoute: n != null }, children: v }) } ; return n && (d.route.ErrorBoundary || d.route.errorElement || f === 0) ? S.createElement(wE, { location: n.location, revalidation: n.revalidation, component: y, error: h, children: m(), routeContext: { outlet: null, matches: g, isDataRoute: !0 } }) : m() } , null) } var A0 = function(e) { return e.UseBlocker = "useBlocker", e.UseRevalidator = "useRevalidator", e.UseNavigateStable = "useNavigate", e }(A0 || {}) , Ja = function(e) { return e.UseBlocker = "useBlocker", e.UseLoaderData = "useLoaderData", e.UseActionData = "useActionData", e.UseRouteError = "useRouteError", e.UseNavigation = "useNavigation", e.UseRouteLoaderData = "useRouteLoaderData", e.UseMatches = "useMatches", e.UseRevalidator = "useRevalidator", e.UseNavigateStable = "useNavigate", e.UseRouteId = "useRouteId", e }(Ja || {}); function CE(e) { let t = S.useContext(Rf); return t || Ce(!1), t } function EE(e) { let t = S.useContext(fE); return t || Ce(!1), t } function TE(e) { let t = S.useContext(Wr); return t || Ce(!1), t } function R0(e) { let t = TE() , n = t.matches[t.matches.length - 1]; return n.route.id || Ce(!1), n.route.id } function PE() { var e; let t = S.useContext(T0) , n = EE(Ja.UseRouteError) , r = R0(Ja.UseRouteError); return t !== void 0 ? t : (e = n.errors) == null ? void 0 : e[r] } function kE() { let {router: e} = CE(A0.UseNavigateStable) , t = R0(Ja.UseNavigateStable) , n = S.useRef(!1); return P0( () => { n.current = !0 } ), S.useCallback(function(i, o) { o === void 0 && (o = {}), n.current && (typeof i == "number" ? e.navigate(i) : e.navigate(i, ss({ fromRouteId: t }, o))) }, [e, t]) } function AE(e, t) { e == null || e.v7_startTransition, e == null || e.v7_relativeSplatPath } function jn(e) { Ce(!1) } function RE(e) { let {basename: t="/", children: n=null, location: r, navigationType: i=Kn.Pop, navigator: o, static: s=!1, future: a} = e; Ss() && Ce(!1); let l = t.replace(/^/*/, "/") , u = S.useMemo( () => ({ basename: l, navigator: o, static: s, future: ss({ v7_relativeSplatPath: !1 }, a) }), [l, a, o, s]); typeof r == "string" && (r = Yi(r)); let {pathname: c="/", search: d="", hash: f="", state: h=null, key: x="default"} = r , y = S.useMemo( () => { let w = Af(c, l); return w == null ? null : { location: { pathname: w, search: d, hash: f, state: h, key: x }, navigationType: i } } , [l, c, d, f, h, x, i]); return y == null ? null : S.createElement(Ur.Provider, { value: u }, S.createElement(Nl.Provider, { children: n, value: y })) } function NE(e) { let {children: t, location: n} = e; return gE(zc(t), n) } new Promise( () => {} ); function zc(e, t) { t === void 0 && (t = []); let n = []; return S.Children.forEach(e, (r, i) => { if (!S.isValidElement(r)) return; let o = [...t, i]; if (r.type === S.Fragment) { n.push.apply(n, zc(r.props.children, o)); return } r.type !== jn && Ce(!1), !r.props.index || !r.props.children || Ce(!1); let s = { id: r.props.id || o.join("-"), caseSensitive: r.props.caseSensitive, element: r.props.element, Component: r.props.Component, index: r.props.index, path: r.props.path, loader: r.props.loader, action: r.props.action, errorElement: r.props.errorElement, ErrorBoundary: r.props.ErrorBoundary, hasErrorBoundary: r.props.ErrorBoundary != null || r.props.errorElement != null, shouldRevalidate: r.props.shouldRevalidate, handle: r.props.handle, lazy: r.props.lazy }; r.props.children && (s.children = zc(r.props.children, o)), n.push(s) } ), n } /** * React Router DOM v6.30.1 * * Copyright (c) Remix Software Inc. * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */ function Bc() { return Bc = Object.assign ? Object.assign.bind() : function(e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) } return e } , Bc.apply(this, arguments) } function ME(e, t) { if (e == null) return {}; var n = {}, r = Object.keys(e), i, o; for (o = 0; o < r.length; o++) i = r[o], !(t.indexOf(i) >= 0) && (n[i] = e[i]); return n } function jE(e) { return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) } function DE(e, t) { return e.button === 0 && (!t || t === "_self") && !jE(e) } const LE = ["onClick", "relative", "reloadDocument", "replace", "state", "target", "to", "preventScrollReset", "viewTransition"] , OE = "6"; try { window.__reactRouterVersion = OE } catch {} const IE = "startTransition" , Qp = ay[IE]; function FE(e) { let {basename: t, children: n, future: r, window: i} = e , o = S.useRef(); o.current == null && (o.current = BC({ window: i, v5Compat: !0 })); let s = o.current , [a,l] = S.useState({ action: s.action, location: s.location }) , {v7_startTransition: u} = r || {} , c = S.useCallback(d => { u && Qp ? Qp( () => l(d)) : l(d) } , [l, u]); return S.useLayoutEffect( () => s.listen(c), [s, c]), S.useEffect( () => AE(r), [r]), S.createElement(RE, { basename: t, children: n, location: a.location, navigationType: a.action, navigator: s, future: r }) } const VE = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u" , _E = /^(?:[a-z][a-z0-9+.-]*:|//)/i , lt = S.forwardRef(function(t, n) { let {onClick: r, relative: i, reloadDocument: o, replace: s, state: a, target: l, to: u, preventScrollReset: c, viewTransition: d} = t, f = ME(t, LE), {basename: h} = S.useContext(Ur), x, y = !1; if (typeof u == "string" && _E.test(u) && (x = u, VE)) try { let v = new URL(window.location.href) , b = u.startsWith("//") ? new URL(v.protocol + u) : new URL(u) , C = Af(b.pathname, h); b.origin === v.origin && C != null ? u = C + b.search + b.hash : y = !0 } catch {} let w = hE(u, { relative: i }) , g = zE(u, { replace: s, state: a, target: l, preventScrollReset: c, relative: i, viewTransition: d }); function m(v) { r && r(v), v.defaultPrevented || g(v) } return S.createElement("a", Bc({}, f, { href: x || w, onClick: y || o ? r : m, ref: n, target: l })) }); var qp; (function(e) { e.UseScrollRestoration = "useScrollRestoration", e.UseSubmit = "useSubmit", e.UseSubmitFetcher = "useSubmitFetcher", e.UseFetcher = "useFetcher", e.useViewTransitionState = "useViewTransitionState" } )(qp || (qp = {})); var Yp; (function(e) { e.UseFetcher = "useFetcher", e.UseFetchers = "useFetchers", e.UseScrollRestoration = "useScrollRestoration" } )(Yp || (Yp = {})); function zE(e, t) { let {target: n, replace: r, state: i, preventScrollReset: o, relative: s, viewTransition: a} = t === void 0 ? {} : t , l = pE() , u = Xi() , c = k0(e, { relative: s }); return S.useCallback(d => { if (DE(d, n)) { d.preventDefault(); let f = r !== void 0 ? r : Za(u) === Za(c); l(e, { replace: f, state: i, preventScrollReset: o, relative: s, viewTransition: a }) } } , [u, l, c, r, i, n, e, o, s, a]) } var Xp = ["light", "dark"] , BE = "(prefers-color-scheme: dark)" , $E = S.createContext(void 0) , UE = { setTheme: e => {} , themes: [] } , WE = () => { var e; return (e = S.useContext($E)) != null ? e : UE } ; S.memo( ({forcedTheme: e, storageKey: t, attribute: n, enableSystem: r, enableColorScheme: i, defaultTheme: o, value: s, attrs: a, nonce: l}) => { let u = o === "system" , c = n === "class" ? `var d=document.documentElement,c=d.classList;${`c.remove(${a.map(x => `'${x}'`).join(",")})`};` : `var d=document.documentElement,n='${n}',s='setAttribute';` , d = i ? Xp.includes(o) && o ? `if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${o}'` : "if(e==='light'||e==='dark')d.style.colorScheme=e" : "" , f = (x, y=!1, w=!0) => { let g = s ? s[x] : x , m = y ? x + "|| ''" : `'${g}'` , v = ""; return i && w && !y && Xp.includes(x) && (v += `d.style.colorScheme = '${x}';`), n === "class" ? y || g ? v += `c.add(${m})` : v += "null" : g && (v += `d[s](n,${m})`), v } , h = e ? `!function(){${c}${f(e)}}()` : r ? `!function(){try{${c}var e=localStorage.getItem('${t}');if('system'===e||(!e&&${u})){var t='${BE}',m=window.matchMedia(t);if(m.media!==t||m.matches){${f("dark")}}else{${f("light")}}}else if(e){${s ? `var x=${JSON.stringify(s)};` : ""}${f(s ? "x[e]" : "e", !0)}}${u ? "" : "else{" + f(o, !1, !1) + "}"}${d}}catch(e){}}()` : `!function(){try{${c}var e=localStorage.getItem('${t}');if(e){${s ? `var x=${JSON.stringify(s)};` : ""}${f(s ? "x[e]" : "e", !0)}}else{${f(o, !1, !1)};}${d}}catch(t){}}();`; return S.createElement("script", { nonce: l, dangerouslySetInnerHTML: { __html: h } }) } ); var HE = e => { switch (e) { case "success": return QE; case "info": return YE; case "warning": return qE; case "error": return XE; default: return null } } , KE = Array(12).fill(0) , GE = ({visible: e, className: t}) => D.createElement("div", { className: ["sonner-loading-wrapper", t].filter(Boolean).join(" "), "data-visible": e }, D.createElement("div", { className: "sonner-spinner" }, KE.map( (n, r) => D.createElement("div", { className: "sonner-loading-bar", key: `spinner-bar-${r}` })))) , QE = D.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", height: "20", width: "20" }, D.createElement("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z", clipRule: "evenodd" })) , qE = D.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", height: "20", width: "20" }, D.createElement("path", { fillRule: "evenodd", d: "M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z", clipRule: "evenodd" })) , YE = D.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", height: "20", width: "20" }, D.createElement("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z", clipRule: "evenodd" })) , XE = D.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", height: "20", width: "20" }, D.createElement("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z", clipRule: "evenodd" })) , ZE = D.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }, D.createElement("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), D.createElement("line", { x1: "6", y1: "6", x2: "18", y2: "18" })) , JE = () => { let[e,t] = D.useState(document.hidden); return D.useEffect( () => { let n = () => { t(document.hidden) } ; return document.addEventListener("visibilitychange", n), () => window.removeEventListener("visibilitychange", n) } , []), e } , $c = 1 , eT = class { constructor() { this.subscribe = e => (this.subscribers.push(e), () => { let t = this.subscribers.indexOf(e); this.subscribers.splice(t, 1) } ), this.publish = e => { this.subscribers.forEach(t => t(e)) } , this.addToast = e => { this.publish(e), this.toasts = [...this.toasts, e] } , this.create = e => { var t; let {message: n, ...r} = e , i = typeof (e == null ? void 0 : e.id) == "number" || ((t = e.id) == null ? void 0 : t.length) > 0 ? e.id : $c++ , o = this.toasts.find(a => a.id === i) , s = e.dismissible === void 0 ? !0 : e.dismissible; return this.dismissedToasts.has(i) && this.dismissedToasts.delete(i), o ? this.toasts = this.toasts.map(a => a.id === i ? (this.publish({ ...a, ...e, id: i, title: n }), { ...a, ...e, id: i, dismissible: s, title: n }) : a) : this.addToast({ title: n, ...r, dismissible: s, id: i }), i } , this.dismiss = e => (this.dismissedToasts.add(e), e || this.toasts.forEach(t => { this.subscribers.forEach(n => n({ id: t.id, dismiss: !0 })) } ), this.subscribers.forEach(t => t({ id: e, dismiss: !0 })), e), this.message = (e, t) => this.create({ ...t, message: e }), this.error = (e, t) => this.create({ ...t, message: e, type: "error" }), this.success = (e, t) => this.create({ ...t, type: "success", message: e }), this.info = (e, t) => this.create({ ...t, type: "info", message: e }), this.warning = (e, t) => this.create({ ...t, type: "warning", message: e }), this.loading = (e, t) => this.create({ ...t, type: "loading", message: e }), this.promise = (e, t) => { if (!t) return; let n; t.loading !== void 0 && (n = this.create({ ...t, promise: e, type: "loading", message: t.loading, description: typeof t.description != "function" ? t.description : void 0 })); let r = e instanceof Promise ? e : e(), i = n !== void 0, o, s = r.then(async l => { if (o = ["resolve", l], D.isValidElement(l)) i = !1, this.create({ id: n, type: "default", message: l }); else if (nT(l) && !l.ok) { i = !1; let u = typeof t.error == "function" ? await t.error(`HTTP error! status: ${l.status}`) : t.error , c = typeof t.description == "function" ? await t.description(`HTTP error! status: ${l.status}`) : t.description; this.create({ id: n, type: "error", message: u, description: c }) } else if (t.success !== void 0) { i = !1; let u = typeof t.success == "function" ? await t.success(l) : t.success , c = typeof t.description == "function" ? await t.description(l) : t.description; this.create({ id: n, type: "success", message: u, description: c }) } } ).catch(async l => { if (o = ["reject", l], t.error !== void 0) { i = !1; let u = typeof t.error == "function" ? await t.error(l) : t.error , c = typeof t.description == "function" ? await t.description(l) : t.description; this.create({ id: n, type: "error", message: u, description: c }) } } ).finally( () => { var l; i && (this.dismiss(n), n = void 0), (l = t.finally) == null || l.call(t) } ), a = () => new Promise( (l, u) => s.then( () => o[0] === "reject" ? u(o[1]) : l(o[1])).catch(u)); return typeof n != "string" && typeof n != "number" ? { unwrap: a } : Object.assign(n, { unwrap: a }) } , this.custom = (e, t) => { let n = (t == null ? void 0 : t.id) || $c++; return this.create({ jsx: e(n), id: n, ...t }), n } , this.getActiveToasts = () => this.toasts.filter(e => !this.dismissedToasts.has(e.id)), this.subscribers = [], this.toasts = [], this.dismissedToasts = new Set } } , Ye = new eT , tT = (e, t) => { let n = (t == null ? void 0 : t.id) || $c++; return Ye.addToast({ title: e, ...t, id: n }), n } , nT = e => e && typeof e == "object" && "ok"in e && typeof e.ok == "boolean" && "status"in e && typeof e.status == "number" , rT = tT , iT = () => Ye.toasts , oT = () => Ye.getActiveToasts(); Object.assign(rT, { success: Ye.success, info: Ye.info, warning: Ye.warning, error: Ye.error, custom: Ye.custom, message: Ye.message, promise: Ye.promise, dismiss: Ye.dismiss, loading: Ye.loading }, { getHistory: iT, getToasts: oT }); function sT(e, {insertAt: t}={}) { if (typeof document > "u") return; let n = document.head || document.getElementsByTagName("head")[0] , r = document.createElement("style"); r.type = "text/css", t === "top" && n.firstChild ? n.insertBefore(r, n.firstChild) : n.appendChild(r), r.styleSheet ? r.styleSheet.cssText = e : r.appendChild(document.createTextNode(e)) } sT(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} `); function Ys(e) { return e.label !== void 0 } var aT = 3 , lT = "32px" , uT = "16px" , Zp = 4e3 , cT = 356 , dT = 14 , fT = 20 , hT = 200; function kt(...e) { return e.filter(Boolean).join(" ") } function pT(e) { let[t,n] = e.split("-") , r = []; return t && r.push(t), n && r.push(n), r } var mT = e => { var t, n, r, i, o, s, a, l, u, c, d; let {invert: f, toast: h, unstyled: x, interacting: y, setHeights: w, visibleToasts: g, heights: m, index: v, toasts: b, expanded: C, removeToast: E, defaultRichColors: T, closeButton: P, style: M, cancelButtonStyle: A, actionButtonStyle: F, className: O="", descriptionClassName: U="", duration: L, position: W, gap: z, loadingIcon: H, expandByDefault: k, classNames: R, icons: I, closeButtonAriaLabel: $="Close toast", pauseWhenPageIsHidden: B} = e , [q,X] = D.useState(null) , [we,Le] = D.useState(null) , [ee,Kr] = D.useState(!1) , [bn,pr] = D.useState(!1) , [Cn,Gr] = D.useState(!1) , [En,As] = D.useState(!1) , [Wl,Rs] = D.useState(!1) , [Hl,ao] = D.useState(0) , [Qr,Sh] = D.useState(0) , lo = D.useRef(h.duration || L || Zp) , bh = D.useRef(null) , mr = D.useRef(null) , Ow = v === 0 , Iw = v + 1 <= g , ht = h.type , qr = h.dismissible !== !1 , Fw = h.className || "" , Vw = h.descriptionClassName || "" , Ns = D.useMemo( () => m.findIndex(K => K.toastId === h.id) || 0, [m, h.id]) , _w = D.useMemo( () => { var K; return (K = h.closeButton) != null ? K : P } , [h.closeButton, P]) , Ch = D.useMemo( () => h.duration || L || Zp, [h.duration, L]) , Kl = D.useRef(0) , Yr = D.useRef(0) , Eh = D.useRef(0) , Xr = D.useRef(null) , [zw,Bw] = W.split("-") , Th = D.useMemo( () => m.reduce( (K, ne, le) => le >= Ns ? K : K + ne.height, 0), [m, Ns]) , Ph = JE() , $w = h.invert || f , Gl = ht === "loading"; Yr.current = D.useMemo( () => Ns * z + Th, [Ns, Th]), D.useEffect( () => { lo.current = Ch } , [Ch]), D.useEffect( () => { Kr(!0) } , []), D.useEffect( () => { let K = mr.current; if (K) { let ne = K.getBoundingClientRect().height; return Sh(ne), w(le => [{ toastId: h.id, height: ne, position: h.position }, ...le]), () => w(le => le.filter(Ct => Ct.toastId !== h.id)) } } , [w, h.id]), D.useLayoutEffect( () => { if (!ee) return; let K = mr.current , ne = K.style.height; K.style.height = "auto"; let le = K.getBoundingClientRect().height; K.style.height = ne, Sh(le), w(Ct => Ct.find(Et => Et.toastId === h.id) ? Ct.map(Et => Et.toastId === h.id ? { ...Et, height: le } : Et) : [{ toastId: h.id, height: le, position: h.position }, ...Ct]) } , [ee, h.title, h.description, w, h.id]); let Tn = D.useCallback( () => { pr(!0), ao(Yr.current), w(K => K.filter(ne => ne.toastId !== h.id)), setTimeout( () => { E(h) } , hT) } , [h, E, w, Yr]); D.useEffect( () => { if (h.promise && ht === "loading" || h.duration === 1 / 0 || h.type === "loading") return; let K; return C || y || B && Ph ? ( () => { if (Eh.current < Kl.current) { let ne = new Date().getTime() - Kl.current; lo.current = lo.current - ne } Eh.current = new Date().getTime() } )() : lo.current !== 1 / 0 && (Kl.current = new Date().getTime(), K = setTimeout( () => { var ne; (ne = h.onAutoClose) == null || ne.call(h, h), Tn() } , lo.current)), () => clearTimeout(K) } , [C, y, h, ht, B, Ph, Tn]), D.useEffect( () => { h.delete && Tn() } , [Tn, h.delete]); function Uw() { var K, ne, le; return I != null && I.loading ? D.createElement("div", { className: kt(R == null ? void 0 : R.loader, (K = h == null ? void 0 : h.classNames) == null ? void 0 : K.loader, "sonner-loader"), "data-visible": ht === "loading" }, I.loading) : H ? D.createElement("div", { className: kt(R == null ? void 0 : R.loader, (ne = h == null ? void 0 : h.classNames) == null ? void 0 : ne.loader, "sonner-loader"), "data-visible": ht === "loading" }, H) : D.createElement(GE, { className: kt(R == null ? void 0 : R.loader, (le = h == null ? void 0 : h.classNames) == null ? void 0 : le.loader), visible: ht === "loading" }) } return D.createElement("li", { tabIndex: 0, ref: mr, className: kt(O, Fw, R == null ? void 0 : R.toast, (t = h == null ? void 0 : h.classNames) == null ? void 0 : t.toast, R == null ? void 0 : R.default, R == null ? void 0 : R[ht], (n = h == null ? void 0 : h.classNames) == null ? void 0 : n[ht]), "data-sonner-toast": "", "data-rich-colors": (r = h.richColors) != null ? r : T, "data-styled": !(h.jsx || h.unstyled || x), "data-mounted": ee, "data-promise": !!h.promise, "data-swiped": Wl, "data-removed": bn, "data-visible": Iw, "data-y-position": zw, "data-x-position": Bw, "data-index": v, "data-front": Ow, "data-swiping": Cn, "data-dismissible": qr, "data-type": ht, "data-invert": $w, "data-swipe-out": En, "data-swipe-direction": we, "data-expanded": !!(C || k && ee), style: { "--index": v, "--toasts-before": v, "--z-index": b.length - v, "--offset": `${bn ? Hl : Yr.current}px`, "--initial-height": k ? "auto" : `${Qr}px`, ...M, ...h.style }, onDragEnd: () => { Gr(!1), X(null), Xr.current = null } , onPointerDown: K => { Gl || !qr || (bh.current = new Date, ao(Yr.current), K.target.setPointerCapture(K.pointerId), K.target.tagName !== "BUTTON" && (Gr(!0), Xr.current = { x: K.clientX, y: K.clientY })) } , onPointerUp: () => { var K, ne, le, Ct; if (En || !qr) return; Xr.current = null; let Et = Number(((K = mr.current) == null ? void 0 : K.style.getPropertyValue("--swipe-amount-x").replace("px", "")) || 0) , Pn = Number(((ne = mr.current) == null ? void 0 : ne.style.getPropertyValue("--swipe-amount-y").replace("px", "")) || 0) , gr = new Date().getTime() - ((le = bh.current) == null ? void 0 : le.getTime()) , Tt = q === "x" ? Et : Pn , kn = Math.abs(Tt) / gr; if (Math.abs(Tt) >= fT || kn > .11) { ao(Yr.current), (Ct = h.onDismiss) == null || Ct.call(h, h), Le(q === "x" ? Et > 0 ? "right" : "left" : Pn > 0 ? "down" : "up"), Tn(), As(!0), Rs(!1); return } Gr(!1), X(null) } , onPointerMove: K => { var ne, le, Ct, Et; if (!Xr.current || !qr || ((ne = window.getSelection()) == null ? void 0 : ne.toString().length) > 0) return; let Pn = K.clientY - Xr.current.y , gr = K.clientX - Xr.current.x , Tt = (le = e.swipeDirections) != null ? le : pT(W); !q && (Math.abs(gr) > 1 || Math.abs(Pn) > 1) && X(Math.abs(gr) > Math.abs(Pn) ? "x" : "y"); let kn = { x: 0, y: 0 }; q === "y" ? (Tt.includes("top") || Tt.includes("bottom")) && (Tt.includes("top") && Pn < 0 || Tt.includes("bottom") && Pn > 0) && (kn.y = Pn) : q === "x" && (Tt.includes("left") || Tt.includes("right")) && (Tt.includes("left") && gr < 0 || Tt.includes("right") && gr > 0) && (kn.x = gr), (Math.abs(kn.x) > 0 || Math.abs(kn.y) > 0) && Rs(!0), (Ct = mr.current) == null || Ct.style.setProperty("--swipe-amount-x", `${kn.x}px`), (Et = mr.current) == null || Et.style.setProperty("--swipe-amount-y", `${kn.y}px`) } }, _w && !h.jsx ? D.createElement("button", { "aria-label": $, "data-disabled": Gl, "data-close-button": !0, onClick: Gl || !qr ? () => {} : () => { var K; Tn(), (K = h.onDismiss) == null || K.call(h, h) } , className: kt(R == null ? void 0 : R.closeButton, (i = h == null ? void 0 : h.classNames) == null ? void 0 : i.closeButton) }, (o = I == null ? void 0 : I.close) != null ? o : ZE) : null, h.jsx || S.isValidElement(h.title) ? h.jsx ? h.jsx : typeof h.title == "function" ? h.title() : h.title : D.createElement(D.Fragment, null, ht || h.icon || h.promise ? D.createElement("div", { "data-icon": "", className: kt(R == null ? void 0 : R.icon, (s = h == null ? void 0 : h.classNames) == null ? void 0 : s.icon) }, h.promise || h.type === "loading" && !h.icon ? h.icon || Uw() : null, h.type !== "loading" ? h.icon || (I == null ? void 0 : I[ht]) || HE(ht) : null) : null, D.createElement("div", { "data-content": "", className: kt(R == null ? void 0 : R.content, (a = h == null ? void 0 : h.classNames) == null ? void 0 : a.content) }, D.createElement("div", { "data-title": "", className: kt(R == null ? void 0 : R.title, (l = h == null ? void 0 : h.classNames) == null ? void 0 : l.title) }, typeof h.title == "function" ? h.title() : h.title), h.description ? D.createElement("div", { "data-description": "", className: kt(U, Vw, R == null ? void 0 : R.description, (u = h == null ? void 0 : h.classNames) == null ? void 0 : u.description) }, typeof h.description == "function" ? h.description() : h.description) : null), S.isValidElement(h.cancel) ? h.cancel : h.cancel && Ys(h.cancel) ? D.createElement("button", { "data-button": !0, "data-cancel": !0, style: h.cancelButtonStyle || A, onClick: K => { var ne, le; Ys(h.cancel) && qr && ((le = (ne = h.cancel).onClick) == null || le.call(ne, K), Tn()) } , className: kt(R == null ? void 0 : R.cancelButton, (c = h == null ? void 0 : h.classNames) == null ? void 0 : c.cancelButton) }, h.cancel.label) : null, S.isValidElement(h.action) ? h.action : h.action && Ys(h.action) ? D.createElement("button", { "data-button": !0, "data-action": !0, style: h.actionButtonStyle || F, onClick: K => { var ne, le; Ys(h.action) && ((le = (ne = h.action).onClick) == null || le.call(ne, K), !K.defaultPrevented && Tn()) } , className: kt(R == null ? void 0 : R.actionButton, (d = h == null ? void 0 : h.classNames) == null ? void 0 : d.actionButton) }, h.action.label) : null)) } ; function Jp() { if (typeof window > "u" || typeof document > "u") return "ltr"; let e = document.documentElement.getAttribute("dir"); return e === "auto" || !e ? window.getComputedStyle(document.documentElement).direction : e } function gT(e, t) { let n = {}; return [e, t].forEach( (r, i) => { let o = i === 1 , s = o ? "--mobile-offset" : "--offset" , a = o ? uT : lT; function l(u) { ["top", "right", "bottom", "left"].forEach(c => { n[`${s}-${c}`] = typeof u == "number" ? `${u}px` : u } ) } typeof r == "number" || typeof r == "string" ? l(r) : typeof r == "object" ? ["top", "right", "bottom", "left"].forEach(u => { r[u] === void 0 ? n[`${s}-${u}`] = a : n[`${s}-${u}`] = typeof r[u] == "number" ? `${r[u]}px` : r[u] } ) : l(a) } ), n } var yT = S.forwardRef(function(e, t) { let {invert: n, position: r="bottom-right", hotkey: i=["altKey", "KeyT"], expand: o, closeButton: s, className: a, offset: l, mobileOffset: u, theme: c="light", richColors: d, duration: f, style: h, visibleToasts: x=aT, toastOptions: y, dir: w=Jp(), gap: g=dT, loadingIcon: m, icons: v, containerAriaLabel: b="Notifications", pauseWhenPageIsHidden: C} = e , [E,T] = D.useState([]) , P = D.useMemo( () => Array.from(new Set([r].concat(E.filter(B => B.position).map(B => B.position)))), [E, r]) , [M,A] = D.useState([]) , [F,O] = D.useState(!1) , [U,L] = D.useState(!1) , [W,z] = D.useState(c !== "system" ? c : typeof window < "u" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light") , H = D.useRef(null) , k = i.join("+").replace(/Key/g, "").replace(/Digit/g, "") , R = D.useRef(null) , I = D.useRef(!1) , $ = D.useCallback(B => { T(q => { var X; return (X = q.find(we => we.id === B.id)) != null && X.delete || Ye.dismiss(B.id), q.filter( ({id: we}) => we !== B.id) } ) } , []); return D.useEffect( () => Ye.subscribe(B => { if (B.dismiss) { T(q => q.map(X => X.id === B.id ? { ...X, delete: !0 } : X)); return } setTimeout( () => { c0.flushSync( () => { T(q => { let X = q.findIndex(we => we.id === B.id); return X !== -1 ? [...q.slice(0, X), { ...q[X], ...B }, ...q.slice(X + 1)] : [B, ...q] } ) } ) } ) } ), []), D.useEffect( () => { if (c !== "system") { z(c); return } if (c === "system" && (window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? z("dark") : z("light")), typeof window > "u") return; let B = window.matchMedia("(prefers-color-scheme: dark)"); try { B.addEventListener("change", ({matches: q}) => { z(q ? "dark" : "light") } ) } catch { B.addListener( ({matches: X}) => { try { z(X ? "dark" : "light") } catch (we) { console.error(we) } } ) } } , [c]), D.useEffect( () => { E.length <= 1 && O(!1) } , [E]), D.useEffect( () => { let B = q => { var X, we; i.every(Le => q[Le] || q.code === Le) && (O(!0), (X = H.current) == null || X.focus()), q.code === "Escape" && (document.activeElement === H.current || (we = H.current) != null && we.contains(document.activeElement)) && O(!1) } ; return document.addEventListener("keydown", B), () => document.removeEventListener("keydown", B) } , [i]), D.useEffect( () => { if (H.current) return () => { R.current && (R.current.focus({ preventScroll: !0 }), R.current = null, I.current = !1) } } , [H.current]), D.createElement("section", { ref: t, "aria-label": `${b} ${k}`, tabIndex: -1, "aria-live": "polite", "aria-relevant": "additions text", "aria-atomic": "false", suppressHydrationWarning: !0 }, P.map( (B, q) => { var X; let[we,Le] = B.split("-"); return E.length ? D.createElement("ol", { key: B, dir: w === "auto" ? Jp() : w, tabIndex: -1, ref: H, className: a, "data-sonner-toaster": !0, "data-theme": W, "data-y-position": we, "data-lifted": F && E.length > 1 && !o, "data-x-position": Le, style: { "--front-toast-height": `${((X = M[0]) == null ? void 0 : X.height) || 0}px`, "--width": `${cT}px`, "--gap": `${g}px`, ...h, ...gT(l, u) }, onBlur: ee => { I.current && !ee.currentTarget.contains(ee.relatedTarget) && (I.current = !1, R.current && (R.current.focus({ preventScroll: !0 }), R.current = null)) } , onFocus: ee => { ee.target instanceof HTMLElement && ee.target.dataset.dismissible === "false" || I.current || (I.current = !0, R.current = ee.relatedTarget) } , onMouseEnter: () => O(!0), onMouseMove: () => O(!0), onMouseLeave: () => { U || O(!1) } , onDragEnd: () => O(!1), onPointerDown: ee => { ee.target instanceof HTMLElement && ee.target.dataset.dismissible === "false" || L(!0) } , onPointerUp: () => L(!1) }, E.filter(ee => !ee.position && q === 0 || ee.position === B).map( (ee, Kr) => { var bn, pr; return D.createElement(mT, { key: ee.id, icons: v, index: Kr, toast: ee, defaultRichColors: d, duration: (bn = y == null ? void 0 : y.duration) != null ? bn : f, className: y == null ? void 0 : y.className, descriptionClassName: y == null ? void 0 : y.descriptionClassName, invert: n, visibleToasts: x, closeButton: (pr = y == null ? void 0 : y.closeButton) != null ? pr : s, interacting: U, position: B, style: y == null ? void 0 : y.style, unstyled: y == null ? void 0 : y.unstyled, classNames: y == null ? void 0 : y.classNames, cancelButtonStyle: y == null ? void 0 : y.cancelButtonStyle, actionButtonStyle: y == null ? void 0 : y.actionButtonStyle, removeToast: $, toasts: E.filter(Cn => Cn.position == ee.position), heights: M.filter(Cn => Cn.position == ee.position), setHeights: A, expandByDefault: o, gap: g, loadingIcon: m, expanded: F, pauseWhenPageIsHidden: C, swipeDirections: e.swipeDirections }) } )) : null } )) }); const vT = ({...e}) => { const {theme: t="system"} = WE(); return p.jsx(yT, { theme: t, className: "toaster group", toastOptions: { classNames: { toast: "group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg", description: "group-[.toast]:text-muted-foreground", actionButton: "group-[.toast]:bg-primary group-[.toast]:text-primary-foreground", cancelButton: "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground" } }, ...e }) } , xT = 1 , wT = 1e6; let Cu = 0; function ST() { return Cu = (Cu + 1) % Number.MAX_SAFE_INTEGER, Cu.toString() } const Eu = new Map , em = e => { if (Eu.has(e)) return; const t = setTimeout( () => { Eu.delete(e), Oo({ type: "REMOVE_TOAST", toastId: e }) } , wT); Eu.set(e, t) } , bT = (e, t) => { switch (t.type) { case "ADD_TOAST": return { ...e, toasts: [t.toast, ...e.toasts].slice(0, xT) }; case "UPDATE_TOAST": return { ...e, toasts: e.toasts.map(n => n.id === t.toast.id ? { ...n, ...t.toast } : n) }; case "DISMISS_TOAST": { const {toastId: n} = t; return n ? em(n) : e.toasts.forEach(r => { em(r.id) } ), { ...e, toasts: e.toasts.map(r => r.id === n || n === void 0 ? { ...r, open: !1 } : r) } } case "REMOVE_TOAST": return t.toastId === void 0 ? { ...e, toasts: [] } : { ...e, toasts: e.toasts.filter(n => n.id !== t.toastId) } } } , ya = []; let va = { toasts: [] }; function Oo(e) { va = bT(va, e), ya.forEach(t => { t(va) } ) } function CT({...e}) { const t = ST() , n = i => Oo({ type: "UPDATE_TOAST", toast: { ...i, id: t } }) , r = () => Oo({ type: "DISMISS_TOAST", toastId: t }); return Oo({ type: "ADD_TOAST", toast: { ...e, id: t, open: !0, onOpenChange: i => { i || r() } } }), { id: t, dismiss: r, update: n } } function ET() { const [e,t] = S.useState(va); return S.useEffect( () => (ya.push(t), () => { const n = ya.indexOf(t); n > -1 && ya.splice(n, 1) } ), [e]), { ...e, toast: CT, dismiss: n => Oo({ type: "DISMISS_TOAST", toastId: n }) } } function Pe(e, t, {checkForDefaultPrevented: n=!0}={}) { return function(i) { if (e == null || e(i), n === !1 || !i.defaultPrevented) return t == null ? void 0 : t(i) } } function tm(e, t) { if (typeof e == "function") return e(t); e != null && (e.current = t) } function N0(...e) { return t => { let n = !1; const r = e.map(i => { const o = tm(i, t); return !n && typeof o == "function" && (n = !0), o } ); if (n) return () => { for (let i = 0; i < r.length; i++) { const o = r[i]; typeof o == "function" ? o() : tm(e[i], null) } } } } function Bt(...e) { return S.useCallback(N0(...e), e) } function Ml(e, t=[]) { let n = []; function r(o, s) { const a = S.createContext(s) , l = n.length; n = [...n, s]; const u = d => { var g; const {scope: f, children: h, ...x} = d , y = ((g = f == null ? void 0 : f[e]) == null ? void 0 : g[l]) || a , w = S.useMemo( () => x, Object.values(x)); return p.jsx(y.Provider, { value: w, children: h }) } ; u.displayName = o + "Provider"; function c(d, f) { var y; const h = ((y = f == null ? void 0 : f[e]) == null ? void 0 : y[l]) || a , x = S.useContext(h); if (x) return x; if (s !== void 0) return s; throw new Error(``${d}` must be used within `${o}``) } return [u, c] } const i = () => { const o = n.map(s => S.createContext(s)); return function(a) { const l = (a == null ? void 0 : a[e]) || o; return S.useMemo( () => ({ [`__scope${e}`]: { ...a, [e]: l } }), [a, l]) } } ; return i.scopeName = e, [r, TT(i, ...t)] } function TT(...e) { const t = e[0]; if (e.length === 1) return t; const n = () => { const r = e.map(i => ({ useScope: i(), scopeName: i.scopeName })); return function(o) { const s = r.reduce( (a, {useScope: l, scopeName: u}) => { const d = l(o)[`__scope${u}`]; return { ...a, ...d } } , {}); return S.useMemo( () => ({ [`__scope${t.scopeName}`]: s }), [s]) } } ; return n.scopeName = t.scopeName, n } function Uc(e) { const t = PT(e) , n = S.forwardRef( (r, i) => { const {children: o, ...s} = r , a = S.Children.toArray(o) , l = a.find(AT); if (l) { const u = l.props.children , c = a.map(d => d === l ? S.Children.count(u) > 1 ? S.Children.only(null) : S.isValidElement(u) ? u.props.children : null : d); return p.jsx(t, { ...s, ref: i, children: S.isValidElement(u) ? S.cloneElement(u, void 0, c) : null }) } return p.jsx(t, { ...s, ref: i, children: o }) } ); return n.displayName = `${e}.Slot`, n } function PT(e) { const t = S.forwardRef( (n, r) => { const {children: i, ...o} = n; if (S.isValidElement(i)) { const s = NT(i) , a = RT(o, i.props); return i.type !== S.Fragment && (a.ref = r ? N0(r, s) : s), S.cloneElement(i, a) } return S.Children.count(i) > 1 ? S.Children.only(null) : null } ); return t.displayName = `${e}.SlotClone`, t } var M0 = Symbol("radix.slottable"); function kT(e) { const t = ({children: n}) => p.jsx(p.Fragment, { children: n }); return t.displayName = `${e}.Slottable`, t.__radixId = M0, t } function AT(e) { return S.isValidElement(e) && typeof e.type == "function" && "__radixId"in e.type && e.type.__radixId === M0 } function RT(e, t) { const n = { ...t }; for (const r in t) { const i = e[r] , o = t[r]; /^on[A-Z]/.test(r) ? i && o ? n[r] = (...a) => { const l = o(...a); return i(...a), l } : i && (n[r] = i) : r === "style" ? n[r] = { ...i, ...o } : r === "className" && (n[r] = [i, o].filter(Boolean).join(" ")) } return { ...e, ...n } } function NT(e) { var r, i; let t = (r = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : r.get , n = t && "isReactWarning"in t && t.isReactWarning; return n ? e.ref : (t = (i = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : i.get, n = t && "isReactWarning"in t && t.isReactWarning, n ? e.props.ref : e.props.ref || e.ref) } function MT(e) { const t = e + "CollectionProvider" , [n,r] = Ml(t) , [i,o] = n(t, { collectionRef: { current: null }, itemMap: new Map }) , s = y => { const {scope: w, children: g} = y , m = D.useRef(null) , v = D.useRef(new Map).current; return p.jsx(i, { scope: w, itemMap: v, collectionRef: m, children: g }) } ; s.displayName = t; const a = e + "CollectionSlot" , l = Uc(a) , u = D.forwardRef( (y, w) => { const {scope: g, children: m} = y , v = o(a, g) , b = Bt(w, v.collectionRef); return p.jsx(l, { ref: b, children: m }) } ); u.displayName = a; const c = e + "CollectionItemSlot" , d = "data-radix-collection-item" , f = Uc(c) , h = D.forwardRef( (y, w) => { const {scope: g, children: m, ...v} = y , b = D.useRef(null) , C = Bt(w, b) , E = o(c, g); return D.useEffect( () => (E.itemMap.set(b, { ref: b, ...v }), () => void E.itemMap.delete(b))), p.jsx(f, { [d]: "", ref: C, children: m }) } ); h.displayName = c; function x(y) { const w = o(e + "CollectionConsumer", y); return D.useCallback( () => { const m = w.collectionRef.current; if (!m) return []; const v = Array.from(m.querySelectorAll(`[${d}]`)); return Array.from(w.itemMap.values()).sort( (E, T) => v.indexOf(E.ref.current) - v.indexOf(T.ref.current)) } , [w.collectionRef, w.itemMap]) } return [{ Provider: s, Slot: u, ItemSlot: h }, x, r] } var jT = ["a", "button", "div", "form", "h2", "h3", "img", "input", "label", "li", "nav", "ol", "p", "select", "span", "svg", "ul"] , rt = jT.reduce( (e, t) => { const n = Uc(`Primitive.${t}`) , r = S.forwardRef( (i, o) => { const {asChild: s, ...a} = i , l = s ? n : t; return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), p.jsx(l, { ...a, ref: o }) } ); return r.displayName = `Primitive.${t}`, { ...e, [t]: r } } , {}); function j0(e, t) { e && ws.flushSync( () => e.dispatchEvent(t)) } function or(e) { const t = S.useRef(e); return S.useEffect( () => { t.current = e } ), S.useMemo( () => (...n) => { var r; return (r = t.current) == null ? void 0 : r.call(t, ...n) } , []) } function DT(e, t=globalThis == null ? void 0 : globalThis.document) { const n = or(e); S.useEffect( () => { const r = i => { i.key === "Escape" && n(i) } ; return t.addEventListener("keydown", r, { capture: !0 }), () => t.removeEventListener("keydown", r, { capture: !0 }) } , [n, t]) } var LT = "DismissableLayer", Wc = "dismissableLayer.update", OT = "dismissableLayer.pointerDownOutside", IT = "dismissableLayer.focusOutside", nm, D0 = S.createContext({ layers: new Set, layersWithOutsidePointerEventsDisabled: new Set, branches: new Set }), Nf = S.forwardRef( (e, t) => { const {disableOutsidePointerEvents: n=!1, onEscapeKeyDown: r, onPointerDownOutside: i, onFocusOutside: o, onInteractOutside: s, onDismiss: a, ...l} = e , u = S.useContext(D0) , [c,d] = S.useState(null) , f = (c == null ? void 0 : c.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document) , [,h] = S.useState({}) , x = Bt(t, T => d(T)) , y = Array.from(u.layers) , [w] = [...u.layersWithOutsidePointerEventsDisabled].slice(-1) , g = y.indexOf(w) , m = c ? y.indexOf(c) : -1 , v = u.layersWithOutsidePointerEventsDisabled.size > 0 , b = m >= g , C = VT(T => { const P = T.target , M = [...u.branches].some(A => A.contains(P)); !b || M || (i == null || i(T), s == null || s(T), T.defaultPrevented || a == null || a()) } , f) , E = _T(T => { const P = T.target; [...u.branches].some(A => A.contains(P)) || (o == null || o(T), s == null || s(T), T.defaultPrevented || a == null || a()) } , f); return DT(T => { m === u.layers.size - 1 && (r == null || r(T), !T.defaultPrevented && a && (T.preventDefault(), a())) } , f), S.useEffect( () => { if (c) return n && (u.layersWithOutsidePointerEventsDisabled.size === 0 && (nm = f.body.style.pointerEvents, f.body.style.pointerEvents = "none"), u.layersWithOutsidePointerEventsDisabled.add(c)), u.layers.add(c), rm(), () => { n && u.layersWithOutsidePointerEventsDisabled.size === 1 && (f.body.style.pointerEvents = nm) } } , [c, f, n, u]), S.useEffect( () => () => { c && (u.layers.delete(c), u.layersWithOutsidePointerEventsDisabled.delete(c), rm()) } , [c, u]), S.useEffect( () => { const T = () => h({}); return document.addEventListener(Wc, T), () => document.removeEventListener(Wc, T) } , []), p.jsx(rt.div, { ...l, ref: x, style: { pointerEvents: v ? b ? "auto" : "none" : void 0, ...e.style }, onFocusCapture: Pe(e.onFocusCapture, E.onFocusCapture), onBlurCapture: Pe(e.onBlurCapture, E.onBlurCapture), onPointerDownCapture: Pe(e.onPointerDownCapture, C.onPointerDownCapture) }) } ); Nf.displayName = LT; var FT = "DismissableLayerBranch" , L0 = S.forwardRef( (e, t) => { const n = S.useContext(D0) , r = S.useRef(null) , i = Bt(t, r); return S.useEffect( () => { const o = r.current; if (o) return n.branches.add(o), () => { n.branches.delete(o) } } , [n.branches]), p.jsx(rt.div, { ...e, ref: i }) } ); L0.displayName = FT; function VT(e, t=globalThis == null ? void 0 : globalThis.document) { const n = or(e) , r = S.useRef(!1) , i = S.useRef( () => {} ); return S.useEffect( () => { const o = a => { if (a.target && !r.current) { let l = function() { O0(OT, n, u, { discrete: !0 }) }; const u = { originalEvent: a }; a.pointerType === "touch" ? (t.removeEventListener("click", i.current), i.current = l, t.addEventListener("click", i.current, { once: !0 })) : l() } else t.removeEventListener("click", i.current); r.current = !1 } , s = window.setTimeout( () => { t.addEventListener("pointerdown", o) } , 0); return () => { window.clearTimeout(s), t.removeEventListener("pointerdown", o), t.removeEventListener("click", i.current) } } , [t, n]), { onPointerDownCapture: () => r.current = !0 } } function _T(e, t=globalThis == null ? void 0 : globalThis.document) { const n = or(e) , r = S.useRef(!1); return S.useEffect( () => { const i = o => { o.target && !r.current && O0(IT, n, { originalEvent: o }, { discrete: !1 }) } ; return t.addEventListener("focusin", i), () => t.removeEventListener("focusin", i) } , [t, n]), { onFocusCapture: () => r.current = !0, onBlurCapture: () => r.current = !1 } } function rm() { const e = new CustomEvent(Wc); document.dispatchEvent(e) } function O0(e, t, n, {discrete: r}) { const i = n.originalEvent.target , o = new CustomEvent(e,{ bubbles: !1, cancelable: !0, detail: n }); t && i.addEventListener(e, t, { once: !0 }), r ? j0(i, o) : i.dispatchEvent(o) } var zT = Nf , BT = L0 , sr = globalThis != null && globalThis.document ? S.useLayoutEffect : () => {} , $T = "Portal" , I0 = S.forwardRef( (e, t) => { var a; const {container: n, ...r} = e , [i,o] = S.useState(!1); sr( () => o(!0), []); const s = n || i && ((a = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : a.body); return s ? c0.createPortal(p.jsx(rt.div, { ...r, ref: t }), s) : null } ); I0.displayName = $T; function UT(e, t) { return S.useReducer( (n, r) => t[n][r] ?? n, e) } var Mf = e => { const {present: t, children: n} = e , r = WT(t) , i = typeof n == "function" ? n({ present: r.isPresent }) : S.Children.only(n) , o = Bt(r.ref, HT(i)); return typeof n == "function" || r.isPresent ? S.cloneElement(i, { ref: o }) : null } ; Mf.displayName = "Presence"; function WT(e) { const [t,n] = S.useState() , r = S.useRef(null) , i = S.useRef(e) , o = S.useRef("none") , s = e ? "mounted" : "unmounted" , [a,l] = UT(s, { mounted: { UNMOUNT: "unmounted", ANIMATION_OUT: "unmountSuspended" }, unmountSuspended: { MOUNT: "mounted", ANIMATION_END: "unmounted" }, unmounted: { MOUNT: "mounted" } }); return S.useEffect( () => { const u = Xs(r.current); o.current = a === "mounted" ? u : "none" } , [a]), sr( () => { const u = r.current , c = i.current; if (c !== e) { const f = o.current , h = Xs(u); e ? l("MOUNT") : h === "none" || (u == null ? void 0 : u.display) === "none" ? l("UNMOUNT") : l(c && f !== h ? "ANIMATION_OUT" : "UNMOUNT"), i.current = e } } , [e, l]), sr( () => { if (t) { let u; const c = t.ownerDocument.defaultView ?? window , d = h => { const y = Xs(r.current).includes(h.animationName); if (h.target === t && y && (l("ANIMATION_END"), !i.current)) { const w = t.style.animationFillMode; t.style.animationFillMode = "forwards", u = c.setTimeout( () => { t.style.animationFillMode === "forwards" && (t.style.animationFillMode = w) } ) } } , f = h => { h.target === t && (o.current = Xs(r.current)) } ; return t.addEventListener("animationstart", f), t.addEventListener("animationcancel", d), t.addEventListener("animationend", d), () => { c.clearTimeout(u), t.removeEventListener("animationstart", f), t.removeEventListener("animationcancel", d), t.removeEventListener("animationend", d) } } else l("ANIMATION_END") } , [t, l]), { isPresent: ["mounted", "unmountSuspended"].includes(a), ref: S.useCallback(u => { r.current = u ? getComputedStyle(u) : null, n(u) } , []) } } function Xs(e) { return (e == null ? void 0 : e.animationName) || "none" } function HT(e) { var r, i; let t = (r = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : r.get , n = t && "isReactWarning"in t && t.isReactWarning; return n ? e.ref : (t = (i = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : i.get, n = t && "isReactWarning"in t && t.isReactWarning, n ? e.props.ref : e.props.ref || e.ref) } var KT = ay[" useInsertionEffect ".trim().toString()] || sr; function GT({prop: e, defaultProp: t, onChange: n= () => {} , caller: r}) { const [i,o,s] = QT({ defaultProp: t, onChange: n }) , a = e !== void 0 , l = a ? e : i; { const c = S.useRef(e !== void 0); S.useEffect( () => { const d = c.current; d !== a && console.warn(`${r} is changing from ${d ? "controlled" : "uncontrolled"} to ${a ? "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.`), c.current = a } , [a, r]) } const u = S.useCallback(c => { var d; if (a) { const f = qT(c) ? c(e) : c; f !== e && ((d = s.current) == null || d.call(s, f)) } else o(c) } , [a, e, o, s]); return [l, u] } function QT({defaultProp: e, onChange: t}) { const [n,r] = S.useState(e) , i = S.useRef(n) , o = S.useRef(t); return KT( () => { o.current = t } , [t]), S.useEffect( () => { var s; i.current !== n && ((s = o.current) == null || s.call(o, n), i.current = n) } , [n, i]), [n, r, o] } function qT(e) { return typeof e == "function" } var YT = Object.freeze({ position: "absolute", border: 0, width: 1, height: 1, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", wordWrap: "normal" }) , XT = "VisuallyHidden" , jl = S.forwardRef( (e, t) => p.jsx(rt.span, { ...e, ref: t, style: { ...YT, ...e.style } })); jl.displayName = XT; var ZT = jl , jf = "ToastProvider" , [Df,JT,eP] = MT("Toast") , [F0,TD] = Ml("Toast", [eP]) , [tP,Dl] = F0(jf) , V0 = e => { const {__scopeToast: t, label: n="Notification", duration: r=5e3, swipeDirection: i="right", swipeThreshold: o=50, children: s} = e , [a,l] = S.useState(null) , [u,c] = S.useState(0) , d = S.useRef(!1) , f = S.useRef(!1); return n.trim() || console.error(`Invalid prop `label` supplied to `${jf}`. Expected non-empty `string`.`), p.jsx(Df.Provider, { scope: t, children: p.jsx(tP, { scope: t, label: n, duration: r, swipeDirection: i, swipeThreshold: o, toastCount: u, viewport: a, onViewportChange: l, onToastAdd: S.useCallback( () => c(h => h + 1), []), onToastRemove: S.useCallback( () => c(h => h - 1), []), isFocusedToastEscapeKeyDownRef: d, isClosePausedRef: f, children: s }) }) } ; V0.displayName = jf; var _0 = "ToastViewport" , nP = ["F8"] , Hc = "toast.viewportPause" , Kc = "toast.viewportResume" , z0 = S.forwardRef( (e, t) => { const {__scopeToast: n, hotkey: r=nP, label: i="Notifications ({hotkey})", ...o} = e , s = Dl(_0, n) , a = JT(n) , l = S.useRef(null) , u = S.useRef(null) , c = S.useRef(null) , d = S.useRef(null) , f = Bt(t, d, s.onViewportChange) , h = r.join("+").replace(/Key/g, "").replace(/Digit/g, "") , x = s.toastCount > 0; S.useEffect( () => { const w = g => { var v; r.length !== 0 && r.every(b => g[b] || g.code === b) && ((v = d.current) == null || v.focus()) } ; return document.addEventListener("keydown", w), () => document.removeEventListener("keydown", w) } , [r]), S.useEffect( () => { const w = l.current , g = d.current; if (x && w && g) { const m = () => { if (!s.isClosePausedRef.current) { const E = new CustomEvent(Hc); g.dispatchEvent(E), s.isClosePausedRef.current = !0 } } , v = () => { if (s.isClosePausedRef.current) { const E = new CustomEvent(Kc); g.dispatchEvent(E), s.isClosePausedRef.current = !1 } } , b = E => { !w.contains(E.relatedTarget) && v() } , C = () => { w.contains(document.activeElement) || v() } ; return w.addEventListener("focusin", m), w.addEventListener("focusout", b), w.addEventListener("pointermove", m), w.addEventListener("pointerleave", C), window.addEventListener("blur", m), window.addEventListener("focus", v), () => { w.removeEventListener("focusin", m), w.removeEventListener("focusout", b), w.removeEventListener("pointermove", m), w.removeEventListener("pointerleave", C), window.removeEventListener("blur", m), window.removeEventListener("focus", v) } } } , [x, s.isClosePausedRef]); const y = S.useCallback( ({tabbingDirection: w}) => { const m = a().map(v => { const b = v.ref.current , C = [b, ...mP(b)]; return w === "forwards" ? C : C.reverse() } ); return (w === "forwards" ? m.reverse() : m).flat() } , [a]); return S.useEffect( () => { const w = d.current; if (w) { const g = m => { var C, E, T; const v = m.altKey || m.ctrlKey || m.metaKey; if (m.key === "Tab" && !v) { const P = document.activeElement , M = m.shiftKey; if (m.target === w && M) { (C = u.current) == null || C.focus(); return } const O = y({ tabbingDirection: M ? "backwards" : "forwards" }) , U = O.findIndex(L => L === P); Tu(O.slice(U + 1)) ? m.preventDefault() : M ? (E = u.current) == null || E.focus() : (T = c.current) == null || T.focus() } } ; return w.addEventListener("keydown", g), () => w.removeEventListener("keydown", g) } } , [a, y]), p.jsxs(BT, { ref: l, role: "region", "aria-label": i.replace("{hotkey}", h), tabIndex: -1, style: { pointerEvents: x ? void 0 : "none" }, children: [x && p.jsx(Gc, { ref: u, onFocusFromOutsideViewport: () => { const w = y({ tabbingDirection: "forwards" }); Tu(w) } }), p.jsx(Df.Slot, { scope: n, children: p.jsx(rt.ol, { tabIndex: -1, ...o, ref: f }) }), x && p.jsx(Gc, { ref: c, onFocusFromOutsideViewport: () => { const w = y({ tabbingDirection: "backwards" }); Tu(w) } })] }) } ); z0.displayName = _0; var B0 = "ToastFocusProxy" , Gc = S.forwardRef( (e, t) => { const {__scopeToast: n, onFocusFromOutsideViewport: r, ...i} = e , o = Dl(B0, n); return p.jsx(jl, { "aria-hidden": !0, tabIndex: 0, ...i, ref: t, style: { position: "fixed" }, onFocus: s => { var u; const a = s.relatedTarget; !((u = o.viewport) != null && u.contains(a)) && r() } }) } ); Gc.displayName = B0; var bs = "Toast" , rP = "toast.swipeStart" , iP = "toast.swipeMove" , oP = "toast.swipeCancel" , sP = "toast.swipeEnd" , $0 = S.forwardRef( (e, t) => { const {forceMount: n, open: r, defaultOpen: i, onOpenChange: o, ...s} = e , [a,l] = GT({ prop: r, defaultProp: i ?? !0, onChange: o, caller: bs }); return p.jsx(Mf, { present: n || a, children: p.jsx(uP, { open: a, ...s, ref: t, onClose: () => l(!1), onPause: or(e.onPause), onResume: or(e.onResume), onSwipeStart: Pe(e.onSwipeStart, u => { u.currentTarget.setAttribute("data-swipe", "start") } ), onSwipeMove: Pe(e.onSwipeMove, u => { const {x: c, y: d} = u.detail.delta; u.currentTarget.setAttribute("data-swipe", "move"), u.currentTarget.style.setProperty("--radix-toast-swipe-move-x", `${c}px`), u.currentTarget.style.setProperty("--radix-toast-swipe-move-y", `${d}px`) } ), onSwipeCancel: Pe(e.onSwipeCancel, u => { u.currentTarget.setAttribute("data-swipe", "cancel"), u.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"), u.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"), u.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"), u.currentTarget.style.removeProperty("--radix-toast-swipe-end-y") } ), onSwipeEnd: Pe(e.onSwipeEnd, u => { const {x: c, y: d} = u.detail.delta; u.currentTarget.setAttribute("data-swipe", "end"), u.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"), u.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"), u.currentTarget.style.setProperty("--radix-toast-swipe-end-x", `${c}px`), u.currentTarget.style.setProperty("--radix-toast-swipe-end-y", `${d}px`), l(!1) } ) }) }) } ); $0.displayName = bs; var [aP,lP] = F0(bs, { onClose() {} }) , uP = S.forwardRef( (e, t) => { const {__scopeToast: n, type: r="foreground", duration: i, open: o, onClose: s, onEscapeKeyDown: a, onPause: l, onResume: u, onSwipeStart: c, onSwipeMove: d, onSwipeCancel: f, onSwipeEnd: h, ...x} = e , y = Dl(bs, n) , [w,g] = S.useState(null) , m = Bt(t, L => g(L)) , v = S.useRef(null) , b = S.useRef(null) , C = i || y.duration , E = S.useRef(0) , T = S.useRef(C) , P = S.useRef(0) , {onToastAdd: M, onToastRemove: A} = y , F = or( () => { var W; (w == null ? void 0 : w.contains(document.activeElement)) && ((W = y.viewport) == null || W.focus()), s() } ) , O = S.useCallback(L => { !L || L === 1 / 0 || (window.clearTimeout(P.current), E.current = new Date().getTime(), P.current = window.setTimeout(F, L)) } , [F]); S.useEffect( () => { const L = y.viewport; if (L) { const W = () => { O(T.current), u == null || u() } , z = () => { const H = new Date().getTime() - E.current; T.current = T.current - H, window.clearTimeout(P.current), l == null || l() } ; return L.addEventListener(Hc, z), L.addEventListener(Kc, W), () => { L.removeEventListener(Hc, z), L.removeEventListener(Kc, W) } } } , [y.viewport, C, l, u, O]), S.useEffect( () => { o && !y.isClosePausedRef.current && O(C) } , [o, C, y.isClosePausedRef, O]), S.useEffect( () => (M(), () => A()), [M, A]); const U = S.useMemo( () => w ? q0(w) : null, [w]); return y.viewport ? p.jsxs(p.Fragment, { children: [U && p.jsx(cP, { __scopeToast: n, role: "status", "aria-live": r === "foreground" ? "assertive" : "polite", "aria-atomic": !0, children: U }), p.jsx(aP, { scope: n, onClose: F, children: ws.createPortal(p.jsx(Df.ItemSlot, { scope: n, children: p.jsx(zT, { asChild: !0, onEscapeKeyDown: Pe(a, () => { y.isFocusedToastEscapeKeyDownRef.current || F(), y.isFocusedToastEscapeKeyDownRef.current = !1 } ), children: p.jsx(rt.li, { role: "status", "aria-live": "off", "aria-atomic": !0, tabIndex: 0, "data-state": o ? "open" : "closed", "data-swipe-direction": y.swipeDirection, ...x, ref: m, style: { userSelect: "none", touchAction: "none", ...e.style }, onKeyDown: Pe(e.onKeyDown, L => { L.key === "Escape" && (a == null || a(L.nativeEvent), L.nativeEvent.defaultPrevented || (y.isFocusedToastEscapeKeyDownRef.current = !0, F())) } ), onPointerDown: Pe(e.onPointerDown, L => { L.button === 0 && (v.current = { x: L.clientX, y: L.clientY }) } ), onPointerMove: Pe(e.onPointerMove, L => { if (!v.current) return; const W = L.clientX - v.current.x , z = L.clientY - v.current.y , H = !!b.current , k = ["left", "right"].includes(y.swipeDirection) , R = ["left", "up"].includes(y.swipeDirection) ? Math.min : Math.max , I = k ? R(0, W) : 0 , $ = k ? 0 : R(0, z) , B = L.pointerType === "touch" ? 10 : 2 , q = { x: I, y: $ } , X = { originalEvent: L, delta: q }; H ? (b.current = q, Zs(iP, d, X, { discrete: !1 })) : im(q, y.swipeDirection, B) ? (b.current = q, Zs(rP, c, X, { discrete: !1 }), L.target.setPointerCapture(L.pointerId)) : (Math.abs(W) > B || Math.abs(z) > B) && (v.current = null) } ), onPointerUp: Pe(e.onPointerUp, L => { const W = b.current , z = L.target; if (z.hasPointerCapture(L.pointerId) && z.releasePointerCapture(L.pointerId), b.current = null, v.current = null, W) { const H = L.currentTarget , k = { originalEvent: L, delta: W }; im(W, y.swipeDirection, y.swipeThreshold) ? Zs(sP, h, k, { discrete: !0 }) : Zs(oP, f, k, { discrete: !0 }), H.addEventListener("click", R => R.preventDefault(), { once: !0 }) } } ) }) }) }), y.viewport) })] }) : null } ) , cP = e => { const {__scopeToast: t, children: n, ...r} = e , i = Dl(bs, t) , [o,s] = S.useState(!1) , [a,l] = S.useState(!1); return hP( () => s(!0)), S.useEffect( () => { const u = window.setTimeout( () => l(!0), 1e3); return () => window.clearTimeout(u) } , []), a ? null : p.jsx(I0, { asChild: !0, children: p.jsx(jl, { ...r, children: o && p.jsxs(p.Fragment, { children: [i.label, " ", n] }) }) }) } , dP = "ToastTitle" , U0 = S.forwardRef( (e, t) => { const {__scopeToast: n, ...r} = e; return p.jsx(rt.div, { ...r, ref: t }) } ); U0.displayName = dP; var fP = "ToastDescription" , W0 = S.forwardRef( (e, t) => { const {__scopeToast: n, ...r} = e; return p.jsx(rt.div, { ...r, ref: t }) } ); W0.displayName = fP; var H0 = "ToastAction" , K0 = S.forwardRef( (e, t) => { const {altText: n, ...r} = e; return n.trim() ? p.jsx(Q0, { altText: n, asChild: !0, children: p.jsx(Lf, { ...r, ref: t }) }) : (console.error(`Invalid prop `altText` supplied to `${H0}`. Expected non-empty `string`.`), null) } ); K0.displayName = H0; var G0 = "ToastClose" , Lf = S.forwardRef( (e, t) => { const {__scopeToast: n, ...r} = e , i = lP(G0, n); return p.jsx(Q0, { asChild: !0, children: p.jsx(rt.button, { type: "button", ...r, ref: t, onClick: Pe(e.onClick, i.onClose) }) }) } ); Lf.displayName = G0; var Q0 = S.forwardRef( (e, t) => { const {__scopeToast: n, altText: r, ...i} = e; return p.jsx(rt.div, { "data-radix-toast-announce-exclude": "", "data-radix-toast-announce-alt": r || void 0, ...i, ref: t }) } ); function q0(e) { const t = []; return Array.from(e.childNodes).forEach(r => { if (r.nodeType === r.TEXT_NODE && r.textContent && t.push(r.textContent), pP(r)) { const i = r.ariaHidden || r.hidden || r.style.display === "none" , o = r.dataset.radixToastAnnounceExclude === ""; if (!i) if (o) { const s = r.dataset.radixToastAnnounceAlt; s && t.push(s) } else t.push(...q0(r)) } } ), t } function Zs(e, t, n, {discrete: r}) { const i = n.originalEvent.currentTarget , o = new CustomEvent(e,{ bubbles: !0, cancelable: !0, detail: n }); t && i.addEventListener(e, t, { once: !0 }), r ? j0(i, o) : i.dispatchEvent(o) } var im = (e, t, n=0) => { const r = Math.abs(e.x) , i = Math.abs(e.y) , o = r > i; return t === "left" || t === "right" ? o && r > n : !o && i > n } ; function hP(e= () => {} ) { const t = or(e); sr( () => { let n = 0 , r = 0; return n = window.requestAnimationFrame( () => r = window.requestAnimationFrame(t)), () => { window.cancelAnimationFrame(n), window.cancelAnimationFrame(r) } } , [t]) } function pP(e) { return e.nodeType === e.ELEMENT_NODE } function mP(e) { const t = [] , n = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, { acceptNode: r => { const i = r.tagName === "INPUT" && r.type === "hidden"; return r.disabled || r.hidden || i ? NodeFilter.FILTER_SKIP : r.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP } }); for (; n.nextNode(); ) t.push(n.currentNode); return t } function Tu(e) { const t = document.activeElement; return e.some(n => n === t ? !0 : (n.focus(), document.activeElement !== t)) } var gP = V0 , Y0 = z0 , X0 = $0 , Z0 = U0 , J0 = W0 , ex = K0 , tx = Lf; function nx(e) { var t, n, r = ""; if (typeof e == "string" || typeof e == "number") r += e; else if (typeof e == "object") if (Array.isArray(e)) { var i = e.length; for (t = 0; t < i; t++) e[t] && (n = nx(e[t])) && (r && (r += " "), r += n) } else for (n in e) e[n] && (r && (r += " "), r += n); return r } function rx() { for (var e, t, n = 0, r = "", i = arguments.length; n < i; n++) (e = arguments[n]) && (t = nx(e)) && (r && (r += " "), r += t); return r } const om = e => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e , sm = rx , yP = (e, t) => n => { var r; if ((t == null ? void 0 : t.variants) == null) return sm(e, n == null ? void 0 : n.class, n == null ? void 0 : n.className); const {variants: i, defaultVariants: o} = t , s = Object.keys(i).map(u => { const c = n == null ? void 0 : n[u] , d = o == null ? void 0 : o[u]; if (c === null) return null; const f = om(c) || om(d); return i[u][f] } ) , a = n && Object.entries(n).reduce( (u, c) => { let[d,f] = c; return f === void 0 || (u[d] = f), u } , {}) , l = t == null || (r = t.compoundVariants) === null || r === void 0 ? void 0 : r.reduce( (u, c) => { let {class: d, className: f, ...h} = c; return Object.entries(h).every(x => { let[y,w] = x; return Array.isArray(w) ? w.includes({ ...o, ...a }[y]) : { ...o, ...a }[y] === w } ) ? [...u, d, f] : u } , []); return sm(e, s, l, n == null ? void 0 : n.class, n == null ? void 0 : n.className) } ; /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const vP = e => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase() , ix = (...e) => e.filter( (t, n, r) => !!t && t.trim() !== "" && r.indexOf(t) === n).join(" ").trim(); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ var xP = { xmlns: "http://www.w3.org/2000/svg", width: 24, height: 24, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }; /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const wP = S.forwardRef( ({color: e="currentColor", size: t=24, strokeWidth: n=2, absoluteStrokeWidth: r, className: i="", children: o, iconNode: s, ...a}, l) => S.createElement("svg", { ref: l, ...xP, width: t, height: t, stroke: e, strokeWidth: r ? Number(n) * 24 / Number(t) : n, className: ix("lucide", i), ...a }, [...s.map( ([u,c]) => S.createElement(u, c)), ...Array.isArray(o) ? o : [o]])); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const ve = (e, t) => { const n = S.forwardRef( ({className: r, ...i}, o) => S.createElement(wP, { ref: o, iconNode: t, className: ix(`lucide-${vP(e)}`, r), ...i })); return n.displayName = `${e}`, n } ; /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const ox = ve("ArrowRight", [["path", { d: "M5 12h14", key: "1ays0h" }], ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const Qc = ve("Briefcase", [["path", { d: "M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16", key: "jecpp" }], ["rect", { width: "20", height: "14", x: "2", y: "6", rx: "2", key: "i6l2r4" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const qc = ve("Building2", [["path", { d: "M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z", key: "1b4qmf" }], ["path", { d: "M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2", key: "i71pzd" }], ["path", { d: "M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2", key: "10jefs" }], ["path", { d: "M10 6h4", key: "1itunk" }], ["path", { d: "M10 10h4", key: "tcdvrf" }], ["path", { d: "M10 14h4", key: "kelpxr" }], ["path", { d: "M10 18h4", key: "1ulq68" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const SP = ve("ChevronDown", [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const bP = ve("Clock", [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], ["polyline", { points: "12 6 12 12 16 14", key: "68esgv" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const CP = ve("Cpu", [["rect", { width: "16", height: "16", x: "4", y: "4", rx: "2", key: "14l7u7" }], ["rect", { width: "6", height: "6", x: "9", y: "9", rx: "1", key: "5aljv4" }], ["path", { d: "M15 2v2", key: "13l42r" }], ["path", { d: "M15 20v2", key: "15mkzm" }], ["path", { d: "M2 15h2", key: "1gxd5l" }], ["path", { d: "M2 9h2", key: "1bbxkp" }], ["path", { d: "M20 15h2", key: "19e6y8" }], ["path", { d: "M20 9h2", key: "19tzq7" }], ["path", { d: "M9 2v2", key: "165o2o" }], ["path", { d: "M9 20v2", key: "i2bqo8" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const EP = ve("Download", [["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }], ["polyline", { points: "7 10 12 15 17 10", key: "2ggqvy" }], ["line", { x1: "12", x2: "12", y1: "15", y2: "3", key: "1vk2je" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const TP = ve("FileText", [["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], ["path", { d: "M10 9H8", key: "b1mrlr" }], ["path", { d: "M16 13H8", key: "t4e002" }], ["path", { d: "M16 17H8", key: "z1uh3a" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const PP = ve("Gavel", [["path", { d: "m14.5 12.5-8 8a2.119 2.119 0 1 1-3-3l8-8", key: "15492f" }], ["path", { d: "m16 16 6-6", key: "vzrcl6" }], ["path", { d: "m8 8 6-6", key: "18bi4p" }], ["path", { d: "m9 7 8 8", key: "5jnvq1" }], ["path", { d: "m21 11-8-8", key: "z4y7zo" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const Yc = ve("Globe", [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], ["path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", key: "13o1zl" }], ["path", { d: "M2 12h20", key: "9i4pu4" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const kP = ve("Heart", [["path", { d: "M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z", key: "c3ymky" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const am = ve("Landmark", [["line", { x1: "3", x2: "21", y1: "22", y2: "22", key: "j8o0r" }], ["line", { x1: "6", x2: "6", y1: "18", y2: "11", key: "10tf0k" }], ["line", { x1: "10", x2: "10", y1: "18", y2: "11", key: "54lgf6" }], ["line", { x1: "14", x2: "14", y1: "18", y2: "11", key: "380y" }], ["line", { x1: "18", x2: "18", y1: "18", y2: "11", key: "1kevvc" }], ["polygon", { points: "12 2 20 7 4 7", key: "jkujk7" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const AP = ve("Leaf", [["path", { d: "M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z", key: "nnexq3" }], ["path", { d: "M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12", key: "mt58a7" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const RP = ve("Mail", [["rect", { width: "20", height: "16", x: "2", y: "4", rx: "2", key: "18n3k1" }], ["path", { d: "m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7", key: "1ocrg3" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const NP = ve("MapPin", [["path", { d: "M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0", key: "1r0f0z" }], ["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const MP = ve("Menu", [["line", { x1: "4", x2: "20", y1: "12", y2: "12", key: "1e0a9i" }], ["line", { x1: "4", x2: "20", y1: "6", y2: "6", key: "1owob3" }], ["line", { x1: "4", x2: "20", y1: "18", y2: "18", key: "yk5zj1" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const jP = ve("MessageCircle", [["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const DP = ve("Phone", [["path", { d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z", key: "foiqr5" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const Xc = ve("Scale", [["path", { d: "m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "7g6ntu" }], ["path", { d: "m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z", key: "ijws7r" }], ["path", { d: "M7 21h10", key: "1b0cd5" }], ["path", { d: "M12 3v18", key: "108xh3" }], ["path", { d: "M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2", key: "3gwbw2" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const Zc = ve("Shield", [["path", { d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z", key: "oel41y" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const sx = ve("Users", [["path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" }], ["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }], ["path", { d: "M22 21v-2a4 4 0 0 0-3-3.87", key: "kshegd" }], ["path", { d: "M16 3.13a4 4 0 0 1 0 7.75", key: "1da9ce" }]]); /** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const ax = ve("X", [["path", { d: "M18 6 6 18", key: "1bl5f8" }], ["path", { d: "m6 6 12 12", key: "d8bk6v" }]]) , Of = "-" , LP = e => { const t = IP(e) , {conflictingClassGroups: n, conflictingClassGroupModifiers: r} = e; return { getClassGroupId: s => { const a = s.split(Of); return a[0] === "" && a.length !== 1 && a.shift(), lx(a, t) || OP(s) } , getConflictingClassGroupIds: (s, a) => { const l = n[s] || []; return a && r[s] ? [...l, ...r[s]] : l } } } , lx = (e, t) => { var s; if (e.length === 0) return t.classGroupId; const n = e[0] , r = t.nextPart.get(n) , i = r ? lx(e.slice(1), r) : void 0; if (i) return i; if (t.validators.length === 0) return; const o = e.join(Of); return (s = t.validators.find( ({validator: a}) => a(o))) == null ? void 0 : s.classGroupId } , lm = /^[(.+)]$/ , OP = e => { if (lm.test(e)) { const t = lm.exec(e)[1] , n = t == null ? void 0 : t.substring(0, t.indexOf(":")); if (n) return "arbitrary.." + n } } , IP = e => { const {theme: t, prefix: n} = e , r = { nextPart: new Map, validators: [] }; return VP(Object.entries(e.classGroups), n).forEach( ([o,s]) => { Jc(s, r, o, t) } ), r } , Jc = (e, t, n, r) => { e.forEach(i => { if (typeof i == "string") { const o = i === "" ? t : um(t, i); o.classGroupId = n; return } if (typeof i == "function") { if (FP(i)) { Jc(i(r), t, n, r); return } t.validators.push({ validator: i, classGroupId: n }); return } Object.entries(i).forEach( ([o,s]) => { Jc(s, um(t, o), n, r) } ) } ) } , um = (e, t) => { let n = e; return t.split(Of).forEach(r => { n.nextPart.has(r) || n.nextPart.set(r, { nextPart: new Map, validators: [] }), n = n.nextPart.get(r) } ), n } , FP = e => e.isThemeGetter , VP = (e, t) => t ? e.map( ([n,r]) => { const i = r.map(o => typeof o == "string" ? t + o : typeof o == "object" ? Object.fromEntries(Object.entries(o).map( ([s,a]) => [t + s, a])) : o); return [n, i] } ) : e , _P = e => { if (e < 1) return { get: () => {} , set: () => {} }; let t = 0 , n = new Map , r = new Map; const i = (o, s) => { n.set(o, s), t++, t > e && (t = 0, r = n, n = new Map) } ; return { get(o) { let s = n.get(o); if (s !== void 0) return s; if ((s = r.get(o)) !== void 0) return i(o, s), s }, set(o, s) { n.has(o) ? n.set(o, s) : i(o, s) } } } , ux = "!" , zP = e => { const {separator: t, experimentalParseClassName: n} = e , r = t.length === 1 , i = t[0] , o = t.length , s = a => { const l = []; let u = 0, c = 0, d; for (let w = 0; w < a.length; w++) { let g = a[w]; if (u === 0) { if (g === i && (r || a.slice(w, w + o) === t)) { l.push(a.slice(c, w)), c = w + o; continue } if (g === "/") { d = w; continue } } g === "[" ? u++ : g === "]" && u-- } const f = l.length === 0 ? a : a.substring(c) , h = f.startsWith(ux) , x = h ? f.substring(1) : f , y = d && d > c ? d - c : void 0; return { modifiers: l, hasImportantModifier: h, baseClassName: x, maybePostfixModifierPosition: y } } ; return n ? a => n({ className: a, parseClassName: s }) : s } , BP = e => { if (e.length <= 1) return e; const t = []; let n = []; return e.forEach(r => { r[0] === "[" ? (t.push(...n.sort(), r), n = []) : n.push(r) } ), t.push(...n.sort()), t } , $P = e => ({ cache: _P(e.cacheSize), parseClassName: zP(e), ...LP(e) }) , UP = /s+/ , WP = (e, t) => { const {parseClassName: n, getClassGroupId: r, getConflictingClassGroupIds: i} = t , o = [] , s = e.trim().split(UP); let a = ""; for (let l = s.length - 1; l >= 0; l -= 1) { const u = s[l] , {modifiers: c, hasImportantModifier: d, baseClassName: f, maybePostfixModifierPosition: h} = n(u); let x = !!h , y = r(x ? f.substring(0, h) : f); if (!y) { if (!x) { a = u + (a.length > 0 ? " " + a : a); continue } if (y = r(f), !y) { a = u + (a.length > 0 ? " " + a : a); continue } x = !1 } const w = BP(c).join(":") , g = d ? w + ux : w , m = g + y; if (o.includes(m)) continue; o.push(m); const v = i(y, x); for (let b = 0; b < v.length; ++b) { const C = v[b]; o.push(g + C) } a = u + (a.length > 0 ? " " + a : a) } return a } ; function HP() { let e = 0, t, n, r = ""; for (; e < arguments.length; ) (t = arguments[e++]) && (n = cx(t)) && (r && (r += " "), r += n); return r } const cx = e => { if (typeof e == "string") return e; let t, n = ""; for (let r = 0; r < e.length; r++) e[r] && (t = cx(e[r])) && (n && (n += " "), n += t); return n } ; function KP(e, ...t) { let n, r, i, o = s; function s(l) { const u = t.reduce( (c, d) => d(c), e()); return n = $P(u), r = n.cache.get, i = n.cache.set, o = a, a(l) } function a(l) { const u = r(l); if (u) return u; const c = WP(l, n); return i(l, c), c } return function() { return o(HP.apply(null, arguments)) } } const oe = e => { const t = n => n[e] || []; return t.isThemeGetter = !0, t } , dx = /^[(?:([a-z-]+):)?(.+)]$/i , GP = /^d+/d+$/ , QP = new Set(["px", "full", "screen"]) , qP = /^(d+(.d+)?)?(xs|sm|md|lg|xl)$/ , YP = /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$/ , XP = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))(.+)$/ , ZP = /^(inset_)?-?((d+)?.?(d+)[a-z]+|0)_-?((d+)?.?(d+)[a-z]+|0)/ , JP = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)(.+)$/ , sn = e => Ei(e) || QP.has(e) || GP.test(e) , Rn = e => Zi(e, "length", ak) , Ei = e => !!e && !Number.isNaN(Number(e)) , Pu = e => Zi(e, "number", Ei) , vo = e => !!e && Number.isInteger(Number(e)) , ek = e => e.endsWith("%") && Ei(e.slice(0, -1)) , Q = e => dx.test(e) , Nn = e => qP.test(e) , tk = new Set(["length", "size", "percentage"]) , nk = e => Zi(e, tk, fx) , rk = e => Zi(e, "position", fx) , ik = new Set(["image", "url"]) , ok = e => Zi(e, ik, uk) , sk = e => Zi(e, "", lk) , xo = () => !0 , Zi = (e, t, n) => { const r = dx.exec(e); return r ? r[1] ? typeof t == "string" ? r[1] === t : t.has(r[1]) : n(r[2]) : !1 } , ak = e => YP.test(e) && !XP.test(e) , fx = () => !1 , lk = e => ZP.test(e) , uk = e => JP.test(e) , ck = () => { const e = oe("colors") , t = oe("spacing") , n = oe("blur") , r = oe("brightness") , i = oe("borderColor") , o = oe("borderRadius") , s = oe("borderSpacing") , a = oe("borderWidth") , l = oe("contrast") , u = oe("grayscale") , c = oe("hueRotate") , d = oe("invert") , f = oe("gap") , h = oe("gradientColorStops") , x = oe("gradientColorStopPositions") , y = oe("inset") , w = oe("margin") , g = oe("opacity") , m = oe("padding") , v = oe("saturate") , b = oe("scale") , C = oe("sepia") , E = oe("skew") , T = oe("space") , P = oe("translate") , M = () => ["auto", "contain", "none"] , A = () => ["auto", "hidden", "clip", "visible", "scroll"] , F = () => ["auto", Q, t] , O = () => [Q, t] , U = () => ["", sn, Rn] , L = () => ["auto", Ei, Q] , W = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"] , z = () => ["solid", "dashed", "dotted", "double", "none"] , H = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"] , k = () => ["start", "end", "center", "between", "around", "evenly", "stretch"] , R = () => ["", "0", Q] , I = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"] , $ = () => [Ei, Q]; return { cacheSize: 500, separator: ":", theme: { colors: [xo], spacing: [sn, Rn], blur: ["none", "", Nn, Q], brightness: $(), borderColor: [e], borderRadius: ["none", "", "full", Nn, Q], borderSpacing: O(), borderWidth: U(), contrast: $(), grayscale: R(), hueRotate: $(), invert: R(), gap: O(), gradientColorStops: [e], gradientColorStopPositions: [ek, Rn], inset: F(), margin: F(), opacity: $(), padding: O(), saturate: $(), scale: $(), sepia: R(), skew: $(), space: O(), translate: O() }, classGroups: { aspect: [{ aspect: ["auto", "square", "video", Q] }], container: ["container"], columns: [{ columns: [Nn] }], "break-after": [{ "break-after": I() }], "break-before": [{ "break-before": I() }], "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], "box-decoration": [{ "box-decoration": ["slice", "clone"] }], box: [{ box: ["border", "content"] }], 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"], float: [{ float: ["right", "left", "none", "start", "end"] }], clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], isolation: ["isolate", "isolation-auto"], "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], "object-position": [{ object: [...W(), Q] }], overflow: [{ overflow: A() }], "overflow-x": [{ "overflow-x": A() }], "overflow-y": [{ "overflow-y": A() }], overscroll: [{ overscroll: M() }], "overscroll-x": [{ "overscroll-x": M() }], "overscroll-y": [{ "overscroll-y": M() }], position: ["static", "fixed", "absolute", "relative", "sticky"], inset: [{ inset: [y] }], "inset-x": [{ "inset-x": [y] }], "inset-y": [{ "inset-y": [y] }], start: [{ start: [y] }], end: [{ end: [y] }], top: [{ top: [y] }], right: [{ right: [y] }], bottom: [{ bottom: [y] }], left: [{ left: [y] }], visibility: ["visible", "invisible", "collapse"], z: [{ z: ["auto", vo, Q] }], basis: [{ basis: F() }], "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], "flex-wrap": [{ flex: ["wrap", "wrap-reverse", "nowrap"] }], flex: [{ flex: ["1", "auto", "initial", "none", Q] }], grow: [{ grow: R() }], shrink: [{ shrink: R() }], order: [{ order: ["first", "last", "none", vo, Q] }], "grid-cols": [{ "grid-cols": [xo] }], "col-start-end": [{ col: ["auto", { span: ["full", vo, Q] }, Q] }], "col-start": [{ "col-start": L() }], "col-end": [{ "col-end": L() }], "grid-rows": [{ "grid-rows": [xo] }], "row-start-end": [{ row: ["auto", { span: [vo, Q] }, Q] }], "row-start": [{ "row-start": L() }], "row-end": [{ "row-end": L() }], "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], "auto-cols": [{ "auto-cols": ["auto", "min", "max", "fr", Q] }], "auto-rows": [{ "auto-rows": ["auto", "min", "max", "fr", Q] }], gap: [{ gap: [f] }], "gap-x": [{ "gap-x": [f] }], "gap-y": [{ "gap-y": [f] }], "justify-content": [{ justify: ["normal", ...k()] }], "justify-items": [{ "justify-items": ["start", "end", "center", "stretch"] }], "justify-self": [{ "justify-self": ["auto", "start", "end", "center", "stretch"] }], "align-content": [{ content: ["normal", ...k(), "baseline"] }], "align-items": [{ items: ["start", "end", "center", "baseline", "stretch"] }], "align-self": [{ self: ["auto", "start", "end", "center", "stretch", "baseline"] }], "place-content": [{ "place-content": [...k(), "baseline"] }], "place-items": [{ "place-items": ["start", "end", "center", "baseline", "stretch"] }], "place-self": [{ "place-self": ["auto", "start", "end", "center", "stretch"] }], p: [{ p: [m] }], px: [{ px: [m] }], py: [{ py: [m] }], ps: [{ ps: [m] }], pe: [{ pe: [m] }], pt: [{ pt: [m] }], pr: [{ pr: [m] }], pb: [{ pb: [m] }], pl: [{ pl: [m] }], m: [{ m: [w] }], mx: [{ mx: [w] }], my: [{ my: [w] }], ms: [{ ms: [w] }], me: [{ me: [w] }], mt: [{ mt: [w] }], mr: [{ mr: [w] }], mb: [{ mb: [w] }], ml: [{ ml: [w] }], "space-x": [{ "space-x": [T] }], "space-x-reverse": ["space-x-reverse"], "space-y": [{ "space-y": [T] }], "space-y-reverse": ["space-y-reverse"], w: [{ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", Q, t] }], "min-w": [{ "min-w": [Q, t, "min", "max", "fit"] }], "max-w": [{ "max-w": [Q, t, "none", "full", "min", "max", "fit", "prose", { screen: [Nn] }, Nn] }], h: [{ h: [Q, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"] }], "min-h": [{ "min-h": [Q, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], "max-h": [{ "max-h": [Q, t, "min", "max", "fit", "svh", "lvh", "dvh"] }], size: [{ size: [Q, t, "auto", "min", "max", "fit"] }], "font-size": [{ text: ["base", Nn, Rn] }], "font-smoothing": ["antialiased", "subpixel-antialiased"], "font-style": ["italic", "not-italic"], "font-weight": [{ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", Pu] }], "font-family": [{ font: [xo] }], "fvn-normal": ["normal-nums"], "fvn-ordinal": ["ordinal"], "fvn-slashed-zero": ["slashed-zero"], "fvn-figure": ["lining-nums", "oldstyle-nums"], "fvn-spacing": ["proportional-nums", "tabular-nums"], "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], tracking: [{ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", Q] }], "line-clamp": [{ "line-clamp": ["none", Ei, Pu] }], leading: [{ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", sn, Q] }], "list-image": [{ "list-image": ["none", Q] }], "list-style-type": [{ list: ["none", "disc", "decimal", Q] }], "list-style-position": [{ list: ["inside", "outside"] }], "placeholder-color": [{ placeholder: [e] }], "placeholder-opacity": [{ "placeholder-opacity": [g] }], "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], "text-color": [{ text: [e] }], "text-opacity": [{ "text-opacity": [g] }], "text-decoration": ["underline", "overline", "line-through", "no-underline"], "text-decoration-style": [{ decoration: [...z(), "wavy"] }], "text-decoration-thickness": [{ decoration: ["auto", "from-font", sn, Rn] }], "underline-offset": [{ "underline-offset": ["auto", sn, Q] }], "text-decoration-color": [{ decoration: [e] }], "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], "text-overflow": ["truncate", "text-ellipsis", "text-clip"], "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], indent: [{ indent: O() }], "vertical-align": [{ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Q] }], whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], break: [{ break: ["normal", "words", "all", "keep"] }], hyphens: [{ hyphens: ["none", "manual", "auto"] }], content: [{ content: ["none", Q] }], "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], "bg-opacity": [{ "bg-opacity": [g] }], "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], "bg-position": [{ bg: [...W(), rk] }], "bg-repeat": [{ bg: ["no-repeat", { repeat: ["", "x", "y", "round", "space"] }] }], "bg-size": [{ bg: ["auto", "cover", "contain", nk] }], "bg-image": [{ bg: ["none", { "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, ok] }], "bg-color": [{ bg: [e] }], "gradient-from-pos": [{ from: [x] }], "gradient-via-pos": [{ via: [x] }], "gradient-to-pos": [{ to: [x] }], "gradient-from": [{ from: [h] }], "gradient-via": [{ via: [h] }], "gradient-to": [{ to: [h] }], rounded: [{ rounded: [o] }], "rounded-s": [{ "rounded-s": [o] }], "rounded-e": [{ "rounded-e": [o] }], "rounded-t": [{ "rounded-t": [o] }], "rounded-r": [{ "rounded-r": [o] }], "rounded-b": [{ "rounded-b": [o] }], "rounded-l": [{ "rounded-l": [o] }], "rounded-ss": [{ "rounded-ss": [o] }], "rounded-se": [{ "rounded-se": [o] }], "rounded-ee": [{ "rounded-ee": [o] }], "rounded-es": [{ "rounded-es": [o] }], "rounded-tl": [{ "rounded-tl": [o] }], "rounded-tr": [{ "rounded-tr": [o] }], "rounded-br": [{ "rounded-br": [o] }], "rounded-bl": [{ "rounded-bl": [o] }], "border-w": [{ border: [a] }], "border-w-x": [{ "border-x": [a] }], "border-w-y": [{ "border-y": [a] }], "border-w-s": [{ "border-s": [a] }], "border-w-e": [{ "border-e": [a] }], "border-w-t": [{ "border-t": [a] }], "border-w-r": [{ "border-r": [a] }], "border-w-b": [{ "border-b": [a] }], "border-w-l": [{ "border-l": [a] }], "border-opacity": [{ "border-opacity": [g] }], "border-style": [{ border: [...z(), "hidden"] }], "divide-x": [{ "divide-x": [a] }], "divide-x-reverse": ["divide-x-reverse"], "divide-y": [{ "divide-y": [a] }], "divide-y-reverse": ["divide-y-reverse"], "divide-opacity": [{ "divide-opacity": [g] }], "divide-style": [{ divide: z() }], "border-color": [{ border: [i] }], "border-color-x": [{ "border-x": [i] }], "border-color-y": [{ "border-y": [i] }], "border-color-s": [{ "border-s": [i] }], "border-color-e": [{ "border-e": [i] }], "border-color-t": [{ "border-t": [i] }], "border-color-r": [{ "border-r": [i] }], "border-color-b": [{ "border-b": [i] }], "border-color-l": [{ "border-l": [i] }], "divide-color": [{ divide: [i] }], "outline-style": [{ outline: ["", ...z()] }], "outline-offset": [{ "outline-offset": [sn, Q] }], "outline-w": [{ outline: [sn, Rn] }], "outline-color": [{ outline: [e] }], "ring-w": [{ ring: U() }], "ring-w-inset": ["ring-inset"], "ring-color": [{ ring: [e] }], "ring-opacity": [{ "ring-opacity": [g] }], "ring-offset-w": [{ "ring-offset": [sn, Rn] }], "ring-offset-color": [{ "ring-offset": [e] }], shadow: [{ shadow: ["", "inner", "none", Nn, sk] }], "shadow-color": [{ shadow: [xo] }], opacity: [{ opacity: [g] }], "mix-blend": [{ "mix-blend": [...H(), "plus-lighter", "plus-darker"] }], "bg-blend": [{ "bg-blend": H() }], filter: [{ filter: ["", "none"] }], blur: [{ blur: [n] }], brightness: [{ brightness: [r] }], contrast: [{ contrast: [l] }], "drop-shadow": [{ "drop-shadow": ["", "none", Nn, Q] }], grayscale: [{ grayscale: [u] }], "hue-rotate": [{ "hue-rotate": [c] }], invert: [{ invert: [d] }], saturate: [{ saturate: [v] }], sepia: [{ sepia: [C] }], "backdrop-filter": [{ "backdrop-filter": ["", "none"] }], "backdrop-blur": [{ "backdrop-blur": [n] }], "backdrop-brightness": [{ "backdrop-brightness": [r] }], "backdrop-contrast": [{ "backdrop-contrast": [l] }], "backdrop-grayscale": [{ "backdrop-grayscale": [u] }], "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [c] }], "backdrop-invert": [{ "backdrop-invert": [d] }], "backdrop-opacity": [{ "backdrop-opacity": [g] }], "backdrop-saturate": [{ "backdrop-saturate": [v] }], "backdrop-sepia": [{ "backdrop-sepia": [C] }], "border-collapse": [{ border: ["collapse", "separate"] }], "border-spacing": [{ "border-spacing": [s] }], "border-spacing-x": [{ "border-spacing-x": [s] }], "border-spacing-y": [{ "border-spacing-y": [s] }], "table-layout": [{ table: ["auto", "fixed"] }], caption: [{ caption: ["top", "bottom"] }], transition: [{ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", Q] }], duration: [{ duration: $() }], ease: [{ ease: ["linear", "in", "out", "in-out", Q] }], delay: [{ delay: $() }], animate: [{ animate: ["none", "spin", "ping", "pulse", "bounce", Q] }], transform: [{ transform: ["", "gpu", "none"] }], scale: [{ scale: [b] }], "scale-x": [{ "scale-x": [b] }], "scale-y": [{ "scale-y": [b] }], rotate: [{ rotate: [vo, Q] }], "translate-x": [{ "translate-x": [P] }], "translate-y": [{ "translate-y": [P] }], "skew-x": [{ "skew-x": [E] }], "skew-y": [{ "skew-y": [E] }], "transform-origin": [{ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", Q] }], accent: [{ accent: ["auto", e] }], appearance: [{ appearance: ["none", "auto"] }], 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", Q] }], "caret-color": [{ caret: [e] }], "pointer-events": [{ "pointer-events": ["none", "auto"] }], resize: [{ resize: ["none", "y", "x", ""] }], "scroll-behavior": [{ scroll: ["auto", "smooth"] }], "scroll-m": [{ "scroll-m": O() }], "scroll-mx": [{ "scroll-mx": O() }], "scroll-my": [{ "scroll-my": O() }], "scroll-ms": [{ "scroll-ms": O() }], "scroll-me": [{ "scroll-me": O() }], "scroll-mt": [{ "scroll-mt": O() }], "scroll-mr": [{ "scroll-mr": O() }], "scroll-mb": [{ "scroll-mb": O() }], "scroll-ml": [{ "scroll-ml": O() }], "scroll-p": [{ "scroll-p": O() }], "scroll-px": [{ "scroll-px": O() }], "scroll-py": [{ "scroll-py": O() }], "scroll-ps": [{ "scroll-ps": O() }], "scroll-pe": [{ "scroll-pe": O() }], "scroll-pt": [{ "scroll-pt": O() }], "scroll-pr": [{ "scroll-pr": O() }], "scroll-pb": [{ "scroll-pb": O() }], "scroll-pl": [{ "scroll-pl": O() }], "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], "snap-stop": [{ snap: ["normal", "always"] }], "snap-type": [{ snap: ["none", "x", "y", "both"] }], "snap-strictness": [{ snap: ["mandatory", "proximity"] }], touch: [{ touch: ["auto", "none", "manipulation"] }], "touch-x": [{ "touch-pan": ["x", "left", "right"] }], "touch-y": [{ "touch-pan": ["y", "up", "down"] }], "touch-pz": ["touch-pinch-zoom"], select: [{ select: ["none", "text", "all", "auto"] }], "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", Q] }], fill: [{ fill: [e, "none"] }], "stroke-w": [{ stroke: [sn, Rn, Pu] }], stroke: [{ stroke: [e, "none"] }], sr: ["sr-only", "not-sr-only"], "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"] } } } , dk = KP(ck); function Hr(...e) { return dk(rx(e)) } const fk = gP , hx = S.forwardRef( ({className: e, ...t}, n) => p.jsx(Y0, { ref: n, className: Hr("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]", e), ...t })); hx.displayName = Y0.displayName; const hk = yP("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full", { variants: { variant: { default: "border bg-background text-foreground", destructive: "destructive group border-destructive bg-destructive text-destructive-foreground" } }, defaultVariants: { variant: "default" } }) , px = S.forwardRef( ({className: e, variant: t, ...n}, r) => p.jsx(X0, { ref: r, className: Hr(hk({ variant: t }), e), ...n })); px.displayName = X0.displayName; const pk = S.forwardRef( ({className: e, ...t}, n) => p.jsx(ex, { ref: n, className: Hr("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors group-[.destructive]:border-muted/40 hover:bg-secondary group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 group-[.destructive]:focus:ring-destructive disabled:pointer-events-none disabled:opacity-50", e), ...t })); pk.displayName = ex.displayName; const mx = S.forwardRef( ({className: e, ...t}, n) => p.jsx(tx, { ref: n, className: Hr("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 hover:text-foreground group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:outline-none focus:ring-2 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600", e), "toast-close": "", ...t, children: p.jsx(ax, { className: "h-4 w-4" }) })); mx.displayName = tx.displayName; const gx = S.forwardRef( ({className: e, ...t}, n) => p.jsx(Z0, { ref: n, className: Hr("text-sm font-semibold", e), ...t })); gx.displayName = Z0.displayName; const yx = S.forwardRef( ({className: e, ...t}, n) => p.jsx(J0, { ref: n, className: Hr("text-sm opacity-90", e), ...t })); yx.displayName = J0.displayName; function mk() { const {toasts: e} = ET(); return p.jsxs(fk, { children: [e.map(function({id: t, title: n, description: r, action: i, ...o}) { return p.jsxs(px, { ...o, children: [p.jsxs("div", { className: "grid gap-1", children: [n && p.jsx(gx, { children: n }), r && p.jsx(yx, { children: r })] }), i, p.jsx(mx, {})] }, t) }), p.jsx(hx, {})] }) } const gk = ["top", "right", "bottom", "left"] , ar = Math.min , ot = Math.max , el = Math.round , Js = Math.floor , en = e => ({ x: e, y: e }) , yk = { left: "right", right: "left", bottom: "top", top: "bottom" } , vk = { start: "end", end: "start" }; function ed(e, t, n) { return ot(e, ar(t, n)) } function vn(e, t) { return typeof e == "function" ? e(t) : e } function xn(e) { return e.split("-")[0] } function Ji(e) { return e.split("-")[1] } function If(e) { return e === "x" ? "y" : "x" } function Ff(e) { return e === "y" ? "height" : "width" } const xk = new Set(["top", "bottom"]); function Xt(e) { return xk.has(xn(e)) ? "y" : "x" } function Vf(e) { return If(Xt(e)) } function wk(e, t, n) { n === void 0 && (n = !1); const r = Ji(e) , i = Vf(e) , o = Ff(i); let s = i === "x" ? r === (n ? "end" : "start") ? "right" : "left" : r === "start" ? "bottom" : "top"; return t.reference[o] > t.floating[o] && (s = tl(s)), [s, tl(s)] } function Sk(e) { const t = tl(e); return [td(e), t, td(t)] } function td(e) { return e.replace(/start|end/g, t => vk[t]) } const cm = ["left", "right"] , dm = ["right", "left"] , bk = ["top", "bottom"] , Ck = ["bottom", "top"]; function Ek(e, t, n) { switch (e) { case "top": case "bottom": return n ? t ? dm : cm : t ? cm : dm; case "left": case "right": return t ? bk : Ck; default: return [] } } function Tk(e, t, n, r) { const i = Ji(e); let o = Ek(xn(e), n === "start", r); return i && (o = o.map(s => s + "-" + i), t && (o = o.concat(o.map(td)))), o } function tl(e) { return e.replace(/left|right|bottom|top/g, t => yk[t]) } function Pk(e) { return { top: 0, right: 0, bottom: 0, left: 0, ...e } } function vx(e) { return typeof e != "number" ? Pk(e) : { top: e, right: e, bottom: e, left: e } } function nl(e) { const {x: t, y: n, width: r, height: i} = e; return { width: r, height: i, top: n, left: t, right: t + r, bottom: n + i, x: t, y: n } } function fm(e, t, n) { let {reference: r, floating: i} = e; const o = Xt(t) , s = Vf(t) , a = Ff(s) , l = xn(t) , u = o === "y" , c = r.x + r.width / 2 - i.width / 2 , d = r.y + r.height / 2 - i.height / 2 , f = r[a] / 2 - i[a] / 2; let h; switch (l) { case "top": h = { x: c, y: r.y - i.height }; break; case "bottom": h = { x: c, y: r.y + r.height }; break; case "right": h = { x: r.x + r.width, y: d }; break; case "left": h = { x: r.x - i.width, y: d }; break; default: h = { x: r.x, y: r.y } } switch (Ji(t)) { case "start": h[s] -= f * (n && u ? -1 : 1); break; case "end": h[s] += f * (n && u ? -1 : 1); break } return h } const kk = async (e, t, n) => { const {placement: r="bottom", strategy: i="absolute", middleware: o=[], platform: s} = n , a = o.filter(Boolean) , l = await (s.isRTL == null ? void 0 : s.isRTL(t)); let u = await s.getElementRects({ reference: e, floating: t, strategy: i }) , {x: c, y: d} = fm(u, r, l) , f = r , h = {} , x = 0; for (let y = 0; y < a.length; y++) { const {name: w, fn: g} = a[y] , {x: m, y: v, data: b, reset: C} = await g({ x: c, y: d, initialPlacement: r, placement: f, strategy: i, middlewareData: h, rects: u, platform: s, elements: { reference: e, floating: t } }); c = m ?? c, d = v ?? d, h = { ...h, [w]: { ...h[w], ...b } }, C && x <= 50 && (x++, typeof C == "object" && (C.placement && (f = C.placement), C.rects && (u = C.rects === !0 ? await s.getElementRects({ reference: e, floating: t, strategy: i }) : C.rects), {x: c, y: d} = fm(u, f, l)), y = -1) } return { x: c, y: d, placement: f, strategy: i, middlewareData: h } } ; async function as(e, t) { var n; t === void 0 && (t = {}); const {x: r, y: i, platform: o, rects: s, elements: a, strategy: l} = e , {boundary: u="clippingAncestors", rootBoundary: c="viewport", elementContext: d="floating", altBoundary: f=!1, padding: h=0} = vn(t, e) , x = vx(h) , w = a[f ? d === "floating" ? "reference" : "floating" : d] , g = nl(await o.getClippingRect({ element: (n = await (o.isElement == null ? void 0 : o.isElement(w))) == null || n ? w : w.contextElement || await (o.getDocumentElement == null ? void 0 : o.getDocumentElement(a.floating)), boundary: u, rootBoundary: c, strategy: l })) , m = d === "floating" ? { x: r, y: i, width: s.floating.width, height: s.floating.height } : s.reference , v = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(a.floating)) , b = await (o.isElement == null ? void 0 : o.isElement(v)) ? await (o.getScale == null ? void 0 : o.getScale(v)) || { x: 1, y: 1 } : { x: 1, y: 1 } , C = nl(o.convertOffsetParentRelativeRectToViewportRelativeRect ? await o.convertOffsetParentRelativeRectToViewportRelativeRect({ elements: a, rect: m, offsetParent: v, strategy: l }) : m); return { top: (g.top - C.top + x.top) / b.y, bottom: (C.bottom - g.bottom + x.bottom) / b.y, left: (g.left - C.left + x.left) / b.x, right: (C.right - g.right + x.right) / b.x } } const Ak = e => ({ name: "arrow", options: e, async fn(t) { const {x: n, y: r, placement: i, rects: o, platform: s, elements: a, middlewareData: l} = t , {element: u, padding: c=0} = vn(e, t) || {}; if (u == null) return {}; const d = vx(c) , f = { x: n, y: r } , h = Vf(i) , x = Ff(h) , y = await s.getDimensions(u) , w = h === "y" , g = w ? "top" : "left" , m = w ? "bottom" : "right" , v = w ? "clientHeight" : "clientWidth" , b = o.reference[x] + o.reference[h] - f[h] - o.floating[x] , C = f[h] - o.reference[h] , E = await (s.getOffsetParent == null ? void 0 : s.getOffsetParent(u)); let T = E ? E[v] : 0; (!T || !await (s.isElement == null ? void 0 : s.isElement(E))) && (T = a.floating[v] || o.floating[x]); const P = b / 2 - C / 2 , M = T / 2 - y[x] / 2 - 1 , A = ar(d[g], M) , F = ar(d[m], M) , O = A , U = T - y[x] - F , L = T / 2 - y[x] / 2 + P , W = ed(O, L, U) , z = !l.arrow && Ji(i) != null && L !== W && o.reference[x] / 2 - (L < O ? A : F) - y[x] / 2 < 0 , H = z ? L < O ? L - O : L - U : 0; return { [h]: f[h] + H, data: { [h]: W, centerOffset: L - W - H, ...z && { alignmentOffset: H } }, reset: z } } }) , Rk = function(e) { return e === void 0 && (e = {}), { name: "flip", options: e, async fn(t) { var n, r; const {placement: i, middlewareData: o, rects: s, initialPlacement: a, platform: l, elements: u} = t , {mainAxis: c=!0, crossAxis: d=!0, fallbackPlacements: f, fallbackStrategy: h="bestFit", fallbackAxisSideDirection: x="none", flipAlignment: y=!0, ...w} = vn(e, t); if ((n = o.arrow) != null && n.alignmentOffset) return {}; const g = xn(i) , m = Xt(a) , v = xn(a) === a , b = await (l.isRTL == null ? void 0 : l.isRTL(u.floating)) , C = f || (v || !y ? [tl(a)] : Sk(a)) , E = x !== "none"; !f && E && C.push(...Tk(a, y, x, b)); const T = [a, ...C] , P = await as(t, w) , M = []; let A = ((r = o.flip) == null ? void 0 : r.overflows) || []; if (c && M.push(P[g]), d) { const L = wk(i, s, b); M.push(P[L[0]], P[L[1]]) } if (A = [...A, { placement: i, overflows: M }], !M.every(L => L <= 0)) { var F, O; const L = (((F = o.flip) == null ? void 0 : F.index) || 0) + 1 , W = T[L]; if (W && (!(d === "alignment" ? m !== Xt(W) : !1) || A.every(k => k.overflows[0] > 0 && Xt(k.placement) === m))) return { data: { index: L, overflows: A }, reset: { placement: W } }; let z = (O = A.filter(H => H.overflows[0] <= 0).sort( (H, k) => H.overflows[1] - k.overflows[1])[0]) == null ? void 0 : O.placement; if (!z) switch (h) { case "bestFit": { var U; const H = (U = A.filter(k => { if (E) { const R = Xt(k.placement); return R === m || R === "y" } return !0 } ).map(k => [k.placement, k.overflows.filter(R => R > 0).reduce( (R, I) => R + I, 0)]).sort( (k, R) => k[1] - R[1])[0]) == null ? void 0 : U[0]; H && (z = H); break } case "initialPlacement": z = a; break } if (i !== z) return { reset: { placement: z } } } return {} } } }; function hm(e, t) { return { top: e.top - t.height, right: e.right - t.width, bottom: e.bottom - t.height, left: e.left - t.width } } function pm(e) { return gk.some(t => e[t] >= 0) } const Nk = function(e) { return e === void 0 && (e = {}), { name: "hide", options: e, async fn(t) { const {rects: n} = t , {strategy: r="referenceHidden", ...i} = vn(e, t); switch (r) { case "referenceHidden": { const o = await as(t, { ...i, elementContext: "reference" }) , s = hm(o, n.reference); return { data: { referenceHiddenOffsets: s, referenceHidden: pm(s) } } } case "escaped": { const o = await as(t, { ...i, altBoundary: !0 }) , s = hm(o, n.floating); return { data: { escapedOffsets: s, escaped: pm(s) } } } default: return {} } } } } , xx = new Set(["left", "top"]); async function Mk(e, t) { const {placement: n, platform: r, elements: i} = e , o = await (r.isRTL == null ? void 0 : r.isRTL(i.floating)) , s = xn(n) , a = Ji(n) , l = Xt(n) === "y" , u = xx.has(s) ? -1 : 1 , c = o && l ? -1 : 1 , d = vn(t, e); let {mainAxis: f, crossAxis: h, alignmentAxis: x} = typeof d == "number" ? { mainAxis: d, crossAxis: 0, alignmentAxis: null } : { mainAxis: d.mainAxis || 0, crossAxis: d.crossAxis || 0, alignmentAxis: d.alignmentAxis }; return a && typeof x == "number" && (h = a === "end" ? x * -1 : x), l ? { x: h * c, y: f * u } : { x: f * u, y: h * c } } const jk = function(e) { return e === void 0 && (e = 0), { name: "offset", options: e, async fn(t) { var n, r; const {x: i, y: o, placement: s, middlewareData: a} = t , l = await Mk(t, e); return s === ((n = a.offset) == null ? void 0 : n.placement) && (r = a.arrow) != null && r.alignmentOffset ? {} : { x: i + l.x, y: o + l.y, data: { ...l, placement: s } } } } } , Dk = function(e) { return e === void 0 && (e = {}), { name: "shift", options: e, async fn(t) { const {x: n, y: r, placement: i} = t , {mainAxis: o=!0, crossAxis: s=!1, limiter: a={ fn: w => { let {x: g, y: m} = w; return { x: g, y: m } } }, ...l} = vn(e, t) , u = { x: n, y: r } , c = await as(t, l) , d = Xt(xn(i)) , f = If(d); let h = u[f] , x = u[d]; if (o) { const w = f === "y" ? "top" : "left" , g = f === "y" ? "bottom" : "right" , m = h + c[w] , v = h - c[g]; h = ed(m, h, v) } if (s) { const w = d === "y" ? "top" : "left" , g = d === "y" ? "bottom" : "right" , m = x + c[w] , v = x - c[g]; x = ed(m, x, v) } const y = a.fn({ ...t, [f]: h, [d]: x }); return { ...y, data: { x: y.x - n, y: y.y - r, enabled: { [f]: o, [d]: s } } } } } } , Lk = function(e) { return e === void 0 && (e = {}), { options: e, fn(t) { const {x: n, y: r, placement: i, rects: o, middlewareData: s} = t , {offset: a=0, mainAxis: l=!0, crossAxis: u=!0} = vn(e, t) , c = { x: n, y: r } , d = Xt(i) , f = If(d); let h = c[f] , x = c[d]; const y = vn(a, t) , w = typeof y == "number" ? { mainAxis: y, crossAxis: 0 } : { mainAxis: 0, crossAxis: 0, ...y }; if (l) { const v = f === "y" ? "height" : "width" , b = o.reference[f] - o.floating[v] + w.mainAxis , C = o.reference[f] + o.reference[v] - w.mainAxis; h < b ? h = b : h > C && (h = C) } if (u) { var g, m; const v = f === "y" ? "width" : "height" , b = xx.has(xn(i)) , C = o.reference[d] - o.floating[v] + (b && ((g = s.offset) == null ? void 0 : g[d]) || 0) + (b ? 0 : w.crossAxis) , E = o.reference[d] + o.reference[v] + (b ? 0 : ((m = s.offset) == null ? void 0 : m[d]) || 0) - (b ? w.crossAxis : 0); x < C ? x = C : x > E && (x = E) } return { [f]: h, [d]: x } } } } , Ok = function(e) { return e === void 0 && (e = {}), { name: "size", options: e, async fn(t) { var n, r; const {placement: i, rects: o, platform: s, elements: a} = t , {apply: l= () => {} , ...u} = vn(e, t) , c = await as(t, u) , d = xn(i) , f = Ji(i) , h = Xt(i) === "y" , {width: x, height: y} = o.floating; let w, g; d === "top" || d === "bottom" ? (w = d, g = f === (await (s.isRTL == null ? void 0 : s.isRTL(a.floating)) ? "start" : "end") ? "left" : "right") : (g = d, w = f === "end" ? "top" : "bottom"); const m = y - c.top - c.bottom , v = x - c.left - c.right , b = ar(y - c[w], m) , C = ar(x - c[g], v) , E = !t.middlewareData.shift; let T = b , P = C; if ((n = t.middlewareData.shift) != null && n.enabled.x && (P = v), (r = t.middlewareData.shift) != null && r.enabled.y && (T = m), E && !f) { const A = ot(c.left, 0) , F = ot(c.right, 0) , O = ot(c.top, 0) , U = ot(c.bottom, 0); h ? P = x - 2 * (A !== 0 || F !== 0 ? A + F : ot(c.left, c.right)) : T = y - 2 * (O !== 0 || U !== 0 ? O + U : ot(c.top, c.bottom)) } await l({ ...t, availableWidth: P, availableHeight: T }); const M = await s.getDimensions(a.floating); return x !== M.width || y !== M.height ? { reset: { rects: !0 } } : {} } } }; function Ll() { return typeof window < "u" } function eo(e) { return wx(e) ? (e.nodeName || "").toLowerCase() : "#document" } function ut(e) { var t; return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window } function on(e) { var t; return (t = (wx(e) ? e.ownerDocument : e.document) || window.document) == null ? void 0 : t.documentElement } function wx(e) { return Ll() ? e instanceof Node || e instanceof ut(e).Node : !1 } function $t(e) { return Ll() ? e instanceof Element || e instanceof ut(e).Element : !1 } function nn(e) { return Ll() ? e instanceof HTMLElement || e instanceof ut(e).HTMLElement : !1 } function mm(e) { return !Ll() || typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof ut(e).ShadowRoot } const Ik = new Set(["inline", "contents"]); function Cs(e) { const {overflow: t, overflowX: n, overflowY: r, display: i} = Ut(e); return /auto|scroll|overlay|hidden|clip/.test(t + r + n) && !Ik.has(i) } const Fk = new Set(["table", "td", "th"]); function Vk(e) { return Fk.has(eo(e)) } const _k = [":popover-open", ":modal"]; function Ol(e) { return _k.some(t => { try { return e.matches(t) } catch { return !1 } } ) } const zk = ["transform", "translate", "scale", "rotate", "perspective"] , Bk = ["transform", "translate", "scale", "rotate", "perspective", "filter"] , $k = ["paint", "layout", "strict", "content"]; function _f(e) { const t = zf() , n = $t(e) ? Ut(e) : e; return zk.some(r => n[r] ? n[r] !== "none" : !1) || (n.containerType ? n.containerType !== "normal" : !1) || !t && (n.backdropFilter ? n.backdropFilter !== "none" : !1) || !t && (n.filter ? n.filter !== "none" : !1) || Bk.some(r => (n.willChange || "").includes(r)) || $k.some(r => (n.contain || "").includes(r)) } function Uk(e) { let t = lr(e); for (; nn(t) && !$i(t); ) { if (_f(t)) return t; if (Ol(t)) return null; t = lr(t) } return null } function zf() { return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none") } const Wk = new Set(["html", "body", "#document"]); function $i(e) { return Wk.has(eo(e)) } function Ut(e) { return ut(e).getComputedStyle(e) } function Il(e) { return $t(e) ? { scrollLeft: e.scrollLeft, scrollTop: e.scrollTop } : { scrollLeft: e.scrollX, scrollTop: e.scrollY } } function lr(e) { if (eo(e) === "html") return e; const t = e.assignedSlot || e.parentNode || mm(e) && e.host || on(e); return mm(t) ? t.host : t } function Sx(e) { const t = lr(e); return $i(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : nn(t) && Cs(t) ? t : Sx(t) } function ls(e, t, n) { var r; t === void 0 && (t = []), n === void 0 && (n = !0); const i = Sx(e) , o = i === ((r = e.ownerDocument) == null ? void 0 : r.body) , s = ut(i); if (o) { const a = nd(s); return t.concat(s, s.visualViewport || [], Cs(i) ? i : [], a && n ? ls(a) : []) } return t.concat(i, ls(i, [], n)) } function nd(e) { return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null } function bx(e) { const t = Ut(e); let n = parseFloat(t.width) || 0 , r = parseFloat(t.height) || 0; const i = nn(e) , o = i ? e.offsetWidth : n , s = i ? e.offsetHeight : r , a = el(n) !== o || el(r) !== s; return a && (n = o, r = s), { width: n, height: r, $: a } } function Bf(e) { return $t(e) ? e : e.contextElement } function Ti(e) { const t = Bf(e); if (!nn(t)) return en(1); const n = t.getBoundingClientRect() , {width: r, height: i, $: o} = bx(t); let s = (o ? el(n.width) : n.width) / r , a = (o ? el(n.height) : n.height) / i; return (!s || !Number.isFinite(s)) && (s = 1), (!a || !Number.isFinite(a)) && (a = 1), { x: s, y: a } } const Hk = en(0); function Cx(e) { const t = ut(e); return !zf() || !t.visualViewport ? Hk : { x: t.visualViewport.offsetLeft, y: t.visualViewport.offsetTop } } function Kk(e, t, n) { return t === void 0 && (t = !1), !n || t && n !== ut(e) ? !1 : t } function zr(e, t, n, r) { t === void 0 && (t = !1), n === void 0 && (n = !1); const i = e.getBoundingClientRect() , o = Bf(e); let s = en(1); t && (r ? $t(r) && (s = Ti(r)) : s = Ti(e)); const a = Kk(o, n, r) ? Cx(o) : en(0); let l = (i.left + a.x) / s.x , u = (i.top + a.y) / s.y , c = i.width / s.x , d = i.height / s.y; if (o) { const f = ut(o) , h = r && $t(r) ? ut(r) : r; let x = f , y = nd(x); for (; y && r && h !== x; ) { const w = Ti(y) , g = y.getBoundingClientRect() , m = Ut(y) , v = g.left + (y.clientLeft + parseFloat(m.paddingLeft)) * w.x , b = g.top + (y.clientTop + parseFloat(m.paddingTop)) * w.y; l *= w.x, u *= w.y, c *= w.x, d *= w.y, l += v, u += b, x = ut(y), y = nd(x) } } return nl({ width: c, height: d, x: l, y: u }) } function $f(e, t) { const n = Il(e).scrollLeft; return t ? t.left + n : zr(on(e)).left + n } function Ex(e, t, n) { n === void 0 && (n = !1); const r = e.getBoundingClientRect() , i = r.left + t.scrollLeft - (n ? 0 : $f(e, r)) , o = r.top + t.scrollTop; return { x: i, y: o } } function Gk(e) { let {elements: t, rect: n, offsetParent: r, strategy: i} = e; const o = i === "fixed" , s = on(r) , a = t ? Ol(t.floating) : !1; if (r === s || a && o) return n; let l = { scrollLeft: 0, scrollTop: 0 } , u = en(1); const c = en(0) , d = nn(r); if ((d || !d && !o) && ((eo(r) !== "body" || Cs(s)) && (l = Il(r)), nn(r))) { const h = zr(r); u = Ti(r), c.x = h.x + r.clientLeft, c.y = h.y + r.clientTop } const f = s && !d && !o ? Ex(s, l, !0) : en(0); return { width: n.width * u.x, height: n.height * u.y, x: n.x * u.x - l.scrollLeft * u.x + c.x + f.x, y: n.y * u.y - l.scrollTop * u.y + c.y + f.y } } function Qk(e) { return Array.from(e.getClientRects()) } function qk(e) { const t = on(e) , n = Il(e) , r = e.ownerDocument.body , i = ot(t.scrollWidth, t.clientWidth, r.scrollWidth, r.clientWidth) , o = ot(t.scrollHeight, t.clientHeight, r.scrollHeight, r.clientHeight); let s = -n.scrollLeft + $f(e); const a = -n.scrollTop; return Ut(r).direction === "rtl" && (s += ot(t.clientWidth, r.clientWidth) - i), { width: i, height: o, x: s, y: a } } function Yk(e, t) { const n = ut(e) , r = on(e) , i = n.visualViewport; let o = r.clientWidth , s = r.clientHeight , a = 0 , l = 0; if (i) { o = i.width, s = i.height; const u = zf(); (!u || u && t === "fixed") && (a = i.offsetLeft, l = i.offsetTop) } return { width: o, height: s, x: a, y: l } } const Xk = new Set(["absolute", "fixed"]); function Zk(e, t) { const n = zr(e, !0, t === "fixed") , r = n.top + e.clientTop , i = n.left + e.clientLeft , o = nn(e) ? Ti(e) : en(1) , s = e.clientWidth * o.x , a = e.clientHeight * o.y , l = i * o.x , u = r * o.y; return { width: s, height: a, x: l, y: u } } function gm(e, t, n) { let r; if (t === "viewport") r = Yk(e, n); else if (t === "document") r = qk(on(e)); else if ($t(t)) r = Zk(t, n); else { const i = Cx(e); r = { x: t.x - i.x, y: t.y - i.y, width: t.width, height: t.height } } return nl(r) } function Tx(e, t) { const n = lr(e); return n === t || !$t(n) || $i(n) ? !1 : Ut(n).position === "fixed" || Tx(n, t) } function Jk(e, t) { const n = t.get(e); if (n) return n; let r = ls(e, [], !1).filter(a => $t(a) && eo(a) !== "body") , i = null; const o = Ut(e).position === "fixed"; let s = o ? lr(e) : e; for (; $t(s) && !$i(s); ) { const a = Ut(s) , l = _f(s); !l && a.position === "fixed" && (i = null), (o ? !l && !i : !l && a.position === "static" && !!i && Xk.has(i.position) || Cs(s) && !l && Tx(e, s)) ? r = r.filter(c => c !== s) : i = a, s = lr(s) } return t.set(e, r), r } function e2(e) { let {element: t, boundary: n, rootBoundary: r, strategy: i} = e; const s = [...n === "clippingAncestors" ? Ol(t) ? [] : Jk(t, this._c) : [].concat(n), r] , a = s[0] , l = s.reduce( (u, c) => { const d = gm(t, c, i); return u.top = ot(d.top, u.top), u.right = ar(d.right, u.right), u.bottom = ar(d.bottom, u.bottom), u.left = ot(d.left, u.left), u } , gm(t, a, i)); return { width: l.right - l.left, height: l.bottom - l.top, x: l.left, y: l.top } } function t2(e) { const {width: t, height: n} = bx(e); return { width: t, height: n } } function n2(e, t, n) { const r = nn(t) , i = on(t) , o = n === "fixed" , s = zr(e, !0, o, t); let a = { scrollLeft: 0, scrollTop: 0 }; const l = en(0); function u() { l.x = $f(i) } if (r || !r && !o) if ((eo(t) !== "body" || Cs(i)) && (a = Il(t)), r) { const h = zr(t, !0, o, t); l.x = h.x + t.clientLeft, l.y = h.y + t.clientTop } else i && u(); o && !r && i && u(); const c = i && !r && !o ? Ex(i, a) : en(0) , d = s.left + a.scrollLeft - l.x - c.x , f = s.top + a.scrollTop - l.y - c.y; return { x: d, y: f, width: s.width, height: s.height } } function ku(e) { return Ut(e).position === "static" } function ym(e, t) { if (!nn(e) || Ut(e).position === "fixed") return null; if (t) return t(e); let n = e.offsetParent; return on(e) === n && (n = n.ownerDocument.body), n } function Px(e, t) { const n = ut(e); if (Ol(e)) return n; if (!nn(e)) { let i = lr(e); for (; i && !$i(i); ) { if ($t(i) && !ku(i)) return i; i = lr(i) } return n } let r = ym(e, t); for (; r && Vk(r) && ku(r); ) r = ym(r, t); return r && $i(r) && ku(r) && !_f(r) ? n : r || Uk(e) || n } const r2 = async function(e) { const t = this.getOffsetParent || Px , n = this.getDimensions , r = await n(e.floating); return { reference: n2(e.reference, await t(e.floating), e.strategy), floating: { x: 0, y: 0, width: r.width, height: r.height } } }; function i2(e) { return Ut(e).direction === "rtl" } const o2 = { convertOffsetParentRelativeRectToViewportRelativeRect: Gk, getDocumentElement: on, getClippingRect: e2, getOffsetParent: Px, getElementRects: r2, getClientRects: Qk, getDimensions: t2, getScale: Ti, isElement: $t, isRTL: i2 }; function kx(e, t) { return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height } function s2(e, t) { let n = null, r; const i = on(e); function o() { var a; clearTimeout(r), (a = n) == null || a.disconnect(), n = null } function s(a, l) { a === void 0 && (a = !1), l === void 0 && (l = 1), o(); const u = e.getBoundingClientRect() , {left: c, top: d, width: f, height: h} = u; if (a || t(), !f || !h) return; const x = Js(d) , y = Js(i.clientWidth - (c + f)) , w = Js(i.clientHeight - (d + h)) , g = Js(c) , v = { rootMargin: -x + "px " + -y + "px " + -w + "px " + -g + "px", threshold: ot(0, ar(1, l)) || 1 }; let b = !0; function C(E) { const T = E[0].intersectionRatio; if (T !== l) { if (!b) return s(); T ? s(!1, T) : r = setTimeout( () => { s(!1, 1e-7) } , 1e3) } T === 1 && !kx(u, e.getBoundingClientRect()) && s(), b = !1 } try { n = new IntersectionObserver(C,{ ...v, root: i.ownerDocument }) } catch { n = new IntersectionObserver(C,v) } n.observe(e) } return s(!0), o } function a2(e, t, n, r) { r === void 0 && (r = {}); const {ancestorScroll: i=!0, ancestorResize: o=!0, elementResize: s=typeof ResizeObserver == "function", layoutShift: a=typeof IntersectionObserver == "function", animationFrame: l=!1} = r , u = Bf(e) , c = i || o ? [...u ? ls(u) : [], ...ls(t)] : []; c.forEach(g => { i && g.addEventListener("scroll", n, { passive: !0 }), o && g.addEventListener("resize", n) } ); const d = u && a ? s2(u, n) : null; let f = -1 , h = null; s && (h = new ResizeObserver(g => { let[m] = g; m && m.target === u && h && (h.unobserve(t), cancelAnimationFrame(f), f = requestAnimationFrame( () => { var v; (v = h) == null || v.observe(t) } )), n() } ), u && !l && h.observe(u), h.observe(t)); let x, y = l ? zr(e) : null; l && w(); function w() { const g = zr(e); y && !kx(y, g) && n(), y = g, x = requestAnimationFrame(w) } return n(), () => { var g; c.forEach(m => { i && m.removeEventListener("scroll", n), o && m.removeEventListener("resize", n) } ), d == null || d(), (g = h) == null || g.disconnect(), h = null, l && cancelAnimationFrame(x) } } const l2 = jk , u2 = Dk , c2 = Rk , d2 = Ok , f2 = Nk , vm = Ak , h2 = Lk , p2 = (e, t, n) => { const r = new Map , i = { platform: o2, ...n } , o = { ...i.platform, _c: r }; return kk(e, t, { ...i, platform: o }) } ; var m2 = typeof document < "u" , g2 = function() {} , xa = m2 ? S.useLayoutEffect : g2; function rl(e, t) { if (e === t) return !0; if (typeof e != typeof t) return !1; if (typeof e == "function" && e.toString() === t.toString()) return !0; let n, r, i; if (e && t && typeof e == "object") { if (Array.isArray(e)) { if (n = e.length, n !== t.length) return !1; for (r = n; r-- !== 0; ) if (!rl(e[r], t[r])) return !1; return !0 } if (i = Object.keys(e), n = i.length, n !== Object.keys(t).length) return !1; for (r = n; r-- !== 0; ) if (!{}.hasOwnProperty.call(t, i[r])) return !1; for (r = n; r-- !== 0; ) { const o = i[r]; if (!(o === "_owner" && e.$$typeof) && !rl(e[o], t[o])) return !1 } return !0 } return e !== e && t !== t } function Ax(e) { return typeof window > "u" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1 } function xm(e, t) { const n = Ax(e); return Math.round(t * n) / n } function Au(e) { const t = S.useRef(e); return xa( () => { t.current = e } ), t } function y2(e) { e === void 0 && (e = {}); const {placement: t="bottom", strategy: n="absolute", middleware: r=[], platform: i, elements: {reference: o, floating: s}={}, transform: a=!0, whileElementsMounted: l, open: u} = e , [c,d] = S.useState({ x: 0, y: 0, strategy: n, placement: t, middlewareData: {}, isPositioned: !1 }) , [f,h] = S.useState(r); rl(f, r) || h(r); const [x,y] = S.useState(null) , [w,g] = S.useState(null) , m = S.useCallback(k => { k !== E.current && (E.current = k, y(k)) } , []) , v = S.useCallback(k => { k !== T.current && (T.current = k, g(k)) } , []) , b = o || x , C = s || w , E = S.useRef(null) , T = S.useRef(null) , P = S.useRef(c) , M = l != null , A = Au(l) , F = Au(i) , O = Au(u) , U = S.useCallback( () => { if (!E.current || !T.current) return; const k = { placement: t, strategy: n, middleware: f }; F.current && (k.platform = F.current), p2(E.current, T.current, k).then(R => { const I = { ...R, isPositioned: O.current !== !1 }; L.current && !rl(P.current, I) && (P.current = I, ws.flushSync( () => { d(I) } )) } ) } , [f, t, n, F, O]); xa( () => { u === !1 && P.current.isPositioned && (P.current.isPositioned = !1, d(k => ({ ...k, isPositioned: !1 }))) } , [u]); const L = S.useRef(!1); xa( () => (L.current = !0, () => { L.current = !1 } ), []), xa( () => { if (b && (E.current = b), C && (T.current = C), b && C) { if (A.current) return A.current(b, C, U); U() } } , [b, C, U, A, M]); const W = S.useMemo( () => ({ reference: E, floating: T, setReference: m, setFloating: v }), [m, v]) , z = S.useMemo( () => ({ reference: b, floating: C }), [b, C]) , H = S.useMemo( () => { const k = { position: n, left: 0, top: 0 }; if (!z.floating) return k; const R = xm(z.floating, c.x) , I = xm(z.floating, c.y); return a ? { ...k, transform: "translate(" + R + "px, " + I + "px)", ...Ax(z.floating) >= 1.5 && { willChange: "transform" } } : { position: n, left: R, top: I } } , [n, a, z.floating, c.x, c.y]); return S.useMemo( () => ({ ...c, update: U, refs: W, elements: z, floatingStyles: H }), [c, U, W, z, H]) } const v2 = e => { function t(n) { return {}.hasOwnProperty.call(n, "current") } return { name: "arrow", options: e, fn(n) { const {element: r, padding: i} = typeof e == "function" ? e(n) : e; return r && t(r) ? r.current != null ? vm({ element: r.current, padding: i }).fn(n) : {} : r ? vm({ element: r, padding: i }).fn(n) : {} } } } , x2 = (e, t) => ({ ...l2(e), options: [e, t] }) , w2 = (e, t) => ({ ...u2(e), options: [e, t] }) , S2 = (e, t) => ({ ...h2(e), options: [e, t] }) , b2 = (e, t) => ({ ...c2(e), options: [e, t] }) , C2 = (e, t) => ({ ...d2(e), options: [e, t] }) , E2 = (e, t) => ({ ...f2(e), options: [e, t] }) , T2 = (e, t) => ({ ...v2(e), options: [e, t] }); var P2 = "Arrow" , Rx = S.forwardRef( (e, t) => { const {children: n, width: r=10, height: i=5, ...o} = e; return p.jsx(rt.svg, { ...o, ref: t, width: r, height: i, viewBox: "0 0 30 10", preserveAspectRatio: "none", children: e.asChild ? n : p.jsx("polygon", { points: "0,0 30,0 15,10" }) }) } ); Rx.displayName = P2; var k2 = Rx; function A2(e) { const [t,n] = S.useState(void 0); return sr( () => { if (e) { n({ width: e.offsetWidth, height: e.offsetHeight }); const r = new ResizeObserver(i => { if (!Array.isArray(i) || !i.length) return; const o = i[0]; let s, a; if ("borderBoxSize"in o) { const l = o.borderBoxSize , u = Array.isArray(l) ? l[0] : l; s = u.inlineSize, a = u.blockSize } else s = e.offsetWidth, a = e.offsetHeight; n({ width: s, height: a }) } ); return r.observe(e, { box: "border-box" }), () => r.unobserve(e) } else n(void 0) } , [e]), t } var Nx = "Popper" , [Mx,jx] = Ml(Nx) , [PD,Dx] = Mx(Nx) , Lx = "PopperAnchor" , Ox = S.forwardRef( (e, t) => { const {__scopePopper: n, virtualRef: r, ...i} = e , o = Dx(Lx, n) , s = S.useRef(null) , a = Bt(t, s); return S.useEffect( () => { o.onAnchorChange((r == null ? void 0 : r.current) || s.current) } ), r ? null : p.jsx(rt.div, { ...i, ref: a }) } ); Ox.displayName = Lx; var Uf = "PopperContent" , [R2,N2] = Mx(Uf) , Ix = S.forwardRef( (e, t) => { var ee, Kr, bn, pr, Cn, Gr; const {__scopePopper: n, side: r="bottom", sideOffset: i=0, align: o="center", alignOffset: s=0, arrowPadding: a=0, avoidCollisions: l=!0, collisionBoundary: u=[], collisionPadding: c=0, sticky: d="partial", hideWhenDetached: f=!1, updatePositionStrategy: h="optimized", onPlaced: x, ...y} = e , w = Dx(Uf, n) , [g,m] = S.useState(null) , v = Bt(t, En => m(En)) , [b,C] = S.useState(null) , E = A2(b) , T = (E == null ? void 0 : E.width) ?? 0 , P = (E == null ? void 0 : E.height) ?? 0 , M = r + (o !== "center" ? "-" + o : "") , A = typeof c == "number" ? c : { top: 0, right: 0, bottom: 0, left: 0, ...c } , F = Array.isArray(u) ? u : [u] , O = F.length > 0 , U = { padding: A, boundary: F.filter(j2), altBoundary: O } , {refs: L, floatingStyles: W, placement: z, isPositioned: H, middlewareData: k} = y2({ strategy: "fixed", placement: M, whileElementsMounted: (...En) => a2(...En, { animationFrame: h === "always" }), elements: { reference: w.anchor }, middleware: [x2({ mainAxis: i + P, alignmentAxis: s }), l && w2({ mainAxis: !0, crossAxis: !1, limiter: d === "partial" ? S2() : void 0, ...U }), l && b2({ ...U }), C2({ ...U, apply: ({elements: En, rects: As, availableWidth: Wl, availableHeight: Rs}) => { const {width: Hl, height: ao} = As.reference , Qr = En.floating.style; Qr.setProperty("--radix-popper-available-width", `${Wl}px`), Qr.setProperty("--radix-popper-available-height", `${Rs}px`), Qr.setProperty("--radix-popper-anchor-width", `${Hl}px`), Qr.setProperty("--radix-popper-anchor-height", `${ao}px`) } }), b && T2({ element: b, padding: a }), D2({ arrowWidth: T, arrowHeight: P }), f && E2({ strategy: "referenceHidden", ...U })] }) , [R,I] = _x(z) , $ = or(x); sr( () => { H && ($ == null || $()) } , [H, $]); const B = (ee = k.arrow) == null ? void 0 : ee.x , q = (Kr = k.arrow) == null ? void 0 : Kr.y , X = ((bn = k.arrow) == null ? void 0 : bn.centerOffset) !== 0 , [we,Le] = S.useState(); return sr( () => { g && Le(window.getComputedStyle(g).zIndex) } , [g]), p.jsx("div", { ref: L.setFloating, "data-radix-popper-content-wrapper": "", style: { ...W, transform: H ? W.transform : "translate(0, -200%)", minWidth: "max-content", zIndex: we, "--radix-popper-transform-origin": [(pr = k.transformOrigin) == null ? void 0 : pr.x, (Cn = k.transformOrigin) == null ? void 0 : Cn.y].join(" "), ...((Gr = k.hide) == null ? void 0 : Gr.referenceHidden) && { visibility: "hidden", pointerEvents: "none" } }, dir: e.dir, children: p.jsx(R2, { scope: n, placedSide: R, onArrowChange: C, arrowX: B, arrowY: q, shouldHideArrow: X, children: p.jsx(rt.div, { "data-side": R, "data-align": I, ...y, ref: v, style: { ...y.style, animation: H ? void 0 : "none" } }) }) }) } ); Ix.displayName = Uf; var Fx = "PopperArrow" , M2 = { top: "bottom", right: "left", bottom: "top", left: "right" } , Vx = S.forwardRef(function(t, n) { const {__scopePopper: r, ...i} = t , o = N2(Fx, r) , s = M2[o.placedSide]; return p.jsx("span", { ref: o.onArrowChange, style: { position: "absolute", left: o.arrowX, top: o.arrowY, [s]: 0, transformOrigin: { top: "", right: "0 0", bottom: "center 0", left: "100% 0" }[o.placedSide], transform: { top: "translateY(100%)", right: "translateY(50%) rotate(90deg) translateX(-50%)", bottom: "rotate(180deg)", left: "translateY(50%) rotate(-90deg) translateX(50%)" }[o.placedSide], visibility: o.shouldHideArrow ? "hidden" : void 0 }, children: p.jsx(k2, { ...i, ref: n, style: { ...i.style, display: "block" } }) }) }); Vx.displayName = Fx; function j2(e) { return e !== null } var D2 = e => ({ name: "transformOrigin", options: e, fn(t) { var w, g, m; const {placement: n, rects: r, middlewareData: i} = t , s = ((w = i.arrow) == null ? void 0 : w.centerOffset) !== 0 , a = s ? 0 : e.arrowWidth , l = s ? 0 : e.arrowHeight , [u,c] = _x(n) , d = { start: "0%", center: "50%", end: "100%" }[c] , f = (((g = i.arrow) == null ? void 0 : g.x) ?? 0) + a / 2 , h = (((m = i.arrow) == null ? void 0 : m.y) ?? 0) + l / 2; let x = "" , y = ""; return u === "bottom" ? (x = s ? d : `${f}px`, y = `${-l}px`) : u === "top" ? (x = s ? d : `${f}px`, y = `${r.floating.height + l}px`) : u === "right" ? (x = `${-l}px`, y = s ? d : `${h}px`) : u === "left" && (x = `${r.floating.width + l}px`, y = s ? d : `${h}px`), { data: { x, y } } } }); function _x(e) { const [t,n="center"] = e.split("-"); return [t, n] } var L2 = Ox , O2 = Ix , I2 = Vx , [Fl,kD] = Ml("Tooltip", [jx]) , Wf = jx() , zx = "TooltipProvider" , F2 = 700 , wm = "tooltip.open" , [V2,Bx] = Fl(zx) , $x = e => { const {__scopeTooltip: t, delayDuration: n=F2, skipDelayDuration: r=300, disableHoverableContent: i=!1, children: o} = e , s = S.useRef(!0) , a = S.useRef(!1) , l = S.useRef(0); return S.useEffect( () => { const u = l.current; return () => window.clearTimeout(u) } , []), p.jsx(V2, { scope: t, isOpenDelayedRef: s, delayDuration: n, onOpen: S.useCallback( () => { window.clearTimeout(l.current), s.current = !1 } , []), onClose: S.useCallback( () => { window.clearTimeout(l.current), l.current = window.setTimeout( () => s.current = !0, r) } , [r]), isPointerInTransitRef: a, onPointerInTransitChange: S.useCallback(u => { a.current = u } , []), disableHoverableContent: i, children: o }) } ; $x.displayName = zx; var Ux = "Tooltip" , [AD,Vl] = Fl(Ux) , rd = "TooltipTrigger" , _2 = S.forwardRef( (e, t) => { const {__scopeTooltip: n, ...r} = e , i = Vl(rd, n) , o = Bx(rd, n) , s = Wf(n) , a = S.useRef(null) , l = Bt(t, a, i.onTriggerChange) , u = S.useRef(!1) , c = S.useRef(!1) , d = S.useCallback( () => u.current = !1, []); return S.useEffect( () => () => document.removeEventListener("pointerup", d), [d]), p.jsx(L2, { asChild: !0, ...s, children: p.jsx(rt.button, { "aria-describedby": i.open ? i.contentId : void 0, "data-state": i.stateAttribute, ...r, ref: l, onPointerMove: Pe(e.onPointerMove, f => { f.pointerType !== "touch" && !c.current && !o.isPointerInTransitRef.current && (i.onTriggerEnter(), c.current = !0) } ), onPointerLeave: Pe(e.onPointerLeave, () => { i.onTriggerLeave(), c.current = !1 } ), onPointerDown: Pe(e.onPointerDown, () => { i.open && i.onClose(), u.current = !0, document.addEventListener("pointerup", d, { once: !0 }) } ), onFocus: Pe(e.onFocus, () => { u.current || i.onOpen() } ), onBlur: Pe(e.onBlur, i.onClose), onClick: Pe(e.onClick, i.onClose) }) }) } ); _2.displayName = rd; var z2 = "TooltipPortal" , [RD,B2] = Fl(z2, { forceMount: void 0 }) , Ui = "TooltipContent" , Wx = S.forwardRef( (e, t) => { const n = B2(Ui, e.__scopeTooltip) , {forceMount: r=n.forceMount, side: i="top", ...o} = e , s = Vl(Ui, e.__scopeTooltip); return p.jsx(Mf, { present: r || s.open, children: s.disableHoverableContent ? p.jsx(Hx, { side: i, ...o, ref: t }) : p.jsx($2, { side: i, ...o, ref: t }) }) } ) , $2 = S.forwardRef( (e, t) => { const n = Vl(Ui, e.__scopeTooltip) , r = Bx(Ui, e.__scopeTooltip) , i = S.useRef(null) , o = Bt(t, i) , [s,a] = S.useState(null) , {trigger: l, onClose: u} = n , c = i.current , {onPointerInTransitChange: d} = r , f = S.useCallback( () => { a(null), d(!1) } , [d]) , h = S.useCallback( (x, y) => { const w = x.currentTarget , g = { x: x.clientX, y: x.clientY } , m = G2(g, w.getBoundingClientRect()) , v = Q2(g, m) , b = q2(y.getBoundingClientRect()) , C = X2([...v, ...b]); a(C), d(!0) } , [d]); return S.useEffect( () => () => f(), [f]), S.useEffect( () => { if (l && c) { const x = w => h(w, c) , y = w => h(w, l); return l.addEventListener("pointerleave", x), c.addEventListener("pointerleave", y), () => { l.removeEventListener("pointerleave", x), c.removeEventListener("pointerleave", y) } } } , [l, c, h, f]), S.useEffect( () => { if (s) { const x = y => { const w = y.target , g = { x: y.clientX, y: y.clientY } , m = (l == null ? void 0 : l.contains(w)) || (c == null ? void 0 : c.contains(w)) , v = !Y2(g, s); m ? f() : v && (f(), u()) } ; return document.addEventListener("pointermove", x), () => document.removeEventListener("pointermove", x) } } , [l, c, s, u, f]), p.jsx(Hx, { ...e, ref: o }) } ) , [U2,W2] = Fl(Ux, { isInside: !1 }) , H2 = kT("TooltipContent") , Hx = S.forwardRef( (e, t) => { const {__scopeTooltip: n, children: r, "aria-label": i, onEscapeKeyDown: o, onPointerDownOutside: s, ...a} = e , l = Vl(Ui, n) , u = Wf(n) , {onClose: c} = l; return S.useEffect( () => (document.addEventListener(wm, c), () => document.removeEventListener(wm, c)), [c]), S.useEffect( () => { if (l.trigger) { const d = f => { const h = f.target; h != null && h.contains(l.trigger) && c() } ; return window.addEventListener("scroll", d, { capture: !0 }), () => window.removeEventListener("scroll", d, { capture: !0 }) } } , [l.trigger, c]), p.jsx(Nf, { asChild: !0, disableOutsidePointerEvents: !1, onEscapeKeyDown: o, onPointerDownOutside: s, onFocusOutside: d => d.preventDefault(), onDismiss: c, children: p.jsxs(O2, { "data-state": l.stateAttribute, ...u, ...a, ref: t, style: { ...a.style, "--radix-tooltip-content-transform-origin": "var(--radix-popper-transform-origin)", "--radix-tooltip-content-available-width": "var(--radix-popper-available-width)", "--radix-tooltip-content-available-height": "var(--radix-popper-available-height)", "--radix-tooltip-trigger-width": "var(--radix-popper-anchor-width)", "--radix-tooltip-trigger-height": "var(--radix-popper-anchor-height)" }, children: [p.jsx(H2, { children: r }), p.jsx(U2, { scope: n, isInside: !0, children: p.jsx(ZT, { id: l.contentId, role: "tooltip", children: i || r }) })] }) }) } ); Wx.displayName = Ui; var Kx = "TooltipArrow" , K2 = S.forwardRef( (e, t) => { const {__scopeTooltip: n, ...r} = e , i = Wf(n); return W2(Kx, n).isInside ? null : p.jsx(I2, { ...i, ...r, ref: t }) } ); K2.displayName = Kx; function G2(e, t) { const n = Math.abs(t.top - e.y) , r = Math.abs(t.bottom - e.y) , i = Math.abs(t.right - e.x) , o = Math.abs(t.left - e.x); switch (Math.min(n, r, i, o)) { case o: return "left"; case i: return "right"; case n: return "top"; case r: return "bottom"; default: throw new Error("unreachable") } } function Q2(e, t, n=5) { const r = []; switch (t) { case "top": r.push({ x: e.x - n, y: e.y + n }, { x: e.x + n, y: e.y + n }); break; case "bottom": r.push({ x: e.x - n, y: e.y - n }, { x: e.x + n, y: e.y - n }); break; case "left": r.push({ x: e.x + n, y: e.y - n }, { x: e.x + n, y: e.y + n }); break; case "right": r.push({ x: e.x - n, y: e.y - n }, { x: e.x - n, y: e.y + n }); break } return r } function q2(e) { const {top: t, right: n, bottom: r, left: i} = e; return [{ x: i, y: t }, { x: n, y: t }, { x: n, y: r }, { x: i, y: r }] } function Y2(e, t) { const {x: n, y: r} = e; let i = !1; for (let o = 0, s = t.length - 1; o < t.length; s = o++) { const a = t[o] , l = t[s] , u = a.x , c = a.y , d = l.x , f = l.y; c > r != f > r && n < (d - u) * (r - c) / (f - c) + u && (i = !i) } return i } function X2(e) { const t = e.slice(); return t.sort( (n, r) => n.x < r.x ? -1 : n.x > r.x ? 1 : n.y < r.y ? -1 : n.y > r.y ? 1 : 0), Z2(t) } function Z2(e) { if (e.length <= 1) return e.slice(); const t = []; for (let r = 0; r < e.length; r++) { const i = e[r]; for (; t.length >= 2; ) { const o = t[t.length - 1] , s = t[t.length - 2]; if ((o.x - s.x) * (i.y - s.y) >= (o.y - s.y) * (i.x - s.x)) t.pop(); else break } t.push(i) } t.pop(); const n = []; for (let r = e.length - 1; r >= 0; r--) { const i = e[r]; for (; n.length >= 2; ) { const o = n[n.length - 1] , s = n[n.length - 2]; if ((o.x - s.x) * (i.y - s.y) >= (o.y - s.y) * (i.x - s.x)) n.pop(); else break } n.push(i) } return n.pop(), t.length === 1 && n.length === 1 && t[0].x === n[0].x && t[0].y === n[0].y ? t : t.concat(n) } var J2 = $x , Gx = Wx; const eA = J2 , tA = S.forwardRef( ({className: e, sideOffset: t=4, ...n}, r) => p.jsx(Gx, { ref: r, sideOffset: t, className: Hr("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", e), ...n })); tA.displayName = Gx.displayName; const Hf = S.createContext({}); function Kf(e) { const t = S.useRef(null); return t.current === null && (t.current = e()), t.current } const nA = typeof window < "u" , Qx = nA ? S.useLayoutEffect : S.useEffect , _l = S.createContext(null); function Gf(e, t) { e.indexOf(t) === -1 && e.push(t) } function il(e, t) { const n = e.indexOf(t); n > -1 && e.splice(n, 1) } const rn = (e, t, n) => n > t ? t : n < e ? e : n; let zl = () => {} , Wi = () => {} ; const wn = {} , qx = e => /^-?(?:d+(?:.d+)?|.d+)$/u.test(e); function Yx(e) { return typeof e == "object" && e !== null } const Xx = e => /^0[^.s]+$/u.test(e); function Zx(e) { let t; return () => (t === void 0 && (t = e()), t) } const wt = e => e , rA = (e, t) => n => t(e(n)) , Es = (...e) => e.reduce(rA) , us = (e, t, n) => { const r = t - e; return r === 0 ? 1 : (n - e) / r } ; class Qf { constructor() { this.subscriptions = [] } add(t) { return Gf(this.subscriptions, t), () => il(this.subscriptions, t) } notify(t, n, r) { const i = this.subscriptions.length; if (i) if (i === 1) this.subscriptions[0](t, n, r); else for (let o = 0; o < i; o++) { const s = this.subscriptions[o]; s && s(t, n, r) } } getSize() { return this.subscriptions.length } clear() { this.subscriptions.length = 0 } } const nt = e => e * 1e3 , vt = e => e / 1e3; function Jx(e, t) { return t ? e * (1e3 / t) : 0 } const e1 = (e, t, n) => (((1 - 3 * n + 3 * t) * e + (3 * n - 6 * t)) * e + 3 * t) * e , iA = 1e-7 , oA = 12; function sA(e, t, n, r, i) { let o, s, a = 0; do s = t + (n - t) / 2, o = e1(s, r, i) - e, o > 0 ? n = s : t = s; while (Math.abs(o) > iA && ++a < oA); return s } function Ts(e, t, n, r) { if (e === t && n === r) return wt; const i = o => sA(o, 0, 1, e, n); return o => o === 0 || o === 1 ? o : e1(i(o), t, r) } const t1 = e => t => t <= .5 ? e(2 * t) / 2 : (2 - e(2 * (1 - t))) / 2 , n1 = e => t => 1 - e(1 - t) , r1 = Ts(.33, 1.53, .69, .99) , qf = n1(r1) , i1 = t1(qf) , o1 = e => (e *= 2) < 1 ? .5 * qf(e) : .5 * (2 - Math.pow(2, -10 * (e - 1))) , Yf = e => 1 - Math.sin(Math.acos(e)) , s1 = n1(Yf) , a1 = t1(Yf) , aA = Ts(.42, 0, 1, 1) , lA = Ts(0, 0, .58, 1) , l1 = Ts(.42, 0, .58, 1) , uA = e => Array.isArray(e) && typeof e[0] != "number" , u1 = e => Array.isArray(e) && typeof e[0] == "number" , Sm = { linear: wt, easeIn: aA, easeInOut: l1, easeOut: lA, circIn: Yf, circInOut: a1, circOut: s1, backIn: qf, backInOut: i1, backOut: r1, anticipate: o1 } , cA = e => typeof e == "string" , bm = e => { if (u1(e)) { Wi(e.length === 4, "Cubic bezier arrays must contain four numerical values.", "cubic-bezier-length"); const [t,n,r,i] = e; return Ts(t, n, r, i) } else if (cA(e)) return Wi(Sm[e] !== void 0, `Invalid easing type '${e}'`, "invalid-easing-type"), Sm[e]; return e } , ea = ["setup", "read", "resolveKeyframes", "preUpdate", "update", "preRender", "render", "postRender"] , Cm = { value: null, addProjectionMetrics: null }; function dA(e, t) { let n = new Set , r = new Set , i = !1 , o = !1; const s = new WeakSet; let a = { delta: 0, timestamp: 0, isProcessing: !1 } , l = 0; function u(d) { s.has(d) && (c.schedule(d), e()), l++, d(a) } const c = { schedule: (d, f=!1, h=!1) => { const y = h && i ? n : r; return f && s.add(d), y.has(d) || y.add(d), d } , cancel: d => { r.delete(d), s.delete(d) } , process: d => { if (a = d, i) { o = !0; return } i = !0, [n,r] = [r, n], n.forEach(u), t && Cm.value && Cm.value.frameloop[t].push(l), l = 0, n.clear(), i = !1, o && (o = !1, c.process(d)) } }; return c } const fA = 40; function c1(e, t) { let n = !1 , r = !0; const i = { delta: 0, timestamp: 0, isProcessing: !1 } , o = () => n = !0 , s = ea.reduce( (v, b) => (v[b] = dA(o, t ? b : void 0), v), {}) , {setup: a, read: l, resolveKeyframes: u, preUpdate: c, update: d, preRender: f, render: h, postRender: x} = s , y = () => { const v = wn.useManualTiming ? i.timestamp : performance.now(); n = !1, wn.useManualTiming || (i.delta = r ? 1e3 / 60 : Math.max(Math.min(v - i.timestamp, fA), 1)), i.timestamp = v, i.isProcessing = !0, a.process(i), l.process(i), u.process(i), c.process(i), d.process(i), f.process(i), h.process(i), x.process(i), i.isProcessing = !1, n && t && (r = !1, e(y)) } , w = () => { n = !0, r = !0, i.isProcessing || e(y) } ; return { schedule: ea.reduce( (v, b) => { const C = s[b]; return v[b] = (E, T=!1, P=!1) => (n || w(), C.schedule(E, T, P)), v } , {}), cancel: v => { for (let b = 0; b < ea.length; b++) s[ea[b]].cancel(v) } , state: i, steps: s } } const {schedule: ie, cancel: ur, state: Me, steps: Ru} = c1(typeof requestAnimationFrame < "u" ? requestAnimationFrame : wt, !0); let wa; function hA() { wa = void 0 } const He = { now: () => (wa === void 0 && He.set(Me.isProcessing || wn.useManualTiming ? Me.timestamp : performance.now()), wa), set: e => { wa = e, queueMicrotask(hA) } } , d1 = e => t => typeof t == "string" && t.startsWith(e) , f1 = d1("--") , pA = d1("var(--") , Xf = e => pA(e) ? mA.test(e.split("/*")[0].trim()) : !1 , mA = /var(--(?:[w-]+s*|[w-]+s*,(?:s*[^)(s]|s*((?:[^)(]|([^)(]*))*))+s*))$/iu; function Em(e) { return typeof e != "string" ? !1 : e.split("/*")[0].includes("var(--") } const to = { test: e => typeof e == "number", parse: parseFloat, transform: e => e } , cs = { ...to, transform: e => rn(0, 1, e) } , ta = { ...to, default: 1 } , Io = e => Math.round(e * 1e5) / 1e5 , Zf = /-?(?:d+(?:.d+)?|.d+)/gu; function gA(e) { return e == null } const yA = /^(?:#[da-f]{3,8}|(?:rgb|hsl)a?((?:-?[d.]+%?[,s]+){2}-?[d.]+%?s*(?:[,/]s*)?(?:bd+(?:.d+)?|.d+)?%?))$/iu , Jf = (e, t) => n => !!(typeof n == "string" && yA.test(n) && n.startsWith(e) || t && !gA(n) && Object.prototype.hasOwnProperty.call(n, t)) , h1 = (e, t, n) => r => { if (typeof r != "string") return r; const [i,o,s,a] = r.match(Zf); return { [e]: parseFloat(i), [t]: parseFloat(o), [n]: parseFloat(s), alpha: a !== void 0 ? parseFloat(a) : 1 } } , vA = e => rn(0, 255, e) , Nu = { ...to, transform: e => Math.round(vA(e)) } , Er = { test: Jf("rgb", "red"), parse: h1("red", "green", "blue"), transform: ({red: e, green: t, blue: n, alpha: r=1}) => "rgba(" + Nu.transform(e) + ", " + Nu.transform(t) + ", " + Nu.transform(n) + ", " + Io(cs.transform(r)) + ")" }; function xA(e) { let t = "" , n = "" , r = "" , i = ""; return e.length > 5 ? (t = e.substring(1, 3), n = e.substring(3, 5), r = e.substring(5, 7), i = e.substring(7, 9)) : (t = e.substring(1, 2), n = e.substring(2, 3), r = e.substring(3, 4), i = e.substring(4, 5), t += t, n += n, r += r, i += i), { red: parseInt(t, 16), green: parseInt(n, 16), blue: parseInt(r, 16), alpha: i ? parseInt(i, 16) / 255 : 1 } } const id = { test: Jf("#"), parse: xA, transform: Er.transform } , Ps = e => ({ test: t => typeof t == "string" && t.endsWith(e) && t.split(" ").length === 1, parse: parseFloat, transform: t => `${t}${e}` }) , Dn = Ps("deg") , tn = Ps("%") , _ = Ps("px") , wA = Ps("vh") , SA = Ps("vw") , Tm = { ...tn, parse: e => tn.parse(e) / 100, transform: e => tn.transform(e * 100) } , hi = { test: Jf("hsl", "hue"), parse: h1("hue", "saturation", "lightness"), transform: ({hue: e, saturation: t, lightness: n, alpha: r=1}) => "hsla(" + Math.round(e) + ", " + tn.transform(Io(t)) + ", " + tn.transform(Io(n)) + ", " + Io(cs.transform(r)) + ")" } , Se = { test: e => Er.test(e) || id.test(e) || hi.test(e), parse: e => Er.test(e) ? Er.parse(e) : hi.test(e) ? hi.parse(e) : id.parse(e), transform: e => typeof e == "string" ? e : e.hasOwnProperty("red") ? Er.transform(e) : hi.transform(e), getAnimatableNone: e => { const t = Se.parse(e); return t.alpha = 0, Se.transform(t) } } , bA = /(?:#[da-f]{3,8}|(?:rgb|hsl)a?((?:-?[d.]+%?[,s]+){2}-?[d.]+%?s*(?:[,/]s*)?(?:bd+(?:.d+)?|.d+)?%?))/giu; function CA(e) { var t, n; return isNaN(e) && typeof e == "string" && (((t = e.match(Zf)) == null ? void 0 : t.length) || 0) + (((n = e.match(bA)) == null ? void 0 : n.length) || 0) > 0 } const p1 = "number" , m1 = "color" , EA = "var" , TA = "var(" , Pm = "${}" , PA = /vars*(s*--(?:[w-]+s*|[w-]+s*,(?:s*[^)(s]|s*((?:[^)(]|([^)(]*))*))+s*))|#[da-f]{3,8}|(?:rgb|hsl)a?((?:-?[d.]+%?[,s]+){2}-?[d.]+%?s*(?:[,/]s*)?(?:bd+(?:.d+)?|.d+)?%?)|-?(?:d+(?:.d+)?|.d+)/giu; function Hi(e) { const t = e.toString() , n = [] , r = { color: [], number: [], var: [] } , i = []; let o = 0; const a = t.replace(PA, l => (Se.test(l) ? (r.color.push(o), i.push(m1), n.push(Se.parse(l))) : l.startsWith(TA) ? (r.var.push(o), i.push(EA), n.push(l)) : (r.number.push(o), i.push(p1), n.push(parseFloat(l))), ++o, Pm)).split(Pm); return { values: n, split: a, indexes: r, types: i } } function kA(e) { return Hi(e).values } function g1({split: e, types: t}) { const n = e.length; return r => { let i = ""; for (let o = 0; o < n; o++) if (i += e[o], r[o] !== void 0) { const s = t[o]; s === p1 ? i += Io(r[o]) : s === m1 ? i += Se.transform(r[o]) : i += r[o] } return i } } function AA(e) { return g1(Hi(e)) } const RA = e => typeof e == "number" ? 0 : Se.test(e) ? Se.getAnimatableNone(e) : e , NA = (e, t) => typeof e == "number" ? t != null && t.trim().endsWith("/") ? e : 0 : RA(e); function MA(e) { const t = Hi(e); return g1(t)(t.values.map( (r, i) => NA(r, t.split[i]))) } const Vt = { test: CA, parse: kA, createTransformer: AA, getAnimatableNone: MA }; function Mu(e, t, n) { return n < 0 && (n += 1), n > 1 && (n -= 1), n < 1 / 6 ? e + (t - e) * 6 * n : n < 1 / 2 ? t : n < 2 / 3 ? e + (t - e) * (2 / 3 - n) * 6 : e } function jA({hue: e, saturation: t, lightness: n, alpha: r}) { e /= 360, t /= 100, n /= 100; let i = 0 , o = 0 , s = 0; if (!t) i = o = s = n; else { const a = n < .5 ? n * (1 + t) : n + t - n * t , l = 2 * n - a; i = Mu(l, a, e + 1 / 3), o = Mu(l, a, e), s = Mu(l, a, e - 1 / 3) } return { red: Math.round(i * 255), green: Math.round(o * 255), blue: Math.round(s * 255), alpha: r } } function ol(e, t) { return n => n > 0 ? t : e } const fe = (e, t, n) => e + (t - e) * n , ju = (e, t, n) => { const r = e * e , i = n * (t * t - r) + r; return i < 0 ? 0 : Math.sqrt(i) } , DA = [id, Er, hi] , LA = e => DA.find(t => t.test(e)); function km(e) { const t = LA(e); if (zl(!!t, `'${e}' is not an animatable color. Use the equivalent color code instead.`, "color-not-animatable"), !t) return !1; let n = t.parse(e); return t === hi && (n = jA(n)), n } const Am = (e, t) => { const n = km(e) , r = km(t); if (!n || !r) return ol(e, t); const i = { ...n }; return o => (i.red = ju(n.red, r.red, o), i.green = ju(n.green, r.green, o), i.blue = ju(n.blue, r.blue, o), i.alpha = fe(n.alpha, r.alpha, o), Er.transform(i)) } , od = new Set(["none", "hidden"]); function OA(e, t) { return od.has(e) ? n => n <= 0 ? e : t : n => n >= 1 ? t : e } function IA(e, t) { return n => fe(e, t, n) } function eh(e) { return typeof e == "number" ? IA : typeof e == "string" ? Xf(e) ? ol : Se.test(e) ? Am : _A : Array.isArray(e) ? y1 : typeof e == "object" ? Se.test(e) ? Am : FA : ol } function y1(e, t) { const n = [...e] , r = n.length , i = e.map( (o, s) => eh(o)(o, t[s])); return o => { for (let s = 0; s < r; s++) n[s] = i[s](o); return n } } function FA(e, t) { const n = { ...e, ...t } , r = {}; for (const i in n) e[i] !== void 0 && t[i] !== void 0 && (r[i] = eh(e[i])(e[i], t[i])); return i => { for (const o in r) n[o] = r[o](i); return n } } function VA(e, t) { const n = [] , r = { color: 0, var: 0, number: 0 }; for (let i = 0; i < t.values.length; i++) { const o = t.types[i] , s = e.indexes[o][r[o]] , a = e.values[s] ?? 0; n[i] = a, r[o]++ } return n } const _A = (e, t) => { const n = Vt.createTransformer(t) , r = Hi(e) , i = Hi(t); return r.indexes.var.length === i.indexes.var.length && r.indexes.color.length === i.indexes.color.length && r.indexes.number.length >= i.indexes.number.length ? od.has(e) && !i.values.length || od.has(t) && !r.values.length ? OA(e, t) : Es(y1(VA(r, i), i.values), n) : (zl(!0, `Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`, "complex-values-different"), ol(e, t)) } ; function v1(e, t, n) { return typeof e == "number" && typeof t == "number" && typeof n == "number" ? fe(e, t, n) : eh(e)(e, t) } const zA = e => { const t = ({timestamp: n}) => e(n); return { start: (n=!0) => ie.update(t, n), stop: () => ur(t), now: () => Me.isProcessing ? Me.timestamp : He.now() } } , x1 = (e, t, n=10) => { let r = ""; const i = Math.max(Math.round(t / n), 2); for (let o = 0; o < i; o++) r += Math.round(e(o / (i - 1)) * 1e4) / 1e4 + ", "; return `linear(${r.substring(0, r.length - 2)})` } , sl = 2e4; function th(e) { let t = 0; const n = 50; let r = e.next(t); for (; !r.done && t < sl; ) t += n, r = e.next(t); return t >= sl ? 1 / 0 : t } function BA(e, t=100, n) { const r = n({ ...e, keyframes: [0, t] }) , i = Math.min(th(r), sl); return { type: "keyframes", ease: o => r.next(i * o).value / t, duration: vt(i) } } const ce = { stiffness: 100, damping: 10, mass: 1, velocity: 0, duration: 800, bounce: .3, visualDuration: .3, restSpeed: { granular: .01, default: 2 }, restDelta: { granular: .005, default: .5 }, minDuration: .01, maxDuration: 10, minDamping: .05, maxDamping: 1 }; function sd(e, t) { return e * Math.sqrt(1 - t * t) } const $A = 12; function UA(e, t, n) { let r = n; for (let i = 1; i < $A; i++) r = r - e(r) / t(r); return r } const Du = .001; function WA({duration: e=ce.duration, bounce: t=ce.bounce, velocity: n=ce.velocity, mass: r=ce.mass}) { let i, o; zl(e <= nt(ce.maxDuration), "Spring duration must be 10 seconds or less", "spring-duration-limit"); let s = 1 - t; s = rn(ce.minDamping, ce.maxDamping, s), e = rn(ce.minDuration, ce.maxDuration, vt(e)), s < 1 ? (i = u => { const c = u * s , d = c * e , f = c - n , h = sd(u, s) , x = Math.exp(-d); return Du - f / h * x } , o = u => { const d = u * s * e , f = d * n + n , h = Math.pow(s, 2) * Math.pow(u, 2) * e , x = Math.exp(-d) , y = sd(Math.pow(u, 2), s); return (-i(u) + Du > 0 ? -1 : 1) * ((f - h) * x) / y } ) : (i = u => { const c = Math.exp(-u * e) , d = (u - n) * e + 1; return -Du + c * d } , o = u => { const c = Math.exp(-u * e) , d = (n - u) * (e * e); return c * d } ); const a = 5 / e , l = UA(i, o, a); if (e = nt(e), isNaN(l)) return { stiffness: ce.stiffness, damping: ce.damping, duration: e }; { const u = Math.pow(l, 2) * r; return { stiffness: u, damping: s * 2 * Math.sqrt(r * u), duration: e } } } const HA = ["duration", "bounce"] , KA = ["stiffness", "damping", "mass"]; function Rm(e, t) { return t.some(n => e[n] !== void 0) } function GA(e) { let t = { velocity: ce.velocity, stiffness: ce.stiffness, damping: ce.damping, mass: ce.mass, isResolvedFromDuration: !1, ...e }; if (!Rm(e, KA) && Rm(e, HA)) if (t.velocity = 0, e.visualDuration) { const n = e.visualDuration , r = 2 * Math.PI / (n * 1.2) , i = r * r , o = 2 * rn(.05, 1, 1 - (e.bounce || 0)) * Math.sqrt(i); t = { ...t, mass: ce.mass, stiffness: i, damping: o } } else { const n = WA({ ...e, velocity: 0 }); t = { ...t, ...n, mass: ce.mass }, t.isResolvedFromDuration = !0 } return t } function al(e=ce.visualDuration, t=ce.bounce) { const n = typeof e != "object" ? { visualDuration: e, keyframes: [0, 1], bounce: t } : e; let {restSpeed: r, restDelta: i} = n; const o = n.keyframes[0] , s = n.keyframes[n.keyframes.length - 1] , a = { done: !1, value: o } , {stiffness: l, damping: u, mass: c, duration: d, velocity: f, isResolvedFromDuration: h} = GA({ ...n, velocity: -vt(n.velocity || 0) }) , x = f || 0 , y = u / (2 * Math.sqrt(l * c)) , w = s - o , g = vt(Math.sqrt(l / c)) , m = Math.abs(w) < 5; r || (r = m ? ce.restSpeed.granular : ce.restSpeed.default), i || (i = m ? ce.restDelta.granular : ce.restDelta.default); let v, b, C, E, T, P; if (y < 1) C = sd(g, y), E = (x + y * g * w) / C, v = A => { const F = Math.exp(-y * g * A); return s - F * (E * Math.sin(C * A) + w * Math.cos(C * A)) } , T = y * g * E + w * C, P = y * g * w - E * C, b = A => Math.exp(-y * g * A) * (T * Math.sin(C * A) + P * Math.cos(C * A)); else if (y === 1) { v = F => s - Math.exp(-g * F) * (w + (x + g * w) * F); const A = x + g * w; b = F => Math.exp(-g * F) * (g * A * F - x) } else { const A = g * Math.sqrt(y * y - 1); v = L => { const W = Math.exp(-y * g * L) , z = Math.min(A * L, 300); return s - W * ((x + y * g * w) * Math.sinh(z) + A * w * Math.cosh(z)) / A } ; const F = (x + y * g * w) / A , O = y * g * F - w * A , U = y * g * w - F * A; b = L => { const W = Math.exp(-y * g * L) , z = Math.min(A * L, 300); return W * (O * Math.sinh(z) + U * Math.cosh(z)) } } const M = { calculatedDuration: h && d || null, velocity: A => nt(b(A)), next: A => { if (!h && y < 1) { const O = Math.exp(-y * g * A) , U = Math.sin(C * A) , L = Math.cos(C * A) , W = s - O * (E * U + w * L) , z = nt(O * (T * U + P * L)); return a.done = Math.abs(z) <= r && Math.abs(s - W) <= i, a.value = a.done ? s : W, a } const F = v(A); if (h) a.done = A >= d; else { const O = nt(b(A)); a.done = Math.abs(O) <= r && Math.abs(s - F) <= i } return a.value = a.done ? s : F, a } , toString: () => { const A = Math.min(th(M), sl) , F = x1(O => M.next(A * O).value, A, 30); return A + "ms " + F } , toTransition: () => {} }; return M } al.applyToOptions = e => { const t = BA(e, 100, al); return e.ease = t.ease, e.duration = nt(t.duration), e.type = "keyframes", e } ; const QA = 5; function w1(e, t, n) { const r = Math.max(t - QA, 0); return Jx(n - e(r), t - r) } function ad({keyframes: e, velocity: t=0, power: n=.8, timeConstant: r=325, bounceDamping: i=10, bounceStiffness: o=500, modifyTarget: s, min: a, max: l, restDelta: u=.5, restSpeed: c}) { const d = e[0] , f = { done: !1, value: d } , h = P => a !== void 0 && P < a || l !== void 0 && P > l , x = P => a === void 0 ? l : l === void 0 || Math.abs(a - P) < Math.abs(l - P) ? a : l; let y = n * t; const w = d + y , g = s === void 0 ? w : s(w); g !== w && (y = g - d); const m = P => -y * Math.exp(-P / r) , v = P => g + m(P) , b = P => { const M = m(P) , A = v(P); f.done = Math.abs(M) <= u, f.value = f.done ? g : A } ; let C, E; const T = P => { h(f.value) && (C = P, E = al({ keyframes: [f.value, x(f.value)], velocity: w1(v, P, f.value), damping: i, stiffness: o, restDelta: u, restSpeed: c })) } ; return T(0), { calculatedDuration: null, next: P => { let M = !1; return !E && C === void 0 && (M = !0, b(P), T(P)), C !== void 0 && P >= C ? E.next(P - C) : (!M && b(P), f) } } } function qA(e, t, n) { const r = [] , i = n || wn.mix || v1 , o = e.length - 1; for (let s = 0; s < o; s++) { let a = i(e[s], e[s + 1]); if (t) { const l = Array.isArray(t) ? t[s] || wt : t; a = Es(l, a) } r.push(a) } return r } function YA(e, t, {clamp: n=!0, ease: r, mixer: i}={}) { const o = e.length; if (Wi(o === t.length, "Both input and output ranges must be the same length", "range-length"), o === 1) return () => t[0]; if (o === 2 && t[0] === t[1]) return () => t[1]; const s = e[0] === e[1]; e[0] > e[o - 1] && (e = [...e].reverse(), t = [...t].reverse()); const a = qA(t, r, i) , l = a.length , u = c => { if (s && c < e[0]) return t[0]; let d = 0; if (l > 1) for (; d < e.length - 2 && !(c < e[d + 1]); d++) ; const f = us(e[d], e[d + 1], c); return a[d](f) } ; return n ? c => u(rn(e[0], e[o - 1], c)) : u } function XA(e, t) { const n = e[e.length - 1]; for (let r = 1; r <= t; r++) { const i = us(0, t, r); e.push(fe(n, 1, i)) } } function ZA(e) { const t = [0]; return XA(t, e.length - 1), t } function JA(e, t) { return e.map(n => n * t) } function eR(e, t) { return e.map( () => t || l1).splice(0, e.length - 1) } function Fo({duration: e=300, keyframes: t, times: n, ease: r="easeInOut"}) { const i = uA(r) ? r.map(bm) : bm(r) , o = { done: !1, value: t[0] } , s = JA(n && n.length === t.length ? n : ZA(t), e) , a = YA(s, t, { ease: Array.isArray(i) ? i : eR(t, i) }); return { calculatedDuration: e, next: l => (o.value = a(l), o.done = l >= e, o) } } const tR = e => e !== null; function nh(e, {repeat: t, repeatType: n="loop"}, r, i=1) { const o = e.filter(tR) , a = i < 0 || t && n !== "loop" && t % 2 === 1 ? 0 : o.length - 1; return !a || r === void 0 ? o[a] : r } const nR = { decay: ad, inertia: ad, tween: Fo, keyframes: Fo, spring: al }; function S1(e) { typeof e.type == "string" && (e.type = nR[e.type]) } class rh { constructor() { this.updateFinished() } get finished() { return this._finished } updateFinished() { this._finished = new Promise(t => { this.resolve = t } ) } notifyFinished() { this.resolve() } then(t, n) { return this.finished.then(t, n) } } const rR = e => e / 100; class ih extends rh { constructor(t) { super(), this.state = "idle", this.startTime = null, this.isStopped = !1, this.currentTime = 0, this.holdTime = null, this.playbackSpeed = 1, this.stop = () => { var r, i; const {motionValue: n} = this.options; n && n.updatedAt !== He.now() && this.tick(He.now()), this.isStopped = !0, this.state !== "idle" && (this.teardown(), (i = (r = this.options).onStop) == null || i.call(r)) } , this.options = t, this.initAnimation(), this.play(), t.autoplay === !1 && this.pause() } initAnimation() { const {options: t} = this; S1(t); const {type: n=Fo, repeat: r=0, repeatDelay: i=0, repeatType: o, velocity: s=0} = t; let {keyframes: a} = t; const l = n || Fo; l !== Fo && typeof a[0] != "number" && (this.mixKeyframes = Es(rR, v1(a[0], a[1])), a = [0, 100]); const u = l({ ...t, keyframes: a }); o === "mirror" && (this.mirroredGenerator = l({ ...t, keyframes: [...a].reverse(), velocity: -s })), u.calculatedDuration === null && (u.calculatedDuration = th(u)); const {calculatedDuration: c} = u; this.calculatedDuration = c, this.resolvedDuration = c + i, this.totalDuration = this.resolvedDuration * (r + 1) - i, this.generator = u } updateTime(t) { const n = Math.round(t - this.startTime) * this.playbackSpeed; this.holdTime !== null ? this.currentTime = this.holdTime : this.currentTime = n } tick(t, n=!1) { const {generator: r, totalDuration: i, mixKeyframes: o, mirroredGenerator: s, resolvedDuration: a, calculatedDuration: l} = this; if (this.startTime === null) return r.next(0); const {delay: u=0, keyframes: c, repeat: d, repeatType: f, repeatDelay: h, type: x, onUpdate: y, finalKeyframe: w} = this.options; this.speed > 0 ? this.startTime = Math.min(this.startTime, t) : this.speed < 0 && (this.startTime = Math.min(t - i / this.speed, this.startTime)), n ? this.currentTime = t : this.updateTime(t); const g = this.currentTime - u * (this.playbackSpeed >= 0 ? 1 : -1) , m = this.playbackSpeed >= 0 ? g < 0 : g > i; this.currentTime = Math.max(g, 0), this.state === "finished" && this.holdTime === null && (this.currentTime = i); let v = this.currentTime , b = r; if (d) { const P = Math.min(this.currentTime, i) / a; let M = Math.floor(P) , A = P % 1; !A && P >= 1 && (A = 1), A === 1 && M--, M = Math.min(M, d + 1), !!(M % 2) && (f === "reverse" ? (A = 1 - A, h && (A -= h / a)) : f === "mirror" && (b = s)), v = rn(0, 1, A) * a } const C = m ? { done: !1, value: c[0] } : b.next(v); o && !m && (C.value = o(C.value)); let {done: E} = C; !m && l !== null && (E = this.playbackSpeed >= 0 ? this.currentTime >= i : this.currentTime <= 0); const T = this.holdTime === null && (this.state === "finished" || this.state === "running" && E); return T && x !== ad && (C.value = nh(c, this.options, w, this.speed)), y && y(C.value), T && this.finish(), C } then(t, n) { return this.finished.then(t, n) } get duration() { return vt(this.calculatedDuration) } get iterationDuration() { const {delay: t=0} = this.options || {}; return this.duration + vt(t) } get time() { return vt(this.currentTime) } set time(t) { t = nt(t), this.currentTime = t, this.startTime === null || this.holdTime !== null || this.playbackSpeed === 0 ? this.holdTime = t : this.driver && (this.startTime = this.driver.now() - t / this.playbackSpeed), this.driver ? this.driver.start(!1) : (this.startTime = 0, this.state = "paused", this.holdTime = t, this.tick(t)) } getGeneratorVelocity() { const t = this.currentTime; if (t <= 0) return this.options.velocity || 0; if (this.generator.velocity) return this.generator.velocity(t); const n = this.generator.next(t).value; return w1(r => this.generator.next(r).value, t, n) } get speed() { return this.playbackSpeed } set speed(t) { const n = this.playbackSpeed !== t; n && this.driver && this.updateTime(He.now()), this.playbackSpeed = t, n && this.driver && (this.time = vt(this.currentTime)) } play() { var i, o; if (this.isStopped) return; const {driver: t=zA, startTime: n} = this.options; this.driver || (this.driver = t(s => this.tick(s))), (o = (i = this.options).onPlay) == null || o.call(i); const r = this.driver.now(); this.state === "finished" ? (this.updateFinished(), this.startTime = r) : this.holdTime !== null ? this.startTime = r - this.holdTime : this.startTime || (this.startTime = n ?? r), this.state === "finished" && this.speed < 0 && (this.startTime += this.calculatedDuration), this.holdTime = null, this.state = "running", this.driver.start() } pause() { this.state = "paused", this.updateTime(He.now()), this.holdTime = this.currentTime } complete() { this.state !== "running" && this.play(), this.state = "finished", this.holdTime = null } finish() { var t, n; this.notifyFinished(), this.teardown(), this.state = "finished", (n = (t = this.options).onComplete) == null || n.call(t) } cancel() { var t, n; this.holdTime = null, this.startTime = 0, this.tick(0), this.teardown(), (n = (t = this.options).onCancel) == null || n.call(t) } teardown() { this.state = "idle", this.stopDriver(), this.startTime = this.holdTime = null } stopDriver() { this.driver && (this.driver.stop(), this.driver = void 0) } sample(t) { return this.startTime = 0, this.tick(t, !0) } attachTimeline(t) { var n; return this.options.allowFlatten && (this.options.type = "keyframes", this.options.ease = "linear", this.initAnimation()), (n = this.driver) == null || n.stop(), t.observe(this) } } function iR(e) { for (let t = 1; t < e.length; t++) e[t] ?? (e[t] = e[t - 1]) } const Tr = e => e * 180 / Math.PI , ld = e => { const t = Tr(Math.atan2(e[1], e[0])); return ud(t) } , oR = { x: 4, y: 5, translateX: 4, translateY: 5, scaleX: 0, scaleY: 3, scale: e => (Math.abs(e[0]) + Math.abs(e[3])) / 2, rotate: ld, rotateZ: ld, skewX: e => Tr(Math.atan(e[1])), skewY: e => Tr(Math.atan(e[2])), skew: e => (Math.abs(e[1]) + Math.abs(e[2])) / 2 } , ud = e => (e = e % 360, e < 0 && (e += 360), e) , Nm = ld , Mm = e => Math.sqrt(e[0] * e[0] + e[1] * e[1]) , jm = e => Math.sqrt(e[4] * e[4] + e[5] * e[5]) , sR = { x: 12, y: 13, z: 14, translateX: 12, translateY: 13, translateZ: 14, scaleX: Mm, scaleY: jm, scale: e => (Mm(e) + jm(e)) / 2, rotateX: e => ud(Tr(Math.atan2(e[6], e[5]))), rotateY: e => ud(Tr(Math.atan2(-e[2], e[0]))), rotateZ: Nm, rotate: Nm, skewX: e => Tr(Math.atan(e[4])), skewY: e => Tr(Math.atan(e[1])), skew: e => (Math.abs(e[1]) + Math.abs(e[4])) / 2 }; function cd(e) { return e.includes("scale") ? 1 : 0 } function dd(e, t) { if (!e || e === "none") return cd(t); const n = e.match(/^matrix3d(([-d.es,]+))$/u); let r, i; if (n) r = sR, i = n; else { const a = e.match(/^matrix(([-d.es,]+))$/u); r = oR, i = a } if (!i) return cd(t); const o = r[t] , s = i[1].split(",").map(lR); return typeof o == "function" ? o(s) : s[o] } const aR = (e, t) => { const {transform: n="none"} = getComputedStyle(e); return dd(n, t) } ; function lR(e) { return parseFloat(e.trim()) } const no = ["transformPerspective", "x", "y", "z", "translateX", "translateY", "translateZ", "scale", "scaleX", "scaleY", "rotate", "rotateX", "rotateY", "rotateZ", "skew", "skewX", "skewY"] , ro = new Set(no) , Dm = e => e === to || e === _ , uR = new Set(["x", "y", "z"]) , cR = no.filter(e => !uR.has(e)); function dR(e) { const t = []; return cR.forEach(n => { const r = e.getValue(n); r !== void 0 && (t.push([n, r.get()]), r.set(n.startsWith("scale") ? 1 : 0)) } ), t } const Gn = { width: ({x: e}, {paddingLeft: t="0", paddingRight: n="0"}) => e.max - e.min - parseFloat(t) - parseFloat(n), height: ({y: e}, {paddingTop: t="0", paddingBottom: n="0"}) => e.max - e.min - parseFloat(t) - parseFloat(n), top: (e, {top: t}) => parseFloat(t), left: (e, {left: t}) => parseFloat(t), bottom: ({y: e}, {top: t}) => parseFloat(t) + (e.max - e.min), right: ({x: e}, {left: t}) => parseFloat(t) + (e.max - e.min), x: (e, {transform: t}) => dd(t, "x"), y: (e, {transform: t}) => dd(t, "y") }; Gn.translateX = Gn.x; Gn.translateY = Gn.y; const Lr = new Set; let fd = !1 , hd = !1 , pd = !1; function b1() { if (hd) { const e = Array.from(Lr).filter(r => r.needsMeasurement) , t = new Set(e.map(r => r.element)) , n = new Map; t.forEach(r => { const i = dR(r); i.length && (n.set(r, i), r.render()) } ), e.forEach(r => r.measureInitialState()), t.forEach(r => { r.render(); const i = n.get(r); i && i.forEach( ([o,s]) => { var a; (a = r.getValue(o)) == null || a.set(s) } ) } ), e.forEach(r => r.measureEndState()), e.forEach(r => { r.suspendedScrollY !== void 0 && window.scrollTo(0, r.suspendedScrollY) } ) } hd = !1, fd = !1, Lr.forEach(e => e.complete(pd)), Lr.clear() } function C1() { Lr.forEach(e => { e.readKeyframes(), e.needsMeasurement && (hd = !0) } ) } function fR() { pd = !0, C1(), b1(), pd = !1 } class oh { constructor(t, n, r, i, o, s=!1) { this.state = "pending", this.isAsync = !1, this.needsMeasurement = !1, this.unresolvedKeyframes = [...t], this.onComplete = n, this.name = r, this.motionValue = i, this.element = o, this.isAsync = s } scheduleResolve() { this.state = "scheduled", this.isAsync ? (Lr.add(this), fd || (fd = !0, ie.read(C1), ie.resolveKeyframes(b1))) : (this.readKeyframes(), this.complete()) } readKeyframes() { const {unresolvedKeyframes: t, name: n, element: r, motionValue: i} = this; if (t[0] === null) { const o = i == null ? void 0 : i.get() , s = t[t.length - 1]; if (o !== void 0) t[0] = o; else if (r && n) { const a = r.readValue(n, s); a != null && (t[0] = a) } t[0] === void 0 && (t[0] = s), i && o === void 0 && i.set(t[0]) } iR(t) } setFinalKeyframe() {} measureInitialState() {} renderEndStyles() {} measureEndState() {} complete(t=!1) { this.state = "complete", this.onComplete(this.unresolvedKeyframes, this.finalKeyframe, t), Lr.delete(this) } cancel() { this.state === "scheduled" && (Lr.delete(this), this.state = "pending") } resume() { this.state === "pending" && this.scheduleResolve() } } const hR = e => e.startsWith("--"); function E1(e, t, n) { hR(t) ? e.style.setProperty(t, n) : e.style[t] = n } const pR = {}; function T1(e, t) { const n = Zx(e); return () => pR[t] ?? n() } const mR = T1( () => window.ScrollTimeline !== void 0, "scrollTimeline") , P1 = T1( () => { try { document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" }) } catch { return !1 } return !0 } , "linearEasing") , To = ([e,t,n,r]) => `cubic-bezier(${e}, ${t}, ${n}, ${r})` , Lm = { linear: "linear", ease: "ease", easeIn: "ease-in", easeOut: "ease-out", easeInOut: "ease-in-out", circIn: To([0, .65, .55, 1]), circOut: To([.55, 0, 1, .45]), backIn: To([.31, .01, .66, -.59]), backOut: To([.33, 1.53, .69, .99]) }; function k1(e, t) { if (e) return typeof e == "function" ? P1() ? x1(e, t) : "ease-out" : u1(e) ? To(e) : Array.isArray(e) ? e.map(n => k1(n, t) || Lm.easeOut) : Lm[e] } function gR(e, t, n, {delay: r=0, duration: i=300, repeat: o=0, repeatType: s="loop", ease: a="easeOut", times: l}={}, u=void 0) { const c = { [t]: n }; l && (c.offset = l); const d = k1(a, i); Array.isArray(d) && (c.easing = d); const f = { delay: r, duration: i, easing: Array.isArray(d) ? "linear" : d, fill: "both", iterations: o + 1, direction: s === "reverse" ? "alternate" : "normal" }; return u && (f.pseudoElement = u), e.animate(c, f) } function A1(e) { return typeof e == "function" && "applyToOptions"in e } function yR({type: e, ...t}) { return A1(e) && P1() ? e.applyToOptions(t) : (t.duration ?? (t.duration = 300), t.ease ?? (t.ease = "easeOut"), t) } class R1 extends rh { constructor(t) { if (super(), this.finishedTime = null, this.isStopped = !1, this.manualStartTime = null, !t) return; const {element: n, name: r, keyframes: i, pseudoElement: o, allowFlatten: s=!1, finalKeyframe: a, onComplete: l} = t; this.isPseudoElement = !!o, this.allowFlatten = s, this.options = t, Wi(typeof t.type != "string", `Mini animate() doesn't support "type" as a string.`, "mini-spring"); const u = yR(t); this.animation = gR(n, r, i, u, o), u.autoplay === !1 && this.animation.pause(), this.animation.onfinish = () => { if (this.finishedTime = this.time, !o) { const c = nh(i, this.options, a, this.speed); this.updateMotionValue && this.updateMotionValue(c), E1(n, r, c), this.animation.cancel() } l == null || l(), this.notifyFinished() } } play() { this.isStopped || (this.manualStartTime = null, this.animation.play(), this.state === "finished" && this.updateFinished()) } pause() { this.animation.pause() } complete() { var t, n; (n = (t = this.animation).finish) == null || n.call(t) } cancel() { try { this.animation.cancel() } catch {} } stop() { if (this.isStopped) return; this.isStopped = !0; const {state: t} = this; t === "idle" || t === "finished" || (this.updateMotionValue ? this.updateMotionValue() : this.commitStyles(), this.isPseudoElement || this.cancel()) } commitStyles() { var n, r, i; const t = (n = this.options) == null ? void 0 : n.element; !this.isPseudoElement && (t != null && t.isConnected) && ((i = (r = this.animation).commitStyles) == null || i.call(r)) } get duration() { var n, r; const t = ((r = (n = this.animation.effect) == null ? void 0 : n.getComputedTiming) == null ? void 0 : r.call(n).duration) || 0; return vt(Number(t)) } get iterationDuration() { const {delay: t=0} = this.options || {}; return this.duration + vt(t) } get time() { return vt(Number(this.animation.currentTime) || 0) } set time(t) { const n = this.finishedTime !== null; this.manualStartTime = null, this.finishedTime = null, this.animation.currentTime = nt(t), n && this.animation.pause() } get speed() { return this.animation.playbackRate } set speed(t) { t < 0 && (this.finishedTime = null), this.animation.playbackRate = t } get state() { return this.finishedTime !== null ? "finished" : this.animation.playState } get startTime() { return this.manualStartTime ?? Number(this.animation.startTime) } set startTime(t) { this.manualStartTime = this.animation.startTime = t } attachTimeline({timeline: t, rangeStart: n, rangeEnd: r, observe: i}) { var o; return this.allowFlatten && ((o = this.animation.effect) == null || o.updateTiming({ easing: "linear" })), this.animation.onfinish = null, t && mR() ? (this.animation.timeline = t, n && (this.animation.rangeStart = n), r && (this.animation.rangeEnd = r), wt) : i(this) } } const N1 = { anticipate: o1, backInOut: i1, circInOut: a1 }; function vR(e) { return e in N1 } function xR(e) { typeof e.ease == "string" && vR(e.ease) && (e.ease = N1[e.ease]) } const Lu = 10; class wR extends R1 { constructor(t) { xR(t), S1(t), super(t), t.startTime !== void 0 && t.autoplay !== !1 && (this.startTime = t.startTime), this.options = t } updateMotionValue(t) { const {motionValue: n, onUpdate: r, onComplete: i, element: o, ...s} = this.options; if (!n) return; if (t !== void 0) { n.set(t); return } const a = new ih({ ...s, autoplay: !1 }) , l = Math.max(Lu, He.now() - this.startTime) , u = rn(0, Lu, l - Lu) , c = a.sample(l).value , {name: d} = this.options; o && d && E1(o, d, c), n.setWithVelocity(a.sample(Math.max(0, l - u)).value, c, u), a.stop() } } const Om = (e, t) => t === "zIndex" ? !1 : !!(typeof e == "number" || Array.isArray(e) || typeof e == "string" && (Vt.test(e) || e === "0") && !e.startsWith("url(")); function SR(e) { const t = e[0]; if (e.length === 1) return !0; for (let n = 0; n < e.length; n++) if (e[n] !== t) return !0 } function bR(e, t, n, r) { const i = e[0]; if (i === null) return !1; if (t === "display" || t === "visibility") return !0; const o = e[e.length - 1] , s = Om(i, t) , a = Om(o, t); return zl(s === a, `You are trying to animate ${t} from "${i}" to "${o}". "${s ? o : i}" is not an animatable value.`, "value-not-animatable"), !s || !a ? !1 : SR(e) || (n === "spring" || A1(n)) && r } function md(e) { e.duration = 0, e.type = "keyframes" } const CR = new Set(["opacity", "clipPath", "filter", "transform"]) , ER = Zx( () => Object.hasOwnProperty.call(Element.prototype, "animate")); function TR(e) { var c; const {motionValue: t, name: n, repeatDelay: r, repeatType: i, damping: o, type: s} = e; if (!(((c = t == null ? void 0 : t.owner) == null ? void 0 : c.current)instanceof HTMLElement)) return !1; const {onUpdate: l, transformTemplate: u} = t.owner.getProps(); return ER() && n && CR.has(n) && (n !== "transform" || !u) && !l && !r && i !== "mirror" && o !== 0 && s !== "inertia" } const PR = 40; class kR extends rh { constructor({autoplay: t=!0, delay: n=0, type: r="keyframes", repeat: i=0, repeatDelay: o=0, repeatType: s="loop", keyframes: a, name: l, motionValue: u, element: c, ...d}) { var x; super(), this.stop = () => { var y, w; this._animation && (this._animation.stop(), (y = this.stopTimeline) == null || y.call(this)), (w = this.keyframeResolver) == null || w.cancel() } , this.createdAt = He.now(); const f = { autoplay: t, delay: n, type: r, repeat: i, repeatDelay: o, repeatType: s, name: l, motionValue: u, element: c, ...d } , h = (c == null ? void 0 : c.KeyframeResolver) || oh; this.keyframeResolver = new h(a, (y, w, g) => this.onKeyframesResolved(y, w, f, !g),l,u,c), (x = this.keyframeResolver) == null || x.scheduleResolve() } onKeyframesResolved(t, n, r, i) { var w, g; this.keyframeResolver = void 0; const {name: o, type: s, velocity: a, delay: l, isHandoff: u, onUpdate: c} = r; this.resolvedAt = He.now(), bR(t, o, s, a) || ((wn.instantAnimations || !l) && (c == null || c(nh(t, r, n))), t[0] = t[t.length - 1], md(r), r.repeat = 0); const f = { startTime: i ? this.resolvedAt ? this.resolvedAt - this.createdAt > PR ? this.resolvedAt : this.createdAt : this.createdAt : void 0, finalKeyframe: n, ...r, keyframes: t } , h = !u && TR(f) , x = (g = (w = f.motionValue) == null ? void 0 : w.owner) == null ? void 0 : g.current , y = h ? new wR({ ...f, element: x }) : new ih(f); y.finished.then( () => { this.notifyFinished() } ).catch(wt), this.pendingTimeline && (this.stopTimeline = y.attachTimeline(this.pendingTimeline), this.pendingTimeline = void 0), this._animation = y } get finished() { return this._animation ? this.animation.finished : this._finished } then(t, n) { return this.finished.finally(t).then( () => {} ) } get animation() { var t; return this._animation || ((t = this.keyframeResolver) == null || t.resume(), fR()), this._animation } get duration() { return this.animation.duration } get iterationDuration() { return this.animation.iterationDuration } get time() { return this.animation.time } set time(t) { this.animation.time = t } get speed() { return this.animation.speed } get state() { return this.animation.state } set speed(t) { this.animation.speed = t } get startTime() { return this.animation.startTime } attachTimeline(t) { return this._animation ? this.stopTimeline = this.animation.attachTimeline(t) : this.pendingTimeline = t, () => this.stop() } play() { this.animation.play() } pause() { this.animation.pause() } complete() { this.animation.complete() } cancel() { var t; this._animation && this.animation.cancel(), (t = this.keyframeResolver) == null || t.cancel() } } function M1(e, t, n, r=0, i=1) { const o = Array.from(e).sort( (u, c) => u.sortNodePosition(c)).indexOf(t) , s = e.size , a = (s - 1) * r; return typeof n == "function" ? n(o, s) : i === 1 ? o * r : a - o * r } const AR = /^var(--(?:([w-]+)|([w-]+), ?([a-zA-Zd ()%#.,-]+)))/u; function RR(e) { const t = AR.exec(e); if (!t) return [, ]; const [,n,r,i] = t; return [`--${n ?? r}`, i] } const NR = 4; function j1(e, t, n=1) { Wi(n <= NR, `Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`, "max-css-var-depth"); const [r,i] = RR(e); if (!r) return; const o = window.getComputedStyle(t).getPropertyValue(r); if (o) { const s = o.trim(); return qx(s) ? parseFloat(s) : s } return Xf(i) ? j1(i, t, n + 1) : i } const MR = { type: "spring", stiffness: 500, damping: 25, restSpeed: 10 } , jR = e => ({ type: "spring", stiffness: 550, damping: e === 0 ? 2 * Math.sqrt(550) : 30, restSpeed: 10 }) , DR = { type: "keyframes", duration: .8 } , LR = { type: "keyframes", ease: [.25, .1, .35, 1], duration: .3 } , OR = (e, {keyframes: t}) => t.length > 2 ? DR : ro.has(e) ? e.startsWith("scale") ? jR(t[1]) : MR : LR , IR = e => e !== null; function FR(e, {repeat: t, repeatType: n="loop"}, r) { const i = e.filter(IR) , o = t && n !== "loop" && t % 2 === 1 ? 0 : i.length - 1; return !o || r === void 0 ? i[o] : r } function D1(e, t) { if (e != null && e.inherit && t) { const {inherit: n, ...r} = e; return { ...t, ...r } } return e } function sh(e, t) { const n = (e == null ? void 0 : e[t]) ?? (e == null ? void 0 : e.default) ?? e; return n !== e ? D1(n, e) : n } function VR({when: e, delay: t, delayChildren: n, staggerChildren: r, staggerDirection: i, repeat: o, repeatType: s, repeatDelay: a, from: l, elapsed: u, ...c}) { return !!Object.keys(c).length } const ah = (e, t, n, r={}, i, o) => s => { const a = sh(r, e) || {} , l = a.delay || r.delay || 0; let {elapsed: u=0} = r; u = u - nt(l); const c = { keyframes: Array.isArray(n) ? n : [null, n], ease: "easeOut", velocity: t.getVelocity(), ...a, delay: -u, onUpdate: f => { t.set(f), a.onUpdate && a.onUpdate(f) } , onComplete: () => { s(), a.onComplete && a.onComplete() } , name: e, motionValue: t, element: o ? void 0 : i }; VR(a) || Object.assign(c, OR(e, c)), c.duration && (c.duration = nt(c.duration)), c.repeatDelay && (c.repeatDelay = nt(c.repeatDelay)), c.from !== void 0 && (c.keyframes[0] = c.from); let d = !1; if ((c.type === !1 || c.duration === 0 && !c.repeatDelay) && (md(c), c.delay === 0 && (d = !0)), (wn.instantAnimations || wn.skipAnimations || i != null && i.shouldSkipAnimations) && (d = !0, md(c), c.delay = 0), c.allowFlatten = !a.type && !a.ease, d && !o && t.get() !== void 0) { const f = FR(c.keyframes, a); if (f !== void 0) { ie.update( () => { c.onUpdate(f), c.onComplete() } ); return } } return a.isSync ? new ih(c) : new kR(c) } ; function Im(e) { const t = [{}, {}]; return e == null || e.values.forEach( (n, r) => { t[0][r] = n.get(), t[1][r] = n.getVelocity() } ), t } function lh(e, t, n, r) { if (typeof t == "function") { const [i,o] = Im(r); t = t(n !== void 0 ? n : e.custom, i, o) } if (typeof t == "string" && (t = e.variants && e.variants[t]), typeof t == "function") { const [i,o] = Im(r); t = t(n !== void 0 ? n : e.custom, i, o) } return t } function Pi(e, t, n) { const r = e.getProps(); return lh(r, t, n !== void 0 ? n : r.custom, e) } const L1 = new Set(["width", "height", "top", "left", "right", "bottom", ...no]) , Fm = 30 , _R = e => !isNaN(parseFloat(e)); class zR { constructor(t, n={}) { this.canTrackVelocity = null, this.events = {}, this.updateAndNotify = r => { var o; const i = He.now(); if (this.updatedAt !== i && this.setPrevFrameValue(), this.prev = this.current, this.setCurrent(r), this.current !== this.prev && ((o = this.events.change) == null || o.notify(this.current), this.dependents)) for (const s of this.dependents) s.dirty() } , this.hasAnimated = !1, this.setCurrent(t), this.owner = n.owner } setCurrent(t) { this.current = t, this.updatedAt = He.now(), this.canTrackVelocity === null && t !== void 0 && (this.canTrackVelocity = _R(this.current)) } setPrevFrameValue(t=this.current) { this.prevFrameValue = t, this.prevUpdatedAt = this.updatedAt } onChange(t) { return this.on("change", t) } on(t, n) { this.events[t] || (this.events[t] = new Qf); const r = this.events[t].add(n); return t === "change" ? () => { r(), ie.read( () => { this.events.change.getSize() || this.stop() } ) } : r } clearListeners() { for (const t in this.events) this.events[t].clear() } attach(t, n) { this.passiveEffect = t, this.stopPassiveEffect = n } set(t) { this.passiveEffect ? this.passiveEffect(t, this.updateAndNotify) : this.updateAndNotify(t) } setWithVelocity(t, n, r) { this.set(n), this.prev = void 0, this.prevFrameValue = t, this.prevUpdatedAt = this.updatedAt - r } jump(t, n=!0) { this.updateAndNotify(t), this.prev = t, this.prevUpdatedAt = this.prevFrameValue = void 0, n && this.stop(), this.stopPassiveEffect && this.stopPassiveEffect() } dirty() { var t; (t = this.events.change) == null || t.notify(this.current) } addDependent(t) { this.dependents || (this.dependents = new Set), this.dependents.add(t) } removeDependent(t) { this.dependents && this.dependents.delete(t) } get() { return this.current } getPrevious() { return this.prev } getVelocity() { const t = He.now(); if (!this.canTrackVelocity || this.prevFrameValue === void 0 || t - this.updatedAt > Fm) return 0; const n = Math.min(this.updatedAt - this.prevUpdatedAt, Fm); return Jx(parseFloat(this.current) - parseFloat(this.prevFrameValue), n) } start(t) { return this.stop(), new Promise(n => { this.hasAnimated = !0, this.animation = t(n), this.events.animationStart && this.events.animationStart.notify() } ).then( () => { this.events.animationComplete && this.events.animationComplete.notify(), this.clearAnimation() } ) } stop() { this.animation && (this.animation.stop(), this.events.animationCancel && this.events.animationCancel.notify()), this.clearAnimation() } isAnimating() { return !!this.animation } clearAnimation() { delete this.animation } destroy() { var t, n; (t = this.dependents) == null || t.clear(), (n = this.events.destroy) == null || n.notify(), this.clearListeners(), this.stop(), this.stopPassiveEffect && this.stopPassiveEffect() } } function Ki(e, t) { return new zR(e,t) } const gd = e => Array.isArray(e); function BR(e, t, n) { e.hasValue(t) ? e.getValue(t).set(n) : e.addValue(t, Ki(n)) } function $R(e) { return gd(e) ? e[e.length - 1] || 0 : e } function UR(e, t) { const n = Pi(e, t); let {transitionEnd: r={}, transition: i={}, ...o} = n || {}; o = { ...o, ...r }; for (const s in o) { const a = $R(o[s]); BR(e, s, a) } } const ze = e => !!(e && e.getVelocity); function WR(e) { return !!(ze(e) && e.add) } function yd(e, t) { const n = e.getValue("willChange"); if (WR(n)) return n.add(t); if (!n && wn.WillChange) { const r = new wn.WillChange("auto"); e.addValue("willChange", r), r.add(t) } } function uh(e) { return e.replace(/([A-Z])/g, t => `-${t.toLowerCase()}`) } const HR = "framerAppearId" , O1 = "data-" + uh(HR); function I1(e) { return e.props[O1] } function KR({protectedKeys: e, needsAnimating: t}, n) { const r = e.hasOwnProperty(n) && t[n] !== !0; return t[n] = !1, r } function F1(e, t, {delay: n=0, transitionOverride: r, type: i}={}) { let {transition: o, transitionEnd: s, ...a} = t; const l = e.getDefaultTransition(); o = o ? D1(o, l) : l; const u = o == null ? void 0 : o.reduceMotion; r && (o = r); const c = [] , d = i && e.animationState && e.animationState.getState()[i]; for (const f in a) { const h = e.getValue(f, e.latestValues[f] ?? null) , x = a[f]; if (x === void 0 || d && KR(d, f)) continue; const y = { delay: n, ...sh(o || {}, f) } , w = h.get(); if (w !== void 0 && !h.isAnimating && !Array.isArray(x) && x === w && !y.velocity) continue; let g = !1; if (window.MotionHandoffAnimation) { const b = I1(e); if (b) { const C = window.MotionHandoffAnimation(b, f, ie); C !== null && (y.startTime = C, g = !0) } } yd(e, f); const m = u ?? e.shouldReduceMotion; h.start(ah(f, h, x, m && L1.has(f) ? { type: !1 } : y, e, g)); const v = h.animation; v && c.push(v) } if (s) { const f = () => ie.update( () => { s && UR(e, s) } ); c.length ? Promise.all(c).then(f) : f() } return c } function vd(e, t, n={}) { var l; const r = Pi(e, t, n.type === "exit" ? (l = e.presenceContext) == null ? void 0 : l.custom : void 0); let {transition: i=e.getDefaultTransition() || {}} = r || {}; n.transitionOverride && (i = n.transitionOverride); const o = r ? () => Promise.all(F1(e, r, n)) : () => Promise.resolve() , s = e.variantChildren && e.variantChildren.size ? (u=0) => { const {delayChildren: c=0, staggerChildren: d, staggerDirection: f} = i; return GR(e, t, u, c, d, f, n) } : () => Promise.resolve() , {when: a} = i; if (a) { const [u,c] = a === "beforeChildren" ? [o, s] : [s, o]; return u().then( () => c()) } else return Promise.all([o(), s(n.delay)]) } function GR(e, t, n=0, r=0, i=0, o=1, s) { const a = []; for (const l of e.variantChildren) l.notify("AnimationStart", t), a.push(vd(l, t, { ...s, delay: n + (typeof r == "function" ? 0 : r) + M1(e.variantChildren, l, r, i, o) }).then( () => l.notify("AnimationComplete", t))); return Promise.all(a) } function QR(e, t, n={}) { e.notify("AnimationStart", t); let r; if (Array.isArray(t)) { const i = t.map(o => vd(e, o, n)); r = Promise.all(i) } else if (typeof t == "string") r = vd(e, t, n); else { const i = typeof t == "function" ? Pi(e, t, n.custom) : t; r = Promise.all(F1(e, i, n)) } return r.then( () => { e.notify("AnimationComplete", t) } ) } const qR = { test: e => e === "auto", parse: e => e } , V1 = e => t => t.test(e) , _1 = [to, _, tn, Dn, SA, wA, qR] , Vm = e => _1.find(V1(e)); function YR(e) { return typeof e == "number" ? e === 0 : e !== null ? e === "none" || e === "0" || Xx(e) : !0 } const XR = new Set(["brightness", "contrast", "saturate", "opacity"]); function ZR(e) { const [t,n] = e.slice(0, -1).split("("); if (t === "drop-shadow") return e; const [r] = n.match(Zf) || []; if (!r) return e; const i = n.replace(r, ""); let o = XR.has(t) ? 1 : 0; return r !== n && (o *= 100), t + "(" + o + i + ")" } const JR = /b([a-z-]*)(.*?)/gu , xd = { ...Vt, getAnimatableNone: e => { const t = e.match(JR); return t ? t.map(ZR).join(" ") : e } } , wd = { ...Vt, getAnimatableNone: e => { const t = Vt.parse(e); return Vt.createTransformer(e)(t.map(r => typeof r == "number" ? 0 : typeof r == "object" ? { ...r, alpha: 1 } : r)) } } , _m = { ...to, transform: Math.round } , eN = { rotate: Dn, rotateX: Dn, rotateY: Dn, rotateZ: Dn, scale: ta, scaleX: ta, scaleY: ta, scaleZ: ta, skew: Dn, skewX: Dn, skewY: Dn, distance: _, translateX: _, translateY: _, translateZ: _, x: _, y: _, z: _, perspective: _, transformPerspective: _, opacity: cs, originX: Tm, originY: Tm, originZ: _ } , ch = { borderWidth: _, borderTopWidth: _, borderRightWidth: _, borderBottomWidth: _, borderLeftWidth: _, borderRadius: _, borderTopLeftRadius: _, borderTopRightRadius: _, borderBottomRightRadius: _, borderBottomLeftRadius: _, width: _, maxWidth: _, height: _, maxHeight: _, top: _, right: _, bottom: _, left: _, inset: _, insetBlock: _, insetBlockStart: _, insetBlockEnd: _, insetInline: _, insetInlineStart: _, insetInlineEnd: _, padding: _, paddingTop: _, paddingRight: _, paddingBottom: _, paddingLeft: _, paddingBlock: _, paddingBlockStart: _, paddingBlockEnd: _, paddingInline: _, paddingInlineStart: _, paddingInlineEnd: _, margin: _, marginTop: _, marginRight: _, marginBottom: _, marginLeft: _, marginBlock: _, marginBlockStart: _, marginBlockEnd: _, marginInline: _, marginInlineStart: _, marginInlineEnd: _, fontSize: _, backgroundPositionX: _, backgroundPositionY: _, ...eN, zIndex: _m, fillOpacity: cs, strokeOpacity: cs, numOctaves: _m } , tN = { ...ch, color: Se, backgroundColor: Se, outlineColor: Se, fill: Se, stroke: Se, borderColor: Se, borderTopColor: Se, borderRightColor: Se, borderBottomColor: Se, borderLeftColor: Se, filter: xd, WebkitFilter: xd, mask: wd, WebkitMask: wd } , z1 = e => tN[e] , nN = new Set([xd, wd]); function B1(e, t) { let n = z1(e); return nN.has(n) || (n = Vt), n.getAnimatableNone ? n.getAnimatableNone(t) : void 0 } const rN = new Set(["auto", "none", "0"]); function iN(e, t, n) { let r = 0, i; for (; r < e.length && !i; ) { const o = e[r]; typeof o == "string" && !rN.has(o) && Hi(o).values.length && (i = e[r]), r++ } if (i && n) for (const o of t) e[o] = B1(n, i) } class oN extends oh { constructor(t, n, r, i, o) { super(t, n, r, i, o, !0) } readKeyframes() { const {unresolvedKeyframes: t, element: n, name: r} = this; if (!n || !n.current) return; super.readKeyframes(); for (let c = 0; c < t.length; c++) { let d = t[c]; if (typeof d == "string" && (d = d.trim(), Xf(d))) { const f = j1(d, n.current); f !== void 0 && (t[c] = f), c === t.length - 1 && (this.finalKeyframe = d) } } if (this.resolveNoneKeyframes(), !L1.has(r) || t.length !== 2) return; const [i,o] = t , s = Vm(i) , a = Vm(o) , l = Em(i) , u = Em(o); if (l !== u && Gn[r]) { this.needsMeasurement = !0; return } if (s !== a) if (Dm(s) && Dm(a)) for (let c = 0; c < t.length; c++) { const d = t[c]; typeof d == "string" && (t[c] = parseFloat(d)) } else Gn[r] && (this.needsMeasurement = !0) } resolveNoneKeyframes() { const {unresolvedKeyframes: t, name: n} = this , r = []; for (let i = 0; i < t.length; i++) (t[i] === null || YR(t[i])) && r.push(i); r.length && iN(t, r, n) } measureInitialState() { const {element: t, unresolvedKeyframes: n, name: r} = this; if (!t || !t.current) return; r === "height" && (this.suspendedScrollY = window.pageYOffset), this.measuredOrigin = Gn[r](t.measureViewportBox(), window.getComputedStyle(t.current)), n[0] = this.measuredOrigin; const i = n[n.length - 1]; i !== void 0 && t.getValue(r, i).jump(i, !1) } measureEndState() { var a; const {element: t, name: n, unresolvedKeyframes: r} = this; if (!t || !t.current) return; const i = t.getValue(n); i && i.jump(this.measuredOrigin, !1); const o = r.length - 1 , s = r[o]; r[o] = Gn[n](t.measureViewportBox(), window.getComputedStyle(t.current)), s !== null && this.finalKeyframe === void 0 && (this.finalKeyframe = s), (a = this.removedTransforms) != null && a.length && this.removedTransforms.forEach( ([l,u]) => { t.getValue(l).set(u) } ), this.resolveNoneKeyframes() } } const sN = new Set(["opacity", "clipPath", "filter", "transform"]); function $1(e, t, n) { if (e == null) return []; if (e instanceof EventTarget) return [e]; if (typeof e == "string") { const i = document.querySelectorAll(e); return i ? Array.from(i) : [] } return Array.from(e).filter(r => r != null) } const U1 = (e, t) => t && typeof e == "number" ? t.transform(e) : e; function Sa(e) { return Yx(e) && "offsetHeight"in e } const {schedule: dh, cancel: ND} = c1(queueMicrotask, !1) , Rt = { x: !1, y: !1 }; function W1() { return Rt.x || Rt.y } function aN(e) { return e === "x" || e === "y" ? Rt[e] ? null : (Rt[e] = !0, () => { Rt[e] = !1 } ) : Rt.x || Rt.y ? null : (Rt.x = Rt.y = !0, () => { Rt.x = Rt.y = !1 } ) } function H1(e, t) { const n = $1(e) , r = new AbortController , i = { passive: !0, ...t, signal: r.signal }; return [n, i, () => r.abort()] } function lN(e) { return !(e.pointerType === "touch" || W1()) } function uN(e, t, n={}) { const [r,i,o] = H1(e, n); return r.forEach(s => { let a = !1, l = !1, u; const c = () => { s.removeEventListener("pointerleave", x) } , d = w => { u && (u(w), u = void 0), c() } , f = w => { a = !1, window.removeEventListener("pointerup", f), window.removeEventListener("pointercancel", f), l && (l = !1, d(w)) } , h = () => { a = !0, window.addEventListener("pointerup", f, i), window.addEventListener("pointercancel", f, i) } , x = w => { if (w.pointerType !== "touch") { if (a) { l = !0; return } d(w) } } , y = w => { if (!lN(w)) return; l = !1; const g = t(s, w); typeof g == "function" && (u = g, s.addEventListener("pointerleave", x, i)) } ; s.addEventListener("pointerenter", y, i), s.addEventListener("pointerdown", h, i) } ), o } const K1 = (e, t) => t ? e === t ? !0 : K1(e, t.parentElement) : !1 , fh = e => e.pointerType === "mouse" ? typeof e.button != "number" || e.button <= 0 : e.isPrimary !== !1 , cN = new Set(["BUTTON", "INPUT", "SELECT", "TEXTAREA", "A"]); function dN(e) { return cN.has(e.tagName) || e.isContentEditable === !0 } const fN = new Set(["INPUT", "SELECT", "TEXTAREA"]); function hN(e) { return fN.has(e.tagName) || e.isContentEditable === !0 } const ba = new WeakSet; function zm(e) { return t => { t.key === "Enter" && e(t) } } function Ou(e, t) { e.dispatchEvent(new PointerEvent("pointer" + t,{ isPrimary: !0, bubbles: !0 })) } const pN = (e, t) => { const n = e.currentTarget; if (!n) return; const r = zm( () => { if (ba.has(n)) return; Ou(n, "down"); const i = zm( () => { Ou(n, "up") } ) , o = () => Ou(n, "cancel"); n.addEventListener("keyup", i, t), n.addEventListener("blur", o, t) } ); n.addEventListener("keydown", r, t), n.addEventListener("blur", () => n.removeEventListener("keydown", r), t) } ; function Bm(e) { return fh(e) && !W1() } const $m = new WeakSet; function mN(e, t, n={}) { const [r,i,o] = H1(e, n) , s = a => { const l = a.currentTarget; if (!Bm(a) || $m.has(a)) return; ba.add(l), n.stopPropagation && $m.add(a); const u = t(l, a) , c = (h, x) => { window.removeEventListener("pointerup", d), window.removeEventListener("pointercancel", f), ba.has(l) && ba.delete(l), Bm(h) && typeof u == "function" && u(h, { success: x }) } , d = h => { c(h, l === window || l === document || n.useGlobalTarget || K1(l, h.target)) } , f = h => { c(h, !1) } ; window.addEventListener("pointerup", d, i), window.addEventListener("pointercancel", f, i) } ; return r.forEach(a => { (n.useGlobalTarget ? window : a).addEventListener("pointerdown", s, i), Sa(a) && (a.addEventListener("focus", u => pN(u, i)), !dN(a) && !a.hasAttribute("tabindex") && (a.tabIndex = 0)) } ), o } function hh(e) { return Yx(e) && "ownerSVGElement"in e } const Ca = new WeakMap; let Ln; const G1 = (e, t, n) => (r, i) => i && i[0] ? i[0][e + "Size"] : hh(r) && "getBBox"in r ? r.getBBox()[t] : r[n] , gN = G1("inline", "width", "offsetWidth") , yN = G1("block", "height", "offsetHeight"); function vN({target: e, borderBoxSize: t}) { var n; (n = Ca.get(e)) == null || n.forEach(r => { r(e, { get width() { return gN(e, t) }, get height() { return yN(e, t) } }) } ) } function xN(e) { e.forEach(vN) } function wN() { typeof ResizeObserver > "u" || (Ln = new ResizeObserver(xN)) } function SN(e, t) { Ln || wN(); const n = $1(e); return n.forEach(r => { let i = Ca.get(r); i || (i = new Set, Ca.set(r, i)), i.add(t), Ln == null || Ln.observe(r) } ), () => { n.forEach(r => { const i = Ca.get(r); i == null || i.delete(t), i != null && i.size || Ln == null || Ln.unobserve(r) } ) } } const Ea = new Set; let pi; function bN() { pi = () => { const e = { get width() { return window.innerWidth }, get height() { return window.innerHeight } }; Ea.forEach(t => t(e)) } , window.addEventListener("resize", pi) } function CN(e) { return Ea.add(e), pi || bN(), () => { Ea.delete(e), !Ea.size && typeof pi == "function" && (window.removeEventListener("resize", pi), pi = void 0) } } function Um(e, t) { return typeof e == "function" ? CN(e) : SN(e, t) } function EN(e) { return hh(e) && e.tagName === "svg" } const TN = [..._1, Se, Vt] , PN = e => TN.find(V1(e)) , Wm = () => ({ translate: 0, scale: 1, origin: 0, originPoint: 0 }) , mi = () => ({ x: Wm(), y: Wm() }) , Hm = () => ({ min: 0, max: 0 }) , Ee = () => ({ x: Hm(), y: Hm() }) , kN = new WeakMap; function Bl(e) { return e !== null && typeof e == "object" && typeof e.start == "function" } function ds(e) { return typeof e == "string" || Array.isArray(e) } const ph = ["animate", "whileInView", "whileFocus", "whileHover", "whileTap", "whileDrag", "exit"] , mh = ["initial", ...ph]; function $l(e) { return Bl(e.animate) || mh.some(t => ds(e[t])) } function Q1(e) { return !!($l(e) || e.variants) } function AN(e, t, n) { for (const r in t) { const i = t[r] , o = n[r]; if (ze(i)) e.addValue(r, i); else if (ze(o)) e.addValue(r, Ki(i, { owner: e })); else if (o !== i) if (e.hasValue(r)) { const s = e.getValue(r); s.liveStyle === !0 ? s.jump(i) : s.hasAnimated || s.set(i) } else { const s = e.getStaticValue(r); e.addValue(r, Ki(s !== void 0 ? s : i, { owner: e })) } } for (const r in n) t[r] === void 0 && e.removeValue(r); return t } const Sd = { current: null } , q1 = { current: !1 } , RN = typeof window < "u"; function NN() { if (q1.current = !0, !!RN) if (window.matchMedia) { const e = window.matchMedia("(prefers-reduced-motion)") , t = () => Sd.current = e.matches; e.addEventListener("change", t), t() } else Sd.current = !1 } const Km = ["AnimationStart", "AnimationComplete", "Update", "BeforeLayoutMeasure", "LayoutMeasure", "LayoutAnimationStart", "LayoutAnimationComplete"]; let ll = {}; function Y1(e) { ll = e } function MN() { return ll } class jN { scrapeMotionValuesFromProps(t, n, r) { return {} } constructor({parent: t, props: n, presenceContext: r, reducedMotionConfig: i, skipAnimations: o, blockInitialAnimation: s, visualState: a}, l={}) { this.current = null, this.children = new Set, this.isVariantNode = !1, this.isControllingVariants = !1, this.shouldReduceMotion = null, this.shouldSkipAnimations = !1, this.values = new Map, this.KeyframeResolver = oh, this.features = {}, this.valueSubscriptions = new Map, this.prevMotionValues = {}, this.hasBeenMounted = !1, this.events = {}, this.propEventSubscriptions = {}, this.notifyUpdate = () => this.notify("Update", this.latestValues), this.render = () => { this.current && (this.triggerBuild(), this.renderInstance(this.current, this.renderState, this.props.style, this.projection)) } , this.renderScheduledAt = 0, this.scheduleRender = () => { const h = He.now(); this.renderScheduledAt < h && (this.renderScheduledAt = h, ie.render(this.render, !1, !0)) } ; const {latestValues: u, renderState: c} = a; this.latestValues = u, this.baseTarget = { ...u }, this.initialValues = n.initial ? { ...u } : {}, this.renderState = c, this.parent = t, this.props = n, this.presenceContext = r, this.depth = t ? t.depth + 1 : 0, this.reducedMotionConfig = i, this.skipAnimationsConfig = o, this.options = l, this.blockInitialAnimation = !!s, this.isControllingVariants = $l(n), this.isVariantNode = Q1(n), this.isVariantNode && (this.variantChildren = new Set), this.manuallyAnimateOnMount = !!(t && t.current); const {willChange: d, ...f} = this.scrapeMotionValuesFromProps(n, {}, this); for (const h in f) { const x = f[h]; u[h] !== void 0 && ze(x) && x.set(u[h]) } } mount(t) { var n, r; if (this.hasBeenMounted) for (const i in this.initialValues) (n = this.values.get(i)) == null || n.jump(this.initialValues[i]), this.latestValues[i] = this.initialValues[i]; this.current = t, kN.set(t, this), this.projection && !this.projection.instance && this.projection.mount(t), this.parent && this.isVariantNode && !this.isControllingVariants && (this.removeFromVariantTree = this.parent.addVariantChild(this)), this.values.forEach( (i, o) => this.bindToMotionValue(o, i)), this.reducedMotionConfig === "never" ? this.shouldReduceMotion = !1 : this.reducedMotionConfig === "always" ? this.shouldReduceMotion = !0 : (q1.current || NN(), this.shouldReduceMotion = Sd.current), this.shouldSkipAnimations = this.skipAnimationsConfig ?? !1, (r = this.parent) == null || r.addChild(this), this.update(this.props, this.presenceContext), this.hasBeenMounted = !0 } unmount() { var t; this.projection && this.projection.unmount(), ur(this.notifyUpdate), ur(this.render), this.valueSubscriptions.forEach(n => n()), this.valueSubscriptions.clear(), this.removeFromVariantTree && this.removeFromVariantTree(), (t = this.parent) == null || t.removeChild(this); for (const n in this.events) this.events[n].clear(); for (const n in this.features) { const r = this.features[n]; r && (r.unmount(), r.isMounted = !1) } this.current = null } addChild(t) { this.children.add(t), this.enteringChildren ?? (this.enteringChildren = new Set), this.enteringChildren.add(t) } removeChild(t) { this.children.delete(t), this.enteringChildren && this.enteringChildren.delete(t) } bindToMotionValue(t, n) { if (this.valueSubscriptions.has(t) && this.valueSubscriptions.get(t)(), n.accelerate && sN.has(t) && this.current instanceof HTMLElement) { const {factory: s, keyframes: a, times: l, ease: u, duration: c} = n.accelerate , d = new R1({ element: this.current, name: t, keyframes: a, times: l, ease: u, duration: nt(c) }) , f = s(d); this.valueSubscriptions.set(t, () => { f(), d.cancel() } ); return } const r = ro.has(t); r && this.onBindTransform && this.onBindTransform(); const i = n.on("change", s => { this.latestValues[t] = s, this.props.onUpdate && ie.preRender(this.notifyUpdate), r && this.projection && (this.projection.isTransformDirty = !0), this.scheduleRender() } ); let o; typeof window < "u" && window.MotionCheckAppearSync && (o = window.MotionCheckAppearSync(this, t, n)), this.valueSubscriptions.set(t, () => { i(), o && o(), n.owner && n.stop() } ) } sortNodePosition(t) { return !this.current || !this.sortInstanceNodePosition || this.type !== t.type ? 0 : this.sortInstanceNodePosition(this.current, t.current) } updateFeatures() { let t = "animation"; for (t in ll) { const n = ll[t]; if (!n) continue; const {isEnabled: r, Feature: i} = n; if (!this.features[t] && i && r(this.props) && (this.features[t] = new i(this)), this.features[t]) { const o = this.features[t]; o.isMounted ? o.update() : (o.mount(), o.isMounted = !0) } } } triggerBuild() { this.build(this.renderState, this.latestValues, this.props) } measureViewportBox() { return this.current ? this.measureInstanceViewportBox(this.current, this.props) : Ee() } getStaticValue(t) { return this.latestValues[t] } setStaticValue(t, n) { this.latestValues[t] = n } update(t, n) { (t.transformTemplate || this.props.transformTemplate) && this.scheduleRender(), this.prevProps = this.props, this.props = t, this.prevPresenceContext = this.presenceContext, this.presenceContext = n; for (let r = 0; r < Km.length; r++) { const i = Km[r]; this.propEventSubscriptions[i] && (this.propEventSubscriptions[i](), delete this.propEventSubscriptions[i]); const o = "on" + i , s = t[o]; s && (this.propEventSubscriptions[i] = this.on(i, s)) } this.prevMotionValues = AN(this, this.scrapeMotionValuesFromProps(t, this.prevProps || {}, this), this.prevMotionValues), this.handleChildMotionValue && this.handleChildMotionValue() } getProps() { return this.props } getVariant(t) { return this.props.variants ? this.props.variants[t] : void 0 } getDefaultTransition() { return this.props.transition } getTransformPagePoint() { return this.props.transformPagePoint } getClosestVariantNode() { return this.isVariantNode ? this : this.parent ? this.parent.getClosestVariantNode() : void 0 } addVariantChild(t) { const n = this.getClosestVariantNode(); if (n) return n.variantChildren && n.variantChildren.add(t), () => n.variantChildren.delete(t) } addValue(t, n) { const r = this.values.get(t); n !== r && (r && this.removeValue(t), this.bindToMotionValue(t, n), this.values.set(t, n), this.latestValues[t] = n.get()) } removeValue(t) { this.values.delete(t); const n = this.valueSubscriptions.get(t); n && (n(), this.valueSubscriptions.delete(t)), delete this.latestValues[t], this.removeValueFromRenderState(t, this.renderState) } hasValue(t) { return this.values.has(t) } getValue(t, n) { if (this.props.values && this.props.values[t]) return this.props.values[t]; let r = this.values.get(t); return r === void 0 && n !== void 0 && (r = Ki(n === null ? void 0 : n, { owner: this }), this.addValue(t, r)), r } readValue(t, n) { let r = this.latestValues[t] !== void 0 || !this.current ? this.latestValues[t] : this.getBaseTargetFromProps(this.props, t) ?? this.readValueFromInstance(this.current, t, this.options); return r != null && (typeof r == "string" && (qx(r) || Xx(r)) ? r = parseFloat(r) : !PN(r) && Vt.test(n) && (r = B1(t, n)), this.setBaseTarget(t, ze(r) ? r.get() : r)), ze(r) ? r.get() : r } setBaseTarget(t, n) { this.baseTarget[t] = n } getBaseTarget(t) { var o; const {initial: n} = this.props; let r; if (typeof n == "string" || typeof n == "object") { const s = lh(this.props, n, (o = this.presenceContext) == null ? void 0 : o.custom); s && (r = s[t]) } if (n && r !== void 0) return r; const i = this.getBaseTargetFromProps(this.props, t); return i !== void 0 && !ze(i) ? i : this.initialValues[t] !== void 0 && r === void 0 ? void 0 : this.baseTarget[t] } on(t, n) { return this.events[t] || (this.events[t] = new Qf), this.events[t].add(n) } notify(t, ...n) { this.events[t] && this.events[t].notify(...n) } scheduleRenderMicrotask() { dh.render(this.render) } } class X1 extends jN { constructor() { super(...arguments), this.KeyframeResolver = oN } sortInstanceNodePosition(t, n) { return t.compareDocumentPosition(n) & 2 ? 1 : -1 } getBaseTargetFromProps(t, n) { const r = t.style; return r ? r[n] : void 0 } removeValueFromRenderState(t, {vars: n, style: r}) { delete n[t], delete r[t] } handleChildMotionValue() { this.childSubscription && (this.childSubscription(), delete this.childSubscription); const {children: t} = this.props; ze(t) && (this.childSubscription = t.on("change", n => { this.current && (this.current.textContent = `${n}`) } )) } } class hr { constructor(t) { this.isMounted = !1, this.node = t } update() {} } function Z1({top: e, left: t, right: n, bottom: r}) { return { x: { min: t, max: n }, y: { min: e, max: r } } } function DN({x: e, y: t}) { return { top: t.min, right: e.max, bottom: t.max, left: e.min } } function LN(e, t) { if (!t) return e; const n = t({ x: e.left, y: e.top }) , r = t({ x: e.right, y: e.bottom }); return { top: n.y, left: n.x, bottom: r.y, right: r.x } } function Iu(e) { return e === void 0 || e === 1 } function bd({scale: e, scaleX: t, scaleY: n}) { return !Iu(e) || !Iu(t) || !Iu(n) } function wr(e) { return bd(e) || J1(e) || e.z || e.rotate || e.rotateX || e.rotateY || e.skewX || e.skewY } function J1(e) { return Gm(e.x) || Gm(e.y) } function Gm(e) { return e && e !== "0%" } function ul(e, t, n) { const r = e - n , i = t * r; return n + i } function Qm(e, t, n, r, i) { return i !== void 0 && (e = ul(e, i, r)), ul(e, n, r) + t } function Cd(e, t=0, n=1, r, i) { e.min = Qm(e.min, t, n, r, i), e.max = Qm(e.max, t, n, r, i) } function ew(e, {x: t, y: n}) { Cd(e.x, t.translate, t.scale, t.originPoint), Cd(e.y, n.translate, n.scale, n.originPoint) } const qm = .999999999999 , Ym = 1.0000000000001; function ON(e, t, n, r=!1) { var a; const i = n.length; if (!i) return; t.x = t.y = 1; let o, s; for (let l = 0; l < i; l++) { o = n[l], s = o.projectionDelta; const {visualElement: u} = o.options; u && u.props.style && u.props.style.display === "contents" || (r && o.options.layoutScroll && o.scroll && o !== o.root && yi(e, { x: -o.scroll.offset.x, y: -o.scroll.offset.y }), s && (t.x *= s.x.scale, t.y *= s.y.scale, ew(e, s)), r && wr(o.latestValues) && yi(e, o.latestValues, (a = o.layout) == null ? void 0 : a.layoutBox)) } t.x < Ym && t.x > qm && (t.x = 1), t.y < Ym && t.y > qm && (t.y = 1) } function gi(e, t) { e.min = e.min + t, e.max = e.max + t } function Xm(e, t, n, r, i=.5) { const o = fe(e.min, e.max, i); Cd(e, t, n, o, r) } function Zm(e, t) { return typeof e == "string" ? parseFloat(e) / 100 * (t.max - t.min) : e } function yi(e, t, n) { const r = n ?? e; Xm(e.x, Zm(t.x, r.x), t.scaleX, t.scale, t.originX), Xm(e.y, Zm(t.y, r.y), t.scaleY, t.scale, t.originY) } function tw(e, t) { return Z1(LN(e.getBoundingClientRect(), t)) } function IN(e, t, n) { const r = tw(e, n) , {scroll: i} = t; return i && (gi(r.x, i.offset.x), gi(r.y, i.offset.y)), r } const FN = { x: "translateX", y: "translateY", z: "translateZ", transformPerspective: "perspective" } , VN = no.length; function _N(e, t, n) { let r = "" , i = !0; for (let o = 0; o < VN; o++) { const s = no[o] , a = e[s]; if (a === void 0) continue; let l = !0; if (typeof a == "number") l = a === (s.startsWith("scale") ? 1 : 0); else { const u = parseFloat(a); l = s.startsWith("scale") ? u === 1 : u === 0 } if (!l || n) { const u = U1(a, ch[s]); if (!l) { i = !1; const c = FN[s] || s; r += `${c}(${u}) ` } n && (t[s] = u) } } return r = r.trim(), n ? r = n(t, i ? "" : r) : i && (r = "none"), r } function gh(e, t, n) { const {style: r, vars: i, transformOrigin: o} = e; let s = !1 , a = !1; for (const l in t) { const u = t[l]; if (ro.has(l)) { s = !0; continue } else if (f1(l)) { i[l] = u; continue } else { const c = U1(u, ch[l]); l.startsWith("origin") ? (a = !0, o[l] = c) : r[l] = c } } if (t.transform || (s || n ? r.transform = _N(t, e.transform, n) : r.transform && (r.transform = "none")), a) { const {originX: l="50%", originY: u="50%", originZ: c=0} = o; r.transformOrigin = `${l} ${u} ${c}` } } function nw(e, {style: t, vars: n}, r, i) { const o = e.style; let s; for (s in t) o[s] = t[s]; i == null || i.applyProjectionStyles(o, r); for (s in n) o.setProperty(s, n[s]) } function Jm(e, t) { return t.max === t.min ? 0 : e / (t.max - t.min) * 100 } const wo = { correct: (e, t) => { if (!t.target) return e; if (typeof e == "string") if (_.test(e)) e = parseFloat(e); else return e; const n = Jm(e, t.target.x) , r = Jm(e, t.target.y); return `${n}% ${r}%` } } , zN = { correct: (e, {treeScale: t, projectionDelta: n}) => { const r = e , i = Vt.parse(e); if (i.length > 5) return r; const o = Vt.createTransformer(e) , s = typeof i[0] != "number" ? 1 : 0 , a = n.x.scale * t.x , l = n.y.scale * t.y; i[0 + s] /= a, i[1 + s] /= l; const u = fe(a, l, .5); return typeof i[2 + s] == "number" && (i[2 + s] /= u), typeof i[3 + s] == "number" && (i[3 + s] /= u), o(i) } } , Ed = { borderRadius: { ...wo, applyTo: ["borderTopLeftRadius", "borderTopRightRadius", "borderBottomLeftRadius", "borderBottomRightRadius"] }, borderTopLeftRadius: wo, borderTopRightRadius: wo, borderBottomLeftRadius: wo, borderBottomRightRadius: wo, boxShadow: zN }; function rw(e, {layout: t, layoutId: n}) { return ro.has(e) || e.startsWith("origin") || (t || n !== void 0) && (!!Ed[e] || e === "opacity") } function yh(e, t, n) { var s; const r = e.style , i = t == null ? void 0 : t.style , o = {}; if (!r) return o; for (const a in r) (ze(r[a]) || i && ze(i[a]) || rw(a, e) || ((s = n == null ? void 0 : n.getValue(a)) == null ? void 0 : s.liveStyle) !== void 0) && (o[a] = r[a]); return o } function BN(e) { return window.getComputedStyle(e) } class $N extends X1 { constructor() { super(...arguments), this.type = "html", this.renderInstance = nw } readValueFromInstance(t, n) { var r; if (ro.has(n)) return (r = this.projection) != null && r.isProjecting ? cd(n) : aR(t, n); { const i = BN(t) , o = (f1(n) ? i.getPropertyValue(n) : i[n]) || 0; return typeof o == "string" ? o.trim() : o } } measureInstanceViewportBox(t, {transformPagePoint: n}) { return tw(t, n) } build(t, n, r) { gh(t, n, r.transformTemplate) } scrapeMotionValuesFromProps(t, n, r) { return yh(t, n, r) } } const UN = { offset: "stroke-dashoffset", array: "stroke-dasharray" } , WN = { offset: "strokeDashoffset", array: "strokeDasharray" }; function HN(e, t, n=1, r=0, i=!0) { e.pathLength = 1; const o = i ? UN : WN; e[o.offset] = `${-r}`, e[o.array] = `${t} ${n}` } const KN = ["offsetDistance", "offsetPath", "offsetRotate", "offsetAnchor"]; function iw(e, {attrX: t, attrY: n, attrScale: r, pathLength: i, pathSpacing: o=1, pathOffset: s=0, ...a}, l, u, c) { if (gh(e, a, u), l) { e.style.viewBox && (e.attrs.viewBox = e.style.viewBox); return } e.attrs = e.style, e.style = {}; const {attrs: d, style: f} = e; d.transform && (f.transform = d.transform, delete d.transform), (f.transform || d.transformOrigin) && (f.transformOrigin = d.transformOrigin ?? "50% 50%", delete d.transformOrigin), f.transform && (f.transformBox = (c == null ? void 0 : c.transformBox) ?? "fill-box", delete d.transformBox); for (const h of KN) d[h] !== void 0 && (f[h] = d[h], delete d[h]); t !== void 0 && (d.x = t), n !== void 0 && (d.y = n), r !== void 0 && (d.scale = r), i !== void 0 && HN(d, i, o, s, !1) } const ow = new Set(["baseFrequency", "diffuseConstant", "kernelMatrix", "kernelUnitLength", "keySplines", "keyTimes", "limitingConeAngle", "markerHeight", "markerWidth", "numOctaves", "targetX", "targetY", "surfaceScale", "specularConstant", "specularExponent", "stdDeviation", "tableValues", "viewBox", "gradientTransform", "pathLength", "startOffset", "textLength", "lengthAdjust"]) , sw = e => typeof e == "string" && e.toLowerCase() === "svg"; function GN(e, t, n, r) { nw(e, t, void 0, r); for (const i in t.attrs) e.setAttribute(ow.has(i) ? i : uh(i), t.attrs[i]) } function aw(e, t, n) { const r = yh(e, t, n); for (const i in e) if (ze(e[i]) || ze(t[i])) { const o = no.indexOf(i) !== -1 ? "attr" + i.charAt(0).toUpperCase() + i.substring(1) : i; r[o] = e[i] } return r } class QN extends X1 { constructor() { super(...arguments), this.type = "svg", this.isSVGTag = !1, this.measureInstanceViewportBox = Ee } getBaseTargetFromProps(t, n) { return t[n] } readValueFromInstance(t, n) { if (ro.has(n)) { const r = z1(n); return r && r.default || 0 } return n = ow.has(n) ? n : uh(n), t.getAttribute(n) } scrapeMotionValuesFromProps(t, n, r) { return aw(t, n, r) } build(t, n, r) { iw(t, n, this.isSVGTag, r.transformTemplate, r.style) } renderInstance(t, n, r, i) { GN(t, n, r, i) } mount(t) { this.isSVGTag = sw(t.tagName), super.mount(t) } } const qN = mh.length; function lw(e) { if (!e) return; if (!e.isControllingVariants) { const n = e.parent ? lw(e.parent) || {} : {}; return e.props.initial !== void 0 && (n.initial = e.props.initial), n } const t = {}; for (let n = 0; n < qN; n++) { const r = mh[n] , i = e.props[r]; (ds(i) || i === !1) && (t[r] = i) } return t } function uw(e, t) { if (!Array.isArray(t)) return !1; const n = t.length; if (n !== e.length) return !1; for (let r = 0; r < n; r++) if (t[r] !== e[r]) return !1; return !0 } const YN = [...ph].reverse() , XN = ph.length; function ZN(e) { return t => Promise.all(t.map( ({animation: n, options: r}) => QR(e, n, r))) } function JN(e) { let t = ZN(e) , n = eg() , r = !0 , i = !1; const o = u => (c, d) => { var h; const f = Pi(e, d, u === "exit" ? (h = e.presenceContext) == null ? void 0 : h.custom : void 0); if (f) { const {transition: x, transitionEnd: y, ...w} = f; c = { ...c, ...w, ...y } } return c } ; function s(u) { t = u(e) } function a(u) { const {props: c} = e , d = lw(e.parent) || {} , f = [] , h = new Set; let x = {} , y = 1 / 0; for (let g = 0; g < XN; g++) { const m = YN[g] , v = n[m] , b = c[m] !== void 0 ? c[m] : d[m] , C = ds(b) , E = m === u ? v.isActive : null; E === !1 && (y = g); let T = b === d[m] && b !== c[m] && C; if (T && (r || i) && e.manuallyAnimateOnMount && (T = !1), v.protectedKeys = { ...x }, !v.isActive && E === null || !b && !v.prevProp || Bl(b) || typeof b == "boolean") continue; if (m === "exit" && v.isActive && E !== !0) { v.prevResolvedValues && (x = { ...x, ...v.prevResolvedValues }); continue } const P = eM(v.prevProp, b); let M = P || m === u && v.isActive && !T && C || g > y && C , A = !1; const F = Array.isArray(b) ? b : [b]; let O = F.reduce(o(m), {}); E === !1 && (O = {}); const {prevResolvedValues: U={}} = v , L = { ...U, ...O } , W = k => { M = !0, h.has(k) && (A = !0, h.delete(k)), v.needsAnimating[k] = !0; const R = e.getValue(k); R && (R.liveStyle = !1) } ; for (const k in L) { const R = O[k] , I = U[k]; if (x.hasOwnProperty(k)) continue; let $ = !1; gd(R) && gd(I) ? $ = !uw(R, I) : $ = R !== I, $ ? R != null ? W(k) : h.add(k) : R !== void 0 && h.has(k) ? W(k) : v.protectedKeys[k] = !0 } v.prevProp = b, v.prevResolvedValues = O, v.isActive && (x = { ...x, ...O }), (r || i) && e.blockInitialAnimation && (M = !1); const z = T && P; M && (!z || A) && f.push(...F.map(k => { const R = { type: m }; if (typeof k == "string" && (r || i) && !z && e.manuallyAnimateOnMount && e.parent) { const {parent: I} = e , $ = Pi(I, k); if (I.enteringChildren && $) { const {delayChildren: B} = $.transition || {}; R.delay = M1(I.enteringChildren, e, B) } } return { animation: k, options: R } } )) } if (h.size) { const g = {}; if (typeof c.initial != "boolean") { const m = Pi(e, Array.isArray(c.initial) ? c.initial[0] : c.initial); m && m.transition && (g.transition = m.transition) } h.forEach(m => { const v = e.getBaseTarget(m) , b = e.getValue(m); b && (b.liveStyle = !0), g[m] = v ?? null } ), f.push({ animation: g }) } let w = !!f.length; return r && (c.initial === !1 || c.initial === c.animate) && !e.manuallyAnimateOnMount && (w = !1), r = !1, i = !1, w ? t(f) : Promise.resolve() } function l(u, c) { var f; if (n[u].isActive === c) return Promise.resolve(); (f = e.variantChildren) == null || f.forEach(h => { var x; return (x = h.animationState) == null ? void 0 : x.setActive(u, c) } ), n[u].isActive = c; const d = a(u); for (const h in n) n[h].protectedKeys = {}; return d } return { animateChanges: a, setActive: l, setAnimateFunction: s, getState: () => n, reset: () => { n = eg(), i = !0 } } } function eM(e, t) { return typeof t == "string" ? t !== e : Array.isArray(t) ? !uw(t, e) : !1 } function yr(e=!1) { return { isActive: e, protectedKeys: {}, needsAnimating: {}, prevResolvedValues: {} } } function eg() { return { animate: yr(!0), whileInView: yr(), whileHover: yr(), whileTap: yr(), whileDrag: yr(), whileFocus: yr(), exit: yr() } } function tg(e, t) { e.min = t.min, e.max = t.max } function At(e, t) { tg(e.x, t.x), tg(e.y, t.y) } function ng(e, t) { e.translate = t.translate, e.scale = t.scale, e.originPoint = t.originPoint, e.origin = t.origin } const cw = 1e-4 , tM = 1 - cw , nM = 1 + cw , dw = .01 , rM = 0 - dw , iM = 0 + dw; function Ke(e) { return e.max - e.min } function oM(e, t, n) { return Math.abs(e - t) <= n } function rg(e, t, n, r=.5) { e.origin = r, e.originPoint = fe(t.min, t.max, e.origin), e.scale = Ke(n) / Ke(t), e.translate = fe(n.min, n.max, e.origin) - e.originPoint, (e.scale >= tM && e.scale <= nM || isNaN(e.scale)) && (e.scale = 1), (e.translate >= rM && e.translate <= iM || isNaN(e.translate)) && (e.translate = 0) } function Vo(e, t, n, r) { rg(e.x, t.x, n.x, r ? r.originX : void 0), rg(e.y, t.y, n.y, r ? r.originY : void 0) } function ig(e, t, n) { e.min = n.min + t.min, e.max = e.min + Ke(t) } function sM(e, t, n) { ig(e.x, t.x, n.x), ig(e.y, t.y, n.y) } function og(e, t, n) { e.min = t.min - n.min, e.max = e.min + Ke(t) } function cl(e, t, n) { og(e.x, t.x, n.x), og(e.y, t.y, n.y) } function sg(e, t, n, r, i) { return e -= t, e = ul(e, 1 / n, r), i !== void 0 && (e = ul(e, 1 / i, r)), e } function aM(e, t=0, n=1, r=.5, i, o=e, s=e) { if (tn.test(t) && (t = parseFloat(t), t = fe(s.min, s.max, t / 100) - s.min), typeof t != "number") return; let a = fe(o.min, o.max, r); e === o && (a -= t), e.min = sg(e.min, t, n, a, i), e.max = sg(e.max, t, n, a, i) } function ag(e, t, [n,r,i], o, s) { aM(e, t[n], t[r], t[i], t.scale, o, s) } const lM = ["x", "scaleX", "originX"] , uM = ["y", "scaleY", "originY"]; function lg(e, t, n, r) { ag(e.x, t, lM, n ? n.x : void 0, r ? r.x : void 0), ag(e.y, t, uM, n ? n.y : void 0, r ? r.y : void 0) } function ug(e) { return e.translate === 0 && e.scale === 1 } function fw(e) { return ug(e.x) && ug(e.y) } function cg(e, t) { return e.min === t.min && e.max === t.max } function cM(e, t) { return cg(e.x, t.x) && cg(e.y, t.y) } function dg(e, t) { return Math.round(e.min) === Math.round(t.min) && Math.round(e.max) === Math.round(t.max) } function hw(e, t) { return dg(e.x, t.x) && dg(e.y, t.y) } function fg(e) { return Ke(e.x) / Ke(e.y) } function hg(e, t) { return e.translate === t.translate && e.scale === t.scale && e.originPoint === t.originPoint } function Kt(e) { return [e("x"), e("y")] } function dM(e, t, n) { let r = ""; const i = e.x.translate / t.x , o = e.y.translate / t.y , s = (n == null ? void 0 : n.z) || 0; if ((i || o || s) && (r = `translate3d(${i}px, ${o}px, ${s}px) `), (t.x !== 1 || t.y !== 1) && (r += `scale(${1 / t.x}, ${1 / t.y}) `), n) { const {transformPerspective: u, rotate: c, rotateX: d, rotateY: f, skewX: h, skewY: x} = n; u && (r = `perspective(${u}px) ${r}`), c && (r += `rotate(${c}deg) `), d && (r += `rotateX(${d}deg) `), f && (r += `rotateY(${f}deg) `), h && (r += `skewX(${h}deg) `), x && (r += `skewY(${x}deg) `) } const a = e.x.scale * t.x , l = e.y.scale * t.y; return (a !== 1 || l !== 1) && (r += `scale(${a}, ${l})`), r || "none" } const pw = ["TopLeft", "TopRight", "BottomLeft", "BottomRight"] , fM = pw.length , pg = e => typeof e == "string" ? parseFloat(e) : e , mg = e => typeof e == "number" || _.test(e); function hM(e, t, n, r, i, o) { i ? (e.opacity = fe(0, n.opacity ?? 1, pM(r)), e.opacityExit = fe(t.opacity ?? 1, 0, mM(r))) : o && (e.opacity = fe(t.opacity ?? 1, n.opacity ?? 1, r)); for (let s = 0; s < fM; s++) { const a = `border${pw[s]}Radius`; let l = gg(t, a) , u = gg(n, a); if (l === void 0 && u === void 0) continue; l || (l = 0), u || (u = 0), l === 0 || u === 0 || mg(l) === mg(u) ? (e[a] = Math.max(fe(pg(l), pg(u), r), 0), (tn.test(u) || tn.test(l)) && (e[a] += "%")) : e[a] = u } (t.rotate || n.rotate) && (e.rotate = fe(t.rotate || 0, n.rotate || 0, r)) } function gg(e, t) { return e[t] !== void 0 ? e[t] : e.borderRadius } const pM = mw(0, .5, s1) , mM = mw(.5, .95, wt); function mw(e, t, n) { return r => r < e ? 0 : r > t ? 1 : n(us(e, t, r)) } function gM(e, t, n) { const r = ze(e) ? e : Ki(e); return r.start(ah("", r, t, n)), r.animation } function fs(e, t, n, r={ passive: !0 }) { return e.addEventListener(t, n, r), () => e.removeEventListener(t, n) } const yM = (e, t) => e.depth - t.depth; class vM { constructor() { this.children = [], this.isDirty = !1 } add(t) { Gf(this.children, t), this.isDirty = !0 } remove(t) { il(this.children, t), this.isDirty = !0 } forEach(t) { this.isDirty && this.children.sort(yM), this.isDirty = !1, this.children.forEach(t) } } function xM(e, t) { const n = He.now() , r = ({timestamp: i}) => { const o = i - n; o >= t && (ur(r), e(o - t)) } ; return ie.setup(r, !0), () => ur(r) } function Ta(e) { return ze(e) ? e.get() : e } class wM { constructor() { this.members = [] } add(t) { Gf(this.members, t); for (let n = this.members.length - 1; n >= 0; n--) { const r = this.members[n]; if (r === t || r === this.lead || r === this.prevLead) continue; const i = r.instance; (!i || i.isConnected === !1) && !r.snapshot && (il(this.members, r), r.unmount()) } t.scheduleRender() } remove(t) { if (il(this.members, t), t === this.prevLead && (this.prevLead = void 0), t === this.lead) { const n = this.members[this.members.length - 1]; n && this.promote(n) } } relegate(t) { var n; for (let r = this.members.indexOf(t) - 1; r >= 0; r--) { const i = this.members[r]; if (i.isPresent !== !1 && ((n = i.instance) == null ? void 0 : n.isConnected) !== !1) return this.promote(i), !0 } return !1 } promote(t, n) { var i; const r = this.lead; if (t !== r && (this.prevLead = r, this.lead = t, t.show(), r)) { r.updateSnapshot(), t.scheduleRender(); const {layoutDependency: o} = r.options , {layoutDependency: s} = t.options; (o === void 0 || o !== s) && (t.resumeFrom = r, n && (r.preserveOpacity = !0), r.snapshot && (t.snapshot = r.snapshot, t.snapshot.latestValues = r.animationValues || r.latestValues), (i = t.root) != null && i.isUpdating && (t.isLayoutDirty = !0)), t.options.crossfade === !1 && r.hide() } } exitAnimationComplete() { this.members.forEach(t => { var n, r, i, o, s; (r = (n = t.options).onExitComplete) == null || r.call(n), (s = (i = t.resumingFrom) == null ? void 0 : (o = i.options).onExitComplete) == null || s.call(o) } ) } scheduleRender() { this.members.forEach(t => t.instance && t.scheduleRender(!1)) } removeLeadSnapshot() { var t; (t = this.lead) != null && t.snapshot && (this.lead.snapshot = void 0) } } const Pa = { hasAnimatedSinceResize: !0, hasEverUpdated: !1 } , Fu = ["", "X", "Y", "Z"] , SM = 1e3; let bM = 0; function Vu(e, t, n, r) { const {latestValues: i} = t; i[e] && (n[e] = i[e], t.setStaticValue(e, 0), r && (r[e] = 0)) } function gw(e) { if (e.hasCheckedOptimisedAppear = !0, e.root === e) return; const {visualElement: t} = e.options; if (!t) return; const n = I1(t); if (window.MotionHasOptimisedAnimation(n, "transform")) { const {layout: i, layoutId: o} = e.options; window.MotionCancelOptimisedAnimation(n, "transform", ie, !(i || o)) } const {parent: r} = e; r && !r.hasCheckedOptimisedAppear && gw(r) } function yw({attachResizeListener: e, defaultParent: t, measureScroll: n, checkIsScrollRoot: r, resetTransform: i}) { return class { constructor(s={}, a=t == null ? void 0 : t()) { this.id = bM++, this.animationId = 0, this.animationCommitId = 0, this.children = new Set, this.options = {}, this.isTreeAnimating = !1, this.isAnimationBlocked = !1, this.isLayoutDirty = !1, this.isProjectionDirty = !1, this.isSharedProjectionDirty = !1, this.isTransformDirty = !1, this.updateManuallyBlocked = !1, this.updateBlockedByResize = !1, this.isUpdating = !1, this.isSVG = !1, this.needsReset = !1, this.shouldResetTransform = !1, this.hasCheckedOptimisedAppear = !1, this.treeScale = { x: 1, y: 1 }, this.eventHandlers = new Map, this.hasTreeAnimated = !1, this.layoutVersion = 0, this.updateScheduled = !1, this.scheduleUpdate = () => this.update(), this.projectionUpdateScheduled = !1, this.checkUpdateFailed = () => { this.isUpdating && (this.isUpdating = !1, this.clearAllSnapshots()) } , this.updateProjection = () => { this.projectionUpdateScheduled = !1, this.nodes.forEach(TM), this.nodes.forEach(RM), this.nodes.forEach(NM), this.nodes.forEach(PM) } , this.resolvedRelativeTargetAt = 0, this.linkedParentVersion = 0, this.hasProjected = !1, this.isVisible = !0, this.animationProgress = 0, this.sharedNodes = new Map, this.latestValues = s, this.root = a ? a.root || a : this, this.path = a ? [...a.path, a] : [], this.parent = a, this.depth = a ? a.depth + 1 : 0; for (let l = 0; l < this.path.length; l++) this.path[l].shouldResetTransform = !0; this.root === this && (this.nodes = new vM) } addEventListener(s, a) { return this.eventHandlers.has(s) || this.eventHandlers.set(s, new Qf), this.eventHandlers.get(s).add(a) } notifyListeners(s, ...a) { const l = this.eventHandlers.get(s); l && l.notify(...a) } hasListeners(s) { return this.eventHandlers.has(s) } mount(s) { if (this.instance) return; this.isSVG = hh(s) && !EN(s), this.instance = s; const {layoutId: a, layout: l, visualElement: u} = this.options; if (u && !u.current && u.mount(s), this.root.nodes.add(this), this.parent && this.parent.children.add(this), this.root.hasTreeAnimated && (l || a) && (this.isLayoutDirty = !0), e) { let c, d = 0; const f = () => this.root.updateBlockedByResize = !1; ie.read( () => { d = window.innerWidth } ), e(s, () => { const h = window.innerWidth; h !== d && (d = h, this.root.updateBlockedByResize = !0, c && c(), c = xM(f, 250), Pa.hasAnimatedSinceResize && (Pa.hasAnimatedSinceResize = !1, this.nodes.forEach(xg))) } ) } a && this.root.registerSharedNode(a, this), this.options.animate !== !1 && u && (a || l) && this.addEventListener("didUpdate", ({delta: c, hasLayoutChanged: d, hasRelativeLayoutChanged: f, layout: h}) => { if (this.isTreeAnimationBlocked()) { this.target = void 0, this.relativeTarget = void 0; return } const x = this.options.transition || u.getDefaultTransition() || OM , {onLayoutAnimationStart: y, onLayoutAnimationComplete: w} = u.getProps() , g = !this.targetLayout || !hw(this.targetLayout, h) , m = !d && f; if (this.options.layoutRoot || this.resumeFrom || m || d && (g || !this.currentAnimation)) { this.resumeFrom && (this.resumingFrom = this.resumeFrom, this.resumingFrom.resumingFrom = void 0); const v = { ...sh(x, "layout"), onPlay: y, onComplete: w }; (u.shouldReduceMotion || this.options.layoutRoot) && (v.delay = 0, v.type = !1), this.startAnimation(v), this.setAnimationOrigin(c, m) } else d || xg(this), this.isLead() && this.options.onExitComplete && this.options.onExitComplete(); this.targetLayout = h } ) } unmount() { this.options.layoutId && this.willUpdate(), this.root.nodes.remove(this); const s = this.getStack(); s && s.remove(this), this.parent && this.parent.children.delete(this), this.instance = void 0, this.eventHandlers.clear(), ur(this.updateProjection) } blockUpdate() { this.updateManuallyBlocked = !0 } unblockUpdate() { this.updateManuallyBlocked = !1 } isUpdateBlocked() { return this.updateManuallyBlocked || this.updateBlockedByResize } isTreeAnimationBlocked() { return this.isAnimationBlocked || this.parent && this.parent.isTreeAnimationBlocked() || !1 } startUpdate() { this.isUpdateBlocked() || (this.isUpdating = !0, this.nodes && this.nodes.forEach(MM), this.animationId++) } getTransformTemplate() { const {visualElement: s} = this.options; return s && s.getProps().transformTemplate } willUpdate(s=!0) { if (this.root.hasTreeAnimated = !0, this.root.isUpdateBlocked()) { this.options.onExitComplete && this.options.onExitComplete(); return } if (window.MotionCancelOptimisedAnimation && !this.hasCheckedOptimisedAppear && gw(this), !this.root.isUpdating && this.root.startUpdate(), this.isLayoutDirty) return; this.isLayoutDirty = !0; for (let c = 0; c < this.path.length; c++) { const d = this.path[c]; d.shouldResetTransform = !0, (typeof d.latestValues.x == "string" || typeof d.latestValues.y == "string") && (d.isLayoutDirty = !0), d.updateScroll("snapshot"), d.options.layoutRoot && d.willUpdate(!1) } const {layoutId: a, layout: l} = this.options; if (a === void 0 && !l) return; const u = this.getTransformTemplate(); this.prevTransformTemplateValue = u ? u(this.latestValues, "") : void 0, this.updateSnapshot(), s && this.notifyListeners("willUpdate") } update() { if (this.updateScheduled = !1, this.isUpdateBlocked()) { this.unblockUpdate(), this.clearAllSnapshots(), this.nodes.forEach(yg); return } if (this.animationId <= this.animationCommitId) { this.nodes.forEach(vg); return } this.animationCommitId = this.animationId, this.isUpdating ? (this.isUpdating = !1, this.nodes.forEach(AM), this.nodes.forEach(CM), this.nodes.forEach(EM)) : this.nodes.forEach(vg), this.clearAllSnapshots(); const a = He.now(); Me.delta = rn(0, 1e3 / 60, a - Me.timestamp), Me.timestamp = a, Me.isProcessing = !0, Ru.update.process(Me), Ru.preRender.process(Me), Ru.render.process(Me), Me.isProcessing = !1 } didUpdate() { this.updateScheduled || (this.updateScheduled = !0, dh.read(this.scheduleUpdate)) } clearAllSnapshots() { this.nodes.forEach(kM), this.sharedNodes.forEach(jM) } scheduleUpdateProjection() { this.projectionUpdateScheduled || (this.projectionUpdateScheduled = !0, ie.preRender(this.updateProjection, !1, !0)) } scheduleCheckAfterUnmount() { ie.postRender( () => { this.isLayoutDirty ? this.root.didUpdate() : this.root.checkUpdateFailed() } ) } updateSnapshot() { this.snapshot || !this.instance || (this.snapshot = this.measure(), this.snapshot && !Ke(this.snapshot.measuredBox.x) && !Ke(this.snapshot.measuredBox.y) && (this.snapshot = void 0)) } updateLayout() { if (!this.instance || (this.updateScroll(), !(this.options.alwaysMeasureLayout && this.isLead()) && !this.isLayoutDirty)) return; if (this.resumeFrom && !this.resumeFrom.instance) for (let l = 0; l < this.path.length; l++) this.path[l].updateScroll(); const s = this.layout; this.layout = this.measure(!1), this.layoutVersion++, this.layoutCorrected = Ee(), this.isLayoutDirty = !1, this.projectionDelta = void 0, this.notifyListeners("measure", this.layout.layoutBox); const {visualElement: a} = this.options; a && a.notify("LayoutMeasure", this.layout.layoutBox, s ? s.layoutBox : void 0) } updateScroll(s="measure") { let a = !!(this.options.layoutScroll && this.instance); if (this.scroll && this.scroll.animationId === this.root.animationId && this.scroll.phase === s && (a = !1), a && this.instance) { const l = r(this.instance); this.scroll = { animationId: this.root.animationId, phase: s, isRoot: l, offset: n(this.instance), wasRoot: this.scroll ? this.scroll.isRoot : l } } } resetTransform() { if (!i) return; const s = this.isLayoutDirty || this.shouldResetTransform || this.options.alwaysMeasureLayout , a = this.projectionDelta && !fw(this.projectionDelta) , l = this.getTransformTemplate() , u = l ? l(this.latestValues, "") : void 0 , c = u !== this.prevTransformTemplateValue; s && this.instance && (a || wr(this.latestValues) || c) && (i(this.instance, u), this.shouldResetTransform = !1, this.scheduleRender()) } measure(s=!0) { const a = this.measurePageBox(); let l = this.removeElementScroll(a); return s && (l = this.removeTransform(l)), IM(l), { animationId: this.root.animationId, measuredBox: a, layoutBox: l, latestValues: {}, source: this.id } } measurePageBox() { var u; const {visualElement: s} = this.options; if (!s) return Ee(); const a = s.measureViewportBox(); if (!(((u = this.scroll) == null ? void 0 : u.wasRoot) || this.path.some(FM))) { const {scroll: c} = this.root; c && (gi(a.x, c.offset.x), gi(a.y, c.offset.y)) } return a } removeElementScroll(s) { var l; const a = Ee(); if (At(a, s), (l = this.scroll) != null && l.wasRoot) return a; for (let u = 0; u < this.path.length; u++) { const c = this.path[u] , {scroll: d, options: f} = c; c !== this.root && d && f.layoutScroll && (d.wasRoot && At(a, s), gi(a.x, d.offset.x), gi(a.y, d.offset.y)) } return a } applyTransform(s, a=!1) { var u, c; const l = Ee(); At(l, s); for (let d = 0; d < this.path.length; d++) { const f = this.path[d]; !a && f.options.layoutScroll && f.scroll && f !== f.root && yi(l, { x: -f.scroll.offset.x, y: -f.scroll.offset.y }), wr(f.latestValues) && yi(l, f.latestValues, (u = f.layout) == null ? void 0 : u.layoutBox) } return wr(this.latestValues) && yi(l, this.latestValues, (c = this.layout) == null ? void 0 : c.layoutBox), l } removeTransform(s) { var l; const a = Ee(); At(a, s); for (let u = 0; u < this.path.length; u++) { const c = this.path[u]; if (!wr(c.latestValues)) continue; let d; c.instance && (bd(c.latestValues) && c.updateSnapshot(), d = Ee(), At(d, c.measurePageBox())), lg(a, c.latestValues, (l = c.snapshot) == null ? void 0 : l.layoutBox, d) } return wr(this.latestValues) && lg(a, this.latestValues), a } setTargetDelta(s) { this.targetDelta = s, this.root.scheduleUpdateProjection(), this.isProjectionDirty = !0 } setOptions(s) { this.options = { ...this.options, ...s, crossfade: s.crossfade !== void 0 ? s.crossfade : !0 } } clearMeasurements() { this.scroll = void 0, this.layout = void 0, this.snapshot = void 0, this.prevTransformTemplateValue = void 0, this.targetDelta = void 0, this.target = void 0, this.isLayoutDirty = !1 } forceRelativeParentToResolveTarget() { this.relativeParent && this.relativeParent.resolvedRelativeTargetAt !== Me.timestamp && this.relativeParent.resolveTargetDelta(!0) } resolveTargetDelta(s=!1) { var h; const a = this.getLead(); this.isProjectionDirty || (this.isProjectionDirty = a.isProjectionDirty), this.isTransformDirty || (this.isTransformDirty = a.isTransformDirty), this.isSharedProjectionDirty || (this.isSharedProjectionDirty = a.isSharedProjectionDirty); const l = !!this.resumingFrom || this !== a; if (!(s || l && this.isSharedProjectionDirty || this.isProjectionDirty || (h = this.parent) != null && h.isProjectionDirty || this.attemptToResolveRelativeTarget || this.root.updateBlockedByResize)) return; const {layout: c, layoutId: d} = this.options; if (!this.layout || !(c || d)) return; this.resolvedRelativeTargetAt = Me.timestamp; const f = this.getClosestProjectingParent(); f && this.linkedParentVersion !== f.layoutVersion && !f.options.layoutRoot && this.removeRelativeTarget(), !this.targetDelta && !this.relativeTarget && (f && f.layout ? this.createRelativeTarget(f, this.layout.layoutBox, f.layout.layoutBox) : this.removeRelativeTarget()), !(!this.relativeTarget && !this.targetDelta) && (this.target || (this.target = Ee(), this.targetWithTransforms = Ee()), this.relativeTarget && this.relativeTargetOrigin && this.relativeParent && this.relativeParent.target ? (this.forceRelativeParentToResolveTarget(), sM(this.target, this.relativeTarget, this.relativeParent.target)) : this.targetDelta ? (this.resumingFrom ? this.target = this.applyTransform(this.layout.layoutBox) : At(this.target, this.layout.layoutBox), ew(this.target, this.targetDelta)) : At(this.target, this.layout.layoutBox), this.attemptToResolveRelativeTarget && (this.attemptToResolveRelativeTarget = !1, f && !!f.resumingFrom == !!this.resumingFrom && !f.options.layoutScroll && f.target && this.animationProgress !== 1 ? this.createRelativeTarget(f, this.target, f.target) : this.relativeParent = this.relativeTarget = void 0)) } getClosestProjectingParent() { if (!(!this.parent || bd(this.parent.latestValues) || J1(this.parent.latestValues))) return this.parent.isProjecting() ? this.parent : this.parent.getClosestProjectingParent() } isProjecting() { return !!((this.relativeTarget || this.targetDelta || this.options.layoutRoot) && this.layout) } createRelativeTarget(s, a, l) { this.relativeParent = s, this.linkedParentVersion = s.layoutVersion, this.forceRelativeParentToResolveTarget(), this.relativeTarget = Ee(), this.relativeTargetOrigin = Ee(), cl(this.relativeTargetOrigin, a, l), At(this.relativeTarget, this.relativeTargetOrigin) } removeRelativeTarget() { this.relativeParent = this.relativeTarget = void 0 } calcProjection() { var x; const s = this.getLead() , a = !!this.resumingFrom || this !== s; let l = !0; if ((this.isProjectionDirty || (x = this.parent) != null && x.isProjectionDirty) && (l = !1), a && (this.isSharedProjectionDirty || this.isTransformDirty) && (l = !1), this.resolvedRelativeTargetAt === Me.timestamp && (l = !1), l) return; const {layout: u, layoutId: c} = this.options; if (this.isTreeAnimating = !!(this.parent && this.parent.isTreeAnimating || this.currentAnimation || this.pendingAnimation), this.isTreeAnimating || (this.targetDelta = this.relativeTarget = void 0), !this.layout || !(u || c)) return; At(this.layoutCorrected, this.layout.layoutBox); const d = this.treeScale.x , f = this.treeScale.y; ON(this.layoutCorrected, this.treeScale, this.path, a), s.layout && !s.target && (this.treeScale.x !== 1 || this.treeScale.y !== 1) && (s.target = s.layout.layoutBox, s.targetWithTransforms = Ee()); const {target: h} = s; if (!h) { this.prevProjectionDelta && (this.createProjectionDeltas(), this.scheduleRender()); return } !this.projectionDelta || !this.prevProjectionDelta ? this.createProjectionDeltas() : (ng(this.prevProjectionDelta.x, this.projectionDelta.x), ng(this.prevProjectionDelta.y, this.projectionDelta.y)), Vo(this.projectionDelta, this.layoutCorrected, h, this.latestValues), (this.treeScale.x !== d || this.treeScale.y !== f || !hg(this.projectionDelta.x, this.prevProjectionDelta.x) || !hg(this.projectionDelta.y, this.prevProjectionDelta.y)) && (this.hasProjected = !0, this.scheduleRender(), this.notifyListeners("projectionUpdate", h)) } hide() { this.isVisible = !1 } show() { this.isVisible = !0 } scheduleRender(s=!0) { var a; if ((a = this.options.visualElement) == null || a.scheduleRender(), s) { const l = this.getStack(); l && l.scheduleRender() } this.resumingFrom && !this.resumingFrom.instance && (this.resumingFrom = void 0) } createProjectionDeltas() { this.prevProjectionDelta = mi(), this.projectionDelta = mi(), this.projectionDeltaWithTransform = mi() } setAnimationOrigin(s, a=!1) { const l = this.snapshot , u = l ? l.latestValues : {} , c = { ...this.latestValues } , d = mi(); (!this.relativeParent || !this.relativeParent.options.layoutRoot) && (this.relativeTarget = this.relativeTargetOrigin = void 0), this.attemptToResolveRelativeTarget = !a; const f = Ee() , h = l ? l.source : void 0 , x = this.layout ? this.layout.source : void 0 , y = h !== x , w = this.getStack() , g = !w || w.members.length <= 1 , m = !!(y && !g && this.options.crossfade === !0 && !this.path.some(LM)); this.animationProgress = 0; let v; this.mixTargetDelta = b => { const C = b / 1e3; wg(d.x, s.x, C), wg(d.y, s.y, C), this.setTargetDelta(d), this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout && (cl(f, this.layout.layoutBox, this.relativeParent.layout.layoutBox), DM(this.relativeTarget, this.relativeTargetOrigin, f, C), v && cM(this.relativeTarget, v) && (this.isProjectionDirty = !1), v || (v = Ee()), At(v, this.relativeTarget)), y && (this.animationValues = c, hM(c, u, this.latestValues, C, m, g)), this.root.scheduleUpdateProjection(), this.scheduleRender(), this.animationProgress = C } , this.mixTargetDelta(this.options.layoutRoot ? 1e3 : 0) } startAnimation(s) { var a, l, u; this.notifyListeners("animationStart"), (a = this.currentAnimation) == null || a.stop(), (u = (l = this.resumingFrom) == null ? void 0 : l.currentAnimation) == null || u.stop(), this.pendingAnimation && (ur(this.pendingAnimation), this.pendingAnimation = void 0), this.pendingAnimation = ie.update( () => { Pa.hasAnimatedSinceResize = !0, this.motionValue || (this.motionValue = Ki(0)), this.motionValue.jump(0, !1), this.currentAnimation = gM(this.motionValue, [0, 1e3], { ...s, velocity: 0, isSync: !0, onUpdate: c => { this.mixTargetDelta(c), s.onUpdate && s.onUpdate(c) } , onStop: () => {} , onComplete: () => { s.onComplete && s.onComplete(), this.completeAnimation() } }), this.resumingFrom && (this.resumingFrom.currentAnimation = this.currentAnimation), this.pendingAnimation = void 0 } ) } completeAnimation() { this.resumingFrom && (this.resumingFrom.currentAnimation = void 0, this.resumingFrom.preserveOpacity = void 0); const s = this.getStack(); s && s.exitAnimationComplete(), this.resumingFrom = this.currentAnimation = this.animationValues = void 0, this.notifyListeners("animationComplete") } finishAnimation() { this.currentAnimation && (this.mixTargetDelta && this.mixTargetDelta(SM), this.currentAnimation.stop()), this.completeAnimation() } applyTransformsToTarget() { const s = this.getLead(); let {targetWithTransforms: a, target: l, layout: u, latestValues: c} = s; if (!(!a || !l || !u)) { if (this !== s && this.layout && u && vw(this.options.animationType, this.layout.layoutBox, u.layoutBox)) { l = this.target || Ee(); const d = Ke(this.layout.layoutBox.x); l.x.min = s.target.x.min, l.x.max = l.x.min + d; const f = Ke(this.layout.layoutBox.y); l.y.min = s.target.y.min, l.y.max = l.y.min + f } At(a, l), yi(a, c), Vo(this.projectionDeltaWithTransform, this.layoutCorrected, a, c) } } registerSharedNode(s, a) { this.sharedNodes.has(s) || this.sharedNodes.set(s, new wM), this.sharedNodes.get(s).add(a); const u = a.options.initialPromotionConfig; a.promote({ transition: u ? u.transition : void 0, preserveFollowOpacity: u && u.shouldPreserveFollowOpacity ? u.shouldPreserveFollowOpacity(a) : void 0 }) } isLead() { const s = this.getStack(); return s ? s.lead === this : !0 } getLead() { var a; const {layoutId: s} = this.options; return s ? ((a = this.getStack()) == null ? void 0 : a.lead) || this : this } getPrevLead() { var a; const {layoutId: s} = this.options; return s ? (a = this.getStack()) == null ? void 0 : a.prevLead : void 0 } getStack() { const {layoutId: s} = this.options; if (s) return this.root.sharedNodes.get(s) } promote({needsReset: s, transition: a, preserveFollowOpacity: l}={}) { const u = this.getStack(); u && u.promote(this, l), s && (this.projectionDelta = void 0, this.needsReset = !0), a && this.setOptions({ transition: a }) } relegate() { const s = this.getStack(); return s ? s.relegate(this) : !1 } resetSkewAndRotation() { const {visualElement: s} = this.options; if (!s) return; let a = !1; const {latestValues: l} = s; if ((l.z || l.rotate || l.rotateX || l.rotateY || l.rotateZ || l.skewX || l.skewY) && (a = !0), !a) return; const u = {}; l.z && Vu("z", s, u, this.animationValues); for (let c = 0; c < Fu.length; c++) Vu(`rotate${Fu[c]}`, s, u, this.animationValues), Vu(`skew${Fu[c]}`, s, u, this.animationValues); s.render(); for (const c in u) s.setStaticValue(c, u[c]), this.animationValues && (this.animationValues[c] = u[c]); s.scheduleRender() } applyProjectionStyles(s, a) { if (!this.instance || this.isSVG) return; if (!this.isVisible) { s.visibility = "hidden"; return } const l = this.getTransformTemplate(); if (this.needsReset) { this.needsReset = !1, s.visibility = "", s.opacity = "", s.pointerEvents = Ta(a == null ? void 0 : a.pointerEvents) || "", s.transform = l ? l(this.latestValues, "") : "none"; return } const u = this.getLead(); if (!this.projectionDelta || !this.layout || !u.target) { this.options.layoutId && (s.opacity = this.latestValues.opacity !== void 0 ? this.latestValues.opacity : 1, s.pointerEvents = Ta(a == null ? void 0 : a.pointerEvents) || ""), this.hasProjected && !wr(this.latestValues) && (s.transform = l ? l({}, "") : "none", this.hasProjected = !1); return } s.visibility = ""; const c = u.animationValues || u.latestValues; this.applyTransformsToTarget(); let d = dM(this.projectionDeltaWithTransform, this.treeScale, c); l && (d = l(c, d)), s.transform = d; const {x: f, y: h} = this.projectionDelta; s.transformOrigin = `${f.origin * 100}% ${h.origin * 100}% 0`, u.animationValues ? s.opacity = u === this ? c.opacity ?? this.latestValues.opacity ?? 1 : this.preserveOpacity ? this.latestValues.opacity : c.opacityExit : s.opacity = u === this ? c.opacity !== void 0 ? c.opacity : "" : c.opacityExit !== void 0 ? c.opacityExit : 0; for (const x in Ed) { if (c[x] === void 0) continue; const {correct: y, applyTo: w, isCSSVariable: g} = Ed[x] , m = d === "none" ? c[x] : y(c[x], u); if (w) { const v = w.length; for (let b = 0; b < v; b++) s[w[b]] = m } else g ? this.options.visualElement.renderState.vars[x] = m : s[x] = m } this.options.layoutId && (s.pointerEvents = u === this ? Ta(a == null ? void 0 : a.pointerEvents) || "" : "none") } clearSnapshot() { this.resumeFrom = this.snapshot = void 0 } resetTree() { this.root.nodes.forEach(s => { var a; return (a = s.currentAnimation) == null ? void 0 : a.stop() } ), this.root.nodes.forEach(yg), this.root.sharedNodes.clear() } } } function CM(e) { e.updateLayout() } function EM(e) { var n; const t = ((n = e.resumeFrom) == null ? void 0 : n.snapshot) || e.snapshot; if (e.isLead() && e.layout && t && e.hasListeners("didUpdate")) { const {layoutBox: r, measuredBox: i} = e.layout , {animationType: o} = e.options , s = t.source !== e.layout.source; o === "size" ? Kt(d => { const f = s ? t.measuredBox[d] : t.layoutBox[d] , h = Ke(f); f.min = r[d].min, f.max = f.min + h } ) : vw(o, t.layoutBox, r) && Kt(d => { const f = s ? t.measuredBox[d] : t.layoutBox[d] , h = Ke(r[d]); f.max = f.min + h, e.relativeTarget && !e.currentAnimation && (e.isProjectionDirty = !0, e.relativeTarget[d].max = e.relativeTarget[d].min + h) } ); const a = mi(); Vo(a, r, t.layoutBox); const l = mi(); s ? Vo(l, e.applyTransform(i, !0), t.measuredBox) : Vo(l, r, t.layoutBox); const u = !fw(a); let c = !1; if (!e.resumeFrom) { const d = e.getClosestProjectingParent(); if (d && !d.resumeFrom) { const {snapshot: f, layout: h} = d; if (f && h) { const x = Ee(); cl(x, t.layoutBox, f.layoutBox); const y = Ee(); cl(y, r, h.layoutBox), hw(x, y) || (c = !0), d.options.layoutRoot && (e.relativeTarget = y, e.relativeTargetOrigin = x, e.relativeParent = d) } } } e.notifyListeners("didUpdate", { layout: r, snapshot: t, delta: l, layoutDelta: a, hasLayoutChanged: u, hasRelativeLayoutChanged: c }) } else if (e.isLead()) { const {onExitComplete: r} = e.options; r && r() } e.options.transition = void 0 } function TM(e) { e.parent && (e.isProjecting() || (e.isProjectionDirty = e.parent.isProjectionDirty), e.isSharedProjectionDirty || (e.isSharedProjectionDirty = !!(e.isProjectionDirty || e.parent.isProjectionDirty || e.parent.isSharedProjectionDirty)), e.isTransformDirty || (e.isTransformDirty = e.parent.isTransformDirty)) } function PM(e) { e.isProjectionDirty = e.isSharedProjectionDirty = e.isTransformDirty = !1 } function kM(e) { e.clearSnapshot() } function yg(e) { e.clearMeasurements() } function vg(e) { e.isLayoutDirty = !1 } function AM(e) { const {visualElement: t} = e.options; t && t.getProps().onBeforeLayoutMeasure && t.notify("BeforeLayoutMeasure"), e.resetTransform() } function xg(e) { e.finishAnimation(), e.targetDelta = e.relativeTarget = e.target = void 0, e.isProjectionDirty = !0 } function RM(e) { e.resolveTargetDelta() } function NM(e) { e.calcProjection() } function MM(e) { e.resetSkewAndRotation() } function jM(e) { e.removeLeadSnapshot() } function wg(e, t, n) { e.translate = fe(t.translate, 0, n), e.scale = fe(t.scale, 1, n), e.origin = t.origin, e.originPoint = t.originPoint } function Sg(e, t, n, r) { e.min = fe(t.min, n.min, r), e.max = fe(t.max, n.max, r) } function DM(e, t, n, r) { Sg(e.x, t.x, n.x, r), Sg(e.y, t.y, n.y, r) } function LM(e) { return e.animationValues && e.animationValues.opacityExit !== void 0 } const OM = { duration: .45, ease: [.4, 0, .1, 1] } , bg = e => typeof navigator < "u" && navigator.userAgent && navigator.userAgent.toLowerCase().includes(e) , Cg = bg("applewebkit/") && !bg("chrome/") ? Math.round : wt; function Eg(e) { e.min = Cg(e.min), e.max = Cg(e.max) } function IM(e) { Eg(e.x), Eg(e.y) } function vw(e, t, n) { return e === "position" || e === "preserve-aspect" && !oM(fg(t), fg(n), .2) } function FM(e) { var t; return e !== e.root && ((t = e.scroll) == null ? void 0 : t.wasRoot) } const VM = yw({ attachResizeListener: (e, t) => fs(e, "resize", t), measureScroll: () => { var e, t; return { x: document.documentElement.scrollLeft || ((e = document.body) == null ? void 0 : e.scrollLeft) || 0, y: document.documentElement.scrollTop || ((t = document.body) == null ? void 0 : t.scrollTop) || 0 } } , checkIsScrollRoot: () => !0 }) , _u = { current: void 0 } , xw = yw({ measureScroll: e => ({ x: e.scrollLeft, y: e.scrollTop }), defaultParent: () => { if (!_u.current) { const e = new VM({}); e.mount(window), e.setOptions({ layoutScroll: !0 }), _u.current = e } return _u.current } , resetTransform: (e, t) => { e.style.transform = t !== void 0 ? t : "none" } , checkIsScrollRoot: e => window.getComputedStyle(e).position === "fixed" }) , vh = S.createContext({ transformPagePoint: e => e, isStatic: !1, reducedMotion: "never" }); function Tg(e, t) { if (typeof e == "function") return e(t); e != null && (e.current = t) } function _M(...e) { return t => { let n = !1; const r = e.map(i => { const o = Tg(i, t); return !n && typeof o == "function" && (n = !0), o } ); if (n) return () => { for (let i = 0; i < r.length; i++) { const o = r[i]; typeof o == "function" ? o() : Tg(e[i], null) } } } } function zM(...e) { return S.useCallback(_M(...e), e) } class BM extends S.Component { getSnapshotBeforeUpdate(t) { const n = this.props.childRef.current; if (Sa(n) && t.isPresent && !this.props.isPresent && this.props.pop !== !1) { const r = n.offsetParent , i = Sa(r) && r.offsetWidth || 0 , o = Sa(r) && r.offsetHeight || 0 , s = getComputedStyle(n) , a = this.props.sizeRef.current; a.height = parseFloat(s.height), a.width = parseFloat(s.width), a.top = n.offsetTop, a.left = n.offsetLeft, a.right = i - a.width - a.left, a.bottom = o - a.height - a.top } return null } componentDidUpdate() {} render() { return this.props.children } } function $M({children: e, isPresent: t, anchorX: n, anchorY: r, root: i, pop: o}) { var f; const s = S.useId() , a = S.useRef(null) , l = S.useRef({ width: 0, height: 0, top: 0, left: 0, right: 0, bottom: 0 }) , {nonce: u} = S.useContext(vh) , c = ((f = e.props) == null ? void 0 : f.ref) ?? (e == null ? void 0 : e.ref) , d = zM(a, c); return S.useInsertionEffect( () => { const {width: h, height: x, top: y, left: w, right: g, bottom: m} = l.current; if (t || o === !1 || !a.current || !h || !x) return; const v = n === "left" ? `left: ${w}` : `right: ${g}` , b = r === "bottom" ? `bottom: ${m}` : `top: ${y}`; a.current.dataset.motionPopId = s; const C = document.createElement("style"); u && (C.nonce = u); const E = i ?? document.head; return E.appendChild(C), C.sheet && C.sheet.insertRule(` [data-motion-pop-id="${s}"] { position: absolute !important; width: ${h}px !important; height: ${x}px !important; ${v}px !important; ${b}px !important; } `), () => { E.contains(C) && E.removeChild(C) } } , [t]), p.jsx(BM, { isPresent: t, childRef: a, sizeRef: l, pop: o, children: o === !1 ? e : S.cloneElement(e, { ref: d }) }) } const UM = ({children: e, initial: t, isPresent: n, onExitComplete: r, custom: i, presenceAffectsLayout: o, mode: s, anchorX: a, anchorY: l, root: u}) => { const c = Kf(WM) , d = S.useId(); let f = !0 , h = S.useMemo( () => (f = !1, { id: d, initial: t, isPresent: n, custom: i, onExitComplete: x => { c.set(x, !0); for (const y of c.values()) if (!y) return; r && r() } , register: x => (c.set(x, !1), () => c.delete(x)) }), [n, c, r]); return o && f && (h = { ...h }), S.useMemo( () => { c.forEach( (x, y) => c.set(y, !1)) } , [n]), S.useEffect( () => { !n && !c.size && r && r() } , [n]), e = p.jsx($M, { pop: s === "popLayout", isPresent: n, anchorX: a, anchorY: l, root: u, children: e }), p.jsx(_l.Provider, { value: h, children: e }) } ; function WM() { return new Map } function ww(e=!0) { const t = S.useContext(_l); if (t === null) return [!0, null]; const {isPresent: n, onExitComplete: r, register: i} = t , o = S.useId(); S.useEffect( () => { if (e) return i(o) } , [e]); const s = S.useCallback( () => e && r && r(o), [o, r, e]); return !n && r ? [!1, s] : [!0] } const na = e => e.key || ""; function Pg(e) { const t = []; return S.Children.forEach(e, n => { S.isValidElement(n) && t.push(n) } ), t } const Sw = ({children: e, custom: t, initial: n=!0, onExitComplete: r, presenceAffectsLayout: i=!0, mode: o="sync", propagate: s=!1, anchorX: a="left", anchorY: l="top", root: u}) => { const [c,d] = ww(s) , f = S.useMemo( () => Pg(e), [e]) , h = s && !c ? [] : f.map(na) , x = S.useRef(!0) , y = S.useRef(f) , w = Kf( () => new Map) , g = S.useRef(new Set) , [m,v] = S.useState(f) , [b,C] = S.useState(f); Qx( () => { x.current = !1, y.current = f; for (let P = 0; P < b.length; P++) { const M = na(b[P]); h.includes(M) ? (w.delete(M), g.current.delete(M)) : w.get(M) !== !0 && w.set(M, !1) } } , [b, h.length, h.join("-")]); const E = []; if (f !== m) { let P = [...f]; for (let M = 0; M < b.length; M++) { const A = b[M] , F = na(A); h.includes(F) || (P.splice(M, 0, A), E.push(A)) } return o === "wait" && E.length && (P = E), C(Pg(P)), v(f), null } const {forceRender: T} = S.useContext(Hf); return p.jsx(p.Fragment, { children: b.map(P => { const M = na(P) , A = s && !c ? !1 : f === b || h.includes(M) , F = () => { if (g.current.has(M)) return; if (g.current.add(M), w.has(M)) w.set(M, !0); else return; let O = !0; w.forEach(U => { U || (O = !1) } ), O && (T == null || T(), C(y.current), s && (d == null || d()), r && r()) } ; return p.jsx(UM, { isPresent: A, initial: !x.current || n ? void 0 : !1, custom: t, presenceAffectsLayout: i, mode: o, root: u, onExitComplete: A ? void 0 : F, anchorX: a, anchorY: l, children: P }, M) } ) }) } , bw = S.createContext({ strict: !1 }) , kg = { animation: ["animate", "variants", "whileHover", "whileTap", "exit", "whileInView", "whileFocus", "whileDrag"], exit: ["exit"], drag: ["drag", "dragControls"], focus: ["whileFocus"], hover: ["whileHover", "onHoverStart", "onHoverEnd"], tap: ["whileTap", "onTap", "onTapStart", "onTapCancel"], pan: ["onPan", "onPanStart", "onPanSessionStart", "onPanEnd"], inView: ["whileInView", "onViewportEnter", "onViewportLeave"], layout: ["layout", "layoutId"] }; let Ag = !1; function HM() { if (Ag) return; const e = {}; for (const t in kg) e[t] = { isEnabled: n => kg[t].some(r => !!n[r]) }; Y1(e), Ag = !0 } function Cw() { return HM(), MN() } function KM(e) { const t = Cw(); for (const n in e) t[n] = { ...t[n], ...e[n] }; Y1(t) } const GM = new Set(["animate", "exit", "variants", "initial", "style", "values", "variants", "transition", "transformTemplate", "custom", "inherit", "onBeforeLayoutMeasure", "onAnimationStart", "onAnimationComplete", "onUpdate", "onDragStart", "onDrag", "onDragEnd", "onMeasureDragConstraints", "onDirectionLock", "onDragTransitionEnd", "_dragX", "_dragY", "onHoverStart", "onHoverEnd", "onViewportEnter", "onViewportLeave", "globalTapTarget", "propagate", "ignoreStrict", "viewport"]); function dl(e) { return e.startsWith("while") || e.startsWith("drag") && e !== "draggable" || e.startsWith("layout") || e.startsWith("onTap") || e.startsWith("onPan") || e.startsWith("onLayout") || GM.has(e) } let Ew = e => !dl(e); function QM(e) { typeof e == "function" && (Ew = t => t.startsWith("on") ? !dl(t) : e(t)) } try { QM(require("@emotion/is-prop-valid").default) } catch {} function qM(e, t, n) { const r = {}; for (const i in e) i === "values" && typeof e.values == "object" || (Ew(i) || n === !0 && dl(i) || !t && !dl(i) || e.draggable && i.startsWith("onDrag")) && (r[i] = e[i]); return r } const Ul = S.createContext({}); function YM(e, t) { if ($l(e)) { const {initial: n, animate: r} = e; return { initial: n === !1 || ds(n) ? n : void 0, animate: ds(r) ? r : void 0 } } return e.inherit !== !1 ? t : {} } function XM(e) { const {initial: t, animate: n} = YM(e, S.useContext(Ul)); return S.useMemo( () => ({ initial: t, animate: n }), [Rg(t), Rg(n)]) } function Rg(e) { return Array.isArray(e) ? e.join(" ") : e } const xh = () => ({ style: {}, transform: {}, transformOrigin: {}, vars: {} }); function Tw(e, t, n) { for (const r in t) !ze(t[r]) && !rw(r, n) && (e[r] = t[r]) } function ZM({transformTemplate: e}, t) { return S.useMemo( () => { const n = xh(); return gh(n, t, e), Object.assign({}, n.vars, n.style) } , [t]) } function JM(e, t) { const n = e.style || {} , r = {}; return Tw(r, n, e), Object.assign(r, ZM(e, t)), r } function ej(e, t) { const n = {} , r = JM(e, t); return e.drag && e.dragListener !== !1 && (n.draggable = !1, r.userSelect = r.WebkitUserSelect = r.WebkitTouchCallout = "none", r.touchAction = e.drag === !0 ? "none" : `pan-${e.drag === "x" ? "y" : "x"}`), e.tabIndex === void 0 && (e.onTap || e.onTapStart || e.whileTap) && (n.tabIndex = 0), n.style = r, n } const Pw = () => ({ ...xh(), attrs: {} }); function tj(e, t, n, r) { const i = S.useMemo( () => { const o = Pw(); return iw(o, t, sw(r), e.transformTemplate, e.style), { ...o.attrs, style: { ...o.style } } } , [t]); if (e.style) { const o = {}; Tw(o, e.style, e), i.style = { ...o, ...i.style } } return i } const nj = ["animate", "circle", "defs", "desc", "ellipse", "g", "image", "line", "filter", "marker", "mask", "metadata", "path", "pattern", "polygon", "polyline", "rect", "stop", "switch", "symbol", "svg", "text", "tspan", "use", "view"]; function wh(e) { return typeof e != "string" || e.includes("-") ? !1 : !!(nj.indexOf(e) > -1 || /[A-Z]/u.test(e)) } function rj(e, t, n, {latestValues: r}, i, o=!1, s) { const l = (s ?? wh(e) ? tj : ej)(t, r, i, e) , u = qM(t, typeof e == "string", o) , c = e !== S.Fragment ? { ...u, ...l, ref: n } : {} , {children: d} = t , f = S.useMemo( () => ze(d) ? d.get() : d, [d]); return S.createElement(e, { ...c, children: f }) } function ij({scrapeMotionValuesFromProps: e, createRenderState: t}, n, r, i) { return { latestValues: oj(n, r, i, e), renderState: t() } } function oj(e, t, n, r) { const i = {} , o = r(e, {}); for (const f in o) i[f] = Ta(o[f]); let {initial: s, animate: a} = e; const l = $l(e) , u = Q1(e); t && u && !l && e.inherit !== !1 && (s === void 0 && (s = t.initial), a === void 0 && (a = t.animate)); let c = n ? n.initial === !1 : !1; c = c || s === !1; const d = c ? a : s; if (d && typeof d != "boolean" && !Bl(d)) { const f = Array.isArray(d) ? d : [d]; for (let h = 0; h < f.length; h++) { const x = lh(e, f[h]); if (x) { const {transitionEnd: y, transition: w, ...g} = x; for (const m in g) { let v = g[m]; if (Array.isArray(v)) { const b = c ? v.length - 1 : 0; v = v[b] } v !== null && (i[m] = v) } for (const m in y) i[m] = y[m] } } } return i } const kw = e => (t, n) => { const r = S.useContext(Ul) , i = S.useContext(_l) , o = () => ij(e, t, r, i); return n ? o() : Kf(o) } , sj = kw({ scrapeMotionValuesFromProps: yh, createRenderState: xh }) , aj = kw({ scrapeMotionValuesFromProps: aw, createRenderState: Pw }) , lj = Symbol.for("motionComponentSymbol"); function uj(e, t, n) { const r = S.useRef(n); S.useInsertionEffect( () => { r.current = n } ); const i = S.useRef(null); return S.useCallback(o => { var a; o && ((a = e.onMount) == null || a.call(e, o)); const s = r.current; if (typeof s == "function") if (o) { const l = s(o); typeof l == "function" && (i.current = l) } else i.current ? (i.current(), i.current = null) : s(o); else s && (s.current = o); t && (o ? t.mount(o) : t.unmount()) } , [t]) } const Aw = S.createContext({}); function ei(e) { return e && typeof e == "object" && Object.prototype.hasOwnProperty.call(e, "current") } function cj(e, t, n, r, i, o) { var v, b; const {visualElement: s} = S.useContext(Ul) , a = S.useContext(bw) , l = S.useContext(_l) , u = S.useContext(vh) , c = u.reducedMotion , d = u.skipAnimations , f = S.useRef(null) , h = S.useRef(!1); r = r || a.renderer, !f.current && r && (f.current = r(e, { visualState: t, parent: s, props: n, presenceContext: l, blockInitialAnimation: l ? l.initial === !1 : !1, reducedMotionConfig: c, skipAnimations: d, isSVG: o }), h.current && f.current && (f.current.manuallyAnimateOnMount = !0)); const x = f.current , y = S.useContext(Aw); x && !x.projection && i && (x.type === "html" || x.type === "svg") && dj(f.current, n, i, y); const w = S.useRef(!1); S.useInsertionEffect( () => { x && w.current && x.update(n, l) } ); const g = n[O1] , m = S.useRef(!!g && typeof window < "u" && !((v = window.MotionHandoffIsComplete) != null && v.call(window, g)) && ((b = window.MotionHasOptimisedAnimation) == null ? void 0 : b.call(window, g))); return Qx( () => { h.current = !0, x && (w.current = !0, window.MotionIsMounted = !0, x.updateFeatures(), x.scheduleRenderMicrotask(), m.current && x.animationState && x.animationState.animateChanges()) } ), S.useEffect( () => { x && (!m.current && x.animationState && x.animationState.animateChanges(), m.current && (queueMicrotask( () => { var C; (C = window.MotionHandoffMarkAsComplete) == null || C.call(window, g) } ), m.current = !1), x.enteringChildren = void 0) } ), x } function dj(e, t, n, r) { const {layoutId: i, layout: o, drag: s, dragConstraints: a, layoutScroll: l, layoutRoot: u, layoutCrossfade: c} = t; e.projection = new n(e.latestValues,t["data-framer-portal-id"] ? void 0 : Rw(e.parent)), e.projection.setOptions({ layoutId: i, layout: o, alwaysMeasureLayout: !!s || a && ei(a), visualElement: e, animationType: typeof o == "string" ? o : "both", initialPromotionConfig: r, crossfade: c, layoutScroll: l, layoutRoot: u }) } function Rw(e) { if (e) return e.options.allowProjection !== !1 ? e.projection : Rw(e.parent) } function zu(e, {forwardMotionProps: t=!1, type: n}={}, r, i) { r && KM(r); const o = n ? n === "svg" : wh(e) , s = o ? aj : sj; function a(u, c) { let d; const f = { ...S.useContext(vh), ...u, layoutId: fj(u) } , {isStatic: h} = f , x = XM(u) , y = s(u, h); if (!h && typeof window < "u") { hj(); const w = pj(f); d = w.MeasureLayout, x.visualElement = cj(e, y, f, i, w.ProjectionNode, o) } return p.jsxs(Ul.Provider, { value: x, children: [d && x.visualElement ? p.jsx(d, { visualElement: x.visualElement, ...f }) : null, rj(e, u, uj(y, x.visualElement, c), y, h, t, o)] }) } a.displayName = `motion.${typeof e == "string" ? e : `create(${e.displayName ?? e.name ?? ""})`}`; const l = S.forwardRef(a); return l[lj] = e, l } function fj({layoutId: e}) { const t = S.useContext(Hf).id; return t && e !== void 0 ? t + "-" + e : e } function hj(e, t) { S.useContext(bw).strict } function pj(e) { const t = Cw() , {drag: n, layout: r} = t; if (!n && !r) return {}; const i = { ...n, ...r }; return { MeasureLayout: n != null && n.isEnabled(e) || r != null && r.isEnabled(e) ? i.MeasureLayout : void 0, ProjectionNode: i.ProjectionNode } } function mj(e, t) { if (typeof Proxy > "u") return zu; const n = new Map , r = (o, s) => zu(o, s, e, t) , i = (o, s) => r(o, s); return new Proxy(i,{ get: (o, s) => s === "create" ? r : (n.has(s) || n.set(s, zu(s, void 0, e, t)), n.get(s)) }) } const gj = (e, t) => t.isSVG ?? wh(e) ? new QN(t) : new $N(t,{ allowProjection: e !== S.Fragment }); class yj extends hr { constructor(t) { super(t), t.animationState || (t.animationState = JN(t)) } updateAnimationControlsSubscription() { const {animate: t} = this.node.getProps(); Bl(t) && (this.unmountControls = t.subscribe(this.node)) } mount() { this.updateAnimationControlsSubscription() } update() { const {animate: t} = this.node.getProps() , {animate: n} = this.node.prevProps || {}; t !== n && this.updateAnimationControlsSubscription() } unmount() { var t; this.node.animationState.reset(), (t = this.unmountControls) == null || t.call(this) } } let vj = 0; class xj extends hr { constructor() { super(...arguments), this.id = vj++ } update() { if (!this.node.presenceContext) return; const {isPresent: t, onExitComplete: n} = this.node.presenceContext , {isPresent: r} = this.node.prevPresenceContext || {}; if (!this.node.animationState || t === r) return; const i = this.node.animationState.setActive("exit", !t); n && !t && i.then( () => { n(this.id) } ) } mount() { const {register: t, onExitComplete: n} = this.node.presenceContext || {}; n && n(this.id), t && (this.unmount = t(this.id)) } unmount() {} } const wj = { animation: { Feature: yj }, exit: { Feature: xj } }; function ks(e) { return { point: { x: e.pageX, y: e.pageY } } } const Sj = e => t => fh(t) && e(t, ks(t)); function _o(e, t, n, r) { return fs(e, t, Sj(n), r) } const Nw = ({current: e}) => e ? e.ownerDocument.defaultView : null , Ng = (e, t) => Math.abs(e - t); function bj(e, t) { const n = Ng(e.x, t.x) , r = Ng(e.y, t.y); return Math.sqrt(n ** 2 + r ** 2) } const Mg = new Set(["auto", "scroll"]); class Mw { constructor(t, n, {transformPagePoint: r, contextWindow: i=window, dragSnapToOrigin: o=!1, distanceThreshold: s=3, element: a}={}) { if (this.startEvent = null, this.lastMoveEvent = null, this.lastMoveEventInfo = null, this.lastRawMoveEventInfo = null, this.handlers = {}, this.contextWindow = window, this.scrollPositions = new Map, this.removeScrollListeners = null, this.onElementScroll = h => { this.handleScroll(h.target) } , this.onWindowScroll = () => { this.handleScroll(window) } , this.updatePoint = () => { if (!(this.lastMoveEvent && this.lastMoveEventInfo)) return; this.lastRawMoveEventInfo && (this.lastMoveEventInfo = ra(this.lastRawMoveEventInfo, this.transformPagePoint)); const h = Bu(this.lastMoveEventInfo, this.history) , x = this.startEvent !== null , y = bj(h.offset, { x: 0, y: 0 }) >= this.distanceThreshold; if (!x && !y) return; const {point: w} = h , {timestamp: g} = Me; this.history.push({ ...w, timestamp: g }); const {onStart: m, onMove: v} = this.handlers; x || (m && m(this.lastMoveEvent, h), this.startEvent = this.lastMoveEvent), v && v(this.lastMoveEvent, h) } , this.handlePointerMove = (h, x) => { this.lastMoveEvent = h, this.lastRawMoveEventInfo = x, this.lastMoveEventInfo = ra(x, this.transformPagePoint), ie.update(this.updatePoint, !0) } , this.handlePointerUp = (h, x) => { this.end(); const {onEnd: y, onSessionEnd: w, resumeAnimation: g} = this.handlers; if ((this.dragSnapToOrigin || !this.startEvent) && g && g(), !(this.lastMoveEvent && this.lastMoveEventInfo)) return; const m = Bu(h.type === "pointercancel" ? this.lastMoveEventInfo : ra(x, this.transformPagePoint), this.history); this.startEvent && y && y(h, m), w && w(h, m) } , !fh(t)) return; this.dragSnapToOrigin = o, this.handlers = n, this.transformPagePoint = r, this.distanceThreshold = s, this.contextWindow = i || window; const l = ks(t) , u = ra(l, this.transformPagePoint) , {point: c} = u , {timestamp: d} = Me; this.history = [{ ...c, timestamp: d }]; const {onSessionStart: f} = n; f && f(t, Bu(u, this.history)), this.removeListeners = Es(_o(this.contextWindow, "pointermove", this.handlePointerMove), _o(this.contextWindow, "pointerup", this.handlePointerUp), _o(this.contextWindow, "pointercancel", this.handlePointerUp)), a && this.startScrollTracking(a) } startScrollTracking(t) { let n = t.parentElement; for (; n; ) { const r = getComputedStyle(n); (Mg.has(r.overflowX) || Mg.has(r.overflowY)) && this.scrollPositions.set(n, { x: n.scrollLeft, y: n.scrollTop }), n = n.parentElement } this.scrollPositions.set(window, { x: window.scrollX, y: window.scrollY }), window.addEventListener("scroll", this.onElementScroll, { capture: !0 }), window.addEventListener("scroll", this.onWindowScroll), this.removeScrollListeners = () => { window.removeEventListener("scroll", this.onElementScroll, { capture: !0 }), window.removeEventListener("scroll", this.onWindowScroll) } } handleScroll(t) { const n = this.scrollPositions.get(t); if (!n) return; const r = t === window , i = r ? { x: window.scrollX, y: window.scrollY } : { x: t.scrollLeft, y: t.scrollTop } , o = { x: i.x - n.x, y: i.y - n.y }; o.x === 0 && o.y === 0 || (r ? this.lastMoveEventInfo && (this.lastMoveEventInfo.point.x += o.x, this.lastMoveEventInfo.point.y += o.y) : this.history.length > 0 && (this.history[0].x -= o.x, this.history[0].y -= o.y), this.scrollPositions.set(t, i), ie.update(this.updatePoint, !0)) } updateHandlers(t) { this.handlers = t } end() { this.removeListeners && this.removeListeners(), this.removeScrollListeners && this.removeScrollListeners(), this.scrollPositions.clear(), ur(this.updatePoint) } } function ra(e, t) { return t ? { point: t(e.point) } : e } function jg(e, t) { return { x: e.x - t.x, y: e.y - t.y } } function Bu({point: e}, t) { return { point: e, delta: jg(e, jw(t)), offset: jg(e, Cj(t)), velocity: Ej(t, .1) } } function Cj(e) { return e[0] } function jw(e) { return e[e.length - 1] } function Ej(e, t) { if (e.length < 2) return { x: 0, y: 0 }; let n = e.length - 1 , r = null; const i = jw(e); for (; n >= 0 && (r = e[n], !(i.timestamp - r.timestamp > nt(t))); ) n--; if (!r) return { x: 0, y: 0 }; r === e[0] && e.length > 2 && i.timestamp - r.timestamp > nt(t) * 2 && (r = e[1]); const o = vt(i.timestamp - r.timestamp); if (o === 0) return { x: 0, y: 0 }; const s = { x: (i.x - r.x) / o, y: (i.y - r.y) / o }; return s.x === 1 / 0 && (s.x = 0), s.y === 1 / 0 && (s.y = 0), s } function Tj(e, {min: t, max: n}, r) { return t !== void 0 && e < t ? e = r ? fe(t, e, r.min) : Math.max(e, t) : n !== void 0 && e > n && (e = r ? fe(n, e, r.max) : Math.min(e, n)), e } function Dg(e, t, n) { return { min: t !== void 0 ? e.min + t : void 0, max: n !== void 0 ? e.max + n - (e.max - e.min) : void 0 } } function Pj(e, {top: t, left: n, bottom: r, right: i}) { return { x: Dg(e.x, n, i), y: Dg(e.y, t, r) } } function Lg(e, t) { let n = t.min - e.min , r = t.max - e.max; return t.max - t.min < e.max - e.min && ([n,r] = [r, n]), { min: n, max: r } } function kj(e, t) { return { x: Lg(e.x, t.x), y: Lg(e.y, t.y) } } function Aj(e, t) { let n = .5; const r = Ke(e) , i = Ke(t); return i > r ? n = us(t.min, t.max - r, e.min) : r > i && (n = us(e.min, e.max - i, t.min)), rn(0, 1, n) } function Rj(e, t) { const n = {}; return t.min !== void 0 && (n.min = t.min - e.min), t.max !== void 0 && (n.max = t.max - e.min), n } const Td = .35; function Nj(e=Td) { return e === !1 ? e = 0 : e === !0 && (e = Td), { x: Og(e, "left", "right"), y: Og(e, "top", "bottom") } } function Og(e, t, n) { return { min: Ig(e, t), max: Ig(e, n) } } function Ig(e, t) { return typeof e == "number" ? e : e[t] || 0 } const Mj = new WeakMap; class jj { constructor(t) { this.openDragLock = null, this.isDragging = !1, this.currentDirection = null, this.originPoint = { x: 0, y: 0 }, this.constraints = !1, this.hasMutatedConstraints = !1, this.elastic = Ee(), this.latestPointerEvent = null, this.latestPanInfo = null, this.visualElement = t } start(t, {snapToCursor: n=!1, distanceThreshold: r}={}) { const {presenceContext: i} = this.visualElement; if (i && i.isPresent === !1) return; const o = d => { n && this.snapToCursor(ks(d).point), this.stopAnimation() } , s = (d, f) => { const {drag: h, dragPropagation: x, onDragStart: y} = this.getProps(); if (h && !x && (this.openDragLock && this.openDragLock(), this.openDragLock = aN(h), !this.openDragLock)) return; this.latestPointerEvent = d, this.latestPanInfo = f, this.isDragging = !0, this.currentDirection = null, this.resolveConstraints(), this.visualElement.projection && (this.visualElement.projection.isAnimationBlocked = !0, this.visualElement.projection.target = void 0), Kt(g => { let m = this.getAxisMotionValue(g).get() || 0; if (tn.test(m)) { const {projection: v} = this.visualElement; if (v && v.layout) { const b = v.layout.layoutBox[g]; b && (m = Ke(b) * (parseFloat(m) / 100)) } } this.originPoint[g] = m } ), y && ie.update( () => y(d, f), !1, !0), yd(this.visualElement, "transform"); const {animationState: w} = this.visualElement; w && w.setActive("whileDrag", !0) } , a = (d, f) => { this.latestPointerEvent = d, this.latestPanInfo = f; const {dragPropagation: h, dragDirectionLock: x, onDirectionLock: y, onDrag: w} = this.getProps(); if (!h && !this.openDragLock) return; const {offset: g} = f; if (x && this.currentDirection === null) { this.currentDirection = Lj(g), this.currentDirection !== null && y && y(this.currentDirection); return } this.updateAxis("x", f.point, g), this.updateAxis("y", f.point, g), this.visualElement.render(), w && ie.update( () => w(d, f), !1, !0) } , l = (d, f) => { this.latestPointerEvent = d, this.latestPanInfo = f, this.stop(d, f), this.latestPointerEvent = null, this.latestPanInfo = null } , u = () => { const {dragSnapToOrigin: d} = this.getProps(); (d || this.constraints) && this.startAnimation({ x: 0, y: 0 }) } , {dragSnapToOrigin: c} = this.getProps(); this.panSession = new Mw(t,{ onSessionStart: o, onStart: s, onMove: a, onSessionEnd: l, resumeAnimation: u },{ transformPagePoint: this.visualElement.getTransformPagePoint(), dragSnapToOrigin: c, distanceThreshold: r, contextWindow: Nw(this.visualElement), element: this.visualElement.current }) } stop(t, n) { const r = t || this.latestPointerEvent , i = n || this.latestPanInfo , o = this.isDragging; if (this.cancel(), !o || !i || !r) return; const {velocity: s} = i; this.startAnimation(s); const {onDragEnd: a} = this.getProps(); a && ie.postRender( () => a(r, i)) } cancel() { this.isDragging = !1; const {projection: t, animationState: n} = this.visualElement; t && (t.isAnimationBlocked = !1), this.endPanSession(); const {dragPropagation: r} = this.getProps(); !r && this.openDragLock && (this.openDragLock(), this.openDragLock = null), n && n.setActive("whileDrag", !1) } endPanSession() { this.panSession && this.panSession.end(), this.panSession = void 0 } updateAxis(t, n, r) { const {drag: i} = this.getProps(); if (!r || !ia(t, i, this.currentDirection)) return; const o = this.getAxisMotionValue(t); let s = this.originPoint[t] + r[t]; this.constraints && this.constraints[t] && (s = Tj(s, this.constraints[t], this.elastic[t])), o.set(s) } resolveConstraints() { var o; const {dragConstraints: t, dragElastic: n} = this.getProps() , r = this.visualElement.projection && !this.visualElement.projection.layout ? this.visualElement.projection.measure(!1) : (o = this.visualElement.projection) == null ? void 0 : o.layout , i = this.constraints; t && ei(t) ? this.constraints || (this.constraints = this.resolveRefConstraints()) : t && r ? this.constraints = Pj(r.layoutBox, t) : this.constraints = !1, this.elastic = Nj(n), i !== this.constraints && !ei(t) && r && this.constraints && !this.hasMutatedConstraints && Kt(s => { this.constraints !== !1 && this.getAxisMotionValue(s) && (this.constraints[s] = Rj(r.layoutBox[s], this.constraints[s])) } ) } resolveRefConstraints() { const {dragConstraints: t, onMeasureDragConstraints: n} = this.getProps(); if (!t || !ei(t)) return !1; const r = t.current; Wi(r !== null, "If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.", "drag-constraints-ref"); const {projection: i} = this.visualElement; if (!i || !i.layout) return !1; const o = IN(r, i.root, this.visualElement.getTransformPagePoint()); let s = kj(i.layout.layoutBox, o); if (n) { const a = n(DN(s)); this.hasMutatedConstraints = !!a, a && (s = Z1(a)) } return s } startAnimation(t) { const {drag: n, dragMomentum: r, dragElastic: i, dragTransition: o, dragSnapToOrigin: s, onDragTransitionEnd: a} = this.getProps() , l = this.constraints || {} , u = Kt(c => { if (!ia(c, n, this.currentDirection)) return; let d = l && l[c] || {}; s && (d = { min: 0, max: 0 }); const f = i ? 200 : 1e6 , h = i ? 40 : 1e7 , x = { type: "inertia", velocity: r ? t[c] : 0, bounceStiffness: f, bounceDamping: h, timeConstant: 750, restDelta: 1, restSpeed: 10, ...o, ...d }; return this.startAxisValueAnimation(c, x) } ); return Promise.all(u).then(a) } startAxisValueAnimation(t, n) { const r = this.getAxisMotionValue(t); return yd(this.visualElement, t), r.start(ah(t, r, 0, n, this.visualElement, !1)) } stopAnimation() { Kt(t => this.getAxisMotionValue(t).stop()) } getAxisMotionValue(t) { const n = `_drag${t.toUpperCase()}` , r = this.visualElement.getProps() , i = r[n]; return i || this.visualElement.getValue(t, (r.initial ? r.initial[t] : void 0) || 0) } snapToCursor(t) { Kt(n => { const {drag: r} = this.getProps(); if (!ia(n, r, this.currentDirection)) return; const {projection: i} = this.visualElement , o = this.getAxisMotionValue(n); if (i && i.layout) { const {min: s, max: a} = i.layout.layoutBox[n] , l = o.get() || 0; o.set(t[n] - fe(s, a, .5) + l) } } ) } scalePositionWithinConstraints() { if (!this.visualElement.current) return; const {drag: t, dragConstraints: n} = this.getProps() , {projection: r} = this.visualElement; if (!ei(n) || !r || !this.constraints) return; this.stopAnimation(); const i = { x: 0, y: 0 }; Kt(s => { const a = this.getAxisMotionValue(s); if (a && this.constraints !== !1) { const l = a.get(); i[s] = Aj({ min: l, max: l }, this.constraints[s]) } } ); const {transformTemplate: o} = this.visualElement.getProps(); this.visualElement.current.style.transform = o ? o({}, "") : "none", r.root && r.root.updateScroll(), r.updateLayout(), this.constraints = !1, this.resolveConstraints(), Kt(s => { if (!ia(s, t, null)) return; const a = this.getAxisMotionValue(s) , {min: l, max: u} = this.constraints[s]; a.set(fe(l, u, i[s])) } ), this.visualElement.render() } addListeners() { if (!this.visualElement.current) return; Mj.set(this.visualElement, this); const t = this.visualElement.current , n = _o(t, "pointerdown", u => { const {drag: c, dragListener: d=!0} = this.getProps() , f = u.target , h = f !== t && hN(f); c && d && !h && this.start(u) } ); let r; const i = () => { const {dragConstraints: u} = this.getProps(); ei(u) && u.current && (this.constraints = this.resolveRefConstraints(), r || (r = Dj(t, u.current, () => this.scalePositionWithinConstraints()))) } , {projection: o} = this.visualElement , s = o.addEventListener("measure", i); o && !o.layout && (o.root && o.root.updateScroll(), o.updateLayout()), ie.read(i); const a = fs(window, "resize", () => this.scalePositionWithinConstraints()) , l = o.addEventListener("didUpdate", ({delta: u, hasLayoutChanged: c}) => { this.isDragging && c && (Kt(d => { const f = this.getAxisMotionValue(d); f && (this.originPoint[d] += u[d].translate, f.set(f.get() + u[d].translate)) } ), this.visualElement.render()) } ); return () => { a(), n(), s(), l && l(), r && r() } } getProps() { const t = this.visualElement.getProps() , {drag: n=!1, dragDirectionLock: r=!1, dragPropagation: i=!1, dragConstraints: o=!1, dragElastic: s=Td, dragMomentum: a=!0} = t; return { ...t, drag: n, dragDirectionLock: r, dragPropagation: i, dragConstraints: o, dragElastic: s, dragMomentum: a } } } function Fg(e) { let t = !0; return () => { if (t) { t = !1; return } e() } } function Dj(e, t, n) { const r = Um(e, Fg(n)) , i = Um(t, Fg(n)); return () => { r(), i() } } function ia(e, t, n) { return (t === !0 || t === e) && (n === null || n === e) } function Lj(e, t=10) { let n = null; return Math.abs(e.y) > t ? n = "y" : Math.abs(e.x) > t && (n = "x"), n } class Oj extends hr { constructor(t) { super(t), this.removeGroupControls = wt, this.removeListeners = wt, this.controls = new jj(t) } mount() { const {dragControls: t} = this.node.getProps(); t && (this.removeGroupControls = t.subscribe(this.controls)), this.removeListeners = this.controls.addListeners() || wt } update() { const {dragControls: t} = this.node.getProps() , {dragControls: n} = this.node.prevProps || {}; t !== n && (this.removeGroupControls(), t && (this.removeGroupControls = t.subscribe(this.controls))) } unmount() { this.removeGroupControls(), this.removeListeners(), this.controls.isDragging || this.controls.endPanSession() } } const $u = e => (t, n) => { e && ie.update( () => e(t, n), !1, !0) } ; class Ij extends hr { constructor() { super(...arguments), this.removePointerDownListener = wt } onPointerDown(t) { this.session = new Mw(t,this.createPanHandlers(),{ transformPagePoint: this.node.getTransformPagePoint(), contextWindow: Nw(this.node) }) } createPanHandlers() { const {onPanSessionStart: t, onPanStart: n, onPan: r, onPanEnd: i} = this.node.getProps(); return { onSessionStart: $u(t), onStart: $u(n), onMove: $u(r), onEnd: (o, s) => { delete this.session, i && ie.postRender( () => i(o, s)) } } } mount() { this.removePointerDownListener = _o(this.node.current, "pointerdown", t => this.onPointerDown(t)) } update() { this.session && this.session.updateHandlers(this.createPanHandlers()) } unmount() { this.removePointerDownListener(), this.session && this.session.end() } } let Uu = !1; class Fj extends S.Component { componentDidMount() { const {visualElement: t, layoutGroup: n, switchLayoutGroup: r, layoutId: i} = this.props , {projection: o} = t; o && (n.group && n.group.add(o), r && r.register && i && r.register(o), Uu && o.root.didUpdate(), o.addEventListener("animationComplete", () => { this.safeToRemove() } ), o.setOptions({ ...o.options, layoutDependency: this.props.layoutDependency, onExitComplete: () => this.safeToRemove() })), Pa.hasEverUpdated = !0 } getSnapshotBeforeUpdate(t) { const {layoutDependency: n, visualElement: r, drag: i, isPresent: o} = this.props , {projection: s} = r; return s && (s.isPresent = o, t.layoutDependency !== n && s.setOptions({ ...s.options, layoutDependency: n }), Uu = !0, i || t.layoutDependency !== n || n === void 0 || t.isPresent !== o ? s.willUpdate() : this.safeToRemove(), t.isPresent !== o && (o ? s.promote() : s.relegate() || ie.postRender( () => { const a = s.getStack(); (!a || !a.members.length) && this.safeToRemove() } ))), null } componentDidUpdate() { const {projection: t} = this.props.visualElement; t && (t.root.didUpdate(), dh.postRender( () => { !t.currentAnimation && t.isLead() && this.safeToRemove() } )) } componentWillUnmount() { const {visualElement: t, layoutGroup: n, switchLayoutGroup: r} = this.props , {projection: i} = t; Uu = !0, i && (i.scheduleCheckAfterUnmount(), n && n.group && n.group.remove(i), r && r.deregister && r.deregister(i)) } safeToRemove() { const {safeToRemove: t} = this.props; t && t() } render() { return null } } function Dw(e) { const [t,n] = ww() , r = S.useContext(Hf); return p.jsx(Fj, { ...e, layoutGroup: r, switchLayoutGroup: S.useContext(Aw), isPresent: t, safeToRemove: n }) } const Vj = { pan: { Feature: Ij }, drag: { Feature: Oj, ProjectionNode: xw, MeasureLayout: Dw } }; function Vg(e, t, n) { const {props: r} = e; e.animationState && r.whileHover && e.animationState.setActive("whileHover", n === "Start"); const i = "onHover" + n , o = r[i]; o && ie.postRender( () => o(t, ks(t))) } class _j extends hr { mount() { const {current: t} = this.node; t && (this.unmount = uN(t, (n, r) => (Vg(this.node, r, "Start"), i => Vg(this.node, i, "End")))) } unmount() {} } class zj extends hr { constructor() { super(...arguments), this.isActive = !1 } onFocus() { let t = !1; try { t = this.node.current.matches(":focus-visible") } catch { t = !0 } !t || !this.node.animationState || (this.node.animationState.setActive("whileFocus", !0), this.isActive = !0) } onBlur() { !this.isActive || !this.node.animationState || (this.node.animationState.setActive("whileFocus", !1), this.isActive = !1) } mount() { this.unmount = Es(fs(this.node.current, "focus", () => this.onFocus()), fs(this.node.current, "blur", () => this.onBlur())) } unmount() {} } function _g(e, t, n) { const {props: r} = e; if (e.current instanceof HTMLButtonElement && e.current.disabled) return; e.animationState && r.whileTap && e.animationState.setActive("whileTap", n === "Start"); const i = "onTap" + (n === "End" ? "" : n) , o = r[i]; o && ie.postRender( () => o(t, ks(t))) } class Bj extends hr { mount() { const {current: t} = this.node; if (!t) return; const {globalTapTarget: n, propagate: r} = this.node.props; this.unmount = mN(t, (i, o) => (_g(this.node, o, "Start"), (s, {success: a}) => _g(this.node, s, a ? "End" : "Cancel")), { useGlobalTarget: n, stopPropagation: (r == null ? void 0 : r.tap) === !1 }) } unmount() {} } const Pd = new WeakMap , Wu = new WeakMap , $j = e => { const t = Pd.get(e.target); t && t(e) } , Uj = e => { e.forEach($j) } ; function Wj({root: e, ...t}) { const n = e || document; Wu.has(n) || Wu.set(n, {}); const r = Wu.get(n) , i = JSON.stringify(t); return r[i] || (r[i] = new IntersectionObserver(Uj,{ root: e, ...t })), r[i] } function Hj(e, t, n) { const r = Wj(t); return Pd.set(e, n), r.observe(e), () => { Pd.delete(e), r.unobserve(e) } } const Kj = { some: 0, all: 1 }; class Gj extends hr { constructor() { super(...arguments), this.hasEnteredView = !1, this.isInView = !1 } startObserver() { this.unmount(); const {viewport: t={}} = this.node.getProps() , {root: n, margin: r, amount: i="some", once: o} = t , s = { root: n ? n.current : void 0, rootMargin: r, threshold: typeof i == "number" ? i : Kj[i] } , a = l => { const {isIntersecting: u} = l; if (this.isInView === u || (this.isInView = u, o && !u && this.hasEnteredView)) return; u && (this.hasEnteredView = !0), this.node.animationState && this.node.animationState.setActive("whileInView", u); const {onViewportEnter: c, onViewportLeave: d} = this.node.getProps() , f = u ? c : d; f && f(l) } ; return Hj(this.node.current, s, a) } mount() { this.startObserver() } update() { if (typeof IntersectionObserver > "u") return; const {props: t, prevProps: n} = this.node; ["amount", "margin", "root"].some(Qj(t, n)) && this.startObserver() } unmount() {} } function Qj({viewport: e={}}, {viewport: t={}}={}) { return n => e[n] !== t[n] } const qj = { inView: { Feature: Gj }, tap: { Feature: Bj }, focus: { Feature: zj }, hover: { Feature: _j } } , Yj = { layout: { ProjectionNode: xw, MeasureLayout: Dw } } , Xj = { ...wj, ...qj, ...Vj, ...Yj } , pe = mj(Xj, gj) , Lw = "/assets/logo-horizontal-C8EgjAEx.png" , zg = [{ label: "Home", href: "/" }, { label: "Sobre Nós", href: "/sobre" }, { label: "Áreas de Atuação", href: "/areas" }, { label: "Especialistas", href: "/especialistas" }, { label: "Insights", href: "/insights" }, { label: "Contato", href: "/contato" }] , io = () => { const [e,t] = S.useState(!1) , n = Xi(); return p.jsxs("header", { className: "fixed top-0 left-0 right-0 z-50 bg-card/95 backdrop-blur-sm border-b border-border", children: [p.jsx("div", { className: "max-w-[1400px] mx-auto px-6 md:px-12 lg:px-20", children: p.jsxs("div", { className: "flex items-center justify-between h-20", children: [p.jsx(lt, { to: "/", className: "flex items-center gap-3", children: p.jsx("img", { src: Lw, alt: "Louback & Aquino Advogados Associados", className: "h-10" }) }), p.jsx("nav", { className: "hidden lg:flex items-center gap-8", children: zg.map(r => p.jsx(lt, { to: r.href, className: `nav-link ${n.pathname === r.href ? "text-gold-accent" : ""}`, children: r.label }, r.href)) }), p.jsx("button", { onClick: () => t(!e), className: "lg:hidden text-primary", "aria-label": "Menu", children: e ? p.jsx(ax, { size: 24 }) : p.jsx(MP, { size: 24 }) })] }) }), p.jsx(Sw, { children: e && p.jsx(pe.div, { initial: { opacity: 0, height: 0 }, animate: { opacity: 1, height: "auto" }, exit: { opacity: 0, height: 0 }, className: "lg:hidden bg-card border-b border-border overflow-hidden", children: p.jsx("nav", { className: "px-6 py-8 flex flex-col gap-6", children: zg.map(r => p.jsx(lt, { to: r.href, onClick: () => t(!1), className: `nav-link text-base ${n.pathname === r.href ? "text-gold-accent" : ""}`, children: r.label }, r.href)) }) }) })] }) } , oo = () => p.jsx("footer", { className: "bg-navy text-primary-foreground", children: p.jsxs("div", { className: "max-w-[1400px] mx-auto px-6 md:px-12 lg:px-20 py-20", children: [p.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-12 mb-16", children: [p.jsxs("div", { className: "lg:col-span-2", children: [p.jsx("img", { src: Lw, alt: "Louback & Aquino Advogados Associados", className: "h-12 mb-2 brightness-0 invert" }), p.jsx("p", { className: "text-ice/70 font-body text-sm leading-relaxed max-w-md", children: "Advogados Associados. Atuação 360° Full Service com excelência, estratégia e resultados para questões jurídicas complexas." })] }), p.jsxs("div", { children: [p.jsx("h4", { className: "font-body text-xs uppercase tracking-[0.15em] text-gold mb-6 !text-gold", children: "Navegação" }), p.jsx("ul", { className: "space-y-3", children: ["Sobre Nós", "Áreas de Atuação", "Especialistas", "Insights", "Contato"].map(e => p.jsx("li", { children: p.jsx(lt, { to: `/${e.toLowerCase().replace(/s/g, "-").normalize("NFD").replace(/[u0300-u036f]/g, "")}`, className: "text-ice/60 hover:text-gold text-sm font-body transition-colors duration-300", children: e }) }, e)) })] }), p.jsxs("div", { children: [p.jsx("h4", { className: "font-body text-xs uppercase tracking-[0.15em] text-gold mb-6 !text-gold", children: "Contato" }), p.jsxs("div", { className: "space-y-3 text-ice/60 text-sm font-body", children: [p.jsx("p", { children: "[email protected]" }), p.jsx("p", { children: "+55 (11) 3000-0000" }), p.jsx("p", { children: "São Paulo · Brasília · Rio de Janeiro" })] })] })] }), p.jsxs("div", { className: "border-t border-ice/10 pt-8 flex flex-col md:flex-row justify-between items-center gap-4", children: [p.jsxs("p", { className: "text-ice/40 text-xs font-body", children: ["© ", new Date().getFullYear(), " Louback & Aquino Advogados Associados. Todos os direitos reservados."] }), p.jsx("p", { className: "text-ice/30 text-xs font-body", children: "OAB/SP · OAB/DF · OAB/RJ" })] })] }) }) , Zj = "/assets/hero-bg-mkhsHeRX.jpg" , Jj = () => p.jsxs("section", { className: "relative h-screen min-h-[700px] flex items-center overflow-hidden", children: [p.jsxs("div", { className: "absolute inset-0", children: [p.jsx("img", { src: Zj, alt: "Escritório Louback & Aquino", className: "w-full h-full object-cover" }), p.jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-navy/90 via-navy/75 to-navy/40" })] }), p.jsx("div", { className: "relative z-10 max-w-[1400px] mx-auto px-6 md:px-12 lg:px-20 w-full", children: p.jsxs(pe.div, { initial: { opacity: 0, y: 40 }, animate: { opacity: 1, y: 0 }, transition: { duration: 1, delay: .3 }, className: "max-w-2xl", children: [p.jsx("div", { className: "gold-line-wide mb-8" }), p.jsxs("h1", { className: "font-display text-4xl md:text-5xl lg:text-6xl xl:text-7xl !text-primary-foreground leading-[1.1] mb-6", children: ["Advocacia", p.jsx("br", {}), p.jsx("span", { className: "text-gold", children: "360° Full Service" })] }), p.jsx("p", { className: "font-body text-base md:text-lg text-ice/70 leading-relaxed mb-10 max-w-lg", children: "Soluções jurídicas integradas com a excelência e a discrição que problemas complexos exigem." }), p.jsxs("div", { className: "flex flex-col sm:flex-row gap-4", children: [p.jsxs(lt, { to: "/contato", className: "inline-flex items-center gap-3 bg-gold hover:bg-gold-dark text-primary font-body text-xs uppercase tracking-[0.15em] px-8 py-4 transition-colors duration-300", children: ["Agendar Consulta", p.jsx(ox, { size: 16 })] }), p.jsx(lt, { to: "/areas", className: "inline-flex items-center gap-3 border border-ice/30 hover:border-gold text-primary-foreground font-body text-xs uppercase tracking-[0.15em] px-8 py-4 transition-colors duration-300", children: "Áreas de Atuação" })] })] }) }), p.jsx(pe.div, { initial: { opacity: 0 }, animate: { opacity: 1 }, transition: { delay: 2 }, className: "absolute bottom-10 left-1/2 -translate-x-1/2", children: p.jsx("div", { className: "w-px h-12 bg-gradient-to-b from-gold/60 to-transparent" }) })] }) , _t = ({subtitle: e, title: t, description: n, align: r="left", light: i=!1}) => p.jsxs(pe.div, { initial: { opacity: 0, y: 24 }, whileInView: { opacity: 1, y: 0 }, viewport: { once: !0, margin: "-80px" }, transition: { duration: .7 }, className: `mb-16 ${r === "center" ? "text-center" : ""}`, children: [e && p.jsx("span", { className: "font-body text-xs uppercase tracking-[0.2em] text-gold-accent mb-4 block", children: e }), p.jsx("h2", { className: `font-display text-3xl md:text-4xl lg:text-5xl mb-4 ${i ? "!text-primary-foreground" : ""}`, children: t }), p.jsx("div", { className: `gold-line ${r === "center" ? "mx-auto" : ""} mb-6` }), n && p.jsx("p", { className: `font-body text-sm leading-relaxed max-w-xl ${i ? "text-ice/70" : "text-muted"} ${r === "center" ? "mx-auto" : ""}`, children: n })] }) , eD = [{ value: "25+", label: "Anos de Atuação" }, { value: "100+", label: "Especialistas" }, { value: "50+", label: "Áreas do Direito" }, { value: "3", label: "Escritórios no Brasil" }] , tD = () => p.jsx("section", { className: "section-padding", children: p.jsx("div", { className: "max-w-[1400px] mx-auto", children: p.jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-20 items-center", children: [p.jsxs("div", { children: [p.jsx(_t, { subtitle: "Quem Somos", title: "Excelência não é discurso. É prática.", description: "Louback & Aquino nasceu da convicção de que o Direito, exercido com rigor técnico e visão estratégica, é o instrumento mais poderoso de proteção patrimonial e institucional. Há mais de duas décadas, assessoramos empresas, famílias e indivíduos que exigem resultados — não promessas." }), p.jsx(pe.a, { href: "/sobre", initial: { opacity: 0 }, whileInView: { opacity: 1 }, viewport: { once: !0 }, className: "font-body text-xs uppercase tracking-[0.15em] text-gold-accent hover:text-gold-dark transition-colors", children: "Conheça nossa história →" })] }), p.jsx("div", { className: "grid grid-cols-2 gap-8", children: eD.map( (e, t) => p.jsxs(pe.div, { initial: { opacity: 0, y: 20 }, whileInView: { opacity: 1, y: 0 }, viewport: { once: !0 }, transition: { delay: t * .1 }, className: "text-center p-8 border border-border", children: [p.jsx("span", { className: "font-display text-4xl md:text-5xl text-gold block mb-2", children: e.value }), p.jsx("span", { className: "font-body text-xs uppercase tracking-[0.1em] text-muted", children: e.label })] }, e.label)) })] }) }) }) , nD = [{ icon: Xc, title: "Contencioso Cível", desc: "Litígios complexos com estratégia e precisão." }, { icon: qc, title: "Direito Empresarial", desc: "Assessoria corporativa e societária de alto nível." }, { icon: Qc, title: "Direito Trabalhista", desc: "Consultivo e contencioso trabalhista estratégico." }, { icon: Zc, title: "Direito Tributário", desc: "Planejamento e defesa fiscal para empresas." }, { icon: sx, title: "Direito de Família", desc: "Soluções discretas para questões familiares e sucessórias." }, { icon: Yc, title: "Direito Internacional", desc: "Operações cross-border e arbitragem internacional." }] , rD = () => p.jsx("section", { className: "section-padding bg-cream", children: p.jsxs("div", { className: "max-w-[1400px] mx-auto", children: [p.jsx(_t, { subtitle: "Áreas de Atuação", title: "Expertise 360° Full Service", description: "Mais de 50 áreas do direito cobertas por especialistas dedicados, com a profundidade e a visão integrada que cada caso exige." }), p.jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-px bg-border", children: nD.map( (e, t) => p.jsx(pe.div, { initial: { opacity: 0, y: 20 }, whileInView: { opacity: 1, y: 0 }, viewport: { once: !0 }, transition: { duration: .5, delay: t * .1 }, children: p.jsxs(lt, { to: "/areas", className: "block bg-card p-10 group hover:bg-primary transition-colors duration-500", children: [p.jsx(e.icon, { size: 28, className: "text-gold mb-6 transition-colors duration-500", strokeWidth: 1.2 }), p.jsx("h3", { className: "font-display text-xl mb-3 group-hover:!text-primary-foreground transition-colors duration-500", children: e.title }), p.jsx("p", { className: "font-body text-sm text-muted group-hover:text-ice/60 transition-colors duration-500 leading-relaxed", children: e.desc })] }) }, e.title)) }), p.jsx(pe.div, { initial: { opacity: 0 }, whileInView: { opacity: 1 }, viewport: { once: !0 }, className: "mt-12 text-center", children: p.jsx(lt, { to: "/areas", className: "font-body text-xs uppercase tracking-[0.15em] text-gold-accent hover:text-gold-dark transition-colors", children: "Ver todas as 50+ áreas →" }) })] }) }) , kd = "/assets/lawyer-1-DECzUNpx.jpg" , Ad = "/assets/lawyer-2-DKFJC5sl.jpg" , Rd = "/assets/lawyer-3-CEzq3Kyl.jpg" , Nd = "/assets/lawyer-4-ChSBkrFr.jpg" , iD = [{ name: "Dr. Ricardo Louback", role: "Sócio Fundador", area: "Contencioso Cível", img: kd }, { name: "Dra. Mariana Aquino", role: "Sócia Fundadora", area: "Direito Empresarial", img: Ad }, { name: "Dr. Felipe Monteiro", role: "Sócio", area: "Direito Tributário", img: Rd }, { name: "Dra. Helena Duarte", role: "Sócia", area: "Direito Internacional", img: Nd }] , oD = () => p.jsx("section", { className: "section-padding", children: p.jsxs("div", { className: "max-w-[1400px] mx-auto", children: [p.jsx(_t, { subtitle: "Nossos Especialistas", title: "Liderança que inspira confiança", description: "Um corpo jurídico de excelência, formado por mais de 100 profissionais com trajetórias consolidadas." }), p.jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-8", children: iD.map( (e, t) => p.jsx(pe.div, { initial: { opacity: 0, y: 24 }, whileInView: { opacity: 1, y: 0 }, viewport: { once: !0 }, transition: { duration: .6, delay: t * .15 }, children: p.jsxs(lt, { to: "/especialistas", className: "group block", children: [p.jsx("div", { className: "relative overflow-hidden mb-5 aspect-[3/4]", children: p.jsx("img", { src: e.img, alt: e.name, className: "w-full h-full object-cover photo-grayscale group-hover:scale-105 transition-transform duration-700", loading: "lazy" }) }), p.jsx("h3", { className: "font-display text-lg mb-1 group-hover:text-gold transition-colors duration-300", children: e.name }), p.jsx("p", { className: "font-body text-xs uppercase tracking-[0.1em] text-gold-accent mb-1", children: e.role }), p.jsx("p", { className: "font-body text-sm text-muted", children: e.area })] }) }, e.name)) }), p.jsx(pe.div, { initial: { opacity: 0 }, whileInView: { opacity: 1 }, viewport: { once: !0 }, className: "mt-14 text-center", children: p.jsx(lt, { to: "/especialistas", className: "inline-flex items-center gap-2 border border-primary hover:border-gold hover:text-gold font-body text-xs uppercase tracking-[0.15em] px-8 py-4 transition-colors duration-300", children: "Ver Todos os Especialistas" }) })] }) }) , sD = [{ category: "Direito Tributário", title: "Reforma Tributária: O Que Muda Para Empresas em 2026", excerpt: "Análise técnica das principais alterações e seus impactos na governança corporativa.", date: "10 Mar 2026" }, { category: "Direito Empresarial", title: "M&A: Due Diligence em Operações Cross-Border", excerpt: "Framework estratégico para mitigação de riscos em aquisições internacionais.", date: "05 Mar 2026" }, { category: "Contencioso", title: "Arbitragem Institucional: Tendências e Perspectivas", excerpt: "O crescimento da arbitragem como solução eficaz para disputas comerciais complexas.", date: "28 Fev 2026" }] , aD = () => p.jsx("section", { className: "section-padding bg-navy", children: p.jsxs("div", { className: "max-w-[1400px] mx-auto", children: [p.jsx(_t, { subtitle: "Artigos & Insights", title: "Inteligência jurídica aplicada", light: !0 }), p.jsx("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-px", children: sD.map( (e, t) => p.jsx(pe.article, { initial: { opacity: 0, y: 20 }, whileInView: { opacity: 1, y: 0 }, viewport: { once: !0 }, transition: { duration: .6, delay: t * .15 }, className: "group", children: p.jsxs(lt, { to: "/insights", className: "block p-8 md:p-10 border border-ice/10 hover:border-gold/30 transition-colors duration-500 h-full", children: [p.jsx("span", { className: "font-body text-[0.65rem] uppercase tracking-[0.2em] text-gold mb-4 block", children: e.category }), p.jsx("h3", { className: "font-display text-xl md:text-2xl !text-primary-foreground mb-4 group-hover:text-gold transition-colors duration-300 leading-tight", children: e.title }), p.jsx("p", { className: "font-body text-sm text-ice/50 leading-relaxed mb-6", children: e.excerpt }), p.jsx("span", { className: "font-body text-xs text-ice/30", children: e.date })] }) }, e.title)) }), p.jsx(pe.div, { initial: { opacity: 0 }, whileInView: { opacity: 1 }, viewport: { once: !0 }, className: "mt-12 text-center", children: p.jsx(lt, { to: "/insights", className: "font-body text-xs uppercase tracking-[0.15em] text-gold hover:text-primary-foreground transition-colors", children: "Todos os artigos →" }) })] }) }) , lD = () => p.jsx("section", { className: "section-padding", children: p.jsx("div", { className: "max-w-[1400px] mx-auto text-center", children: p.jsxs(pe.div, { initial: { opacity: 0, y: 24 }, whileInView: { opacity: 1, y: 0 }, viewport: { once: !0 }, transition: { duration: .8 }, children: [p.jsx("div", { className: "gold-line mx-auto mb-8" }), p.jsx("h2", { className: "font-display text-3xl md:text-4xl lg:text-5xl mb-6", children: "Pronto para resolver?" }), p.jsx("p", { className: "font-body text-sm text-muted max-w-md mx-auto mb-10 leading-relaxed", children: "Nossa equipe de concierge jurídico está pronta para entender sua demanda e direcioná-lo ao especialista ideal." }), p.jsxs(lt, { to: "/contato", className: "inline-flex items-center gap-3 bg-gold hover:bg-gold-dark text-primary font-body text-xs uppercase tracking-[0.15em] px-10 py-4 transition-colors duration-300", children: ["Agendar Consulta Prévia", p.jsx(ox, { size: 16 })] })] }) }) }) , so = () => p.jsx("a", { href: "https://wa.me/5511930000000?text=Ol%C3%A1%2C%20gostaria%20de%20agendar%20uma%20consulta.", target: "_blank", rel: "noopener noreferrer", className: "fixed bottom-8 right-8 z-50 bg-gold hover:bg-gold-dark text-primary w-14 h-14 rounded-full flex items-center justify-center shadow-lg transition-colors duration-300", "aria-label": "Contato via WhatsApp", children: p.jsx(jP, { size: 24, strokeWidth: 1.5 }) }) , uD = () => p.jsxs(p.Fragment, { children: [p.jsx(io, {}), p.jsxs("main", { children: [p.jsx(Jj, {}), p.jsx(tD, {}), p.jsx(rD, {}), p.jsx(oD, {}), p.jsx(aD, {}), p.jsx(lD, {})] }), p.jsx(oo, {}), p.jsx(so, {})] }) , cD = [{ year: "2001", text: "Fundação do escritório em São Paulo por Ricardo Louback e Mariana Aquino." }, { year: "2008", text: "Expansão para Brasília, consolidando atuação em Direito Público e Regulatório." }, { year: "2015", text: "Abertura do escritório no Rio de Janeiro e marco de 50 profissionais." }, { year: "2020", text: "Reconhecimento internacional e adoção de tecnologia jurídica de ponta." }, { year: "2024", text: "Mais de 100 especialistas e atuação em 50+ áreas do Direito." }] , dD = () => p.jsxs(p.Fragment, { children: [p.jsx(io, {}), p.jsxs("main", { className: "pt-20", children: [p.jsx("section", { className: "section-padding bg-navy", children: p.jsx("div", { className: "max-w-[1400px] mx-auto", children: p.jsx(_t, { subtitle: "Manifesto", title: "Soberania é construída com disciplina, não com acaso.", description: "Desde 2001, o escritório Louback & Aquino se consolidou como referência em advocacia estratégica de alto padrão. Nosso compromisso é com resultados — mensuráveis, consistentes e definitivos.", light: !0 }) }) }), p.jsx("section", { className: "section-padding", children: p.jsxs("div", { className: "max-w-[1400px] mx-auto", children: [p.jsx(_t, { subtitle: "Nossa Trajetória", title: "Marcos que definem quem somos" }), p.jsxs("div", { className: "relative", children: [p.jsx("div", { className: "absolute left-4 md:left-1/2 top-0 bottom-0 w-px bg-border" }), cD.map( (e, t) => p.jsxs(pe.div, { initial: { opacity: 0, x: t % 2 === 0 ? -30 : 30 }, whileInView: { opacity: 1, x: 0 }, viewport: { once: !0 }, transition: { duration: .6 }, className: `relative flex items-start gap-8 mb-12 ${t % 2 === 0 ? "md:flex-row" : "md:flex-row-reverse"}`, children: [p.jsxs("div", { className: `flex-1 ${t % 2 === 0 ? "md:text-right" : ""} pl-12 md:pl-0`, children: [p.jsx("span", { className: "font-display text-3xl text-gold block mb-2", children: e.year }), p.jsx("p", { className: "font-body text-sm text-muted leading-relaxed", children: e.text })] }), p.jsx("div", { className: "absolute left-2 md:left-1/2 md:-translate-x-1/2 w-4 h-4 rounded-full bg-gold border-4 border-card mt-2" }), p.jsx("div", { className: "flex-1 hidden md:block" })] }, e.year))] })] }) }), p.jsx("section", { className: "section-padding bg-cream", children: p.jsx("div", { className: "max-w-[1400px] mx-auto", children: p.jsx(_t, { subtitle: "Responsabilidade", title: "Diversidade, Equidade & Inclusão", description: "Acreditamos que a excelência jurídica nasce da pluralidade de perspectivas. Nosso compromisso com DEI é estrutural, não decorativo — refletido em políticas de contratação, promoção e governança." }) }) })] }), p.jsx(oo, {}), p.jsx(so, {})] }) , fD = ["Todas", "Empresarial", "Contencioso", "Consultivo", "Regulatório", "Família & Sucessões", "Internacional"] , Bg = [{ icon: Xc, name: "Contencioso Cível", cat: "Contencioso", desc: "Atuação estratégica em litígios de alta complexidade, com foco em disputas contratuais, responsabilidade civil, ações indenizatórias e execuções judiciais. Nossa equipe conduz cada caso com análise profunda e busca pelos melhores resultados." }, { icon: qc, name: "Direito Empresarial", cat: "Empresarial", desc: "Assessoria jurídica completa para empresas de todos os portes, abrangendo constituição societária, governança corporativa, operações de M&A, joint ventures e reestruturações empresariais." }, { icon: Qc, name: "Direito Trabalhista", cat: "Contencioso", desc: "Consultoria preventiva e contencioso trabalhista estratégico, incluindo negociações coletivas, compliance trabalhista, auditorias e defesa em reclamações de alta complexidade." }, { icon: Zc, name: "Direito Tributário", cat: "Consultivo", desc: "Planejamento tributário sofisticado, defesa em autos de infração, recuperação de créditos fiscais e consultoria em operações com impacto fiscal relevante nos âmbitos federal, estadual e municipal." }, { icon: sx, name: "Direito de Família", cat: "Família & Sucessões", desc: "Atuação sensível e discreta em divórcios, guarda, pensão alimentícia, regime de bens, união estável e questões patrimoniais familiares, sempre priorizando soluções consensuais." }, { icon: Yc, name: "Direito Internacional", cat: "Internacional", desc: "Assessoria em operações transfronteiriças, contratos internacionais, arbitragem internacional, imigração empresarial e conformidade regulatória em múltiplas jurisdições." }, { icon: am, name: "Direito Constitucional", cat: "Regulatório", desc: "Atuação em ações constitucionais, controle de constitucionalidade, mandados de segurança e questões envolvendo direitos fundamentais e a relação entre Estado e particulares." }, { icon: TP, name: "Contratos", cat: "Empresarial", desc: "Elaboração, revisão e negociação de contratos nacionais e internacionais de alta complexidade, incluindo contratos de tecnologia, franquias, licenciamento e operações imobiliárias." }, { icon: PP, name: "Arbitragem", cat: "Contencioso", desc: "Representação em procedimentos arbitrais nacionais e internacionais junto às principais câmaras, com expertise em disputas comerciais, societárias e de construção civil." }, { icon: kP, name: "Direito Sucessório", cat: "Família & Sucessões", desc: "Planejamento sucessório patrimonial, elaboração de testamentos, inventários judiciais e extrajudiciais, holdings familiares e estruturação de governança familiar." }, { icon: AP, name: "Direito Ambiental", cat: "Regulatório", desc: "Consultoria em licenciamento ambiental, compliance ESG, defesa em ações civis públicas, remediação de passivos ambientais e assessoria em créditos de carbono." }, { icon: CP, name: "Direito Digital & LGPD", cat: "Consultivo", desc: "Adequação à LGPD, implementação de programas de privacidade, resposta a incidentes de segurança, contratos de tecnologia e assessoria em propriedade intelectual digital." }, { icon: qc, name: "M&A e Societário", cat: "Empresarial", desc: "Condução de operações de fusões e aquisições, due diligence, estruturação de investimentos, acordos de acionistas e reorganizações societárias complexas." }, { icon: Zc, name: "Compliance", cat: "Consultivo", desc: "Implantação e monitoramento de programas de compliance anticorrupção, canais de denúncia, investigações internas e treinamentos corporativos alinhados às melhores práticas." }, { icon: Xc, name: "Recuperação Judicial", cat: "Contencioso", desc: "Assessoria a devedores e credores em processos de recuperação judicial e falência, negociação de planos de recuperação e reestruturação de dívidas corporativas." }, { icon: am, name: "Direito Administrativo", cat: "Regulatório", desc: "Atuação em licitações e contratos administrativos, concessões, PPPs, processos administrativos disciplinares e relações com órgãos reguladores." }, { icon: Yc, name: "Comércio Exterior", cat: "Internacional", desc: "Assessoria em importação e exportação, classificação fiscal de mercadorias, regimes aduaneiros especiais, defesa comercial e acordos de livre comércio." }, { icon: Qc, name: "Direito Previdenciário", cat: "Consultivo", desc: "Consultoria em benefícios previdenciários, aposentadorias especiais, planejamento previdenciário para empresas e profissionais liberais, e contencioso junto ao INSS." }] , hD = () => { const [e,t] = S.useState("Todas") , [n,r] = S.useState(null) , i = e === "Todas" ? Bg : Bg.filter(s => s.cat === e) , o = s => { r(n === s ? null : s) } ; return p.jsxs(p.Fragment, { children: [p.jsx(io, {}), p.jsx("main", { className: "pt-20", children: p.jsx("section", { className: "section-padding", children: p.jsxs("div", { className: "max-w-[1400px] mx-auto", children: [p.jsx(_t, { subtitle: "360° Full Service", title: "Áreas de Atuação", description: "Navegue por nosso portfólio completo de especialidades jurídicas. Cada área é liderada por um time dedicado de especialistas." }), p.jsx("div", { className: "flex flex-wrap gap-2 mb-12", children: fD.map(s => p.jsx("button", { onClick: () => { t(s), r(null) } , className: `font-body text-xs uppercase tracking-[0.1em] px-5 py-2.5 border transition-all duration-300 ${e === s ? "bg-primary text-primary-foreground border-primary" : "border-border text-muted hover:border-gold hover:text-gold"}`, children: s }, s)) }), p.jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-px bg-border", children: i.map( (s, a) => p.jsxs(pe.div, { layout: !0, initial: { opacity: 0 }, animate: { opacity: 1 }, transition: { duration: .3, delay: a * .05 }, className: "bg-card", children: [p.jsx("button", { onClick: () => o(s.name), className: "w-full text-left p-8 group hover:bg-cream transition-colors duration-300 cursor-pointer", children: p.jsxs("div", { className: "flex items-start justify-between", children: [p.jsxs("div", { children: [p.jsx(s.icon, { size: 24, className: "text-gold mb-4", strokeWidth: 1.2 }), p.jsx("h3", { className: "font-display text-lg mb-2", children: s.name }), p.jsx("span", { className: "font-body text-xs text-muted uppercase tracking-wider", children: s.cat })] }), p.jsx(SP, { size: 18, className: `text-muted mt-1 transition-transform duration-300 ${n === s.name ? "rotate-180" : ""}`, strokeWidth: 1.5 })] }) }), p.jsx(Sw, { children: n === s.name && p.jsx(pe.div, { initial: { height: 0, opacity: 0 }, animate: { height: "auto", opacity: 1 }, exit: { height: 0, opacity: 0 }, transition: { duration: .3, ease: "easeInOut" }, className: "overflow-hidden", children: p.jsx("div", { className: "px-8 pb-8 pt-0 border-t border-border", children: p.jsx("p", { className: "font-body text-sm text-muted leading-relaxed pt-4", children: s.desc }) }) }) })] }, s.name)) })] }) }) }), p.jsx(oo, {}), p.jsx(so, {})] }) } , pD = [{ name: "Dr. Ricardo Louback", role: "Sócio Fundador", area: "Contencioso Cível", seniority: "Sócio", img: kd, email: "[email protected]", phone: "+5511930000001" }, { name: "Dra. Mariana Aquino", role: "Sócia Fundadora", area: "Direito Empresarial", seniority: "Sócio", img: Ad, email: "[email protected]", phone: "+5511930000002" }, { name: "Dr. Felipe Monteiro", role: "Sócio", area: "Direito Tributário", seniority: "Sócio", img: Rd, email: "[email protected]", phone: "+5511930000003" }, { name: "Dra. Helena Duarte", role: "Sócia", area: "Direito Internacional", seniority: "Sócio", img: Nd, email: "[email protected]", phone: "+5511930000004" }, { name: "Dr. André Bastos", role: "Counsel", area: "Direito Trabalhista", seniority: "Counsel", img: kd, email: "[email protected]", phone: "+5511930000005" }, { name: "Dra. Camila Rezende", role: "Associada Sênior", area: "Direito Digital & LGPD", seniority: "Associado", img: Ad, email: "[email protected]", phone: "+5511930000006" }, { name: "Dr. Lucas Ferreira", role: "Associado", area: "Arbitragem", seniority: "Associado", img: Rd, email: "[email protected]", phone: "+5511930000007" }, { name: "Dra. Beatriz Almeida", role: "Associada", area: "Compliance", seniority: "Associado", img: Nd, email: "[email protected]", phone: "+5511930000008" }] , mD = ["Todos", "Sócio", "Counsel", "Associado"] , gD = e => { const t = `BEGIN:VCARD VERSION:3.0 FN:${e.name} ORG:Louback & Aquino Advogados Associados TITLE:${e.role} TEL;TYPE=WORK:${e.phone} EMAIL;TYPE=WORK:${e.email} END:VCARD` , n = new Blob([t],{ type: "text/vcard" }) , r = URL.createObjectURL(n) , i = document.createElement("a"); i.href = r, i.download = `${e.name.replace(/s/g, "_")}.vcf`, i.click(), URL.revokeObjectURL(r) } , yD = () => { const [e,t] = S.useState("") , [n,r] = S.useState("Todos") , [i,o] = S.useState(null) , s = pD.filter(a => { const l = a.name.toLowerCase().includes(e.toLowerCase()) || a.area.toLowerCase().includes(e.toLowerCase()) , u = n === "Todos" || a.seniority === n; return l && u } ); return p.jsxs(p.Fragment, { children: [p.jsx(io, {}), p.jsxs("main", { className: "pt-20", children: [p.jsx("section", { className: "section-padding", children: p.jsxs("div", { className: "max-w-[1400px] mx-auto", children: [p.jsx(_t, { subtitle: "Nossos Especialistas", title: "O Diretório", description: "Encontre o profissional ideal para sua demanda. Filtre por nome, área ou senioridade." }), p.jsxs("div", { className: "flex flex-col md:flex-row gap-4 mb-12", children: [p.jsx("input", { type: "text", placeholder: "Buscar por nome ou área...", value: e, onChange: a => t(a.target.value), className: "flex-1 font-body text-sm px-6 py-3 border border-border bg-card focus:border-gold focus:outline-none transition-colors" }), p.jsx("div", { className: "flex gap-2", children: mD.map(a => p.jsx("button", { onClick: () => r(a), className: `font-body text-xs uppercase tracking-[0.1em] px-5 py-3 border transition-all duration-300 ${n === a ? "bg-primary text-primary-foreground border-primary" : "border-border text-muted hover:border-gold hover:text-gold"}`, children: a }, a)) })] }), p.jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-8", children: s.map( (a, l) => p.jsxs(pe.div, { layout: !0, initial: { opacity: 0, y: 20 }, animate: { opacity: 1, y: 0 }, transition: { duration: .4, delay: l * .05 }, className: "cursor-pointer", onClick: () => o(a), children: [p.jsx("div", { className: "relative overflow-hidden mb-4 aspect-[3/4]", children: p.jsx("img", { src: a.img, alt: a.name, className: "w-full h-full object-cover photo-grayscale hover:scale-105 transition-transform duration-700", loading: "lazy" }) }), p.jsx("h3", { className: "font-display text-lg mb-1", children: a.name }), p.jsx("p", { className: "font-body text-xs uppercase tracking-[0.1em] text-gold-accent mb-1", children: a.role }), p.jsx("p", { className: "font-body text-sm text-muted", children: a.area })] }, a.email)) })] }) }), i && p.jsx(pe.div, { initial: { opacity: 0 }, animate: { opacity: 1 }, className: "fixed inset-0 z-50 flex items-center justify-center bg-navy/80 backdrop-blur-sm p-6", onClick: () => o(null), children: p.jsxs(pe.div, { initial: { opacity: 0, scale: .95 }, animate: { opacity: 1, scale: 1 }, className: "bg-card max-w-lg w-full p-10 relative", onClick: a => a.stopPropagation(), children: [p.jsx("button", { onClick: () => o(null), className: "absolute top-4 right-4 text-muted hover:text-primary font-body text-sm", children: "✕" }), p.jsxs("div", { className: "flex gap-6 mb-6", children: [p.jsx("img", { src: i.img, alt: i.name, className: "w-24 h-32 object-cover" }), p.jsxs("div", { children: [p.jsx("h3", { className: "font-display text-2xl mb-1", children: i.name }), p.jsx("p", { className: "font-body text-xs uppercase tracking-[0.1em] text-gold-accent mb-2", children: i.role }), p.jsx("p", { className: "font-body text-sm text-muted", children: i.area })] })] }), p.jsxs("p", { className: "font-body text-sm text-muted leading-relaxed mb-6", children: ["Profissional com ampla experiência em ", i.area, ", reconhecido pela abordagem estratégica e resultados consistentes em casos de alta complexidade."] }), p.jsxs("div", { className: "flex gap-3", children: [p.jsxs("button", { onClick: () => gD(i), className: "inline-flex items-center gap-2 bg-gold hover:bg-gold-dark text-primary font-body text-xs uppercase tracking-[0.1em] px-6 py-3 transition-colors duration-300", children: [p.jsx(EP, { size: 14 }), "Salvar Contato"] }), p.jsx("a", { href: "/contato", className: "inline-flex items-center gap-2 border border-primary hover:border-gold font-body text-xs uppercase tracking-[0.1em] px-6 py-3 transition-colors duration-300", children: "Agendar Consulta" })] })] }) })] }), p.jsx(oo, {}), p.jsx(so, {})] }) } , Jr = [{ category: "Direito Tributário", title: "Reforma Tributária: O Que Muda Para Empresas em 2026", excerpt: "Análise técnica das principais alterações e seus impactos diretos na governança corporativa e planejamento fiscal.", date: "10 Mar 2026", author: "Dr. Felipe Monteiro" }, { category: "Direito Empresarial", title: "M&A: Due Diligence em Operações Cross-Border", excerpt: "Framework estratégico para mitigação de riscos jurídicos em aquisições internacionais e fusões transfronteiriças.", date: "05 Mar 2026", author: "Dra. Mariana Aquino" }, { category: "Contencioso", title: "Arbitragem Institucional: Tendências e Perspectivas para 2026", excerpt: "O crescimento da arbitragem como solução eficaz para disputas comerciais complexas no cenário brasileiro.", date: "28 Fev 2026", author: "Dr. Ricardo Louback" }, { category: "Direito Digital", title: "LGPD na Prática: Compliance e Governança de Dados", excerpt: "Como empresas podem estruturar programas de conformidade eficazes e evitar sanções da ANPD.", date: "20 Fev 2026", author: "Dra. Camila Rezende" }, { category: "Direito Internacional", title: "Contratos Internacionais: Cláusulas Essenciais", excerpt: "Aspectos críticos na redação de contratos cross-border e a escolha da lei aplicável.", date: "15 Fev 2026", author: "Dra. Helena Duarte" }, { category: "Direito Trabalhista", title: "Teletrabalho: Marco Regulatório e Riscos", excerpt: "Análise das obrigações patronais no regime de trabalho remoto e híbrido pós-pandemia.", date: "10 Fev 2026", author: "Dr. André Bastos" }] , vD = () => p.jsxs(p.Fragment, { children: [p.jsx(io, {}), p.jsx("main", { className: "pt-20", children: p.jsx("section", { className: "section-padding", children: p.jsxs("div", { className: "max-w-[1400px] mx-auto", children: [p.jsx(_t, { subtitle: "Artigos & Insights", title: "Inteligência jurídica aplicada", description: "Publicações, análises e pareceres de nossos especialistas sobre os temas que impactam negócios e patrimônio." }), p.jsxs(pe.article, { initial: { opacity: 0, y: 20 }, whileInView: { opacity: 1, y: 0 }, viewport: { once: !0 }, className: "border border-border p-8 md:p-12 mb-12 hover:border-gold/30 transition-colors duration-300 cursor-pointer", children: [p.jsxs("span", { className: "font-body text-[0.65rem] uppercase tracking-[0.2em] text-gold-accent mb-4 block", children: [Jr[0].category, " · Destaque"] }), p.jsx("h2", { className: "font-display text-2xl md:text-3xl mb-4 leading-tight", children: Jr[0].title }), p.jsx("p", { className: "font-body text-sm text-muted leading-relaxed mb-4 max-w-2xl", children: Jr[0].excerpt }), p.jsxs("div", { className: "flex items-center gap-4", children: [p.jsx("span", { className: "font-body text-xs text-muted", children: Jr[0].author }), p.jsx("span", { className: "text-border", children: "·" }), p.jsx("span", { className: "font-body text-xs text-muted", children: Jr[0].date })] })] }), p.jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-px bg-border", children: Jr.slice(1).map( (e, t) => p.jsxs(pe.article, { initial: { opacity: 0, y: 16 }, whileInView: { opacity: 1, y: 0 }, viewport: { once: !0 }, transition: { delay: t * .1 }, className: "bg-card p-8 hover:bg-cream transition-colors duration-300 cursor-pointer", children: [p.jsx("span", { className: "font-body text-[0.65rem] uppercase tracking-[0.2em] text-gold-accent mb-3 block", children: e.category }), p.jsx("h3", { className: "font-display text-lg mb-3 leading-tight", children: e.title }), p.jsx("p", { className: "font-body text-sm text-muted leading-relaxed mb-4", children: e.excerpt }), p.jsxs("div", { className: "flex items-center gap-3", children: [p.jsx("span", { className: "font-body text-xs text-muted", children: e.author }), p.jsx("span", { className: "text-border", children: "·" }), p.jsx("span", { className: "font-body text-xs text-muted", children: e.date })] })] }, e.title)) })] }) }) }), p.jsx(oo, {}), p.jsx(so, {})] }) , xD = [{ city: "São Paulo", address: "Av. Brigadeiro Faria Lima, 3477 · 15º andar · Itaim Bibi", phone: "+55 (11) 3000-0000" }, { city: "Brasília", address: "SCS Quadra 8, Bloco B-50 · Salas 1001/1010 · Asa Sul", phone: "+55 (61) 3000-0000" }, { city: "Rio de Janeiro", address: "Av. Rio Branco, 115 · 20º andar · Centro", phone: "+55 (21) 3000-0000" }] , wD = () => p.jsxs(p.Fragment, { children: [p.jsx(io, {}), p.jsx("main", { className: "pt-20", children: p.jsx("section", { className: "section-padding", children: p.jsxs("div", { className: "max-w-[1400px] mx-auto", children: [p.jsx(_t, { subtitle: "Concierge Jurídico", title: "Central de Atendimento", description: "Todo contato é centralizado em nossa equipe de triagem para garantir que sua demanda chegue ao especialista mais qualificado. Agende sua consulta prévia." }), p.jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-16", children: [p.jsxs(pe.div, { initial: { opacity: 0, x: -20 }, whileInView: { opacity: 1, x: 0 }, viewport: { once: !0 }, children: [p.jsx("h3", { className: "font-display text-2xl mb-6", children: "Agendar Consulta Prévia" }), p.jsxs("form", { className: "space-y-5", children: [p.jsxs("div", { children: [p.jsx("label", { className: "font-body text-xs uppercase tracking-[0.1em] text-muted block mb-2", children: "Nome Completo" }), p.jsx("input", { type: "text", className: "w-full font-body text-sm px-5 py-3.5 border border-border bg-card focus:border-gold focus:outline-none transition-colors", placeholder: "Seu nome" })] }), p.jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-5", children: [p.jsxs("div", { children: [p.jsx("label", { className: "font-body text-xs uppercase tracking-[0.1em] text-muted block mb-2", children: "E-mail" }), p.jsx("input", { type: "email", className: "w-full font-body text-sm px-5 py-3.5 border border-border bg-card focus:border-gold focus:outline-none transition-colors", placeholder: "[email protected]" })] }), p.jsxs("div", { children: [p.jsx("label", { className: "font-body text-xs uppercase tracking-[0.1em] text-muted block mb-2", children: "Telefone" }), p.jsx("input", { type: "tel", className: "w-full font-body text-sm px-5 py-3.5 border border-border bg-card focus:border-gold focus:outline-none transition-colors", placeholder: "+55 (11) 00000-0000" })] })] }), p.jsxs("div", { children: [p.jsx("label", { className: "font-body text-xs uppercase tracking-[0.1em] text-muted block mb-2", children: "Área de Interesse" }), p.jsxs("select", { className: "w-full font-body text-sm px-5 py-3.5 border border-border bg-card focus:border-gold focus:outline-none transition-colors text-muted", children: [p.jsx("option", { children: "Selecione uma área" }), p.jsx("option", { children: "Contencioso Cível" }), p.jsx("option", { children: "Direito Empresarial" }), p.jsx("option", { children: "Direito Tributário" }), p.jsx("option", { children: "Direito Trabalhista" }), p.jsx("option", { children: "Direito de Família" }), p.jsx("option", { children: "Direito Internacional" }), p.jsx("option", { children: "Direito Digital & LGPD" }), p.jsx("option", { children: "Outro" })] })] }), p.jsxs("div", { children: [p.jsx("label", { className: "font-body text-xs uppercase tracking-[0.1em] text-muted block mb-2", children: "Breve Descrição" }), p.jsx("textarea", { rows: 4, className: "w-full font-body text-sm px-5 py-3.5 border border-border bg-card focus:border-gold focus:outline-none transition-colors resize-none", placeholder: "Descreva brevemente sua demanda..." })] }), p.jsx("button", { type: "submit", className: "w-full bg-gold hover:bg-gold-dark text-primary font-body text-xs uppercase tracking-[0.15em] px-8 py-4 transition-colors duration-300", children: "Solicitar Agendamento" })] })] }), p.jsxs(pe.div, { initial: { opacity: 0, x: 20 }, whileInView: { opacity: 1, x: 0 }, viewport: { once: !0 }, children: [p.jsx("h3", { className: "font-display text-2xl mb-6", children: "Nossos Escritórios" }), p.jsx("div", { className: "space-y-8 mb-12", children: xD.map(e => p.jsxs("div", { className: "border border-border p-6", children: [p.jsx("h4", { className: "font-display text-lg mb-3", children: e.city }), p.jsxs("div", { className: "space-y-2", children: [p.jsxs("p", { className: "flex items-start gap-3 font-body text-sm text-muted", children: [p.jsx(NP, { size: 14, className: "text-gold mt-0.5 shrink-0" }), e.address] }), p.jsxs("p", { className: "flex items-center gap-3 font-body text-sm text-muted", children: [p.jsx(DP, { size: 14, className: "text-gold shrink-0" }), e.phone] })] })] }, e.city)) }), p.jsxs("div", { className: "border border-border p-6", children: [p.jsx("h4", { className: "font-display text-lg mb-4", children: "Informações Gerais" }), p.jsxs("div", { className: "space-y-3", children: [p.jsxs("p", { className: "flex items-center gap-3 font-body text-sm text-muted", children: [p.jsx(RP, { size: 14, className: "text-gold shrink-0" }), "[email protected]"] }), p.jsxs("p", { className: "flex items-center gap-3 font-body text-sm text-muted", children: [p.jsx(bP, { size: 14, className: "text-gold shrink-0" }), "Seg–Sex · 9h às 18h"] })] })] })] })] })] }) }) }), p.jsx(oo, {}), p.jsx(so, {})] }) , SD = () => { const e = Xi(); return S.useEffect( () => { console.error("404 Error: User attempted to access non-existent route:", e.pathname) } , [e.pathname]), p.jsx("div", { className: "flex min-h-screen items-center justify-center bg-muted", children: p.jsxs("div", { className: "text-center", children: [p.jsx("h1", { className: "mb-4 text-4xl font-bold", children: "404" }), p.jsx("p", { className: "mb-4 text-xl text-muted-foreground", children: "Oops! Page not found" }), p.jsx("a", { href: "/", className: "text-primary underline hover:text-primary/90", children: "Return to Home" })] }) }) } , bD = new VC , CD = () => p.jsx(zC, { client: bD, children: p.jsxs(eA, { children: [p.jsx(mk, {}), p.jsx(vT, {}), p.jsx(FE, { children: p.jsxs(NE, { children: [p.jsx(jn, { path: "/", element: p.jsx(uD, {}) }), p.jsx(jn, { path: "/sobre", element: p.jsx(dD, {}) }), p.jsx(jn, { path: "/areas", element: p.jsx(hD, {}) }), p.jsx(jn, { path: "/especialistas", element: p.jsx(yD, {}) }), p.jsx(jn, { path: "/insights", element: p.jsx(vD, {}) }), p.jsx(jn, { path: "/contato", element: p.jsx(wD, {}) }), p.jsx(jn, { path: "*", element: p.jsx(SD, {}) })] }) })] }) }); d0(document.getElementById("root")).render(p.jsx(CD, {}));;