var W_=Object.defineProperty;var pv=e=>{throw TypeError(e)};var q_=(e,t,n)=>t in e?W_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var zn=(e,t,n)=>q_(e,typeof t!="symbol"?t+"":t,n),rh=(e,t,n)=>t.has(e)||pv("Cannot "+n);var N=(e,t,n)=>(rh(e,t,"read from private field"),n?n.call(e):t.get(e)),Y=(e,t,n)=>t.has(e)?pv("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),U=(e,t,n,r)=>(rh(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),se=(e,t,n)=>(rh(e,t,"access private method"),n);var rc=(e,t,n,r)=>({set _(s){U(e,t,s,n)},get _(){return N(e,t,r)}});function K_(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const s in r)if(s!=="default"&&!(s in e)){const i=Object.getOwnPropertyDescriptor(r,s);i&&Object.defineProperty(e,s,i.get?i:{enumerable:!0,get:()=>r[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();function Uo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Gb={exports:{}},ld={},Yb={exports:{}},ue={};/**
 * @license React
 * react.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var Fl=Symbol.for("react.element"),G_=Symbol.for("react.portal"),Y_=Symbol.for("react.fragment"),Q_=Symbol.for("react.strict_mode"),X_=Symbol.for("react.profiler"),J_=Symbol.for("react.provider"),Z_=Symbol.for("react.context"),e2=Symbol.for("react.forward_ref"),t2=Symbol.for("react.suspense"),n2=Symbol.for("react.memo"),r2=Symbol.for("react.lazy"),gv=Symbol.iterator;function s2(e){return e===null||typeof e!="object"?null:(e=gv&&e[gv]||e["@@iterator"],typeof e=="function"?e:null)}var Qb={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Xb=Object.assign,Jb={};function Vo(e,t,n){this.props=e,this.context=t,this.refs=Jb,this.updater=n||Qb}Vo.prototype.isReactComponent={};Vo.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Vo.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Zb(){}Zb.prototype=Vo.prototype;function Rp(e,t,n){this.props=e,this.context=t,this.refs=Jb,this.updater=n||Qb}var Ip=Rp.prototype=new Zb;Ip.constructor=Rp;Xb(Ip,Vo.prototype);Ip.isPureReactComponent=!0;var yv=Array.isArray,e1=Object.prototype.hasOwnProperty,Op={current:null},t1={key:!0,ref:!0,__self:!0,__source:!0};function n1(e,t,n){var r,s={},i=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(i=""+t.key),t)e1.call(t,r)&&!t1.hasOwnProperty(r)&&(s[r]=t[r]);var l=arguments.length-2;if(l===1)s.children=n;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];s.children=c}if(e&&e.defaultProps)for(r in l=e.defaultProps,l)s[r]===void 0&&(s[r]=l[r]);return{$$typeof:Fl,type:e,key:i,ref:a,props:s,_owner:Op.current}}function i2(e,t){return{$$typeof:Fl,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Fp(e){return typeof e=="object"&&e!==null&&e.$$typeof===Fl}function o2(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var vv=/\/+/g;function sh(e,t){return typeof e=="object"&&e!==null&&e.key!=null?o2(""+e.key):t.toString(36)}function zc(e,t,n,r,s){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var a=!1;if(e===null)a=!0;else switch(i){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case Fl:case G_:a=!0}}if(a)return a=e,s=s(a),e=r===""?"."+sh(a,0):r,yv(s)?(n="",e!=null&&(n=e.replace(vv,"$&/")+"/"),zc(s,t,n,"",function(u){return u})):s!=null&&(Fp(s)&&(s=i2(s,n+(!s.key||a&&a.key===s.key?"":(""+s.key).replace(vv,"$&/")+"/")+e)),t.push(s)),1;if(a=0,r=r===""?".":r+":",yv(e))for(var l=0;l<e.length;l++){i=e[l];var c=r+sh(i,l);a+=zc(i,t,n,c,s)}else if(c=s2(e),typeof c=="function")for(e=c.call(e),l=0;!(i=e.next()).done;)i=i.value,c=r+sh(i,l++),a+=zc(i,t,n,c,s);else if(i==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return a}function sc(e,t,n){if(e==null)return e;var r=[],s=0;return zc(e,r,"","",function(i){return t.call(n,i,s++)}),r}function a2(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var wt={current:null},Hc={transition:null},l2={ReactCurrentDispatcher:wt,ReactCurrentBatchConfig:Hc,ReactCurrentOwner:Op};function r1(){throw Error("act(...) is not supported in production builds of React.")}ue.Children={map:sc,forEach:function(e,t,n){sc(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return sc(e,function(){t++}),t},toArray:function(e){return sc(e,function(t){return t})||[]},only:function(e){if(!Fp(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};ue.Component=Vo;ue.Fragment=Y_;ue.Profiler=X_;ue.PureComponent=Rp;ue.StrictMode=Q_;ue.Suspense=t2;ue.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=l2;ue.act=r1;ue.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=Xb({},e.props),s=e.key,i=e.ref,a=e._owner;if(t!=null){if(t.ref!==void 0&&(i=t.ref,a=Op.current),t.key!==void 0&&(s=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)e1.call(t,c)&&!t1.hasOwnProperty(c)&&(r[c]=t[c]===void 0&&l!==void 0?l[c]:t[c])}var c=arguments.length-2;if(c===1)r.children=n;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];r.children=l}return{$$typeof:Fl,type:e.type,key:s,ref:i,props:r,_owner:a}};ue.createContext=function(e){return e={$$typeof:Z_,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:J_,_context:e},e.Consumer=e};ue.createElement=n1;ue.createFactory=function(e){var t=n1.bind(null,e);return t.type=e,t};ue.createRef=function(){return{current:null}};ue.forwardRef=function(e){return{$$typeof:e2,render:e}};ue.isValidElement=Fp;ue.lazy=function(e){return{$$typeof:r2,_payload:{_status:-1,_result:e},_init:a2}};ue.memo=function(e,t){return{$$typeof:n2,type:e,compare:t===void 0?null:t}};ue.startTransition=function(e){var t=Hc.transition;Hc.transition={};try{e()}finally{Hc.transition=t}};ue.unstable_act=r1;ue.useCallback=function(e,t){return wt.current.useCallback(e,t)};ue.useContext=function(e){return wt.current.useContext(e)};ue.useDebugValue=function(){};ue.useDeferredValue=function(e){return wt.current.useDeferredValue(e)};ue.useEffect=function(e,t){return wt.current.useEffect(e,t)};ue.useId=function(){return wt.current.useId()};ue.useImperativeHandle=function(e,t,n){return wt.current.useImperativeHandle(e,t,n)};ue.useInsertionEffect=function(e,t){return wt.current.useInsertionEffect(e,t)};ue.useLayoutEffect=function(e,t){return wt.current.useLayoutEffect(e,t)};ue.useMemo=function(e,t){return wt.current.useMemo(e,t)};ue.useReducer=function(e,t,n){return wt.current.useReducer(e,t,n)};ue.useRef=function(e){return wt.current.useRef(e)};ue.useState=function(e){return wt.current.useState(e)};ue.useSyncExternalStore=function(e,t,n){return wt.current.useSyncExternalStore(e,t,n)};ue.useTransition=function(){return wt.current.useTransition()};ue.version="18.3.1";Yb.exports=ue;var x=Yb.exports;const O=Uo(x),Mp=K_({__proto__:null,default:O},[x]);/**
 * @license React
 * react-jsx-runtime.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var c2=x,u2=Symbol.for("react.element"),d2=Symbol.for("react.fragment"),h2=Object.prototype.hasOwnProperty,f2=c2.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,m2={key:!0,ref:!0,__self:!0,__source:!0};function s1(e,t,n){var r,s={},i=null,a=null;n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(a=t.ref);for(r in t)h2.call(t,r)&&!m2.hasOwnProperty(r)&&(s[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)s[r]===void 0&&(s[r]=t[r]);return{$$typeof:u2,type:e,key:i,ref:a,props:s,_owner:f2.current}}ld.Fragment=d2;ld.jsx=s1;ld.jsxs=s1;Gb.exports=ld;var o=Gb.exports,i1={exports:{}},Lt={},o1={exports:{}},a1={};/**
 * @license React
 * scheduler.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */(function(e){function t(_,I){var B=_.length;_.push(I);e:for(;0<B;){var ee=B-1>>>1,Q=_[ee];if(0<s(Q,I))_[ee]=I,_[B]=Q,B=ee;else break e}}function n(_){return _.length===0?null:_[0]}function r(_){if(_.length===0)return null;var I=_[0],B=_.pop();if(B!==I){_[0]=B;e:for(var ee=0,Q=_.length,ce=Q>>>1;ee<ce;){var de=2*(ee+1)-1,Ue=_[de],it=de+1,pe=_[it];if(0>s(Ue,B))it<Q&&0>s(pe,Ue)?(_[ee]=pe,_[it]=B,ee=it):(_[ee]=Ue,_[de]=B,ee=de);else if(it<Q&&0>s(pe,B))_[ee]=pe,_[it]=B,ee=it;else break e}}return I}function s(_,I){var B=_.sortIndex-I.sortIndex;return B!==0?B:_.id-I.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var a=Date,l=a.now();e.unstable_now=function(){return a.now()-l}}var c=[],u=[],d=1,h=null,f=3,m=!1,w=!1,p=!1,y=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,v=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function b(_){for(var I=n(u);I!==null;){if(I.callback===null)r(u);else if(I.startTime<=_)r(u),I.sortIndex=I.expirationTime,t(c,I);else break;I=n(u)}}function j(_){if(p=!1,b(_),!w)if(n(c)!==null)w=!0,A(S);else{var I=n(u);I!==null&&M(j,I.startTime-_)}}function S(_,I){w=!1,p&&(p=!1,g(C),C=-1),m=!0;var B=f;try{for(b(I),h=n(c);h!==null&&(!(h.expirationTime>I)||_&&!V());){var ee=h.callback;if(typeof ee=="function"){h.callback=null,f=h.priorityLevel;var Q=ee(h.expirationTime<=I);I=e.unstable_now(),typeof Q=="function"?h.callback=Q:h===n(c)&&r(c),b(I)}else r(c);h=n(c)}if(h!==null)var ce=!0;else{var de=n(u);de!==null&&M(j,de.startTime-I),ce=!1}return ce}finally{h=null,f=B,m=!1}}var k=!1,T=null,C=-1,P=5,R=-1;function V(){return!(e.unstable_now()-R<P)}function D(){if(T!==null){var _=e.unstable_now();R=_;var I=!0;try{I=T(!0,_)}finally{I?G():(k=!1,T=null)}}else k=!1}var G;if(typeof v=="function")G=function(){v(D)};else if(typeof MessageChannel<"u"){var L=new MessageChannel,$=L.port2;L.port1.onmessage=D,G=function(){$.postMessage(null)}}else G=function(){y(D,0)};function A(_){T=_,k||(k=!0,G())}function M(_,I){C=y(function(){_(e.unstable_now())},I)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(_){_.callback=null},e.unstable_continueExecution=function(){w||m||(w=!0,A(S))},e.unstable_forceFrameRate=function(_){0>_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):P=0<_?Math.floor(1e3/_):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(_){switch(f){case 1:case 2:case 3:var I=3;break;default:I=f}var B=f;f=I;try{return _()}finally{f=B}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(_,I){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var B=f;f=_;try{return I()}finally{f=B}},e.unstable_scheduleCallback=function(_,I,B){var ee=e.unstable_now();switch(typeof B=="object"&&B!==null?(B=B.delay,B=typeof B=="number"&&0<B?ee+B:ee):B=ee,_){case 1:var Q=-1;break;case 2:Q=250;break;case 5:Q=1073741823;break;case 4:Q=1e4;break;default:Q=5e3}return Q=B+Q,_={id:d++,callback:I,priorityLevel:_,startTime:B,expirationTime:Q,sortIndex:-1},B>ee?(_.sortIndex=B,t(u,_),n(c)===null&&_===n(u)&&(p?(g(C),C=-1):p=!0,M(j,B-ee))):(_.sortIndex=Q,t(c,_),w||m||(w=!0,A(S))),_},e.unstable_shouldYield=V,e.unstable_wrapCallback=function(_){var I=f;return function(){var B=f;f=I;try{return _.apply(this,arguments)}finally{f=B}}}})(a1);o1.exports=a1;var p2=o1.exports;/**
 * @license React
 * react-dom.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var g2=x,Dt=p2;function F(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var l1=new Set,Ga={};function fi(e,t){_o(e,t),_o(e+"Capture",t)}function _o(e,t){for(Ga[e]=t,e=0;e<t.length;e++)l1.add(t[e])}var nr=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Nf=Object.prototype.hasOwnProperty,y2=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,xv={},wv={};function v2(e){return Nf.call(wv,e)?!0:Nf.call(xv,e)?!1:y2.test(e)?wv[e]=!0:(xv[e]=!0,!1)}function x2(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function w2(e,t,n,r){if(t===null||typeof t>"u"||x2(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function bt(e,t,n,r,s,i,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=s,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=a}var st={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){st[e]=new bt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];st[t]=new bt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){st[e]=new bt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){st[e]=new bt(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){st[e]=new bt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){st[e]=new bt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){st[e]=new bt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){st[e]=new bt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){st[e]=new bt(e,5,!1,e.toLowerCase(),null,!1,!1)});var Dp=/[\-:]([a-z])/g;function Lp(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Dp,Lp);st[t]=new bt(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Dp,Lp);st[t]=new bt(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Dp,Lp);st[t]=new bt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){st[e]=new bt(e,1,!1,e.toLowerCase(),null,!1,!1)});st.xlinkHref=new bt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){st[e]=new bt(e,1,!1,e.toLowerCase(),null,!0,!0)});function $p(e,t,n,r){var s=st.hasOwnProperty(t)?st[t]:null;(s!==null?s.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(w2(t,n,s,r)&&(n=null),r||s===null?v2(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):s.mustUseProperty?e[s.propertyName]=n===null?s.type===3?!1:"":n:(t=s.attributeName,r=s.attributeNamespace,n===null?e.removeAttribute(t):(s=s.type,n=s===3||s===4&&n===!0?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var cr=g2.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,ic=Symbol.for("react.element"),Li=Symbol.for("react.portal"),$i=Symbol.for("react.fragment"),Bp=Symbol.for("react.strict_mode"),Tf=Symbol.for("react.profiler"),c1=Symbol.for("react.provider"),u1=Symbol.for("react.context"),Up=Symbol.for("react.forward_ref"),Cf=Symbol.for("react.suspense"),Ef=Symbol.for("react.suspense_list"),Vp=Symbol.for("react.memo"),Ar=Symbol.for("react.lazy"),d1=Symbol.for("react.offscreen"),bv=Symbol.iterator;function ia(e){return e===null||typeof e!="object"?null:(e=bv&&e[bv]||e["@@iterator"],typeof e=="function"?e:null)}var Me=Object.assign,ih;function ja(e){if(ih===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);ih=t&&t[1]||""}return`
`+ih+e}var oh=!1;function ah(e,t){if(!e||oh)return"";oh=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&typeof u.stack=="string"){for(var s=u.stack.split(`
`),i=r.stack.split(`
`),a=s.length-1,l=i.length-1;1<=a&&0<=l&&s[a]!==i[l];)l--;for(;1<=a&&0<=l;a--,l--)if(s[a]!==i[l]){if(a!==1||l!==1)do if(a--,l--,0>l||s[a]!==i[l]){var c=`
`+s[a].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=a&&0<=l);break}}}finally{oh=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?ja(e):""}function b2(e){switch(e.tag){case 5:return ja(e.type);case 16:return ja("Lazy");case 13:return ja("Suspense");case 19:return ja("SuspenseList");case 0:case 2:case 15:return e=ah(e.type,!1),e;case 11:return e=ah(e.type.render,!1),e;case 1:return e=ah(e.type,!0),e;default:return""}}function _f(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case $i:return"Fragment";case Li:return"Portal";case Tf:return"Profiler";case Bp:return"StrictMode";case Cf:return"Suspense";case Ef:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case u1:return(e.displayName||"Context")+".Consumer";case c1:return(e._context.displayName||"Context")+".Provider";case Up:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Vp:return t=e.displayName||null,t!==null?t:_f(e.type)||"Memo";case Ar:t=e._payload,e=e._init;try{return _f(e(t))}catch{}}return null}function j2(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return _f(t);case 8:return t===Bp?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function us(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function h1(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function S2(e){var t=h1(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var s=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(a){r=""+a,i.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function oc(e){e._valueTracker||(e._valueTracker=S2(e))}function f1(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=h1(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function gu(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Pf(e,t){var n=t.checked;return Me({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function jv(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=us(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function m1(e,t){t=t.checked,t!=null&&$p(e,"checked",t,!1)}function Af(e,t){m1(e,t);var n=us(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Rf(e,t.type,n):t.hasOwnProperty("defaultValue")&&Rf(e,t.type,us(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Sv(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Rf(e,t,n){(t!=="number"||gu(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Sa=Array.isArray;function to(e,t,n,r){if(e=e.options,t){t={};for(var s=0;s<n.length;s++)t["$"+n[s]]=!0;for(n=0;n<e.length;n++)s=t.hasOwnProperty("$"+e[n].value),e[n].selected!==s&&(e[n].selected=s),s&&r&&(e[n].defaultSelected=!0)}else{for(n=""+us(n),t=null,s=0;s<e.length;s++){if(e[s].value===n){e[s].selected=!0,r&&(e[s].defaultSelected=!0);return}t!==null||e[s].disabled||(t=e[s])}t!==null&&(t.selected=!0)}}function If(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(F(91));return Me({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function kv(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(F(92));if(Sa(n)){if(1<n.length)throw Error(F(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:us(n)}}function p1(e,t){var n=us(t.value),r=us(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=""+r)}function Nv(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function g1(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Of(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?g1(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var ac,y1=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,s){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,s)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(ac=ac||document.createElement("div"),ac.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ac.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Ya(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Aa={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},k2=["Webkit","ms","Moz","O"];Object.keys(Aa).forEach(function(e){k2.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Aa[t]=Aa[e]})});function v1(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Aa.hasOwnProperty(e)&&Aa[e]?(""+t).trim():t+"px"}function x1(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,s=v1(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,s):e[n]=s}}var N2=Me({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ff(e,t){if(t){if(N2[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(F(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(F(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(F(61))}if(t.style!=null&&typeof t.style!="object")throw Error(F(62))}}function Mf(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Df=null;function zp(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Lf=null,no=null,ro=null;function Tv(e){if(e=Ll(e)){if(typeof Lf!="function")throw Error(F(280));var t=e.stateNode;t&&(t=fd(t),Lf(e.stateNode,e.type,t))}}function w1(e){no?ro?ro.push(e):ro=[e]:no=e}function b1(){if(no){var e=no,t=ro;if(ro=no=null,Tv(e),t)for(e=0;e<t.length;e++)Tv(t[e])}}function j1(e,t){return e(t)}function S1(){}var lh=!1;function k1(e,t,n){if(lh)return e(t,n);lh=!0;try{return j1(e,t,n)}finally{lh=!1,(no!==null||ro!==null)&&(S1(),b1())}}function Qa(e,t){var n=e.stateNode;if(n===null)return null;var r=fd(n);if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(F(231,t,typeof n));return n}var $f=!1;if(nr)try{var oa={};Object.defineProperty(oa,"passive",{get:function(){$f=!0}}),window.addEventListener("test",oa,oa),window.removeEventListener("test",oa,oa)}catch{$f=!1}function T2(e,t,n,r,s,i,a,l,c){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(d){this.onError(d)}}var Ra=!1,yu=null,vu=!1,Bf=null,C2={onError:function(e){Ra=!0,yu=e}};function E2(e,t,n,r,s,i,a,l,c){Ra=!1,yu=null,T2.apply(C2,arguments)}function _2(e,t,n,r,s,i,a,l,c){if(E2.apply(this,arguments),Ra){if(Ra){var u=yu;Ra=!1,yu=null}else throw Error(F(198));vu||(vu=!0,Bf=u)}}function mi(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function N1(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Cv(e){if(mi(e)!==e)throw Error(F(188))}function P2(e){var t=e.alternate;if(!t){if(t=mi(e),t===null)throw Error(F(188));return t!==e?null:e}for(var n=e,r=t;;){var s=n.return;if(s===null)break;var i=s.alternate;if(i===null){if(r=s.return,r!==null){n=r;continue}break}if(s.child===i.child){for(i=s.child;i;){if(i===n)return Cv(s),e;if(i===r)return Cv(s),t;i=i.sibling}throw Error(F(188))}if(n.return!==r.return)n=s,r=i;else{for(var a=!1,l=s.child;l;){if(l===n){a=!0,n=s,r=i;break}if(l===r){a=!0,r=s,n=i;break}l=l.sibling}if(!a){for(l=i.child;l;){if(l===n){a=!0,n=i,r=s;break}if(l===r){a=!0,r=i,n=s;break}l=l.sibling}if(!a)throw Error(F(189))}}if(n.alternate!==r)throw Error(F(190))}if(n.tag!==3)throw Error(F(188));return n.stateNode.current===n?e:t}function T1(e){return e=P2(e),e!==null?C1(e):null}function C1(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=C1(e);if(t!==null)return t;e=e.sibling}return null}var E1=Dt.unstable_scheduleCallback,Ev=Dt.unstable_cancelCallback,A2=Dt.unstable_shouldYield,R2=Dt.unstable_requestPaint,Be=Dt.unstable_now,I2=Dt.unstable_getCurrentPriorityLevel,Hp=Dt.unstable_ImmediatePriority,_1=Dt.unstable_UserBlockingPriority,xu=Dt.unstable_NormalPriority,O2=Dt.unstable_LowPriority,P1=Dt.unstable_IdlePriority,cd=null,Rn=null;function F2(e){if(Rn&&typeof Rn.onCommitFiberRoot=="function")try{Rn.onCommitFiberRoot(cd,e,void 0,(e.current.flags&128)===128)}catch{}}var gn=Math.clz32?Math.clz32:L2,M2=Math.log,D2=Math.LN2;function L2(e){return e>>>=0,e===0?32:31-(M2(e)/D2|0)|0}var lc=64,cc=4194304;function ka(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function wu(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,s=e.suspendedLanes,i=e.pingedLanes,a=n&268435455;if(a!==0){var l=a&~s;l!==0?r=ka(l):(i&=a,i!==0&&(r=ka(i)))}else a=n&~s,a!==0?r=ka(a):i!==0&&(r=ka(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&s)&&(s=r&-r,i=t&-t,s>=i||s===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-gn(t),s=1<<n,r|=e[n],t&=~s;return r}function $2(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function B2(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,s=e.expirationTimes,i=e.pendingLanes;0<i;){var a=31-gn(i),l=1<<a,c=s[a];c===-1?(!(l&n)||l&r)&&(s[a]=$2(l,t)):c<=t&&(e.expiredLanes|=l),i&=~l}}function Uf(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function A1(){var e=lc;return lc<<=1,!(lc&4194240)&&(lc=64),e}function ch(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ml(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-gn(t),e[t]=n}function U2(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var s=31-gn(n),i=1<<s;t[s]=0,r[s]=-1,e[s]=-1,n&=~i}}function Wp(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-gn(n),s=1<<r;s&t|e[r]&t&&(e[r]|=t),n&=~s}}var ve=0;function R1(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var I1,qp,O1,F1,M1,Vf=!1,uc=[],Xr=null,Jr=null,Zr=null,Xa=new Map,Ja=new Map,Or=[],V2="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function _v(e,t){switch(e){case"focusin":case"focusout":Xr=null;break;case"dragenter":case"dragleave":Jr=null;break;case"mouseover":case"mouseout":Zr=null;break;case"pointerover":case"pointerout":Xa.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ja.delete(t.pointerId)}}function aa(e,t,n,r,s,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:i,targetContainers:[s]},t!==null&&(t=Ll(t),t!==null&&qp(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,s!==null&&t.indexOf(s)===-1&&t.push(s),e)}function z2(e,t,n,r,s){switch(t){case"focusin":return Xr=aa(Xr,e,t,n,r,s),!0;case"dragenter":return Jr=aa(Jr,e,t,n,r,s),!0;case"mouseover":return Zr=aa(Zr,e,t,n,r,s),!0;case"pointerover":var i=s.pointerId;return Xa.set(i,aa(Xa.get(i)||null,e,t,n,r,s)),!0;case"gotpointercapture":return i=s.pointerId,Ja.set(i,aa(Ja.get(i)||null,e,t,n,r,s)),!0}return!1}function D1(e){var t=Ls(e.target);if(t!==null){var n=mi(t);if(n!==null){if(t=n.tag,t===13){if(t=N1(n),t!==null){e.blockedOn=t,M1(e.priority,function(){O1(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Wc(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=zf(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Df=r,n.target.dispatchEvent(r),Df=null}else return t=Ll(n),t!==null&&qp(t),e.blockedOn=n,!1;t.shift()}return!0}function Pv(e,t,n){Wc(e)&&n.delete(t)}function H2(){Vf=!1,Xr!==null&&Wc(Xr)&&(Xr=null),Jr!==null&&Wc(Jr)&&(Jr=null),Zr!==null&&Wc(Zr)&&(Zr=null),Xa.forEach(Pv),Ja.forEach(Pv)}function la(e,t){e.blockedOn===t&&(e.blockedOn=null,Vf||(Vf=!0,Dt.unstable_scheduleCallback(Dt.unstable_NormalPriority,H2)))}function Za(e){function t(s){return la(s,e)}if(0<uc.length){la(uc[0],e);for(var n=1;n<uc.length;n++){var r=uc[n];r.blockedOn===e&&(r.blockedOn=null)}}for(Xr!==null&&la(Xr,e),Jr!==null&&la(Jr,e),Zr!==null&&la(Zr,e),Xa.forEach(t),Ja.forEach(t),n=0;n<Or.length;n++)r=Or[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<Or.length&&(n=Or[0],n.blockedOn===null);)D1(n),n.blockedOn===null&&Or.shift()}var so=cr.ReactCurrentBatchConfig,bu=!0;function W2(e,t,n,r){var s=ve,i=so.transition;so.transition=null;try{ve=1,Kp(e,t,n,r)}finally{ve=s,so.transition=i}}function q2(e,t,n,r){var s=ve,i=so.transition;so.transition=null;try{ve=4,Kp(e,t,n,r)}finally{ve=s,so.transition=i}}function Kp(e,t,n,r){if(bu){var s=zf(e,t,n,r);if(s===null)xh(e,t,r,ju,n),_v(e,r);else if(z2(s,e,t,n,r))r.stopPropagation();else if(_v(e,r),t&4&&-1<V2.indexOf(e)){for(;s!==null;){var i=Ll(s);if(i!==null&&I1(i),i=zf(e,t,n,r),i===null&&xh(e,t,r,ju,n),i===s)break;s=i}s!==null&&r.stopPropagation()}else xh(e,t,r,null,n)}}var ju=null;function zf(e,t,n,r){if(ju=null,e=zp(r),e=Ls(e),e!==null)if(t=mi(e),t===null)e=null;else if(n=t.tag,n===13){if(e=N1(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return ju=e,null}function L1(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(I2()){case Hp:return 1;case _1:return 4;case xu:case O2:return 16;case P1:return 536870912;default:return 16}default:return 16}}var Kr=null,Gp=null,qc=null;function $1(){if(qc)return qc;var e,t=Gp,n=t.length,r,s="value"in Kr?Kr.value:Kr.textContent,i=s.length;for(e=0;e<n&&t[e]===s[e];e++);var a=n-e;for(r=1;r<=a&&t[n-r]===s[i-r];r++);return qc=s.slice(e,1<r?1-r:void 0)}function Kc(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function dc(){return!0}function Av(){return!1}function $t(e){function t(n,r,s,i,a){this._reactName=n,this._targetInst=s,this.type=r,this.nativeEvent=i,this.target=a,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(n=e[l],this[l]=n?n(i):i[l]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?dc:Av,this.isPropagationStopped=Av,this}return Me(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=dc)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=dc)},persist:function(){},isPersistent:dc}),t}var zo={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Yp=$t(zo),Dl=Me({},zo,{view:0,detail:0}),K2=$t(Dl),uh,dh,ca,ud=Me({},Dl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Qp,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ca&&(ca&&e.type==="mousemove"?(uh=e.screenX-ca.screenX,dh=e.screenY-ca.screenY):dh=uh=0,ca=e),uh)},movementY:function(e){return"movementY"in e?e.movementY:dh}}),Rv=$t(ud),G2=Me({},ud,{dataTransfer:0}),Y2=$t(G2),Q2=Me({},Dl,{relatedTarget:0}),hh=$t(Q2),X2=Me({},zo,{animationName:0,elapsedTime:0,pseudoElement:0}),J2=$t(X2),Z2=Me({},zo,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),eP=$t(Z2),tP=Me({},zo,{data:0}),Iv=$t(tP),nP={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},rP={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},sP={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function iP(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=sP[e])?!!t[e]:!1}function Qp(){return iP}var oP=Me({},Dl,{key:function(e){if(e.key){var t=nP[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Kc(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?rP[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Qp,charCode:function(e){return e.type==="keypress"?Kc(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Kc(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),aP=$t(oP),lP=Me({},ud,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Ov=$t(lP),cP=Me({},Dl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Qp}),uP=$t(cP),dP=Me({},zo,{propertyName:0,elapsedTime:0,pseudoElement:0}),hP=$t(dP),fP=Me({},ud,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),mP=$t(fP),pP=[9,13,27,32],Xp=nr&&"CompositionEvent"in window,Ia=null;nr&&"documentMode"in document&&(Ia=document.documentMode);var gP=nr&&"TextEvent"in window&&!Ia,B1=nr&&(!Xp||Ia&&8<Ia&&11>=Ia),Fv=" ",Mv=!1;function U1(e,t){switch(e){case"keyup":return pP.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function V1(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Bi=!1;function yP(e,t){switch(e){case"compositionend":return V1(t);case"keypress":return t.which!==32?null:(Mv=!0,Fv);case"textInput":return e=t.data,e===Fv&&Mv?null:e;default:return null}}function vP(e,t){if(Bi)return e==="compositionend"||!Xp&&U1(e,t)?(e=$1(),qc=Gp=Kr=null,Bi=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return B1&&t.locale!=="ko"?null:t.data;default:return null}}var xP={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Dv(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!xP[e.type]:t==="textarea"}function z1(e,t,n,r){w1(r),t=Su(t,"onChange"),0<t.length&&(n=new Yp("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Oa=null,el=null;function wP(e){ej(e,0)}function dd(e){var t=zi(e);if(f1(t))return e}function bP(e,t){if(e==="change")return t}var H1=!1;if(nr){var fh;if(nr){var mh="oninput"in document;if(!mh){var Lv=document.createElement("div");Lv.setAttribute("oninput","return;"),mh=typeof Lv.oninput=="function"}fh=mh}else fh=!1;H1=fh&&(!document.documentMode||9<document.documentMode)}function $v(){Oa&&(Oa.detachEvent("onpropertychange",W1),el=Oa=null)}function W1(e){if(e.propertyName==="value"&&dd(el)){var t=[];z1(t,el,e,zp(e)),k1(wP,t)}}function jP(e,t,n){e==="focusin"?($v(),Oa=t,el=n,Oa.attachEvent("onpropertychange",W1)):e==="focusout"&&$v()}function SP(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return dd(el)}function kP(e,t){if(e==="click")return dd(t)}function NP(e,t){if(e==="input"||e==="change")return dd(t)}function TP(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var vn=typeof Object.is=="function"?Object.is:TP;function tl(e,t){if(vn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var s=n[r];if(!Nf.call(t,s)||!vn(e[s],t[s]))return!1}return!0}function Bv(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Uv(e,t){var n=Bv(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Bv(n)}}function q1(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?q1(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function K1(){for(var e=window,t=gu();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=gu(e.document)}return t}function Jp(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function CP(e){var t=K1(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&q1(n.ownerDocument.documentElement,n)){if(r!==null&&Jp(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var s=n.textContent.length,i=Math.min(r.start,s);r=r.end===void 0?i:Math.min(r.end,s),!e.extend&&i>r&&(s=r,r=i,i=s),s=Uv(n,i);var a=Uv(n,r);s&&a&&(e.rangeCount!==1||e.anchorNode!==s.node||e.anchorOffset!==s.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(s.node,s.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var EP=nr&&"documentMode"in document&&11>=document.documentMode,Ui=null,Hf=null,Fa=null,Wf=!1;function Vv(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Wf||Ui==null||Ui!==gu(r)||(r=Ui,"selectionStart"in r&&Jp(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Fa&&tl(Fa,r)||(Fa=r,r=Su(Hf,"onSelect"),0<r.length&&(t=new Yp("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=Ui)))}function hc(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Vi={animationend:hc("Animation","AnimationEnd"),animationiteration:hc("Animation","AnimationIteration"),animationstart:hc("Animation","AnimationStart"),transitionend:hc("Transition","TransitionEnd")},ph={},G1={};nr&&(G1=document.createElement("div").style,"AnimationEvent"in window||(delete Vi.animationend.animation,delete Vi.animationiteration.animation,delete Vi.animationstart.animation),"TransitionEvent"in window||delete Vi.transitionend.transition);function hd(e){if(ph[e])return ph[e];if(!Vi[e])return e;var t=Vi[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in G1)return ph[e]=t[n];return e}var Y1=hd("animationend"),Q1=hd("animationiteration"),X1=hd("animationstart"),J1=hd("transitionend"),Z1=new Map,zv="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function gs(e,t){Z1.set(e,t),fi(t,[e])}for(var gh=0;gh<zv.length;gh++){var yh=zv[gh],_P=yh.toLowerCase(),PP=yh[0].toUpperCase()+yh.slice(1);gs(_P,"on"+PP)}gs(Y1,"onAnimationEnd");gs(Q1,"onAnimationIteration");gs(X1,"onAnimationStart");gs("dblclick","onDoubleClick");gs("focusin","onFocus");gs("focusout","onBlur");gs(J1,"onTransitionEnd");_o("onMouseEnter",["mouseout","mouseover"]);_o("onMouseLeave",["mouseout","mouseover"]);_o("onPointerEnter",["pointerout","pointerover"]);_o("onPointerLeave",["pointerout","pointerover"]);fi("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));fi("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));fi("onBeforeInput",["compositionend","keypress","textInput","paste"]);fi("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));fi("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));fi("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Na="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),AP=new Set("cancel close invalid load scroll toggle".split(" ").concat(Na));function Hv(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,_2(r,t,void 0,e),e.currentTarget=null}function ej(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],s=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var a=r.length-1;0<=a;a--){var l=r[a],c=l.instance,u=l.currentTarget;if(l=l.listener,c!==i&&s.isPropagationStopped())break e;Hv(s,l,u),i=c}else for(a=0;a<r.length;a++){if(l=r[a],c=l.instance,u=l.currentTarget,l=l.listener,c!==i&&s.isPropagationStopped())break e;Hv(s,l,u),i=c}}}if(vu)throw e=Bf,vu=!1,Bf=null,e}function ke(e,t){var n=t[Qf];n===void 0&&(n=t[Qf]=new Set);var r=e+"__bubble";n.has(r)||(tj(t,e,2,!1),n.add(r))}function vh(e,t,n){var r=0;t&&(r|=4),tj(n,e,r,t)}var fc="_reactListening"+Math.random().toString(36).slice(2);function nl(e){if(!e[fc]){e[fc]=!0,l1.forEach(function(n){n!=="selectionchange"&&(AP.has(n)||vh(n,!1,e),vh(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[fc]||(t[fc]=!0,vh("selectionchange",!1,t))}}function tj(e,t,n,r){switch(L1(t)){case 1:var s=W2;break;case 4:s=q2;break;default:s=Kp}n=s.bind(null,t,n,e),s=void 0,!$f||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(s=!0),r?s!==void 0?e.addEventListener(t,n,{capture:!0,passive:s}):e.addEventListener(t,n,!0):s!==void 0?e.addEventListener(t,n,{passive:s}):e.addEventListener(t,n,!1)}function xh(e,t,n,r,s){var i=r;if(!(t&1)&&!(t&2)&&r!==null)e:for(;;){if(r===null)return;var a=r.tag;if(a===3||a===4){var l=r.stateNode.containerInfo;if(l===s||l.nodeType===8&&l.parentNode===s)break;if(a===4)for(a=r.return;a!==null;){var c=a.tag;if((c===3||c===4)&&(c=a.stateNode.containerInfo,c===s||c.nodeType===8&&c.parentNode===s))return;a=a.return}for(;l!==null;){if(a=Ls(l),a===null)return;if(c=a.tag,c===5||c===6){r=i=a;continue e}l=l.parentNode}}r=r.return}k1(function(){var u=i,d=zp(n),h=[];e:{var f=Z1.get(e);if(f!==void 0){var m=Yp,w=e;switch(e){case"keypress":if(Kc(n)===0)break e;case"keydown":case"keyup":m=aP;break;case"focusin":w="focus",m=hh;break;case"focusout":w="blur",m=hh;break;case"beforeblur":case"afterblur":m=hh;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=Rv;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=Y2;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=uP;break;case Y1:case Q1:case X1:m=J2;break;case J1:m=hP;break;case"scroll":m=K2;break;case"wheel":m=mP;break;case"copy":case"cut":case"paste":m=eP;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=Ov}var p=(t&4)!==0,y=!p&&e==="scroll",g=p?f!==null?f+"Capture":null:f;p=[];for(var v=u,b;v!==null;){b=v;var j=b.stateNode;if(b.tag===5&&j!==null&&(b=j,g!==null&&(j=Qa(v,g),j!=null&&p.push(rl(v,j,b)))),y)break;v=v.return}0<p.length&&(f=new m(f,w,null,n,d),h.push({event:f,listeners:p}))}}if(!(t&7)){e:{if(f=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",f&&n!==Df&&(w=n.relatedTarget||n.fromElement)&&(Ls(w)||w[rr]))break e;if((m||f)&&(f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window,m?(w=n.relatedTarget||n.toElement,m=u,w=w?Ls(w):null,w!==null&&(y=mi(w),w!==y||w.tag!==5&&w.tag!==6)&&(w=null)):(m=null,w=u),m!==w)){if(p=Rv,j="onMouseLeave",g="onMouseEnter",v="mouse",(e==="pointerout"||e==="pointerover")&&(p=Ov,j="onPointerLeave",g="onPointerEnter",v="pointer"),y=m==null?f:zi(m),b=w==null?f:zi(w),f=new p(j,v+"leave",m,n,d),f.target=y,f.relatedTarget=b,j=null,Ls(d)===u&&(p=new p(g,v+"enter",w,n,d),p.target=b,p.relatedTarget=y,j=p),y=j,m&&w)t:{for(p=m,g=w,v=0,b=p;b;b=Si(b))v++;for(b=0,j=g;j;j=Si(j))b++;for(;0<v-b;)p=Si(p),v--;for(;0<b-v;)g=Si(g),b--;for(;v--;){if(p===g||g!==null&&p===g.alternate)break t;p=Si(p),g=Si(g)}p=null}else p=null;m!==null&&Wv(h,f,m,p,!1),w!==null&&y!==null&&Wv(h,y,w,p,!0)}}e:{if(f=u?zi(u):window,m=f.nodeName&&f.nodeName.toLowerCase(),m==="select"||m==="input"&&f.type==="file")var S=bP;else if(Dv(f))if(H1)S=NP;else{S=SP;var k=jP}else(m=f.nodeName)&&m.toLowerCase()==="input"&&(f.type==="checkbox"||f.type==="radio")&&(S=kP);if(S&&(S=S(e,u))){z1(h,S,n,d);break e}k&&k(e,f,u),e==="focusout"&&(k=f._wrapperState)&&k.controlled&&f.type==="number"&&Rf(f,"number",f.value)}switch(k=u?zi(u):window,e){case"focusin":(Dv(k)||k.contentEditable==="true")&&(Ui=k,Hf=u,Fa=null);break;case"focusout":Fa=Hf=Ui=null;break;case"mousedown":Wf=!0;break;case"contextmenu":case"mouseup":case"dragend":Wf=!1,Vv(h,n,d);break;case"selectionchange":if(EP)break;case"keydown":case"keyup":Vv(h,n,d)}var T;if(Xp)e:{switch(e){case"compositionstart":var C="onCompositionStart";break e;case"compositionend":C="onCompositionEnd";break e;case"compositionupdate":C="onCompositionUpdate";break e}C=void 0}else Bi?U1(e,n)&&(C="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(C="onCompositionStart");C&&(B1&&n.locale!=="ko"&&(Bi||C!=="onCompositionStart"?C==="onCompositionEnd"&&Bi&&(T=$1()):(Kr=d,Gp="value"in Kr?Kr.value:Kr.textContent,Bi=!0)),k=Su(u,C),0<k.length&&(C=new Iv(C,e,null,n,d),h.push({event:C,listeners:k}),T?C.data=T:(T=V1(n),T!==null&&(C.data=T)))),(T=gP?yP(e,n):vP(e,n))&&(u=Su(u,"onBeforeInput"),0<u.length&&(d=new Iv("onBeforeInput","beforeinput",null,n,d),h.push({event:d,listeners:u}),d.data=T))}ej(h,t)})}function rl(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Su(e,t){for(var n=t+"Capture",r=[];e!==null;){var s=e,i=s.stateNode;s.tag===5&&i!==null&&(s=i,i=Qa(e,n),i!=null&&r.unshift(rl(e,i,s)),i=Qa(e,t),i!=null&&r.push(rl(e,i,s))),e=e.return}return r}function Si(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Wv(e,t,n,r,s){for(var i=t._reactName,a=[];n!==null&&n!==r;){var l=n,c=l.alternate,u=l.stateNode;if(c!==null&&c===r)break;l.tag===5&&u!==null&&(l=u,s?(c=Qa(n,i),c!=null&&a.unshift(rl(n,c,l))):s||(c=Qa(n,i),c!=null&&a.push(rl(n,c,l)))),n=n.return}a.length!==0&&e.push({event:t,listeners:a})}var RP=/\r\n?/g,IP=/\u0000|\uFFFD/g;function qv(e){return(typeof e=="string"?e:""+e).replace(RP,`
`).replace(IP,"")}function mc(e,t,n){if(t=qv(t),qv(e)!==t&&n)throw Error(F(425))}function ku(){}var qf=null,Kf=null;function Gf(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Yf=typeof setTimeout=="function"?setTimeout:void 0,OP=typeof clearTimeout=="function"?clearTimeout:void 0,Kv=typeof Promise=="function"?Promise:void 0,FP=typeof queueMicrotask=="function"?queueMicrotask:typeof Kv<"u"?function(e){return Kv.resolve(null).then(e).catch(MP)}:Yf;function MP(e){setTimeout(function(){throw e})}function wh(e,t){var n=t,r=0;do{var s=n.nextSibling;if(e.removeChild(n),s&&s.nodeType===8)if(n=s.data,n==="/$"){if(r===0){e.removeChild(s),Za(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=s}while(n);Za(t)}function es(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Gv(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var Ho=Math.random().toString(36).slice(2),_n="__reactFiber$"+Ho,sl="__reactProps$"+Ho,rr="__reactContainer$"+Ho,Qf="__reactEvents$"+Ho,DP="__reactListeners$"+Ho,LP="__reactHandles$"+Ho;function Ls(e){var t=e[_n];if(t)return t;for(var n=e.parentNode;n;){if(t=n[rr]||n[_n]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Gv(e);e!==null;){if(n=e[_n])return n;e=Gv(e)}return t}e=n,n=e.parentNode}return null}function Ll(e){return e=e[_n]||e[rr],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function zi(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(F(33))}function fd(e){return e[sl]||null}var Xf=[],Hi=-1;function ys(e){return{current:e}}function Ne(e){0>Hi||(e.current=Xf[Hi],Xf[Hi]=null,Hi--)}function je(e,t){Hi++,Xf[Hi]=e.current,e.current=t}var ds={},dt=ys(ds),Et=ys(!1),si=ds;function Po(e,t){var n=e.type.contextTypes;if(!n)return ds;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var s={},i;for(i in n)s[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=s),s}function _t(e){return e=e.childContextTypes,e!=null}function Nu(){Ne(Et),Ne(dt)}function Yv(e,t,n){if(dt.current!==ds)throw Error(F(168));je(dt,t),je(Et,n)}function nj(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var s in r)if(!(s in t))throw Error(F(108,j2(e)||"Unknown",s));return Me({},n,r)}function Tu(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ds,si=dt.current,je(dt,e),je(Et,Et.current),!0}function Qv(e,t,n){var r=e.stateNode;if(!r)throw Error(F(169));n?(e=nj(e,t,si),r.__reactInternalMemoizedMergedChildContext=e,Ne(Et),Ne(dt),je(dt,e)):Ne(Et),je(Et,n)}var Gn=null,md=!1,bh=!1;function rj(e){Gn===null?Gn=[e]:Gn.push(e)}function $P(e){md=!0,rj(e)}function vs(){if(!bh&&Gn!==null){bh=!0;var e=0,t=ve;try{var n=Gn;for(ve=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}Gn=null,md=!1}catch(s){throw Gn!==null&&(Gn=Gn.slice(e+1)),E1(Hp,vs),s}finally{ve=t,bh=!1}}return null}var Wi=[],qi=0,Cu=null,Eu=0,Wt=[],qt=0,ii=null,Xn=1,Jn="";function Ps(e,t){Wi[qi++]=Eu,Wi[qi++]=Cu,Cu=e,Eu=t}function sj(e,t,n){Wt[qt++]=Xn,Wt[qt++]=Jn,Wt[qt++]=ii,ii=e;var r=Xn;e=Jn;var s=32-gn(r)-1;r&=~(1<<s),n+=1;var i=32-gn(t)+s;if(30<i){var a=s-s%5;i=(r&(1<<a)-1).toString(32),r>>=a,s-=a,Xn=1<<32-gn(t)+s|n<<s|r,Jn=i+e}else Xn=1<<i|n<<s|r,Jn=e}function Zp(e){e.return!==null&&(Ps(e,1),sj(e,1,0))}function eg(e){for(;e===Cu;)Cu=Wi[--qi],Wi[qi]=null,Eu=Wi[--qi],Wi[qi]=null;for(;e===ii;)ii=Wt[--qt],Wt[qt]=null,Jn=Wt[--qt],Wt[qt]=null,Xn=Wt[--qt],Wt[qt]=null}var Ft=null,Ot=null,_e=!1,mn=null;function ij(e,t){var n=Kt(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function Xv(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Ft=e,Ot=es(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Ft=e,Ot=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=ii!==null?{id:Xn,overflow:Jn}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Kt(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,Ft=e,Ot=null,!0):!1;default:return!1}}function Jf(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Zf(e){if(_e){var t=Ot;if(t){var n=t;if(!Xv(e,t)){if(Jf(e))throw Error(F(418));t=es(n.nextSibling);var r=Ft;t&&Xv(e,t)?ij(r,n):(e.flags=e.flags&-4097|2,_e=!1,Ft=e)}}else{if(Jf(e))throw Error(F(418));e.flags=e.flags&-4097|2,_e=!1,Ft=e}}}function Jv(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Ft=e}function pc(e){if(e!==Ft)return!1;if(!_e)return Jv(e),_e=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Gf(e.type,e.memoizedProps)),t&&(t=Ot)){if(Jf(e))throw oj(),Error(F(418));for(;t;)ij(e,t),t=es(t.nextSibling)}if(Jv(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(F(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){Ot=es(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}Ot=null}}else Ot=Ft?es(e.stateNode.nextSibling):null;return!0}function oj(){for(var e=Ot;e;)e=es(e.nextSibling)}function Ao(){Ot=Ft=null,_e=!1}function tg(e){mn===null?mn=[e]:mn.push(e)}var BP=cr.ReactCurrentBatchConfig;function ua(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(F(309));var r=n.stateNode}if(!r)throw Error(F(147,e));var s=r,i=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===i?t.ref:(t=function(a){var l=s.refs;a===null?delete l[i]:l[i]=a},t._stringRef=i,t)}if(typeof e!="string")throw Error(F(284));if(!n._owner)throw Error(F(290,e))}return e}function gc(e,t){throw e=Object.prototype.toString.call(t),Error(F(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Zv(e){var t=e._init;return t(e._payload)}function aj(e){function t(g,v){if(e){var b=g.deletions;b===null?(g.deletions=[v],g.flags|=16):b.push(v)}}function n(g,v){if(!e)return null;for(;v!==null;)t(g,v),v=v.sibling;return null}function r(g,v){for(g=new Map;v!==null;)v.key!==null?g.set(v.key,v):g.set(v.index,v),v=v.sibling;return g}function s(g,v){return g=ss(g,v),g.index=0,g.sibling=null,g}function i(g,v,b){return g.index=b,e?(b=g.alternate,b!==null?(b=b.index,b<v?(g.flags|=2,v):b):(g.flags|=2,v)):(g.flags|=1048576,v)}function a(g){return e&&g.alternate===null&&(g.flags|=2),g}function l(g,v,b,j){return v===null||v.tag!==6?(v=Eh(b,g.mode,j),v.return=g,v):(v=s(v,b),v.return=g,v)}function c(g,v,b,j){var S=b.type;return S===$i?d(g,v,b.props.children,j,b.key):v!==null&&(v.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===Ar&&Zv(S)===v.type)?(j=s(v,b.props),j.ref=ua(g,v,b),j.return=g,j):(j=eu(b.type,b.key,b.props,null,g.mode,j),j.ref=ua(g,v,b),j.return=g,j)}function u(g,v,b,j){return v===null||v.tag!==4||v.stateNode.containerInfo!==b.containerInfo||v.stateNode.implementation!==b.implementation?(v=_h(b,g.mode,j),v.return=g,v):(v=s(v,b.children||[]),v.return=g,v)}function d(g,v,b,j,S){return v===null||v.tag!==7?(v=ti(b,g.mode,j,S),v.return=g,v):(v=s(v,b),v.return=g,v)}function h(g,v,b){if(typeof v=="string"&&v!==""||typeof v=="number")return v=Eh(""+v,g.mode,b),v.return=g,v;if(typeof v=="object"&&v!==null){switch(v.$$typeof){case ic:return b=eu(v.type,v.key,v.props,null,g.mode,b),b.ref=ua(g,null,v),b.return=g,b;case Li:return v=_h(v,g.mode,b),v.return=g,v;case Ar:var j=v._init;return h(g,j(v._payload),b)}if(Sa(v)||ia(v))return v=ti(v,g.mode,b,null),v.return=g,v;gc(g,v)}return null}function f(g,v,b,j){var S=v!==null?v.key:null;if(typeof b=="string"&&b!==""||typeof b=="number")return S!==null?null:l(g,v,""+b,j);if(typeof b=="object"&&b!==null){switch(b.$$typeof){case ic:return b.key===S?c(g,v,b,j):null;case Li:return b.key===S?u(g,v,b,j):null;case Ar:return S=b._init,f(g,v,S(b._payload),j)}if(Sa(b)||ia(b))return S!==null?null:d(g,v,b,j,null);gc(g,b)}return null}function m(g,v,b,j,S){if(typeof j=="string"&&j!==""||typeof j=="number")return g=g.get(b)||null,l(v,g,""+j,S);if(typeof j=="object"&&j!==null){switch(j.$$typeof){case ic:return g=g.get(j.key===null?b:j.key)||null,c(v,g,j,S);case Li:return g=g.get(j.key===null?b:j.key)||null,u(v,g,j,S);case Ar:var k=j._init;return m(g,v,b,k(j._payload),S)}if(Sa(j)||ia(j))return g=g.get(b)||null,d(v,g,j,S,null);gc(v,j)}return null}function w(g,v,b,j){for(var S=null,k=null,T=v,C=v=0,P=null;T!==null&&C<b.length;C++){T.index>C?(P=T,T=null):P=T.sibling;var R=f(g,T,b[C],j);if(R===null){T===null&&(T=P);break}e&&T&&R.alternate===null&&t(g,T),v=i(R,v,C),k===null?S=R:k.sibling=R,k=R,T=P}if(C===b.length)return n(g,T),_e&&Ps(g,C),S;if(T===null){for(;C<b.length;C++)T=h(g,b[C],j),T!==null&&(v=i(T,v,C),k===null?S=T:k.sibling=T,k=T);return _e&&Ps(g,C),S}for(T=r(g,T);C<b.length;C++)P=m(T,g,C,b[C],j),P!==null&&(e&&P.alternate!==null&&T.delete(P.key===null?C:P.key),v=i(P,v,C),k===null?S=P:k.sibling=P,k=P);return e&&T.forEach(function(V){return t(g,V)}),_e&&Ps(g,C),S}function p(g,v,b,j){var S=ia(b);if(typeof S!="function")throw Error(F(150));if(b=S.call(b),b==null)throw Error(F(151));for(var k=S=null,T=v,C=v=0,P=null,R=b.next();T!==null&&!R.done;C++,R=b.next()){T.index>C?(P=T,T=null):P=T.sibling;var V=f(g,T,R.value,j);if(V===null){T===null&&(T=P);break}e&&T&&V.alternate===null&&t(g,T),v=i(V,v,C),k===null?S=V:k.sibling=V,k=V,T=P}if(R.done)return n(g,T),_e&&Ps(g,C),S;if(T===null){for(;!R.done;C++,R=b.next())R=h(g,R.value,j),R!==null&&(v=i(R,v,C),k===null?S=R:k.sibling=R,k=R);return _e&&Ps(g,C),S}for(T=r(g,T);!R.done;C++,R=b.next())R=m(T,g,C,R.value,j),R!==null&&(e&&R.alternate!==null&&T.delete(R.key===null?C:R.key),v=i(R,v,C),k===null?S=R:k.sibling=R,k=R);return e&&T.forEach(function(D){return t(g,D)}),_e&&Ps(g,C),S}function y(g,v,b,j){if(typeof b=="object"&&b!==null&&b.type===$i&&b.key===null&&(b=b.props.children),typeof b=="object"&&b!==null){switch(b.$$typeof){case ic:e:{for(var S=b.key,k=v;k!==null;){if(k.key===S){if(S=b.type,S===$i){if(k.tag===7){n(g,k.sibling),v=s(k,b.props.children),v.return=g,g=v;break e}}else if(k.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===Ar&&Zv(S)===k.type){n(g,k.sibling),v=s(k,b.props),v.ref=ua(g,k,b),v.return=g,g=v;break e}n(g,k);break}else t(g,k);k=k.sibling}b.type===$i?(v=ti(b.props.children,g.mode,j,b.key),v.return=g,g=v):(j=eu(b.type,b.key,b.props,null,g.mode,j),j.ref=ua(g,v,b),j.return=g,g=j)}return a(g);case Li:e:{for(k=b.key;v!==null;){if(v.key===k)if(v.tag===4&&v.stateNode.containerInfo===b.containerInfo&&v.stateNode.implementation===b.implementation){n(g,v.sibling),v=s(v,b.children||[]),v.return=g,g=v;break e}else{n(g,v);break}else t(g,v);v=v.sibling}v=_h(b,g.mode,j),v.return=g,g=v}return a(g);case Ar:return k=b._init,y(g,v,k(b._payload),j)}if(Sa(b))return w(g,v,b,j);if(ia(b))return p(g,v,b,j);gc(g,b)}return typeof b=="string"&&b!==""||typeof b=="number"?(b=""+b,v!==null&&v.tag===6?(n(g,v.sibling),v=s(v,b),v.return=g,g=v):(n(g,v),v=Eh(b,g.mode,j),v.return=g,g=v),a(g)):n(g,v)}return y}var Ro=aj(!0),lj=aj(!1),_u=ys(null),Pu=null,Ki=null,ng=null;function rg(){ng=Ki=Pu=null}function sg(e){var t=_u.current;Ne(_u),e._currentValue=t}function em(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function io(e,t){Pu=e,ng=Ki=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Ct=!0),e.firstContext=null)}function Xt(e){var t=e._currentValue;if(ng!==e)if(e={context:e,memoizedValue:t,next:null},Ki===null){if(Pu===null)throw Error(F(308));Ki=e,Pu.dependencies={lanes:0,firstContext:e}}else Ki=Ki.next=e;return t}var $s=null;function ig(e){$s===null?$s=[e]:$s.push(e)}function cj(e,t,n,r){var s=t.interleaved;return s===null?(n.next=n,ig(t)):(n.next=s.next,s.next=n),t.interleaved=n,sr(e,r)}function sr(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Rr=!1;function og(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function uj(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Zn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function ts(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,fe&2){var s=r.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),r.pending=t,sr(e,n)}return s=r.interleaved,s===null?(t.next=t,ig(r)):(t.next=s.next,s.next=t),r.interleaved=t,sr(e,n)}function Gc(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Wp(e,n)}}function ex(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var s=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var a={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?s=i=a:i=i.next=a,n=n.next}while(n!==null);i===null?s=i=t:i=i.next=t}else s=i=t;n={baseState:r.baseState,firstBaseUpdate:s,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Au(e,t,n,r){var s=e.updateQueue;Rr=!1;var i=s.firstBaseUpdate,a=s.lastBaseUpdate,l=s.shared.pending;if(l!==null){s.shared.pending=null;var c=l,u=c.next;c.next=null,a===null?i=u:a.next=u,a=c;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==a&&(l===null?d.firstBaseUpdate=u:l.next=u,d.lastBaseUpdate=c))}if(i!==null){var h=s.baseState;a=0,d=u=c=null,l=i;do{var f=l.lane,m=l.eventTime;if((r&f)===f){d!==null&&(d=d.next={eventTime:m,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var w=e,p=l;switch(f=t,m=n,p.tag){case 1:if(w=p.payload,typeof w=="function"){h=w.call(m,h,f);break e}h=w;break e;case 3:w.flags=w.flags&-65537|128;case 0:if(w=p.payload,f=typeof w=="function"?w.call(m,h,f):w,f==null)break e;h=Me({},h,f);break e;case 2:Rr=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,f=s.effects,f===null?s.effects=[l]:f.push(l))}else m={eventTime:m,lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(u=d=m,c=h):d=d.next=m,a|=f;if(l=l.next,l===null){if(l=s.shared.pending,l===null)break;f=l,l=f.next,f.next=null,s.lastBaseUpdate=f,s.shared.pending=null}}while(!0);if(d===null&&(c=h),s.baseState=c,s.firstBaseUpdate=u,s.lastBaseUpdate=d,t=s.shared.interleaved,t!==null){s=t;do a|=s.lane,s=s.next;while(s!==t)}else i===null&&(s.shared.lanes=0);ai|=a,e.lanes=a,e.memoizedState=h}}function tx(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],s=r.callback;if(s!==null){if(r.callback=null,r=n,typeof s!="function")throw Error(F(191,s));s.call(r)}}}var $l={},In=ys($l),il=ys($l),ol=ys($l);function Bs(e){if(e===$l)throw Error(F(174));return e}function ag(e,t){switch(je(ol,t),je(il,e),je(In,$l),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Of(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Of(t,e)}Ne(In),je(In,t)}function Io(){Ne(In),Ne(il),Ne(ol)}function dj(e){Bs(ol.current);var t=Bs(In.current),n=Of(t,e.type);t!==n&&(je(il,e),je(In,n))}function lg(e){il.current===e&&(Ne(In),Ne(il))}var Ie=ys(0);function Ru(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var jh=[];function cg(){for(var e=0;e<jh.length;e++)jh[e]._workInProgressVersionPrimary=null;jh.length=0}var Yc=cr.ReactCurrentDispatcher,Sh=cr.ReactCurrentBatchConfig,oi=0,Fe=null,Ge=null,Xe=null,Iu=!1,Ma=!1,al=0,UP=0;function ot(){throw Error(F(321))}function ug(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!vn(e[n],t[n]))return!1;return!0}function dg(e,t,n,r,s,i){if(oi=i,Fe=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Yc.current=e===null||e.memoizedState===null?WP:qP,e=n(r,s),Ma){i=0;do{if(Ma=!1,al=0,25<=i)throw Error(F(301));i+=1,Xe=Ge=null,t.updateQueue=null,Yc.current=KP,e=n(r,s)}while(Ma)}if(Yc.current=Ou,t=Ge!==null&&Ge.next!==null,oi=0,Xe=Ge=Fe=null,Iu=!1,t)throw Error(F(300));return e}function hg(){var e=al!==0;return al=0,e}function Nn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Xe===null?Fe.memoizedState=Xe=e:Xe=Xe.next=e,Xe}function Jt(){if(Ge===null){var e=Fe.alternate;e=e!==null?e.memoizedState:null}else e=Ge.next;var t=Xe===null?Fe.memoizedState:Xe.next;if(t!==null)Xe=t,Ge=e;else{if(e===null)throw Error(F(310));Ge=e,e={memoizedState:Ge.memoizedState,baseState:Ge.baseState,baseQueue:Ge.baseQueue,queue:Ge.queue,next:null},Xe===null?Fe.memoizedState=Xe=e:Xe=Xe.next=e}return Xe}function ll(e,t){return typeof t=="function"?t(e):t}function kh(e){var t=Jt(),n=t.queue;if(n===null)throw Error(F(311));n.lastRenderedReducer=e;var r=Ge,s=r.baseQueue,i=n.pending;if(i!==null){if(s!==null){var a=s.next;s.next=i.next,i.next=a}r.baseQueue=s=i,n.pending=null}if(s!==null){i=s.next,r=r.baseState;var l=a=null,c=null,u=i;do{var d=u.lane;if((oi&d)===d)c!==null&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var h={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};c===null?(l=c=h,a=r):c=c.next=h,Fe.lanes|=d,ai|=d}u=u.next}while(u!==null&&u!==i);c===null?a=r:c.next=l,vn(r,t.memoizedState)||(Ct=!0),t.memoizedState=r,t.baseState=a,t.baseQueue=c,n.lastRenderedState=r}if(e=n.interleaved,e!==null){s=e;do i=s.lane,Fe.lanes|=i,ai|=i,s=s.next;while(s!==e)}else s===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Nh(e){var t=Jt(),n=t.queue;if(n===null)throw Error(F(311));n.lastRenderedReducer=e;var r=n.dispatch,s=n.pending,i=t.memoizedState;if(s!==null){n.pending=null;var a=s=s.next;do i=e(i,a.action),a=a.next;while(a!==s);vn(i,t.memoizedState)||(Ct=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function hj(){}function fj(e,t){var n=Fe,r=Jt(),s=t(),i=!vn(r.memoizedState,s);if(i&&(r.memoizedState=s,Ct=!0),r=r.queue,fg(gj.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||Xe!==null&&Xe.memoizedState.tag&1){if(n.flags|=2048,cl(9,pj.bind(null,n,r,s,t),void 0,null),Je===null)throw Error(F(349));oi&30||mj(n,t,s)}return s}function mj(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Fe.updateQueue,t===null?(t={lastEffect:null,stores:null},Fe.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function pj(e,t,n,r){t.value=n,t.getSnapshot=r,yj(t)&&vj(e)}function gj(e,t,n){return n(function(){yj(t)&&vj(e)})}function yj(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!vn(e,n)}catch{return!0}}function vj(e){var t=sr(e,1);t!==null&&yn(t,e,1,-1)}function nx(e){var t=Nn();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ll,lastRenderedState:e},t.queue=e,e=e.dispatch=HP.bind(null,Fe,e),[t.memoizedState,e]}function cl(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=Fe.updateQueue,t===null?(t={lastEffect:null,stores:null},Fe.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function xj(){return Jt().memoizedState}function Qc(e,t,n,r){var s=Nn();Fe.flags|=e,s.memoizedState=cl(1|t,n,void 0,r===void 0?null:r)}function pd(e,t,n,r){var s=Jt();r=r===void 0?null:r;var i=void 0;if(Ge!==null){var a=Ge.memoizedState;if(i=a.destroy,r!==null&&ug(r,a.deps)){s.memoizedState=cl(t,n,i,r);return}}Fe.flags|=e,s.memoizedState=cl(1|t,n,i,r)}function rx(e,t){return Qc(8390656,8,e,t)}function fg(e,t){return pd(2048,8,e,t)}function wj(e,t){return pd(4,2,e,t)}function bj(e,t){return pd(4,4,e,t)}function jj(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Sj(e,t,n){return n=n!=null?n.concat([e]):null,pd(4,4,jj.bind(null,t,e),n)}function mg(){}function kj(e,t){var n=Jt();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ug(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Nj(e,t){var n=Jt();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ug(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Tj(e,t,n){return oi&21?(vn(n,t)||(n=A1(),Fe.lanes|=n,ai|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Ct=!0),e.memoizedState=n)}function VP(e,t){var n=ve;ve=n!==0&&4>n?n:4,e(!0);var r=Sh.transition;Sh.transition={};try{e(!1),t()}finally{ve=n,Sh.transition=r}}function Cj(){return Jt().memoizedState}function zP(e,t,n){var r=rs(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Ej(e))_j(t,n);else if(n=cj(e,t,n,r),n!==null){var s=xt();yn(n,e,r,s),Pj(n,t,r)}}function HP(e,t,n){var r=rs(e),s={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ej(e))_j(t,s);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var a=t.lastRenderedState,l=i(a,n);if(s.hasEagerState=!0,s.eagerState=l,vn(l,a)){var c=t.interleaved;c===null?(s.next=s,ig(t)):(s.next=c.next,c.next=s),t.interleaved=s;return}}catch{}finally{}n=cj(e,t,s,r),n!==null&&(s=xt(),yn(n,e,r,s),Pj(n,t,r))}}function Ej(e){var t=e.alternate;return e===Fe||t!==null&&t===Fe}function _j(e,t){Ma=Iu=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Pj(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Wp(e,n)}}var Ou={readContext:Xt,useCallback:ot,useContext:ot,useEffect:ot,useImperativeHandle:ot,useInsertionEffect:ot,useLayoutEffect:ot,useMemo:ot,useReducer:ot,useRef:ot,useState:ot,useDebugValue:ot,useDeferredValue:ot,useTransition:ot,useMutableSource:ot,useSyncExternalStore:ot,useId:ot,unstable_isNewReconciler:!1},WP={readContext:Xt,useCallback:function(e,t){return Nn().memoizedState=[e,t===void 0?null:t],e},useContext:Xt,useEffect:rx,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Qc(4194308,4,jj.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Qc(4194308,4,e,t)},useInsertionEffect:function(e,t){return Qc(4,2,e,t)},useMemo:function(e,t){var n=Nn();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Nn();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=zP.bind(null,Fe,e),[r.memoizedState,e]},useRef:function(e){var t=Nn();return e={current:e},t.memoizedState=e},useState:nx,useDebugValue:mg,useDeferredValue:function(e){return Nn().memoizedState=e},useTransition:function(){var e=nx(!1),t=e[0];return e=VP.bind(null,e[1]),Nn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Fe,s=Nn();if(_e){if(n===void 0)throw Error(F(407));n=n()}else{if(n=t(),Je===null)throw Error(F(349));oi&30||mj(r,t,n)}s.memoizedState=n;var i={value:n,getSnapshot:t};return s.queue=i,rx(gj.bind(null,r,i,e),[e]),r.flags|=2048,cl(9,pj.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Nn(),t=Je.identifierPrefix;if(_e){var n=Jn,r=Xn;n=(r&~(1<<32-gn(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=al++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=UP++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},qP={readContext:Xt,useCallback:kj,useContext:Xt,useEffect:fg,useImperativeHandle:Sj,useInsertionEffect:wj,useLayoutEffect:bj,useMemo:Nj,useReducer:kh,useRef:xj,useState:function(){return kh(ll)},useDebugValue:mg,useDeferredValue:function(e){var t=Jt();return Tj(t,Ge.memoizedState,e)},useTransition:function(){var e=kh(ll)[0],t=Jt().memoizedState;return[e,t]},useMutableSource:hj,useSyncExternalStore:fj,useId:Cj,unstable_isNewReconciler:!1},KP={readContext:Xt,useCallback:kj,useContext:Xt,useEffect:fg,useImperativeHandle:Sj,useInsertionEffect:wj,useLayoutEffect:bj,useMemo:Nj,useReducer:Nh,useRef:xj,useState:function(){return Nh(ll)},useDebugValue:mg,useDeferredValue:function(e){var t=Jt();return Ge===null?t.memoizedState=e:Tj(t,Ge.memoizedState,e)},useTransition:function(){var e=Nh(ll)[0],t=Jt().memoizedState;return[e,t]},useMutableSource:hj,useSyncExternalStore:fj,useId:Cj,unstable_isNewReconciler:!1};function cn(e,t){if(e&&e.defaultProps){t=Me({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function tm(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Me({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var gd={isMounted:function(e){return(e=e._reactInternals)?mi(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=xt(),s=rs(e),i=Zn(r,s);i.payload=t,n!=null&&(i.callback=n),t=ts(e,i,s),t!==null&&(yn(t,e,s,r),Gc(t,e,s))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=xt(),s=rs(e),i=Zn(r,s);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=ts(e,i,s),t!==null&&(yn(t,e,s,r),Gc(t,e,s))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=xt(),r=rs(e),s=Zn(n,r);s.tag=2,t!=null&&(s.callback=t),t=ts(e,s,r),t!==null&&(yn(t,e,r,n),Gc(t,e,r))}};function sx(e,t,n,r,s,i,a){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,i,a):t.prototype&&t.prototype.isPureReactComponent?!tl(n,r)||!tl(s,i):!0}function Aj(e,t,n){var r=!1,s=ds,i=t.contextType;return typeof i=="object"&&i!==null?i=Xt(i):(s=_t(t)?si:dt.current,r=t.contextTypes,i=(r=r!=null)?Po(e,s):ds),t=new t(n,i),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=gd,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=s,e.__reactInternalMemoizedMaskedChildContext=i),t}function ix(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&gd.enqueueReplaceState(t,t.state,null)}function nm(e,t,n,r){var s=e.stateNode;s.props=n,s.state=e.memoizedState,s.refs={},og(e);var i=t.contextType;typeof i=="object"&&i!==null?s.context=Xt(i):(i=_t(t)?si:dt.current,s.context=Po(e,i)),s.state=e.memoizedState,i=t.getDerivedStateFromProps,typeof i=="function"&&(tm(e,t,i,n),s.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof s.getSnapshotBeforeUpdate=="function"||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(t=s.state,typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount(),t!==s.state&&gd.enqueueReplaceState(s,s.state,null),Au(e,n,s,r),s.state=e.memoizedState),typeof s.componentDidMount=="function"&&(e.flags|=4194308)}function Oo(e,t){try{var n="",r=t;do n+=b2(r),r=r.return;while(r);var s=n}catch(i){s=`
Error generating stack: `+i.message+`
`+i.stack}return{value:e,source:t,stack:s,digest:null}}function Th(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function rm(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var GP=typeof WeakMap=="function"?WeakMap:Map;function Rj(e,t,n){n=Zn(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Mu||(Mu=!0,fm=r),rm(e,t)},n}function Ij(e,t,n){n=Zn(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var s=t.value;n.payload=function(){return r(s)},n.callback=function(){rm(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(n.callback=function(){rm(e,t),typeof r!="function"&&(ns===null?ns=new Set([this]):ns.add(this));var a=t.stack;this.componentDidCatch(t.value,{componentStack:a!==null?a:""})}),n}function ox(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new GP;var s=new Set;r.set(t,s)}else s=r.get(t),s===void 0&&(s=new Set,r.set(t,s));s.has(n)||(s.add(n),e=lA.bind(null,e,t,n),t.then(e,e))}function ax(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function lx(e,t,n,r,s){return e.mode&1?(e.flags|=65536,e.lanes=s,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Zn(-1,1),t.tag=2,ts(n,t,1))),n.lanes|=1),e)}var YP=cr.ReactCurrentOwner,Ct=!1;function mt(e,t,n,r){t.child=e===null?lj(t,null,n,r):Ro(t,e.child,n,r)}function cx(e,t,n,r,s){n=n.render;var i=t.ref;return io(t,s),r=dg(e,t,n,r,i,s),n=hg(),e!==null&&!Ct?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~s,ir(e,t,s)):(_e&&n&&Zp(t),t.flags|=1,mt(e,t,r,s),t.child)}function ux(e,t,n,r,s){if(e===null){var i=n.type;return typeof i=="function"&&!jg(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,Oj(e,t,i,r,s)):(e=eu(n.type,null,r,t,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&s)){var a=i.memoizedProps;if(n=n.compare,n=n!==null?n:tl,n(a,r)&&e.ref===t.ref)return ir(e,t,s)}return t.flags|=1,e=ss(i,r),e.ref=t.ref,e.return=t,t.child=e}function Oj(e,t,n,r,s){if(e!==null){var i=e.memoizedProps;if(tl(i,r)&&e.ref===t.ref)if(Ct=!1,t.pendingProps=r=i,(e.lanes&s)!==0)e.flags&131072&&(Ct=!0);else return t.lanes=e.lanes,ir(e,t,s)}return sm(e,t,n,r,s)}function Fj(e,t,n){var r=t.pendingProps,s=r.children,i=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},je(Yi,Rt),Rt|=n;else{if(!(n&1073741824))return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,je(Yi,Rt),Rt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=i!==null?i.baseLanes:n,je(Yi,Rt),Rt|=r}else i!==null?(r=i.baseLanes|n,t.memoizedState=null):r=n,je(Yi,Rt),Rt|=r;return mt(e,t,s,n),t.child}function Mj(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function sm(e,t,n,r,s){var i=_t(n)?si:dt.current;return i=Po(t,i),io(t,s),n=dg(e,t,n,r,i,s),r=hg(),e!==null&&!Ct?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~s,ir(e,t,s)):(_e&&r&&Zp(t),t.flags|=1,mt(e,t,n,s),t.child)}function dx(e,t,n,r,s){if(_t(n)){var i=!0;Tu(t)}else i=!1;if(io(t,s),t.stateNode===null)Xc(e,t),Aj(t,n,r),nm(t,n,r,s),r=!0;else if(e===null){var a=t.stateNode,l=t.memoizedProps;a.props=l;var c=a.context,u=n.contextType;typeof u=="object"&&u!==null?u=Xt(u):(u=_t(n)?si:dt.current,u=Po(t,u));var d=n.getDerivedStateFromProps,h=typeof d=="function"||typeof a.getSnapshotBeforeUpdate=="function";h||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(l!==r||c!==u)&&ix(t,a,r,u),Rr=!1;var f=t.memoizedState;a.state=f,Au(t,r,a,s),c=t.memoizedState,l!==r||f!==c||Et.current||Rr?(typeof d=="function"&&(tm(t,n,d,r),c=t.memoizedState),(l=Rr||sx(t,n,l,r,f,c,u))?(h||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.flags|=4194308)):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),a.props=r,a.state=c,a.context=u,r=l):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,uj(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:cn(t.type,l),a.props=u,h=t.pendingProps,f=a.context,c=n.contextType,typeof c=="object"&&c!==null?c=Xt(c):(c=_t(n)?si:dt.current,c=Po(t,c));var m=n.getDerivedStateFromProps;(d=typeof m=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(l!==h||f!==c)&&ix(t,a,r,c),Rr=!1,f=t.memoizedState,a.state=f,Au(t,r,a,s);var w=t.memoizedState;l!==h||f!==w||Et.current||Rr?(typeof m=="function"&&(tm(t,n,m,r),w=t.memoizedState),(u=Rr||sx(t,n,u,r,f,w,c)||!1)?(d||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(r,w,c),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(r,w,c)),typeof a.componentDidUpdate=="function"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof a.componentDidUpdate!="function"||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=w),a.props=r,a.state=w,a.context=c,r=u):(typeof a.componentDidUpdate!="function"||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return im(e,t,n,r,i,s)}function im(e,t,n,r,s,i){Mj(e,t);var a=(t.flags&128)!==0;if(!r&&!a)return s&&Qv(t,n,!1),ir(e,t,i);r=t.stateNode,YP.current=t;var l=a&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&a?(t.child=Ro(t,e.child,null,i),t.child=Ro(t,null,l,i)):mt(e,t,l,i),t.memoizedState=r.state,s&&Qv(t,n,!0),t.child}function Dj(e){var t=e.stateNode;t.pendingContext?Yv(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Yv(e,t.context,!1),ag(e,t.containerInfo)}function hx(e,t,n,r,s){return Ao(),tg(s),t.flags|=256,mt(e,t,n,r),t.child}var om={dehydrated:null,treeContext:null,retryLane:0};function am(e){return{baseLanes:e,cachePool:null,transitions:null}}function Lj(e,t,n){var r=t.pendingProps,s=Ie.current,i=!1,a=(t.flags&128)!==0,l;if((l=a)||(l=e!==null&&e.memoizedState===null?!1:(s&2)!==0),l?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(s|=1),je(Ie,s&1),e===null)return Zf(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(a=r.children,e=r.fallback,i?(r=t.mode,i=t.child,a={mode:"hidden",children:a},!(r&1)&&i!==null?(i.childLanes=0,i.pendingProps=a):i=xd(a,r,0,null),e=ti(e,r,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=am(n),t.memoizedState=om,e):pg(t,a));if(s=e.memoizedState,s!==null&&(l=s.dehydrated,l!==null))return QP(e,t,a,r,l,s,n);if(i){i=r.fallback,a=t.mode,s=e.child,l=s.sibling;var c={mode:"hidden",children:r.children};return!(a&1)&&t.child!==s?(r=t.child,r.childLanes=0,r.pendingProps=c,t.deletions=null):(r=ss(s,c),r.subtreeFlags=s.subtreeFlags&14680064),l!==null?i=ss(l,i):(i=ti(i,a,n,null),i.flags|=2),i.return=t,r.return=t,r.sibling=i,t.child=r,r=i,i=t.child,a=e.child.memoizedState,a=a===null?am(n):{baseLanes:a.baseLanes|n,cachePool:null,transitions:a.transitions},i.memoizedState=a,i.childLanes=e.childLanes&~n,t.memoizedState=om,r}return i=e.child,e=i.sibling,r=ss(i,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function pg(e,t){return t=xd({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function yc(e,t,n,r){return r!==null&&tg(r),Ro(t,e.child,null,n),e=pg(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function QP(e,t,n,r,s,i,a){if(n)return t.flags&256?(t.flags&=-257,r=Th(Error(F(422))),yc(e,t,a,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=r.fallback,s=t.mode,r=xd({mode:"visible",children:r.children},s,0,null),i=ti(i,s,a,null),i.flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,t.mode&1&&Ro(t,e.child,null,a),t.child.memoizedState=am(a),t.memoizedState=om,i);if(!(t.mode&1))return yc(e,t,a,null);if(s.data==="$!"){if(r=s.nextSibling&&s.nextSibling.dataset,r)var l=r.dgst;return r=l,i=Error(F(419)),r=Th(i,r,void 0),yc(e,t,a,r)}if(l=(a&e.childLanes)!==0,Ct||l){if(r=Je,r!==null){switch(a&-a){case 4:s=2;break;case 16:s=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:s=32;break;case 536870912:s=268435456;break;default:s=0}s=s&(r.suspendedLanes|a)?0:s,s!==0&&s!==i.retryLane&&(i.retryLane=s,sr(e,s),yn(r,e,s,-1))}return bg(),r=Th(Error(F(421))),yc(e,t,a,r)}return s.data==="$?"?(t.flags|=128,t.child=e.child,t=cA.bind(null,e),s._reactRetry=t,null):(e=i.treeContext,Ot=es(s.nextSibling),Ft=t,_e=!0,mn=null,e!==null&&(Wt[qt++]=Xn,Wt[qt++]=Jn,Wt[qt++]=ii,Xn=e.id,Jn=e.overflow,ii=t),t=pg(t,r.children),t.flags|=4096,t)}function fx(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),em(e.return,t,n)}function Ch(e,t,n,r,s){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:s}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=s)}function $j(e,t,n){var r=t.pendingProps,s=r.revealOrder,i=r.tail;if(mt(e,t,r.children,n),r=Ie.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&fx(e,n,t);else if(e.tag===19)fx(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(je(Ie,r),!(t.mode&1))t.memoizedState=null;else switch(s){case"forwards":for(n=t.child,s=null;n!==null;)e=n.alternate,e!==null&&Ru(e)===null&&(s=n),n=n.sibling;n=s,n===null?(s=t.child,t.child=null):(s=n.sibling,n.sibling=null),Ch(t,!1,s,n,i);break;case"backwards":for(n=null,s=t.child,t.child=null;s!==null;){if(e=s.alternate,e!==null&&Ru(e)===null){t.child=s;break}e=s.sibling,s.sibling=n,n=s,s=e}Ch(t,!0,n,null,i);break;case"together":Ch(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Xc(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function ir(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),ai|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(F(153));if(t.child!==null){for(e=t.child,n=ss(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=ss(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function XP(e,t,n){switch(t.tag){case 3:Dj(t),Ao();break;case 5:dj(t);break;case 1:_t(t.type)&&Tu(t);break;case 4:ag(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,s=t.memoizedProps.value;je(_u,r._currentValue),r._currentValue=s;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(je(Ie,Ie.current&1),t.flags|=128,null):n&t.child.childLanes?Lj(e,t,n):(je(Ie,Ie.current&1),e=ir(e,t,n),e!==null?e.sibling:null);je(Ie,Ie.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return $j(e,t,n);t.flags|=128}if(s=t.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),je(Ie,Ie.current),r)break;return null;case 22:case 23:return t.lanes=0,Fj(e,t,n)}return ir(e,t,n)}var Bj,lm,Uj,Vj;Bj=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};lm=function(){};Uj=function(e,t,n,r){var s=e.memoizedProps;if(s!==r){e=t.stateNode,Bs(In.current);var i=null;switch(n){case"input":s=Pf(e,s),r=Pf(e,r),i=[];break;case"select":s=Me({},s,{value:void 0}),r=Me({},r,{value:void 0}),i=[];break;case"textarea":s=If(e,s),r=If(e,r),i=[];break;default:typeof s.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=ku)}Ff(n,r);var a;n=null;for(u in s)if(!r.hasOwnProperty(u)&&s.hasOwnProperty(u)&&s[u]!=null)if(u==="style"){var l=s[u];for(a in l)l.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(Ga.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in r){var c=r[u];if(l=s!=null?s[u]:void 0,r.hasOwnProperty(u)&&c!==l&&(c!=null||l!=null))if(u==="style")if(l){for(a in l)!l.hasOwnProperty(a)||c&&c.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in c)c.hasOwnProperty(a)&&l[a]!==c[a]&&(n||(n={}),n[a]=c[a])}else n||(i||(i=[]),i.push(u,n)),n=c;else u==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,l=l?l.__html:void 0,c!=null&&l!==c&&(i=i||[]).push(u,c)):u==="children"?typeof c!="string"&&typeof c!="number"||(i=i||[]).push(u,""+c):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(Ga.hasOwnProperty(u)?(c!=null&&u==="onScroll"&&ke("scroll",e),i||l===c||(i=[])):(i=i||[]).push(u,c))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}};Vj=function(e,t,n,r){n!==r&&(t.flags|=4)};function da(e,t){if(!_e)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function at(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var s=e.child;s!==null;)n|=s.lanes|s.childLanes,r|=s.subtreeFlags&14680064,r|=s.flags&14680064,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)n|=s.lanes|s.childLanes,r|=s.subtreeFlags,r|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function JP(e,t,n){var r=t.pendingProps;switch(eg(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return at(t),null;case 1:return _t(t.type)&&Nu(),at(t),null;case 3:return r=t.stateNode,Io(),Ne(Et),Ne(dt),cg(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(pc(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,mn!==null&&(gm(mn),mn=null))),lm(e,t),at(t),null;case 5:lg(t);var s=Bs(ol.current);if(n=t.type,e!==null&&t.stateNode!=null)Uj(e,t,n,r,s),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(F(166));return at(t),null}if(e=Bs(In.current),pc(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[_n]=t,r[sl]=i,e=(t.mode&1)!==0,n){case"dialog":ke("cancel",r),ke("close",r);break;case"iframe":case"object":case"embed":ke("load",r);break;case"video":case"audio":for(s=0;s<Na.length;s++)ke(Na[s],r);break;case"source":ke("error",r);break;case"img":case"image":case"link":ke("error",r),ke("load",r);break;case"details":ke("toggle",r);break;case"input":jv(r,i),ke("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},ke("invalid",r);break;case"textarea":kv(r,i),ke("invalid",r)}Ff(n,i),s=null;for(var a in i)if(i.hasOwnProperty(a)){var l=i[a];a==="children"?typeof l=="string"?r.textContent!==l&&(i.suppressHydrationWarning!==!0&&mc(r.textContent,l,e),s=["children",l]):typeof l=="number"&&r.textContent!==""+l&&(i.suppressHydrationWarning!==!0&&mc(r.textContent,l,e),s=["children",""+l]):Ga.hasOwnProperty(a)&&l!=null&&a==="onScroll"&&ke("scroll",r)}switch(n){case"input":oc(r),Sv(r,i,!0);break;case"textarea":oc(r),Nv(r);break;case"select":case"option":break;default:typeof i.onClick=="function"&&(r.onclick=ku)}r=s,t.updateQueue=r,r!==null&&(t.flags|=4)}else{a=s.nodeType===9?s:s.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=g1(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=a.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[_n]=t,e[sl]=r,Bj(e,t,!1,!1),t.stateNode=e;e:{switch(a=Mf(n,r),n){case"dialog":ke("cancel",e),ke("close",e),s=r;break;case"iframe":case"object":case"embed":ke("load",e),s=r;break;case"video":case"audio":for(s=0;s<Na.length;s++)ke(Na[s],e);s=r;break;case"source":ke("error",e),s=r;break;case"img":case"image":case"link":ke("error",e),ke("load",e),s=r;break;case"details":ke("toggle",e),s=r;break;case"input":jv(e,r),s=Pf(e,r),ke("invalid",e);break;case"option":s=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},s=Me({},r,{value:void 0}),ke("invalid",e);break;case"textarea":kv(e,r),s=If(e,r),ke("invalid",e);break;default:s=r}Ff(n,s),l=s;for(i in l)if(l.hasOwnProperty(i)){var c=l[i];i==="style"?x1(e,c):i==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&y1(e,c)):i==="children"?typeof c=="string"?(n!=="textarea"||c!=="")&&Ya(e,c):typeof c=="number"&&Ya(e,""+c):i!=="suppressContentEditableWarning"&&i!=="suppressHydrationWarning"&&i!=="autoFocus"&&(Ga.hasOwnProperty(i)?c!=null&&i==="onScroll"&&ke("scroll",e):c!=null&&$p(e,i,c,a))}switch(n){case"input":oc(e),Sv(e,r,!1);break;case"textarea":oc(e),Nv(e);break;case"option":r.value!=null&&e.setAttribute("value",""+us(r.value));break;case"select":e.multiple=!!r.multiple,i=r.value,i!=null?to(e,!!r.multiple,i,!1):r.defaultValue!=null&&to(e,!!r.multiple,r.defaultValue,!0);break;default:typeof s.onClick=="function"&&(e.onclick=ku)}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 at(t),null;case 6:if(e&&t.stateNode!=null)Vj(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(F(166));if(n=Bs(ol.current),Bs(In.current),pc(t)){if(r=t.stateNode,n=t.memoizedProps,r[_n]=t,(i=r.nodeValue!==n)&&(e=Ft,e!==null))switch(e.tag){case 3:mc(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&mc(r.nodeValue,n,(e.mode&1)!==0)}i&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[_n]=t,t.stateNode=r}return at(t),null;case 13:if(Ne(Ie),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(_e&&Ot!==null&&t.mode&1&&!(t.flags&128))oj(),Ao(),t.flags|=98560,i=!1;else if(i=pc(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(F(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(F(317));i[_n]=t}else Ao(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;at(t),i=!1}else mn!==null&&(gm(mn),mn=null),i=!0;if(!i)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||Ie.current&1?Qe===0&&(Qe=3):bg())),t.updateQueue!==null&&(t.flags|=4),at(t),null);case 4:return Io(),lm(e,t),e===null&&nl(t.stateNode.containerInfo),at(t),null;case 10:return sg(t.type._context),at(t),null;case 17:return _t(t.type)&&Nu(),at(t),null;case 19:if(Ne(Ie),i=t.memoizedState,i===null)return at(t),null;if(r=(t.flags&128)!==0,a=i.rendering,a===null)if(r)da(i,!1);else{if(Qe!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(a=Ru(e),a!==null){for(t.flags|=128,da(i,!1),r=a.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)i=n,e=r,i.flags&=14680066,a=i.alternate,a===null?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=a.childLanes,i.lanes=a.lanes,i.child=a.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=a.memoizedProps,i.memoizedState=a.memoizedState,i.updateQueue=a.updateQueue,i.type=a.type,e=a.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return je(Ie,Ie.current&1|2),t.child}e=e.sibling}i.tail!==null&&Be()>Fo&&(t.flags|=128,r=!0,da(i,!1),t.lanes=4194304)}else{if(!r)if(e=Ru(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),da(i,!0),i.tail===null&&i.tailMode==="hidden"&&!a.alternate&&!_e)return at(t),null}else 2*Be()-i.renderingStartTime>Fo&&n!==1073741824&&(t.flags|=128,r=!0,da(i,!1),t.lanes=4194304);i.isBackwards?(a.sibling=t.child,t.child=a):(n=i.last,n!==null?n.sibling=a:t.child=a,i.last=a)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Be(),t.sibling=null,n=Ie.current,je(Ie,r?n&1|2:n&1),t):(at(t),null);case 22:case 23:return wg(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Rt&1073741824&&(at(t),t.subtreeFlags&6&&(t.flags|=8192)):at(t),null;case 24:return null;case 25:return null}throw Error(F(156,t.tag))}function ZP(e,t){switch(eg(t),t.tag){case 1:return _t(t.type)&&Nu(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Io(),Ne(Et),Ne(dt),cg(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return lg(t),null;case 13:if(Ne(Ie),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(F(340));Ao()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ne(Ie),null;case 4:return Io(),null;case 10:return sg(t.type._context),null;case 22:case 23:return wg(),null;case 24:return null;default:return null}}var vc=!1,ct=!1,eA=typeof WeakSet=="function"?WeakSet:Set,z=null;function Gi(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){$e(e,t,r)}else n.current=null}function cm(e,t,n){try{n()}catch(r){$e(e,t,r)}}var mx=!1;function tA(e,t){if(qf=bu,e=K1(),Jp(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 s=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var a=0,l=-1,c=-1,u=0,d=0,h=e,f=null;t:for(;;){for(var m;h!==n||s!==0&&h.nodeType!==3||(l=a+s),h!==i||r!==0&&h.nodeType!==3||(c=a+r),h.nodeType===3&&(a+=h.nodeValue.length),(m=h.firstChild)!==null;)f=h,h=m;for(;;){if(h===e)break t;if(f===n&&++u===s&&(l=a),f===i&&++d===r&&(c=a),(m=h.nextSibling)!==null)break;h=f,f=h.parentNode}h=m}n=l===-1||c===-1?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(Kf={focusedElem:e,selectionRange:n},bu=!1,z=t;z!==null;)if(t=z,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,z=e;else for(;z!==null;){t=z;try{var w=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var p=w.memoizedProps,y=w.memoizedState,g=t.stateNode,v=g.getSnapshotBeforeUpdate(t.elementType===t.type?p:cn(t.type,p),y);g.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var b=t.stateNode.containerInfo;b.nodeType===1?b.textContent="":b.nodeType===9&&b.documentElement&&b.removeChild(b.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(F(163))}}catch(j){$e(t,t.return,j)}if(e=t.sibling,e!==null){e.return=t.return,z=e;break}z=t.return}return w=mx,mx=!1,w}function Da(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var s=r=r.next;do{if((s.tag&e)===e){var i=s.destroy;s.destroy=void 0,i!==void 0&&cm(t,n,i)}s=s.next}while(s!==r)}}function yd(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 um(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 zj(e){var t=e.alternate;t!==null&&(e.alternate=null,zj(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[_n],delete t[sl],delete t[Qf],delete t[DP],delete t[LP])),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 Hj(e){return e.tag===5||e.tag===3||e.tag===4}function px(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Hj(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 dm(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=ku));else if(r!==4&&(e=e.child,e!==null))for(dm(e,t,n),e=e.sibling;e!==null;)dm(e,t,n),e=e.sibling}function hm(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(hm(e,t,n),e=e.sibling;e!==null;)hm(e,t,n),e=e.sibling}var tt=null,hn=!1;function Sr(e,t,n){for(n=n.child;n!==null;)Wj(e,t,n),n=n.sibling}function Wj(e,t,n){if(Rn&&typeof Rn.onCommitFiberUnmount=="function")try{Rn.onCommitFiberUnmount(cd,n)}catch{}switch(n.tag){case 5:ct||Gi(n,t);case 6:var r=tt,s=hn;tt=null,Sr(e,t,n),tt=r,hn=s,tt!==null&&(hn?(e=tt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):tt.removeChild(n.stateNode));break;case 18:tt!==null&&(hn?(e=tt,n=n.stateNode,e.nodeType===8?wh(e.parentNode,n):e.nodeType===1&&wh(e,n),Za(e)):wh(tt,n.stateNode));break;case 4:r=tt,s=hn,tt=n.stateNode.containerInfo,hn=!0,Sr(e,t,n),tt=r,hn=s;break;case 0:case 11:case 14:case 15:if(!ct&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){s=r=r.next;do{var i=s,a=i.destroy;i=i.tag,a!==void 0&&(i&2||i&4)&&cm(n,t,a),s=s.next}while(s!==r)}Sr(e,t,n);break;case 1:if(!ct&&(Gi(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){$e(n,t,l)}Sr(e,t,n);break;case 21:Sr(e,t,n);break;case 22:n.mode&1?(ct=(r=ct)||n.memoizedState!==null,Sr(e,t,n),ct=r):Sr(e,t,n);break;default:Sr(e,t,n)}}function gx(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new eA),t.forEach(function(r){var s=uA.bind(null,e,r);n.has(r)||(n.add(r),r.then(s,s))})}}function rn(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var s=n[r];try{var i=e,a=t,l=a;e:for(;l!==null;){switch(l.tag){case 5:tt=l.stateNode,hn=!1;break e;case 3:tt=l.stateNode.containerInfo,hn=!0;break e;case 4:tt=l.stateNode.containerInfo,hn=!0;break e}l=l.return}if(tt===null)throw Error(F(160));Wj(i,a,s),tt=null,hn=!1;var c=s.alternate;c!==null&&(c.return=null),s.return=null}catch(u){$e(s,t,u)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)qj(t,e),t=t.sibling}function qj(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(rn(t,e),kn(e),r&4){try{Da(3,e,e.return),yd(3,e)}catch(p){$e(e,e.return,p)}try{Da(5,e,e.return)}catch(p){$e(e,e.return,p)}}break;case 1:rn(t,e),kn(e),r&512&&n!==null&&Gi(n,n.return);break;case 5:if(rn(t,e),kn(e),r&512&&n!==null&&Gi(n,n.return),e.flags&32){var s=e.stateNode;try{Ya(s,"")}catch(p){$e(e,e.return,p)}}if(r&4&&(s=e.stateNode,s!=null)){var i=e.memoizedProps,a=n!==null?n.memoizedProps:i,l=e.type,c=e.updateQueue;if(e.updateQueue=null,c!==null)try{l==="input"&&i.type==="radio"&&i.name!=null&&m1(s,i),Mf(l,a);var u=Mf(l,i);for(a=0;a<c.length;a+=2){var d=c[a],h=c[a+1];d==="style"?x1(s,h):d==="dangerouslySetInnerHTML"?y1(s,h):d==="children"?Ya(s,h):$p(s,d,h,u)}switch(l){case"input":Af(s,i);break;case"textarea":p1(s,i);break;case"select":var f=s._wrapperState.wasMultiple;s._wrapperState.wasMultiple=!!i.multiple;var m=i.value;m!=null?to(s,!!i.multiple,m,!1):f!==!!i.multiple&&(i.defaultValue!=null?to(s,!!i.multiple,i.defaultValue,!0):to(s,!!i.multiple,i.multiple?[]:"",!1))}s[sl]=i}catch(p){$e(e,e.return,p)}}break;case 6:if(rn(t,e),kn(e),r&4){if(e.stateNode===null)throw Error(F(162));s=e.stateNode,i=e.memoizedProps;try{s.nodeValue=i}catch(p){$e(e,e.return,p)}}break;case 3:if(rn(t,e),kn(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Za(t.containerInfo)}catch(p){$e(e,e.return,p)}break;case 4:rn(t,e),kn(e);break;case 13:rn(t,e),kn(e),s=e.child,s.flags&8192&&(i=s.memoizedState!==null,s.stateNode.isHidden=i,!i||s.alternate!==null&&s.alternate.memoizedState!==null||(vg=Be())),r&4&&gx(e);break;case 22:if(d=n!==null&&n.memoizedState!==null,e.mode&1?(ct=(u=ct)||d,rn(t,e),ct=u):rn(t,e),kn(e),r&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!d&&e.mode&1)for(z=e,d=e.child;d!==null;){for(h=z=d;z!==null;){switch(f=z,m=f.child,f.tag){case 0:case 11:case 14:case 15:Da(4,f,f.return);break;case 1:Gi(f,f.return);var w=f.stateNode;if(typeof w.componentWillUnmount=="function"){r=f,n=f.return;try{t=r,w.props=t.memoizedProps,w.state=t.memoizedState,w.componentWillUnmount()}catch(p){$e(r,n,p)}}break;case 5:Gi(f,f.return);break;case 22:if(f.memoizedState!==null){vx(h);continue}}m!==null?(m.return=f,z=m):vx(h)}d=d.sibling}e:for(d=null,h=e;;){if(h.tag===5){if(d===null){d=h;try{s=h.stateNode,u?(i=s.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none"):(l=h.stateNode,c=h.memoizedProps.style,a=c!=null&&c.hasOwnProperty("display")?c.display:null,l.style.display=v1("display",a))}catch(p){$e(e,e.return,p)}}}else if(h.tag===6){if(d===null)try{h.stateNode.nodeValue=u?"":h.memoizedProps}catch(p){$e(e,e.return,p)}}else if((h.tag!==22&&h.tag!==23||h.memoizedState===null||h===e)&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===e)break e;for(;h.sibling===null;){if(h.return===null||h.return===e)break e;d===h&&(d=null),h=h.return}d===h&&(d=null),h.sibling.return=h.return,h=h.sibling}}break;case 19:rn(t,e),kn(e),r&4&&gx(e);break;case 21:break;default:rn(t,e),kn(e)}}function kn(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(Hj(n)){var r=n;break e}n=n.return}throw Error(F(160))}switch(r.tag){case 5:var s=r.stateNode;r.flags&32&&(Ya(s,""),r.flags&=-33);var i=px(e);hm(e,i,s);break;case 3:case 4:var a=r.stateNode.containerInfo,l=px(e);dm(e,l,a);break;default:throw Error(F(161))}}catch(c){$e(e,e.return,c)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function nA(e,t,n){z=e,Kj(e)}function Kj(e,t,n){for(var r=(e.mode&1)!==0;z!==null;){var s=z,i=s.child;if(s.tag===22&&r){var a=s.memoizedState!==null||vc;if(!a){var l=s.alternate,c=l!==null&&l.memoizedState!==null||ct;l=vc;var u=ct;if(vc=a,(ct=c)&&!u)for(z=s;z!==null;)a=z,c=a.child,a.tag===22&&a.memoizedState!==null?xx(s):c!==null?(c.return=a,z=c):xx(s);for(;i!==null;)z=i,Kj(i),i=i.sibling;z=s,vc=l,ct=u}yx(e)}else s.subtreeFlags&8772&&i!==null?(i.return=s,z=i):yx(e)}}function yx(e){for(;z!==null;){var t=z;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:ct||yd(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!ct)if(n===null)r.componentDidMount();else{var s=t.elementType===t.type?n.memoizedProps:cn(t.type,n.memoizedProps);r.componentDidUpdate(s,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;i!==null&&tx(t,i,r);break;case 3:var a=t.updateQueue;if(a!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}tx(t,a,n)}break;case 5:var l=t.stateNode;if(n===null&&t.flags&4){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.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 d=u.memoizedState;if(d!==null){var h=d.dehydrated;h!==null&&Za(h)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(F(163))}ct||t.flags&512&&um(t)}catch(f){$e(t,t.return,f)}}if(t===e){z=null;break}if(n=t.sibling,n!==null){n.return=t.return,z=n;break}z=t.return}}function vx(e){for(;z!==null;){var t=z;if(t===e){z=null;break}var n=t.sibling;if(n!==null){n.return=t.return,z=n;break}z=t.return}}function xx(e){for(;z!==null;){var t=z;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{yd(4,t)}catch(c){$e(t,n,c)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var s=t.return;try{r.componentDidMount()}catch(c){$e(t,s,c)}}var i=t.return;try{um(t)}catch(c){$e(t,i,c)}break;case 5:var a=t.return;try{um(t)}catch(c){$e(t,a,c)}}}catch(c){$e(t,t.return,c)}if(t===e){z=null;break}var l=t.sibling;if(l!==null){l.return=t.return,z=l;break}z=t.return}}var rA=Math.ceil,Fu=cr.ReactCurrentDispatcher,gg=cr.ReactCurrentOwner,Yt=cr.ReactCurrentBatchConfig,fe=0,Je=null,He=null,rt=0,Rt=0,Yi=ys(0),Qe=0,ul=null,ai=0,vd=0,yg=0,La=null,Tt=null,vg=0,Fo=1/0,qn=null,Mu=!1,fm=null,ns=null,xc=!1,Gr=null,Du=0,$a=0,mm=null,Jc=-1,Zc=0;function xt(){return fe&6?Be():Jc!==-1?Jc:Jc=Be()}function rs(e){return e.mode&1?fe&2&&rt!==0?rt&-rt:BP.transition!==null?(Zc===0&&(Zc=A1()),Zc):(e=ve,e!==0||(e=window.event,e=e===void 0?16:L1(e.type)),e):1}function yn(e,t,n,r){if(50<$a)throw $a=0,mm=null,Error(F(185));Ml(e,n,r),(!(fe&2)||e!==Je)&&(e===Je&&(!(fe&2)&&(vd|=n),Qe===4&&Fr(e,rt)),Pt(e,r),n===1&&fe===0&&!(t.mode&1)&&(Fo=Be()+500,md&&vs()))}function Pt(e,t){var n=e.callbackNode;B2(e,t);var r=wu(e,e===Je?rt:0);if(r===0)n!==null&&Ev(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&Ev(n),t===1)e.tag===0?$P(wx.bind(null,e)):rj(wx.bind(null,e)),FP(function(){!(fe&6)&&vs()}),n=null;else{switch(R1(r)){case 1:n=Hp;break;case 4:n=_1;break;case 16:n=xu;break;case 536870912:n=P1;break;default:n=xu}n=tS(n,Gj.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Gj(e,t){if(Jc=-1,Zc=0,fe&6)throw Error(F(327));var n=e.callbackNode;if(oo()&&e.callbackNode!==n)return null;var r=wu(e,e===Je?rt:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=Lu(e,r);else{t=r;var s=fe;fe|=2;var i=Qj();(Je!==e||rt!==t)&&(qn=null,Fo=Be()+500,ei(e,t));do try{oA();break}catch(l){Yj(e,l)}while(!0);rg(),Fu.current=i,fe=s,He!==null?t=0:(Je=null,rt=0,t=Qe)}if(t!==0){if(t===2&&(s=Uf(e),s!==0&&(r=s,t=pm(e,s))),t===1)throw n=ul,ei(e,0),Fr(e,r),Pt(e,Be()),n;if(t===6)Fr(e,r);else{if(s=e.current.alternate,!(r&30)&&!sA(s)&&(t=Lu(e,r),t===2&&(i=Uf(e),i!==0&&(r=i,t=pm(e,i))),t===1))throw n=ul,ei(e,0),Fr(e,r),Pt(e,Be()),n;switch(e.finishedWork=s,e.finishedLanes=r,t){case 0:case 1:throw Error(F(345));case 2:As(e,Tt,qn);break;case 3:if(Fr(e,r),(r&130023424)===r&&(t=vg+500-Be(),10<t)){if(wu(e,0)!==0)break;if(s=e.suspendedLanes,(s&r)!==r){xt(),e.pingedLanes|=e.suspendedLanes&s;break}e.timeoutHandle=Yf(As.bind(null,e,Tt,qn),t);break}As(e,Tt,qn);break;case 4:if(Fr(e,r),(r&4194240)===r)break;for(t=e.eventTimes,s=-1;0<r;){var a=31-gn(r);i=1<<a,a=t[a],a>s&&(s=a),r&=~i}if(r=s,r=Be()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*rA(r/1960))-r,10<r){e.timeoutHandle=Yf(As.bind(null,e,Tt,qn),r);break}As(e,Tt,qn);break;case 5:As(e,Tt,qn);break;default:throw Error(F(329))}}}return Pt(e,Be()),e.callbackNode===n?Gj.bind(null,e):null}function pm(e,t){var n=La;return e.current.memoizedState.isDehydrated&&(ei(e,t).flags|=256),e=Lu(e,t),e!==2&&(t=Tt,Tt=n,t!==null&&gm(t)),e}function gm(e){Tt===null?Tt=e:Tt.push.apply(Tt,e)}function sA(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 s=n[r],i=s.getSnapshot;s=s.value;try{if(!vn(i(),s))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 Fr(e,t){for(t&=~yg,t&=~vd,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-gn(t),r=1<<n;e[n]=-1,t&=~r}}function wx(e){if(fe&6)throw Error(F(327));oo();var t=wu(e,0);if(!(t&1))return Pt(e,Be()),null;var n=Lu(e,t);if(e.tag!==0&&n===2){var r=Uf(e);r!==0&&(t=r,n=pm(e,r))}if(n===1)throw n=ul,ei(e,0),Fr(e,t),Pt(e,Be()),n;if(n===6)throw Error(F(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,As(e,Tt,qn),Pt(e,Be()),null}function xg(e,t){var n=fe;fe|=1;try{return e(t)}finally{fe=n,fe===0&&(Fo=Be()+500,md&&vs())}}function li(e){Gr!==null&&Gr.tag===0&&!(fe&6)&&oo();var t=fe;fe|=1;var n=Yt.transition,r=ve;try{if(Yt.transition=null,ve=1,e)return e()}finally{ve=r,Yt.transition=n,fe=t,!(fe&6)&&vs()}}function wg(){Rt=Yi.current,Ne(Yi)}function ei(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,OP(n)),He!==null)for(n=He.return;n!==null;){var r=n;switch(eg(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Nu();break;case 3:Io(),Ne(Et),Ne(dt),cg();break;case 5:lg(r);break;case 4:Io();break;case 13:Ne(Ie);break;case 19:Ne(Ie);break;case 10:sg(r.type._context);break;case 22:case 23:wg()}n=n.return}if(Je=e,He=e=ss(e.current,null),rt=Rt=t,Qe=0,ul=null,yg=vd=ai=0,Tt=La=null,$s!==null){for(t=0;t<$s.length;t++)if(n=$s[t],r=n.interleaved,r!==null){n.interleaved=null;var s=r.next,i=n.pending;if(i!==null){var a=i.next;i.next=s,r.next=a}n.pending=r}$s=null}return e}function Yj(e,t){do{var n=He;try{if(rg(),Yc.current=Ou,Iu){for(var r=Fe.memoizedState;r!==null;){var s=r.queue;s!==null&&(s.pending=null),r=r.next}Iu=!1}if(oi=0,Xe=Ge=Fe=null,Ma=!1,al=0,gg.current=null,n===null||n.return===null){Qe=1,ul=t,He=null;break}e:{var i=e,a=n.return,l=n,c=t;if(t=rt,l.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){var u=c,d=l,h=d.tag;if(!(d.mode&1)&&(h===0||h===11||h===15)){var f=d.alternate;f?(d.updateQueue=f.updateQueue,d.memoizedState=f.memoizedState,d.lanes=f.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=ax(a);if(m!==null){m.flags&=-257,lx(m,a,l,i,t),m.mode&1&&ox(i,u,t),t=m,c=u;var w=t.updateQueue;if(w===null){var p=new Set;p.add(c),t.updateQueue=p}else w.add(c);break e}else{if(!(t&1)){ox(i,u,t),bg();break e}c=Error(F(426))}}else if(_e&&l.mode&1){var y=ax(a);if(y!==null){!(y.flags&65536)&&(y.flags|=256),lx(y,a,l,i,t),tg(Oo(c,l));break e}}i=c=Oo(c,l),Qe!==4&&(Qe=2),La===null?La=[i]:La.push(i),i=a;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t;var g=Rj(i,c,t);ex(i,g);break e;case 1:l=c;var v=i.type,b=i.stateNode;if(!(i.flags&128)&&(typeof v.getDerivedStateFromError=="function"||b!==null&&typeof b.componentDidCatch=="function"&&(ns===null||!ns.has(b)))){i.flags|=65536,t&=-t,i.lanes|=t;var j=Ij(i,l,t);ex(i,j);break e}}i=i.return}while(i!==null)}Jj(n)}catch(S){t=S,He===n&&n!==null&&(He=n=n.return);continue}break}while(!0)}function Qj(){var e=Fu.current;return Fu.current=Ou,e===null?Ou:e}function bg(){(Qe===0||Qe===3||Qe===2)&&(Qe=4),Je===null||!(ai&268435455)&&!(vd&268435455)||Fr(Je,rt)}function Lu(e,t){var n=fe;fe|=2;var r=Qj();(Je!==e||rt!==t)&&(qn=null,ei(e,t));do try{iA();break}catch(s){Yj(e,s)}while(!0);if(rg(),fe=n,Fu.current=r,He!==null)throw Error(F(261));return Je=null,rt=0,Qe}function iA(){for(;He!==null;)Xj(He)}function oA(){for(;He!==null&&!A2();)Xj(He)}function Xj(e){var t=eS(e.alternate,e,Rt);e.memoizedProps=e.pendingProps,t===null?Jj(e):He=t,gg.current=null}function Jj(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=ZP(n,t),n!==null){n.flags&=32767,He=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Qe=6,He=null;return}}else if(n=JP(n,t,Rt),n!==null){He=n;return}if(t=t.sibling,t!==null){He=t;return}He=t=e}while(t!==null);Qe===0&&(Qe=5)}function As(e,t,n){var r=ve,s=Yt.transition;try{Yt.transition=null,ve=1,aA(e,t,n,r)}finally{Yt.transition=s,ve=r}return null}function aA(e,t,n,r){do oo();while(Gr!==null);if(fe&6)throw Error(F(327));n=e.finishedWork;var s=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(F(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(U2(e,i),e===Je&&(He=Je=null,rt=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||xc||(xc=!0,tS(xu,function(){return oo(),null})),i=(n.flags&15990)!==0,n.subtreeFlags&15990||i){i=Yt.transition,Yt.transition=null;var a=ve;ve=1;var l=fe;fe|=4,gg.current=null,tA(e,n),qj(n,e),CP(Kf),bu=!!qf,Kf=qf=null,e.current=n,nA(n),R2(),fe=l,ve=a,Yt.transition=i}else e.current=n;if(xc&&(xc=!1,Gr=e,Du=s),i=e.pendingLanes,i===0&&(ns=null),F2(n.stateNode),Pt(e,Be()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)s=t[n],r(s.value,{componentStack:s.stack,digest:s.digest});if(Mu)throw Mu=!1,e=fm,fm=null,e;return Du&1&&e.tag!==0&&oo(),i=e.pendingLanes,i&1?e===mm?$a++:($a=0,mm=e):$a=0,vs(),null}function oo(){if(Gr!==null){var e=R1(Du),t=Yt.transition,n=ve;try{if(Yt.transition=null,ve=16>e?16:e,Gr===null)var r=!1;else{if(e=Gr,Gr=null,Du=0,fe&6)throw Error(F(331));var s=fe;for(fe|=4,z=e.current;z!==null;){var i=z,a=i.child;if(z.flags&16){var l=i.deletions;if(l!==null){for(var c=0;c<l.length;c++){var u=l[c];for(z=u;z!==null;){var d=z;switch(d.tag){case 0:case 11:case 15:Da(8,d,i)}var h=d.child;if(h!==null)h.return=d,z=h;else for(;z!==null;){d=z;var f=d.sibling,m=d.return;if(zj(d),d===u){z=null;break}if(f!==null){f.return=m,z=f;break}z=m}}}var w=i.alternate;if(w!==null){var p=w.child;if(p!==null){w.child=null;do{var y=p.sibling;p.sibling=null,p=y}while(p!==null)}}z=i}}if(i.subtreeFlags&2064&&a!==null)a.return=i,z=a;else e:for(;z!==null;){if(i=z,i.flags&2048)switch(i.tag){case 0:case 11:case 15:Da(9,i,i.return)}var g=i.sibling;if(g!==null){g.return=i.return,z=g;break e}z=i.return}}var v=e.current;for(z=v;z!==null;){a=z;var b=a.child;if(a.subtreeFlags&2064&&b!==null)b.return=a,z=b;else e:for(a=v;z!==null;){if(l=z,l.flags&2048)try{switch(l.tag){case 0:case 11:case 15:yd(9,l)}}catch(S){$e(l,l.return,S)}if(l===a){z=null;break e}var j=l.sibling;if(j!==null){j.return=l.return,z=j;break e}z=l.return}}if(fe=s,vs(),Rn&&typeof Rn.onPostCommitFiberRoot=="function")try{Rn.onPostCommitFiberRoot(cd,e)}catch{}r=!0}return r}finally{ve=n,Yt.transition=t}}return!1}function bx(e,t,n){t=Oo(n,t),t=Rj(e,t,1),e=ts(e,t,1),t=xt(),e!==null&&(Ml(e,1,t),Pt(e,t))}function $e(e,t,n){if(e.tag===3)bx(e,e,n);else for(;t!==null;){if(t.tag===3){bx(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(ns===null||!ns.has(r))){e=Oo(n,e),e=Ij(t,e,1),t=ts(t,e,1),e=xt(),t!==null&&(Ml(t,1,e),Pt(t,e));break}}t=t.return}}function lA(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=xt(),e.pingedLanes|=e.suspendedLanes&n,Je===e&&(rt&n)===n&&(Qe===4||Qe===3&&(rt&130023424)===rt&&500>Be()-vg?ei(e,0):yg|=n),Pt(e,t)}function Zj(e,t){t===0&&(e.mode&1?(t=cc,cc<<=1,!(cc&130023424)&&(cc=4194304)):t=1);var n=xt();e=sr(e,t),e!==null&&(Ml(e,t,n),Pt(e,n))}function cA(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Zj(e,n)}function uA(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,s=e.memoizedState;s!==null&&(n=s.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(F(314))}r!==null&&r.delete(t),Zj(e,n)}var eS;eS=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Et.current)Ct=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Ct=!1,XP(e,t,n);Ct=!!(e.flags&131072)}else Ct=!1,_e&&t.flags&1048576&&sj(t,Eu,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Xc(e,t),e=t.pendingProps;var s=Po(t,dt.current);io(t,n),s=dg(null,t,r,e,s,n);var i=hg();return t.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,_t(r)?(i=!0,Tu(t)):i=!1,t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,og(t),s.updater=gd,t.stateNode=s,s._reactInternals=t,nm(t,r,e,n),t=im(null,t,r,!0,i,n)):(t.tag=0,_e&&i&&Zp(t),mt(null,t,s,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Xc(e,t),e=t.pendingProps,s=r._init,r=s(r._payload),t.type=r,s=t.tag=hA(r),e=cn(r,e),s){case 0:t=sm(null,t,r,e,n);break e;case 1:t=dx(null,t,r,e,n);break e;case 11:t=cx(null,t,r,e,n);break e;case 14:t=ux(null,t,r,cn(r.type,e),n);break e}throw Error(F(306,r,""))}return t;case 0:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:cn(r,s),sm(e,t,r,s,n);case 1:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:cn(r,s),dx(e,t,r,s,n);case 3:e:{if(Dj(t),e===null)throw Error(F(387));r=t.pendingProps,i=t.memoizedState,s=i.element,uj(e,t),Au(t,r,null,n);var a=t.memoizedState;if(r=a.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){s=Oo(Error(F(423)),t),t=hx(e,t,r,n,s);break e}else if(r!==s){s=Oo(Error(F(424)),t),t=hx(e,t,r,n,s);break e}else for(Ot=es(t.stateNode.containerInfo.firstChild),Ft=t,_e=!0,mn=null,n=lj(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ao(),r===s){t=ir(e,t,n);break e}mt(e,t,r,n)}t=t.child}return t;case 5:return dj(t),e===null&&Zf(t),r=t.type,s=t.pendingProps,i=e!==null?e.memoizedProps:null,a=s.children,Gf(r,s)?a=null:i!==null&&Gf(r,i)&&(t.flags|=32),Mj(e,t),mt(e,t,a,n),t.child;case 6:return e===null&&Zf(t),null;case 13:return Lj(e,t,n);case 4:return ag(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ro(t,null,r,n):mt(e,t,r,n),t.child;case 11:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:cn(r,s),cx(e,t,r,s,n);case 7:return mt(e,t,t.pendingProps,n),t.child;case 8:return mt(e,t,t.pendingProps.children,n),t.child;case 12:return mt(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,s=t.pendingProps,i=t.memoizedProps,a=s.value,je(_u,r._currentValue),r._currentValue=a,i!==null)if(vn(i.value,a)){if(i.children===s.children&&!Et.current){t=ir(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var l=i.dependencies;if(l!==null){a=i.child;for(var c=l.firstContext;c!==null;){if(c.context===r){if(i.tag===1){c=Zn(-1,n&-n),c.tag=2;var u=i.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}i.lanes|=n,c=i.alternate,c!==null&&(c.lanes|=n),em(i.return,n,t),l.lanes|=n;break}c=c.next}}else if(i.tag===10)a=i.type===t.type?null:i.child;else if(i.tag===18){if(a=i.return,a===null)throw Error(F(341));a.lanes|=n,l=a.alternate,l!==null&&(l.lanes|=n),em(a,n,t),a=i.sibling}else a=i.child;if(a!==null)a.return=i;else for(a=i;a!==null;){if(a===t){a=null;break}if(i=a.sibling,i!==null){i.return=a.return,a=i;break}a=a.return}i=a}mt(e,t,s.children,n),t=t.child}return t;case 9:return s=t.type,r=t.pendingProps.children,io(t,n),s=Xt(s),r=r(s),t.flags|=1,mt(e,t,r,n),t.child;case 14:return r=t.type,s=cn(r,t.pendingProps),s=cn(r.type,s),ux(e,t,r,s,n);case 15:return Oj(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,s=t.pendingProps,s=t.elementType===r?s:cn(r,s),Xc(e,t),t.tag=1,_t(r)?(e=!0,Tu(t)):e=!1,io(t,n),Aj(t,r,s),nm(t,r,s,n),im(null,t,r,!0,e,n);case 19:return $j(e,t,n);case 22:return Fj(e,t,n)}throw Error(F(156,t.tag))};function tS(e,t){return E1(e,t)}function dA(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 Kt(e,t,n,r){return new dA(e,t,n,r)}function jg(e){return e=e.prototype,!(!e||!e.isReactComponent)}function hA(e){if(typeof e=="function")return jg(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Up)return 11;if(e===Vp)return 14}return 2}function ss(e,t){var n=e.alternate;return n===null?(n=Kt(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 eu(e,t,n,r,s,i){var a=2;if(r=e,typeof e=="function")jg(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case $i:return ti(n.children,s,i,t);case Bp:a=8,s|=8;break;case Tf:return e=Kt(12,n,t,s|2),e.elementType=Tf,e.lanes=i,e;case Cf:return e=Kt(13,n,t,s),e.elementType=Cf,e.lanes=i,e;case Ef:return e=Kt(19,n,t,s),e.elementType=Ef,e.lanes=i,e;case d1:return xd(n,s,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case c1:a=10;break e;case u1:a=9;break e;case Up:a=11;break e;case Vp:a=14;break e;case Ar:a=16,r=null;break e}throw Error(F(130,e==null?e:typeof e,""))}return t=Kt(a,n,t,s),t.elementType=e,t.type=r,t.lanes=i,t}function ti(e,t,n,r){return e=Kt(7,e,r,t),e.lanes=n,e}function xd(e,t,n,r){return e=Kt(22,e,r,t),e.elementType=d1,e.lanes=n,e.stateNode={isHidden:!1},e}function Eh(e,t,n){return e=Kt(6,e,null,t),e.lanes=n,e}function _h(e,t,n){return t=Kt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function fA(e,t,n,r,s){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=ch(0),this.expirationTimes=ch(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ch(0),this.identifierPrefix=r,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function Sg(e,t,n,r,s,i,a,l,c){return e=new fA(e,t,n,l,c),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Kt(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},og(i),e}function mA(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Li,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function nS(e){if(!e)return ds;e=e._reactInternals;e:{if(mi(e)!==e||e.tag!==1)throw Error(F(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(_t(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(F(171))}if(e.tag===1){var n=e.type;if(_t(n))return nj(e,n,t)}return t}function rS(e,t,n,r,s,i,a,l,c){return e=Sg(n,r,!0,e,s,i,a,l,c),e.context=nS(null),n=e.current,r=xt(),s=rs(n),i=Zn(r,s),i.callback=t??null,ts(n,i,s),e.current.lanes=s,Ml(e,s,r),Pt(e,r),e}function wd(e,t,n,r){var s=t.current,i=xt(),a=rs(s);return n=nS(n),t.context===null?t.context=n:t.pendingContext=n,t=Zn(i,a),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=ts(s,t,a),e!==null&&(yn(e,s,a,i),Gc(e,s,a)),a}function $u(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 jx(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function kg(e,t){jx(e,t),(e=e.alternate)&&jx(e,t)}function pA(){return null}var sS=typeof reportError=="function"?reportError:function(e){console.error(e)};function Ng(e){this._internalRoot=e}bd.prototype.render=Ng.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(F(409));wd(e,t,null,null)};bd.prototype.unmount=Ng.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;li(function(){wd(null,e,null,null)}),t[rr]=null}};function bd(e){this._internalRoot=e}bd.prototype.unstable_scheduleHydration=function(e){if(e){var t=F1();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Or.length&&t!==0&&t<Or[n].priority;n++);Or.splice(n,0,e),n===0&&D1(e)}};function Tg(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function jd(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Sx(){}function gA(e,t,n,r,s){if(s){if(typeof r=="function"){var i=r;r=function(){var u=$u(a);i.call(u)}}var a=rS(t,r,e,0,null,!1,!1,"",Sx);return e._reactRootContainer=a,e[rr]=a.current,nl(e.nodeType===8?e.parentNode:e),li(),a}for(;s=e.lastChild;)e.removeChild(s);if(typeof r=="function"){var l=r;r=function(){var u=$u(c);l.call(u)}}var c=Sg(e,0,!1,null,null,!1,!1,"",Sx);return e._reactRootContainer=c,e[rr]=c.current,nl(e.nodeType===8?e.parentNode:e),li(function(){wd(t,c,n,r)}),c}function Sd(e,t,n,r,s){var i=n._reactRootContainer;if(i){var a=i;if(typeof s=="function"){var l=s;s=function(){var c=$u(a);l.call(c)}}wd(t,a,e,s)}else a=gA(n,t,e,s,r);return $u(a)}I1=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=ka(t.pendingLanes);n!==0&&(Wp(t,n|1),Pt(t,Be()),!(fe&6)&&(Fo=Be()+500,vs()))}break;case 13:li(function(){var r=sr(e,1);if(r!==null){var s=xt();yn(r,e,1,s)}}),kg(e,1)}};qp=function(e){if(e.tag===13){var t=sr(e,134217728);if(t!==null){var n=xt();yn(t,e,134217728,n)}kg(e,134217728)}};O1=function(e){if(e.tag===13){var t=rs(e),n=sr(e,t);if(n!==null){var r=xt();yn(n,e,t,r)}kg(e,t)}};F1=function(){return ve};M1=function(e,t){var n=ve;try{return ve=e,t()}finally{ve=n}};Lf=function(e,t,n){switch(t){case"input":if(Af(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 s=fd(r);if(!s)throw Error(F(90));f1(r),Af(r,s)}}}break;case"textarea":p1(e,n);break;case"select":t=n.value,t!=null&&to(e,!!n.multiple,t,!1)}};j1=xg;S1=li;var yA={usingClientEntryPoint:!1,Events:[Ll,zi,fd,w1,b1,xg]},ha={findFiberByHostInstance:Ls,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},vA={bundleType:ha.bundleType,version:ha.version,rendererPackageName:ha.rendererPackageName,rendererConfig:ha.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:cr.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=T1(e),e===null?null:e.stateNode},findFiberByHostInstance:ha.findFiberByHostInstance||pA,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 wc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wc.isDisabled&&wc.supportsFiber)try{cd=wc.inject(vA),Rn=wc}catch{}}Lt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=yA;Lt.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Tg(t))throw Error(F(200));return mA(e,t,null,n)};Lt.createRoot=function(e,t){if(!Tg(e))throw Error(F(299));var n=!1,r="",s=sS;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(s=t.onRecoverableError)),t=Sg(e,1,!1,null,null,n,!1,r,s),e[rr]=t.current,nl(e.nodeType===8?e.parentNode:e),new Ng(t)};Lt.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(F(188)):(e=Object.keys(e).join(","),Error(F(268,e)));return e=T1(t),e=e===null?null:e.stateNode,e};Lt.flushSync=function(e){return li(e)};Lt.hydrate=function(e,t,n){if(!jd(t))throw Error(F(200));return Sd(null,e,t,!0,n)};Lt.hydrateRoot=function(e,t,n){if(!Tg(e))throw Error(F(405));var r=n!=null&&n.hydratedSources||null,s=!1,i="",a=sS;if(n!=null&&(n.unstable_strictMode===!0&&(s=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onRecoverableError!==void 0&&(a=n.onRecoverableError)),t=rS(t,null,e,1,n??null,s,!1,i,a),e[rr]=t.current,nl(e),r)for(e=0;e<r.length;e++)n=r[e],s=n._getVersion,s=s(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,s]:t.mutableSourceEagerHydrationData.push(n,s);return new bd(t)};Lt.render=function(e,t,n){if(!jd(t))throw Error(F(200));return Sd(null,e,t,!1,n)};Lt.unmountComponentAtNode=function(e){if(!jd(e))throw Error(F(40));return e._reactRootContainer?(li(function(){Sd(null,null,e,!1,function(){e._reactRootContainer=null,e[rr]=null})}),!0):!1};Lt.unstable_batchedUpdates=xg;Lt.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!jd(n))throw Error(F(200));if(e==null||e._reactInternals===void 0)throw Error(F(38));return Sd(e,t,n,!1,r)};Lt.version="18.3.1-next-f1338f8080-20240426";function iS(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(iS)}catch(e){console.error(e)}}iS(),i1.exports=Lt;var Bl=i1.exports;const oS=Uo(Bl);var aS,kx=Bl;aS=kx.createRoot,kx.hydrateRoot;const xA=1,wA=1e6;let Ph=0;function bA(){return Ph=(Ph+1)%Number.MAX_SAFE_INTEGER,Ph.toString()}const Ah=new Map,Nx=e=>{if(Ah.has(e))return;const t=setTimeout(()=>{Ah.delete(e),Ba({type:"REMOVE_TOAST",toastId:e})},wA);Ah.set(e,t)},jA=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,xA)};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?Nx(n):e.toasts.forEach(r=>{Nx(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)}}},tu=[];let nu={toasts:[]};function Ba(e){nu=jA(nu,e),tu.forEach(t=>{t(nu)})}function SA({...e}){const t=bA(),n=s=>Ba({type:"UPDATE_TOAST",toast:{...s,id:t}}),r=()=>Ba({type:"DISMISS_TOAST",toastId:t});return Ba({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:s=>{s||r()}}}),{id:t,dismiss:r,update:n}}function xs(){const[e,t]=x.useState(nu);return x.useEffect(()=>(tu.push(t),()=>{const n=tu.indexOf(t);n>-1&&tu.splice(n,1)}),[e]),{...e,toast:SA,dismiss:n=>Ba({type:"DISMISS_TOAST",toastId:n})}}function oe(e,t,{checkForDefaultPrevented:n=!0}={}){return function(s){if(e==null||e(s),n===!1||!s.defaultPrevented)return t==null?void 0:t(s)}}function Tx(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function lS(...e){return t=>{let n=!1;const r=e.map(s=>{const i=Tx(s,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let s=0;s<r.length;s++){const i=r[s];typeof i=="function"?i():Tx(e[s],null)}}}}function Pe(...e){return x.useCallback(lS(...e),e)}function kA(e,t){const n=x.createContext(t),r=i=>{const{children:a,...l}=i,c=x.useMemo(()=>l,Object.values(l));return o.jsx(n.Provider,{value:c,children:a})};r.displayName=e+"Provider";function s(i){const a=x.useContext(n);if(a)return a;if(t!==void 0)return t;throw new Error(`\`${i}\` must be used within \`${e}\``)}return[r,s]}function Zt(e,t=[]){let n=[];function r(i,a){const l=x.createContext(a),c=n.length;n=[...n,a];const u=h=>{var g;const{scope:f,children:m,...w}=h,p=((g=f==null?void 0:f[e])==null?void 0:g[c])||l,y=x.useMemo(()=>w,Object.values(w));return o.jsx(p.Provider,{value:y,children:m})};u.displayName=i+"Provider";function d(h,f){var p;const m=((p=f==null?void 0:f[e])==null?void 0:p[c])||l,w=x.useContext(m);if(w)return w;if(a!==void 0)return a;throw new Error(`\`${h}\` must be used within \`${i}\``)}return[u,d]}const s=()=>{const i=n.map(a=>x.createContext(a));return function(l){const c=(l==null?void 0:l[e])||i;return x.useMemo(()=>({[`__scope${e}`]:{...l,[e]:c}}),[l,c])}};return s.scopeName=e,[r,NA(s,...t)]}function NA(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(i){const a=r.reduce((l,{useScope:c,scopeName:u})=>{const h=c(i)[`__scope${u}`];return{...l,...h}},{});return x.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function dl(e){const t=CA(e),n=x.forwardRef((r,s)=>{const{children:i,...a}=r,l=x.Children.toArray(i),c=l.find(EA);if(c){const u=c.props.children,d=l.map(h=>h===c?x.Children.count(u)>1?x.Children.only(null):x.isValidElement(u)?u.props.children:null:h);return o.jsx(t,{...a,ref:s,children:x.isValidElement(u)?x.cloneElement(u,void 0,d):null})}return o.jsx(t,{...a,ref:s,children:i})});return n.displayName=`${e}.Slot`,n}var TA=dl("Slot");function CA(e){const t=x.forwardRef((n,r)=>{const{children:s,...i}=n;if(x.isValidElement(s)){const a=PA(s),l=_A(i,s.props);return s.type!==x.Fragment&&(l.ref=r?lS(r,a):a),x.cloneElement(s,l)}return x.Children.count(s)>1?x.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var cS=Symbol("radix.slottable");function uS(e){const t=({children:n})=>o.jsx(o.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=cS,t}function EA(e){return x.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===cS}function _A(e,t){const n={...t};for(const r in t){const s=e[r],i=t[r];/^on[A-Z]/.test(r)?s&&i?n[r]=(...l)=>{const c=i(...l);return s(...l),c}:s&&(n[r]=s):r==="style"?n[r]={...s,...i}:r==="className"&&(n[r]=[s,i].filter(Boolean).join(" "))}return{...e,...n}}function PA(e){var r,s;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=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Cg(e){const t=e+"CollectionProvider",[n,r]=Zt(t),[s,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=p=>{const{scope:y,children:g}=p,v=O.useRef(null),b=O.useRef(new Map).current;return o.jsx(s,{scope:y,itemMap:b,collectionRef:v,children:g})};a.displayName=t;const l=e+"CollectionSlot",c=dl(l),u=O.forwardRef((p,y)=>{const{scope:g,children:v}=p,b=i(l,g),j=Pe(y,b.collectionRef);return o.jsx(c,{ref:j,children:v})});u.displayName=l;const d=e+"CollectionItemSlot",h="data-radix-collection-item",f=dl(d),m=O.forwardRef((p,y)=>{const{scope:g,children:v,...b}=p,j=O.useRef(null),S=Pe(y,j),k=i(d,g);return O.useEffect(()=>(k.itemMap.set(j,{ref:j,...b}),()=>void k.itemMap.delete(j))),o.jsx(f,{[h]:"",ref:S,children:v})});m.displayName=d;function w(p){const y=i(e+"CollectionConsumer",p);return O.useCallback(()=>{const v=y.collectionRef.current;if(!v)return[];const b=Array.from(v.querySelectorAll(`[${h}]`));return Array.from(y.itemMap.values()).sort((k,T)=>b.indexOf(k.ref.current)-b.indexOf(T.ref.current))},[y.collectionRef,y.itemMap])}return[{Provider:a,Slot:u,ItemSlot:m},w,r]}var AA=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],le=AA.reduce((e,t)=>{const n=dl(`Primitive.${t}`),r=x.forwardRef((s,i)=>{const{asChild:a,...l}=s,c=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),o.jsx(c,{...l,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function dS(e,t){e&&Bl.flushSync(()=>e.dispatchEvent(t))}function xn(e){const t=x.useRef(e);return x.useEffect(()=>{t.current=e}),x.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function RA(e,t=globalThis==null?void 0:globalThis.document){const n=xn(e);x.useEffect(()=>{const r=s=>{s.key==="Escape"&&n(s)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var IA="DismissableLayer",ym="dismissableLayer.update",OA="dismissableLayer.pointerDownOutside",FA="dismissableLayer.focusOutside",Cx,hS=x.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),kd=x.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:s,onFocusOutside:i,onInteractOutside:a,onDismiss:l,...c}=e,u=x.useContext(hS),[d,h]=x.useState(null),f=(d==null?void 0:d.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,m]=x.useState({}),w=Pe(t,T=>h(T)),p=Array.from(u.layers),[y]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),g=p.indexOf(y),v=d?p.indexOf(d):-1,b=u.layersWithOutsidePointerEventsDisabled.size>0,j=v>=g,S=DA(T=>{const C=T.target,P=[...u.branches].some(R=>R.contains(C));!j||P||(s==null||s(T),a==null||a(T),T.defaultPrevented||l==null||l())},f),k=LA(T=>{const C=T.target;[...u.branches].some(R=>R.contains(C))||(i==null||i(T),a==null||a(T),T.defaultPrevented||l==null||l())},f);return RA(T=>{v===u.layers.size-1&&(r==null||r(T),!T.defaultPrevented&&l&&(T.preventDefault(),l()))},f),x.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(Cx=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),Ex(),()=>{n&&u.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=Cx)}},[d,f,n,u]),x.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),Ex())},[d,u]),x.useEffect(()=>{const T=()=>m({});return document.addEventListener(ym,T),()=>document.removeEventListener(ym,T)},[]),o.jsx(le.div,{...c,ref:w,style:{pointerEvents:b?j?"auto":"none":void 0,...e.style},onFocusCapture:oe(e.onFocusCapture,k.onFocusCapture),onBlurCapture:oe(e.onBlurCapture,k.onBlurCapture),onPointerDownCapture:oe(e.onPointerDownCapture,S.onPointerDownCapture)})});kd.displayName=IA;var MA="DismissableLayerBranch",fS=x.forwardRef((e,t)=>{const n=x.useContext(hS),r=x.useRef(null),s=Pe(t,r);return x.useEffect(()=>{const i=r.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),o.jsx(le.div,{...e,ref:s})});fS.displayName=MA;function DA(e,t=globalThis==null?void 0:globalThis.document){const n=xn(e),r=x.useRef(!1),s=x.useRef(()=>{});return x.useEffect(()=>{const i=l=>{if(l.target&&!r.current){let c=function(){mS(OA,n,u,{discrete:!0})};const u={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",s.current),s.current=c,t.addEventListener("click",s.current,{once:!0})):c()}else t.removeEventListener("click",s.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",i),t.removeEventListener("click",s.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function LA(e,t=globalThis==null?void 0:globalThis.document){const n=xn(e),r=x.useRef(!1);return x.useEffect(()=>{const s=i=>{i.target&&!r.current&&mS(FA,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",s),()=>t.removeEventListener("focusin",s)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function Ex(){const e=new CustomEvent(ym);document.dispatchEvent(e)}function mS(e,t,n,{discrete:r}){const s=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&s.addEventListener(e,t,{once:!0}),r?dS(s,i):s.dispatchEvent(i)}var $A=kd,BA=fS,$n=globalThis!=null&&globalThis.document?x.useLayoutEffect:()=>{},UA="Portal",Eg=x.forwardRef((e,t)=>{var l;const{container:n,...r}=e,[s,i]=x.useState(!1);$n(()=>i(!0),[]);const a=n||s&&((l=globalThis==null?void 0:globalThis.document)==null?void 0:l.body);return a?oS.createPortal(o.jsx(le.div,{...r,ref:t}),a):null});Eg.displayName=UA;function VA(e,t){return x.useReducer((n,r)=>t[n][r]??n,e)}var ur=e=>{const{present:t,children:n}=e,r=zA(t),s=typeof n=="function"?n({present:r.isPresent}):x.Children.only(n),i=Pe(r.ref,HA(s));return typeof n=="function"||r.isPresent?x.cloneElement(s,{ref:i}):null};ur.displayName="Presence";function zA(e){const[t,n]=x.useState(),r=x.useRef(null),s=x.useRef(e),i=x.useRef("none"),a=e?"mounted":"unmounted",[l,c]=VA(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return x.useEffect(()=>{const u=bc(r.current);i.current=l==="mounted"?u:"none"},[l]),$n(()=>{const u=r.current,d=s.current;if(d!==e){const f=i.current,m=bc(u);e?c("MOUNT"):m==="none"||(u==null?void 0:u.display)==="none"?c("UNMOUNT"):c(d&&f!==m?"ANIMATION_OUT":"UNMOUNT"),s.current=e}},[e,c]),$n(()=>{if(t){let u;const d=t.ownerDocument.defaultView??window,h=m=>{const p=bc(r.current).includes(m.animationName);if(m.target===t&&p&&(c("ANIMATION_END"),!s.current)){const y=t.style.animationFillMode;t.style.animationFillMode="forwards",u=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=y)})}},f=m=>{m.target===t&&(i.current=bc(r.current))};return t.addEventListener("animationstart",f),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{d.clearTimeout(u),t.removeEventListener("animationstart",f),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else c("ANIMATION_END")},[t,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:x.useCallback(u=>{r.current=u?getComputedStyle(u):null,n(u)},[])}}function bc(e){return(e==null?void 0:e.animationName)||"none"}function HA(e){var r,s;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=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var WA=Mp[" useInsertionEffect ".trim().toString()]||$n;function dr({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[s,i,a]=qA({defaultProp:t,onChange:n}),l=e!==void 0,c=l?e:s;{const d=x.useRef(e!==void 0);x.useEffect(()=>{const h=d.current;h!==l&&console.warn(`${r} is changing from ${h?"controlled":"uncontrolled"} to ${l?"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.`),d.current=l},[l,r])}const u=x.useCallback(d=>{var h;if(l){const f=KA(d)?d(e):d;f!==e&&((h=a.current)==null||h.call(a,f))}else i(d)},[l,e,i,a]);return[c,u]}function qA({defaultProp:e,onChange:t}){const[n,r]=x.useState(e),s=x.useRef(n),i=x.useRef(t);return WA(()=>{i.current=t},[t]),x.useEffect(()=>{var a;s.current!==n&&((a=i.current)==null||a.call(i,n),s.current=n)},[n,s]),[n,r,i]}function KA(e){return typeof e=="function"}var GA=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"}),YA="VisuallyHidden",Nd=x.forwardRef((e,t)=>o.jsx(le.span,{...e,ref:t,style:{...GA,...e.style}}));Nd.displayName=YA;var QA=Nd,_g="ToastProvider",[Pg,XA,JA]=Cg("Toast"),[pS,RH]=Zt("Toast",[JA]),[ZA,Td]=pS(_g),gS=e=>{const{__scopeToast:t,label:n="Notification",duration:r=5e3,swipeDirection:s="right",swipeThreshold:i=50,children:a}=e,[l,c]=x.useState(null),[u,d]=x.useState(0),h=x.useRef(!1),f=x.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${_g}\`. Expected non-empty \`string\`.`),o.jsx(Pg.Provider,{scope:t,children:o.jsx(ZA,{scope:t,label:n,duration:r,swipeDirection:s,swipeThreshold:i,toastCount:u,viewport:l,onViewportChange:c,onToastAdd:x.useCallback(()=>d(m=>m+1),[]),onToastRemove:x.useCallback(()=>d(m=>m-1),[]),isFocusedToastEscapeKeyDownRef:h,isClosePausedRef:f,children:a})})};gS.displayName=_g;var yS="ToastViewport",eR=["F8"],vm="toast.viewportPause",xm="toast.viewportResume",vS=x.forwardRef((e,t)=>{const{__scopeToast:n,hotkey:r=eR,label:s="Notifications ({hotkey})",...i}=e,a=Td(yS,n),l=XA(n),c=x.useRef(null),u=x.useRef(null),d=x.useRef(null),h=x.useRef(null),f=Pe(t,h,a.onViewportChange),m=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),w=a.toastCount>0;x.useEffect(()=>{const y=g=>{var b;r.length!==0&&r.every(j=>g[j]||g.code===j)&&((b=h.current)==null||b.focus())};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)},[r]),x.useEffect(()=>{const y=c.current,g=h.current;if(w&&y&&g){const v=()=>{if(!a.isClosePausedRef.current){const k=new CustomEvent(vm);g.dispatchEvent(k),a.isClosePausedRef.current=!0}},b=()=>{if(a.isClosePausedRef.current){const k=new CustomEvent(xm);g.dispatchEvent(k),a.isClosePausedRef.current=!1}},j=k=>{!y.contains(k.relatedTarget)&&b()},S=()=>{y.contains(document.activeElement)||b()};return y.addEventListener("focusin",v),y.addEventListener("focusout",j),y.addEventListener("pointermove",v),y.addEventListener("pointerleave",S),window.addEventListener("blur",v),window.addEventListener("focus",b),()=>{y.removeEventListener("focusin",v),y.removeEventListener("focusout",j),y.removeEventListener("pointermove",v),y.removeEventListener("pointerleave",S),window.removeEventListener("blur",v),window.removeEventListener("focus",b)}}},[w,a.isClosePausedRef]);const p=x.useCallback(({tabbingDirection:y})=>{const v=l().map(b=>{const j=b.ref.current,S=[j,...fR(j)];return y==="forwards"?S:S.reverse()});return(y==="forwards"?v.reverse():v).flat()},[l]);return x.useEffect(()=>{const y=h.current;if(y){const g=v=>{var S,k,T;const b=v.altKey||v.ctrlKey||v.metaKey;if(v.key==="Tab"&&!b){const C=document.activeElement,P=v.shiftKey;if(v.target===y&&P){(S=u.current)==null||S.focus();return}const D=p({tabbingDirection:P?"backwards":"forwards"}),G=D.findIndex(L=>L===C);Rh(D.slice(G+1))?v.preventDefault():P?(k=u.current)==null||k.focus():(T=d.current)==null||T.focus()}};return y.addEventListener("keydown",g),()=>y.removeEventListener("keydown",g)}},[l,p]),o.jsxs(BA,{ref:c,role:"region","aria-label":s.replace("{hotkey}",m),tabIndex:-1,style:{pointerEvents:w?void 0:"none"},children:[w&&o.jsx(wm,{ref:u,onFocusFromOutsideViewport:()=>{const y=p({tabbingDirection:"forwards"});Rh(y)}}),o.jsx(Pg.Slot,{scope:n,children:o.jsx(le.ol,{tabIndex:-1,...i,ref:f})}),w&&o.jsx(wm,{ref:d,onFocusFromOutsideViewport:()=>{const y=p({tabbingDirection:"backwards"});Rh(y)}})]})});vS.displayName=yS;var xS="ToastFocusProxy",wm=x.forwardRef((e,t)=>{const{__scopeToast:n,onFocusFromOutsideViewport:r,...s}=e,i=Td(xS,n);return o.jsx(Nd,{"aria-hidden":!0,tabIndex:0,...s,ref:t,style:{position:"fixed"},onFocus:a=>{var u;const l=a.relatedTarget;!((u=i.viewport)!=null&&u.contains(l))&&r()}})});wm.displayName=xS;var Ul="Toast",tR="toast.swipeStart",nR="toast.swipeMove",rR="toast.swipeCancel",sR="toast.swipeEnd",wS=x.forwardRef((e,t)=>{const{forceMount:n,open:r,defaultOpen:s,onOpenChange:i,...a}=e,[l,c]=dr({prop:r,defaultProp:s??!0,onChange:i,caller:Ul});return o.jsx(ur,{present:n||l,children:o.jsx(aR,{open:l,...a,ref:t,onClose:()=>c(!1),onPause:xn(e.onPause),onResume:xn(e.onResume),onSwipeStart:oe(e.onSwipeStart,u=>{u.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:oe(e.onSwipeMove,u=>{const{x:d,y:h}=u.detail.delta;u.currentTarget.setAttribute("data-swipe","move"),u.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${d}px`),u.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${h}px`)}),onSwipeCancel:oe(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:oe(e.onSwipeEnd,u=>{const{x:d,y:h}=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",`${d}px`),u.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${h}px`),c(!1)})})})});wS.displayName=Ul;var[iR,oR]=pS(Ul,{onClose(){}}),aR=x.forwardRef((e,t)=>{const{__scopeToast:n,type:r="foreground",duration:s,open:i,onClose:a,onEscapeKeyDown:l,onPause:c,onResume:u,onSwipeStart:d,onSwipeMove:h,onSwipeCancel:f,onSwipeEnd:m,...w}=e,p=Td(Ul,n),[y,g]=x.useState(null),v=Pe(t,L=>g(L)),b=x.useRef(null),j=x.useRef(null),S=s||p.duration,k=x.useRef(0),T=x.useRef(S),C=x.useRef(0),{onToastAdd:P,onToastRemove:R}=p,V=xn(()=>{var $;(y==null?void 0:y.contains(document.activeElement))&&(($=p.viewport)==null||$.focus()),a()}),D=x.useCallback(L=>{!L||L===1/0||(window.clearTimeout(C.current),k.current=new Date().getTime(),C.current=window.setTimeout(V,L))},[V]);x.useEffect(()=>{const L=p.viewport;if(L){const $=()=>{D(T.current),u==null||u()},A=()=>{const M=new Date().getTime()-k.current;T.current=T.current-M,window.clearTimeout(C.current),c==null||c()};return L.addEventListener(vm,A),L.addEventListener(xm,$),()=>{L.removeEventListener(vm,A),L.removeEventListener(xm,$)}}},[p.viewport,S,c,u,D]),x.useEffect(()=>{i&&!p.isClosePausedRef.current&&D(S)},[i,S,p.isClosePausedRef,D]),x.useEffect(()=>(P(),()=>R()),[P,R]);const G=x.useMemo(()=>y?CS(y):null,[y]);return p.viewport?o.jsxs(o.Fragment,{children:[G&&o.jsx(lR,{__scopeToast:n,role:"status","aria-live":r==="foreground"?"assertive":"polite","aria-atomic":!0,children:G}),o.jsx(iR,{scope:n,onClose:V,children:Bl.createPortal(o.jsx(Pg.ItemSlot,{scope:n,children:o.jsx($A,{asChild:!0,onEscapeKeyDown:oe(l,()=>{p.isFocusedToastEscapeKeyDownRef.current||V(),p.isFocusedToastEscapeKeyDownRef.current=!1}),children:o.jsx(le.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":i?"open":"closed","data-swipe-direction":p.swipeDirection,...w,ref:v,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:oe(e.onKeyDown,L=>{L.key==="Escape"&&(l==null||l(L.nativeEvent),L.nativeEvent.defaultPrevented||(p.isFocusedToastEscapeKeyDownRef.current=!0,V()))}),onPointerDown:oe(e.onPointerDown,L=>{L.button===0&&(b.current={x:L.clientX,y:L.clientY})}),onPointerMove:oe(e.onPointerMove,L=>{if(!b.current)return;const $=L.clientX-b.current.x,A=L.clientY-b.current.y,M=!!j.current,_=["left","right"].includes(p.swipeDirection),I=["left","up"].includes(p.swipeDirection)?Math.min:Math.max,B=_?I(0,$):0,ee=_?0:I(0,A),Q=L.pointerType==="touch"?10:2,ce={x:B,y:ee},de={originalEvent:L,delta:ce};M?(j.current=ce,jc(nR,h,de,{discrete:!1})):_x(ce,p.swipeDirection,Q)?(j.current=ce,jc(tR,d,de,{discrete:!1}),L.target.setPointerCapture(L.pointerId)):(Math.abs($)>Q||Math.abs(A)>Q)&&(b.current=null)}),onPointerUp:oe(e.onPointerUp,L=>{const $=j.current,A=L.target;if(A.hasPointerCapture(L.pointerId)&&A.releasePointerCapture(L.pointerId),j.current=null,b.current=null,$){const M=L.currentTarget,_={originalEvent:L,delta:$};_x($,p.swipeDirection,p.swipeThreshold)?jc(sR,m,_,{discrete:!0}):jc(rR,f,_,{discrete:!0}),M.addEventListener("click",I=>I.preventDefault(),{once:!0})}})})})}),p.viewport)})]}):null}),lR=e=>{const{__scopeToast:t,children:n,...r}=e,s=Td(Ul,t),[i,a]=x.useState(!1),[l,c]=x.useState(!1);return dR(()=>a(!0)),x.useEffect(()=>{const u=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(u)},[]),l?null:o.jsx(Eg,{asChild:!0,children:o.jsx(Nd,{...r,children:i&&o.jsxs(o.Fragment,{children:[s.label," ",n]})})})},cR="ToastTitle",bS=x.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return o.jsx(le.div,{...r,ref:t})});bS.displayName=cR;var uR="ToastDescription",jS=x.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return o.jsx(le.div,{...r,ref:t})});jS.displayName=uR;var SS="ToastAction",kS=x.forwardRef((e,t)=>{const{altText:n,...r}=e;return n.trim()?o.jsx(TS,{altText:n,asChild:!0,children:o.jsx(Ag,{...r,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${SS}\`. Expected non-empty \`string\`.`),null)});kS.displayName=SS;var NS="ToastClose",Ag=x.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e,s=oR(NS,n);return o.jsx(TS,{asChild:!0,children:o.jsx(le.button,{type:"button",...r,ref:t,onClick:oe(e.onClick,s.onClose)})})});Ag.displayName=NS;var TS=x.forwardRef((e,t)=>{const{__scopeToast:n,altText:r,...s}=e;return o.jsx(le.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":r||void 0,...s,ref:t})});function CS(e){const t=[];return Array.from(e.childNodes).forEach(r=>{if(r.nodeType===r.TEXT_NODE&&r.textContent&&t.push(r.textContent),hR(r)){const s=r.ariaHidden||r.hidden||r.style.display==="none",i=r.dataset.radixToastAnnounceExclude==="";if(!s)if(i){const a=r.dataset.radixToastAnnounceAlt;a&&t.push(a)}else t.push(...CS(r))}}),t}function jc(e,t,n,{discrete:r}){const s=n.originalEvent.currentTarget,i=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});t&&s.addEventListener(e,t,{once:!0}),r?dS(s,i):s.dispatchEvent(i)}var _x=(e,t,n=0)=>{const r=Math.abs(e.x),s=Math.abs(e.y),i=r>s;return t==="left"||t==="right"?i&&r>n:!i&&s>n};function dR(e=()=>{}){const t=xn(e);$n(()=>{let n=0,r=0;return n=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(n),window.cancelAnimationFrame(r)}},[t])}function hR(e){return e.nodeType===e.ELEMENT_NODE}function fR(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const s=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||s?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Rh(e){const t=document.activeElement;return e.some(n=>n===t?!0:(n.focus(),document.activeElement!==t))}var mR=gS,ES=vS,_S=wS,PS=bS,AS=jS,RS=kS,IS=Ag;function OS(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(n=OS(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function FS(){for(var e,t,n=0,r="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=OS(e))&&(r&&(r+=" "),r+=t);return r}const Px=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Ax=FS,Rg=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return Ax(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:s,defaultVariants:i}=t,a=Object.keys(s).map(u=>{const d=n==null?void 0:n[u],h=i==null?void 0:i[u];if(d===null)return null;const f=Px(d)||Px(h);return s[u][f]}),l=n&&Object.entries(n).reduce((u,d)=>{let[h,f]=d;return f===void 0||(u[h]=f),u},{}),c=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((u,d)=>{let{class:h,className:f,...m}=d;return Object.entries(m).every(w=>{let[p,y]=w;return Array.isArray(y)?y.includes({...i,...l}[p]):{...i,...l}[p]===y})?[...u,h,f]:u},[]);return Ax(e,a,c,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 pR=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),MS=(...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 gR={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 yR=x.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:s="",children:i,iconNode:a,...l},c)=>x.createElement("svg",{ref:c,...gR,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:MS("lucide",s),...l},[...a.map(([u,d])=>x.createElement(u,d)),...Array.isArray(i)?i:[i]]));/**
 * @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 K=(e,t)=>{const n=x.forwardRef(({className:r,...s},i)=>x.createElement(yR,{ref:i,iconNode:t,className:MS(`lucide-${pR(e)}`,r),...s}));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 Cd=K("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
 * @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 Fs=K("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 DS=K("Award",[["path",{d:"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526",key:"1yiouv"}],["circle",{cx:"12",cy:"8",r:"6",key:"1vp47v"}]]);/**
 * @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 LS=K("Bath",[["path",{d:"M10 4 8 6",key:"1rru8s"}],["path",{d:"M17 19v2",key:"ts1sot"}],["path",{d:"M2 12h20",key:"9i4pu4"}],["path",{d:"M7 19v2",key:"12npes"}],["path",{d:"M9 5 7.621 3.621A2.121 2.121 0 0 0 4 5v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5",key:"14ym8i"}]]);/**
 * @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 $S=K("BedDouble",[["path",{d:"M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8",key:"1k78r4"}],["path",{d:"M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4",key:"fb3tl2"}],["path",{d:"M12 4v6",key:"1dcgq2"}],["path",{d:"M2 18h20",key:"ajqnye"}]]);/**
 * @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 vR=K("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 BS=K("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 xR=K("Building",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",ry:"2",key:"76otgf"}],["path",{d:"M9 22v-4h6v4",key:"r93iot"}],["path",{d:"M8 6h.01",key:"1dz90k"}],["path",{d:"M16 6h.01",key:"1x0f13"}],["path",{d:"M12 6h.01",key:"1vi96p"}],["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M8 14h.01",key:"6423bh"}]]);/**
 * @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 US=K("Calculator",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["line",{x1:"8",x2:"16",y1:"6",y2:"6",key:"x4nwl0"}],["line",{x1:"16",x2:"16",y1:"14",y2:"18",key:"wjye3r"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M8 18h.01",key:"lrp35t"}]]);/**
 * @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 wR=K("CalendarClock",[["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M17.5 17.5 16 16.3V14",key:"akvzfd"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]]);/**
 * @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 VS=K("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);/**
 * @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 bR=K("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);/**
 * @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 Ua=K("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/**
 * @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 zS=K("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 jR=K("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/**
 * @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 SR=K("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 kR=K("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/**
 * @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 HS=K("Crown",[["path",{d:"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z",key:"1vdc57"}],["path",{d:"M5 21h14",key:"11awu3"}]]);/**
 * @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 Vl=K("DollarSign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);/**
 * @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 bm=K("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/**
 * @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 jm=K("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
 * @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 WS=K("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 NR=K("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 Ig=K("GraduationCap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]);/**
 * @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 TR=K("Hammer",[["path",{d:"m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9",key:"eefl8a"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"b7pghm"}]]);/**
 * @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 CR=K("HardHat",[["path",{d:"M10 10V5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5",key:"1p9q5i"}],["path",{d:"M14 6a6 6 0 0 1 6 6v3",key:"1hnv84"}],["path",{d:"M4 15v-3a6 6 0 0 1 6-6",key:"9ciidu"}],["rect",{x:"2",y:"15",width:"20",height:"4",rx:"1",key:"g3x8cw"}]]);/**
 * @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 qS=K("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 Wo=K("House",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]);/**
 * @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 ER=K("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);/**
 * @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 Og=K("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);/**
 * @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 Ih=K("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/**
 * @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 _R=K("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);/**
 * @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 PR=K("LogOut",[["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}],["polyline",{points:"16 17 21 12 16 7",key:"1gabdz"}],["line",{x1:"21",x2:"9",y1:"12",y2:"12",key:"1uyos4"}]]);/**
 * @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 AR=K("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 pi=K("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 RR=K("Megaphone",[["path",{d:"m3 11 18-5v12L3 14v-3z",key:"n962bs"}],["path",{d:"M11.6 16.8a3 3 0 1 1-5.8-1.6",key:"1yl0tm"}]]);/**
 * @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 IR=K("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 OR=K("Music",[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]);/**
 * @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 FR=K("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/**
 * @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 MR=K("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 DR=K("Plane",[["path",{d:"M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z",key:"1v9wt8"}]]);/**
 * @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 KS=K("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/**
 * @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 Bu=K("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);/**
 * @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 Fg=K("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/**
 * @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 LR=K("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
 * @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 GS=K("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);/**
 * @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 $R=K("ShieldCheck",[["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"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
 * @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 Mg=K("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 Sm=K("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/**
 * @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 YS=K("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/**
 * @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 BR=K("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);/**
 * @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 UR=K("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);/**
 * @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 QS=K("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/**
 * @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 qo=K("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);/**
 * @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 Rx=K("Trophy",[["path",{d:"M6 9H4.5a2.5 2.5 0 0 1 0-5H6",key:"17hqa7"}],["path",{d:"M18 9h1.5a2.5 2.5 0 0 0 0-5H18",key:"lmptdp"}],["path",{d:"M4 22h16",key:"57wxv0"}],["path",{d:"M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22",key:"1nw9bq"}],["path",{d:"M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22",key:"1np0yb"}],["path",{d:"M18 2H6v7a6 6 0 0 0 12 0V2Z",key:"u46fv3"}]]);/**
 * @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 XS=K("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/**
 * @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 hl=K("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 Dg=K("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),Lg="-",VR=e=>{const t=HR(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:a=>{const l=a.split(Lg);return l[0]===""&&l.length!==1&&l.shift(),JS(l,t)||zR(a)},getConflictingClassGroupIds:(a,l)=>{const c=n[a]||[];return l&&r[a]?[...c,...r[a]]:c}}},JS=(e,t)=>{var a;if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),s=r?JS(e.slice(1),r):void 0;if(s)return s;if(t.validators.length===0)return;const i=e.join(Lg);return(a=t.validators.find(({validator:l})=>l(i)))==null?void 0:a.classGroupId},Ix=/^\[(.+)\]$/,zR=e=>{if(Ix.test(e)){const t=Ix.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},HR=e=>{const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return qR(Object.entries(e.classGroups),n).forEach(([i,a])=>{km(a,r,i,t)}),r},km=(e,t,n,r)=>{e.forEach(s=>{if(typeof s=="string"){const i=s===""?t:Ox(t,s);i.classGroupId=n;return}if(typeof s=="function"){if(WR(s)){km(s(r),t,n,r);return}t.validators.push({validator:s,classGroupId:n});return}Object.entries(s).forEach(([i,a])=>{km(a,Ox(t,i),n,r)})})},Ox=(e,t)=>{let n=e;return t.split(Lg).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},WR=e=>e.isThemeGetter,qR=(e,t)=>t?e.map(([n,r])=>{const s=r.map(i=>typeof i=="string"?t+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([a,l])=>[t+a,l])):i);return[n,s]}):e,KR=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const s=(i,a)=>{n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)};return{get(i){let a=n.get(i);if(a!==void 0)return a;if((a=r.get(i))!==void 0)return s(i,a),a},set(i,a){n.has(i)?n.set(i,a):s(i,a)}}},ZS="!",GR=e=>{const{separator:t,experimentalParseClassName:n}=e,r=t.length===1,s=t[0],i=t.length,a=l=>{const c=[];let u=0,d=0,h;for(let y=0;y<l.length;y++){let g=l[y];if(u===0){if(g===s&&(r||l.slice(y,y+i)===t)){c.push(l.slice(d,y)),d=y+i;continue}if(g==="/"){h=y;continue}}g==="["?u++:g==="]"&&u--}const f=c.length===0?l:l.substring(d),m=f.startsWith(ZS),w=m?f.substring(1):f,p=h&&h>d?h-d:void 0;return{modifiers:c,hasImportantModifier:m,baseClassName:w,maybePostfixModifierPosition:p}};return n?l=>n({className:l,parseClassName:a}):a},YR=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},QR=e=>({cache:KR(e.cacheSize),parseClassName:GR(e),...VR(e)}),XR=/\s+/,JR=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:s}=t,i=[],a=e.trim().split(XR);let l="";for(let c=a.length-1;c>=0;c-=1){const u=a[c],{modifiers:d,hasImportantModifier:h,baseClassName:f,maybePostfixModifierPosition:m}=n(u);let w=!!m,p=r(w?f.substring(0,m):f);if(!p){if(!w){l=u+(l.length>0?" "+l:l);continue}if(p=r(f),!p){l=u+(l.length>0?" "+l:l);continue}w=!1}const y=YR(d).join(":"),g=h?y+ZS:y,v=g+p;if(i.includes(v))continue;i.push(v);const b=s(p,w);for(let j=0;j<b.length;++j){const S=b[j];i.push(g+S)}l=u+(l.length>0?" "+l:l)}return l};function ZR(){let e=0,t,n,r="";for(;e<arguments.length;)(t=arguments[e++])&&(n=ek(t))&&(r&&(r+=" "),r+=n);return r}const ek=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=ek(e[r]))&&(n&&(n+=" "),n+=t);return n};function eI(e,...t){let n,r,s,i=a;function a(c){const u=t.reduce((d,h)=>h(d),e());return n=QR(u),r=n.cache.get,s=n.cache.set,i=l,l(c)}function l(c){const u=r(c);if(u)return u;const d=JR(c,n);return s(c,d),d}return function(){return i(ZR.apply(null,arguments))}}const Se=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},tk=/^\[(?:([a-z-]+):)?(.+)\]$/i,tI=/^\d+\/\d+$/,nI=new Set(["px","full","screen"]),rI=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,sI=/\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$/,iI=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,oI=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,aI=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Hn=e=>ao(e)||nI.has(e)||tI.test(e),kr=e=>Ko(e,"length",pI),ao=e=>!!e&&!Number.isNaN(Number(e)),Oh=e=>Ko(e,"number",ao),fa=e=>!!e&&Number.isInteger(Number(e)),lI=e=>e.endsWith("%")&&ao(e.slice(0,-1)),re=e=>tk.test(e),Nr=e=>rI.test(e),cI=new Set(["length","size","percentage"]),uI=e=>Ko(e,cI,nk),dI=e=>Ko(e,"position",nk),hI=new Set(["image","url"]),fI=e=>Ko(e,hI,yI),mI=e=>Ko(e,"",gI),ma=()=>!0,Ko=(e,t,n)=>{const r=tk.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1},pI=e=>sI.test(e)&&!iI.test(e),nk=()=>!1,gI=e=>oI.test(e),yI=e=>aI.test(e),vI=()=>{const e=Se("colors"),t=Se("spacing"),n=Se("blur"),r=Se("brightness"),s=Se("borderColor"),i=Se("borderRadius"),a=Se("borderSpacing"),l=Se("borderWidth"),c=Se("contrast"),u=Se("grayscale"),d=Se("hueRotate"),h=Se("invert"),f=Se("gap"),m=Se("gradientColorStops"),w=Se("gradientColorStopPositions"),p=Se("inset"),y=Se("margin"),g=Se("opacity"),v=Se("padding"),b=Se("saturate"),j=Se("scale"),S=Se("sepia"),k=Se("skew"),T=Se("space"),C=Se("translate"),P=()=>["auto","contain","none"],R=()=>["auto","hidden","clip","visible","scroll"],V=()=>["auto",re,t],D=()=>[re,t],G=()=>["",Hn,kr],L=()=>["auto",ao,re],$=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],A=()=>["solid","dashed","dotted","double","none"],M=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],_=()=>["start","end","center","between","around","evenly","stretch"],I=()=>["","0",re],B=()=>["auto","avoid","all","avoid-page","page","left","right","column"],ee=()=>[ao,re];return{cacheSize:500,separator:":",theme:{colors:[ma],spacing:[Hn,kr],blur:["none","",Nr,re],brightness:ee(),borderColor:[e],borderRadius:["none","","full",Nr,re],borderSpacing:D(),borderWidth:G(),contrast:ee(),grayscale:I(),hueRotate:ee(),invert:I(),gap:D(),gradientColorStops:[e],gradientColorStopPositions:[lI,kr],inset:V(),margin:V(),opacity:ee(),padding:D(),saturate:ee(),scale:ee(),sepia:I(),skew:ee(),space:D(),translate:D()},classGroups:{aspect:[{aspect:["auto","square","video",re]}],container:["container"],columns:[{columns:[Nr]}],"break-after":[{"break-after":B()}],"break-before":[{"break-before":B()}],"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:[...$(),re]}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:P()}],"overscroll-x":[{"overscroll-x":P()}],"overscroll-y":[{"overscroll-y":P()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[p]}],"inset-x":[{"inset-x":[p]}],"inset-y":[{"inset-y":[p]}],start:[{start:[p]}],end:[{end:[p]}],top:[{top:[p]}],right:[{right:[p]}],bottom:[{bottom:[p]}],left:[{left:[p]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",fa,re]}],basis:[{basis:V()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",re]}],grow:[{grow:I()}],shrink:[{shrink:I()}],order:[{order:["first","last","none",fa,re]}],"grid-cols":[{"grid-cols":[ma]}],"col-start-end":[{col:["auto",{span:["full",fa,re]},re]}],"col-start":[{"col-start":L()}],"col-end":[{"col-end":L()}],"grid-rows":[{"grid-rows":[ma]}],"row-start-end":[{row:["auto",{span:[fa,re]},re]}],"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",re]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",re]}],gap:[{gap:[f]}],"gap-x":[{"gap-x":[f]}],"gap-y":[{"gap-y":[f]}],"justify-content":[{justify:["normal",..._()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",..._(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[..._(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[y]}],mx:[{mx:[y]}],my:[{my:[y]}],ms:[{ms:[y]}],me:[{me:[y]}],mt:[{mt:[y]}],mr:[{mr:[y]}],mb:[{mb:[y]}],ml:[{ml:[y]}],"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",re,t]}],"min-w":[{"min-w":[re,t,"min","max","fit"]}],"max-w":[{"max-w":[re,t,"none","full","min","max","fit","prose",{screen:[Nr]},Nr]}],h:[{h:[re,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[re,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[re,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[re,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Nr,kr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Oh]}],"font-family":[{font:[ma]}],"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",re]}],"line-clamp":[{"line-clamp":["none",ao,Oh]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Hn,re]}],"list-image":[{"list-image":["none",re]}],"list-style-type":[{list:["none","disc","decimal",re]}],"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:[...A(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Hn,kr]}],"underline-offset":[{"underline-offset":["auto",Hn,re]}],"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:D()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",re]}],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",re]}],"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:[...$(),dI]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",uI]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},fI]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[w]}],"gradient-via-pos":[{via:[w]}],"gradient-to-pos":[{to:[w]}],"gradient-from":[{from:[m]}],"gradient-via":[{via:[m]}],"gradient-to":[{to:[m]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[g]}],"border-style":[{border:[...A(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[g]}],"divide-style":[{divide:A()}],"border-color":[{border:[s]}],"border-color-x":[{"border-x":[s]}],"border-color-y":[{"border-y":[s]}],"border-color-s":[{"border-s":[s]}],"border-color-e":[{"border-e":[s]}],"border-color-t":[{"border-t":[s]}],"border-color-r":[{"border-r":[s]}],"border-color-b":[{"border-b":[s]}],"border-color-l":[{"border-l":[s]}],"divide-color":[{divide:[s]}],"outline-style":[{outline:["",...A()]}],"outline-offset":[{"outline-offset":[Hn,re]}],"outline-w":[{outline:[Hn,kr]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:G()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[g]}],"ring-offset-w":[{"ring-offset":[Hn,kr]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Nr,mI]}],"shadow-color":[{shadow:[ma]}],opacity:[{opacity:[g]}],"mix-blend":[{"mix-blend":[...M(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":M()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":["","none",Nr,re]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[d]}],invert:[{invert:[h]}],saturate:[{saturate:[b]}],sepia:[{sepia:[S]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[d]}],"backdrop-invert":[{"backdrop-invert":[h]}],"backdrop-opacity":[{"backdrop-opacity":[g]}],"backdrop-saturate":[{"backdrop-saturate":[b]}],"backdrop-sepia":[{"backdrop-sepia":[S]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",re]}],duration:[{duration:ee()}],ease:[{ease:["linear","in","out","in-out",re]}],delay:[{delay:ee()}],animate:[{animate:["none","spin","ping","pulse","bounce",re]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[j]}],"scale-x":[{"scale-x":[j]}],"scale-y":[{"scale-y":[j]}],rotate:[{rotate:[fa,re]}],"translate-x":[{"translate-x":[C]}],"translate-y":[{"translate-y":[C]}],"skew-x":[{"skew-x":[k]}],"skew-y":[{"skew-y":[k]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",re]}],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",re]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":D()}],"scroll-mx":[{"scroll-mx":D()}],"scroll-my":[{"scroll-my":D()}],"scroll-ms":[{"scroll-ms":D()}],"scroll-me":[{"scroll-me":D()}],"scroll-mt":[{"scroll-mt":D()}],"scroll-mr":[{"scroll-mr":D()}],"scroll-mb":[{"scroll-mb":D()}],"scroll-ml":[{"scroll-ml":D()}],"scroll-p":[{"scroll-p":D()}],"scroll-px":[{"scroll-px":D()}],"scroll-py":[{"scroll-py":D()}],"scroll-ps":[{"scroll-ps":D()}],"scroll-pe":[{"scroll-pe":D()}],"scroll-pt":[{"scroll-pt":D()}],"scroll-pr":[{"scroll-pr":D()}],"scroll-pb":[{"scroll-pb":D()}],"scroll-pl":[{"scroll-pl":D()}],"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",re]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Hn,kr,Oh]}],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"]}}},xI=eI(vI);function J(...e){return xI(FS(e))}const wI=mR,rk=x.forwardRef(({className:e,...t},n)=>o.jsx(ES,{ref:n,className:J("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}));rk.displayName=ES.displayName;const bI=Rg("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"}}),sk=x.forwardRef(({className:e,variant:t,...n},r)=>o.jsx(_S,{ref:r,className:J(bI({variant:t}),e),...n}));sk.displayName=_S.displayName;const jI=x.forwardRef(({className:e,...t},n)=>o.jsx(RS,{ref:n,className:J("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}));jI.displayName=RS.displayName;const ik=x.forwardRef(({className:e,...t},n)=>o.jsx(IS,{ref:n,className:J("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:o.jsx(Dg,{className:"h-4 w-4"})}));ik.displayName=IS.displayName;const ok=x.forwardRef(({className:e,...t},n)=>o.jsx(PS,{ref:n,className:J("text-sm font-semibold",e),...t}));ok.displayName=PS.displayName;const ak=x.forwardRef(({className:e,...t},n)=>o.jsx(AS,{ref:n,className:J("text-sm opacity-90",e),...t}));ak.displayName=AS.displayName;function SI(){const{toasts:e}=xs();return o.jsxs(wI,{children:[e.map(function({id:t,title:n,description:r,action:s,...i}){return o.jsxs(sk,{...i,children:[o.jsxs("div",{className:"grid gap-1",children:[n&&o.jsx(ok,{children:n}),r&&o.jsx(ak,{children:r})]}),s,o.jsx(ik,{})]},t)}),o.jsx(rk,{})]})}var Fx=["light","dark"],kI="(prefers-color-scheme: dark)",NI=x.createContext(void 0),TI={setTheme:e=>{},themes:[]},CI=()=>{var e;return(e=x.useContext(NI))!=null?e:TI};x.memo(({forcedTheme:e,storageKey:t,attribute:n,enableSystem:r,enableColorScheme:s,defaultTheme:i,value:a,attrs:l,nonce:c})=>{let u=i==="system",d=n==="class"?`var d=document.documentElement,c=d.classList;${`c.remove(${l.map(w=>`'${w}'`).join(",")})`};`:`var d=document.documentElement,n='${n}',s='setAttribute';`,h=s?Fx.includes(i)&&i?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${i}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",f=(w,p=!1,y=!0)=>{let g=a?a[w]:w,v=p?w+"|| ''":`'${g}'`,b="";return s&&y&&!p&&Fx.includes(w)&&(b+=`d.style.colorScheme = '${w}';`),n==="class"?p||g?b+=`c.add(${v})`:b+="null":g&&(b+=`d[s](n,${v})`),b},m=e?`!function(){${d}${f(e)}}()`:r?`!function(){try{${d}var e=localStorage.getItem('${t}');if('system'===e||(!e&&${u})){var t='${kI}',m=window.matchMedia(t);if(m.media!==t||m.matches){${f("dark")}}else{${f("light")}}}else if(e){${a?`var x=${JSON.stringify(a)};`:""}${f(a?"x[e]":"e",!0)}}${u?"":"else{"+f(i,!1,!1)+"}"}${h}}catch(e){}}()`:`!function(){try{${d}var e=localStorage.getItem('${t}');if(e){${a?`var x=${JSON.stringify(a)};`:""}${f(a?"x[e]":"e",!0)}}else{${f(i,!1,!1)};}${h}}catch(t){}}();`;return x.createElement("script",{nonce:c,dangerouslySetInnerHTML:{__html:m}})});var EI=e=>{switch(e){case"success":return AI;case"info":return II;case"warning":return RI;case"error":return OI;default:return null}},_I=Array(12).fill(0),PI=({visible:e,className:t})=>O.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},O.createElement("div",{className:"sonner-spinner"},_I.map((n,r)=>O.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),AI=O.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},O.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"})),RI=O.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},O.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"})),II=O.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},O.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"})),OI=O.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},O.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"})),FI=O.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"},O.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),O.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),MI=()=>{let[e,t]=O.useState(document.hidden);return O.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},Nm=1,DI=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,s=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:Nm++,i=this.toasts.find(l=>l.id===s),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(s)&&this.dismissedToasts.delete(s),i?this.toasts=this.toasts.map(l=>l.id===s?(this.publish({...l,...e,id:s,title:n}),{...l,...e,id:s,dismissible:a,title:n}):l):this.addToast({title:n,...r,dismissible:a,id:s}),s},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(),s=n!==void 0,i,a=r.then(async c=>{if(i=["resolve",c],O.isValidElement(c))s=!1,this.create({id:n,type:"default",message:c});else if($I(c)&&!c.ok){s=!1;let u=typeof t.error=="function"?await t.error(`HTTP error! status: ${c.status}`):t.error,d=typeof t.description=="function"?await t.description(`HTTP error! status: ${c.status}`):t.description;this.create({id:n,type:"error",message:u,description:d})}else if(t.success!==void 0){s=!1;let u=typeof t.success=="function"?await t.success(c):t.success,d=typeof t.description=="function"?await t.description(c):t.description;this.create({id:n,type:"success",message:u,description:d})}}).catch(async c=>{if(i=["reject",c],t.error!==void 0){s=!1;let u=typeof t.error=="function"?await t.error(c):t.error,d=typeof t.description=="function"?await t.description(c):t.description;this.create({id:n,type:"error",message:u,description:d})}}).finally(()=>{var c;s&&(this.dismiss(n),n=void 0),(c=t.finally)==null||c.call(t)}),l=()=>new Promise((c,u)=>a.then(()=>i[0]==="reject"?u(i[1]):c(i[1])).catch(u));return typeof n!="string"&&typeof n!="number"?{unwrap:l}:Object.assign(n,{unwrap:l})},this.custom=(e,t)=>{let n=(t==null?void 0:t.id)||Nm++;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}},Nt=new DI,LI=(e,t)=>{let n=(t==null?void 0:t.id)||Nm++;return Nt.addToast({title:e,...t,id:n}),n},$I=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",BI=LI,UI=()=>Nt.toasts,VI=()=>Nt.getActiveToasts();Object.assign(BI,{success:Nt.success,info:Nt.info,warning:Nt.warning,error:Nt.error,custom:Nt.custom,message:Nt.message,promise:Nt.promise,dismiss:Nt.dismiss,loading:Nt.loading},{getHistory:UI,getToasts:VI});function zI(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))}zI(`: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 Sc(e){return e.label!==void 0}var HI=3,WI="32px",qI="16px",Mx=4e3,KI=356,GI=14,YI=20,QI=200;function sn(...e){return e.filter(Boolean).join(" ")}function XI(e){let[t,n]=e.split("-"),r=[];return t&&r.push(t),n&&r.push(n),r}var JI=e=>{var t,n,r,s,i,a,l,c,u,d,h;let{invert:f,toast:m,unstyled:w,interacting:p,setHeights:y,visibleToasts:g,heights:v,index:b,toasts:j,expanded:S,removeToast:k,defaultRichColors:T,closeButton:C,style:P,cancelButtonStyle:R,actionButtonStyle:V,className:D="",descriptionClassName:G="",duration:L,position:$,gap:A,loadingIcon:M,expandByDefault:_,classNames:I,icons:B,closeButtonAriaLabel:ee="Close toast",pauseWhenPageIsHidden:Q}=e,[ce,de]=O.useState(null),[Ue,it]=O.useState(null),[pe,yi]=O.useState(!1),[yr,ks]=O.useState(!1),[vr,vi]=O.useState(!1),[xr,ec]=O.useState(!1),[Zd,tc]=O.useState(!1),[eh,ra]=O.useState(0),[xi,cv]=O.useState(0),sa=O.useRef(m.duration||L||Mx),uv=O.useRef(null),Ns=O.useRef(null),M_=b===0,D_=b+1<=g,Bt=m.type,wi=m.dismissible!==!1,L_=m.className||"",$_=m.descriptionClassName||"",nc=O.useMemo(()=>v.findIndex(te=>te.toastId===m.id)||0,[v,m.id]),B_=O.useMemo(()=>{var te;return(te=m.closeButton)!=null?te:C},[m.closeButton,C]),dv=O.useMemo(()=>m.duration||L||Mx,[m.duration,L]),th=O.useRef(0),bi=O.useRef(0),hv=O.useRef(0),ji=O.useRef(null),[U_,V_]=$.split("-"),fv=O.useMemo(()=>v.reduce((te,xe,Ce)=>Ce>=nc?te:te+xe.height,0),[v,nc]),mv=MI(),z_=m.invert||f,nh=Bt==="loading";bi.current=O.useMemo(()=>nc*A+fv,[nc,fv]),O.useEffect(()=>{sa.current=dv},[dv]),O.useEffect(()=>{yi(!0)},[]),O.useEffect(()=>{let te=Ns.current;if(te){let xe=te.getBoundingClientRect().height;return cv(xe),y(Ce=>[{toastId:m.id,height:xe,position:m.position},...Ce]),()=>y(Ce=>Ce.filter(en=>en.toastId!==m.id))}},[y,m.id]),O.useLayoutEffect(()=>{if(!pe)return;let te=Ns.current,xe=te.style.height;te.style.height="auto";let Ce=te.getBoundingClientRect().height;te.style.height=xe,cv(Ce),y(en=>en.find(tn=>tn.toastId===m.id)?en.map(tn=>tn.toastId===m.id?{...tn,height:Ce}:tn):[{toastId:m.id,height:Ce,position:m.position},...en])},[pe,m.title,m.description,y,m.id]);let wr=O.useCallback(()=>{ks(!0),ra(bi.current),y(te=>te.filter(xe=>xe.toastId!==m.id)),setTimeout(()=>{k(m)},QI)},[m,k,y,bi]);O.useEffect(()=>{if(m.promise&&Bt==="loading"||m.duration===1/0||m.type==="loading")return;let te;return S||p||Q&&mv?(()=>{if(hv.current<th.current){let xe=new Date().getTime()-th.current;sa.current=sa.current-xe}hv.current=new Date().getTime()})():sa.current!==1/0&&(th.current=new Date().getTime(),te=setTimeout(()=>{var xe;(xe=m.onAutoClose)==null||xe.call(m,m),wr()},sa.current)),()=>clearTimeout(te)},[S,p,m,Bt,Q,mv,wr]),O.useEffect(()=>{m.delete&&wr()},[wr,m.delete]);function H_(){var te,xe,Ce;return B!=null&&B.loading?O.createElement("div",{className:sn(I==null?void 0:I.loader,(te=m==null?void 0:m.classNames)==null?void 0:te.loader,"sonner-loader"),"data-visible":Bt==="loading"},B.loading):M?O.createElement("div",{className:sn(I==null?void 0:I.loader,(xe=m==null?void 0:m.classNames)==null?void 0:xe.loader,"sonner-loader"),"data-visible":Bt==="loading"},M):O.createElement(PI,{className:sn(I==null?void 0:I.loader,(Ce=m==null?void 0:m.classNames)==null?void 0:Ce.loader),visible:Bt==="loading"})}return O.createElement("li",{tabIndex:0,ref:Ns,className:sn(D,L_,I==null?void 0:I.toast,(t=m==null?void 0:m.classNames)==null?void 0:t.toast,I==null?void 0:I.default,I==null?void 0:I[Bt],(n=m==null?void 0:m.classNames)==null?void 0:n[Bt]),"data-sonner-toast":"","data-rich-colors":(r=m.richColors)!=null?r:T,"data-styled":!(m.jsx||m.unstyled||w),"data-mounted":pe,"data-promise":!!m.promise,"data-swiped":Zd,"data-removed":yr,"data-visible":D_,"data-y-position":U_,"data-x-position":V_,"data-index":b,"data-front":M_,"data-swiping":vr,"data-dismissible":wi,"data-type":Bt,"data-invert":z_,"data-swipe-out":xr,"data-swipe-direction":Ue,"data-expanded":!!(S||_&&pe),style:{"--index":b,"--toasts-before":b,"--z-index":j.length-b,"--offset":`${yr?eh:bi.current}px`,"--initial-height":_?"auto":`${xi}px`,...P,...m.style},onDragEnd:()=>{vi(!1),de(null),ji.current=null},onPointerDown:te=>{nh||!wi||(uv.current=new Date,ra(bi.current),te.target.setPointerCapture(te.pointerId),te.target.tagName!=="BUTTON"&&(vi(!0),ji.current={x:te.clientX,y:te.clientY}))},onPointerUp:()=>{var te,xe,Ce,en;if(xr||!wi)return;ji.current=null;let tn=Number(((te=Ns.current)==null?void 0:te.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),br=Number(((xe=Ns.current)==null?void 0:xe.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Ts=new Date().getTime()-((Ce=uv.current)==null?void 0:Ce.getTime()),nn=ce==="x"?tn:br,jr=Math.abs(nn)/Ts;if(Math.abs(nn)>=YI||jr>.11){ra(bi.current),(en=m.onDismiss)==null||en.call(m,m),it(ce==="x"?tn>0?"right":"left":br>0?"down":"up"),wr(),ec(!0),tc(!1);return}vi(!1),de(null)},onPointerMove:te=>{var xe,Ce,en,tn;if(!ji.current||!wi||((xe=window.getSelection())==null?void 0:xe.toString().length)>0)return;let br=te.clientY-ji.current.y,Ts=te.clientX-ji.current.x,nn=(Ce=e.swipeDirections)!=null?Ce:XI($);!ce&&(Math.abs(Ts)>1||Math.abs(br)>1)&&de(Math.abs(Ts)>Math.abs(br)?"x":"y");let jr={x:0,y:0};ce==="y"?(nn.includes("top")||nn.includes("bottom"))&&(nn.includes("top")&&br<0||nn.includes("bottom")&&br>0)&&(jr.y=br):ce==="x"&&(nn.includes("left")||nn.includes("right"))&&(nn.includes("left")&&Ts<0||nn.includes("right")&&Ts>0)&&(jr.x=Ts),(Math.abs(jr.x)>0||Math.abs(jr.y)>0)&&tc(!0),(en=Ns.current)==null||en.style.setProperty("--swipe-amount-x",`${jr.x}px`),(tn=Ns.current)==null||tn.style.setProperty("--swipe-amount-y",`${jr.y}px`)}},B_&&!m.jsx?O.createElement("button",{"aria-label":ee,"data-disabled":nh,"data-close-button":!0,onClick:nh||!wi?()=>{}:()=>{var te;wr(),(te=m.onDismiss)==null||te.call(m,m)},className:sn(I==null?void 0:I.closeButton,(s=m==null?void 0:m.classNames)==null?void 0:s.closeButton)},(i=B==null?void 0:B.close)!=null?i:FI):null,m.jsx||x.isValidElement(m.title)?m.jsx?m.jsx:typeof m.title=="function"?m.title():m.title:O.createElement(O.Fragment,null,Bt||m.icon||m.promise?O.createElement("div",{"data-icon":"",className:sn(I==null?void 0:I.icon,(a=m==null?void 0:m.classNames)==null?void 0:a.icon)},m.promise||m.type==="loading"&&!m.icon?m.icon||H_():null,m.type!=="loading"?m.icon||(B==null?void 0:B[Bt])||EI(Bt):null):null,O.createElement("div",{"data-content":"",className:sn(I==null?void 0:I.content,(l=m==null?void 0:m.classNames)==null?void 0:l.content)},O.createElement("div",{"data-title":"",className:sn(I==null?void 0:I.title,(c=m==null?void 0:m.classNames)==null?void 0:c.title)},typeof m.title=="function"?m.title():m.title),m.description?O.createElement("div",{"data-description":"",className:sn(G,$_,I==null?void 0:I.description,(u=m==null?void 0:m.classNames)==null?void 0:u.description)},typeof m.description=="function"?m.description():m.description):null),x.isValidElement(m.cancel)?m.cancel:m.cancel&&Sc(m.cancel)?O.createElement("button",{"data-button":!0,"data-cancel":!0,style:m.cancelButtonStyle||R,onClick:te=>{var xe,Ce;Sc(m.cancel)&&wi&&((Ce=(xe=m.cancel).onClick)==null||Ce.call(xe,te),wr())},className:sn(I==null?void 0:I.cancelButton,(d=m==null?void 0:m.classNames)==null?void 0:d.cancelButton)},m.cancel.label):null,x.isValidElement(m.action)?m.action:m.action&&Sc(m.action)?O.createElement("button",{"data-button":!0,"data-action":!0,style:m.actionButtonStyle||V,onClick:te=>{var xe,Ce;Sc(m.action)&&((Ce=(xe=m.action).onClick)==null||Ce.call(xe,te),!te.defaultPrevented&&wr())},className:sn(I==null?void 0:I.actionButton,(h=m==null?void 0:m.classNames)==null?void 0:h.actionButton)},m.action.label):null))};function Dx(){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 ZI(e,t){let n={};return[e,t].forEach((r,s)=>{let i=s===1,a=i?"--mobile-offset":"--offset",l=i?qI:WI;function c(u){["top","right","bottom","left"].forEach(d=>{n[`${a}-${d}`]=typeof u=="number"?`${u}px`:u})}typeof r=="number"||typeof r=="string"?c(r):typeof r=="object"?["top","right","bottom","left"].forEach(u=>{r[u]===void 0?n[`${a}-${u}`]=l:n[`${a}-${u}`]=typeof r[u]=="number"?`${r[u]}px`:r[u]}):c(l)}),n}var eO=x.forwardRef(function(e,t){let{invert:n,position:r="bottom-right",hotkey:s=["altKey","KeyT"],expand:i,closeButton:a,className:l,offset:c,mobileOffset:u,theme:d="light",richColors:h,duration:f,style:m,visibleToasts:w=HI,toastOptions:p,dir:y=Dx(),gap:g=GI,loadingIcon:v,icons:b,containerAriaLabel:j="Notifications",pauseWhenPageIsHidden:S}=e,[k,T]=O.useState([]),C=O.useMemo(()=>Array.from(new Set([r].concat(k.filter(Q=>Q.position).map(Q=>Q.position)))),[k,r]),[P,R]=O.useState([]),[V,D]=O.useState(!1),[G,L]=O.useState(!1),[$,A]=O.useState(d!=="system"?d:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),M=O.useRef(null),_=s.join("+").replace(/Key/g,"").replace(/Digit/g,""),I=O.useRef(null),B=O.useRef(!1),ee=O.useCallback(Q=>{T(ce=>{var de;return(de=ce.find(Ue=>Ue.id===Q.id))!=null&&de.delete||Nt.dismiss(Q.id),ce.filter(({id:Ue})=>Ue!==Q.id)})},[]);return O.useEffect(()=>Nt.subscribe(Q=>{if(Q.dismiss){T(ce=>ce.map(de=>de.id===Q.id?{...de,delete:!0}:de));return}setTimeout(()=>{oS.flushSync(()=>{T(ce=>{let de=ce.findIndex(Ue=>Ue.id===Q.id);return de!==-1?[...ce.slice(0,de),{...ce[de],...Q},...ce.slice(de+1)]:[Q,...ce]})})})}),[]),O.useEffect(()=>{if(d!=="system"){A(d);return}if(d==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?A("dark"):A("light")),typeof window>"u")return;let Q=window.matchMedia("(prefers-color-scheme: dark)");try{Q.addEventListener("change",({matches:ce})=>{A(ce?"dark":"light")})}catch{Q.addListener(({matches:de})=>{try{A(de?"dark":"light")}catch(Ue){console.error(Ue)}})}},[d]),O.useEffect(()=>{k.length<=1&&D(!1)},[k]),O.useEffect(()=>{let Q=ce=>{var de,Ue;s.every(it=>ce[it]||ce.code===it)&&(D(!0),(de=M.current)==null||de.focus()),ce.code==="Escape"&&(document.activeElement===M.current||(Ue=M.current)!=null&&Ue.contains(document.activeElement))&&D(!1)};return document.addEventListener("keydown",Q),()=>document.removeEventListener("keydown",Q)},[s]),O.useEffect(()=>{if(M.current)return()=>{I.current&&(I.current.focus({preventScroll:!0}),I.current=null,B.current=!1)}},[M.current]),O.createElement("section",{ref:t,"aria-label":`${j} ${_}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},C.map((Q,ce)=>{var de;let[Ue,it]=Q.split("-");return k.length?O.createElement("ol",{key:Q,dir:y==="auto"?Dx():y,tabIndex:-1,ref:M,className:l,"data-sonner-toaster":!0,"data-theme":$,"data-y-position":Ue,"data-lifted":V&&k.length>1&&!i,"data-x-position":it,style:{"--front-toast-height":`${((de=P[0])==null?void 0:de.height)||0}px`,"--width":`${KI}px`,"--gap":`${g}px`,...m,...ZI(c,u)},onBlur:pe=>{B.current&&!pe.currentTarget.contains(pe.relatedTarget)&&(B.current=!1,I.current&&(I.current.focus({preventScroll:!0}),I.current=null))},onFocus:pe=>{pe.target instanceof HTMLElement&&pe.target.dataset.dismissible==="false"||B.current||(B.current=!0,I.current=pe.relatedTarget)},onMouseEnter:()=>D(!0),onMouseMove:()=>D(!0),onMouseLeave:()=>{G||D(!1)},onDragEnd:()=>D(!1),onPointerDown:pe=>{pe.target instanceof HTMLElement&&pe.target.dataset.dismissible==="false"||L(!0)},onPointerUp:()=>L(!1)},k.filter(pe=>!pe.position&&ce===0||pe.position===Q).map((pe,yi)=>{var yr,ks;return O.createElement(JI,{key:pe.id,icons:b,index:yi,toast:pe,defaultRichColors:h,duration:(yr=p==null?void 0:p.duration)!=null?yr:f,className:p==null?void 0:p.className,descriptionClassName:p==null?void 0:p.descriptionClassName,invert:n,visibleToasts:w,closeButton:(ks=p==null?void 0:p.closeButton)!=null?ks:a,interacting:G,position:Q,style:p==null?void 0:p.style,unstyled:p==null?void 0:p.unstyled,classNames:p==null?void 0:p.classNames,cancelButtonStyle:p==null?void 0:p.cancelButtonStyle,actionButtonStyle:p==null?void 0:p.actionButtonStyle,removeToast:ee,toasts:k.filter(vr=>vr.position==pe.position),heights:P.filter(vr=>vr.position==pe.position),setHeights:R,expandByDefault:i,gap:g,loadingIcon:v,expanded:V,pauseWhenPageIsHidden:S,swipeDirections:e.swipeDirections})})):null}))});const tO=({...e})=>{const{theme:t="system"}=CI();return o.jsx(eO,{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})};var nO=Mp[" useId ".trim().toString()]||(()=>{}),rO=0;function ni(e){const[t,n]=x.useState(nO());return $n(()=>{n(r=>r??String(rO++))},[e]),t?`radix-${t}`:""}const sO=["top","right","bottom","left"],hs=Math.min,It=Math.max,Uu=Math.round,kc=Math.floor,On=e=>({x:e,y:e}),iO={left:"right",right:"left",bottom:"top",top:"bottom"},oO={start:"end",end:"start"};function Tm(e,t,n){return It(e,hs(t,n))}function or(e,t){return typeof e=="function"?e(t):e}function ar(e){return e.split("-")[0]}function Go(e){return e.split("-")[1]}function $g(e){return e==="x"?"y":"x"}function Bg(e){return e==="y"?"height":"width"}const aO=new Set(["top","bottom"]);function An(e){return aO.has(ar(e))?"y":"x"}function Ug(e){return $g(An(e))}function lO(e,t,n){n===void 0&&(n=!1);const r=Go(e),s=Ug(e),i=Bg(s);let a=s==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(a=Vu(a)),[a,Vu(a)]}function cO(e){const t=Vu(e);return[Cm(e),t,Cm(t)]}function Cm(e){return e.replace(/start|end/g,t=>oO[t])}const Lx=["left","right"],$x=["right","left"],uO=["top","bottom"],dO=["bottom","top"];function hO(e,t,n){switch(e){case"top":case"bottom":return n?t?$x:Lx:t?Lx:$x;case"left":case"right":return t?uO:dO;default:return[]}}function fO(e,t,n,r){const s=Go(e);let i=hO(ar(e),n==="start",r);return s&&(i=i.map(a=>a+"-"+s),t&&(i=i.concat(i.map(Cm)))),i}function Vu(e){return e.replace(/left|right|bottom|top/g,t=>iO[t])}function mO(e){return{top:0,right:0,bottom:0,left:0,...e}}function lk(e){return typeof e!="number"?mO(e):{top:e,right:e,bottom:e,left:e}}function zu(e){const{x:t,y:n,width:r,height:s}=e;return{width:r,height:s,top:n,left:t,right:t+r,bottom:n+s,x:t,y:n}}function Bx(e,t,n){let{reference:r,floating:s}=e;const i=An(t),a=Ug(t),l=Bg(a),c=ar(t),u=i==="y",d=r.x+r.width/2-s.width/2,h=r.y+r.height/2-s.height/2,f=r[l]/2-s[l]/2;let m;switch(c){case"top":m={x:d,y:r.y-s.height};break;case"bottom":m={x:d,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:h};break;case"left":m={x:r.x-s.width,y:h};break;default:m={x:r.x,y:r.y}}switch(Go(t)){case"start":m[a]-=f*(n&&u?-1:1);break;case"end":m[a]+=f*(n&&u?-1:1);break}return m}const pO=async(e,t,n)=>{const{placement:r="bottom",strategy:s="absolute",middleware:i=[],platform:a}=n,l=i.filter(Boolean),c=await(a.isRTL==null?void 0:a.isRTL(t));let u=await a.getElementRects({reference:e,floating:t,strategy:s}),{x:d,y:h}=Bx(u,r,c),f=r,m={},w=0;for(let p=0;p<l.length;p++){const{name:y,fn:g}=l[p],{x:v,y:b,data:j,reset:S}=await g({x:d,y:h,initialPlacement:r,placement:f,strategy:s,middlewareData:m,rects:u,platform:a,elements:{reference:e,floating:t}});d=v??d,h=b??h,m={...m,[y]:{...m[y],...j}},S&&w<=50&&(w++,typeof S=="object"&&(S.placement&&(f=S.placement),S.rects&&(u=S.rects===!0?await a.getElementRects({reference:e,floating:t,strategy:s}):S.rects),{x:d,y:h}=Bx(u,f,c)),p=-1)}return{x:d,y:h,placement:f,strategy:s,middlewareData:m}};async function fl(e,t){var n;t===void 0&&(t={});const{x:r,y:s,platform:i,rects:a,elements:l,strategy:c}=e,{boundary:u="clippingAncestors",rootBoundary:d="viewport",elementContext:h="floating",altBoundary:f=!1,padding:m=0}=or(t,e),w=lk(m),y=l[f?h==="floating"?"reference":"floating":h],g=zu(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(y)))==null||n?y:y.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(l.floating)),boundary:u,rootBoundary:d,strategy:c})),v=h==="floating"?{x:r,y:s,width:a.floating.width,height:a.floating.height}:a.reference,b=await(i.getOffsetParent==null?void 0:i.getOffsetParent(l.floating)),j=await(i.isElement==null?void 0:i.isElement(b))?await(i.getScale==null?void 0:i.getScale(b))||{x:1,y:1}:{x:1,y:1},S=zu(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:v,offsetParent:b,strategy:c}):v);return{top:(g.top-S.top+w.top)/j.y,bottom:(S.bottom-g.bottom+w.bottom)/j.y,left:(g.left-S.left+w.left)/j.x,right:(S.right-g.right+w.right)/j.x}}const gO=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:s,rects:i,platform:a,elements:l,middlewareData:c}=t,{element:u,padding:d=0}=or(e,t)||{};if(u==null)return{};const h=lk(d),f={x:n,y:r},m=Ug(s),w=Bg(m),p=await a.getDimensions(u),y=m==="y",g=y?"top":"left",v=y?"bottom":"right",b=y?"clientHeight":"clientWidth",j=i.reference[w]+i.reference[m]-f[m]-i.floating[w],S=f[m]-i.reference[m],k=await(a.getOffsetParent==null?void 0:a.getOffsetParent(u));let T=k?k[b]:0;(!T||!await(a.isElement==null?void 0:a.isElement(k)))&&(T=l.floating[b]||i.floating[w]);const C=j/2-S/2,P=T/2-p[w]/2-1,R=hs(h[g],P),V=hs(h[v],P),D=R,G=T-p[w]-V,L=T/2-p[w]/2+C,$=Tm(D,L,G),A=!c.arrow&&Go(s)!=null&&L!==$&&i.reference[w]/2-(L<D?R:V)-p[w]/2<0,M=A?L<D?L-D:L-G:0;return{[m]:f[m]+M,data:{[m]:$,centerOffset:L-$-M,...A&&{alignmentOffset:M}},reset:A}}}),yO=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:s,middlewareData:i,rects:a,initialPlacement:l,platform:c,elements:u}=t,{mainAxis:d=!0,crossAxis:h=!0,fallbackPlacements:f,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:w="none",flipAlignment:p=!0,...y}=or(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};const g=ar(s),v=An(l),b=ar(l)===l,j=await(c.isRTL==null?void 0:c.isRTL(u.floating)),S=f||(b||!p?[Vu(l)]:cO(l)),k=w!=="none";!f&&k&&S.push(...fO(l,p,w,j));const T=[l,...S],C=await fl(t,y),P=[];let R=((r=i.flip)==null?void 0:r.overflows)||[];if(d&&P.push(C[g]),h){const L=lO(s,a,j);P.push(C[L[0]],C[L[1]])}if(R=[...R,{placement:s,overflows:P}],!P.every(L=>L<=0)){var V,D;const L=(((V=i.flip)==null?void 0:V.index)||0)+1,$=T[L];if($&&(!(h==="alignment"?v!==An($):!1)||R.every(_=>_.overflows[0]>0&&An(_.placement)===v)))return{data:{index:L,overflows:R},reset:{placement:$}};let A=(D=R.filter(M=>M.overflows[0]<=0).sort((M,_)=>M.overflows[1]-_.overflows[1])[0])==null?void 0:D.placement;if(!A)switch(m){case"bestFit":{var G;const M=(G=R.filter(_=>{if(k){const I=An(_.placement);return I===v||I==="y"}return!0}).map(_=>[_.placement,_.overflows.filter(I=>I>0).reduce((I,B)=>I+B,0)]).sort((_,I)=>_[1]-I[1])[0])==null?void 0:G[0];M&&(A=M);break}case"initialPlacement":A=l;break}if(s!==A)return{reset:{placement:A}}}return{}}}};function Ux(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Vx(e){return sO.some(t=>e[t]>=0)}const vO=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...s}=or(e,t);switch(r){case"referenceHidden":{const i=await fl(t,{...s,elementContext:"reference"}),a=Ux(i,n.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:Vx(a)}}}case"escaped":{const i=await fl(t,{...s,altBoundary:!0}),a=Ux(i,n.floating);return{data:{escapedOffsets:a,escaped:Vx(a)}}}default:return{}}}}},ck=new Set(["left","top"]);async function xO(e,t){const{placement:n,platform:r,elements:s}=e,i=await(r.isRTL==null?void 0:r.isRTL(s.floating)),a=ar(n),l=Go(n),c=An(n)==="y",u=ck.has(a)?-1:1,d=i&&c?-1:1,h=or(t,e);let{mainAxis:f,crossAxis:m,alignmentAxis:w}=typeof h=="number"?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return l&&typeof w=="number"&&(m=l==="end"?w*-1:w),c?{x:m*d,y:f*u}:{x:f*u,y:m*d}}const wO=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:s,y:i,placement:a,middlewareData:l}=t,c=await xO(t,e);return a===((n=l.offset)==null?void 0:n.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:s+c.x,y:i+c.y,data:{...c,placement:a}}}}},bO=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:s}=t,{mainAxis:i=!0,crossAxis:a=!1,limiter:l={fn:y=>{let{x:g,y:v}=y;return{x:g,y:v}}},...c}=or(e,t),u={x:n,y:r},d=await fl(t,c),h=An(ar(s)),f=$g(h);let m=u[f],w=u[h];if(i){const y=f==="y"?"top":"left",g=f==="y"?"bottom":"right",v=m+d[y],b=m-d[g];m=Tm(v,m,b)}if(a){const y=h==="y"?"top":"left",g=h==="y"?"bottom":"right",v=w+d[y],b=w-d[g];w=Tm(v,w,b)}const p=l.fn({...t,[f]:m,[h]:w});return{...p,data:{x:p.x-n,y:p.y-r,enabled:{[f]:i,[h]:a}}}}}},jO=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:s,rects:i,middlewareData:a}=t,{offset:l=0,mainAxis:c=!0,crossAxis:u=!0}=or(e,t),d={x:n,y:r},h=An(s),f=$g(h);let m=d[f],w=d[h];const p=or(l,t),y=typeof p=="number"?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(c){const b=f==="y"?"height":"width",j=i.reference[f]-i.floating[b]+y.mainAxis,S=i.reference[f]+i.reference[b]-y.mainAxis;m<j?m=j:m>S&&(m=S)}if(u){var g,v;const b=f==="y"?"width":"height",j=ck.has(ar(s)),S=i.reference[h]-i.floating[b]+(j&&((g=a.offset)==null?void 0:g[h])||0)+(j?0:y.crossAxis),k=i.reference[h]+i.reference[b]+(j?0:((v=a.offset)==null?void 0:v[h])||0)-(j?y.crossAxis:0);w<S?w=S:w>k&&(w=k)}return{[f]:m,[h]:w}}}},SO=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:s,rects:i,platform:a,elements:l}=t,{apply:c=()=>{},...u}=or(e,t),d=await fl(t,u),h=ar(s),f=Go(s),m=An(s)==="y",{width:w,height:p}=i.floating;let y,g;h==="top"||h==="bottom"?(y=h,g=f===(await(a.isRTL==null?void 0:a.isRTL(l.floating))?"start":"end")?"left":"right"):(g=h,y=f==="end"?"top":"bottom");const v=p-d.top-d.bottom,b=w-d.left-d.right,j=hs(p-d[y],v),S=hs(w-d[g],b),k=!t.middlewareData.shift;let T=j,C=S;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(C=b),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(T=v),k&&!f){const R=It(d.left,0),V=It(d.right,0),D=It(d.top,0),G=It(d.bottom,0);m?C=w-2*(R!==0||V!==0?R+V:It(d.left,d.right)):T=p-2*(D!==0||G!==0?D+G:It(d.top,d.bottom))}await c({...t,availableWidth:C,availableHeight:T});const P=await a.getDimensions(l.floating);return w!==P.width||p!==P.height?{reset:{rects:!0}}:{}}}};function Ed(){return typeof window<"u"}function Yo(e){return uk(e)?(e.nodeName||"").toLowerCase():"#document"}function Mt(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Vn(e){var t;return(t=(uk(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function uk(e){return Ed()?e instanceof Node||e instanceof Mt(e).Node:!1}function wn(e){return Ed()?e instanceof Element||e instanceof Mt(e).Element:!1}function Bn(e){return Ed()?e instanceof HTMLElement||e instanceof Mt(e).HTMLElement:!1}function zx(e){return!Ed()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Mt(e).ShadowRoot}const kO=new Set(["inline","contents"]);function zl(e){const{overflow:t,overflowX:n,overflowY:r,display:s}=bn(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!kO.has(s)}const NO=new Set(["table","td","th"]);function TO(e){return NO.has(Yo(e))}const CO=[":popover-open",":modal"];function _d(e){return CO.some(t=>{try{return e.matches(t)}catch{return!1}})}const EO=["transform","translate","scale","rotate","perspective"],_O=["transform","translate","scale","rotate","perspective","filter"],PO=["paint","layout","strict","content"];function Vg(e){const t=zg(),n=wn(e)?bn(e):e;return EO.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)||_O.some(r=>(n.willChange||"").includes(r))||PO.some(r=>(n.contain||"").includes(r))}function AO(e){let t=fs(e);for(;Bn(t)&&!Mo(t);){if(Vg(t))return t;if(_d(t))return null;t=fs(t)}return null}function zg(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const RO=new Set(["html","body","#document"]);function Mo(e){return RO.has(Yo(e))}function bn(e){return Mt(e).getComputedStyle(e)}function Pd(e){return wn(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function fs(e){if(Yo(e)==="html")return e;const t=e.assignedSlot||e.parentNode||zx(e)&&e.host||Vn(e);return zx(t)?t.host:t}function dk(e){const t=fs(e);return Mo(t)?e.ownerDocument?e.ownerDocument.body:e.body:Bn(t)&&zl(t)?t:dk(t)}function ml(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const s=dk(e),i=s===((r=e.ownerDocument)==null?void 0:r.body),a=Mt(s);if(i){const l=Em(a);return t.concat(a,a.visualViewport||[],zl(s)?s:[],l&&n?ml(l):[])}return t.concat(s,ml(s,[],n))}function Em(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function hk(e){const t=bn(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const s=Bn(e),i=s?e.offsetWidth:n,a=s?e.offsetHeight:r,l=Uu(n)!==i||Uu(r)!==a;return l&&(n=i,r=a),{width:n,height:r,$:l}}function Hg(e){return wn(e)?e:e.contextElement}function lo(e){const t=Hg(e);if(!Bn(t))return On(1);const n=t.getBoundingClientRect(),{width:r,height:s,$:i}=hk(t);let a=(i?Uu(n.width):n.width)/r,l=(i?Uu(n.height):n.height)/s;return(!a||!Number.isFinite(a))&&(a=1),(!l||!Number.isFinite(l))&&(l=1),{x:a,y:l}}const IO=On(0);function fk(e){const t=Mt(e);return!zg()||!t.visualViewport?IO:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function OO(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Mt(e)?!1:t}function ci(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const s=e.getBoundingClientRect(),i=Hg(e);let a=On(1);t&&(r?wn(r)&&(a=lo(r)):a=lo(e));const l=OO(i,n,r)?fk(i):On(0);let c=(s.left+l.x)/a.x,u=(s.top+l.y)/a.y,d=s.width/a.x,h=s.height/a.y;if(i){const f=Mt(i),m=r&&wn(r)?Mt(r):r;let w=f,p=Em(w);for(;p&&r&&m!==w;){const y=lo(p),g=p.getBoundingClientRect(),v=bn(p),b=g.left+(p.clientLeft+parseFloat(v.paddingLeft))*y.x,j=g.top+(p.clientTop+parseFloat(v.paddingTop))*y.y;c*=y.x,u*=y.y,d*=y.x,h*=y.y,c+=b,u+=j,w=Mt(p),p=Em(w)}}return zu({width:d,height:h,x:c,y:u})}function Wg(e,t){const n=Pd(e).scrollLeft;return t?t.left+n:ci(Vn(e)).left+n}function mk(e,t,n){n===void 0&&(n=!1);const r=e.getBoundingClientRect(),s=r.left+t.scrollLeft-(n?0:Wg(e,r)),i=r.top+t.scrollTop;return{x:s,y:i}}function FO(e){let{elements:t,rect:n,offsetParent:r,strategy:s}=e;const i=s==="fixed",a=Vn(r),l=t?_d(t.floating):!1;if(r===a||l&&i)return n;let c={scrollLeft:0,scrollTop:0},u=On(1);const d=On(0),h=Bn(r);if((h||!h&&!i)&&((Yo(r)!=="body"||zl(a))&&(c=Pd(r)),Bn(r))){const m=ci(r);u=lo(r),d.x=m.x+r.clientLeft,d.y=m.y+r.clientTop}const f=a&&!h&&!i?mk(a,c,!0):On(0);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-c.scrollLeft*u.x+d.x+f.x,y:n.y*u.y-c.scrollTop*u.y+d.y+f.y}}function MO(e){return Array.from(e.getClientRects())}function DO(e){const t=Vn(e),n=Pd(e),r=e.ownerDocument.body,s=It(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=It(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let a=-n.scrollLeft+Wg(e);const l=-n.scrollTop;return bn(r).direction==="rtl"&&(a+=It(t.clientWidth,r.clientWidth)-s),{width:s,height:i,x:a,y:l}}function LO(e,t){const n=Mt(e),r=Vn(e),s=n.visualViewport;let i=r.clientWidth,a=r.clientHeight,l=0,c=0;if(s){i=s.width,a=s.height;const u=zg();(!u||u&&t==="fixed")&&(l=s.offsetLeft,c=s.offsetTop)}return{width:i,height:a,x:l,y:c}}const $O=new Set(["absolute","fixed"]);function BO(e,t){const n=ci(e,!0,t==="fixed"),r=n.top+e.clientTop,s=n.left+e.clientLeft,i=Bn(e)?lo(e):On(1),a=e.clientWidth*i.x,l=e.clientHeight*i.y,c=s*i.x,u=r*i.y;return{width:a,height:l,x:c,y:u}}function Hx(e,t,n){let r;if(t==="viewport")r=LO(e,n);else if(t==="document")r=DO(Vn(e));else if(wn(t))r=BO(t,n);else{const s=fk(e);r={x:t.x-s.x,y:t.y-s.y,width:t.width,height:t.height}}return zu(r)}function pk(e,t){const n=fs(e);return n===t||!wn(n)||Mo(n)?!1:bn(n).position==="fixed"||pk(n,t)}function UO(e,t){const n=t.get(e);if(n)return n;let r=ml(e,[],!1).filter(l=>wn(l)&&Yo(l)!=="body"),s=null;const i=bn(e).position==="fixed";let a=i?fs(e):e;for(;wn(a)&&!Mo(a);){const l=bn(a),c=Vg(a);!c&&l.position==="fixed"&&(s=null),(i?!c&&!s:!c&&l.position==="static"&&!!s&&$O.has(s.position)||zl(a)&&!c&&pk(e,a))?r=r.filter(d=>d!==a):s=l,a=fs(a)}return t.set(e,r),r}function VO(e){let{element:t,boundary:n,rootBoundary:r,strategy:s}=e;const a=[...n==="clippingAncestors"?_d(t)?[]:UO(t,this._c):[].concat(n),r],l=a[0],c=a.reduce((u,d)=>{const h=Hx(t,d,s);return u.top=It(h.top,u.top),u.right=hs(h.right,u.right),u.bottom=hs(h.bottom,u.bottom),u.left=It(h.left,u.left),u},Hx(t,l,s));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function zO(e){const{width:t,height:n}=hk(e);return{width:t,height:n}}function HO(e,t,n){const r=Bn(t),s=Vn(t),i=n==="fixed",a=ci(e,!0,i,t);let l={scrollLeft:0,scrollTop:0};const c=On(0);function u(){c.x=Wg(s)}if(r||!r&&!i)if((Yo(t)!=="body"||zl(s))&&(l=Pd(t)),r){const m=ci(t,!0,i,t);c.x=m.x+t.clientLeft,c.y=m.y+t.clientTop}else s&&u();i&&!r&&s&&u();const d=s&&!r&&!i?mk(s,l):On(0),h=a.left+l.scrollLeft-c.x-d.x,f=a.top+l.scrollTop-c.y-d.y;return{x:h,y:f,width:a.width,height:a.height}}function Fh(e){return bn(e).position==="static"}function Wx(e,t){if(!Bn(e)||bn(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Vn(e)===n&&(n=n.ownerDocument.body),n}function gk(e,t){const n=Mt(e);if(_d(e))return n;if(!Bn(e)){let s=fs(e);for(;s&&!Mo(s);){if(wn(s)&&!Fh(s))return s;s=fs(s)}return n}let r=Wx(e,t);for(;r&&TO(r)&&Fh(r);)r=Wx(r,t);return r&&Mo(r)&&Fh(r)&&!Vg(r)?n:r||AO(e)||n}const WO=async function(e){const t=this.getOffsetParent||gk,n=this.getDimensions,r=await n(e.floating);return{reference:HO(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function qO(e){return bn(e).direction==="rtl"}const KO={convertOffsetParentRelativeRectToViewportRelativeRect:FO,getDocumentElement:Vn,getClippingRect:VO,getOffsetParent:gk,getElementRects:WO,getClientRects:MO,getDimensions:zO,getScale:lo,isElement:wn,isRTL:qO};function yk(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function GO(e,t){let n=null,r;const s=Vn(e);function i(){var l;clearTimeout(r),(l=n)==null||l.disconnect(),n=null}function a(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),i();const u=e.getBoundingClientRect(),{left:d,top:h,width:f,height:m}=u;if(l||t(),!f||!m)return;const w=kc(h),p=kc(s.clientWidth-(d+f)),y=kc(s.clientHeight-(h+m)),g=kc(d),b={rootMargin:-w+"px "+-p+"px "+-y+"px "+-g+"px",threshold:It(0,hs(1,c))||1};let j=!0;function S(k){const T=k[0].intersectionRatio;if(T!==c){if(!j)return a();T?a(!1,T):r=setTimeout(()=>{a(!1,1e-7)},1e3)}T===1&&!yk(u,e.getBoundingClientRect())&&a(),j=!1}try{n=new IntersectionObserver(S,{...b,root:s.ownerDocument})}catch{n=new IntersectionObserver(S,b)}n.observe(e)}return a(!0),i}function YO(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:s=!0,ancestorResize:i=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=r,u=Hg(e),d=s||i?[...u?ml(u):[],...ml(t)]:[];d.forEach(g=>{s&&g.addEventListener("scroll",n,{passive:!0}),i&&g.addEventListener("resize",n)});const h=u&&l?GO(u,n):null;let f=-1,m=null;a&&(m=new ResizeObserver(g=>{let[v]=g;v&&v.target===u&&m&&(m.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var b;(b=m)==null||b.observe(t)})),n()}),u&&!c&&m.observe(u),m.observe(t));let w,p=c?ci(e):null;c&&y();function y(){const g=ci(e);p&&!yk(p,g)&&n(),p=g,w=requestAnimationFrame(y)}return n(),()=>{var g;d.forEach(v=>{s&&v.removeEventListener("scroll",n),i&&v.removeEventListener("resize",n)}),h==null||h(),(g=m)==null||g.disconnect(),m=null,c&&cancelAnimationFrame(w)}}const QO=wO,XO=bO,JO=yO,ZO=SO,eF=vO,qx=gO,tF=jO,nF=(e,t,n)=>{const r=new Map,s={platform:KO,...n},i={...s.platform,_c:r};return pO(e,t,{...s,platform:i})};var rF=typeof document<"u",sF=function(){},ru=rF?x.useLayoutEffect:sF;function Hu(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,s;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(!Hu(e[r],t[r]))return!1;return!0}if(s=Object.keys(e),n=s.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,s[r]))return!1;for(r=n;r--!==0;){const i=s[r];if(!(i==="_owner"&&e.$$typeof)&&!Hu(e[i],t[i]))return!1}return!0}return e!==e&&t!==t}function vk(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Kx(e,t){const n=vk(e);return Math.round(t*n)/n}function Mh(e){const t=x.useRef(e);return ru(()=>{t.current=e}),t}function iF(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:s,elements:{reference:i,floating:a}={},transform:l=!0,whileElementsMounted:c,open:u}=e,[d,h]=x.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,m]=x.useState(r);Hu(f,r)||m(r);const[w,p]=x.useState(null),[y,g]=x.useState(null),v=x.useCallback(_=>{_!==k.current&&(k.current=_,p(_))},[]),b=x.useCallback(_=>{_!==T.current&&(T.current=_,g(_))},[]),j=i||w,S=a||y,k=x.useRef(null),T=x.useRef(null),C=x.useRef(d),P=c!=null,R=Mh(c),V=Mh(s),D=Mh(u),G=x.useCallback(()=>{if(!k.current||!T.current)return;const _={placement:t,strategy:n,middleware:f};V.current&&(_.platform=V.current),nF(k.current,T.current,_).then(I=>{const B={...I,isPositioned:D.current!==!1};L.current&&!Hu(C.current,B)&&(C.current=B,Bl.flushSync(()=>{h(B)}))})},[f,t,n,V,D]);ru(()=>{u===!1&&C.current.isPositioned&&(C.current.isPositioned=!1,h(_=>({..._,isPositioned:!1})))},[u]);const L=x.useRef(!1);ru(()=>(L.current=!0,()=>{L.current=!1}),[]),ru(()=>{if(j&&(k.current=j),S&&(T.current=S),j&&S){if(R.current)return R.current(j,S,G);G()}},[j,S,G,R,P]);const $=x.useMemo(()=>({reference:k,floating:T,setReference:v,setFloating:b}),[v,b]),A=x.useMemo(()=>({reference:j,floating:S}),[j,S]),M=x.useMemo(()=>{const _={position:n,left:0,top:0};if(!A.floating)return _;const I=Kx(A.floating,d.x),B=Kx(A.floating,d.y);return l?{..._,transform:"translate("+I+"px, "+B+"px)",...vk(A.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:I,top:B}},[n,l,A.floating,d.x,d.y]);return x.useMemo(()=>({...d,update:G,refs:$,elements:A,floatingStyles:M}),[d,G,$,A,M])}const oF=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:s}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?qx({element:r.current,padding:s}).fn(n):{}:r?qx({element:r,padding:s}).fn(n):{}}}},aF=(e,t)=>({...QO(e),options:[e,t]}),lF=(e,t)=>({...XO(e),options:[e,t]}),cF=(e,t)=>({...tF(e),options:[e,t]}),uF=(e,t)=>({...JO(e),options:[e,t]}),dF=(e,t)=>({...ZO(e),options:[e,t]}),hF=(e,t)=>({...eF(e),options:[e,t]}),fF=(e,t)=>({...oF(e),options:[e,t]});var mF="Arrow",xk=x.forwardRef((e,t)=>{const{children:n,width:r=10,height:s=5,...i}=e;return o.jsx(le.svg,{...i,ref:t,width:r,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:o.jsx("polygon",{points:"0,0 30,0 15,10"})})});xk.displayName=mF;var pF=xk;function qg(e){const[t,n]=x.useState(void 0);return $n(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const i=s[0];let a,l;if("borderBoxSize"in i){const c=i.borderBoxSize,u=Array.isArray(c)?c[0]:c;a=u.inlineSize,l=u.blockSize}else a=e.offsetWidth,l=e.offsetHeight;n({width:a,height:l})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var wk="Popper",[bk,jk]=Zt(wk),[IH,Sk]=bk(wk),kk="PopperAnchor",Nk=x.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...s}=e,i=Sk(kk,n),a=x.useRef(null),l=Pe(t,a);return x.useEffect(()=>{i.onAnchorChange((r==null?void 0:r.current)||a.current)}),r?null:o.jsx(le.div,{...s,ref:l})});Nk.displayName=kk;var Kg="PopperContent",[gF,yF]=bk(Kg),Tk=x.forwardRef((e,t)=>{var pe,yi,yr,ks,vr,vi;const{__scopePopper:n,side:r="bottom",sideOffset:s=0,align:i="center",alignOffset:a=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:u=[],collisionPadding:d=0,sticky:h="partial",hideWhenDetached:f=!1,updatePositionStrategy:m="optimized",onPlaced:w,...p}=e,y=Sk(Kg,n),[g,v]=x.useState(null),b=Pe(t,xr=>v(xr)),[j,S]=x.useState(null),k=qg(j),T=(k==null?void 0:k.width)??0,C=(k==null?void 0:k.height)??0,P=r+(i!=="center"?"-"+i:""),R=typeof d=="number"?d:{top:0,right:0,bottom:0,left:0,...d},V=Array.isArray(u)?u:[u],D=V.length>0,G={padding:R,boundary:V.filter(xF),altBoundary:D},{refs:L,floatingStyles:$,placement:A,isPositioned:M,middlewareData:_}=iF({strategy:"fixed",placement:P,whileElementsMounted:(...xr)=>YO(...xr,{animationFrame:m==="always"}),elements:{reference:y.anchor},middleware:[aF({mainAxis:s+C,alignmentAxis:a}),c&&lF({mainAxis:!0,crossAxis:!1,limiter:h==="partial"?cF():void 0,...G}),c&&uF({...G}),dF({...G,apply:({elements:xr,rects:ec,availableWidth:Zd,availableHeight:tc})=>{const{width:eh,height:ra}=ec.reference,xi=xr.floating.style;xi.setProperty("--radix-popper-available-width",`${Zd}px`),xi.setProperty("--radix-popper-available-height",`${tc}px`),xi.setProperty("--radix-popper-anchor-width",`${eh}px`),xi.setProperty("--radix-popper-anchor-height",`${ra}px`)}}),j&&fF({element:j,padding:l}),wF({arrowWidth:T,arrowHeight:C}),f&&hF({strategy:"referenceHidden",...G})]}),[I,B]=_k(A),ee=xn(w);$n(()=>{M&&(ee==null||ee())},[M,ee]);const Q=(pe=_.arrow)==null?void 0:pe.x,ce=(yi=_.arrow)==null?void 0:yi.y,de=((yr=_.arrow)==null?void 0:yr.centerOffset)!==0,[Ue,it]=x.useState();return $n(()=>{g&&it(window.getComputedStyle(g).zIndex)},[g]),o.jsx("div",{ref:L.setFloating,"data-radix-popper-content-wrapper":"",style:{...$,transform:M?$.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Ue,"--radix-popper-transform-origin":[(ks=_.transformOrigin)==null?void 0:ks.x,(vr=_.transformOrigin)==null?void 0:vr.y].join(" "),...((vi=_.hide)==null?void 0:vi.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:o.jsx(gF,{scope:n,placedSide:I,onArrowChange:S,arrowX:Q,arrowY:ce,shouldHideArrow:de,children:o.jsx(le.div,{"data-side":I,"data-align":B,...p,ref:b,style:{...p.style,animation:M?void 0:"none"}})})})});Tk.displayName=Kg;var Ck="PopperArrow",vF={top:"bottom",right:"left",bottom:"top",left:"right"},Ek=x.forwardRef(function(t,n){const{__scopePopper:r,...s}=t,i=yF(Ck,r),a=vF[i.placedSide];return o.jsx("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:o.jsx(pF,{...s,ref:n,style:{...s.style,display:"block"}})})});Ek.displayName=Ck;function xF(e){return e!==null}var wF=e=>({name:"transformOrigin",options:e,fn(t){var y,g,v;const{placement:n,rects:r,middlewareData:s}=t,a=((y=s.arrow)==null?void 0:y.centerOffset)!==0,l=a?0:e.arrowWidth,c=a?0:e.arrowHeight,[u,d]=_k(n),h={start:"0%",center:"50%",end:"100%"}[d],f=(((g=s.arrow)==null?void 0:g.x)??0)+l/2,m=(((v=s.arrow)==null?void 0:v.y)??0)+c/2;let w="",p="";return u==="bottom"?(w=a?h:`${f}px`,p=`${-c}px`):u==="top"?(w=a?h:`${f}px`,p=`${r.floating.height+c}px`):u==="right"?(w=`${-c}px`,p=a?h:`${m}px`):u==="left"&&(w=`${r.floating.width+c}px`,p=a?h:`${m}px`),{data:{x:w,y:p}}}});function _k(e){const[t,n="center"]=e.split("-");return[t,n]}var bF=Nk,jF=Tk,SF=Ek,[Ad,OH]=Zt("Tooltip",[jk]),Gg=jk(),Pk="TooltipProvider",kF=700,Gx="tooltip.open",[NF,Ak]=Ad(Pk),Rk=e=>{const{__scopeTooltip:t,delayDuration:n=kF,skipDelayDuration:r=300,disableHoverableContent:s=!1,children:i}=e,a=x.useRef(!0),l=x.useRef(!1),c=x.useRef(0);return x.useEffect(()=>{const u=c.current;return()=>window.clearTimeout(u)},[]),o.jsx(NF,{scope:t,isOpenDelayedRef:a,delayDuration:n,onOpen:x.useCallback(()=>{window.clearTimeout(c.current),a.current=!1},[]),onClose:x.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>a.current=!0,r)},[r]),isPointerInTransitRef:l,onPointerInTransitChange:x.useCallback(u=>{l.current=u},[]),disableHoverableContent:s,children:i})};Rk.displayName=Pk;var Ik="Tooltip",[FH,Rd]=Ad(Ik),_m="TooltipTrigger",TF=x.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,s=Rd(_m,n),i=Ak(_m,n),a=Gg(n),l=x.useRef(null),c=Pe(t,l,s.onTriggerChange),u=x.useRef(!1),d=x.useRef(!1),h=x.useCallback(()=>u.current=!1,[]);return x.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),o.jsx(bF,{asChild:!0,...a,children:o.jsx(le.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...r,ref:c,onPointerMove:oe(e.onPointerMove,f=>{f.pointerType!=="touch"&&!d.current&&!i.isPointerInTransitRef.current&&(s.onTriggerEnter(),d.current=!0)}),onPointerLeave:oe(e.onPointerLeave,()=>{s.onTriggerLeave(),d.current=!1}),onPointerDown:oe(e.onPointerDown,()=>{s.open&&s.onClose(),u.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:oe(e.onFocus,()=>{u.current||s.onOpen()}),onBlur:oe(e.onBlur,s.onClose),onClick:oe(e.onClick,s.onClose)})})});TF.displayName=_m;var CF="TooltipPortal",[MH,EF]=Ad(CF,{forceMount:void 0}),Do="TooltipContent",Ok=x.forwardRef((e,t)=>{const n=EF(Do,e.__scopeTooltip),{forceMount:r=n.forceMount,side:s="top",...i}=e,a=Rd(Do,e.__scopeTooltip);return o.jsx(ur,{present:r||a.open,children:a.disableHoverableContent?o.jsx(Fk,{side:s,...i,ref:t}):o.jsx(_F,{side:s,...i,ref:t})})}),_F=x.forwardRef((e,t)=>{const n=Rd(Do,e.__scopeTooltip),r=Ak(Do,e.__scopeTooltip),s=x.useRef(null),i=Pe(t,s),[a,l]=x.useState(null),{trigger:c,onClose:u}=n,d=s.current,{onPointerInTransitChange:h}=r,f=x.useCallback(()=>{l(null),h(!1)},[h]),m=x.useCallback((w,p)=>{const y=w.currentTarget,g={x:w.clientX,y:w.clientY},v=OF(g,y.getBoundingClientRect()),b=FF(g,v),j=MF(p.getBoundingClientRect()),S=LF([...b,...j]);l(S),h(!0)},[h]);return x.useEffect(()=>()=>f(),[f]),x.useEffect(()=>{if(c&&d){const w=y=>m(y,d),p=y=>m(y,c);return c.addEventListener("pointerleave",w),d.addEventListener("pointerleave",p),()=>{c.removeEventListener("pointerleave",w),d.removeEventListener("pointerleave",p)}}},[c,d,m,f]),x.useEffect(()=>{if(a){const w=p=>{const y=p.target,g={x:p.clientX,y:p.clientY},v=(c==null?void 0:c.contains(y))||(d==null?void 0:d.contains(y)),b=!DF(g,a);v?f():b&&(f(),u())};return document.addEventListener("pointermove",w),()=>document.removeEventListener("pointermove",w)}},[c,d,a,u,f]),o.jsx(Fk,{...e,ref:i})}),[PF,AF]=Ad(Ik,{isInside:!1}),RF=uS("TooltipContent"),Fk=x.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":s,onEscapeKeyDown:i,onPointerDownOutside:a,...l}=e,c=Rd(Do,n),u=Gg(n),{onClose:d}=c;return x.useEffect(()=>(document.addEventListener(Gx,d),()=>document.removeEventListener(Gx,d)),[d]),x.useEffect(()=>{if(c.trigger){const h=f=>{const m=f.target;m!=null&&m.contains(c.trigger)&&d()};return window.addEventListener("scroll",h,{capture:!0}),()=>window.removeEventListener("scroll",h,{capture:!0})}},[c.trigger,d]),o.jsx(kd,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:h=>h.preventDefault(),onDismiss:d,children:o.jsxs(jF,{"data-state":c.stateAttribute,...u,...l,ref:t,style:{...l.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:[o.jsx(RF,{children:r}),o.jsx(PF,{scope:n,isInside:!0,children:o.jsx(QA,{id:c.contentId,role:"tooltip",children:s||r})})]})})});Ok.displayName=Do;var Mk="TooltipArrow",IF=x.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,s=Gg(n);return AF(Mk,n).isInside?null:o.jsx(SF,{...s,...r,ref:t})});IF.displayName=Mk;function OF(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),s=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(n,r,s,i)){case i:return"left";case s:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function FF(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 MF(e){const{top:t,right:n,bottom:r,left:s}=e;return[{x:s,y:t},{x:n,y:t},{x:n,y:r},{x:s,y:r}]}function DF(e,t){const{x:n,y:r}=e;let s=!1;for(let i=0,a=t.length-1;i<t.length;a=i++){const l=t[i],c=t[a],u=l.x,d=l.y,h=c.x,f=c.y;d>r!=f>r&&n<(h-u)*(r-d)/(f-d)+u&&(s=!s)}return s}function LF(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),$F(t)}function $F(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const s=e[r];for(;t.length>=2;){const i=t[t.length-1],a=t[t.length-2];if((i.x-a.x)*(s.y-a.y)>=(i.y-a.y)*(s.x-a.x))t.pop();else break}t.push(s)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const s=e[r];for(;n.length>=2;){const i=n[n.length-1],a=n[n.length-2];if((i.x-a.x)*(s.y-a.y)>=(i.y-a.y)*(s.x-a.x))n.pop();else break}n.push(s)}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 BF=Rk,Dk=Ok;const UF=BF,VF=x.forwardRef(({className:e,sideOffset:t=4,...n},r)=>o.jsx(Dk,{ref:r,sideOffset:t,className:J("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}));VF.displayName=Dk.displayName;var Qo=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(){}},ui=typeof window>"u"||"Deno"in globalThis;function pt(){}function zF(e,t){return typeof e=="function"?e(t):e}function Pm(e){return typeof e=="number"&&e>=0&&e!==1/0}function Lk(e,t){return Math.max(e+(t||0)-Date.now(),0)}function is(e,t){return typeof e=="function"?e(t):e}function Ht(e,t){return typeof e=="function"?e(t):e}function Yx(e,t){const{type:n="all",exact:r,fetchStatus:s,predicate:i,queryKey:a,stale:l}=e;if(a){if(r){if(t.queryHash!==Yg(a,t.options))return!1}else if(!pl(t.queryKey,a))return!1}if(n!=="all"){const c=t.isActive();if(n==="active"&&!c||n==="inactive"&&c)return!1}return!(typeof l=="boolean"&&t.isStale()!==l||s&&s!==t.state.fetchStatus||i&&!i(t))}function Qx(e,t){const{exact:n,status:r,predicate:s,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(di(t.options.mutationKey)!==di(i))return!1}else if(!pl(t.options.mutationKey,i))return!1}return!(r&&t.state.status!==r||s&&!s(t))}function Yg(e,t){return((t==null?void 0:t.queryKeyHashFn)||di)(e)}function di(e){return JSON.stringify(e,(t,n)=>Am(n)?Object.keys(n).sort().reduce((r,s)=>(r[s]=n[s],r),{}):n)}function pl(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(n=>pl(e[n],t[n])):!1}function $k(e,t){if(e===t)return e;const n=Xx(e)&&Xx(t);if(n||Am(e)&&Am(t)){const r=n?e:Object.keys(e),s=r.length,i=n?t:Object.keys(t),a=i.length,l=n?[]:{},c=new Set(r);let u=0;for(let d=0;d<a;d++){const h=n?d:i[d];(!n&&c.has(h)||n)&&e[h]===void 0&&t[h]===void 0?(l[h]=void 0,u++):(l[h]=$k(e[h],t[h]),l[h]===e[h]&&e[h]!==void 0&&u++)}return s===a&&u===s?e:l}return t}function Wu(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function Xx(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Am(e){if(!Jx(e))return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(!Jx(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Jx(e){return Object.prototype.toString.call(e)==="[object Object]"}function HF(e){return new Promise(t=>{setTimeout(t,e)})}function Rm(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?$k(e,t):t}function WF(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function qF(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var Qg=Symbol();function Bk(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===Qg?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Uk(e,t){return typeof e=="function"?e(...t):!!e}var Hs,Dr,yo,Lb,KF=(Lb=class extends Qo{constructor(){super();Y(this,Hs);Y(this,Dr);Y(this,yo);U(this,yo,t=>{if(!ui&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){N(this,Dr)||this.setEventListener(N(this,yo))}onUnsubscribe(){var t;this.hasListeners()||((t=N(this,Dr))==null||t.call(this),U(this,Dr,void 0))}setEventListener(t){var n;U(this,yo,t),(n=N(this,Dr))==null||n.call(this),U(this,Dr,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){N(this,Hs)!==t&&(U(this,Hs,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){var t;return typeof N(this,Hs)=="boolean"?N(this,Hs):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Hs=new WeakMap,Dr=new WeakMap,yo=new WeakMap,Lb),Xg=new KF,vo,Lr,xo,$b,GF=($b=class extends Qo{constructor(){super();Y(this,vo,!0);Y(this,Lr);Y(this,xo);U(this,xo,t=>{if(!ui&&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,Lr)||this.setEventListener(N(this,xo))}onUnsubscribe(){var t;this.hasListeners()||((t=N(this,Lr))==null||t.call(this),U(this,Lr,void 0))}setEventListener(t){var n;U(this,xo,t),(n=N(this,Lr))==null||n.call(this),U(this,Lr,t(this.setOnline.bind(this)))}setOnline(t){N(this,vo)!==t&&(U(this,vo,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return N(this,vo)}},vo=new WeakMap,Lr=new WeakMap,xo=new WeakMap,$b),qu=new GF;function Im(){let e,t;const n=new Promise((s,i)=>{e=s,t=i});n.status="pending",n.catch(()=>{});function r(s){Object.assign(n,s),delete n.resolve,delete n.reject}return n.resolve=s=>{r({status:"fulfilled",value:s}),e(s)},n.reject=s=>{r({status:"rejected",reason:s}),t(s)},n}function YF(e){return Math.min(1e3*2**e,3e4)}function Vk(e){return(e??"online")==="online"?qu.isOnline():!0}var zk=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function Dh(e){return e instanceof zk}function Hk(e){let t=!1,n=0,r=!1,s;const i=Im(),a=p=>{var y;r||(f(new zk(p)),(y=e.abort)==null||y.call(e))},l=()=>{t=!0},c=()=>{t=!1},u=()=>Xg.isFocused()&&(e.networkMode==="always"||qu.isOnline())&&e.canRun(),d=()=>Vk(e.networkMode)&&e.canRun(),h=p=>{var y;r||(r=!0,(y=e.onSuccess)==null||y.call(e,p),s==null||s(),i.resolve(p))},f=p=>{var y;r||(r=!0,(y=e.onError)==null||y.call(e,p),s==null||s(),i.reject(p))},m=()=>new Promise(p=>{var y;s=g=>{(r||u())&&p(g)},(y=e.onPause)==null||y.call(e)}).then(()=>{var p;s=void 0,r||(p=e.onContinue)==null||p.call(e)}),w=()=>{if(r)return;let p;const y=n===0?e.initialPromise:void 0;try{p=y??e.fn()}catch(g){p=Promise.reject(g)}Promise.resolve(p).then(h).catch(g=>{var k;if(r)return;const v=e.retry??(ui?0:3),b=e.retryDelay??YF,j=typeof b=="function"?b(n,g):b,S=v===!0||typeof v=="number"&&n<v||typeof v=="function"&&v(n,g);if(t||!S){f(g);return}n++,(k=e.onFail)==null||k.call(e,n,g),HF(j).then(()=>u()?void 0:m()).then(()=>{t?f(g):w()})})};return{promise:i,cancel:a,continue:()=>(s==null||s(),i),cancelRetry:l,continueRetry:c,canStart:d,start:()=>(d()?w():m().then(w),i)}}var QF=e=>setTimeout(e,0);function XF(){let e=[],t=0,n=l=>{l()},r=l=>{l()},s=QF;const i=l=>{t?e.push(l):s(()=>{n(l)})},a=()=>{const l=e;e=[],l.length&&s(()=>{r(()=>{l.forEach(c=>{n(c)})})})};return{batch:l=>{let c;t++;try{c=l()}finally{t--,t||a()}return c},batchCalls:l=>(...c)=>{i(()=>{l(...c)})},schedule:i,setNotifyFunction:l=>{n=l},setBatchNotifyFunction:l=>{r=l},setScheduler:l=>{s=l}}}var Ye=XF(),Ws,Bb,Wk=(Bb=class{constructor(){Y(this,Ws)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Pm(this.gcTime)&&U(this,Ws,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(ui?1/0:5*60*1e3))}clearGcTimeout(){N(this,Ws)&&(clearTimeout(N(this,Ws)),U(this,Ws,void 0))}},Ws=new WeakMap,Bb),wo,qs,zt,Ks,lt,Al,Gs,un,Wn,Ub,JF=(Ub=class extends Wk{constructor(t){super();Y(this,un);Y(this,wo);Y(this,qs);Y(this,zt);Y(this,Ks);Y(this,lt);Y(this,Al);Y(this,Gs);U(this,Gs,!1),U(this,Al,t.defaultOptions),this.setOptions(t.options),this.observers=[],U(this,Ks,t.client),U(this,zt,N(this,Ks).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,U(this,wo,ZF(this.options)),this.state=t.state??N(this,wo),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=N(this,lt))==null?void 0:t.promise}setOptions(t){this.options={...N(this,Al),...t},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&N(this,zt).remove(this)}setData(t,n){const r=Rm(this.state.data,t,this.options);return se(this,un,Wn).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){se(this,un,Wn).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var r,s;const n=(r=N(this,lt))==null?void 0:r.promise;return(s=N(this,lt))==null||s.cancel(t),n?n.then(pt).catch(pt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(N(this,wo))}isActive(){return this.observers.some(t=>Ht(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Qg||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>is(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:!Lk(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=this.observers.find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=N(this,lt))==null||n.continue()}onOnline(){var n;const t=this.observers.find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=N(this,lt))==null||n.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),N(this,zt).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,lt)&&(N(this,Gs)?N(this,lt).cancel({revert:!0}):N(this,lt).cancelRetry()),this.scheduleGc()),N(this,zt).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||se(this,un,Wn).call(this,{type:"invalidate"})}fetch(t,n){var u,d,h;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(N(this,lt))return N(this,lt).continueRetry(),N(this,lt).promise}if(t&&this.setOptions(t),!this.options.queryFn){const f=this.observers.find(m=>m.options.queryFn);f&&this.setOptions(f.options)}const r=new AbortController,s=f=>{Object.defineProperty(f,"signal",{enumerable:!0,get:()=>(U(this,Gs,!0),r.signal)})},i=()=>{const f=Bk(this.options,n),w=(()=>{const p={client:N(this,Ks),queryKey:this.queryKey,meta:this.meta};return s(p),p})();return U(this,Gs,!1),this.options.persister?this.options.persister(f,w,this):f(w)},l=(()=>{const f={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:N(this,Ks),state:this.state,fetchFn:i};return s(f),f})();(u=this.options.behavior)==null||u.onFetch(l,this),U(this,qs,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((d=l.fetchOptions)==null?void 0:d.meta))&&se(this,un,Wn).call(this,{type:"fetch",meta:(h=l.fetchOptions)==null?void 0:h.meta});const c=f=>{var m,w,p,y;Dh(f)&&f.silent||se(this,un,Wn).call(this,{type:"error",error:f}),Dh(f)||((w=(m=N(this,zt).config).onError)==null||w.call(m,f,this),(y=(p=N(this,zt).config).onSettled)==null||y.call(p,this.state.data,f,this)),this.scheduleGc()};return U(this,lt,Hk({initialPromise:n==null?void 0:n.initialPromise,fn:l.fetchFn,abort:r.abort.bind(r),onSuccess:f=>{var m,w,p,y;if(f===void 0){c(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(f)}catch(g){c(g);return}(w=(m=N(this,zt).config).onSuccess)==null||w.call(m,f,this),(y=(p=N(this,zt).config).onSettled)==null||y.call(p,f,this.state.error,this),this.scheduleGc()},onError:c,onFail:(f,m)=>{se(this,un,Wn).call(this,{type:"failed",failureCount:f,error:m})},onPause:()=>{se(this,un,Wn).call(this,{type:"pause"})},onContinue:()=>{se(this,un,Wn).call(this,{type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode,canRun:()=>!0})),N(this,lt).start()}},wo=new WeakMap,qs=new WeakMap,zt=new WeakMap,Ks=new WeakMap,lt=new WeakMap,Al=new WeakMap,Gs=new WeakMap,un=new WeakSet,Wn=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,...qk(r.data,this.options),fetchMeta:t.meta??null};case"success":return U(this,qs,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 s=t.error;return Dh(s)&&s.revert&&N(this,qs)?{...N(this,qs),fetchStatus:"idle"}:{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Ye.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),N(this,zt).notify({query:this,type:"updated",action:t})})},Ub);function qk(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Vk(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function ZF(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 Tn,Vb,eM=(Vb=class extends Qo{constructor(t={}){super();Y(this,Tn);this.config=t,U(this,Tn,new Map)}build(t,n,r){const s=n.queryKey,i=n.queryHash??Yg(s,n);let a=this.get(i);return a||(a=new JF({client:t,queryKey:s,queryHash:i,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(s)}),this.add(a)),a}add(t){N(this,Tn).has(t.queryHash)||(N(this,Tn).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=N(this,Tn).get(t.queryHash);n&&(t.destroy(),n===t&&N(this,Tn).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Ye.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return N(this,Tn).get(t)}getAll(){return[...N(this,Tn).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>Yx(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>Yx(t,r)):n}notify(t){Ye.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Ye.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Ye.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Tn=new WeakMap,Vb),Cn,ht,Ys,En,Er,zb,tM=(zb=class extends Wk{constructor(t){super();Y(this,En);Y(this,Cn);Y(this,ht);Y(this,Ys);this.mutationId=t.mutationId,U(this,ht,t.mutationCache),U(this,Cn,[]),this.state=t.state||Kk(),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,Cn).includes(t)||(N(this,Cn).push(t),this.clearGcTimeout(),N(this,ht).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){U(this,Cn,N(this,Cn).filter(n=>n!==t)),this.scheduleGc(),N(this,ht).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){N(this,Cn).length||(this.state.status==="pending"?this.scheduleGc():N(this,ht).remove(this))}continue(){var t;return((t=N(this,Ys))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var i,a,l,c,u,d,h,f,m,w,p,y,g,v,b,j,S,k,T,C;const n=()=>{se(this,En,Er).call(this,{type:"continue"})};U(this,Ys,Hk({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(P,R)=>{se(this,En,Er).call(this,{type:"failed",failureCount:P,error:R})},onPause:()=>{se(this,En,Er).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>N(this,ht).canRun(this)}));const r=this.state.status==="pending",s=!N(this,Ys).canStart();try{if(r)n();else{se(this,En,Er).call(this,{type:"pending",variables:t,isPaused:s}),await((a=(i=N(this,ht).config).onMutate)==null?void 0:a.call(i,t,this));const R=await((c=(l=this.options).onMutate)==null?void 0:c.call(l,t));R!==this.state.context&&se(this,En,Er).call(this,{type:"pending",context:R,variables:t,isPaused:s})}const P=await N(this,Ys).start();return await((d=(u=N(this,ht).config).onSuccess)==null?void 0:d.call(u,P,t,this.state.context,this)),await((f=(h=this.options).onSuccess)==null?void 0:f.call(h,P,t,this.state.context)),await((w=(m=N(this,ht).config).onSettled)==null?void 0:w.call(m,P,null,this.state.variables,this.state.context,this)),await((y=(p=this.options).onSettled)==null?void 0:y.call(p,P,null,t,this.state.context)),se(this,En,Er).call(this,{type:"success",data:P}),P}catch(P){try{throw await((v=(g=N(this,ht).config).onError)==null?void 0:v.call(g,P,t,this.state.context,this)),await((j=(b=this.options).onError)==null?void 0:j.call(b,P,t,this.state.context)),await((k=(S=N(this,ht).config).onSettled)==null?void 0:k.call(S,void 0,P,this.state.variables,this.state.context,this)),await((C=(T=this.options).onSettled)==null?void 0:C.call(T,void 0,P,t,this.state.context)),P}finally{se(this,En,Er).call(this,{type:"error",error:P})}}finally{N(this,ht).runNext(this)}}},Cn=new WeakMap,ht=new WeakMap,Ys=new WeakMap,En=new WeakSet,Er=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),Ye.batch(()=>{N(this,Cn).forEach(r=>{r.onMutationUpdate(t)}),N(this,ht).notify({mutation:this,type:"updated",action:t})})},zb);function Kk(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Yn,dn,Rl,Hb,nM=(Hb=class extends Qo{constructor(t={}){super();Y(this,Yn);Y(this,dn);Y(this,Rl);this.config=t,U(this,Yn,new Set),U(this,dn,new Map),U(this,Rl,0)}build(t,n,r){const s=new tM({mutationCache:this,mutationId:++rc(this,Rl)._,options:t.defaultMutationOptions(n),state:r});return this.add(s),s}add(t){N(this,Yn).add(t);const n=Nc(t);if(typeof n=="string"){const r=N(this,dn).get(n);r?r.push(t):N(this,dn).set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if(N(this,Yn).delete(t)){const n=Nc(t);if(typeof n=="string"){const r=N(this,dn).get(n);if(r)if(r.length>1){const s=r.indexOf(t);s!==-1&&r.splice(s,1)}else r[0]===t&&N(this,dn).delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){const n=Nc(t);if(typeof n=="string"){const r=N(this,dn).get(n),s=r==null?void 0:r.find(i=>i.state.status==="pending");return!s||s===t}else return!0}runNext(t){var r;const n=Nc(t);if(typeof n=="string"){const s=(r=N(this,dn).get(n))==null?void 0:r.find(i=>i!==t&&i.state.isPaused);return(s==null?void 0:s.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Ye.batch(()=>{N(this,Yn).forEach(t=>{this.notify({type:"removed",mutation:t})}),N(this,Yn).clear(),N(this,dn).clear()})}getAll(){return Array.from(N(this,Yn))}find(t){const n={exact:!0,...t};return this.getAll().find(r=>Qx(n,r))}findAll(t={}){return this.getAll().filter(n=>Qx(t,n))}notify(t){Ye.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return Ye.batch(()=>Promise.all(t.map(n=>n.continue().catch(pt))))}},Yn=new WeakMap,dn=new WeakMap,Rl=new WeakMap,Hb);function Nc(e){var t;return(t=e.options.scope)==null?void 0:t.id}function Zx(e){return{onFetch:(t,n)=>{var d,h,f,m,w;const r=t.options,s=(f=(h=(d=t.fetchOptions)==null?void 0:d.meta)==null?void 0:h.fetchMore)==null?void 0:f.direction,i=((m=t.state.data)==null?void 0:m.pages)||[],a=((w=t.state.data)==null?void 0:w.pageParams)||[];let l={pages:[],pageParams:[]},c=0;const u=async()=>{let p=!1;const y=b=>{Object.defineProperty(b,"signal",{enumerable:!0,get:()=>(t.signal.aborted?p=!0:t.signal.addEventListener("abort",()=>{p=!0}),t.signal)})},g=Bk(t.options,t.fetchOptions),v=async(b,j,S)=>{if(p)return Promise.reject();if(j==null&&b.pages.length)return Promise.resolve(b);const T=(()=>{const V={client:t.client,queryKey:t.queryKey,pageParam:j,direction:S?"backward":"forward",meta:t.options.meta};return y(V),V})(),C=await g(T),{maxPages:P}=t.options,R=S?qF:WF;return{pages:R(b.pages,C,P),pageParams:R(b.pageParams,j,P)}};if(s&&i.length){const b=s==="backward",j=b?rM:e0,S={pages:i,pageParams:a},k=j(r,S);l=await v(S,k,b)}else{const b=e??i.length;do{const j=c===0?a[0]??r.initialPageParam:e0(r,l);if(c>0&&j==null)break;l=await v(l,j),c++}while(c<b)}return l};t.options.persister?t.fetchFn=()=>{var p,y;return(y=(p=t.options).persister)==null?void 0:y.call(p,u,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=u}}}function e0(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 rM(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 De,$r,Br,bo,jo,Ur,So,ko,Wb,sM=(Wb=class{constructor(e={}){Y(this,De);Y(this,$r);Y(this,Br);Y(this,bo);Y(this,jo);Y(this,Ur);Y(this,So);Y(this,ko);U(this,De,e.queryCache||new eM),U(this,$r,e.mutationCache||new nM),U(this,Br,e.defaultOptions||{}),U(this,bo,new Map),U(this,jo,new Map),U(this,Ur,0)}mount(){rc(this,Ur)._++,N(this,Ur)===1&&(U(this,So,Xg.subscribe(async e=>{e&&(await this.resumePausedMutations(),N(this,De).onFocus())})),U(this,ko,qu.subscribe(async e=>{e&&(await this.resumePausedMutations(),N(this,De).onOnline())})))}unmount(){var e,t;rc(this,Ur)._--,N(this,Ur)===0&&((e=N(this,So))==null||e.call(this),U(this,So,void 0),(t=N(this,ko))==null||t.call(this),U(this,ko,void 0))}isFetching(e){return N(this,De).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return N(this,$r).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=N(this,De).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=N(this,De).build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(is(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return N(this,De).findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),s=N(this,De).get(r.queryHash),i=s==null?void 0:s.state.data,a=zF(t,i);if(a!==void 0)return N(this,De).build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Ye.batch(()=>N(this,De).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,De).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=N(this,De);Ye.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=N(this,De);return Ye.batch(()=>(n.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const n={revert:!0,...t},r=Ye.batch(()=>N(this,De).findAll(e).map(s=>s.cancel(n)));return Promise.all(r).then(pt).catch(pt)}invalidateQueries(e,t={}){return Ye.batch(()=>(N(this,De).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=Ye.batch(()=>N(this,De).findAll(e).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let i=s.fetch(void 0,n);return n.throwOnError||(i=i.catch(pt)),s.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(r).then(pt)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=N(this,De).build(this,t);return n.isStaleByTime(is(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(pt).catch(pt)}fetchInfiniteQuery(e){return e.behavior=Zx(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(pt).catch(pt)}ensureInfiniteQueryData(e){return e.behavior=Zx(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return qu.isOnline()?N(this,$r).resumePausedMutations():Promise.resolve()}getQueryCache(){return N(this,De)}getMutationCache(){return N(this,$r)}getDefaultOptions(){return N(this,Br)}setDefaultOptions(e){U(this,Br,e)}setQueryDefaults(e,t){N(this,bo).set(di(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...N(this,bo).values()],n={};return t.forEach(r=>{pl(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){N(this,jo).set(di(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...N(this,jo).values()],n={};return t.forEach(r=>{pl(e,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...N(this,Br).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Yg(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===Qg&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...N(this,Br).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){N(this,De).clear(),N(this,$r).clear()}},De=new WeakMap,$r=new WeakMap,Br=new WeakMap,bo=new WeakMap,jo=new WeakMap,Ur=new WeakMap,So=new WeakMap,ko=new WeakMap,Wb),St,he,Il,ft,Qs,No,Vr,zr,Ol,To,Co,Xs,Js,Hr,Eo,ye,Ta,Om,Fm,Mm,Dm,Lm,$m,Bm,Gk,qb,iM=(qb=class extends Qo{constructor(t,n){super();Y(this,ye);Y(this,St);Y(this,he);Y(this,Il);Y(this,ft);Y(this,Qs);Y(this,No);Y(this,Vr);Y(this,zr);Y(this,Ol);Y(this,To);Y(this,Co);Y(this,Xs);Y(this,Js);Y(this,Hr);Y(this,Eo,new Set);this.options=n,U(this,St,t),U(this,zr,null),U(this,Vr,Im()),this.options.experimental_prefetchInRender||N(this,Vr).reject(new Error("experimental_prefetchInRender feature flag is not enabled")),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(N(this,he).addObserver(this),t0(N(this,he),this.options)?se(this,ye,Ta).call(this):this.updateResult(),se(this,ye,Dm).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Um(N(this,he),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Um(N(this,he),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,se(this,ye,Lm).call(this),se(this,ye,$m).call(this),N(this,he).removeObserver(this)}setOptions(t){const n=this.options,r=N(this,he);if(this.options=N(this,St).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Ht(this.options.enabled,N(this,he))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");se(this,ye,Bm).call(this),N(this,he).setOptions(this.options),n._defaulted&&!Wu(this.options,n)&&N(this,St).getQueryCache().notify({type:"observerOptionsUpdated",query:N(this,he),observer:this});const s=this.hasListeners();s&&n0(N(this,he),r,this.options,n)&&se(this,ye,Ta).call(this),this.updateResult(),s&&(N(this,he)!==r||Ht(this.options.enabled,N(this,he))!==Ht(n.enabled,N(this,he))||is(this.options.staleTime,N(this,he))!==is(n.staleTime,N(this,he)))&&se(this,ye,Om).call(this);const i=se(this,ye,Fm).call(this);s&&(N(this,he)!==r||Ht(this.options.enabled,N(this,he))!==Ht(n.enabled,N(this,he))||i!==N(this,Hr))&&se(this,ye,Mm).call(this,i)}getOptimisticResult(t){const n=N(this,St).getQueryCache().build(N(this,St),t),r=this.createResult(n,t);return aM(this,r)&&(U(this,ft,r),U(this,No,this.options),U(this,Qs,N(this,he).state)),r}getCurrentResult(){return N(this,ft)}trackResult(t,n){return new Proxy(t,{get:(r,s)=>(this.trackProp(s),n==null||n(s),Reflect.get(r,s))})}trackProp(t){N(this,Eo).add(t)}getCurrentQuery(){return N(this,he)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=N(this,St).defaultQueryOptions(t),r=N(this,St).getQueryCache().build(N(this,St),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(t){return se(this,ye,Ta).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),N(this,ft)))}createResult(t,n){var P;const r=N(this,he),s=this.options,i=N(this,ft),a=N(this,Qs),l=N(this,No),u=t!==r?t.state:N(this,Il),{state:d}=t;let h={...d},f=!1,m;if(n._optimisticResults){const R=this.hasListeners(),V=!R&&t0(t,n),D=R&&n0(t,r,n,s);(V||D)&&(h={...h,...qk(d.data,t.options)}),n._optimisticResults==="isRestoring"&&(h.fetchStatus="idle")}let{error:w,errorUpdatedAt:p,status:y}=h;m=h.data;let g=!1;if(n.placeholderData!==void 0&&m===void 0&&y==="pending"){let R;i!=null&&i.isPlaceholderData&&n.placeholderData===(l==null?void 0:l.placeholderData)?(R=i.data,g=!0):R=typeof n.placeholderData=="function"?n.placeholderData((P=N(this,Co))==null?void 0:P.state.data,N(this,Co)):n.placeholderData,R!==void 0&&(y="success",m=Rm(i==null?void 0:i.data,R,n),f=!0)}if(n.select&&m!==void 0&&!g)if(i&&m===(a==null?void 0:a.data)&&n.select===N(this,Ol))m=N(this,To);else try{U(this,Ol,n.select),m=n.select(m),m=Rm(i==null?void 0:i.data,m,n),U(this,To,m),U(this,zr,null)}catch(R){U(this,zr,R)}N(this,zr)&&(w=N(this,zr),m=N(this,To),p=Date.now(),y="error");const v=h.fetchStatus==="fetching",b=y==="pending",j=y==="error",S=b&&v,k=m!==void 0,C={status:y,fetchStatus:h.fetchStatus,isPending:b,isSuccess:y==="success",isError:j,isInitialLoading:S,isLoading:S,data:m,dataUpdatedAt:h.dataUpdatedAt,error:w,errorUpdatedAt:p,failureCount:h.fetchFailureCount,failureReason:h.fetchFailureReason,errorUpdateCount:h.errorUpdateCount,isFetched:h.dataUpdateCount>0||h.errorUpdateCount>0,isFetchedAfterMount:h.dataUpdateCount>u.dataUpdateCount||h.errorUpdateCount>u.errorUpdateCount,isFetching:v,isRefetching:v&&!b,isLoadingError:j&&!k,isPaused:h.fetchStatus==="paused",isPlaceholderData:f,isRefetchError:j&&k,isStale:Jg(t,n),refetch:this.refetch,promise:N(this,Vr),isEnabled:Ht(n.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const R=G=>{C.status==="error"?G.reject(C.error):C.data!==void 0&&G.resolve(C.data)},V=()=>{const G=U(this,Vr,C.promise=Im());R(G)},D=N(this,Vr);switch(D.status){case"pending":t.queryHash===r.queryHash&&R(D);break;case"fulfilled":(C.status==="error"||C.data!==D.value)&&V();break;case"rejected":(C.status!=="error"||C.error!==D.reason)&&V();break}}return C}updateResult(){const t=N(this,ft),n=this.createResult(N(this,he),this.options);if(U(this,Qs,N(this,he).state),U(this,No,this.options),N(this,Qs).data!==void 0&&U(this,Co,N(this,he)),Wu(n,t))return;U(this,ft,n);const r=()=>{if(!t)return!0;const{notifyOnChangeProps:s}=this.options,i=typeof s=="function"?s():s;if(i==="all"||!i&&!N(this,Eo).size)return!0;const a=new Set(i??N(this,Eo));return this.options.throwOnError&&a.add("error"),Object.keys(N(this,ft)).some(l=>{const c=l;return N(this,ft)[c]!==t[c]&&a.has(c)})};se(this,ye,Gk).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&se(this,ye,Dm).call(this)}},St=new WeakMap,he=new WeakMap,Il=new WeakMap,ft=new WeakMap,Qs=new WeakMap,No=new WeakMap,Vr=new WeakMap,zr=new WeakMap,Ol=new WeakMap,To=new WeakMap,Co=new WeakMap,Xs=new WeakMap,Js=new WeakMap,Hr=new WeakMap,Eo=new WeakMap,ye=new WeakSet,Ta=function(t){se(this,ye,Bm).call(this);let n=N(this,he).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(pt)),n},Om=function(){se(this,ye,Lm).call(this);const t=is(this.options.staleTime,N(this,he));if(ui||N(this,ft).isStale||!Pm(t))return;const r=Lk(N(this,ft).dataUpdatedAt,t)+1;U(this,Xs,setTimeout(()=>{N(this,ft).isStale||this.updateResult()},r))},Fm=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(N(this,he)):this.options.refetchInterval)??!1},Mm=function(t){se(this,ye,$m).call(this),U(this,Hr,t),!(ui||Ht(this.options.enabled,N(this,he))===!1||!Pm(N(this,Hr))||N(this,Hr)===0)&&U(this,Js,setInterval(()=>{(this.options.refetchIntervalInBackground||Xg.isFocused())&&se(this,ye,Ta).call(this)},N(this,Hr)))},Dm=function(){se(this,ye,Om).call(this),se(this,ye,Mm).call(this,se(this,ye,Fm).call(this))},Lm=function(){N(this,Xs)&&(clearTimeout(N(this,Xs)),U(this,Xs,void 0))},$m=function(){N(this,Js)&&(clearInterval(N(this,Js)),U(this,Js,void 0))},Bm=function(){const t=N(this,St).getQueryCache().build(N(this,St),this.options);if(t===N(this,he))return;const n=N(this,he);U(this,he,t),U(this,Il,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},Gk=function(t){Ye.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(N(this,ft))}),N(this,St).getQueryCache().notify({query:N(this,he),type:"observerResultsUpdated"})})},qb);function oM(e,t){return Ht(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function t0(e,t){return oM(e,t)||e.state.data!==void 0&&Um(e,t,t.refetchOnMount)}function Um(e,t,n){if(Ht(t.enabled,e)!==!1&&is(t.staleTime,e)!=="static"){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&Jg(e,t)}return!1}function n0(e,t,n,r){return(e!==t||Ht(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&Jg(e,n)}function Jg(e,t){return Ht(t.enabled,e)!==!1&&e.isStaleByTime(is(t.staleTime,e))}function aM(e,t){return!Wu(e.getCurrentResult(),t)}var Wr,qr,kt,Qn,tr,su,Vm,Kb,lM=(Kb=class extends Qo{constructor(n,r){super();Y(this,tr);Y(this,Wr);Y(this,qr);Y(this,kt);Y(this,Qn);U(this,Wr,n),this.setOptions(r),this.bindMethods(),se(this,tr,su).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(n){var s;const r=this.options;this.options=N(this,Wr).defaultMutationOptions(n),Wu(this.options,r)||N(this,Wr).getMutationCache().notify({type:"observerOptionsUpdated",mutation:N(this,kt),observer:this}),r!=null&&r.mutationKey&&this.options.mutationKey&&di(r.mutationKey)!==di(this.options.mutationKey)?this.reset():((s=N(this,kt))==null?void 0:s.state.status)==="pending"&&N(this,kt).setOptions(this.options)}onUnsubscribe(){var n;this.hasListeners()||(n=N(this,kt))==null||n.removeObserver(this)}onMutationUpdate(n){se(this,tr,su).call(this),se(this,tr,Vm).call(this,n)}getCurrentResult(){return N(this,qr)}reset(){var n;(n=N(this,kt))==null||n.removeObserver(this),U(this,kt,void 0),se(this,tr,su).call(this),se(this,tr,Vm).call(this)}mutate(n,r){var s;return U(this,Qn,r),(s=N(this,kt))==null||s.removeObserver(this),U(this,kt,N(this,Wr).getMutationCache().build(N(this,Wr),this.options)),N(this,kt).addObserver(this),N(this,kt).execute(n)}},Wr=new WeakMap,qr=new WeakMap,kt=new WeakMap,Qn=new WeakMap,tr=new WeakSet,su=function(){var r;const n=((r=N(this,kt))==null?void 0:r.state)??Kk();U(this,qr,{...n,isPending:n.status==="pending",isSuccess:n.status==="success",isError:n.status==="error",isIdle:n.status==="idle",mutate:this.mutate,reset:this.reset})},Vm=function(n){Ye.batch(()=>{var r,s,i,a,l,c,u,d;if(N(this,Qn)&&this.hasListeners()){const h=N(this,qr).variables,f=N(this,qr).context;(n==null?void 0:n.type)==="success"?((s=(r=N(this,Qn)).onSuccess)==null||s.call(r,n.data,h,f),(a=(i=N(this,Qn)).onSettled)==null||a.call(i,n.data,null,h,f)):(n==null?void 0:n.type)==="error"&&((c=(l=N(this,Qn)).onError)==null||c.call(l,n.error,h,f),(d=(u=N(this,Qn)).onSettled)==null||d.call(u,void 0,n.error,h,f))}this.listeners.forEach(h=>{h(N(this,qr))})})},Kb),Yk=x.createContext(void 0),Hl=e=>{const t=x.useContext(Yk);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},cM=({client:e,children:t})=>(x.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),o.jsx(Yk.Provider,{value:e,children:t})),Qk=x.createContext(!1),uM=()=>x.useContext(Qk);Qk.Provider;function dM(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var hM=x.createContext(dM()),fM=()=>x.useContext(hM),mM=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},pM=e=>{x.useEffect(()=>{e.clearReset()},[e])},gM=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:s})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(s&&e.data===void 0||Uk(n,[e.error,r])),yM=e=>{if(e.suspense){const t=r=>r==="static"?r:Math.max(r??1e3,1e3),n=e.staleTime;e.staleTime=typeof n=="function"?(...r)=>t(n(...r)):t(n),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},vM=(e,t)=>e.isLoading&&e.isFetching&&!t,xM=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,r0=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function wM(e,t,n){var h,f,m,w,p;const r=uM(),s=fM(),i=Hl(),a=i.defaultQueryOptions(e);(f=(h=i.getDefaultOptions().queries)==null?void 0:h._experimental_beforeQuery)==null||f.call(h,a),a._optimisticResults=r?"isRestoring":"optimistic",yM(a),mM(a,s),pM(s);const l=!i.getQueryCache().get(a.queryHash),[c]=x.useState(()=>new t(i,a)),u=c.getOptimisticResult(a),d=!r&&e.subscribed!==!1;if(x.useSyncExternalStore(x.useCallback(y=>{const g=d?c.subscribe(Ye.batchCalls(y)):pt;return c.updateResult(),g},[c,d]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),x.useEffect(()=>{c.setOptions(a)},[a,c]),xM(a,u))throw r0(a,c,s);if(gM({result:u,errorResetBoundary:s,throwOnError:a.throwOnError,query:i.getQueryCache().get(a.queryHash),suspense:a.suspense}))throw u.error;if((w=(m=i.getDefaultOptions().queries)==null?void 0:m._experimental_afterQuery)==null||w.call(m,a,u),a.experimental_prefetchInRender&&!ui&&vM(u,r)){const y=l?r0(a,c,s):(p=i.getQueryCache().get(a.queryHash))==null?void 0:p.promise;y==null||y.catch(pt).finally(()=>{c.updateResult()})}return a.notifyOnChangeProps?u:c.trackResult(u)}function Wl(e,t){return wM(e,iM)}function Zg(e,t){const n=Hl(),[r]=x.useState(()=>new lM(n,e));x.useEffect(()=>{r.setOptions(e)},[r,e]);const s=x.useSyncExternalStore(x.useCallback(a=>r.subscribe(Ye.batchCalls(a)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),i=x.useCallback((a,l)=>{r.mutate(a,l).catch(pt)},[r]);if(s.error&&Uk(r.options.throwOnError,[s.error]))throw s.error;return{...s,mutate:i,mutateAsync:s.mutate}}/**
 * @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 gl(){return gl=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},gl.apply(this,arguments)}var Yr;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(Yr||(Yr={}));const s0="popstate";function bM(e){e===void 0&&(e={});function t(r,s){let{pathname:i,search:a,hash:l}=r.location;return zm("",{pathname:i,search:a,hash:l},s.state&&s.state.usr||null,s.state&&s.state.key||"default")}function n(r,s){return typeof s=="string"?s:Ku(s)}return SM(t,n,null,e)}function We(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Xk(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function jM(){return Math.random().toString(36).substr(2,8)}function i0(e,t){return{usr:e.state,key:e.key,idx:t}}function zm(e,t,n,r){return n===void 0&&(n=null),gl({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Xo(t):t,{state:n,key:t&&t.key||r||jM()})}function Ku(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 Xo(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 SM(e,t,n,r){r===void 0&&(r={});let{window:s=document.defaultView,v5Compat:i=!1}=r,a=s.history,l=Yr.Pop,c=null,u=d();u==null&&(u=0,a.replaceState(gl({},a.state,{idx:u}),""));function d(){return(a.state||{idx:null}).idx}function h(){l=Yr.Pop;let y=d(),g=y==null?null:y-u;u=y,c&&c({action:l,location:p.location,delta:g})}function f(y,g){l=Yr.Push;let v=zm(p.location,y,g);u=d()+1;let b=i0(v,u),j=p.createHref(v);try{a.pushState(b,"",j)}catch(S){if(S instanceof DOMException&&S.name==="DataCloneError")throw S;s.location.assign(j)}i&&c&&c({action:l,location:p.location,delta:1})}function m(y,g){l=Yr.Replace;let v=zm(p.location,y,g);u=d();let b=i0(v,u),j=p.createHref(v);a.replaceState(b,"",j),i&&c&&c({action:l,location:p.location,delta:0})}function w(y){let g=s.location.origin!=="null"?s.location.origin:s.location.href,v=typeof y=="string"?y:Ku(y);return v=v.replace(/ $/,"%20"),We(g,"No window.location.(origin|href) available to create URL for href: "+v),new URL(v,g)}let p={get action(){return l},get location(){return e(s,a)},listen(y){if(c)throw new Error("A history only accepts one active listener");return s.addEventListener(s0,h),c=y,()=>{s.removeEventListener(s0,h),c=null}},createHref(y){return t(s,y)},createURL:w,encodeLocation(y){let g=w(y);return{pathname:g.pathname,search:g.search,hash:g.hash}},push:f,replace:m,go(y){return a.go(y)}};return p}var o0;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(o0||(o0={}));function kM(e,t,n){return n===void 0&&(n="/"),NM(e,t,n,!1)}function NM(e,t,n,r){let s=typeof t=="string"?Xo(t):t,i=ey(s.pathname||"/",n);if(i==null)return null;let a=Jk(e);TM(a);let l=null;for(let c=0;l==null&&c<a.length;++c){let u=DM(i);l=FM(a[c],u,r)}return l}function Jk(e,t,n,r){t===void 0&&(t=[]),n===void 0&&(n=[]),r===void 0&&(r="");let s=(i,a,l)=>{let c={relativePath:l===void 0?i.path||"":l,caseSensitive:i.caseSensitive===!0,childrenIndex:a,route:i};c.relativePath.startsWith("/")&&(We(c.relativePath.startsWith(r),'Absolute route path "'+c.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),c.relativePath=c.relativePath.slice(r.length));let u=os([r,c.relativePath]),d=n.concat(c);i.children&&i.children.length>0&&(We(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),Jk(i.children,t,d,u)),!(i.path==null&&!i.index)&&t.push({path:u,score:IM(u,i.index),routesMeta:d})};return e.forEach((i,a)=>{var l;if(i.path===""||!((l=i.path)!=null&&l.includes("?")))s(i,a);else for(let c of Zk(i.path))s(i,a,c)}),t}function Zk(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,s=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return s?[i,""]:[i];let a=Zk(r.join("/")),l=[];return l.push(...a.map(c=>c===""?i:[i,c].join("/"))),s&&l.push(...a),l.map(c=>e.startsWith("/")&&c===""?"/":c)}function TM(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:OM(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const CM=/^:[\w-]+$/,EM=3,_M=2,PM=1,AM=10,RM=-2,a0=e=>e==="*";function IM(e,t){let n=e.split("/"),r=n.length;return n.some(a0)&&(r+=RM),t&&(r+=_M),n.filter(s=>!a0(s)).reduce((s,i)=>s+(CM.test(i)?EM:i===""?PM:AM),r)}function OM(e,t){return e.length===t.length&&e.slice(0,-1).every((r,s)=>r===t[s])?e[e.length-1]-t[t.length-1]:0}function FM(e,t,n){let{routesMeta:r}=e,s={},i="/",a=[];for(let l=0;l<r.length;++l){let c=r[l],u=l===r.length-1,d=i==="/"?t:t.slice(i.length)||"/",h=l0({path:c.relativePath,caseSensitive:c.caseSensitive,end:u},d),f=c.route;if(!h&&u&&n&&!r[r.length-1].route.index&&(h=l0({path:c.relativePath,caseSensitive:c.caseSensitive,end:!1},d)),!h)return null;Object.assign(s,h.params),a.push({params:s,pathname:os([i,h.pathname]),pathnameBase:UM(os([i,h.pathnameBase])),route:f}),h.pathnameBase!=="/"&&(i=os([i,h.pathnameBase]))}return a}function l0(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=MM(e.path,e.caseSensitive,e.end),s=t.match(n);if(!s)return null;let i=s[0],a=i.replace(/(.)\/+$/,"$1"),l=s.slice(1);return{params:r.reduce((u,d,h)=>{let{paramName:f,isOptional:m}=d;if(f==="*"){let p=l[h]||"";a=i.slice(0,i.length-p.length).replace(/(.)\/+$/,"$1")}const w=l[h];return m&&!w?u[f]=void 0:u[f]=(w||"").replace(/%2F/g,"/"),u},{}),pathname:i,pathnameBase:a,pattern:e}}function MM(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Xk(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=[],s="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,l,c)=>(r.push({paramName:l,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),s+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?s+="\\/*$":e!==""&&e!=="/"&&(s+="(?:(?=\\/|$))"),[new RegExp(s,t?void 0:"i"),r]}function DM(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Xk(!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 ey(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 LM(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:s=""}=typeof e=="string"?Xo(e):e;return{pathname:n?n.startsWith("/")?n:$M(n,t):t,search:VM(r),hash:zM(s)}}function $M(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(s=>{s===".."?n.length>1&&n.pop():s!=="."&&n.push(s)}),n.length>1?n.join("/"):"/"}function Lh(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 <Link to="..."> and the router will parse it for you.'}function BM(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function eN(e,t){let n=BM(e);return t?n.map((r,s)=>s===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function tN(e,t,n,r){r===void 0&&(r=!1);let s;typeof e=="string"?s=Xo(e):(s=gl({},e),We(!s.pathname||!s.pathname.includes("?"),Lh("?","pathname","search",s)),We(!s.pathname||!s.pathname.includes("#"),Lh("#","pathname","hash",s)),We(!s.search||!s.search.includes("#"),Lh("#","search","hash",s)));let i=e===""||s.pathname==="",a=i?"/":s.pathname,l;if(a==null)l=n;else{let h=t.length-1;if(!r&&a.startsWith("..")){let f=a.split("/");for(;f[0]==="..";)f.shift(),h-=1;s.pathname=f.join("/")}l=h>=0?t[h]:"/"}let c=LM(s,l),u=a&&a!=="/"&&a.endsWith("/"),d=(i||a===".")&&n.endsWith("/");return!c.pathname.endsWith("/")&&(u||d)&&(c.pathname+="/"),c}const os=e=>e.join("/").replace(/\/\/+/g,"/"),UM=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),VM=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,zM=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function HM(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const nN=["post","put","patch","delete"];new Set(nN);const WM=["get",...nN];new Set(WM);/**
 * 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 yl(){return yl=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},yl.apply(this,arguments)}const ty=x.createContext(null),qM=x.createContext(null),gi=x.createContext(null),Id=x.createContext(null),ws=x.createContext({outlet:null,matches:[],isDataRoute:!1}),rN=x.createContext(null);function KM(e,t){let{relative:n}=t===void 0?{}:t;ql()||We(!1);let{basename:r,navigator:s}=x.useContext(gi),{hash:i,pathname:a,search:l}=oN(e,{relative:n}),c=a;return r!=="/"&&(c=a==="/"?r:os([r,a])),s.createHref({pathname:c,search:l,hash:i})}function ql(){return x.useContext(Id)!=null}function bs(){return ql()||We(!1),x.useContext(Id).location}function sN(e){x.useContext(gi).static||x.useLayoutEffect(e)}function Kl(){let{isDataRoute:e}=x.useContext(ws);return e?oD():GM()}function GM(){ql()||We(!1);let e=x.useContext(ty),{basename:t,future:n,navigator:r}=x.useContext(gi),{matches:s}=x.useContext(ws),{pathname:i}=bs(),a=JSON.stringify(eN(s,n.v7_relativeSplatPath)),l=x.useRef(!1);return sN(()=>{l.current=!0}),x.useCallback(function(u,d){if(d===void 0&&(d={}),!l.current)return;if(typeof u=="number"){r.go(u);return}let h=tN(u,JSON.parse(a),i,d.relative==="path");e==null&&t!=="/"&&(h.pathname=h.pathname==="/"?t:os([t,h.pathname])),(d.replace?r.replace:r.push)(h,d.state,d)},[t,r,a,i,e])}function iN(){let{matches:e}=x.useContext(ws),t=e[e.length-1];return t?t.params:{}}function oN(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=x.useContext(gi),{matches:s}=x.useContext(ws),{pathname:i}=bs(),a=JSON.stringify(eN(s,r.v7_relativeSplatPath));return x.useMemo(()=>tN(e,JSON.parse(a),i,n==="path"),[e,a,i,n])}function YM(e,t){return QM(e,t)}function QM(e,t,n,r){ql()||We(!1);let{navigator:s}=x.useContext(gi),{matches:i}=x.useContext(ws),a=i[i.length-1],l=a?a.params:{};a&&a.pathname;let c=a?a.pathnameBase:"/";a&&a.route;let u=bs(),d;if(t){var h;let y=typeof t=="string"?Xo(t):t;c==="/"||(h=y.pathname)!=null&&h.startsWith(c)||We(!1),d=y}else d=u;let f=d.pathname||"/",m=f;if(c!=="/"){let y=c.replace(/^\//,"").split("/");m="/"+f.replace(/^\//,"").split("/").slice(y.length).join("/")}let w=kM(e,{pathname:m}),p=tD(w&&w.map(y=>Object.assign({},y,{params:Object.assign({},l,y.params),pathname:os([c,s.encodeLocation?s.encodeLocation(y.pathname).pathname:y.pathname]),pathnameBase:y.pathnameBase==="/"?c:os([c,s.encodeLocation?s.encodeLocation(y.pathnameBase).pathname:y.pathnameBase])})),i,n,r);return t&&p?x.createElement(Id.Provider,{value:{location:yl({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:Yr.Pop}},p):p}function XM(){let e=iD(),t=HM(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,s={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return x.createElement(x.Fragment,null,x.createElement("h2",null,"Unexpected Application Error!"),x.createElement("h3",{style:{fontStyle:"italic"}},t),n?x.createElement("pre",{style:s},n):null,null)}const JM=x.createElement(XM,null);class ZM extends x.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?x.createElement(ws.Provider,{value:this.props.routeContext},x.createElement(rN.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function eD(e){let{routeContext:t,match:n,children:r}=e,s=x.useContext(ty);return s&&s.static&&s.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=n.route.id),x.createElement(ws.Provider,{value:t},r)}function tD(e,t,n,r){var s;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if(!n)return null;if(n.errors)e=n.matches;else if((i=r)!=null&&i.v7_partialHydration&&t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let a=e,l=(s=n)==null?void 0:s.errors;if(l!=null){let d=a.findIndex(h=>h.route.id&&(l==null?void 0:l[h.route.id])!==void 0);d>=0||We(!1),a=a.slice(0,Math.min(a.length,d+1))}let c=!1,u=-1;if(n&&r&&r.v7_partialHydration)for(let d=0;d<a.length;d++){let h=a[d];if((h.route.HydrateFallback||h.route.hydrateFallbackElement)&&(u=d),h.route.id){let{loaderData:f,errors:m}=n,w=h.route.loader&&f[h.route.id]===void 0&&(!m||m[h.route.id]===void 0);if(h.route.lazy||w){c=!0,u>=0?a=a.slice(0,u+1):a=[a[0]];break}}}return a.reduceRight((d,h,f)=>{let m,w=!1,p=null,y=null;n&&(m=l&&h.route.id?l[h.route.id]:void 0,p=h.route.errorElement||JM,c&&(u<0&&f===0?(w=!0,y=null):u===f&&(w=!0,y=h.route.hydrateFallbackElement||null)));let g=t.concat(a.slice(0,f+1)),v=()=>{let b;return m?b=p:w?b=y:h.route.Component?b=x.createElement(h.route.Component,null):h.route.element?b=h.route.element:b=d,x.createElement(eD,{match:h,routeContext:{outlet:d,matches:g,isDataRoute:n!=null},children:b})};return n&&(h.route.ErrorBoundary||h.route.errorElement||f===0)?x.createElement(ZM,{location:n.location,revalidation:n.revalidation,component:p,error:m,children:v(),routeContext:{outlet:null,matches:g,isDataRoute:!0}}):v()},null)}var aN=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(aN||{}),Gu=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}(Gu||{});function nD(e){let t=x.useContext(ty);return t||We(!1),t}function rD(e){let t=x.useContext(qM);return t||We(!1),t}function sD(e){let t=x.useContext(ws);return t||We(!1),t}function lN(e){let t=sD(),n=t.matches[t.matches.length-1];return n.route.id||We(!1),n.route.id}function iD(){var e;let t=x.useContext(rN),n=rD(Gu.UseRouteError),r=lN(Gu.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function oD(){let{router:e}=nD(aN.UseNavigateStable),t=lN(Gu.UseNavigateStable),n=x.useRef(!1);return sN(()=>{n.current=!0}),x.useCallback(function(s,i){i===void 0&&(i={}),n.current&&(typeof s=="number"?e.navigate(s):e.navigate(s,yl({fromRouteId:t},i)))},[e,t])}function aD(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function ie(e){We(!1)}function lD(e){let{basename:t="/",children:n=null,location:r,navigationType:s=Yr.Pop,navigator:i,static:a=!1,future:l}=e;ql()&&We(!1);let c=t.replace(/^\/*/,"/"),u=x.useMemo(()=>({basename:c,navigator:i,static:a,future:yl({v7_relativeSplatPath:!1},l)}),[c,l,i,a]);typeof r=="string"&&(r=Xo(r));let{pathname:d="/",search:h="",hash:f="",state:m=null,key:w="default"}=r,p=x.useMemo(()=>{let y=ey(d,c);return y==null?null:{location:{pathname:y,search:h,hash:f,state:m,key:w},navigationType:s}},[c,d,h,f,m,w,s]);return p==null?null:x.createElement(gi.Provider,{value:u},x.createElement(Id.Provider,{children:n,value:p}))}function cD(e){let{children:t,location:n}=e;return YM(Hm(t),n)}new Promise(()=>{});function Hm(e,t){t===void 0&&(t=[]);let n=[];return x.Children.forEach(e,(r,s)=>{if(!x.isValidElement(r))return;let i=[...t,s];if(r.type===x.Fragment){n.push.apply(n,Hm(r.props.children,i));return}r.type!==ie&&We(!1),!r.props.index||!r.props.children||We(!1);let a={id:r.props.id||i.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&&(a.children=Hm(r.props.children,i)),n.push(a)}),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 Wm(){return Wm=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},Wm.apply(this,arguments)}function uD(e,t){if(e==null)return{};var n={},r=Object.keys(e),s,i;for(i=0;i<r.length;i++)s=r[i],!(t.indexOf(s)>=0)&&(n[s]=e[s]);return n}function dD(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function hD(e,t){return e.button===0&&(!t||t==="_self")&&!dD(e)}const fD=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],mD="6";try{window.__reactRouterVersion=mD}catch{}const pD="startTransition",c0=Mp[pD];function gD(e){let{basename:t,children:n,future:r,window:s}=e,i=x.useRef();i.current==null&&(i.current=bM({window:s,v5Compat:!0}));let a=i.current,[l,c]=x.useState({action:a.action,location:a.location}),{v7_startTransition:u}=r||{},d=x.useCallback(h=>{u&&c0?c0(()=>c(h)):c(h)},[c,u]);return x.useLayoutEffect(()=>a.listen(d),[a,d]),x.useEffect(()=>aD(r),[r]),x.createElement(lD,{basename:t,children:n,location:l.location,navigationType:l.action,navigator:a,future:r})}const yD=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",vD=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,H=x.forwardRef(function(t,n){let{onClick:r,relative:s,reloadDocument:i,replace:a,state:l,target:c,to:u,preventScrollReset:d,viewTransition:h}=t,f=uD(t,fD),{basename:m}=x.useContext(gi),w,p=!1;if(typeof u=="string"&&vD.test(u)&&(w=u,yD))try{let b=new URL(window.location.href),j=u.startsWith("//")?new URL(b.protocol+u):new URL(u),S=ey(j.pathname,m);j.origin===b.origin&&S!=null?u=S+j.search+j.hash:p=!0}catch{}let y=KM(u,{relative:s}),g=xD(u,{replace:a,state:l,target:c,preventScrollReset:d,relative:s,viewTransition:h});function v(b){r&&r(b),b.defaultPrevented||g(b)}return x.createElement("a",Wm({},f,{href:w||y,onClick:p||i?r:v,ref:n,target:c}))});var u0;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(u0||(u0={}));var d0;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(d0||(d0={}));function xD(e,t){let{target:n,replace:r,state:s,preventScrollReset:i,relative:a,viewTransition:l}=t===void 0?{}:t,c=Kl(),u=bs(),d=oN(e,{relative:a});return x.useCallback(h=>{if(hD(h,n)){h.preventDefault();let f=r!==void 0?r:Ku(u)===Ku(d);c(e,{replace:f,state:s,preventScrollReset:i,relative:a,viewTransition:l})}},[u,c,d,r,s,n,e,i,a,l])}var wD=typeof Element<"u",bD=typeof Map=="function",jD=typeof Set=="function",SD=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function iu(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var n,r,s;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!iu(e[r],t[r]))return!1;return!0}var i;if(bD&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(i=e.entries();!(r=i.next()).done;)if(!t.has(r.value[0]))return!1;for(i=e.entries();!(r=i.next()).done;)if(!iu(r.value[1],t.get(r.value[0])))return!1;return!0}if(jD&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(i=e.entries();!(r=i.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(SD&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(s=Object.keys(e),n=s.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,s[r]))return!1;if(wD&&e instanceof Element)return!1;for(r=n;r--!==0;)if(!((s[r]==="_owner"||s[r]==="__v"||s[r]==="__o")&&e.$$typeof)&&!iu(e[s[r]],t[s[r]]))return!1;return!0}return e!==e&&t!==t}var kD=function(t,n){try{return iu(t,n)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const ND=Uo(kD);var TD=function(e,t,n,r,s,i,a,l){if(!e){var c;if(t===void 0)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,s,i,a,l],d=0;c=new Error(t.replace(/%s/g,function(){return u[d++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}},CD=TD;const h0=Uo(CD);var ED=function(t,n,r,s){var i=r?r.call(s,t,n):void 0;if(i!==void 0)return!!i;if(t===n)return!0;if(typeof t!="object"||!t||typeof n!="object"||!n)return!1;var a=Object.keys(t),l=Object.keys(n);if(a.length!==l.length)return!1;for(var c=Object.prototype.hasOwnProperty.bind(n),u=0;u<a.length;u++){var d=a[u];if(!c(d))return!1;var h=t[d],f=n[d];if(i=r?r.call(s,h,f,d):void 0,i===!1||i===void 0&&h!==f)return!1}return!0};const _D=Uo(ED);var cN=(e=>(e.BASE="base",e.BODY="body",e.HEAD="head",e.HTML="html",e.LINK="link",e.META="meta",e.NOSCRIPT="noscript",e.SCRIPT="script",e.STYLE="style",e.TITLE="title",e.FRAGMENT="Symbol(react.fragment)",e))(cN||{}),$h={link:{rel:["amphtml","canonical","alternate"]},script:{type:["application/ld+json"]},meta:{charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]}},f0=Object.values(cN),ny={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},PD=Object.entries(ny).reduce((e,[t,n])=>(e[n]=t,e),{}),pn="data-rh",co={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate",PRIORITIZE_SEO_TAGS:"prioritizeSeoTags"},uo=(e,t)=>{for(let n=e.length-1;n>=0;n-=1){const r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},AD=e=>{let t=uo(e,"title");const n=uo(e,co.TITLE_TEMPLATE);if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,()=>t);const r=uo(e,co.DEFAULT_TITLE);return t||r||void 0},RD=e=>uo(e,co.ON_CHANGE_CLIENT_STATE)||(()=>{}),Bh=(e,t)=>t.filter(n=>typeof n[e]<"u").map(n=>n[e]).reduce((n,r)=>({...n,...r}),{}),ID=(e,t)=>t.filter(n=>typeof n.base<"u").map(n=>n.base).reverse().reduce((n,r)=>{if(!n.length){const s=Object.keys(r);for(let i=0;i<s.length;i+=1){const l=s[i].toLowerCase();if(e.indexOf(l)!==-1&&r[l])return n.concat(r)}}return n},[]),OD=e=>console&&typeof console.warn=="function"&&console.warn(e),pa=(e,t,n)=>{const r={};return n.filter(s=>Array.isArray(s[e])?!0:(typeof s[e]<"u"&&OD(`Helmet: ${e} should be of type "Array". Instead found type "${typeof s[e]}"`),!1)).map(s=>s[e]).reverse().reduce((s,i)=>{const a={};i.filter(c=>{let u;const d=Object.keys(c);for(let f=0;f<d.length;f+=1){const m=d[f],w=m.toLowerCase();t.indexOf(w)!==-1&&!(u==="rel"&&c[u].toLowerCase()==="canonical")&&!(w==="rel"&&c[w].toLowerCase()==="stylesheet")&&(u=w),t.indexOf(m)!==-1&&(m==="innerHTML"||m==="cssText"||m==="itemprop")&&(u=m)}if(!u||!c[u])return!1;const h=c[u].toLowerCase();return r[u]||(r[u]={}),a[u]||(a[u]={}),r[u][h]?!1:(a[u][h]=!0,!0)}).reverse().forEach(c=>s.push(c));const l=Object.keys(a);for(let c=0;c<l.length;c+=1){const u=l[c],d={...r[u],...a[u]};r[u]=d}return s},[]).reverse()},FD=(e,t)=>{if(Array.isArray(e)&&e.length){for(let n=0;n<e.length;n+=1)if(e[n][t])return!0}return!1},MD=e=>({baseTag:ID(["href"],e),bodyAttributes:Bh("bodyAttributes",e),defer:uo(e,co.DEFER),encode:uo(e,co.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:Bh("htmlAttributes",e),linkTags:pa("link",["rel","href"],e),metaTags:pa("meta",["name","charset","http-equiv","property","itemprop"],e),noscriptTags:pa("noscript",["innerHTML"],e),onChangeClientState:RD(e),scriptTags:pa("script",["src","innerHTML"],e),styleTags:pa("style",["cssText"],e),title:AD(e),titleAttributes:Bh("titleAttributes",e),prioritizeSeoTags:FD(e,co.PRIORITIZE_SEO_TAGS)}),uN=e=>Array.isArray(e)?e.join(""):e,DD=(e,t)=>{const n=Object.keys(e);for(let r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1},Uh=(e,t)=>Array.isArray(e)?e.reduce((n,r)=>(DD(r,t)?n.priority.push(r):n.default.push(r),n),{priority:[],default:[]}):{default:e,priority:[]},m0=(e,t)=>({...e,[t]:void 0}),LD=["noscript","script","style"],qm=(e,t=!0)=>t===!1?String(e):String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),dN=e=>Object.keys(e).reduce((t,n)=>{const r=typeof e[n]<"u"?`${n}="${e[n]}"`:`${n}`;return t?`${t} ${r}`:r},""),$D=(e,t,n,r)=>{const s=dN(n),i=uN(t);return s?`<${e} ${pn}="true" ${s}>${qm(i,r)}</${e}>`:`<${e} ${pn}="true">${qm(i,r)}</${e}>`},BD=(e,t,n=!0)=>t.reduce((r,s)=>{const i=s,a=Object.keys(i).filter(u=>!(u==="innerHTML"||u==="cssText")).reduce((u,d)=>{const h=typeof i[d]>"u"?d:`${d}="${qm(i[d],n)}"`;return u?`${u} ${h}`:h},""),l=i.innerHTML||i.cssText||"",c=LD.indexOf(e)===-1;return`${r}<${e} ${pn}="true" ${a}${c?"/>":`>${l}</${e}>`}`},""),hN=(e,t={})=>Object.keys(e).reduce((n,r)=>{const s=ny[r];return n[s||r]=e[r],n},t),UD=(e,t,n)=>{const r={key:t,[pn]:!0},s=hN(n,r);return[O.createElement("title",s,t)]},ou=(e,t)=>t.map((n,r)=>{const s={key:r,[pn]:!0};return Object.keys(n).forEach(i=>{const l=ny[i]||i;if(l==="innerHTML"||l==="cssText"){const c=n.innerHTML||n.cssText;s.dangerouslySetInnerHTML={__html:c}}else s[l]=n[i]}),O.createElement(e,s)}),Vt=(e,t,n=!0)=>{switch(e){case"title":return{toComponent:()=>UD(e,t.title,t.titleAttributes),toString:()=>$D(e,t.title,t.titleAttributes,n)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>hN(t),toString:()=>dN(t)};default:return{toComponent:()=>ou(e,t),toString:()=>BD(e,t,n)}}},VD=({metaTags:e,linkTags:t,scriptTags:n,encode:r})=>{const s=Uh(e,$h.meta),i=Uh(t,$h.link),a=Uh(n,$h.script);return{priorityMethods:{toComponent:()=>[...ou("meta",s.priority),...ou("link",i.priority),...ou("script",a.priority)],toString:()=>`${Vt("meta",s.priority,r)} ${Vt("link",i.priority,r)} ${Vt("script",a.priority,r)}`},metaTags:s.default,linkTags:i.default,scriptTags:a.default}},zD=e=>{const{baseTag:t,bodyAttributes:n,encode:r=!0,htmlAttributes:s,noscriptTags:i,styleTags:a,title:l="",titleAttributes:c,prioritizeSeoTags:u}=e;let{linkTags:d,metaTags:h,scriptTags:f}=e,m={toComponent:()=>{},toString:()=>""};return u&&({priorityMethods:m,linkTags:d,metaTags:h,scriptTags:f}=VD(e)),{priority:m,base:Vt("base",t,r),bodyAttributes:Vt("bodyAttributes",n,r),htmlAttributes:Vt("htmlAttributes",s,r),link:Vt("link",d,r),meta:Vt("meta",h,r),noscript:Vt("noscript",i,r),script:Vt("script",f,r),style:Vt("style",a,r),title:Vt("title",{title:l,titleAttributes:c},r)}},Km=zD,Tc=[],fN=!!(typeof window<"u"&&window.document&&window.document.createElement),Gm=class{constructor(e,t){zn(this,"instances",[]);zn(this,"canUseDOM",fN);zn(this,"context");zn(this,"value",{setHelmet:e=>{this.context.helmet=e},helmetInstances:{get:()=>this.canUseDOM?Tc:this.instances,add:e=>{(this.canUseDOM?Tc:this.instances).push(e)},remove:e=>{const t=(this.canUseDOM?Tc:this.instances).indexOf(e);(this.canUseDOM?Tc:this.instances).splice(t,1)}}});this.context=e,this.canUseDOM=t||!1,t||(e.helmet=Km({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},HD={},mN=O.createContext(HD),Zs,pN=(Zs=class extends x.Component{constructor(n){super(n);zn(this,"helmetData");this.helmetData=new Gm(this.props.context||{},Zs.canUseDOM)}render(){return O.createElement(mN.Provider,{value:this.helmetData.value},this.props.children)}},zn(Zs,"canUseDOM",fN),Zs),ki=(e,t)=>{const n=document.head||document.querySelector("head"),r=n.querySelectorAll(`${e}[${pn}]`),s=[].slice.call(r),i=[];let a;return t&&t.length&&t.forEach(l=>{const c=document.createElement(e);for(const u in l)if(Object.prototype.hasOwnProperty.call(l,u))if(u==="innerHTML")c.innerHTML=l.innerHTML;else if(u==="cssText")c.styleSheet?c.styleSheet.cssText=l.cssText:c.appendChild(document.createTextNode(l.cssText));else{const d=u,h=typeof l[d]>"u"?"":l[d];c.setAttribute(u,h)}c.setAttribute(pn,"true"),s.some((u,d)=>(a=d,c.isEqualNode(u)))?s.splice(a,1):i.push(c)}),s.forEach(l=>{var c;return(c=l.parentNode)==null?void 0:c.removeChild(l)}),i.forEach(l=>n.appendChild(l)),{oldTags:s,newTags:i}},Ym=(e,t)=>{const n=document.getElementsByTagName(e)[0];if(!n)return;const r=n.getAttribute(pn),s=r?r.split(","):[],i=[...s],a=Object.keys(t);for(const l of a){const c=t[l]||"";n.getAttribute(l)!==c&&n.setAttribute(l,c),s.indexOf(l)===-1&&s.push(l);const u=i.indexOf(l);u!==-1&&i.splice(u,1)}for(let l=i.length-1;l>=0;l-=1)n.removeAttribute(i[l]);s.length===i.length?n.removeAttribute(pn):n.getAttribute(pn)!==a.join(",")&&n.setAttribute(pn,a.join(","))},WD=(e,t)=>{typeof e<"u"&&document.title!==e&&(document.title=uN(e)),Ym("title",t)},p0=(e,t)=>{const{baseTag:n,bodyAttributes:r,htmlAttributes:s,linkTags:i,metaTags:a,noscriptTags:l,onChangeClientState:c,scriptTags:u,styleTags:d,title:h,titleAttributes:f}=e;Ym("body",r),Ym("html",s),WD(h,f);const m={baseTag:ki("base",n),linkTags:ki("link",i),metaTags:ki("meta",a),noscriptTags:ki("noscript",l),scriptTags:ki("script",u),styleTags:ki("style",d)},w={},p={};Object.keys(m).forEach(y=>{const{newTags:g,oldTags:v}=m[y];g.length&&(w[y]=g),v.length&&(p[y]=m[y].oldTags)}),t&&t(),c(e,w,p)},ga=null,qD=e=>{ga&&cancelAnimationFrame(ga),e.defer?ga=requestAnimationFrame(()=>{p0(e,()=>{ga=null})}):(p0(e),ga=null)},KD=qD,g0=class extends x.Component{constructor(){super(...arguments);zn(this,"rendered",!1)}shouldComponentUpdate(t){return!_D(t,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:t}=this.props.context;t.remove(this),this.emitChange()}emitChange(){const{helmetInstances:t,setHelmet:n}=this.props.context;let r=null;const s=MD(t.get().map(i=>{const a={...i.props};return delete a.context,a}));pN.canUseDOM?KD(s):Km&&(r=Km(s)),n(r)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:t}=this.props.context;t.add(this),this.emitChange()}render(){return this.init(),null}},kf,me=(kf=class extends x.Component{shouldComponentUpdate(e){return!ND(m0(this.props,"helmetData"),m0(e,"helmetData"))}mapNestedChildrenToProps(e,t){if(!t)return null;switch(e.type){case"script":case"noscript":return{innerHTML:t};case"style":return{cssText:t};default:throw new Error(`<${e.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(e,t,n,r){return{...t,[e.type]:[...t[e.type]||[],{...n,...this.mapNestedChildrenToProps(e,r)}]}}mapObjectTypeChildren(e,t,n,r){switch(e.type){case"title":return{...t,[e.type]:r,titleAttributes:{...n}};case"body":return{...t,bodyAttributes:{...n}};case"html":return{...t,htmlAttributes:{...n}};default:return{...t,[e.type]:{...n}}}}mapArrayTypeChildrenToProps(e,t){let n={...t};return Object.keys(e).forEach(r=>{n={...n,[r]:e[r]}}),n}warnOnInvalidChildren(e,t){return h0(f0.some(n=>e.type===n),typeof e.type=="function"?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${f0.join(", ")} are allowed. Helmet does not support rendering <${e.type}> elements. Refer to our API for more information.`),h0(!t||typeof t=="string"||Array.isArray(t)&&!t.some(n=>typeof n!="string"),`Helmet expects a string as a child of <${e.type}>. Did you forget to wrap your children in braces? ( <${e.type}>{\`\`}</${e.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(e,t){let n={};return O.Children.forEach(e,r=>{if(!r||!r.props)return;const{children:s,...i}=r.props,a=Object.keys(i).reduce((c,u)=>(c[PD[u]||u]=i[u],c),{});let{type:l}=r;switch(typeof l=="symbol"?l=l.toString():this.warnOnInvalidChildren(r,s),l){case"Symbol(react.fragment)":t=this.mapChildrenToProps(s,t);break;case"link":case"meta":case"noscript":case"script":case"style":n=this.flattenArrayTypeChildren(r,n,a,s);break;default:t=this.mapObjectTypeChildren(r,t,a,s);break}}),this.mapArrayTypeChildrenToProps(n,t)}render(){const{children:e,...t}=this.props;let n={...t},{helmetData:r}=t;if(e&&(n=this.mapChildrenToProps(e,n)),r&&!(r instanceof Gm)){const s=r;r=new Gm(s.context,!0),delete n.helmetData}return r?O.createElement(g0,{...n,context:r.value}):O.createElement(mN.Consumer,null,s=>O.createElement(g0,{...n,context:s}))}},zn(kf,"defaultProps",{defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1}),kf);const GD=()=>{const{pathname:e,hash:t}=bs();return x.useEffect(()=>{if(t){const n=document.querySelector(t);n&&n.scrollIntoView({behavior:"smooth"})}else window.scrollTo(0,0)},[e,t]),null},ry=x.createContext({});function sy(e){const t=x.useRef(null);return t.current===null&&(t.current=e()),t.current}const gN=typeof window<"u",yN=gN?x.useLayoutEffect:x.useEffect,Od=x.createContext(null);function iy(e,t){e.indexOf(t)===-1&&e.push(t)}function oy(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const Un=(e,t,n)=>n>t?t:n<e?e:n;let Fd=()=>{},Lo=()=>{};const lr={},vN=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function xN(e){return typeof e=="object"&&e!==null}const wN=e=>/^0[^.\s]+$/u.test(e);function ay(e){let t;return()=>(t===void 0&&(t=e()),t)}const Qt=e=>e,YD=(e,t)=>n=>t(e(n)),Gl=(...e)=>e.reduce(YD),vl=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r};class ly{constructor(){this.subscriptions=[]}add(t){return iy(this.subscriptions,t),()=>oy(this.subscriptions,t)}notify(t,n,r){const s=this.subscriptions.length;if(s)if(s===1)this.subscriptions[0](t,n,r);else for(let i=0;i<s;i++){const a=this.subscriptions[i];a&&a(t,n,r)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const Fn=e=>e*1e3,Gt=e=>e/1e3;function bN(e,t){return t?e*(1e3/t):0}const jN=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,QD=1e-7,XD=12;function JD(e,t,n,r,s){let i,a,l=0;do a=t+(n-t)/2,i=jN(a,r,s)-e,i>0?n=a:t=a;while(Math.abs(i)>QD&&++l<XD);return a}function Yl(e,t,n,r){if(e===t&&n===r)return Qt;const s=i=>JD(i,0,1,e,n);return i=>i===0||i===1?i:jN(s(i),t,r)}const SN=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,kN=e=>t=>1-e(1-t),NN=Yl(.33,1.53,.69,.99),cy=kN(NN),TN=SN(cy),CN=e=>(e*=2)<1?.5*cy(e):.5*(2-Math.pow(2,-10*(e-1))),uy=e=>1-Math.sin(Math.acos(e)),EN=kN(uy),_N=SN(uy),ZD=Yl(.42,0,1,1),eL=Yl(0,0,.58,1),PN=Yl(.42,0,.58,1),tL=e=>Array.isArray(e)&&typeof e[0]!="number",AN=e=>Array.isArray(e)&&typeof e[0]=="number",y0={linear:Qt,easeIn:ZD,easeInOut:PN,easeOut:eL,circIn:uy,circInOut:_N,circOut:EN,backIn:cy,backInOut:TN,backOut:NN,anticipate:CN},nL=e=>typeof e=="string",v0=e=>{if(AN(e)){Lo(e.length===4,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");const[t,n,r,s]=e;return Yl(t,n,r,s)}else if(nL(e))return Lo(y0[e]!==void 0,`Invalid easing type '${e}'`,"invalid-easing-type"),y0[e];return e},Cc=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"],x0={value:null,addProjectionMetrics:null};function rL(e,t){let n=new Set,r=new Set,s=!1,i=!1;const a=new WeakSet;let l={delta:0,timestamp:0,isProcessing:!1},c=0;function u(h){a.has(h)&&(d.schedule(h),e()),c++,h(l)}const d={schedule:(h,f=!1,m=!1)=>{const p=m&&s?n:r;return f&&a.add(h),p.has(h)||p.add(h),h},cancel:h=>{r.delete(h),a.delete(h)},process:h=>{if(l=h,s){i=!0;return}s=!0,[n,r]=[r,n],n.forEach(u),t&&x0.value&&x0.value.frameloop[t].push(c),c=0,n.clear(),s=!1,i&&(i=!1,d.process(h))}};return d}const sL=40;function RN(e,t){let n=!1,r=!0;const s={delta:0,timestamp:0,isProcessing:!1},i=()=>n=!0,a=Cc.reduce((b,j)=>(b[j]=rL(i,t?j:void 0),b),{}),{setup:l,read:c,resolveKeyframes:u,preUpdate:d,update:h,preRender:f,render:m,postRender:w}=a,p=()=>{const b=lr.useManualTiming?s.timestamp:performance.now();n=!1,lr.useManualTiming||(s.delta=r?1e3/60:Math.max(Math.min(b-s.timestamp,sL),1)),s.timestamp=b,s.isProcessing=!0,l.process(s),c.process(s),u.process(s),d.process(s),h.process(s),f.process(s),m.process(s),w.process(s),s.isProcessing=!1,n&&t&&(r=!1,e(p))},y=()=>{n=!0,r=!0,s.isProcessing||e(p)};return{schedule:Cc.reduce((b,j)=>{const S=a[j];return b[j]=(k,T=!1,C=!1)=>(n||y(),S.schedule(k,T,C)),b},{}),cancel:b=>{for(let j=0;j<Cc.length;j++)a[Cc[j]].cancel(b)},state:s,steps:a}}const{schedule:Te,cancel:ms,state:nt,steps:Vh}=RN(typeof requestAnimationFrame<"u"?requestAnimationFrame:Qt,!0);let au;function iL(){au=void 0}const yt={now:()=>(au===void 0&&yt.set(nt.isProcessing||lr.useManualTiming?nt.timestamp:performance.now()),au),set:e=>{au=e,queueMicrotask(iL)}},IN=e=>t=>typeof t=="string"&&t.startsWith(e),ON=IN("--"),oL=IN("var(--"),dy=e=>oL(e)?aL.test(e.split("/*")[0].trim()):!1,aL=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function w0(e){return typeof e!="string"?!1:e.split("/*")[0].includes("var(--")}const Jo={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},xl={...Jo,transform:e=>Un(0,1,e)},Ec={...Jo,default:1},Va=e=>Math.round(e*1e5)/1e5,hy=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function lL(e){return e==null}const cL=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,fy=(e,t)=>n=>!!(typeof n=="string"&&cL.test(n)&&n.startsWith(e)||t&&!lL(n)&&Object.prototype.hasOwnProperty.call(n,t)),FN=(e,t,n)=>r=>{if(typeof r!="string")return r;const[s,i,a,l]=r.match(hy);return{[e]:parseFloat(s),[t]:parseFloat(i),[n]:parseFloat(a),alpha:l!==void 0?parseFloat(l):1}},uL=e=>Un(0,255,e),zh={...Jo,transform:e=>Math.round(uL(e))},Us={test:fy("rgb","red"),parse:FN("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+zh.transform(e)+", "+zh.transform(t)+", "+zh.transform(n)+", "+Va(xl.transform(r))+")"};function dL(e){let t="",n="",r="",s="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),s=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),s=e.substring(4,5),t+=t,n+=n,r+=r,s+=s),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:s?parseInt(s,16)/255:1}}const Qm={test:fy("#"),parse:dL,transform:Us.transform},Ql=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),_r=Ql("deg"),Mn=Ql("%"),W=Ql("px"),hL=Ql("vh"),fL=Ql("vw"),b0={...Mn,parse:e=>Mn.parse(e)/100,transform:e=>Mn.transform(e*100)},Qi={test:fy("hsl","hue"),parse:FN("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Mn.transform(Va(t))+", "+Mn.transform(Va(n))+", "+Va(xl.transform(r))+")"},ze={test:e=>Us.test(e)||Qm.test(e)||Qi.test(e),parse:e=>Us.test(e)?Us.parse(e):Qi.test(e)?Qi.parse(e):Qm.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?Us.transform(e):Qi.transform(e),getAnimatableNone:e=>{const t=ze.parse(e);return t.alpha=0,ze.transform(t)}},mL=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function pL(e){var t,n;return isNaN(e)&&typeof e=="string"&&(((t=e.match(hy))==null?void 0:t.length)||0)+(((n=e.match(mL))==null?void 0:n.length)||0)>0}const MN="number",DN="color",gL="var",yL="var(",j0="${}",vL=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function wl(e){const t=e.toString(),n=[],r={color:[],number:[],var:[]},s=[];let i=0;const l=t.replace(vL,c=>(ze.test(c)?(r.color.push(i),s.push(DN),n.push(ze.parse(c))):c.startsWith(yL)?(r.var.push(i),s.push(gL),n.push(c)):(r.number.push(i),s.push(MN),n.push(parseFloat(c))),++i,j0)).split(j0);return{values:n,split:l,indexes:r,types:s}}function LN(e){return wl(e).values}function $N(e){const{split:t,types:n}=wl(e),r=t.length;return s=>{let i="";for(let a=0;a<r;a++)if(i+=t[a],s[a]!==void 0){const l=n[a];l===MN?i+=Va(s[a]):l===DN?i+=ze.transform(s[a]):i+=s[a]}return i}}const xL=e=>typeof e=="number"?0:ze.test(e)?ze.getAnimatableNone(e):e;function wL(e){const t=LN(e);return $N(e)(t.map(xL))}const ps={test:pL,parse:LN,createTransformer:$N,getAnimatableNone:wL};function Hh(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 bL({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let s=0,i=0,a=0;if(!t)s=i=a=n;else{const l=n<.5?n*(1+t):n+t-n*t,c=2*n-l;s=Hh(c,l,e+1/3),i=Hh(c,l,e),a=Hh(c,l,e-1/3)}return{red:Math.round(s*255),green:Math.round(i*255),blue:Math.round(a*255),alpha:r}}function Yu(e,t){return n=>n>0?t:e}const Oe=(e,t,n)=>e+(t-e)*n,Wh=(e,t,n)=>{const r=e*e,s=n*(t*t-r)+r;return s<0?0:Math.sqrt(s)},jL=[Qm,Us,Qi],SL=e=>jL.find(t=>t.test(e));function S0(e){const t=SL(e);if(Fd(!!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===Qi&&(n=bL(n)),n}const k0=(e,t)=>{const n=S0(e),r=S0(t);if(!n||!r)return Yu(e,t);const s={...n};return i=>(s.red=Wh(n.red,r.red,i),s.green=Wh(n.green,r.green,i),s.blue=Wh(n.blue,r.blue,i),s.alpha=Oe(n.alpha,r.alpha,i),Us.transform(s))},Xm=new Set(["none","hidden"]);function kL(e,t){return Xm.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function NL(e,t){return n=>Oe(e,t,n)}function my(e){return typeof e=="number"?NL:typeof e=="string"?dy(e)?Yu:ze.test(e)?k0:EL:Array.isArray(e)?BN:typeof e=="object"?ze.test(e)?k0:TL:Yu}function BN(e,t){const n=[...e],r=n.length,s=e.map((i,a)=>my(i)(i,t[a]));return i=>{for(let a=0;a<r;a++)n[a]=s[a](i);return n}}function TL(e,t){const n={...e,...t},r={};for(const s in n)e[s]!==void 0&&t[s]!==void 0&&(r[s]=my(e[s])(e[s],t[s]));return s=>{for(const i in r)n[i]=r[i](s);return n}}function CL(e,t){const n=[],r={color:0,var:0,number:0};for(let s=0;s<t.values.length;s++){const i=t.types[s],a=e.indexes[i][r[i]],l=e.values[a]??0;n[s]=l,r[i]++}return n}const EL=(e,t)=>{const n=ps.createTransformer(t),r=wl(e),s=wl(t);return r.indexes.var.length===s.indexes.var.length&&r.indexes.color.length===s.indexes.color.length&&r.indexes.number.length>=s.indexes.number.length?Xm.has(e)&&!s.values.length||Xm.has(t)&&!r.values.length?kL(e,t):Gl(BN(CL(r,s),s.values),n):(Fd(!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"),Yu(e,t))};function UN(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?Oe(e,t,n):my(e)(e,t)}const _L=e=>{const t=({timestamp:n})=>e(n);return{start:(n=!0)=>Te.update(t,n),stop:()=>ms(t),now:()=>nt.isProcessing?nt.timestamp:yt.now()}},VN=(e,t,n=10)=>{let r="";const s=Math.max(Math.round(t/n),2);for(let i=0;i<s;i++)r+=Math.round(e(i/(s-1))*1e4)/1e4+", ";return`linear(${r.substring(0,r.length-2)})`},Qu=2e4;function py(e){let t=0;const n=50;let r=e.next(t);for(;!r.done&&t<Qu;)t+=n,r=e.next(t);return t>=Qu?1/0:t}function PL(e,t=100,n){const r=n({...e,keyframes:[0,t]}),s=Math.min(py(r),Qu);return{type:"keyframes",ease:i=>r.next(s*i).value/t,duration:Gt(s)}}const AL=5;function zN(e,t,n){const r=Math.max(t-AL,0);return bN(n-e(r),t-r)}const Re={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},qh=.001;function RL({duration:e=Re.duration,bounce:t=Re.bounce,velocity:n=Re.velocity,mass:r=Re.mass}){let s,i;Fd(e<=Fn(Re.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let a=1-t;a=Un(Re.minDamping,Re.maxDamping,a),e=Un(Re.minDuration,Re.maxDuration,Gt(e)),a<1?(s=u=>{const d=u*a,h=d*e,f=d-n,m=Jm(u,a),w=Math.exp(-h);return qh-f/m*w},i=u=>{const h=u*a*e,f=h*n+n,m=Math.pow(a,2)*Math.pow(u,2)*e,w=Math.exp(-h),p=Jm(Math.pow(u,2),a);return(-s(u)+qh>0?-1:1)*((f-m)*w)/p}):(s=u=>{const d=Math.exp(-u*e),h=(u-n)*e+1;return-qh+d*h},i=u=>{const d=Math.exp(-u*e),h=(n-u)*(e*e);return d*h});const l=5/e,c=OL(s,i,l);if(e=Fn(e),isNaN(c))return{stiffness:Re.stiffness,damping:Re.damping,duration:e};{const u=Math.pow(c,2)*r;return{stiffness:u,damping:a*2*Math.sqrt(r*u),duration:e}}}const IL=12;function OL(e,t,n){let r=n;for(let s=1;s<IL;s++)r=r-e(r)/t(r);return r}function Jm(e,t){return e*Math.sqrt(1-t*t)}const FL=["duration","bounce"],ML=["stiffness","damping","mass"];function N0(e,t){return t.some(n=>e[n]!==void 0)}function DL(e){let t={velocity:Re.velocity,stiffness:Re.stiffness,damping:Re.damping,mass:Re.mass,isResolvedFromDuration:!1,...e};if(!N0(e,ML)&&N0(e,FL))if(e.visualDuration){const n=e.visualDuration,r=2*Math.PI/(n*1.2),s=r*r,i=2*Un(.05,1,1-(e.bounce||0))*Math.sqrt(s);t={...t,mass:Re.mass,stiffness:s,damping:i}}else{const n=RL(e);t={...t,...n,mass:Re.mass},t.isResolvedFromDuration=!0}return t}function Xu(e=Re.visualDuration,t=Re.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:r,restDelta:s}=n;const i=n.keyframes[0],a=n.keyframes[n.keyframes.length-1],l={done:!1,value:i},{stiffness:c,damping:u,mass:d,duration:h,velocity:f,isResolvedFromDuration:m}=DL({...n,velocity:-Gt(n.velocity||0)}),w=f||0,p=u/(2*Math.sqrt(c*d)),y=a-i,g=Gt(Math.sqrt(c/d)),v=Math.abs(y)<5;r||(r=v?Re.restSpeed.granular:Re.restSpeed.default),s||(s=v?Re.restDelta.granular:Re.restDelta.default);let b;if(p<1){const S=Jm(g,p);b=k=>{const T=Math.exp(-p*g*k);return a-T*((w+p*g*y)/S*Math.sin(S*k)+y*Math.cos(S*k))}}else if(p===1)b=S=>a-Math.exp(-g*S)*(y+(w+g*y)*S);else{const S=g*Math.sqrt(p*p-1);b=k=>{const T=Math.exp(-p*g*k),C=Math.min(S*k,300);return a-T*((w+p*g*y)*Math.sinh(C)+S*y*Math.cosh(C))/S}}const j={calculatedDuration:m&&h||null,next:S=>{const k=b(S);if(m)l.done=S>=h;else{let T=S===0?w:0;p<1&&(T=S===0?Fn(w):zN(b,S,k));const C=Math.abs(T)<=r,P=Math.abs(a-k)<=s;l.done=C&&P}return l.value=l.done?a:k,l},toString:()=>{const S=Math.min(py(j),Qu),k=VN(T=>j.next(S*T).value,S,30);return S+"ms "+k},toTransition:()=>{}};return j}Xu.applyToOptions=e=>{const t=PL(e,100,Xu);return e.ease=t.ease,e.duration=Fn(t.duration),e.type="keyframes",e};function Zm({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:s=10,bounceStiffness:i=500,modifyTarget:a,min:l,max:c,restDelta:u=.5,restSpeed:d}){const h=e[0],f={done:!1,value:h},m=C=>l!==void 0&&C<l||c!==void 0&&C>c,w=C=>l===void 0?c:c===void 0||Math.abs(l-C)<Math.abs(c-C)?l:c;let p=n*t;const y=h+p,g=a===void 0?y:a(y);g!==y&&(p=g-h);const v=C=>-p*Math.exp(-C/r),b=C=>g+v(C),j=C=>{const P=v(C),R=b(C);f.done=Math.abs(P)<=u,f.value=f.done?g:R};let S,k;const T=C=>{m(f.value)&&(S=C,k=Xu({keyframes:[f.value,w(f.value)],velocity:zN(b,C,f.value),damping:s,stiffness:i,restDelta:u,restSpeed:d}))};return T(0),{calculatedDuration:null,next:C=>{let P=!1;return!k&&S===void 0&&(P=!0,j(C),T(C)),S!==void 0&&C>=S?k.next(C-S):(!P&&j(C),f)}}}function LL(e,t,n){const r=[],s=n||lr.mix||UN,i=e.length-1;for(let a=0;a<i;a++){let l=s(e[a],e[a+1]);if(t){const c=Array.isArray(t)?t[a]||Qt:t;l=Gl(c,l)}r.push(l)}return r}function $L(e,t,{clamp:n=!0,ease:r,mixer:s}={}){const i=e.length;if(Lo(i===t.length,"Both input and output ranges must be the same length","range-length"),i===1)return()=>t[0];if(i===2&&t[0]===t[1])return()=>t[1];const a=e[0]===e[1];e[0]>e[i-1]&&(e=[...e].reverse(),t=[...t].reverse());const l=LL(t,r,s),c=l.length,u=d=>{if(a&&d<e[0])return t[0];let h=0;if(c>1)for(;h<e.length-2&&!(d<e[h+1]);h++);const f=vl(e[h],e[h+1],d);return l[h](f)};return n?d=>u(Un(e[0],e[i-1],d)):u}function BL(e,t){const n=e[e.length-1];for(let r=1;r<=t;r++){const s=vl(0,t,r);e.push(Oe(n,1,s))}}function UL(e){const t=[0];return BL(t,e.length-1),t}function VL(e,t){return e.map(n=>n*t)}function zL(e,t){return e.map(()=>t||PN).splice(0,e.length-1)}function za({duration:e=300,keyframes:t,times:n,ease:r="easeInOut"}){const s=tL(r)?r.map(v0):v0(r),i={done:!1,value:t[0]},a=VL(n&&n.length===t.length?n:UL(t),e),l=$L(a,t,{ease:Array.isArray(s)?s:zL(t,s)});return{calculatedDuration:e,next:c=>(i.value=l(c),i.done=c>=e,i)}}const HL=e=>e!==null;function gy(e,{repeat:t,repeatType:n="loop"},r,s=1){const i=e.filter(HL),l=s<0||t&&n!=="loop"&&t%2===1?0:i.length-1;return!l||r===void 0?i[l]:r}const WL={decay:Zm,inertia:Zm,tween:za,keyframes:za,spring:Xu};function HN(e){typeof e.type=="string"&&(e.type=WL[e.type])}class yy{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 qL=e=>e/100;class vy extends yy{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,s;const{motionValue:n}=this.options;n&&n.updatedAt!==yt.now()&&this.tick(yt.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),(s=(r=this.options).onStop)==null||s.call(r))},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;HN(t);const{type:n=za,repeat:r=0,repeatDelay:s=0,repeatType:i,velocity:a=0}=t;let{keyframes:l}=t;const c=n||za;c!==za&&typeof l[0]!="number"&&(this.mixKeyframes=Gl(qL,UN(l[0],l[1])),l=[0,100]);const u=c({...t,keyframes:l});i==="mirror"&&(this.mirroredGenerator=c({...t,keyframes:[...l].reverse(),velocity:-a})),u.calculatedDuration===null&&(u.calculatedDuration=py(u));const{calculatedDuration:d}=u;this.calculatedDuration=d,this.resolvedDuration=d+s,this.totalDuration=this.resolvedDuration*(r+1)-s,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:s,mixKeyframes:i,mirroredGenerator:a,resolvedDuration:l,calculatedDuration:c}=this;if(this.startTime===null)return r.next(0);const{delay:u=0,keyframes:d,repeat:h,repeatType:f,repeatDelay:m,type:w,onUpdate:p,finalKeyframe:y}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-s/this.speed,this.startTime)),n?this.currentTime=t:this.updateTime(t);const g=this.currentTime-u*(this.playbackSpeed>=0?1:-1),v=this.playbackSpeed>=0?g<0:g>s;this.currentTime=Math.max(g,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=s);let b=this.currentTime,j=r;if(h){const C=Math.min(this.currentTime,s)/l;let P=Math.floor(C),R=C%1;!R&&C>=1&&(R=1),R===1&&P--,P=Math.min(P,h+1),!!(P%2)&&(f==="reverse"?(R=1-R,m&&(R-=m/l)):f==="mirror"&&(j=a)),b=Un(0,1,R)*l}const S=v?{done:!1,value:d[0]}:j.next(b);i&&(S.value=i(S.value));let{done:k}=S;!v&&c!==null&&(k=this.playbackSpeed>=0?this.currentTime>=s:this.currentTime<=0);const T=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&k);return T&&w!==Zm&&(S.value=gy(d,this.options,y,this.speed)),p&&p(S.value),T&&this.finish(),S}then(t,n){return this.finished.then(t,n)}get duration(){return Gt(this.calculatedDuration)}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Gt(t)}get time(){return Gt(this.currentTime)}set time(t){var n;t=Fn(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),(n=this.driver)==null||n.start(!1)}get speed(){return this.playbackSpeed}set speed(t){this.updateTime(yt.now());const n=this.playbackSpeed!==t;this.playbackSpeed=t,n&&(this.time=Gt(this.currentTime))}play(){var s,i;if(this.isStopped)return;const{driver:t=_L,startTime:n}=this.options;this.driver||(this.driver=t(a=>this.tick(a))),(i=(s=this.options).onPlay)==null||i.call(s);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(yt.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 KL(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}const Vs=e=>e*180/Math.PI,ep=e=>{const t=Vs(Math.atan2(e[1],e[0]));return tp(t)},GL={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:ep,rotateZ:ep,skewX:e=>Vs(Math.atan(e[1])),skewY:e=>Vs(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},tp=e=>(e=e%360,e<0&&(e+=360),e),T0=ep,C0=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),E0=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),YL={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:C0,scaleY:E0,scale:e=>(C0(e)+E0(e))/2,rotateX:e=>tp(Vs(Math.atan2(e[6],e[5]))),rotateY:e=>tp(Vs(Math.atan2(-e[2],e[0]))),rotateZ:T0,rotate:T0,skewX:e=>Vs(Math.atan(e[4])),skewY:e=>Vs(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function np(e){return e.includes("scale")?1:0}function rp(e,t){if(!e||e==="none")return np(t);const n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let r,s;if(n)r=YL,s=n;else{const l=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=GL,s=l}if(!s)return np(t);const i=r[t],a=s[1].split(",").map(XL);return typeof i=="function"?i(a):a[i]}const QL=(e,t)=>{const{transform:n="none"}=getComputedStyle(e);return rp(n,t)};function XL(e){return parseFloat(e.trim())}const Zo=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],ea=new Set(Zo),_0=e=>e===Jo||e===W,JL=new Set(["x","y","z"]),ZL=Zo.filter(e=>!JL.has(e));function e4(e){const t=[];return ZL.forEach(n=>{const r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t}const Qr={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})=>rp(t,"x"),y:(e,{transform:t})=>rp(t,"y")};Qr.translateX=Qr.x;Qr.translateY=Qr.y;const ri=new Set;let sp=!1,ip=!1,op=!1;function WN(){if(ip){const e=Array.from(ri).filter(r=>r.needsMeasurement),t=new Set(e.map(r=>r.element)),n=new Map;t.forEach(r=>{const s=e4(r);s.length&&(n.set(r,s),r.render())}),e.forEach(r=>r.measureInitialState()),t.forEach(r=>{r.render();const s=n.get(r);s&&s.forEach(([i,a])=>{var l;(l=r.getValue(i))==null||l.set(a)})}),e.forEach(r=>r.measureEndState()),e.forEach(r=>{r.suspendedScrollY!==void 0&&window.scrollTo(0,r.suspendedScrollY)})}ip=!1,sp=!1,ri.forEach(e=>e.complete(op)),ri.clear()}function qN(){ri.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(ip=!0)})}function t4(){op=!0,qN(),WN(),op=!1}class xy{constructor(t,n,r,s,i,a=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=n,this.name=r,this.motionValue=s,this.element=i,this.isAsync=a}scheduleResolve(){this.state="scheduled",this.isAsync?(ri.add(this),sp||(sp=!0,Te.read(qN),Te.resolveKeyframes(WN))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:n,element:r,motionValue:s}=this;if(t[0]===null){const i=s==null?void 0:s.get(),a=t[t.length-1];if(i!==void 0)t[0]=i;else if(r&&n){const l=r.readValue(n,a);l!=null&&(t[0]=l)}t[0]===void 0&&(t[0]=a),s&&i===void 0&&s.set(t[0])}KL(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),ri.delete(this)}cancel(){this.state==="scheduled"&&(ri.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const n4=e=>e.startsWith("--");function r4(e,t,n){n4(t)?e.style.setProperty(t,n):e.style[t]=n}const s4=ay(()=>window.ScrollTimeline!==void 0),i4={};function o4(e,t){const n=ay(e);return()=>i4[t]??n()}const KN=o4(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Ca=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,P0={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:Ca([0,.65,.55,1]),circOut:Ca([.55,0,1,.45]),backIn:Ca([.31,.01,.66,-.59]),backOut:Ca([.33,1.53,.69,.99])};function GN(e,t){if(e)return typeof e=="function"?KN()?VN(e,t):"ease-out":AN(e)?Ca(e):Array.isArray(e)?e.map(n=>GN(n,t)||P0.easeOut):P0[e]}function a4(e,t,n,{delay:r=0,duration:s=300,repeat:i=0,repeatType:a="loop",ease:l="easeOut",times:c}={},u=void 0){const d={[t]:n};c&&(d.offset=c);const h=GN(l,s);Array.isArray(h)&&(d.easing=h);const f={delay:r,duration:s,easing:Array.isArray(h)?"linear":h,fill:"both",iterations:i+1,direction:a==="reverse"?"alternate":"normal"};return u&&(f.pseudoElement=u),e.animate(d,f)}function YN(e){return typeof e=="function"&&"applyToOptions"in e}function l4({type:e,...t}){return YN(e)&&KN()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class c4 extends yy{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!t)return;const{element:n,name:r,keyframes:s,pseudoElement:i,allowFlatten:a=!1,finalKeyframe:l,onComplete:c}=t;this.isPseudoElement=!!i,this.allowFlatten=a,this.options=t,Lo(typeof t.type!="string",`Mini animate() doesn't support "type" as a string.`,"mini-spring");const u=l4(t);this.animation=a4(n,r,s,u,i),u.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){const d=gy(s,this.options,l,this.speed);this.updateMotionValue?this.updateMotionValue(d):r4(n,r,d),this.animation.cancel()}c==null||c(),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 t,n;this.isPseudoElement||(n=(t=this.animation).commitStyles)==null||n.call(t)}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 Gt(Number(t))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+Gt(t)}get time(){return Gt(Number(this.animation.currentTime)||0)}set time(t){this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=Fn(t)}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,observe:n}){var r;return this.allowFlatten&&((r=this.animation.effect)==null||r.updateTiming({easing:"linear"})),this.animation.onfinish=null,t&&s4()?(this.animation.timeline=t,Qt):n(this)}}const QN={anticipate:CN,backInOut:TN,circInOut:_N};function u4(e){return e in QN}function d4(e){typeof e.ease=="string"&&u4(e.ease)&&(e.ease=QN[e.ease])}const Kh=10;class h4 extends c4{constructor(t){d4(t),HN(t),super(t),t.startTime!==void 0&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:n,onUpdate:r,onComplete:s,element:i,...a}=this.options;if(!n)return;if(t!==void 0){n.set(t);return}const l=new vy({...a,autoplay:!1}),c=Math.max(Kh,yt.now()-this.startTime),u=Un(0,Kh,c-Kh);n.setWithVelocity(l.sample(Math.max(0,c-u)).value,l.sample(c).value,u),l.stop()}}const A0=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(ps.test(e)||e==="0")&&!e.startsWith("url("));function f4(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 m4(e,t,n,r){const s=e[0];if(s===null)return!1;if(t==="display"||t==="visibility")return!0;const i=e[e.length-1],a=A0(s,t),l=A0(i,t);return Fd(a===l,`You are trying to animate ${t} from "${s}" to "${i}". "${a?i:s}" is not an animatable value.`,"value-not-animatable"),!a||!l?!1:f4(e)||(n==="spring"||YN(n))&&r}function ap(e){e.duration=0,e.type="keyframes"}const p4=new Set(["opacity","clipPath","filter","transform"]),g4=ay(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function y4(e){var d;const{motionValue:t,name:n,repeatDelay:r,repeatType:s,damping:i,type:a}=e;if(!(((d=t==null?void 0:t.owner)==null?void 0:d.current)instanceof HTMLElement))return!1;const{onUpdate:c,transformTemplate:u}=t.owner.getProps();return g4()&&n&&p4.has(n)&&(n!=="transform"||!u)&&!c&&!r&&s!=="mirror"&&i!==0&&a!=="inertia"}const v4=40;class x4 extends yy{constructor({autoplay:t=!0,delay:n=0,type:r="keyframes",repeat:s=0,repeatDelay:i=0,repeatType:a="loop",keyframes:l,name:c,motionValue:u,element:d,...h}){var w;super(),this.stop=()=>{var p,y;this._animation&&(this._animation.stop(),(p=this.stopTimeline)==null||p.call(this)),(y=this.keyframeResolver)==null||y.cancel()},this.createdAt=yt.now();const f={autoplay:t,delay:n,type:r,repeat:s,repeatDelay:i,repeatType:a,name:c,motionValue:u,element:d,...h},m=(d==null?void 0:d.KeyframeResolver)||xy;this.keyframeResolver=new m(l,(p,y,g)=>this.onKeyframesResolved(p,y,f,!g),c,u,d),(w=this.keyframeResolver)==null||w.scheduleResolve()}onKeyframesResolved(t,n,r,s){var y,g;this.keyframeResolver=void 0;const{name:i,type:a,velocity:l,delay:c,isHandoff:u,onUpdate:d}=r;this.resolvedAt=yt.now(),m4(t,i,a,l)||((lr.instantAnimations||!c)&&(d==null||d(gy(t,r,n))),t[0]=t[t.length-1],ap(r),r.repeat=0);const f={startTime:s?this.resolvedAt?this.resolvedAt-this.createdAt>v4?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...r,keyframes:t},m=!u&&y4(f),w=(g=(y=f.motionValue)==null?void 0:y.owner)==null?void 0:g.current,p=m?new h4({...f,element:w}):new vy(f);p.finished.then(()=>{this.notifyFinished()}).catch(Qt),this.pendingTimeline&&(this.stopTimeline=p.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=p}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(),t4()),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 XN(e,t,n,r=0,s=1){const i=Array.from(e).sort((u,d)=>u.sortNodePosition(d)).indexOf(t),a=e.size,l=(a-1)*r;return typeof n=="function"?n(i,a):s===1?i*r:l-i*r}const w4=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function b4(e){const t=w4.exec(e);if(!t)return[,];const[,n,r,s]=t;return[`--${n??r}`,s]}const j4=4;function JN(e,t,n=1){Lo(n<=j4,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`,"max-css-var-depth");const[r,s]=b4(e);if(!r)return;const i=window.getComputedStyle(t).getPropertyValue(r);if(i){const a=i.trim();return vN(a)?parseFloat(a):a}return dy(s)?JN(s,t,n+1):s}const S4={type:"spring",stiffness:500,damping:25,restSpeed:10},k4=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),N4={type:"keyframes",duration:.8},T4={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},C4=(e,{keyframes:t})=>t.length>2?N4:ea.has(e)?e.startsWith("scale")?k4(t[1]):S4:T4,E4=e=>e!==null;function _4(e,{repeat:t,repeatType:n="loop"},r){const s=e.filter(E4),i=t&&n!=="loop"&&t%2===1?0:s.length-1;return!i||r===void 0?s[i]:r}function wy(e,t){return(e==null?void 0:e[t])??(e==null?void 0:e.default)??e}function P4({when:e,delay:t,delayChildren:n,staggerChildren:r,staggerDirection:s,repeat:i,repeatType:a,repeatDelay:l,from:c,elapsed:u,...d}){return!!Object.keys(d).length}const by=(e,t,n,r={},s,i)=>a=>{const l=wy(r,e)||{},c=l.delay||r.delay||0;let{elapsed:u=0}=r;u=u-Fn(c);const d={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...l,delay:-u,onUpdate:f=>{t.set(f),l.onUpdate&&l.onUpdate(f)},onComplete:()=>{a(),l.onComplete&&l.onComplete()},name:e,motionValue:t,element:i?void 0:s};P4(l)||Object.assign(d,C4(e,d)),d.duration&&(d.duration=Fn(d.duration)),d.repeatDelay&&(d.repeatDelay=Fn(d.repeatDelay)),d.from!==void 0&&(d.keyframes[0]=d.from);let h=!1;if((d.type===!1||d.duration===0&&!d.repeatDelay)&&(ap(d),d.delay===0&&(h=!0)),(lr.instantAnimations||lr.skipAnimations)&&(h=!0,ap(d),d.delay=0),d.allowFlatten=!l.type&&!l.ease,h&&!i&&t.get()!==void 0){const f=_4(d.keyframes,l);if(f!==void 0){Te.update(()=>{d.onUpdate(f),d.onComplete()});return}}return l.isSync?new vy(d):new x4(d)};function R0(e){const t=[{},{}];return e==null||e.values.forEach((n,r)=>{t[0][r]=n.get(),t[1][r]=n.getVelocity()}),t}function jy(e,t,n,r){if(typeof t=="function"){const[s,i]=R0(r);t=t(n!==void 0?n:e.custom,s,i)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[s,i]=R0(r);t=t(n!==void 0?n:e.custom,s,i)}return t}function ho(e,t,n){const r=e.getProps();return jy(r,t,n!==void 0?n:r.custom,e)}const ZN=new Set(["width","height","top","left","right","bottom",...Zo]),I0=30,A4=e=>!isNaN(parseFloat(e));class R4{constructor(t,n={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=r=>{var i;const s=yt.now();if(this.updatedAt!==s&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(r),this.current!==this.prev&&((i=this.events.change)==null||i.notify(this.current),this.dependents))for(const a of this.dependents)a.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=n.owner}setCurrent(t){this.current=t,this.updatedAt=yt.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=A4(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 ly);const r=this.events[t].add(n);return t==="change"?()=>{r(),Te.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=yt.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>I0)return 0;const n=Math.min(this.updatedAt-this.prevUpdatedAt,I0);return bN(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 $o(e,t){return new R4(e,t)}const lp=e=>Array.isArray(e);function I4(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,$o(n))}function O4(e){return lp(e)?e[e.length-1]||0:e}function F4(e,t){const n=ho(e,t);let{transitionEnd:r={},transition:s={},...i}=n||{};i={...i,...r};for(const a in i){const l=O4(i[a]);I4(e,a,l)}}const ut=e=>!!(e&&e.getVelocity);function M4(e){return!!(ut(e)&&e.add)}function cp(e,t){const n=e.getValue("willChange");if(M4(n))return n.add(t);if(!n&&lr.WillChange){const r=new lr.WillChange("auto");e.addValue("willChange",r),r.add(t)}}function Sy(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}const D4="framerAppearId",eT="data-"+Sy(D4);function tT(e){return e.props[eT]}function L4({protectedKeys:e,needsAnimating:t},n){const r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function nT(e,t,{delay:n=0,transitionOverride:r,type:s}={}){let{transition:i=e.getDefaultTransition(),transitionEnd:a,...l}=t;r&&(i=r);const c=[],u=s&&e.animationState&&e.animationState.getState()[s];for(const d in l){const h=e.getValue(d,e.latestValues[d]??null),f=l[d];if(f===void 0||u&&L4(u,d))continue;const m={delay:n,...wy(i||{},d)},w=h.get();if(w!==void 0&&!h.isAnimating&&!Array.isArray(f)&&f===w&&!m.velocity)continue;let p=!1;if(window.MotionHandoffAnimation){const g=tT(e);if(g){const v=window.MotionHandoffAnimation(g,d,Te);v!==null&&(m.startTime=v,p=!0)}}cp(e,d),h.start(by(d,h,f,e.shouldReduceMotion&&ZN.has(d)?{type:!1}:m,e,p));const y=h.animation;y&&c.push(y)}return a&&Promise.all(c).then(()=>{Te.update(()=>{a&&F4(e,a)})}),c}function up(e,t,n={}){var c;const r=ho(e,t,n.type==="exit"?(c=e.presenceContext)==null?void 0:c.custom:void 0);let{transition:s=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(s=n.transitionOverride);const i=r?()=>Promise.all(nT(e,r,n)):()=>Promise.resolve(),a=e.variantChildren&&e.variantChildren.size?(u=0)=>{const{delayChildren:d=0,staggerChildren:h,staggerDirection:f}=s;return $4(e,t,u,d,h,f,n)}:()=>Promise.resolve(),{when:l}=s;if(l){const[u,d]=l==="beforeChildren"?[i,a]:[a,i];return u().then(()=>d())}else return Promise.all([i(),a(n.delay)])}function $4(e,t,n=0,r=0,s=0,i=1,a){const l=[];for(const c of e.variantChildren)c.notify("AnimationStart",t),l.push(up(c,t,{...a,delay:n+(typeof r=="function"?0:r)+XN(e.variantChildren,c,r,s,i)}).then(()=>c.notify("AnimationComplete",t)));return Promise.all(l)}function B4(e,t,n={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const s=t.map(i=>up(e,i,n));r=Promise.all(s)}else if(typeof t=="string")r=up(e,t,n);else{const s=typeof t=="function"?ho(e,t,n.custom):t;r=Promise.all(nT(e,s,n))}return r.then(()=>{e.notify("AnimationComplete",t)})}const U4={test:e=>e==="auto",parse:e=>e},rT=e=>t=>t.test(e),sT=[Jo,W,Mn,_r,fL,hL,U4],O0=e=>sT.find(rT(e));function V4(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||wN(e):!0}const z4=new Set(["brightness","contrast","saturate","opacity"]);function H4(e){const[t,n]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=n.match(hy)||[];if(!r)return e;const s=n.replace(r,"");let i=z4.has(t)?1:0;return r!==n&&(i*=100),t+"("+i+s+")"}const W4=/\b([a-z-]*)\(.*?\)/gu,dp={...ps,getAnimatableNone:e=>{const t=e.match(W4);return t?t.map(H4).join(" "):e}},F0={...Jo,transform:Math.round},q4={rotate:_r,rotateX:_r,rotateY:_r,rotateZ:_r,scale:Ec,scaleX:Ec,scaleY:Ec,scaleZ:Ec,skew:_r,skewX:_r,skewY:_r,distance:W,translateX:W,translateY:W,translateZ:W,x:W,y:W,z:W,perspective:W,transformPerspective:W,opacity:xl,originX:b0,originY:b0,originZ:W},ky={borderWidth:W,borderTopWidth:W,borderRightWidth:W,borderBottomWidth:W,borderLeftWidth:W,borderRadius:W,borderTopLeftRadius:W,borderTopRightRadius:W,borderBottomRightRadius:W,borderBottomLeftRadius:W,width:W,maxWidth:W,height:W,maxHeight:W,top:W,right:W,bottom:W,left:W,inset:W,insetBlock:W,insetBlockStart:W,insetBlockEnd:W,insetInline:W,insetInlineStart:W,insetInlineEnd:W,padding:W,paddingTop:W,paddingRight:W,paddingBottom:W,paddingLeft:W,paddingBlock:W,paddingBlockStart:W,paddingBlockEnd:W,paddingInline:W,paddingInlineStart:W,paddingInlineEnd:W,margin:W,marginTop:W,marginRight:W,marginBottom:W,marginLeft:W,marginBlock:W,marginBlockStart:W,marginBlockEnd:W,marginInline:W,marginInlineStart:W,marginInlineEnd:W,fontSize:W,backgroundPositionX:W,backgroundPositionY:W,...q4,zIndex:F0,fillOpacity:xl,strokeOpacity:xl,numOctaves:F0},K4={...ky,color:ze,backgroundColor:ze,outlineColor:ze,fill:ze,stroke:ze,borderColor:ze,borderTopColor:ze,borderRightColor:ze,borderBottomColor:ze,borderLeftColor:ze,filter:dp,WebkitFilter:dp},iT=e=>K4[e];function oT(e,t){let n=iT(e);return n!==dp&&(n=ps),n.getAnimatableNone?n.getAnimatableNone(t):void 0}const G4=new Set(["auto","none","0"]);function Y4(e,t,n){let r=0,s;for(;r<e.length&&!s;){const i=e[r];typeof i=="string"&&!G4.has(i)&&wl(i).values.length&&(s=e[r]),r++}if(s&&n)for(const i of t)e[i]=oT(n,s)}class Q4 extends xy{constructor(t,n,r,s,i){super(t,n,r,s,i,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:r}=this;if(!n||!n.current)return;super.readKeyframes();for(let d=0;d<t.length;d++){let h=t[d];if(typeof h=="string"&&(h=h.trim(),dy(h))){const f=JN(h,n.current);f!==void 0&&(t[d]=f),d===t.length-1&&(this.finalKeyframe=h)}}if(this.resolveNoneKeyframes(),!ZN.has(r)||t.length!==2)return;const[s,i]=t,a=O0(s),l=O0(i),c=w0(s),u=w0(i);if(c!==u&&Qr[r]){this.needsMeasurement=!0;return}if(a!==l)if(_0(a)&&_0(l))for(let d=0;d<t.length;d++){const h=t[d];typeof h=="string"&&(t[d]=parseFloat(h))}else Qr[r]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:n}=this,r=[];for(let s=0;s<t.length;s++)(t[s]===null||V4(t[s]))&&r.push(s);r.length&&Y4(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=Qr[r](t.measureViewportBox(),window.getComputedStyle(t.current)),n[0]=this.measuredOrigin;const s=n[n.length-1];s!==void 0&&t.getValue(r,s).jump(s,!1)}measureEndState(){var l;const{element:t,name:n,unresolvedKeyframes:r}=this;if(!t||!t.current)return;const s=t.getValue(n);s&&s.jump(this.measuredOrigin,!1);const i=r.length-1,a=r[i];r[i]=Qr[n](t.measureViewportBox(),window.getComputedStyle(t.current)),a!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=a),(l=this.removedTransforms)!=null&&l.length&&this.removedTransforms.forEach(([c,u])=>{t.getValue(c).set(u)}),this.resolveNoneKeyframes()}}function aT(e,t,n){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e=="string"){const s=document.querySelectorAll(e);return s?Array.from(s):[]}return Array.from(e).filter(r=>r!=null)}const lT=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function hp(e){return xN(e)&&"offsetHeight"in e}const{schedule:Ny,cancel:LH}=RN(queueMicrotask,!1),ln={x:!1,y:!1};function cT(){return ln.x||ln.y}function X4(e){return e==="x"||e==="y"?ln[e]?null:(ln[e]=!0,()=>{ln[e]=!1}):ln.x||ln.y?null:(ln.x=ln.y=!0,()=>{ln.x=ln.y=!1})}function uT(e,t){const n=aT(e),r=new AbortController,s={passive:!0,...t,signal:r.signal};return[n,s,()=>r.abort()]}function M0(e){return!(e.pointerType==="touch"||cT())}function J4(e,t,n={}){const[r,s,i]=uT(e,n),a=l=>{if(!M0(l))return;const{target:c}=l,u=t(c,l);if(typeof u!="function"||!c)return;const d=h=>{M0(h)&&(u(h),c.removeEventListener("pointerleave",d))};c.addEventListener("pointerleave",d,s)};return r.forEach(l=>{l.addEventListener("pointerenter",a,s)}),i}const dT=(e,t)=>t?e===t?!0:dT(e,t.parentElement):!1,Ty=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,Z4=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function hT(e){return Z4.has(e.tagName)||e.isContentEditable===!0}const lu=new WeakSet;function D0(e){return t=>{t.key==="Enter"&&e(t)}}function Gh(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const e$=(e,t)=>{const n=e.currentTarget;if(!n)return;const r=D0(()=>{if(lu.has(n))return;Gh(n,"down");const s=D0(()=>{Gh(n,"up")}),i=()=>Gh(n,"cancel");n.addEventListener("keyup",s,t),n.addEventListener("blur",i,t)});n.addEventListener("keydown",r,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",r),t)};function L0(e){return Ty(e)&&!cT()}function t$(e,t,n={}){const[r,s,i]=uT(e,n),a=l=>{const c=l.currentTarget;if(!L0(l))return;lu.add(c);const u=t(c,l),d=(m,w)=>{window.removeEventListener("pointerup",h),window.removeEventListener("pointercancel",f),lu.has(c)&&lu.delete(c),L0(m)&&typeof u=="function"&&u(m,{success:w})},h=m=>{d(m,c===window||c===document||n.useGlobalTarget||dT(c,m.target))},f=m=>{d(m,!1)};window.addEventListener("pointerup",h,s),window.addEventListener("pointercancel",f,s)};return r.forEach(l=>{(n.useGlobalTarget?window:l).addEventListener("pointerdown",a,s),hp(l)&&(l.addEventListener("focus",u=>e$(u,s)),!hT(l)&&!l.hasAttribute("tabindex")&&(l.tabIndex=0))}),i}function fT(e){return xN(e)&&"ownerSVGElement"in e}function n$(e){return fT(e)&&e.tagName==="svg"}const r$=[...sT,ze,ps],s$=e=>r$.find(rT(e)),$0=()=>({translate:0,scale:1,origin:0,originPoint:0}),Xi=()=>({x:$0(),y:$0()}),B0=()=>({min:0,max:0}),Ke=()=>({x:B0(),y:B0()}),fp={current:null},mT={current:!1},i$=typeof window<"u";function o$(){if(mT.current=!0,!!i$)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>fp.current=e.matches;e.addEventListener("change",t),t()}else fp.current=!1}const a$=new WeakMap;function Md(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function bl(e){return typeof e=="string"||Array.isArray(e)}const Cy=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],Ey=["initial",...Cy];function Dd(e){return Md(e.animate)||Ey.some(t=>bl(e[t]))}function pT(e){return!!(Dd(e)||e.variants)}function l$(e,t,n){for(const r in t){const s=t[r],i=n[r];if(ut(s))e.addValue(r,s);else if(ut(i))e.addValue(r,$o(s,{owner:e}));else if(i!==s)if(e.hasValue(r)){const a=e.getValue(r);a.liveStyle===!0?a.jump(s):a.hasAnimated||a.set(s)}else{const a=e.getStaticValue(r);e.addValue(r,$o(a!==void 0?a:s,{owner:e}))}}for(const r in n)t[r]===void 0&&e.removeValue(r);return t}const U0=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let Ju={};function gT(e){Ju=e}function c$(){return Ju}class u${scrapeMotionValuesFromProps(t,n,r){return{}}constructor({parent:t,props:n,presenceContext:r,reducedMotionConfig:s,blockInitialAnimation:i,visualState:a},l={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=xy,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},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 f=yt.now();this.renderScheduledAt<f&&(this.renderScheduledAt=f,Te.render(this.render,!1,!0))};const{latestValues:c,renderState:u}=a;this.latestValues=c,this.baseTarget={...c},this.initialValues=n.initial?{...c}:{},this.renderState=u,this.parent=t,this.props=n,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=s,this.options=l,this.blockInitialAnimation=!!i,this.isControllingVariants=Dd(n),this.isVariantNode=pT(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:d,...h}=this.scrapeMotionValuesFromProps(n,{},this);for(const f in h){const m=h[f];c[f]!==void 0&&ut(m)&&m.set(c[f])}}mount(t){var n;this.current=t,a$.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((r,s)=>this.bindToMotionValue(s,r)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:(mT.current||o$(),this.shouldReduceMotion=fp.current),(n=this.parent)==null||n.addChild(this),this.update(this.props,this.presenceContext)}unmount(){var t;this.projection&&this.projection.unmount(),ms(this.notifyUpdate),ms(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){this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)();const r=ea.has(t);r&&this.onBindTransform&&this.onBindTransform();const s=n.on("change",a=>{this.latestValues[t]=a,this.props.onUpdate&&Te.preRender(this.notifyUpdate),r&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let i;typeof window<"u"&&window.MotionCheckAppearSync&&(i=window.MotionCheckAppearSync(this,t,n)),this.valueSubscriptions.set(t,()=>{s(),i&&i(),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 Ju){const n=Ju[t];if(!n)continue;const{isEnabled:r,Feature:s}=n;if(!this.features[t]&&s&&r(this.props)&&(this.features[t]=new s(this)),this.features[t]){const i=this.features[t];i.isMounted?i.update():(i.mount(),i.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Ke()}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<U0.length;r++){const s=U0[r];this.propEventSubscriptions[s]&&(this.propEventSubscriptions[s](),delete this.propEventSubscriptions[s]);const i="on"+s,a=t[i];a&&(this.propEventSubscriptions[s]=this.on(s,a))}this.prevMotionValues=l$(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=$o(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"&&(vN(r)||wN(r))?r=parseFloat(r):!s$(r)&&ps.test(n)&&(r=oT(t,n)),this.setBaseTarget(t,ut(r)?r.get():r)),ut(r)?r.get():r}setBaseTarget(t,n){this.baseTarget[t]=n}getBaseTarget(t){var i;const{initial:n}=this.props;let r;if(typeof n=="string"||typeof n=="object"){const a=jy(this.props,n,(i=this.presenceContext)==null?void 0:i.custom);a&&(r=a[t])}if(n&&r!==void 0)return r;const s=this.getBaseTargetFromProps(this.props,t);return s!==void 0&&!ut(s)?s:this.initialValues[t]!==void 0&&r===void 0?void 0:this.baseTarget[t]}on(t,n){return this.events[t]||(this.events[t]=new ly),this.events[t].add(n)}notify(t,...n){this.events[t]&&this.events[t].notify(...n)}scheduleRenderMicrotask(){Ny.render(this.render)}}class yT extends u${constructor(){super(...arguments),this.KeyframeResolver=Q4}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;ut(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}class js{constructor(t){this.isMounted=!1,this.node=t}update(){}}function vT({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function d$({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function h$(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 Yh(e){return e===void 0||e===1}function mp({scale:e,scaleX:t,scaleY:n}){return!Yh(e)||!Yh(t)||!Yh(n)}function Rs(e){return mp(e)||xT(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function xT(e){return V0(e.x)||V0(e.y)}function V0(e){return e&&e!=="0%"}function Zu(e,t,n){const r=e-n,s=t*r;return n+s}function z0(e,t,n,r,s){return s!==void 0&&(e=Zu(e,s,r)),Zu(e,n,r)+t}function pp(e,t=0,n=1,r,s){e.min=z0(e.min,t,n,r,s),e.max=z0(e.max,t,n,r,s)}function wT(e,{x:t,y:n}){pp(e.x,t.translate,t.scale,t.originPoint),pp(e.y,n.translate,n.scale,n.originPoint)}const H0=.999999999999,W0=1.0000000000001;function f$(e,t,n,r=!1){const s=n.length;if(!s)return;t.x=t.y=1;let i,a;for(let l=0;l<s;l++){i=n[l],a=i.projectionDelta;const{visualElement:c}=i.options;c&&c.props.style&&c.props.style.display==="contents"||(r&&i.options.layoutScroll&&i.scroll&&i!==i.root&&Zi(e,{x:-i.scroll.offset.x,y:-i.scroll.offset.y}),a&&(t.x*=a.x.scale,t.y*=a.y.scale,wT(e,a)),r&&Rs(i.latestValues)&&Zi(e,i.latestValues))}t.x<W0&&t.x>H0&&(t.x=1),t.y<W0&&t.y>H0&&(t.y=1)}function Ji(e,t){e.min=e.min+t,e.max=e.max+t}function q0(e,t,n,r,s=.5){const i=Oe(e.min,e.max,s);pp(e,t,n,i,r)}function Zi(e,t){q0(e.x,t.x,t.scaleX,t.scale,t.originX),q0(e.y,t.y,t.scaleY,t.scale,t.originY)}function bT(e,t){return vT(h$(e.getBoundingClientRect(),t))}function m$(e,t,n){const r=bT(e,n),{scroll:s}=t;return s&&(Ji(r.x,s.offset.x),Ji(r.y,s.offset.y)),r}const p$={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},g$=Zo.length;function y$(e,t,n){let r="",s=!0;for(let i=0;i<g$;i++){const a=Zo[i],l=e[a];if(l===void 0)continue;let c=!0;if(typeof l=="number")c=l===(a.startsWith("scale")?1:0);else{const u=parseFloat(l);c=a.startsWith("scale")?u===1:u===0}if(!c||n){const u=lT(l,ky[a]);if(!c){s=!1;const d=p$[a]||a;r+=`${d}(${u}) `}n&&(t[a]=u)}}return r=r.trim(),n?r=n(t,s?"":r):s&&(r="none"),r}function _y(e,t,n){const{style:r,vars:s,transformOrigin:i}=e;let a=!1,l=!1;for(const c in t){const u=t[c];if(ea.has(c)){a=!0;continue}else if(ON(c)){s[c]=u;continue}else{const d=lT(u,ky[c]);c.startsWith("origin")?(l=!0,i[c]=d):r[c]=d}}if(t.transform||(a||n?r.transform=y$(t,e.transform,n):r.transform&&(r.transform="none")),l){const{originX:c="50%",originY:u="50%",originZ:d=0}=i;r.transformOrigin=`${c} ${u} ${d}`}}function jT(e,{style:t,vars:n},r,s){const i=e.style;let a;for(a in t)i[a]=t[a];s==null||s.applyProjectionStyles(i,r);for(a in n)i.setProperty(a,n[a])}function K0(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const ya={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(W.test(e))e=parseFloat(e);else return e;const n=K0(e,t.target.x),r=K0(e,t.target.y);return`${n}% ${r}%`}},v$={correct:(e,{treeScale:t,projectionDelta:n})=>{const r=e,s=ps.parse(e);if(s.length>5)return r;const i=ps.createTransformer(e),a=typeof s[0]!="number"?1:0,l=n.x.scale*t.x,c=n.y.scale*t.y;s[0+a]/=l,s[1+a]/=c;const u=Oe(l,c,.5);return typeof s[2+a]=="number"&&(s[2+a]/=u),typeof s[3+a]=="number"&&(s[3+a]/=u),i(s)}},gp={borderRadius:{...ya,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:ya,borderTopRightRadius:ya,borderBottomLeftRadius:ya,borderBottomRightRadius:ya,boxShadow:v$};function ST(e,{layout:t,layoutId:n}){return ea.has(e)||e.startsWith("origin")||(t||n!==void 0)&&(!!gp[e]||e==="opacity")}function Py(e,t,n){var a;const r=e.style,s=t==null?void 0:t.style,i={};if(!r)return i;for(const l in r)(ut(r[l])||s&&ut(s[l])||ST(l,e)||((a=n==null?void 0:n.getValue(l))==null?void 0:a.liveStyle)!==void 0)&&(i[l]=r[l]);return i}function x$(e){return window.getComputedStyle(e)}class w$ extends yT{constructor(){super(...arguments),this.type="html",this.renderInstance=jT}readValueFromInstance(t,n){var r;if(ea.has(n))return(r=this.projection)!=null&&r.isProjecting?np(n):QL(t,n);{const s=x$(t),i=(ON(n)?s.getPropertyValue(n):s[n])||0;return typeof i=="string"?i.trim():i}}measureInstanceViewportBox(t,{transformPagePoint:n}){return bT(t,n)}build(t,n,r){_y(t,n,r.transformTemplate)}scrapeMotionValuesFromProps(t,n,r){return Py(t,n,r)}}const b$={offset:"stroke-dashoffset",array:"stroke-dasharray"},j$={offset:"strokeDashoffset",array:"strokeDasharray"};function S$(e,t,n=1,r=0,s=!0){e.pathLength=1;const i=s?b$:j$;e[i.offset]=`${-r}`,e[i.array]=`${t} ${n}`}const k$=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function kT(e,{attrX:t,attrY:n,attrScale:r,pathLength:s,pathSpacing:i=1,pathOffset:a=0,...l},c,u,d){if(_y(e,l,u),c){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:f}=e;h.transform&&(f.transform=h.transform,delete h.transform),(f.transform||h.transformOrigin)&&(f.transformOrigin=h.transformOrigin??"50% 50%",delete h.transformOrigin),f.transform&&(f.transformBox=(d==null?void 0:d.transformBox)??"fill-box",delete h.transformBox);for(const m of k$)h[m]!==void 0&&(f[m]=h[m],delete h[m]);t!==void 0&&(h.x=t),n!==void 0&&(h.y=n),r!==void 0&&(h.scale=r),s!==void 0&&S$(h,s,i,a,!1)}const NT=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"]),TT=e=>typeof e=="string"&&e.toLowerCase()==="svg";function N$(e,t,n,r){jT(e,t,void 0,r);for(const s in t.attrs)e.setAttribute(NT.has(s)?s:Sy(s),t.attrs[s])}function CT(e,t,n){const r=Py(e,t,n);for(const s in e)if(ut(e[s])||ut(t[s])){const i=Zo.indexOf(s)!==-1?"attr"+s.charAt(0).toUpperCase()+s.substring(1):s;r[i]=e[s]}return r}class T$ extends yT{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Ke}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(ea.has(n)){const r=iT(n);return r&&r.default||0}return n=NT.has(n)?n:Sy(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,r){return CT(t,n,r)}build(t,n,r){kT(t,n,this.isSVGTag,r.transformTemplate,r.style)}renderInstance(t,n,r,s){N$(t,n,r,s)}mount(t){this.isSVGTag=TT(t.tagName),super.mount(t)}}const C$=Ey.length;function ET(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?ET(e.parent)||{}:{};return e.props.initial!==void 0&&(n.initial=e.props.initial),n}const t={};for(let n=0;n<C$;n++){const r=Ey[n],s=e.props[r];(bl(s)||s===!1)&&(t[r]=s)}return t}function _T(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 E$=[...Cy].reverse(),_$=Cy.length;function P$(e){return t=>Promise.all(t.map(({animation:n,options:r})=>B4(e,n,r)))}function A$(e){let t=P$(e),n=G0(),r=!0;const s=c=>(u,d)=>{var f;const h=ho(e,d,c==="exit"?(f=e.presenceContext)==null?void 0:f.custom:void 0);if(h){const{transition:m,transitionEnd:w,...p}=h;u={...u,...p,...w}}return u};function i(c){t=c(e)}function a(c){const{props:u}=e,d=ET(e.parent)||{},h=[],f=new Set;let m={},w=1/0;for(let y=0;y<_$;y++){const g=E$[y],v=n[g],b=u[g]!==void 0?u[g]:d[g],j=bl(b),S=g===c?v.isActive:null;S===!1&&(w=y);let k=b===d[g]&&b!==u[g]&&j;if(k&&r&&e.manuallyAnimateOnMount&&(k=!1),v.protectedKeys={...m},!v.isActive&&S===null||!b&&!v.prevProp||Md(b)||typeof b=="boolean")continue;const T=R$(v.prevProp,b);let C=T||g===c&&v.isActive&&!k&&j||y>w&&j,P=!1;const R=Array.isArray(b)?b:[b];let V=R.reduce(s(g),{});S===!1&&(V={});const{prevResolvedValues:D={}}=v,G={...D,...V},L=M=>{C=!0,f.has(M)&&(P=!0,f.delete(M)),v.needsAnimating[M]=!0;const _=e.getValue(M);_&&(_.liveStyle=!1)};for(const M in G){const _=V[M],I=D[M];if(m.hasOwnProperty(M))continue;let B=!1;lp(_)&&lp(I)?B=!_T(_,I):B=_!==I,B?_!=null?L(M):f.add(M):_!==void 0&&f.has(M)?L(M):v.protectedKeys[M]=!0}v.prevProp=b,v.prevResolvedValues=V,v.isActive&&(m={...m,...V}),r&&e.blockInitialAnimation&&(C=!1);const $=k&&T;C&&(!$||P)&&h.push(...R.map(M=>{const _={type:g};if(typeof M=="string"&&r&&!$&&e.manuallyAnimateOnMount&&e.parent){const{parent:I}=e,B=ho(I,M);if(I.enteringChildren&&B){const{delayChildren:ee}=B.transition||{};_.delay=XN(I.enteringChildren,e,ee)}}return{animation:M,options:_}}))}if(f.size){const y={};if(typeof u.initial!="boolean"){const g=ho(e,Array.isArray(u.initial)?u.initial[0]:u.initial);g&&g.transition&&(y.transition=g.transition)}f.forEach(g=>{const v=e.getBaseTarget(g),b=e.getValue(g);b&&(b.liveStyle=!0),y[g]=v??null}),h.push({animation:y})}let p=!!h.length;return r&&(u.initial===!1||u.initial===u.animate)&&!e.manuallyAnimateOnMount&&(p=!1),r=!1,p?t(h):Promise.resolve()}function l(c,u){var h;if(n[c].isActive===u)return Promise.resolve();(h=e.variantChildren)==null||h.forEach(f=>{var m;return(m=f.animationState)==null?void 0:m.setActive(c,u)}),n[c].isActive=u;const d=a(c);for(const f in n)n[f].protectedKeys={};return d}return{animateChanges:a,setActive:l,setAnimateFunction:i,getState:()=>n,reset:()=>{n=G0()}}}function R$(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!_T(t,e):!1}function Cs(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function G0(){return{animate:Cs(!0),whileInView:Cs(),whileHover:Cs(),whileTap:Cs(),whileDrag:Cs(),whileFocus:Cs(),exit:Cs()}}function Y0(e,t){e.min=t.min,e.max=t.max}function on(e,t){Y0(e.x,t.x),Y0(e.y,t.y)}function Q0(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}const PT=1e-4,I$=1-PT,O$=1+PT,AT=.01,F$=0-AT,M$=0+AT;function vt(e){return e.max-e.min}function D$(e,t,n){return Math.abs(e-t)<=n}function X0(e,t,n,r=.5){e.origin=r,e.originPoint=Oe(t.min,t.max,e.origin),e.scale=vt(n)/vt(t),e.translate=Oe(n.min,n.max,e.origin)-e.originPoint,(e.scale>=I$&&e.scale<=O$||isNaN(e.scale))&&(e.scale=1),(e.translate>=F$&&e.translate<=M$||isNaN(e.translate))&&(e.translate=0)}function Ha(e,t,n,r){X0(e.x,t.x,n.x,r?r.originX:void 0),X0(e.y,t.y,n.y,r?r.originY:void 0)}function J0(e,t,n){e.min=n.min+t.min,e.max=e.min+vt(t)}function L$(e,t,n){J0(e.x,t.x,n.x),J0(e.y,t.y,n.y)}function Z0(e,t,n){e.min=t.min-n.min,e.max=e.min+vt(t)}function ed(e,t,n){Z0(e.x,t.x,n.x),Z0(e.y,t.y,n.y)}function ew(e,t,n,r,s){return e-=t,e=Zu(e,1/n,r),s!==void 0&&(e=Zu(e,1/s,r)),e}function $$(e,t=0,n=1,r=.5,s,i=e,a=e){if(Mn.test(t)&&(t=parseFloat(t),t=Oe(a.min,a.max,t/100)-a.min),typeof t!="number")return;let l=Oe(i.min,i.max,r);e===i&&(l-=t),e.min=ew(e.min,t,n,l,s),e.max=ew(e.max,t,n,l,s)}function tw(e,t,[n,r,s],i,a){$$(e,t[n],t[r],t[s],t.scale,i,a)}const B$=["x","scaleX","originX"],U$=["y","scaleY","originY"];function nw(e,t,n,r){tw(e.x,t,B$,n?n.x:void 0,r?r.x:void 0),tw(e.y,t,U$,n?n.y:void 0,r?r.y:void 0)}function rw(e){return e.translate===0&&e.scale===1}function RT(e){return rw(e.x)&&rw(e.y)}function sw(e,t){return e.min===t.min&&e.max===t.max}function V$(e,t){return sw(e.x,t.x)&&sw(e.y,t.y)}function iw(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function IT(e,t){return iw(e.x,t.x)&&iw(e.y,t.y)}function ow(e){return vt(e.x)/vt(e.y)}function aw(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function Ut(e){return[e("x"),e("y")]}function z$(e,t,n){let r="";const s=e.x.translate/t.x,i=e.y.translate/t.y,a=(n==null?void 0:n.z)||0;if((s||i||a)&&(r=`translate3d(${s}px, ${i}px, ${a}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){const{transformPerspective:u,rotate:d,rotateX:h,rotateY:f,skewX:m,skewY:w}=n;u&&(r=`perspective(${u}px) ${r}`),d&&(r+=`rotate(${d}deg) `),h&&(r+=`rotateX(${h}deg) `),f&&(r+=`rotateY(${f}deg) `),m&&(r+=`skewX(${m}deg) `),w&&(r+=`skewY(${w}deg) `)}const l=e.x.scale*t.x,c=e.y.scale*t.y;return(l!==1||c!==1)&&(r+=`scale(${l}, ${c})`),r||"none"}const OT=["TopLeft","TopRight","BottomLeft","BottomRight"],H$=OT.length,lw=e=>typeof e=="string"?parseFloat(e):e,cw=e=>typeof e=="number"||W.test(e);function W$(e,t,n,r,s,i){s?(e.opacity=Oe(0,n.opacity??1,q$(r)),e.opacityExit=Oe(t.opacity??1,0,K$(r))):i&&(e.opacity=Oe(t.opacity??1,n.opacity??1,r));for(let a=0;a<H$;a++){const l=`border${OT[a]}Radius`;let c=uw(t,l),u=uw(n,l);if(c===void 0&&u===void 0)continue;c||(c=0),u||(u=0),c===0||u===0||cw(c)===cw(u)?(e[l]=Math.max(Oe(lw(c),lw(u),r),0),(Mn.test(u)||Mn.test(c))&&(e[l]+="%")):e[l]=u}(t.rotate||n.rotate)&&(e.rotate=Oe(t.rotate||0,n.rotate||0,r))}function uw(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const q$=FT(0,.5,EN),K$=FT(.5,.95,Qt);function FT(e,t,n){return r=>r<e?0:r>t?1:n(vl(e,t,r))}function G$(e,t,n){const r=ut(e)?e:$o(e);return r.start(by("",r,t,n)),r.animation}function jl(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}const Y$=(e,t)=>e.depth-t.depth;class Q${constructor(){this.children=[],this.isDirty=!1}add(t){iy(this.children,t),this.isDirty=!0}remove(t){oy(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Y$),this.isDirty=!1,this.children.forEach(t)}}function X$(e,t){const n=yt.now(),r=({timestamp:s})=>{const i=s-n;i>=t&&(ms(r),e(i-t))};return Te.setup(r,!0),()=>ms(r)}function cu(e){return ut(e)?e.get():e}class J${constructor(){this.members=[]}add(t){iy(this.members,t),t.scheduleRender()}remove(t){if(oy(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){const n=this.members.findIndex(s=>t===s);if(n===0)return!1;let r;for(let s=n;s>=0;s--){const i=this.members[s];if(i.isPresent!==!1){r=i;break}}return r?(this.promote(r),!0):!1}promote(t,n){const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.instance&&r.scheduleRender(),t.scheduleRender();const s=r.options.layoutDependency,i=t.options.layoutDependency;s!==void 0&&i!==void 0&&s===i||(t.resumeFrom=r,n&&(t.resumeFrom.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),t.root&&t.root.isUpdating&&(t.isLayoutDirty=!0));const{crossfade:l}=t.options;l===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{const{options:n,resumingFrom:r}=t;n.onExitComplete&&n.onExitComplete(),r&&r.options.onExitComplete&&r.options.onExitComplete()})}scheduleRender(){this.members.forEach(t=>{t.instance&&t.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}const uu={hasAnimatedSinceResize:!0,hasEverUpdated:!1},Qh=["","X","Y","Z"],Z$=1e3;let e3=0;function Xh(e,t,n,r){const{latestValues:s}=t;s[e]&&(n[e]=s[e],t.setStaticValue(e,0),r&&(r[e]=0))}function MT(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const n=tT(t);if(window.MotionHasOptimisedAnimation(n,"transform")){const{layout:s,layoutId:i}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",Te,!(s||i))}const{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&MT(r)}function DT({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:s}){return class{constructor(a={},l=t==null?void 0:t()){this.id=e3++,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(r3),this.nodes.forEach(a3),this.nodes.forEach(l3),this.nodes.forEach(s3)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=a,this.root=l?l.root||l:this,this.path=l?[...l.path,l]:[],this.parent=l,this.depth=l?l.depth+1:0;for(let c=0;c<this.path.length;c++)this.path[c].shouldResetTransform=!0;this.root===this&&(this.nodes=new Q$)}addEventListener(a,l){return this.eventHandlers.has(a)||this.eventHandlers.set(a,new ly),this.eventHandlers.get(a).add(l)}notifyListeners(a,...l){const c=this.eventHandlers.get(a);c&&c.notify(...l)}hasListeners(a){return this.eventHandlers.has(a)}mount(a){if(this.instance)return;this.isSVG=fT(a)&&!n$(a),this.instance=a;const{layoutId:l,layout:c,visualElement:u}=this.options;if(u&&!u.current&&u.mount(a),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(c||l)&&(this.isLayoutDirty=!0),e){let d,h=0;const f=()=>this.root.updateBlockedByResize=!1;Te.read(()=>{h=window.innerWidth}),e(a,()=>{const m=window.innerWidth;m!==h&&(h=m,this.root.updateBlockedByResize=!0,d&&d(),d=X$(f,250),uu.hasAnimatedSinceResize&&(uu.hasAnimatedSinceResize=!1,this.nodes.forEach(fw)))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&u&&(l||c)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:h,hasRelativeLayoutChanged:f,layout:m})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const w=this.options.transition||u.getDefaultTransition()||f3,{onLayoutAnimationStart:p,onLayoutAnimationComplete:y}=u.getProps(),g=!this.targetLayout||!IT(this.targetLayout,m),v=!h&&f;if(this.options.layoutRoot||this.resumeFrom||v||h&&(g||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const b={...wy(w,"layout"),onPlay:p,onComplete:y};(u.shouldReduceMotion||this.options.layoutRoot)&&(b.delay=0,b.type=!1),this.startAnimation(b),this.setAnimationOrigin(d,v)}else h||fw(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=m})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const a=this.getStack();a&&a.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),ms(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(c3),this.animationId++)}getTransformTemplate(){const{visualElement:a}=this.options;return a&&a.getProps().transformTemplate}willUpdate(a=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&MT(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let d=0;d<this.path.length;d++){const h=this.path[d];h.shouldResetTransform=!0,h.updateScroll("snapshot"),h.options.layoutRoot&&h.willUpdate(!1)}const{layoutId:l,layout:c}=this.options;if(l===void 0&&!c)return;const u=this.getTransformTemplate();this.prevTransformTemplateValue=u?u(this.latestValues,""):void 0,this.updateSnapshot(),a&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(dw);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(hw);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(o3),this.nodes.forEach(t3),this.nodes.forEach(n3)):this.nodes.forEach(hw),this.clearAllSnapshots();const l=yt.now();nt.delta=Un(0,1e3/60,l-nt.timestamp),nt.timestamp=l,nt.isProcessing=!0,Vh.update.process(nt),Vh.preRender.process(nt),Vh.render.process(nt),nt.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,Ny.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(i3),this.sharedNodes.forEach(u3)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,Te.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){Te.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!vt(this.snapshot.measuredBox.x)&&!vt(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 c=0;c<this.path.length;c++)this.path[c].updateScroll();const a=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected=Ke(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:l}=this.options;l&&l.notify("LayoutMeasure",this.layout.layoutBox,a?a.layoutBox:void 0)}updateScroll(a="measure"){let l=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===a&&(l=!1),l&&this.instance){const c=r(this.instance);this.scroll={animationId:this.root.animationId,phase:a,isRoot:c,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:c}}}resetTransform(){if(!s)return;const a=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,l=this.projectionDelta&&!RT(this.projectionDelta),c=this.getTransformTemplate(),u=c?c(this.latestValues,""):void 0,d=u!==this.prevTransformTemplateValue;a&&this.instance&&(l||Rs(this.latestValues)||d)&&(s(this.instance,u),this.shouldResetTransform=!1,this.scheduleRender())}measure(a=!0){const l=this.measurePageBox();let c=this.removeElementScroll(l);return a&&(c=this.removeTransform(c)),m3(c),{animationId:this.root.animationId,measuredBox:l,layoutBox:c,latestValues:{},source:this.id}}measurePageBox(){var u;const{visualElement:a}=this.options;if(!a)return Ke();const l=a.measureViewportBox();if(!(((u=this.scroll)==null?void 0:u.wasRoot)||this.path.some(p3))){const{scroll:d}=this.root;d&&(Ji(l.x,d.offset.x),Ji(l.y,d.offset.y))}return l}removeElementScroll(a){var c;const l=Ke();if(on(l,a),(c=this.scroll)!=null&&c.wasRoot)return l;for(let u=0;u<this.path.length;u++){const d=this.path[u],{scroll:h,options:f}=d;d!==this.root&&h&&f.layoutScroll&&(h.wasRoot&&on(l,a),Ji(l.x,h.offset.x),Ji(l.y,h.offset.y))}return l}applyTransform(a,l=!1){const c=Ke();on(c,a);for(let u=0;u<this.path.length;u++){const d=this.path[u];!l&&d.options.layoutScroll&&d.scroll&&d!==d.root&&Zi(c,{x:-d.scroll.offset.x,y:-d.scroll.offset.y}),Rs(d.latestValues)&&Zi(c,d.latestValues)}return Rs(this.latestValues)&&Zi(c,this.latestValues),c}removeTransform(a){const l=Ke();on(l,a);for(let c=0;c<this.path.length;c++){const u=this.path[c];if(!u.instance||!Rs(u.latestValues))continue;mp(u.latestValues)&&u.updateSnapshot();const d=Ke(),h=u.measurePageBox();on(d,h),nw(l,u.latestValues,u.snapshot?u.snapshot.layoutBox:void 0,d)}return Rs(this.latestValues)&&nw(l,this.latestValues),l}setTargetDelta(a){this.targetDelta=a,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(a){this.options={...this.options,...a,crossfade:a.crossfade!==void 0?a.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!==nt.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(a=!1){var m;const l=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=l.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=l.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=l.isSharedProjectionDirty);const c=!!this.resumingFrom||this!==l;if(!(a||c&&this.isSharedProjectionDirty||this.isProjectionDirty||(m=this.parent)!=null&&m.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:d,layoutId:h}=this.options;if(!this.layout||!(d||h))return;this.resolvedRelativeTargetAt=nt.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=Ke(),this.targetWithTransforms=Ke()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),L$(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):on(this.target,this.layout.layoutBox),wT(this.target,this.targetDelta)):on(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||mp(this.parent.latestValues)||xT(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(a,l,c){this.relativeParent=a,this.linkedParentVersion=a.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=Ke(),this.relativeTargetOrigin=Ke(),ed(this.relativeTargetOrigin,l,c),on(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){var w;const a=this.getLead(),l=!!this.resumingFrom||this!==a;let c=!0;if((this.isProjectionDirty||(w=this.parent)!=null&&w.isProjectionDirty)&&(c=!1),l&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(c=!1),this.resolvedRelativeTargetAt===nt.timestamp&&(c=!1),c)return;const{layout:u,layoutId:d}=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||d))return;on(this.layoutCorrected,this.layout.layoutBox);const h=this.treeScale.x,f=this.treeScale.y;f$(this.layoutCorrected,this.treeScale,this.path,l),a.layout&&!a.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(a.target=a.layout.layoutBox,a.targetWithTransforms=Ke());const{target:m}=a;if(!m){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Q0(this.prevProjectionDelta.x,this.projectionDelta.x),Q0(this.prevProjectionDelta.y,this.projectionDelta.y)),Ha(this.projectionDelta,this.layoutCorrected,m,this.latestValues),(this.treeScale.x!==h||this.treeScale.y!==f||!aw(this.projectionDelta.x,this.prevProjectionDelta.x)||!aw(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",m))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(a=!0){var l;if((l=this.options.visualElement)==null||l.scheduleRender(),a){const c=this.getStack();c&&c.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=Xi(),this.projectionDelta=Xi(),this.projectionDeltaWithTransform=Xi()}setAnimationOrigin(a,l=!1){const c=this.snapshot,u=c?c.latestValues:{},d={...this.latestValues},h=Xi();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!l;const f=Ke(),m=c?c.source:void 0,w=this.layout?this.layout.source:void 0,p=m!==w,y=this.getStack(),g=!y||y.members.length<=1,v=!!(p&&!g&&this.options.crossfade===!0&&!this.path.some(h3));this.animationProgress=0;let b;this.mixTargetDelta=j=>{const S=j/1e3;mw(h.x,a.x,S),mw(h.y,a.y,S),this.setTargetDelta(h),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(ed(f,this.layout.layoutBox,this.relativeParent.layout.layoutBox),d3(this.relativeTarget,this.relativeTargetOrigin,f,S),b&&V$(this.relativeTarget,b)&&(this.isProjectionDirty=!1),b||(b=Ke()),on(b,this.relativeTarget)),p&&(this.animationValues=d,W$(d,u,this.latestValues,S,v,g)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=S},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(a){var l,c,u;this.notifyListeners("animationStart"),(l=this.currentAnimation)==null||l.stop(),(u=(c=this.resumingFrom)==null?void 0:c.currentAnimation)==null||u.stop(),this.pendingAnimation&&(ms(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Te.update(()=>{uu.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=$o(0)),this.currentAnimation=G$(this.motionValue,[0,1e3],{...a,velocity:0,isSync:!0,onUpdate:d=>{this.mixTargetDelta(d),a.onUpdate&&a.onUpdate(d)},onStop:()=>{},onComplete:()=>{a.onComplete&&a.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 a=this.getStack();a&&a.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Z$),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const a=this.getLead();let{targetWithTransforms:l,target:c,layout:u,latestValues:d}=a;if(!(!l||!c||!u)){if(this!==a&&this.layout&&u&&LT(this.options.animationType,this.layout.layoutBox,u.layoutBox)){c=this.target||Ke();const h=vt(this.layout.layoutBox.x);c.x.min=a.target.x.min,c.x.max=c.x.min+h;const f=vt(this.layout.layoutBox.y);c.y.min=a.target.y.min,c.y.max=c.y.min+f}on(l,c),Zi(l,d),Ha(this.projectionDeltaWithTransform,this.layoutCorrected,l,d)}}registerSharedNode(a,l){this.sharedNodes.has(a)||this.sharedNodes.set(a,new J$),this.sharedNodes.get(a).add(l);const u=l.options.initialPromotionConfig;l.promote({transition:u?u.transition:void 0,preserveFollowOpacity:u&&u.shouldPreserveFollowOpacity?u.shouldPreserveFollowOpacity(l):void 0})}isLead(){const a=this.getStack();return a?a.lead===this:!0}getLead(){var l;const{layoutId:a}=this.options;return a?((l=this.getStack())==null?void 0:l.lead)||this:this}getPrevLead(){var l;const{layoutId:a}=this.options;return a?(l=this.getStack())==null?void 0:l.prevLead:void 0}getStack(){const{layoutId:a}=this.options;if(a)return this.root.sharedNodes.get(a)}promote({needsReset:a,transition:l,preserveFollowOpacity:c}={}){const u=this.getStack();u&&u.promote(this,c),a&&(this.projectionDelta=void 0,this.needsReset=!0),l&&this.setOptions({transition:l})}relegate(){const a=this.getStack();return a?a.relegate(this):!1}resetSkewAndRotation(){const{visualElement:a}=this.options;if(!a)return;let l=!1;const{latestValues:c}=a;if((c.z||c.rotate||c.rotateX||c.rotateY||c.rotateZ||c.skewX||c.skewY)&&(l=!0),!l)return;const u={};c.z&&Xh("z",a,u,this.animationValues);for(let d=0;d<Qh.length;d++)Xh(`rotate${Qh[d]}`,a,u,this.animationValues),Xh(`skew${Qh[d]}`,a,u,this.animationValues);a.render();for(const d in u)a.setStaticValue(d,u[d]),this.animationValues&&(this.animationValues[d]=u[d]);a.scheduleRender()}applyProjectionStyles(a,l){if(!this.instance||this.isSVG)return;if(!this.isVisible){a.visibility="hidden";return}const c=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,a.visibility="",a.opacity="",a.pointerEvents=cu(l==null?void 0:l.pointerEvents)||"",a.transform=c?c(this.latestValues,""):"none";return}const u=this.getLead();if(!this.projectionDelta||!this.layout||!u.target){this.options.layoutId&&(a.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,a.pointerEvents=cu(l==null?void 0:l.pointerEvents)||""),this.hasProjected&&!Rs(this.latestValues)&&(a.transform=c?c({},""):"none",this.hasProjected=!1);return}a.visibility="";const d=u.animationValues||u.latestValues;this.applyTransformsToTarget();let h=z$(this.projectionDeltaWithTransform,this.treeScale,d);c&&(h=c(d,h)),a.transform=h;const{x:f,y:m}=this.projectionDelta;a.transformOrigin=`${f.origin*100}% ${m.origin*100}% 0`,u.animationValues?a.opacity=u===this?d.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:d.opacityExit:a.opacity=u===this?d.opacity!==void 0?d.opacity:"":d.opacityExit!==void 0?d.opacityExit:0;for(const w in gp){if(d[w]===void 0)continue;const{correct:p,applyTo:y,isCSSVariable:g}=gp[w],v=h==="none"?d[w]:p(d[w],u);if(y){const b=y.length;for(let j=0;j<b;j++)a[y[j]]=v}else g?this.options.visualElement.renderState.vars[w]=v:a[w]=v}this.options.layoutId&&(a.pointerEvents=u===this?cu(l==null?void 0:l.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(a=>{var l;return(l=a.currentAnimation)==null?void 0:l.stop()}),this.root.nodes.forEach(dw),this.root.sharedNodes.clear()}}}function t3(e){e.updateLayout()}function n3(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:s}=e.layout,{animationType:i}=e.options,a=t.source!==e.layout.source;i==="size"?Ut(h=>{const f=a?t.measuredBox[h]:t.layoutBox[h],m=vt(f);f.min=r[h].min,f.max=f.min+m}):LT(i,t.layoutBox,r)&&Ut(h=>{const f=a?t.measuredBox[h]:t.layoutBox[h],m=vt(r[h]);f.max=f.min+m,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[h].max=e.relativeTarget[h].min+m)});const l=Xi();Ha(l,r,t.layoutBox);const c=Xi();a?Ha(c,e.applyTransform(s,!0),t.measuredBox):Ha(c,r,t.layoutBox);const u=!RT(l);let d=!1;if(!e.resumeFrom){const h=e.getClosestProjectingParent();if(h&&!h.resumeFrom){const{snapshot:f,layout:m}=h;if(f&&m){const w=Ke();ed(w,t.layoutBox,f.layoutBox);const p=Ke();ed(p,r,m.layoutBox),IT(w,p)||(d=!0),h.options.layoutRoot&&(e.relativeTarget=p,e.relativeTargetOrigin=w,e.relativeParent=h)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:t,delta:c,layoutDelta:l,hasLayoutChanged:u,hasRelativeLayoutChanged:d})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function r3(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 s3(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function i3(e){e.clearSnapshot()}function dw(e){e.clearMeasurements()}function hw(e){e.isLayoutDirty=!1}function o3(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function fw(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function a3(e){e.resolveTargetDelta()}function l3(e){e.calcProjection()}function c3(e){e.resetSkewAndRotation()}function u3(e){e.removeLeadSnapshot()}function mw(e,t,n){e.translate=Oe(t.translate,0,n),e.scale=Oe(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function pw(e,t,n,r){e.min=Oe(t.min,n.min,r),e.max=Oe(t.max,n.max,r)}function d3(e,t,n,r){pw(e.x,t.x,n.x,r),pw(e.y,t.y,n.y,r)}function h3(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const f3={duration:.45,ease:[.4,0,.1,1]},gw=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),yw=gw("applewebkit/")&&!gw("chrome/")?Math.round:Qt;function vw(e){e.min=yw(e.min),e.max=yw(e.max)}function m3(e){vw(e.x),vw(e.y)}function LT(e,t,n){return e==="position"||e==="preserve-aspect"&&!D$(ow(t),ow(n),.2)}function p3(e){var t;return e!==e.root&&((t=e.scroll)==null?void 0:t.wasRoot)}const g3=DT({attachResizeListener:(e,t)=>jl(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}),Jh={current:void 0},$T=DT({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!Jh.current){const e=new g3({});e.mount(window),e.setOptions({layoutScroll:!0}),Jh.current=e}return Jh.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),Ay=x.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});function xw(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function y3(...e){return t=>{let n=!1;const r=e.map(s=>{const i=xw(s,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let s=0;s<r.length;s++){const i=r[s];typeof i=="function"?i():xw(e[s],null)}}}}function v3(...e){return x.useCallback(y3(...e),e)}class x3 extends x.Component{getSnapshotBeforeUpdate(t){const n=this.props.childRef.current;if(n&&t.isPresent&&!this.props.isPresent){const r=n.offsetParent,s=hp(r)&&r.offsetWidth||0,i=hp(r)&&r.offsetHeight||0,a=this.props.sizeRef.current;a.height=n.offsetHeight||0,a.width=n.offsetWidth||0,a.top=n.offsetTop,a.left=n.offsetLeft,a.right=s-a.width-a.left,a.bottom=i-a.height-a.top}return null}componentDidUpdate(){}render(){return this.props.children}}function w3({children:e,isPresent:t,anchorX:n,anchorY:r,root:s}){var h;const i=x.useId(),a=x.useRef(null),l=x.useRef({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:c}=x.useContext(Ay),u=((h=e.props)==null?void 0:h.ref)??(e==null?void 0:e.ref),d=v3(a,u);return x.useInsertionEffect(()=>{const{width:f,height:m,top:w,left:p,right:y,bottom:g}=l.current;if(t||!a.current||!f||!m)return;const v=n==="left"?`left: ${p}`:`right: ${y}`,b=r==="bottom"?`bottom: ${g}`:`top: ${w}`;a.current.dataset.motionPopId=i;const j=document.createElement("style");c&&(j.nonce=c);const S=s??document.head;return S.appendChild(j),j.sheet&&j.sheet.insertRule(`
          [data-motion-pop-id="${i}"] {
            position: absolute !important;
            width: ${f}px !important;
            height: ${m}px !important;
            ${v}px !important;
            ${b}px !important;
          }
        `),()=>{S.contains(j)&&S.removeChild(j)}},[t]),o.jsx(x3,{isPresent:t,childRef:a,sizeRef:l,children:x.cloneElement(e,{ref:d})})}const b3=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:s,presenceAffectsLayout:i,mode:a,anchorX:l,anchorY:c,root:u})=>{const d=sy(j3),h=x.useId();let f=!0,m=x.useMemo(()=>(f=!1,{id:h,initial:t,isPresent:n,custom:s,onExitComplete:w=>{d.set(w,!0);for(const p of d.values())if(!p)return;r&&r()},register:w=>(d.set(w,!1),()=>d.delete(w))}),[n,d,r]);return i&&f&&(m={...m}),x.useMemo(()=>{d.forEach((w,p)=>d.set(p,!1))},[n]),x.useEffect(()=>{!n&&!d.size&&r&&r()},[n]),a==="popLayout"&&(e=o.jsx(w3,{isPresent:n,anchorX:l,anchorY:c,root:u,children:e})),o.jsx(Od.Provider,{value:m,children:e})};function j3(){return new Map}function BT(e=!0){const t=x.useContext(Od);if(t===null)return[!0,null];const{isPresent:n,onExitComplete:r,register:s}=t,i=x.useId();x.useEffect(()=>{if(e)return s(i)},[e]);const a=x.useCallback(()=>e&&r&&r(i),[i,r,e]);return!n&&r?[!1,a]:[!0]}const _c=e=>e.key||"";function ww(e){const t=[];return x.Children.forEach(e,n=>{x.isValidElement(n)&&t.push(n)}),t}const UT=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:s=!0,mode:i="sync",propagate:a=!1,anchorX:l="left",anchorY:c="top",root:u})=>{const[d,h]=BT(a),f=x.useMemo(()=>ww(e),[e]),m=a&&!d?[]:f.map(_c),w=x.useRef(!0),p=x.useRef(f),y=sy(()=>new Map),g=x.useRef(new Set),[v,b]=x.useState(f),[j,S]=x.useState(f);yN(()=>{w.current=!1,p.current=f;for(let C=0;C<j.length;C++){const P=_c(j[C]);m.includes(P)?(y.delete(P),g.current.delete(P)):y.get(P)!==!0&&y.set(P,!1)}},[j,m.length,m.join("-")]);const k=[];if(f!==v){let C=[...f];for(let P=0;P<j.length;P++){const R=j[P],V=_c(R);m.includes(V)||(C.splice(P,0,R),k.push(R))}return i==="wait"&&k.length&&(C=k),S(ww(C)),b(f),null}const{forceRender:T}=x.useContext(ry);return o.jsx(o.Fragment,{children:j.map(C=>{const P=_c(C),R=a&&!d?!1:f===j||m.includes(P),V=()=>{if(g.current.has(P))return;if(g.current.add(P),y.has(P))y.set(P,!0);else return;let D=!0;y.forEach(G=>{G||(D=!1)}),D&&(T==null||T(),S(p.current),a&&(h==null||h()),r&&r())};return o.jsx(b3,{isPresent:R,initial:!w.current||n?void 0:!1,custom:t,presenceAffectsLayout:s,mode:i,root:u,onExitComplete:R?void 0:V,anchorX:l,anchorY:c,children:C},P)})})},VT=x.createContext({strict:!1}),bw={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 jw=!1;function S3(){if(jw)return;const e={};for(const t in bw)e[t]={isEnabled:n=>bw[t].some(r=>!!n[r])};gT(e),jw=!0}function zT(){return S3(),c$()}function k3(e){const t=zT();for(const n in e)t[n]={...t[n],...e[n]};gT(t)}const N3=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","ignoreStrict","viewport"]);function td(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||N3.has(e)}let HT=e=>!td(e);function T3(e){typeof e=="function"&&(HT=t=>t.startsWith("on")?!td(t):e(t))}try{T3(require("@emotion/is-prop-valid").default)}catch{}function C3(e,t,n){const r={};for(const s in e)s==="values"&&typeof e.values=="object"||(HT(s)||n===!0&&td(s)||!t&&!td(s)||e.draggable&&s.startsWith("onDrag"))&&(r[s]=e[s]);return r}const Ld=x.createContext({});function E3(e,t){if(Dd(e)){const{initial:n,animate:r}=e;return{initial:n===!1||bl(n)?n:void 0,animate:bl(r)?r:void 0}}return e.inherit!==!1?t:{}}function _3(e){const{initial:t,animate:n}=E3(e,x.useContext(Ld));return x.useMemo(()=>({initial:t,animate:n}),[Sw(t),Sw(n)])}function Sw(e){return Array.isArray(e)?e.join(" "):e}const Ry=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function WT(e,t,n){for(const r in t)!ut(t[r])&&!ST(r,n)&&(e[r]=t[r])}function P3({transformTemplate:e},t){return x.useMemo(()=>{const n=Ry();return _y(n,t,e),Object.assign({},n.vars,n.style)},[t])}function A3(e,t){const n=e.style||{},r={};return WT(r,n,e),Object.assign(r,P3(e,t)),r}function R3(e,t){const n={},r=A3(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 qT=()=>({...Ry(),attrs:{}});function I3(e,t,n,r){const s=x.useMemo(()=>{const i=qT();return kT(i,t,TT(r),e.transformTemplate,e.style),{...i.attrs,style:{...i.style}}},[t]);if(e.style){const i={};WT(i,e.style,e),s.style={...i,...s.style}}return s}const O3=["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 Iy(e){return typeof e!="string"||e.includes("-")?!1:!!(O3.indexOf(e)>-1||/[A-Z]/u.test(e))}function F3(e,t,n,{latestValues:r},s,i=!1,a){const c=(a??Iy(e)?I3:R3)(t,r,s,e),u=C3(t,typeof e=="string",i),d=e!==x.Fragment?{...u,...c,ref:n}:{},{children:h}=t,f=x.useMemo(()=>ut(h)?h.get():h,[h]);return x.createElement(e,{...d,children:f})}function M3({scrapeMotionValuesFromProps:e,createRenderState:t},n,r,s){return{latestValues:D3(n,r,s,e),renderState:t()}}function D3(e,t,n,r){const s={},i=r(e,{});for(const f in i)s[f]=cu(i[f]);let{initial:a,animate:l}=e;const c=Dd(e),u=pT(e);t&&u&&!c&&e.inherit!==!1&&(a===void 0&&(a=t.initial),l===void 0&&(l=t.animate));let d=n?n.initial===!1:!1;d=d||a===!1;const h=d?l:a;if(h&&typeof h!="boolean"&&!Md(h)){const f=Array.isArray(h)?h:[h];for(let m=0;m<f.length;m++){const w=jy(e,f[m]);if(w){const{transitionEnd:p,transition:y,...g}=w;for(const v in g){let b=g[v];if(Array.isArray(b)){const j=d?b.length-1:0;b=b[j]}b!==null&&(s[v]=b)}for(const v in p)s[v]=p[v]}}}return s}const KT=e=>(t,n)=>{const r=x.useContext(Ld),s=x.useContext(Od),i=()=>M3(e,t,r,s);return n?i():sy(i)},L3=KT({scrapeMotionValuesFromProps:Py,createRenderState:Ry}),$3=KT({scrapeMotionValuesFromProps:CT,createRenderState:qT}),B3=Symbol.for("motionComponentSymbol");function U3(e,t,n){const r=x.useRef(n);x.useInsertionEffect(()=>{r.current=n});const s=x.useRef(null);return x.useCallback(i=>{var l;i&&((l=e.onMount)==null||l.call(e,i)),t&&(i?t.mount(i):t.unmount());const a=r.current;if(typeof a=="function")if(i){const c=a(i);typeof c=="function"&&(s.current=c)}else s.current?(s.current(),s.current=null):a(i);else a&&(a.current=i)},[t])}const GT=x.createContext({});function Ea(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function V3(e,t,n,r,s,i){var g,v;const{visualElement:a}=x.useContext(Ld),l=x.useContext(VT),c=x.useContext(Od),u=x.useContext(Ay).reducedMotion,d=x.useRef(null),h=x.useRef(!1);r=r||l.renderer,!d.current&&r&&(d.current=r(e,{visualState:t,parent:a,props:n,presenceContext:c,blockInitialAnimation:c?c.initial===!1:!1,reducedMotionConfig:u,isSVG:i}),h.current&&d.current&&(d.current.manuallyAnimateOnMount=!0));const f=d.current,m=x.useContext(GT);f&&!f.projection&&s&&(f.type==="html"||f.type==="svg")&&z3(d.current,n,s,m);const w=x.useRef(!1);x.useInsertionEffect(()=>{f&&w.current&&f.update(n,c)});const p=n[eT],y=x.useRef(!!p&&!((g=window.MotionHandoffIsComplete)!=null&&g.call(window,p))&&((v=window.MotionHasOptimisedAnimation)==null?void 0:v.call(window,p)));return yN(()=>{h.current=!0,f&&(w.current=!0,window.MotionIsMounted=!0,f.updateFeatures(),f.scheduleRenderMicrotask(),y.current&&f.animationState&&f.animationState.animateChanges())}),x.useEffect(()=>{f&&(!y.current&&f.animationState&&f.animationState.animateChanges(),y.current&&(queueMicrotask(()=>{var b;(b=window.MotionHandoffMarkAsComplete)==null||b.call(window,p)}),y.current=!1),f.enteringChildren=void 0)}),f}function z3(e,t,n,r){const{layoutId:s,layout:i,drag:a,dragConstraints:l,layoutScroll:c,layoutRoot:u,layoutCrossfade:d}=t;e.projection=new n(e.latestValues,t["data-framer-portal-id"]?void 0:YT(e.parent)),e.projection.setOptions({layoutId:s,layout:i,alwaysMeasureLayout:!!a||l&&Ea(l),visualElement:e,animationType:typeof i=="string"?i:"both",initialPromotionConfig:r,crossfade:d,layoutScroll:c,layoutRoot:u})}function YT(e){if(e)return e.options.allowProjection!==!1?e.projection:YT(e.parent)}function Zh(e,{forwardMotionProps:t=!1,type:n}={},r,s){r&&k3(r);const i=n?n==="svg":Iy(e),a=i?$3:L3;function l(u,d){let h;const f={...x.useContext(Ay),...u,layoutId:H3(u)},{isStatic:m}=f,w=_3(u),p=a(u,m);if(!m&&gN){W3();const y=q3(f);h=y.MeasureLayout,w.visualElement=V3(e,p,f,s,y.ProjectionNode,i)}return o.jsxs(Ld.Provider,{value:w,children:[h&&w.visualElement?o.jsx(h,{visualElement:w.visualElement,...f}):null,F3(e,u,U3(p,w.visualElement,d),p,m,t,i)]})}l.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const c=x.forwardRef(l);return c[B3]=e,c}function H3({layoutId:e}){const t=x.useContext(ry).id;return t&&e!==void 0?t+"-"+e:e}function W3(e,t){x.useContext(VT).strict}function q3(e){const t=zT(),{drag:n,layout:r}=t;if(!n&&!r)return{};const s={...n,...r};return{MeasureLayout:n!=null&&n.isEnabled(e)||r!=null&&r.isEnabled(e)?s.MeasureLayout:void 0,ProjectionNode:s.ProjectionNode}}function K3(e,t){if(typeof Proxy>"u")return Zh;const n=new Map,r=(i,a)=>Zh(i,a,e,t),s=(i,a)=>r(i,a);return new Proxy(s,{get:(i,a)=>a==="create"?r:(n.has(a)||n.set(a,Zh(a,void 0,e,t)),n.get(a))})}const G3=(e,t)=>t.isSVG??Iy(e)?new T$(t):new w$(t,{allowProjection:e!==x.Fragment});class Y3 extends js{constructor(t){super(t),t.animationState||(t.animationState=A$(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();Md(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 Q3=0;class X3 extends js{constructor(){super(...arguments),this.id=Q3++}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 s=this.node.animationState.setActive("exit",!t);n&&!t&&s.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 J3={animation:{Feature:Y3},exit:{Feature:X3}};function Xl(e){return{point:{x:e.pageX,y:e.pageY}}}const Z3=e=>t=>Ty(t)&&e(t,Xl(t));function Wa(e,t,n,r){return jl(e,t,Z3(n),r)}const QT=({current:e})=>e?e.ownerDocument.defaultView:null,kw=(e,t)=>Math.abs(e-t);function e5(e,t){const n=kw(e.x,t.x),r=kw(e.y,t.y);return Math.sqrt(n**2+r**2)}const Nw=new Set(["auto","scroll"]);class XT{constructor(t,n,{transformPagePoint:r,contextWindow:s=window,dragSnapToOrigin:i=!1,distanceThreshold:a=3,element:l}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=m=>{this.handleScroll(m.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const m=tf(this.lastMoveEventInfo,this.history),w=this.startEvent!==null,p=e5(m.offset,{x:0,y:0})>=this.distanceThreshold;if(!w&&!p)return;const{point:y}=m,{timestamp:g}=nt;this.history.push({...y,timestamp:g});const{onStart:v,onMove:b}=this.handlers;w||(v&&v(this.lastMoveEvent,m),this.startEvent=this.lastMoveEvent),b&&b(this.lastMoveEvent,m)},this.handlePointerMove=(m,w)=>{this.lastMoveEvent=m,this.lastMoveEventInfo=ef(w,this.transformPagePoint),Te.update(this.updatePoint,!0)},this.handlePointerUp=(m,w)=>{this.end();const{onEnd:p,onSessionEnd:y,resumeAnimation:g}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&g&&g(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const v=tf(m.type==="pointercancel"?this.lastMoveEventInfo:ef(w,this.transformPagePoint),this.history);this.startEvent&&p&&p(m,v),y&&y(m,v)},!Ty(t))return;this.dragSnapToOrigin=i,this.handlers=n,this.transformPagePoint=r,this.distanceThreshold=a,this.contextWindow=s||window;const c=Xl(t),u=ef(c,this.transformPagePoint),{point:d}=u,{timestamp:h}=nt;this.history=[{...d,timestamp:h}];const{onSessionStart:f}=n;f&&f(t,tf(u,this.history)),this.removeListeners=Gl(Wa(this.contextWindow,"pointermove",this.handlePointerMove),Wa(this.contextWindow,"pointerup",this.handlePointerUp),Wa(this.contextWindow,"pointercancel",this.handlePointerUp)),l&&this.startScrollTracking(l)}startScrollTracking(t){let n=t.parentElement;for(;n;){const r=getComputedStyle(n);(Nw.has(r.overflowX)||Nw.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,passive:!0}),window.addEventListener("scroll",this.onWindowScroll,{passive:!0}),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,s=r?{x:window.scrollX,y:window.scrollY}:{x:t.scrollLeft,y:t.scrollTop},i={x:s.x-n.x,y:s.y-n.y};i.x===0&&i.y===0||(r?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=i.x,this.lastMoveEventInfo.point.y+=i.y):this.history.length>0&&(this.history[0].x-=i.x,this.history[0].y-=i.y),this.scrollPositions.set(t,s),Te.update(this.updatePoint,!0))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),ms(this.updatePoint)}}function ef(e,t){return t?{point:t(e.point)}:e}function Tw(e,t){return{x:e.x-t.x,y:e.y-t.y}}function tf({point:e},t){return{point:e,delta:Tw(e,JT(t)),offset:Tw(e,t5(t)),velocity:n5(t,.1)}}function t5(e){return e[0]}function JT(e){return e[e.length-1]}function n5(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const s=JT(e);for(;n>=0&&(r=e[n],!(s.timestamp-r.timestamp>Fn(t)));)n--;if(!r)return{x:0,y:0};const i=Gt(s.timestamp-r.timestamp);if(i===0)return{x:0,y:0};const a={x:(s.x-r.x)/i,y:(s.y-r.y)/i};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}function r5(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?Oe(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?Oe(n,e,r.max):Math.min(e,n)),e}function Cw(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 s5(e,{top:t,left:n,bottom:r,right:s}){return{x:Cw(e.x,n,s),y:Cw(e.y,t,r)}}function Ew(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 i5(e,t){return{x:Ew(e.x,t.x),y:Ew(e.y,t.y)}}function o5(e,t){let n=.5;const r=vt(e),s=vt(t);return s>r?n=vl(t.min,t.max-r,e.min):r>s&&(n=vl(e.min,e.max-s,t.min)),Un(0,1,n)}function a5(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 yp=.35;function l5(e=yp){return e===!1?e=0:e===!0&&(e=yp),{x:_w(e,"left","right"),y:_w(e,"top","bottom")}}function _w(e,t,n){return{min:Pw(e,t),max:Pw(e,n)}}function Pw(e,t){return typeof e=="number"?e:e[t]||0}const c5=new WeakMap;class u5{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=Ke(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:n=!1,distanceThreshold:r}={}){const{presenceContext:s}=this.visualElement;if(s&&s.isPresent===!1)return;const i=h=>{n?(this.stopAnimation(),this.snapToCursor(Xl(h).point)):this.pauseAnimation()},a=(h,f)=>{this.stopAnimation();const{drag:m,dragPropagation:w,onDragStart:p}=this.getProps();if(m&&!w&&(this.openDragLock&&this.openDragLock(),this.openDragLock=X4(m),!this.openDragLock))return;this.latestPointerEvent=h,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),Ut(g=>{let v=this.getAxisMotionValue(g).get()||0;if(Mn.test(v)){const{projection:b}=this.visualElement;if(b&&b.layout){const j=b.layout.layoutBox[g];j&&(v=vt(j)*(parseFloat(v)/100))}}this.originPoint[g]=v}),p&&Te.postRender(()=>p(h,f)),cp(this.visualElement,"transform");const{animationState:y}=this.visualElement;y&&y.setActive("whileDrag",!0)},l=(h,f)=>{this.latestPointerEvent=h,this.latestPanInfo=f;const{dragPropagation:m,dragDirectionLock:w,onDirectionLock:p,onDrag:y}=this.getProps();if(!m&&!this.openDragLock)return;const{offset:g}=f;if(w&&this.currentDirection===null){this.currentDirection=d5(g),this.currentDirection!==null&&p&&p(this.currentDirection);return}this.updateAxis("x",f.point,g),this.updateAxis("y",f.point,g),this.visualElement.render(),y&&y(h,f)},c=(h,f)=>{this.latestPointerEvent=h,this.latestPanInfo=f,this.stop(h,f),this.latestPointerEvent=null,this.latestPanInfo=null},u=()=>Ut(h=>{var f;return this.getAnimationState(h)==="paused"&&((f=this.getAxisMotionValue(h).animation)==null?void 0:f.play())}),{dragSnapToOrigin:d}=this.getProps();this.panSession=new XT(t,{onSessionStart:i,onStart:a,onMove:l,onSessionEnd:c,resumeAnimation:u},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:d,distanceThreshold:r,contextWindow:QT(this.visualElement),element:this.visualElement.current})}stop(t,n){const r=t||this.latestPointerEvent,s=n||this.latestPanInfo,i=this.isDragging;if(this.cancel(),!i||!s||!r)return;const{velocity:a}=s;this.startAnimation(a);const{onDragEnd:l}=this.getProps();l&&Te.postRender(()=>l(r,s))}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:s}=this.getProps();if(!r||!Pc(t,s,this.currentDirection))return;const i=this.getAxisMotionValue(t);let a=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(a=r5(a,this.constraints[t],this.elastic[t])),i.set(a)}resolveConstraints(){var i;const{dragConstraints:t,dragElastic:n}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(i=this.visualElement.projection)==null?void 0:i.layout,s=this.constraints;t&&Ea(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=s5(r.layoutBox,t):this.constraints=!1,this.elastic=l5(n),s!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&Ut(a=>{this.constraints!==!1&&this.getAxisMotionValue(a)&&(this.constraints[a]=a5(r.layoutBox[a],this.constraints[a]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:n}=this.getProps();if(!t||!Ea(t))return!1;const r=t.current;Lo(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:s}=this.visualElement;if(!s||!s.layout)return!1;const i=m$(r,s.root,this.visualElement.getTransformPagePoint());let a=i5(s.layout.layoutBox,i);if(n){const l=n(d$(a));this.hasMutatedConstraints=!!l,l&&(a=vT(l))}return a}startAnimation(t){const{drag:n,dragMomentum:r,dragElastic:s,dragTransition:i,dragSnapToOrigin:a,onDragTransitionEnd:l}=this.getProps(),c=this.constraints||{},u=Ut(d=>{if(!Pc(d,n,this.currentDirection))return;let h=c&&c[d]||{};a&&(h={min:0,max:0});const f=s?200:1e6,m=s?40:1e7,w={type:"inertia",velocity:r?t[d]:0,bounceStiffness:f,bounceDamping:m,timeConstant:750,restDelta:1,restSpeed:10,...i,...h};return this.startAxisValueAnimation(d,w)});return Promise.all(u).then(l)}startAxisValueAnimation(t,n){const r=this.getAxisMotionValue(t);return cp(this.visualElement,t),r.start(by(t,r,0,n,this.visualElement,!1))}stopAnimation(){Ut(t=>this.getAxisMotionValue(t).stop())}pauseAnimation(){Ut(t=>{var n;return(n=this.getAxisMotionValue(t).animation)==null?void 0:n.pause()})}getAnimationState(t){var n;return(n=this.getAxisMotionValue(t).animation)==null?void 0:n.state}getAxisMotionValue(t){const n=`_drag${t.toUpperCase()}`,r=this.visualElement.getProps(),s=r[n];return s||this.visualElement.getValue(t,(r.initial?r.initial[t]:void 0)||0)}snapToCursor(t){Ut(n=>{const{drag:r}=this.getProps();if(!Pc(n,r,this.currentDirection))return;const{projection:s}=this.visualElement,i=this.getAxisMotionValue(n);if(s&&s.layout){const{min:a,max:l}=s.layout.layoutBox[n],c=i.get()||0;i.set(t[n]-Oe(a,l,.5)+c)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!Ea(n)||!r||!this.constraints)return;this.stopAnimation();const s={x:0,y:0};Ut(a=>{const l=this.getAxisMotionValue(a);if(l&&this.constraints!==!1){const c=l.get();s[a]=o5({min:c,max:c},this.constraints[a])}});const{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.resolveConstraints(),Ut(a=>{if(!Pc(a,t,null))return;const l=this.getAxisMotionValue(a),{min:c,max:u}=this.constraints[a];l.set(Oe(c,u,s[a]))})}addListeners(){if(!this.visualElement.current)return;c5.set(this.visualElement,this);const t=this.visualElement.current,n=Wa(t,"pointerdown",c=>{const{drag:u,dragListener:d=!0}=this.getProps(),h=c.target,f=h!==t&&hT(h);u&&d&&!f&&this.start(c)}),r=()=>{const{dragConstraints:c}=this.getProps();Ea(c)&&c.current&&(this.constraints=this.resolveRefConstraints())},{projection:s}=this.visualElement,i=s.addEventListener("measure",r);s&&!s.layout&&(s.root&&s.root.updateScroll(),s.updateLayout()),Te.read(r);const a=jl(window,"resize",()=>this.scalePositionWithinConstraints()),l=s.addEventListener("didUpdate",({delta:c,hasLayoutChanged:u})=>{this.isDragging&&u&&(Ut(d=>{const h=this.getAxisMotionValue(d);h&&(this.originPoint[d]+=c[d].translate,h.set(h.get()+c[d].translate))}),this.visualElement.render())});return()=>{a(),n(),i(),l&&l()}}getProps(){const t=this.visualElement.getProps(),{drag:n=!1,dragDirectionLock:r=!1,dragPropagation:s=!1,dragConstraints:i=!1,dragElastic:a=yp,dragMomentum:l=!0}=t;return{...t,drag:n,dragDirectionLock:r,dragPropagation:s,dragConstraints:i,dragElastic:a,dragMomentum:l}}}function Pc(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function d5(e,t=10){let n=null;return Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x"),n}class h5 extends js{constructor(t){super(t),this.removeGroupControls=Qt,this.removeListeners=Qt,this.controls=new u5(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Qt}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 Aw=e=>(t,n)=>{e&&Te.postRender(()=>e(t,n))};class f5 extends js{constructor(){super(...arguments),this.removePointerDownListener=Qt}onPointerDown(t){this.session=new XT(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:QT(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:n,onPan:r,onPanEnd:s}=this.node.getProps();return{onSessionStart:Aw(t),onStart:Aw(n),onMove:r,onEnd:(i,a)=>{delete this.session,s&&Te.postRender(()=>s(i,a))}}}mount(){this.removePointerDownListener=Wa(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 nf=!1;class m5 extends x.Component{componentDidMount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r,layoutId:s}=this.props,{projection:i}=t;i&&(n.group&&n.group.add(i),r&&r.register&&s&&r.register(i),nf&&i.root.didUpdate(),i.addEventListener("animationComplete",()=>{this.safeToRemove()}),i.setOptions({...i.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),uu.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:n,visualElement:r,drag:s,isPresent:i}=this.props,{projection:a}=r;return a&&(a.isPresent=i,t.layoutDependency!==n&&a.setOptions({...a.options,layoutDependency:n}),nf=!0,s||t.layoutDependency!==n||n===void 0||t.isPresent!==i?a.willUpdate():this.safeToRemove(),t.isPresent!==i&&(i?a.promote():a.relegate()||Te.postRender(()=>{const l=a.getStack();(!l||!l.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:t}=this.props.visualElement;t&&(t.root.didUpdate(),Ny.postRender(()=>{!t.currentAnimation&&t.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:n,switchLayoutGroup:r}=this.props,{projection:s}=t;nf=!0,s&&(s.scheduleCheckAfterUnmount(),n&&n.group&&n.group.remove(s),r&&r.deregister&&r.deregister(s))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function ZT(e){const[t,n]=BT(),r=x.useContext(ry);return o.jsx(m5,{...e,layoutGroup:r,switchLayoutGroup:x.useContext(GT),isPresent:t,safeToRemove:n})}const p5={pan:{Feature:f5},drag:{Feature:h5,ProjectionNode:$T,MeasureLayout:ZT}};function Rw(e,t,n){const{props:r}=e;e.animationState&&r.whileHover&&e.animationState.setActive("whileHover",n==="Start");const s="onHover"+n,i=r[s];i&&Te.postRender(()=>i(t,Xl(t)))}class g5 extends js{mount(){const{current:t}=this.node;t&&(this.unmount=J4(t,(n,r)=>(Rw(this.node,r,"Start"),s=>Rw(this.node,s,"End"))))}unmount(){}}class y5 extends js{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=Gl(jl(this.node.current,"focus",()=>this.onFocus()),jl(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function Iw(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 s="onTap"+(n==="End"?"":n),i=r[s];i&&Te.postRender(()=>i(t,Xl(t)))}class v5 extends js{mount(){const{current:t}=this.node;t&&(this.unmount=t$(t,(n,r)=>(Iw(this.node,r,"Start"),(s,{success:i})=>Iw(this.node,s,i?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const vp=new WeakMap,rf=new WeakMap,x5=e=>{const t=vp.get(e.target);t&&t(e)},w5=e=>{e.forEach(x5)};function b5({root:e,...t}){const n=e||document;rf.has(n)||rf.set(n,{});const r=rf.get(n),s=JSON.stringify(t);return r[s]||(r[s]=new IntersectionObserver(w5,{root:e,...t})),r[s]}function j5(e,t,n){const r=b5(t);return vp.set(e,n),r.observe(e),()=>{vp.delete(e),r.unobserve(e)}}const S5={some:0,all:1};class k5 extends js{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:t={}}=this.node.getProps(),{root:n,margin:r,amount:s="some",once:i}=t,a={root:n?n.current:void 0,rootMargin:r,threshold:typeof s=="number"?s:S5[s]},l=c=>{const{isIntersecting:u}=c;if(this.isInView===u||(this.isInView=u,i&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:d,onViewportLeave:h}=this.node.getProps(),f=u?d:h;f&&f(c)};return j5(this.node.current,a,l)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(N5(t,n))&&this.startObserver()}unmount(){}}function N5({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const T5={inView:{Feature:k5},tap:{Feature:v5},focus:{Feature:y5},hover:{Feature:g5}},C5={layout:{ProjectionNode:$T,MeasureLayout:ZT}},E5={...J3,...T5,...p5,...C5},er=K3(E5,G3),_5={some:0,all:1};function P5(e,t,{root:n,margin:r,amount:s="some"}={}){const i=aT(e),a=new WeakMap,l=u=>{u.forEach(d=>{const h=a.get(d.target);if(d.isIntersecting!==!!h)if(d.isIntersecting){const f=t(d.target,d);typeof f=="function"?a.set(d.target,f):c.unobserve(d.target)}else typeof h=="function"&&(h(d),a.delete(d.target))})},c=new IntersectionObserver(l,{root:n,rootMargin:r,threshold:typeof s=="number"?s:_5[s]});return i.forEach(u=>c.observe(u)),()=>c.disconnect()}function A5(e,{root:t,margin:n,amount:r,once:s=!1,initial:i=!1}={}){const[a,l]=x.useState(i);return x.useEffect(()=>{if(!e.current||s&&a)return;const c=()=>(l(!0),s?void 0:()=>l(!1)),u={root:t&&t.current||void 0,margin:n,amount:r};return P5(e.current,c,u)},[t,e,n,s,r]),a}const eC="/assets/logo-nm-DnLVh0qu.png";var $d="Collapsible",[R5,tC]=Zt($d),[I5,Oy]=R5($d),nC=x.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:s,disabled:i,onOpenChange:a,...l}=e,[c,u]=dr({prop:r,defaultProp:s??!1,onChange:a,caller:$d});return o.jsx(I5,{scope:n,disabled:i,contentId:ni(),open:c,onOpenToggle:x.useCallback(()=>u(d=>!d),[u]),children:o.jsx(le.div,{"data-state":My(c),"data-disabled":i?"":void 0,...l,ref:t})})});nC.displayName=$d;var rC="CollapsibleTrigger",sC=x.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,s=Oy(rC,n);return o.jsx(le.button,{type:"button","aria-controls":s.contentId,"aria-expanded":s.open||!1,"data-state":My(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...r,ref:t,onClick:oe(e.onClick,s.onOpenToggle)})});sC.displayName=rC;var Fy="CollapsibleContent",iC=x.forwardRef((e,t)=>{const{forceMount:n,...r}=e,s=Oy(Fy,e.__scopeCollapsible);return o.jsx(ur,{present:n||s.open,children:({present:i})=>o.jsx(O5,{...r,ref:t,present:i})})});iC.displayName=Fy;var O5=x.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:s,...i}=e,a=Oy(Fy,n),[l,c]=x.useState(r),u=x.useRef(null),d=Pe(t,u),h=x.useRef(0),f=h.current,m=x.useRef(0),w=m.current,p=a.open||l,y=x.useRef(p),g=x.useRef(void 0);return x.useEffect(()=>{const v=requestAnimationFrame(()=>y.current=!1);return()=>cancelAnimationFrame(v)},[]),$n(()=>{const v=u.current;if(v){g.current=g.current||{transitionDuration:v.style.transitionDuration,animationName:v.style.animationName},v.style.transitionDuration="0s",v.style.animationName="none";const b=v.getBoundingClientRect();h.current=b.height,m.current=b.width,y.current||(v.style.transitionDuration=g.current.transitionDuration,v.style.animationName=g.current.animationName),c(r)}},[a.open,r]),o.jsx(le.div,{"data-state":My(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!p,...i,ref:d,style:{"--radix-collapsible-content-height":f?`${f}px`:void 0,"--radix-collapsible-content-width":w?`${w}px`:void 0,...e.style},children:p&&s})});function My(e){return e?"open":"closed"}var F5=nC,M5=sC,D5=iC,L5=x.createContext(void 0);function Dy(e){const t=x.useContext(L5);return e||t||"ltr"}var jn="Accordion",$5=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[Ly,B5,U5]=Cg(jn),[Bd,BH]=Zt(jn,[U5,tC]),$y=tC(),oC=O.forwardRef((e,t)=>{const{type:n,...r}=e,s=r,i=r;return o.jsx(Ly.Provider,{scope:e.__scopeAccordion,children:n==="multiple"?o.jsx(W5,{...i,ref:t}):o.jsx(H5,{...s,ref:t})})});oC.displayName=jn;var[aC,V5]=Bd(jn),[lC,z5]=Bd(jn,{collapsible:!1}),H5=O.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:s=()=>{},collapsible:i=!1,...a}=e,[l,c]=dr({prop:n,defaultProp:r??"",onChange:s,caller:jn});return o.jsx(aC,{scope:e.__scopeAccordion,value:O.useMemo(()=>l?[l]:[],[l]),onItemOpen:c,onItemClose:O.useCallback(()=>i&&c(""),[i,c]),children:o.jsx(lC,{scope:e.__scopeAccordion,collapsible:i,children:o.jsx(cC,{...a,ref:t})})})}),W5=O.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:s=()=>{},...i}=e,[a,l]=dr({prop:n,defaultProp:r??[],onChange:s,caller:jn}),c=O.useCallback(d=>l((h=[])=>[...h,d]),[l]),u=O.useCallback(d=>l((h=[])=>h.filter(f=>f!==d)),[l]);return o.jsx(aC,{scope:e.__scopeAccordion,value:a,onItemOpen:c,onItemClose:u,children:o.jsx(lC,{scope:e.__scopeAccordion,collapsible:!0,children:o.jsx(cC,{...i,ref:t})})})}),[q5,Ud]=Bd(jn),cC=O.forwardRef((e,t)=>{const{__scopeAccordion:n,disabled:r,dir:s,orientation:i="vertical",...a}=e,l=O.useRef(null),c=Pe(l,t),u=B5(n),h=Dy(s)==="ltr",f=oe(e.onKeyDown,m=>{var C;if(!$5.includes(m.key))return;const w=m.target,p=u().filter(P=>{var R;return!((R=P.ref.current)!=null&&R.disabled)}),y=p.findIndex(P=>P.ref.current===w),g=p.length;if(y===-1)return;m.preventDefault();let v=y;const b=0,j=g-1,S=()=>{v=y+1,v>j&&(v=b)},k=()=>{v=y-1,v<b&&(v=j)};switch(m.key){case"Home":v=b;break;case"End":v=j;break;case"ArrowRight":i==="horizontal"&&(h?S():k());break;case"ArrowDown":i==="vertical"&&S();break;case"ArrowLeft":i==="horizontal"&&(h?k():S());break;case"ArrowUp":i==="vertical"&&k();break}const T=v%g;(C=p[T].ref.current)==null||C.focus()});return o.jsx(q5,{scope:n,disabled:r,direction:s,orientation:i,children:o.jsx(Ly.Slot,{scope:n,children:o.jsx(le.div,{...a,"data-orientation":i,ref:c,onKeyDown:r?void 0:f})})})}),nd="AccordionItem",[K5,By]=Bd(nd),uC=O.forwardRef((e,t)=>{const{__scopeAccordion:n,value:r,...s}=e,i=Ud(nd,n),a=V5(nd,n),l=$y(n),c=ni(),u=r&&a.value.includes(r)||!1,d=i.disabled||e.disabled;return o.jsx(K5,{scope:n,open:u,disabled:d,triggerId:c,children:o.jsx(F5,{"data-orientation":i.orientation,"data-state":gC(u),...l,...s,ref:t,disabled:d,open:u,onOpenChange:h=>{h?a.onItemOpen(r):a.onItemClose(r)}})})});uC.displayName=nd;var dC="AccordionHeader",hC=O.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,s=Ud(jn,n),i=By(dC,n);return o.jsx(le.h3,{"data-orientation":s.orientation,"data-state":gC(i.open),"data-disabled":i.disabled?"":void 0,...r,ref:t})});hC.displayName=dC;var xp="AccordionTrigger",fC=O.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,s=Ud(jn,n),i=By(xp,n),a=z5(xp,n),l=$y(n);return o.jsx(Ly.ItemSlot,{scope:n,children:o.jsx(M5,{"aria-disabled":i.open&&!a.collapsible||void 0,"data-orientation":s.orientation,id:i.triggerId,...l,...r,ref:t})})});fC.displayName=xp;var mC="AccordionContent",pC=O.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,s=Ud(jn,n),i=By(mC,n),a=$y(n);return o.jsx(D5,{role:"region","aria-labelledby":i.triggerId,"data-orientation":s.orientation,...a,...r,ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});pC.displayName=mC;function gC(e){return e?"open":"closed"}var G5=oC,Y5=uC,Q5=hC,yC=fC,vC=pC;const Ss=G5,hr=x.forwardRef(({className:e,...t},n)=>o.jsx(Y5,{ref:n,className:J("border-b",e),...t}));hr.displayName="AccordionItem";const fr=x.forwardRef(({className:e,children:t,...n},r)=>o.jsx(Q5,{className:"flex",children:o.jsxs(yC,{ref:r,className:J("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...n,children:[t,o.jsx(zS,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));fr.displayName=yC.displayName;const mr=x.forwardRef(({className:e,children:t,...n},r)=>o.jsx(vC,{ref:r,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:o.jsx("div",{className:J("pb-4 pt-0",e),children:t})}));mr.displayName=vC.displayName;const Ow=[{name:"Instagram",href:"https://instagram.com/nyjulmckeel",icon:o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[o.jsx("rect",{width:"20",height:"20",x:"2",y:"2",rx:"5",ry:"5"}),o.jsx("path",{d:"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"}),o.jsx("line",{x1:"17.5",x2:"17.51",y1:"6.5",y2:"6.5"})]})},{name:"LinkedIn",href:"https://www.linkedin.com/in/nyjul-mckeel/",icon:o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[o.jsx("path",{d:"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"}),o.jsx("rect",{width:"4",height:"12",x:"2",y:"9"}),o.jsx("circle",{cx:"4",cy:"4",r:"2"})]})},{name:"YouTube",href:"https://www.youtube.com/@newhomesindallas",icon:o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[o.jsx("path",{d:"M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17"}),o.jsx("path",{d:"m10 15 5-3-5-3z"})]})},{name:"TikTok",href:"https://tiktok.com/@nyjulmckeel",icon:o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:o.jsx("path",{d:"M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-2.88 2.5 2.89 2.89 0 0 1-2.88-2.88 2.89 2.89 0 0 1 2.88-2.88c.28 0 .56.04.82.12v-3.5a6.37 6.37 0 0 0-.82-.05A6.34 6.34 0 0 0 3.15 15a6.34 6.34 0 0 0 6.34 6.34 6.34 6.34 0 0 0 6.34-6.34V8.1a8.16 8.16 0 0 0 4.76 1.52v-3.4a4.85 4.85 0 0 1-1-.47z"})})}],Fw={name:"Buyers",items:[{name:"Buyer Overview",href:"/buyers"},{name:"First-Time Buyers",href:"/first-time-buyers"},{name:"Luxury Homes",href:"/luxury"},{name:"New Construction",href:"/new-construction"},{name:"Military / VA Loans",href:"/military-va"},{name:"Mortgage Calculator",href:"/mortgage-calculator"}]},Mw={name:"Sellers",items:[{name:"Seller Overview",href:"/sellers"},{name:"Home Valuation",href:"/home-valuation"},{name:"Closing Costs",href:"/closing-costs"}]},Dw={name:"Frisco",items:[{name:"Market Report",href:"/market-report"},{name:"Relocation Guide",href:"/relocation"},{name:"School Districts",href:"/school-district"},{name:"Community Events",href:"/community-events"}]},Lw=[{name:"Search MLS",href:"/idx"},{name:"Properties",href:"/properties"}],$w=[{name:"About",href:"/about"},{name:"Contact",href:"/contact"}],Bw="bg-background/45 supports-[backdrop-filter]:bg-background/30 backdrop-blur-2xl backdrop-saturate-150 shadow-[inset_0_1px_0_0_hsl(var(--foreground)/0.04)]",Uw="nav-link inline-flex h-auto items-center whitespace-nowrap leading-none !rounded-none !bg-transparent !px-0 !py-0 !text-xs !font-medium !uppercase !tracking-[0.2em] shadow-none hover:!bg-transparent focus:!bg-transparent data-[state=open]:!bg-transparent data-[active]:!bg-transparent",Vw="block py-3 text-sm font-medium uppercase tracking-[0.2em] text-foreground transition-colors md:text-base",X5=()=>{const[e,t]=x.useState(!1),n=bs(),r=l=>n.pathname===l,s=l=>l.items.some(c=>r(c.href));x.useEffect(()=>{t(!1)},[n.pathname]),x.useEffect(()=>(document.body.style.overflow=e?"hidden":"",()=>{document.body.style.overflow=""}),[e]);const i=l=>o.jsx("li",{className:"list-none",children:o.jsx(H,{to:l.href,"aria-current":r(l.href)?"page":void 0,className:`${Uw} ${r(l.href)?"!text-gold":"!text-foreground hover:!text-gold"}`,children:l.name})},l.name),a=l=>o.jsxs("li",{className:"relative list-none group",children:[o.jsxs("button",{type:"button",className:`${Uw} inline-flex items-center gap-1 ${s(l)?"!text-gold":"!text-foreground hover:!text-gold"}`,"aria-haspopup":"true",children:[l.name,o.jsx(zS,{className:"h-3 w-3 transition-transform duration-200 group-hover:rotate-180","aria-hidden":"true"})]}),o.jsx("div",{className:"absolute left-0 right-0 top-full h-3","aria-hidden":"true"}),o.jsx("ul",{className:"invisible opacity-0 group-hover:visible group-hover:opacity-100 focus-within:visible focus-within:opacity-100 transition-opacity duration-150 absolute left-1/2 -translate-x-1/2 top-[calc(100%+0.75rem)] z-50 grid w-[260px] gap-1 p-3 bg-background/95 backdrop-blur-xl backdrop-saturate-150 border border-border/40 shadow-lg",children:l.items.map(c=>o.jsx("li",{children:o.jsx(H,{to:c.href,className:`block px-3 py-2 text-sm hover:bg-secondary/60 hover:text-gold transition-colors ${r(c.href)?"text-gold":"text-foreground"}`,children:c.name})},c.href))})]},l.name);return o.jsxs("header",{className:`fixed top-0 left-0 right-0 z-50 border-b border-border/40 ${Bw}`,children:[o.jsx("nav",{className:"container-luxury",children:o.jsxs("div",{className:"flex items-center justify-between h-20 md:h-24",children:[o.jsx(H,{to:"/",className:"relative z-50",children:o.jsx("img",{src:eC,alt:"Nyjul McKeel Real Estate",className:"h-12 md:h-14 w-auto"})}),o.jsxs("div",{className:"hidden lg:flex items-center gap-7",children:[o.jsxs("ul",{className:"flex items-center gap-7 list-none m-0 p-0",children:[Lw.map(i),a(Fw),a(Mw),a(Dw),$w.map(i)]}),o.jsx("div",{className:"flex items-center gap-3 ml-1 border-l border-border/60 pl-6",children:Ow.map(l=>o.jsx("a",{href:l.href,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-gold transition-colors","aria-label":l.name,children:l.icon},l.name))})]}),o.jsx("button",{onClick:()=>t(!e),className:"lg:hidden relative z-50 p-2 text-foreground","aria-label":"Toggle menu","aria-expanded":e,children:e?o.jsx(Dg,{size:24}):o.jsx(IR,{size:24})})]})}),o.jsx(UT,{initial:!1,children:e&&o.jsx(er.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.35,ease:[.5,0,0,1]},className:`lg:hidden overflow-hidden border-b border-border/40 ${Bw}`,children:o.jsx("div",{className:"container-luxury max-h-[calc(100vh-5rem)] overflow-y-auto py-4 md:max-h-[calc(100vh-6rem)] md:py-5",children:o.jsxs("div",{className:"flex flex-col",children:[[{name:"Home",href:"/"},...Lw].map(l=>o.jsx(H,{to:l.href,onClick:()=>t(!1),"aria-current":r(l.href)?"page":void 0,className:`${Vw} border-b border-border/40 ${r(l.href)?"text-gold":"text-foreground hover:text-gold"}`,children:l.name},l.name)),o.jsx(Ss,{type:"multiple",className:"w-full",children:[Fw,Mw,Dw].map(l=>o.jsxs(hr,{value:l.name,className:"border-border/40",children:[o.jsx(fr,{className:"py-3 text-sm font-medium uppercase tracking-[0.2em] hover:no-underline md:text-base",children:o.jsx("span",{className:s(l)?"text-gold":"text-foreground",children:l.name})}),o.jsx(mr,{className:"pb-3",children:o.jsx("div",{className:"flex flex-col gap-3 pl-4",children:l.items.map(c=>o.jsx(H,{to:c.href,onClick:()=>t(!1),"aria-current":r(c.href)?"page":void 0,className:`text-xs font-medium uppercase tracking-[0.2em] ${r(c.href)?"text-gold":"text-muted-foreground hover:text-foreground"}`,children:c.name},c.href))})})]},l.name))}),$w.map(l=>o.jsx(H,{to:l.href,onClick:()=>t(!1),"aria-current":r(l.href)?"page":void 0,className:`${Vw} border-b border-border/40 ${r(l.href)?"text-gold":"text-foreground hover:text-gold"}`,children:l.name},l.name)),o.jsx("div",{className:"flex items-center gap-5 pt-6",children:Ow.map(l=>o.jsx("a",{href:l.href,target:"_blank",rel:"noopener noreferrer",className:"text-foreground hover:text-gold transition-colors","aria-label":l.name,children:l.icon},l.name))})]})})},"mobile-panel")})]})},J5="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJ0AAACUCAMAAAC+99ssAAAAY1BMVEUAAAD////z8/NERETGxsZjY2MyMjKurq5YWFh3d3e1tbXh4eHX19c5OTktLS2mpqaEhITPz8/r6+toaGj5+fmXl5e8vLwSEhJJSUk/Pz+dnZ19fX0dHR2RkZFPT09dXV0mJiaTZwKYAAAJF0lEQVR4nO2caYOiPAyAy30UBEo5RED+/6980wMEBY2MMzv7Lvmwi06Ph7RNQiUlxptidmSvNOa7nZE3y5f1bjhC/Oxb6cz0C2wgVce/j86OvwYHUtvfRMf3z7iZVM230GWfYBMy0I/TfXXGLaTAzj4kXfT1GTeXc/RBOoZVXJ8OyJIdyvZh6Owe2WXKjAhb1seo7zWdeUH2d1a2thmQ5RG27yVdecZ2xnSNKEfWeO06XtEFFa6nU3mrwxMkXtV9iS4ckP1clqNEseo7P3cdz+jQ4chQ3ldFq++57XtCl51w7VfB6q1hF2/9ZPFu0jGs4jb9eoicsiTZtH1bdBnWOVzYRgsw+7Dqs7Y87zodw9o467lRSJCTY8t1rNLZFrLRdFtxSiIH2VK/OvtW6FiAbHHABOJei2ytWFHfI509IJvDOXK87VtR3wPdBbnSWvQTDA+ReG3xgq5ENoRx4TdBL7LTnfoWdPhw5ME5vJBkwDXcppt0NjYcWXUOz4VhF+8i7rvRoQPg+l3FKfGw9n22ZTDRoRX3xDk8F4aO+ybXoenQNq5/d7NhLuW76lN06AA4fXujZiEUqwQdNgs69FJ1v6I4JeWA66qScR/Q2dg4Ln3ZN0LMd+YQ4eiHfOQT8ivhNrK/NjEI0nFV6Xt7W88EPZN8ZLkXTyfvCnb24WS3jdsSdODyWt7bEURK+KF9o+5ecZm3R+4XFTpweSb1o43bt5WXPLRTul+FWwuAP0WHDzzWxV2dcR+j+9LibS9rDX6UzuDYbaQH2dod/yQdxH3DPrrwR+joTtNy0B10fz/dlgX4HXRbkfVB90/SVZP8RrpslMff3/4Q3VCGo8z2oB52if4QnXv720H3s3T7Hlc2QtmP03nBHvF+iO6zctD9HrrQ3yH9w08l30SH/t16IT+1Zg+6g+6gO+gOuoPuoDvoDrqD7qD7/9JtvZ70abpo1++zWz9B/1vPswfdQXfQHXTv03nc/H7hD8lgSDrX+gk53//IhKT7Q3LQ7ZeDbr8cdPvloNsvB91+Oej2y0G3Xw66/XLQ7Zd1umA4vSt737N+KsMqHYvelsz+Dlml+4XyF9F5nRK1CRAGjsrYY4VStl0w9VH9PVu8FRaqN3ZZoXJQsiJQqRk8VV/Ysi3Tc1LZGOsyw0x0nU4lLtqXS7PMfl/Q5cS5gvji+IiSuHl+Jh43jIio8yQ6Iusm5CQpvWXdWP4XVQKdktbJa3mOAicqZbRxqaha504ljr7JSGKwXm2GREQA26LOleTzdJNlD9fpMpN5UMwTr1hTnbJcVJJuSCr5Pli4qBtYim4IBWJOhZ7ETvZEd2bwvVAgbXMOREDnk5iNdFTWEf0i6M6+uocC9LWkiwjNHfMpneOq1DiPRAs6XaOsmKLrA5lgIun6XnUYkpnyNuhoq1+XM6GVJV2QwyBEj3S1qngKoY7evaLuZUGXVc10iIqk62wBJuimOnx7ZE9dChJQoxx0gpVZX5d0ppsY5pA+0lW5kCv0IruUPTn+gg5GIs7VxNd0oGYm6cpqLb90SVfJVdFTo6n04jH7fknnVYaY3U/pqjF3LK+XdLCkfZe00UiXgs4uki6Up0QlVt/3W9Y4d8Yre9KdFRh00HQtM3hAirTLxWLZHNlo1J15vd7RiRJlfDInOmglo1DelrqzuyKdb2puzbvxQC5GPMM8Kbpu4GArAhj7Lr7y7VXBp3knKuoPBdB5ClTQT3RG0Ao6Y8y/oO1rOsOp4VabC01b0LiVi694foKv1JISU2t7zabKMIKBhEZ03ld9NeGzumPQ042OnurWFjEI1XrZpOtNKkXY0z4zaH6S45IQobxCJHCMrw2DgQ4J04Xv6ahrRfJwMKGP5vavTYRNY1fCZnRgd4TumGvZ3OBZT2bLY3n/rRLxJc1bQlrfykXhTiRPD+AxskpPqZSYZSXKVmq+GZde3XosbocH4mQPS884cS1XuVHGEHNV4sCCaIAZc1U+yJHzlOWDKJfPfdmCjo6BkVJDWYIdSuVo07IsRTUW6RRkZnOWqdJjXfkfz9hUecxWhutyXGRZWWZcXsAKixSJaSsbB53YT/zsqnwuI/p9uaczIfrT98lUYgOVeFR9mFJpTQg8M3XLPJr9jU0ZEaAcNqovEioftawuxFf0lj5Bs1FrPLtl2i7peNfLsZcd6WNN4lyUVnn0laVzpEOZ8H1VwZBOzLACW1eq5HkyHiwFfTd5TGHJV/qAi7OIQ+KacdmoLBtH5KRdmEduJ2wt6HhLfGrSrpJzPyRd6HneZRBeNSANXCcOaUWHKek9kyWubIiee6m9CwFLQaFUCIEXCB3Nj3CRgo64Sj8nEUS4YLJsKNuRC/QS8pIoV5CRfmNkL9okRq2I4EJ9QoBNakGn1JAoL6F+5GeOMLXsrF1MNpqbq271RudKOiLtpuGOdLIv7UtAkfKiJ7OFsTgfZYqtSqJ8jPxgOpWg08aSwBoeRq/EXAi0JjqD5FzT8RU6x2qU31jQZZNjGXqm736VrpmwTafdpAugwemt8BTKTHTReHcbdD23pENYpwOVBBCfLl4MmdGBbqdr4YtCDZSIcRxHNgDLmdwctQ3DwSBSZSDlWQ/SFl0tnMU2HTw4RAFZ5InP6frbh0LS9RBOOSf5GBEQXwRXgzhLriDT6TIZeDdmEZHuVQ3xGPts0sHM9rbp6Lkiy/dC5nT+7UMn6US01Qcyng1IDdf+xTNFpxOdDb0xywpDL5idgbdNB3dCN+nAmNwl/8znXTepFWyTCXS2GDHVUUAi+GBqpGnmJnJkc1Vi+vaR7qTpYHLl23TRfaLocs02UzH/tio03WyhV9fxNuoznVZFTu5Hdpy5ECObmg7GNux30XG/HVsTpm6brhvVFIqhGOmi1mJLOluPFHV9Y6Qz4+q0iw7MBSm5yakvfcA2ndmTQvxoXsj9osmiFKMPGunAACdQjtaCQNMBMtlHZ9g1aeOYqODZm9Plczp5hEN81ieT0JOvv4712PaaDlYhIS44UkHNr2q3ADQvJkYVj3S3VK6ZIV2jgxCjSZpS1WPlzPZk5cIQGVnSNIkC5vZ4F7RUV/a0ppmdJI2nymXjc6QsZev4xSxvR4iw8u4Qwf8ATbq/jHBwTXUAAAAASUVORK5CYII=",Z5=[{name:"Instagram",href:"https://instagram.com/nyjulmckeel",icon:o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[o.jsx("rect",{width:"20",height:"20",x:"2",y:"2",rx:"5",ry:"5"}),o.jsx("path",{d:"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"}),o.jsx("line",{x1:"17.5",x2:"17.51",y1:"6.5",y2:"6.5"})]})},{name:"LinkedIn",href:"https://www.linkedin.com/in/nyjul-mckeel/",icon:o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[o.jsx("path",{d:"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"}),o.jsx("rect",{width:"4",height:"12",x:"2",y:"9"}),o.jsx("circle",{cx:"4",cy:"4",r:"2"})]})},{name:"YouTube",href:"https://www.youtube.com/@newhomesindallas",icon:o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[o.jsx("path",{d:"M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17"}),o.jsx("path",{d:"m10 15 5-3-5-3z"})]})},{name:"TikTok",href:"https://tiktok.com/@nyjulmckeel",icon:o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"currentColor",children:o.jsx("path",{d:"M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-2.88 2.5 2.89 2.89 0 0 1-2.88-2.88 2.89 2.89 0 0 1 2.88-2.88c.28 0 .56.04.82.12v-3.5a6.37 6.37 0 0 0-.82-.05A6.34 6.34 0 0 0 3.15 15a6.34 6.34 0 0 0 6.34 6.34 6.34 6.34 0 0 0 6.34-6.34V8.1a8.16 8.16 0 0 0 4.76 1.52v-3.4a4.85 4.85 0 0 1-1-.47z"})})}],e6=()=>o.jsx("footer",{className:"bg-foreground text-background py-16 md:py-24",children:o.jsxs("div",{className:"container-luxury",children:[o.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 gap-12 md:gap-8",children:[o.jsxs("div",{className:"lg:col-span-2",children:[o.jsx("img",{src:eC,alt:"Nyjul McKeel Real Estate",className:"h-12 w-auto mb-6"}),o.jsx("p",{className:"text-background/70 text-sm leading-relaxed max-w-md mb-6",children:"Nyjul McKeel is Frisco's dedicated real estate advisor — specializing exclusively in Frisco, TX. Whether you're buying your first home or selling to move up, you deserve someone who knows this market inside and out."}),o.jsx("div",{className:"flex items-center gap-4",children:Z5.map(e=>o.jsx("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"text-background/60 hover:text-gold transition-colors","aria-label":e.name,children:e.icon},e.name))})]}),o.jsxs("div",{children:[o.jsx("h4",{className:"text-caption mb-6 text-background/50",children:"Buyers"}),o.jsxs("ul",{className:"space-y-3 text-sm",children:[o.jsx("li",{children:o.jsx(H,{to:"/first-time-buyers",className:"text-background/70 hover:text-background transition-colors",children:"First-Time Buyers"})}),o.jsx("li",{children:o.jsx(H,{to:"/luxury",className:"text-background/70 hover:text-background transition-colors",children:"Luxury Homes"})}),o.jsx("li",{children:o.jsx(H,{to:"/new-construction",className:"text-background/70 hover:text-background transition-colors",children:"New Construction"})}),o.jsx("li",{children:o.jsx(H,{to:"/military-va",className:"text-background/70 hover:text-background transition-colors",children:"Military / VA"})}),o.jsx("li",{children:o.jsx(H,{to:"/mortgage-calculator",className:"text-background/70 hover:text-background transition-colors",children:"Mortgage Calculator"})})]})]}),o.jsxs("div",{children:[o.jsx("h4",{className:"text-caption mb-6 text-background/50",children:"Frisco"}),o.jsxs("ul",{className:"space-y-3 text-sm",children:[o.jsx("li",{children:o.jsx(H,{to:"/market-report",className:"text-background/70 hover:text-background transition-colors",children:"Market Report"})}),o.jsx("li",{children:o.jsx(H,{to:"/relocation",className:"text-background/70 hover:text-background transition-colors",children:"Relocation Guide"})}),o.jsx("li",{children:o.jsx(H,{to:"/school-district",className:"text-background/70 hover:text-background transition-colors",children:"School Districts"})}),o.jsx("li",{children:o.jsx(H,{to:"/community-events",className:"text-background/70 hover:text-background transition-colors",children:"Community Events"})}),o.jsx("li",{children:o.jsx(H,{to:"/closing-costs",className:"text-background/70 hover:text-background transition-colors",children:"Closing Costs"})}),o.jsx("li",{children:o.jsx(H,{to:"/home-valuation",className:"text-background/70 hover:text-background transition-colors",children:"Home Valuation"})})]})]}),o.jsxs("div",{children:[o.jsx("h4",{className:"text-caption mb-6 text-background/50",children:"Contact"}),o.jsxs("ul",{className:"space-y-3 text-sm text-background/70",children:[o.jsx("li",{children:o.jsx(H,{to:"/about",className:"hover:text-background transition-colors",children:"About Nyjul"})}),o.jsx("li",{children:o.jsx(H,{to:"/properties",className:"hover:text-background transition-colors",children:"Properties"})}),o.jsx("li",{className:"pt-2",children:"Frisco, TX · Orchard"}),o.jsx("li",{children:o.jsx("a",{href:"tel:+18179413392",className:"hover:text-background transition-colors",children:"(817) 941-3392"})}),o.jsx("li",{children:o.jsx("a",{href:"mailto:themckeelgroup@gmail.com",className:"hover:text-background transition-colors",children:"themckeelgroup@gmail.com"})})]})]})]}),o.jsxs("div",{className:"border-t border-background/20 mt-16 pt-8",children:[o.jsxs("div",{className:"flex flex-col md:flex-row items-start md:items-center gap-6 mb-6",children:[o.jsx("img",{src:J5,alt:"Equal Housing Opportunity",className:"h-10 w-auto invert"}),o.jsx("p",{className:"text-xs text-background/50 max-w-2xl leading-relaxed",children:"Equal Housing Opportunity. All real estate advertised herein is subject to the Federal Fair Housing Act, which makes it illegal to advertise any preference, limitation, or discrimination because of race, color, religion, sex, handicap, familial status, or national origin."})]}),o.jsxs("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center gap-4",children:[o.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-2 sm:gap-4",children:[o.jsxs("p",{className:"text-xs text-background/50",children:["© ",new Date().getFullYear()," Nyjul McKeel. All rights reserved."]}),o.jsxs("span",{className:"text-xs text-background/40",children:["Powered by"," ",o.jsx("a",{href:"https://www.realsavvy.com",target:"_blank",rel:"noopener noreferrer",className:"hover:text-background transition-colors underline",children:"RealSavvy"})]})]}),o.jsxs("div",{className:"flex gap-6",children:[o.jsx(H,{to:"/privacy-policy",className:"text-xs text-background/50 hover:text-background transition-colors",children:"Privacy Policy"}),o.jsx(H,{to:"/terms-and-conditions",className:"text-xs text-background/50 hover:text-background transition-colors",children:"Terms of Service"})]})]})]})]})}),ae=({children:e})=>o.jsxs("div",{className:"min-h-screen flex flex-col",children:[o.jsx(X5,{}),o.jsx("main",{className:"flex-1 pt-20 md:pt-24",children:e}),o.jsx(e6,{})]}),du="/assets/hero-main-C70r6waT.jpg",t6="/assets/hero-video-BorD2uxb.mp4",n6=()=>{const[e,t]=x.useState(!1);return o.jsxs("section",{className:"relative h-screen w-full overflow-hidden bg-charcoal",style:{backgroundImage:`url(${du})`,backgroundSize:"cover",backgroundPosition:"center"},children:[o.jsx("video",{src:t6,poster:du,autoPlay:!0,muted:!0,loop:!0,playsInline:!0,preload:"auto","aria-label":"Luxury homes in Frisco Texas",onCanPlay:()=>t(!0),onPlaying:()=>t(!0),className:`absolute inset-0 w-full h-full object-cover transition-opacity duration-700 ease-out ${e?"opacity-100":"opacity-0"}`}),o.jsx("noscript",{children:o.jsx("img",{src:du,alt:"Luxury homes in Frisco Texas",className:"absolute inset-0 w-full h-full object-cover"})}),o.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/80 via-black/40 to-black/30"}),o.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:o.jsxs("div",{className:"container-luxury text-center",children:[o.jsxs(er.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,ease:[.5,0,0,1]},children:[o.jsx("p",{className:"text-caption text-gold mb-4",children:"The Frisco Real Estate Advisor"}),o.jsx("h1",{className:"heading-display text-background mb-6",children:"Nyjul McKeel"}),o.jsx("p",{className:"text-xl md:text-2xl text-background/90 font-light mb-10 max-w-2xl mx-auto",children:"Not a salesman. An advisor. Frisco's trusted authority in real estate."})]}),o.jsxs(er.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.8,delay:.3,ease:[.5,0,0,1]},className:"flex flex-col sm:flex-row gap-4 justify-center",children:[o.jsxs(H,{to:"/idx",className:"inline-flex items-center justify-center gap-3 px-8 py-4 bg-gold text-foreground font-medium tracking-wider text-sm uppercase hover:bg-gold-light transition-colors",children:[o.jsx(Fg,{size:18}),"Start Your Frisco Search"]}),o.jsxs(H,{to:"/home-valuation",className:"inline-flex items-center justify-center gap-3 px-8 py-4 bg-background/10 backdrop-blur-sm text-background border border-background/30 font-medium tracking-wider text-sm uppercase hover:bg-background/20 transition-colors",children:[o.jsx(Wo,{size:18}),"What's My Home Worth?"]})]})]})})]})};function Ae({className:e,...t}){return o.jsx("div",{className:J("animate-pulse rounded-md bg-muted",e),...t})}const xC=({image:e,title:t,location:n,price:r,status:s="For Sale",beds:i,baths:a,sqft:l,index:c=0,listingId:u,photos:d,description:h})=>{const f=u?`/properties/${u}`:"/properties",m={image:e,title:t,location:n,price:r,status:s,beds:i,baths:a,sqft:l,photos:d,description:h};return o.jsx(er.div,{initial:{opacity:0,y:40},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-50px"},transition:{duration:.8,delay:c*.1,ease:[.5,0,0,1]},children:o.jsxs(H,{to:f,state:m,className:"property-card block",children:[o.jsxs("div",{className:"relative overflow-hidden aspect-[4/3]",children:[o.jsx(er.img,{src:e,alt:t,className:"w-full h-full object-cover",whileHover:{scale:1.05},transition:{duration:.6,ease:[.5,0,0,1]}}),o.jsx("div",{className:"property-card-overlay"}),o.jsx("div",{className:"absolute top-4 left-4",children:o.jsx("span",{className:"text-caption px-3 py-1.5 bg-background/90 text-foreground text-xs",children:s})})]}),o.jsxs("div",{className:"pt-5",children:[o.jsx("p",{className:"text-gold text-lg md:text-xl font-serif mb-1",children:r}),o.jsx("h3",{className:"heading-card text-foreground mb-1",children:t}),o.jsx("p",{className:"text-muted-foreground text-sm",children:n}),o.jsxs("div",{className:"flex items-center justify-between mt-3",children:[o.jsxs("div",{className:"flex gap-4 text-sm text-muted-foreground",children:[i>0&&o.jsxs("span",{className:"flex items-center gap-1",children:[o.jsx($S,{className:"w-4 h-4"}),i," Beds"]}),a>0&&o.jsxs("span",{className:"flex items-center gap-1",children:[o.jsx(LS,{className:"w-4 h-4"}),a," Baths"]}),l&&o.jsxs("span",{className:"flex items-center gap-1",children:[o.jsx(YS,{className:"w-4 h-4"}),l," Sq Ft"]})]}),o.jsx("img",{src:"https://d37ukvrrv3in12.cloudfront.net/mls/logos/IDX_499.png",alt:"MLS",className:"h-4 opacity-70"})]})]})]})})},Ac=()=>o.jsxs("div",{className:"block",children:[o.jsx(Ae,{className:"aspect-[4/3] w-full"}),o.jsxs("div",{className:"pt-5",children:[o.jsx(Ae,{className:"h-6 w-32 mb-2"}),o.jsx(Ae,{className:"h-5 w-48 mb-1"}),o.jsx(Ae,{className:"h-4 w-40 mb-3"}),o.jsxs("div",{className:"flex gap-4",children:[o.jsx(Ae,{className:"h-4 w-16"}),o.jsx(Ae,{className:"h-4 w-16"}),o.jsx(Ae,{className:"h-4 w-20"})]})]})]}),E=({children:e,className:t="",delay:n=0,direction:r="up"})=>{const s=x.useRef(null),i=A5(s,{once:!0,margin:"-100px"}),a={up:{y:40,x:0},down:{y:-40,x:0},left:{x:40,y:0},right:{x:-40,y:0}};return o.jsx(er.div,{ref:s,initial:{opacity:0,...a[r]},animate:i?{opacity:1,x:0,y:0}:{},transition:{duration:1,delay:n,ease:[.5,0,0,1]},className:t,children:e})},r6="https://api.realsavvy.com/api/v3/listings/search",s6="https://api.realsavvy.com/api/v3/suggestions",Uy=`eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiI3ZmYyMjgxMTM5NzgzNWZmNTlkNmZmYWViM2U0YTU1MzAwMzUxMzdiMjdjYTE0OTE1NzEyODQwYjVkNzcyODYwIiwiYXVkIjoiZ2lkOi8vcmVhbC1zYXZ2eS9TaXRlLzE3NzUiLCJzdWIiOiJnaWQ6Ly9yZWFsLXNhdnZ5L1NpdGUvMTc3NSIsInNjb3BlcyI6WyJhZG1pbiJdfQ.ffRj8Nj4ovufgJcwVGvUakBapm2QaTK8sVCOYy-T8ssZVshDp_l43ZDRMSBPQi--_gAOKOHX1rZYy_ypuKXS_v1qD1VnsbpNZmwkfbIzdafR0ZhzllgaJRv8tRTI3QI3vDtkyqhF7jai2eCED0SktFil4-Bj-pElzv4H2AqPDjYxuWPMUL7bFyY7rQTlyrG8DLRX9BFXBqTmPO4deic-Luwta7yye3YIfnAI-px9_3MBCgZYXTr7v4RJNdUK1K8qkkVB_RiiQWXLAA1L2cKK3AK8eXobt2t9_9W7nS28pV25vPr3ymiAruEqkTJd8W7m29b_fsblYEkb2yL96y6Glw
`,i6=async e=>{const t=await fetch(`${s6}?ids[]=${e}`,{method:"GET",headers:{Authorization:`Bearer ${Uy}`,"Content-Type":"application/json"}});return t.ok?t.json():(console.error(`Failed to fetch suggestion data: ${t.status}`),null)},o6=e=>{if(!(e!=null&&e.data)||e.data.length===0)return null;const t=e.data[0],n=t.attributes||{};return[{resource_type:t.type||"areas",resource_id:t.id,resource_label:n.name||n.label||"",resource_sub_type:n.sub_type||"place",type:"geo_shape",value:{suggestion_id:t.id,geometry:n.geometry,bounding_box:n.bounding_box}}]},a6=async e=>{const t=await fetch(r6,{method:"POST",headers:{Authorization:`Bearer ${Uy}`,"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error(`API error: ${t.status}`);return t.json()},l6=async(e,t)=>{if(t){const n=await i6(t),r=o6(n);r&&(e={...e,filter:{...e.filter,suggestion:{value:r}}})}return a6(e)},wC=(e,t=1,n=12,r)=>{const s={filter:e,market_id:null,page:{number:t,size:n},sort:"+price_in_dollars"};return Wl({queryKey:["listings",JSON.stringify(e),t,n,r],queryFn:()=>l6(s,r),staleTime:5*60*1e3})},c6=async e=>{const t=await fetch(`https://api.realsavvy.com/api/v3/listings/${e}`,{method:"GET",headers:{Authorization:`Bearer ${Uy}`,"Content-Type":"application/json"}});if(!t.ok)throw new Error(`API error: ${t.status}`);return t.json()},u6=e=>Wl({queryKey:["listing",e],queryFn:()=>c6(e),enabled:!!e,staleTime:5*60*1e3}),Vy=e=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",maximumFractionDigits:0}).format(e),Bo=e=>new Intl.NumberFormat("en-US").format(e),zy="/assets/agent-portrait-_tGoadmW.jpg",sf="https://nyjulmckeel.com",d6={listing_status:{value:["Sold","Closed"]},agent_profile:{"north-texas-real-estate-information-systems-inc":{key:["20473682"],relationships:["listing"]}}},h6=()=>{const{data:e,isLoading:t,error:n}=wC(d6,1,4),r=(e==null?void 0:e.data)||[];return o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Nyjul McKeel | The Frisco Real Estate Advisor"}),o.jsx("meta",{name:"description",content:"Nyjul McKeel is Frisco's dedicated real estate advisor. Search Frisco homes for sale, get a free home valuation, and work with a trusted local expert."}),o.jsx("link",{rel:"canonical",href:`${sf}/`}),o.jsx("meta",{property:"og:title",content:"Nyjul McKeel | The Frisco Real Estate Advisor"}),o.jsx("meta",{property:"og:description",content:"Frisco's dedicated real estate advisor. Search homes, get valuations, and work with a trusted local expert."}),o.jsx("meta",{property:"og:url",content:`${sf}/`}),o.jsx("meta",{property:"og:type",content:"website"}),o.jsx("meta",{property:"og:image",content:`${sf}/og-image.jpg`}),o.jsx("meta",{name:"twitter:card",content:"summary_large_image"})]}),o.jsx("div",{className:"-mt-20 md:-mt-24",children:o.jsx(n6,{})}),o.jsx("section",{className:"section-padding bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-muted-foreground mb-6",children:"THE FRISCO REAL ESTATE ADVISOR"})}),o.jsx(E,{delay:.1,children:o.jsx("h2",{className:"heading-section mb-8",children:"Your Trusted Guide in Frisco Real Estate"})}),o.jsxs(E,{delay:.2,children:[o.jsx("p",{className:"text-body text-muted-foreground mb-6",children:"Frisco isn't just where I work—it's home. It's where I raise my family, build relationships, and stay deeply connected to the community. Because of that, I've chosen to focus my work right here in Frisco, not all of North Texas, which allows me to truly understand the neighborhoods, the growth, and the rhythm of the local market."}),o.jsx("p",{className:"text-body text-muted-foreground mb-10",children:"Whether you're stepping into homeownership for the first time or preparing for your next move, you don't have to navigate it alone. I'm here to walk alongside you, offer honest guidance, and make sure every decision supports your goals and your future."})]}),o.jsx(E,{delay:.3,children:o.jsx(H,{to:"/about",className:"btn-luxury",children:"Meet Nyjul"})})]})})}),o.jsx("section",{className:"section-padding bg-secondary",children:o.jsxs("div",{className:"container-luxury",children:[o.jsxs("div",{className:"flex flex-col md:flex-row md:items-end md:justify-between mb-12 md:mb-16",children:[o.jsxs("div",{children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-muted-foreground mb-4",children:"Recent Sales"})}),o.jsx(E,{delay:.1,children:o.jsx("h2",{className:"heading-section",children:"Recently Sold in Frisco"})})]}),o.jsx(E,{delay:.2,children:o.jsxs(H,{to:"/properties",className:"mt-6 md:mt-0 inline-flex items-center gap-2 text-caption text-foreground hover:text-gold transition-colors",children:["View All Past Transactions",o.jsx(Fs,{size:16})]})})]}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8 md:gap-10",children:t?o.jsxs(o.Fragment,{children:[o.jsx(Ac,{}),o.jsx(Ac,{}),o.jsx(Ac,{}),o.jsx(Ac,{})]}):n?o.jsx("p",{className:"col-span-2 text-center text-muted-foreground",children:"Unable to load properties. Please try again later."}):r.map((s,i)=>{var a;return o.jsx(xC,{listingId:s.id,image:((a=s.attributes.photo_urls)==null?void 0:a[0])||"/placeholder.svg",title:s.attributes.title||"Property",location:s.attributes.subtitle||"",price:Vy(s.attributes.price_in_dollars),status:s.attributes.listing_status||"Sold",beds:s.attributes.bedrooms,baths:s.attributes.bathrooms,sqft:s.attributes.square_feet?Bo(s.attributes.square_feet):s.attributes.lot_square_feet?Bo(parseFloat(s.attributes.lot_square_feet)):void 0,index:i,photos:s.attributes.photo_urls,description:s.attributes.description||void 0},s.id)})})]})}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury",children:[o.jsxs("div",{className:"text-center max-w-2xl mx-auto mb-12 md:mb-16",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-muted-foreground mb-4",children:"Who I Work With"})}),o.jsx(E,{delay:.1,children:o.jsx("h2",{className:"heading-section",children:"Guidance for Every Move"})})]}),o.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8",children:[o.jsx(E,{direction:"left",children:o.jsxs(H,{to:"/buyers",className:"group block h-full p-10 border border-border bg-background hover:border-gold transition-colors",children:[o.jsx(Wo,{className:"text-gold mb-6",size:32,strokeWidth:1.25}),o.jsx("h3",{className:"font-serif text-2xl md:text-3xl mb-4",children:"For Buyers"}),o.jsx("p",{className:"text-body text-muted-foreground mb-6",children:"From first-time buyers to seasoned investors, I'll help you navigate Frisco's neighborhoods, schools, and inventory to find the home that fits your life."}),o.jsxs("span",{className:"inline-flex items-center gap-2 text-caption text-foreground group-hover:text-gold transition-colors",children:["Buyer Resources ",o.jsx(Fs,{size:16})]})]})}),o.jsx(E,{direction:"right",children:o.jsxs(H,{to:"/sellers",className:"group block h-full p-10 border border-border bg-background hover:border-gold transition-colors",children:[o.jsx(Og,{className:"text-gold mb-6",size:32,strokeWidth:1.25}),o.jsx("h3",{className:"font-serif text-2xl md:text-3xl mb-4",children:"For Sellers"}),o.jsx("p",{className:"text-body text-muted-foreground mb-6",children:"Strategic pricing, premium marketing, and local expertise — the formula that gets Frisco homes sold for top dollar with less stress."}),o.jsxs("span",{className:"inline-flex items-center gap-2 text-caption text-foreground group-hover:text-gold transition-colors",children:["Seller Resources ",o.jsx(Fs,{size:16})]})]})})]})]})}),o.jsx("section",{className:"section-padding bg-secondary",children:o.jsxs("div",{className:"container-luxury",children:[o.jsxs("div",{className:"text-center max-w-2xl mx-auto mb-12 md:mb-16",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-muted-foreground mb-4",children:"Frisco Expertise"})}),o.jsx(E,{delay:.1,children:o.jsx("h2",{className:"heading-section",children:"Specialized Local Knowledge"})})]}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8",children:[{to:"/luxury",icon:HS,title:"Luxury Homes",desc:"Discreet, white-glove service for Frisco's most exclusive estates and gated communities."},{to:"/relocation",icon:pi,title:"Relocating to Frisco",desc:"Moving from out of state? I'll help you choose the right neighborhood, school, and lifestyle."},{to:"/new-construction",icon:TR,title:"New Construction",desc:"From builder negotiations to upgrade strategy — representation that protects your investment."}].map((s,i)=>o.jsx(E,{delay:i*.1,children:o.jsxs(H,{to:s.to,className:"group block h-full p-10 bg-background border border-border hover:border-gold transition-colors",children:[o.jsx(s.icon,{className:"text-gold mb-6",size:32,strokeWidth:1.25}),o.jsx("h3",{className:"font-serif text-2xl mb-4",children:s.title}),o.jsx("p",{className:"text-body text-muted-foreground mb-6",children:s.desc}),o.jsxs("span",{className:"inline-flex items-center gap-2 text-caption text-foreground group-hover:text-gold transition-colors",children:["Learn More ",o.jsx(Fs,{size:16})]})]})},s.to))})]})}),o.jsx("section",{className:"section-padding bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-20 items-center",children:[o.jsx(E,{direction:"left",children:o.jsx("div",{className:"relative",children:o.jsx("img",{src:zy,alt:"Nyjul McKeel - Frisco Texas real estate advisor",className:"w-full aspect-[3/4] object-cover",loading:"lazy"})})}),o.jsxs("div",{children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-muted-foreground mb-4",children:"Meet Nyjul McKeel"})}),o.jsx(E,{delay:.1,children:o.jsx("h2",{className:"heading-section mb-6",children:"Faith. Integrity. Purpose."})}),o.jsx(E,{delay:.2,children:o.jsx("p",{className:"text-body text-muted-foreground mb-6",children:"As a husband, father, and man of faith, I built my business on a simple conviction: people deserve a trusted advisor, not a salesperson. That means straight answers, deep local knowledge, and a client experience that reflects the same values I lead my family with."})}),o.jsx(E,{delay:.3,children:o.jsx("p",{className:"text-body text-muted-foreground mb-8",children:"Whether you're relocating to Frisco, upgrading in Starwood, or selling in Phillips Creek Ranch — I'm in your corner, every step of the way."})}),o.jsx(E,{delay:.4,children:o.jsx(H,{to:"/about",className:"btn-luxury",children:"Read Full Bio"})})]})]})})}),o.jsx("section",{className:"section-padding bg-secondary",children:o.jsxs("div",{className:"container-luxury",children:[o.jsxs("div",{className:"text-center max-w-2xl mx-auto mb-12 md:mb-16",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-muted-foreground mb-4",children:"Tools & Resources"})}),o.jsx(E,{delay:.1,children:o.jsx("h2",{className:"heading-section",children:"Plan Your Next Move"})})]}),o.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6",children:[{to:"/home-valuation",icon:Vl,title:"Home Valuation",desc:"What's your Frisco home worth today?"},{to:"/idx",icon:Fg,title:"Home Search",desc:"Browse every active MLS listing in Frisco."},{to:"/mortgage-calc",icon:US,title:"Mortgage Calculator",desc:"Estimate your monthly payment in seconds."},{to:"/school-district",icon:Ig,title:"School Districts",desc:"Compare Frisco-area schools and ratings."}].map((s,i)=>o.jsx(E,{delay:i*.05,children:o.jsxs(H,{to:s.to,className:"group block h-full p-8 bg-background border border-border hover:border-gold transition-colors",children:[o.jsx(s.icon,{className:"text-gold mb-5",size:28,strokeWidth:1.25}),o.jsx("h3",{className:"font-serif text-xl mb-3",children:s.title}),o.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:s.desc}),o.jsxs("span",{className:"inline-flex items-center gap-2 text-caption text-foreground group-hover:text-gold transition-colors",children:["Open ",o.jsx(Fs,{size:14})]})]})},s.to))})]})}),o.jsx("section",{className:"py-24 md:py-32 bg-foreground text-background",children:o.jsxs("div",{className:"container-luxury text-center",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-background/60 mb-4",children:"Ready to Make Your Move?"})}),o.jsx(E,{delay:.1,children:o.jsx("h2",{className:"heading-section text-background mb-8",children:"Let's Talk Frisco"})}),o.jsx(E,{delay:.2,children:o.jsx("p",{className:"text-body text-background/70 max-w-2xl mx-auto mb-10",children:"Whether you're buying, selling, or exploring what Frisco has to offer — I'm here to guide you with integrity and expertise."})}),o.jsx(E,{delay:.3,children:o.jsx(H,{to:"/contact",className:"btn-luxury-inverse",children:"Contact Nyjul"})})]})})]})},f6="/assets/hero-frisco-ferris-D0yietQO.jpg",m6="/assets/hero-dallas-skyline-BWlc9k3u.jpg",p6="/assets/hero-frisco-aerial-C3cBpIEQ.jpg",g6="/assets/hero-frisco-park-X5hNVTyF.jpg",zw=[{src:p6,alt:"Aerial view of Frisco Texas urban development"},{src:g6,alt:"Frisco Texas community park from above"},{src:m6,alt:"Dallas Fort Worth skyline at dusk"},{src:f6,alt:"Texas Star ferris wheel against a golden sky"}],y6=e=>{let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return Math.abs(t)},jt=({slug:e,eyebrow:t,title:n,subtitle:r,compact:s})=>{const i=zw[y6(e)%zw.length];return o.jsxs("section",{className:s?"relative h-[42vh] min-h-[320px] md:h-[48vh] md:min-h-[380px] w-full overflow-hidden":"relative h-[60vh] min-h-[420px] md:h-[70vh] md:min-h-[520px] w-full overflow-hidden",children:[o.jsx("img",{src:i.src,alt:i.alt,className:"absolute inset-0 w-full h-full object-cover",loading:"eager"}),o.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/85 via-black/55 to-black/30"}),o.jsx("div",{className:"relative h-full flex items-end pb-16 md:pb-24",children:o.jsxs("div",{className:"container-luxury",children:[t&&o.jsx(E,{children:o.jsx("p",{className:"text-caption text-gold mb-4",children:t})}),o.jsx(E,{delay:.1,children:o.jsx("h1",{className:"heading-display text-background max-w-4xl",children:n})}),r&&o.jsx(E,{delay:.2,children:o.jsx("p",{className:"text-body text-background/80 max-w-2xl mt-6",children:r})})]})})]})};var of="rovingFocusGroup.onEntryFocus",v6={bubbles:!1,cancelable:!0},Jl="RovingFocusGroup",[wp,bC,x6]=Cg(Jl),[w6,jC]=Zt(Jl,[x6]),[b6,j6]=w6(Jl),SC=x.forwardRef((e,t)=>o.jsx(wp.Provider,{scope:e.__scopeRovingFocusGroup,children:o.jsx(wp.Slot,{scope:e.__scopeRovingFocusGroup,children:o.jsx(S6,{...e,ref:t})})}));SC.displayName=Jl;var S6=x.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:s=!1,dir:i,currentTabStopId:a,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:c,onEntryFocus:u,preventScrollOnEntryFocus:d=!1,...h}=e,f=x.useRef(null),m=Pe(t,f),w=Dy(i),[p,y]=dr({prop:a,defaultProp:l??null,onChange:c,caller:Jl}),[g,v]=x.useState(!1),b=xn(u),j=bC(n),S=x.useRef(!1),[k,T]=x.useState(0);return x.useEffect(()=>{const C=f.current;if(C)return C.addEventListener(of,b),()=>C.removeEventListener(of,b)},[b]),o.jsx(b6,{scope:n,orientation:r,dir:w,loop:s,currentTabStopId:p,onItemFocus:x.useCallback(C=>y(C),[y]),onItemShiftTab:x.useCallback(()=>v(!0),[]),onFocusableItemAdd:x.useCallback(()=>T(C=>C+1),[]),onFocusableItemRemove:x.useCallback(()=>T(C=>C-1),[]),children:o.jsx(le.div,{tabIndex:g||k===0?-1:0,"data-orientation":r,...h,ref:m,style:{outline:"none",...e.style},onMouseDown:oe(e.onMouseDown,()=>{S.current=!0}),onFocus:oe(e.onFocus,C=>{const P=!S.current;if(C.target===C.currentTarget&&P&&!g){const R=new CustomEvent(of,v6);if(C.currentTarget.dispatchEvent(R),!R.defaultPrevented){const V=j().filter(A=>A.focusable),D=V.find(A=>A.active),G=V.find(A=>A.id===p),$=[D,G,...V].filter(Boolean).map(A=>A.ref.current);TC($,d)}}S.current=!1}),onBlur:oe(e.onBlur,()=>v(!1))})})}),kC="RovingFocusGroupItem",NC=x.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:s=!1,tabStopId:i,children:a,...l}=e,c=ni(),u=i||c,d=j6(kC,n),h=d.currentTabStopId===u,f=bC(n),{onFocusableItemAdd:m,onFocusableItemRemove:w,currentTabStopId:p}=d;return x.useEffect(()=>{if(r)return m(),()=>w()},[r,m,w]),o.jsx(wp.ItemSlot,{scope:n,id:u,focusable:r,active:s,children:o.jsx(le.span,{tabIndex:h?0:-1,"data-orientation":d.orientation,...l,ref:t,onMouseDown:oe(e.onMouseDown,y=>{r?d.onItemFocus(u):y.preventDefault()}),onFocus:oe(e.onFocus,()=>d.onItemFocus(u)),onKeyDown:oe(e.onKeyDown,y=>{if(y.key==="Tab"&&y.shiftKey){d.onItemShiftTab();return}if(y.target!==y.currentTarget)return;const g=T6(y,d.orientation,d.dir);if(g!==void 0){if(y.metaKey||y.ctrlKey||y.altKey||y.shiftKey)return;y.preventDefault();let b=f().filter(j=>j.focusable).map(j=>j.ref.current);if(g==="last")b.reverse();else if(g==="prev"||g==="next"){g==="prev"&&b.reverse();const j=b.indexOf(y.currentTarget);b=d.loop?C6(b,j+1):b.slice(j+1)}setTimeout(()=>TC(b))}}),children:typeof a=="function"?a({isCurrentTabStop:h,hasTabStop:p!=null}):a})})});NC.displayName=kC;var k6={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function N6(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function T6(e,t,n){const r=N6(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return k6[r]}function TC(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function C6(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var E6=SC,_6=NC,Vd="Tabs",[P6,UH]=Zt(Vd,[jC]),CC=jC(),[A6,Hy]=P6(Vd),EC=x.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:s,defaultValue:i,orientation:a="horizontal",dir:l,activationMode:c="automatic",...u}=e,d=Dy(l),[h,f]=dr({prop:r,onChange:s,defaultProp:i??"",caller:Vd});return o.jsx(A6,{scope:n,baseId:ni(),value:h,onValueChange:f,orientation:a,dir:d,activationMode:c,children:o.jsx(le.div,{dir:d,"data-orientation":a,...u,ref:t})})});EC.displayName=Vd;var _C="TabsList",PC=x.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...s}=e,i=Hy(_C,n),a=CC(n);return o.jsx(E6,{asChild:!0,...a,orientation:i.orientation,dir:i.dir,loop:r,children:o.jsx(le.div,{role:"tablist","aria-orientation":i.orientation,...s,ref:t})})});PC.displayName=_C;var AC="TabsTrigger",RC=x.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:s=!1,...i}=e,a=Hy(AC,n),l=CC(n),c=FC(a.baseId,r),u=MC(a.baseId,r),d=r===a.value;return o.jsx(_6,{asChild:!0,...l,focusable:!s,active:d,children:o.jsx(le.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":u,"data-state":d?"active":"inactive","data-disabled":s?"":void 0,disabled:s,id:c,...i,ref:t,onMouseDown:oe(e.onMouseDown,h=>{!s&&h.button===0&&h.ctrlKey===!1?a.onValueChange(r):h.preventDefault()}),onKeyDown:oe(e.onKeyDown,h=>{[" ","Enter"].includes(h.key)&&a.onValueChange(r)}),onFocus:oe(e.onFocus,()=>{const h=a.activationMode!=="manual";!d&&!s&&h&&a.onValueChange(r)})})})});RC.displayName=AC;var IC="TabsContent",OC=x.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:s,children:i,...a}=e,l=Hy(IC,n),c=FC(l.baseId,r),u=MC(l.baseId,r),d=r===l.value,h=x.useRef(d);return x.useEffect(()=>{const f=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(f)},[]),o.jsx(ur,{present:s||d,children:({present:f})=>o.jsx(le.div,{"data-state":d?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":c,hidden:!f,id:u,tabIndex:0,...a,ref:t,style:{...e.style,animationDuration:h.current?"0s":void 0},children:f&&i})})});OC.displayName=IC;function FC(e,t){return`${e}-trigger-${t}`}function MC(e,t){return`${e}-content-${t}`}var R6=EC,DC=PC,LC=RC,$C=OC;const BC=R6,Wy=x.forwardRef(({className:e,...t},n)=>o.jsx(DC,{ref:n,className:J("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",e),...t}));Wy.displayName=DC.displayName;const Sl=x.forwardRef(({className:e,...t},n)=>o.jsx(LC,{ref:n,className:J("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",e),...t}));Sl.displayName=LC.displayName;const kl=x.forwardRef(({className:e,...t},n)=>o.jsx($C,{ref:n,className:J("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t}));kl.displayName=$C.displayName;const Hw="https://nyjulmckeel.com",Ww=({filter:e,suggestionId:t})=>{var i;const{data:n,isLoading:r,error:s}=wC(e,1,12,t);return r?o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 md:gap-10",children:Array.from({length:6}).map((a,l)=>o.jsxs("div",{className:"space-y-4",children:[o.jsx(Ae,{className:"aspect-[4/3] w-full"}),o.jsx(Ae,{className:"h-6 w-3/4"}),o.jsx(Ae,{className:"h-4 w-1/2"})]},l))}):s?o.jsx("div",{className:"text-center py-12",children:o.jsx("p",{className:"text-muted-foreground",children:"Failed to load properties. Please try again later."})}):(i=n==null?void 0:n.data)!=null&&i.length?o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 md:gap-10",children:n.data.map((a,l)=>{const c=a.attributes,u=c.square_feet?Bo(c.square_feet):c.lot_square_feet?Bo(parseFloat(c.lot_square_feet)):void 0;return o.jsx(xC,{listingId:a.id,image:c.photo_urls[0]||"/placeholder.svg",title:c.title,location:c.subtitle,price:Vy(c.price_in_dollars),status:c.listing_status,beds:c.bedrooms,baths:c.bathrooms,sqft:u,index:l,photos:c.photo_urls,description:c.description||void 0},a.id)})}):o.jsx("div",{className:"text-center py-12",children:o.jsx("p",{className:"text-muted-foreground",children:"No properties found."})})},I6=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Frisco Homes for Sale | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"Browse homes for sale in Frisco, TX. Current listings and past transactions by Nyjul McKeel, The Frisco Real Estate Advisor."}),o.jsx("link",{rel:"canonical",href:`${Hw}/properties`}),o.jsx("meta",{property:"og:title",content:"Frisco Properties | Nyjul McKeel"}),o.jsx("meta",{property:"og:description",content:"Browse homes for sale in Frisco, TX."}),o.jsx("meta",{property:"og:url",content:`${Hw}/properties`}),o.jsx("meta",{property:"og:type",content:"website"})]}),o.jsx(jt,{slug:"properties",eyebrow:"Frisco Portfolio",title:"Properties",subtitle:"Explore homes for sale in Frisco's most desirable neighborhoods — from Starwood and Newman Village to Phillips Creek Ranch and beyond."}),o.jsx("section",{className:"section-padding bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsxs(BC,{defaultValue:"active",className:"w-full",children:[o.jsx(E,{children:o.jsxs(Wy,{className:"bg-transparent h-auto p-0 border-b border-border rounded-none w-full justify-start gap-8 mb-12 md:mb-16",children:[o.jsx(Sl,{value:"active",className:"text-caption text-muted-foreground data-[state=active]:text-foreground data-[state=active]:border-b-2 data-[state=active]:border-foreground bg-transparent rounded-none pb-4 px-0 data-[state=active]:shadow-none",children:"Current"}),o.jsx(Sl,{value:"sold",className:"text-caption text-muted-foreground data-[state=active]:text-foreground data-[state=active]:border-b-2 data-[state=active]:border-foreground bg-transparent rounded-none pb-4 px-0 data-[state=active]:shadow-none",children:"Past Transactions"})]})}),o.jsx(kl,{value:"active",className:"mt-0",children:o.jsx(Ww,{filter:{listing_status:{value:["Active"]},agent_profile:{"north-texas-real-estate-information-systems-inc":{key:["20473682"],relationships:["listing"]}}}})}),o.jsx(kl,{value:"sold",className:"mt-0",children:o.jsx(Ww,{filter:{listing_status:{value:["Sold","Closed"]},agent_profile:{"north-texas-real-estate-information-systems-inc":{key:["20473682"],relationships:["listing"]}}}})})]})})}),o.jsx("section",{className:"py-20 md:py-28 bg-secondary",children:o.jsxs("div",{className:"container-luxury text-center",children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-6",children:"Looking for Something Specific?"})}),o.jsx(E,{delay:.1,children:o.jsx("p",{className:"text-body text-muted-foreground max-w-2xl mx-auto mb-8",children:"I know Frisco inside and out. Contact me to discuss exactly what you're looking for — from new construction to established neighborhoods."})}),o.jsx(E,{delay:.2,children:o.jsx("a",{href:"/contact",className:"btn-luxury",children:"Contact Nyjul"})})]})})]}),qy=Rg("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),ge=x.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...s},i)=>{const a=r?TA:"button";return o.jsx(a,{className:J(qy({variant:t,size:n,className:e})),ref:i,...s})});ge.displayName="Button";const O6="https://nyjulmckeel.com",F6=()=>{var u,d;const{id:e}=iN(),n=bs().state,{data:r,isLoading:s,error:i}=u6(e);if(s)return o.jsxs(ae,{children:[o.jsx("section",{className:"pt-8 pb-4 bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsx(Ae,{className:"h-6 w-32"})})}),o.jsx("section",{className:"pb-8 bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[o.jsx(Ae,{className:"aspect-[4/3]"}),o.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[o.jsx(Ae,{className:"aspect-[4/3]"}),o.jsx(Ae,{className:"aspect-[4/3]"}),o.jsx(Ae,{className:"aspect-[4/3]"}),o.jsx(Ae,{className:"aspect-[4/3]"})]})]})})}),o.jsx("section",{className:"py-12 bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-12",children:[o.jsxs("div",{className:"lg:col-span-2 space-y-4",children:[o.jsx(Ae,{className:"h-8 w-24"}),o.jsx(Ae,{className:"h-10 w-3/4"}),o.jsx(Ae,{className:"h-6 w-1/2"}),o.jsx(Ae,{className:"h-12 w-48"}),o.jsx(Ae,{className:"h-40 w-full"})]}),o.jsx("div",{children:o.jsx(Ae,{className:"h-64 w-full"})})]})})})]});const a=(u=r==null?void 0:r.data)==null?void 0:u.attributes,l=a?{id:r.data.id,title:a.title,subtitle:a.subtitle,price:Vy(a.price_in_dollars),status:a.listing_status,bedrooms:a.bedrooms,bathrooms:a.bathrooms,squareFeet:a.square_feet?Bo(a.square_feet):null,lotSize:a.lot_acre?`${a.lot_acre} acres`:a.lot_square_feet?`${Bo(Number(a.lot_square_feet))} sq ft`:null,yearBuilt:a.year_built,propertyType:a.type?a.type.charAt(0).toUpperCase()+a.type.slice(1):"Residential",mlsNumber:a.mls_number,description:a.description,images:a.photo_urls||[],agent:{name:a.listing_agent||"Rick Orr",phone:a.office_phone||"(214) 906-9834",broker:a.listing_broker||"Vince Realty"},realstaqSections:((d=a.realstaq_details)==null?void 0:d.sections)||[],fromState:!1}:n?{id:e||"",title:n.title,subtitle:n.location,price:n.price,status:n.status,bedrooms:n.beds||0,bathrooms:n.baths||0,squareFeet:n.sqft||null,lotSize:null,yearBuilt:null,propertyType:"Residential",mlsNumber:null,description:n.description||null,images:n.photos||(n.image?[n.image]:[]),agent:{name:"Rick Orr",phone:"(214) 906-9834",broker:"Vince Realty"},realstaqSections:[],fromState:!0}:null;if(!l)return o.jsxs(ae,{children:[o.jsx(me,{children:o.jsx("title",{children:"Listing Not Found | Nyjul McKeel | Frisco Real Estate"})}),o.jsx("section",{className:"py-20 bg-background",children:o.jsxs("div",{className:"container-luxury text-center",children:[o.jsx("h1",{className:"heading-section mb-4",children:"Listing Not Found"}),o.jsx("p",{className:"text-muted-foreground mb-8",children:"The property you're looking for could not be found."}),o.jsx(H,{to:"/properties",children:o.jsx(ge,{className:"btn-luxury",children:"Back to Properties"})})]})})]});const c=`${O6}/properties/${l.id}`;return o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsxs("title",{children:[l.title," | ",l.price," - Nyjul McKeel"]}),o.jsx("meta",{name:"description",content:`${l.title} - ${l.subtitle}. ${l.bedrooms} beds, ${l.bathrooms} baths${l.squareFeet?`, ${l.squareFeet} sq ft`:""}. Listed at ${l.price}.`}),o.jsx("link",{rel:"canonical",href:c}),o.jsx("meta",{property:"og:title",content:`${l.title} | ${l.price}`}),o.jsx("meta",{property:"og:description",content:`${l.subtitle}. ${l.bedrooms} beds, ${l.bathrooms} baths.`}),o.jsx("meta",{property:"og:url",content:c}),o.jsx("meta",{property:"og:type",content:"website"}),l.images[0]&&o.jsx("meta",{property:"og:image",content:l.images[0]}),o.jsx("meta",{name:"twitter:card",content:"summary_large_image"})]}),o.jsx("section",{className:"pt-8 pb-4 bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsxs(H,{to:"/properties",className:"inline-flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors",children:[o.jsx(Cd,{className:"w-4 h-4"}),o.jsx("span",{className:"text-sm",children:"Back to Properties"})]})})}),o.jsx("section",{className:"pb-8 bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[o.jsx("div",{className:"aspect-[4/3] overflow-hidden",children:l.images[0]&&o.jsx("img",{src:l.images[0],alt:l.title,className:"w-full h-full object-cover"})}),o.jsx("div",{className:"grid grid-cols-2 gap-4",children:l.images.slice(1,5).map((h,f)=>o.jsx("div",{className:"aspect-[4/3] overflow-hidden",children:o.jsx("img",{src:h,alt:`${l.title} - ${f+2}`,className:"w-full h-full object-cover",loading:"lazy"})},f))})]})})}),o.jsx("section",{className:"py-12 md:py-16 bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-12",children:[o.jsxs("div",{className:"lg:col-span-2",children:[o.jsx(E,{children:o.jsxs("div",{className:"flex items-start justify-between mb-6",children:[o.jsxs("div",{children:[o.jsx("span",{className:"inline-block text-caption px-3 py-1.5 bg-secondary text-foreground text-xs mb-4",children:l.status}),o.jsx("h1",{className:"heading-section mb-2",children:l.title}),o.jsxs("p",{className:"text-muted-foreground flex items-center gap-2",children:[o.jsx(pi,{className:"w-4 h-4"}),l.subtitle]})]}),o.jsxs("div",{className:"flex gap-2",children:[o.jsx(ge,{variant:"outline",size:"icon",children:o.jsx(GS,{className:"w-4 h-4"})}),o.jsx(ge,{variant:"outline",size:"icon",children:o.jsx(qS,{className:"w-4 h-4"})})]})]})}),o.jsx(E,{delay:.1,children:o.jsx("p",{className:"text-gold text-3xl md:text-4xl font-serif mb-8",children:l.price})}),o.jsx(E,{delay:.2,children:o.jsxs("div",{className:"flex flex-wrap gap-6 py-6 border-y border-border mb-8",children:[l.bedrooms>0&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx($S,{className:"w-5 h-5 text-muted-foreground"}),o.jsx("span",{className:"text-foreground font-medium",children:l.bedrooms}),o.jsx("span",{className:"text-muted-foreground",children:"Beds"})]}),l.bathrooms>0&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(LS,{className:"w-5 h-5 text-muted-foreground"}),o.jsx("span",{className:"text-foreground font-medium",children:l.bathrooms}),o.jsx("span",{className:"text-muted-foreground",children:"Baths"})]}),l.squareFeet&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(YS,{className:"w-5 h-5 text-muted-foreground"}),o.jsx("span",{className:"text-foreground font-medium",children:l.squareFeet}),o.jsx("span",{className:"text-muted-foreground",children:"Sq Ft"})]})]})}),l.description&&o.jsx(E,{delay:.3,children:o.jsxs("div",{className:"mb-10",children:[o.jsx("h2",{className:"heading-card mb-4",children:"Description"}),o.jsx("p",{className:"text-muted-foreground whitespace-pre-line leading-relaxed",children:l.description})]})}),l.fromState&&o.jsx(E,{delay:.3,children:o.jsx("div",{className:"p-4 bg-secondary rounded-sm mb-10",children:o.jsx("p",{className:"text-muted-foreground text-sm",children:"This listing has been sold. Limited details are available from the original search results."})})}),l.realstaqSections.map((h,f)=>o.jsx(E,{delay:.4+f*.1,children:o.jsxs("div",{className:"mb-10",children:[o.jsx("h2",{className:"heading-card mb-4",children:h.title}),o.jsx("div",{className:`grid gap-4 ${h.style==="third"?"grid-cols-2 md:grid-cols-3":"grid-cols-1 md:grid-cols-2"}`,children:h.fields.map((m,w)=>o.jsxs("div",{className:"p-4 bg-secondary rounded-sm",children:[o.jsx("p",{className:"text-caption text-muted-foreground mb-1",children:m.label}),o.jsx("p",{className:"text-foreground font-medium",children:m.value!==null&&m.value!==void 0?String(m.value):"N/A"})]},`${h.title}-${w}`))})]})},h.title))]}),o.jsx("div",{className:"lg:col-span-1",children:o.jsx(E,{delay:.2,children:o.jsxs("div",{className:"sticky top-24 p-6 bg-secondary rounded-sm",children:[o.jsx("h3",{className:"heading-card mb-4",children:"Contact Agent"}),o.jsxs("div",{className:"mb-6",children:[o.jsx("p",{className:"text-foreground font-medium",children:l.agent.name}),o.jsx("p",{className:"text-muted-foreground text-sm",children:l.agent.broker}),o.jsx("p",{className:"text-muted-foreground text-sm",children:l.agent.phone})]}),o.jsxs("div",{className:"space-y-3",children:[o.jsx(ge,{className:"w-full btn-luxury",children:"Schedule a Showing"}),o.jsx(ge,{variant:"outline",className:"w-full",children:"Request More Info"})]})]})})})]})})})]})},UC="/assets/hero-1-C-fJrSk0.jpg",Tr="https://nyjulmckeel.com",M6=[{q:"What areas do you serve?",a:"I specialize exclusively in Frisco, TX. While other agents spread themselves across all of North Texas, I focus 100% of my time, energy, and expertise on Frisco — giving my clients an unmatched advantage."},{q:"Are you a good fit for first-time buyers?",a:"Absolutely. I walk first-time buyers through every step — from pre-approval to closing day. My approach is educational and transparent. You'll never feel pressured or confused."},{q:"How do you help sellers get top dollar?",a:"I combine hyperlocal Frisco market data with strategic pricing, professional staging guidance, and targeted marketing to position your home for maximum value and minimal days on market."},{q:"What makes you different from other agents?",a:"I'm not a generalist. I'm Frisco's real estate advisor. That means I know every neighborhood, every development, every school zone, and every market trend in this city — and I operate with the integrity and values that come from being a man of faith, a husband, and a father."},{q:"Do you work with luxury home buyers?",a:"Yes. From Starwood and Newman Village to Phillips Creek Ranch, I represent buyers and sellers across Frisco's most prestigious communities."}],D6=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"About Nyjul McKeel | The Frisco Real Estate Advisor"}),o.jsx("meta",{name:"description",content:"Meet Nyjul McKeel — Frisco's dedicated real estate advisor. A husband, father, and man of faith who built his business on integrity, local expertise, and client-first values."}),o.jsx("link",{rel:"canonical",href:`${Tr}/about`}),o.jsx("meta",{property:"og:title",content:"About Nyjul McKeel | The Frisco Real Estate Advisor"}),o.jsx("meta",{property:"og:description",content:"Frisco's dedicated real estate advisor. Built on faith, integrity, and purpose."}),o.jsx("meta",{property:"og:url",content:`${Tr}/about`}),o.jsx("meta",{property:"og:type",content:"profile"}),o.jsx("meta",{property:"og:image",content:`${Tr}/og-image.jpg`}),o.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"Person","@id":`${Tr}/about#nyjul`,name:"Nyjul McKeel",alternateName:"The Frisco Real Estate Advisor",url:`${Tr}/about`,image:`${Tr}/og-image.jpg`,jobTitle:"Real Estate Advisor",telephone:"+18179413392",email:"themckeelgroup@gmail.com",worksFor:{"@type":"Organization",name:"Orchard",url:"https://orchard.com"},address:{"@type":"PostalAddress",addressLocality:"Frisco",addressRegion:"TX",postalCode:"75034",addressCountry:"US"},sameAs:["https://instagram.com/nyjulmckeel","https://www.linkedin.com/in/nyjul-mckeel/","https://www.youtube.com/@newhomesindallas","https://tiktok.com/@nyjulmckeel"]})}),o.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:`${Tr}/`},{"@type":"ListItem",position:2,name:"About",item:`${Tr}/about`}]})})]}),o.jsx("section",{className:"py-20 md:py-28 bg-secondary",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-muted-foreground mb-4",children:"About"})}),o.jsx(E,{delay:.1,children:o.jsx("h1",{className:"heading-display max-w-4xl",children:"Nyjul McKeel"})}),o.jsx(E,{delay:.2,children:o.jsx("p",{className:"text-body text-muted-foreground max-w-2xl mt-6",children:"The Frisco Real Estate Advisor. Not a generalist — a specialist."})})]})}),o.jsx("section",{className:"section-padding bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-20 items-start",children:[o.jsx(E,{direction:"left",children:o.jsx("div",{className:"relative sticky top-32",children:o.jsx("img",{src:zy,alt:"Nyjul McKeel - Frisco Texas real estate advisor",className:"w-full aspect-[3/4] object-cover",loading:"lazy"})})}),o.jsxs("div",{children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-8",children:"Your Frisco Advisor"})}),o.jsxs("div",{className:"space-y-6 text-body text-muted-foreground",children:[o.jsx(E,{delay:.1,children:o.jsx("p",{children:"Nyjul McKeel is Frisco's dedicated real estate advisor — not a generalist spread across North Texas, but a specialist fully committed to one of the fastest-growing and most sought-after cities in the country."})}),o.jsx(E,{delay:.2,children:o.jsx("p",{children:"As a husband, father, and man of faith, Nyjul built his business on a simple conviction: people deserve a trusted advisor, not a salesperson. That means straight answers, deep local knowledge, and a client experience that reflects the same values he leads his family with."})}),o.jsx(E,{delay:.3,children:o.jsx("p",{children:"Whether you're buying your first home in Frisco or selling to move up, you deserve someone who knows this market inside and out — and who will put your best interest first, every time."})})]}),o.jsx(E,{delay:.4,children:o.jsxs("div",{className:"mt-10 flex flex-col sm:flex-row gap-4",children:[o.jsx(H,{to:"/contact",className:"btn-luxury",children:"Get in Touch"}),o.jsx(H,{to:"/home-valuation",className:"btn-luxury",children:"Free Home Valuation"})]})})]})]})})}),o.jsx("section",{className:"section-padding bg-secondary",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-muted-foreground mb-4",children:"Core Values"})}),o.jsx(E,{delay:.1,children:o.jsx("h2",{className:"heading-section mb-12 md:mb-16",children:"Faith. Integrity. Purpose."})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8",children:[{title:"Faith",desc:"My faith guides every decision I make — in business and in life. I treat every client the way I'd want my own family treated."},{title:"Integrity",desc:"No shortcuts. No spin. Just honest, transparent guidance rooted in what's best for you — not my commission check."},{title:"Purpose",desc:"I don't chase transactions. I build relationships. Every client I serve is an opportunity to make a real difference in someone's life."}].map((e,t)=>o.jsx(E,{delay:t*.1,children:o.jsxs("div",{className:"bg-background p-8 md:p-10",children:[o.jsx("h3",{className:"heading-card text-gold mb-4",children:e.title}),o.jsx("p",{className:"text-body text-muted-foreground",children:e.desc})]})},e.title))})]})}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury max-w-3xl",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-muted-foreground mb-4",children:"Frequently Asked Questions"})}),o.jsx(E,{delay:.1,children:o.jsx("h2",{className:"heading-section mb-12",children:"Common Questions"})}),o.jsx(E,{delay:.2,children:o.jsx(Ss,{type:"single",collapsible:!0,className:"w-full",children:M6.map((e,t)=>o.jsxs(hr,{value:`faq-${t}`,children:[o.jsx(fr,{className:"text-left font-serif text-lg",children:e.q}),o.jsx(mr,{className:"text-muted-foreground leading-relaxed",children:e.a})]},t))})}),o.jsx(E,{delay:.3,children:o.jsxs("div",{className:"mt-12 flex flex-col sm:flex-row gap-4",children:[o.jsx(H,{to:"/faq/best-agent-frisco",className:"btn-luxury text-center",children:"Best Agent in Frisco?"}),o.jsx(H,{to:"/faq/luxury-homes-frisco",className:"btn-luxury text-center",children:"Luxury Homes in Frisco"}),o.jsx(H,{to:"/faq/home-worth-frisco",className:"btn-luxury text-center",children:"What's My Home Worth?"})]})})]})}),o.jsxs("section",{className:"relative",children:[o.jsxs("div",{className:"absolute inset-0",children:[o.jsx("img",{src:UC,alt:"Frisco Texas luxury real estate",className:"w-full h-full object-cover",loading:"lazy"}),o.jsx("div",{className:"absolute inset-0 bg-black/70"})]}),o.jsx("div",{className:"relative section-padding",children:o.jsx("div",{className:"container-luxury",children:o.jsxs("div",{className:"max-w-3xl",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-gold mb-4",children:"Philosophy"})}),o.jsx(E,{delay:.1,children:o.jsx("h2",{className:"heading-section text-background mb-8",children:'"People deserve a trusted advisor, not a salesperson."'})}),o.jsx(E,{delay:.2,children:o.jsx("p",{className:"text-lg text-background/80",children:"Every client relationship begins with listening. By understanding your unique goals, timeline, and what matters most to your family, I deliver results that exceed expectations — with integrity at every step."})})]})})})]})]}),qw="https://nyjulmckeel.com",Kw=[{quote:"Nyjul made our first home purchase in Frisco completely stress-free. His knowledge of the local market and genuine care for our family made all the difference. We never felt pressured — just guided.",author:"The Williams Family",role:"Frisco First-Time Buyers",featured:!0},{quote:"We needed someone who truly knew Frisco — not just DFW broadly. Nyjul delivered. He sold our home in under 30 days and helped us find the perfect upgrade in Phillips Creek Ranch.",author:"Marcus & Tanya D.",role:"Frisco Sellers & Buyers",featured:!0},{quote:"Nyjul's integrity and faith-driven approach set him apart from every other agent we spoke with. He was honest, direct, and always had our best interests at heart.",author:"James & Keisha P.",role:"Starwood Buyers",featured:!0},{quote:"Relocating to Frisco from out of state was daunting, but Nyjul made it seamless. He knew every school district, every neighborhood, and helped us find the perfect fit for our family.",author:"The Henderson Family",role:"Relocation Buyers",featured:!1},{quote:"Nyjul doesn't just sell homes — he builds relationships. He took the time to understand exactly what we needed and found us a home we love in Newman Village.",author:"Robert & Angela M.",role:"Newman Village Buyers",featured:!1},{quote:"Working with Nyjul felt like working with a friend who also happens to be the best agent in Frisco. His market knowledge is unmatched and his integrity is unquestionable.",author:"David & Crystal T.",role:"Richwoods Sellers",featured:!1}],L6=()=>{const e=Kw.filter(n=>n.featured),t=Kw.filter(n=>!n.featured);return o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Client Testimonials | Nyjul McKeel - Frisco Real Estate"}),o.jsx("meta",{name:"description",content:"Read what clients say about working with Nyjul McKeel. Five-star reviews from Frisco buyers and sellers across Starwood, Newman Village, Phillips Creek & more."}),o.jsx("link",{rel:"canonical",href:`${qw}/testimonials`}),o.jsx("meta",{property:"og:title",content:"Client Testimonials | Nyjul McKeel"}),o.jsx("meta",{property:"og:description",content:"Five-star reviews from Frisco real estate clients."}),o.jsx("meta",{property:"og:url",content:`${qw}/testimonials`}),o.jsx("meta",{property:"og:type",content:"website"})]}),o.jsx(jt,{slug:"testimonials",eyebrow:"Client Stories",title:"Testimonials",subtitle:"Hear from clients who have experienced the trust, integrity, and expertise that define working with Nyjul McKeel."}),o.jsx("section",{className:"section-padding bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8",children:e.map((n,r)=>o.jsx(E,{delay:r*.1,children:o.jsxs("div",{className:"bg-secondary p-8 md:p-10 h-full flex flex-col",children:[o.jsx("div",{className:"flex gap-1 mb-6",children:[...Array(5)].map((s,i)=>o.jsx(BR,{size:16,className:"fill-gold text-gold"},i))}),o.jsxs("blockquote",{className:"text-lg md:text-xl font-serif text-foreground mb-8 flex-1",children:['"',n.quote,'"']}),o.jsxs("div",{children:[o.jsx("p",{className:"font-medium text-foreground",children:n.author}),o.jsx("p",{className:"text-sm text-muted-foreground",children:n.role})]})]})},n.author))})})}),o.jsx("section",{className:"section-padding bg-foreground",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-background/60 mb-12 text-center",children:"More Client Experiences"})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-12 md:gap-16",children:t.map((n,r)=>o.jsx(E,{delay:r*.1,children:o.jsxs("div",{className:"border-l-2 border-gold pl-8",children:[o.jsxs("blockquote",{className:"text-lg text-background/90 mb-6",children:['"',n.quote,'"']}),o.jsxs("div",{children:[o.jsx("p",{className:"font-medium text-background",children:n.author}),o.jsx("p",{className:"text-sm text-background/60",children:n.role})]})]})},n.author))})]})}),o.jsx("section",{className:"py-24 md:py-32 bg-background",children:o.jsxs("div",{className:"container-luxury text-center",children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-6",children:"Ready to Work With Nyjul?"})}),o.jsx(E,{delay:.1,children:o.jsx("p",{className:"text-body text-muted-foreground max-w-2xl mx-auto mb-10",children:"Join the growing number of Frisco families who have trusted Nyjul McKeel with their most important real estate decisions."})}),o.jsx(E,{delay:.2,children:o.jsx(H,{to:"/contact",className:"btn-luxury",children:"Schedule a Consultation"})})]})})]})},ne=x.forwardRef(({className:e,type:t,...n},r)=>o.jsx("input",{type:t,className:J("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...n}));ne.displayName="Input";const rd=x.forwardRef(({className:e,...t},n)=>o.jsx("textarea",{className:J("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:n,...t}));rd.displayName="Textarea";function VC(e){const t=x.useRef({value:e,previous:e});return x.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var zd="Checkbox",[$6,VH]=Zt(zd),[B6,Ky]=$6(zd);function U6(e){const{__scopeCheckbox:t,checked:n,children:r,defaultChecked:s,disabled:i,form:a,name:l,onCheckedChange:c,required:u,value:d="on",internal_do_not_use_render:h}=e,[f,m]=dr({prop:n,defaultProp:s??!1,onChange:c,caller:zd}),[w,p]=x.useState(null),[y,g]=x.useState(null),v=x.useRef(!1),b=w?!!a||!!w.closest("form"):!0,j={checked:f,disabled:i,setChecked:m,control:w,setControl:p,name:l,form:a,value:d,hasConsumerStoppedPropagationRef:v,required:u,defaultChecked:as(s)?!1:s,isFormControl:b,bubbleInput:y,setBubbleInput:g};return o.jsx(B6,{scope:t,...j,children:V6(h)?h(j):r})}var zC="CheckboxTrigger",HC=x.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},s)=>{const{control:i,value:a,disabled:l,checked:c,required:u,setControl:d,setChecked:h,hasConsumerStoppedPropagationRef:f,isFormControl:m,bubbleInput:w}=Ky(zC,e),p=Pe(s,d),y=x.useRef(c);return x.useEffect(()=>{const g=i==null?void 0:i.form;if(g){const v=()=>h(y.current);return g.addEventListener("reset",v),()=>g.removeEventListener("reset",v)}},[i,h]),o.jsx(le.button,{type:"button",role:"checkbox","aria-checked":as(c)?"mixed":c,"aria-required":u,"data-state":YC(c),"data-disabled":l?"":void 0,disabled:l,value:a,...r,ref:p,onKeyDown:oe(t,g=>{g.key==="Enter"&&g.preventDefault()}),onClick:oe(n,g=>{h(v=>as(v)?!0:!v),w&&m&&(f.current=g.isPropagationStopped(),f.current||g.stopPropagation())})})});HC.displayName=zC;var Gy=x.forwardRef((e,t)=>{const{__scopeCheckbox:n,name:r,checked:s,defaultChecked:i,required:a,disabled:l,value:c,onCheckedChange:u,form:d,...h}=e;return o.jsx(U6,{__scopeCheckbox:n,checked:s,defaultChecked:i,disabled:l,required:a,onCheckedChange:u,name:r,form:d,value:c,internal_do_not_use_render:({isFormControl:f})=>o.jsxs(o.Fragment,{children:[o.jsx(HC,{...h,ref:t,__scopeCheckbox:n}),f&&o.jsx(GC,{__scopeCheckbox:n})]})})});Gy.displayName=zd;var WC="CheckboxIndicator",qC=x.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:r,...s}=e,i=Ky(WC,n);return o.jsx(ur,{present:r||as(i.checked)||i.checked===!0,children:o.jsx(le.span,{"data-state":YC(i.checked),"data-disabled":i.disabled?"":void 0,...s,ref:t,style:{pointerEvents:"none",...e.style}})})});qC.displayName=WC;var KC="CheckboxBubbleInput",GC=x.forwardRef(({__scopeCheckbox:e,...t},n)=>{const{control:r,hasConsumerStoppedPropagationRef:s,checked:i,defaultChecked:a,required:l,disabled:c,name:u,value:d,form:h,bubbleInput:f,setBubbleInput:m}=Ky(KC,e),w=Pe(n,m),p=VC(i),y=qg(r);x.useEffect(()=>{const v=f;if(!v)return;const b=window.HTMLInputElement.prototype,S=Object.getOwnPropertyDescriptor(b,"checked").set,k=!s.current;if(p!==i&&S){const T=new Event("click",{bubbles:k});v.indeterminate=as(i),S.call(v,as(i)?!1:i),v.dispatchEvent(T)}},[f,p,i,s]);const g=x.useRef(as(i)?!1:i);return o.jsx(le.input,{type:"checkbox","aria-hidden":!0,defaultChecked:a??g.current,required:l,disabled:c,name:u,value:d,form:h,...t,tabIndex:-1,ref:w,style:{...t.style,...y,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});GC.displayName=KC;function V6(e){return typeof e=="function"}function as(e){return e==="indeterminate"}function YC(e){return as(e)?"indeterminate":e?"checked":"unchecked"}const QC=x.forwardRef(({className:e,...t},n)=>o.jsx(Gy,{ref:n,className:J("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:o.jsx(qC,{className:J("flex items-center justify-center text-current"),children:o.jsx(Ua,{className:"h-4 w-4"})})}));QC.displayName=Gy.displayName;const XC=({checked:e,onCheckedChange:t,entityName:n="Nyjul McKeel"})=>o.jsxs("div",{className:"flex items-start gap-3",children:[o.jsx(QC,{id:"opt-in",checked:e,onCheckedChange:r=>t(r===!0),className:"mt-1"}),o.jsxs("label",{htmlFor:"opt-in",className:"text-xs text-muted-foreground leading-relaxed cursor-pointer",children:["I agree to be contacted by ",n," via call, email, and text for real estate services. To opt out, you can reply 'stop' at any time or reply 'help' for assistance. You can also click the unsubscribe link in the emails. Message and data rates may apply. Message frequency may vary."," ",o.jsx(H,{to:"/privacy-policy",className:"underline hover:text-foreground transition-colors",children:"Privacy Policy"}),"."]})]}),z6="https://crm.realsavvy.com/api/form_submissions",H6=`eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiI3ZmYyMjgxMTM5NzgzNWZmNTlkNmZmYWViM2U0YTU1MzAwMzUxMzdiMjdjYTE0OTE1NzEyODQwYjVkNzcyODYwIiwiYXVkIjoiZ2lkOi8vcmVhbC1zYXZ2eS9TaXRlLzE3NzUiLCJzdWIiOiJnaWQ6Ly9yZWFsLXNhdnZ5L1NpdGUvMTc3NSIsInNjb3BlcyI6WyJhZG1pbiJdfQ.ffRj8Nj4ovufgJcwVGvUakBapm2QaTK8sVCOYy-T8ssZVshDp_l43ZDRMSBPQi--_gAOKOHX1rZYy_ypuKXS_v1qD1VnsbpNZmwkfbIzdafR0ZhzllgaJRv8tRTI3QI3vDtkyqhF7jai2eCED0SktFil4-Bj-pElzv4H2AqPDjYxuWPMUL7bFyY7rQTlyrG8DLRX9BFXBqTmPO4deic-Luwta7yye3YIfnAI-px9_3MBCgZYXTr7v4RJNdUK1K8qkkVB_RiiQWXLAA1L2cKK3AK8eXobt2t9_9W7nS28pV25vPr3ymiAruEqkTJd8W7m29b_fsblYEkb2yL96y6Glw
`,W6="29ad0d43-1c7d-4cbc-92b1-1dd6bac9584e";async function JC(e){const t=crypto.randomUUID(),n=new FormData;n.append("cyclum_vid",W6),n.append("cyclum_submission_id",t),n.append("form_name",e.formName),n.append("first_name",e.firstName.trim()),n.append("last_name",e.lastName.trim()),n.append("phone",e.phone.trim()),n.append("email",e.email.trim()),e.message&&n.append("message",e.message.trim());for(const s of e.tags)n.append("tag[]",s);if(n.append("tag[]",e.optedIn?"opted-in":"no-opt-in"),!(await fetch(z6,{method:"POST",headers:{Authorization:`Bearer ${H6}`},body:n})).ok)throw new Error("Failed to submit form")}const Gw="https://nyjulmckeel.com",q6=()=>{const{toast:e}=xs(),[t,n]=x.useState(!1),[r,s]=x.useState(!1),[i,a]=x.useState({firstName:"",lastName:"",email:"",phone:"",message:"",interest:"buying"}),l=async u=>{u.preventDefault(),n(!0);try{await JC({firstName:i.firstName,lastName:i.lastName,email:i.email,phone:i.phone,message:i.message||i.interest,formName:"contact-form-with-image",tags:["contact-us-form"],optedIn:r}),e({title:"Message Sent",description:"Thank you for reaching out. I'll be in touch shortly."}),a({firstName:"",lastName:"",email:"",phone:"",message:"",interest:"buying"}),s(!1)}catch(d){console.error("Form submission error:",d),e({title:"Error",description:"There was a problem sending your message. Please try again.",variant:"destructive"})}finally{n(!1)}},c=u=>{a({...i,[u.target.name]:u.target.value})};return o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Contact Nyjul McKeel | Frisco Real Estate Advisor"}),o.jsx("meta",{name:"description",content:"Get in touch with Nyjul McKeel for expert real estate guidance in Frisco, TX. Free consultations for buyers and sellers."}),o.jsx("link",{rel:"canonical",href:`${Gw}/contact`}),o.jsx("meta",{property:"og:title",content:"Contact Nyjul McKeel | Frisco Real Estate"}),o.jsx("meta",{property:"og:description",content:"Reach out for expert real estate services in Frisco, TX."}),o.jsx("meta",{property:"og:url",content:`${Gw}/contact`}),o.jsx("meta",{property:"og:type",content:"website"})]}),o.jsx("section",{className:"pt-32 md:pt-40 pb-16 md:pb-24 bg-background",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx(E,{children:o.jsx("h1",{className:"heading-section text-center mb-4",children:"Let's Talk"})}),o.jsx(E,{delay:.1,children:o.jsx("p",{className:"text-body text-muted-foreground text-center max-w-2xl mx-auto",children:"Whether you're ready to buy, sell, or just exploring your options in Frisco — I'm here to help."})})]})}),o.jsx("section",{className:"pb-20 md:pb-28 bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16 lg:gap-24",children:[o.jsxs("div",{children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-card mb-6",children:"Get in Touch"})}),o.jsx(E,{delay:.1,children:o.jsx("p",{className:"text-body text-muted-foreground mb-12",children:"I pride myself on providing personalized attention to every client. Reach out today to discuss your real estate goals in Frisco."})}),o.jsxs("div",{className:"space-y-8",children:[o.jsx(E,{delay:.2,children:o.jsxs("div",{className:"flex items-start gap-4",children:[o.jsx("div",{className:"w-12 h-12 bg-secondary flex items-center justify-center flex-shrink-0",children:o.jsx(MR,{size:20,className:"text-gold"})}),o.jsxs("div",{children:[o.jsx("p",{className:"text-caption text-muted-foreground mb-1",children:"Phone"}),o.jsx("a",{href:"tel:+18179413392",className:"text-lg font-serif hover:text-gold transition-colors",children:"(817) 941-3392"})]})]})}),o.jsx(E,{delay:.3,children:o.jsxs("div",{className:"flex items-start gap-4",children:[o.jsx("div",{className:"w-12 h-12 bg-secondary flex items-center justify-center flex-shrink-0",children:o.jsx(AR,{size:20,className:"text-gold"})}),o.jsxs("div",{children:[o.jsx("p",{className:"text-caption text-muted-foreground mb-1",children:"Email"}),o.jsx("a",{href:"mailto:themckeelgroup@gmail.com",className:"text-lg font-serif hover:text-gold transition-colors",children:"themckeelgroup@gmail.com"})]})]})}),o.jsx(E,{delay:.4,children:o.jsxs("div",{className:"flex items-start gap-4",children:[o.jsx("div",{className:"w-12 h-12 bg-secondary flex items-center justify-center flex-shrink-0",children:o.jsx(pi,{size:20,className:"text-gold"})}),o.jsxs("div",{children:[o.jsx("p",{className:"text-caption text-muted-foreground mb-1",children:"Serving"}),o.jsx("p",{className:"text-lg font-serif",children:"Frisco, TX"}),o.jsx("p",{className:"text-sm text-muted-foreground",children:"Orchard"})]})]})})]})]}),o.jsx(E,{delay:.2,children:o.jsxs("form",{onSubmit:l,className:"space-y-6",children:[o.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-6",children:[o.jsxs("div",{children:[o.jsx("label",{htmlFor:"firstName",className:"text-caption text-muted-foreground mb-2 block",children:"First Name *"}),o.jsx(ne,{id:"firstName",name:"firstName",value:i.firstName,onChange:c,required:!0,className:"bg-secondary border-0 h-12 rounded-none focus:ring-1 focus:ring-gold"})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:"lastName",className:"text-caption text-muted-foreground mb-2 block",children:"Last Name *"}),o.jsx(ne,{id:"lastName",name:"lastName",value:i.lastName,onChange:c,required:!0,className:"bg-secondary border-0 h-12 rounded-none focus:ring-1 focus:ring-gold"})]})]}),o.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-6",children:[o.jsxs("div",{children:[o.jsx("label",{htmlFor:"email",className:"text-caption text-muted-foreground mb-2 block",children:"Email *"}),o.jsx(ne,{id:"email",name:"email",type:"email",value:i.email,onChange:c,required:!0,className:"bg-secondary border-0 h-12 rounded-none focus:ring-1 focus:ring-gold"})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:"phone",className:"text-caption text-muted-foreground mb-2 block",children:"Phone"}),o.jsx(ne,{id:"phone",name:"phone",type:"tel",value:i.phone,onChange:c,className:"bg-secondary border-0 h-12 rounded-none focus:ring-1 focus:ring-gold"})]})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:"interest",className:"text-caption text-muted-foreground mb-2 block",children:"I'm Interested In"}),o.jsxs("select",{id:"interest",name:"interest",value:i.interest,onChange:c,className:"w-full bg-secondary border-0 h-12 px-4 text-foreground focus:ring-1 focus:ring-gold appearance-none cursor-pointer",children:[o.jsx("option",{value:"buying",children:"Buying in Frisco"}),o.jsx("option",{value:"selling",children:"Selling in Frisco"}),o.jsx("option",{value:"both",children:"Both Buying and Selling"}),o.jsx("option",{value:"relocation",children:"Relocating to Frisco"}),o.jsx("option",{value:"consultation",children:"General Consultation"})]})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:"message",className:"text-caption text-muted-foreground mb-2 block",children:"Message"}),o.jsx(rd,{id:"message",name:"message",value:i.message,onChange:c,rows:5,className:"bg-secondary border-0 rounded-none focus:ring-1 focus:ring-gold resize-none",placeholder:"Tell me about your real estate goals in Frisco..."})]}),o.jsx(XC,{checked:r,onCheckedChange:s}),o.jsx("button",{type:"submit",className:"btn-luxury w-full disabled:opacity-50",disabled:t,children:t?"Sending...":"Send Message"})]})})]})})}),o.jsx("section",{className:"h-96 bg-secondary flex items-center justify-center",children:o.jsxs("div",{className:"text-center",children:[o.jsx("p",{className:"text-caption text-muted-foreground mb-2",children:"Serving"}),o.jsx("p",{className:"heading-card",children:"Frisco, Texas"})]})})]})},Yw="https://nyjulmckeel.com",K6=()=>{const{toast:e}=xs(),[t,n]=x.useState(1),[r,s]=x.useState(!1),[i,a]=x.useState({streetAddress:"",city:"Frisco",state:"TX",zipCode:"",propertyType:"",bedrooms:"",bathrooms:"",squareFeet:"",yearBuilt:"",condition:"",firstName:"",lastName:"",email:"",phone:""}),l=m=>{a({...i,[m.target.name]:m.target.value})},c=()=>{if(t===1&&(!i.streetAddress||!i.city||!i.zipCode)){e({title:"Required Fields",description:"Please fill in all address fields to continue.",variant:"destructive"});return}n(t+1)},u=()=>n(t-1),d=async m=>{if(m.preventDefault(),!i.firstName||!i.email||!i.phone){e({title:"Required Fields",description:"Please fill in your contact information.",variant:"destructive"});return}try{const w=[`Property: ${i.streetAddress}, ${i.city}, ${i.state} ${i.zipCode}`,i.propertyType&&`Type: ${i.propertyType}`,i.bedrooms&&`Beds: ${i.bedrooms}`,i.bathrooms&&`Baths: ${i.bathrooms}`,i.squareFeet&&`Sqft: ${i.squareFeet}`,i.yearBuilt&&`Year: ${i.yearBuilt}`,i.condition&&`Condition: ${i.condition}`].filter(Boolean).join(" | ");await JC({firstName:i.firstName,lastName:i.lastName,email:i.email,phone:i.phone,message:w,formName:"home-valuation-form",tags:["home-valuation"],optedIn:r}),e({title:"Valuation Request Submitted",description:"I will contact you within 24 hours with your personalized home valuation."}),n(3)}catch(w){console.error("Valuation form error:",w),e({title:"Error",description:"There was a problem submitting your request. Please try again.",variant:"destructive"})}},h=["Single Family Home","Condo/Townhouse","Multi-Family","New Construction","Luxury Estate","Other"],f=["Excellent - Move-in ready, recently updated","Good - Well maintained, minor updates needed","Fair - Needs some work","Needs Renovation"];return o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Free Home Valuation in Frisco TX | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"Get a free, no-obligation home valuation in Frisco, TX from Nyjul McKeel. Expert market analysis for your Frisco property."}),o.jsx("link",{rel:"canonical",href:`${Yw}/home-valuation`}),o.jsx("meta",{property:"og:title",content:"Free Home Valuation | Nyjul McKeel - Frisco TX"}),o.jsx("meta",{property:"og:description",content:"Get a complimentary market analysis of your Frisco property."}),o.jsx("meta",{property:"og:url",content:`${Yw}/home-valuation`}),o.jsx("meta",{property:"og:type",content:"website"})]}),o.jsx(jt,{slug:"home-valuation",eyebrow:"Free Home Valuation",title:"What's Your Frisco Home Worth?",subtitle:"Get a complimentary, no-obligation market analysis of your Frisco property from someone who knows this market better than anyone."}),o.jsx("section",{className:"bg-background border-b border-border",children:o.jsx("div",{className:"container-luxury py-6",children:o.jsxs("div",{className:"flex items-center justify-center gap-4",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("div",{className:`w-10 h-10 rounded-full flex items-center justify-center transition-colors ${t>=1?"bg-gold text-background":"bg-secondary text-muted-foreground"}`,children:t>1?o.jsx(Ua,{size:18}):o.jsx(pi,{size:18})}),o.jsx("span",{className:`text-sm font-medium hidden sm:block ${t>=1?"text-foreground":"text-muted-foreground"}`,children:"Property Address"})]}),o.jsx("div",{className:"w-12 h-px bg-border"}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("div",{className:`w-10 h-10 rounded-full flex items-center justify-center transition-colors ${t>=2?"bg-gold text-background":"bg-secondary text-muted-foreground"}`,children:t>2?o.jsx(Ua,{size:18}):o.jsx(Wo,{size:18})}),o.jsx("span",{className:`text-sm font-medium hidden sm:block ${t>=2?"text-foreground":"text-muted-foreground"}`,children:"Property Details"})]})]})})}),o.jsx("section",{className:"section-padding bg-background",children:o.jsx("div",{className:"container-luxury max-w-3xl",children:o.jsxs(UT,{mode:"wait",children:[t===1&&o.jsxs(er.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},exit:{opacity:0,x:-20},transition:{duration:.3},children:[o.jsxs("div",{className:"text-center mb-12",children:[o.jsx("h2",{className:"heading-section mb-4",children:"Where is your property located?"}),o.jsx("p",{className:"text-body text-muted-foreground",children:"Enter your Frisco property address to begin your complimentary valuation."})]}),o.jsxs("div",{className:"space-y-6",children:[o.jsxs("div",{children:[o.jsx("label",{htmlFor:"streetAddress",className:"text-caption text-muted-foreground mb-2 block",children:"Street Address *"}),o.jsx(ne,{id:"streetAddress",name:"streetAddress",value:i.streetAddress,onChange:l,placeholder:"123 Main Street",className:"bg-secondary border-0 h-14 rounded-none focus:ring-1 focus:ring-gold text-lg"})]}),o.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-6",children:[o.jsxs("div",{className:"sm:col-span-1",children:[o.jsx("label",{htmlFor:"city",className:"text-caption text-muted-foreground mb-2 block",children:"City *"}),o.jsx(ne,{id:"city",name:"city",value:i.city,onChange:l,placeholder:"Frisco",className:"bg-secondary border-0 h-14 rounded-none focus:ring-1 focus:ring-gold"})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:"state",className:"text-caption text-muted-foreground mb-2 block",children:"State"}),o.jsx("select",{id:"state",name:"state",value:i.state,onChange:l,className:"w-full bg-secondary border-0 h-14 px-4 text-foreground focus:ring-1 focus:ring-gold appearance-none cursor-pointer",children:o.jsx("option",{value:"TX",children:"Texas"})})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:"zipCode",className:"text-caption text-muted-foreground mb-2 block",children:"ZIP Code *"}),o.jsx(ne,{id:"zipCode",name:"zipCode",value:i.zipCode,onChange:l,placeholder:"75034",className:"bg-secondary border-0 h-14 rounded-none focus:ring-1 focus:ring-gold"})]})]}),o.jsxs("button",{type:"button",onClick:c,className:"btn-luxury w-full mt-8 flex items-center justify-center gap-2",children:["Continue ",o.jsx(Fs,{size:18})]})]})]},"step1"),t===2&&o.jsx(er.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},exit:{opacity:0,x:-20},transition:{duration:.3},children:o.jsxs("form",{onSubmit:d,children:[o.jsxs("div",{className:"text-center mb-12",children:[o.jsx("h2",{className:"heading-section mb-4",children:"Tell us about your property"}),o.jsx("p",{className:"text-body text-muted-foreground",children:"These details help provide the most accurate Frisco market valuation."})]}),o.jsxs("div",{className:"space-y-6",children:[o.jsxs("div",{children:[o.jsx("label",{className:"text-caption text-muted-foreground mb-3 block",children:"Property Type"}),o.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3",children:h.map(m=>o.jsx("button",{type:"button",onClick:()=>a({...i,propertyType:m}),className:`p-4 text-sm text-center transition-all ${i.propertyType===m?"bg-gold text-background":"bg-secondary text-foreground hover:bg-secondary/80"}`,children:m},m))})]}),o.jsxs("div",{className:"grid grid-cols-2 gap-6",children:[o.jsxs("div",{children:[o.jsx("label",{htmlFor:"bedrooms",className:"text-caption text-muted-foreground mb-2 block",children:"Bedrooms"}),o.jsxs("select",{id:"bedrooms",name:"bedrooms",value:i.bedrooms,onChange:l,className:"w-full bg-secondary border-0 h-14 px-4 text-foreground focus:ring-1 focus:ring-gold appearance-none cursor-pointer",children:[o.jsx("option",{value:"",children:"Select"}),[1,2,3,4,5,6,7,8,"9+"].map(m=>o.jsx("option",{value:m,children:m},m))]})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:"bathrooms",className:"text-caption text-muted-foreground mb-2 block",children:"Bathrooms"}),o.jsxs("select",{id:"bathrooms",name:"bathrooms",value:i.bathrooms,onChange:l,className:"w-full bg-secondary border-0 h-14 px-4 text-foreground focus:ring-1 focus:ring-gold appearance-none cursor-pointer",children:[o.jsx("option",{value:"",children:"Select"}),[1,1.5,2,2.5,3,3.5,4,4.5,5,"5+"].map(m=>o.jsx("option",{value:m,children:m},m))]})]})]}),o.jsxs("div",{className:"grid grid-cols-2 gap-6",children:[o.jsxs("div",{children:[o.jsx("label",{htmlFor:"squareFeet",className:"text-caption text-muted-foreground mb-2 block",children:"Square Feet (approx.)"}),o.jsx(ne,{id:"squareFeet",name:"squareFeet",value:i.squareFeet,onChange:l,placeholder:"3,500",className:"bg-secondary border-0 h-14 rounded-none focus:ring-1 focus:ring-gold"})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:"yearBuilt",className:"text-caption text-muted-foreground mb-2 block",children:"Year Built"}),o.jsx(ne,{id:"yearBuilt",name:"yearBuilt",value:i.yearBuilt,onChange:l,placeholder:"2020",className:"bg-secondary border-0 h-14 rounded-none focus:ring-1 focus:ring-gold"})]})]}),o.jsxs("div",{children:[o.jsx("label",{className:"text-caption text-muted-foreground mb-3 block",children:"Property Condition"}),o.jsx("div",{className:"space-y-3",children:f.map(m=>o.jsx("button",{type:"button",onClick:()=>a({...i,condition:m}),className:`w-full p-4 text-sm text-left transition-all ${i.condition===m?"bg-gold text-background":"bg-secondary text-foreground hover:bg-secondary/80"}`,children:m},m))})]}),o.jsxs("div",{className:"pt-6 border-t border-border",children:[o.jsx("h3",{className:"heading-card mb-6",children:"Your Contact Information"}),o.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-6",children:[o.jsxs("div",{children:[o.jsx("label",{htmlFor:"firstName",className:"text-caption text-muted-foreground mb-2 block",children:"First Name *"}),o.jsx(ne,{id:"firstName",name:"firstName",value:i.firstName,onChange:l,className:"bg-secondary border-0 h-14 rounded-none focus:ring-1 focus:ring-gold"})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:"lastName",className:"text-caption text-muted-foreground mb-2 block",children:"Last Name"}),o.jsx(ne,{id:"lastName",name:"lastName",value:i.lastName,onChange:l,className:"bg-secondary border-0 h-14 rounded-none focus:ring-1 focus:ring-gold"})]})]}),o.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-6 mt-6",children:[o.jsxs("div",{children:[o.jsx("label",{htmlFor:"email",className:"text-caption text-muted-foreground mb-2 block",children:"Email *"}),o.jsx(ne,{id:"email",name:"email",type:"email",value:i.email,onChange:l,className:"bg-secondary border-0 h-14 rounded-none focus:ring-1 focus:ring-gold"})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:"phone",className:"text-caption text-muted-foreground mb-2 block",children:"Phone *"}),o.jsx(ne,{id:"phone",name:"phone",type:"tel",value:i.phone,onChange:l,className:"bg-secondary border-0 h-14 rounded-none focus:ring-1 focus:ring-gold"})]})]})]}),o.jsx(XC,{checked:r,onCheckedChange:s}),o.jsxs("div",{className:"flex gap-4 mt-8",children:[o.jsxs("button",{type:"button",onClick:u,className:"flex-1 h-14 bg-secondary text-foreground hover:bg-secondary/80 transition-colors flex items-center justify-center gap-2",children:[o.jsx(Cd,{size:18})," Back"]}),o.jsxs("button",{type:"submit",className:"flex-1 btn-luxury flex items-center justify-center gap-2",children:["Get My Valuation ",o.jsx(Fs,{size:18})]})]})]})]})},"step2"),t===3&&o.jsxs(er.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{duration:.4},className:"text-center py-12",children:[o.jsx("div",{className:"w-20 h-20 bg-gold rounded-full flex items-center justify-center mx-auto mb-8",children:o.jsx(Ua,{size:40,className:"text-background"})}),o.jsx("h2",{className:"heading-section mb-4",children:"Thank You!"}),o.jsx("p",{className:"text-body text-muted-foreground max-w-lg mx-auto mb-8",children:"Your valuation request has been submitted. I'll personally review your property details and contact you within 24 hours with a comprehensive Frisco market analysis."}),o.jsx(H,{to:"/",className:"btn-luxury",children:"Return Home"})]},"step3")]})})})]})};var ZC={exports:{}};/*! pym.js - v1.3.2 - 2018-02-13 */(function(e){(function(t){e.exports?e.exports=t():window.pym=t.call(this)})(function(){var t="xPYMx",n={},r=function(f){var m=document.createEvent("Event");m.initEvent("pym:"+f,!0,!0),document.dispatchEvent(m)},s=function(f){var m=new RegExp("[\\?&]"+f.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]")+"=([^&#]*)"),w=m.exec(location.search);return w===null?"":decodeURIComponent(w[1].replace(/\+/g," "))},i=function(f,m){if(!(m.xdomain!=="*"&&!f.origin.match(new RegExp(m.xdomain+"$")))&&typeof f.data=="string")return!0},a=function(f){var m=/^(?:(?:https?|mailto|ftp):|[^&:/?#]*(?:[/?#]|$))/gi;if(f.match(m))return!0},l=function(f,m,w){var p=["pym",f,m,w];return p.join(t)},c=function(f){var m=["pym",f,"(\\S+)","(.*)"];return new RegExp("^"+m.join(t)+"$")},u=Date.now||function(){return new Date().getTime()},d=function(f,m,w){var p,y,g,v=null,b=0;w||(w={});var j=function(){b=w.leading===!1?0:u(),v=null,g=f.apply(p,y),v||(p=y=null)};return function(){var S=u();!b&&w.leading===!1&&(b=S);var k=m-(S-b);return p=this,y=arguments,k<=0||k>m?(v&&(clearTimeout(v),v=null),b=S,g=f.apply(p,y),v||(p=y=null)):!v&&w.trailing!==!1&&(v=setTimeout(j,k)),g}},h=function(){for(var f=n.autoInitInstances.length,m=f-1;m>=0;m--){var w=n.autoInitInstances[m];w.el.getElementsByTagName("iframe").length&&w.el.getElementsByTagName("iframe")[0].contentWindow||n.autoInitInstances.splice(m,1)}};return n.autoInitInstances=[],n.autoInit=function(f){var m=document.querySelectorAll("[data-pym-src]:not([data-pym-auto-initialized])"),w=m.length;h();for(var p=0;p<w;++p){var y=m[p];y.setAttribute("data-pym-auto-initialized",""),y.id===""&&(y.id="pym-"+p+"-"+Math.random().toString(36).substr(2,5));var g=y.getAttribute("data-pym-src"),v={xdomain:"string",title:"string",name:"string",id:"string",sandbox:"string",allowfullscreen:"boolean",parenturlparam:"string",parenturlvalue:"string",optionalparams:"boolean",trackscroll:"boolean",scrollwait:"number"},b={};for(var j in v)if(y.getAttribute("data-pym-"+j)!==null)switch(v[j]){case"boolean":b[j]=y.getAttribute("data-pym-"+j)!=="false";break;case"string":b[j]=y.getAttribute("data-pym-"+j);break;case"number":var S=Number(y.getAttribute("data-pym-"+j));isNaN(S)||(b[j]=S);break;default:console.err("unrecognized attribute type")}var k=new n.Parent(y.id,g,b);n.autoInitInstances.push(k)}return f||r("pym-initialized"),n.autoInitInstances},n.Parent=function(f,m,w){this.id=f,this.url=m,this.el=document.getElementById(f),this.iframe=null,this.settings={xdomain:"*",optionalparams:!0,parenturlparam:"parentUrl",parenturlvalue:window.location.href,trackscroll:!1,scrollwait:100},this.messageRegex=c(this.id),this.messageHandlers={},w=w||{},this._constructIframe=function(){var y=this.el.offsetWidth.toString();this.iframe=document.createElement("iframe");var g="",v=this.url.indexOf("#");for(v>-1&&(g=this.url.substring(v,this.url.length),this.url=this.url.substring(0,v)),this.url.indexOf("?")<0?this.url+="?":this.url+="&",this.iframe.src=this.url+"initialWidth="+y+"&childId="+this.id,this.settings.optionalparams&&(this.iframe.src+="&parentTitle="+encodeURIComponent(document.title),this.iframe.src+="&"+this.settings.parenturlparam+"="+encodeURIComponent(this.settings.parenturlvalue)),this.iframe.src+=g,this.iframe.setAttribute("width","100%"),this.iframe.setAttribute("scrolling","no"),this.iframe.setAttribute("marginheight","0"),this.iframe.setAttribute("frameborder","0"),this.settings.title&&this.iframe.setAttribute("title",this.settings.title),this.settings.allowfullscreen!==void 0&&this.settings.allowfullscreen!==!1&&this.iframe.setAttribute("allowfullscreen",""),this.settings.sandbox!==void 0&&typeof this.settings.sandbox=="string"&&this.iframe.setAttribute("sandbox",this.settings.sandbox),this.settings.id&&(document.getElementById(this.settings.id)||this.iframe.setAttribute("id",this.settings.id)),this.settings.name&&this.iframe.setAttribute("name",this.settings.name);this.el.firstChild;)this.el.removeChild(this.el.firstChild);this.el.appendChild(this.iframe),window.addEventListener("resize",this._onResize),this.settings.trackscroll&&window.addEventListener("scroll",this._throttleOnScroll)},this._onResize=(function(){this.sendWidth(),this.settings.trackscroll&&this.sendViewportAndIFramePosition()}).bind(this),this._onScroll=(function(){this.sendViewportAndIFramePosition()}).bind(this),this._fire=function(y,g){if(y in this.messageHandlers)for(var v=0;v<this.messageHandlers[y].length;v++)this.messageHandlers[y][v].call(this,g)},this.remove=function(){window.removeEventListener("message",this._processMessage),window.removeEventListener("resize",this._onResize),this.el.removeChild(this.iframe),h()},this._processMessage=(function(y){if(i(y,this.settings)&&typeof y.data=="string"){var g=y.data.match(this.messageRegex);if(!g||g.length!==3)return!1;var v=g[1],b=g[2];this._fire(v,b)}}).bind(this),this._onHeightMessage=function(y){var g=parseInt(y);this.iframe.setAttribute("height",g+"px")},this._onNavigateToMessage=function(y){a(y)&&(document.location.href=y)},this._onScrollToChildPosMessage=function(y){var g=document.getElementById(this.id).getBoundingClientRect().top+window.pageYOffset,v=g+parseInt(y);window.scrollTo(0,v)},this.onMessage=function(y,g){y in this.messageHandlers||(this.messageHandlers[y]=[]),this.messageHandlers[y].push(g)},this.sendMessage=function(y,g){this.el.getElementsByTagName("iframe").length&&(this.el.getElementsByTagName("iframe")[0].contentWindow?this.el.getElementsByTagName("iframe")[0].contentWindow.postMessage(l(this.id,y,g),"*"):this.remove())},this.sendWidth=function(){var y=this.el.offsetWidth.toString();this.sendMessage("width",y)},this.sendViewportAndIFramePosition=function(){var y=this.iframe.getBoundingClientRect(),g=window.innerWidth||document.documentElement.clientWidth,v=window.innerHeight||document.documentElement.clientHeight,b=g+" "+v;b+=" "+y.top+" "+y.left,b+=" "+y.bottom+" "+y.right,this.sendMessage("viewport-iframe-position",b)};for(var p in w)this.settings[p]=w[p];return this._throttleOnScroll=d(this._onScroll.bind(this),this.settings.scrollwait),this.onMessage("height",this._onHeightMessage),this.onMessage("navigateTo",this._onNavigateToMessage),this.onMessage("scrollToChildPos",this._onScrollToChildPosMessage),this.onMessage("parentPositionInfo",this.sendViewportAndIFramePosition),window.addEventListener("message",this._processMessage,!1),this._constructIframe(),this},n.Child=function(f){this.parentWidth=null,this.id=null,this.parentTitle=null,this.parentUrl=null,this.settings={renderCallback:null,xdomain:"*",polling:0,parenturlparam:"parentUrl"},this.timerId=null,this.messageRegex=null,this.messageHandlers={},f=f||{},this.onMessage=function(y,g){y in this.messageHandlers||(this.messageHandlers[y]=[]),this.messageHandlers[y].push(g)},this._fire=function(y,g){if(y in this.messageHandlers)for(var v=0;v<this.messageHandlers[y].length;v++)this.messageHandlers[y][v].call(this,g)},this._processMessage=(function(y){if(i(y,this.settings)&&typeof y.data=="string"){var g=y.data.match(this.messageRegex);if(!(!g||g.length!==3)){var v=g[1],b=g[2];this._fire(v,b)}}}).bind(this),this._onWidthMessage=function(y){var g=parseInt(y);g!==this.parentWidth&&(this.parentWidth=g,this.settings.renderCallback&&this.settings.renderCallback(g),this.sendHeight())},this.sendMessage=function(y,g){window.parent.postMessage(l(this.id,y,g),"*")},this.sendHeight=(function(){var y=document.getElementsByTagName("body")[0].offsetHeight.toString();return this.sendMessage("height",y),y}).bind(this),this.getParentPositionInfo=function(){this.sendMessage("parentPositionInfo")},this.scrollParentTo=function(y){this.sendMessage("navigateTo","#"+y)},this.navigateParentTo=function(y){this.sendMessage("navigateTo",y)},this.scrollParentToChildEl=function(y){var g=document.getElementById(y).getBoundingClientRect().top+window.pageYOffset;this.scrollParentToChildPos(g)},this.scrollParentToChildPos=function(y){this.sendMessage("scrollToChildPos",y.toString())};var m=function(y){var g=document.getElementsByTagName("html")[0],v,b=g.className;try{window.self!==window.top?v="embedded":v="not-embedded"}catch{v="embedded"}b.indexOf(v)<0&&(g.className=b?b+" "+v:v,y&&y(v),r("marked-embedded"))};this.remove=function(){window.removeEventListener("message",this._processMessage),this.timerId&&clearInterval(this.timerId)};for(var w in f)this.settings[w]=f[w];this.id=s("childId")||f.id,this.messageRegex=new RegExp("^pym"+t+this.id+t+"(\\S+)"+t+"(.*)$");var p=parseInt(s("initialWidth"));return this.parentUrl=s(this.settings.parenturlparam),this.parentTitle=s("parentTitle"),this.onMessage("width",this._onWidthMessage),window.addEventListener("message",this._processMessage,!1),this.settings.renderCallback&&this.settings.renderCallback(p),this.sendHeight(),this.settings.polling&&(this.timerId=window.setInterval(this.sendHeight,this.settings.polling)),m(f.onMarkedEmbeddedStatus),this},typeof document<"u"&&n.autoInit(!0),n})})(ZC);var G6=ZC.exports;const Y6=Uo(G6),_a={iframeDomain:"https://nyjulmckeel-realsavvy.realsavvy.co",idxRedirectPath:"/idx",idxPrefix:"/app",siteId:"1775",clientId:"7ff22811397835ff59d6ffaeb3e4a5530035137b27ca14915712840b5d772860",style:{mainFont:"Inter"}},af={idxPath:"/",marketId:"2346",map:!0,query:{},suggestions:!0,height:"100vh",idxRedirect:!0},eE=(e,t)=>{const n=[];for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){const s=t?`${t}[${r}]`:r,i=e[r];if(i==null)continue;n.push(i!==null&&typeof i=="object"?eE(i,s):`${encodeURIComponent(s)}=${encodeURIComponent(i)}`)}return n.join("&")},Q6=(e="/",t="")=>{const n={};n.client_id=_a.clientId;const r=localStorage.getItem("_market_v3");if(r)try{const m=JSON.parse(r);n.market_id=m.id}catch{n.market_id=af.marketId}else n.market_id=af.marketId;n.font=_a.style.mainFont;const s=localStorage.getItem("cycagt");s&&(n._cycagt=s);const i="29ad0d43-1c7d-4cbc-92b1-1dd6bac9584e";n._vid=i;const a=new URLSearchParams(window.location.search),l=a.get("magic_link");l&&(n.magic_link=l);const c=a.get("magic_auth");c&&(n.magic_auth=c),window.matchMedia("(max-width: 768px)").matches?n.map=!1:n.map=af.map;const u=eE(n),d=t?`${u}&${t}`:u,h=`${_a.idxPrefix}${e}`;let f=_a.iframeDomain;return/^https?:\/\//i.test(f)||(f=`https://${f}`),f=f.replace(/\/+$/,""),`${f}${h}?${d}`},X6=()=>{const e=localStorage.getItem("cycagt"),t=n=>{if(!n.origin.includes("realsavvy")&&!n.origin.includes("bossidx"))return;const r=n.data;if(!r||!r.postal)return;const s=r.packingSlip;if(s){if(s.type==="federation.ping"){const i=n.source;i&&i.postMessage({postal:!0,packingSlip:{type:"federation.pong",instanceId:s.instanceId}},n.origin);return}if(s.type==="federation.message"){const i=s.envelope;if(!i)return;if(i.channel==="idx"&&i.topic==="router.didTransition"){const a=i.data;if(!a||!a.currentURL)return;const l=a.currentURL.split("?"),c=l[0],u=new URLSearchParams(l[1]||"");e&&u.set("_cycagt",e);const d=u.toString();let h;d===""?h=c:h=`${c}?${d}`,window.history.replaceState(a,document.title,`${_a.idxRedirectPath}${h}`)}}}};return window.addEventListener("message",t),()=>{window.removeEventListener("message",t)}},lf="https://nyjulmckeel.com",Cr=()=>{const e=x.useRef(null);return x.useEffect(()=>{const n=new URLSearchParams(window.location.search).get("_cycagt");n&&localStorage.setItem("cycagt",n);const r=window.location.pathname,i=["/client","/r","/preview-property","/magic-redirect"].some(h=>r===h||r.startsWith(h+"/"));let a="/";i?a=r:r.startsWith("/idx/")&&r.length>5?a=r.replace(/^\/idx/,"")||"/":r.startsWith("/search/")&&r.length>8&&(a=r);const l=window.location.search?window.location.search.substring(1):"",c=Q6(a,l);e.current=new Y6.Parent("idx-frame",c,{});const u=X6(),d=()=>{var w;const h=document.querySelector("header"),f=(h==null?void 0:h.offsetHeight)||80,m=window.innerHeight-f;(w=e.current)!=null&&w.iframe&&(e.current.iframe.setAttribute("height",`${m}px`),e.current.iframe.style.height=`${m}px`)};return d(),window.addEventListener("resize",d),()=>{window.removeEventListener("resize",d),u()}},[]),o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Search MLS Listings | Nyjul McKeel | Frisco Real Estate"}),o.jsx("meta",{name:"description",content:"Search all MLS listings in Frisco, Frisco, Prosper & Plano. Find your dream luxury home with Nyjul McKeel at Nyjul McKeel."}),o.jsx("link",{rel:"canonical",href:`${lf}/idx`}),o.jsx("meta",{property:"og:title",content:"Search MLS Listings | Nyjul McKeel | Frisco Real Estate"}),o.jsx("meta",{property:"og:description",content:"Search all MLS listings in Frisco and Frisco."}),o.jsx("meta",{property:"og:url",content:`${lf}/idx`}),o.jsx("meta",{property:"og:type",content:"website"}),o.jsx("meta",{property:"og:image",content:`${lf}/og-image.jpg`}),o.jsx("meta",{name:"twitter:card",content:"summary_large_image"})]}),o.jsx("div",{id:"idx-frame",className:"w-full [&>iframe]:w-full [&>iframe]:border-0"})]})};var J6="Label",tE=x.forwardRef((e,t)=>o.jsx(le.label,{...e,ref:t,onMouseDown:n=>{var s;n.target.closest("button, input, select, textarea")||((s=e.onMouseDown)==null||s.call(e,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));tE.displayName=J6;var nE=tE;const Z6=Rg("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),we=x.forwardRef(({className:e,...t},n)=>o.jsx(nE,{ref:n,className:J(Z6(),e),...t}));we.displayName=nE.displayName;const Dn=x.forwardRef(({className:e,...t},n)=>o.jsx("div",{ref:n,className:J("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));Dn.displayName="Card";const ls=x.forwardRef(({className:e,...t},n)=>o.jsx("div",{ref:n,className:J("flex flex-col space-y-1.5 p-6",e),...t}));ls.displayName="CardHeader";const cs=x.forwardRef(({className:e,...t},n)=>o.jsx("h3",{ref:n,className:J("text-2xl font-semibold leading-none tracking-tight",e),...t}));cs.displayName="CardTitle";const fo=x.forwardRef(({className:e,...t},n)=>o.jsx("p",{ref:n,className:J("text-sm text-muted-foreground",e),...t}));fo.displayName="CardDescription";const Ln=x.forwardRef(({className:e,...t},n)=>o.jsx("div",{ref:n,className:J("p-6 pt-0",e),...t}));Ln.displayName="CardContent";const eB=x.forwardRef(({className:e,...t},n)=>o.jsx("div",{ref:n,className:J("flex items-center p-6 pt-0",e),...t}));eB.displayName="CardFooter";var Pn=function(){return Pn=Object.assign||function(t){for(var n,r=1,s=arguments.length;r<s;r++){n=arguments[r];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},Pn.apply(this,arguments)};function ta(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,r=Object.getOwnPropertySymbols(e);s<r.length;s++)t.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(n[r[s]]=e[r[s]]);return n}function tB(e,t,n,r){function s(i){return i instanceof n?i:new n(function(a){a(i)})}return new(n||(n=Promise))(function(i,a){function l(d){try{u(r.next(d))}catch(h){a(h)}}function c(d){try{u(r.throw(d))}catch(h){a(h)}}function u(d){d.done?i(d.value):s(d.value).then(l,c)}u((r=r.apply(e,t||[])).next())})}function nB(e,t,n){if(n||arguments.length===2)for(var r=0,s=t.length,i;r<s;r++)(i||!(r in t))&&(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}const rB=e=>e?(...t)=>e(...t):(...t)=>fetch(...t);class Yy extends Error{constructor(t,n="FunctionsError",r){super(t),this.name=n,this.context=r}}class sB extends Yy{constructor(t){super("Failed to send a request to the Edge Function","FunctionsFetchError",t)}}class Qw extends Yy{constructor(t){super("Relay Error invoking the Edge Function","FunctionsRelayError",t)}}class Xw extends Yy{constructor(t){super("Edge Function returned a non-2xx status code","FunctionsHttpError",t)}}var bp;(function(e){e.Any="any",e.ApNortheast1="ap-northeast-1",e.ApNortheast2="ap-northeast-2",e.ApSouth1="ap-south-1",e.ApSoutheast1="ap-southeast-1",e.ApSoutheast2="ap-southeast-2",e.CaCentral1="ca-central-1",e.EuCentral1="eu-central-1",e.EuWest1="eu-west-1",e.EuWest2="eu-west-2",e.EuWest3="eu-west-3",e.SaEast1="sa-east-1",e.UsEast1="us-east-1",e.UsWest1="us-west-1",e.UsWest2="us-west-2"})(bp||(bp={}));class iB{constructor(t,{headers:n={},customFetch:r,region:s=bp.Any}={}){this.url=t,this.headers=n,this.region=s,this.fetch=rB(r)}setAuth(t){this.headers.Authorization=`Bearer ${t}`}invoke(t){return tB(this,arguments,void 0,function*(n,r={}){var s;let i,a;try{const{headers:l,method:c,body:u,signal:d,timeout:h}=r;let f={},{region:m}=r;m||(m=this.region);const w=new URL(`${this.url}/${n}`);m&&m!=="any"&&(f["x-region"]=m,w.searchParams.set("forceFunctionRegion",m));let p;u&&(l&&!Object.prototype.hasOwnProperty.call(l,"Content-Type")||!l)?typeof Blob<"u"&&u instanceof Blob||u instanceof ArrayBuffer?(f["Content-Type"]="application/octet-stream",p=u):typeof u=="string"?(f["Content-Type"]="text/plain",p=u):typeof FormData<"u"&&u instanceof FormData?p=u:(f["Content-Type"]="application/json",p=JSON.stringify(u)):u&&typeof u!="string"&&!(typeof Blob<"u"&&u instanceof Blob)&&!(u instanceof ArrayBuffer)&&!(typeof FormData<"u"&&u instanceof FormData)?p=JSON.stringify(u):p=u;let y=d;h&&(a=new AbortController,i=setTimeout(()=>a.abort(),h),d?(y=a.signal,d.addEventListener("abort",()=>a.abort())):y=a.signal);const g=yield this.fetch(w.toString(),{method:c||"POST",headers:Object.assign(Object.assign(Object.assign({},f),this.headers),l),body:p,signal:y}).catch(S=>{throw new sB(S)}),v=g.headers.get("x-relay-error");if(v&&v==="true")throw new Qw(g);if(!g.ok)throw new Xw(g);let b=((s=g.headers.get("Content-Type"))!==null&&s!==void 0?s:"text/plain").split(";")[0].trim(),j;return b==="application/json"?j=yield g.json():b==="application/octet-stream"||b==="application/pdf"?j=yield g.blob():b==="text/event-stream"?j=g:b==="multipart/form-data"?j=yield g.formData():j=yield g.text(),{data:j,error:null,response:g}}catch(l){return{data:null,error:l,response:l instanceof Xw||l instanceof Qw?l.context:void 0}}finally{i&&clearTimeout(i)}})}}var oB=class extends Error{constructor(e){super(e.message),this.name="PostgrestError",this.details=e.details,this.hint=e.hint,this.code=e.code}},aB=class{constructor(e){var t,n;this.shouldThrowOnError=!1,this.method=e.method,this.url=e.url,this.headers=new Headers(e.headers),this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=(t=e.shouldThrowOnError)!==null&&t!==void 0?t:!1,this.signal=e.signal,this.isMaybeSingle=(n=e.isMaybeSingle)!==null&&n!==void 0?n:!1,e.fetch?this.fetch=e.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,t){return this.headers=new Headers(this.headers),this.headers.set(e,t),this}then(e,t){var n=this;this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers.set("Accept-Profile",this.schema):this.headers.set("Content-Profile",this.schema)),this.method!=="GET"&&this.method!=="HEAD"&&this.headers.set("Content-Type","application/json");const r=this.fetch;let s=r(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async i=>{let a=null,l=null,c=null,u=i.status,d=i.statusText;if(i.ok){var h,f;if(n.method!=="HEAD"){var m;const g=await i.text();g===""||(n.headers.get("Accept")==="text/csv"||n.headers.get("Accept")&&(!((m=n.headers.get("Accept"))===null||m===void 0)&&m.includes("application/vnd.pgrst.plan+text"))?l=g:l=JSON.parse(g))}const p=(h=n.headers.get("Prefer"))===null||h===void 0?void 0:h.match(/count=(exact|planned|estimated)/),y=(f=i.headers.get("content-range"))===null||f===void 0?void 0:f.split("/");p&&y&&y.length>1&&(c=parseInt(y[1])),n.isMaybeSingle&&n.method==="GET"&&Array.isArray(l)&&(l.length>1?(a={code:"PGRST116",details:`Results contain ${l.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},l=null,c=null,u=406,d="Not Acceptable"):l.length===1?l=l[0]:l=null)}else{var w;const p=await i.text();try{a=JSON.parse(p),Array.isArray(a)&&i.status===404&&(l=[],a=null,u=200,d="OK")}catch{i.status===404&&p===""?(u=204,d="No Content"):a={message:p}}if(a&&n.isMaybeSingle&&(!(a==null||(w=a.details)===null||w===void 0)&&w.includes("0 rows"))&&(a=null,u=200,d="OK"),a&&n.shouldThrowOnError)throw new oB(a)}return{error:a,data:l,count:c,status:u,statusText:d}});return this.shouldThrowOnError||(s=s.catch(i=>{var a;let l="";const c=i==null?void 0:i.cause;if(c){var u,d,h,f;const w=(u=c==null?void 0:c.message)!==null&&u!==void 0?u:"",p=(d=c==null?void 0:c.code)!==null&&d!==void 0?d:"";l=`${(h=i==null?void 0:i.name)!==null&&h!==void 0?h:"FetchError"}: ${i==null?void 0:i.message}`,l+=`

Caused by: ${(f=c==null?void 0:c.name)!==null&&f!==void 0?f:"Error"}: ${w}`,p&&(l+=` (${p})`),c!=null&&c.stack&&(l+=`
${c.stack}`)}else{var m;l=(m=i==null?void 0:i.stack)!==null&&m!==void 0?m:""}return{error:{message:`${(a=i==null?void 0:i.name)!==null&&a!==void 0?a:"FetchError"}: ${i==null?void 0:i.message}`,details:l,hint:"",code:""},data:null,count:null,status:0,statusText:""}})),s.then(e,t)}returns(){return this}overrideTypes(){return this}},lB=class extends aB{select(e){let t=!1;const n=(e??"*").split("").map(r=>/\s/.test(r)&&!t?"":(r==='"'&&(t=!t),r)).join("");return this.url.searchParams.set("select",n),this.headers.append("Prefer","return=representation"),this}order(e,{ascending:t=!0,nullsFirst:n,foreignTable:r,referencedTable:s=r}={}){const i=s?`${s}.order`:"order",a=this.url.searchParams.get(i);return this.url.searchParams.set(i,`${a?`${a},`:""}${e}.${t?"asc":"desc"}${n===void 0?"":n?".nullsfirst":".nullslast"}`),this}limit(e,{foreignTable:t,referencedTable:n=t}={}){const r=typeof n>"u"?"limit":`${n}.limit`;return this.url.searchParams.set(r,`${e}`),this}range(e,t,{foreignTable:n,referencedTable:r=n}={}){const s=typeof r>"u"?"offset":`${r}.offset`,i=typeof r>"u"?"limit":`${r}.limit`;return this.url.searchParams.set(s,`${e}`),this.url.searchParams.set(i,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return this.method==="GET"?this.headers.set("Accept","application/json"):this.headers.set("Accept","application/vnd.pgrst.object+json"),this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:e=!1,verbose:t=!1,settings:n=!1,buffers:r=!1,wal:s=!1,format:i="text"}={}){var a;const l=[e?"analyze":null,t?"verbose":null,n?"settings":null,r?"buffers":null,s?"wal":null].filter(Boolean).join("|"),c=(a=this.headers.get("Accept"))!==null&&a!==void 0?a:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${i}; for="${c}"; options=${l};`),i==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(e){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${e}`),this}};const Jw=new RegExp("[,()]");var Oi=class extends lB{eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}likeAllOf(e,t){return this.url.searchParams.append(e,`like(all).{${t.join(",")}}`),this}likeAnyOf(e,t){return this.url.searchParams.append(e,`like(any).{${t.join(",")}}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}ilikeAllOf(e,t){return this.url.searchParams.append(e,`ilike(all).{${t.join(",")}}`),this}ilikeAnyOf(e,t){return this.url.searchParams.append(e,`ilike(any).{${t.join(",")}}`),this}regexMatch(e,t){return this.url.searchParams.append(e,`match.${t}`),this}regexIMatch(e,t){return this.url.searchParams.append(e,`imatch.${t}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}isDistinct(e,t){return this.url.searchParams.append(e,`isdistinct.${t}`),this}in(e,t){const n=Array.from(new Set(t)).map(r=>typeof r=="string"&&Jw.test(r)?`"${r}"`:`${r}`).join(",");return this.url.searchParams.append(e,`in.(${n})`),this}notIn(e,t){const n=Array.from(new Set(t)).map(r=>typeof r=="string"&&Jw.test(r)?`"${r}"`:`${r}`).join(",");return this.url.searchParams.append(e,`not.in.(${n})`),this}contains(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(",")}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(",")}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return typeof t=="string"?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(",")}}`),this}textSearch(e,t,{config:n,type:r}={}){let s="";r==="plain"?s="pl":r==="phrase"?s="ph":r==="websearch"&&(s="w");const i=n===void 0?"":`(${n})`;return this.url.searchParams.append(e,`${s}fts${i}.${t}`),this}match(e){return Object.entries(e).forEach(([t,n])=>{this.url.searchParams.append(t,`eq.${n}`)}),this}not(e,t,n){return this.url.searchParams.append(e,`not.${t}.${n}`),this}or(e,{foreignTable:t,referencedTable:n=t}={}){const r=n?`${n}.or`:"or";return this.url.searchParams.append(r,`(${e})`),this}filter(e,t,n){return this.url.searchParams.append(e,`${t}.${n}`),this}},cB=class{constructor(e,{headers:t={},schema:n,fetch:r}){this.url=e,this.headers=new Headers(t),this.schema=n,this.fetch=r}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(e,t){const{head:n=!1,count:r}=t??{},s=n?"HEAD":"GET";let i=!1;const a=(e??"*").split("").map(u=>/\s/.test(u)&&!i?"":(u==='"'&&(i=!i),u)).join(""),{url:l,headers:c}=this.cloneRequestState();return l.searchParams.set("select",a),r&&c.append("Prefer",`count=${r}`),new Oi({method:s,url:l,headers:c,schema:this.schema,fetch:this.fetch})}insert(e,{count:t,defaultToNull:n=!0}={}){var r;const s="POST",{url:i,headers:a}=this.cloneRequestState();if(t&&a.append("Prefer",`count=${t}`),n||a.append("Prefer","missing=default"),Array.isArray(e)){const l=e.reduce((c,u)=>c.concat(Object.keys(u)),[]);if(l.length>0){const c=[...new Set(l)].map(u=>`"${u}"`);i.searchParams.set("columns",c.join(","))}}return new Oi({method:s,url:i,headers:a,schema:this.schema,body:e,fetch:(r=this.fetch)!==null&&r!==void 0?r:fetch})}upsert(e,{onConflict:t,ignoreDuplicates:n=!1,count:r,defaultToNull:s=!0}={}){var i;const a="POST",{url:l,headers:c}=this.cloneRequestState();if(c.append("Prefer",`resolution=${n?"ignore":"merge"}-duplicates`),t!==void 0&&l.searchParams.set("on_conflict",t),r&&c.append("Prefer",`count=${r}`),s||c.append("Prefer","missing=default"),Array.isArray(e)){const u=e.reduce((d,h)=>d.concat(Object.keys(h)),[]);if(u.length>0){const d=[...new Set(u)].map(h=>`"${h}"`);l.searchParams.set("columns",d.join(","))}}return new Oi({method:a,url:l,headers:c,schema:this.schema,body:e,fetch:(i=this.fetch)!==null&&i!==void 0?i:fetch})}update(e,{count:t}={}){var n;const r="PATCH",{url:s,headers:i}=this.cloneRequestState();return t&&i.append("Prefer",`count=${t}`),new Oi({method:r,url:s,headers:i,schema:this.schema,body:e,fetch:(n=this.fetch)!==null&&n!==void 0?n:fetch})}delete({count:e}={}){var t;const n="DELETE",{url:r,headers:s}=this.cloneRequestState();return e&&s.append("Prefer",`count=${e}`),new Oi({method:n,url:r,headers:s,schema:this.schema,fetch:(t=this.fetch)!==null&&t!==void 0?t:fetch})}},uB=class rE{constructor(t,{headers:n={},schema:r,fetch:s}={}){this.url=t,this.headers=new Headers(n),this.schemaName=r,this.fetch=s}from(t){if(!t||typeof t!="string"||t.trim()==="")throw new Error("Invalid relation name: relation must be a non-empty string.");return new cB(new URL(`${this.url}/${t}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch})}schema(t){return new rE(this.url,{headers:this.headers,schema:t,fetch:this.fetch})}rpc(t,n={},{head:r=!1,get:s=!1,count:i}={}){var a;let l;const c=new URL(`${this.url}/rpc/${t}`);let u;const d=m=>m!==null&&typeof m=="object"&&(!Array.isArray(m)||m.some(d)),h=r&&Object.values(n).some(d);h?(l="POST",u=n):r||s?(l=r?"HEAD":"GET",Object.entries(n).filter(([m,w])=>w!==void 0).map(([m,w])=>[m,Array.isArray(w)?`{${w.join(",")}}`:`${w}`]).forEach(([m,w])=>{c.searchParams.append(m,w)})):(l="POST",u=n);const f=new Headers(this.headers);return h?f.set("Prefer",i?`count=${i},return=minimal`:"return=minimal"):i&&f.set("Prefer",`count=${i}`),new Oi({method:l,url:c,headers:f,schema:this.schemaName,body:u,fetch:(a=this.fetch)!==null&&a!==void 0?a:fetch})}};class dB{constructor(){}static detectEnvironment(){var t;if(typeof WebSocket<"u")return{type:"native",constructor:WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocket<"u")return{type:"native",constructor:globalThis.WebSocket};if(typeof global<"u"&&typeof global.WebSocket<"u")return{type:"native",constructor:global.WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocketPair<"u"&&typeof globalThis.WebSocket>"u")return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if(typeof globalThis<"u"&&globalThis.EdgeRuntime||typeof navigator<"u"&&(!((t=navigator.userAgent)===null||t===void 0)&&t.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};const n=globalThis.process;if(n){const r=n.versions;if(r&&r.node){const s=r.node,i=parseInt(s.replace(/^v/,"").split(".")[0]);return i>=22?typeof globalThis.WebSocket<"u"?{type:"native",constructor:globalThis.WebSocket}:{type:"unsupported",error:`Node.js ${i} detected but native WebSocket not found.`,workaround:"Provide a WebSocket implementation via the transport option."}:{type:"unsupported",error:`Node.js ${i} detected without native WebSocket support.`,workaround:`For Node.js < 22, install "ws" package and provide it via the transport option:
import ws from "ws"
new RealtimeClient(url, { transport: ws })`}}}return{type:"unsupported",error:"Unknown JavaScript runtime without WebSocket support.",workaround:"Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation."}}static getWebSocketConstructor(){const t=this.detectEnvironment();if(t.constructor)return t.constructor;let n=t.error||"WebSocket not supported in this environment.";throw t.workaround&&(n+=`

Suggested solution: ${t.workaround}`),new Error(n)}static createWebSocket(t,n){const r=this.getWebSocketConstructor();return new r(t,n)}static isWebSocketSupported(){try{const t=this.detectEnvironment();return t.type==="native"||t.type==="ws"}catch{return!1}}}const hB="2.93.2",fB=`realtime-js/${hB}`,mB="1.0.0",sE="2.0.0",Zw=sE,jp=1e4,pB=1e3,gB=100;var Ir;(function(e){e[e.connecting=0]="connecting",e[e.open=1]="open",e[e.closing=2]="closing",e[e.closed=3]="closed"})(Ir||(Ir={}));var qe;(function(e){e.closed="closed",e.errored="errored",e.joined="joined",e.joining="joining",e.leaving="leaving"})(qe||(qe={}));var fn;(function(e){e.close="phx_close",e.error="phx_error",e.join="phx_join",e.reply="phx_reply",e.leave="phx_leave",e.access_token="access_token"})(fn||(fn={}));var Sp;(function(e){e.websocket="websocket"})(Sp||(Sp={}));var Ms;(function(e){e.Connecting="connecting",e.Open="open",e.Closing="closing",e.Closed="closed"})(Ms||(Ms={}));class yB{constructor(t){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT="broadcast",this.allowedMetadataKeys=[],this.allowedMetadataKeys=t??[]}encode(t,n){if(t.event===this.BROADCAST_EVENT&&!(t.payload instanceof ArrayBuffer)&&typeof t.payload.event=="string")return n(this._binaryEncodeUserBroadcastPush(t));let r=[t.join_ref,t.ref,t.topic,t.event,t.payload];return n(JSON.stringify(r))}_binaryEncodeUserBroadcastPush(t){var n;return this._isArrayBuffer((n=t.payload)===null||n===void 0?void 0:n.payload)?this._encodeBinaryUserBroadcastPush(t):this._encodeJsonUserBroadcastPush(t)}_encodeBinaryUserBroadcastPush(t){var n,r;const s=(r=(n=t.payload)===null||n===void 0?void 0:n.payload)!==null&&r!==void 0?r:new ArrayBuffer(0);return this._encodeUserBroadcastPush(t,this.BINARY_ENCODING,s)}_encodeJsonUserBroadcastPush(t){var n,r;const s=(r=(n=t.payload)===null||n===void 0?void 0:n.payload)!==null&&r!==void 0?r:{},a=new TextEncoder().encode(JSON.stringify(s)).buffer;return this._encodeUserBroadcastPush(t,this.JSON_ENCODING,a)}_encodeUserBroadcastPush(t,n,r){var s,i;const a=t.topic,l=(s=t.ref)!==null&&s!==void 0?s:"",c=(i=t.join_ref)!==null&&i!==void 0?i:"",u=t.payload.event,d=this.allowedMetadataKeys?this._pick(t.payload,this.allowedMetadataKeys):{},h=Object.keys(d).length===0?"":JSON.stringify(d);if(c.length>255)throw new Error(`joinRef length ${c.length} exceeds maximum of 255`);if(l.length>255)throw new Error(`ref length ${l.length} exceeds maximum of 255`);if(a.length>255)throw new Error(`topic length ${a.length} exceeds maximum of 255`);if(u.length>255)throw new Error(`userEvent length ${u.length} exceeds maximum of 255`);if(h.length>255)throw new Error(`metadata length ${h.length} exceeds maximum of 255`);const f=this.USER_BROADCAST_PUSH_META_LENGTH+c.length+l.length+a.length+u.length+h.length,m=new ArrayBuffer(this.HEADER_LENGTH+f);let w=new DataView(m),p=0;w.setUint8(p++,this.KINDS.userBroadcastPush),w.setUint8(p++,c.length),w.setUint8(p++,l.length),w.setUint8(p++,a.length),w.setUint8(p++,u.length),w.setUint8(p++,h.length),w.setUint8(p++,n),Array.from(c,g=>w.setUint8(p++,g.charCodeAt(0))),Array.from(l,g=>w.setUint8(p++,g.charCodeAt(0))),Array.from(a,g=>w.setUint8(p++,g.charCodeAt(0))),Array.from(u,g=>w.setUint8(p++,g.charCodeAt(0))),Array.from(h,g=>w.setUint8(p++,g.charCodeAt(0)));var y=new Uint8Array(m.byteLength+r.byteLength);return y.set(new Uint8Array(m),0),y.set(new Uint8Array(r),m.byteLength),y.buffer}decode(t,n){if(this._isArrayBuffer(t)){let r=this._binaryDecode(t);return n(r)}if(typeof t=="string"){const r=JSON.parse(t),[s,i,a,l,c]=r;return n({join_ref:s,ref:i,topic:a,event:l,payload:c})}return n({})}_binaryDecode(t){const n=new DataView(t),r=n.getUint8(0),s=new TextDecoder;switch(r){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(t,n,s)}}_decodeUserBroadcast(t,n,r){const s=n.getUint8(1),i=n.getUint8(2),a=n.getUint8(3),l=n.getUint8(4);let c=this.HEADER_LENGTH+4;const u=r.decode(t.slice(c,c+s));c=c+s;const d=r.decode(t.slice(c,c+i));c=c+i;const h=r.decode(t.slice(c,c+a));c=c+a;const f=t.slice(c,t.byteLength),m=l===this.JSON_ENCODING?JSON.parse(r.decode(f)):f,w={type:this.BROADCAST_EVENT,event:d,payload:m};return a>0&&(w.meta=JSON.parse(h)),{join_ref:null,ref:null,topic:u,event:this.BROADCAST_EVENT,payload:w}}_isArrayBuffer(t){var n;return t instanceof ArrayBuffer||((n=t==null?void 0:t.constructor)===null||n===void 0?void 0:n.name)==="ArrayBuffer"}_pick(t,n){return!t||typeof t!="object"?{}:Object.fromEntries(Object.entries(t).filter(([r])=>n.includes(r)))}}class iE{constructor(t,n){this.callback=t,this.timerCalc=n,this.timer=void 0,this.tries=0,this.callback=t,this.timerCalc=n}reset(){this.tries=0,clearTimeout(this.timer),this.timer=void 0}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}}var be;(function(e){e.abstime="abstime",e.bool="bool",e.date="date",e.daterange="daterange",e.float4="float4",e.float8="float8",e.int2="int2",e.int4="int4",e.int4range="int4range",e.int8="int8",e.int8range="int8range",e.json="json",e.jsonb="jsonb",e.money="money",e.numeric="numeric",e.oid="oid",e.reltime="reltime",e.text="text",e.time="time",e.timestamp="timestamp",e.timestamptz="timestamptz",e.timetz="timetz",e.tsrange="tsrange",e.tstzrange="tstzrange"})(be||(be={}));const eb=(e,t,n={})=>{var r;const s=(r=n.skipTypes)!==null&&r!==void 0?r:[];return t?Object.keys(t).reduce((i,a)=>(i[a]=vB(a,e,t,s),i),{}):{}},vB=(e,t,n,r)=>{const s=t.find(l=>l.name===e),i=s==null?void 0:s.type,a=n[e];return i&&!r.includes(i)?oE(i,a):kp(a)},oE=(e,t)=>{if(e.charAt(0)==="_"){const n=e.slice(1,e.length);return jB(t,n)}switch(e){case be.bool:return xB(t);case be.float4:case be.float8:case be.int2:case be.int4:case be.int8:case be.numeric:case be.oid:return wB(t);case be.json:case be.jsonb:return bB(t);case be.timestamp:return SB(t);case be.abstime:case be.date:case be.daterange:case be.int4range:case be.int8range:case be.money:case be.reltime:case be.text:case be.time:case be.timestamptz:case be.timetz:case be.tsrange:case be.tstzrange:return kp(t);default:return kp(t)}},kp=e=>e,xB=e=>{switch(e){case"t":return!0;case"f":return!1;default:return e}},wB=e=>{if(typeof e=="string"){const t=parseFloat(e);if(!Number.isNaN(t))return t}return e},bB=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch{return e}return e},jB=(e,t)=>{if(typeof e!="string")return e;const n=e.length-1,r=e[n];if(e[0]==="{"&&r==="}"){let i;const a=e.slice(1,n);try{i=JSON.parse("["+a+"]")}catch{i=a?a.split(","):[]}return i.map(l=>oE(t,l))}return e},SB=e=>typeof e=="string"?e.replace(" ","T"):e,aE=e=>{const t=new URL(e);return t.protocol=t.protocol.replace(/^ws/i,"http"),t.pathname=t.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),t.pathname===""||t.pathname==="/"?t.pathname="/api/broadcast":t.pathname=t.pathname+"/api/broadcast",t.href};class cf{constructor(t,n,r={},s=jp){this.channel=t,this.event=n,this.payload=r,this.timeout=s,this.sent=!1,this.timeoutTimer=void 0,this.ref="",this.receivedResp=null,this.recHooks=[],this.refEvent=null}resend(t){this.timeout=t,this._cancelRefEvent(),this.ref="",this.refEvent=null,this.receivedResp=null,this.sent=!1,this.send()}send(){this._hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,join_ref:this.channel._joinRef()}))}updatePayload(t){this.payload=Object.assign(Object.assign({},this.payload),t)}receive(t,n){var r;return this._hasReceived(t)&&n((r=this.receivedResp)===null||r===void 0?void 0:r.response),this.recHooks.push({status:t,callback:n}),this}startTimeout(){if(this.timeoutTimer)return;this.ref=this.channel.socket._makeRef(),this.refEvent=this.channel._replyEventName(this.ref);const t=n=>{this._cancelRefEvent(),this._cancelTimeout(),this.receivedResp=n,this._matchReceive(n)};this.channel._on(this.refEvent,{},t),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}trigger(t,n){this.refEvent&&this.channel._trigger(this.refEvent,{status:t,response:n})}destroy(){this._cancelRefEvent(),this._cancelTimeout()}_cancelRefEvent(){this.refEvent&&this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=void 0}_matchReceive({status:t,response:n}){this.recHooks.filter(r=>r.status===t).forEach(r=>r.callback(n))}_hasReceived(t){return this.receivedResp&&this.receivedResp.status===t}}var tb;(function(e){e.SYNC="sync",e.JOIN="join",e.LEAVE="leave"})(tb||(tb={}));class qa{constructor(t,n){this.channel=t,this.state={},this.pendingDiffs=[],this.joinRef=null,this.enabled=!1,this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};const r=(n==null?void 0:n.events)||{state:"presence_state",diff:"presence_diff"};this.channel._on(r.state,{},s=>{const{onJoin:i,onLeave:a,onSync:l}=this.caller;this.joinRef=this.channel._joinRef(),this.state=qa.syncState(this.state,s,i,a),this.pendingDiffs.forEach(c=>{this.state=qa.syncDiff(this.state,c,i,a)}),this.pendingDiffs=[],l()}),this.channel._on(r.diff,{},s=>{const{onJoin:i,onLeave:a,onSync:l}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(s):(this.state=qa.syncDiff(this.state,s,i,a),l())}),this.onJoin((s,i,a)=>{this.channel._trigger("presence",{event:"join",key:s,currentPresences:i,newPresences:a})}),this.onLeave((s,i,a)=>{this.channel._trigger("presence",{event:"leave",key:s,currentPresences:i,leftPresences:a})}),this.onSync(()=>{this.channel._trigger("presence",{event:"sync"})})}static syncState(t,n,r,s){const i=this.cloneDeep(t),a=this.transformState(n),l={},c={};return this.map(i,(u,d)=>{a[u]||(c[u]=d)}),this.map(a,(u,d)=>{const h=i[u];if(h){const f=d.map(y=>y.presence_ref),m=h.map(y=>y.presence_ref),w=d.filter(y=>m.indexOf(y.presence_ref)<0),p=h.filter(y=>f.indexOf(y.presence_ref)<0);w.length>0&&(l[u]=w),p.length>0&&(c[u]=p)}else l[u]=d}),this.syncDiff(i,{joins:l,leaves:c},r,s)}static syncDiff(t,n,r,s){const{joins:i,leaves:a}={joins:this.transformState(n.joins),leaves:this.transformState(n.leaves)};return r||(r=()=>{}),s||(s=()=>{}),this.map(i,(l,c)=>{var u;const d=(u=t[l])!==null&&u!==void 0?u:[];if(t[l]=this.cloneDeep(c),d.length>0){const h=t[l].map(m=>m.presence_ref),f=d.filter(m=>h.indexOf(m.presence_ref)<0);t[l].unshift(...f)}r(l,d,c)}),this.map(a,(l,c)=>{let u=t[l];if(!u)return;const d=c.map(h=>h.presence_ref);u=u.filter(h=>d.indexOf(h.presence_ref)<0),t[l]=u,s(l,u,c),u.length===0&&delete t[l]}),t}static map(t,n){return Object.getOwnPropertyNames(t).map(r=>n(r,t[r]))}static transformState(t){return t=this.cloneDeep(t),Object.getOwnPropertyNames(t).reduce((n,r)=>{const s=t[r];return"metas"in s?n[r]=s.metas.map(i=>(i.presence_ref=i.phx_ref,delete i.phx_ref,delete i.phx_ref_prev,i)):n[r]=s,n},{})}static cloneDeep(t){return JSON.parse(JSON.stringify(t))}onJoin(t){this.caller.onJoin=t}onLeave(t){this.caller.onLeave=t}onSync(t){this.caller.onSync=t}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}}var nb;(function(e){e.ALL="*",e.INSERT="INSERT",e.UPDATE="UPDATE",e.DELETE="DELETE"})(nb||(nb={}));var Ka;(function(e){e.BROADCAST="broadcast",e.PRESENCE="presence",e.POSTGRES_CHANGES="postgres_changes",e.SYSTEM="system"})(Ka||(Ka={}));var Kn;(function(e){e.SUBSCRIBED="SUBSCRIBED",e.TIMED_OUT="TIMED_OUT",e.CLOSED="CLOSED",e.CHANNEL_ERROR="CHANNEL_ERROR"})(Kn||(Kn={}));class eo{constructor(t,n={config:{}},r){var s,i;if(this.topic=t,this.params=n,this.socket=r,this.bindings={},this.state=qe.closed,this.joinedOnce=!1,this.pushBuffer=[],this.subTopic=t.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},n.config),this.timeout=this.socket.timeout,this.joinPush=new cf(this,fn.join,this.params,this.timeout),this.rejoinTimer=new iE(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=qe.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(a=>a.send()),this.pushBuffer=[]}),this._onClose(()=>{this.rejoinTimer.reset(),this.socket.log("channel",`close ${this.topic} ${this._joinRef()}`),this.state=qe.closed,this.socket._remove(this)}),this._onError(a=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,a),this.state=qe.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=qe.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("error",a=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,a),this.state=qe.errored,this.rejoinTimer.scheduleTimeout())}),this._on(fn.reply,{},(a,l)=>{this._trigger(this._replyEventName(l),a)}),this.presence=new qa(this),this.broadcastEndpointURL=aE(this.socket.endPoint),this.private=this.params.config.private||!1,!this.private&&(!((i=(s=this.params.config)===null||s===void 0?void 0:s.broadcast)===null||i===void 0)&&i.replay))throw`tried to use replay on public channel '${this.topic}'. It must be a private channel.`}subscribe(t,n=this.timeout){var r,s,i;if(this.socket.isConnected()||this.socket.connect(),this.state==qe.closed){const{config:{broadcast:a,presence:l,private:c}}=this.params,u=(s=(r=this.bindings.postgres_changes)===null||r===void 0?void 0:r.map(m=>m.filter))!==null&&s!==void 0?s:[],d=!!this.bindings[Ka.PRESENCE]&&this.bindings[Ka.PRESENCE].length>0||((i=this.params.config.presence)===null||i===void 0?void 0:i.enabled)===!0,h={},f={broadcast:a,presence:Object.assign(Object.assign({},l),{enabled:d}),postgres_changes:u,private:c};this.socket.accessTokenValue&&(h.access_token=this.socket.accessTokenValue),this._onError(m=>t==null?void 0:t(Kn.CHANNEL_ERROR,m)),this._onClose(()=>t==null?void 0:t(Kn.CLOSED)),this.updateJoinPayload(Object.assign({config:f},h)),this.joinedOnce=!0,this._rejoin(n),this.joinPush.receive("ok",async({postgres_changes:m})=>{var w;if(this.socket._isManualToken()||this.socket.setAuth(),m===void 0){t==null||t(Kn.SUBSCRIBED);return}else{const p=this.bindings.postgres_changes,y=(w=p==null?void 0:p.length)!==null&&w!==void 0?w:0,g=[];for(let v=0;v<y;v++){const b=p[v],{filter:{event:j,schema:S,table:k,filter:T}}=b,C=m&&m[v];if(C&&C.event===j&&eo.isFilterValueEqual(C.schema,S)&&eo.isFilterValueEqual(C.table,k)&&eo.isFilterValueEqual(C.filter,T))g.push(Object.assign(Object.assign({},b),{id:C.id}));else{this.unsubscribe(),this.state=qe.errored,t==null||t(Kn.CHANNEL_ERROR,new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=g,t&&t(Kn.SUBSCRIBED);return}}).receive("error",m=>{this.state=qe.errored,t==null||t(Kn.CHANNEL_ERROR,new Error(JSON.stringify(Object.values(m).join(", ")||"error")))}).receive("timeout",()=>{t==null||t(Kn.TIMED_OUT)})}return this}presenceState(){return this.presence.state}async track(t,n={}){return await this.send({type:"presence",event:"track",payload:t},n.timeout||this.timeout)}async untrack(t={}){return await this.send({type:"presence",event:"untrack"},t)}on(t,n,r){return this.state===qe.joined&&t===Ka.PRESENCE&&(this.socket.log("channel",`resubscribe to ${this.topic} due to change in presence callbacks on joined channel`),this.unsubscribe().then(async()=>await this.subscribe())),this._on(t,n,r)}async httpSend(t,n,r={}){var s;if(n==null)return Promise.reject("Payload is required for httpSend()");const i={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(i.Authorization=`Bearer ${this.socket.accessTokenValue}`);const a={method:"POST",headers:i,body:JSON.stringify({messages:[{topic:this.subTopic,event:t,payload:n,private:this.private}]})},l=await this._fetchWithTimeout(this.broadcastEndpointURL,a,(s=r.timeout)!==null&&s!==void 0?s:this.timeout);if(l.status===202)return{success:!0};let c=l.statusText;try{const u=await l.json();c=u.error||u.message||c}catch{}return Promise.reject(new Error(c))}async send(t,n={}){var r,s;if(!this._canPush()&&t.type==="broadcast"){console.warn("Realtime send() is automatically falling back to REST API. This behavior will be deprecated in the future. Please use httpSend() explicitly for REST delivery.");const{event:i,payload:a}=t,l={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(l.Authorization=`Bearer ${this.socket.accessTokenValue}`);const c={method:"POST",headers:l,body:JSON.stringify({messages:[{topic:this.subTopic,event:i,payload:a,private:this.private}]})};try{const u=await this._fetchWithTimeout(this.broadcastEndpointURL,c,(r=n.timeout)!==null&&r!==void 0?r:this.timeout);return await((s=u.body)===null||s===void 0?void 0:s.cancel()),u.ok?"ok":"error"}catch(u){return u.name==="AbortError"?"timed out":"error"}}else return new Promise(i=>{var a,l,c;const u=this._push(t.type,t,n.timeout||this.timeout);t.type==="broadcast"&&!(!((c=(l=(a=this.params)===null||a===void 0?void 0:a.config)===null||l===void 0?void 0:l.broadcast)===null||c===void 0)&&c.ack)&&i("ok"),u.receive("ok",()=>i("ok")),u.receive("error",()=>i("error")),u.receive("timeout",()=>i("timed out"))})}updateJoinPayload(t){this.joinPush.updatePayload(t)}unsubscribe(t=this.timeout){this.state=qe.leaving;const n=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(fn.close,"leave",this._joinRef())};this.joinPush.destroy();let r=null;return new Promise(s=>{r=new cf(this,fn.leave,{},t),r.receive("ok",()=>{n(),s("ok")}).receive("timeout",()=>{n(),s("timed out")}).receive("error",()=>{s("error")}),r.send(),this._canPush()||r.trigger("ok",{})}).finally(()=>{r==null||r.destroy()})}teardown(){this.pushBuffer.forEach(t=>t.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=qe.closed,this.bindings={}}async _fetchWithTimeout(t,n,r){const s=new AbortController,i=setTimeout(()=>s.abort(),r),a=await this.socket.fetch(t,Object.assign(Object.assign({},n),{signal:s.signal}));return clearTimeout(i),a}_push(t,n,r=this.timeout){if(!this.joinedOnce)throw`tried to push '${t}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`;let s=new cf(this,t,n,r);return this._canPush()?s.send():this._addToPushBuffer(s),s}_addToPushBuffer(t){if(t.startTimeout(),this.pushBuffer.push(t),this.pushBuffer.length>gB){const n=this.pushBuffer.shift();n&&(n.destroy(),this.socket.log("channel",`discarded push due to buffer overflow: ${n.event}`,n.payload))}}_onMessage(t,n,r){return n}_isMember(t){return this.topic===t}_joinRef(){return this.joinPush.ref}_trigger(t,n,r){var s,i;const a=t.toLocaleLowerCase(),{close:l,error:c,leave:u,join:d}=fn;if(r&&[l,c,u,d].indexOf(a)>=0&&r!==this._joinRef())return;let f=this._onMessage(a,n,r);if(n&&!f)throw"channel onMessage callbacks must return the payload, modified or unmodified";["insert","update","delete"].includes(a)?(s=this.bindings.postgres_changes)===null||s===void 0||s.filter(m=>{var w,p,y;return((w=m.filter)===null||w===void 0?void 0:w.event)==="*"||((y=(p=m.filter)===null||p===void 0?void 0:p.event)===null||y===void 0?void 0:y.toLocaleLowerCase())===a}).map(m=>m.callback(f,r)):(i=this.bindings[a])===null||i===void 0||i.filter(m=>{var w,p,y,g,v,b;if(["broadcast","presence","postgres_changes"].includes(a))if("id"in m){const j=m.id,S=(w=m.filter)===null||w===void 0?void 0:w.event;return j&&((p=n.ids)===null||p===void 0?void 0:p.includes(j))&&(S==="*"||(S==null?void 0:S.toLocaleLowerCase())===((y=n.data)===null||y===void 0?void 0:y.type.toLocaleLowerCase()))}else{const j=(v=(g=m==null?void 0:m.filter)===null||g===void 0?void 0:g.event)===null||v===void 0?void 0:v.toLocaleLowerCase();return j==="*"||j===((b=n==null?void 0:n.event)===null||b===void 0?void 0:b.toLocaleLowerCase())}else return m.type.toLocaleLowerCase()===a}).map(m=>{if(typeof f=="object"&&"ids"in f){const w=f.data,{schema:p,table:y,commit_timestamp:g,type:v,errors:b}=w;f=Object.assign(Object.assign({},{schema:p,table:y,commit_timestamp:g,eventType:v,new:{},old:{},errors:b}),this._getPayloadRecords(w))}m.callback(f,r)})}_isClosed(){return this.state===qe.closed}_isJoined(){return this.state===qe.joined}_isJoining(){return this.state===qe.joining}_isLeaving(){return this.state===qe.leaving}_replyEventName(t){return`chan_reply_${t}`}_on(t,n,r){const s=t.toLocaleLowerCase(),i={type:s,filter:n,callback:r};return this.bindings[s]?this.bindings[s].push(i):this.bindings[s]=[i],this}_off(t,n){const r=t.toLocaleLowerCase();return this.bindings[r]&&(this.bindings[r]=this.bindings[r].filter(s=>{var i;return!(((i=s.type)===null||i===void 0?void 0:i.toLocaleLowerCase())===r&&eo.isEqual(s.filter,n))})),this}static isEqual(t,n){if(Object.keys(t).length!==Object.keys(n).length)return!1;for(const r in t)if(t[r]!==n[r])return!1;return!0}static isFilterValueEqual(t,n){return(t??void 0)===(n??void 0)}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout(),this.socket.isConnected()&&this._rejoin()}_onClose(t){this._on(fn.close,{},t)}_onError(t){this._on(fn.error,{},n=>t(n))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(t=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=qe.joining,this.joinPush.resend(t))}_getPayloadRecords(t){const n={new:{},old:{}};return(t.type==="INSERT"||t.type==="UPDATE")&&(n.new=eb(t.columns,t.record)),(t.type==="UPDATE"||t.type==="DELETE")&&(n.old=eb(t.columns,t.old_record)),n}}const uf=()=>{},Rc={HEARTBEAT_INTERVAL:25e3,RECONNECT_DELAY:10,HEARTBEAT_TIMEOUT_FALLBACK:100},kB=[1e3,2e3,5e3,1e4],NB=1e4,TB=`
  addEventListener("message", (e) => {
    if (e.data.event === "start") {
      setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval);
    }
  });`;class CB{constructor(t,n){var r;if(this.accessTokenValue=null,this.apiKey=null,this._manuallySetToken=!1,this.channels=new Array,this.endPoint="",this.httpEndpoint="",this.headers={},this.params={},this.timeout=jp,this.transport=null,this.heartbeatIntervalMs=Rc.HEARTBEAT_INTERVAL,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.heartbeatCallback=uf,this.ref=0,this.reconnectTimer=null,this.vsn=Zw,this.logger=uf,this.conn=null,this.sendBuffer=[],this.serializer=new yB,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.accessToken=null,this._connectionState="disconnected",this._wasManualDisconnect=!1,this._authPromise=null,this._heartbeatSentAt=null,this._resolveFetch=s=>s?(...i)=>s(...i):(...i)=>fetch(...i),!(!((r=n==null?void 0:n.params)===null||r===void 0)&&r.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=n.params.apikey,this.endPoint=`${t}/${Sp.websocket}`,this.httpEndpoint=aE(t),this._initializeOptions(n),this._setupReconnectionTimer(),this.fetch=this._resolveFetch(n==null?void 0:n.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.conn!==null&&this.isConnected())){if(this._setConnectionState("connecting"),this.accessToken&&!this._authPromise&&this._setAuthSafely("connect"),this.transport)this.conn=new this.transport(this.endpointURL());else try{this.conn=dB.createWebSocket(this.endpointURL())}catch(t){this._setConnectionState("disconnected");const n=t.message;throw n.includes("Node.js")?new Error(`${n}

To use Realtime in Node.js, you need to provide a WebSocket implementation:

Option 1: Use Node.js 22+ which has native WebSocket support
Option 2: Install and provide the "ws" package:

  npm install ws

  import ws from "ws"
  const client = new RealtimeClient(url, {
    ...options,
    transport: ws
  })`):new Error(`WebSocket not available: ${n}`)}this._setupConnectionHandlers()}}endpointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:this.vsn}))}disconnect(t,n){if(!this.isDisconnecting())if(this._setConnectionState("disconnecting",!0),this.conn){const r=setTimeout(()=>{this._setConnectionState("disconnected")},100);this.conn.onclose=()=>{clearTimeout(r),this._setConnectionState("disconnected")},typeof this.conn.close=="function"&&(t?this.conn.close(t,n??""):this.conn.close()),this._teardownConnection()}else this._setConnectionState("disconnected")}getChannels(){return this.channels}async removeChannel(t){const n=await t.unsubscribe();return this.channels.length===0&&this.disconnect(),n}async removeAllChannels(){const t=await Promise.all(this.channels.map(n=>n.unsubscribe()));return this.channels=[],this.disconnect(),t}log(t,n,r){this.logger(t,n,r)}connectionState(){switch(this.conn&&this.conn.readyState){case Ir.connecting:return Ms.Connecting;case Ir.open:return Ms.Open;case Ir.closing:return Ms.Closing;default:return Ms.Closed}}isConnected(){return this.connectionState()===Ms.Open}isConnecting(){return this._connectionState==="connecting"}isDisconnecting(){return this._connectionState==="disconnecting"}channel(t,n={config:{}}){const r=`realtime:${t}`,s=this.getChannels().find(i=>i.topic===r);if(s)return s;{const i=new eo(`realtime:${t}`,n,this);return this.channels.push(i),i}}push(t){const{topic:n,event:r,payload:s,ref:i}=t,a=()=>{this.encode(t,l=>{var c;(c=this.conn)===null||c===void 0||c.send(l)})};this.log("push",`${n} ${r} (${i})`,s),this.isConnected()?a():this.sendBuffer.push(a)}async setAuth(t=null){this._authPromise=this._performAuth(t);try{await this._authPromise}finally{this._authPromise=null}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){var t;if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(n){this.log("error","error in heartbeat callback",n)}return}if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this._heartbeatSentAt=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(n){this.log("error","error in heartbeat callback",n)}this._wasManualDisconnect=!1,(t=this.conn)===null||t===void 0||t.close(pB,"heartbeat timeout"),setTimeout(()=>{var n;this.isConnected()||(n=this.reconnectTimer)===null||n===void 0||n.scheduleTimeout()},Rc.HEARTBEAT_TIMEOUT_FALLBACK);return}this._heartbeatSentAt=Date.now(),this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(n){this.log("error","error in heartbeat callback",n)}this._setAuthSafely("heartbeat")}onHeartbeat(t){this.heartbeatCallback=t}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(t=>t()),this.sendBuffer=[])}_makeRef(){let t=this.ref+1;return t===this.ref?this.ref=0:this.ref=t,this.ref.toString()}_leaveOpenTopic(t){let n=this.channels.find(r=>r.topic===t&&(r._isJoined()||r._isJoining()));n&&(this.log("transport",`leaving duplicate topic "${t}"`),n.unsubscribe())}_remove(t){this.channels=this.channels.filter(n=>n.topic!==t.topic)}_onConnMessage(t){this.decode(t.data,n=>{if(n.topic==="phoenix"&&n.event==="phx_reply"&&n.ref&&n.ref===this.pendingHeartbeatRef){const u=this._heartbeatSentAt?Date.now()-this._heartbeatSentAt:void 0;try{this.heartbeatCallback(n.payload.status==="ok"?"ok":"error",u)}catch(d){this.log("error","error in heartbeat callback",d)}this._heartbeatSentAt=null,this.pendingHeartbeatRef=null}const{topic:r,event:s,payload:i,ref:a}=n,l=a?`(${a})`:"",c=i.status||"";this.log("receive",`${c} ${r} ${s} ${l}`.trim(),i),this.channels.filter(u=>u._isMember(r)).forEach(u=>u._trigger(s,i,a)),this._triggerStateCallbacks("message",n)})}_clearTimer(t){var n;t==="heartbeat"&&this.heartbeatTimer?(clearInterval(this.heartbeatTimer),this.heartbeatTimer=void 0):t==="reconnect"&&((n=this.reconnectTimer)===null||n===void 0||n.reset())}_clearAllTimers(){this._clearTimer("heartbeat"),this._clearTimer("reconnect")}_setupConnectionHandlers(){this.conn&&("binaryType"in this.conn&&(this.conn.binaryType="arraybuffer"),this.conn.onopen=()=>this._onConnOpen(),this.conn.onerror=t=>this._onConnError(t),this.conn.onmessage=t=>this._onConnMessage(t),this.conn.onclose=t=>this._onConnClose(t),this.conn.readyState===Ir.open&&this._onConnOpen())}_teardownConnection(){if(this.conn){if(this.conn.readyState===Ir.open||this.conn.readyState===Ir.connecting)try{this.conn.close()}catch(t){this.log("error","Error closing connection",t)}this.conn.onopen=null,this.conn.onerror=null,this.conn.onmessage=null,this.conn.onclose=null,this.conn=null}this._clearAllTimers(),this._terminateWorker(),this.channels.forEach(t=>t.teardown())}_onConnOpen(){this._setConnectionState("connected"),this.log("transport",`connected to ${this.endpointURL()}`),(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).then(()=>{this.flushSendBuffer()}).catch(n=>{this.log("error","error waiting for auth on connect",n),this.flushSendBuffer()}),this._clearTimer("reconnect"),this.worker?this.workerRef||this._startWorkerHeartbeat():this._startHeartbeat(),this._triggerStateCallbacks("open")}_startHeartbeat(){this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this.sendHeartbeat(),this.heartbeatIntervalMs)}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const t=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(t),this.workerRef.onerror=n=>{this.log("worker","worker error",n.message),this._terminateWorker()},this.workerRef.onmessage=n=>{n.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&(this.log("worker","terminating worker"),this.workerRef.terminate(),this.workerRef=void 0)}_onConnClose(t){var n;this._setConnectionState("disconnected"),this.log("transport","close",t),this._triggerChanError(),this._clearTimer("heartbeat"),this._wasManualDisconnect||(n=this.reconnectTimer)===null||n===void 0||n.scheduleTimeout(),this._triggerStateCallbacks("close",t)}_onConnError(t){this._setConnectionState("disconnected"),this.log("transport",`${t}`),this._triggerChanError(),this._triggerStateCallbacks("error",t);try{this.heartbeatCallback("error")}catch(n){this.log("error","error in heartbeat callback",n)}}_triggerChanError(){this.channels.forEach(t=>t._trigger(fn.error))}_appendParams(t,n){if(Object.keys(n).length===0)return t;const r=t.match(/\?/)?"&":"?",s=new URLSearchParams(n);return`${t}${r}${s}`}_workerObjectUrl(t){let n;if(t)n=t;else{const r=new Blob([TB],{type:"application/javascript"});n=URL.createObjectURL(r)}return n}_setConnectionState(t,n=!1){this._connectionState=t,t==="connecting"?this._wasManualDisconnect=!1:t==="disconnecting"&&(this._wasManualDisconnect=n)}async _performAuth(t=null){let n,r=!1;if(t)n=t,r=!0;else if(this.accessToken)try{n=await this.accessToken()}catch(s){this.log("error","Error fetching access token from callback",s),n=this.accessTokenValue}else n=this.accessTokenValue;r?this._manuallySetToken=!0:this.accessToken&&(this._manuallySetToken=!1),this.accessTokenValue!=n&&(this.accessTokenValue=n,this.channels.forEach(s=>{const i={access_token:n,version:fB};n&&s.updateJoinPayload(i),s.joinedOnce&&s._isJoined()&&s._push(fn.access_token,{access_token:n})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(t="general"){this._isManualToken()||this.setAuth().catch(n=>{this.log("error",`Error setting auth in ${t}`,n)})}_triggerStateCallbacks(t,n){try{this.stateChangeCallbacks[t].forEach(r=>{try{r(n)}catch(s){this.log("error",`error in ${t} callback`,s)}})}catch(r){this.log("error",`error triggering ${t} callbacks`,r)}}_setupReconnectionTimer(){this.reconnectTimer=new iE(async()=>{setTimeout(async()=>{await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()},Rc.RECONNECT_DELAY)},this.reconnectAfterMs)}_initializeOptions(t){var n,r,s,i,a,l,c,u,d,h,f,m;switch(this.transport=(n=t==null?void 0:t.transport)!==null&&n!==void 0?n:null,this.timeout=(r=t==null?void 0:t.timeout)!==null&&r!==void 0?r:jp,this.heartbeatIntervalMs=(s=t==null?void 0:t.heartbeatIntervalMs)!==null&&s!==void 0?s:Rc.HEARTBEAT_INTERVAL,this.worker=(i=t==null?void 0:t.worker)!==null&&i!==void 0?i:!1,this.accessToken=(a=t==null?void 0:t.accessToken)!==null&&a!==void 0?a:null,this.heartbeatCallback=(l=t==null?void 0:t.heartbeatCallback)!==null&&l!==void 0?l:uf,this.vsn=(c=t==null?void 0:t.vsn)!==null&&c!==void 0?c:Zw,t!=null&&t.params&&(this.params=t.params),t!=null&&t.logger&&(this.logger=t.logger),(t!=null&&t.logLevel||t!=null&&t.log_level)&&(this.logLevel=t.logLevel||t.log_level,this.params=Object.assign(Object.assign({},this.params),{log_level:this.logLevel})),this.reconnectAfterMs=(u=t==null?void 0:t.reconnectAfterMs)!==null&&u!==void 0?u:w=>kB[w-1]||NB,this.vsn){case mB:this.encode=(d=t==null?void 0:t.encode)!==null&&d!==void 0?d:(w,p)=>p(JSON.stringify(w)),this.decode=(h=t==null?void 0:t.decode)!==null&&h!==void 0?h:(w,p)=>p(JSON.parse(w));break;case sE:this.encode=(f=t==null?void 0:t.encode)!==null&&f!==void 0?f:this.serializer.encode.bind(this.serializer),this.decode=(m=t==null?void 0:t.decode)!==null&&m!==void 0?m:this.serializer.decode.bind(this.serializer);break;default:throw new Error(`Unsupported serializer version: ${this.vsn}`)}if(this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=t==null?void 0:t.workerUrl}}}var Nl=class extends Error{constructor(e,t){var n;super(e),this.name="IcebergError",this.status=t.status,this.icebergType=t.icebergType,this.icebergCode=t.icebergCode,this.details=t.details,this.isCommitStateUnknown=t.icebergType==="CommitStateUnknownException"||[500,502,504].includes(t.status)&&((n=t.icebergType)==null?void 0:n.includes("CommitState"))===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function EB(e,t,n){const r=new URL(t,e);if(n)for(const[s,i]of Object.entries(n))i!==void 0&&r.searchParams.set(s,i);return r.toString()}async function _B(e){return!e||e.type==="none"?{}:e.type==="bearer"?{Authorization:`Bearer ${e.token}`}:e.type==="header"?{[e.name]:e.value}:e.type==="custom"?await e.getHeaders():{}}function PB(e){const t=e.fetchImpl??globalThis.fetch;return{async request({method:n,path:r,query:s,body:i,headers:a}){const l=EB(e.baseUrl,r,s),c=await _B(e.auth),u=await t(l,{method:n,headers:{...i?{"Content-Type":"application/json"}:{},...c,...a},body:i?JSON.stringify(i):void 0}),d=await u.text(),h=(u.headers.get("content-type")||"").includes("application/json"),f=h&&d?JSON.parse(d):d;if(!u.ok){const m=h?f:void 0,w=m==null?void 0:m.error;throw new Nl((w==null?void 0:w.message)??`Request failed with status ${u.status}`,{status:u.status,icebergType:w==null?void 0:w.type,icebergCode:w==null?void 0:w.code,details:m})}return{status:u.status,headers:u.headers,data:f}}}}function Ic(e){return e.join("")}var AB=class{constructor(e,t=""){this.client=e,this.prefix=t}async listNamespaces(e){const t=e?{parent:Ic(e.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:t})).data.namespaces.map(r=>({namespace:r}))}async createNamespace(e,t){const n={namespace:e.namespace,properties:t==null?void 0:t.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:n})).data}async dropNamespace(e){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Ic(e.namespace)}`})}async loadNamespaceMetadata(e){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Ic(e.namespace)}`})).data.properties}}async namespaceExists(e){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Ic(e.namespace)}`}),!0}catch(t){if(t instanceof Nl&&t.status===404)return!1;throw t}}async createNamespaceIfNotExists(e,t){try{return await this.createNamespace(e,t)}catch(n){if(n instanceof Nl&&n.status===409)return;throw n}}};function Ni(e){return e.join("")}var RB=class{constructor(e,t="",n){this.client=e,this.prefix=t,this.accessDelegation=n}async listTables(e){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Ni(e.namespace)}/tables`})).data.identifiers}async createTable(e,t){const n={};return this.accessDelegation&&(n["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Ni(e.namespace)}/tables`,body:t,headers:n})).data.metadata}async updateTable(e,t){const n=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Ni(e.namespace)}/tables/${e.name}`,body:t});return{"metadata-location":n.data["metadata-location"],metadata:n.data.metadata}}async dropTable(e,t){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Ni(e.namespace)}/tables/${e.name}`,query:{purgeRequested:String((t==null?void 0:t.purge)??!1)}})}async loadTable(e){const t={};return this.accessDelegation&&(t["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Ni(e.namespace)}/tables/${e.name}`,headers:t})).data.metadata}async tableExists(e){const t={};this.accessDelegation&&(t["X-Iceberg-Access-Delegation"]=this.accessDelegation);try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Ni(e.namespace)}/tables/${e.name}`,headers:t}),!0}catch(n){if(n instanceof Nl&&n.status===404)return!1;throw n}}async createTableIfNotExists(e,t){try{return await this.createTable(e,t)}catch(n){if(n instanceof Nl&&n.status===409)return await this.loadTable({namespace:e.namespace,name:t.name});throw n}}},IB=class{constructor(e){var r;let t="v1";e.catalogName&&(t+=`/${e.catalogName}`);const n=e.baseUrl.endsWith("/")?e.baseUrl:`${e.baseUrl}/`;this.client=PB({baseUrl:n,auth:e.auth,fetchImpl:e.fetch}),this.accessDelegation=(r=e.accessDelegation)==null?void 0:r.join(","),this.namespaceOps=new AB(this.client,t),this.tableOps=new RB(this.client,t,this.accessDelegation)}async listNamespaces(e){return this.namespaceOps.listNamespaces(e)}async createNamespace(e,t){return this.namespaceOps.createNamespace(e,t)}async dropNamespace(e){await this.namespaceOps.dropNamespace(e)}async loadNamespaceMetadata(e){return this.namespaceOps.loadNamespaceMetadata(e)}async listTables(e){return this.tableOps.listTables(e)}async createTable(e,t){return this.tableOps.createTable(e,t)}async updateTable(e,t){return this.tableOps.updateTable(e,t)}async dropTable(e,t){await this.tableOps.dropTable(e,t)}async loadTable(e){return this.tableOps.loadTable(e)}async namespaceExists(e){return this.namespaceOps.namespaceExists(e)}async tableExists(e){return this.tableOps.tableExists(e)}async createNamespaceIfNotExists(e,t){return this.namespaceOps.createNamespaceIfNotExists(e,t)}async createTableIfNotExists(e,t){return this.tableOps.createTableIfNotExists(e,t)}},Hd=class extends Error{constructor(e,t="storage",n,r){super(e),this.__isStorageError=!0,this.namespace=t,this.name=t==="vectors"?"StorageVectorsError":"StorageError",this.status=n,this.statusCode=r}};function Wd(e){return typeof e=="object"&&e!==null&&"__isStorageError"in e}var Oc=class extends Hd{constructor(e,t,n,r="storage"){super(e,r,t,n),this.name=r==="vectors"?"StorageVectorsApiError":"StorageApiError",this.status=t,this.statusCode=n}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},lE=class extends Hd{constructor(e,t,n="storage"){super(e,n),this.name=n==="vectors"?"StorageVectorsUnknownError":"StorageUnknownError",this.originalError=t}};const OB=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),FB=e=>{if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Np=e=>{if(Array.isArray(e))return e.map(n=>Np(n));if(typeof e=="function"||e!==Object(e))return e;const t={};return Object.entries(e).forEach(([n,r])=>{const s=n.replace(/([-_][a-z])/gi,i=>i.toUpperCase().replace(/[-_]/g,""));t[s]=Np(r)}),t},MB=e=>!e||typeof e!="string"||e.length===0||e.length>100||e.trim()!==e||e.includes("/")||e.includes("\\")?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(e);function Tl(e){"@babel/helpers - typeof";return Tl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tl(e)}function DB(e,t){if(Tl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(Tl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function LB(e){var t=DB(e,"string");return Tl(t)=="symbol"?t:t+""}function $B(e,t,n){return(t=LB(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function rb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function Z(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?rb(Object(n),!0).forEach(function(r){$B(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rb(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}const sb=e=>{var t;return e.msg||e.message||e.error_description||(typeof e.error=="string"?e.error:(t=e.error)===null||t===void 0?void 0:t.message)||JSON.stringify(e)},BB=async(e,t,n,r)=>{if(e&&typeof e=="object"&&"status"in e&&"ok"in e&&typeof e.status=="number"&&!(n!=null&&n.noResolveJson)){const s=e,i=s.status||500;if(typeof s.json=="function")s.json().then(a=>{const l=(a==null?void 0:a.statusCode)||(a==null?void 0:a.code)||i+"";t(new Oc(sb(a),i,l,r))}).catch(()=>{if(r==="vectors"){const a=i+"";t(new Oc(s.statusText||`HTTP ${i} error`,i,a,r))}else{const a=i+"";t(new Oc(s.statusText||`HTTP ${i} error`,i,a,r))}});else{const a=i+"";t(new Oc(s.statusText||`HTTP ${i} error`,i,a,r))}}else t(new lE(sb(e),e,r))},UB=(e,t,n,r)=>{const s={method:e,headers:(t==null?void 0:t.headers)||{}};return e==="GET"||e==="HEAD"||!r?Z(Z({},s),n):(FB(r)?(s.headers=Z({"Content-Type":"application/json"},t==null?void 0:t.headers),s.body=JSON.stringify(r)):s.body=r,t!=null&&t.duplex&&(s.duplex=t.duplex),Z(Z({},s),n))};async function va(e,t,n,r,s,i,a){return new Promise((l,c)=>{e(n,UB(t,r,s,i)).then(u=>{if(!u.ok)throw u;if(r!=null&&r.noResolveJson)return u;if(a==="vectors"){const d=u.headers.get("content-type");if(!d||!d.includes("application/json"))return{}}return u.json()}).then(u=>l(u)).catch(u=>BB(u,c,r,a))})}function VB(e="storage"){return{get:async(t,n,r,s)=>va(t,"GET",n,r,s,void 0,e),post:async(t,n,r,s,i)=>va(t,"POST",n,s,i,r,e),put:async(t,n,r,s,i)=>va(t,"PUT",n,s,i,r,e),head:async(t,n,r,s)=>va(t,"HEAD",n,Z(Z({},r),{},{noResolveJson:!0}),s,void 0,e),remove:async(t,n,r,s,i)=>va(t,"DELETE",n,s,i,r,e)}}const zB=VB("storage"),{get:Cl,post:Ee,put:Tp,head:HB,remove:Qy}=zB;var na=class{constructor(e,t={},n,r="storage"){this.shouldThrowOnError=!1,this.url=e,this.headers=t,this.fetch=OB(n),this.namespace=r}throwOnError(){return this.shouldThrowOnError=!0,this}async handleOperation(e){var t=this;try{return{data:await e(),error:null}}catch(n){if(t.shouldThrowOnError)throw n;if(Wd(n))return{data:null,error:n};throw n}}},WB=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t}then(e,t){return this.execute().then(e,t)}async execute(){var e=this;try{return{data:(await e.downloadFn()).body,error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Wd(t))return{data:null,error:t};throw t}}};let cE;cE=Symbol.toStringTag;var qB=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[cE]="BlobDownloadBuilder",this.promise=null}asStream(){return new WB(this.downloadFn,this.shouldThrowOnError)}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var e=this;try{return{data:await(await e.downloadFn()).blob(),error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Wd(t))return{data:null,error:t};throw t}}};const KB={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},ib={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};var GB=class extends na{constructor(e,t={},n,r){super(e,t,r,"storage"),this.bucketId=n}async uploadOrUpdate(e,t,n,r){var s=this;return s.handleOperation(async()=>{let i;const a=Z(Z({},ib),r);let l=Z(Z({},s.headers),e==="POST"&&{"x-upsert":String(a.upsert)});const c=a.metadata;typeof Blob<"u"&&n instanceof Blob?(i=new FormData,i.append("cacheControl",a.cacheControl),c&&i.append("metadata",s.encodeMetadata(c)),i.append("",n)):typeof FormData<"u"&&n instanceof FormData?(i=n,i.has("cacheControl")||i.append("cacheControl",a.cacheControl),c&&!i.has("metadata")&&i.append("metadata",s.encodeMetadata(c))):(i=n,l["cache-control"]=`max-age=${a.cacheControl}`,l["content-type"]=a.contentType,c&&(l["x-metadata"]=s.toBase64(s.encodeMetadata(c))),(typeof ReadableStream<"u"&&i instanceof ReadableStream||i&&typeof i=="object"&&"pipe"in i&&typeof i.pipe=="function")&&!a.duplex&&(a.duplex="half")),r!=null&&r.headers&&(l=Z(Z({},l),r.headers));const u=s._removeEmptyFolders(t),d=s._getFinalPath(u),h=await(e=="PUT"?Tp:Ee)(s.fetch,`${s.url}/object/${d}`,i,Z({headers:l},a!=null&&a.duplex?{duplex:a.duplex}:{}));return{path:u,id:h.Id,fullPath:h.Key}})}async upload(e,t,n){return this.uploadOrUpdate("POST",e,t,n)}async uploadToSignedUrl(e,t,n,r){var s=this;const i=s._removeEmptyFolders(e),a=s._getFinalPath(i),l=new URL(s.url+`/object/upload/sign/${a}`);return l.searchParams.set("token",t),s.handleOperation(async()=>{let c;const u=Z({upsert:ib.upsert},r),d=Z(Z({},s.headers),{"x-upsert":String(u.upsert)});return typeof Blob<"u"&&n instanceof Blob?(c=new FormData,c.append("cacheControl",u.cacheControl),c.append("",n)):typeof FormData<"u"&&n instanceof FormData?(c=n,c.append("cacheControl",u.cacheControl)):(c=n,d["cache-control"]=`max-age=${u.cacheControl}`,d["content-type"]=u.contentType),{path:i,fullPath:(await Tp(s.fetch,l.toString(),c,{headers:d})).Key}})}async createSignedUploadUrl(e,t){var n=this;return n.handleOperation(async()=>{let r=n._getFinalPath(e);const s=Z({},n.headers);t!=null&&t.upsert&&(s["x-upsert"]="true");const i=await Ee(n.fetch,`${n.url}/object/upload/sign/${r}`,{},{headers:s}),a=new URL(n.url+i.url),l=a.searchParams.get("token");if(!l)throw new Hd("No token returned by API");return{signedUrl:a.toString(),path:e,token:l}})}async update(e,t,n){return this.uploadOrUpdate("PUT",e,t,n)}async move(e,t,n){var r=this;return r.handleOperation(async()=>await Ee(r.fetch,`${r.url}/object/move`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,destinationBucket:n==null?void 0:n.destinationBucket},{headers:r.headers}))}async copy(e,t,n){var r=this;return r.handleOperation(async()=>({path:(await Ee(r.fetch,`${r.url}/object/copy`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,destinationBucket:n==null?void 0:n.destinationBucket},{headers:r.headers})).Key}))}async createSignedUrl(e,t,n){var r=this;return r.handleOperation(async()=>{let s=r._getFinalPath(e),i=await Ee(r.fetch,`${r.url}/object/sign/${s}`,Z({expiresIn:t},n!=null&&n.transform?{transform:n.transform}:{}),{headers:r.headers});const a=n!=null&&n.download?`&download=${n.download===!0?"":n.download}`:"";return{signedUrl:encodeURI(`${r.url}${i.signedURL}${a}`)}})}async createSignedUrls(e,t,n){var r=this;return r.handleOperation(async()=>{const s=await Ee(r.fetch,`${r.url}/object/sign/${r.bucketId}`,{expiresIn:t,paths:e},{headers:r.headers}),i=n!=null&&n.download?`&download=${n.download===!0?"":n.download}`:"";return s.map(a=>Z(Z({},a),{},{signedUrl:a.signedURL?encodeURI(`${r.url}${a.signedURL}${i}`):null}))})}download(e,t){const n=typeof(t==null?void 0:t.transform)<"u"?"render/image/authenticated":"object",r=this.transformOptsToQueryString((t==null?void 0:t.transform)||{}),s=r?`?${r}`:"",i=this._getFinalPath(e),a=()=>Cl(this.fetch,`${this.url}/${n}/${i}${s}`,{headers:this.headers,noResolveJson:!0});return new qB(a,this.shouldThrowOnError)}async info(e){var t=this;const n=t._getFinalPath(e);return t.handleOperation(async()=>Np(await Cl(t.fetch,`${t.url}/object/info/${n}`,{headers:t.headers})))}async exists(e){var t=this;const n=t._getFinalPath(e);try{return await HB(t.fetch,`${t.url}/object/${n}`,{headers:t.headers}),{data:!0,error:null}}catch(r){if(t.shouldThrowOnError)throw r;if(Wd(r)&&r instanceof lE){const s=r.originalError;if([400,404].includes(s==null?void 0:s.status))return{data:!1,error:r}}throw r}}getPublicUrl(e,t){const n=this._getFinalPath(e),r=[],s=t!=null&&t.download?`download=${t.download===!0?"":t.download}`:"";s!==""&&r.push(s);const i=typeof(t==null?void 0:t.transform)<"u"?"render/image":"object",a=this.transformOptsToQueryString((t==null?void 0:t.transform)||{});a!==""&&r.push(a);let l=r.join("&");return l!==""&&(l=`?${l}`),{data:{publicUrl:encodeURI(`${this.url}/${i}/public/${n}${l}`)}}}async remove(e){var t=this;return t.handleOperation(async()=>await Qy(t.fetch,`${t.url}/object/${t.bucketId}`,{prefixes:e},{headers:t.headers}))}async list(e,t,n){var r=this;return r.handleOperation(async()=>{const s=Z(Z(Z({},KB),t),{},{prefix:e||""});return await Ee(r.fetch,`${r.url}/object/list/${r.bucketId}`,s,{headers:r.headers},n)})}async listV2(e,t){var n=this;return n.handleOperation(async()=>{const r=Z({},e);return await Ee(n.fetch,`${n.url}/object/list-v2/${n.bucketId}`,r,{headers:n.headers},t)})}encodeMetadata(e){return JSON.stringify(e)}toBase64(e){return typeof Buffer<"u"?Buffer.from(e).toString("base64"):btoa(e)}_getFinalPath(e){return`${this.bucketId}/${e.replace(/^\/+/,"")}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(e){const t=[];return e.width&&t.push(`width=${e.width}`),e.height&&t.push(`height=${e.height}`),e.resize&&t.push(`resize=${e.resize}`),e.format&&t.push(`format=${e.format}`),e.quality&&t.push(`quality=${e.quality}`),t.join("&")}};const YB="2.93.2",Zl={"X-Client-Info":`storage-js/${YB}`};var QB=class extends na{constructor(e,t={},n,r){const s=new URL(e);r!=null&&r.useNewHostname&&/supabase\.(co|in|red)$/.test(s.hostname)&&!s.hostname.includes("storage.supabase.")&&(s.hostname=s.hostname.replace("supabase.","storage.supabase."));const i=s.href.replace(/\/$/,""),a=Z(Z({},Zl),t);super(i,a,n,"storage")}async listBuckets(e){var t=this;return t.handleOperation(async()=>{const n=t.listBucketOptionsToQueryString(e);return await Cl(t.fetch,`${t.url}/bucket${n}`,{headers:t.headers})})}async getBucket(e){var t=this;return t.handleOperation(async()=>await Cl(t.fetch,`${t.url}/bucket/${e}`,{headers:t.headers}))}async createBucket(e,t={public:!1}){var n=this;return n.handleOperation(async()=>await Ee(n.fetch,`${n.url}/bucket`,{id:e,name:e,type:t.type,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:n.headers}))}async updateBucket(e,t){var n=this;return n.handleOperation(async()=>await Tp(n.fetch,`${n.url}/bucket/${e}`,{id:e,name:e,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:n.headers}))}async emptyBucket(e){var t=this;return t.handleOperation(async()=>await Ee(t.fetch,`${t.url}/bucket/${e}/empty`,{},{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Qy(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}listBucketOptionsToQueryString(e){const t={};return e&&("limit"in e&&(t.limit=String(e.limit)),"offset"in e&&(t.offset=String(e.offset)),e.search&&(t.search=e.search),e.sortColumn&&(t.sortColumn=e.sortColumn),e.sortOrder&&(t.sortOrder=e.sortOrder)),Object.keys(t).length>0?"?"+new URLSearchParams(t).toString():""}},XB=class extends na{constructor(e,t={},n){const r=e.replace(/\/$/,""),s=Z(Z({},Zl),t);super(r,s,n,"storage")}async createBucket(e){var t=this;return t.handleOperation(async()=>await Ee(t.fetch,`${t.url}/bucket`,{name:e},{headers:t.headers}))}async listBuckets(e){var t=this;return t.handleOperation(async()=>{const n=new URLSearchParams;(e==null?void 0:e.limit)!==void 0&&n.set("limit",e.limit.toString()),(e==null?void 0:e.offset)!==void 0&&n.set("offset",e.offset.toString()),e!=null&&e.sortColumn&&n.set("sortColumn",e.sortColumn),e!=null&&e.sortOrder&&n.set("sortOrder",e.sortOrder),e!=null&&e.search&&n.set("search",e.search);const r=n.toString(),s=r?`${t.url}/bucket?${r}`:`${t.url}/bucket`;return await Cl(t.fetch,s,{headers:t.headers})})}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Qy(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}from(e){var t=this;if(!MB(e))throw new Hd("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");const n=new IB({baseUrl:this.url,catalogName:e,auth:{type:"custom",getHeaders:async()=>t.headers},fetch:this.fetch}),r=this.shouldThrowOnError;return new Proxy(n,{get(s,i){const a=s[i];return typeof a!="function"?a:async(...l)=>{try{return{data:await a.apply(s,l),error:null}}catch(c){if(r)throw c;return{data:null,error:c}}}}})}},JB=class extends na{constructor(e,t={},n){const r=e.replace(/\/$/,""),s=Z(Z({},Zl),{},{"Content-Type":"application/json"},t);super(r,s,n,"vectors")}async createIndex(e){var t=this;return t.handleOperation(async()=>await Ee(t.fetch,`${t.url}/CreateIndex`,e,{headers:t.headers})||{})}async getIndex(e,t){var n=this;return n.handleOperation(async()=>await Ee(n.fetch,`${n.url}/GetIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers}))}async listIndexes(e){var t=this;return t.handleOperation(async()=>await Ee(t.fetch,`${t.url}/ListIndexes`,e,{headers:t.headers}))}async deleteIndex(e,t){var n=this;return n.handleOperation(async()=>await Ee(n.fetch,`${n.url}/DeleteIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers})||{})}},ZB=class extends na{constructor(e,t={},n){const r=e.replace(/\/$/,""),s=Z(Z({},Zl),{},{"Content-Type":"application/json"},t);super(r,s,n,"vectors")}async putVectors(e){var t=this;if(e.vectors.length<1||e.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return t.handleOperation(async()=>await Ee(t.fetch,`${t.url}/PutVectors`,e,{headers:t.headers})||{})}async getVectors(e){var t=this;return t.handleOperation(async()=>await Ee(t.fetch,`${t.url}/GetVectors`,e,{headers:t.headers}))}async listVectors(e){var t=this;if(e.segmentCount!==void 0){if(e.segmentCount<1||e.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");if(e.segmentIndex!==void 0&&(e.segmentIndex<0||e.segmentIndex>=e.segmentCount))throw new Error(`segmentIndex must be between 0 and ${e.segmentCount-1}`)}return t.handleOperation(async()=>await Ee(t.fetch,`${t.url}/ListVectors`,e,{headers:t.headers}))}async queryVectors(e){var t=this;return t.handleOperation(async()=>await Ee(t.fetch,`${t.url}/QueryVectors`,e,{headers:t.headers}))}async deleteVectors(e){var t=this;if(e.keys.length<1||e.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return t.handleOperation(async()=>await Ee(t.fetch,`${t.url}/DeleteVectors`,e,{headers:t.headers})||{})}},eU=class extends na{constructor(e,t={},n){const r=e.replace(/\/$/,""),s=Z(Z({},Zl),{},{"Content-Type":"application/json"},t);super(r,s,n,"vectors")}async createBucket(e){var t=this;return t.handleOperation(async()=>await Ee(t.fetch,`${t.url}/CreateVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}async getBucket(e){var t=this;return t.handleOperation(async()=>await Ee(t.fetch,`${t.url}/GetVectorBucket`,{vectorBucketName:e},{headers:t.headers}))}async listBuckets(e={}){var t=this;return t.handleOperation(async()=>await Ee(t.fetch,`${t.url}/ListVectorBuckets`,e,{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Ee(t.fetch,`${t.url}/DeleteVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}},tU=class extends eU{constructor(e,t={}){super(e,t.headers||{},t.fetch)}from(e){return new nU(this.url,this.headers,e,this.fetch)}async createBucket(e){var t=()=>super.createBucket,n=this;return t().call(n,e)}async getBucket(e){var t=()=>super.getBucket,n=this;return t().call(n,e)}async listBuckets(e={}){var t=()=>super.listBuckets,n=this;return t().call(n,e)}async deleteBucket(e){var t=()=>super.deleteBucket,n=this;return t().call(n,e)}},nU=class extends JB{constructor(e,t,n,r){super(e,t,r),this.vectorBucketName=n}async createIndex(e){var t=()=>super.createIndex,n=this;return t().call(n,Z(Z({},e),{},{vectorBucketName:n.vectorBucketName}))}async listIndexes(e={}){var t=()=>super.listIndexes,n=this;return t().call(n,Z(Z({},e),{},{vectorBucketName:n.vectorBucketName}))}async getIndex(e){var t=()=>super.getIndex,n=this;return t().call(n,n.vectorBucketName,e)}async deleteIndex(e){var t=()=>super.deleteIndex,n=this;return t().call(n,n.vectorBucketName,e)}index(e){return new rU(this.url,this.headers,this.vectorBucketName,e,this.fetch)}},rU=class extends ZB{constructor(e,t,n,r,s){super(e,t,s),this.vectorBucketName=n,this.indexName=r}async putVectors(e){var t=()=>super.putVectors,n=this;return t().call(n,Z(Z({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async getVectors(e){var t=()=>super.getVectors,n=this;return t().call(n,Z(Z({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async listVectors(e={}){var t=()=>super.listVectors,n=this;return t().call(n,Z(Z({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async queryVectors(e){var t=()=>super.queryVectors,n=this;return t().call(n,Z(Z({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async deleteVectors(e){var t=()=>super.deleteVectors,n=this;return t().call(n,Z(Z({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}},sU=class extends QB{constructor(e,t={},n,r){super(e,t,n,r)}from(e){return new GB(this.url,this.headers,e,this.fetch)}get vectors(){return new tU(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new XB(this.url+"/iceberg",this.headers,this.fetch)}};const uE="2.93.2",Fi=30*1e3,Cp=3,df=Cp*Fi,iU="http://localhost:9999",oU="supabase.auth.token",aU={"X-Client-Info":`gotrue-js/${uE}`},Ep="X-Supabase-Api-Version",dE={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},lU=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,cU=10*60*1e3;class El extends Error{constructor(t,n,r){super(t),this.__isAuthError=!0,this.name="AuthError",this.status=n,this.code=r}}function q(e){return typeof e=="object"&&e!==null&&"__isAuthError"in e}class uU extends El{constructor(t,n,r){super(t,n,r),this.name="AuthApiError",this.status=n,this.code=r}}function dU(e){return q(e)&&e.name==="AuthApiError"}class Ds extends El{constructor(t,n){super(t),this.name="AuthUnknownError",this.originalError=n}}class pr extends El{constructor(t,n,r,s){super(t,r,s),this.name=n,this.status=r}}class At extends pr{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function hf(e){return q(e)&&e.name==="AuthSessionMissingError"}class Ti extends pr{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}}class Fc extends pr{constructor(t){super(t,"AuthInvalidCredentialsError",400,void 0)}}class Mc extends pr{constructor(t,n=null){super(t,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=n}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}function hU(e){return q(e)&&e.name==="AuthImplicitGrantRedirectError"}class ob extends pr{constructor(t,n=null){super(t,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=n}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class fU extends pr{constructor(){super("PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.","AuthPKCECodeVerifierMissingError",400,"pkce_code_verifier_not_found")}}class _p extends pr{constructor(t,n){super(t,"AuthRetryableFetchError",n,void 0)}}function ff(e){return q(e)&&e.name==="AuthRetryableFetchError"}class ab extends pr{constructor(t,n,r){super(t,"AuthWeakPasswordError",n,"weak_password"),this.reasons=r}}class Pp extends pr{constructor(t){super(t,"AuthInvalidJwtError",400,"invalid_jwt")}}const sd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),lb=` 	
\r=`.split(""),mU=(()=>{const e=new Array(128);for(let t=0;t<e.length;t+=1)e[t]=-1;for(let t=0;t<lb.length;t+=1)e[lb[t].charCodeAt(0)]=-2;for(let t=0;t<sd.length;t+=1)e[sd[t].charCodeAt(0)]=t;return e})();function cb(e,t,n){if(e!==null)for(t.queue=t.queue<<8|e,t.queuedBits+=8;t.queuedBits>=6;){const r=t.queue>>t.queuedBits-6&63;n(sd[r]),t.queuedBits-=6}else if(t.queuedBits>0)for(t.queue=t.queue<<6-t.queuedBits,t.queuedBits=6;t.queuedBits>=6;){const r=t.queue>>t.queuedBits-6&63;n(sd[r]),t.queuedBits-=6}}function hE(e,t,n){const r=mU[e];if(r>-1)for(t.queue=t.queue<<6|r,t.queuedBits+=6;t.queuedBits>=8;)n(t.queue>>t.queuedBits-8&255),t.queuedBits-=8;else{if(r===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(e)}"`)}}function ub(e){const t=[],n=a=>{t.push(String.fromCodePoint(a))},r={utf8seq:0,codepoint:0},s={queue:0,queuedBits:0},i=a=>{yU(a,r,n)};for(let a=0;a<e.length;a+=1)hE(e.charCodeAt(a),s,i);return t.join("")}function pU(e,t){if(e<=127){t(e);return}else if(e<=2047){t(192|e>>6),t(128|e&63);return}else if(e<=65535){t(224|e>>12),t(128|e>>6&63),t(128|e&63);return}else if(e<=1114111){t(240|e>>18),t(128|e>>12&63),t(128|e>>6&63),t(128|e&63);return}throw new Error(`Unrecognized Unicode codepoint: ${e.toString(16)}`)}function gU(e,t){for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r>55295&&r<=56319){const s=(r-55296)*1024&65535;r=(e.charCodeAt(n+1)-56320&65535|s)+65536,n+=1}pU(r,t)}}function yU(e,t,n){if(t.utf8seq===0){if(e<=127){n(e);return}for(let r=1;r<6;r+=1)if(!(e>>7-r&1)){t.utf8seq=r;break}if(t.utf8seq===2)t.codepoint=e&31;else if(t.utf8seq===3)t.codepoint=e&15;else if(t.utf8seq===4)t.codepoint=e&7;else throw new Error("Invalid UTF-8 sequence");t.utf8seq-=1}else if(t.utf8seq>0){if(e<=127)throw new Error("Invalid UTF-8 sequence");t.codepoint=t.codepoint<<6|e&63,t.utf8seq-=1,t.utf8seq===0&&n(t.codepoint)}}function mo(e){const t=[],n={queue:0,queuedBits:0},r=s=>{t.push(s)};for(let s=0;s<e.length;s+=1)hE(e.charCodeAt(s),n,r);return new Uint8Array(t)}function vU(e){const t=[];return gU(e,n=>t.push(n)),new Uint8Array(t)}function zs(e){const t=[],n={queue:0,queuedBits:0},r=s=>{t.push(s)};return e.forEach(s=>cb(s,n,r)),cb(null,n,r),t.join("")}function xU(e){return Math.round(Date.now()/1e3)+e}function wU(){return Symbol("auth-callback")}const et=()=>typeof window<"u"&&typeof document<"u",Es={tested:!1,writable:!1},fE=()=>{if(!et())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(Es.tested)return Es.writable;const e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),Es.tested=!0,Es.writable=!0}catch{Es.tested=!0,Es.writable=!1}return Es.writable};function bU(e){const t={},n=new URL(e);if(n.hash&&n.hash[0]==="#")try{new URLSearchParams(n.hash.substring(1)).forEach((s,i)=>{t[i]=s})}catch{}return n.searchParams.forEach((r,s)=>{t[s]=r}),t}const mE=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),jU=e=>typeof e=="object"&&e!==null&&"status"in e&&"ok"in e&&"json"in e&&typeof e.json=="function",Mi=async(e,t,n)=>{await e.setItem(t,JSON.stringify(n))},_s=async(e,t)=>{const n=await e.getItem(t);if(!n)return null;try{return JSON.parse(n)}catch{return n}},Ze=async(e,t)=>{await e.removeItem(t)};class qd{constructor(){this.promise=new qd.promiseConstructor((t,n)=>{this.resolve=t,this.reject=n})}}qd.promiseConstructor=Promise;function Dc(e){const t=e.split(".");if(t.length!==3)throw new Pp("Invalid JWT structure");for(let r=0;r<t.length;r++)if(!lU.test(t[r]))throw new Pp("JWT not in base64url format");return{header:JSON.parse(ub(t[0])),payload:JSON.parse(ub(t[1])),signature:mo(t[2]),raw:{header:t[0],payload:t[1]}}}async function SU(e){return await new Promise(t=>{setTimeout(()=>t(null),e)})}function kU(e,t){return new Promise((r,s)=>{(async()=>{for(let i=0;i<1/0;i++)try{const a=await e(i);if(!t(i,null,a)){r(a);return}}catch(a){if(!t(i,a)){s(a);return}}})()})}function NU(e){return("0"+e.toString(16)).substr(-2)}function TU(){const t=new Uint32Array(56);if(typeof crypto>"u"){const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",r=n.length;let s="";for(let i=0;i<56;i++)s+=n.charAt(Math.floor(Math.random()*r));return s}return crypto.getRandomValues(t),Array.from(t,NU).join("")}async function CU(e){const n=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",n),s=new Uint8Array(r);return Array.from(s).map(i=>String.fromCharCode(i)).join("")}async function EU(e){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),e;const n=await CU(e);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Ci(e,t,n=!1){const r=TU();let s=r;n&&(s+="/PASSWORD_RECOVERY"),await Mi(e,`${t}-code-verifier`,s);const i=await EU(r);return[i,r===i?"plain":"s256"]}const _U=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function PU(e){const t=e.headers.get(Ep);if(!t||!t.match(_U))return null;try{return new Date(`${t}T00:00:00.0Z`)}catch{return null}}function AU(e){if(!e)throw new Error("Missing exp claim");const t=Math.floor(Date.now()/1e3);if(e<=t)throw new Error("JWT has expired")}function RU(e){switch(e){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw new Error("Invalid alg claim")}}const IU=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function Ei(e){if(!IU.test(e))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function mf(){const e={};return new Proxy(e,{get:(t,n)=>{if(n==="__isUserNotAvailableProxy")return!0;if(typeof n=="symbol"){const r=n.toString();if(r==="Symbol(Symbol.toPrimitive)"||r==="Symbol(Symbol.toStringTag)"||r==="Symbol(util.inspect.custom)")return}throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${n}" property of the session object is not supported. Please use getUser() instead.`)},set:(t,n)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${n}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(t,n)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${n}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function OU(e,t){return new Proxy(e,{get:(n,r,s)=>{if(r==="__isInsecureUserWarningProxy")return!0;if(typeof r=="symbol"){const i=r.toString();if(i==="Symbol(Symbol.toPrimitive)"||i==="Symbol(Symbol.toStringTag)"||i==="Symbol(util.inspect.custom)"||i==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(n,r,s)}return!t.value&&typeof r=="string"&&(console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),t.value=!0),Reflect.get(n,r,s)}})}function db(e){return JSON.parse(JSON.stringify(e))}const Is=e=>e.msg||e.message||e.error_description||e.error||JSON.stringify(e),FU=[502,503,504];async function hb(e){var t;if(!jU(e))throw new _p(Is(e),0);if(FU.includes(e.status))throw new _p(Is(e),e.status);let n;try{n=await e.json()}catch(i){throw new Ds(Is(i),i)}let r;const s=PU(e);if(s&&s.getTime()>=dE["2024-01-01"].timestamp&&typeof n=="object"&&n&&typeof n.code=="string"?r=n.code:typeof n=="object"&&n&&typeof n.error_code=="string"&&(r=n.error_code),r){if(r==="weak_password")throw new ab(Is(n),e.status,((t=n.weak_password)===null||t===void 0?void 0:t.reasons)||[]);if(r==="session_not_found")throw new At}else if(typeof n=="object"&&n&&typeof n.weak_password=="object"&&n.weak_password&&Array.isArray(n.weak_password.reasons)&&n.weak_password.reasons.length&&n.weak_password.reasons.reduce((i,a)=>i&&typeof a=="string",!0))throw new ab(Is(n),e.status,n.weak_password.reasons);throw new uU(Is(n),e.status||500,r)}const MU=(e,t,n,r)=>{const s={method:e,headers:(t==null?void 0:t.headers)||{}};return e==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},t==null?void 0:t.headers),s.body=JSON.stringify(r),Object.assign(Object.assign({},s),n))};async function X(e,t,n,r){var s;const i=Object.assign({},r==null?void 0:r.headers);i[Ep]||(i[Ep]=dE["2024-01-01"].name),r!=null&&r.jwt&&(i.Authorization=`Bearer ${r.jwt}`);const a=(s=r==null?void 0:r.query)!==null&&s!==void 0?s:{};r!=null&&r.redirectTo&&(a.redirect_to=r.redirectTo);const l=Object.keys(a).length?"?"+new URLSearchParams(a).toString():"",c=await DU(e,t,n+l,{headers:i,noResolveJson:r==null?void 0:r.noResolveJson},{},r==null?void 0:r.body);return r!=null&&r.xform?r==null?void 0:r.xform(c):{data:Object.assign({},c),error:null}}async function DU(e,t,n,r,s,i){const a=MU(t,r,s,i);let l;try{l=await e(n,Object.assign({},a))}catch(c){throw console.error(c),new _p(Is(c),0)}if(l.ok||await hb(l),r!=null&&r.noResolveJson)return l;try{return await l.json()}catch(c){await hb(c)}}function an(e){var t;let n=null;BU(e)&&(n=Object.assign({},e),e.expires_at||(n.expires_at=xU(e.expires_in)));const r=(t=e.user)!==null&&t!==void 0?t:e;return{data:{session:n,user:r},error:null}}function fb(e){const t=an(e);return!t.error&&e.weak_password&&typeof e.weak_password=="object"&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.message&&typeof e.weak_password.message=="string"&&e.weak_password.reasons.reduce((n,r)=>n&&typeof r=="string",!0)&&(t.data.weak_password=e.weak_password),t}function Mr(e){var t;return{data:{user:(t=e.user)!==null&&t!==void 0?t:e},error:null}}function LU(e){return{data:e,error:null}}function $U(e){const{action_link:t,email_otp:n,hashed_token:r,redirect_to:s,verification_type:i}=e,a=ta(e,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),l={action_link:t,email_otp:n,hashed_token:r,redirect_to:s,verification_type:i},c=Object.assign({},a);return{data:{properties:l,user:c},error:null}}function mb(e){return e}function BU(e){return e.access_token&&e.refresh_token&&e.expires_in}const pf=["global","local","others"];class UU{constructor({url:t="",headers:n={},fetch:r}){this.url=t,this.headers=n,this.fetch=mE(r),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)}}async signOut(t,n=pf[0]){if(pf.indexOf(n)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${pf.join(", ")}`);try{return await X(this.fetch,"POST",`${this.url}/logout?scope=${n}`,{headers:this.headers,jwt:t,noResolveJson:!0}),{data:null,error:null}}catch(r){if(q(r))return{data:null,error:r};throw r}}async inviteUserByEmail(t,n={}){try{return await X(this.fetch,"POST",`${this.url}/invite`,{body:{email:t,data:n.data},headers:this.headers,redirectTo:n.redirectTo,xform:Mr})}catch(r){if(q(r))return{data:{user:null},error:r};throw r}}async generateLink(t){try{const{options:n}=t,r=ta(t,["options"]),s=Object.assign(Object.assign({},r),n);return"newEmail"in r&&(s.new_email=r==null?void 0:r.newEmail,delete s.newEmail),await X(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:s,headers:this.headers,xform:$U,redirectTo:n==null?void 0:n.redirectTo})}catch(n){if(q(n))return{data:{properties:null,user:null},error:n};throw n}}async createUser(t){try{return await X(this.fetch,"POST",`${this.url}/admin/users`,{body:t,headers:this.headers,xform:Mr})}catch(n){if(q(n))return{data:{user:null},error:n};throw n}}async listUsers(t){var n,r,s,i,a,l,c;try{const u={nextPage:null,lastPage:0,total:0},d=await X(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(r=(n=t==null?void 0:t.page)===null||n===void 0?void 0:n.toString())!==null&&r!==void 0?r:"",per_page:(i=(s=t==null?void 0:t.perPage)===null||s===void 0?void 0:s.toString())!==null&&i!==void 0?i:""},xform:mb});if(d.error)throw d.error;const h=await d.json(),f=(a=d.headers.get("x-total-count"))!==null&&a!==void 0?a:0,m=(c=(l=d.headers.get("link"))===null||l===void 0?void 0:l.split(","))!==null&&c!==void 0?c:[];return m.length>0&&(m.forEach(w=>{const p=parseInt(w.split(";")[0].split("=")[1].substring(0,1)),y=JSON.parse(w.split(";")[1].split("=")[1]);u[`${y}Page`]=p}),u.total=parseInt(f)),{data:Object.assign(Object.assign({},h),u),error:null}}catch(u){if(q(u))return{data:{users:[]},error:u};throw u}}async getUserById(t){Ei(t);try{return await X(this.fetch,"GET",`${this.url}/admin/users/${t}`,{headers:this.headers,xform:Mr})}catch(n){if(q(n))return{data:{user:null},error:n};throw n}}async updateUserById(t,n){Ei(t);try{return await X(this.fetch,"PUT",`${this.url}/admin/users/${t}`,{body:n,headers:this.headers,xform:Mr})}catch(r){if(q(r))return{data:{user:null},error:r};throw r}}async deleteUser(t,n=!1){Ei(t);try{return await X(this.fetch,"DELETE",`${this.url}/admin/users/${t}`,{headers:this.headers,body:{should_soft_delete:n},xform:Mr})}catch(r){if(q(r))return{data:{user:null},error:r};throw r}}async _listFactors(t){Ei(t.userId);try{const{data:n,error:r}=await X(this.fetch,"GET",`${this.url}/admin/users/${t.userId}/factors`,{headers:this.headers,xform:s=>({data:{factors:s},error:null})});return{data:n,error:r}}catch(n){if(q(n))return{data:null,error:n};throw n}}async _deleteFactor(t){Ei(t.userId),Ei(t.id);try{return{data:await X(this.fetch,"DELETE",`${this.url}/admin/users/${t.userId}/factors/${t.id}`,{headers:this.headers}),error:null}}catch(n){if(q(n))return{data:null,error:n};throw n}}async _listOAuthClients(t){var n,r,s,i,a,l,c;try{const u={nextPage:null,lastPage:0,total:0},d=await X(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(r=(n=t==null?void 0:t.page)===null||n===void 0?void 0:n.toString())!==null&&r!==void 0?r:"",per_page:(i=(s=t==null?void 0:t.perPage)===null||s===void 0?void 0:s.toString())!==null&&i!==void 0?i:""},xform:mb});if(d.error)throw d.error;const h=await d.json(),f=(a=d.headers.get("x-total-count"))!==null&&a!==void 0?a:0,m=(c=(l=d.headers.get("link"))===null||l===void 0?void 0:l.split(","))!==null&&c!==void 0?c:[];return m.length>0&&(m.forEach(w=>{const p=parseInt(w.split(";")[0].split("=")[1].substring(0,1)),y=JSON.parse(w.split(";")[1].split("=")[1]);u[`${y}Page`]=p}),u.total=parseInt(f)),{data:Object.assign(Object.assign({},h),u),error:null}}catch(u){if(q(u))return{data:{clients:[]},error:u};throw u}}async _createOAuthClient(t){try{return await X(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:t,headers:this.headers,xform:n=>({data:n,error:null})})}catch(n){if(q(n))return{data:null,error:n};throw n}}async _getOAuthClient(t){try{return await X(this.fetch,"GET",`${this.url}/admin/oauth/clients/${t}`,{headers:this.headers,xform:n=>({data:n,error:null})})}catch(n){if(q(n))return{data:null,error:n};throw n}}async _updateOAuthClient(t,n){try{return await X(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${t}`,{body:n,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(q(r))return{data:null,error:r};throw r}}async _deleteOAuthClient(t){try{return await X(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${t}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(n){if(q(n))return{data:null,error:n};throw n}}async _regenerateOAuthClientSecret(t){try{return await X(this.fetch,"POST",`${this.url}/admin/oauth/clients/${t}/regenerate_secret`,{headers:this.headers,xform:n=>({data:n,error:null})})}catch(n){if(q(n))return{data:null,error:n};throw n}}}function pb(e={}){return{getItem:t=>e[t]||null,setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]}}}const _i={debug:!!(globalThis&&fE()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class pE extends Error{constructor(t){super(t),this.isAcquireTimeout=!0}}class VU extends pE{}async function zU(e,t,n){_i.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire lock",e,t);const r=new globalThis.AbortController;return t>0&&setTimeout(()=>{r.abort(),_i.debug&&console.log("@supabase/gotrue-js: navigatorLock acquire timed out",e)},t),await Promise.resolve().then(()=>globalThis.navigator.locks.request(e,t===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:r.signal},async s=>{if(s){_i.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquired",e,s.name);try{return await n()}finally{_i.debug&&console.log("@supabase/gotrue-js: navigatorLock: released",e,s.name)}}else{if(t===0)throw _i.debug&&console.log("@supabase/gotrue-js: navigatorLock: not immediately available",e),new VU(`Acquiring an exclusive Navigator LockManager lock "${e}" immediately failed`);if(_i.debug)try{const i=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(i,null,"  "))}catch(i){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",i)}return console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request"),await n()}}))}function HU(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}function gE(e){if(!/^0x[a-fA-F0-9]{40}$/.test(e))throw new Error(`@supabase/auth-js: Address "${e}" is invalid.`);return e.toLowerCase()}function WU(e){return parseInt(e,16)}function qU(e){const t=new TextEncoder().encode(e);return"0x"+Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function KU(e){var t;const{chainId:n,domain:r,expirationTime:s,issuedAt:i=new Date,nonce:a,notBefore:l,requestId:c,resources:u,scheme:d,uri:h,version:f}=e;{if(!Number.isInteger(n))throw new Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${n}`);if(!r)throw new Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(a&&a.length<8)throw new Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${a}`);if(!h)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(f!=="1")throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${f}`);if(!((t=e.statement)===null||t===void 0)&&t.includes(`
`))throw new Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${e.statement}`)}const m=gE(e.address),w=d?`${d}://${r}`:r,p=e.statement?`${e.statement}
`:"",y=`${w} wants you to sign in with your Ethereum account:
${m}

${p}`;let g=`URI: ${h}
Version: ${f}
Chain ID: ${n}${a?`
Nonce: ${a}`:""}
Issued At: ${i.toISOString()}`;if(s&&(g+=`
Expiration Time: ${s.toISOString()}`),l&&(g+=`
Not Before: ${l.toISOString()}`),c&&(g+=`
Request ID: ${c}`),u){let v=`
Resources:`;for(const b of u){if(!b||typeof b!="string")throw new Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${b}`);v+=`
- ${b}`}g+=v}return`${y}
${g}`}class Ve extends Error{constructor({message:t,code:n,cause:r,name:s}){var i;super(t,{cause:r}),this.__isWebAuthnError=!0,this.name=(i=s??(r instanceof Error?r.name:void 0))!==null&&i!==void 0?i:"Unknown Error",this.code=n}}class id extends Ve{constructor(t,n){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:n,message:t}),this.name="WebAuthnUnknownError",this.originalError=n}}function GU({error:e,options:t}){var n,r,s;const{publicKey:i}=t;if(!i)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new Ve({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(((n=i.authenticatorSelection)===null||n===void 0?void 0:n.requireResidentKey)===!0)return new Ve({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(t.mediation==="conditional"&&((r=i.authenticatorSelection)===null||r===void 0?void 0:r.userVerification)==="required")return new Ve({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(((s=i.authenticatorSelection)===null||s===void 0?void 0:s.userVerification)==="required")return new Ve({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else{if(e.name==="InvalidStateError")return new Ve({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new Ve({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return i.pubKeyCredParams.filter(l=>l.type==="public-key").length===0?new Ve({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new Ve({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){const a=window.location.hostname;if(yE(a)){if(i.rp.id!==a)return new Ve({message:`The RP ID "${i.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new Ve({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(i.user.id.byteLength<1||i.user.id.byteLength>64)return new Ve({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new Ve({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new Ve({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}function YU({error:e,options:t}){const{publicKey:n}=t;if(!n)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new Ve({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else{if(e.name==="NotAllowedError")return new Ve({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){const r=window.location.hostname;if(yE(r)){if(n.rpId!==r)return new Ve({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new Ve({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new Ve({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new Ve({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}class QU{createNewAbortSignal(){if(this.controller){const n=new Error("Cancelling existing WebAuthn API call for new one");n.name="AbortError",this.controller.abort(n)}const t=new AbortController;return this.controller=t,t.signal}cancelCeremony(){if(this.controller){const t=new Error("Manually cancelling existing WebAuthn API call");t.name="AbortError",this.controller.abort(t),this.controller=void 0}}}const XU=new QU;function JU(e){if(!e)throw new Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON=="function")return PublicKeyCredential.parseCreationOptionsFromJSON(e);const{challenge:t,user:n,excludeCredentials:r}=e,s=ta(e,["challenge","user","excludeCredentials"]),i=mo(t).buffer,a=Object.assign(Object.assign({},n),{id:mo(n.id).buffer}),l=Object.assign(Object.assign({},s),{challenge:i,user:a});if(r&&r.length>0){l.excludeCredentials=new Array(r.length);for(let c=0;c<r.length;c++){const u=r[c];l.excludeCredentials[c]=Object.assign(Object.assign({},u),{id:mo(u.id).buffer,type:u.type||"public-key",transports:u.transports})}}return l}function ZU(e){if(!e)throw new Error("Credential request options are required");if(typeof PublicKeyCredential<"u"&&"parseRequestOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON=="function")return PublicKeyCredential.parseRequestOptionsFromJSON(e);const{challenge:t,allowCredentials:n}=e,r=ta(e,["challenge","allowCredentials"]),s=mo(t).buffer,i=Object.assign(Object.assign({},r),{challenge:s});if(n&&n.length>0){i.allowCredentials=new Array(n.length);for(let a=0;a<n.length;a++){const l=n[a];i.allowCredentials[a]=Object.assign(Object.assign({},l),{id:mo(l.id).buffer,type:l.type||"public-key",transports:l.transports})}}return i}function eV(e){var t;if("toJSON"in e&&typeof e.toJSON=="function")return e.toJSON();const n=e;return{id:e.id,rawId:e.id,response:{attestationObject:zs(new Uint8Array(e.response.attestationObject)),clientDataJSON:zs(new Uint8Array(e.response.clientDataJSON))},type:"public-key",clientExtensionResults:e.getClientExtensionResults(),authenticatorAttachment:(t=n.authenticatorAttachment)!==null&&t!==void 0?t:void 0}}function tV(e){var t;if("toJSON"in e&&typeof e.toJSON=="function")return e.toJSON();const n=e,r=e.getClientExtensionResults(),s=e.response;return{id:e.id,rawId:e.id,response:{authenticatorData:zs(new Uint8Array(s.authenticatorData)),clientDataJSON:zs(new Uint8Array(s.clientDataJSON)),signature:zs(new Uint8Array(s.signature)),userHandle:s.userHandle?zs(new Uint8Array(s.userHandle)):void 0},type:"public-key",clientExtensionResults:r,authenticatorAttachment:(t=n.authenticatorAttachment)!==null&&t!==void 0?t:void 0}}function yE(e){return e==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(e)}function gb(){var e,t;return!!(et()&&"PublicKeyCredential"in window&&window.PublicKeyCredential&&"credentials"in navigator&&typeof((e=navigator==null?void 0:navigator.credentials)===null||e===void 0?void 0:e.create)=="function"&&typeof((t=navigator==null?void 0:navigator.credentials)===null||t===void 0?void 0:t.get)=="function")}async function nV(e){try{const t=await navigator.credentials.create(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new id("Browser returned unexpected credential type",t)}:{data:null,error:new id("Empty credential response",t)}}catch(t){return{data:null,error:GU({error:t,options:e})}}}async function rV(e){try{const t=await navigator.credentials.get(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new id("Browser returned unexpected credential type",t)}:{data:null,error:new id("Empty credential response",t)}}catch(t){return{data:null,error:YU({error:t,options:e})}}}const sV={hints:["security-key"],authenticatorSelection:{authenticatorAttachment:"cross-platform",requireResidentKey:!1,userVerification:"preferred",residentKey:"discouraged"},attestation:"direct"},iV={userVerification:"preferred",hints:["security-key"],attestation:"direct"};function od(...e){const t=s=>s!==null&&typeof s=="object"&&!Array.isArray(s),n=s=>s instanceof ArrayBuffer||ArrayBuffer.isView(s),r={};for(const s of e)if(s)for(const i in s){const a=s[i];if(a!==void 0)if(Array.isArray(a))r[i]=a;else if(n(a))r[i]=a;else if(t(a)){const l=r[i];t(l)?r[i]=od(l,a):r[i]=od(a)}else r[i]=a}return r}function oV(e,t){return od(sV,e,t||{})}function aV(e,t){return od(iV,e,t||{})}class lV{constructor(t){this.client=t,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(t){return this.client.mfa.enroll(Object.assign(Object.assign({},t),{factorType:"webauthn"}))}async _challenge({factorId:t,webauthn:n,friendlyName:r,signal:s},i){try{const{data:a,error:l}=await this.client.mfa.challenge({factorId:t,webauthn:n});if(!a)return{data:null,error:l};const c=s??XU.createNewAbortSignal();if(a.webauthn.type==="create"){const{user:u}=a.webauthn.credential_options.publicKey;u.name||(u.name=`${u.id}:${r}`),u.displayName||(u.displayName=u.name)}switch(a.webauthn.type){case"create":{const u=oV(a.webauthn.credential_options.publicKey,i==null?void 0:i.create),{data:d,error:h}=await nV({publicKey:u,signal:c});return d?{data:{factorId:t,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:d}},error:null}:{data:null,error:h}}case"request":{const u=aV(a.webauthn.credential_options.publicKey,i==null?void 0:i.request),{data:d,error:h}=await rV(Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:u,signal:c}));return d?{data:{factorId:t,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:d}},error:null}:{data:null,error:h}}}}catch(a){return q(a)?{data:null,error:a}:{data:null,error:new Ds("Unexpected error in challenge",a)}}}async _verify({challengeId:t,factorId:n,webauthn:r}){return this.client.mfa.verify({factorId:n,challengeId:t,webauthn:r})}async _authenticate({factorId:t,webauthn:{rpId:n=typeof window<"u"?window.location.hostname:void 0,rpOrigins:r=typeof window<"u"?[window.location.origin]:void 0,signal:s}={}},i){if(!n)return{data:null,error:new El("rpId is required for WebAuthn authentication")};try{if(!gb())return{data:null,error:new Ds("Browser does not support WebAuthn",null)};const{data:a,error:l}=await this.challenge({factorId:t,webauthn:{rpId:n,rpOrigins:r},signal:s},{request:i});if(!a)return{data:null,error:l};const{webauthn:c}=a;return this._verify({factorId:t,challengeId:a.challengeId,webauthn:{type:c.type,rpId:n,rpOrigins:r,credential_response:c.credential_response}})}catch(a){return q(a)?{data:null,error:a}:{data:null,error:new Ds("Unexpected error in authenticate",a)}}}async _register({friendlyName:t,webauthn:{rpId:n=typeof window<"u"?window.location.hostname:void 0,rpOrigins:r=typeof window<"u"?[window.location.origin]:void 0,signal:s}={}},i){if(!n)return{data:null,error:new El("rpId is required for WebAuthn registration")};try{if(!gb())return{data:null,error:new Ds("Browser does not support WebAuthn",null)};const{data:a,error:l}=await this._enroll({friendlyName:t});if(!a)return await this.client.mfa.listFactors().then(d=>{var h;return(h=d.data)===null||h===void 0?void 0:h.all.find(f=>f.factor_type==="webauthn"&&f.friendly_name===t&&f.status!=="unverified")}).then(d=>d?this.client.mfa.unenroll({factorId:d==null?void 0:d.id}):void 0),{data:null,error:l};const{data:c,error:u}=await this._challenge({factorId:a.id,friendlyName:a.friendly_name,webauthn:{rpId:n,rpOrigins:r},signal:s},{create:i});return c?this._verify({factorId:a.id,challengeId:c.challengeId,webauthn:{rpId:n,rpOrigins:r,type:c.webauthn.type,credential_response:c.webauthn.credential_response}}):{data:null,error:u}}catch(a){return q(a)?{data:null,error:a}:{data:null,error:new Ds("Unexpected error in register",a)}}}}HU();const cV={url:iU,storageKey:oU,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:aU,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:1e4};async function yb(e,t,n){return await n()}const Pi={};class _l{get jwks(){var t,n;return(n=(t=Pi[this.storageKey])===null||t===void 0?void 0:t.jwks)!==null&&n!==void 0?n:{keys:[]}}set jwks(t){Pi[this.storageKey]=Object.assign(Object.assign({},Pi[this.storageKey]),{jwks:t})}get jwks_cached_at(){var t,n;return(n=(t=Pi[this.storageKey])===null||t===void 0?void 0:t.cachedAt)!==null&&n!==void 0?n:Number.MIN_SAFE_INTEGER}set jwks_cached_at(t){Pi[this.storageKey]=Object.assign(Object.assign({},Pi[this.storageKey]),{cachedAt:t})}constructor(t){var n,r,s;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;const i=Object.assign(Object.assign({},cV),t);if(this.storageKey=i.storageKey,this.instanceID=(n=_l.nextInstanceID[this.storageKey])!==null&&n!==void 0?n:0,_l.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!i.debug,typeof i.debug=="function"&&(this.logger=i.debug),this.instanceID>0&&et()){const a=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(a),this.logDebugMessages&&console.trace(a)}if(this.persistSession=i.persistSession,this.autoRefreshToken=i.autoRefreshToken,this.admin=new UU({url:i.url,headers:i.headers,fetch:i.fetch}),this.url=i.url,this.headers=i.headers,this.fetch=mE(i.fetch),this.lock=i.lock||yb,this.detectSessionInUrl=i.detectSessionInUrl,this.flowType=i.flowType,this.hasCustomAuthorizationHeader=i.hasCustomAuthorizationHeader,this.throwOnError=i.throwOnError,this.lockAcquireTimeout=i.lockAcquireTimeout,i.lock?this.lock=i.lock:this.persistSession&&et()&&(!((r=globalThis==null?void 0:globalThis.navigator)===null||r===void 0)&&r.locks)?this.lock=zU:this.lock=yb,this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new lV(this)},this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.persistSession?(i.storage?this.storage=i.storage:fE()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=pb(this.memoryStorage)),i.userStorage&&(this.userStorage=i.userStorage)):(this.memoryStorage={},this.storage=pb(this.memoryStorage)),et()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(a){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",a)}(s=this.broadcastChannel)===null||s===void 0||s.addEventListener("message",async a=>{this._debug("received broadcast notification from other tab or client",a);try{await this._notifyAllSubscribers(a.data.event,a.data.session,!1)}catch(l){this._debug("#broadcastChannel","error",l)}})}this.initialize().catch(a=>{this._debug("#initialize()","error",a)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(t){if(this.throwOnError&&t&&t.error)throw t.error;return t}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${uE}) ${new Date().toISOString()}`}_debug(...t){return this.logDebugMessages&&this.logger(this._logPrefix(),...t),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()))(),await this.initializePromise)}async _initialize(){var t;try{let n={},r="none";if(et()&&(n=bU(window.location.href),this._isImplicitGrantCallback(n)?r="implicit":await this._isPKCECallback(n)&&(r="pkce")),et()&&this.detectSessionInUrl&&r!=="none"){const{data:s,error:i}=await this._getSessionFromURL(n,r);if(i){if(this._debug("#_initialize()","error detecting session from URL",i),hU(i)){const c=(t=i.details)===null||t===void 0?void 0:t.code;if(c==="identity_already_exists"||c==="identity_not_found"||c==="single_identity_not_deletable")return{error:i}}return{error:i}}const{session:a,redirectType:l}=s;return this._debug("#_initialize()","detected session in URL",a,"redirect type",l),await this._saveSession(a),setTimeout(async()=>{l==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",a):await this._notifyAllSubscribers("SIGNED_IN",a)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(n){return q(n)?this._returnResult({error:n}):this._returnResult({error:new Ds("Unexpected error during initialization",n)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(t){var n,r,s;try{const i=await X(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(r=(n=t==null?void 0:t.options)===null||n===void 0?void 0:n.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:(s=t==null?void 0:t.options)===null||s===void 0?void 0:s.captchaToken}},xform:an}),{data:a,error:l}=i;if(l||!a)return this._returnResult({data:{user:null,session:null},error:l});const c=a.session,u=a.user;return a.session&&(await this._saveSession(a.session),await this._notifyAllSubscribers("SIGNED_IN",c)),this._returnResult({data:{user:u,session:c},error:null})}catch(i){if(q(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signUp(t){var n,r,s;try{let i;if("email"in t){const{email:d,password:h,options:f}=t;let m=null,w=null;this.flowType==="pkce"&&([m,w]=await Ci(this.storage,this.storageKey)),i=await X(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:f==null?void 0:f.emailRedirectTo,body:{email:d,password:h,data:(n=f==null?void 0:f.data)!==null&&n!==void 0?n:{},gotrue_meta_security:{captcha_token:f==null?void 0:f.captchaToken},code_challenge:m,code_challenge_method:w},xform:an})}else if("phone"in t){const{phone:d,password:h,options:f}=t;i=await X(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:d,password:h,data:(r=f==null?void 0:f.data)!==null&&r!==void 0?r:{},channel:(s=f==null?void 0:f.channel)!==null&&s!==void 0?s:"sms",gotrue_meta_security:{captcha_token:f==null?void 0:f.captchaToken}},xform:an})}else throw new Fc("You must provide either an email or phone number and a password");const{data:a,error:l}=i;if(l||!a)return await Ze(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:l});const c=a.session,u=a.user;return a.session&&(await this._saveSession(a.session),await this._notifyAllSubscribers("SIGNED_IN",c)),this._returnResult({data:{user:u,session:c},error:null})}catch(i){if(await Ze(this.storage,`${this.storageKey}-code-verifier`),q(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signInWithPassword(t){try{let n;if("email"in t){const{email:i,password:a,options:l}=t;n=await X(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:i,password:a,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken}},xform:fb})}else if("phone"in t){const{phone:i,password:a,options:l}=t;n=await X(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:i,password:a,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken}},xform:fb})}else throw new Fc("You must provide either an email or phone number and a password");const{data:r,error:s}=n;if(s)return this._returnResult({data:{user:null,session:null},error:s});if(!r||!r.session||!r.user){const i=new Ti;return this._returnResult({data:{user:null,session:null},error:i})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers("SIGNED_IN",r.session)),this._returnResult({data:Object.assign({user:r.user,session:r.session},r.weak_password?{weakPassword:r.weak_password}:null),error:s})}catch(n){if(q(n))return this._returnResult({data:{user:null,session:null},error:n});throw n}}async signInWithOAuth(t){var n,r,s,i;return await this._handleProviderSignIn(t.provider,{redirectTo:(n=t.options)===null||n===void 0?void 0:n.redirectTo,scopes:(r=t.options)===null||r===void 0?void 0:r.scopes,queryParams:(s=t.options)===null||s===void 0?void 0:s.queryParams,skipBrowserRedirect:(i=t.options)===null||i===void 0?void 0:i.skipBrowserRedirect})}async exchangeCodeForSession(t){return await this.initializePromise,this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(t))}async signInWithWeb3(t){const{chain:n}=t;switch(n){case"ethereum":return await this.signInWithEthereum(t);case"solana":return await this.signInWithSolana(t);default:throw new Error(`@supabase/auth-js: Unsupported chain "${n}"`)}}async signInWithEthereum(t){var n,r,s,i,a,l,c,u,d,h,f;let m,w;if("message"in t)m=t.message,w=t.signature;else{const{chain:p,wallet:y,statement:g,options:v}=t;let b;if(et())if(typeof y=="object")b=y;else{const P=window;if("ethereum"in P&&typeof P.ethereum=="object"&&"request"in P.ethereum&&typeof P.ethereum.request=="function")b=P.ethereum;else throw new Error("@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.")}else{if(typeof y!="object"||!(v!=null&&v.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");b=y}const j=new URL((n=v==null?void 0:v.url)!==null&&n!==void 0?n:window.location.href),S=await b.request({method:"eth_requestAccounts"}).then(P=>P).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!S||S.length===0)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const k=gE(S[0]);let T=(r=v==null?void 0:v.signInWithEthereum)===null||r===void 0?void 0:r.chainId;if(!T){const P=await b.request({method:"eth_chainId"});T=WU(P)}const C={domain:j.host,address:k,statement:g,uri:j.href,version:"1",chainId:T,nonce:(s=v==null?void 0:v.signInWithEthereum)===null||s===void 0?void 0:s.nonce,issuedAt:(a=(i=v==null?void 0:v.signInWithEthereum)===null||i===void 0?void 0:i.issuedAt)!==null&&a!==void 0?a:new Date,expirationTime:(l=v==null?void 0:v.signInWithEthereum)===null||l===void 0?void 0:l.expirationTime,notBefore:(c=v==null?void 0:v.signInWithEthereum)===null||c===void 0?void 0:c.notBefore,requestId:(u=v==null?void 0:v.signInWithEthereum)===null||u===void 0?void 0:u.requestId,resources:(d=v==null?void 0:v.signInWithEthereum)===null||d===void 0?void 0:d.resources};m=KU(C),w=await b.request({method:"personal_sign",params:[qU(m),k]})}try{const{data:p,error:y}=await X(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:m,signature:w},!((h=t.options)===null||h===void 0)&&h.captchaToken?{gotrue_meta_security:{captcha_token:(f=t.options)===null||f===void 0?void 0:f.captchaToken}}:null),xform:an});if(y)throw y;if(!p||!p.session||!p.user){const g=new Ti;return this._returnResult({data:{user:null,session:null},error:g})}return p.session&&(await this._saveSession(p.session),await this._notifyAllSubscribers("SIGNED_IN",p.session)),this._returnResult({data:Object.assign({},p),error:y})}catch(p){if(q(p))return this._returnResult({data:{user:null,session:null},error:p});throw p}}async signInWithSolana(t){var n,r,s,i,a,l,c,u,d,h,f,m;let w,p;if("message"in t)w=t.message,p=t.signature;else{const{chain:y,wallet:g,statement:v,options:b}=t;let j;if(et())if(typeof g=="object")j=g;else{const k=window;if("solana"in k&&typeof k.solana=="object"&&("signIn"in k.solana&&typeof k.solana.signIn=="function"||"signMessage"in k.solana&&typeof k.solana.signMessage=="function"))j=k.solana;else throw new Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}else{if(typeof g!="object"||!(b!=null&&b.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");j=g}const S=new URL((n=b==null?void 0:b.url)!==null&&n!==void 0?n:window.location.href);if("signIn"in j&&j.signIn){const k=await j.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},b==null?void 0:b.signInWithSolana),{version:"1",domain:S.host,uri:S.href}),v?{statement:v}:null));let T;if(Array.isArray(k)&&k[0]&&typeof k[0]=="object")T=k[0];else if(k&&typeof k=="object"&&"signedMessage"in k&&"signature"in k)T=k;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in T&&"signature"in T&&(typeof T.signedMessage=="string"||T.signedMessage instanceof Uint8Array)&&T.signature instanceof Uint8Array)w=typeof T.signedMessage=="string"?T.signedMessage:new TextDecoder().decode(T.signedMessage),p=T.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in j)||typeof j.signMessage!="function"||!("publicKey"in j)||typeof j!="object"||!j.publicKey||!("toBase58"in j.publicKey)||typeof j.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");w=[`${S.host} wants you to sign in with your Solana account:`,j.publicKey.toBase58(),...v?["",v,""]:[""],"Version: 1",`URI: ${S.href}`,`Issued At: ${(s=(r=b==null?void 0:b.signInWithSolana)===null||r===void 0?void 0:r.issuedAt)!==null&&s!==void 0?s:new Date().toISOString()}`,...!((i=b==null?void 0:b.signInWithSolana)===null||i===void 0)&&i.notBefore?[`Not Before: ${b.signInWithSolana.notBefore}`]:[],...!((a=b==null?void 0:b.signInWithSolana)===null||a===void 0)&&a.expirationTime?[`Expiration Time: ${b.signInWithSolana.expirationTime}`]:[],...!((l=b==null?void 0:b.signInWithSolana)===null||l===void 0)&&l.chainId?[`Chain ID: ${b.signInWithSolana.chainId}`]:[],...!((c=b==null?void 0:b.signInWithSolana)===null||c===void 0)&&c.nonce?[`Nonce: ${b.signInWithSolana.nonce}`]:[],...!((u=b==null?void 0:b.signInWithSolana)===null||u===void 0)&&u.requestId?[`Request ID: ${b.signInWithSolana.requestId}`]:[],...!((h=(d=b==null?void 0:b.signInWithSolana)===null||d===void 0?void 0:d.resources)===null||h===void 0)&&h.length?["Resources",...b.signInWithSolana.resources.map(T=>`- ${T}`)]:[]].join(`
`);const k=await j.signMessage(new TextEncoder().encode(w),"utf8");if(!k||!(k instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");p=k}}try{const{data:y,error:g}=await X(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:w,signature:zs(p)},!((f=t.options)===null||f===void 0)&&f.captchaToken?{gotrue_meta_security:{captcha_token:(m=t.options)===null||m===void 0?void 0:m.captchaToken}}:null),xform:an});if(g)throw g;if(!y||!y.session||!y.user){const v=new Ti;return this._returnResult({data:{user:null,session:null},error:v})}return y.session&&(await this._saveSession(y.session),await this._notifyAllSubscribers("SIGNED_IN",y.session)),this._returnResult({data:Object.assign({},y),error:g})}catch(y){if(q(y))return this._returnResult({data:{user:null,session:null},error:y});throw y}}async _exchangeCodeForSession(t){const n=await _s(this.storage,`${this.storageKey}-code-verifier`),[r,s]=(n??"").split("/");try{if(!r&&this.flowType==="pkce")throw new fU;const{data:i,error:a}=await X(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:t,code_verifier:r},xform:an});if(await Ze(this.storage,`${this.storageKey}-code-verifier`),a)throw a;if(!i||!i.session||!i.user){const l=new Ti;return this._returnResult({data:{user:null,session:null,redirectType:null},error:l})}return i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",i.session)),this._returnResult({data:Object.assign(Object.assign({},i),{redirectType:s??null}),error:a})}catch(i){if(await Ze(this.storage,`${this.storageKey}-code-verifier`),q(i))return this._returnResult({data:{user:null,session:null,redirectType:null},error:i});throw i}}async signInWithIdToken(t){try{const{options:n,provider:r,token:s,access_token:i,nonce:a}=t,l=await X(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:r,id_token:s,access_token:i,nonce:a,gotrue_meta_security:{captcha_token:n==null?void 0:n.captchaToken}},xform:an}),{data:c,error:u}=l;if(u)return this._returnResult({data:{user:null,session:null},error:u});if(!c||!c.session||!c.user){const d=new Ti;return this._returnResult({data:{user:null,session:null},error:d})}return c.session&&(await this._saveSession(c.session),await this._notifyAllSubscribers("SIGNED_IN",c.session)),this._returnResult({data:c,error:u})}catch(n){if(q(n))return this._returnResult({data:{user:null,session:null},error:n});throw n}}async signInWithOtp(t){var n,r,s,i,a;try{if("email"in t){const{email:l,options:c}=t;let u=null,d=null;this.flowType==="pkce"&&([u,d]=await Ci(this.storage,this.storageKey));const{error:h}=await X(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:l,data:(n=c==null?void 0:c.data)!==null&&n!==void 0?n:{},create_user:(r=c==null?void 0:c.shouldCreateUser)!==null&&r!==void 0?r:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},code_challenge:u,code_challenge_method:d},redirectTo:c==null?void 0:c.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:h})}if("phone"in t){const{phone:l,options:c}=t,{data:u,error:d}=await X(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:l,data:(s=c==null?void 0:c.data)!==null&&s!==void 0?s:{},create_user:(i=c==null?void 0:c.shouldCreateUser)!==null&&i!==void 0?i:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},channel:(a=c==null?void 0:c.channel)!==null&&a!==void 0?a:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:u==null?void 0:u.message_id},error:d})}throw new Fc("You must provide either an email or phone number.")}catch(l){if(await Ze(this.storage,`${this.storageKey}-code-verifier`),q(l))return this._returnResult({data:{user:null,session:null},error:l});throw l}}async verifyOtp(t){var n,r;try{let s,i;"options"in t&&(s=(n=t.options)===null||n===void 0?void 0:n.redirectTo,i=(r=t.options)===null||r===void 0?void 0:r.captchaToken);const{data:a,error:l}=await X(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},t),{gotrue_meta_security:{captcha_token:i}}),redirectTo:s,xform:an});if(l)throw l;if(!a)throw new Error("An error occurred on token verification.");const c=a.session,u=a.user;return c!=null&&c.access_token&&(await this._saveSession(c),await this._notifyAllSubscribers(t.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",c)),this._returnResult({data:{user:u,session:c},error:null})}catch(s){if(q(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async signInWithSSO(t){var n,r,s,i,a;try{let l=null,c=null;this.flowType==="pkce"&&([l,c]=await Ci(this.storage,this.storageKey));const u=await X(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in t?{provider_id:t.providerId}:null),"domain"in t?{domain:t.domain}:null),{redirect_to:(r=(n=t.options)===null||n===void 0?void 0:n.redirectTo)!==null&&r!==void 0?r:void 0}),!((s=t==null?void 0:t.options)===null||s===void 0)&&s.captchaToken?{gotrue_meta_security:{captcha_token:t.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:l,code_challenge_method:c}),headers:this.headers,xform:LU});return!((i=u.data)===null||i===void 0)&&i.url&&et()&&!(!((a=t.options)===null||a===void 0)&&a.skipBrowserRedirect)&&window.location.assign(u.data.url),this._returnResult(u)}catch(l){if(await Ze(this.storage,`${this.storageKey}-code-verifier`),q(l))return this._returnResult({data:null,error:l});throw l}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async t=>{const{data:{session:n},error:r}=t;if(r)throw r;if(!n)throw new At;const{error:s}=await X(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:n.access_token});return this._returnResult({data:{user:null,session:null},error:s})})}catch(t){if(q(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}}async resend(t){try{const n=`${this.url}/resend`;if("email"in t){const{email:r,type:s,options:i}=t,{error:a}=await X(this.fetch,"POST",n,{headers:this.headers,body:{email:r,type:s,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}},redirectTo:i==null?void 0:i.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:a})}else if("phone"in t){const{phone:r,type:s,options:i}=t,{data:a,error:l}=await X(this.fetch,"POST",n,{headers:this.headers,body:{phone:r,type:s,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:a==null?void 0:a.message_id},error:l})}throw new Fc("You must provide either an email or phone number and a type")}catch(n){if(q(n))return this._returnResult({data:{user:null,session:null},error:n});throw n}}async getSession(){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async n=>n))}async _acquireLock(t,n){this._debug("#_acquireLock","begin",t);try{if(this.lockAcquired){const r=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),s=(async()=>(await r,await n()))();return this.pendingInLock.push((async()=>{try{await s}catch{}})()),s}return await this.lock(`lock:${this.storageKey}`,t,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const r=n();for(this.pendingInLock.push((async()=>{try{await r}catch{}})()),await r;this.pendingInLock.length;){const s=[...this.pendingInLock];await Promise.all(s),this.pendingInLock.splice(0,s.length)}return await r}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(t){this._debug("#_useSession","begin");try{const n=await this.__loadSession();return await t(n)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let t=null;const n=await _s(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",n),n!==null&&(this._isValidSession(n)?t=n:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!t)return{data:{session:null},error:null};const r=t.expires_at?t.expires_at*1e3-Date.now()<df:!1;if(this._debug("#__loadSession()",`session has${r?"":" not"} expired`,"expires_at",t.expires_at),!r){if(this.userStorage){const a=await _s(this.userStorage,this.storageKey+"-user");a!=null&&a.user?t.user=a.user:t.user=mf()}if(this.storage.isServer&&t.user&&!t.user.__isUserNotAvailableProxy){const a={value:this.suppressGetSessionWarning};t.user=OU(t.user,a),a.value&&(this.suppressGetSessionWarning=!0)}return{data:{session:t},error:null}}const{data:s,error:i}=await this._callRefreshToken(t.refresh_token);return i?this._returnResult({data:{session:null},error:i}):this._returnResult({data:{session:s},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(t){if(t)return await this._getUser(t);await this.initializePromise;const n=await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser());return n.data.user&&(this.suppressGetSessionWarning=!0),n}async _getUser(t){try{return t?await X(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:t,xform:Mr}):await this._useSession(async n=>{var r,s,i;const{data:a,error:l}=n;if(l)throw l;return!(!((r=a.session)===null||r===void 0)&&r.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new At}:await X(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(i=(s=a.session)===null||s===void 0?void 0:s.access_token)!==null&&i!==void 0?i:void 0,xform:Mr})})}catch(n){if(q(n))return hf(n)&&(await this._removeSession(),await Ze(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:n});throw n}}async updateUser(t,n={}){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(t,n))}async _updateUser(t,n={}){try{return await this._useSession(async r=>{const{data:s,error:i}=r;if(i)throw i;if(!s.session)throw new At;const a=s.session;let l=null,c=null;this.flowType==="pkce"&&t.email!=null&&([l,c]=await Ci(this.storage,this.storageKey));const{data:u,error:d}=await X(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:n==null?void 0:n.emailRedirectTo,body:Object.assign(Object.assign({},t),{code_challenge:l,code_challenge_method:c}),jwt:a.access_token,xform:Mr});if(d)throw d;return a.user=u.user,await this._saveSession(a),await this._notifyAllSubscribers("USER_UPDATED",a),this._returnResult({data:{user:a.user},error:null})})}catch(r){if(await Ze(this.storage,`${this.storageKey}-code-verifier`),q(r))return this._returnResult({data:{user:null},error:r});throw r}}async setSession(t){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(t))}async _setSession(t){try{if(!t.access_token||!t.refresh_token)throw new At;const n=Date.now()/1e3;let r=n,s=!0,i=null;const{payload:a}=Dc(t.access_token);if(a.exp&&(r=a.exp,s=r<=n),s){const{data:l,error:c}=await this._callRefreshToken(t.refresh_token);if(c)return this._returnResult({data:{user:null,session:null},error:c});if(!l)return{data:{user:null,session:null},error:null};i=l}else{const{data:l,error:c}=await this._getUser(t.access_token);if(c)return this._returnResult({data:{user:null,session:null},error:c});i={access_token:t.access_token,refresh_token:t.refresh_token,user:l.user,token_type:"bearer",expires_in:r-n,expires_at:r},await this._saveSession(i),await this._notifyAllSubscribers("SIGNED_IN",i)}return this._returnResult({data:{user:i.user,session:i},error:null})}catch(n){if(q(n))return this._returnResult({data:{session:null,user:null},error:n});throw n}}async refreshSession(t){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(t))}async _refreshSession(t){try{return await this._useSession(async n=>{var r;if(!t){const{data:a,error:l}=n;if(l)throw l;t=(r=a.session)!==null&&r!==void 0?r:void 0}if(!(t!=null&&t.refresh_token))throw new At;const{data:s,error:i}=await this._callRefreshToken(t.refresh_token);return i?this._returnResult({data:{user:null,session:null},error:i}):s?this._returnResult({data:{user:s.user,session:s},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(n){if(q(n))return this._returnResult({data:{user:null,session:null},error:n});throw n}}async _getSessionFromURL(t,n){try{if(!et())throw new Mc("No browser detected.");if(t.error||t.error_description||t.error_code)throw new Mc(t.error_description||"Error in URL with unspecified error_description",{error:t.error||"unspecified_error",code:t.error_code||"unspecified_code"});switch(n){case"implicit":if(this.flowType==="pkce")throw new ob("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new Mc("Not a valid implicit grant flow url.");break;default:}if(n==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!t.code)throw new ob("No code detected.");const{data:v,error:b}=await this._exchangeCodeForSession(t.code);if(b)throw b;const j=new URL(window.location.href);return j.searchParams.delete("code"),window.history.replaceState(window.history.state,"",j.toString()),{data:{session:v.session,redirectType:null},error:null}}const{provider_token:r,provider_refresh_token:s,access_token:i,refresh_token:a,expires_in:l,expires_at:c,token_type:u}=t;if(!i||!l||!a||!u)throw new Mc("No session defined in URL");const d=Math.round(Date.now()/1e3),h=parseInt(l);let f=d+h;c&&(f=parseInt(c));const m=f-d;m*1e3<=Fi&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${m}s, should have been closer to ${h}s`);const w=f-h;d-w>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",w,f,d):d-w<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",w,f,d);const{data:p,error:y}=await this._getUser(i);if(y)throw y;const g={provider_token:r,provider_refresh_token:s,access_token:i,expires_in:h,expires_at:f,refresh_token:a,token_type:u,user:p.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:g,redirectType:t.type},error:null})}catch(r){if(q(r))return this._returnResult({data:{session:null,redirectType:null},error:r});throw r}}_isImplicitGrantCallback(t){return typeof this.detectSessionInUrl=="function"?this.detectSessionInUrl(new URL(window.location.href),t):!!(t.access_token||t.error_description)}async _isPKCECallback(t){const n=await _s(this.storage,`${this.storageKey}-code-verifier`);return!!(t.code&&n)}async signOut(t={scope:"global"}){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(t))}async _signOut({scope:t}={scope:"global"}){return await this._useSession(async n=>{var r;const{data:s,error:i}=n;if(i&&!hf(i))return this._returnResult({error:i});const a=(r=s.session)===null||r===void 0?void 0:r.access_token;if(a){const{error:l}=await this.admin.signOut(a,t);if(l&&!(dU(l)&&(l.status===404||l.status===401||l.status===403)||hf(l)))return this._returnResult({error:l})}return t!=="others"&&(await this._removeSession(),await Ze(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({error:null})})}onAuthStateChange(t){const n=wU(),r={id:n,callback:t,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",n),this.stateChangeEmitters.delete(n)}};return this._debug("#onAuthStateChange()","registered callback with id",n),this.stateChangeEmitters.set(n,r),(async()=>(await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(n)})))(),{data:{subscription:r}}}async _emitInitialSession(t){return await this._useSession(async n=>{var r,s;try{const{data:{session:i},error:a}=n;if(a)throw a;await((r=this.stateChangeEmitters.get(t))===null||r===void 0?void 0:r.callback("INITIAL_SESSION",i)),this._debug("INITIAL_SESSION","callback id",t,"session",i)}catch(i){await((s=this.stateChangeEmitters.get(t))===null||s===void 0?void 0:s.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",t,"error",i),console.error(i)}})}async resetPasswordForEmail(t,n={}){let r=null,s=null;this.flowType==="pkce"&&([r,s]=await Ci(this.storage,this.storageKey,!0));try{return await X(this.fetch,"POST",`${this.url}/recover`,{body:{email:t,code_challenge:r,code_challenge_method:s,gotrue_meta_security:{captcha_token:n.captchaToken}},headers:this.headers,redirectTo:n.redirectTo})}catch(i){if(await Ze(this.storage,`${this.storageKey}-code-verifier`),q(i))return this._returnResult({data:null,error:i});throw i}}async getUserIdentities(){var t;try{const{data:n,error:r}=await this.getUser();if(r)throw r;return this._returnResult({data:{identities:(t=n.user.identities)!==null&&t!==void 0?t:[]},error:null})}catch(n){if(q(n))return this._returnResult({data:null,error:n});throw n}}async linkIdentity(t){return"token"in t?this.linkIdentityIdToken(t):this.linkIdentityOAuth(t)}async linkIdentityOAuth(t){var n;try{const{data:r,error:s}=await this._useSession(async i=>{var a,l,c,u,d;const{data:h,error:f}=i;if(f)throw f;const m=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,t.provider,{redirectTo:(a=t.options)===null||a===void 0?void 0:a.redirectTo,scopes:(l=t.options)===null||l===void 0?void 0:l.scopes,queryParams:(c=t.options)===null||c===void 0?void 0:c.queryParams,skipBrowserRedirect:!0});return await X(this.fetch,"GET",m,{headers:this.headers,jwt:(d=(u=h.session)===null||u===void 0?void 0:u.access_token)!==null&&d!==void 0?d:void 0})});if(s)throw s;return et()&&!(!((n=t.options)===null||n===void 0)&&n.skipBrowserRedirect)&&window.location.assign(r==null?void 0:r.url),this._returnResult({data:{provider:t.provider,url:r==null?void 0:r.url},error:null})}catch(r){if(q(r))return this._returnResult({data:{provider:t.provider,url:null},error:r});throw r}}async linkIdentityIdToken(t){return await this._useSession(async n=>{var r;try{const{error:s,data:{session:i}}=n;if(s)throw s;const{options:a,provider:l,token:c,access_token:u,nonce:d}=t,h=await X(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(r=i==null?void 0:i.access_token)!==null&&r!==void 0?r:void 0,body:{provider:l,id_token:c,access_token:u,nonce:d,link_identity:!0,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}},xform:an}),{data:f,error:m}=h;return m?this._returnResult({data:{user:null,session:null},error:m}):!f||!f.session||!f.user?this._returnResult({data:{user:null,session:null},error:new Ti}):(f.session&&(await this._saveSession(f.session),await this._notifyAllSubscribers("USER_UPDATED",f.session)),this._returnResult({data:f,error:m}))}catch(s){if(await Ze(this.storage,`${this.storageKey}-code-verifier`),q(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}})}async unlinkIdentity(t){try{return await this._useSession(async n=>{var r,s;const{data:i,error:a}=n;if(a)throw a;return await X(this.fetch,"DELETE",`${this.url}/user/identities/${t.identity_id}`,{headers:this.headers,jwt:(s=(r=i.session)===null||r===void 0?void 0:r.access_token)!==null&&s!==void 0?s:void 0})})}catch(n){if(q(n))return this._returnResult({data:null,error:n});throw n}}async _refreshAccessToken(t){const n=`#_refreshAccessToken(${t.substring(0,5)}...)`;this._debug(n,"begin");try{const r=Date.now();return await kU(async s=>(s>0&&await SU(200*Math.pow(2,s-1)),this._debug(n,"refreshing attempt",s),await X(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:t},headers:this.headers,xform:an})),(s,i)=>{const a=200*Math.pow(2,s);return i&&ff(i)&&Date.now()+a-r<Fi})}catch(r){if(this._debug(n,"error",r),q(r))return this._returnResult({data:{session:null,user:null},error:r});throw r}finally{this._debug(n,"end")}}_isValidSession(t){return typeof t=="object"&&t!==null&&"access_token"in t&&"refresh_token"in t&&"expires_at"in t}async _handleProviderSignIn(t,n){const r=await this._getUrlForProvider(`${this.url}/authorize`,t,{redirectTo:n.redirectTo,scopes:n.scopes,queryParams:n.queryParams});return this._debug("#_handleProviderSignIn()","provider",t,"options",n,"url",r),et()&&!n.skipBrowserRedirect&&window.location.assign(r),{data:{provider:t,url:r},error:null}}async _recoverAndRefresh(){var t,n;const r="#_recoverAndRefresh()";this._debug(r,"begin");try{const s=await _s(this.storage,this.storageKey);if(s&&this.userStorage){let a=await _s(this.userStorage,this.storageKey+"-user");!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!a&&(a={user:s.user},await Mi(this.userStorage,this.storageKey+"-user",a)),s.user=(t=a==null?void 0:a.user)!==null&&t!==void 0?t:mf()}else if(s&&!s.user&&!s.user){const a=await _s(this.storage,this.storageKey+"-user");a&&(a!=null&&a.user)?(s.user=a.user,await Ze(this.storage,this.storageKey+"-user"),await Mi(this.storage,this.storageKey,s)):s.user=mf()}if(this._debug(r,"session from storage",s),!this._isValidSession(s)){this._debug(r,"session is not valid"),s!==null&&await this._removeSession();return}const i=((n=s.expires_at)!==null&&n!==void 0?n:1/0)*1e3-Date.now()<df;if(this._debug(r,`session has${i?"":" not"} expired with margin of ${df}s`),i){if(this.autoRefreshToken&&s.refresh_token){const{error:a}=await this._callRefreshToken(s.refresh_token);a&&(console.error(a),ff(a)||(this._debug(r,"refresh failed with a non-retryable error, removing the session",a),await this._removeSession()))}}else if(s.user&&s.user.__isUserNotAvailableProxy===!0)try{const{data:a,error:l}=await this._getUser(s.access_token);!l&&(a!=null&&a.user)?(s.user=a.user,await this._saveSession(s),await this._notifyAllSubscribers("SIGNED_IN",s)):this._debug(r,"could not get user data, skipping SIGNED_IN notification")}catch(a){console.error("Error getting user data:",a),this._debug(r,"error getting user data, skipping SIGNED_IN notification",a)}else await this._notifyAllSubscribers("SIGNED_IN",s)}catch(s){this._debug(r,"error",s),console.error(s);return}finally{this._debug(r,"end")}}async _callRefreshToken(t){var n,r;if(!t)throw new At;if(this.refreshingDeferred)return this.refreshingDeferred.promise;const s=`#_callRefreshToken(${t.substring(0,5)}...)`;this._debug(s,"begin");try{this.refreshingDeferred=new qd;const{data:i,error:a}=await this._refreshAccessToken(t);if(a)throw a;if(!i.session)throw new At;await this._saveSession(i.session),await this._notifyAllSubscribers("TOKEN_REFRESHED",i.session);const l={data:i.session,error:null};return this.refreshingDeferred.resolve(l),l}catch(i){if(this._debug(s,"error",i),q(i)){const a={data:null,error:i};return ff(i)||await this._removeSession(),(n=this.refreshingDeferred)===null||n===void 0||n.resolve(a),a}throw(r=this.refreshingDeferred)===null||r===void 0||r.reject(i),i}finally{this.refreshingDeferred=null,this._debug(s,"end")}}async _notifyAllSubscribers(t,n,r=!0){const s=`#_notifyAllSubscribers(${t})`;this._debug(s,"begin",n,`broadcast = ${r}`);try{this.broadcastChannel&&r&&this.broadcastChannel.postMessage({event:t,session:n});const i=[],a=Array.from(this.stateChangeEmitters.values()).map(async l=>{try{await l.callback(t,n)}catch(c){i.push(c)}});if(await Promise.all(a),i.length>0){for(let l=0;l<i.length;l+=1)console.error(i[l]);throw i[0]}}finally{this._debug(s,"end")}}async _saveSession(t){this._debug("#_saveSession()",t),this.suppressGetSessionWarning=!0,await Ze(this.storage,`${this.storageKey}-code-verifier`);const n=Object.assign({},t),r=n.user&&n.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!r&&n.user&&await Mi(this.userStorage,this.storageKey+"-user",{user:n.user});const s=Object.assign({},n);delete s.user;const i=db(s);await Mi(this.storage,this.storageKey,i)}else{const s=db(n);await Mi(this.storage,this.storageKey,s)}}async _removeSession(){this._debug("#_removeSession()"),this.suppressGetSessionWarning=!1,await Ze(this.storage,this.storageKey),await Ze(this.storage,this.storageKey+"-code-verifier"),await Ze(this.storage,this.storageKey+"-user"),this.userStorage&&await Ze(this.userStorage,this.storageKey+"-user"),await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");const t=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{t&&et()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",t)}catch(n){console.error("removing visibilitychange callback failed",n)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");const t=setInterval(()=>this._autoRefreshTokenTick(),Fi);this.autoRefreshTicker=t,t&&typeof t=="object"&&typeof t.unref=="function"?t.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(t);const n=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=n,n&&typeof n=="object"&&typeof n.unref=="function"?n.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(n)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const t=this.autoRefreshTicker;this.autoRefreshTicker=null,t&&clearInterval(t);const n=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,n&&clearTimeout(n)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{const t=Date.now();try{return await this._useSession(async n=>{const{data:{session:r}}=n;if(!r||!r.refresh_token||!r.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const s=Math.floor((r.expires_at*1e3-t)/Fi);this._debug("#_autoRefreshTokenTick()",`access token expires in ${s} ticks, a tick lasts ${Fi}ms, refresh threshold is ${Cp} ticks`),s<=Cp&&await this._callRefreshToken(r.refresh_token)})}catch(n){console.error("Auto refresh tick failed with error. This is likely a transient error.",n)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(t){if(t.isAcquireTimeout||t instanceof pE)this._debug("auto refresh token tick lock not available");else throw t}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!et()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(t){this._debug("#visibilityChangedCallback","error",t)}},window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(t){console.error("_handleVisibilityChange",t)}}async _onVisibilityChanged(t){const n=`#_onVisibilityChanged(${t})`;this._debug(n,"visibilityState",document.visibilityState),document.visibilityState==="visible"?(this.autoRefreshToken&&this._startAutoRefresh(),t||(await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!=="visible"){this._debug(n,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()}))):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(t,n,r){const s=[`provider=${encodeURIComponent(n)}`];if(r!=null&&r.redirectTo&&s.push(`redirect_to=${encodeURIComponent(r.redirectTo)}`),r!=null&&r.scopes&&s.push(`scopes=${encodeURIComponent(r.scopes)}`),this.flowType==="pkce"){const[i,a]=await Ci(this.storage,this.storageKey),l=new URLSearchParams({code_challenge:`${encodeURIComponent(i)}`,code_challenge_method:`${encodeURIComponent(a)}`});s.push(l.toString())}if(r!=null&&r.queryParams){const i=new URLSearchParams(r.queryParams);s.push(i.toString())}return r!=null&&r.skipBrowserRedirect&&s.push(`skip_http_redirect=${r.skipBrowserRedirect}`),`${t}?${s.join("&")}`}async _unenroll(t){try{return await this._useSession(async n=>{var r;const{data:s,error:i}=n;return i?this._returnResult({data:null,error:i}):await X(this.fetch,"DELETE",`${this.url}/factors/${t.factorId}`,{headers:this.headers,jwt:(r=s==null?void 0:s.session)===null||r===void 0?void 0:r.access_token})})}catch(n){if(q(n))return this._returnResult({data:null,error:n});throw n}}async _enroll(t){try{return await this._useSession(async n=>{var r,s;const{data:i,error:a}=n;if(a)return this._returnResult({data:null,error:a});const l=Object.assign({friendly_name:t.friendlyName,factor_type:t.factorType},t.factorType==="phone"?{phone:t.phone}:t.factorType==="totp"?{issuer:t.issuer}:{}),{data:c,error:u}=await X(this.fetch,"POST",`${this.url}/factors`,{body:l,headers:this.headers,jwt:(r=i==null?void 0:i.session)===null||r===void 0?void 0:r.access_token});return u?this._returnResult({data:null,error:u}):(t.factorType==="totp"&&c.type==="totp"&&(!((s=c==null?void 0:c.totp)===null||s===void 0)&&s.qr_code)&&(c.totp.qr_code=`data:image/svg+xml;utf-8,${c.totp.qr_code}`),this._returnResult({data:c,error:null}))})}catch(n){if(q(n))return this._returnResult({data:null,error:n});throw n}}async _verify(t){return this._acquireLock(this.lockAcquireTimeout,async()=>{try{return await this._useSession(async n=>{var r;const{data:s,error:i}=n;if(i)return this._returnResult({data:null,error:i});const a=Object.assign({challenge_id:t.challengeId},"webauthn"in t?{webauthn:Object.assign(Object.assign({},t.webauthn),{credential_response:t.webauthn.type==="create"?eV(t.webauthn.credential_response):tV(t.webauthn.credential_response)})}:{code:t.code}),{data:l,error:c}=await X(this.fetch,"POST",`${this.url}/factors/${t.factorId}/verify`,{body:a,headers:this.headers,jwt:(r=s==null?void 0:s.session)===null||r===void 0?void 0:r.access_token});return c?this._returnResult({data:null,error:c}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+l.expires_in},l)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",l),this._returnResult({data:l,error:c}))})}catch(n){if(q(n))return this._returnResult({data:null,error:n});throw n}})}async _challenge(t){return this._acquireLock(this.lockAcquireTimeout,async()=>{try{return await this._useSession(async n=>{var r;const{data:s,error:i}=n;if(i)return this._returnResult({data:null,error:i});const a=await X(this.fetch,"POST",`${this.url}/factors/${t.factorId}/challenge`,{body:t,headers:this.headers,jwt:(r=s==null?void 0:s.session)===null||r===void 0?void 0:r.access_token});if(a.error)return a;const{data:l}=a;if(l.type!=="webauthn")return{data:l,error:null};switch(l.webauthn.type){case"create":return{data:Object.assign(Object.assign({},l),{webauthn:Object.assign(Object.assign({},l.webauthn),{credential_options:Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:JU(l.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},l),{webauthn:Object.assign(Object.assign({},l.webauthn),{credential_options:Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:ZU(l.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(n){if(q(n))return this._returnResult({data:null,error:n});throw n}})}async _challengeAndVerify(t){const{data:n,error:r}=await this._challenge({factorId:t.factorId});return r?this._returnResult({data:null,error:r}):await this._verify({factorId:t.factorId,challengeId:n.id,code:t.code})}async _listFactors(){var t;const{data:{user:n},error:r}=await this.getUser();if(r)return{data:null,error:r};const s={all:[],phone:[],totp:[],webauthn:[]};for(const i of(t=n==null?void 0:n.factors)!==null&&t!==void 0?t:[])s.all.push(i),i.status==="verified"&&s[i.factor_type].push(i);return{data:s,error:null}}async _getAuthenticatorAssuranceLevel(t){var n,r,s,i;if(t)try{const{payload:m}=Dc(t);let w=null;m.aal&&(w=m.aal);let p=w;const{data:{user:y},error:g}=await this.getUser(t);if(g)return this._returnResult({data:null,error:g});((r=(n=y==null?void 0:y.factors)===null||n===void 0?void 0:n.filter(j=>j.status==="verified"))!==null&&r!==void 0?r:[]).length>0&&(p="aal2");const b=m.amr||[];return{data:{currentLevel:w,nextLevel:p,currentAuthenticationMethods:b},error:null}}catch(m){if(q(m))return this._returnResult({data:null,error:m});throw m}const{data:{session:a},error:l}=await this.getSession();if(l)return this._returnResult({data:null,error:l});if(!a)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:c}=Dc(a.access_token);let u=null;c.aal&&(u=c.aal);let d=u;((i=(s=a.user.factors)===null||s===void 0?void 0:s.filter(m=>m.status==="verified"))!==null&&i!==void 0?i:[]).length>0&&(d="aal2");const f=c.amr||[];return{data:{currentLevel:u,nextLevel:d,currentAuthenticationMethods:f},error:null}}async _getAuthorizationDetails(t){try{return await this._useSession(async n=>{const{data:{session:r},error:s}=n;return s?this._returnResult({data:null,error:s}):r?await X(this.fetch,"GET",`${this.url}/oauth/authorizations/${t}`,{headers:this.headers,jwt:r.access_token,xform:i=>({data:i,error:null})}):this._returnResult({data:null,error:new At})})}catch(n){if(q(n))return this._returnResult({data:null,error:n});throw n}}async _approveAuthorization(t,n){try{return await this._useSession(async r=>{const{data:{session:s},error:i}=r;if(i)return this._returnResult({data:null,error:i});if(!s)return this._returnResult({data:null,error:new At});const a=await X(this.fetch,"POST",`${this.url}/oauth/authorizations/${t}/consent`,{headers:this.headers,jwt:s.access_token,body:{action:"approve"},xform:l=>({data:l,error:null})});return a.data&&a.data.redirect_url&&et()&&!(n!=null&&n.skipBrowserRedirect)&&window.location.assign(a.data.redirect_url),a})}catch(r){if(q(r))return this._returnResult({data:null,error:r});throw r}}async _denyAuthorization(t,n){try{return await this._useSession(async r=>{const{data:{session:s},error:i}=r;if(i)return this._returnResult({data:null,error:i});if(!s)return this._returnResult({data:null,error:new At});const a=await X(this.fetch,"POST",`${this.url}/oauth/authorizations/${t}/consent`,{headers:this.headers,jwt:s.access_token,body:{action:"deny"},xform:l=>({data:l,error:null})});return a.data&&a.data.redirect_url&&et()&&!(n!=null&&n.skipBrowserRedirect)&&window.location.assign(a.data.redirect_url),a})}catch(r){if(q(r))return this._returnResult({data:null,error:r});throw r}}async _listOAuthGrants(){try{return await this._useSession(async t=>{const{data:{session:n},error:r}=t;return r?this._returnResult({data:null,error:r}):n?await X(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:n.access_token,xform:s=>({data:s,error:null})}):this._returnResult({data:null,error:new At})})}catch(t){if(q(t))return this._returnResult({data:null,error:t});throw t}}async _revokeOAuthGrant(t){try{return await this._useSession(async n=>{const{data:{session:r},error:s}=n;return s?this._returnResult({data:null,error:s}):r?(await X(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:r.access_token,query:{client_id:t.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new At})})}catch(n){if(q(n))return this._returnResult({data:null,error:n});throw n}}async fetchJwk(t,n={keys:[]}){let r=n.keys.find(l=>l.kid===t);if(r)return r;const s=Date.now();if(r=this.jwks.keys.find(l=>l.kid===t),r&&this.jwks_cached_at+cU>s)return r;const{data:i,error:a}=await X(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(a)throw a;return!i.keys||i.keys.length===0||(this.jwks=i,this.jwks_cached_at=s,r=i.keys.find(l=>l.kid===t),!r)?null:r}async getClaims(t,n={}){try{let r=t;if(!r){const{data:m,error:w}=await this.getSession();if(w||!m.session)return this._returnResult({data:null,error:w});r=m.session.access_token}const{header:s,payload:i,signature:a,raw:{header:l,payload:c}}=Dc(r);n!=null&&n.allowExpired||AU(i.exp);const u=!s.alg||s.alg.startsWith("HS")||!s.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(s.kid,n!=null&&n.keys?{keys:n.keys}:n==null?void 0:n.jwks);if(!u){const{error:m}=await this.getUser(r);if(m)throw m;return{data:{claims:i,header:s,signature:a},error:null}}const d=RU(s.alg),h=await crypto.subtle.importKey("jwk",u,d,!0,["verify"]);if(!await crypto.subtle.verify(d,h,a,vU(`${l}.${c}`)))throw new Pp("Invalid JWT signature");return{data:{claims:i,header:s,signature:a},error:null}}catch(r){if(q(r))return this._returnResult({data:null,error:r});throw r}}}_l.nextInstanceID={};const uV=_l,dV="2.93.2";let Pa="";typeof Deno<"u"?Pa="deno":typeof document<"u"?Pa="web":typeof navigator<"u"&&navigator.product==="ReactNative"?Pa="react-native":Pa="node";const hV={"X-Client-Info":`supabase-js-${Pa}/${dV}`},fV={headers:hV},mV={schema:"public"},pV={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},gV={};function Pl(e){"@babel/helpers - typeof";return Pl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pl(e)}function yV(e,t){if(Pl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(Pl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function vV(e){var t=yV(e,"string");return Pl(t)=="symbol"?t:t+""}function xV(e,t,n){return(t=vV(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function Le(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?vb(Object(n),!0).forEach(function(r){xV(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vb(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}const wV=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),bV=()=>Headers,jV=(e,t,n)=>{const r=wV(n),s=bV();return async(i,a)=>{var l;const c=(l=await t())!==null&&l!==void 0?l:e;let u=new s(a==null?void 0:a.headers);return u.has("apikey")||u.set("apikey",e),u.has("Authorization")||u.set("Authorization",`Bearer ${c}`),r(i,Le(Le({},a),{},{headers:u}))}};function SV(e){return e.endsWith("/")?e:e+"/"}function kV(e,t){var n,r;const{db:s,auth:i,realtime:a,global:l}=e,{db:c,auth:u,realtime:d,global:h}=t,f={db:Le(Le({},c),s),auth:Le(Le({},u),i),realtime:Le(Le({},d),a),storage:{},global:Le(Le(Le({},h),l),{},{headers:Le(Le({},(n=h==null?void 0:h.headers)!==null&&n!==void 0?n:{}),(r=l==null?void 0:l.headers)!==null&&r!==void 0?r:{})}),accessToken:async()=>""};return e.accessToken?f.accessToken=e.accessToken:delete f.accessToken,f}function NV(e){const t=e==null?void 0:e.trim();if(!t)throw new Error("supabaseUrl is required.");if(!t.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(SV(t))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var TV=class extends uV{constructor(e){super(e)}},CV=class{constructor(e,t,n){var r,s;this.supabaseUrl=e,this.supabaseKey=t;const i=NV(e);if(!t)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",i),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",i),this.storageUrl=new URL("storage/v1",i),this.functionsUrl=new URL("functions/v1",i);const a=`sb-${i.hostname.split(".")[0]}-auth-token`,l={db:mV,realtime:gV,auth:Le(Le({},pV),{},{storageKey:a}),global:fV},c=kV(n??{},l);if(this.storageKey=(r=c.auth.storageKey)!==null&&r!==void 0?r:"",this.headers=(s=c.global.headers)!==null&&s!==void 0?s:{},c.accessToken)this.accessToken=c.accessToken,this.auth=new Proxy({},{get:(d,h)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(h)} is not possible`)}});else{var u;this.auth=this._initSupabaseAuthClient((u=c.auth)!==null&&u!==void 0?u:{},this.headers,c.global.fetch)}this.fetch=jV(t,this._getAccessToken.bind(this),c.global.fetch),this.realtime=this._initRealtimeClient(Le({headers:this.headers,accessToken:this._getAccessToken.bind(this)},c.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(d=>this.realtime.setAuth(d)).catch(d=>console.warn("Failed to set initial Realtime auth token:",d)),this.rest=new uB(new URL("rest/v1",i).href,{headers:this.headers,schema:c.db.schema,fetch:this.fetch}),this.storage=new sU(this.storageUrl.href,this.headers,this.fetch,n==null?void 0:n.storage),c.accessToken||this._listenForAuthEvents()}get functions(){return new iB(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(e){return this.rest.from(e)}schema(e){return this.rest.schema(e)}rpc(e,t={},n={head:!1,get:!1,count:void 0}){return this.rest.rpc(e,t,n)}channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var e=this,t,n;if(e.accessToken)return await e.accessToken();const{data:r}=await e.auth.getSession();return(t=(n=r.session)===null||n===void 0?void 0:n.access_token)!==null&&t!==void 0?t:e.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,userStorage:s,storageKey:i,flowType:a,lock:l,debug:c,throwOnError:u},d,h){const f={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new TV({url:this.authUrl.href,headers:Le(Le({},f),d),storageKey:i,autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,userStorage:s,flowType:a,lock:l,debug:c,throwOnError:u,fetch:h,hasCustomAuthorizationHeader:Object.keys(this.headers).some(m=>m.toLowerCase()==="authorization")})}_initRealtimeClient(e){return new CB(this.realtimeUrl.href,Le(Le({},e),{},{params:Le(Le({},{apikey:this.supabaseKey}),e==null?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((e,t)=>{this._handleTokenChanged(e,"CLIENT",t==null?void 0:t.access_token)})}_handleTokenChanged(e,t,n){(e==="TOKEN_REFRESHED"||e==="SIGNED_IN")&&this.changedAccessToken!==n?(this.changedAccessToken=n,this.realtime.setAuth(n)):e==="SIGNED_OUT"&&(this.realtime.setAuth(),t=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};const EV=(e,t,n)=>new CV(e,t,n);function _V(){if(typeof window<"u")return!1;const e=globalThis.process;if(!e)return!1;const t=e.version;if(t==null)return!1;const n=t.match(/^v(\d+)\./);return n?parseInt(n[1],10)<=18:!1}_V()&&console.warn("⚠️  Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");const PV="https://wpbapdekyqazxmbeswwm.supabase.co",AV="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6IndwYmFwZGVreXFhenhtYmVzd3dtIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzYwMzkyMzUsImV4cCI6MjA5MTYxNTIzNX0.mVFFZDK8zkwgKffZZp2fiFEE__owv0pnGv-4Wm3V048",gt=EV(PV,AV,{auth:{storage:localStorage,persistSession:!0,autoRefreshToken:!0}});function Kd(){const[e,t]=x.useState(null),[n,r]=x.useState(null),[s,i]=x.useState(!0),[a,l]=x.useState(!1);return x.useEffect(()=>{const{data:{subscription:h}}=gt.auth.onAuthStateChange(async(f,m)=>{if(r(m),t((m==null?void 0:m.user)??null),m!=null&&m.user){const{data:w}=await gt.from("user_roles").select("role").eq("user_id",m.user.id).eq("role","admin").maybeSingle();l(!!w)}else l(!1);i(!1)});return gt.auth.getSession().then(({data:{session:f}})=>{r(f),t((f==null?void 0:f.user)??null),f!=null&&f.user?gt.from("user_roles").select("role").eq("user_id",f.user.id).eq("role","admin").maybeSingle().then(({data:m})=>{l(!!m),i(!1)}):i(!1)}),()=>h.unsubscribe()},[]),{user:e,session:n,isLoading:s,isAdmin:a,signIn:async(h,f)=>{const{error:m}=await gt.auth.signInWithPassword({email:h,password:f});return{error:m}},signUp:async(h,f)=>{const{error:m}=await gt.auth.signUp({email:h,password:f,options:{emailRedirectTo:window.location.origin}});return{error:m}},signOut:async()=>{await gt.auth.signOut(),t(null),r(null),l(!1)}}}const RV=()=>{const e=Kl(),{toast:t}=xs(),{user:n,isLoading:r,isAdmin:s,signIn:i,signUp:a}=Kd(),[l,c]=x.useState(""),[u,d]=x.useState(""),[h,f]=x.useState(""),[m,w]=x.useState(""),[p,y]=x.useState(""),[g,v]=x.useState(!1);x.useEffect(()=>{!r&&n&&s&&e("/admin/blog")},[n,r,s,e]);const b=async S=>{S.preventDefault(),v(!0);const{error:k}=await i(l,u);t(k?{variant:"destructive",title:"Login failed",description:k.message}:{title:"Welcome back!",description:"You have successfully logged in."}),v(!1)},j=async S=>{if(S.preventDefault(),m!==p){t({variant:"destructive",title:"Passwords don't match",description:"Please make sure your passwords match."});return}if(m.length<6){t({variant:"destructive",title:"Password too short",description:"Password must be at least 6 characters."});return}v(!0);const{error:k}=await a(h,m);t(k?{variant:"destructive",title:"Registration failed",description:k.message}:{title:"Registration successful!",description:"Please check your email to verify your account."}),v(!1)};return r?o.jsx(ae,{children:o.jsx("div",{className:"min-h-[60vh] flex items-center justify-center",children:o.jsx("div",{className:"animate-pulse text-muted-foreground",children:"Loading..."})})}):o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Sign In | Marla Singer Realty"}),o.jsx("meta",{name:"description",content:"Sign in to access your account and manage blog content."})]}),o.jsx("div",{className:"section-padding",children:o.jsx("div",{className:"container-luxury max-w-md",children:o.jsxs(Dn,{className:"border-border",children:[o.jsxs(ls,{className:"text-center",children:[o.jsx(cs,{className:"heading-card",children:"Welcome"}),o.jsx(fo,{children:"Sign in to access the admin dashboard"})]}),o.jsx(Ln,{children:o.jsxs(BC,{defaultValue:"login",className:"w-full",children:[o.jsxs(Wy,{className:"grid w-full grid-cols-2",children:[o.jsx(Sl,{value:"login",children:"Sign In"}),o.jsx(Sl,{value:"register",children:"Sign Up"})]}),o.jsx(kl,{value:"login",className:"mt-6",children:o.jsxs("form",{onSubmit:b,className:"space-y-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"login-email",children:"Email"}),o.jsx(ne,{id:"login-email",type:"email",placeholder:"you@example.com",value:l,onChange:S=>c(S.target.value),required:!0})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"login-password",children:"Password"}),o.jsx(ne,{id:"login-password",type:"password",placeholder:"••••••••",value:u,onChange:S=>d(S.target.value),required:!0})]}),o.jsx(ge,{type:"submit",className:"w-full",disabled:g,children:g?"Signing in...":"Sign In"})]})}),o.jsx(kl,{value:"register",className:"mt-6",children:o.jsxs("form",{onSubmit:j,className:"space-y-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"register-email",children:"Email"}),o.jsx(ne,{id:"register-email",type:"email",placeholder:"you@example.com",value:h,onChange:S=>f(S.target.value),required:!0})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"register-password",children:"Password"}),o.jsx(ne,{id:"register-password",type:"password",placeholder:"••••••••",value:m,onChange:S=>w(S.target.value),required:!0})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"confirm-password",children:"Confirm Password"}),o.jsx(ne,{id:"confirm-password",type:"password",placeholder:"••••••••",value:p,onChange:S=>y(S.target.value),required:!0})]}),o.jsx(ge,{type:"submit",className:"w-full",disabled:g,children:g?"Creating account...":"Create Account"})]})})]})})]})})})]})};var Gd="Switch",[IV,zH]=Zt(Gd),[OV,FV]=IV(Gd),vE=x.forwardRef((e,t)=>{const{__scopeSwitch:n,name:r,checked:s,defaultChecked:i,required:a,disabled:l,value:c="on",onCheckedChange:u,form:d,...h}=e,[f,m]=x.useState(null),w=Pe(t,b=>m(b)),p=x.useRef(!1),y=f?d||!!f.closest("form"):!0,[g,v]=dr({prop:s,defaultProp:i??!1,onChange:u,caller:Gd});return o.jsxs(OV,{scope:n,checked:g,disabled:l,children:[o.jsx(le.button,{type:"button",role:"switch","aria-checked":g,"aria-required":a,"data-state":jE(g),"data-disabled":l?"":void 0,disabled:l,value:c,...h,ref:w,onClick:oe(e.onClick,b=>{v(j=>!j),y&&(p.current=b.isPropagationStopped(),p.current||b.stopPropagation())})}),y&&o.jsx(bE,{control:f,bubbles:!p.current,name:r,value:c,checked:g,required:a,disabled:l,form:d,style:{transform:"translateX(-100%)"}})]})});vE.displayName=Gd;var xE="SwitchThumb",wE=x.forwardRef((e,t)=>{const{__scopeSwitch:n,...r}=e,s=FV(xE,n);return o.jsx(le.span,{"data-state":jE(s.checked),"data-disabled":s.disabled?"":void 0,...r,ref:t})});wE.displayName=xE;var MV="SwitchBubbleInput",bE=x.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...s},i)=>{const a=x.useRef(null),l=Pe(a,i),c=VC(n),u=qg(t);return x.useEffect(()=>{const d=a.current;if(!d)return;const h=window.HTMLInputElement.prototype,m=Object.getOwnPropertyDescriptor(h,"checked").set;if(c!==n&&m){const w=new Event("click",{bubbles:r});m.call(d,n),d.dispatchEvent(w)}},[c,n,r]),o.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...s,tabIndex:-1,ref:l,style:{...s.style,...u,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});bE.displayName=MV;function jE(e){return e?"checked":"unchecked"}var SE=vE,DV=wE;const kE=x.forwardRef(({className:e,...t},n)=>o.jsx(SE,{className:J("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50",e),...t,ref:n,children:o.jsx(DV,{className:J("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));kE.displayName=SE.displayName;var gf="focusScope.autoFocusOnMount",yf="focusScope.autoFocusOnUnmount",xb={bubbles:!1,cancelable:!0},LV="FocusScope",NE=x.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:s,onUnmountAutoFocus:i,...a}=e,[l,c]=x.useState(null),u=xn(s),d=xn(i),h=x.useRef(null),f=Pe(t,p=>c(p)),m=x.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;x.useEffect(()=>{if(r){let p=function(b){if(m.paused||!l)return;const j=b.target;l.contains(j)?h.current=j:Pr(h.current,{select:!0})},y=function(b){if(m.paused||!l)return;const j=b.relatedTarget;j!==null&&(l.contains(j)||Pr(h.current,{select:!0}))},g=function(b){if(document.activeElement===document.body)for(const S of b)S.removedNodes.length>0&&Pr(l)};document.addEventListener("focusin",p),document.addEventListener("focusout",y);const v=new MutationObserver(g);return l&&v.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",p),document.removeEventListener("focusout",y),v.disconnect()}}},[r,l,m.paused]),x.useEffect(()=>{if(l){bb.add(m);const p=document.activeElement;if(!l.contains(p)){const g=new CustomEvent(gf,xb);l.addEventListener(gf,u),l.dispatchEvent(g),g.defaultPrevented||($V(HV(TE(l)),{select:!0}),document.activeElement===p&&Pr(l))}return()=>{l.removeEventListener(gf,u),setTimeout(()=>{const g=new CustomEvent(yf,xb);l.addEventListener(yf,d),l.dispatchEvent(g),g.defaultPrevented||Pr(p??document.body,{select:!0}),l.removeEventListener(yf,d),bb.remove(m)},0)}}},[l,u,d,m]);const w=x.useCallback(p=>{if(!n&&!r||m.paused)return;const y=p.key==="Tab"&&!p.altKey&&!p.ctrlKey&&!p.metaKey,g=document.activeElement;if(y&&g){const v=p.currentTarget,[b,j]=BV(v);b&&j?!p.shiftKey&&g===j?(p.preventDefault(),n&&Pr(b,{select:!0})):p.shiftKey&&g===b&&(p.preventDefault(),n&&Pr(j,{select:!0})):g===v&&p.preventDefault()}},[n,r,m.paused]);return o.jsx(le.div,{tabIndex:-1,...a,ref:f,onKeyDown:w})});NE.displayName=LV;function $V(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(Pr(r,{select:t}),document.activeElement!==n)return}function BV(e){const t=TE(e),n=wb(t,e),r=wb(t.reverse(),e);return[n,r]}function TE(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const s=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||s?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function wb(e,t){for(const n of e)if(!UV(n,{upTo:t}))return n}function UV(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function VV(e){return e instanceof HTMLInputElement&&"select"in e}function Pr(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&VV(e)&&t&&e.select()}}var bb=zV();function zV(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=jb(e,t),e.unshift(t)},remove(t){var n;e=jb(e,t),(n=e[0])==null||n.resume()}}}function jb(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function HV(e){return e.filter(t=>t.tagName!=="A")}var vf=0;function WV(){x.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??Sb()),document.body.insertAdjacentElement("beforeend",e[1]??Sb()),vf++,()=>{vf===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),vf--}},[])}function Sb(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var hu="right-scroll-bar-position",fu="width-before-scroll-bar",qV="with-scroll-bars-hidden",KV="--removed-body-scroll-bar-size";function xf(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function GV(e,t){var n=x.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var s=n.value;s!==r&&(n.value=r,n.callback(r,s))}}}})[0];return n.callback=t,n.facade}var YV=typeof window<"u"?x.useLayoutEffect:x.useEffect,kb=new WeakMap;function QV(e,t){var n=GV(null,function(r){return e.forEach(function(s){return xf(s,r)})});return YV(function(){var r=kb.get(n);if(r){var s=new Set(r),i=new Set(e),a=n.current;s.forEach(function(l){i.has(l)||xf(l,null)}),i.forEach(function(l){s.has(l)||xf(l,a)})}kb.set(n,e)},[e]),n}function XV(e){return e}function JV(e,t){t===void 0&&(t=XV);var n=[],r=!1,s={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(i){var a=t(i,r);return n.push(a),function(){n=n.filter(function(l){return l!==a})}},assignSyncMedium:function(i){for(r=!0;n.length;){var a=n;n=[],a.forEach(i)}n={push:function(l){return i(l)},filter:function(){return n}}},assignMedium:function(i){r=!0;var a=[];if(n.length){var l=n;n=[],l.forEach(i),a=n}var c=function(){var d=a;a=[],d.forEach(i)},u=function(){return Promise.resolve().then(c)};u(),n={push:function(d){a.push(d),u()},filter:function(d){return a=a.filter(d),n}}}};return s}function ZV(e){e===void 0&&(e={});var t=JV(null);return t.options=Pn({async:!0,ssr:!1},e),t}var CE=function(e){var t=e.sideCar,n=ta(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return x.createElement(r,Pn({},n))};CE.isSideCarExport=!0;function e8(e,t){return e.useMedium(t),CE}var EE=ZV(),wf=function(){},Yd=x.forwardRef(function(e,t){var n=x.useRef(null),r=x.useState({onScrollCapture:wf,onWheelCapture:wf,onTouchMoveCapture:wf}),s=r[0],i=r[1],a=e.forwardProps,l=e.children,c=e.className,u=e.removeScrollBar,d=e.enabled,h=e.shards,f=e.sideCar,m=e.noRelative,w=e.noIsolation,p=e.inert,y=e.allowPinchZoom,g=e.as,v=g===void 0?"div":g,b=e.gapMode,j=ta(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),S=f,k=QV([n,t]),T=Pn(Pn({},j),s);return x.createElement(x.Fragment,null,d&&x.createElement(S,{sideCar:EE,removeScrollBar:u,shards:h,noRelative:m,noIsolation:w,inert:p,setCallbacks:i,allowPinchZoom:!!y,lockRef:n,gapMode:b}),a?x.cloneElement(x.Children.only(l),Pn(Pn({},T),{ref:k})):x.createElement(v,Pn({},T,{className:c,ref:k}),l))});Yd.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Yd.classNames={fullWidth:fu,zeroRight:hu};var t8=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function n8(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=t8();return t&&e.setAttribute("nonce",t),e}function r8(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function s8(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var i8=function(){var e=0,t=null;return{add:function(n){e==0&&(t=n8())&&(r8(t,n),s8(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},o8=function(){var e=i8();return function(t,n){x.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},_E=function(){var e=o8(),t=function(n){var r=n.styles,s=n.dynamic;return e(r,s),null};return t},a8={left:0,top:0,right:0,gap:0},bf=function(e){return parseInt(e||"",10)||0},l8=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],s=t[e==="padding"?"paddingRight":"marginRight"];return[bf(n),bf(r),bf(s)]},c8=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return a8;var t=l8(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},u8=_E(),po="data-scroll-locked",d8=function(e,t,n,r){var s=e.left,i=e.top,a=e.right,l=e.gap;return n===void 0&&(n="margin"),`
  .`.concat(qV,` {
   overflow: hidden `).concat(r,`;
   padding-right: `).concat(l,"px ").concat(r,`;
  }
  body[`).concat(po,`] {
    overflow: hidden `).concat(r,`;
    overscroll-behavior: contain;
    `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&`
    padding-left: `.concat(s,`px;
    padding-top: `).concat(i,`px;
    padding-right: `).concat(a,`px;
    margin-left:0;
    margin-top:0;
    margin-right: `).concat(l,"px ").concat(r,`;
    `),n==="padding"&&"padding-right: ".concat(l,"px ").concat(r,";")].filter(Boolean).join(""),`
  }
  
  .`).concat(hu,` {
    right: `).concat(l,"px ").concat(r,`;
  }
  
  .`).concat(fu,` {
    margin-right: `).concat(l,"px ").concat(r,`;
  }
  
  .`).concat(hu," .").concat(hu,` {
    right: 0 `).concat(r,`;
  }
  
  .`).concat(fu," .").concat(fu,` {
    margin-right: 0 `).concat(r,`;
  }
  
  body[`).concat(po,`] {
    `).concat(KV,": ").concat(l,`px;
  }
`)},Nb=function(){var e=parseInt(document.body.getAttribute(po)||"0",10);return isFinite(e)?e:0},h8=function(){x.useEffect(function(){return document.body.setAttribute(po,(Nb()+1).toString()),function(){var e=Nb()-1;e<=0?document.body.removeAttribute(po):document.body.setAttribute(po,e.toString())}},[])},f8=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,s=r===void 0?"margin":r;h8();var i=x.useMemo(function(){return c8(s)},[s]);return x.createElement(u8,{styles:d8(i,!t,s,n?"":"!important")})},Ap=!1;if(typeof window<"u")try{var Lc=Object.defineProperty({},"passive",{get:function(){return Ap=!0,!0}});window.addEventListener("test",Lc,Lc),window.removeEventListener("test",Lc,Lc)}catch{Ap=!1}var Ai=Ap?{passive:!1}:!1,m8=function(e){return e.tagName==="TEXTAREA"},PE=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!m8(e)&&n[t]==="visible")},p8=function(e){return PE(e,"overflowY")},g8=function(e){return PE(e,"overflowX")},Tb=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var s=AE(e,r);if(s){var i=RE(e,r),a=i[1],l=i[2];if(a>l)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},y8=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},v8=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},AE=function(e,t){return e==="v"?p8(t):g8(t)},RE=function(e,t){return e==="v"?y8(t):v8(t)},x8=function(e,t){return e==="h"&&t==="rtl"?-1:1},w8=function(e,t,n,r,s){var i=x8(e,window.getComputedStyle(t).direction),a=i*r,l=n.target,c=t.contains(l),u=!1,d=a>0,h=0,f=0;do{if(!l)break;var m=RE(e,l),w=m[0],p=m[1],y=m[2],g=p-y-i*w;(w||g)&&AE(e,l)&&(h+=g,f+=w);var v=l.parentNode;l=v&&v.nodeType===Node.DOCUMENT_FRAGMENT_NODE?v.host:v}while(!c&&l!==document.body||c&&(t.contains(l)||t===l));return(d&&(Math.abs(h)<1||!s)||!d&&(Math.abs(f)<1||!s))&&(u=!0),u},$c=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Cb=function(e){return[e.deltaX,e.deltaY]},Eb=function(e){return e&&"current"in e?e.current:e},b8=function(e,t){return e[0]===t[0]&&e[1]===t[1]},j8=function(e){return`
  .block-interactivity-`.concat(e,` {pointer-events: none;}
  .allow-interactivity-`).concat(e,` {pointer-events: all;}
`)},S8=0,Ri=[];function k8(e){var t=x.useRef([]),n=x.useRef([0,0]),r=x.useRef(),s=x.useState(S8++)[0],i=x.useState(_E)[0],a=x.useRef(e);x.useEffect(function(){a.current=e},[e]),x.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(s));var p=nB([e.lockRef.current],(e.shards||[]).map(Eb),!0).filter(Boolean);return p.forEach(function(y){return y.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),p.forEach(function(y){return y.classList.remove("allow-interactivity-".concat(s))})}}},[e.inert,e.lockRef.current,e.shards]);var l=x.useCallback(function(p,y){if("touches"in p&&p.touches.length===2||p.type==="wheel"&&p.ctrlKey)return!a.current.allowPinchZoom;var g=$c(p),v=n.current,b="deltaX"in p?p.deltaX:v[0]-g[0],j="deltaY"in p?p.deltaY:v[1]-g[1],S,k=p.target,T=Math.abs(b)>Math.abs(j)?"h":"v";if("touches"in p&&T==="h"&&k.type==="range")return!1;var C=Tb(T,k);if(!C)return!0;if(C?S=T:(S=T==="v"?"h":"v",C=Tb(T,k)),!C)return!1;if(!r.current&&"changedTouches"in p&&(b||j)&&(r.current=S),!S)return!0;var P=r.current||S;return w8(P,y,p,P==="h"?b:j,!0)},[]),c=x.useCallback(function(p){var y=p;if(!(!Ri.length||Ri[Ri.length-1]!==i)){var g="deltaY"in y?Cb(y):$c(y),v=t.current.filter(function(S){return S.name===y.type&&(S.target===y.target||y.target===S.shadowParent)&&b8(S.delta,g)})[0];if(v&&v.should){y.cancelable&&y.preventDefault();return}if(!v){var b=(a.current.shards||[]).map(Eb).filter(Boolean).filter(function(S){return S.contains(y.target)}),j=b.length>0?l(y,b[0]):!a.current.noIsolation;j&&y.cancelable&&y.preventDefault()}}},[]),u=x.useCallback(function(p,y,g,v){var b={name:p,delta:y,target:g,should:v,shadowParent:N8(g)};t.current.push(b),setTimeout(function(){t.current=t.current.filter(function(j){return j!==b})},1)},[]),d=x.useCallback(function(p){n.current=$c(p),r.current=void 0},[]),h=x.useCallback(function(p){u(p.type,Cb(p),p.target,l(p,e.lockRef.current))},[]),f=x.useCallback(function(p){u(p.type,$c(p),p.target,l(p,e.lockRef.current))},[]);x.useEffect(function(){return Ri.push(i),e.setCallbacks({onScrollCapture:h,onWheelCapture:h,onTouchMoveCapture:f}),document.addEventListener("wheel",c,Ai),document.addEventListener("touchmove",c,Ai),document.addEventListener("touchstart",d,Ai),function(){Ri=Ri.filter(function(p){return p!==i}),document.removeEventListener("wheel",c,Ai),document.removeEventListener("touchmove",c,Ai),document.removeEventListener("touchstart",d,Ai)}},[]);var m=e.removeScrollBar,w=e.inert;return x.createElement(x.Fragment,null,w?x.createElement(i,{styles:j8(s)}):null,m?x.createElement(f8,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function N8(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const T8=e8(EE,k8);var IE=x.forwardRef(function(e,t){return x.createElement(Yd,Pn({},e,{ref:t,sideCar:T8}))});IE.classNames=Yd.classNames;var C8=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Ii=new WeakMap,Bc=new WeakMap,Uc={},jf=0,OE=function(e){return e&&(e.host||OE(e.parentNode))},E8=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=OE(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},_8=function(e,t,n,r){var s=E8(t,Array.isArray(e)?e:[e]);Uc[n]||(Uc[n]=new WeakMap);var i=Uc[n],a=[],l=new Set,c=new Set(s),u=function(h){!h||l.has(h)||(l.add(h),u(h.parentNode))};s.forEach(u);var d=function(h){!h||c.has(h)||Array.prototype.forEach.call(h.children,function(f){if(l.has(f))d(f);else try{var m=f.getAttribute(r),w=m!==null&&m!=="false",p=(Ii.get(f)||0)+1,y=(i.get(f)||0)+1;Ii.set(f,p),i.set(f,y),a.push(f),p===1&&w&&Bc.set(f,!0),y===1&&f.setAttribute(n,"true"),w||f.setAttribute(r,"true")}catch(g){console.error("aria-hidden: cannot operate on ",f,g)}})};return d(t),l.clear(),jf++,function(){a.forEach(function(h){var f=Ii.get(h)-1,m=i.get(h)-1;Ii.set(h,f),i.set(h,m),f||(Bc.has(h)||h.removeAttribute(r),Bc.delete(h)),m||h.removeAttribute(n)}),jf--,jf||(Ii=new WeakMap,Ii=new WeakMap,Bc=new WeakMap,Uc={})}},P8=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),s=C8(e);return s?(r.push.apply(r,Array.from(s.querySelectorAll("[aria-live]"))),_8(r,s,n,"aria-hidden")):function(){return null}},Qd="Dialog",[FE,ME]=Zt(Qd),[A8,Sn]=FE(Qd),DE=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:s,onOpenChange:i,modal:a=!0}=e,l=x.useRef(null),c=x.useRef(null),[u,d]=dr({prop:r,defaultProp:s??!1,onChange:i,caller:Qd});return o.jsx(A8,{scope:t,triggerRef:l,contentRef:c,contentId:ni(),titleId:ni(),descriptionId:ni(),open:u,onOpenChange:d,onOpenToggle:x.useCallback(()=>d(h=>!h),[d]),modal:a,children:n})};DE.displayName=Qd;var LE="DialogTrigger",$E=x.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=Sn(LE,n),i=Pe(t,s.triggerRef);return o.jsx(le.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":Zy(s.open),...r,ref:i,onClick:oe(e.onClick,s.onOpenToggle)})});$E.displayName=LE;var Xy="DialogPortal",[R8,BE]=FE(Xy,{forceMount:void 0}),UE=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:s}=e,i=Sn(Xy,t);return o.jsx(R8,{scope:t,forceMount:n,children:x.Children.map(r,a=>o.jsx(ur,{present:n||i.open,children:o.jsx(Eg,{asChild:!0,container:s,children:a})}))})};UE.displayName=Xy;var ad="DialogOverlay",VE=x.forwardRef((e,t)=>{const n=BE(ad,e.__scopeDialog),{forceMount:r=n.forceMount,...s}=e,i=Sn(ad,e.__scopeDialog);return i.modal?o.jsx(ur,{present:r||i.open,children:o.jsx(O8,{...s,ref:t})}):null});VE.displayName=ad;var I8=dl("DialogOverlay.RemoveScroll"),O8=x.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=Sn(ad,n);return o.jsx(IE,{as:I8,allowPinchZoom:!0,shards:[s.contentRef],children:o.jsx(le.div,{"data-state":Zy(s.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),hi="DialogContent",zE=x.forwardRef((e,t)=>{const n=BE(hi,e.__scopeDialog),{forceMount:r=n.forceMount,...s}=e,i=Sn(hi,e.__scopeDialog);return o.jsx(ur,{present:r||i.open,children:i.modal?o.jsx(F8,{...s,ref:t}):o.jsx(M8,{...s,ref:t})})});zE.displayName=hi;var F8=x.forwardRef((e,t)=>{const n=Sn(hi,e.__scopeDialog),r=x.useRef(null),s=Pe(t,n.contentRef,r);return x.useEffect(()=>{const i=r.current;if(i)return P8(i)},[]),o.jsx(HE,{...e,ref:s,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:oe(e.onCloseAutoFocus,i=>{var a;i.preventDefault(),(a=n.triggerRef.current)==null||a.focus()}),onPointerDownOutside:oe(e.onPointerDownOutside,i=>{const a=i.detail.originalEvent,l=a.button===0&&a.ctrlKey===!0;(a.button===2||l)&&i.preventDefault()}),onFocusOutside:oe(e.onFocusOutside,i=>i.preventDefault())})}),M8=x.forwardRef((e,t)=>{const n=Sn(hi,e.__scopeDialog),r=x.useRef(!1),s=x.useRef(!1);return o.jsx(HE,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var a,l;(a=e.onCloseAutoFocus)==null||a.call(e,i),i.defaultPrevented||(r.current||(l=n.triggerRef.current)==null||l.focus(),i.preventDefault()),r.current=!1,s.current=!1},onInteractOutside:i=>{var c,u;(c=e.onInteractOutside)==null||c.call(e,i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const a=i.target;((u=n.triggerRef.current)==null?void 0:u.contains(a))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&s.current&&i.preventDefault()}})}),HE=x.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:i,...a}=e,l=Sn(hi,n),c=x.useRef(null),u=Pe(t,c);return WV(),o.jsxs(o.Fragment,{children:[o.jsx(NE,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:s,onUnmountAutoFocus:i,children:o.jsx(kd,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":Zy(l.open),...a,ref:u,onDismiss:()=>l.onOpenChange(!1)})}),o.jsxs(o.Fragment,{children:[o.jsx(L8,{titleId:l.titleId}),o.jsx(B8,{contentRef:c,descriptionId:l.descriptionId})]})]})}),Jy="DialogTitle",WE=x.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=Sn(Jy,n);return o.jsx(le.h2,{id:s.titleId,...r,ref:t})});WE.displayName=Jy;var qE="DialogDescription",KE=x.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=Sn(qE,n);return o.jsx(le.p,{id:s.descriptionId,...r,ref:t})});KE.displayName=qE;var GE="DialogClose",YE=x.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=Sn(GE,n);return o.jsx(le.button,{type:"button",...r,ref:t,onClick:oe(e.onClick,()=>s.onOpenChange(!1))})});YE.displayName=GE;function Zy(e){return e?"open":"closed"}var QE="DialogTitleWarning",[D8,XE]=kA(QE,{contentName:hi,titleName:Jy,docsSlug:"dialog"}),L8=({titleId:e})=>{const t=XE(QE),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.

If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.

For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return x.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},$8="DialogDescriptionWarning",B8=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${XE($8).contentName}}.`;return x.useEffect(()=>{var i;const s=(i=e.current)==null?void 0:i.getAttribute("aria-describedby");t&&s&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},JE=DE,U8=$E,ZE=UE,ev=VE,tv=zE,nv=WE,rv=KE,sv=YE;const e_=JE,V8=ZE,t_=x.forwardRef(({className:e,...t},n)=>o.jsx(ev,{ref:n,className:J("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));t_.displayName=ev.displayName;const iv=x.forwardRef(({className:e,children:t,...n},r)=>o.jsxs(V8,{children:[o.jsx(t_,{}),o.jsxs(tv,{ref:r,className:J("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...n,children:[t,o.jsxs(sv,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-accent data-[state=open]:text-muted-foreground hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",children:[o.jsx(Dg,{className:"h-4 w-4"}),o.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));iv.displayName=tv.displayName;const ov=({className:e,...t})=>o.jsx("div",{className:J("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});ov.displayName="DialogHeader";const n_=({className:e,...t})=>o.jsx("div",{className:J("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});n_.displayName="DialogFooter";const av=x.forwardRef(({className:e,...t},n)=>o.jsx(nv,{ref:n,className:J("text-lg font-semibold leading-none tracking-tight",e),...t}));av.displayName=nv.displayName;const z8=x.forwardRef(({className:e,...t},n)=>o.jsx(rv,{ref:n,className:J("text-sm text-muted-foreground",e),...t}));z8.displayName=rv.displayName;const r_=x.forwardRef(({className:e,...t},n)=>o.jsx("div",{className:"relative w-full overflow-auto",children:o.jsx("table",{ref:n,className:J("w-full caption-bottom text-sm",e),...t})}));r_.displayName="Table";const s_=x.forwardRef(({className:e,...t},n)=>o.jsx("thead",{ref:n,className:J("[&_tr]:border-b",e),...t}));s_.displayName="TableHeader";const i_=x.forwardRef(({className:e,...t},n)=>o.jsx("tbody",{ref:n,className:J("[&_tr:last-child]:border-0",e),...t}));i_.displayName="TableBody";const H8=x.forwardRef(({className:e,...t},n)=>o.jsx("tfoot",{ref:n,className:J("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));H8.displayName="TableFooter";const mu=x.forwardRef(({className:e,...t},n)=>o.jsx("tr",{ref:n,className:J("border-b transition-colors data-[state=selected]:bg-muted hover:bg-muted/50",e),...t}));mu.displayName="TableRow";const Di=x.forwardRef(({className:e,...t},n)=>o.jsx("th",{ref:n,className:J("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));Di.displayName="TableHead";const Os=x.forwardRef(({className:e,...t},n)=>o.jsx("td",{ref:n,className:J("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));Os.displayName="TableCell";const W8=x.forwardRef(({className:e,...t},n)=>o.jsx("caption",{ref:n,className:J("mt-4 text-sm text-muted-foreground",e),...t}));W8.displayName="TableCaption";const q8="https://wpbapdekyqazxmbeswwm.supabase.co",Xd=`${q8}/functions/v1/blog-api`;async function Jd(){return localStorage.getItem("blog_api_key")||""}function K8(){return Wl({queryKey:["blog-posts","all"],queryFn:async()=>{const e=await Jd(),t=await fetch(Xd,{headers:{"x-api-key":e,"Content-Type":"application/json"}});if(!t.ok)throw new Error("Failed to fetch posts");return t.json()}})}function G8(){const e=Hl();return Zg({mutationFn:async t=>{const n=await Jd(),r=await fetch(Xd,{method:"POST",headers:{"x-api-key":n,"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){const s=await r.json();throw new Error(s.error||"Failed to create post")}return r.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["blog-posts"]})}})}function Y8(){const e=Hl();return Zg({mutationFn:async({slug:t,data:n})=>{const r=await Jd(),s=await fetch(`${Xd}/${t}`,{method:"PUT",headers:{"x-api-key":r,"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok){const i=await s.json();throw new Error(i.error||"Failed to update post")}return s.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["blog-posts"]}),e.invalidateQueries({queryKey:["blog-post"]})}})}function Q8(){const e=Hl();return Zg({mutationFn:async t=>{const n=await Jd(),r=await fetch(`${Xd}/${t}`,{method:"DELETE",headers:{"x-api-key":n,"Content-Type":"application/json"}});if(!r.ok){const s=await r.json();throw new Error(s.error||"Failed to delete post")}return r.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["blog-posts"]})}})}var o_="AlertDialog",[X8,HH]=Zt(o_,[ME]),gr=ME(),a_=e=>{const{__scopeAlertDialog:t,...n}=e,r=gr(t);return o.jsx(JE,{...r,...n,modal:!0})};a_.displayName=o_;var J8="AlertDialogTrigger",Z8=x.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,s=gr(n);return o.jsx(U8,{...s,...r,ref:t})});Z8.displayName=J8;var ez="AlertDialogPortal",l_=e=>{const{__scopeAlertDialog:t,...n}=e,r=gr(t);return o.jsx(ZE,{...r,...n})};l_.displayName=ez;var tz="AlertDialogOverlay",c_=x.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,s=gr(n);return o.jsx(ev,{...s,...r,ref:t})});c_.displayName=tz;var go="AlertDialogContent",[nz,rz]=X8(go),sz=uS("AlertDialogContent"),u_=x.forwardRef((e,t)=>{const{__scopeAlertDialog:n,children:r,...s}=e,i=gr(n),a=x.useRef(null),l=Pe(t,a),c=x.useRef(null);return o.jsx(D8,{contentName:go,titleName:d_,docsSlug:"alert-dialog",children:o.jsx(nz,{scope:n,cancelRef:c,children:o.jsxs(tv,{role:"alertdialog",...i,...s,ref:l,onOpenAutoFocus:oe(s.onOpenAutoFocus,u=>{var d;u.preventDefault(),(d=c.current)==null||d.focus({preventScroll:!0})}),onPointerDownOutside:u=>u.preventDefault(),onInteractOutside:u=>u.preventDefault(),children:[o.jsx(sz,{children:r}),o.jsx(oz,{contentRef:a})]})})})});u_.displayName=go;var d_="AlertDialogTitle",h_=x.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,s=gr(n);return o.jsx(nv,{...s,...r,ref:t})});h_.displayName=d_;var f_="AlertDialogDescription",m_=x.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,s=gr(n);return o.jsx(rv,{...s,...r,ref:t})});m_.displayName=f_;var iz="AlertDialogAction",p_=x.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,s=gr(n);return o.jsx(sv,{...s,...r,ref:t})});p_.displayName=iz;var g_="AlertDialogCancel",y_=x.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,{cancelRef:s}=rz(g_,n),i=gr(n),a=Pe(t,s);return o.jsx(sv,{...i,...r,ref:a})});y_.displayName=g_;var oz=({contentRef:e})=>{const t=`\`${go}\` requires a description for the component to be accessible for screen reader users.

You can add a description to the \`${go}\` by passing a \`${f_}\` component as a child, which also benefits sighted users by adding visible context to the dialog.

Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${go}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.

For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return x.useEffect(()=>{var r;document.getElementById((r=e.current)==null?void 0:r.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},az=a_,lz=l_,v_=c_,x_=u_,w_=p_,b_=y_,j_=h_,S_=m_;const cz=az,uz=lz,k_=x.forwardRef(({className:e,...t},n)=>o.jsx(v_,{className:J("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:n}));k_.displayName=v_.displayName;const N_=x.forwardRef(({className:e,...t},n)=>o.jsxs(uz,{children:[o.jsx(k_,{}),o.jsx(x_,{ref:n,className:J("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...t})]}));N_.displayName=x_.displayName;const T_=({className:e,...t})=>o.jsx("div",{className:J("flex flex-col space-y-2 text-center sm:text-left",e),...t});T_.displayName="AlertDialogHeader";const C_=({className:e,...t})=>o.jsx("div",{className:J("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});C_.displayName="AlertDialogFooter";const E_=x.forwardRef(({className:e,...t},n)=>o.jsx(j_,{ref:n,className:J("text-lg font-semibold",e),...t}));E_.displayName=j_.displayName;const __=x.forwardRef(({className:e,...t},n)=>o.jsx(S_,{ref:n,className:J("text-sm text-muted-foreground",e),...t}));__.displayName=S_.displayName;const P_=x.forwardRef(({className:e,...t},n)=>o.jsx(w_,{ref:n,className:J(qy(),e),...t}));P_.displayName=w_.displayName;const A_=x.forwardRef(({className:e,...t},n)=>o.jsx(b_,{ref:n,className:J(qy({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));A_.displayName=b_.displayName;const Sf={title:"",slug:"",excerpt:"",content:"",featured_image:"",author:"Admin",category:"General",tags:"",published:!1,meta_title:"",meta_description:""},dz=()=>{const e=Kl(),{toast:t}=xs(),{user:n,isLoading:r,isAdmin:s,signOut:i}=Kd(),[a,l]=x.useState(""),[c,u]=x.useState(!1),[d,h]=x.useState(!1),[f,m]=x.useState(null),[w,p]=x.useState(Sf),[y,g]=x.useState(null),{data:v,isLoading:b,error:j,refetch:S}=K8(),k=G8(),T=Y8(),C=Q8();x.useEffect(()=>{const A=localStorage.getItem("blog_api_key");A&&(l(A),u(!0))},[]),x.useEffect(()=>{!r&&!n?e("/auth"):!r&&n&&!s&&(t({variant:"destructive",title:"Access Denied",description:"You don't have permission to access this page."}),e("/"))},[n,r,s,e,t]);const P=()=>{localStorage.setItem("blog_api_key",a),u(!0),S(),t({title:"API Key Saved",description:"Your API key has been saved locally."})},R=()=>{m(null),p(Sf),h(!0)},V=A=>{var M;m(A),p({title:A.title,slug:A.slug,excerpt:A.excerpt||"",content:A.content,featured_image:A.featured_image||"",author:A.author,category:A.category,tags:((M=A.tags)==null?void 0:M.join(", "))||"",published:A.published,meta_title:A.meta_title||"",meta_description:A.meta_description||""}),h(!0)},D=async A=>{A.preventDefault();const M={title:w.title,slug:w.slug||void 0,excerpt:w.excerpt||void 0,content:w.content,featured_image:w.featured_image||void 0,author:w.author||"Admin",category:w.category||"General",tags:w.tags?w.tags.split(",").map(_=>_.trim()):[],published:w.published,meta_title:w.meta_title||void 0,meta_description:w.meta_description||void 0};try{f?(await T.mutateAsync({slug:f.slug,data:M}),t({title:"Post updated successfully"})):(await k.mutateAsync(M),t({title:"Post created successfully"})),h(!1),p(Sf),m(null)}catch(_){t({variant:"destructive",title:"Error",description:_ instanceof Error?_.message:"Something went wrong"})}},G=async()=>{if(y)try{await C.mutateAsync(y),t({title:"Post deleted successfully"}),g(null)}catch(A){t({variant:"destructive",title:"Error",description:A instanceof Error?A.message:"Failed to delete post"})}},L=async A=>{try{await T.mutateAsync({slug:A.slug,data:{published:!A.published}}),t({title:A.published?"Post unpublished":"Post published"})}catch(M){t({variant:"destructive",title:"Error",description:M instanceof Error?M.message:"Failed to update post"})}},$=async()=>{await i(),e("/auth")};return r?o.jsx(ae,{children:o.jsx("div",{className:"min-h-[60vh] flex items-center justify-center",children:o.jsx("div",{className:"animate-pulse text-muted-foreground",children:"Loading..."})})}):!n||!s?null:o.jsxs(ae,{children:[o.jsx(me,{children:o.jsx("title",{children:"Blog Admin | Marla Singer Realty"})}),o.jsx("div",{className:"section-padding",children:o.jsxs("div",{className:"container-luxury",children:[o.jsxs("div",{className:"flex flex-col md:flex-row md:items-center md:justify-between gap-4 mb-8",children:[o.jsxs("div",{children:[o.jsx("h1",{className:"heading-section",children:"Blog Admin"}),o.jsx("p",{className:"text-muted-foreground mt-2",children:"Manage your blog posts"})]}),o.jsxs("div",{className:"flex items-center gap-4",children:[o.jsxs(ge,{variant:"outline",size:"sm",onClick:()=>e("/admin/profile"),children:[o.jsx(XS,{className:"w-4 h-4 mr-2"}),"Profile"]}),o.jsxs(ge,{variant:"outline",size:"sm",onClick:$,children:[o.jsx(PR,{className:"w-4 h-4 mr-2"}),"Sign Out"]})]})]}),!c&&o.jsxs(Dn,{className:"mb-8",children:[o.jsx(ls,{children:o.jsxs(cs,{className:"flex items-center gap-2",children:[o.jsx(LR,{className:"w-5 h-5"}),"API Key Setup"]})}),o.jsxs(Ln,{children:[o.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Enter your BLOG_API_KEY to manage posts. This will be stored locally in your browser."}),o.jsxs("div",{className:"flex gap-4",children:[o.jsx(ne,{type:"password",placeholder:"Enter your BLOG_API_KEY",value:a,onChange:A=>l(A.target.value),className:"max-w-md"}),o.jsx(ge,{onClick:P,children:"Save Key"})]})]})]}),c&&o.jsxs(Dn,{children:[o.jsxs(ls,{className:"flex flex-row items-center justify-between",children:[o.jsx(cs,{children:"Posts"}),o.jsxs(ge,{onClick:R,children:[o.jsx(KS,{className:"w-4 h-4 mr-2"}),"New Post"]})]}),o.jsxs(Ln,{children:[b&&o.jsx("div",{className:"space-y-4",children:[...Array(5)].map((A,M)=>o.jsx(Ae,{className:"h-16 w-full"},M))}),j&&o.jsxs("div",{className:"text-center py-8",children:[o.jsx("p",{className:"text-destructive mb-4",children:"Failed to load posts. Check your API key."}),o.jsx(ge,{variant:"outline",onClick:()=>u(!1),children:"Update API Key"})]}),!b&&!j&&v&&o.jsxs(r_,{children:[o.jsx(s_,{children:o.jsxs(mu,{children:[o.jsx(Di,{children:"Title"}),o.jsx(Di,{children:"Category"}),o.jsx(Di,{children:"Status"}),o.jsx(Di,{children:"Date"}),o.jsx(Di,{className:"text-right",children:"Actions"})]})}),o.jsxs(i_,{children:[v.length===0&&o.jsx(mu,{children:o.jsx(Os,{colSpan:5,className:"text-center py-8 text-muted-foreground",children:"No posts yet. Create your first post!"})}),v.map(A=>o.jsxs(mu,{children:[o.jsx(Os,{className:"font-medium",children:A.title}),o.jsx(Os,{children:A.category}),o.jsx(Os,{children:o.jsx("span",{className:`inline-flex items-center gap-1 px-2 py-1 text-xs rounded ${A.published?"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200":"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200"}`,children:A.published?o.jsxs(o.Fragment,{children:[o.jsx(jm,{className:"w-3 h-3"})," Published"]}):o.jsxs(o.Fragment,{children:[o.jsx(bm,{className:"w-3 h-3"})," Draft"]})})}),o.jsx(Os,{children:new Date(A.created_at).toLocaleDateString()}),o.jsx(Os,{className:"text-right",children:o.jsxs("div",{className:"flex items-center justify-end gap-2",children:[o.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>L(A),title:A.published?"Unpublish":"Publish",children:A.published?o.jsx(bm,{className:"w-4 h-4"}):o.jsx(jm,{className:"w-4 h-4"})}),o.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>V(A),children:o.jsx(FR,{className:"w-4 h-4"})}),o.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>g(A.slug),children:o.jsx(QS,{className:"w-4 h-4 text-destructive"})})]})})]},A.id))]})]})]})]})]})}),o.jsx(e_,{open:d,onOpenChange:h,children:o.jsxs(iv,{className:"max-w-3xl max-h-[90vh] overflow-y-auto",children:[o.jsx(ov,{children:o.jsx(av,{children:f?"Edit Post":"Create New Post"})}),o.jsxs("form",{onSubmit:D,className:"space-y-6",children:[o.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"title",children:"Title *"}),o.jsx(ne,{id:"title",value:w.title,onChange:A=>p({...w,title:A.target.value}),required:!0})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"slug",children:"Slug (auto-generated if empty)"}),o.jsx(ne,{id:"slug",value:w.slug,onChange:A=>p({...w,slug:A.target.value}),placeholder:"my-post-title"})]})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"excerpt",children:"Excerpt"}),o.jsx(rd,{id:"excerpt",value:w.excerpt,onChange:A=>p({...w,excerpt:A.target.value}),rows:2,placeholder:"A brief summary of the post..."})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"content",children:"Content (HTML) *"}),o.jsx(rd,{id:"content",value:w.content,onChange:A=>p({...w,content:A.target.value}),rows:10,required:!0,placeholder:"<p>Your post content here...</p>"})]}),o.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"featured_image",children:"Featured Image URL"}),o.jsx(ne,{id:"featured_image",value:w.featured_image,onChange:A=>p({...w,featured_image:A.target.value}),placeholder:"https://..."})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"author",children:"Author"}),o.jsx(ne,{id:"author",value:w.author,onChange:A=>p({...w,author:A.target.value})})]})]}),o.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"category",children:"Category"}),o.jsx(ne,{id:"category",value:w.category,onChange:A=>p({...w,category:A.target.value})})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"tags",children:"Tags (comma-separated)"}),o.jsx(ne,{id:"tags",value:w.tags,onChange:A=>p({...w,tags:A.target.value}),placeholder:"real estate, market, tips"})]})]}),o.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"meta_title",children:"Meta Title"}),o.jsx(ne,{id:"meta_title",value:w.meta_title,onChange:A=>p({...w,meta_title:A.target.value}),placeholder:"SEO title (uses post title if empty)"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"meta_description",children:"Meta Description"}),o.jsx(ne,{id:"meta_description",value:w.meta_description,onChange:A=>p({...w,meta_description:A.target.value}),placeholder:"SEO description..."})]})]}),o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx(kE,{id:"published",checked:w.published,onCheckedChange:A=>p({...w,published:A})}),o.jsx(we,{htmlFor:"published",children:"Publish immediately"})]}),o.jsxs("div",{className:"flex justify-end gap-4",children:[o.jsx(ge,{type:"button",variant:"outline",onClick:()=>h(!1),children:"Cancel"}),o.jsx(ge,{type:"submit",disabled:k.isPending||T.isPending,children:k.isPending||T.isPending?"Saving...":f?"Update Post":"Create Post"})]})]})]})}),o.jsx(cz,{open:!!y,onOpenChange:()=>g(null),children:o.jsxs(N_,{children:[o.jsxs(T_,{children:[o.jsx(E_,{children:"Delete Post"}),o.jsx(__,{children:"Are you sure you want to delete this post? This action cannot be undone."})]}),o.jsxs(C_,{children:[o.jsx(A_,{children:"Cancel"}),o.jsx(P_,{onClick:G,className:"bg-destructive text-destructive-foreground",children:"Delete"})]})]})})]})},hz=()=>{const e=Kl(),{toast:t}=xs(),{user:n,isLoading:r,isAdmin:s}=Kd(),[i,a]=x.useState(""),[l,c]=x.useState(""),[u,d]=x.useState(""),[h,f]=x.useState(!1),[m,w]=x.useState(""),[p,y]=x.useState(!1);x.useEffect(()=>{!r&&!n?e("/auth"):!r&&n&&!s&&(t({variant:"destructive",title:"Access Denied",description:"You don't have permission to access this page."}),e("/"))},[n,r,s,e,t]),x.useEffect(()=>{const b=localStorage.getItem("blog_api_key");b&&w(b)},[]);const g=async b=>{if(b.preventDefault(),l!==u){t({variant:"destructive",title:"Passwords don't match",description:"Please make sure your new passwords match."});return}if(l.length<6){t({variant:"destructive",title:"Password too short",description:"Password must be at least 6 characters."});return}f(!0);const{error:j}=await gt.auth.updateUser({password:l});j?t({variant:"destructive",title:"Failed to update password",description:j.message}):(t({title:"Password updated",description:"Your password has been changed successfully."}),a(""),c(""),d("")),f(!1)},v=()=>{localStorage.setItem("blog_api_key",m),t({title:"API Key updated",description:"Your API key has been saved locally."})};return r?o.jsx(ae,{children:o.jsx("div",{className:"min-h-[60vh] flex items-center justify-center",children:o.jsx("div",{className:"animate-pulse text-muted-foreground",children:"Loading..."})})}):!n||!s?null:o.jsxs(ae,{children:[o.jsx(me,{children:o.jsx("title",{children:"Profile Settings | Marla Singer Realty"})}),o.jsx("div",{className:"section-padding",children:o.jsxs("div",{className:"container-luxury max-w-2xl",children:[o.jsxs(ge,{variant:"ghost",onClick:()=>e("/admin/blog"),className:"mb-6",children:[o.jsx(Cd,{className:"w-4 h-4 mr-2"}),"Back to Blog Admin"]}),o.jsx("h1",{className:"heading-section mb-8",children:"Profile Settings"}),o.jsxs(Dn,{className:"mb-8",children:[o.jsxs(ls,{children:[o.jsx(cs,{children:"Account Information"}),o.jsx(fo,{children:"Your account details"})]}),o.jsx(Ln,{children:o.jsxs("div",{className:"space-y-4",children:[o.jsxs("div",{children:[o.jsx(we,{className:"text-muted-foreground",children:"Email"}),o.jsx("p",{className:"text-foreground",children:n.email})]}),o.jsxs("div",{children:[o.jsx(we,{className:"text-muted-foreground",children:"User ID"}),o.jsx("p",{className:"text-foreground font-mono text-sm",children:n.id})]}),o.jsxs("div",{children:[o.jsx(we,{className:"text-muted-foreground",children:"Role"}),o.jsx("p",{className:"text-foreground",children:"Administrator"})]})]})})]}),o.jsxs(Dn,{className:"mb-8",children:[o.jsxs(ls,{children:[o.jsx(cs,{children:"Change Password"}),o.jsx(fo,{children:"Update your password"})]}),o.jsx(Ln,{children:o.jsxs("form",{onSubmit:g,className:"space-y-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"new-password",children:"New Password"}),o.jsx(ne,{id:"new-password",type:"password",value:l,onChange:b=>c(b.target.value),placeholder:"••••••••",required:!0})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"confirm-new-password",children:"Confirm New Password"}),o.jsx(ne,{id:"confirm-new-password",type:"password",value:u,onChange:b=>d(b.target.value),placeholder:"••••••••",required:!0})]}),o.jsxs(ge,{type:"submit",disabled:h,children:[o.jsx(Bu,{className:"w-4 h-4 mr-2"}),h?"Updating...":"Update Password"]})]})})]}),o.jsxs(Dn,{children:[o.jsxs(ls,{children:[o.jsxs(cs,{className:"flex items-center gap-2",children:[o.jsx(Og,{className:"w-5 h-5"}),"API Key"]}),o.jsx(fo,{children:"Your Blog API key for managing posts. This is stored locally in your browser."})]}),o.jsx(Ln,{children:o.jsxs("div",{className:"space-y-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"api-key",children:"BLOG_API_KEY"}),o.jsxs("div",{className:"flex gap-2",children:[o.jsx(ne,{id:"api-key",type:p?"text":"password",value:m,onChange:b=>w(b.target.value),placeholder:"Enter your API key"}),o.jsx(ge,{type:"button",variant:"outline",onClick:()=>y(!p),children:p?"Hide":"Show"})]})]}),o.jsxs(ge,{onClick:v,children:[o.jsx(Bu,{className:"w-4 h-4 mr-2"}),"Save API Key"]})]})})]})]})})]})},R_=[{title:"Agent Identity",description:"Your name and contact details used across all generated assets",icon:o.jsx(XS,{className:"w-5 h-5"}),fields:[{key:"agent_name",label:"Full Name",placeholder:"Nyjul McKeel"},{key:"agent_first_name",label:"First Name",placeholder:"Nyjul"},{key:"agent_last_name",label:"Last Name",placeholder:"McKeel"},{key:"agent_phone",label:"Phone",placeholder:"(817) 941-3392",type:"tel"},{key:"agent_email",label:"Email",placeholder:"agent@example.com",type:"email"},{key:"agent_license_number",label:"License Number",placeholder:"DRE# 01234567"}]},{title:"Brokerage",description:"Brokerage information for schema markup and footer",icon:o.jsx(BS,{className:"w-5 h-5"}),fields:[{key:"brokerage_name",label:"Brokerage Name",placeholder:"Orchard"},{key:"brokerage_address",label:"Address",placeholder:"Frisco, TX 75034"},{key:"brokerage_phone",label:"Phone",placeholder:"(817) 941-3392",type:"tel"}]},{title:"Site & SEO",description:"Domain, images, and service areas for sitemaps and meta tags",icon:o.jsx(NR,{className:"w-5 h-5"}),fields:[{key:"site_domain",label:"Site Domain",placeholder:"https://www.example.com",type:"url"},{key:"default_og_image",label:"Default OG Image URL",placeholder:"https://www.example.com/og-image.jpg",type:"url"},{key:"service_area",label:"Service Area",placeholder:"Frisco, TX (75033, 75034, 75035, 75036)"}]},{title:"Social Profiles",description:"Links used in schema markup and site footer",icon:o.jsx(GS,{className:"w-5 h-5"}),fields:[{key:"instagram_url",label:"Instagram",placeholder:"https://instagram.com/yourusername",type:"url"},{key:"youtube_url",label:"YouTube",placeholder:"https://youtube.com/@yourchannel",type:"url"},{key:"facebook_url",label:"Facebook",placeholder:"https://facebook.com/yourpage",type:"url"},{key:"linkedin_url",label:"LinkedIn",placeholder:"https://linkedin.com/in/yourprofile",type:"url"}]},{title:"Scheduling",description:"Calendar link for booking consultations",icon:o.jsx(wR,{className:"w-5 h-5"}),fields:[{key:"booking_url",label:"Booking / Calendar URL",placeholder:"https://calendly.com/yourlink",type:"url"}]}],_b=R_.flatMap(e=>e.fields.map(t=>t.key)),fz=()=>{const e=Kl(),{toast:t}=xs(),{user:n,isLoading:r,isAdmin:s}=Kd(),[i,a]=x.useState({}),[l,c]=x.useState(!0),[u,d]=x.useState(!1);x.useEffect(()=>{!r&&!n?e("/auth"):!r&&n&&!s&&(t({variant:"destructive",title:"Access Denied",description:"Admin access required."}),e("/"))},[n,r,s,e,t]),x.useEffect(()=>{if(!n||!s)return;(async()=>{const{data:w,error:p}=await gt.from("site_config").select("key, value").in("key",_b);if(p)t({variant:"destructive",title:"Failed to load settings",description:p.message});else{const y={};(w||[]).forEach(g=>{y[g.key]=g.value??""}),a(y)}c(!1)})()},[n,s,t]);const h=(m,w)=>{a(p=>({...p,[m]:w}))},f=async()=>{d(!0);try{const m=_b.map(p=>{var y;return{key:p,value:((y=i[p])==null?void 0:y.trim())||null,updated_at:new Date().toISOString()}}),{error:w}=await gt.from("site_config").upsert(m,{onConflict:"key"});if(w)throw w;t({title:"Settings saved",description:"All configuration updated successfully."})}catch(m){t({variant:"destructive",title:"Save failed",description:m.message})}finally{d(!1)}};return r||l?o.jsx(ae,{children:o.jsx("div",{className:"min-h-[60vh] flex items-center justify-center",children:o.jsx(Ih,{className:"w-6 h-6 animate-spin text-muted-foreground"})})}):!n||!s?null:o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Site Settings | Admin"}),o.jsx("meta",{name:"robots",content:"noindex, nofollow"})]}),o.jsx("div",{className:"section-padding",children:o.jsxs("div",{className:"container-luxury max-w-3xl",children:[o.jsxs("div",{className:"flex items-center justify-between mb-8",children:[o.jsxs("div",{children:[o.jsxs(ge,{variant:"ghost",onClick:()=>e("/admin/blog"),className:"mb-2 -ml-3",children:[o.jsx(Cd,{className:"w-4 h-4 mr-2"}),"Back to Admin"]}),o.jsx("h1",{className:"heading-section",children:"Site Settings"}),o.jsx("p",{className:"text-muted-foreground mt-1",children:"Values populate schema markup, meta tags, llms.txt, and sitemaps."})]}),o.jsxs(ge,{onClick:f,disabled:u,size:"lg",children:[u?o.jsx(Ih,{className:"w-4 h-4 mr-2 animate-spin"}):o.jsx(Bu,{className:"w-4 h-4 mr-2"}),u?"Saving…":"Save All"]})]}),o.jsx("div",{className:"space-y-6",children:R_.map(m=>o.jsxs(Dn,{children:[o.jsxs(ls,{children:[o.jsxs(cs,{className:"flex items-center gap-2",children:[m.icon,m.title]}),o.jsx(fo,{children:m.description})]}),o.jsx(Ln,{children:o.jsx("div",{className:"grid gap-4 sm:grid-cols-2",children:m.fields.map(w=>o.jsxs("div",{className:w.key==="service_area"||w.key==="brokerage_address"?"sm:col-span-2":"",children:[o.jsx(we,{htmlFor:w.key,children:w.label}),o.jsx(ne,{id:w.key,type:w.type||"text",placeholder:w.placeholder,value:i[w.key]??"",onChange:p=>h(w.key,p.target.value),className:"mt-1"})]},w.key))})})]},m.title))}),o.jsx("div",{className:"mt-8 flex justify-end",children:o.jsxs(ge,{onClick:f,disabled:u,size:"lg",children:[u?o.jsx(Ih,{className:"w-4 h-4 mr-2 animate-spin"}):o.jsx(Bu,{className:"w-4 h-4 mr-2"}),u?"Saving…":"Save All"]})})]})})]})},Pb="https://nyjulmckeel.com",mz=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Privacy Policy | Nyjul McKeel | Frisco Real Estate"}),o.jsx("meta",{name:"description",content:"Privacy Policy for Nyjul McKeel at Nyjul McKeel Real Estate. Learn how we collect, use, and protect your personal information."}),o.jsx("link",{rel:"canonical",href:`${Pb}/privacy-policy`}),o.jsx("meta",{property:"og:title",content:"Privacy Policy | Nyjul McKeel | Frisco Real Estate"}),o.jsx("meta",{property:"og:description",content:"Privacy Policy for Nyjul McKeel at Nyjul McKeel Real Estate."}),o.jsx("meta",{property:"og:url",content:`${Pb}/privacy-policy`}),o.jsx("meta",{property:"og:type",content:"website"}),o.jsx("meta",{name:"twitter:card",content:"summary"})]}),o.jsx("section",{className:"py-20 md:py-28 bg-secondary",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx(E,{children:o.jsx("h1",{className:"heading-display max-w-4xl",children:"Privacy Policy"})}),o.jsx(E,{delay:.1,children:o.jsx("p",{className:"text-body text-muted-foreground mt-4",children:"Last Updated: February 24, 2026"})})]})}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury max-w-3xl prose prose-neutral dark:prose-invert",children:[o.jsx("h2",{children:"1. Introduction"}),o.jsx("p",{children:'Nyjul McKeel - Frisco Real Estate Advisor ("We," "Us," or "Our") recognizes that privacy is important to You. This Privacy Policy governs Your use of our website and describes how we collect, use, and protect Your personal information. By using our website, you agree to this Privacy Policy.'}),o.jsx("p",{children:"You must be of legal age (over eighteen years of age in the United States) to use our website."}),o.jsx("h2",{children:"2. Information We Collect"}),o.jsx("p",{children:"We may collect private information from You when You use our website, including when You:"}),o.jsxs("ul",{children:[o.jsx("li",{children:"Submit a contact form or inquiry"}),o.jsx("li",{children:"Request a home valuation"}),o.jsx("li",{children:"Sign up for our newsletter"}),o.jsx("li",{children:"Browse our property listings"})]}),o.jsx("p",{children:"This information may include Your name, email address, phone number, property address, and any additional information You choose to provide."}),o.jsx("h2",{children:"3. How We Use Your Information"}),o.jsx("p",{children:"We use the information we collect for the following purposes:"}),o.jsxs("ul",{children:[o.jsx("li",{children:"To respond to Your inquiries and provide real estate services"}),o.jsx("li",{children:"To send You property information and market updates"}),o.jsx("li",{children:"To improve our website and services"}),o.jsx("li",{children:"To comply with applicable laws and regulations"}),o.jsx("li",{children:"To protect Your rights and the rights of others"})]}),o.jsx("h2",{children:"4. Information Sharing"}),o.jsx("p",{children:"We will not share Your personal information with third parties except as described in this Privacy Policy or with Your consent. We may share Your information:"}),o.jsxs("ul",{children:[o.jsx("li",{children:"With service providers who assist us in operating our website"}),o.jsx("li",{children:"To comply with legal obligations or respond to lawful requests"}),o.jsx("li",{children:"To protect our rights, privacy, safety, or property"})]}),o.jsx("p",{children:o.jsx("strong",{children:"Data will not be shared with third parties for marketing or promotional purposes."})}),o.jsx("h2",{children:"5. Communications"}),o.jsx("p",{children:"By providing Your contact information and opting in, You acknowledge and agree to receive communications from Nyjul McKeel - Frisco Real Estate Advisor, including:"}),o.jsxs("ul",{children:[o.jsx("li",{children:"Email communications about properties and market updates"}),o.jsx("li",{children:"Phone calls regarding Your real estate inquiries"}),o.jsx("li",{children:"Text messages with relevant property information"})]}),o.jsx("p",{children:'You may opt out of marketing communications at any time by replying "STOP" to any text message, clicking unsubscribe in emails, or contacting us directly. Message and data rates may apply.'}),o.jsx("h2",{children:"6. Cookies"}),o.jsx("p",{children:"Our website may use cookies, which are small data files stored on Your computer. We use cookies to improve Your experience with our website. Cookies will not contain any of Your personally identifiable information."}),o.jsx("p",{children:"If You set your browser not to accept cookies, You may not be able to use or experience all of the features of our website."}),o.jsx("h2",{children:"7. Data Security"}),o.jsx("p",{children:"We take appropriate security measures to protect Your personal information. However, no method of transmission over the Internet or electronic storage is 100% secure. We cannot guarantee absolute security of Your information."}),o.jsx("h2",{children:"8. Third Party Websites"}),o.jsx("p",{children:"Our website may contain links to third-party websites. We have no control over the privacy policies or practices of these third parties. This Privacy Policy does not govern any disclosure You make to third parties."}),o.jsx("h2",{children:"9. Children's Privacy"}),o.jsx("p",{children:"We do not market our website or services to minors. We do not knowingly collect personal information from individuals under the age of 18. If we learn that we have collected information from a minor, we will delete it."}),o.jsx("h2",{children:"10. Changes to This Policy"}),o.jsx("p",{children:"This Privacy Policy may change from time to time. The most current version will always appear on this page. We encourage You to review this Privacy Policy periodically."}),o.jsx("h2",{children:"11. SMS Terms & Conditions"}),o.jsxs("ul",{children:[o.jsx("li",{children:"We use SMS to confirm appointments, send reminders, and notify clients of schedule updates or important changes."}),o.jsx("li",{children:'You can cancel the SMS service at any time. Just text "STOP". After you send the SMS message "STOP" to us, we will send you an SMS message to confirm that you have been unsubscribed.'}),o.jsxs("li",{children:['If you are experiencing issues with the messaging program, you can reply with the keyword "HELP" for more assistance, or you can get help directly at ',o.jsx("a",{href:"mailto:marla@singerrealty.com",children:"marla@singerrealty.com"}),"."]}),o.jsx("li",{children:"Carriers are not liable for delayed or undelivered messages."}),o.jsx("li",{children:"As always, message and data rates may apply for any messages sent to you from us and to us from you. Message frequency may vary."})]}),o.jsx("h2",{children:"12. Contact Us"}),o.jsx("p",{children:"If You have questions about this Privacy Policy or believe that someone has violated it, please contact us at:"}),o.jsxs("p",{children:["Nyjul McKeel - Frisco Real Estate Advisor",o.jsx("br",{}),"Email: ",o.jsx("a",{href:"mailto:marla@singerrealty.com",children:"marla@singerrealty.com"}),o.jsx("br",{}),"Phone: ",o.jsx("a",{href:"tel:+13105551234",children:"(310) 555-1234"})]})]})})]}),Ab="https://nyjulmckeel.com",pz=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Terms & Conditions | Nyjul McKeel | Frisco Real Estate"}),o.jsx("meta",{name:"description",content:"Terms and Conditions for Nyjul McKeel at Nyjul McKeel Real Estate. Review the terms governing use of our website."}),o.jsx("link",{rel:"canonical",href:`${Ab}/terms-and-conditions`}),o.jsx("meta",{property:"og:title",content:"Terms & Conditions | Nyjul McKeel | Frisco Real Estate"}),o.jsx("meta",{property:"og:description",content:"Terms and Conditions for Nyjul McKeel at Nyjul McKeel Real Estate."}),o.jsx("meta",{property:"og:url",content:`${Ab}/terms-and-conditions`}),o.jsx("meta",{property:"og:type",content:"website"}),o.jsx("meta",{name:"twitter:card",content:"summary"})]}),o.jsx("section",{className:"py-20 md:py-28 bg-secondary",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx(E,{children:o.jsx("h1",{className:"heading-display max-w-4xl",children:"Terms & Conditions"})}),o.jsx(E,{delay:.1,children:o.jsx("p",{className:"text-body text-muted-foreground mt-4",children:"Last Updated: February 24, 2026"})})]})}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury max-w-3xl prose prose-neutral dark:prose-invert",children:[o.jsx("h2",{children:"1. Acceptance of Terms"}),o.jsx("p",{children:'By accessing and using this website operated by Nyjul McKeel - Frisco Real Estate Advisor ("We," "Us," or "Our"), you accept and agree to be bound by these Terms and Conditions. If you do not agree, please do not use this website.'}),o.jsx("h2",{children:"2. Use of Website"}),o.jsx("p",{children:"This website is intended to provide information about real estate services and property listings. You agree to use this website only for lawful purposes and in a manner that does not infringe the rights of, restrict, or inhibit anyone else's use and enjoyment of the website."}),o.jsx("h2",{children:"3. Property Listings"}),o.jsx("p",{children:"Property information displayed on this website is believed to be accurate but is not guaranteed. All listings are subject to prior sale, change, or withdrawal. We are not responsible for typographical errors, misinformation, or misprints and shall be held totally harmless."}),o.jsx("h2",{children:"4. Intellectual Property"}),o.jsx("p",{children:"All content on this website, including but not limited to text, graphics, logos, images, and software, is the property of Nyjul McKeel - Frisco Real Estate Advisor or its content suppliers and is protected by copyright and intellectual property laws."}),o.jsx("h2",{children:"5. No Professional Advice"}),o.jsx("p",{children:"The information provided on this website does not constitute professional real estate, legal, financial, or tax advice. You should consult with appropriate professionals before making any real estate decisions."}),o.jsx("h2",{children:"6. Communications"}),o.jsx("p",{children:'By submitting your contact information through any form on this website, you consent to be contacted regarding your inquiry. If you opt in to communications, you agree to receive calls, emails, and text messages. You may opt out at any time by replying "STOP" to text messages or clicking unsubscribe in emails.'}),o.jsxs("p",{children:["For full details on our communication practices, please refer to our ",o.jsx(H,{to:"/privacy-policy",className:"underline",children:"Privacy Policy"}),"."]}),o.jsx("h2",{children:"7. Limitation of Liability"}),o.jsx("p",{children:"To the fullest extent permitted by law, Nyjul McKeel - Frisco Real Estate Advisor shall not be liable for any indirect, incidental, special, consequential, or punitive damages, or any loss of profits or revenues, whether incurred directly or indirectly, or any loss of data, use, goodwill, or other intangible losses."}),o.jsx("h2",{children:"8. Third-Party Links"}),o.jsx("p",{children:"This website may contain links to third-party websites. These links are provided for your convenience only. We have no control over the content of those sites and accept no responsibility for them."}),o.jsx("h2",{children:"9. Indemnification"}),o.jsx("p",{children:"You agree to indemnify and hold harmless Nyjul McKeel - Frisco Real Estate Advisor from any claims, losses, liabilities, damages, costs, and expenses arising from your use of this website or violation of these terms."}),o.jsx("h2",{children:"10. Governing Law"}),o.jsx("p",{children:"These Terms and Conditions shall be governed by and construed in accordance with the laws of the State of California, without regard to its conflict of law provisions."}),o.jsx("h2",{children:"11. Changes to Terms"}),o.jsx("p",{children:"We reserve the right to modify these Terms and Conditions at any time. Changes will be effective immediately upon posting. Your continued use of the website constitutes acceptance of any changes."}),o.jsx("h2",{children:"12. Contact Us"}),o.jsx("p",{children:"If you have any questions about these Terms and Conditions, please contact us at:"}),o.jsxs("p",{children:["Nyjul McKeel - Frisco Real Estate Advisor",o.jsx("br",{}),"Email: ",o.jsx("a",{href:"mailto:marla@singerrealty.com",children:"marla@singerrealty.com"}),o.jsx("br",{}),"Phone: ",o.jsx("a",{href:"tel:+13105551234",children:"(310) 555-1234"})]})]})})]}),I_=()=>{const e=bs();return x.useEffect(()=>{console.error("404 Error: User attempted to access non-existent route:",e.pathname)},[e.pathname]),o.jsx(ae,{children:o.jsx("section",{className:"section-padding bg-background min-h-[60vh] flex items-center",children:o.jsxs("div",{className:"container-luxury text-center",children:[o.jsx("h1",{className:"text-8xl md:text-9xl font-serif text-gold mb-6",children:"404"}),o.jsx("h2",{className:"heading-section mb-4",children:"Page Not Found"}),o.jsx("p",{className:"text-body text-muted-foreground mb-10 max-w-md mx-auto",children:"The page you're looking for doesn't exist or has been moved."}),o.jsx(H,{to:"/",className:"btn-luxury",children:"Return Home"})]})})})};var gz="AspectRatio",O_=x.forwardRef((e,t)=>{const{ratio:n=1/1,style:r,...s}=e;return o.jsx("div",{style:{position:"relative",width:"100%",paddingBottom:`${100/n}%`},"data-radix-aspect-ratio-wrapper":"",children:o.jsx(le.div,{...s,ref:t,style:{...r,position:"absolute",top:0,right:0,bottom:0,left:0}})})});O_.displayName=gz;var yz=O_;const vz=yz,xz="/assets/hero-2-BQTXpzPE.jpg",wz="/assets/hero-3-VlCKitH3.jpg",bz="/assets/logo-dark-xB9F5EJX.png",jz="/assets/logo-dark-xB9F5EJX.png",Sz="/assets/property-1-BxQCwPCF.jpg",kz="/assets/property-2-DMCdv9oa.jpg",Nz="/assets/property-3-SjZqvlC3.jpg",Tz="/assets/property-4-BOfHHAjC.jpg",F_="baylor-assets-state",Cz=[{id:"agent-portrait",name:"Agent Portrait",url:zy,category:"local",note:"About page / bio"},{id:"hero-1",name:"Hero Slide 1",url:UC,category:"local",note:"Hero slider"},{id:"hero-2",name:"Hero Slide 2",url:xz,category:"local",note:"Hero slider"},{id:"hero-3",name:"Hero Slide 3",url:wz,category:"local",note:"Hero slider"},{id:"hero-main",name:"Hero Main",url:du,category:"local",note:"Primary hero image"},{id:"logo-dark",name:"Logo (Dark)",url:bz,category:"local",note:"Header / dark backgrounds"},{id:"logo-light",name:"Logo (Light)",url:jz,category:"local",note:"Footer / light backgrounds"},{id:"property-1",name:"Property Photo 1",url:Sz,category:"local",note:"Featured listing"},{id:"property-2",name:"Property Photo 2",url:kz,category:"local",note:"Featured listing"},{id:"property-3",name:"Property Photo 3",url:Nz,category:"local",note:"Featured listing"},{id:"property-4",name:"Property Photo 4",url:Tz,category:"local",note:"Featured listing"}],Ez=[{id:"cdn-placeholder",name:"Placeholder SVG",url:"/placeholder.svg",category:"cdn",note:"Fallback image"}];function _z(){try{const e=localStorage.getItem(F_);if(e)return JSON.parse(e)}catch{}return{deletedIds:[],customAssets:[]}}function Rb(e,t){localStorage.setItem(F_,JSON.stringify({deletedIds:e,customAssets:t}))}const Pz=()=>{const[e,t]=x.useState(!1),[n,r]=x.useState(""),[s,i]=x.useState(!1),[a,l]=x.useState(!1),[c,u]=x.useState([]),[d,h]=x.useState([]),[f,m]=x.useState(null),[w,p]=x.useState(!1),[y,g]=x.useState(""),[v,b]=x.useState(""),[j,S]=x.useState(""),{toast:k}=xs();x.useEffect(()=>{const $=_z();u($.deletedIds),h($.customAssets)},[]);const T=()=>{n==="realsavvy"?(t(!0),l(!1)):l(!0)},C=x.useCallback($=>{u(A=>{const M=[...A,$];return Rb(M,d),M})},[d]),P=x.useCallback(async $=>{const A=$.url.startsWith("http")||$.url.startsWith("/")?`${window.location.origin}${$.url.startsWith("/")?$.url:""}`:$.url,M=$.url.startsWith("http")?$.url:A;await navigator.clipboard.writeText(M),m($.id),setTimeout(()=>m(null),1500)},[]),R=()=>{if(!y.trim()||!v.trim())return;const $={id:`custom-${Date.now()}`,name:y.trim(),url:v.trim(),category:"custom",note:j.trim()||void 0};h(A=>{const M=[...A,$];return Rb(c,M),M}),g(""),b(""),S(""),p(!1),k({title:"Asset added"})},D=[...Cz,...Ez,...d].filter($=>!c.includes($.id)),G={local:[],cdn:[],custom:[]};D.forEach($=>{var A;return(A=G[$.category])==null?void 0:A.push($)});const L={local:"Local Assets",cdn:"CDN Photos",custom:"Custom Assets"};return e?o.jsxs("div",{className:"min-h-screen bg-background p-4 md:p-8",children:[o.jsxs("div",{className:"max-w-7xl mx-auto space-y-8",children:[o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsxs("div",{children:[o.jsx("h1",{className:"text-2xl font-bold text-foreground",children:"Site Assets"}),o.jsxs("p",{className:"text-sm text-muted-foreground",children:[D.length," assets"]})]}),o.jsxs(ge,{onClick:()=>p(!0),size:"sm",children:[o.jsx(KS,{className:"h-4 w-4 mr-1"})," Add Asset"]})]}),["local","cdn","custom"].map($=>{const A=G[$];return!A||A.length===0?null:o.jsxs("section",{className:"space-y-3",children:[o.jsx("h2",{className:"text-lg font-semibold text-foreground",children:L[$]}),o.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-4",children:A.map(M=>o.jsxs(Dn,{className:"group overflow-hidden relative",children:[o.jsx("button",{onClick:()=>C(M.id),className:"absolute top-2 right-2 z-10 opacity-0 group-hover:opacity-100 transition-opacity bg-background/80 rounded-full p-1 text-destructive hover:text-destructive/80",children:o.jsx(QS,{className:"h-4 w-4"})}),o.jsx(vz,{ratio:1,children:o.jsx("img",{src:M.url,alt:M.name,className:"w-full h-full object-cover",loading:"lazy",onError:_=>{_.target.src="/placeholder.svg"}})}),o.jsxs(Ln,{className:"p-3 space-y-1",children:[o.jsx("p",{className:"text-sm font-medium text-foreground truncate",children:M.name}),M.note&&o.jsx("p",{className:"text-xs text-muted-foreground truncate",children:M.note}),o.jsx(ge,{variant:"outline",size:"sm",className:"w-full mt-1 h-7 text-xs",onClick:()=>P(M),children:f===M.id?o.jsxs(o.Fragment,{children:[o.jsx(Ua,{className:"h-3 w-3 mr-1"})," Copied"]}):o.jsxs(o.Fragment,{children:[o.jsx(kR,{className:"h-3 w-3 mr-1"})," Copy URL"]})})]})]},M.id))})]},$)}),D.length===0&&o.jsxs("div",{className:"text-center py-20 text-muted-foreground",children:[o.jsx(ER,{className:"h-12 w-12 mx-auto mb-3 opacity-50"}),o.jsx("p",{children:"No assets to display"})]})]}),o.jsx(e_,{open:w,onOpenChange:p,children:o.jsxs(iv,{children:[o.jsx(ov,{children:o.jsx(av,{children:"Add Custom Asset"})}),o.jsxs("div",{className:"space-y-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"asset-name",children:"Name *"}),o.jsx(ne,{id:"asset-name",value:y,onChange:$=>g($.target.value),placeholder:"e.g. Office Photo"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"asset-url",children:"Image URL *"}),o.jsx(ne,{id:"asset-url",value:v,onChange:$=>b($.target.value),placeholder:"https://..."})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(we,{htmlFor:"asset-note",children:"Usage Note"}),o.jsx(ne,{id:"asset-note",value:j,onChange:$=>S($.target.value),placeholder:"e.g. Homepage hero"})]})]}),o.jsxs(n_,{children:[o.jsx(ge,{variant:"outline",onClick:()=>p(!1),children:"Cancel"}),o.jsx(ge,{onClick:R,disabled:!y.trim()||!v.trim(),children:"Add Asset"})]})]})})]}):o.jsx("div",{className:"min-h-screen flex items-center justify-center bg-background p-4",children:o.jsx(Dn,{className:"w-full max-w-sm",children:o.jsxs(Ln,{className:"pt-6 space-y-4",children:[o.jsxs("div",{className:"flex flex-col items-center gap-2",children:[o.jsx(_R,{className:"h-8 w-8 text-muted-foreground"}),o.jsx("h2",{className:"text-lg font-semibold text-foreground",children:"Asset Manager"}),o.jsx("p",{className:"text-sm text-muted-foreground",children:"Enter password to continue"})]}),o.jsxs("div",{className:"relative",children:[o.jsx(ne,{type:s?"text":"password",value:n,onChange:$=>{r($.target.value),l(!1)},onKeyDown:$=>$.key==="Enter"&&T(),placeholder:"Password",className:a?"border-destructive":""}),o.jsx("button",{type:"button",onClick:()=>i(!s),className:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:s?o.jsx(bm,{className:"h-4 w-4"}):o.jsx(jm,{className:"h-4 w-4"})})]}),a&&o.jsx("p",{className:"text-sm text-destructive",children:"Incorrect password"}),o.jsx(ge,{onClick:T,className:"w-full",children:"Unlock"})]})})})},xa="https://nyjulmckeel.com",Ib=[{q:"What makes the best real estate agent in Frisco TX different from a good one?",a:"The best agent in Frisco doesn't just sell homes — they specialize in Frisco exclusively. They know every neighborhood, every school zone, every new development, and every market trend. A good agent covers DFW. The best agent covers Frisco — and only Frisco."},{q:"How do I find a trusted real estate advisor in Frisco?",a:"Look for an agent who lives in Frisco, works in Frisco, and has a track record of results in Frisco. Check reviews, ask for local references, and make sure they know the difference between Starwood and Newman Village — not just that both are in Frisco."},{q:"What should I look for in a Frisco real estate agent's track record?",a:"Focus on days on market, list-to-sale price ratio, and the number of transactions specifically in Frisco. An agent who closes 50 deals across DFW isn't the same as one who closes 20 deals exclusively in Frisco."},{q:"Why does local expertise matter so much in Frisco real estate?",a:"Frisco is one of the fastest-growing cities in America with dozens of distinct neighborhoods, new developments like Fields, and rapidly shifting market conditions. An agent who doesn't specialize here will miss nuances that cost you money."},{q:"How does Nyjul McKeel compare to other Frisco agents?",a:"Nyjul is Frisco's dedicated real estate advisor — not a generalist. He focuses 100% on Frisco, operates with faith-driven integrity, and provides the kind of personalized, expert guidance that national brokerages simply can't match."},{q:"What questions should I ask before hiring a Frisco real estate agent?",a:"Ask: How many Frisco transactions have you closed this year? Which Frisco neighborhoods do you know best? Can you provide local references? What's your marketing strategy for Frisco specifically? The answers will tell you everything."},{q:"Do I need a buyer's agent in Frisco TX?",a:"Absolutely. In a competitive market like Frisco, having a dedicated buyer's agent who knows off-market opportunities, new construction timelines, and neighborhood-specific pricing gives you a significant advantage."},{q:"What's the average commission for a real estate agent in Frisco?",a:"Commission structures vary, but the best Frisco agents earn their fee through superior market knowledge, strategic negotiation, and faster closings. The right agent doesn't cost you money — they save you money."},{q:"Should I use the listing agent as my buyer's agent in Frisco?",a:"Generally no. Having your own dedicated buyer's agent ensures someone is advocating exclusively for your interests. In a market as competitive as Frisco, you want someone in your corner — not someone trying to serve both sides."},{q:"How can I verify a Frisco real estate agent's credentials?",a:"Check the Texas Real Estate Commission (TREC) database for license status, review Google and Zillow reviews, ask for recent Frisco-specific transaction history, and speak with past clients. A great agent will happily provide all of this."}],Az=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Who Is the Best Real Estate Agent in Frisco TX? | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"Find out who the best real estate agent in Frisco TX is. Learn what separates a great Frisco agent from a good one and why local expertise matters."}),o.jsx("link",{rel:"canonical",href:`${xa}/faq/best-agent-frisco`}),o.jsx("meta",{property:"og:title",content:"Best Real Estate Agent in Frisco TX"}),o.jsx("meta",{property:"og:description",content:"What makes the best Frisco real estate agent? Local expertise, integrity, and results."}),o.jsx("meta",{property:"og:url",content:`${xa}/faq/best-agent-frisco`}),o.jsx("meta",{property:"og:type",content:"article"}),o.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:Ib.map(e=>({"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:e.a}}))})}),o.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:`${xa}/`},{"@type":"ListItem",position:2,name:"FAQ",item:`${xa}/faq/best-agent-frisco`},{"@type":"ListItem",position:3,name:"Best Real Estate Agent in Frisco TX",item:`${xa}/faq/best-agent-frisco`}]})})]}),o.jsx("section",{className:"py-20 md:py-28 bg-secondary",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-muted-foreground mb-4",children:"FAQ"})}),o.jsx(E,{delay:.1,children:o.jsx("h1",{className:"heading-display max-w-4xl",children:"Who Is the Best Real Estate Agent in Frisco TX?"})}),o.jsx(E,{delay:.2,children:o.jsx("p",{className:"text-body text-muted-foreground max-w-2xl mt-6",children:"The answer depends on what you value: local expertise, integrity, and a client-first approach. Here's what to look for — and why Frisco specialists outperform generalists every time."})})]})}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury max-w-3xl",children:[o.jsx(E,{children:o.jsx(Ss,{type:"single",collapsible:!0,className:"w-full",children:Ib.map((e,t)=>o.jsxs(hr,{value:`item-${t}`,children:[o.jsx(fr,{className:"text-left font-serif text-lg",children:e.q}),o.jsx(mr,{className:"text-muted-foreground leading-relaxed",children:e.a})]},t))})}),o.jsx(E,{delay:.1,children:o.jsxs("div",{className:"mt-16 text-center",children:[o.jsx("h2",{className:"heading-card mb-4",children:"Ready to Work With Frisco's Best?"}),o.jsx("p",{className:"text-body text-muted-foreground mb-8",children:"Schedule a no-obligation consultation with Nyjul McKeel."}),o.jsx(H,{to:"/contact",className:"btn-luxury",children:"Contact Nyjul"})]})})]})})]}),wa="https://nyjulmckeel.com",Ob=[{q:"Where are the best luxury neighborhoods in Frisco TX?",a:"Frisco's top luxury communities include Starwood, Newman Village, Phillips Creek Ranch, The Hills of Kingswood, Richwoods, and Frisco Lakes. Each offers a distinct lifestyle — from resort-style amenities to custom estate lots."},{q:"What is the average price of a luxury home in Frisco?",a:"Luxury homes in Frisco typically start around $800,000 and range well into the $2M+ category, especially in communities like Starwood and Newman Village. Pricing depends on lot size, finishes, and community amenities."},{q:"Are there new luxury developments coming to Frisco?",a:"Yes. The Fields development is one of Frisco's most anticipated new communities, bringing luxury homes, retail, and entertainment to the area. Several custom builders are also developing new luxury sections within existing communities."},{q:"What amenities do Frisco luxury communities offer?",a:"Most luxury communities in Frisco feature resort-style pools, tennis courts, walking trails, clubhouses, and proximity to top-rated Frisco ISD schools. Some, like Phillips Creek Ranch, even offer lakes and nature preserves."},{q:"How competitive is the luxury home market in Frisco?",a:"Very competitive. Well-priced luxury homes in desirable Frisco neighborhoods often receive multiple offers. Having an agent who knows off-market opportunities and builder relationships is critical."},{q:"What should I look for when buying a luxury home in Frisco?",a:"Beyond the home itself, evaluate the community's HOA, school zoning, future development plans nearby, and resale potential. A Frisco specialist can help you navigate all of these factors."},{q:"Are luxury homes in Frisco a good investment?",a:"Historically, yes. Frisco's population growth, corporate relocations (PGA, Universal Studios), and top-rated school district drive strong appreciation. Luxury homes in established communities have shown consistent value growth."},{q:"How do Frisco luxury homes compare to Highland Park or Southlake?",a:"Frisco offers newer construction, larger lots, and more modern amenities at a lower price per square foot compared to Highland Park. Compared to Southlake, Frisco provides similar luxury with stronger growth trajectory and newer communities."},{q:"Can I find waterfront luxury homes in Frisco?",a:"Yes. Communities like Frisco Lakes by Del Webb and parts of Phillips Creek Ranch offer waterfront or lake-adjacent luxury living with stunning views and exclusive amenities."},{q:"How do I schedule a private tour of luxury homes in Frisco?",a:"Contact Nyjul McKeel directly for a private, curated tour of Frisco's finest luxury properties — including off-market listings not available on public search platforms."}],Rz=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Luxury Homes for Sale in Frisco TX | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"Find luxury homes for sale in Frisco TX. Explore Starwood, Newman Village, Phillips Creek Ranch & more. Expert guidance from Nyjul McKeel."}),o.jsx("link",{rel:"canonical",href:`${wa}/faq/luxury-homes-frisco`}),o.jsx("meta",{property:"og:title",content:"Luxury Homes for Sale in Frisco TX"}),o.jsx("meta",{property:"og:description",content:"Explore Frisco's finest luxury communities and homes for sale."}),o.jsx("meta",{property:"og:url",content:`${wa}/faq/luxury-homes-frisco`}),o.jsx("meta",{property:"og:type",content:"article"}),o.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:Ob.map(e=>({"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:e.a}}))})}),o.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:`${wa}/`},{"@type":"ListItem",position:2,name:"FAQ",item:`${wa}/faq/luxury-homes-frisco`},{"@type":"ListItem",position:3,name:"Luxury Homes for Sale in Frisco TX",item:`${wa}/faq/luxury-homes-frisco`}]})})]}),o.jsx("section",{className:"py-20 md:py-28 bg-secondary",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-muted-foreground mb-4",children:"FAQ"})}),o.jsx(E,{delay:.1,children:o.jsx("h1",{className:"heading-display max-w-4xl",children:"Where Can I Find Luxury Homes for Sale in Frisco TX?"})}),o.jsx(E,{delay:.2,children:o.jsx("p",{className:"text-body text-muted-foreground max-w-2xl mt-6",children:"Frisco is home to some of North Texas's most prestigious luxury communities. Here's everything you need to know about finding your dream home."})})]})}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury max-w-3xl",children:[o.jsx(E,{children:o.jsx(Ss,{type:"single",collapsible:!0,className:"w-full",children:Ob.map((e,t)=>o.jsxs(hr,{value:`item-${t}`,children:[o.jsx(fr,{className:"text-left font-serif text-lg",children:e.q}),o.jsx(mr,{className:"text-muted-foreground leading-relaxed",children:e.a})]},t))})}),o.jsx(E,{delay:.1,children:o.jsxs("div",{className:"mt-16 text-center",children:[o.jsx("h2",{className:"heading-card mb-4",children:"Tour Frisco's Finest Luxury Homes"}),o.jsx("p",{className:"text-body text-muted-foreground mb-8",children:"Schedule a private tour with Nyjul McKeel."}),o.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[o.jsx(H,{to:"/luxury",className:"btn-luxury",children:"Explore Luxury"}),o.jsx(H,{to:"/contact",className:"btn-luxury",children:"Contact Nyjul"})]})]})})]})})]}),ba="https://nyjulmckeel.com",Fb=[{q:"How do I find out what my home is worth in Frisco TX?",a:"The most accurate way is to request a Comparative Market Analysis (CMA) from a local Frisco specialist. Online estimates from Zillow and Redfin are a starting point, but they can't account for Frisco-specific factors like community amenities, school zoning, and recent comparable sales in your exact neighborhood."},{q:"What factors affect home values in Frisco?",a:"Key factors include school district zoning (Frisco ISD is highly rated), proximity to new developments like Fields, lot size, home condition, community amenities, and recent comparable sales. Market conditions — inventory levels, interest rates, and buyer demand — also play a significant role."},{q:"How accurate are online home value estimates for Frisco?",a:"Online estimates (Zestimates, Redfin estimates) can be off by 5-15% in Frisco because they don't account for unique community features, recent renovations, or micro-market trends within specific neighborhoods. A local CMA is far more accurate."},{q:"What is a Comparative Market Analysis (CMA)?",a:"A CMA is a detailed report comparing your home to similar recently sold properties in your Frisco neighborhood. It considers square footage, lot size, condition, upgrades, and community features to determine a realistic market value."},{q:"How often do Frisco home values change?",a:"Frisco home values can shift quarterly based on market conditions. With the city's rapid growth, corporate relocations, and new construction activity, staying current on market trends is essential for accurate pricing."},{q:"Does my Frisco neighborhood affect my home's value?",a:"Absolutely. A home in Starwood will be valued differently than a similar home in Panther Creek, even if the square footage is identical. Community reputation, amenities, HOA quality, and school zoning all impact value."},{q:"What improvements increase home value most in Frisco?",a:"Kitchen and bathroom updates, outdoor living spaces, and energy-efficient upgrades typically provide the best ROI in Frisco. Smart home features and modern finishes are increasingly valued by Frisco buyers."},{q:"Should I get a home appraisal or a CMA in Frisco?",a:"For selling purposes, start with a CMA from a local agent — it's free and gives you market-based pricing strategy. Appraisals are typically ordered by lenders during the closing process and may differ from market value."},{q:"How does new construction in Frisco affect my existing home's value?",a:"New construction can both help and hurt existing home values. Proximity to new development brings amenities and demand, but competing with brand-new homes requires strategic pricing and marketing. A Frisco specialist can navigate this."},{q:"How do I get a free home valuation in Frisco?",a:"Contact Nyjul McKeel for a complimentary, no-obligation Frisco home valuation. As a Frisco specialist, he'll provide a detailed market analysis based on real local data — not an algorithm."}],Iz=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"What Is My Home Worth in Frisco TX? | Free Valuation"}),o.jsx("meta",{name:"description",content:"Find out what your home is worth in Frisco TX. Get a free, expert market analysis from Nyjul McKeel — Frisco's dedicated real estate advisor."}),o.jsx("link",{rel:"canonical",href:`${ba}/faq/home-worth-frisco`}),o.jsx("meta",{property:"og:title",content:"What Is My Home Worth in Frisco TX?"}),o.jsx("meta",{property:"og:description",content:"Free Frisco home valuation from a local expert."}),o.jsx("meta",{property:"og:url",content:`${ba}/faq/home-worth-frisco`}),o.jsx("meta",{property:"og:type",content:"article"}),o.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:Fb.map(e=>({"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:e.a}}))})}),o.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:`${ba}/`},{"@type":"ListItem",position:2,name:"FAQ",item:`${ba}/faq/home-worth-frisco`},{"@type":"ListItem",position:3,name:"What Is My Home Worth in Frisco TX",item:`${ba}/faq/home-worth-frisco`}]})})]}),o.jsx("section",{className:"py-20 md:py-28 bg-secondary",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-muted-foreground mb-4",children:"FAQ"})}),o.jsx(E,{delay:.1,children:o.jsx("h1",{className:"heading-display max-w-4xl",children:"What Is My Home Worth in Frisco TX?"})}),o.jsx(E,{delay:.2,children:o.jsx("p",{className:"text-body text-muted-foreground max-w-2xl mt-6",children:"Your Frisco home's value depends on far more than what Zillow says. Here's how to get an accurate picture — and why local expertise matters."})})]})}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury max-w-3xl",children:[o.jsx(E,{children:o.jsx(Ss,{type:"single",collapsible:!0,className:"w-full",children:Fb.map((e,t)=>o.jsxs(hr,{value:`item-${t}`,children:[o.jsx(fr,{className:"text-left font-serif text-lg",children:e.q}),o.jsx(mr,{className:"text-muted-foreground leading-relaxed",children:e.a})]},t))})}),o.jsx(E,{delay:.1,children:o.jsxs("div",{className:"mt-16 text-center",children:[o.jsx("h2",{className:"heading-card mb-4",children:"Get Your Free Frisco Home Valuation"}),o.jsx("p",{className:"text-body text-muted-foreground mb-8",children:"No algorithms. No guesswork. Just real local market data from a Frisco specialist."}),o.jsx(H,{to:"/home-valuation",className:"btn-luxury",children:"Get My Free Valuation"})]})})]})})]}),Oz="https://nyjulmckeel.com",Fz=[{icon:Vl,label:"Median Sale Price",value:"$640K",note:"Frisco — single-family"},{icon:VS,label:"Avg Days on Market",value:"55–70",note:"Up YoY — normalizing"},{icon:qo,label:"Sale-to-List Ratio",value:"~98.6%",note:"Slight buyer leverage"},{icon:Wo,label:"Months of Inventory",value:"2–3",note:"Balanced market"}],Mz=[{area:"West Frisco (75033, 75034)",note:"Established luxury — Starwood, Stonebriar, Plantation Resort. Strongest price stability.",price:"$700K – $3M+"},{area:"East Frisco (75035)",note:"Newer construction, Phillips Creek Ranch, Richwoods. High family demand.",price:"$500K – $1.2M"},{area:"North Frisco / The Fields (75033)",note:"Master-planned, two PGA championship courses, Universal Kids Resort nearby. Fastest-growing luxury submarket.",price:"$800K – $3M+"},{area:"Frisco Lakes / Active Adult",note:"55+ communities with golf and resort amenities. Steady demand.",price:"$450K – $900K"}],Dz=[{icon:BS,title:"Corporate Relocations",desc:"PGA of America HQ, Universal Kids Resort (opening 2026), Toyota, JPMorgan Chase, and Liberty Mutual continue feeding executive housing demand."},{icon:pi,title:"Infrastructure Growth",desc:"DNT expansion, Universal opening, and the Fields master-planned community are reshaping North Frisco."},{icon:qo,title:"Long-Term Appreciation",desc:"Frisco has outpaced the national average for 10+ consecutive years. Even in cooling cycles, well-located homes hold value."}],Lz=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Frisco TX Real Estate Market Report 2025 | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"Live Frisco TX market report — median price ~$640K, 2-month inventory, days on market trends, neighborhood breakdowns, and what it means for buyers and sellers."}),o.jsx("link",{rel:"canonical",href:`${Oz}/market-report`})]}),o.jsx(jt,{slug:"market-report",eyebrow:"Market Intelligence",title:"Frisco Market Report",subtitle:"Don't rely on national headlines. Here's what's actually happening in Frisco real estate right now — block by block, price tier by price tier."}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6 mb-20",children:Fz.map((e,t)=>o.jsx(E,{delay:t*.08,children:o.jsxs("div",{className:"bg-secondary p-8 text-center h-full",children:[o.jsx(e.icon,{size:28,className:"text-gold mx-auto mb-4"}),o.jsx("p",{className:"text-caption text-muted-foreground mb-2",children:e.label}),o.jsx("p",{className:"text-3xl font-serif font-medium text-foreground mb-1",children:e.value}),o.jsx("p",{className:"text-sm text-muted-foreground",children:e.note})]})},e.label))}),o.jsxs("div",{className:"max-w-4xl mx-auto",children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-8",children:"The State of the Market"})}),o.jsx(E,{delay:.1,children:o.jsx("p",{className:"text-body text-muted-foreground mb-6",children:"Frisco's market has shifted from the white-hot frenzy of 2021–2022 into a more balanced phase. Inventory has climbed back to roughly 2–3 months of supply — the textbook definition of equilibrium — and well-priced homes are still trading near asking, while overpriced or dated homes are sitting longer than they did a year ago."})}),o.jsx(E,{delay:.15,children:o.jsx("p",{className:"text-body text-muted-foreground mb-12",children:"The luxury tier ($1M+) is more nuanced. Prestige communities like Starwood, Newman Village, and The Preserve at Fields continue to attract relocating executives and out-of-state buyers paying close to ask. Inventory in the $500K–$800K starter-luxury range is where buyers currently have the most leverage."})}),o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-8",children:"Submarket Breakdown"})}),o.jsx("div",{className:"space-y-6 mb-16",children:Mz.map((e,t)=>o.jsx(E,{delay:t*.08,children:o.jsxs("div",{className:"bg-secondary p-8",children:[o.jsxs("div",{className:"flex flex-col md:flex-row md:items-baseline md:justify-between gap-2 mb-3",children:[o.jsx("h3",{className:"heading-card",children:e.area}),o.jsx("span",{className:"text-gold text-sm font-medium",children:e.price})]}),o.jsx("p",{className:"text-body text-muted-foreground",children:e.note})]})},e.area))}),o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-8",children:"What's Driving Demand"})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6 mb-16",children:Dz.map((e,t)=>o.jsx(E,{delay:t*.1,children:o.jsxs("div",{className:"bg-secondary p-8 h-full",children:[o.jsx(e.icon,{size:24,className:"text-gold mb-4"}),o.jsx("h3",{className:"font-serif text-lg font-medium mb-2",children:e.title}),o.jsx("p",{className:"text-sm text-muted-foreground",children:e.desc})]})},e.title))}),o.jsx(E,{children:o.jsxs("div",{className:"bg-foreground text-background p-10 text-center",children:[o.jsx("h2",{className:"heading-card mb-4 text-background",children:"Get a Personalized Market Analysis"}),o.jsx("p",{className:"text-body text-background/70 mb-8 max-w-xl mx-auto",children:"Hyperlocal data for your specific neighborhood, price band, and timeline — straight from the MLS, not Zillow."}),o.jsx(H,{to:"/contact",className:"btn-luxury",children:"Request Your Report"})]})}),o.jsx(E,{children:o.jsx("p",{className:"text-xs text-muted-foreground text-center mt-8",children:"Data reflects rolling Frisco metrics from NTREIS MLS sources. Figures are approximate and update monthly."})})]})]})})]}),$z="https://nyjulmckeel.com",Bz=[{icon:Ig,title:"Top-Rated Schools",desc:"Frisco ISD is one of the most awarded districts in Texas — 146 National Merit Semifinalists in 2025 alone, and consistent A+ ratings across high schools."},{icon:vR,title:"Booming Job Market",desc:"PGA of America HQ, Toyota North America, JPMorgan Chase regional campus, Liberty Mutual, and the Dallas Cowboys at The Star — Frisco is corporate-relocation central."},{icon:DR,title:"DFW Convenience",desc:"30 minutes to DFW International, 25 minutes to Love Field, and direct access to the Dallas North Tollway — ideal for frequent travelers and remote executives."},{icon:qS,title:"Family-First Culture",desc:"300+ acres of parks, year-round community events, low crime, and one of the youngest median ages in North Texas."},{icon:Vl,title:"No State Income Tax",desc:"Texas has zero state income tax. For high earners relocating from CA, NY, or IL, the after-tax difference often more than offsets a higher home price."},{icon:pi,title:"Strategic DFW Location",desc:"Centered between Dallas and Fort Worth with quick access to luxury shopping, sports, fine dining, and outdoor recreation."}],Uz=[{match:"Executive Relocation",areas:"Starwood, Newman Village, The Preserve at Fields, Stonebriar"},{match:"Growing Families",areas:"Phillips Creek Ranch, Richwoods, Hollyhock, Frisco Lakes"},{match:"First-Time / Move-Up Buyers",areas:"Independence, Plantation Resort, Trails of West Frisco"},{match:"Active Adult / Empty Nesters",areas:"Frisco Lakes (Del Webb), The Tribute (Lantana), Heritage Lakes"}],Vz=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Relocating to Frisco TX | Complete Move Guide | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"Moving to Frisco TX? Your complete relocation guide — schools, employers, neighborhoods by lifestyle, cost of living, and what to expect. Expert local guidance."}),o.jsx("link",{rel:"canonical",href:`${$z}/relocation`})]}),o.jsx(jt,{slug:"relocation",eyebrow:"Relocation Guide",title:"Relocating to Frisco",subtitle:"Moving from out of state? You've made a great choice. Here's everything you need to navigate Frisco like a local from day one."}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-12 text-center",children:"Why People Choose Frisco"})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-20",children:Bz.map((e,t)=>o.jsx(E,{delay:t*.08,children:o.jsxs("div",{className:"bg-secondary p-8 h-full",children:[o.jsx(e.icon,{size:28,className:"text-gold mb-4"}),o.jsx("h3",{className:"heading-card mb-3",children:e.title}),o.jsx("p",{className:"text-body text-muted-foreground text-sm",children:e.desc})]})},e.title))}),o.jsxs("div",{className:"max-w-4xl mx-auto",children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-8",children:"Find Your Frisco Match"})}),o.jsx(E,{delay:.1,children:o.jsx("p",{className:"text-body text-muted-foreground mb-10",children:"Frisco isn't one neighborhood — it's dozens of distinct master-planned communities, each with its own personality. Here's a quick lifestyle filter:"})}),o.jsx("div",{className:"space-y-4 mb-16",children:Uz.map((e,t)=>o.jsx(E,{delay:t*.08,children:o.jsxs("div",{className:"bg-secondary p-6 md:p-8 flex flex-col md:flex-row md:items-center gap-3 md:gap-8",children:[o.jsx("div",{className:"md:w-1/3",children:o.jsx("p",{className:"text-gold text-sm font-medium uppercase tracking-wider",children:e.match})}),o.jsx("p",{className:"text-body text-foreground md:w-2/3",children:e.areas})]})},e.match))}),o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-6",children:"What to Expect — Your First 30 Days"})}),o.jsx(E,{delay:.1,children:o.jsxs("ul",{className:"space-y-3 text-body text-muted-foreground mb-12 list-disc pl-6",children:[o.jsxs("li",{children:[o.jsx("span",{className:"text-foreground",children:"Texas Driver's License & Vehicle Registration"})," — required within 90 days of establishing residency."]}),o.jsxs("li",{children:[o.jsx("span",{className:"text-foreground",children:"File Your Homestead Exemption"})," — saves you thousands in annual property tax. File between Jan 1 and April 30 of the year after closing."]}),o.jsxs("li",{children:[o.jsx("span",{className:"text-foreground",children:"School Enrollment"})," — Frisco ISD requires proof of residency, immunization records, and prior school records."]}),o.jsxs("li",{children:[o.jsx("span",{className:"text-foreground",children:"Utilities"})," — Frisco has both retail energy choice (Texas) and city water/trash via the City of Frisco."]}),o.jsxs("li",{children:[o.jsx("span",{className:"text-foreground",children:"HOA Onboarding"})," — most Frisco communities have HOAs. Get the welcome packet for amenity access codes and rules."]})]})}),o.jsx(E,{children:o.jsxs("div",{className:"bg-foreground text-background p-10 text-center",children:[o.jsx("h2",{className:"heading-card mb-4 text-background",children:"Your Frisco Relocation Advisor"}),o.jsx("p",{className:"text-body text-background/70 mb-8 max-w-xl mx-auto",children:"Virtual tours, neighborhood matchmaking, relocation-package coordination — I make moving across the country feel local."}),o.jsx(H,{to:"/contact",className:"btn-luxury",children:"Start Your Relocation"})]})})]})]})})]}),zz="https://nyjulmckeel.com",Hz=[{title:"Get Pre-Approved",desc:"Know your budget before you fall in love with a home. Pre-approval also makes your offer more competitive — many Frisco sellers won't even consider an offer without it."},{title:"Define Your Must-Haves",desc:"Bedrooms, school zone, commute time, HOA tolerance, budget. We'll build a focused list and identify the Frisco neighborhoods that actually fit."},{title:"Tour Strategically",desc:"Online photos lie. We'll tour the right homes (and skip the wrong ones) so you stay focused and avoid burnout."},{title:"Make a Strong Offer",desc:"Price isn't everything. Earnest money, option period, financing terms, and closing date all influence whether your offer wins."},{title:"Inspections & Appraisal",desc:"I coordinate inspections, negotiate repair credits, and make sure the appraisal hits — protecting your earnest money and your loan."},{title:"Close & Move In",desc:"Final walkthrough, signing, funding, keys. I'm at the table with you and don't disappear after closing."}],Wz=[{name:"TDHCA — My First Texas Home",desc:"Statewide first-time buyer program offering 30-year fixed-rate loans plus down payment / closing cost assistance up to 5% of the loan amount. Income and price limits apply."},{name:"TSAHC — Home Sweet Texas",desc:"Open to first-time and repeat buyers. Provides DPA grants and a Mortgage Credit Certificate (MCC) — a federal tax credit worth up to $2,000/year for the life of the loan."},{name:"TSAHC — Homes for Texas Heroes",desc:"DPA for teachers, first responders, peace officers, corrections officers, EMS, nurses, and veterans. Same MCC option available."},{name:"FHA Loans",desc:"3.5% down with credit scores as low as 580. Excellent option for first-time buyers in Frisco's $400K–$550K price range."},{name:"Conventional 97 / HomeReady / Home Possible",desc:"3% down conventional loans with cancellable PMI — often a better long-term value than FHA if your credit is strong."}],Mb=[{q:"How much do I really need for a down payment in Frisco?",a:"You don't need 20%. FHA loans require 3.5%, conventional loans as little as 3%, and VA loans 0%. On a $500,000 Frisco home, that can be $15,000–$17,500 — not the $100,000 most people assume."},{q:"What credit score do I need?",a:"FHA accepts 580+. Conventional usually wants 620+. To get the best rates, aim for 740+. I work with lenders who can run a soft pull and give you a free credit improvement plan if you're close."},{q:"What can I actually afford in Frisco today?",a:"The starter market in Frisco is roughly $400K–$550K. Townhomes and older single-family homes in 75034/75035 are where most first-time buyers land. We'll dial in the exact range based on your pre-approval."},{q:"What other costs should I plan for?",a:"Closing costs (2–3% of price), inspection ($350–$700), appraisal ($500), survey ($500), and the first year of homeowner's insurance + property tax escrow. Many sellers will contribute to closing costs — that's something I negotiate for you."},{q:"How long does the process take?",a:"From offer accepted to keys in hand is typically 30–45 days. Pre-approval through closing, plan on 60–90 days from your first showing."},{q:"Should I wait for rates to drop?",a:"Trying to time the market usually costs more than it saves. The right answer is buying when your finances are ready and refinancing later if rates drop. I'll connect you with lenders who offer free refinances within the first year if rates fall."}],qz=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"First-Time Home Buyers in Frisco TX | Programs & Process | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"First-time buyer in Frisco TX? TSAHC, TDHCA, FHA, and conventional 3%-down programs explained. Step-by-step process, FAQs, and expert local guidance."}),o.jsx("link",{rel:"canonical",href:`${zz}/first-time-buyers`}),o.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:Mb.map(e=>({"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:e.a}}))})})]}),o.jsx(jt,{slug:"first-time-buyers",eyebrow:"First-Time Buyers",title:"Your First Home in Frisco",subtitle:"Buying your first home should feel exciting — not overwhelming. Here's exactly how we'll get you there, plus the Texas programs that can make it more affordable."}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury max-w-4xl",children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-12",children:"The Step-by-Step Process"})}),o.jsx("div",{className:"space-y-8 mb-20",children:Hz.map((e,t)=>o.jsx(E,{delay:t*.06,children:o.jsxs("div",{className:"flex gap-6",children:[o.jsx("div",{className:"flex-shrink-0 mt-1",children:o.jsx("div",{className:"w-10 h-10 bg-gold rounded-full flex items-center justify-center text-background font-medium",children:t+1})}),o.jsxs("div",{children:[o.jsx("h3",{className:"heading-card mb-2",children:e.title}),o.jsx("p",{className:"text-body text-muted-foreground",children:e.desc})]})]})},e.title))}),o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-6",children:"Texas First-Time Buyer Programs"})}),o.jsx(E,{delay:.1,children:o.jsx("p",{className:"text-body text-muted-foreground mb-10",children:`Texas offers some of the most generous first-time buyer assistance in the country. Most buyers don't know these exist — and lenders sometimes "forget" to mention them.`})}),o.jsx("div",{className:"space-y-4 mb-20",children:Wz.map((e,t)=>o.jsx(E,{delay:t*.06,children:o.jsxs("div",{className:"bg-secondary p-6 md:p-8",children:[o.jsx("h3",{className:"font-serif text-lg font-medium text-gold mb-2",children:e.name}),o.jsx("p",{className:"text-sm text-muted-foreground",children:e.desc})]})},e.name))}),o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-8",children:"Frequently Asked Questions"})}),o.jsx(E,{delay:.1,children:o.jsx(Ss,{type:"single",collapsible:!0,className:"mb-16",children:Mb.map((e,t)=>o.jsxs(hr,{value:`faq-${t}`,className:"border-border",children:[o.jsx(fr,{className:"text-left font-serif text-base hover:text-gold",children:e.q}),o.jsx(mr,{className:"text-muted-foreground",children:e.a})]},t))})}),o.jsx(E,{children:o.jsxs("div",{className:"bg-foreground text-background p-10 text-center",children:[o.jsx("h2",{className:"heading-card mb-4 text-background",children:"Ready to Find Your First Home?"}),o.jsx("p",{className:"text-body text-background/70 mb-8 max-w-xl mx-auto",children:"No pressure, no jargon — just a clear plan to get you the keys to your first Frisco home."}),o.jsx(H,{to:"/contact",className:"btn-luxury-inverse",children:"Let's Get Started"})]})})]})})]}),Kz="https://nyjulmckeel.com",Gz=[{name:"Starwood",desc:"Frisco's most prestigious gated community. Custom estates on large lots, the Tom Fazio-designed Trails course, and resort-style amenities. The benchmark for Frisco luxury.",price:"$1.2M – $4M+"},{name:"Newman Village",desc:"Old-world Tuscan-inspired architecture, gated entries, lakes, and a private resident club. Walkable to top Frisco ISD schools.",price:"$1M – $3M+"},{name:"The Preserve at Fields",desc:"Exclusive gated community within the Fields master plan. Two PGA championship courses, rolling topography, and brand-new custom inventory.",price:"$1.5M – $5M+"},{name:"Phillips Creek Ranch",desc:"Nature-inspired luxury — lakes, miles of trails, resort pools, and a thoughtfully designed community center. Strong family demand.",price:"$700K – $1.6M"},{name:"Stonebriar",desc:"Established golf course community anchored by Stonebriar Country Club. Mature trees, prestige address, and excellent schools.",price:"$800K – $2.5M"},{name:"The Hills of Kingswood",desc:"Quiet luxury enclave with mature landscaping, large homesites, and a tight-knit community feel in central Frisco.",price:"$900K – $1.8M"},{name:"Richwoods",desc:"Newer luxury community with custom and semi-custom homes, walking trails, and zoned to top-rated Frisco ISD campuses.",price:"$650K – $1.3M"},{name:"Plantation Resort",desc:"Established golf community with a country-club lifestyle and steady appreciation. Great value in west Frisco.",price:"$600K – $1.2M"}],Yz=[{icon:Og,title:"Off-Market Access",desc:"Many Frisco luxury sales never hit the MLS. Through agent networks and private listings, I bring you opportunities the public never sees."},{icon:Mg,title:"Discreet Representation",desc:"For sellers who value privacy — pre-MLS marketing, NDA tours, and confidential negotiations."},{icon:Sm,title:"Concierge Process",desc:"Stagers, photographers, drone, video, and on-property tour coordination — handled end to end."},{icon:HS,title:"Negotiation Expertise",desc:"Luxury deals have nuance — leasebacks, appraisal gap clauses, repair credits. I protect your equity at every stage."}],Qz=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Luxury Real Estate in Frisco TX | Premier Communities | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"Frisco TX luxury homes — Starwood, Newman Village, Preserve at Fields, Stonebriar, Phillips Creek Ranch and more. Off-market access and concierge service."}),o.jsx("link",{rel:"canonical",href:`${Kz}/luxury`})]}),o.jsx(jt,{slug:"luxury",eyebrow:"Luxury Real Estate",title:"Frisco Luxury Living",subtitle:"From gated golf estates to modern architectural masterpieces — your guide to Frisco's most coveted communities, plus access to listings the public never sees."}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-12",children:"Premier Communities"})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-20",children:Gz.map((e,t)=>o.jsx(E,{delay:t*.06,children:o.jsxs("div",{className:"bg-secondary p-8 h-full flex flex-col",children:[o.jsx("h3",{className:"heading-card text-gold mb-3",children:e.name}),o.jsx("p",{className:"text-body text-muted-foreground text-sm mb-4 flex-1",children:e.desc}),o.jsx("p",{className:"text-caption text-foreground border-t border-border pt-4",children:e.price})]})},e.name))}),o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-12 text-center",children:"The Luxury Difference"})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mb-16 max-w-5xl mx-auto",children:Yz.map((e,t)=>o.jsx(E,{delay:t*.08,children:o.jsxs("div",{className:"bg-secondary p-8 h-full",children:[o.jsx(e.icon,{size:28,className:"text-gold mb-4"}),o.jsx("h3",{className:"heading-card mb-3",children:e.title}),o.jsx("p",{className:"text-body text-muted-foreground text-sm",children:e.desc})]})},e.title))}),o.jsx(E,{children:o.jsxs("div",{className:"bg-foreground text-background p-10 text-center max-w-3xl mx-auto",children:[o.jsx("h2",{className:"heading-card mb-4 text-background",children:"Tour Frisco's Finest"}),o.jsx("p",{className:"text-body text-background/70 mb-8",children:"Including off-market and pre-MLS opportunities not available on public platforms."}),o.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[o.jsx(H,{to:"/properties",className:"btn-luxury",children:"View Properties"}),o.jsx(H,{to:"/contact",className:"btn-luxury",children:"Schedule a Private Tour"})]})]})})]})})]}),Xz="https://nyjulmckeel.com",Jz=[{icon:Ig,stat:"75+",label:"Campuses"},{icon:DS,stat:"146",label:"2025 National Merit Semifinalists"},{icon:hl,stat:"67,000+",label:"Students"},{icon:qo,stat:"16:1",label:"Avg Student-Teacher Ratio"}],Zz=[{name:"Frisco ISD",desc:"The dominant district covering most of Frisco. A-rated, nationally recognized, and one of the most awarded school systems in Texas. 11 high schools, 17 middle schools, and 40+ elementary schools.",areas:"Most of Frisco — 75033, 75034, 75035"},{name:"Lewisville ISD",desc:"Covers a portion of southwest Frisco. Strong academic and arts programs, particularly at Hebron High School (consistently top-ranked statewide).",areas:"Southwest Frisco — Hebron HS feeder"},{name:"Prosper ISD",desc:"Covers far north and northeast Frisco — the fastest-growing area as Fields and other master-planned communities expand. Newer campuses with state-of-the-art facilities.",areas:"Far North Frisco — Fields, parts of 75033 / 75035"},{name:"Little Elm ISD",desc:"Covers far west Frisco. Smaller district feel with growing reputation and competitive athletics.",areas:"Far West Frisco"}],eH=[{name:"Wakeland HS",district:"Frisco ISD",note:"Consistently top 5% in Texas. Strong academics + athletics."},{name:"Liberty HS",district:"Frisco ISD",note:"High-performing campus, modern facilities, strong fine arts."},{name:"Frisco HS",district:"Frisco ISD",note:"The original — strong tradition, balanced academics and athletics."},{name:"Lone Star HS",district:"Frisco ISD",note:"Excellent STEM programs and competitive athletics."},{name:"Reedy HS",district:"Frisco ISD",note:"Newer west-Frisco campus with growing academic reputation."},{name:"Centennial HS",district:"Frisco ISD",note:"Strong IB and AP programs, diverse student body."},{name:"Heritage HS",district:"Frisco ISD",note:"Solid academics with notable performing arts."},{name:"Memorial HS",district:"Frisco ISD",note:"Newer campus serving fast-growing east Frisco."},{name:"Independence HS",district:"Frisco ISD",note:"High-performing campus with strong dual-credit programs."},{name:"Lebanon Trail HS",district:"Frisco ISD",note:"Modern campus with cutting-edge CTE pathways."},{name:"Hebron HS",district:"Lewisville ISD",note:"Statewide top-tier — academics, athletics, and band powerhouse."},{name:"Prosper / Walnut Grove / Rock Hill HS",district:"Prosper ISD",note:"Three high schools serving Prosper ISD's north-Frisco footprint."}],tH=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Frisco ISD & School Districts Guide | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"Complete guide to Frisco ISD, Lewisville ISD, Prosper ISD, and Little Elm ISD — campus rankings, feeder patterns, and how school zones affect home values in Frisco TX."}),o.jsx("link",{rel:"canonical",href:`${Xz}/school-district`})]}),o.jsx(jt,{slug:"school-district",eyebrow:"School District Guide",title:"Frisco Schools",subtitle:"For most families, schools drive the home search. Here's a clear breakdown of every district that touches Frisco — and how zoning affects your property value."}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-6 mb-20",children:Jz.map((e,t)=>o.jsx(E,{delay:t*.08,children:o.jsxs("div",{className:"bg-secondary p-8 text-center h-full",children:[o.jsx(e.icon,{size:28,className:"text-gold mx-auto mb-4"}),o.jsx("p",{className:"text-3xl font-serif font-medium text-foreground mb-1",children:e.stat}),o.jsx("p",{className:"text-caption text-muted-foreground",children:e.label})]})},e.label))}),o.jsxs("div",{className:"max-w-5xl mx-auto",children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-8",children:"Frisco's Four School Districts"})}),o.jsx(E,{delay:.1,children:o.jsx("p",{className:"text-body text-muted-foreground mb-10",children:"Frisco isn't one district — it's four. Even neighbors across the street can be zoned to different campuses. Always verify the specific school zone before writing an offer."})}),o.jsx("div",{className:"space-y-4 mb-20",children:Zz.map((e,t)=>o.jsx(E,{delay:t*.08,children:o.jsxs("div",{className:"bg-secondary p-8",children:[o.jsxs("div",{className:"flex flex-col md:flex-row md:items-baseline md:justify-between gap-2 mb-3",children:[o.jsx("h3",{className:"heading-card text-gold",children:e.name}),o.jsx("span",{className:"text-xs text-muted-foreground uppercase tracking-wider",children:e.areas})]}),o.jsx("p",{className:"text-body text-muted-foreground text-sm",children:e.desc})]})},e.name))}),o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-12",children:"Notable High Schools"})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 mb-16",children:eH.map((e,t)=>o.jsx(E,{delay:t*.04,children:o.jsxs("div",{className:"bg-secondary p-6 h-full",children:[o.jsx("h3",{className:"font-serif text-base font-medium mb-1",children:e.name}),o.jsx("p",{className:"text-xs text-gold uppercase tracking-wider mb-2",children:e.district}),o.jsx("p",{className:"text-sm text-muted-foreground",children:e.note})]})},e.name))}),o.jsx(E,{children:o.jsxs("div",{className:"bg-foreground text-background p-10 text-center",children:[o.jsx("h2",{className:"heading-card mb-4 text-background",children:"Find Homes in Your Preferred School Zone"}),o.jsx("p",{className:"text-body text-background/70 mb-8 max-w-xl mx-auto",children:"I'll verify school zoning street-by-street and find homes that fit your family's academic priorities."}),o.jsx(H,{to:"/contact",className:"btn-luxury",children:"Contact Nyjul"})]})})]})]})})]}),nH="https://nyjulmckeel.com",rH=[{name:"Frisco Freedom Fest",when:"July 4th",icon:OR,desc:"The City of Frisco's official Independence Day celebration at the Frisco Heritage Center. Live music, family activities, and one of the largest fireworks finales in North Texas."},{name:"Christmas in the Square",when:"Mid-November – Early January",icon:Sm,desc:"The largest choreographed holiday lights and music show in North Texas. Free nightly performances at Frisco Square — a true family tradition."},{name:"Frisco StrEATS",when:"Spring & Fall",icon:hl,desc:"Outdoor street festival at Frisco Square with food trucks, local vendors, live entertainment, and family activities."},{name:"Arts in the Square",when:"April",icon:Sm,desc:"Juried fine art festival featuring 100+ artists from across the country, live music, and culinary experiences in the heart of Frisco Square."},{name:"Frisco Rotary Wine Fest",when:"Spring",icon:hl,desc:"Premier charity fundraiser featuring fine wines, gourmet bites, and silent auction — proceeds benefit local nonprofits."},{name:"FC Dallas / Toyota Stadium",when:"MLS Season — Feb–Oct",icon:Rx,desc:"Major League Soccer matches plus international friendlies and concerts. Toyota Stadium is also home to college football's Frisco Bowl each December."},{name:"Frisco Farmers Market",when:"Year-Round Saturdays",icon:VS,desc:"Local produce, artisan goods, prepared foods, and live music every Saturday morning at Frisco Fresh Market."},{name:"Dallas Cowboys at The Star",when:"Year-Round",icon:Rx,desc:"Public training camp viewings, tours of The Star, restaurants, and Cowboys-themed events at the team's world headquarters in Frisco."}],sH=[{name:"The Star in Frisco",desc:"Dallas Cowboys world HQ + Ford Center, restaurants, hotels, and shopping."},{name:"Toyota Stadium",desc:"Home of FC Dallas, the National Soccer Hall of Fame, and the Frisco Bowl."},{name:"Comerica Center",desc:"Practice facility for the Dallas Stars and home to concerts, conferences, and family events."},{name:"PGA Frisco / Fields Ranch",desc:"PGA of America headquarters with two championship courses, the Omni PGA Frisco Resort, and major tournaments."},{name:"Riders Field",desc:"Home of the Frisco RoughRiders (Texas Rangers AA affiliate) — affordable family baseball April through September."},{name:"Universal Kids Resort",desc:"Universal Parks' first family-focused resort, opening in Frisco. Major economic and tourism driver."}],iH=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Frisco TX Community Events & Lifestyle | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"Frisco TX community events guide — Christmas in the Square, Freedom Fest, Arts in the Square, FC Dallas, PGA Frisco, The Star, and more. Why Frisco is the best place to live in DFW."}),o.jsx("link",{rel:"canonical",href:`${nH}/community-events`})]}),o.jsx(jt,{slug:"community-events",eyebrow:"Community & Lifestyle",title:"Life in Frisco",subtitle:"Frisco isn't just a great place to buy — it's a great place to live. Here's the year-round calendar that makes it feel like home."}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-12",children:"Signature Annual Events"})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-20",children:rH.map((e,t)=>o.jsx(E,{delay:t*.06,children:o.jsxs("div",{className:"bg-secondary p-8 h-full",children:[o.jsx(e.icon,{size:24,className:"text-gold mb-4"}),o.jsx("h3",{className:"heading-card mb-2",children:e.name}),o.jsx("p",{className:"text-caption text-gold mb-3",children:e.when}),o.jsx("p",{className:"text-body text-muted-foreground text-sm",children:e.desc})]})},e.name))}),o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-12",children:"Iconic Frisco Venues"})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-16",children:sH.map((e,t)=>o.jsx(E,{delay:t*.06,children:o.jsxs("div",{className:"bg-secondary p-8 h-full",children:[o.jsx(pi,{size:20,className:"text-gold mb-3"}),o.jsx("h3",{className:"font-serif text-lg font-medium mb-2",children:e.name}),o.jsx("p",{className:"text-sm text-muted-foreground",children:e.desc})]})},e.name))}),o.jsx(E,{children:o.jsxs("div",{className:"bg-foreground text-background p-10 text-center max-w-3xl mx-auto",children:[o.jsx("h2",{className:"heading-card mb-4 text-background",children:"Ready to Call Frisco Home?"}),o.jsx("p",{className:"text-body text-background/70 mb-8",children:"Find the neighborhood that matches your lifestyle — close to the events, schools, and amenities that matter most."}),o.jsx(H,{to:"/contact",className:"btn-luxury",children:"Contact Nyjul"})]})})]})})]}),oH="https://nyjulmckeel.com",aH=()=>{const[e,t]=x.useState(64e4),[n,r]=x.useState(20),[s,i]=x.useState(6.75),[a,l]=x.useState(30),[c,u]=x.useState(2.2),[d,h]=x.useState(150),[f,m]=x.useState(75),w=e*(1-n/100),p=s/100/12,y=a*12,g=p>0?w*p*Math.pow(1+p,y)/(Math.pow(1+p,y)-1):w/y,v=e*(c/100)/12,b=n<20?w*.005/12:0,j=g+v+d+f+b,S=k=>Math.round(k).toLocaleString();return o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Frisco TX Mortgage Calculator | Estimate Your Payment | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"Calculate your monthly mortgage payment for a Frisco TX home — including Texas property taxes (~2.2%), insurance, HOA, and PMI. Built for Frisco buyers."}),o.jsx("link",{rel:"canonical",href:`${oH}/mortgage-calculator`})]}),o.jsx(jt,{slug:"mortgage-calculator",eyebrow:"Mortgage Calculator",title:"Plan Your Payment",subtitle:"Estimate your full monthly payment for a Frisco home — principal, interest, Texas property taxes, insurance, HOA, and PMI."}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury max-w-5xl",children:[o.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12",children:[o.jsx(E,{children:o.jsxs("div",{className:"space-y-5",children:[o.jsxs("div",{children:[o.jsx("label",{className:"text-caption text-muted-foreground mb-2 block",children:"Home Price ($)"}),o.jsx(ne,{type:"number",value:e,onChange:k=>t(Number(k.target.value)),className:"bg-secondary border-0 h-14 rounded-none focus-visible:ring-1 focus-visible:ring-gold text-lg"})]}),o.jsxs("div",{children:[o.jsx("label",{className:"text-caption text-muted-foreground mb-2 block",children:"Down Payment (%)"}),o.jsx(ne,{type:"number",value:n,onChange:k=>r(Number(k.target.value)),className:"bg-secondary border-0 h-14 rounded-none focus-visible:ring-1 focus-visible:ring-gold"})]}),o.jsxs("div",{children:[o.jsx("label",{className:"text-caption text-muted-foreground mb-2 block",children:"Interest Rate (%)"}),o.jsx(ne,{type:"number",step:"0.05",value:s,onChange:k=>i(Number(k.target.value)),className:"bg-secondary border-0 h-14 rounded-none focus-visible:ring-1 focus-visible:ring-gold"})]}),o.jsxs("div",{children:[o.jsx("label",{className:"text-caption text-muted-foreground mb-2 block",children:"Loan Term (years)"}),o.jsx("div",{className:"flex gap-3",children:[15,20,30].map(k=>o.jsxs("button",{onClick:()=>l(k),className:`flex-1 h-14 text-sm font-medium transition-all ${a===k?"bg-gold text-background":"bg-secondary text-foreground hover:bg-secondary/80"}`,children:[k," years"]},k))})]}),o.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[o.jsxs("div",{children:[o.jsx("label",{className:"text-caption text-muted-foreground mb-2 block",children:"Tax (%)"}),o.jsx(ne,{type:"number",step:"0.1",value:c,onChange:k=>u(Number(k.target.value)),className:"bg-secondary border-0 h-12 rounded-none focus-visible:ring-1 focus-visible:ring-gold"})]}),o.jsxs("div",{children:[o.jsx("label",{className:"text-caption text-muted-foreground mb-2 block",children:"Ins. ($/mo)"}),o.jsx(ne,{type:"number",value:d,onChange:k=>h(Number(k.target.value)),className:"bg-secondary border-0 h-12 rounded-none focus-visible:ring-1 focus-visible:ring-gold"})]}),o.jsxs("div",{children:[o.jsx("label",{className:"text-caption text-muted-foreground mb-2 block",children:"HOA ($/mo)"}),o.jsx(ne,{type:"number",value:f,onChange:k=>m(Number(k.target.value)),className:"bg-secondary border-0 h-12 rounded-none focus-visible:ring-1 focus-visible:ring-gold"})]})]})]})}),o.jsx(E,{delay:.2,children:o.jsxs("div",{className:"bg-foreground text-background p-8 md:p-10 h-full flex flex-col justify-center",children:[o.jsx(US,{size:32,className:"text-gold mb-6"}),o.jsx("p",{className:"text-caption text-background/60 mb-2",children:"Estimated Monthly Payment"}),o.jsxs("p",{className:"text-5xl font-serif font-medium text-background mb-8",children:["$",S(j)]}),o.jsxs("div",{className:"space-y-3 text-sm",children:[o.jsxs("div",{className:"flex justify-between border-b border-background/20 pb-2",children:[o.jsx("span",{className:"text-background/70",children:"Principal & Interest"}),o.jsxs("span",{className:"text-background",children:["$",S(g)]})]}),o.jsxs("div",{className:"flex justify-between border-b border-background/20 pb-2",children:[o.jsx("span",{className:"text-background/70",children:"Property Tax"}),o.jsxs("span",{className:"text-background",children:["$",S(v)]})]}),o.jsxs("div",{className:"flex justify-between border-b border-background/20 pb-2",children:[o.jsx("span",{className:"text-background/70",children:"Insurance"}),o.jsxs("span",{className:"text-background",children:["$",S(d)]})]}),o.jsxs("div",{className:"flex justify-between border-b border-background/20 pb-2",children:[o.jsx("span",{className:"text-background/70",children:"HOA"}),o.jsxs("span",{className:"text-background",children:["$",S(f)]})]}),b>0&&o.jsxs("div",{className:"flex justify-between border-b border-background/20 pb-2",children:[o.jsx("span",{className:"text-background/70",children:"PMI (est.)"}),o.jsxs("span",{className:"text-background",children:["$",S(b)]})]}),o.jsxs("div",{className:"flex justify-between pt-3",children:[o.jsx("span",{className:"text-background/70",children:"Loan Amount"}),o.jsxs("span",{className:"text-background",children:["$",S(w)]})]})]})]})})]}),o.jsx(E,{delay:.3,children:o.jsxs("div",{className:"mt-16 max-w-3xl mx-auto",children:[o.jsx("h2",{className:"heading-card mb-4 text-center",children:"A Few Things to Know"}),o.jsxs("ul",{className:"text-sm text-muted-foreground space-y-2 list-disc pl-6 mb-8",children:[o.jsxs("li",{children:[o.jsx("span",{className:"text-foreground",children:"Texas property taxes"})," average 2.0–2.4% of assessed value — significantly higher than the national average. File your homestead exemption to reduce them."]}),o.jsxs("li",{children:[o.jsx("span",{className:"text-foreground",children:"PMI"})," is required on most loans with less than 20% down. It typically falls off automatically once you reach 22% equity."]}),o.jsxs("li",{children:[o.jsx("span",{className:"text-foreground",children:"HOA dues"})," in Frisco range from ~$50/mo (basic) to $300+/mo (gated golf communities)."]}),o.jsxs("li",{children:[o.jsx("span",{className:"text-foreground",children:"Rates change daily."})," Always confirm with a licensed lender before finalizing a budget."]})]}),o.jsxs("div",{className:"text-center",children:[o.jsx("p",{className:"text-xs text-muted-foreground mb-6",children:"*Estimates only. Actual payment depends on credit, lender, and escrow specifics."}),o.jsx(H,{to:"/contact",className:"btn-luxury",children:"Get Pre-Approved"})]})]})})]})})]})},lv="https://nyjulmckeel.com",lH=`${lv}/#agent`,Vc=`${lv}/new-construction`,cH=[{icon:$R,title:"Builder Reps Work for the Builder",desc:"The on-site sales agent is paid by the builder and represents the builder's interests — not yours. Bringing your own agent costs you nothing (the builder pays the buyer-agent commission) and ensures someone is negotiating on your side."},{icon:WS,title:"Builder Contracts Favor the Builder",desc:"Builder contracts run 40+ pages and are proprietary — not the standard Texas One to Four Family Residential Purchase Contract used in resale. Earnest money is often non-refundable, escalation clauses can pass material costs to you, and material substitution clauses give the builder discretion. I review every clause before you sign."},{icon:xR,title:"Lot Selection Drives Resale",desc:"Premium lots — corner, cul-de-sac, greenbelt-backing, golf-course views — carry premiums of $10,000 to $75,000+ in Frisco. The right lot holds value when you sell; the wrong one becomes a discount."},{icon:qo,title:"Negotiate the Right Things",desc:"Builders rarely drop base price (it sets a comp precedent), but they regularly negotiate on closing cost credits, design center allowances, rate buydowns, and structural upgrades. I know what's actually movable in each Frisco community and at each phase of a sales cycle."}],uH=[{name:"Toll Brothers",note:"National luxury production. Frisco communities $900K–$1.4M+, with floor plans from 2,950 to 4,940 sq ft. Resort-style amenities and gated options."},{name:"Highland Homes",note:"Texas-based, consistently top-rated by buyers. Strong presence across Frisco and Prosper. Known for quality standards and responsive warranty service."},{name:"Landon Homes",note:"Exclusive builder at Fields East Village. Award-winning Texas builder with 50' and 60' homesites — high-end finishes at production efficiency."},{name:"Shaddock Homes",note:"DFW-based with deep Frisco track record. Mid-to-upper price range. Design flexibility within a production framework."},{name:"American Legend Homes",note:"Active in The Grove Frisco. Strong community integration and broader customization options within a production framework."},{name:"CB JENI Homes",note:"New construction townhomes in Frisco. Modern design with active rate-buydown programs (2/1 buydown, first-year rates as low as 3.99% on qualifying homes). Part of Green Brick Partners."},{name:"Bloomfield Homes",note:"Active across DFW with strong floor plan variety. Common in growing Frisco sub-communities."},{name:"Starside Custom Builders",note:"True custom builder serving Frisco and the broader DFW luxury market. Full design-build approach from lot to keys."}],dH=[{name:"Fields",price:"$700K – $5M+",note:"2,545-acre, $10B master-planned community anchored by PGA of America HQ, the Omni PGA Frisco Resort, and a Universal Kids Resort opening 2026. Sub-communities include East Village (Landon Homes, 50' and 60' homesites), The Preserve at Fields (gated estate lots with golf views), North Fields (620+ multifamily), and Fields West (a $2B mixed-use district at DNT and Panther Creek)."},{name:"The Grove Frisco",price:"$550K – $1.1M",note:"Newland-developed master plan, recognized by the City of Frisco as a Five Star Neighborhood. Five active builders. Newest phase expanding north of Main Street with new amenities (yoga lawn, pool, pickleball) opening 2026. Strong Frisco ISD school assignments."},{name:"Frisco Station",price:"$600K – $1.5M",note:"270-acre mixed-use development along the Dallas North Tollway. 120 single-family units alongside 2,400+ multifamily residences. 5 million sq ft of planned office space — appealing to corporate relocation buyers."},{name:"Adjacent Districts",price:"$700K – $3M+",note:"Southstone Yards (45-acre mixed-use with North Texas's largest mass-timber office building), The Link (Class A office + luxury residential along DNT), and The Star District (luxury and mid-density adjacent to The Star, Cowboys HQ)."}],Db=[{question:"How long does new construction take in Frisco?",answer:"Spec homes (move-in ready) close in 21–30 days. Production to-be-built homes take 8–12 months from contract to close. Custom builds run 12–18 months or more depending on complexity."},{question:"Can I bring my own real estate agent on a new construction purchase?",answer:"Yes — and you should. The builder pays the buyer agent's commission out of their marketing budget, so it costs you nothing. Critical caveat: your agent must accompany you (or be registered) on your first visit. Builders typically will not honor agent representation introduced after initial contact."},{question:"What's actually negotiable with Frisco builders?",answer:"Builders rarely drop base price (it would set a community comp precedent), but they regularly negotiate on closing cost credits (3–5% common on spec homes), design center allowances, rate buydowns paid by the builder, and appliance upgrades. Builder contract template language and HOA structure are typically not negotiable."},{question:"Do I need an inspection on a brand new home?",answer:"Yes — three of them, ideally. Pre-pour (foundation rebar and soil prep), pre-drywall (electrical, plumbing, HVAC, framing), and final walkthrough. Builder internal inspections are quality-control, not buyer advocacy. A licensed Texas inspector with new-construction experience for each phase pays for itself many times over."},{question:"What is a 2/1 rate buydown, and is it worth it?",answer:"A 2/1 buydown reduces your mortgage rate by 2% in year one and 1% in year two, then reverts to the contract note rate in year three. Builders frequently offer them as incentives, often through their preferred lender. They lower early-year payments but cost real money — evaluate the buydown's total dollar value against whatever you'd lose by not using an outside lender."},{question:"Spec home, to-be-built, or custom — which is right for me?",answer:"Spec (move-in ready) is fastest and most negotiable but offers no customization. To-be-built lets you select the floor plan, lot, and design center finishes within the builder's catalog (8–12 month timeline). Custom is full design control on a lot you own or buy separately, and runs 12–18+ months. Match your timeline and personalization needs to the path that fits."},{question:"How much should I budget for design center upgrades?",answer:"In Frisco mid-market communities, total upgrade spend at the design center averages $30,000–$80,000. In luxury segments it's $100,000+. Some upgrades (flooring, countertops, lighting) can be done cheaper post-close through the resale market. Structural upgrades — extended covered patios, ceiling height, bonus rooms — must be selected at contract and cannot be added later."},{question:"Should I use the builder's preferred lender?",answer:"Maybe. Builder preferred lenders often offer closing cost credits or rate buydowns ($5K–$20K in value) tied to using their financing arm. Compare that incentive against the rate and fees of an outside lender. Get both quotes in writing and compare APR (not just the headline rate). The right answer depends on your full all-in cost over the loan term."},{question:"What does the builder warranty actually cover?",answer:"Standard structure: 1-year workmanship warranty (paint, drywall, fixtures), 2-year systems warranty (HVAC, plumbing, electrical), 10-year structural warranty (foundation, load-bearing components). Schedule an 11-month walkthrough — one month before the workmanship warranty expires — to capture any items before the window closes."},{question:"What are the closing differences vs. a resale purchase?",answer:"Builders typically use their own title company, though you can request an independent one in most Texas markets. Property tax proration is more complex on new construction (often assessed mid-year). Verify all design center upgrade line items against the contract addendum at closing. Closing-cost incentives tied to preferred lenders must appear on the Closing Disclosure to be valid."}],hH=()=>{const{data:e}=Wl({queryKey:["aeo_pages","new-construction"],queryFn:async()=>{const{data:r}=await gt.from("aeo_categories").select("id").eq("slug","new-construction").maybeSingle();if(!r)return[];const{data:s}=await gt.from("aeo_pages").select("slug, title, meta_description").eq("category_id",r.id).eq("status","published").order("display_order");return s||[]}}),t={"@context":"https://schema.org","@type":"FAQPage",mainEntityOfPage:{"@type":"WebPage","@id":Vc},about:{"@id":lH},mainEntity:Db.map(r=>({"@type":"Question",name:r.question,acceptedAnswer:{"@type":"Answer",text:r.answer}}))},n={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:`${lv}/`},{"@type":"ListItem",position:2,name:"New Construction",item:Vc}]};return o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"New Construction Homes in Frisco TX | Builder Guide | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"New construction in Frisco TX — top builders (Toll Brothers, Highland, Landon, Shaddock, CB JENI), Fields, The Grove, Frisco Station, and why a buyer's agent saves you money."}),o.jsx("link",{rel:"canonical",href:Vc}),o.jsx("meta",{property:"og:title",content:"New Construction Homes in Frisco TX | Nyjul McKeel"}),o.jsx("meta",{property:"og:url",content:Vc}),o.jsx("meta",{property:"og:type",content:"website"}),o.jsx("script",{type:"application/ld+json",children:JSON.stringify(t)}),o.jsx("script",{type:"application/ld+json",children:JSON.stringify(n)})]}),o.jsx(jt,{slug:"new-construction",eyebrow:"New Construction",title:"New Homes in Frisco",subtitle:"From Fields to Frisco Station — Frisco's new construction market is booming. Here's how to navigate builders, lots, and incentives without leaving money on the table.",compact:!0}),o.jsx("section",{className:"section-padding bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsxs("div",{className:"max-w-5xl mx-auto",children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-12",children:"Why Use a Buyer's Agent for New Construction?"})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mb-20",children:cH.map((r,s)=>o.jsx(E,{delay:s*.08,children:o.jsxs("div",{className:"bg-secondary p-8 h-full",children:[o.jsx(r.icon,{size:28,className:"text-gold mb-4"}),o.jsx("h3",{className:"heading-card mb-3",children:r.title}),o.jsx("p",{className:"text-body text-muted-foreground text-sm",children:r.desc})]})},r.title))}),o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-8",children:"Top Frisco Builders"})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 mb-20",children:uH.map((r,s)=>o.jsx(E,{delay:s*.05,children:o.jsxs("div",{className:"bg-secondary p-6 h-full",children:[o.jsx(CR,{size:20,className:"text-gold mb-3"}),o.jsx("h3",{className:"font-serif text-base font-medium mb-2",children:r.name}),o.jsx("p",{className:"text-xs text-muted-foreground",children:r.note})]})},r.name))}),o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-8",children:"Active Master-Planned Communities"})}),o.jsx("div",{className:"space-y-4 mb-20",children:dH.map((r,s)=>o.jsx(E,{delay:s*.06,children:o.jsxs("div",{className:"bg-secondary p-6 md:p-8",children:[o.jsxs("div",{className:"flex flex-col md:flex-row md:items-baseline md:justify-between gap-2 mb-2",children:[o.jsx("h3",{className:"heading-card text-gold",children:r.name}),o.jsx("span",{className:"text-sm text-foreground",children:r.price})]}),o.jsx("p",{className:"text-sm text-muted-foreground",children:r.note})]})},r.name))}),e&&e.length>0&&o.jsxs(o.Fragment,{children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-8",children:"Detailed Topics"})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-20",children:e.map((r,s)=>o.jsx(E,{delay:s*.04,children:o.jsxs(H,{to:`/new-construction/${r.slug}`,className:"block bg-secondary p-6 hover:bg-secondary/80 transition-colors h-full",children:[o.jsx("h3",{className:"font-serif text-base font-medium text-foreground mb-2",children:r.title}),r.meta_description&&o.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2",children:r.meta_description})]})},r.slug))})]}),o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-8 text-center",children:"Frequently Asked Questions"})}),o.jsx("div",{className:"mb-20 max-w-3xl mx-auto",children:o.jsx(Ss,{type:"single",collapsible:!0,className:"w-full",children:Db.map((r,s)=>o.jsxs(hr,{value:`faq-${s}`,children:[o.jsx(fr,{className:"text-left font-serif text-lg",children:r.question}),o.jsx(mr,{className:"text-muted-foreground text-base leading-relaxed",children:r.answer})]},s))})}),o.jsx(E,{children:o.jsxs("div",{className:"bg-foreground text-background p-10 text-center",children:[o.jsx("h2",{className:"heading-card mb-4 text-background",children:"Tour New Construction With Me"}),o.jsxs("p",{className:"text-body text-background/70 mb-8 max-w-xl mx-auto",children:["Important — bring me to your ",o.jsx("em",{children:"first"})," visit. Once you sign in solo, the builder may refuse to honor representation later."]}),o.jsx(H,{to:"/contact",className:"btn-luxury",children:"Plan Your Builder Tours"})]})})]})})})]})},fH="https://nyjulmckeel.com",mH=[{name:"Loan Origination & Underwriting",range:"0.5% – 1.5% of loan",desc:"Lender fees for processing, underwriting, and originating the mortgage."},{name:"Appraisal Fee",range:"$500 – $800",desc:"Lender-required independent valuation of the property."},{name:"Home Inspection",range:"$400 – $700",desc:"Optional but strongly recommended. Detects issues before you're locked in."},{name:"Survey",range:"$450 – $700",desc:"Required by most lenders in Texas. Documents boundaries, easements, and improvements."},{name:"Title Insurance — Lender's Policy",range:"~$200 – $500",desc:"Protects the lender. Required. Texas title rates are state-regulated."},{name:"Recording & Government Fees",range:"$150 – $300",desc:"County recording fees and state-required filings."},{name:"Property Tax Proration (escrow)",range:"Varies",desc:"Lender typically requires 2–6 months of property tax in escrow at closing."},{name:"Homeowner's Insurance (1st year)",range:"$1,500 – $3,500",desc:"Paid in full at closing for the first year, plus 2 months in escrow."},{name:"HOA Transfer / Capitalization Fee",range:"$200 – $1,500",desc:"Common in Frisco master-planned communities. Some HOAs also charge a one-time capitalization fee."},{name:"Pre-Paid Interest",range:"Varies",desc:"Interest from your closing date to the end of the month."}],pH=[{name:"Title Insurance — Owner's Policy",range:"~0.5% of price",desc:"In Texas, the seller customarily pays for the buyer's owner title policy. Rates are state-regulated."},{name:"Brokerage Commission",range:"Negotiable",desc:"Real estate commissions are negotiable and disclosed in writing. Discussed at our listing consultation."},{name:"Title / Escrow Fees",range:"$300 – $700",desc:"Title company fees split per local custom."},{name:"HOA Resale Certificate",range:"$200 – $500",desc:"Required documentation provided by the HOA for the buyer."},{name:"Property Tax Proration",range:"Varies",desc:"Seller pays prorated taxes from January 1 to closing date."},{name:"Buyer-Requested Repairs / Concessions",range:"Varies",desc:"Negotiated post-inspection. I help you decide what to fix vs. credit."},{name:"Survey (if required)",range:"$450 – $700",desc:"If the existing survey isn't acceptable, the seller often provides a new one."}],gH=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Frisco TX Closing Costs Explained | Buyer & Seller Guide | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"Complete Frisco TX closing costs breakdown — what buyers pay, what sellers pay, Texas title insurance rules, seller concessions, and a real $640K example."}),o.jsx("link",{rel:"canonical",href:`${fH}/closing-costs`})]}),o.jsx(jt,{slug:"closing-costs",eyebrow:"Buyer & Seller Guide",title:"Closing Costs in Frisco",subtitle:"No surprises at the table. Here's exactly who pays what in a Texas transaction — plus how seller-paid concessions can reduce your out-of-pocket costs."}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury max-w-4xl",children:[o.jsx(E,{children:o.jsxs("div",{className:"bg-secondary p-8 mb-16",children:[o.jsx("h2",{className:"heading-card mb-4",children:"The Texas Quick Take"}),o.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground list-disc pl-5",children:[o.jsxs("li",{children:[o.jsx("span",{className:"text-foreground",children:"No state transfer tax"})," — Texas is one of the few states with zero deed transfer tax."]}),o.jsxs("li",{children:[o.jsx("span",{className:"text-foreground",children:"Title insurance rates are state-regulated"})," — every title company charges the same."]}),o.jsxs("li",{children:[o.jsx("span",{className:"text-foreground",children:"Seller customarily pays"})," the buyer's owner title policy."]}),o.jsxs("li",{children:[o.jsx("span",{className:"text-foreground",children:"Buyers"})," typically pay 2–3% of the purchase price in total closing costs."]}),o.jsxs("li",{children:[o.jsx("span",{className:"text-foreground",children:"Sellers"})," typically pay 6–8% (commissions plus title and prorations)."]})]})]})}),o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-8",children:"Buyer Closing Costs"})}),o.jsx("div",{className:"space-y-4 mb-16",children:mH.map((e,t)=>o.jsx(E,{delay:t*.04,children:o.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start gap-4 py-5 border-b border-border",children:[o.jsxs("div",{className:"sm:w-1/3",children:[o.jsx("h3",{className:"font-serif text-base font-medium",children:e.name}),o.jsx("p",{className:"text-gold text-sm font-medium",children:e.range})]}),o.jsx("p",{className:"sm:w-2/3 text-sm text-muted-foreground",children:e.desc})]})},e.name))}),o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-8",children:"Seller Closing Costs"})}),o.jsx("div",{className:"space-y-4 mb-16",children:pH.map((e,t)=>o.jsx(E,{delay:t*.04,children:o.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start gap-4 py-5 border-b border-border",children:[o.jsxs("div",{className:"sm:w-1/3",children:[o.jsx("h3",{className:"font-serif text-base font-medium",children:e.name}),o.jsx("p",{className:"text-gold text-sm font-medium",children:e.range})]}),o.jsx("p",{className:"sm:w-2/3 text-sm text-muted-foreground",children:e.desc})]})},e.name))}),o.jsx(E,{children:o.jsxs("div",{className:"bg-secondary p-8 mb-16",children:[o.jsx("h2",{className:"heading-card mb-4",children:"Seller-Paid Concessions Explained"}),o.jsx("p",{className:"text-sm text-muted-foreground mb-3",children:`A "seller concession" is when the seller agrees to credit the buyer money at closing — typically to cover closing costs, a rate buy-down, or repairs. It's not a price reduction, but it lowers the buyer's cash to close.`}),o.jsxs("p",{className:"text-sm text-muted-foreground",children:["Loan programs cap concessions: ",o.jsx("span",{className:"text-foreground",children:"FHA up to 6%"}),", ",o.jsx("span",{className:"text-foreground",children:"conventional 3–9%"})," (varies by down payment), ",o.jsx("span",{className:"text-foreground",children:"VA up to 4% in concessions plus closing costs"}),". In a balanced market like Frisco today, asking for 1–3% in concessions is realistic and often accepted."]})]})}),o.jsx(E,{children:o.jsxs("div",{className:"bg-foreground text-background p-10 text-center",children:[o.jsx("h2",{className:"heading-card mb-4 text-background",children:"Get a Personalized Estimate"}),o.jsx("p",{className:"text-body text-background/70 mb-8 max-w-xl mx-auto",children:"I'll prepare a line-by-line net sheet for your specific scenario — no fine print, no hidden fees."}),o.jsx(H,{to:"/contact",className:"btn-luxury",children:"Request Your Net Sheet"})]})})]})})]}),yH="https://nyjulmckeel.com",vH=[{icon:Vl,title:"Zero Down Payment",desc:"VA loans allow eligible veterans, active duty service members, and qualifying surviving spouses to purchase a Frisco home with no down payment — a major advantage in a $640K+ median market."},{icon:Mg,title:"No PMI Ever",desc:"Unlike FHA and conventional loans, VA loans never require monthly mortgage insurance — saving you $200–$400 per month on a typical Frisco home."},{icon:Wo,title:"Competitive Rates",desc:"VA loans typically offer interest rates 0.25–0.50% lower than conventional loans, lowering your payment over the entire loan."},{icon:jR,title:"Flexible Credit Standards",desc:"Most VA lenders accept credit scores of 580–620+. The VA itself sets no minimum — flexibility comes through individual lenders."},{icon:DS,title:"Funding Fee Can Be Waived",desc:"Veterans with a 10%+ service-connected disability rating are exempt from the VA funding fee — saving 1.25%–3.3% of the loan amount."},{icon:hl,title:"Reusable Benefit",desc:"Your VA loan entitlement isn't one-and-done. You can use it multiple times throughout your life and even hold two VA loans at once in some cases (PCS scenarios)."}],xH=[{rating:"100% Disabled or Unemployable",benefit:"Full property tax exemption on your homestead — $0 in property tax."},{rating:"70% – 90%",benefit:"$12,000 reduction off the assessed value of your home."},{rating:"50% – 69%",benefit:"$10,000 reduction off the assessed value."},{rating:"30% – 49%",benefit:"$7,500 reduction off the assessed value."},{rating:"10% – 29%",benefit:"$5,000 reduction off the assessed value."}],wH=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"VA Home Loans in Frisco TX | Military & Veteran Buyer Guide | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"VA home loans in Frisco TX — zero down, no PMI, no county loan limits for full-entitlement veterans. Plus Texas disabled veteran property tax exemptions explained."}),o.jsx("link",{rel:"canonical",href:`${yH}/military-va`})]}),o.jsx(jt,{slug:"military-va",eyebrow:"Military & Veterans",title:"VA Home Loans in Frisco",subtitle:"Thank you for your service. Here's how to use your VA benefits — and Texas's veteran tax exemptions — to maximize your buying power in Frisco."}),o.jsx("section",{className:"section-padding bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsxs("div",{className:"max-w-5xl mx-auto",children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-12",children:"VA Loan Benefits"})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-20",children:vH.map((e,t)=>o.jsx(E,{delay:t*.06,children:o.jsxs("div",{className:"bg-secondary p-8 h-full",children:[o.jsx(e.icon,{size:28,className:"text-gold mb-4"}),o.jsx("h3",{className:"heading-card mb-3",children:e.title}),o.jsx("p",{className:"text-body text-muted-foreground text-sm",children:e.desc})]})},e.title))}),o.jsx(E,{children:o.jsxs("div",{className:"bg-secondary p-8 md:p-10 mb-20",children:[o.jsx("h2",{className:"heading-card mb-4",children:"No County Loan Limit (For Full Entitlement)"}),o.jsx("p",{className:"text-body text-muted-foreground text-sm mb-3",children:"Since 2020, veterans with full VA entitlement can borrow above the conforming loan limit with no down payment — meaning a $1M+ Frisco home is achievable with $0 down if you qualify."}),o.jsx("p",{className:"text-body text-muted-foreground text-sm",children:"Veterans with partial entitlement (active VA loan elsewhere, prior default, etc.) are subject to the county conforming loan limit. For Collin and Denton Counties, the 2025 conforming limit is well above $800K — confirm your specific entitlement with a VA-experienced lender."})]})}),o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-8",children:"Texas Disabled Veteran Property Tax Exemptions"})}),o.jsx(E,{delay:.1,children:o.jsx("p",{className:"text-body text-muted-foreground mb-10",children:"Texas offers some of the most generous property tax relief in the country for disabled veterans. With Frisco property taxes averaging 2.0–2.4%, these exemptions can save thousands per year."})}),o.jsx("div",{className:"space-y-3 mb-20",children:xH.map((e,t)=>o.jsx(E,{delay:t*.05,children:o.jsxs("div",{className:"bg-secondary p-6 flex flex-col md:flex-row md:items-center gap-3 md:gap-8",children:[o.jsx("div",{className:"md:w-1/3",children:o.jsx("p",{className:"text-gold text-sm font-medium uppercase tracking-wider",children:e.rating})}),o.jsx("p",{className:"text-body text-foreground text-sm md:w-2/3",children:e.benefit})]})},e.rating))}),o.jsx(E,{children:o.jsx("p",{className:"text-xs text-muted-foreground mb-20",children:"Surviving spouses of 100% disabled veterans (and certain KIA spouses) may also qualify for the full exemption. File with your county appraisal district (Collin CAD or Denton CAD)."})}),o.jsx(E,{children:o.jsxs("div",{className:"bg-foreground text-background p-10 text-center",children:[o.jsx("h2",{className:"heading-card mb-4 text-background",children:"Why Frisco for Military Families?"}),o.jsx("p",{className:"text-body text-background/70 mb-8 max-w-2xl mx-auto",children:"A growing veteran community, top-rated schools, proximity to Sheppard AFB and NAS Fort Worth JRB, and the lowest after-tax cost of living of any major DFW suburb — Frisco is built for military families."}),o.jsx(H,{to:"/contact",className:"btn-luxury",children:"Connect With Nyjul"})]})})]})})})]}),bH="https://nyjulmckeel.com",jH=[{icon:Fg,title:"Expert Home Search",desc:"I don't just send you MLS alerts. I curate properties that match your lifestyle, budget, and Frisco neighborhood preferences — including off-market opportunities."},{icon:Mg,title:"Negotiation Power",desc:"In Frisco's competitive market, negotiation strategy matters. I'll help you craft winning offers without overpaying."},{icon:WS,title:"Contract Protection",desc:"Texas real estate contracts have unique provisions. I'll ensure every clause protects your interests — from option periods to inspection contingencies."},{icon:Wo,title:"Neighborhood Knowledge",desc:"From Starwood to Newman Village, Phillips Creek to Richwoods — I know which neighborhoods match your family's needs and budget."},{icon:qo,title:"Market Timing",desc:"I'll help you understand when to act and when to wait — based on real Frisco market data, not guesswork."},{icon:hl,title:"Trusted Partners",desc:"Lenders, inspectors, title companies — I've vetted the best professionals in Frisco so you don't have to."}],SH=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Buying a Home in Frisco TX | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"Buying a home in Frisco TX? Expert buyer representation from Nyjul McKeel — Frisco's dedicated real estate advisor. Search, negotiate, close."}),o.jsx("link",{rel:"canonical",href:`${bH}/buyers`})]}),o.jsx(jt,{slug:"buyers",eyebrow:"For Buyers",title:"Buy in Frisco",subtitle:"Whether it's your first home or your forever home — having the right advisor in Frisco makes all the difference."}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury max-w-4xl",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-gold mb-6",children:"A Note from Nyjul"})}),o.jsx(E,{delay:.1,children:o.jsx("h2",{className:"heading-section mb-10",children:"Buying in Frisco isn't a transaction — it's a long-term decision about your life."})}),o.jsxs("div",{className:"space-y-6 text-body text-muted-foreground",children:[o.jsx(E,{delay:.15,children:o.jsx("p",{children:"I've watched Frisco grow from a quiet North Dallas suburb into one of the most sought-after places to live in the country — the PGA of America's headquarters, the future home of the Universal Kids resort, the Star, top-five FISD schools, and a downtown that's finally starting to feel like a downtown. The pace of change here is real, and it makes choosing the right home harder than most buyers expect."})}),o.jsx(E,{delay:.2,children:o.jsxs("p",{children:["Two homes a quarter mile apart can sit in different elementary attendance zones, different MUDs, different HOAs, and on very different resale curves. A house backing to a future tollway expansion is not the same as one tucked into a mature interior lot in Starwood or Newman Village — even if the listing photos look identical. My job is to make sure you understand those differences ",o.jsx("em",{children:"before"})," you write the offer, not after you've moved in."]})}),o.jsx(E,{delay:.25,children:o.jsx("p",{children:"I work with a small number of buyers at a time on purpose. That means I tour homes with you in person, I read every page of the seller's disclosure, I talk to the listing agent before we write, and I push back when something doesn't add up at inspection. I'd rather lose a commission than watch a client overpay for a home that doesn't fit their life — and after years in this market, I've earned the relationships that help my offers get accepted even when we aren't the highest number on the table."})}),o.jsx(E,{delay:.3,children:o.jsx("p",{children:"Whether you're relocating from California or Chicago, moving up from your first townhome in 75035, or finally buying that forever home backing to a greenbelt — you deserve an advisor who treats Frisco like home, because it is mine."})})]})]})}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-12",children:"Why Work With Me as Your Buyer's Agent"})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8",children:jH.map((e,t)=>o.jsx(E,{delay:t*.1,children:o.jsxs("div",{className:"bg-secondary p-8 h-full",children:[o.jsx(e.icon,{size:24,className:"text-gold mb-4"}),o.jsx("h3",{className:"heading-card mb-3",children:e.title}),o.jsx("p",{className:"text-body text-muted-foreground",children:e.desc})]})},e.title))}),o.jsx(E,{delay:.3,children:o.jsx("div",{className:"mt-16 text-center",children:o.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[o.jsx(H,{to:"/idx",className:"btn-luxury",children:"Search Frisco Homes"}),o.jsx(H,{to:"/contact",className:"btn-luxury",children:"Schedule a Consultation"})]})})})]})})]}),kH="https://nyjulmckeel.com",NH=[{icon:UR,title:"Strategic Pricing",desc:"I use hyperlocal Frisco comps — not algorithms — to price your home for maximum value and minimal days on market."},{icon:bR,title:"Professional Marketing",desc:"High-quality photography, virtual tours, and targeted digital marketing that showcases your home to the right buyers."},{icon:RR,title:"Maximum Exposure",desc:"Your home gets featured on MLS, Zillow, Realtor.com, social media, and my network of qualified Frisco buyers."},{icon:Vl,title:"Expert Negotiation",desc:"I negotiate every offer to protect your equity and ensure you get the best possible terms — not just the highest price."},{icon:SR,title:"Timeline Management",desc:"From listing to closing, I manage every detail so you can focus on your next move — not the stress of selling."},{icon:qo,title:"Market Insight",desc:"I'll tell you what your home is actually worth in today's Frisco market — not what you want to hear, but what you need to know."}],TH=()=>o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:"Selling Your Home in Frisco TX | Nyjul McKeel"}),o.jsx("meta",{name:"description",content:"Selling your home in Frisco TX? Strategic pricing, professional marketing, and expert negotiation from Nyjul McKeel — The Frisco Real Estate Advisor."}),o.jsx("link",{rel:"canonical",href:`${kH}/sellers`})]}),o.jsx(jt,{slug:"sellers",eyebrow:"For Sellers",title:"Sell in Frisco",subtitle:"Your Frisco home deserves more than a sign in the yard. It deserves a strategy — and an advisor who knows this market inside and out."}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury max-w-4xl",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-gold mb-6",children:"A Note from Nyjul"})}),o.jsx(E,{delay:.1,children:o.jsx("h2",{className:"heading-section mb-10",children:"Frisco isn't one market — it's a dozen. Pricing your home like it isn't will cost you."})}),o.jsxs("div",{className:"space-y-6 text-body text-muted-foreground",children:[o.jsx(E,{delay:.15,children:o.jsx("p",{children:"A 4-bed in Phillips Creek Ranch doesn't sell the same way as a 4-bed in Stonebriar, Plantation Resort, or The Trails. Different buyer pools, different price ceilings, different days on market — even when the floorplans are nearly identical. The agents who price off Zillow's Zestimate or last quarter's countywide average are the ones leaving real money on your kitchen table at closing."})}),o.jsx(E,{delay:.2,children:o.jsx("p",{children:"I price your Frisco home the way I'd price my own: with current pending data the public can't see, with the specific FISD elementary your block feeds into, with how your lot orientation, MUD/PID exposure, and HOA fees compare to the three closest competitive listings going live the same week as yours. Then I build a marketing plan around the actual buyer who's most likely to write — relocating tech families, move-up buyers from East Frisco, downsizers from Stonebriar, or out-of-state cash buyers chasing PGA-adjacent addresses."})}),o.jsx(E,{delay:.25,children:o.jsxs("p",{children:["That means professional photo and twilight, drone footage when the lot deserves it, a pre-inspection so surprises don't sink your contract, paid social targeting your home's exact buyer profile, and direct outreach to the agents I know are working with qualified buyers in your price band ",o.jsx("em",{children:"right now"}),". By the time your sign goes in the yard, the offers are usually already in motion."]})}),o.jsx(E,{delay:.3,children:o.jsx("p",{children:`And I'm at every showing review, every offer negotiation, every inspection response, and every closing table myself — not handed off to a junior assistant. Selling a home in Frisco today is too consequential to trust to a generic "DFW agent." Let's talk about what your home is really worth, and what it will take to get it.`})})]})]})}),o.jsx("section",{className:"section-padding bg-background",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-12",children:"My Approach to Selling Your Home"})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8",children:NH.map((e,t)=>o.jsx(E,{delay:t*.1,children:o.jsxs("div",{className:"bg-secondary p-8 h-full",children:[o.jsx(e.icon,{size:24,className:"text-gold mb-4"}),o.jsx("h3",{className:"heading-card mb-3",children:e.title}),o.jsx("p",{className:"text-body text-muted-foreground",children:e.desc})]})},e.title))}),o.jsx(E,{delay:.3,children:o.jsx("div",{className:"mt-16 text-center",children:o.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[o.jsx(H,{to:"/home-valuation",className:"btn-luxury",children:"Get Your Home's Value"}),o.jsx(H,{to:"/contact",className:"btn-luxury",children:"List With Nyjul"})]})})})]})})]}),pu="https://nyjulmckeel.com",CH=`${pu}/#agent`,EH=()=>{const{slug:e}=iN(),t="new-construction",{data:n,isLoading:r}=Wl({queryKey:["aeo_page",t,e],queryFn:async()=>{const{data:d}=await gt.from("aeo_categories").select("id, slug, name").eq("slug",t).maybeSingle();if(!d)return null;const{data:h}=await gt.from("aeo_pages").select("id, category_id, title, slug, h1, intro_text, body_content, faq_json, meta_title, meta_description, updated_at, published_at").eq("category_id",d.id).eq("slug",e).eq("status","published").maybeSingle();if(!h)return null;const{data:f}=await gt.from("aeo_pages").select("slug, title, meta_description").eq("category_id",d.id).eq("status","published").neq("id",h.id).order("display_order").limit(5);return{category:d,page:h,peers:f||[]}},enabled:!!e});if(r)return o.jsx(ae,{children:o.jsxs("div",{className:"container-luxury py-32",children:[o.jsx("div",{className:"h-8 bg-muted animate-pulse rounded w-1/3 mb-6"}),o.jsx("div",{className:"h-4 bg-muted animate-pulse rounded w-2/3"})]})});if(!n)return o.jsx(I_,{});const{page:s,category:i,peers:a}=n,l=`${pu}/${i.slug}/${s.slug}`,c=s.faq_json&&s.faq_json.length?{"@context":"https://schema.org","@type":"FAQPage",mainEntityOfPage:{"@type":"WebPage","@id":l},about:{"@id":CH},mainEntity:s.faq_json.map(d=>({"@type":"Question",name:d.question,acceptedAnswer:{"@type":"Answer",text:d.answer}}))}:null,u={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:`${pu}/`},{"@type":"ListItem",position:2,name:i.name,item:`${pu}/${i.slug}`},{"@type":"ListItem",position:3,name:s.title,item:l}]};return o.jsxs(ae,{children:[o.jsxs(me,{children:[o.jsx("title",{children:s.meta_title||s.title}),s.meta_description&&o.jsx("meta",{name:"description",content:s.meta_description}),o.jsx("link",{rel:"canonical",href:l}),o.jsx("meta",{property:"og:title",content:s.meta_title||s.title}),o.jsx("meta",{property:"og:url",content:l}),o.jsx("meta",{property:"og:type",content:"article"}),s.meta_description&&o.jsx("meta",{property:"og:description",content:s.meta_description}),c&&o.jsx("script",{type:"application/ld+json",children:JSON.stringify(c)}),o.jsx("script",{type:"application/ld+json",children:JSON.stringify(u)})]}),o.jsx("section",{className:"bg-secondary w-full pt-32 pb-12 md:pt-40 md:pb-16 border-b border-border",children:o.jsxs("div",{className:"container-luxury",children:[o.jsx(E,{children:o.jsx("p",{className:"text-caption text-gold mb-4",children:i.name})}),o.jsx(E,{delay:.1,children:o.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-serif font-medium tracking-tight leading-tight text-foreground max-w-4xl",children:s.h1})}),s.intro_text&&o.jsx(E,{delay:.2,children:o.jsx("p",{className:"text-base md:text-lg font-sans font-light leading-relaxed text-muted-foreground max-w-3xl mt-6",children:s.intro_text})})]})}),s.body_content&&o.jsx("section",{className:"section-padding bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsx("div",{className:"max-w-3xl mx-auto",children:o.jsx(E,{children:o.jsx("div",{className:"prose prose-lg max-w-none prose-headings:font-serif prose-headings:text-foreground prose-h2:heading-card prose-h2:mt-12 prose-h2:mb-4 prose-p:text-body prose-p:text-muted-foreground prose-a:text-gold hover:prose-a:underline prose-li:text-muted-foreground prose-strong:text-foreground",dangerouslySetInnerHTML:{__html:s.body_content}})})})})}),s.faq_json&&s.faq_json.length>0&&o.jsx("section",{className:"section-padding bg-secondary",children:o.jsx("div",{className:"container-luxury",children:o.jsxs("div",{className:"max-w-3xl mx-auto",children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-10 text-center",children:"Frequently Asked Questions"})}),o.jsx(Ss,{type:"single",collapsible:!0,className:"w-full",children:s.faq_json.map((d,h)=>o.jsxs(hr,{value:`faq-${h}`,children:[o.jsx(fr,{className:"text-left font-serif text-lg",children:d.question}),o.jsx(mr,{className:"text-muted-foreground text-base leading-relaxed",children:d.answer})]},h))})]})})}),a&&a.length>0&&o.jsx("section",{className:"section-padding bg-background",children:o.jsx("div",{className:"container-luxury",children:o.jsxs("div",{className:"max-w-5xl mx-auto",children:[o.jsx(E,{children:o.jsx("h2",{className:"heading-section mb-10",children:"Related Topics"})}),o.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:a.map((d,h)=>o.jsx(E,{delay:h*.05,children:o.jsxs(H,{to:`/${i.slug}/${d.slug}`,className:"block bg-secondary p-6 hover:bg-secondary/80 transition-colors h-full",children:[o.jsx("h3",{className:"font-serif text-base font-medium text-foreground mb-2",children:d.title}),d.meta_description&&o.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2",children:d.meta_description})]})},d.slug))})]})})}),o.jsx("section",{className:"section-padding bg-foreground text-background",children:o.jsx("div",{className:"container-luxury",children:o.jsxs("div",{className:"max-w-2xl mx-auto text-center",children:[o.jsx("h2",{className:"heading-card mb-4 text-background",children:"Ready to talk through your next move?"}),o.jsx("p",{className:"text-body text-background/70 mb-8",children:"Schedule a Frisco new construction strategy session — no pressure, just expert guidance on builders, lots, and contracts."}),o.jsx(H,{to:"/contact",className:"btn-luxury-inverse",children:"Book a Consultation"})]})})})]})},_H=new sM,PH=()=>o.jsx(pN,{children:o.jsx(cM,{client:_H,children:o.jsxs(UF,{children:[o.jsx(SI,{}),o.jsx(tO,{}),o.jsxs(gD,{children:[o.jsx(GD,{}),o.jsxs(cD,{children:[o.jsx(ie,{path:"/",element:o.jsx(h6,{})}),o.jsx(ie,{path:"/properties",element:o.jsx(I6,{})}),o.jsx(ie,{path:"/properties/:id",element:o.jsx(F6,{})}),o.jsx(ie,{path:"/about",element:o.jsx(D6,{})}),o.jsx(ie,{path:"/testimonials",element:o.jsx(L6,{})}),o.jsx(ie,{path:"/contact",element:o.jsx(q6,{})}),o.jsx(ie,{path:"/home-valuation",element:o.jsx(K6,{})}),o.jsx(ie,{path:"/idx",element:o.jsx(Cr,{})}),o.jsx(ie,{path:"/idx/*",element:o.jsx(Cr,{})}),o.jsx(ie,{path:"/search",element:o.jsx(Cr,{})}),o.jsx(ie,{path:"/search/*",element:o.jsx(Cr,{})}),o.jsx(ie,{path:"/client/*",element:o.jsx(Cr,{})}),o.jsx(ie,{path:"/r/*",element:o.jsx(Cr,{})}),o.jsx(ie,{path:"/preview-property/*",element:o.jsx(Cr,{})}),o.jsx(ie,{path:"/magic-redirect",element:o.jsx(Cr,{})}),o.jsx(ie,{path:"/auth",element:o.jsx(RV,{})}),o.jsx(ie,{path:"/admin/blog",element:o.jsx(dz,{})}),o.jsx(ie,{path:"/admin/profile",element:o.jsx(hz,{})}),o.jsx(ie,{path:"/admin/settings",element:o.jsx(fz,{})}),o.jsx(ie,{path:"/assets",element:o.jsx(Pz,{})}),o.jsx(ie,{path:"/privacy-policy",element:o.jsx(mz,{})}),o.jsx(ie,{path:"/terms-and-conditions",element:o.jsx(pz,{})}),o.jsx(ie,{path:"/faq/best-agent-frisco",element:o.jsx(Az,{})}),o.jsx(ie,{path:"/faq/luxury-homes-frisco",element:o.jsx(Rz,{})}),o.jsx(ie,{path:"/faq/home-worth-frisco",element:o.jsx(Iz,{})}),o.jsx(ie,{path:"/market-report",element:o.jsx(Lz,{})}),o.jsx(ie,{path:"/relocation",element:o.jsx(Vz,{})}),o.jsx(ie,{path:"/first-time-buyers",element:o.jsx(qz,{})}),o.jsx(ie,{path:"/luxury",element:o.jsx(Qz,{})}),o.jsx(ie,{path:"/school-district",element:o.jsx(tH,{})}),o.jsx(ie,{path:"/community-events",element:o.jsx(iH,{})}),o.jsx(ie,{path:"/mortgage-calculator",element:o.jsx(aH,{})}),o.jsx(ie,{path:"/new-construction",element:o.jsx(hH,{})}),o.jsx(ie,{path:"/new-construction/:slug",element:o.jsx(EH,{})}),o.jsx(ie,{path:"/closing-costs",element:o.jsx(gH,{})}),o.jsx(ie,{path:"/military-va",element:o.jsx(wH,{})}),o.jsx(ie,{path:"/buyers",element:o.jsx(SH,{})}),o.jsx(ie,{path:"/sellers",element:o.jsx(TH,{})}),o.jsx(ie,{path:"*",element:o.jsx(I_,{})})]})]})]})})});aS(document.getElementById("root")).render(o.jsx(PH,{}));