PageSourceSearch

https://academy.bachatasensual.com/assets/index-hmhQZAEy.js

js bachatasensual.com collected 2026-09-25 19:54:50 UTC 251,917 bytes, 2 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/CommunityMap-PxUWpNvI.js","assets/rolldown-runtime-DOG2APjf.js","assets/react-core-CchioXwE.js","assets/createLucideIcon-DnMz71l9.js","assets/arrow-left-HbW2WjoD.js","assets/plus-UlABykPt.js","assets/VerifyEmail-CzjTKnA5.js","assets/api-Bo2_vrwo.js","assets/monitoring-DTg999Ma.js","assets/ForgotPassword-CTR_2dCS.js","assets/ResetPassword-zKU2rLaQ.js","assets/Profile-DmZYrvfB.js","assets/queryKeys-IU4Wi3pN.js","assets/useQuery-CS559GLG.js","assets/useMutation-C7CmpwGu.js","assets/mutation-DOMk98He.js","assets/Skeleton-C7RXEkZz.js","assets/phone-CMdvrv09.js","assets/PageHeader-DzkpeGVa.js","assets/hooks-CKc9ymoO.js","assets/useTimezoneOptions-CdY_MvBC.js","assets/useDebouncedValue-B-bjzjgv.js","assets/formatUtils-DUA2nEOL.js","assets/Dashboard-DKGKRIqG.js","assets/examinationLookup-C99lgOoc.js","assets/MyCourses-D2xhHT95.js","assets/message-circle-COS2MRKL.js","assets/offeringConfig-BuiSZJyy.js","assets/stripe.constants-Cf0_m0ha.js","assets/CourseDetail-DEV7lLxv.js","assets/play-Bth_1PkE.js","assets/BrowsePrograms-24Mw2ZBP.js","assets/search-DyvzIszN.js","assets/BrowseCourses-BpfvsM14.js","assets/CourseOfferings-C_u-O-M_.js","assets/map-pin-DehSdhid.js","assets/ApplicationForm-JknHVn-p.js","assets/Payment-CEr8Uf7K.js","assets/confirmStripePayment-BBm9w0va.js","assets/StudentApplications-CLIvK6OH.js","assets/StudentScheduleExam-BgHbr6d_.js","assets/copy-D9fchJjx.js","assets/ExamPaymentForm-W4C65mod.js","assets/StudentExaminations-D1O8Ge8E.js","assets/AdminDashboard-Bd9htsXS.js","assets/ExaminerApplications-D1CivkC8.js","assets/arrow-up-down-B4UdDWqG.js","assets/AdminPrograms-BodKuM59.js","assets/square-pen-DLNzdNv3.js","assets/AdminCourses-ByfRuoC5.js","assets/AdminUsers-CvBj-gbU.js","assets/AdminUserDetail-Dh1IcI7t.js","assets/AdminEnrollmentDetail-COrmHSBb.js","assets/WithdrawEnrollmentDialog-CJOMiqZs.js","assets/AdminCashPayments-CajgmRWq.js","assets/shield-BUb-gasF.js","assets/AdminCourseRoster-Cr1chbYM.js","assets/csvExport-Dgmo5dPN.js","assets/AdminMaterials-BGpwBNnd.js","assets/EditMaterialModal-D0hx8mCV.js","assets/pen-pBY3ao8z.js","assets/AdminCourseDetail-Cb7CF0ue.js","assets/AdminApplications-B1E6VloZ.js","assets/ExaminerDashboard-BJpMViu4.js","assets/ExaminerExaminations-CMjwBw4o.js","assets/ExaminerRecordResults-LBjLaHKP.js","assets/ExaminerReport-CmznVHTG.js","assets/ExaminerAvailability-DRT1AJ5M.js","assets/InvitationResponse-DGiEAoYV.js","assets/dollar-sign-Ogu6AShs.js","assets/StudentCertifications-mtgWbcRw.js","assets/StudentPayments-CCXgT3U6.js","assets/PublicCertificationVerify-pSm25GEI.js"])))=>i.map(i=>d[i]);
2import{a as e}from"./rolldown-runtime-DOG2APjf.js";import{i as t,n as a,r,t as s}from"./react-core-CchioXwE.js";import{M as n,O as i,T as o,b as l,g as c,h as d,j as u,m,o as h,s as p,t as f,v as x,x as g,y as b}from"./queryKeys-IU4Wi3pN.js";import{d as y,t as v}from"./useQuery-CS559GLG.js";import{t as w}from"./mutation-DOMk98He.js";import{i as j,n as k,r as N}from"./api-Bo2_vrwo.js";import{c as E,o as C,s as S}from"./Skeleton-C7RXEkZz.js";import{t as _}from"./createLucideIcon-DnMz71l9.js";import{a as L,i as R,n as M,o as T,s as I,t as A}from"./monitoring-DTg999Ma.js";!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))t(e);new MutationObserver(e=>{for(const a of e)if("childList"===a.type)for(const e of a.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&t(e)}).observe(document,{childList:!0,subtree:!0})}function t(e){if(e.ep)return;e.ep=!0;const t=function(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?t.credentials="include":"anonymous"===e.crossOrigin?t.credentials="omit":t.credentials="same-origin",t}(e);fetch(e.href,t)}}();var P=e(t(),1),D=a(),O=e(r(),1),$={},z=function(e,t,a){let r=Promise.resolve();if(t&&t.length>0){const e=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),n=a?.nonce||a?.getAttribute("nonce");s=t.map(t=>{var a;if(t=function(e){return"/"+e}(t),a=t,(t=import.meta.resolve?import.meta.resolve(a):new URL(a,new URL("../../../src/node/plugins/importAnalysisBuild.ts",import.meta.url)).href)in $)return;$[t]=!0;const r=t.endsWith(".css");for(let n=e.length-1;n>=0;n--){const a=e[n];if(a.href===t&&(!r||"stylesheet"===a.rel))return}const s=document.createElement("link");return s.rel=r?"stylesheet":"modulepreload",r||(s.as="script"),s.crossOrigin="",s.href=t,n&&s.setAttribute("nonce",n),document.head.appendChild(s),r?new Promise((e,a)=>{s.addEventListener("load",e),s.addEventListener("error",()=>
2a(new Error(`Unable to preload CSS for ${t}`)))}):void 0}),r=Promise.all(s.map(e=>Promise.resolve(e).then(e=>({status:"fulfilled",value:e}),e=>({status:"rejected",reason:e}))))}var s;function n(e){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(const e of t||[])"rejected"===e.status&&n(e.reason);return e().catch(n)})},B=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,q=/^[\\/]{2}/;var V="popstate";function F(e){return"object"==typeof e&&null!=e&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function U(e={}){return function(e,t,a,r={}){let{window:s=document.defaultView,v5Compat:n=!1}=r,i=s.history,o="POP",l=null,c=d();null==c&&(c=0,i.replaceState({...i.state,idx:c},""));function d(){return(i.state||{idx:null}).idx}function u(){o="POP";let e=d(),t=null==e?null:e-c;c=e,l&&l({action:o,location:f.location,delta:t})}function m(e,t){o="PUSH";let r=F(e)?e:K(f.location,e,t);a&&a(r,e),c=d()+1;let u=J(r,c),m=f.createHref(r.mask||r);try{i.pushState(u,"",m)}catch(h){if(h instanceof DOMException&&"DataCloneError"===h.name)throw h;s.location.assign(m)}n&&l&&l({action:o,location:f.location,delta:1})}function h(e,t){o="REPLACE";let r=F(e)?e:K(f.location,e,t);a&&a(r,e),c=d();let s=J(r,c),u=f.createHref(r.mask||r);i.replaceState(s,"",u),n&&l&&l({action:o,location:f.location,delta:0})}function p(e){return function(e,t,a=!1){let r="http://localhost";e&&(r="null"!==e.location.origin?e.location.origin:e.location.href);H(r,"No window.location.(origin|href) available to create URL");let s="string"==typeof t?t:Y(t);s=s.replace(/ $/,"%20"),!a&&q.test(s)&&(s=r+s);return new URL(s,r)}(s,e)}let f={get action(){return o},get location(){return e(s,i)},listen(e){if(l)throw new Error("A history only accepts one active listener");return s.addEventListener(V,u),l=e,()=>{s.removeEventListener(V,u),l=null}},createHref:e=>t(s,e),createURL:p,encodeLocation(e){let t=p(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:m,replace:h,go:e=>i.go(e)};return f}(function(e,t){let a=t.state?.masked,{pathname:r,search:s,hash:n}=a||e.location;return K("",{pathname:r,search:s,hash:n},t.state&&t.state.usr||null,t.state&&t.state.key||"default",a?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)},function(e,t){return"string"==typeof t?t:Y(t)},null,e)}function H(e,t){if(!1===e||null==e)throw new Error(t)}function W(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(Xr){}}}function J(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function K(e,t,a=null,r,s){return{pathname:"string"==typeof e?e:e.pathname,search:"",hash:"",..."string"==typeof t?Q(t):t,state:a,key:t&&t.key||r||Math.random().toString(36).substring(2,10),mask:s}}function Y({pathname:e="/",search:t="",hash:a=""}){return t&&"?"!==t&&(e+="?"===t.charAt(0)?t:"?"+t),a&&"#"!==a&&(e+="#"===a.charAt(0)?a:"#"+a),e}function Q(e){let t={};if(e){let a=e.indexOf("#");a>=0&&(t.hash=e.substring(a),e=e.substring(0,a));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function G(e,t,a="/"){return X(e,t,a,!1)}function X(e,t,a,r,s){let n=he(("string"==typeof t?Q(t):t).pathname||"/",a);if(null==n)return null;let i=s??function(e){let t=Z(e);return function(e){e.sort((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every((e,a)=>e===t[a])?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)))}(t),t}(e),o=null,l=function(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return W(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}(n);for(let c=0;null==o&&c<i.length;++c)o=ce(i[c],l,r);return o}function Z(e,t=[],a=[],r="",s=!1){let n=(e,n,i=s,o)=>{let l={relativePath:void 0===o?e.path||"":o,caseSensitive:!0===e.caseSensitive,childrenIndex:n,route:e};if(l.relativePath.startsWith("/")){if(!l.relativePath.startsWith(r)&&i)return;H(l.relativePath.startsWith(r),`Absolute route path "${l.relativePath}" nested under path "${r}
2" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),l.relativePath=l.relativePath.slice(r.length)}let c=ye([r,l.relativePath]),d=a.concat(l);e.children&&e.children.length>0&&(H(!0!==e.index,`Index routes must not have child routes. Please remove all child routes from route path "${c}".`),Z(e.children,t,d,c,i)),(null!=e.path||e.index)&&t.push({path:c,score:le(c,e.index),routesMeta:d.map((e,t)=>{let[a,r]=me(e.relativePath,e.caseSensitive,t===d.length-1);return{...e,matcher:a,compiledParams:r}})})};return e.forEach((e,t)=>{if(""!==e.path&&e.path?.includes("?"))for(let a of ee(e.path))n(e,t,!0,a);else n(e,t)}),t}function ee(e){let t=e.split("/");if(0===t.length)return[];let[a,...r]=t,s=a.endsWith("?"),n=a.replace(/\?$/,"");if(0===r.length)return s?[n,""]:[n];let i=ee(r.join("/")),o=[];return o.push(...i.map(e=>""===e?n:[n,e].join("/"))),s&&o.push(...i),o.map(t=>e.startsWith("/")&&""===t?"/":t)}var te=/^:[\w-]+$/,ae=3,re=2,se=1,ne=10,ie=-2,oe=e=>"*"===e;function le(e,t){let a=e.split("/"),r=a.length;return a.some(oe)&&(r+=ie),t&&(r+=re),a.filter(e=>!oe(e)).reduce((e,t)=>e+(te.test(t)?ae:""===t?se:ne),r)}function ce(e,t,a=!1){let{routesMeta:r}=e,s={},n="/",i=[];for(let o=0;o<r.length;++o){let e=r[o],l=o===r.length-1,c="/"===n?t:t.slice(n.length)||"/",d={path:e.relativePath,caseSensitive:e.caseSensitive,end:l},u=e.matcher&&e.compiledParams?ue(d,c,e.matcher,e.compiledParams):de(d,c),m=e.route;if(!u&&l&&a&&!r[r.length-1].route.index&&(u=de({path:e.relativePath,caseSensitive:e.caseSensitive,end:!1},c)),!u)return null;
2Object.assign(s,u.params),i.push({params:s,pathname:ye([n,u.pathname]),pathnameBase:we(ye([n,u.pathnameBase])),route:m}),"/"!==u.pathnameBase&&(n=ye([n,u.pathnameBase]))}return i}function de(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[a,r]=me(e.path,e.caseSensitive,e.end);return ue(e,t,a,r)}function ue(e,t,a,r){let s=t.match(a);if(!s)return null;let n=s[0],i=n.replace(/(.)\/+$/,"$1"),o=s.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:a},r)=>{if("*"===t){let e=o[r]||"";i=n.slice(0,n.length-e.length).replace(/(.)\/+$/,"$1")}const s=o[r];return e[t]=a&&!s?void 0:(s||"").replace(/%2F/g,"/"),e},{}),pathname:n,pathnameBase:i,pattern:e}}function me(e,t=!1,a=!0){W("*"===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,(e,t,a,s,n)=>{if(r.push({paramName:t,isOptional:null!=a}),a){let t=n.charAt(s+e.length);return t&&"/"!==t?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(r.push({paramName:"*"}),s+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?s+="\\/*$":""!==e&&"/"!==e&&(s+="(?:(?=\\/|$))"),[new RegExp(s,t?void 0:"i"),r]}function he(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let a=t.endsWith("/")?t.length-1:t.length,r=e.charAt(a);return r&&"/"!==r?null:e.slice(a)||"/"}function pe(e,t){let a=ve(t).split("/");return e.split("/").forEach(e=>{".."===e?a.length>1&&a.pop():"."!==e&&a.push(e)}),a.length>1?a.join("/"):"/"}function fe(e,t,a,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}].  Please separate it out to the \`to.${a}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function xe(e){let t=function(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}(e);return t.map((e,a)=>a===t.length-1?e.pathname:e.pathnameBase)}function ge(e,t,a,r=!1){let s;"string"==typeof e?s=Q(e):(s={...e},H(!s.pathname||!s.pathname.includes("?"),fe("?","pathname","search",s)),H(!s.pathname||!s.pathname.includes("#"),fe("#","pathname","hash",s)),H(!s.search||!s.search.includes("#"),fe("#","search","hash",s)));let n,i=""===e||""===s.pathname,o=i?"/":s.pathname;if(null==o)n=a;else{let e=t.length-1;if(!r&&o.startsWith("..")){let t=o.split("/");for(;".."===t[0];)t.shift(),e-=1;s.pathname=t.join("/")}n=e>=0?t[e]:"/"}let l=function(e,t="/"){let a,{pathname:r,search:s="",hash:n=""}="string"==typeof e?Q(e):e;return r?(r=be(r),a=r.startsWith("/")?pe(r.substring(1),"/"):pe(r,t)):a=t,{pathname:a,search:je(s),hash:ke(n)}}(s,n),c=o&&"/"!==o&&o.endsWith("/"),d=(i||"."===o)&&a.endsWith("/");return l.pathname.endsWith("/")||!c&&!d||(l.pathname+="/"),l}var be=e=>e.replace(/[\\/]{2,}/g,"/"),ye=e=>be(e.join("/")),ve=e=>e.replace(/\/+$/,""),we=e=>ve(e).replace(/^\/*/,"/"),je=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",ke=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",Ne=class{constructor(e,t,a,r=!1){this.status=e,this.statusText=t||"",this.internal=r,a instanceof Error?(this.data=a.toString(),this.error=a):this.data=a}};function Ee(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}function Ce(e){return ye(e.map(e=>e.route.path).filter(Boolean))||"/"}var Se="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function _e(e,t){let a=e;if("string"!=typeof a||!B.test(a))return{absoluteURL:void 0,isExternal:!1,to:a};let r=a,s=!1;if(Se)try{let e=new URL(window.location.href),r=q.test(a)?new URL((n=a,e.protocol+n.replace(/\\/g,"/"))):new URL(a),i=he(r.pathname,t);r.origin===e.origin&&null!=i?a=i+r.search+r.hash:s=!0}catch(Xr){W(!1,`<Link to="${a}">
2 contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}var n;return{absoluteURL:r,isExternal:s,to:a}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Le=["POST","PUT","PATCH","DELETE"],Re=(new Set(Le),["GET",...Le]);new Set(Re);var Me=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];var Te=P.createContext(null);Te.displayName="DataRouter";var Ie=P.createContext(null);Ie.displayName="DataRouterState";var Ae=P.createContext(!1);function Pe(){return P.useContext(Ae)}var De=P.createContext({isTransitioning:!1});De.displayName="ViewTransition",P.createContext(new Map).displayName="Fetchers";var Oe=P.createContext(null);Oe.displayName="Await";var $e=P.createContext(null);$e.displayName="Navigation";var ze=P.createContext(null);ze.displayName="Location";var Be=P.createContext({outlet:null,matches:[],isDataRoute:!1});Be.displayName="Route";var qe=P.createContext(null);qe.displayName="RouteError";var Ve="REACT_ROUTER_ERROR";function Fe(){return null!=P.useContext(ze)}function Ue(){return H(Fe(),"useLocation() may be used only in the context of a <Router> component."),P.useContext(ze).location}var He="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function We(e){P.useContext($e).static||P.useLayoutEffect(e)}function Je(){let{isDataRoute:e}=P.useContext(Be);return e?function(){let{router:e}=function(e){let t=P.useContext(Te);return H(t,rt(e)),t}("useNavigate"),t=nt("useNavigate"),a=P.useRef(!1);return We(()=>{a.current=!0}),P.useCallback(async(r,s={})=>{W(a.current,He),a.current&&("number"==typeof r?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...s}))},[e,t])}():function(){H(Fe(),"useNavigate() may be used only in the context of a <Router> component.");let e=P.useContext(Te),{basename:t,navigator:a}=P.useContext($e),{matches:r}=P.useContext(Be),{pathname:s}=Ue(),n=JSON.stringify(xe(r)),i=P.useRef(!1);return We(()=>{i.current=!0}),P.useCallback((r,o={})=>
2{if(W(i.current,He),!i.current)return;if("number"==typeof r)return void a.go(r);let l=ge(r,JSON.parse(n),s,"path"===o.relative);null==e&&"/"!==t&&(l.pathname="/"===l.pathname?t:ye([t,l.pathname])),(o.replace?a.replace:a.push)(l,o.state,o)},[t,a,n,s,e])}()}P.createContext(null);function Ke(){let{matches:e}=P.useContext(Be);return e[e.length-1]?.params??{}}function Ye(e,{relative:t}={}){let{matches:a}=P.useContext(Be),{pathname:r}=Ue(),s=JSON.stringify(xe(a));return P.useMemo(()=>ge(e,JSON.parse(s),r,"path"===t),[e,s,r,t])}function Qe(e,t,a){H(Fe(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:r}=P.useContext($e),{matches:s}=P.useContext(Be),n=s[s.length-1],i=n?n.params:{},o=n?n.pathname:"/",l=n?n.pathnameBase:"/",c=n&&n.route;{let e=c&&c.path||"";ot(o,!c||e.endsWith("*")||e.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${o}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.\n\nPlease change the parent <Route path="${e}"> to <Route path="${"/"===e?"*":`${e}/*`}">.`)}let d,u=Ue();if(t){let e="string"==typeof t?Q(t):t;H("/"===l||e.pathname?.startsWith(l),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${l}" but pathname "${e.pathname}" was given in the \`location\` prop.`),d=e}else d=u;let m=d.pathname||"/",h=m;if("/"!==l){let e=l.replace(/^\//,"").split("/");h="/"+m.replace(/^\//,"").split("/").slice(e.length).join("/")}let p=a&&a.state.matches.length?a.state.matches.map(e=>Object.assign(e,{route:a.manifest[e.route.id]||e.route})):G(e,{pathname:h});W(c||null!=p,`No routes matched location "${d.pathname}${d.search}${d.hash}" `),W(null==p||void 0!==p[p.length-1].route.element||void 0!==p[p.length-1].route.Component||void 0!==p[p.length-1].route.lazy,`Matched leaf route at location "${d.pathname}${d.search}${d.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let f=function(e,t=[],a){let r=a?.state;if(null==e){if(!r)return null;if(r.errors)e=r.matches;else{if(0!==t.length||r.initialized||!(r.matches.length>0))return null;e=r.matches}}let s=e,n=r?.errors;if(null!=n){let e=s.findIndex(e=>e.route.id&&void 0!==n?.[e.route.id]);H(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(n).join(",")}`),s=s.slice(0,Math.min(s.length,e+1))}let i=!1,o=-1;if(a&&r){i=r.renderFallback;for(let e=0;e<s.length;e++){let t=s[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(o=e),t.route.id){let{loaderData:e,errors:n}=r,l=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!n||void 0===n[t.route.id]);if(t.route.lazy||l){a.isStatic&&(i=!0),s=o>=0?s.slice(0,o+1):[s[0]];break}}}}let l=a?.onError,c=r&&l?(e,t)=>{l(e,{location:r.location,params:r.matches?.[0]?.params??{},pattern:Ce(r.matches),errorInfo:t})}:void 0;return s.reduceRight((e,a,l)=>{let d,u=!1,m=null,h=null;r&&(d=n&&a.route.id?n[a.route.id]:void 0,m=a.route.errorElement||Xe,i&&(o<0&&0===l?(ot("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),u=!0,h=null):o===l&&(u=!0,h=a.route.hydrateFallbackElement||null)));let p=t.concat(s.slice(0,l+1)),f=()=>{let t;return t=d?m:u?h:a.route.Component?P.createElement(a.route.Component,null):a.route.element?a.route.element:e,P.createElement(at,{match:a,routeContext:{outlet:e,matches:p,isDataRoute:null!=r},children:t})};return r&&(a.route.ErrorBoundary||a.route.errorElement||0===l)?P.createElement(Ze,{location:r.location,revalidation:r.revalidation,component:m,error:d,children:f(),routeContext:{outlet:null,matches:p,isDataRoute:!0},onError:c}):f()},null)}(p&&p.map(e=>Object.assign({},e,{params:Object.assign({},i,e.params),pathname:ye([l,r.encodeLocation?r.encodeLocation(e.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?l:ye([l,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:e.pathnameBase])})),s,a);return t&&f?P.createElement(ze.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...d},navigationType:"POP"}},f):f}function Ge(){let e=function(){let e=P.useContext(qe),t=st("useRouteError"),a=nt("useRouteError");return void 0!==e?e:t.errors?.[a]}(),t=Ee(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),a=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",s={padding:"0.5rem",backgroundColor:r},n={padding:"2px 4px",backgroundColor:r},i=null;return console.error("Error handled by React Router default ErrorBoundary:",e),i=P.createElement(P.Fragment,null,P.createElement("p",null,"💿 Hey developer 👋"),P.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",P.createElement("code",{style:n},"ErrorBoundary")," or"," ",P.createElement("code",{style:n},"errorElement")," prop on your route.")),P.createElement(P.Fragment,null,P.createElement("h2",null,"Unexpected Application 
2Error!"),P.createElement("h3",{style:{fontStyle:"italic"}},t),a?P.createElement("pre",{style:s},a):null,i)}var Xe=P.createElement(Ge,null),Ze=class extends P.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&"object"==typeof e&&e&&"digest"in e&&"string"==typeof e.digest){const t=function(e){if(e.startsWith(`${Ve}:ROUTE_ERROR_RESPONSE:{`))try{let t=JSON.parse(e.slice(40));if("object"==typeof t&&t&&"number"==typeof t.status&&"string"==typeof t.statusText)return new Ne(t.status,t.statusText,t.data)}catch{}}(e.digest);t&&(e=t)}let t=void 0!==e?P.createElement(Be.Provider,{value:this.props.routeContext},P.createElement(qe.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?P.createElement(tt,{error:e},t):t}};Ze.contextType=Ae;var et=new WeakMap;function tt({children:e,error:t}){let{basename:a}=P.useContext($e);if("object"==typeof t&&t&&"digest"in t&&"string"==typeof t.digest){let e=function(e){if(e.startsWith(`${Ve}:REDIRECT:{`))try{let t=JSON.parse(e.slice(28));if("object"==typeof t&&t&&"number"==typeof t.status&&"string"==typeof t.statusText&&"string"==typeof t.location&&"boolean"==typeof t.reloadDocument&&"boolean"==typeof t.replace)return t}catch{}}(t.digest);if(e){let r=et.get(t);if(r)throw r;let s=_e(e.location,a),n=s.absoluteURL||s.to;if(function(e){try{return Me.includes(new URL(e).protocol)}catch{return!1}}(n))throw new Error("Invalid redirect location");if(Se&&!et.get(t)){if(!s.isExternal&&!e.reloadDocument){const a=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(s.to,{replace:e.replace}));throw et.set(t,a),a}window.location.href=n}return P.createElement("meta",{httpEquiv:"refresh",content:`0;url=${n}`})}}return e}function at({routeContext:e,match:t,children:a}){let r=P.useContext(Te);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),P.createElement(Be.Provider,{value:e},a)}function rt(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function st(e){let t=P.useContext(Ie);return H(t,rt(e)),t}function nt(e){let t=function(e){let t=P.useContext(Be);return H(t,rt(e)),t}(e),a=t.matches[t.matches.length-1];return H(a.route.id,`${e} can only be used on routes that contain a unique "id"`),a.route.id}var it={};function ot(e,t,a){t||it[e]||(it[e]=!0,W(!1,a))}var lt={};P.memo(function({routes:e,manifest:t,future:a,state:r,isStatic:s,onError:n}){return Qe(e,void 0,{manifest:t,state:r,isStatic:s,onError:n,future:a})});function ct({to:e,replace:t,state:a,relative:r}){H(Fe(),"<Navigate> may be used only in the context of a <Router> component.");let{static:s}=P.useContext($e);W(!s,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:n}=P.useContext(Be),{pathname:i}=Ue(),o=Je(),l=ge(e,xe(n),i,"path"===r),c=JSON.stringify(l);return P.useEffect(()=>{o(JSON.parse(c),{replace:t,state:a,relative:r})},[o,c,r,t,a]),null}function dt(e){H(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function ut({basename:e="/",children:t=null,location:a,navigationType:r="POP",navigator:s,static:n=!1,useTransitions:i}){H(!Fe(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let o=e.replace(/^\/*/,"/"),l=P.useMemo(()=>({basename:o,navigator:s,static:n,useTransitions:i,future:{}}),[o,s,n,i]);"string"==typeof a&&(a=Q(a));let{pathname:c="/",search:d="",hash:u="",state:m=null,key:h="default",mask:p}=a,f=P.useMemo(()=>{let e=he(c,o);return null==e?null:{location:{pathname:e,search:d,hash:u,state:m,ke
2y:h,mask:p},navigationType:r}},[o,c,d,u,m,h,r,p]);return W(null!=f,`<Router basename="${o}"> is not able to match the URL "${c}${d}${u}" because it does not start with the basename, so the <Router> won't render anything.`),null==f?null:P.createElement($e.Provider,{value:l},P.createElement(ze.Provider,{children:t,value:f}))}function mt({children:e,location:t}){return Qe(ht(e),t)}P.Component;function ht(e,t=[]){let a=[];return P.Children.forEach(e,(e,r)=>{if(!P.isValidElement(e))return;let s=[...t,r];if(e.type===P.Fragment)return void a.push.apply(a,ht(e.props.children,s));H(e.type===dt,`[${"string"==typeof e.type?e.type:e.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),H(!e.props.index||!e.props.children,"An index route cannot have child routes.");let n={id:e.props.id||s.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,middleware:e.props.middleware,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:!0===e.props.hasErrorBoundary||null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(n.children=ht(e.props.children,s)),a.push(n)}),a}var pt="get",ft="application/x-www-form-urlencoded";function xt(e){return"undefined"!=typeof HTMLElement&&e instanceof HTMLElement}function gt(e=""){return new URLSearchParams("string"==typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,a)=>{let r=e[a];return t.concat(Array.isArray(r)?r.map(e=>[a,e]):[[a,r]])},[]))}var bt=null;var yt=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function vt(e){return null==e||yt.has(e)?e:(W(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${ft}"`),null)}function wt(e,t){let a,r,s,n,i;if(xt(o=e)&&"form"===o.tagName.toLowerCase()){let i=e.getAttribute("action");r=i?he(i,t):null,a=e.getAttribute("method")||pt,s=vt(e.getAttribute("enctype"))||ft,n=new FormData(e)}else if(function(e){return xt(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return xt(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let o=e.getAttribute("formaction")||i.getAttribute("action");if(r=o?he(o,t):null,a=e.getAttribute("formmethod")||i.getAttribute("method")||pt,s=vt(e.getAttribute("formenctype"))||vt(i.getAttribute("enctype"))||ft,n=new FormData(i,e),!function(){if(null===bt)try{new FormData(document.createElement("form"),0),bt=!1}catch(Xr){bt=!0}return bt}()){let{name:t,type:a,value:r}=e;if("image"===a){let e=t?`${t}.`:"";n.append(`${e}x`,"0"),n.append(`${e}y`,"0")}else t&&n.append(t,r)}}else{if(xt(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');a=pt,r=null,s=ft,i=e}var o;return n&&"text/plain"===s&&(i=n,n=void 0),{action:r,method:a.toLowerCase(),encType:s,formData:n,body:i}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function jt(e,t){if(!1===e||null==e)throw new Error(t)}function kt(e,t,a,r){let s="string"==typeof e?new URL(e,"undefined"==typeof window?"server://singlefetch/":window.location.origin):e;return a?s.pathname.endsWith("/")?s.pathname=`${s.pathname}_.${r}`:s.pathname=`${s.pathname}.${r}`:"/"===s.pathname?s.pathname=`_root.${r}`:t&&"/"===he(s.pathname,t)?s.pathname=`${ve(t)}/_root.${r}`:s.pathname=`${ve(s.pathname)}.${r}`,s}function Nt(e){return null!=e&&(null==e.href?"preload"===e.rel&&"string"==typeof e.imageSrcSet&&"string"==typeof e.imageSizes:"string"==typeof e.rel&&"string"==typeof e.href)}async function Et(e,t,a){return function(e,t){let a=new Set,r=new Set(t);return e.reduce((e,s)=>{if(t&&(null==(n=s)||"string"!=typeof n.page)&&"script"===s.as&&s.href&&r.has(s.href))return e;var n;let i=JSON.stringify(function(e){let t={},a=Object.keys(e).sort();for(let r of a)t[r]=e[r];return t}(s));return a.has(i)||(a.add(i),e.push({key:i,link:s})),e},[])}((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await async function(e,t){if(e.id in t)return t[e.id];try{let a=await z(()=>import(e.module),[]);return t[e.id]=a,a}catch(a){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(a),window.__reactRouterContext&&window.__reactRouterContext.
2isSpaMode,window.location.reload(),new Promise(()=>{})}}(r,a);return e.links?e.links():[]}return[]}))).flat(1).filter(Nt).filter(e=>"stylesheet"===e.rel||"preload"===e.rel).map(e=>"stylesheet"===e.rel?{...e,rel:"prefetch",as:"style"}:{...e,rel:"prefetch"}))}function Ct(e,t,a,r,s,n){let i=(e,t)=>!a[t]||e.route.id!==a[t].route.id,o=(e,t)=>a[t].pathname!==e.pathname||a[t].route.path?.endsWith("*")&&a[t].params["*"]!==e.params["*"];return"assets"===n?t.filter((e,t)=>i(e,t)||o(e,t)):"data"===n?t.filter((t,n)=>{let l=r.routes[t.route.id];if(!l||!l.hasLoader)return!1;if(i(t,n)||o(t,n))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(s.pathname+s.search+s.hash,window.origin),currentParams:a[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if("boolean"==typeof r)return r}return!0}):[]}function St(e,t,{includeHydrateFallback:a}={}){return r=e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let s=[r.module];return r.clientActionModule&&(s=s.concat(r.clientActionModule)),r.clientLoaderModule&&(s=s.concat(r.clientLoaderModule)),a&&r.hydrateFallbackModule&&(s=s.concat(r.hydrateFallbackModule)),r.imports&&(s=s.concat(r.imports)),s}).flat(1),[...new Set(r)];var r}function _t(){let e=P.useContext(Te);return jt(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Lt(){let e=P.useContext(Ie);return jt(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var Rt=P.createContext(void 0);function Mt(){let e=P.useContext(Rt);return jt(e,"You must render this element inside a <HydratedRouter> element"),e}function Tt(e,t){return a=>{e&&e(a),a.defaultPrevented||t(a)}}function It({page:e,...t}){let a=Pe(),{nonce:r}=Mt(),{router:s}=_t(),n=P.useMemo(()=>G(s.routes,e,s.basename),[s.routes,e,s.basename]);return n?(null==t.nonce&&r&&(t={...t,nonce:r}),a?P.createElement(At,{page:e,matches:n,...t}):P.createElement(Pt,{page:e,matches:n,...t})):null}function At({page:e,matches:t,...a}){let r=Ue(),{future:s}=Mt(),{basename:n}=_t(),i=P.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let a=kt(e,n,s.v8_trailingSlashAwareDataRequests,"rsc"),i=!1,o=[];for(let e of t)"function"==typeof e.route.shouldRevalidate?i=!0:o.push(e.route.id);return i&&o.length>0&&a.searchParams.set("_routes",o.join(",")),[a.pathname+a.search]},[n,s.v8_trailingSlashAwareDataRequests,e,r,t]);return P.createElement(P.Fragment,null,i.map(e=>P.createElement("link",{key:e,rel:"prefetch",as:"fetch",href:e,...a})))}function Pt({page:e,matches:t,...a}){let r=Ue(),{future:s,manifest:n,routeModules:i}=Mt(),{basename:o}=_t(),{loaderData:l,matches:c}=Lt(),d=P.useMemo(()=>Ct(e,t,c,n,r,"data"),[e,t,c,n,r]),u=P.useMemo(()=>Ct(e,t,c,n,r,"assets"),[e,t,c,n,r]),m=P.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let a=new Set,c=!1;if(t.forEach(e=>{let t=n.routes[e.route.id];t&&t.hasLoader&&(!d.some(t=>t.route.id===e.route.id)&&e.route.id in l&&i[e.route.id]?.shouldRevalidate||t.hasClientLoader?c=!0:a.add(e.route.id))}),0===a.size)return[];let u=kt(e,o,s.v8_trailingSlashAwareDataRequests,"data");return c&&a.size>0&&u.searchParams.set("_routes",t.filter(e=>a.has(e.route.id)).map(e=>e.route.id).join(",")),[u.pathname+u.search]},[o,s.v8_trailingSlashAwareDataRequests,l,r,n,d,t,e,i]),h=P.useMemo(()=>St(u,n),[u,n]),p=function(e){let{manifest:t,routeModules:a}=Mt(),[r,s]=P.useState([]);return P.useEffect(()=>{let r=!1;return Et(e,t,a).then(e=>{r||s(e)}),()=>{r=!0}},[e,t,a]),r}(u);return P.createElement(P.Fragment,null,m.map(e=>P.createElement("link",{key:e,rel:"prefetch",as:"fetch",href:e,...a})),h.map(e=>P.createElement("link",{key:e,rel:"modulepreload",href:e,...a})),p.map(({key:e,link:t})=>P.createElement("link",{key:e,nonce:a.nonce,...t,crossOrigin:t.crossOrigin??a.crossOrigin})))}Rt.displayName="FrameworkContext";var Dt=!1;function Ot(e){let{manifest:t,serverHandoffString:a,isSpaMode:r,renderMeta:s,routeDiscovery:n,ssr:i,nonce:o}=Mt(),{router:l,static:c,staticContext:d}=_t(),{matches:u}=Lt(),m=Pe(),h=function(e,t){return"lazy"===e.mode&&!0===t}(n,i);null==e.nonce&&o&&(e={...e,nonce:o}),s&&(s.didRenderScripts=!0);let p=function(e,t,a){if(a&&!Dt)return[e[0]];if(t){let a=e.findIndex(e=>void 0!==t[e.route.id]);return e.slice(0,a+1)}return e}(u,null,r);P.useEffect(()=>{Dt=!0},[]);let f=P.useMemo(()=>
2{if(m)return null;let r=d?`window.__reactRouterContext = ${a};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());`:" ",s=c?`${t.hmr?.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}${h?"":`import ${JSON.stringify(t.url)}`};\n${p.map((e,a)=>{let r=`route${a}`,s=t.routes[e.route.id];jt(s,`Route ${e.route.id} not found in manifest`);let{clientActionModule:n,clientLoaderModule:i,clientMiddlewareModule:o,hydrateFallbackModule:l,module:c}=s,d=[...n?[{module:n,varName:`${r}_clientAction`}]:[],...i?[{module:i,varName:`${r}_clientLoader`}]:[],...o?[{module:o,varName:`${r}_clientMiddleware`}]:[],...l?[{module:l,varName:`${r}_HydrateFallback`}]:[],{module:c,varName:`${r}_main`}];return 1===d.length?`import * as ${r} from ${JSON.stringify(c)};`:[d.map(e=>`import * as ${e.varName} from "${e.module}";`).join("\n"),`const ${r} = {${d.map(e=>`...${e.varName}`).join(",")}};`].join("\n")}).join("\n")}\n  ${h?`window.__reactRouterManifest = ${JSON.stringify(function({sri:e,...t},a){let r=new Set(a.state.matches.map(e=>e.route.id)),s=a.state.location.pathname.split("/").filter(Boolean),n=["/"];for(s.pop();s.length>0;)n.push(`/${s.join("/")}`),s.pop();n.forEach(e=>{let t=X(a.routes,e,a.basename||"/",!1,a.branches);t&&t.forEach(e=>r.add(e.route.id))});let i=[...r].reduce((e,a)=>Object.assign(e,{[a]:t.routes[a]}),{});return{...t,routes:i,sri:!!e||void 0}}(t,l),null,2)};`:""}\n  window.__reactRouterRouteModules = {${p.map((e,t)=>`${JSON.stringify(e.route.id)}:route${t}`).join(",")}};\n\nimport(${JSON.stringify(t.entry.module)});`:" ";return P.createElement(P.Fragment,null,P.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:r},type:void 0}),P.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:s},type:"module",async:!0}))},[]),x=Dt||m?[]:[...new Set(t.entry.imports.concat(St(p,t,{includeHydrateFallback:!0})))],g="object"==typeof t.sri?t.sri:{};var b;return b="The <Scripts /> element is a no-op when using RSC and can be safely removed.",!m||lt[b]||(lt[b]=!0,console.warn(b)),Dt||m?null:P.createElement(P.Fragment,null,"object"==typeof t.sri?P.createElement("script",{...e,"rr-importmap":"",type:"importmap",suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:JSON.stringify({integrity:g})}}):null,h?null:P.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin,integrity:g[t.url],nonce:e.nonce,suppressHydrationWarning:!0}),P.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin,integrity:g[t.entry.module],nonce:e.nonce,suppressHydrationWarning:!0}),x.map(t=>P.createElement("link",{key:t,rel:"modulepreload",href:t,crossOrigin:e.crossOrigin,integrity:g[t],nonce:e.nonce,suppressHydrationWarning:!0})),f)}function $t(...e){return t=>{e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}}P.Component;function zt({error:e,isOutsideRemixApp:t}){let{nonce:a}=Mt();console.error(e);let r,s=P.createElement("script",{nonce:a,dangerouslySetInnerHTML:{__html:'\n        console.log(\n          "💿 Hey developer 👋. You can provide a way better UX than this when your app throws errors. Check out https://reactrouter.com/how-to/error-boundary for more information."\n        );\n      '}});if(Ee(e))return P.createElement(Bt,{title:"Unhandled Thrown Response!"},P.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),s);if(e instanceof Error)r=e;else{let t=null==e?"Unknown Error":"object"==typeof e&&"toString"in e?e.toString():JSON.stringify(e);r=new Error(t)}return P.createElement(Bt,{title:"Application Error!",isOutsideRemixApp:t},P.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),P.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},r.stack),s)}function Bt({title:e,renderScripts:t,isOutsideRemixApp:a,children:r}){let{routeModules:s}=Mt();return s.root?.Layout&&!a?r:P.createElement("html",{lang:"en"},P.createElement("head",null,P.createElement("meta",{charSet:"utf-8"}),P.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),P.createElement("title",null,e)),P.createElement("body",null,P.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},r,t?P.createElement(Ot,null):null)))}var qt="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;try{qt&&(window.__reactRouterVersion="7.18.1")}catch(Xr){}function Vt({basename:e,children:t,useTransitions:a,window:r}){let s=P.useRef();null==s.current&&(s.current=U({window:r,v5Compat:!0}));let n=s.current,[i,o]=P.useState({action:n.action,location:n.location}),l=P.useCallback(e=>{!1===a?o(e):P.startTransition(()=>o(e))},[a]);return P.useLayoutEffect(()=>n.listen(l),[n,l]),P.createElement(ut,{basename:e,children:t,location:i.location,navigationType:i.action,navigator:n,useTransitions:a})}var Ft=P.forwardRef(function({onClick:e,discover:t="render",prefetch:a="none",relative:r,reloadDocument:s,replace:n,mask:i,state:o,target:l,to:c,preventScrollReset:d,viewTransition:u,defaultShouldRevalidate:m,...h},p){let{basename:f,navigator:x,useTransitions:g}=P.useContext($e),b="string"==typeof c&&B.test(c),y=_e(c,f),v=function(e,{relative:t}={}){H(Fe(),"useHref() may be used only in the context of a <Router> component.");let{basename:a,navigator:r}=P.useContext($e),{hash:s,pathname:n,search:i}=Ye(e,{relative:t}),o=n;return"/"!==a&&(o="/"===n?a:ye([a,n])),r.createHref({pathname:o,search:i,hash:s})}(c=y.to,{relative:r}),w=Ue(),j=null;if(i){let e=ge(i,[],w.mask?w.mask.pathname:"/",!0);"/"!==f&&(e.pathname="/"===e.pathname?f:ye([f,e.pathname])),j=x.createHref(e)}let[k,N,E]=function(e,t){let a=P.useContext(Rt),[r,s]=P.useState(!1),[n,i]=P.useState(!1),{onFocus:o,onBlur:l,onMouseEnter:c,onMouseLeave:d,onTouchStart:u}=t,m=P.useRef(null);P.useEffect(()=>{if("render"===e&&i(!0),"viewport"===e){let e=new IntersectionObserver(e=>
2{e.forEach(e=>{i(e.isIntersecting)})},{threshold:.5});return m.current&&e.observe(m.current),()=>{e.disconnect()}}},[e]),P.useEffect(()=>{if(r){let e=setTimeout(()=>{i(!0)},100);return()=>{clearTimeout(e)}}},[r]);let h=()=>{s(!0)},p=()=>{s(!1),i(!1)};return a?"intent"!==e?[n,m,{}]:[n,m,{onFocus:Tt(o,h),onBlur:Tt(l,p),onMouseEnter:Tt(c,h),onMouseLeave:Tt(d,p),onTouchStart:Tt(u,h)}]:[!1,m,{}]}(a,h),C=function(e,{target:t,replace:a,mask:r,state:s,preventScrollReset:n,relative:i,viewTransition:o,defaultShouldRevalidate:l,useTransitions:c}={}){let d=Je(),u=Ue(),m=Ye(e,{relative:i});return P.useCallback(h=>{if(function(e,t){return!(0!==e.button||t&&"_self"!==t||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e))}(h,t)){h.preventDefault();let t=void 0!==a?a:Y(u)===Y(m),p=()=>d(e,{replace:t,mask:r,state:s,preventScrollReset:n,relative:i,viewTransition:o,defaultShouldRevalidate:l});c?P.startTransition(()=>p()):p()}},[u,d,m,a,r,s,t,e,n,i,o,l,c])}(c,{replace:n,mask:i,state:o,target:l,preventScrollReset:d,relative:r,viewTransition:u,defaultShouldRevalidate:m,useTransitions:g});let S=!(y.isExternal||s),_=P.createElement("a",{...h,...E,href:(S?j:void 0)||y.absoluteURL||v,onClick:S?function(t){e&&e(t),t.defaultPrevented||C(t)}:e,ref:$t(p,N),target:l,"data-discover":b||"render"!==t?void 0:"true"});return k&&!b?P.createElement(P.Fragment,null,_,P.createElement(It,{page:v})):_});Ft.displayName="Link",P.forwardRef(function({"aria-current":e="page",caseSensitive:t=!1,className:a="",end:r=!1,style:s,to:n,viewTransition:i,children:o,...l},c){let d=Ye(n,{relative:l.relative}),u=Ue(),m=P.useContext(Ie),{navigator:h,basename:p}=P.useContext($e),f=null!=m&&function(e,{relative:t}={}){let a=P.useContext(De);H(null!=a,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=Wt("useViewTransitionState"),s=Ye(e,{relative:t});if(!a.isTransitioning)return!1;let n=he(a.currentLocation.pathname,r)||a.currentLocation.pathname,i=he(a.nextLocation.pathname,r)||a.nextLocation.pathname;return null!=de(s.pathname,i)||null!=de(s.pathname,n)}(d)&&!0===i,x=h.encodeLocation?h.encodeLocation(d).pathname:d.pathname,g=u.pathname,b=m&&m.navigation&&m.navigation.location?m.navigation.location.pathname:null;t||(g=g.toLowerCase(),b=b?b.toLowerCase():null,x=x.toLowerCase()),b&&p&&(b=he(b,p)||b);const y="/"!==x&&x.endsWith("/")?x.length-1:x.length;let v,w=g===x||!r&&g.startsWith(x)&&"/"===g.charAt(y),j=null!=b&&(b===x||!r&&b.startsWith(x)&&"/"===b.charAt(x.length)),k={isActive:w,isPending:j,isTransitioning:f},N=w?e:void 0;v="function"==typeof a?a(k):[a,w?"active":null,j?"pending":null,f?"transitioning":null].filter(Boolean).join(" ");let E="function"==typeof s?s(k):s;return P.createElement(Ft,{...l,"aria-current":N,className:v,ref:c,style:E,to:n,viewTransition:i},"function"==typeof o?o(k):o)}).displayName="NavLink";var Ut=P.forwardRef(({discover:e="render",fetcherKey:t,navigate:a,reloadDocument:r,replace:s,state:n,method:i=pt,action:o,onSubmit:l,relative:c,preventScrollReset:d,viewTransition:u,defaultShouldRevalidate:m,...h},p)=>{let{useTransitions:f}=P.useContext($e),x=function(){let{router:e}=Wt("useSubmit"),{basename:t}=P.useContext($e),a=nt("useRouteId"),r=e.fetch,s=e.navigate;return P.useCallback(async(e,n={})=>{let{action:i,method:o,encType:l,formData:c,body:d}=wt(e,t);if(!1===n.navigate){let e=n.fetcherKey||Yt();await r(e,a,n.action||i,{defaultShouldRevalidate:n.defaultShouldRevalidate,preventScrollReset:n.preventScrollReset,formData:c,body:d,formMethod:n.method||o,formEncType:n.encType||l,flushSync:n.flushSync})}else await s(n.action||i,{defaultShouldRevalidate:n.defaultShouldRevalidate,preventScrollReset:n.preventScrollReset,formData:c,body:d,formMethod:n.method||o,formEncType:n.encType||l,replace:n.replace,state:n.state,fromRouteId:a,flushSync:n.flushSync,viewTransition:n.viewTransition})},[r,s,t,a])}(),g=function(e,{relative:t}={}){let{basename:a}=P.useContext($e),r=P.useContext(Be);H(r,"useFormAction must be used inside a RouteContext");let[s]=r.matches.slice(-1),n={...Ye(e||".",{relative:t})},i=Ue();if(null==e){n.search=i.search;let e=new URLSearchParams(n.search),t=e.getAll("index");if(t.some(e=>""===e)){e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let a=e.toString();n.search=a?`?${a}`:""}}e&&"."!==e||!s.route.index||(n.search=n.search?n.search.replace(/^\?/,"?index&"):"?index");"/"!==a&&(n.pathname="/"===n.pathname?a:ye([a,n.pathname]));return Y(n)}(o,{relative:c}
2),b="get"===i.toLowerCase()?"get":"post",y="string"==typeof o&&B.test(o);return P.createElement("form",{ref:p,method:b,action:g,onSubmit:r?l:e=>{if(l&&l(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,o=r?.getAttribute("formmethod")||i,h=()=>x(r||e.currentTarget,{fetcherKey:t,method:o,navigate:a,replace:s,state:n,relative:c,preventScrollReset:d,viewTransition:u,defaultShouldRevalidate:m});f&&!1!==a?P.startTransition(()=>h()):h()},...h,"data-discover":y||"render"!==e?void 0:"true"})});function Ht(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function Wt(e){let t=P.useContext(Te);return H(t,Ht(e)),t}function Jt(e){W("undefined"!=typeof URLSearchParams,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=P.useRef(gt(e)),a=P.useRef(!1),r=Ue(),s=P.useMemo(()=>function(e,t){let a=gt(e);return t&&t.forEach((e,r)=>{a.has(r)||t.getAll(r).forEach(e=>{a.append(r,e)})}),a}(r.search,a.current?null:t.current),[r.search]),n=Je();return[s,P.useCallback((e,t)=>{const r=gt("function"==typeof e?e(new URLSearchParams(s)):e);a.current=!0,n("?"+r,t)},[n,s])]}Ut.displayName="Form";var Kt=0,Yt=()=>`__${String(++Kt)}__`;var Qt=class extends n{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#a=0}#e;#t;#a;build(e,t,a){const r=new w({client:e,mutationCache:this,mutationId:++this.#a,options:e.defaultMutationOptions(t),state:a});return this.add(r),r}add(e){this.#e.add(e);const t=Gt(e);if("string"==typeof t){const a=this.#t.get(t);a?a.push(e):this.#t.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){const t=Gt(e);if("string"==typeof t){const a=this.#t.get(t);if(a)if(a.length>1){const t=a.indexOf(e);-1!==t&&a.splice(t,1)}else a[0]===e&&this.#t.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){const t=Gt(e);if("string"==typeof t){const a=this.#t.get(t)?.find(e=>"pending"===e.state.status);return!a||a===e}return!0}runNext(e){const t=Gt(e);return"string"==typeof t?(this.#t.get(t)?.find(t=>
2t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){p.batch(()=>{this.#e.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){const t={exact:!0,...e};return this.getAll().find(e=>x(t,e))}findAll(e={}){return this.getAll().filter(t=>x(e,t))}notify(e){p.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){const e=this.getAll().filter(e=>e.state.isPaused);return p.batch(()=>Promise.all(e.map(e=>e.continue().catch(l))))}};function Gt(e){return e.options.scope?.id}var Xt=class extends n{constructor(e={}){super(),this.config=e,this.#r=new Map}#r;build(e,t,a){const r=t.queryKey,s=t.queryHash??c(r,t);let n=this.get(s);return n||(n=new y({client:e,queryKey:r,queryHash:s,options:e.defaultQueryOptions(t),state:a,defaultOptions:e.getQueryDefaults(r)}),this.add(n)),n}add(e){this.#r.has(e.queryHash)||(this.#r.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#r.get(e.queryHash);t&&(e.destroy(),t===e&&this.#r.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){p.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#r.get(e)}getAll(){return[...this.#r.values()]}find(e){const t={exact:!0,...e};return this.getAll().find(e=>b(t,e))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter(t=>b(e,t)):t}notify(e){p.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){p.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){p.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Zt=class{#s;#n;#i;#o;#l;#c;#d;#u;constructor(e={}){this.#s=e.queryCache||new Xt,this.#n=e.mutationCache||new Qt,this.#i=e.defaultOptions||{},this.#o=new Map,this.#l=new Map,this.#c=0}mount(){this.#c++,1===this.#c&&(this.#d=u.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#s.onFocus())}),this.#u=h.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#s.onOnline())}))}unmount(){this.#c--,0===this.#c&&(this.#d?.(),this.#d=void 0,this.#u?.(),this.#u=void 0)}isFetching(e){return this.#s.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#n.findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return this.#s.get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),a=this.#s.build(this,t),r=a.state.data;return void 0===r?this.fetchQuery(e):(e.revalidateIfStale&&a.isStaleByTime(o(t.staleTime,a))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#s.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,a){const r=this.defaultQueryOptions({queryKey:e}),s=this.#s.get(r.queryHash)?.state.data,n=m(t,s);if(void 0!==n)return this.#s.build(this,r).setData(n,{...a,manual:!0})}setQueriesData(e,t,a){return p.batch(()=>this.#s.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,a)]))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return this.#s.get(t.queryHash)?.state}removeQueries(e){const t=this.#s;p.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){const a=this.#s;return p.batch(()=>(a.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const a={revert:!0,...t},r=p.batch(()=>this.#s.findAll(e).map(e=>e.cancel(a)));return Promise.all(r).then(l).catch(l)}invalidateQueries(e,t={}){return p.batch(()=>(this.#s.findAll(e).forEach(e=>{e.invalidate()}),"none"===e?.refetchType?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t)))}refetchQueries(e,t={}){const a={...t,cancelRefetch:t.cancelRefetch??!0},r=p.batch(()=>this.#s.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,a);return a.throwOnError||(t=t.catch(l)),"paused"===e.state.fetchStatus?Promise.resolve():t}));return Promise.all(r).then(l)}fetchQuery(e){const t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);const a=this.#s.build(this,t);return a.isStaleByTime(o(t.staleTime,a))?a.fetch(t):Promise.resolve(a.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(l).catch(l)}
2fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(l).catch(l)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return h.isOnline()?this.#n.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#s}getMutationCache(){return this.#n}getDefaultOptions(){return this.#i}setDefaultOptions(e){this.#i=e}setQueryDefaults(e,t){this.#o.set(d(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...this.#o.values()],a={};return t.forEach(t=>{g(e,t.queryKey)&&Object.assign(a,t.defaultOptions)}),a}setMutationDefaults(e,t){this.#l.set(d(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...this.#l.values()],a={};return t.forEach(t=>{g(e,t.mutationKey)&&Object.assign(a,t.defaultOptions)}),a}defaultQueryOptions(e){if(e._defaulted)return e;const t={...this.#i.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=c(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===i&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#i.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#s.clear(),this.#n.clear()}};var ea=Array(12).fill(0),ta=({visible:e,className:t})=>P.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},P.createElement("div",{className:"sonner-spinner"},ea.map((e,t)=>P.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${t}`})))),aa=P.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},P.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"})),ra=P.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},P.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"})),sa=P.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},P.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"})),na=P.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},P.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"})),ia=P.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"},P.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),P.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),oa=1,la=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{const 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;const{message:a,...r}=e,s="number"==typeof(null==e?void 0:e.id)||(null==(t=e.id)?void 0:t.length)>0?e.id:oa++,n=this.toasts.find(e=>e.id===s),i=void 0===e.dismissible||e.dismissible;return this.dismissedToasts.has(s)&&this.dismissedToasts.delete(s),n?this.toasts=this.toasts.map(t=>
vendor: 3,515 bytes, line 2
2t.id===s?(this.publish({...t,...e,id:s,title:a}),{...t,...e,id:s,dismissible:i,title:a}):t):this.addToast({title:a,...r,dismissible:i,id:s}),s},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,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 a;void 0!==t.loading&&(a=this.create({...t,promise:e,type:"loading",message:t.loading,description:"function"!=typeof t.description?t.description:void 0}));const r=Promise.resolve(e instanceof Function?e():e);let s,n=void 0!==a;const i=r.then(async e=>{if(s=["resolve",e],P.isValidElement(e))n=!1,this.create({id:a,type:"default",message:e});else if(ca(e)&&!e.ok){n=!1;const r="function"==typeof t.error?await t.error(`HTTP error! status: ${e.status}`):t.error,s="function"==typeof t.description?await t.description(`HTTP error! status: ${e.status}`):t.description,i="object"!=typeof r||P.isValidElement(r)?{message:r}:r;this.create({id:a,type:"error",description:s,...i})}else if(e instanceof Error){n=!1;const r="function"==typeof t.error?await t.error(e):t.error,s="function"==typeof t.description?await t.description(e):t.description,i="object"!=typeof r||P.isValidElement(r)?{message:r}:r;this.create({id:a,type:"error",description:s,...i})}else if(void 0!==t.success){n=!1;const r="function"==typeof t.success?await t.success(e):t.success,s="function"==typeof t.description?await t.description(e):t.description,i="object"!=typeof r||P.isValidElement(r)?{message:r}:r;this.create({id:a,type:"success",description:s,...i})}}).catch(async e=>{if(s=["reject",e],void 0!==t.error){n=!1;const r="function"==typeof t.error?await t.error(e):t.error,s="function"==typeof t.description?await t.description(e):t.description,i="object"!=typeof r||P.isValidElement(r)?{message:r}:r;this.create({id:a,type:"error",description:s,...i})}}).finally(()=>{n&&(this.dismiss(a),a=void 0),null==t.finally||t.finally.call(t)}),o=()=>new Promise((e,t)=>i.then(()=>"reject"===s[0]?t(s[1]):e(s[1])).catch(t));return"string"!=typeof a&&"number"!=typeof a?{unwrap:o}:Object.assign(a,{unwrap:o})},this.custom=(e,t)=>{const a=(null==t?void 0:t.id)||oa++;return this.create({jsx:e(a),id:a,...t}),a},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},ca=e=>e&&"object"==typeof e&&"ok"in e&&"boolean"==typeof e.ok&&"status"in e&&"number"==typeof e.status,da=(e,t)=>{const a=(null==t?void 0:t.id)||oa++;return la.addToast({title:e,...t,id:a}),a},ua=Object.assign(da,{success:la.success,info:la.info,warning:la.warning,error:la.error,custom:la.custom,message:la.message,promise:la.promise,dismiss:la.dismiss,loading:la.loading},{getHistory:()=>la.toasts,getToasts:()=>la.getActiveToasts()});function ma(e){return void 0!==e.label}!function(e){if(!e||"undefined"==typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",t.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}
vendor: 14,864 bytes, line 2
2("[data-sonner-toaster][dir=ltr],html[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%)}[data-sonner-toaster][dir=rtl],html[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%)}[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:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[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);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[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 rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [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)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [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;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [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);background:var(--normal-bg);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-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[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}[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}[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,0)) translateX(var(--swipe-amount-x,0));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{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{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{from{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-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--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-sonner-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-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-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, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--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-sonner-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-sonner-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]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[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]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[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]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[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]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[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:first-child{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)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{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%)}");
vendor: 9,251 bytes, line 2
2var ha=3,pa=14;function fa(...e){return e.filter(Boolean).join(" ")}var xa=e=>{var t,a,r,s,n,i,o,l,c;const{invert:d,toast:u,unstyled:m,interacting:h,setHeights:p,visibleToasts:f,heights:x,index:g,toasts:b,expanded:y,removeToast:v,defaultRichColors:w,closeButton:j,style:k,cancelButtonStyle:N,actionButtonStyle:E,className:C="",descriptionClassName:S="",duration:_,position:L,gap:R,expandByDefault:M,classNames:T,icons:I,closeButtonAriaLabel:A="Close toast"}=e,[D,O]=P.useState(null),[$,z]=P.useState(null),[B,q]=P.useState(!1),[V,F]=P.useState(!1),[U,H]=P.useState(!1),[W,J]=P.useState(!1),[K,Y]=P.useState(!1),[Q,G]=P.useState(0),[X,Z]=P.useState(0),ee=P.useRef(u.duration||_||4e3),te=P.useRef(null),ae=P.useRef(null),re=0===g,se=g+1<=f,ne=u.type,ie=!1!==u.dismissible,oe=u.className||"",le=u.descriptionClassName||"",ce=P.useMemo(()=>x.findIndex(e=>e.toastId===u.id)||0,[x,u.id]),de=P.useMemo(()=>{var e;return null!=(e=u.closeButton)?e:j},[u.closeButton,j]),ue=P.useMemo(()=>u.duration||_||4e3,[u.duration,_]),me=P.useRef(0),he=P.useRef(0),pe=P.useRef(0),fe=P.useRef(null),[xe,ge]=L.split("-"),be=P.useMemo(()=>x.reduce((e,t,a)=>a>=ce?e:e+t.height,0),[x,ce]),ye=(()=>{const[e,t]=P.useState(document.hidden);return P.useEffect(()=>{const e=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",e),()=>window.removeEventListener("visibilitychange",e)},[]),e})(),ve=u.invert||d,we="loading"===ne;he.current=P.useMemo(()=>ce*R+be,[ce,be]),P.useEffect(()=>{ee.current=ue},[ue]),P.useEffect(()=>{q(!0)},[]),P.useEffect(()=>{const e=ae.current;if(e){const t=e.getBoundingClientRect().height;return Z(t),p(e=>[{toastId:u.id,height:t,position:u.position},...e]),()=>p(e=>e.filter(e=>e.toastId!==u.id))}},[p,u.id]),P.useLayoutEffect(()=>{if(!B)return;const e=ae.current,t=e.style.height;e.style.height="auto";const a=e.getBoundingClientRect().height;e.style.height=t,Z(a),p(e=>e.find(e=>e.toastId===u.id)?e.map(e=>e.toastId===u.id?{...e,height:a}:e):[{toastId:u.id,height:a,position:u.position},...e])},[B,u.title,u.description,p,u.id,u.jsx,u.action,u.cancel]);const je=P.useCallback(()=>{F(!0),G(he.current),p(e=>e.filter(e=>e.toastId!==u.id)),setTimeout(()=>{v(u)},200)},[u,v,p,he]);P.useEffect(()=>{if(u.promise&&"loading"===ne||u.duration===1/0||"loading"===u.type)return;let e;return y||h||ye?(()=>{if(pe.current<me.current){const e=(new Date).getTime()-me.current;ee.current=ee.current-e}pe.current=(new Date).getTime()})():ee.current!==1/0&&(me.current=(new Date).getTime(),e=setTimeout(()=>{null==u.onAutoClose||u.onAutoClose.call(u,u),je()},ee.current)),()=>clearTimeout(e)},[y,h,u,ne,ye,je]),P.useEffect(()=>{u.delete&&(je(),null==u.onDismiss||u.onDismiss.call(u,u))},[je,u.delete]);const ke=u.icon||(null==I?void 0:I[ne])||(e=>{switch(e){case"success":return aa;case"info":return sa;case"warning":return ra;case"error":return na;default:return null}})(ne);var Ne,Ee;return P.createElement("li",{tabIndex:0,ref:ae,className:fa(C,oe,null==T?void 0:T.toast,null==u||null==(t=u.classNames)?void 0:t.toast,null==T?void 0:T.default,null==T?void 0:T[ne],null==u||null==(a=u.classNames)?void 0:a[ne]),"data-sonner-toast":"","data-rich-colors":null!=(Ne=u.richColors)?Ne:w,"data-styled":!Boolean(u.jsx||u.unstyled||m),"data-mounted":B,"data-promise":Boolean(u.promise),"data-swiped":K,"data-removed":V,"data-visible":se,"data-y-position":xe,"data-x-position":ge,"data-index":g,"data-front":re,"data-swiping":U,"data-dismissible":ie,"data-type":ne,"data-invert":ve,"data-swipe-out":W,"data-swipe-direction":$,"data-expanded":Boolean(y||M&&B),"data-testid":u.testId,style:{"--index":g,"--toasts-before":g,"--z-index":b.length-g,"--offset":`${V?Q:he.current}px`,"--initial-height":M?"auto":`${X}px`,...k,...u.style},onDragEnd:()=>{H(!1),O(null),fe.current=null},onPointerDown:e=>{2!==e.button&&!we&&ie&&(te.current=new Date,G(he.current),e.target.setPointerCapture(e.pointerId),"BUTTON"!==e.target.tagName&&(H(!0),fe.current={x:e.clientX,y:e.clientY}))},onPointerUp:()=>{var e,t,a;if(W||!ie)return;fe.current=null;const r=Number((null==(e=ae.current)?void 0:e.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),s=Number((null==(t=ae.current)?void 0:t.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),n=(new Date).getTime()-(null==(a=te.current)?void 0:a.getTime()),i="x"===D?r:s,o=Math.abs(i)/n;if(Math.abs(i)>=45||o>.11)return G(he.current),null==u.onDismiss||u.onDismiss.call(u,u),z("x"===D?r>0?"right":"left":s>0?"down":"up"),je(),void J(!0);var l,c;null==(l=ae.current)||l.style.setProperty("--swipe-amount-x","0px"),null==(c=ae.current)||c.style.setProperty("--swipe-amount-y","0px"),Y(!1),H(!1),O(null)},onPointerMove:t=>{var a,r,s;if(!fe.current||!ie)return;if((null==(a=window.getSelection())?void 0:a.toString().length)>0)return;const n=t.clientY-fe.current.y,i=t.clientX-fe.current.x;var o;const l=null!=(o=e.swipeDirections)?o:function(e){const[t,a]=e.split("-"),r=[];return t&&r.push(t),a&&r.push(a),r}(L);!D&&(Math.abs(i)>1||Math.abs(n)>1)&&O(Math.abs(i)>Math.abs(n)?"x":"y");let c={x:0,y:0};const d=e=>1/(1.5+Math.abs(e)/20);if("y"===D){if(l.includes("top")||l.includes("bottom"))if(l.includes("top")&&n<0||l.includes("bottom")&&n>0)c.y=n;else{const e=n*d(n);c.y=Math.abs(e)<Math.abs(n)?e:n}}else if("x"===D&&(l.includes("left")||l.includes("right")))if(l.includes("left")&&i<0||l.includes("right")&&i>0)c.x=i;else{const e=i*d(i);c.x=Math.abs(e)<Math.abs(i)?e:i}(Math.abs(c.x)>0||Math.abs(c.y)>0)&&Y(!0),null==(r=ae.current)||r.style.setProperty("--swipe-amount-x",`${c.x}px`),null==(s=ae.current)||s.style.setProperty("--swipe-amount-y",`${c.y}px`)}},de&&!u.jsx&&"loading"!==ne?P.createElement("button",{"aria-label":A,"data-disabled":we,"data-close-button":!0,onClick:we||!ie?()=>{}:()=>{je(),null==u.onDismiss||u.onDismiss.call(u,u)},className:fa(null==T?void 0:T.closeButton,null==u||null==(r=u.classNames)?void 0:r.closeButton)},null!=(Ee=null==I?void 0:I.close)?Ee:ia):null,(ne||u.icon||u.promise)&&null!==u.icon&&(null!==(null==I?void 0:I[ne])||u.icon)?P.createElement("div",{"data-icon":"",className:fa(null==T?void 0:T.icon,null==u||null==(s=u.classNames)?void 0:s.icon)},u.promise||"loading"===u.type&&!u.icon?u.icon||function(){var e,t;return(null==I?void 0:I.loading)?P.createElement("div",{className:fa(null==T?void 0:T.loader,null==u||null==(t=u.classNames)?void 0:t.loader,"sonner-loader"),"data-visible":"loading"===ne},I.loading):P.createElement(ta,{className:fa(null==T?void 0:T.loader,null==u||null==(e=u.classNames)?void 0:e.loader),visible:"loading"===ne})}():null,"loading"!==u.type?ke:null):null,P.createElement("div",{"data-content":"",className:fa(null==T?void 0:T.content,null==u||null==(n=u.classNames)?void 0:n.content)},P.createElement("div",{"data-title":"",className:fa(null==T?void 0:T.title,null==u||null==(i=u.classNames)?void 0:i.title)},u.jsx?u.jsx:"function"==typeof u.title?u.title():u.title),u.description?P.createElement("div",{"data-description":"",className:fa(S,le,null==T?void 0:T.description,null==u||null==(o=u.classNames)?void 0:o.description)},"function"==typeof u.description?u.description():u.description):null),P.isValidElement(u.cancel)?u.cancel:u.cancel&&ma(u.cancel)?P.createElement("button",{"data-button":!0,"data-cancel":!0,style:u.cancelButtonStyle||N,onClick:e=>{ma(u.cancel)&&ie&&(null==u.cancel.onClick||u.cancel.onClick.call(u.cancel,e),je())},className:fa(null==T?void 0:T.cancelButton,null==u||null==(l=u.classNames)?void 0:l.cancelButton)},u.cancel.label):null,P.isValidElement(u.action)?u.action:u.action&&ma(u.action)?P.createElement("button",{"data-button":!0,"data-action":!0,style:u.actionButtonStyle||E,onClick:e=>{ma(u.action)&&(null==u.action.onClick||u.action.onClick.call(u.action,e),e.defaultPrevented||je())},className:fa(null==T?void 0:T.actionButton,null==u||null==(c=u.classNames)?void 0:c.actionButton)},u.action.label):null)};function ga(){if("undefined"==typeof window)return"ltr";if("undefined"==typeof document)return"ltr";const e=document.documentElement.getAttribute("dir");return"auto"!==e&&e?e:window.getComputedStyle(document.documentElement).direction}function ba(e,t){const a={};return[e,t].forEach((e,t)=>{const r=1===t,s=r?"--mobile-offset":"--offset",n=r?"16px":"24px";function i(e){["top","right","bottom","left"].forEach(t=>{a[`${s}-${t}`]="number"==typeof e?`${e}px`:e})}"number"==typeof e||"string"==typeof e?i(e):"object"==typeof e?["top","right","bottom","left"].forEach(t=>{void 0===e[t]?a[`${s}-${t}`]=n:a[`${s}-${t}`]="number"==typeof e[t]?`${e[t]}px`:e[t]}):i(n)}),a}var ya=P.forwardRef(function(e,t){const{id:a,invert:r,position:s="bottom-right",hotkey:n=["altKey","KeyT"],expand:i,closeButton:o,className:l,offset:c,mobileOffset:d,theme:u="light",richColors:m,duration:h,style:p,visibleToasts:f=ha,toastOptions:x,dir:g=ga(),gap:b=pa,icons:y,containerAriaLabel:v="Notifications"}=e,[w,j]=P.useState([]),k=P.useMemo(()=>a?w.filter(e=>e.toasterId===a):w.filter(e=>!e.toasterId),[w,a]),N=P.useMemo(()=>Array.from(new Set([s].concat(k.filter(e=>e.position).map(e=>e.position)))),[k,s]),[E,C]=P.useState([]),[S,_]=P.useState(!1),[L,R]=P.useState(!1),[M,T]=P.useState("system"!==u?u:"undefined"!=typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dar
2k":"light"),I=P.useRef(null),A=n.join("+").replace(/Key/g,"").replace(/Digit/g,""),D=P.useRef(null),$=P.useRef(!1),z=P.useCallback(e=>{j(t=>{var a;return(null==(a=t.find(t=>t.id===e.id))?void 0:a.delete)||la.dismiss(e.id),t.filter(({id:t})=>t!==e.id)})},[]);return P.useEffect(()=>la.subscribe(e=>{e.dismiss?requestAnimationFrame(()=>{j(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))}):setTimeout(()=>{O.flushSync(()=>{j(t=>{const a=t.findIndex(t=>t.id===e.id);return-1!==a?[...t.slice(0,a),{...t[a],...e},...t.slice(a+1)]:[e,...t]})})})}),[w]),P.useEffect(()=>{if("system"!==u)return void T(u);if("system"===u&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?T("dark"):T("light")),"undefined"==typeof window)return;const e=window.matchMedia("(prefers-color-scheme: dark)");try{e.addEventListener("change",({matches:e})=>{T(e?"dark":"light")})}catch(t){e.addListener(({matches:e})=>{try{T(e?"dark":"light")}catch(Xr){console.error(Xr)}})}},[u]),P.useEffect(()=>{w.length<=1&&_(!1)},[w]),P.useEffect(()=>{const e=e=>{var t,a;n.every(t=>e[t]||e.code===t)&&(_(!0),null==(a=I.current)||a.focus());"Escape"!==e.code||document.activeElement!==I.current&&!(null==(t=I.current)?void 0:t.contains(document.activeElement))||_(!1)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[n]),P.useEffect(()=>{if(I.current)return()=>{D.current&&(D.current.focus({preventScroll:!0}),D.current=null,$.current=!1)}},[I.current]),P.createElement("section",{ref:t,"aria-label":`${v} ${A}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},N.map((t,a)=>{var s;const[n,u]=t.split("-");return k.length?P.createElement("ol",{key:t,dir:"auto"===g?ga():g,tabIndex:-1,ref:I,className:l,"data-sonner-toaster":!0,"data-sonner-theme":M,"data-y-position":n,"data-x-position":u,style:{"--front-toast-height":`${(null==(s=E[0])?void 0:s.height)||0}px`,"--width":"356px","--gap":`${b}px`,...p,...ba(c,d)},onBlur:e=>{$.current&&!e.currentTarget.contains(e.relatedTarget)&&($.current=!1,D.current&&(D.current.focus({preventScroll:!0}),D.current=null))},onFocus:e=>{e.target instanceof HTMLElement&&"false"===e.target.dataset.dismissible||$.current||($.current=!0,D.current=e.relatedTarget)},onMouseEnter:()=>_(!0),onMouseMove:()=>_(!0),onMouseLeave:()=>{L||_(!1)},onDragEnd:()=>_(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&"false"===e.target.dataset.dismissible||R(!0)},onPointerUp:()=>R(!1)},k.filter(e=>!e.position&&0===a||e.position===t).map((a,s)=>{var n,l;return P.createElement(xa,{key:a.id,icons:y,index:s,toast:a,defaultRichColors:m,duration:null!=(n=null==x?void 0:x.duration)?n:h,className:null==x?void 0:x.className,descriptionClassName:null==x?void 0:x.descriptionClassName,invert:r,visibleToasts:f,closeButton:null!=(l=null==x?void 0:x.closeButton)?l:o,interacting:L,position:t,style:null==x?void 0:x.style,unstyled:null==x?void 0:x.unstyled,classNames:null==x?void 0:x.classNames,cancelButtonStyle:null==x?void 0:x.cancelButtonStyle,actionButtonStyle:null==x?void 0:x.actionButtonStyle,closeButtonAriaLabel:null==x?void 0:x.closeButtonAriaLabel,removeToast:z,toasts:k.filter(e=>e.position==a.position),heights:E.filter(e=>e.position==a.position),setHeights:C,expandByDefault:i,gap:b,expanded:S,swipeDirections:e.swipeDirections})})):null}))}),va=s(),wa=(0,P.forwardRef)(({variant:e="primary",size:t="md",loading:a=!1,fullWidth:r=!1,shine:s=!0,as:n,className:i="",children:o,disabled:l,...c},d)=>(0,va.jsx)(n||"button",{ref:d,className:E(E("inline-flex items-center justify-center gap-2","font-semibold rounded-lg","transition-all","focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-black","disabled:opacity-50 disabled:cursor-not-allowed",r&&"w-full",s&&!l&&"btn-modern"),{primary:"bg-brand-red hover:bg-brand-red/90 text-white focus:ring-brand-red",secondary:"border border-white/10 text-text-muted hover:bg-white/5 focus:ring-white/20",outline:"border-2 border-brand-red text-brand-red-text hover:bg-brand-red hover:text-white focus:ring-brand-red",ghost:"text-text-muted hover:text-text-on-dark hover:bg-white/5 focus:ring-white/20",danger:"bg-brand-red hover:bg-brand-red/90 text-white focus:ring-brand-red",success:"bg-green-500 hover:bg-green-600 text-white focus:ring-green-500",light:"bg-white hover:bg-brand-red text-text-dark hover:text-white focus:ring-white/30","brand-outline":"bg-transparent border-2 border-white text-white hover:bg-brand-red hover:border-white uppercase tracking-widest font-medium focus:ring-white rounded-xl shadow-lg","brand-red-outline":"bg-transparent border-2 border-white text-white hover:bg-brand-red hover:border-white uppercase tracking-widest font-medium focus:ring-white rounded-xl","brand-rose-outline":"bg-transparent border-2 border-brand-red text-brand-red-text hover:bg-brand-red hover:border-brand-red hover:text-white uppercase tracking-widest font-medium focus:ring-brand-red rounded-xl shadow-lg",nav:"text-text-muted hover:text-white hover:bg-bg-card border border-transparent hover:border-brand-red/30 focus:ring-brand-red/30 font-normal",icon:"text-text-muted hover:text-white hover:bg-white/5 focus:ring-white/20 p-2",toggle:"bg-brand-red/10 hover:bg-brand-red/20 border border-brand-red/30 text-white focus:ring-brand-red"}[e],{sm:"px-3 py-1.5 text-sm",md:"px-4 py-2 text-base",lg:"px-6 py-3 text-base"}[t],i),disabled:l||a,...c,children:(0,va.jsxs)("span",{className:"relative z-10 inline-flex w-full items-center gap-2",children:[a&&(0,va.jsxs)("svg",{className:"h-4 w-4 animate-spin",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,va.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,va.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),o]})}));wa.displayName="Button";var ja=(0,P.forwardRef)(({variant:e="dark",hover:t=!1,padding:a="md",className:r="",children:s,...n},i)=>(0,va.jsx)("div",{ref:i,className:E(E("rounded-lg","transition-all",t&&"card-hover cursor-pointer"),{light:E("bg-white","text-text-dark","shadow-md"),dark:E("bg-surface-1","border border-white/10","shadow-[0_1px_0_0_rgba(255,255,255,0.04)_inset,0_8px_24px_-12px_rgba(0,0,0,0.9)]","text-text-on-dark",t&&"hover:bg-surface-2 hover:border-brand-red/30 hover:shadow-xl hover:shadow-brand-red/5"),glass:E("bg-surface-2","backdrop-blur-lg","border border-white/10","shadow-[0_1px_0_0_rgba(255,255,255,0.05)_inset,0_8px_24px_-12px_rgba(0,0,0,0.9)]","text-text-on-dark",t&&"hover:bg-surface-3 hover:border-brand-red/30 hover:shadow-xl hover:shadow-brand-red/5"),outline:E("bg-transparent","border border-white/10","text-text-on-dark",t&&"hover:border-brand-red/30 hover:bg-bg-card/50")}[e],{none:"",sm:"p-4",md:"p-6",lg:"p-8"}[a],r),...n,children:s}));
2ja.displayName="Card";var ka=_("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),Na=_("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"}]]),Ea=_("ban",[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),Ca=_("banknote",[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"2",key:"9lu3g6"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M6 12h.01M18 12h.01",key:"113zkx"}]]),Sa=_("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),_a=_("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"}]]),La=_("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]),Ra=_("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),Ma=_("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),Ta=_("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),Ia=_("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),Aa=_("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),Pa=_("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),Da=_("circle-user",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]]),Oa=_("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),$a=_("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]),za=_("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),Ba=_("credit-card",[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]]),qa=_("eye-off",[["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"}]]),Va=_("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"}]]),Fa=_("facebook",[["path",{d:"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z",key:"1jg4f8"}]]),Ua=_("file-check",[["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:"m9 15 2 2 4-4",key:"1grp1n"}]]),Ha=_("file-text",[["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"}]]),Wa=_("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),Ja=_("graduation-cap",[["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"}]]),Ka=_("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-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]),Ya=_("inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]),Qa=_("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),Ga=_("instagram",[["rect",{width:"20",height:"20",x:"2",y:"2",rx:"5",ry:"5",key:"2e1cvw"}],["path",{d:"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z",key:"9exkf1"}],["line",{x1:"17.5",x2:"17.51",y1:"6.5",y2:"6.5",key:"r4j83e"}]]),Xa=_("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]),Za=_("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]]),er=_("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]),tr=_("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),ar=_("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),rr=_("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}
2]]),sr=_("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]),nr=_("user-check",[["path",{d:"m16 11 2 2 4-4",key:"9rsbq5"}],["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"}]]),ir=_("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"}]]),or=_("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]),lr=_("video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]),cr=_("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),dr=_("youtube",[["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",key:"1q2vi4"}],["path",{d:"m10 15 5-3-5-3z",key:"1jp15x"}]]);function ur({className:e="h-4 w-4"}){return(0,va.jsx)("svg",{className:`flex-shrink-0 ${e}`,fill:"currentColor",viewBox:"0 0 20 20","aria-hidden":"true",children:(0,va.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"})})}var mr=(0,P.forwardRef)(({label:e,error:t,helperText:a,fullWidth:r=!1,showPasswordToggle:s=!1,className:n="",id:i,type:o,...l},c)=>{const d=(0,P.useId)(),u=i||d,[m,h]=(0,P.useState)(!1),p="password"===o,f=p&&s,x=p&&m?"text":o;return(0,va.jsxs)("div",{className:E(r&&"w-full"),children:[e&&(0,va.jsxs)("label",{htmlFor:u,className:"mb-2 block font-sans text-sm font-medium text-on-dark",children:[e,l.required&&(0,va.jsx)("span",{className:"ml-1 text-brand-red-text",children:"*"})]}),(0,va.jsxs)("div",{className:"relative",children:[(0,va.jsx)("input",{id:u,ref:c,type:x,"aria-describedby":t?`${u}-error`:void 0,"aria-invalid":!!t||void 0,className:E("w-full rounded-lg px-4 py-3.5 font-sans","bg-input text-on-dark","border border-white/10","placeholder:text-muted","transition-colors focus:border-brand-red focus:outline-none focus:ring-2 focus:ring-brand-red/50",t&&"border-brand-red/50 focus:border-brand-red","disabled:cursor-not-allowed disabled:opacity-50",f&&"pr-12",n),...l}),f&&(0,va.jsx)("button",{type:"button",onClick:()=>h(!m),className:"btn-icon absolute bottom-0 right-3 top-0 flex items-center border-none bg-transparent p-0 text-muted hover:text-on-dark focus:bg-transparent focus:outline-none focus:ring-0 active:bg-transparent active:outline-none","aria-label":m?"Hide password":"Show password",children:m?(0,va.jsx)(qa,{size:20}):(0,va.jsx)(Va,{size:20})})]}),t&&(0,va.jsxs)("p",{id:`${u}-error`,className:"mt-2 flex items-center gap-1 font-sans text-sm text-brand-red-text",children:[(0,va.jsx)(ur,{}),t]}),a&&!t&&(0,va.jsx)("p",{className:"mt-2 font-sans text-xs text-muted",children:a})]})});mr.displayName="Input";var hr=(0,P.forwardRef)(({label:e,error:t,helperText:a,fullWidth:r=!1,showCharCount:s=!1,className:n="",id:i,value:o,maxLength:l,...c},d)=>{const u=(0,P.useId)(),m=i||u,h="string"==typeof o?o.length:0;return(0,va.jsxs)("div",{className:E(r&&"w-full"),children:[e&&(0,va.jsxs)("label",{htmlFor:m,className:"mb-2 block font-sans text-sm font-medium text-on-dark",children:[e,c.required&&(0,va.jsx)("span",{className:"ml-1 text-brand-red-text",children:"*"})]}),(0,va.jsx)("textarea",{id:m,ref:d,value:o,maxLength:l,"aria-describedby":t?`${m}-error`:void 0,"aria-invalid":!!t||void 0,className:E("w-full rounded-lg px-4 py-3.5 font-sans transition-colors","bg-input text-on-dark","border border-white/10","placeholder:text-muted","focus:border-brand-red focus:outline-none focus:ring-2 focus:ring-brand-red/50",t&&"border-brand-red/50 focus:border-brand-red","disabled:cursor-not-allowed disabled:opacity-50","resize-none",n
2),...c}),(0,va.jsxs)("div",{className:"mt-1 flex items-center justify-between",children:[(0,va.jsxs)("div",{children:[t&&(0,va.jsxs)("p",{id:`${m}-error`,className:"flex items-center gap-1 font-sans text-sm text-brand-red-text",children:[(0,va.jsx)(ur,{}),t]}),a&&!t&&(0,va.jsx)("p",{className:"font-sans text-xs text-muted",children:a})]}),s&&l&&(0,va.jsxs)("p",{className:"font-sans text-xs text-muted",children:[h,"/",l," characters"]})]})]})});hr.displayName="Textarea";var pr=(e,t)=>e.length>t?e.slice(0,t)+"…":e;function fr({value:e,onChange:t,options:a,placeholder:r="Select...",disabled:s=!1,className:n="",truncateAt:i=40,"aria-label":o}){const[l,c]=(0,P.useState)(!1),[d,u]=(0,P.useState)(-1),m=(0,P.useRef)(null),h=(0,P.useRef)(null),p=(0,P.useId)(),f=a.find(t=>t.value===e),x=f?pr(f.label,i):r;(0,P.useEffect)(()=>{const e=e=>{m.current&&!m.current.contains(e.target)&&c(!1)};if(l)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[l]),(0,P.useEffect)(()=>{!l||d<0||!h.current||h.current.querySelectorAll('[role="option"]')[d]?.scrollIntoView({block:"nearest"})},[d,l]);const g=(0,P.useCallback)(()=>{if(s)return;c(!0);const t=a.findIndex(t=>t.value===e);u(t>=0?t:0)},[s,a,e]),b=(0,P.useCallback)(()=>{c(!1),u(-1)},[]),y=(0,P.useCallback)(e=>{t(e),b()},[t,b]),v=(0,P.useCallback)(e=>{if(!s)switch(e.key){case"Enter":case" ":e.preventDefault(),l&&d>=0?y(a[d].value):g();break;case"ArrowDown":e.preventDefault(),l?u(e=>Math.min(e+1,a.length-1)):g();break;case"ArrowUp":e.preventDefault(),l?u(e=>Math.max(e-1,0)):g();break;case"Home":l&&(e.preventDefault(),u(0));break;case"End":l&&(e.preventDefault(),u(a.length-1));break;case"Escape":l&&(e.preventDefault(),b());break;case"Tab":l&&b()}},[s,l,d,a,y,g,b]),w=l&&d>=0?`${p}-option-${d}`:void 0;return(0,va.jsxs)("div",{ref:m,className:`relative ${n}`,children:[(0,va.jsxs)("button",{type:"button",disabled:s,onClick:()=>l?b():g(),onKeyDown:v,role:"combobox","aria-expanded":l,"aria-haspopup":"listbox","aria-controls":p,"aria-activedescendant":w,"aria-label":o,className:"bg-bg-card text-text-on-dark flex w-full items-center justify-between rounded-lg border border-white/10 px-3 py-2.5 font-sans text-sm focus:border-brand-red focus:outline-none focus:ring-1 focus:ring-brand-red sm:px-4 sm:py-3 "+(s?"cursor-not-allowed opacity-50":""),children:[(0,va.jsx)("span",{className:"truncate "+(f?"":"text-text-muted"),children:x}),(0,va.jsx)(Ra,{"aria-hidden":"true",className:"text-text-muted h-4 w-4 transition-transform "+(l?"rotate-180":"")})]}),l&&(0,va.jsx)("ul",{ref:h,id:p,role:"listbox","aria-label":o,className:"absolute z-20 mt-1 max-h-60 w-full overflow-auto rounded-lg border border-white/10 bg-black py-1 shadow-lg",children:0===a.length?(0,va.jsx)("li",{className:"text-text-muted px-3 py-3 text-sm sm:px-4",children:"No options available"}):a.map((t,a)=>{const r=t.value===e,s=a===d;return(0,va.jsxs)("li",{id:`${p}-option-${a}`,role:"option","aria-selected":r,onClick:()=>y(t.value),onMouseEnter:()=>u(a),className:`flex min-h-[44px] cursor-pointer items-center gap-2 px-3 py-3 text-sm transition-colors sm:px-4 ${s?"bg-white/10":""} ${r?"text-brand-red-text":"text-text-on-dark"}`,children:[(0,va.jsx)("span",{className:"w-5 flex-shrink-0",children:r&&(0,va.jsx)(S,{className:"h-4 w-4 text-brand-red-text"})}),(0,va.jsx)("span",{className:"truncate",children:pr(t.label,i)})]},t.value)})})]})}function xr({value:e,onChange:t,options:a,placeholder:r="Search...",label:s,disabled:n=!1,className:i="","aria-label":o}){const[l,c]=(0,P.useState)(!1),[d,u]=(0,P.useState)(""),[m,h]=(0,P.useState)(-1),p=(0,P.useRef)(null),f=(0,P.useRef)(null),x=(0,P.useRef)(null),g=(0,P.useId)(),b=(0,P.useId)(),y=a.find(t=>t.value===e),v=(0,P.useMemo)(()=>{if(!d.trim())return a;const e=d.toLowerCase();return a.filter(t=>t.label.toLowerCase().includes(e)||t.value.toLowerCase().includes(e))},[a,d]);(0,P.useEffect)(()=>{const e=e=>{p.current&&!p.current.contains(e.target)&&(c(!1),u(""))};if(l)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[l]),(0,P.useEffect)(()=>{!l||m<0||!x.current||x.current.querySelectorAll('[role="option"]')[m]?.scrollIntoView({block:"nearest"})},[m,l]),(0,P.useEffect)(()=>{h(v.length>0?0:-1)},[v]);const w=(0,P.useCallback)(e=>{t(e),u(""),c(!1),f.current?.blur()},[t]),j=(0,P.useCallback)(()=>{t(""),u(""),c(!1)},[t]),k=(0,P.useCallback)(()=>{n||(c(!0),u(""))},[n]),N=(0,P.useCallback)(e=>{if(!n)switch(e.key){case"Enter":e.preventDefault(),l&&m>=0&&v[m]&&w(v[m].value);break;case"ArrowDown":e.preventDefault(),l?h(e=>Math.min(e+1,v.length-1)):c(!0);break;case"ArrowUp":e.preventDefault(),l&&h(e=>Math.max(e-1,0));break;case"Escape":l&&(e.preventDefault(),c(!1),u(""));break;case"Tab":l&&(c(!1),u(""))}},[n,l,m,v,w]),E=l&&m>=0?`${g}-option-${m}`:void 0;return(0,va.jsxs)("div",{ref:p,className:`relative ${i}`,children:[s&&(0,va.jsx)("label",{htmlFor:b,className:"mb-2 block font-sans text-sm font-medium text-on-dark",children:s}),(0,va.jsxs)("div",{className:"relative",children:[(0,va.jsx)("input",{ref:f,id:b,type:"text",role:"combobox","aria-expanded":l,"aria-haspopup":"listbox","aria-controls":g,"aria-activedescendant":E,"aria-label":o||s,autoComplete:"off",disabled:n,value:l?d:y?.label||"",placeholder:r,onChange:e=>u(e.target.value),onFocus:k,onKeyDown:N,className:"bg-bg-card text-text-on-dark w-full rounded-lg border border-white/10 px-3 py-2.5 pr-16 font-sans text-sm focus:border-brand-red focus:outline-none focus:ring-1 focus:ring-brand-red sm:px-4 sm:py-3 "+(n?"cursor-not-allowed opacity-50":"")}),(0,va.jsxs)("div",{className:"absolute inset-y-0 right-2 flex items-center gap-1",children:[e&&!n&&(0,va.jsx)("button",{type:"button",onClick:j,className:"text-text-muted hover:text-text-on-dark rounded p-1 transition-colors","aria-label":"Clear selection",tabIndex:-1,
2children:(0,va.jsx)(cr,{className:"h-3.5 w-3.5"})}),(0,va.jsx)(Ra,{"aria-hidden":"true",className:"text-text-muted h-4 w-4 transition-transform "+(l?"rotate-180":"")})]})]}),l&&(0,va.jsx)("ul",{ref:x,id:g,role:"listbox","aria-label":o||s||"Options",className:"absolute z-20 mt-1 max-h-60 w-full overflow-auto rounded-lg border border-white/10 bg-black py-1 shadow-lg",children:0===v.length?(0,va.jsx)("li",{className:"text-text-muted px-3 py-3 text-sm sm:px-4",children:"No matches found"}):v.map((t,a)=>{const r=t.value===e,s=a===m;return(0,va.jsxs)("li",{id:`${g}-option-${a}`,role:"option","aria-selected":r,onClick:()=>w(t.value),onMouseEnter:()=>h(a),className:`flex min-h-[44px] cursor-pointer items-center gap-2 px-3 py-2 text-sm transition-colors sm:px-4 ${s?"bg-white/10":""} ${r?"text-brand-red-text":"text-text-on-dark"}`,children:[(0,va.jsx)("span",{className:"w-5 flex-shrink-0",children:r&&(0,va.jsx)(S,{className:"h-4 w-4 text-brand-red-text"})}),(0,va.jsx)("span",{className:"truncate",children:t.label})]},t.value)})})]})}function gr({variant:e="neutral",size:t="md",dot:a=!1,className:r="",children:s,...n}){const i=E("inline-flex items-center gap-1.5","font-medium rounded-full","transition-all duration-200","font-sans");return(0,va.jsxs)("span",{className:E(i,{primary:"bg-white/5 text-brand-red-text border border-white/10 uppercase tracking-widest",success:"bg-green-500/20 text-green-400 border border-green-500/30",warning:"bg-amber-500/20 text-amber-400 border border-amber-500/30",error:"bg-brand-red/20 text-brand-red-text border border-brand-red/30",info:"bg-blue-500/20 text-blue-400 border border-blue-500/30",neutral:"bg-white/5 text-text-muted border border-white/10"}[e],{sm:"px-2 py-0.5 text-xs",md:"px-2.5 py-1 text-sm",lg:"px-3 py-1.5 text-base"}[t],r),...n,children:[a&&(0,va.jsx)("span",{className:E("h-1.5 w-1.5 rounded-full",{primary:"bg-brand-red",success:"bg-green-400",warning:"bg-amber-400",error:"bg-brand-red",info:"bg-blue-400",neutral:"bg-text-muted"}[e])}),s]})}function br({variant:e="info",title:t,message:a,dismissible:r=!1,onClose:s,showIcon:n=!0,action:i,className:o,children:l,...c}){const d=a||l;if(!d)return null;const u={info:{container:"bg-blue-500/20 border-blue-500/30 text-blue-400",icon:"text-blue-400",IconComponent:Qa},success:{container:"bg-green-500/20 border-green-500/30 text-green-400",icon:"text-green-400",IconComponent:Pa},warning:{container:"bg-amber-500/20 border-amber-500/30 text-amber-400",icon:"text-amber-400",IconComponent:rr},error:{container:"bg-brand-red/20 border-brand-red/30 text-brand-red-text",icon:"text-brand-red-text",IconComponent:Ia}}[e],m=u.IconComponent;return(0,va.jsx)("div",{className:E("rounded-xl border bg-input p-4",u.container,o),role:"alert","aria-live":"assertive","aria-atomic":"true",...c,children:(0,va.jsxs)("div",{className:"flex items-start gap-3",children:[n&&(0,va.jsx)(m,{className:E("mt-0.5 h-5 w-5 flex-shrink-0",u.icon)}),(0,va.jsxs)("div",{className:"flex-1",children:[t&&(0,va.jsx)("h3",{className:"mb-1 font-serif font-semibold",children:t}),(0,va.jsx)("div",{className:"font-sans text-sm opacity-90",children:d}),i&&(0,va.jsx)(wa,{onClick:i.onClick,variant:"outline",size:"sm",className:"mt-3",children:i.label})]}),(r||s)&&(0,va.jsx)("button",{onClick:s,className:"flex-shrink-0 text-gray-400 transition-colors hover:text-white","aria-label":"Close",children:(0,va.jsx)(cr,{className:"h-5 w-5"})})]})})}function yr({message:e,type:t="info",onClose:a,duration:r=5e3}){(0,P.useEffect)(()=>{const e=setTimeout(()=>{a()},r);return()=>clearTimeout(e)},[r,a]);const s={success:(0,va.jsx)("svg",{className:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20",children:(0,va.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})}),error:(0,va.jsx)("svg",{className:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20",children:(0,va.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"})}),warning:(0,va.jsx)("svg",{className:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20",children:(0,va.jsx)("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})}),info:(0,va.jsx)("svg",{className:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20",children:(0,va.jsx)("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 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",clipRule:"evenodd"})})};return(0,va.jsxs)("div",{role:"alert","aria-live":"error"===t||"warning"===t?"assertive":"polite","aria-atomic":"true",className:E("flex items-center gap-3","rounded-lg border p-4","animate-slide-in-right","shadow-lg backdrop-blur-sm",{success:"bg-green-500/10 border-green-500/20 text-green-400",error:"bg-red-500/10 border-red-500/20 text-red-400",warning:"bg-amber-500/10 border-amber-500/20 text-amber-400",info:"bg-blue-500/10 border-blue-500/20 text-blue-400"}[t]),children:[s[t],(0,va.jsx)("p",{className:E("flex-1 text-sm font-medium"),children:e}),(0,va.jsx)("button",{onClick:a,className:E("text-current","hover:opacity-70","transition-opacity"),"aria-label":"Close toast",children:(0,va.jsx)("svg",{className:"h-5 w-5",fill:"currentColor",viewBox:"0 0 20 20",children:(0,va.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})})]})}var vr=(0,P.createContext)(void 0);function wr({children:e}){const[t,a]=(0,P.useState)([]),r=(0,P.useCallback)((e,t="info")=>{const r=Math.random().toString(36).substr(2,9);a(a=>[...a,{id:r,message:e,type:t}])},[]),s=(0,P.useCallback)(e=>{a(t=>t.filter(t=>t.id!==e))},[]);return(0,va.jsxs)(vr.Provider,{value:{showToast:r},children:[e,(0,va.jsx)("div",{className:"pointer-events-none fixed right-4 top-4 z-50 flex flex-col gap-2",children:t.map(e=>(0,va.jsx)("div",{className:"pointer-events-auto",children:(0,va.jsx)(yr,{message:e.message,type:e.type,onClose:()=>s(e.id)})},e.id))})]})}function jr(){const e=(0,P.useContext)(vr);
2if(!e)throw new Error("useToast must be used within ToastProvider");return e}var kr="chunk-reload-attempted";function Nr(e){const t=e.message||"";return t.includes("Failed to fetch dynamically imported module")||t.includes("Failed to load module script")||t.includes("Loading chunk")||t.includes("ChunkLoadError")||"ChunkLoadError"===e.name}var Er=class extends P.Component{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){if(I.error("ErrorBoundary caught an error",{error:e,errorInfo:t}),e.message?.includes("insertBefore")||e.message?.includes("removeChild"))return I.warn("Ignoring React DOM manipulation warning - known React 18 issue"),void this.setState({hasError:!1,error:null});if(R(e,{type:Nr(e)?"chunk_load_error":"react_error",component_stack:t.componentStack?.slice(0,500)||"",page_url:window.location.href}),Nr(e))try{if(!sessionStorage.getItem(kr))return I.debug("Chunk load error detected, reloading to get fresh assets..."),sessionStorage.setItem(kr,"true"),void setTimeout(()=>{window.location.reload()},1e3);I.debug("Chunk load error persists after reload, showing error page"),sessionStorage.removeItem(kr)}catch{}}handleReset=()=>{this.setState({hasError:!1,error:null}),window.location.href="/"};render(){if(this.state.hasError){if(this.props.fallback)return this.props.fallback;const e=this.state.error&&Nr(this.state.error);return(0,va.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-black px-4",children:(0,va.jsxs)(ja,{variant:"dark",className:"w-full max-w-md p-8 text-center",children:[(0,va.jsx)("div",{className:"mb-6",children:(0,va.jsx)("svg",{className:"mx-auto h-16 w-16 text-brand-red-text",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,va.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}),(0,va.jsx)("h1",{className:"mb-2 font-serif text-2xl font-bold text-white",children:e?"App Updated":"Oops! Something went wrong"}),(0,va.jsx)("p",{className:"mb-6 text-gray-400",children:e?"A new version of the app is available. Please refresh the page to continue.":"We encountered an unexpected error. Please try refreshing the page or return to the home page."}),this.state.error&&!e&&(0,va.jsxs)("details",{className:"mb-6 text-left",children:[(0,va.jsx)("summary",{className:"cursor-pointer text-sm text-gray-500 hover:text-gray-400",children:"Error details"}),(0,va.jsx)("pre",{className:"mt-2 overflow-auto rounded bg-gray-900 p-3 text-xs text-gray-300",children:this.state.error.toString()})]}),(0,va.jsxs)("div",{className:"flex justify-center gap-3",children:[(0,va.jsx)(wa,{onClick:this.handleReset,variant:"primary",children:"Return Home"}),(0,va.jsx)(wa,{onClick:()=>window.location.reload(),variant:"brand-outline",children:"Refresh Page"})]})]})})}return this.props.children}};function Cr({size:e="md",text:t="Loading...",color:a="border-brand-red"}){return(0,va.jsxs)("div",{className:"flex flex-col items-center justify-center",role:"status","aria-live":"polite",children:[(0,va.jsx)("div",{className:`animate-spin rounded-full border-b-2 ${a} ${{sm:"h-6 w-6",md:"h-12 w-12",lg:"h-16 w-16"}[e]} mx-auto`,"aria-label":"Loading"}),t&&(0,va.jsx)("p",{className:"mt-4 font-medium text-gray-400",children:t})]})}function Sr({message:e,title:t,onClose:a,dismissible:r=!1,action:s}){return(0,va.jsx)(br,{variant:"error",title:t,message:e,dismissible:r,onClose:a,action:s})}function _r({message:e,messages:t,className:a,style:r}){const s=(0,P.useRef)(null),n=t&&t.length>0?t:e?[e]:[],i=n.join("|");return(0,P.useEffect)(()=>{i&&s.current?.focus()},[i]),(0,va.jsxs)("div",{ref:s,tabIndex:-1,className:E("outline-none",a),style:r,children:[1===n.length&&(0,va.jsx)(br,{variant:"error",message:n[0]}),n.length>1&&(0,va.jsx)(br,{variant:"error",title:"Please fix the following:",children:(0,va.jsx)("ul",{className:"list-inside list-disc space-y-1",children:n.map(e=>(0,va.jsx)("li",{children:e},e))})})]})}var Lr=(0,P.memo)(function({status:e,variant:t="default"}){return(0,va.jsx)("span",{className:`${"compact"===t?"px-2 py-0.5 text-xs":"px-3 py-1 text-xs"} inline-block rounded-full font-sans font-semibold ${(e=>{switch(e.toUpperCase()){case"ACTIVE":case"APPROVED":case"PUBLISHED":return"bg-green-500/20 text-green-400 border border-green-500/30";case"PENDING":return"bg-amber-500/20 text-amber-400 border border-amber-500/30";case"INACTIVE":case"DRAFT":return"bg-white/5 text-gray-400 border border-white/10";case"REJECTED":return"bg-brand-red/20 text-brand-red-text border border-brand-red/30";default:return"bg-blue-500/20 text-blue-400 border border-blue-500/30"}})(e)}`,children:e})});function Rr({validation:e,className:t=""}){const a=e.strength.strength>0;return(0,va.jsx)("div",{className:E("mt-2 min-h-[52px]",t),children:a&&(0,va.jsxs)(va.Fragment,{children:[(0,va.jsxs)("div",{className:E("flex items-center justify-between","mb-1"),children:[(0,va.jsx)("span",{className:E("text-xs","text-text-muted"),children:"Password strength:"}),(0,va.jsx)("span",{className:E("text-xs font-medium",e.strength.strength>=75&&"text-green-400",e.strength.strength>=50&&e.strength.strength<75&&"text-blue-400",e.strength.strength>=25&&e.strength.strength<50&&"text-amber-400",e.strength.strength<25&&"text-red-400"),children:e.strength.label})]}),(0,va.jsx)("div",{className:E("w-full bg-white/5","h-1.5 rounded-full","overflow-hidden"),children:(0,va.jsx)("div",{className:E("h-full rounded-full transition-all duration-300",e.strength.color),style:{width:`${e.strength.strength}%`}})}),e.missingRequirements.length>0?(0,va.jsxs)("p",{className:E("text-text-muted text-xs","mt-2"),children:["Missing: ",e.missingRequirements.join(", ")
2]}):e.strength.strength<100&&(0,va.jsx)("p",{className:E("text-xs text-green-400","mt-2"),children:e.strength.strength>=75?"Add more characters for an even stronger password":"All requirements met! Add more characters to increase strength"})]})})}function Mr({message:e,dismissible:t=!1,onClose:a,showIcon:r=!0}){return(0,va.jsx)(br,{variant:"success",message:e,dismissible:t,onClose:a,showIcon:r})}function Tr({isOpen:e,onClose:t,title:a,children:r,size:s="md",showCloseButton:n=!0}){const i=(0,P.useRef)(null),o=(0,P.useRef)(null),l=(0,P.useId)();(0,P.useEffect)(()=>{e?(o.current=document.activeElement,i.current?.focus()):o.current?.focus()},[e]),(0,P.useEffect)(()=>{const a=a=>{"Escape"===a.key&&e&&t()};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[e,t]),(0,P.useEffect)(()=>(document.body.style.overflow=e?"hidden":"",()=>{document.body.style.overflow=""}),[e]);const c=(0,P.useCallback)(e=>{if("Tab"!==e.key)return;const t=i.current?.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(!t||0===t.length)return;const a=t[0],r=t[t.length-1];e.shiftKey?document.activeElement!==a&&document.activeElement!==i.current||(e.preventDefault(),r.focus()):document.activeElement===r&&(e.preventDefault(),a.focus())},[]);return e?(0,va.jsx)("div",{className:E("fixed inset-0 z-50 overflow-y-auto bg-black/80","animate-[fadeInBackdrop_150ms_ease-out]"),onClick:t,role:"dialog","aria-modal":"true","aria-labelledby":l,children:(0,va.jsx)("div",{className:"flex min-h-full items-start justify-center p-4 sm:items-center",children:(0,va.jsxs)("div",{ref:i,className:E("border border-white/10 bg-card-dark","rounded-xl p-5 sm:p-6","w-full shadow-xl",{sm:"max-w-md",md:"max-w-lg",lg:"max-w-2xl",xl:"max-w-4xl"}[s],"animate-[scaleIn_200ms_ease-out]"),onClick:e=>e.stopPropagation(),onKeyDown:c,tabIndex:-1,children:[(0,va.jsxs)("div",{className:E("flex items-center justify-between","mb-4"),children:[(0,va.jsx)("h2",{id:l,className:E("font-serif text-xl font-bold","text-white"),children:a}),n&&(0,va.jsx)(wa,{onClick:t,variant:"ghost",size:"sm",className:"!p-2","aria-label":"Close modal",children:(0,va.jsx)(cr,{className:"h-5 w-5"})})]}),(0,va.jsx)("div",{children:r})]})})}):null}function Ir({isOpen:e,onClose:t,onConfirm:a,title:r,message:s,confirmText:n="Confirm",cancelText:i="Cancel",variant:o="warning",isProcessing:l=!1}){return(0,va.jsx)(Tr,{isOpen:e,onClose:t,title:r,size:"sm",children:(0,va.jsxs)("div",{className:"space-y-6",children:[(0,va.jsxs)("div",{className:"flex items-start gap-4",children:[(0,va.jsx)("div",{className:`flex-shrink-0 ${{danger:"text-red-400",warning:"text-yellow-400",info:"text-blue-400"}[o]}`,children:(0,va.jsx)(rr,{className:"h-6 w-6"})}),(0,va.jsx)("p",{className:"text-sm leading-relaxed text-gray-300",children:s})]}),(0,va.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,va.jsx)(wa,{variant:"secondary",onClick:t,disabled:l,children:i}),(0,va.jsx)(wa,{onClick:a,disabled:l,children:l?"Processing...":n})]})]})})}function Ar({icon:e,title:t,description:a,action:r,variant:s="card"}){const n=(0,va.jsxs)("div",{className:"relative py-12 text-center",children:[(0,va.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute left-1/2 top-8 h-32 w-32 -translate-x-1/2 rounded-full bg-brand-red/[0.07] blur-2xl"}),(0,va.jsx)("span",{className:"relative mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full border border-brand-red/25 bg-black/40",children:(0,va.jsx)(e,{className:"h-7 w-7 text-brand-red-text/80","aria-hidden":"true"})}),(0,va.jsx)("h3",{className:"text-text-on-dark relative mb-2 font-serif text-lg font-bold",children:t}),a&&(0,va.jsx)("p",{className:"text-text-muted relative mx-auto mb-5 max-w-md font-sans text-sm",children:a}),r&&(0,va.jsx)("div",{className:"relative",children:(0,va.jsx)(wa,{onClick:r.onClick,variant:"brand-outline",children:r.label})})]});return"card"===s?(0,va.jsx)(ja,{variant:"dark",children:n}):n}function Pr({hasNextPage:e,hasPreviousPage:t,onNextPage:a,onPreviousPage:r,currentPage:s,loading:n=!1,className:i=""}){return e||t?(0,va.jsxs)("div",{className:`flex items-center justify-between gap-4 ${i}`,children:[(0,va.jsxs)(wa,{variant:"brand-outline",size:"sm",onClick:r,disabled:!t||n,className:"flex items-center gap-2",children:[(0,va.jsx)(Ma,{"aria-hidden":"true",className:"h-4 w-4"}),"Previous"]}),(0,va.jsxs)("span",{className:"font-sans text-sm text-gray-400",children:["Page ",s]}),(0,va.jsxs)(wa,{variant:"brand-outline",size:"sm",onClick:a,disabled:!e||n,className:"flex items-center gap-2",children:["Next",(0,va.jsx)(Ta,{"aria-hidden":"true",className:"h-4 w-4"})]})]}):null}var Dr=({options:e,selected:t,onChange:a,className:r=""})=>(0,va.jsx)("div",{className:`flex flex-wrap items-center gap-2 ${r}`,children:e.map(({value:e,label:r})=>(0,va.jsx)(wa,{variant:t===e?"brand-red-outline":"secondary",size:"sm",onClick:()=>a(e),children:r},e))});function Or({end:e,duration:t=2e3,suffix:a="",className:r=""}){const[s,n]=(0,P.useState)(0),[i,o]=(0,P.useState)(!1),l=(0,P.useRef)(null);return(0,P.useEffect)(()=>{const e=new IntersectionObserver(e=>{e[0].isIntersecting&&!i&&o(!0)},{threshold:.5});return l.current&&e.observe(l.current),()=>e.disconnect()},[i]),(0,P.useEffect)(()=>
2{if(!i)return;if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return void n(e);let a,r=null;const s=i=>{r||(r=i);const o=Math.min((i-r)/t,1),l=1-Math.pow(1-o,4);n(Math.floor(e*l)),o<1&&(a=requestAnimationFrame(s))};return a=requestAnimationFrame(s),()=>cancelAnimationFrame(a)},[i,e,t]),(0,va.jsxs)("div",{ref:l,className:r,children:[s,a]})}function $r(){const[e,t]=(0,P.useState)(0);return(0,P.useEffect)(()=>{const e=()=>{const e=window.innerHeight,a=document.documentElement.scrollHeight,r=window.scrollY/(a-e)*100;t(Math.min(r,100))};let a=null;const r=()=>{null===a&&(a=window.setTimeout(()=>{e(),a=null},16))};return e(),window.addEventListener("scroll",r,{passive:!0}),()=>{window.removeEventListener("scroll",r),null!==a&&clearTimeout(a)}},[]),(0,va.jsx)("div",{className:"pointer-events-none fixed left-0 right-0 top-0 z-[9999] h-1 bg-transparent",children:(0,va.jsx)("div",{className:"h-full bg-gradient-to-r from-brand-red via-red-500 to-brand-red shadow-lg shadow-brand-red/50 transition-all duration-100 ease-out",style:{width:`${e}%`}})})}function zr({src:e,alt:t,className:a,containerClassName:r,aspectRatio:s="aspect-[3/4]",loading:n="lazy"}){const[i,o]=(0,P.useState)(!1),[l,c]=(0,P.useState)(!1);return(0,va.jsxs)("div",{className:E("relative overflow-hidden rounded-xl",s,r),children:[!i&&!l&&(0,va.jsx)(C,{className:"absolute inset-0 h-full w-full rounded-xl",animation:"shimmer"}),l&&(0,va.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-white/5 text-gray-400",children:(0,va.jsx)("span",{className:"text-sm",children:"Failed to load image"})}),(0,va.jsx)("img",{src:e,alt:t,loading:n,onLoad:()=>o(!0),onError:()=>c(!0),className:E("h-full w-full object-cover transition-opacity duration-500",i?"opacity-100":"opacity-0",a)})]})}var Br=["student"],qr={"/student/dashboard":null,"/dashboard":null,"/profile":null,"/student/invitations/:token":null,"/student/programs":null,"/student/programs/:programId/courses":null,"/student/programs/:programId/courses/:courseId/offerings":null,"/student/courses/:enrollmentId":["student","administrator","PSA"],"/student/courses":Br,"/student/applications":Br,"/student/examinations":Br,"/student/payments":Br,"/student/certifications":Br,"/student/schedule-exam":Br,"/student/payment":Br,"/student/profile":Br,"/apply/:programId":Br,"/admin/*":["administrator","PSA"],"/examiner/*":["examiner","administrator","PSA"]};function Vr(e,t){return null===e||e.some(e=>t(e))}function Fr(){const e=Ue(),t=Je(),a=(0,P.useRef)(null),[r]=(0,P.useState)(()=>e.state?.redirectedFrom),[s,n]=(0,P.useState)(!1);return(0,P.useEffect)(()=>{e.state?.redirectedFrom&&t(e.pathname+e.search+e.hash,{replace:!0,state:null})},[]),(0,P.useEffect)(()=>{r&&!s&&a.current?.focus()},[r,s]),!r||s?null:(0,va.jsxs)("div",{ref:a,tabIndex:-1,role:"status","aria-live":"polite","data-testid":"redirect-notice",className:"mb-4 flex items-start justify-between gap-4 rounded-lg border border-white/10 bg-surface-3 p-4",children:[(0,va.jsxs)("p",{className:"text-text-muted font-sans text-sm",children:["You were sent here because your account does not have access to"," ",(0,va.jsx)("span",{className:"text-text-on-dark font-mono",children:r}),". If you believe this is wrong, sign out and back in — your access is read when you sign in."]}),(0,va.jsx)("button",{type:"button",onClick:()=>n(!0),className:"text-text-muted shrink-0 text-sm underline hover:text-white",children:"Dismiss"})]})}var Ur="pending_payment";function Hr(e){try{sessionStorage.setItem(Ur,JSON.stringify(e))}catch{}}function Wr(){try{const e=sessionStorage.getItem(Ur);if(e){const t=JSON.parse(e);if(t?.clientSecret&&t?.publishableKey)return t}}catch{}return null}function Jr(){try{sessionStorage.removeItem(Ur)}catch{}}var Kr=(0,P.createContext)(void 0);function Yr({children:e}){const t=j(),[a,r]=(0,P.useState)(null),[s,n]=(0,P.useState)(!0),i=(0,P.useRef)(!1),o=(0,P.useCallback)(()=>{if(!i.current){i.current=!0,I.debug("Session expired - logging out"),k.clearToken(),r(null);try{sessionStorage.removeItem("user"),sessionStorage.removeItem("access_token"),sessionStorage.removeItem("refresh_token")}catch{}Jr(),t.clear(),T(null),L("session_expired",{page_url:window.location.href}),setTimeout(()=>{i.current=!1},1e3)}},[t]);(0,P.useEffect)(()=>{let e=null,t=null;try{e=sessionStorage.getItem("user"),t=sessionStorage.getItem("access_token")}catch{}if(e&&t)try{if(function(e){try{return!!(e&&e.length>=32)}catch(t){return I.error("Failed to validate token",t),!1}}(t)){const t=JSON.parse(e);r(t),T({user_id:t.user_id,email:t.email,roles:t.roles||[]})}else{I.debug("Invalid token format, clearing session");try{sessionStorage.removeItem("user"),sessionStorage.removeItem("access_token"),sessionStorage.removeItem("refresh_token")}catch{}}}catch(a){I.error("Failed to parse stored user",a);try{sessionStorage.removeItem("user")}catch{}}n(!1),k.onSessionExpired(o)},[o]);const l=(0,P.useMemo)(()=>a?.roles||[],[a]),c=(0,P.useMemo)(()=>[],[]),d=(0,P.useCallback)(e=>c.includes(e),[c]),u=(0,P.useCallback)(e=>l.some(t=>t.toLowerCase()===e.toLowerCase()),[l]),m=(0,P.useCallback)(e=>e.some(e=>c.includes(e)),[c]),h=(0,P.useCallback)(e=>e.every(e=>c.includes(e)),[c]),p=(0,P.useCallback)((e,a,s)=>{n(!0);try{t.clear(),r(e);try{sessionStorage.setItem("user",JSON.stringify(e)),sessionStorage.setItem("access_token",a),sessionStorage.setItem("refresh_token",s)}catch{}T({user_id:e.user_id,email:e.email,roles:e.roles||[]})}finally{n(!1)}},[t]),f=(0,P.useCallback)(()=>{n(!0);try{k.signout().catch(()=>{}),r(null),k.clearToken();try{sessionStorage.removeItem("user"),sessionStorage.removeItem("access_token"),sessionStorage.removeItem("refresh_token")}catch{}Jr(),t.clear(),T(null),L("user_logout",{})}finally{n(!1)}},[t]),x=(0,P.useCallback)(e=>{r(e);try{sessionStorage.setItem("user",JSON.stringify(e))}catch{}},[]),g=(0,P.useMemo)(()=>({user:a,isAuthenticated:!!a,isLoading:s,permissions:c,roles:l,hasPermission:d,hasRole:u,hasAnyPermission:m,hasAllPermissions:h,login:p,logout:f,updateUser:x}),[a,s,c,l,d,u,m,h,p,f,x]);return(0,va.jsx)(Kr.Provider,{value:g,children:e})}function Qr(){const e=(0,P.useContext)(Kr);if(void 0===e)throw new Error("useAuth must be used within an AuthProvider");return e}var Gr,Xr,Zr=Object.create,es=Object.defineProperty,ts=Object.getOwnPropertyDescriptor,as=Object.getOwnPropertyNames,rs=Object.getPrototypeOf,ss=Object.prototype.hasOwnProperty,ns=(Gr=(e,t)=>{var a,r;a=e,r=function(e){var t,a=void 0===Number.MAX_SAFE_INTEGER?9007199254740991:Number.MAX_SAFE_INTEGER,r=536870912,s=2*r,n=new WeakMap,i=function(e,t){return function(n){var i=t.get(n),o=void 0===i?n.size:i<s?i+1:0;if(!n.has(o))return e(n,o);if(n.size<r){for(;n.has(o);)o=Math.floor(Math.random()*s);return e(n,o)}if(n.size>a)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;n.has(o);)o=Math.floor(Math.random()*a);return e(n,o)}}((t=n,function(e,a){return t.set(e,a),a}),n);e.addUniqueNumber=function(e){return function(t){var a=e(t);return t.add(a),a}}(i),e.generateUniqueNumber=i},"object"==typeof e&&typeof t<"u"?r(e):"function"==typeof define&&define.amd?define(["exports"],r):r((a=typeof globalThis<"u"?globalThis:a||self).fastUniqueNumbers={})},()=>(Xr||Gr((Xr={exports:{}}).exports,Xr),Xr.exports)),is=((e,t,a)=>(a=null!=e?Zr(rs(e)):{},((e,t,a,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of as(t))!ss.call(e,s)&&s!==a&&es(e,s,{get:()=>t[s],enumerable:!(r=ts(t,s))||r.enumerable});return e}
2)(!t&&e&&e.__esModule?a:es(a,"default",{value:e,enumerable:!0}),e)))(ns()),os=(((e,t)=>{let a=null})(e=>{let t=new Map([[0,()=>{}]]),a=new Map([[0,()=>{}]]),r=new Map,s=new Worker(e);return s.addEventListener("message",({data:e})=>{if((e=>void 0!==e.method&&"call"===e.method)(e)){let{params:{timerId:s,timerType:n}}=e;if("interval"===n){let e=t.get(s);if("number"==typeof e){let t=r.get(e);if(void 0===t||t.timerId!==s||t.timerType!==n)throw new Error("The timer is in an undefined state.")}else{if(!(typeof e<"u"))throw new Error("The timer is in an undefined state.");e()}}else if("timeout"===n){let e=a.get(s);if("number"==typeof e){let t=r.get(e);if(void 0===t||t.timerId!==s||t.timerType!==n)throw new Error("The timer is in an undefined state.")}else{if(!(typeof e<"u"))throw new Error("The timer is in an undefined state.");e(),a.delete(s)}}}else{if(!(e=>null===e.error&&"number"==typeof e.id)(e)){let{error:{message:t}}=e;throw new Error(t)}{let{id:s}=e,n=r.get(s);if(void 0===n)throw new Error("The timer is in an undefined state.");let{timerId:i,timerType:o}=n;r.delete(s),"interval"===o?t.delete(i):a.delete(i)}}}),{clearInterval:e=>{let a=(0,is.generateUniqueNumber)(r);r.set(a,{timerId:e,timerType:"interval"}),t.set(e,a),s.postMessage({id:a,method:"clear",params:{timerId:e,timerType:"interval"}})},clearTimeout:e=>{let t=(0,is.generateUniqueNumber)(r);r.set(t,{timerId:e,timerType:"timeout"}),a.set(e,t),s.postMessage({id:t,method:"clear",params:{timerId:e,timerType:"timeout"}})},setInterval:(e,a)=>{let r=(0,is.generateUniqueNumber)(t);return t.set(r,()=>{e(),"function"==typeof t.get(r)&&s.postMessage({id:null,method:"set",params:{delay:a,now:performance.now(),timerId:r,timerType:"interval"}})}),s.postMessage({id:null,method:"set",params:{delay:a,now:performance.now(),timerId:r,timerType:"interval"}}),r},setTimeout:(e,t)=>{let r=(0,is.generateUniqueNumber)(a);return a.set(r,e),s.postMessage({id:null,method:"set",params:{delay:t,now:performance.now(),timerId:r,timerType:"timeout"}}),r}}},'(()=>{"use strict";const e=new Map,t=new Map,r=(e,t)=>{let r,o;const i=performance.now();r=i,o=e-Math.max(0,i-t);return{expected:r+o,remainingDelay:o}},o=(e,t,r,i)=>{const s=performance.now();s>r?postMessage({id:null,method:"call",params:{timerId:t,timerType:i}}):e.set(t,setTimeout(o,r-s,e,t,r,i))};addEventListener("message",(i=>{let{data:s}=i;try{if("clear"===s.method){const{id:r,params:{timerId:o,timerType:i}}=s;if("interval"===i)(t=>{const r=e.get(t);if(void 0===r)throw new Error(\'There is no interval scheduled with the given id "\'.concat(t,\'".\'));clearTimeout(r),e.delete(t)})(o),postMessage({error:null,id:r});else{if("timeout"!==i)throw new Error(\'The given type "\'.concat(i,\'" is not supported\'));(e=>{const r=t.get(e);if(void 0===r)throw new Error(\'There is no timeout scheduled with the given id "\'.concat(e,\'".\'));clearTimeout(r),t.delete(e)})(o),postMessage({error:null,id:r})}}else{if("set"!==s.method)throw new Error(\'The given method "\'.concat(s.method,\'" is not supported\'));{const{params:{delay:i,now:n,timerId:a,timerType:d}}=s;if("interval"===d)((t,i,s)=>{const{expected:n,remainingDelay:a}=r(t,s);e.set(i,setTimeout(o,a,e,i,n,"interval"))})(i,a,n);else{if("timeout"!==d)throw new Error(\'The given type "\'.concat(d,\'" is not supported\'));((e,i,s)=>{const{expected:n,remainingDelay:a}=r(e,s);t.set(i,setTimeout(o,a,t,i,n,"timeout"))})(i,a,n)}}}}catch(e){postMessage({error:{message:e.message},id:s.id,result:null})}}))})();'),"object"==(typeof window>"u"?"undefined":typeof window)),ls={setTimeout:os?setTimeout.bind(window):setTimeout,clearTimeout:os?clearTimeout.bind(window):clearTimeout,setInterval:os?setInterval.bind(window):setInterval,clearInterval:os?clearInterval.bind(window):clearInterval};var cs={},ds=typeof window>"u"?void 0:"function"==typeof window.BroadcastChannel?window.BroadcastChannel:class{name;closed=!1;mc=new MessageChannel;constructor(e){this.name=e,cs[e]=cs[e]||[],cs[e].push(this),this.mc.port1.start(),this.mc.port2.start(),this.onStorage=this.onStorage.bind(this),window.addEventListener("storage",this.onStorage)}onStorage(e){if(e.storageArea!==window.localStorage||e.key.substring(0,this.name.length)!==this.name||null===e.newValue)return;let t=JSON.parse(e.newValue);this.mc.port2.postMessage(t)}postMessage(e){if(this.closed)throw new Error("InvalidStateError");let t=JSON.stringify(e),a=`${this.name}:${String(Date.now())}${String(Math.random())}`;window.localStorage.setItem(a,t),ls.setTimeout(()=>{window.localStorage.removeItem(a)}
2,500),cs[this.name].forEach(e=>{e!==this&&e.mc.port2.postMessage(JSON.parse(t))})}close(){if(this.closed)return;this.closed=!0,this.mc.port1.close(),this.mc.port2.close(),window.removeEventListener("storage",this.onStorage);let e=cs[this.name].indexOf(this);cs[this.name].splice(e,1)}get onmessage(){return this.mc.port1.onmessage}set onmessage(e){this.mc.port1.onmessage=e}get onmessageerror(){return this.mc.port1.onmessageerror}set onmessageerror(e){this.mc.port1.onmessageerror=e}addEventListener(e,t){return this.mc.port1.addEventListener(e,t)}removeEventListener(e,t){return this.mc.port1.removeEventListener(e,t)}dispatchEvent(e){return this.mc.port1.dispatchEvent(e)}};function us(){return Math.random().toString(36).substring(2)}var ms=class{options;channel;token=us();isLeader=!1;isDead=!1;isApplying=!1;reApply=!1;intervals=[];listeners=[];deferred;constructor(e,t){this.channel=e,this.options=t,this.apply=this.apply.bind(this),this.awaitLeadership=this.awaitLeadership.bind(this),this.sendAction=this.sendAction.bind(this)}async apply(){if(this.isLeader||this.isDead)return!1;if(this.isApplying)return this.reApply=!0,!1;this.isApplying=!0;let e=!1,t=t=>{let{token:a,action:r}=t.data;a!==this.token&&(0===r&&a>this.token&&(e=!0),1===r&&(e=!0))};this.channel.addEventListener("message",t);try{return this.sendAction(0),await function(e=0){return new Promise(t=>ls.setTimeout(t,e))}(this.options.responseTime),this.channel.removeEventListener("message",t),this.isApplying=!1,e?!!this.reApply&&this.apply():(this.assumeLead(),!0)}catch{return!1}}awaitLeadership(){if(this.isLeader)return Promise.resolve();let e=!1,t=null;return new Promise(a=>{let r=()=>{if(e)return;e=!0;try{ls.clearInterval(t)}catch{}let r=this.intervals.indexOf(t);r>=0&&this.intervals.splice(r,1),this.channel.removeEventListener("message",s),a()};t=ls.setInterval(()=>{this.apply().then(()=>{this.isLeader&&r()})},this.options.fallbackInterval),this.intervals.push(t);let s=e=>{let{action:t}=e.data;2===t&&this.apply().then(()=>{this.isLeader&&r()})};this.channel.addEventListener("message",s)})}sendAction(e){this.channel.postMessage({action:e,token:this.token})}assumeLead(){this.isLeader=!0;let e=e=>{let{action:t}=e.data;0===t&&this.sendAction(1)};return this.channel.addEventListener("message",e),this.listeners.push(e),this.sendAction(1)}waitForLeadership(){return this.deferred||(this.deferred=this.awaitLeadership()),this.deferred}close(){if(!this.isDead){this.isDead=!0,this.isLeader=!1,this.sendAction(2);try{this.listeners.forEach(e=>this.channel.removeEventListener("message",e)),this.intervals.forEach(e=>ls.clearInterval(e))}catch{}}}},hs=class{channel;options;elector;token=us();registry=new Map;allIdle=!1;isLastActive=!1;constructor(e){let{channelName:t}=e;if(this.options=e,this.channel=new ds(t),this.registry.set(this.token,1),e.leaderElection){let e={fallbackInterval:2e3,responseTime:100};this.elector=new ms(this.channel,e),this.elector.waitForLeadership()}this.channel.addEventListener("message",e=>{let{action:t,token:a,data:r}=e.data;switch(t){case 3:this.registry.set(a,2);break;case 4:this.registry.delete(a);break;case 5:this.idle(a);break;case 6:this.active(a);break;case 7:this.prompt(a);break;case 8:this.start(a);break;case 9:this.reset(a);break;case 10:this.activate(a);break;case 11:this.pause(a);break;case 12:this.resume(a);break;case 13:this.options.onMessage(r)}}),this.send(3)}get isLeader(){if(!this.elector)throw new Error('❌ Leader election is not enabled. To Enable it set the "leaderElection" property to true.');return this.elector.isLeader}prompt(e=this.token){this.registry.set(e,0);let t=[...this.registry.values()].every(e=>0===e);e===this.token&&this.send(7),t&&this.options.onPrompt()}idle(e=this.token){this.registry.set(e,2);let t=[...this.registry.values()].every(e=>2===e);e===this.token&&this.send(5),!this.allIdle&&t&&(this.allIdle=!0,this.options.onIdle())}active(e=this.token){this.allIdle=!1,this.registry.set(e,1);let t=[...this.registry.values()].some(e=>1===e);e===this.token&&this.send(6),t&&this.options.onActive(),this.isLastActive=e===this.token}start(e=this.token){this.allIdle=!1,this.registry.set(e,1),e===this.token?this.send(8):this.options.start(!0),this.isLastActive=e===this.token}reset(e=this.token){this.allIdle=!1,this.registry.set(e,1),e===this.token?this.send(9):this.options.reset(!0),this.isLastActive=e===this.token}activate(e=this.token){this.allIdle=!1,this.registry.set(e,1),e===this.token?this.send(10):this.options.activate(!0),this.isLastActive=e===this.token}pause(e=this.token){e===this.token?this.send(11):this.options.pause(!0)}resume(e=this.token){e===this.token?this.send(12):this.options.resume(!0)}message(e){try{this.channel.postMessage({action:13,token:this.token,data:e})}catch{}}
2send(e){try{this.channel.postMessage({action:e,token:this.token})}catch{}}close(){this.options.leaderElection&&this.elector.close(),this.send(4),this.channel.close()}},ps=os?document:null,fs=["mousemove","keydown","wheel","DOMMouseScroll","mousewheel","mousedown","touchstart","touchmove","MSPointerDown","MSPointerMove","visibilitychange","focus"];function xs(e,t){let a=0;return function(...r){let s=(new Date).getTime();if(!(s-a<t))return a=s,e(...r)}}var gs=()=>Date.now(),bs=2147483647;function ys({timeout:e=12e5,promptTimeout:t=0,promptBeforeIdle:a=0,element:r=ps,events:s=fs,timers:n,immediateEvents:i=[],onPresenceChange:o=()=>{},onPrompt:l=()=>{},onIdle:c=()=>{},onActive:d=()=>{},onAction:u=()=>{},onMessage:m=()=>{},debounce:h=0,throttle:p=0,eventsThrottle:f=200,startOnMount:x=!0,startManually:g=!1,stopOnIdle:b=!1,crossTab:y=!1,name:v="idle-timer",syncTimers:w=0,leaderElection:j=!1,disabled:k=!1}={}){let N=(0,P.useRef)(gs()),E=(0,P.useRef)(gs()),C=(0,P.useRef)(null),S=(0,P.useRef)(null),_=(0,P.useRef)(0),L=(0,P.useRef)(0),R=(0,P.useRef)(0),M=(0,P.useRef)(0),T=(0,P.useRef)(!1),I=(0,P.useRef)(!1),A=(0,P.useRef)(!1),D=(0,P.useRef)(!0),O
2=(0,P.useRef)(!1),$=(0,P.useRef)(null),z=(0,P.useRef)(null),B=(0,P.useRef)(e),q=(0,P.useRef)(0);(0,P.useEffect)(()=>{if(t&&console.warn("⚠️ IdleTimer -- The `promptTimeout` property has been deprecated in favor of `promptBeforeIdle`. It will be removed in the next major release."),a&&t)throw new Error("❌ Both promptTimeout and promptBeforeIdle can not be set. The promptTimeout property will be deprecated in a future version.");if(e>=bs)throw new Error(`❌ The value for the timeout property must fit in a 32 bit signed integer, ${bs}.`);if(t>=bs)throw new Error(`❌ The value for the promptTimeout property must fit in a 32 bit signed integer, ${bs}.`);if(a>=bs)throw new Error(`❌ The value for the promptBeforeIdle property must fit in a 32 bit signed integer, ${bs}.`);if(a>=e)throw new Error(`❌ The value for the promptBeforeIdle property must be less than the timeout property, ${e}.`);if(a?(B.current=e-a,q.current=a):(B.current=e,q.current=t),!D.current){if(g||k)return;T.current&&(Q.current(null,Me),z.current&&z.current.active()),ue()}},[e,t,a,g,k]);let V=(0,P.useRef)(b);(0,P.useEffect)(()=>{V.current=b},[b]);let F=(0,P.useRef)(i),U=(0,P.useRef)(r),H=(0,P.useRef)([...new Set([...s,...i]).values()]),W=(0,P.useRef)(k);(0,P.useEffect)(()=>{W.current=k,!D.current&&(k?pe():g||ue())},[k]);let J=(0,P.useRef)(o);(0,P.useEffect)(()=>{J.current=o},[o]);let K=(0,P.useRef)(l);(0,P.useEffect)(()=>{K.current=l},[l]);let Y=(0,P.useRef)(c);(0,P.useEffect)(()=>{Y.current=c},[c]);let Q=(0,P.useRef)(d);(0,P.useEffect)(()=>{Q.current=d},[d]);let G=(0,P.useRef)(u);(0,P.useEffect)(()=>{G.current=u},[u]);let X=(0,P.useRef)(m);(0,P.useEffect)(()=>{X.current=m},[m]);let Z=(0,P.useMemo)(()=>{let e=(e,t)=>G.current(e,t);return h>0?function(e,t){let a;function r(...r){a&&clearTimeout(a),a=setTimeout(()=>{e(...r),a=null},t)}return r.cancel=function(){clearTimeout(a)},r}(e,h):p>0?xs(e,p):e},[p,h]),ee=(0,P.useRef)();(0,P.useEffect)(()=>{y&&w&&(ee.current=xs(()=>{z.current.active()},w))},[y,w]);let te=()=>{null!==$.current&&(ls.clearTimeout($.current),$.current=null)},ae=(e,t=!0)=>{te(),$.current=ls.setTimeout(ie,e||B.current),t&&(S.current=gs())},re=e=>{!I.current&&!T.current&&(K.current(e,Me),J.current({type:"active",prompted:!0},Me)),M.current=0,R.current=gs(),I.current=!0,ae(q.current,!1)},se=()=>{te(),T.current||(Y.current(null,Me),J.current({type:"idle"},Me)),T.current=!0,C.current=gs(),V.current?de():I.current&&(R.current=0,I.current=!1)},ne=e=>{te(),(T.current||I.current)&&(Q.current(e,Me),J.current({type:"active",prompted:!1},Me)),I.current=!1,R.current=0,T.current=!1,_.current+=gs()-C.current,L.current+=gs()-C.current,ce(),ae()},ie=e=>{if(!T.current){Z.cancel&&Z.cancel();let t=gs()-S.current;return B.current+q.current<t||!(q.current>0)||I.current?void(z.current?z.current.idle():se()):void(z.current?z.current.prompt():re(e))}z.current?z.current.active():ne(e)},oe=e=>{if(!x&&!S.current&&(S.current=gs(),Q.current(null,Me)),Z(e,Me),I.current)return;if(te(),!T.current&&F.current.includes(e.type))return void ie(e);let t=gs()-S.current;T.current&&!b||!T.current&&t>=B.current?ie(e):(A.current=!1,M.current=0,R.current=0,ae(),y&&w&&ee.current())},le=(0,P.useRef)(oe);(0,P.useEffect)(()=>{let e=O.current;e&&de(),le.current=f>0?xs(oe,f):oe,e&&ce()},[f,p,h,G,y,w]);let ce=()=>{os&&U.current&&(O.current||(H.current.forEach(e=>{U.current.addEventListener(e,le.current,{capture:!0,passive:!0})}),O.current=!0))},de=(e=!1)=>{os&&U.current&&(O.current||e)&&(H.current.forEach(e=>{U.current.removeEventListener(e,le.current,{capture:!0})}),O.current=!1)},ue=(0,P.useCallback)(e=>!W.current&&(te(),ce(),T.current=!1,I.current=!1,A.current=!1,M.current=0,R.current=0,z.current&&!e&&z.current.start(),ae(),!0),[$,T,W,B,z]),me=(0,P.useCallback)(e=>!W.current&&(te(),ce(),E.current=gs(),_.current+=gs()-C.current,L.current+=gs()-C.current,_.current=0,T.current=!1,I.current=!1,A.current=!1,M.current=0,R.current=0,z.current&&!e&&z.current.reset(),g||ae(),!0),[$,T,B,g,W,z]),he=(0,P.useCallback)(e=>!W.current&&(te(),ce(),(T.current||I.current)&&ne(),T.current=!1,I.current=!1,A.current=!1,M.current=0,R.current=0,E.current=gs(),z.current&&!e&&z.current.activate(),ae(),!0),[$,T,I,W,B,z]),pe=(0,P.useCallback)((e=!1)=>!W.current&&!A.current&&(M.current=je(),A.current=!0,de(),te(),z.current&&!e&&z.current.pause(),!0),[$,W,z]),fe=(0,P.useCallback)((e=!1)=>!(W.current||!A.current)&&(A.current=!1,I.current||ce(),T.current||ae(M.current),R.current&&(R.current=gs()),z.current&&!e&&z.current.resume(),!0),[$,B,W,M,z]),xe=(0,P.useCallback)((e,t)=>(z.current?(t&&X.current(e,Me),z.current.message(e)):t&&X.current(e,Me),!0),[m]),ge=(0,P.useCallback)(()=>T.current,[T]),be=(0,P.useCallback)(()=>I.current,[I]),ye=(0,P.useCallback)(()=>z.current?z.current.isLeader:null,[z]),ve=(0,P.useCallback)(()=>z.current?z.current.isLastActive:null,[z]),we=(0,P.useCallback)(()=>z.current?z.current.token:null,[z]),je=(0,P.useCallback)(()=>
2{if(A.current)return M.current;let e=M.current?M.current:q.current+B.current,t=S.current?gs()-S.current:0,a=Math.floor(e-t);return a<0?0:Math.abs(a)},[B,q,I,M,S]),ke=(0,P.useCallback)(()=>Math.round(gs()-E.current),[E]),Ne=(0,P.useCallback)(()=>Math.round(gs()-N.current),[N]),Ee=(0,P.useCallback)(()=>C.current?new Date(C.current):null,[C]),Ce=(0,P.useCallback)(()=>S.current?new Date(S.current):null,[S]),Se=(0,P.useCallback)(()=>T.current?Math.round(gs()-C.current+_.current):Math.round(_.current),[C,_]),_e=(0,P.useCallback)(()=>T.current?Math.round(gs()-C.current+L.current):Math.round(L.current),[C,L]),Le=(0,P.useCallback)(()=>{let e=Math.round(ke()-Se());return e>=0?e:0},[C,_]),Re=(0,P.useCallback)(()=>{let e=Math.round(Ne()-_e());return e>=0?e:0},[C,_]);(0,P.useEffect)(()=>{if(h>0&&p>0)throw new Error("❌ onAction can either be throttled or debounced, not both.");n&&function(e){ls.setTimeout=e.setTimeout,ls.clearTimeout=e.clearTimeout,ls.setInterval=e.setInterval,ls.clearInterval=e.clearInterval}(n);let e=()=>{z.current&&z.current.close(),Z.cancel&&Z.cancel(),te(),de(!0)};return os&&window.addEventListener("beforeunload",e),()=>{os&&window.removeEventListener("beforeunload",e),z.current&&z.current.close(),Z.cancel&&Z.cancel(),te(),de(!0)}},[]),(0,P.useEffect)(()=>{z.current&&z.current.close(),z.current=y?new hs({channelName:v,leaderElection:j,onPrompt:()=>{re()},onIdle:()=>{se()},onActive:()=>{ne()},onMessage:e=>{X.current(e,Me)},start:ue,reset:me,activate:he,pause:pe,resume:fe}):null},[y,v,j,K,Y,Q,X,ue,me,pe,fe]),(0,P.useEffect)(()=>{D.current||(te(),de(!0)),!g&&!k&&(x?ue():ce())},[g,x,k,D]),(0,P.useEffect)(()=>{if(!D.current){let e=[...new Set([...s,...i]).values()];if(de(),H.current=e,U.current=r,F.current=i,g||k)return;x?ue():ce()}},[r,JSON.stringify(s),JSON.stringify(i),D,k,g,x]),(0,P.useEffect)(()=>{D.current&&(D.current=!1)},[D]);let Me={message:xe,start:ue,reset:me,activate:he,pause:pe,resume:fe,isIdle:ge,isPrompted:be,isLeader:ye,isLastActiveTab:ve,getTabId:we,getRemainingTime:je,getElapsedTime:ke,getTotalElapsedTime:Ne,getLastIdleTime:Ee,getLastActiveTime:Ce,getIdleTime:Se,getTotalIdleTime:_e,getActiveTime:Le,getTotalActiveTime:Re,setOnPresenceChange:e=>{o=e,J.current=e},setOnPrompt:e=>{l=e,K.current=e},setOnIdle:e=>{c=e,Y.current=e},setOnActive:e=>{d=e,Q.current=e},setOnAction:e=>{u=e,G.current=e},setOnMessage:e=>{m=e,X.current=e}};return Me}(0,P.createContext)(null).Consumer;function vs({isOpen:e,remainingTime:t,onStayLoggedIn:a,onLogout:r}){const[s,n]=(0,P.useState)(!1),i=Math.max(0,Math.min(100,t/3e5*100)),o=async()=>{n(!0);try{await a()}finally{n(!1)}};return(0,P.useEffect)(()=>{e||n(!1)},[e]),(0,va.jsx)(Tr,{isOpen:e,onClose:o,title:"Session Expiring",showCloseButton:!1,children:(0,va.jsxs)("div",{className:"space-y-6",children:[(0,va.jsxs)("div",{className:"text-center",children:[(0,va.jsx)("div",{className:"mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-yellow-500/20",children:(0,va.jsx)(za,{className:"h-8 w-8 text-yellow-400"})}),(0,va.jsx)("p",{className:"text-text-on-dark font-sans text-lg",children:"Your session will expire due to inactivity."}),(0,va.jsx)("p",{className:"text-text-muted mt-2 font-sans text-sm",children:"You will be logged out automatically for security."})]}),(0,va.jsxs)("div",{className:"text-center",children:[(0,va.jsx)("div",{className:"mb-2",children:(0,va.jsx)("span",{className:"font-mono text-4xl font-bold text-yellow-400",children:(e=>{const t=Math.max(0,Math.ceil(e/1e3));return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,"0")}`})(t)})}),(0,va.jsx)("p",{className:"text-text-muted font-sans text-xs",children:"remaining"})]}),(0,va.jsx)("div",{className:"relative h-2 w-full overflow-hidden rounded-full bg-white/10",children:(0,va.jsx)("div",{className:"absolute left-0 top-0 h-full rounded-full bg-yellow-500 transition-all duration-1000",style:{width:`${i}%`}})}),(0,va.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row",children:[(0,va.jsx)(wa,{variant:"primary",fullWidth:!0,onClick:o,disabled:s,className:"order-1 sm:order-2",children:s?(0,va.jsxs)(va.Fragment,{children:[(0,va.jsx)(tr,{className:"mr-2 h-4 w-4 animate-spin"}),"Extending..."]}):(0,va.jsxs)(va.Fragment,{children:[(0,va.jsx)(tr,{className:"mr-2 h-4 w-4"}),"Stay Logged In"]})}),(0,va.jsxs)(wa,{variant:"outline",fullWidth:!0,onClick:r,disabled:s,className:"order-2 sm:order-1",children:[(0,va.jsx)(Xa,{className:"mr-2 h-4 w-4"}),"Log Out Now"]})]}),(0,va.jsx)("p",{className:"text-text-muted text-center font-sans text-xs",children:'Click "Stay Logged In" to continue your session.'})]})})}var ws=3e5,js=(0,P.createContext)(void 0);function ks({children:e}){const{isAuthenticated:t,logout:a}=Qr(),[r,s]=(0,P.useState)(!1),[n,i]=(0,P.useState)(ws),o=(0,P.useRef)(!1),l=(0,P.useCallback)(async()=>
2{if(!o.current){o.current=!0;try{await k.getProfile(),s(!1)}catch(e){console.error("Failed to extend session:",e),a()}finally{o.current=!1}}},[a]),c=(0,P.useCallback)(()=>{s(!1),a()},[a]),d=(0,P.useCallback)(()=>{t&&c()},[t,c]),u=(0,P.useCallback)(()=>{t&&s(!0)},[t]),m=(0,P.useCallback)(()=>{},[]),{getRemainingTime:h,activate:p,isIdle:f,isPrompted:x}=ys({timeout:69e5,promptBeforeIdle:ws,onIdle:d,onPrompt:u,onActive:m,crossTab:!0,syncTimers:200,throttle:500,disabled:!t,events:["mousemove","keydown","wheel","DOMMouseScroll","mousewheel","mousedown","touchstart","touchmove","MSPointerDown","MSPointerMove","visibilitychange","focus"]});(0,P.useEffect)(()=>{if(!r)return;const e=setInterval(()=>{const e=h();i(e)},1e3);return()=>clearInterval(e)},[r,h]);const g=(0,P.useCallback)(()=>{p(),l()},[p,l]),b={isIdle:f(),isPrompted:x(),remainingTime:n,stayActive:g};return(0,va.jsxs)(js.Provider,{value:b,children:[e,t&&(0,va.jsx)(vs,{isOpen:r,remainingTime:n,onStayLoggedIn:g,onLogout:c})]})}var Ns={admin:"ADMINISTRATOR",examiner:"EXAMINER",student:"STUDENT"},Es=e=>{const t=e.trim().replace(/^role_/i,"");return"PSA"===t.toUpperCase()?"PSA":t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()};var Cs=({user:e,sidebarOpen:t,onMenuToggle:a,onLogout:r,hideSidebar:s=!1})=>{const n=function(e,t){const a=(t??[]).filter(e=>"string"==typeof e&&""!==e.trim()),r=e.split("/").filter(Boolean)[0]?.toLowerCase(),s=r?Ns[r]:void 0;if(s){const e=a.find(e=>(e=>e.trim().replace(/^role_/i,"").toUpperCase())(e)===s);if(e)return{label:Es(e),role:e,source:"route"}}const[n]=a;return n?{label:Es(n),role:n,source:"fallback"}:{label:"user",role:null,source:"none"}}(Ue().pathname,e?.roles).label;return(0,va.jsx)("header",{className:"bg-glassmorphism-light fixed left-0 right-0 top-0 z-50 border-b border-white/5 px-6 py-3 shadow-lg backdrop-blur-xl md:px-8 md:py-4 lg:px-12",children:(0,va.jsxs)("div",{className:"flex items-center justify-between",children:[(0,va.jsxs)("div",{className:"flex items-center gap-4",children:[e&&!s&&(0,va.jsx)(wa,{variant:"icon",onClick:a,className:"touch-manipulation lg:hidden","aria-label":"Toggle menu","aria-expanded":t,shine:!1,children:(0,va.jsx)(er,{className:"h-5 w-5"})}),(0,va.jsx)("div",{className:"flex items-baseline gap-3",children:(0,va.jsx)("span",{className:"font-sans text-xs uppercase tracking-wider text-gray-400",children:"Bachata Sensual Academy"})})]}),e?(0,va.jsxs)("div",{className:"flex items-center gap-3",children:[(0,va.jsxs)("div",{className:"hidden items-center gap-3 lg:flex",children:[(0,va.jsxs)("div",{className:"text-right",children:[(0,va.jsx)("p",{className:"font-sans text-sm font-medium text-white",children:e.first_name&&e.last_name?`${e.first_name} ${e.last_name}`:e.email}),(0,va.jsx)("p",{className:"font-sans text-xs text-gray-400",children:n})]}),(0,va.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-full border border-white/10 bg-input",children:(0,va.jsx)(ir,{className:"h-4 w-4 text-gray-400"})})]}),(0,va.jsxs)(wa,{variant:"secondary",size:"sm",onClick:r,className:"min-h-[40px] touch-manipulation bg-input font-sans text-xs hover:border-brand-red hover:bg-brand-red/10",title:"Sign Out",shine:!1,children:[(0,va.jsx)(Xa,{className:"h-3.5 w-3.5"}),(0,va.jsx)("span",{className:"hidden sm:inline",children:"Sign Out"})]})]}):(0,va.jsx)("div",{className:"text-sm text-gray-500",children:(0,va.jsx)("span",{children:"Not logged in"})})]})})},Ss=({currentPath:e,isOpen:t,onNavigate:a})=>{const{hasRole:r}=Qr(),s=(0,P.useMemo)(()=>{const e=[];return r("admin")||r("administrator")||r("PSA")?e.push({label:"Dashboard",path:"/admin/dashboard",icon:"BarChart3",permission:null},{label:"Programs",path:"/admin/programs",icon:"GraduationCap",permission:null,section:"CURRICULUM"},{label:"Courses",path:"/admin/courses",icon:"BookOpen",permission:null},{label:"Users",path:"/admin/users",icon:"Users",permission:null,section:"ENROLLMENT"},{label:"Applications",path:"/admin/applications",icon:"FileText",permission:null},{label:"Examinations",path:"/admin/examinations",icon:"FileCheck",permission:null},{label:"Examiner Report",path:"/admin/reports",icon:"BarChart3",permission:null},{label:"Course Roster",path:"/admin/course-roster",icon:"ClipboardList",permission:null},{label:"Cash Payments",path:"/admin/cash-payments",icon:"Banknote",permission:null},{label:"Profile",path:"/admin/profile",icon:"UserCircle",permission:null,section:"ACCOUNT"}):r("examiner")?(e.push({label:"Dashboard",path:"/examiner/dashboard",icon:"BarChart3",permission:null,indent:0},{label:"Applications",path:"/examiner/applications",icon:"FileText",permission:null,indent:0}),e.push({label:"Examinations",path:"/examiner/examinations",icon:"FileCheck",permission:null,indent:0}),e.push({label:"Availability",path:"/examiner/availability",icon:"Clock",permission:null,indent:0}),e.push({label:"My Report",path:"/examiner/reports",icon:"BarChart3",permission:null,indent:0}),e.push({label:"Profile",path:"/examiner/profile",icon:"UserCircle",permission:null,indent:0})):r("student")?(e.push({label:"Dashboard",path:"/student/dashboard",icon:"Home",permission:null,indent:0},{label:"Browse Programs",path:"/student/programs",icon:"GraduationCap",permission:null,indent:0},{label:"My Applications",path:"/student/applications",icon:"FileText",permission:null,indent:0}),e.push({label:"My Courses",path:"/student/courses",icon:"Video",permission:null,indent:0}),e.push({label:"My Payments",path:"/student/payments",icon:"CreditCard",permission:null,indent:0}),e.push({label:"Schedule Exam",path:"/student/schedule-exam",icon:"FileCheck",permission:null,indent:0}),e.push({label:"My Examinations",path:"/student/examinations",icon:"Calendar",permission:null,indent:0}),e.push({label:"My Certificates",path:"/student/certifications",icon:"Award",permission:null,indent:0}),e.push({label:"Profile",path:"/student/profile",icon:"UserCircle",permission:null,indent:0})):e.push({label:"Dashboard",path:"/student/dashboard",icon:"LayoutDashboard",permission:null,indent:0}),e.filter(e=>{const t=qr[e.path];return void 0===t||Vr(t,r)})},[r]),n=(e,t)=>{const a="w-full h-full "+(t?"text-white":"text-gray-500");return{Home:(0,va.jsx)(Ka,{className:a}),Users:(0,va.jsx)(or,{className:a}),BookOpen:(0,va.jsx)(Sa,{className:a}),Calendar:(0,va.jsx)(_a,{className:a}),FileText:(0,va.jsx)(Ha,{className:a}),Settings:(0,va.jsx)(ar,{className:a}),Upload:(0,va.jsx)(sr,{className:a}),Award:(0,va.jsx)(Na,{className:a}),BarChart3:(0,va.jsx)(La,{className:a}),UserCheck:(0,va.jsx)(nr,{className:a}),Clock:(0,va.jsx)(za,{className:a}),GraduationCap:(0,va.jsx)(Ja,{className:a}),Video:(0,va.jsx)(lr,{className:a}),Mail:(0,va.jsx)(Za,{className:a}
2),UserCircle:(0,va.jsx)(Da,{className:a}),FileCheck:(0,va.jsx)(Ua,{className:a}),Inbox:(0,va.jsx)(Ya,{className:a}),Banknote:(0,va.jsx)(Ca,{className:a}),ClipboardList:(0,va.jsx)($a,{className:a}),FolderOpen:(0,va.jsx)(Wa,{className:a}),CreditCard:(0,va.jsx)(Ba,{className:a})}[e]||(0,va.jsx)(Ka,{className:a})};return(0,va.jsxs)(va.Fragment,{children:[t&&(0,va.jsx)("div",{className:"fixed inset-0 z-20 bg-black bg-opacity-50 lg:hidden",onClick:()=>a(e)}),(0,va.jsx)("aside",{className:`bg-glassmorphism fixed left-0 top-0 z-30 h-full w-64 max-w-[80vw] transform border-r border-white/5 text-white transition-transform duration-300 ease-in-out ${t?"translate-x-0":"-translate-x-full"} lg:fixed lg:left-0 lg:top-[64px] lg:z-40 lg:h-[calc(100vh-64px)] lg:translate-x-0`,children:(0,va.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,va.jsx)("div",{className:"flex-shrink-0 border-b border-white/5 p-4 lg:hidden",children:(0,va.jsxs)("div",{className:"flex items-baseline gap-3",children:[(0,va.jsx)("span",{className:"font-sans text-xs uppercase tracking-wider text-gray-400",children:"BSA"}),(0,va.jsx)("span",{className:"text-sm text-gray-600",children:"|"}),(0,va.jsx)("span",{className:"font-sans text-xs tracking-wide text-gray-400",children:"Academy"})]})}),(0,va.jsx)("nav",{className:"flex-1 overflow-y-auto px-4 py-4",children:(0,va.jsx)("ul",{className:"space-y-1",children:s.map(t=>{const r=e===t.path||"/dashboard"!==t.path&&e.startsWith(t.path);return(0,va.jsxs)(P.Fragment,{children:[t.section&&(0,va.jsx)("li",{className:"px-3 pb-1 pt-4 first:pt-1",children:(0,va.jsx)("span",{className:"font-sans text-[10px] font-semibold uppercase tracking-widest text-gray-500",children:t.section})}),(0,va.jsx)("li",{children:(0,va.jsxs)(wa,{variant:"nav",onClick:()=>a(t.path),"aria-current":r?"page":void 0,className:`w-full touch-manipulation justify-start gap-3 py-2 pl-3 pr-3 font-sans text-sm transition-colors duration-100 ${r?"border-brand-red/30 bg-input text-white":"hover:border-brand-red/20 active:bg-white/5"} `,shine:!1,children:[(0,va.jsx)("span",{className:"inline-flex h-4 w-4 flex-shrink-0 items-center justify-center",children:t.icon&&n(t.icon,r)}),(0,va.jsx)("span",{className:"flex-1 text-left font-medium",children:t.label}),t.comingSoon&&(0,va.jsx)("span",{className:"rounded-full border border-yellow-500/30 bg-yellow-500/20 px-2 py-0.5 text-xs font-semibold text-yellow-400",children:"Soon"})]})})]},t.path)})})}),(0,va.jsx)("div",{className:"flex-shrink-0 border-t border-white/5 p-3",children:(0,va.jsxs)("p",{className:"text-center font-sans text-xs tracking-wide text-gray-400",children:["BSA ","v1.2.16".slice(0,12)||"local"]})})]})})]})},_s=({user:e,currentPath:t,onNavigate:a,onLogout:r,hideSidebar:s=!1,children:n})=>{const[i,o]=(0,P.useState)(!1);(0,P.useEffect)(()=>{if(!i)return;const e=e=>{"Escape"===e.key&&o(!1)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[i]);return(0,va.jsxs)("div",{className:"bg-page-gradient relative min-h-screen max-w-full overflow-x-hidden",children:[(0,va.jsx)("a",{href:"#main-content",className:"sr-only focus:not-sr-only focus:fixed focus:left-4 focus:top-4 focus:z-50 focus:rounded focus:bg-brand-red focus:px-4 focus:py-2 focus:text-white focus:outline-none",children:"Skip to main content"}),(0,va.jsx)(Cs,{user:e,sidebarOpen:i,onMenuToggle:()=>{o(!i)},onLogout:r,hideSidebar:s}),(0,va.jsxs)("div",{className:"relative z-10 flex min-h-screen min-w-0 pt-[64px]",children:[e&&!s&&(0,va.jsx)(Ss,{currentPath:t,isOpen:i,onNavigate:e=>{a(e),o(!1)}}),(0,va.jsx)("main",{id:"main-content",className:"flex min-w-0 flex-1 flex-col "+(s?"":"lg:ml-64"),children:(0,va.jsx)("div",{className:"flex w-full min-w-0 flex-1 justify-center text-white "+(s?"p-0":"p-4 sm:p-6"),children:(0,va.jsx)("div",{className:"w-full "+(s?"":"max-w-7xl"),children:n})})})]})]})};function Ls(e){return"object"==typeof e&&null!==e&&"status"in e&&403===e.status}var Rs={LONG:18e5,MEDIUM:3e5,SHORT:6e4,VERY_SHORT:3e4};function Ms(e,t){return!Ls(t)&&e<1}function Ts({variant:e="subtle",className:t}){const a={subtle:[{position:"-top-40 -left-40",size:"w-80 h-80",opacity:"bg-brand-red/20",blur:"blur-3xl",animation:"animate-float",animationDelay:"0s",animationDuration:"8s"},{position:"top-1/2 -right-40",size:"w-96 h-96",opacity:"bg-brand-red/15",blur:"blur-3xl",animation:"animate-float",animationDelay:"2s",animationDuration:"10s"},{position:"-bottom-40 left-1/3",size:"w-72 h-72",opacity:"bg-brand-red/18",blur:"blur-3xl",animation:"animate-float",animationDelay:"4s",animationDuration:"12s"}],intense:[{position:"-top-40 -right-40",size:"w-80 h-80",opacity:"bg-brand-red/25",blur:"blur-3xl",animation:"animate-float",animationDelay:"1s",animationDuration:"9s"},{position:"top-1/3 -left-40",size:"w-96 h-96",opacity:"bg-brand-red/18",blur:"blur-3xl",animation:"animate-float",animationDelay:"3s",animationDuration:"11s"},{position:"-bottom-40 right-1/3",size:"w-72 h-72",opacity:"bg-brand-red/20",blur:"blur-3xl",animation:"animate-float",animationDelay:"5s",animationDuration:"13s"}],pulse:[{position:"top-1/4 left-1/4",size:"w-96 h-96",opacity:"bg-brand-red/5",blur:"blur-3xl",animation:"animate-pulse",animationDelay:"0s",animationDuration:""},{position:"bottom-1/4 right-1/4",size:"w-96 h-96",opacity:"bg-brand-red/5",blur:"blur-3xl",animation:"animate-pulse",animationDelay:"1000ms",animationDuration:""}]}[e];return(0,va.jsx)("div",{className:E("pointer-events-none absolute inset-0 overflow-hidden",t),children:a.map((e,t)=>(0,va.jsx)("div",{className:E("absolute rounded-full",e.position,e.size,e.opacity,e.blur,e.animation),style:{animationDelay:e.animationDelay,...e.animationDuration&&{animationDuration:e.animationDuration}}},t))})}var Is={Scheduled:"bg-blue-500/20 text-blue-400 border-blue-500/30",Completed:"bg-green-500/20 text-green-400 border-green-500/30",Cancelled:"bg-gray-500/20 text-text-muted border-gray-500/30"};function As({status:e}){switch(e){case"Scheduled":return(0,va.jsx)(za,{className:"h-3.5 w-3.5"});case"Completed":return(0,va.jsx)(Aa,{className:"h-3.5 w-3.5"});case"Cancelled":return(0,va.jsx)(Ea,{className:"h-3.5 w-3.5"});default:return(0,va.jsx)(Ua,{className:"h-3.5 w-3.5"})}}function Ps({studentId:e,excludeExaminationId:t,limit:a=20}){const{data:r,isLoading:s,error:n}=v({queryKey:f.examinations.studentHistory(e,{limit:a}),queryFn:()=>k.getStudentExaminationHistory(e,{limit:a}),enabled:!!e,staleTime:Rs.SHORT}),i=(r?.examinations||[]).filter(e=>e.examination_id!==t);return s?(0,va.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,va.jsx)(Cr,{text:"Loading exam history..."})}):n?(0,va.jsx)(Sr,{message:n instanceof Error?n.message:"Failed to load student exam history"}):0===i.length?(0,va.jsx)("p",{className:"text-text-muted py-2 text-sm italic",children:"No previous exams on record."}):(0,va.jsx)("div",{className:"space-y-2",children:i.map(e=>{return(0,va.jsxs)("div",{className:"flex items-start justify-between gap-3 rounded-lg border border-white/10 bg-white/5 p-3",children:[(0,va.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,va.jsxs)("div",{className:"flex items-center gap-2",children:[(0,va.jsx)(_a,{className:"text-text-muted h-3.5 w-3.5 shrink-0"}),(0,va.jsx)("span",{className:"text-text-on-dark font-sans text-sm font-medium",children:(t=e.examination_date,new Date(t).toLocaleStr
2ing("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",timeZone:"UTC"}))})]}),(0,va.jsx)("p",{className:"text-text-muted font-sans text-xs",children:e.course_title||"Unknown course"})]}),(0,va.jsxs)("div",{className:"flex flex-col items-end gap-1.5",children:[(0,va.jsxs)("span",{className:`inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 text-xs font-semibold ${Is[e.status]||Is.Scheduled}`,children:[(0,va.jsx)(As,{status:e.status}),e.status]}),e.decision&&(0,va.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-semibold "+("Pass"===e.decision?"text-green-400":"text-red-400"),children:["Pass"===e.decision?(0,va.jsx)(Aa,{className:"h-3 w-3"}):(0,va.jsx)(Oa,{className:"h-3 w-3"}),e.decision]})]})]},e.examination_id);var t})})}var Ds={baseUrl:"https://academy.bachatasensual.com",siteName:"Bachata Sensual Academy",defaultOgImage:"/og-image.jpg",defaultTwitterImage:"/twitter-card.jpg",defaultLocale:"en_US",social:{instagram:"https://www.instagram.com/bachatasensual_official/",facebook:"https://www.facebook.com/bachatasnsual",youtube:"https://www.youtube.com/channel/UCHTccZThpbdDpHJ3nRGJIJA"}},Os=`${Ds.baseUrl}${Ds.defaultOgImage}`;function $s(e,t,a){const r=`meta[${e}="${t}"]`;let s=document.head.querySelector(r);s||(s=document.createElement("meta"),s.setAttribute(e,t),document.head.appendChild(s)),s.setAttribute("content",a)}function zs({title:e,description:t,canonical:a,ogImage:r=Os,ogType:s="website",twitterCard:n="summary_large_image",noIndex:i=!1,keywords:o}){const l=e.includes(Ds.siteName)?e:`${e} | ${Ds.siteName}`,c=a||Ds.baseUrl;return(0,P.useEffect)(()=>{var e,a;document.title=l,$s("name","description",t),o&&$s("name","keywords",o),i?$s("name","robots","noindex, nofollow"):(e="name",a="robots",document.head.querySelector(`meta[${e}="${a}"]`)?.remove()),function(e,t){const a=`link[rel="${e}"]`;let r=document.head.querySelector(a);r||(r=document.createElement("link"),r.setAttribute("rel",e),document.head.appendChild(r)),r.setAttribute("href",t)}("canonical",c),$s("property","og:type",s),$s("property","og:url",c),$s("property","og:title",l),$s("property","og:description",t),$s("property","og:image",r),$s("property","og:site_name",Ds.siteName),$s("property","og:locale",Ds.defaultLocale),$s("name","twitter:card",n),$s("name","twitter:url",c),$s("name","twitter:title",l),$s("name","twitter:description",t),$s("name","twitter:image",r)},[l,t,c,r,s,n,i,o]),null}var Bs={ctaLabel:"Apply Now",nav:{brand:"Bachata Sensual®",sections:[{id:"why-choose-us",label:"Why Certify"},{id:"how-it-works",label:"How It Works"},{id:"community",label:"Community"},{id:"certification-levels",label:"Courses"}],demo:"View Demo",signIn:"Sign In",getStarted:"Apply Now"},hero:{badge:"Official Certification Program",title:"Bachata Sensual",subtitle:"Instructor Certification",description1:"The organic style that understands body, movement, and connects with music",description2:"Learn from the creators. Join a global community of professional instructors across 40+ countries.",button:"Apply Now"},stats:{countries:{value:40,suffix:"+",label:"Countries"},years:{value:22,suffix:"",label:"Years Experience"},instructors:{value:1e3,suffix:"+",label:"Instructors"}},why:{badge:"Why Choose Us",title1:"More than a decade",title2:"training the best",story:{title:"The Bachata Sensual® Story",sections:[{icon:"🌍",title:"From Cádiz to the World",description:"Born in Cádiz, Spain in 2004, Bachata Sensual emerged from Korke & Judith's vision to create a style that truly connects movement with music. Over 22 years, what started in a small Spanish city has become a global phenomenon, taught by 1,000+ certified instructors across 40+ countries."},{icon:"🎓",title:"Scientific Foundation",description:"Backed by research from the University of Valencia. Our methodology combines artistic expression with pedagogical science. Every movement has purpose, every technique is proven."}]},cards:[{title:"Learn from the Creators",description:"Direct access to Korke & Judith, the founders of Bachata Sensual®. Recognized in 40+ countries w
2orldwide."},{title:"Proven Methodology",description:"22 years of refinement. Structured approach where every movement has purpose. Join 1,000+ certified instructors."},{title:"Ongoing Support",description:"Constant evolution and updates. International community network. Stay current with latest techniques."}]},levels:{sectionBadge:"Courses",sectionTitle:"Choose Your Path",sectionDescription:"Two levels of professional instructor certification",level1:{badge:"Foundation",title:"Level 1",subtitle:"Teacher Training Course",description:"Foundation certification for aspiring instructors. Learn core methodology and teaching techniques. Develop fundamental skills.",requirements:["1 year teaching experience","Video evaluation required","2-3 day intensive training"],upcomingTitle:"Upcoming",button:"View Details"},level2:{badge:"Advanced",title:"Level 2",subtitle:"Advanced Training Course",description:"Advanced certification for experienced instructors. Master complex teaching scenarios. Perfect your pedagogical art.",requirements:["Level 1 certification required","Advanced methodology training","Master complex techniques"],upcomingTitle:"Upcoming",button:"View Details"},statusLabels:{soldOut:"SOLD OUT",available:"AVAILABLE",new:"NEW",tbd:"TBD",comingSoon:"Coming Soon"}},community:{badge:"The Community",title:"One style, one map",description:"Every dot is a city where certified Bachata Sensual® instructors teach.",statCountries:"Countries",statCities:"Cities",statInstructors:"Instructors",countriesClaim:"40+",citiesClaim:"100+",instructorsClaim:"1,000+"},howItWorks:{badge:"Simple Process",title:"Three Steps to Certification",description:"Your streamlined path to becoming a certified instructor",steps:[{title:"Choose & Apply",description:"Select your level and session. Complete registration with required materials."},{title:"Get Approved",description:"Submit your evaluation video. Our team reviews and approves qualified candidates."},{title:"Train & Certify",description:"Complete intensive training. Receive your official Bachata Sensual® certification."}]},footer:{brand:"Bachata Sensual Academy",description1:"Bachata Sensual Academy for Bachata Sensual® instructor certification.",description2:"22 years creating a style.\n10 years training those who teach it.",social:{title:"Follow Us",instagram:"Instagram",facebook:"Facebook",youtube:"YouTube"},quickLinks:{title:"Quick Links",browseCourses:"Course Dates",signIn:"Sign In",register:"Register",demo:"Demo Credentials"},contact:{title:"Contact",email:"[email protected]",phone:"+34 623 76 27 81",address:"Calle Modern, num 42. Hospitalet de Llobregat",city:"Barcelona"},copyright:"All rights reserved."},cta:{title1:"Ready to join 1,000+",title2:"certified instructors worldwide?",description:"Limited spots available in upcoming sessions. Secure your place today.",button:"Apply Now"}};function qs(e={}){const{strength:t=.3,distance:a=100,speed:r=200}=e,s=(0,P.useRef)(null),n=(0,P.useRef)(null);return(0,P.useEffect)(()=>{const e=s.current;if(!e)return;if("ontouchstart"in window||navigator.maxTouchPoints>0)return;if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;e.style.transition=`transform ${r}ms cubic-bezier(0.25, 0.46, 0.45, 0.94)`;const i=r=>{n.current&&cancelAnimationFrame(n.current),n.current=requestAnimationFrame(()=>{const s=e.getBoundingClientRect(),n=s.left+s.width/2,i=s.top+s.height/2,o=r.clientX-n,l=r.clientY-i;if(Math.sqrt(o*o+l*l)<a){const r=o/a*t*30,s=l/a*t*30;e.style.transform=`translate(${r}px, ${s}px)`}else e.style.transform="translate(0, 0)"})},o=()=>{n.current&&cancelAnimationFrame(n.current),e.style.transform="translate(0, 0)"};return document.addEventListener("mousemove",i,{passive:!0}),e.addEventListener("mouseleave",o),()=>{n.current&&cancelAnimationFrame(n.current),document.removeEventListener("mousemove",i),e.removeEventListener("mouseleave",o)}},[t,a,r]),s}var Vs="https://d1asynapr1qng1.cloudfront.net/media",Fs=[{filename:"Bachata_sensual_training_course_world_tour.jpg",url:`${Vs}/images/Bachata_sensual_training_course_world_tour.jpg`,title:"Bachata Sensual Academy - World Tour Calendar 2025",description:"Official annual calendar flyer showing all Bachata Sensual® Aca
2demy certification course dates and locations worldwide for 2025. Displays the complete yearly schedule with course dates, cities, and level information (Level 1 and Level 2) for students to plan their training journey.",alt:"Bachata Sensual Training Course World Tour 2025 - Annual calendar with all course dates and locations",tags:["calendar","schedule","world-tour","2025","branding"],subjects:["Calendar","World Tour","Schedule"],type:"image"},{filename:"hero_poster.jpg",url:`${Vs}/images/hero_poster.jpg`,title:"Hero Video Poster - Korke y Judith Performance",description:"Poster frame extracted from Korke y Judith Matame performance video. Used as placeholder while video loads to improve LCP.",alt:"Korke and Judith dancing Bachata Sensual",tags:["video-poster","hero","performance","lcp"],subjects:["Korke","Judith"],type:"image"}],Us=[{minWidth:1024,label:"1080p",av1:`${Vs}/videos/hero/hero_1080_av1.webm`,h264:`${Vs}/videos/hero/hero_1080_h264.mp4`},{minWidth:640,label:"720p",av1:`${Vs}/videos/hero/hero_720_av1.webm`,h264:`${Vs}/videos/hero/hero_720_h264.mp4`},{minWidth:0,label:"480p",av1:`${Vs}/videos/hero/hero_480_av1.webm`,h264:`${Vs}/videos/hero/hero_480_h264.mp4`}],Hs={avif:`${Vs}/images/world_tour.avif`,webp:`${Vs}/images/world_tour.webp`,jpg:`${Vs}/images/Bachata_sensual_training_course_world_tour.jpg`,width:1080,height:1350},Ws=`${Vs}/images/hero_poster_1080.jpg`,Js=[{filename:"Korke_y_Judith_Matame_final_mobile_v2.mp4",url:`${Vs}/videos/Korke_y_Judith_Matame_final_mobile_v2.mp4`,title:"Korke y Judith - Matame Performance (Hero Loop)",description:"20-second loop of the Matame performance, re-encoded at CRF 28 with no audio. 480p (854x480), 1.6 MB. Used as hero background behind dark overlays.",alt:"Korke and Judith Matame performance video",tags:["performance","matame","horizontal","hero-mobile","mobile"],subjects:["Korke","Judith"],type:"video"},{filename:"Korke_y_judith_logo.mp4",url:`${Vs}/videos/Korke_y_judith_logo.mp4`,title:"Korke y Judith - Logo Animation (Desktop)",description:"Branding video featuring Korke and Judith. Vertical format (1080x1920) for desktop hero.",alt:"Korke and Judith logo animation branding video - desktop quality",tags:["branding","logo","fullscreen","de
2sktop"],subjects:["Korke","Judith"],type:"video"},{filename:"Korke_y_judith_logo_mobile.mp4",url:`${Vs}/videos/Korke_y_judith_logo_mobile.mp4`,title:"Korke y Judith - Logo Animation (Mobile)",description:"Mobile-optimized branding video. Vertical format (480x854), optimized for mobile bandwidth (86% smaller file size).",alt:"Korke and Judith logo animation branding video - mobile optimized",tags:["branding","logo","mobile"],subjects:["Korke","Judith"],type:"video"}],Ks=`${Vs}/logos/nav_logo_dark_96.png`,Ys=`${Vs}/logos/wordmark_dark_96.png`,Qs=e=>[...Fs,...Js].filter(t=>t.tags.includes(e)),Gs=(0,P.lazy)(()=>z(()=>import("./CommunityMap-PxUWpNvI.js"),__vite__mapDeps([0,1,2,3,4,5]))),Xs=[{date:"March 13-15, 2026",startsOn:"2026-03-13",endsOn:"2026-03-15",location:"Barcelona, Spain",city:"Barcelona",country:"ES",levels:["Level 1"]},{date:"May 29-31, 2026",startsOn:"2026-05-29",endsOn:"2026-05-31",location:"Barcelona, Spain",city:"Barcelona",country:"ES",levels:["Level 2"]},{date:"June 12-14, 2026",startsOn:"2026-06-12",endsOn:"2026-06-14",location:"Barcelona, Spain",city:"Barcelona",country:"ES",levels:["Level 1"]},{date:"July 23-26, 2026",startsOn:"2026-07-23",endsOn:"2026-07-26",location:"NYC, USA",city:"New York",country:"US",levels:["Level 1","Level 2"]},{date:"July 31 - August 2, 2026",startsOn:"2026-07-31",endsOn:"2026-08-02",location:"Costa Rica",city:"Costa Rica",country:"CR",levels:["Level 1"]},{date:"October 9-11, 2026",startsOn:"2026-10-09",endsOn:"2026-10-11",location:"Barcelona, Spain",city:"Barcelona",country:"ES",levels:["Level 1"]},{date:"November 27-29, 2026",startsOn:"2026-11-27",endsOn:"2026-11-29",location:"Kuala Lumpur, Malaysia",city:"Kuala Lumpur",country:"MY",levels:["Level 1"]}],Zs=()=>{const e=new Date;return new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()},en=e=>{L("landing_cta_click",{placement:e})},tn=(e,t)=>{const[a,r,s]=e.endsOn.split("-").map(Number);return new Date(a,r-1,s).getTime()<t},an=()=>{const[e,t]=(0,P.useState)(!1),a=(0,P.useMemo)(Zs,[]);return(0,va.jsx)("div",{className:"mb-8 flex justify-center",children:(0,va.jsx)("div",{className:"group relative w-full max-w-3xl",style:{perspective:"1200px"},children:(0,va.jsxs)("div",{className:"relative transition-transform duration-700 ease-out",style:{transformStyle:"preserve-3d",transform:e?"rotateY(180deg)":"rotateY(0deg)"},children:[(0,va.jsx)("div",{className:"overflow-hidden rounded-xl border border-white/10 shadow-2xl hover:border-brand-red/30 "+(e?"invisible":"visible"),style:{backfaceVisibility:"hidden",WebkitBackfaceVisibility:"hidden"},onClick:()=>t(!0),onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),t(!0))},role:"button",tabIndex:e?-1:0,"aria-label":"View course dates and times",children:(0,va.jsxs)("div",{className:"relative cursor-pointer",children:[(0,va.jsxs)("picture",{children:[(0,va.jsx)("source",{srcSet:Hs.avif,type:"image/avif"}),(0,va.jsx)("source",{srcSet:Hs.webp,type:"image/webp"}),(0,va.jsx)("img",{src:Hs.jpg,alt:Qs("world-tour")[0]?.alt||"Bachata Sensual Training Course World Tour",width:Hs.width,height:Hs.height,className:"h-auto w-full",loading:"lazy",decoding:"async",style:{WebkitBackfaceVisibility:"hidden",backfaceVisibility:"hidden"}})]}),!e&&(0,va.jsx)("div",{className:"absolute bottom-4 left-1/2 z-20 -translate-x-1/2 md:hidden",children:(0,va.jsxs)("div",{className:"flex animate-pulse items-center gap-2 rounded-full bg-red-600 px-4 py-2 text-sm font-medium text-white shadow-lg",children:[(0,va.jsx)("span",{children:"Tap to flip"}),(0,va.jsx)("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,va.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})})]})}),(0,va.jsx)("div",{className:"absolute inset-0 hidden items-end justify-center bg-gradient-to-t from-black/80 via-black/20 to-transparent p-6 opacity-0 transition-opacity duration-300 group-hover:opacity-100 md:flex",children:(0,va.jsxs)(wa,{variant:"brand-outline",onClick:e=>{e.stopPropagation(),t(!0)},className:"group/flip",size:"sm",children:[(0,va.jsx)("span",{children:"View Course Dates & Times"}),(0,va.jsx)("svg",{className:"ml-2 h-4 w-4 transition-transform group-hover/flip:rotate-180",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,va.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})})]})})]})}),(0,va.jsx)("div",{className:"absolute inset-0 top-0 overflow-y-auto rounded-xl border border-white/10 bg-black shadow-2xl "+(e?"visible":"invisible"),style:{backfaceVisibility:"hidden",WebkitBackfaceVisibility:"hidden",transform:"rotateY(180deg)",filter:"none"},children:(0,va.jsxs)("div",{className:"flex min-h-full flex-col",children:[(0,va.jsxs)("div",{className:"sticky top-0 z-10 bg-black pb-4 pt-5 text-center md:pt-6",children:[(0,va.jsx)("h3",{className:"mb-2 font-serif text-2xl font-bold text-white md:text-3xl",children:"2026 World Tour Dates"}),(0,va.jsx)("p",{className:"font-sans text-xs uppercase tracking-widest text-brand-red-text md:text-sm",children:"Bachata Sensual® Certification Courses"})]}),(0,va.jsx)("div",{className:"space-y-3 px-5 md:space-y-4 md:px-6",children:Xs.map((e,t)=>{const r=tn(e,a);return(0,va.jsx)("div",{className:"group relative overflow-hidden rounded-lg border border-white/10 bg-white/5 p-3.5 transition-all duration-300 md:p-4 "+(r?"opacity-50":"hover:border-brand-red/30 hover:bg-white/10"),children:(0,va.jsxs)("div",{className:"flex items-start gap-3 md:gap-4",children:[(0,va.jsx)("div",{className:"flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-full font-serif text-base font-bold text-white md:h-12 md:w-12 md:text-lg "+(r?"bg-white/15":"bg-brand-red"),children:t+1}),(0,va.jsxs)("div",{className:"flex flex-1 flex-col gap-1.5",children:[(0,va.jsxs)("p",{className:"font-sans text-base font-semibold md:text-lg "+(r?"text-text-muted line-through":"text-white"),children:[r&&(0,va.jsx)("span",{className:"sr-only",children:"Completed: "}),e.date]}),(0,va.jsxs)("div",{className:"flex items-center gap-2 md:gap-3",children:[(0,va.jsx)("p",{className:"text-text-muted font-sans text-sm md:text-base",children:e.location}),(0,va.jsx)("div",{className:"flex gap-1.5",children:e.levels.map((e,t)=>(0,va.jsx)(gr,{variant:"neutral",size:"sm",className:"px-2 py-0.5 text-[10px] md:text-xs",children:e},t))})]})]})]})},t)})}),(0,va.jsxs)(wa,{variant:"toggle",onClick:()=>t(!1),className:"group/flip sticky bottom-0 mx-5 mt-4 w-auto py-3 text-base md:mx-6 md:mt-5 md:text-lg","aria-label":"Go back to world tour 
2calendar image",children:[(0,va.jsx)("svg",{className:"mr-2 h-5 w-5 transition-transform group-hover/flip:rotate-180 md:h-6 md:w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,va.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),(0,va.jsx)("span",{children:"Back to Calendar"})]})]})})]})})})},rn=()=>{const[e,t]=(0,P.useState)(!1),a=Bs;return(0,P.useEffect)(()=>{const e=()=>{const e=window.scrollY>50;t(t=>t===e?t:e)};return e(),window.addEventListener("scroll",e,{passive:!0}),()=>window.removeEventListener("scroll",e)},[]),(0,va.jsx)("nav",{"aria-label":"Main",className:"fixed left-0 right-0 top-0 z-50 border-b transition-all duration-300 "+(e?"border-white/10 bg-black/80 shadow-lg backdrop-blur-xl":"border-white/5 bg-black/20 backdrop-blur-sm"),children:(0,va.jsx)("div",{className:"px-6 py-3 md:px-8 md:py-4 lg:px-12",children:(0,va.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,va.jsxs)("a",{href:"#top",className:"flex flex-shrink-0 items-center gap-2.5","aria-label":"Back to top",children:[(0,va.jsx)("img",{src:Ks,alt:"",width:27,height:32,className:"h-8 w-auto",loading:"eager",decoding:"async"}),(0,va.jsx)("span",{className:"text-text-muted hidden text-xs uppercase tracking-wider transition-colors hover:text-white sm:inline",children:a.nav.brand})]}),(0,va.jsx)("div",{className:"hidden items-center gap-6 md:flex",children:a.nav.sections.map(e=>(0,va.jsx)("a",{href:`#${e.id}`,className:"text-text-muted font-sans text-sm transition-colors hover:text-white",children:e.label},e.id))}),(0,va.jsxs)("div",{className:"flex flex-shrink-0 items-center gap-3",children:[(0,va.jsx)(Ft,{to:"/login",children:(0,va.jsx)(wa,{variant:"ghost",size:"sm",children:a.nav.signIn})}),(0,va.jsx)(Ft,{to:"/register",onClick:()=>en("nav"),children:(0,va.jsx)(wa,{variant:"brand-outline",size:"sm",children:a.nav.getStarted})})]})]})})})},sn=()=>{const e=(0,P.useMemo)(()=>{return e="undefined"==typeof window?1920:window.innerWidth,Us.find(t=>e>=t.minWidth)??Us[Us.length-1];var e},[]),[t,a]=(0,P.useState)(!1);return(0,P.useEffect)(()=>{const e=window.matchMedia("(prefers-reduced-motion: reduce)").matches,t=navigator.connection,r=!0===t?.saveData||void 0!==t?.effectiveType&&["slow-2g","2g","3g"].includes(t.effectiveType);a(!e&&!r)},[]),t?(0,va.jsx)("div",{className:"absolute inset-0 z-0",children:(0,va.jsxs)("video",{autoPlay:!0,loop:!0,muted:!0,playsInline:!0,disablePictureInPicture:!0,disableRemotePlayback:!0,preload:"metadata",poster:Ws,className:"h-full w-full object-cover opacity-70","aria-hidden":"true",children:[(0,va.jsx)("source",{src:e.av1,type:"video/webm; codecs=av01.0.05M.08"}),(0,va.jsx)("source",{src:e.h264,type:"video/mp4"})]},e.label)}):(0,va.jsx)("div",{className:"absolute inset-0 z-0",children:(0,va.jsx)("img",{src:Ws,alt:"",fetchpriority:"high",decoding:"async",className:"h-full w-full object-cover opacity-70","aria-hidden":"true"})})};function nn(){const[e,t]=(0,P.useState)(new Set),[a,r]=(0,P.useState)(!1),[s,n]=(0,P.useState)(!1),i=(0,P.useRef)(null),o=qs({strength:.25,distance:150}),l=qs({strength:.25,distance:150}),c=(0,P.useMemo)(()=>Bs,[]),[d]=(0,P.useState)(()=>"undefined"!=typeof window&&"IntersectionObserver"in window&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches),u=t=>!d||e.has(t),m=(0,P.useCallback)(e=>{e.forEach(e=>{e.isIntersecting&&t(t=>new Set(t).add(e.target.id))})},[]);(0,P.useEffect)(()=>{if(d)return i.current=new IntersectionObserver(m,{threshold:.1,rootMargin:"0px 0px -100px 0px"}),document.querySelectorAll("[data-section]").forEach(e=>{i.current&&i.current.observe(e)}),()=>{i.current&&i.current.disconnect()}},[m,d]),(0,P.useEffect)(()=>{const e=Ds.baseUrl,t={"@type":"EducationalOrganization",name:"Bachata Sensual® Academy",url:`${e}/`},a=Zs(),r=Xs.filter(e=>!tn(e,a)),s=[{level:"Level 1",name:"Bachata Sensual® Instructor Certification - Level 1",description:"Official Level 1 instructor certification course by Korke & Judith.",educationalLevel:"Beginner to Intermediate"},{level:"Level 2",name:"Bachata Sensual® Instructor Certification - Level 2",description:"Advanced Level 2 instructor certification for approved Level 1 graduates.",educationalLevel:"Advanced"}].map(({level:e,...a})=>{const s=(e=>r.filter(t=>t.levels.includes(e)).map(e=>({"@type":"CourseInstance",courseMode:"onsite",startDate:e.startsOn,endDate:e.endsOn,location:{"@type":"Place",address:{"@type":"PostalAddress",addressLocality:e.city,addressCountry:e.country}}})))(e);return{"@context":"https://schema.org","@type":"Course",...a,provider:t,...s.length>0?{hasCourseInstance:s}:{}}}),n={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:`${e}/`},{"@type":"ListItem",position:2,name:"Certification Programs",item:`${e}/#certification-levels`}]},i="course-structured-data",o="breadcrumb-structured-data";
2s.forEach((e,t)=>{const a=document.createElement("script");a.id=`${i}-${t}`,a.type="application/ld+json",a.text=JSON.stringify(e),document.head.appendChild(a)});const l=document.createElement("script");return l.id=o,l.type="application/ld+json",l.text=JSON.stringify(n),document.head.appendChild(l),()=>{s.forEach((e,t)=>{document.getElementById(`${i}-${t}`)?.remove()}),document.getElementById(o)?.remove()}},[]);const h=(0,P.useCallback)(()=>{r(window.scrollY>800)},[]);return(0,P.useEffect)(()=>{let e=null;const t=()=>{null===e&&(e=window.setTimeout(()=>{h(),e=null},100))};return window.addEventListener("scroll",t,{passive:!0}),()=>{window.removeEventListener("scroll",t),null!==e&&clearTimeout(e)}},[h]),(0,va.jsxs)("div",{id:"top",className:"bg-page-gradient min-h-[100svh] pb-24 lg:pb-0",children:[(0,va.jsx)(zs,{title:"Bachata Sensual® Academy - Official Instructor Certification Program",description:"Learn from the creators Korke & Judith. Join 1,000+ certified instructors in 40+ countries. Official Bachata Sensual instructor certification program.",canonical:`${Ds.baseUrl}/`,keywords:"Bachata Sensual, Bachata certification, dance instructor certification, Korke and Judith, Bachata Academy, dance education, instructor training, bachata teacher course"}),(0,va.jsx)($r,{}),(0,va.jsx)(rn,{}),(0,va.jsxs)("section",{className:"relative flex min-h-[100svh] items-center overflow-hidden text-white",children:[(0,va.jsx)(sn,{}),(0,va.jsx)("div",{className:"absolute inset-0 z-[2] bg-[linear-gradient(rgba(255,255,255,0.03)_1px,transparent_1px),linear-gradient(90deg,rgba(255,255,255,0.03)_1px,transparent_1px)] bg-[size:64px_64px]"}),(0,va.jsxs)("div",{className:"absolute inset-0 z-[3]",children:[(0,va.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/60 via-black/40 to-black/50 md:from-black/50 md:via-black/30 md:to-black/40"}),(0,va.jsx)("div",{className:"bg-radial-gradient absolute inset-0 from-transparent to-black/30"})]}),(0,va.jsx)("div",{className:"relative z-10 w-full pb-16 pt-32 md:py-24",children:(0,va.jsxs)("div",{className:"flex min-h-[60vh] w-full flex-col items-center justify-center px-4 text-center sm:px-6 md:px-12 lg:px-16",children:[(0,va.jsx)("div",{className:"animate-scale-in mb-3",children:(0,va.jsx)(gr,{variant:"neutral",size:"md",className:"text-xs backdrop-blur-sm transition-all duration-300 hover:border-brand-red/30 md:text-sm",children:c.hero.badge})}),(0,va.jsxs)("h1",{className:"animate-reveal-text mx-auto mb-3 max-w-4xl font-serif font-normal leading-none",children:[(0,va.jsxs)("span",{className:"block text-4xl tracking-tight text-white drop-shadow-2xl md:text-5xl lg:text-6xl",children:[c.hero.title,(0,va.jsx)("sup",{className:"ml-0.5 align-super font-serif text-xs md:text-sm",children:"®"})]}),(0,va.jsx)("span",{className:"text-text-muted mt-2 block font-sans text-xl font-light tracking-wide md:text-2xl lg:text-3xl",children:c.hero.subtitle})]}),(0,va.jsx)("p",{className:"mx-auto mb-4 max-w-lg font-sans text-base font-light leading-relaxed tracking-wide text-white/90 drop-shadow-xl md:text-lg",children:c.hero.description1}),(0,va.jsx)("p",{className:"text-text-muted mx-auto mb-8 max-w-xl font-sans text-sm font-light leading-relaxed drop-shadow-lg md:text-base",children:c.hero.description2}),(0,va.jsx)("div",{ref:o,className:"animate-scale-in flex justify-center",children:(0,va.jsx)(Ft,{to:"/register",onClick:()=>en("hero"),children:(0,va.jsx)(wa,{variant:"brand-outline",size:"lg",children:c.hero.button})})}),(0,va.jsx)("div",{className:"mt-16 grid grid-cols-1 gap-8 sm:mt-20 sm:grid-cols-3 sm:gap-12 md:gap-20 lg:gap-32",children:[c.stats.countries,c.stats.years,c.stats.instructors].map((e,t)=>(0,va.jsxs)("div",{className:"transform text-center transition-transform duration-300 hover:scale-110 "+(1===t?"border-white/10 sm:border-l sm:border-r":""),children:[(0,va.jsx)(Or,{end:e.value,suffix:e.suffix,className:"animate-gradient-x mb-2 bg-gradient-to-r from-white via-gray-300 to-gray-400 bg-clip-text text-3xl font-bold text-transparent md:text-4xl"}),(0,va.jsx)("div",{className:"text-text-muted text-sm",children:e.label})]},e.label))})]})}),(0,va.jsx)("div",{className:"animate-float absolute bottom-8 left-1/2 -translate-x-1/2 opacity-60 transition-opacity duration-300 hover:opacity-100","aria-hidden":"true",children:(0,va.jsx)("svg",{className:"h-6 w-6 text-white",f
2ill:"none",viewBox:"0 0 24 24",stroke:"currentColor","aria-hidden":"true",children:(0,va.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 14l-7 7m0 0l-7-7m7 7V3"})})})]}),(0,va.jsx)("section",{id:"why-choose-us","data-section":!0,className:"relative scroll-mt-20 overflow-hidden bg-black py-24 transition-all duration-1000 lg:py-32 "+(u("why-choose-us")?"translate-y-0 opacity-100":"translate-y-10 opacity-0"),children:(0,va.jsxs)("div",{className:"relative z-10 px-4 sm:px-6 md:px-12 lg:px-16",children:[(0,va.jsxs)("div",{className:"mb-12 text-center md:mb-16",children:[(0,va.jsx)(gr,{variant:"primary",size:"md",className:"mb-6",children:c.why.badge}),(0,va.jsxs)("h2",{className:"mb-6 font-serif text-3xl text-white md:text-5xl lg:text-6xl",children:[c.why.title1,(0,va.jsx)("br",{}),(0,va.jsx)("span",{className:"text-text-muted italic",children:c.why.title2})]})]}),(0,va.jsxs)("div",{className:"mx-auto mb-12 max-w-4xl md:mb-16",children:[(0,va.jsx)("button",{onClick:()=>n(!s),className:"bg-bg-card group w-full rounded-xl border border-white/10 px-6 py-4 text-left transition-all duration-300 hover:border-brand-red/30 hover:shadow-xl hover:shadow-brand-red/5 md:px-8 md:py-5","aria-expanded":s,"aria-controls":"story-content",children:(0,va.jsxs)("div",{className:"flex items-center justify-between",children:[(0,va.jsx)("span",{className:"font-serif text-lg font-semibold text-white md:text-xl",children:c.why.story.title}),(0,va.jsx)(Ra,{className:"h-5 w-5 text-brand-red-text transition-transform duration-300 "+(s?"rotate-180":"")})]})}),(0,va.jsx)("div",{id:"story-content",className:"grid transition-all duration-500 "+(s?"visible grid-rows-[1fr] opacity-100":"invisible grid-rows-[0fr] opacity-0"),children:(0,va.jsx)("div",{className:"overflow-hidden",children:(0,va.jsx)("div",{className:"bg-bg-card mt-4 grid gap-6 rounded-xl border border-white/10 p-6 md:grid-cols-2 md:gap-8 md:p-8",children:c.why.story.sections.map((e,t)=>{const a=[(0,va.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},0),(0,va.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M12 14l9-5-9-5-9 5 9 5z M12 14l6.16-3.422a12.083 12.083 0 01.665 6.479A11.952 11.952 0 0012 20.055a11.952 11.952 0 00-6.824-2.998 12.078 12.078 0 01.665-6.479L12 14z M12 14v6.5"},1)];return(0,va.jsxs)("div",{className:"animate-scale-in group relative",style:{animationDelay:150*t+"ms"},children:[(0,va.jsx)("div",{className:"mb-4 flex h-12 w-12 items-center justify-center",children:(0,va.jsx)("svg",{className:"h-8 w-8 text-brand-red-text transition-transform duration-500 group-hover:rotate-6 group-hover:scale-110",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:a[t]})}),(0,va.jsx)("h3",{className:"mb-3 font-serif text-lg font-semibold text-white transition-colors group-hover:text-brand-red-text md:text-xl",children:e.title}),(0,va.jsx)("p",{className:"text-text-muted text-sm leading-relaxed md:text-base",children:e.description})]},t)})})})})]}),(0,va.jsx)("div",{className:"mx-auto grid max-w-6xl grid-cols-1 gap-6 sm:grid-cols-2 sm:gap-8 lg:grid-cols-3 lg:gap-12",children:c.why.cards.map((e,t)=>{const a=[(0,va.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253"},0),(0,va.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},1),(0,va.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 
20 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},2)];return(0,va.jsx)("div",{className:"animate-scale-in group relative",style:{animationDelay:150*t+"ms"},children:(0,va.jsxs)("div",{className:"bg-bg-card relative h-full rounded-xl border border-white/10 p-8 transition-all duration-500 hover:-translate-y-2 hover:scale-105 hover:border-brand-red/30 hover:shadow-xl hover:shadow-brand-red/5",children:[(0,va.jsx)("div",{className:"mb-6 flex h-12 w-12 items-center justify-center",children:(0,va.jsx)("svg",{className:"h-8 w-8 text-brand-red-text transition-transform duration-500 group-hover:rotate-6 group-hover:scale-110",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:a[t]})}),(0,va.jsx)("h3",{className:"mb-3 font-serif text-xl text-white transition-colors group-hover:text-brand-red-text",children:e.title}),(0,va.jsx)("p",{className:"text-text-muted font-sans text-sm leading-relaxed",children:e.description})]})},t)})})]})}),(0,va.jsx)("section",{id:"community","data-section":!0,className:"relative scroll-mt-20 overflow-hidden bg-black py-20 transition-all duration-1000 lg:py-28 "+(u("community")?"translate-y-0 opacity-100":"translate-y-10 opacity-0"),children:(0,va.jsxs)("div",{className:"relative z-10 px-4 sm:px-6 md:px-12 lg:px-16",children:[(0,va.jsxs)("div",{className:"mb-8 text-center md:mb-14",children:[(0,va.jsx)(gr,{variant:"primary",size:"md",className:"mb-6",children:c.community.badge}),(0,va.jsx)("h2",{className:"mb-6 font-serif text-3xl text-white md:text-5xl lg:text-6xl",children:c.community.title}),(0,va.jsx)("p",{className:"text-text-muted font-sans text-base md:text-lg",children:c.community.description})]}),(0,va.jsxs)("div",{className:"relative mx-auto max-w-6xl",children:[(0,va.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0 -z-10 blur-2xl",style:{background:"radial-gradient(45% 45% at 50% 42%, rgba(207,46,46,0.10), transparent 72%)"}}),(0,va.jsxs)("div",{className:"-mx-4 border-y border-white/[0.07] bg-gradient-to-b from-white/[0.035] to-transparent py-4 sm:mx-0 sm:rounded-2xl sm:border sm:p-5 md:p-6",children:[(0,va.jsx)(P.Suspense,{fallback:(0,va.jsx)("div",{className:"w-full animate-pulse rounded-xl bg-white/[0.03]",style:{aspectRatio:"960 / 470"}}),children:(0,va.jsx)(Gs,{})}),(0,va.jsx)("div",{className:"mt-4 grid grid-cols-3 divide-x divide-white/10 border-t border-white/10 px-4 pt-5 text-center sm:px-0 md:mt-6",children:[{value:c.community.countriesClaim,label:c.community.statCountries},{value:c.community.citiesClaim,label:c.community.statCities},{value:c.community.instructorsClaim,label:c.community.statInstructors}].map(e=>(0,va.jsxs)("div",{children:[(0,va.jsx)("div",{className:"font-serif text-2xl font-bold text-white md:text-3xl",children:e.value}),(0,va.jsx)("div",{className:"text-text-muted mt-1 text-[11px] uppercase tracking-[0.18em] md:text-xs",children:e.label})]},e.label))})]})]})]})}),(0,va.jsx)("section",{id:"how-it-works","data-section":!0,className:"relative scroll-mt-20 overflow-hidden bg-black py-24 transition-all duration-1000 lg:py-32 "+(u("how-it-works")?"translate-y-0 opacity-100":"translate-y-10 opacity-0"),children:(0,va.jsxs)("div",{className:"relative z-10 px-4 sm:px-6 md:px-12 lg:px-16",children:[(0,va.jsxs)("div",{className:"mb-12 text-center md:mb-16",children:[(0,va.jsx)(gr,{variant:"primary",size:"md",className:"mb-6",children:c.howItWorks.badge}),(0,va.jsx)("h2",{className:"mb-6 font-serif text-3xl text-white md:text-5xl lg:text-6xl",children:c.howItWorks.title}),(0,va.jsx)("p",{className:"text-text-muted font-sans text-base md:text-lg",children:c.howItWorks.description})]}),(0,va.jsx)("div",{className:"mx-auto grid max-w-5xl grid-cols-1 gap-6 sm:grid-cols-2 sm:gap-8 lg:grid-cols-3 lg:gap-12",children:c.howItWorks.steps.map((e,t)=>(0,va.jsx)("div",{className:"animate-scale-in group relative",style:{animationDelay:150*t+"ms"},children:(0,va.jsxs)("div",{className:"bg-bg-card relative h-full rounded-xl border border-white/10 p-8 text-center backdrop-blur-sm transition-all duration-500 hover:-translate-y-2 hover:scale-105 hover:border-brand-red/30 hover:shadow-xl hover:shadow-brand-red/5",children:[(0,va.jsx)("div",{className:"mx-auto mb-6 flex h-14 w-14 items-center justify-center rounded-full border border-brand-red/20 bg-brand-red/10 font-serif text-2xl font-bold text-brand-red-text transition-all duration-500 group-hover:scale-110 group-hover:bg-brand-red group-hover:text-white",children:t+1}),(0,va.jsx)("h3",{className:"mb-3 font-serif text-xl text-white transition-colors group-hover:text-brand-red-text",children:e.title}),(0,va.jsx)("p",{className:"text-text-muted whitespace-pre-line font-sans text-sm leading-relaxed",children:e.description})]})},t))})]})}),(0,va.jsx)("section",{id:"certification-levels","data-section":!0,className:"relative scroll-mt-20 bg-black pb-24 pt-12 transition-all duration-1000 lg:pb-32 lg:pt-16 "+(u("certification-levels")?"translate-y-0 opacity-100":"translate-y-10 opacity-0"),children:(0,va.jsxs)("div",{className:"relative z-10 px-4 sm:px-6 md:px-12 lg:px-16",children:[(0,va.jsxs)("div",{className:"mb-12 text-center md:mb-16",children:[(0,va.jsx)(gr,{variant:"primary",size:"md",className:"mb-6",children:c.levels.sectionBadge}),(0,va.jsx)("h2",{className:"mb-6 font-serif text-3xl text-white md:text-5xl lg:text-6xl",children:c.levels.sectionTitle}),(0,va.jsx)("p",{className:"text-text-muted font-sans text-base md:text-lg",children:c.levels.sectionDescription})]}),(0,va.jsx)(an,{}),(0,va.jsx)("div",{className:"mx-auto max-w-4xl",children:(0,va.jsxs)("div",{className:"bg-bg-card rounded-xl border border-white/10 p-8 md:p-10",children:[(0,va.jsx)("div",{className:"mb-6 text-center",children:(0,va.jsx)("p",{className:"font-sans text-sm font-semibold text-brand-red-text md:text-base",children:"Level 2 only applicable for approved Level 1 graduates"})}),(0,va.jsx)("div",{className:"mb-6 space-y-4 text-center",children:(0,va.jsx)("p",{className:"text-text-muted font-sans text-sm leading-relaxed md:text-base",children:"Before you can apply to any course, we must certify your level. Complete your application by submitting your video to unlock registration for all Level 1 courses shown below. Once your video has been reviewed, you will be able to register for the course of your choice."})}),(0,va.jsx)("div",{className:"border-t border-white/10 pt-6",children:(0,va.jsxs)("div",{className:"flex items-start gap-3",children:[(0,va.jsx)("div",{className:"mt-1 flex-shrink-0",children:(0,va.jsx)("svg",{className:"h-5 w-5 text-brand-red-text",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,va.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}),(0,va.jsxs)("div",{className:"flex-1",children:[(0,va.jsx)("p",{className:"mb-2 font-sans text-sm font-semibold text-white",children:"Important Notice"}),(0,va.jsx)("p",{className:"text-text-muted font-sans text-xs leading-relaxed md:text-sm",children:"Your course registration is not confirmed until you reach the final approval stage. Please do not make travel arrangements (flights, hotels, etc.) until you receive official confirmation. We are not responsible for any expenses incurred before final approval."})]})]})})]})}),(0,va.jsx)("div",{className:"mt-8 flex justify-center",children:(0,va.jsx)(Ft,{to:"/register",onClick:()=>en("programs"),children:(0,va.jsxs)(wa,{variant:"brand-outline",size:"lg",children:[c.ctaLabel,(0,va.jsx)(ka,{className:"ml-2 h-5 w-5"})]})})})]})}),(0,va.jsxs)("section",{id:"cta","data-section":!0,className:"relative scroll-mt-20 overflow-hidden bg-black py-32 transition-all duration-1000 lg:py-40 "+(u("cta")?"translate-y-0 opacity-100":"translate-y-10 opacity-0"),children:[(0,va.jsx)(Ts,{variant:"pulse"}),(0,va.jsx)("div",{className:"relative z-10 px-4 sm:px-6 md:px-12 lg:px-16",children:(0,va.jsxs)("div",{className:"w-full text-center",children:[(0,va.jsxs)("h2",{className:"animate-reveal-text mb-6 font-serif text-3xl leading-tight md:text-6xl lg:text-7xl",children:[(0,va.jsx)("span",{className:"block text-white",children:c.cta.title1}),(0,va.jsx)("span",{className:"text-text-muted block italic",children:c.cta.title2})]}),(0,va.jsx)("p",{className:"animate-scale-in text-text-muted mx-auto mb-12 max-w-2xl font-sans text-base leading-relaxed md:text-xl",style:{animationDelay:"200ms"},children:c.cta.description}),(0,va.jsx)("div",{ref:l,className:"animate-scale-in flex justify-center",style:{animationDelay:"400ms"},children:(0,va.jsx)(Ft,{to:"/register",onClick:()=>en("final"),children:(0,va.jsxs)(wa,{variant:"brand-outline",size:"lg",children:[c.cta.button,(0,va.jsx)(ka,{className:"ml-2 inline-block h-6 w-6 transition-transform group-hover:translate-x-2"})]})})})]})})]}),(0,va.jsx)("footer",{className:"relative border-t border-white/5 bg-black",children:(0,va.jsxs)("div",{className:"relative z-10 px-4 py-12 sm:px-6 md:px-12 md:py-16 lg:px-16",children:[(0,va.jsxs)("div",{className:"mb-8 flex flex-col items-center md:mb-12",children:[(0,va.jsx)("h4",{className:"mb-4 font-sans text-xs font-bold uppercase tracking-widest text-white",children:c.footer.social.title}),(0,va.jsxs)("div",{className:"flex items-center gap-6",children:[(0,va.jsx)("a",{href:Ds.social.instagram,target:"_blank",rel:"noopener noreferrer",className:"text-text-muted transition-colors duration-300 hover:text-brand-red-text","aria-label":c.footer.social.instagram,children:(0,va.jsx)(Ga,{className:"h-6 w-6"})}),(0,va.jsx)("a",{href:Ds.social.facebook,target:"_blank",rel:"noopener noreferrer",className:"text-text-muted transition-colors duration-300 hover:text-brand-red-text","aria-label":c.footer.social.facebook,children:(0,va.jsx)(Fa,{className:"h-6 w-6"})}),(0,va.jsx)("a",{href:Ds.social.youtube,target:"_blank",rel:"noopener noreferrer",className:"text-text-muted transition-colors duration-300 hover:text-brand-red-text","aria-label":c.footer.social.youtube,children:(0,va.jsx)(dr,{className:"h-6 w-6"})})]})]}),(0,va.jsxs)("div",{className:"mb-8 grid grid-cols-1 gap-8 sm:grid-cols-3 sm:gap-10 md:mb-12 md:gap-12",children:[(0,va.jsxs)("div",{children:[(0,va.jsx)("h3",{className:"mb-4 font-serif text-2xl text-white",children:c.footer.brand}),(0,va.jsx)("p",{className:"text-text-muted mb-3 font-sans text-sm leading-relaxed",children:c.footer.description1}),(0,va.jsx)("p",{className:"text-text-muted whitespace-pre-line font-sans text-xs",children:c.footer.description2})]}),(0,va.jsxs)("div",{children:[(0,va.jsx)("h4",{className:"mb-4 font-sans text-xs font-bold uppercase tracking-widest text-white",children:c.footer.quickLinks.title}),(0,va.jsxs)("ul",{className:"space-y-3 font-sans text-sm",children:[(0,va.jsx)("li",{children:(0,va.jsxs)("a",{href:"#certification-levels",className:"text-text-muted group flex items-center gap-2 transition-colors duration-300 hover:text-brand-red-text",children:[(0,va.jsx)("span",{className:"h-1 w-1 rounded-full bg-gray-600 transition-colors group-hover:bg-brand-red"}),c.footer.quickLinks.browseCourses]})}),(0,va.jsx)("li",{children:(0,va.jsxs)(Ft,{to:"/login",className:"text-text-muted group flex items-center gap-2 transition-colors duration-300 hover:text-brand-red-text",children:[(0,va.jsx)("span",{className:"h-1 w-1 rounded-full bg-gray-600 transition-colors group-hover:bg-brand-red"}),c.footer.quickLinks.signIn]})}),(0,va.jsx)("li",{children:(0,va.jsxs)(Ft,{to:"/register",className:"text-text-muted group flex items-center gap-2 transition-colors duration-300 hover:text-brand-red-text",children:[(0,va.jsx)("span",{className:"h-1 w-1 rounded-full bg-gray-600 transition-colors group-hover:bg-brand-red"}),c.footer.quickLinks.register]})})]})]}),(0,va.jsxs)("div",{children:[(0,va.jsx)("h4",{className:"mb-4 font-sans text-xs font-bold uppercase tracking-widest text-white",children:c.footer.contact.title}),(0,va.jsxs)("ul",{className:"text-text-muted space-y-3 font-sans text-sm",children:[(0,va.jsxs)("li",{className:"flex items-start gap-2 transition-colors hover:text-brand-red-text",children:[(0,va.jsx)("svg",{className:"text-text-muted mt-0.5 h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,va.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})}),(0,va.jsx)("a",{href:`mailto:${c.footer.contact.email}`,className:"transition-colors hover:text-brand-red-text",children:c.footer.contact.email})]}),(0,va.jsxs)("li",{className:"flex items-start gap-2 transition-colors hover:text-brand-red-text",children:[(0,va.jsx)("svg",{className:"text-text-muted mt-0.5 h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","aria-hidden":"true",children:(0,va.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 
211.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"})}),(0,va.jsx)("a",{href:`tel:${c.footer.contact.phone.replace(/\s/g,"")}`,className:"transition-colors hover:text-brand-red-text",children:c.footer.contact.phone})]}),(0,va.jsxs)("li",{className:"flex items-start gap-2 transition-colors hover:text-brand-red-text",children:[(0,va.jsxs)("svg",{className:"text-text-muted mt-0.5 h-4 w-4 flex-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","aria-hidden":"true",children:[(0,va.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),(0,va.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]}),(0,va.jsxs)("span",{className:"text-xs",children:[c.footer.contact.address,(0,va.jsx)("br",{}),c.footer.contact.city]})]})]})]})]}),(0,va.jsxs)("div",{className:"border-t border-white/5 pt-8",children:[(0,va.jsxs)("div",{className:"mb-4 flex flex-wrap items-center justify-center gap-4 font-sans text-xs text-white/40",children:[(0,va.jsx)("a",{href:"https://bachatasensual.com/privacy-policy/",target:"_blank",rel:"noopener noreferrer",className:"transition-colors duration-300 hover:text-white/60",children:"Privacy Policy"}),(0,va.jsx)("span",{className:"text-white/20",children:"|"}),(0,va.jsx)("a",{href:"https://bachatasensual.com/aviso-legal/",target:"_blank",rel:"noopener noreferrer",className:"transition-colors duration-300 hover:text-white/60",children:"Legal Notice"}),(0,va.jsx)("span",{className:"text-white/20",children:"|"}),(0,va.jsx)("a",{href:"https://bachatasensual.com/politica-de-cookies/",target:"_blank",rel:"noopener noreferrer",className:"transition-colors duration-300 hover:text-white/60",children:"Cookie Policy"})]}),(0,va.jsxs)("p",{className:"text-text-muted text-center font-sans text-sm",children:["© ",(new Date).getFullYear()," Bachata Sensual®. ",c.footer.copyright]}),(0,va.jsxs)("p",{className:"mt-3 text-center font-sans text-xs text-white/30",children:["Built by"," ",(0,va.jsx)("a",{href:"https://devmellio.com",target:"_blank",rel:"noopener noreferrer",className:"text-white/40 transition-colors duration-300 hover:text-white/60",children:"Devmellio"})]})]})]})}),a&&(0,va.jsx)("div",{className:"animate-slide-up fixed bottom-0 left-0 right-0 z-40 lg:hidden",children:(0,va.jsx)("div",{className:"border-t border-white/10 bg-black/90 p-4 shadow-2xl backdrop-blur-lg",children:(0,va.jsx)(Ft,{to:"/register",className:"block",onClick:()=>en("sticky"),children:(0,va.jsxs)(wa,{variant:"brand-outline",size:"lg",fullWidth:!0,className:"group min-h-[56px] text-base font-semibold shadow-xl",children:[c.ctaLabel,(0,va.jsx)(ka,{className:"ml-2 inline-block h-5 w-5 transition-transform group-hover:translate-x-1"})]})})})})]})}function on(){const e=Je(),t=Ue(),{login:a,isAuthenticated:r}=Qr(),s=t.state?.from,[n,i]=(0,P.useState)(""),[o,l]=(0,P.useState)(""),[c,d]=(0,P.useState)(""),[u,m]=(0,P.useState)(!1),h=(0,P.useRef)();if((0,P.useEffect)(()=>()=>{h.current&&clearTimeout(h.current)},[]),r)return(0,va.jsx)(ct,{to:s||"/dashboard",replace:!0});return(0,va.jsxs)("div",{className:"bg-page-gradient relative min-h-[100svh] overflow-hidden",children:[(0,va.jsx)(zs,{title:"Sign In",description:"Sign in to Bachata Sensual Academy to access your courses, certifications, and instructor training materials.",canonical:`${Ds.baseUrl}/login`}),(0,va.jsx)(Ts,{variant:"subtle"}),(0,va.jsxs)("div",{className:"bg-glassmorphism relative z-10 flex min-h-[100svh] w-full flex-col px-4 sm:px-6 md:px-8 lg:flex-row lg:items-center lg:px-12 xl:px-16",children:[(0,va.jsxs)("div",{className:"animate-reveal-text hidden lg:flex lg:flex-1 lg:flex-col lg:justify-center lg:pr-8 xl:pr-16",children:[(0,va.jsxs)(Ft,{to:"/",className:"mb-4 flex items-center gap-4 xl:mb-6",children:[(0,va.jsx)("img",{src:Ks,alt:"",width:40,height:48,className:"h-12 w-auto"}),(0,va.jsx)("h1",{className:"bg-gradient-to-r from-white via-white to-brand-red bg-clip-text font-serif text-3xl font-bold text-transparent xl:text-5xl",children:"Bachata Sensual Academy"})]}),(0,va.jsx)("p",{className:"text-text-muted mt-3 font-sans xl:mt-4",children:"Official instructor certification, from the creators of Bachata Sensual®."})]}),(0,va.jsxs)("div",{className:"mx-auto flex w-full max-w-md flex-1 flex-col justify-center py-8 sm:py-12 lg:max-w-none lg:border-l lg:border-white/10 lg:py-16 lg:pl-8 xl:pl-16",children:[(0,va.jsxs)("div",{className:"stagger-item mb-6 sm:mb-8 lg:hidden",style:{animationDelay:"0.1s"},children:[(0,va.jsxs)(Ft,{to:"/",className:"flex items-center gap-3",children:[(0,va.jsx)("img",{src:Ks,alt:"",width:27,height:32,className:"h-8 w-auto"}),(0,va.jsx)("h1",{className:"font-serif text-xl font-bold text-white sm:text-2xl",children:"Bachata Sensual Academy"})]}),(0,va.jsx)("p",{className:"text-text-muted mt-2 font-sans text-sm sm:text-base",children:"Sign in to your account"})]}),(0,va.jsxs)("div",{className:"stagger-item mb-8 hidden lg:block xl:mb-12",style:{animationDelay:"0.2s"},children:[(0,va.jsx)("h2",{className:"mb-2 font-serif text-3xl font-bold text-white xl:mb-3 xl:text-4xl",children:"Welcome back"}),(0,va.jsx)("p",{className:"text-text-muted font-sans text-base xl:text-lg",children:"Sign in to continue to your account"})]}),(0,va.jsxs)("form",{onSubmit:async t=>{t.preventDefault(),d(""),m(!0);try{const t=await k.login(n,o);if("challenge_name"in t&&"NEW_PASSWORD_REQUIRED"===t.challenge_name)return L("login_password_challenge",{challenge_type:"NEW_PASSWORD_REQUIRED"}),void e("/change-password-required",{state:{session:t.challenge_session,email:n}});if(!("session_token"in t))throw new Error("Invalid response from server");const r={user_id:t.user_id,email:t.email,first_name:t.first_name,last_name:t.last_name,status:t.status,roles:t.roles,preferred_timezone:t.preferred_timezone,preferred_language_iso:t.preferred_language_iso};a(r,t.session_token,"");const i=t.roles?.some(e=>"ADMINISTRATOR"===e.toUpperCase()||"PSA"===e.toUpperCase())||!1,l=t.roles?.some(e=>"EXAMINER"===e.toUpperCase())||!1;
2L("login_success",{has_roles:t.roles.length>0,is_admin:i,is_examiner:l}),e(s||(i?"/admin/dashboard":l?"/examiner/dashboard":"/dashboard"))}catch(r){const t=r instanceof Error?r.message:"Login failed",a=t.includes("Email not confirmed")||t.includes("verify your email")||t.includes("not verified"),s=t.toLowerCase().includes("deactivated")||t.toLowerCase().includes("account is not active");if(L("login_failed",{error_type:s?"account_deactivated":a?"email_not_verified":"auth_error",error_message:t.slice(0,100)}),s)d("Your account has been deactivated. Please contact support for assistance.");else if(a){d("Please verify your email first. Redirecting you to verification page...");try{sessionStorage.setItem("pending_verification_email",n)}catch{}h.current=setTimeout(()=>{e(`/verify-email?email=${encodeURIComponent(n)}`,{state:{email:n}})},2e3)}else d(t)}finally{m(!1)}},noValidate:!0,"aria-busy":u,className:"w-full max-w-md space-y-4 sm:space-y-6 lg:max-w-lg",children:[(0,va.jsx)(_r,{message:c,className:"stagger-item",style:{animationDelay:"0.3s"}}),(0,va.jsx)("div",{className:"stagger-item",style:{animationDelay:"0.35s"},children:(0,va.jsx)(mr,{label:"Email address",type:"email",name:"email",id:"email",autoComplete:"username",inputMode:"email",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,enterKeyHint:"next",autoFocus:!0,value:n,onChange:e=>i(e.target.value),placeholder:"[email protected]",required:!0,fullWidth:!0})}),(0,va.jsxs)("div",{className:"stagger-item",style:{animationDelay:"0.4s"},children:[(0,va.jsx)(mr,{label:"Password",type:"password",name:"password",id:"password",autoComplete:"current-password",enterKeyHint:"go",value:o,onChange:e=>l(e.target.value),placeholder:"••••••••",required:!0,fullWidth:!0,showPasswordToggle:!0}),(0,va.jsx)("div",{className:"mt-2 text-right",children:(0,va.jsx)(Ft,{to:"/forgot-password",className:"inline-block font-sans text-xs text-brand-red-text transition-all duration-300 hover:translate-x-1 hover:text-white",children:"Forgot password?"})})]}),(0,va.jsx)("div",{className:"stagger-item",style:{animationDelay:"0.45s"},children:(0,va.jsx)(wa,{type:"submit",loading:u,fullWidth:!0,size:"lg",variant:"brand-outline",children:u?"Signing in...":"Sign in"})})]}),(0,va.jsxs)("div",{className:"stagger-item mt-6 w-full max-w-md 
2space-y-3 sm:mt-8 sm:space-y-4 lg:max-w-lg",style:{animationDelay:"0.5s"},children:[(0,va.jsxs)("p",{className:"text-text-muted font-sans text-xs sm:text-sm",children:["Don't have an account?"," ",(0,va.jsx)(Ft,{to:"/register",className:"inline-block font-medium text-brand-red-text transition-all duration-300 hover:translate-x-1 hover:text-white",children:"Sign up"})]}),(0,va.jsxs)("p",{className:"text-text-muted font-sans text-xs sm:text-sm",children:["Need to verify your email?"," ",(0,va.jsx)(Ft,{to:"/verify-email",className:"inline-block font-medium text-brand-red-text transition-all duration-300 hover:translate-x-1 hover:text-white",children:"Enter verification code"})]})]})]})]}),(0,va.jsxs)("p",{className:"mt-4 text-center font-sans text-xs text-white/30",children:["Built by"," ",(0,va.jsx)("a",{href:"https://devmellio.com",target:"_blank",rel:"noopener noreferrer",className:"text-white/40 transition-colors duration-300 hover:text-white/60",children:"Devmellio"})]})]})}function ln(e){const t={minLength:e.length>=8,hasLowercase:/[a-z]/.test(e),hasUppercase:/[A-Z]/.test(e),hasNumber:/[0-9]/.test(e)},a=[];t.minLength||a.push("at least 8 characters"),t.hasLowercase||a.push("a lowercase letter"),t.hasUppercase||a.push("an uppercase letter"),t.hasNumber||a.push("a number");const r=Object.values(t).every(Boolean);let s;const n=Object.values(t).filter(Boolean).length;return s=0===e.length?{strength:0,label:"",color:""}:4===n&&e.length>=16?{strength:100,label:"Strong",color:"bg-green-500"}:4===n&&e.length>=12?{strength:75,label:"Good",color:"bg-blue-500"}:n>=3||4===n&&e.length>=8?{strength:50,label:"Fair",color:"bg-amber-500"}:{strength:25,label:"Weak",color:"bg-red-500"},{isValid:r,requirements:t,missingRequirements:a,strength:s}}function cn(e,t){return!(!e||!t||e!==t)}function dn(e){if(!e||!e.trim())return{isValid:!0};let t=e.trim().replace(/[\s\-()]/g,"");if(t.startsWith("+")||(t="+"+t),!/^\+\d{10,15}$/.test(t)){const e=t.slice(1);return/^\d+$/.test(e)?e.length<10?{isValid:!1,error:"Phone number must be at least 10 digits (e.g., +17205305571 for US)"}:e.length>15?{isValid:!1,error:"Phone number must not exceed 15 digits"}:{isValid:!1,error:"Phone number must be in E.164 format (e.g., +17205305571)"}:{isValid:!1,error:"Phone number can only contain digits"}}return{isValid:!0,cleanedPhone:t}}function un(e,t="Name"){if(!e||!e.trim())return{isValid:!1,error:`${t} is required`};const a=e.trim();return a.length>60?{isValid:!1,error:`${t} must not exceed 60 characters`}:/^[\p{L}\s\-'.]+$/u.test(a)?/\p{L}/u.test(a)?/\s{2,}/.test(a)||/-{2,}/.test(a)?{isValid:!1,error:`${t} cannot contain consecutive spaces or hyphens`}:{isValid:!0}:{isValid:!1,error:`${t} must contain at least one letter`}:{isValid:!1,error:`${t} can only contain letters, spaces, hyphens, apostrophes, and periods`}}function mn(e){return e.trim().replace(/\s+/g," ")}function hn(e){const t=e.trim();return t?t.startsWith("https://meet.google.com/")?{isValid:!0}:{isValid:!1,error:"Google Meet link must start with https://meet.google.com/"}:{isValid:!0}}function pn(){const e=Je(),[t,a]=(0,P.useState)({email:"",firstName:"",lastName:"",phoneNumber:"",password:"",confirmPassword:""}),[r,s]=(0,P.useState)(!1),[n,i]=(0,P.useState)([]),[o,l]=(0,P.useState)(!1),c=e=>{a({...t,[e.target.name]:e.target.value})},d=ln(t.password),u=cn(t.password,t.confirmPassword);return(0,va.jsxs)("div",{className:"bg-page-gradient relative min-h-[100svh] overflow-hidden",children:[(0,va.jsx)(zs,{title:"Register",description:"Create your Bachata Sensual Academy account. Join the official instructor certification program and start your dance teaching career.",canonical:`${Ds.baseUrl}/register`,keywords:"bachata sensual registration, dance instructor signup, bachata certification enroll"}),(0,va.jsx)(Ts,{variant:"intense"}),(0,va.jsxs)("div",{className:"bg-glassmorphism relative z-10 flex min-h-[100svh] w-full flex-col px-4 sm:px-6 md:px-8 lg:flex-row lg:items-center lg:px-12 xl:px-16",children:[(0,va.jsxs)("div",{className:"animate-reveal-text hidden lg:flex lg:flex-1 lg:flex-col lg:justify-center lg:pr-8 xl:pr-16",children:[(0,va.jsxs)(Ft,{to:"/",className:"mb-4 flex items-center gap-4 xl:mb-6",children:[(0,va.jsx)("img",{src:Ks,alt:"",width:40,height:48,className:"h-12 w-auto"}),(0,va.jsx)("h1",{className:"bg-gradient-to-r from-white via-white to-brand-red bg-clip-text font-serif text-3xl font-bold text-transparent xl:text-5xl",children:"Bachata Sensual Academy"})]}),(0,va.jsx)("p",{className:"text-text-muted mt-3 font-sans xl:mt-4",children:"Join thousands of students worldwide"})]}),(0,va.jsxs)("div",{className:"mx-auto flex w-full max-w-md flex-1 flex-col justify-center py-8 sm:py-12 lg:max-w-none lg:border-l lg:border-white/10 lg:py-16 lg:pl-8 xl:pl-16",children:[(0,va.jsxs)("div",{className:"stagger-item mb-6 sm:mb-8 lg:hidden",style:{animationDelay:"0.1s"},children:[(0,va.jsxs)(Ft,{to:"/",className:"flex items-center gap-3",children:[(0,va.jsx)("img",{src:Ks,alt:"",width:27,height:32,className:"h-8 w-auto"}),(0,va.jsx)("h1",{className:"font-serif text-xl font-bold text-white sm:text-2xl",children:"Bachata Sensual Academy"})]}),(0,va.jsx)("p",{className:"text-text-muted mt-2 font-sans text-sm sm:text-base",children:"Create your account"})]}),(0,va.jsxs)("div",{className:"stagger-item mb-8 hidden lg:block xl:mb-12",style:{animationDelay:"0.2s"},children:[(0,va.jsx)("h2",{className:"mb-2 font-serif text-3xl font-bold text-white xl:mb-3 xl:text-4xl",children:"Get started"}),(0,va.jsx)("p",{className:"text-text-muted font-sans text-base xl:text-lg",children:"Create your account to continue"})]}),(0,va.jsxs)("form",{onSubmit:async a=>{a.preventDefault();const s=[],n=function(e){const t=(e||"").trim();return t?/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(t)?{isValid:!0}:{isValid:!1,error:"Enter a valid email address, for example [email protected]"}:{isValid:!1,error:"Email address is required"}}(t.email);n.isValid||s.push(n.error);const o=un(t.firstName,"First name");o.isValid||s.push(o.error);const c=un(t.lastName,"Last name");c.isValid||s.push(c.error);const d=ln(t.password);let u;if(d.isValid||s.push(`Password must include: ${d.missingRequirements.join(", ")}`),t.password!==t.confirmPassword&&s.push("Passwords do not match"),t.phoneNumber&&t.phoneNumber.trim()){const e=dn(t.phoneNumber);e.isValid?u=e.cleanedPhone:s.push(e.error)}if(r||s.push("Please accept the Privacy Policy to create an account"),i(s),s.length>0)return;l(!0),L("registration_started",{});const m=mn(t.firstName),h=mn(t.lastName);try{const a=(new Date).toISOString();await k.register(t.email,t.password,m,h,u,a);try{sessionStorage.setItem("pending_verification_email",t.email)}catch{console.warn("sessionStorage unavailable, using route state and URL param")}L("registration_success",{has_phone:!!u}),ua.success("Account created! Check your email for verification code.");const r=encodeURIComponent(t.email);e(`/verify-email?email=${r}`,{state:{email:t.email,message:"Registration successful! Please check your email for the verification code."}})}catch(p){const e=p instanceof Error?p.message:"Registration failed";L("registration_failed",{error_message:e.slice(0,100)}),i([e])}finally{l(!1)}}
2,noValidate:!0,"aria-busy":o,className:"w-full max-w-md space-y-4 sm:space-y-6 lg:max-w-lg",children:[(0,va.jsx)(_r,{messages:n,className:"stagger-item",style:{animationDelay:"0.3s"}}),(0,va.jsx)("div",{className:"stagger-item",style:{animationDelay:"0.35s"},children:(0,va.jsx)(mr,{label:"Email address",type:"email",name:"email",id:"email",autoComplete:"email",inputMode:"email",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,enterKeyHint:"next",autoFocus:!0,value:t.email,onChange:c,placeholder:"[email protected]",required:!0,fullWidth:!0})}),(0,va.jsx)("div",{className:"stagger-item",style:{animationDelay:"0.4s"},children:(0,va.jsx)(mr,{label:"First Name",type:"text",name:"firstName",id:"firstName",autoComplete:"given-name",value:t.firstName,onChange:c,placeholder:"John",required:!0,fullWidth:!0})}),(0,va.jsx)("div",{className:"stagger-item",style:{animationDelay:"0.45s"},children:(0,va.jsx)(mr,{label:"Last Name",type:"text",name:"lastName",id:"lastName",autoComplete:"family-name",value:t.lastName,onChange:c,placeholder:"Doe",required:!0,fullWidth:!0})}),(0,va.jsxs)("div",{className:"stagger-item",style:{animationDelay:"0.5s"},children:[(0,va.jsx)(mr,{label:"Phone Number (optional)",type:"tel",name:"phoneNumber",id:"phoneNumber",autoComplete:"tel",inputMode:"tel",value:t.phoneNumber,onChange:c,placeholder:"+1 555 000 0000",fullWidth:!0}),(0,va.jsx)("p",{className:"text-text-muted mt-1 text-xs",children:"Include your country code, for example +1 555 000 0000 or +34 600 000 000."})]}),(0,va.jsxs)("div",{className:"stagger-item",style:{animationDelay:"0.55s"},children:[(0,va.jsx)(mr,{label:"Password",type:"password",name:"password",id:"password",autoComplete:"new-password",value:t.password,onChange:c,placeholder:"Create a strong password",required:!0,fullWidth:!0,showPasswordToggle:!0}),(0,va.jsx)(Rr,{validation:d})]}),(0,va.jsxs)("div",{className:"stagger-item",style:{animationDelay:"0.6s"},children:[(0,va.jsx)(mr,{label:"Confirm password",type:"password",name:"confirmPassword",id:"confirmPassword",autoComplete:"new-password",value:t.confirmPassword,onChange:c,placeholder:"Re-enter your password",required:!0,fullWidth:!0,showPasswordToggle:!0}),t.confirmPassword&&(0,va.jsx)("div",{className:"mt-2 flex items-center gap-2 font-sans text-xs",children:u?(0,va.jsx)("span",{className:"text-green-400",children:"✓ Passwords match"}):(0,va.jsx)("span",{className:"text-brand-red-text",children:"✗ Passwords don't match"})})]}),(0,va.jsx)("div",{className:"stagger-item",style:{animationDelay:"0.63s"},children:(0,va.jsxs)("label",{className:"flex cursor-pointer items-start gap-3",children:[(0,va.jsx)("input",{type:"checkbox",checked:r,onChange:e=>s(e.target.checked),className:"mt-1 h-4 w-4 shrink-0 accent-[#cf2e2e]"}),(0,va.jsxs)("span",{className:"text-text-muted font-sans text-xs leading-relaxed",children:["I have read and accept the"," ",(0,va.jsx)("a",{href:"https://bachatasensual.com/privacy-policy/",target:"_blank",rel:"noopener noreferrer",className:"text-brand-red-text transition-colors hover:text-white",children:"Privacy Policy"})]})]})}),(0,va.jsx)("div",{className:"stagger-item",style:{animationDelay:"0.65s"},children:(0,va.jsx)(wa,{type:"submit",loading:o,fullWidth:!0,size:"lg",variant:"brand-outline",children:o?"Creating account...":"Create account"})})]}),(0,va.jsx)("div",{className:"stagger-item mt-6 w-full max-w-md 
2space-y-3 sm:mt-8 sm:space-y-4 lg:max-w-lg",style:{animationDelay:"0.7s"},children:(0,va.jsxs)("p",{className:"text-text-muted font-sans text-xs sm:text-sm",children:["Already have an account?"," ",(0,va.jsx)(Ft,{to:"/login",className:"inline-block font-medium text-brand-red-text transition-all duration-300 hover:translate-x-1 hover:text-white",children:"Sign in"})]})})]})]})]})}function fn(){const e=Je(),t=Ue(),{login:a}=Qr(),[r,s]=(0,P.useState)(""),[n,i]=(0,P.useState)(""),[o,l]=(0,P.useState)(""),[c,d]=(0,P.useState)(!1),[u]=(0,P.useState)(Date.now()),[m,h]=(0,P.useState)(180),[p,f]=(0,P.useState)(!1),x=t.state??{session:"",email:""};if((0,P.useEffect)(()=>{L("password_change_started",{})},[]),(0,P.useEffect)(()=>{const t=setInterval(()=>{const a=180-Math.floor((Date.now()-u)/1e3);h(a),a<=60&&f(!0),a<=0&&(clearInterval(t),L("password_change_timeout",{session_duration:180}),e("/login",{state:{message:"Your password change session expired. Please sign in again with your temporary password."},replace:!0}))},1e3);return()=>clearInterval(t)},[u,e]),!x?.session||!x?.email)return(0,va.jsx)(ct,{to:"/login",replace:!0});return(0,va.jsxs)("div",{className:"bg-page-gradient relative min-h-[100svh] overflow-hidden",children:[(0,va.jsx)(Ts,{variant:"subtle"}),(0,va.jsxs)("div",{className:"bg-glassmorphism relative z-10 flex min-h-[100svh] w-full flex-col px-4 sm:px-6 md:px-8 lg:flex-row lg:items-center lg:px-12 xl:px-16",children:[(0,va.jsxs)("div",{className:"animate-reveal-text hidden lg:flex lg:flex-1 lg:flex-col lg:justify-center lg:pr-8 xl:pr-16",children:[(0,va.jsx)("h1",{className:"mb-4 bg-gradient-to-r from-white via-white to-brand-red bg-clip-text font-serif text-3xl font-bold text-transparent text-white xl:mb-6 xl:text-5xl",children:"Bachata Sensual Academy"}),(0,va.jsx)("p",{className:"text-text-muted mt-3 font-sans xl:mt-4",children:"Empowering education through technology"})]}),(0,va.jsxs)("div",{className:"mx-auto flex w-full max-w-md flex-1 flex-col justify-center py-8 sm:py-12 lg:max-w-none lg:border-l lg:border-white/10 lg:py-16 lg:pl-8 xl:pl-16",children:[(0,va.jsxs)("div",{className:"stagger-item mb-6 sm:mb-8 lg:hidden",style:{animationDelay:"0.1s"},children:[(0,va.jsx)("h1",{className:"font-serif text-xl font-bold text-white sm:text-2xl",children:"Bachata Sensual Academy"}),(0,va.jsx)("p",{className:"text-text-muted mt-2 font-sans text-sm sm:text-base",children:"Change your password to continue"})]}),(0,va.jsxs)("div",{className:"stagger-item mb-8 hidden lg:block xl:mb-12",style:{animationDelay:"0.2s"},children:[(0,va.jsx)("h2",{className:"mb-2 font-serif text-3xl font-bold text-white xl:mb-3 xl:text-4xl",children:"Change Password"}),(0,va.jsx)("p",{className:"text-text-muted font-sans text-base xl:text-lg",children:"You must change your password before continuing"})]}),(0,va.jsxs)("form",{onSubmit:async t=>{if(t.preventDefault(),l(""),m<=0)return l("Session expired. Redirecting to login..."),void setTimeout(()=>{e("/login",{state:{message:"Your password change session expired. Please sign in again with your temporary password."},replace:!0})},2e3);if(r.length<8)l("Password must be at least 8 characters long");else if(r===n){d(!0);try{const t=await k.completePasswordChangeChallenge(x.session,x.email,r),s={user_id:t.user_id,email:t.email,first_name:t.first_name,last_name:t.last_name,status:t.status,roles:t.roles};a(s,t.session_token,"");const n=t.roles?.some(e=>"ADMINISTRATOR"===e.toUpperCase()||"PSA"===e.toUpperCase())||!1;L("password_change_success",{is_admin:n}),e(n?"/admin/dashboard":"/dashboard")}catch(s){let t="Failed to change password";s instanceof Error&&(s.message.includes("session expired")||s.message.includes("invalid")?(t="Your session expired. Redirecting you back to login...",setTimeout(()=>{e("/login",{state:{email:x.email,message:"Please sign in again with your temporary password. You'll have 3 minutes to complete the password change."},replace:!0})},3e3)):t=s.message),l(t)}finally{d(!1)}}else l("Passwords do not match")}
2,className:"w-full max-w-md space-y-4 sm:space-y-6 lg:max-w-lg",children:[(0,va.jsx)("input",{type:"hidden",name:"username",value:x.email,autoComplete:"username"}),(0,va.jsx)("div",{className:"stagger-item text-center",style:{animationDelay:"0.25s"},children:(0,va.jsx)("p",{className:"text-text-muted text-sm",children:m>60?(0,va.jsxs)(va.Fragment,{children:["Time remaining: ",Math.floor(m/60),":",String(m%60).padStart(2,"0")]}):(0,va.jsxs)("span",{className:"font-semibold text-brand-red-text",children:["Session expiring soon: ",m,"s"]})})}),p&&(0,va.jsx)(br,{variant:"warning",className:"stagger-item",message:"Your session will expire in less than 1 minute. Please submit your new password now."}),(0,va.jsx)("div",{className:"stagger-item",style:{animationDelay:"0.3s"},children:(0,va.jsx)(_r,{message:o})}),(0,va.jsx)("div",{className:"stagger-item",style:{animationDelay:"0.35s"},children:(0,va.jsx)(mr,{label:"New Password",type:"password",id:"newPassword",value:r,onChange:e=>s(e.target.value),required:!0,placeholder:"Enter new password (min 8 characters)",disabled:c,showPasswordToggle:!0,fullWidth:!0,autoComplete:"new-password"})}),(0,va.jsx)("div",{className:"stagger-item",style:{animationDelay:"0.4s"},children:(0,va.jsx)(mr,{label:"Confirm Password",type:"password",id:"confirmPassword",value:n,onChange:e=>i(e.target.value),required:!0,placeholder:"Re-enter new password",disabled:c,showPasswordToggle:!0,fullWidth:!0,autoComplete:"new-password"})}),(0,va.jsx)("div",{className:"stagger-item pt-2",style:{animationDelay:"0.45s"},children:(0,va.jsx)(wa,{type:"submit",variant:"brand-outline",fullWidth:!0,disabled:c,children:c?"CHANGING PASSWORD...":"CHANGE PASSWORD"})}),(0,va.jsxs)("div",{className:"stagger-item text-text-muted mt-4 text-sm",style:{animationDelay:"0.5s"},children:[(0,va.jsx)("p",{className:"mb-2",children:"Password requirements:"}),(0,va.jsxs)("ul",{className:"list-inside list-disc space-y-1 text-xs",children:[(0,va.jsx)("li",{children:"At least 8 characters long"}),(0,va.jsx)("li",{children:"Mix of uppercase and lowercase letters recommended"}),(0,va.jsx)("li",{children:"Include numbers and special characters recommended"})]})]}),(0,va.jsx)("div",{className:"stagger-item mt-6 rounded-lg border border-blue-500/30 bg-blue-500/10 p-4",style:{animationDelay:"0.55s"},children:(0,va.jsxs)("p",{className:"text-sm text-blue-200",children:[(0,va.jsx)("strong",{children:"Important:"})," You have 3 minutes to complete this password change from the time you logged in. If you run out of time, simply return to the login page and sign in again with your temporary password."]})})]})]})]})]})}"undefined"!=typeof window&&window.addEventListener("unhandledrejection",e=>{const t=e.reason,a=t?.message||"",r=t?.name||"";if(a.includes("Failed to fetch dynamically imported module")||a.includes("Failed to load module script")||a.includes("Loading chunk")||a.includes("ChunkLoadError")||"ChunkLoadError"===r)try{sessionStorage.getItem("chunk-reload-attempted")||(sessionStorage.setItem("chunk-reload-attempted","true"),setTimeout(()=>{window.location.reload()},1e3))}catch{}});var xn=(0,P.lazy)(()=>z(()=>import("./VerifyEmail-CzjTKnA5.js"),__vite__mapDeps([6,1,2,7,8,4,3]))),gn=(0,P.lazy)(()=>z(()=>import("./ForgotPassword-CTR_2dCS.js"),__vite__mapDeps([9,1,2,7,8,4,3]))),bn=(0,P.lazy)(()=>z(()=>import("./ResetPassword-zKU2rLaQ.js"),__vite__mapDeps([10,1,2,7,8,4,3]))),yn=(0,P.lazy)(()=>z(()=>import("./Profile-DmZYrvfB.js"),__vite__mapDeps([11,1,2,12,13,7,8,14,15,16,3,17,18,19,20,21,22]))),vn=(0,P.lazy)(()=>z(()=>import("./Dashboard-DKGKRIqG.js"),__vite__mapDeps([23,1,2,12,13,7,8,16,3,18,24]))),wn=(0,P.lazy)(()=>z(()=>import("./MyCourses-D2xhHT95.js"),__vite__mapDeps([25,1,2,12,13,7,8,16,3,26,18,22,27,28]))),jn=(0,P.lazy)(()=>z(()=>import("./CourseDetail-DEV7lLxv.js"),__vite__mapDeps([29,1,2,12,13,7,8,16,3,4,30,18,19,20,21]))),kn=(0,P.lazy)(()=>z(()=>import("./BrowsePrograms-24Mw2ZBP.js"),__vite__mapDeps([31,1,2,12,13,7,8,16,3,32,18]))),Nn=(0,P.lazy)(()=>z(()=>import("./BrowseCourses-BpfvsM14.js"),__vite__mapDeps([33,1,2,12,13,7,8,16,3,4,18]))),En=(0,P.lazy)(()=>z(()=>import("./CourseOfferings-C_u-O-M_.js"),__vite__mapDeps([34,1,2,12,13,7,8,16,3,4,35,26,18,22,27]))),
2Cn=(0,P.lazy)(()=>z(()=>import("./ApplicationForm-JknHVn-p.js"),__vite__mapDeps([36,1,2,12,13,7,8,4,3,18]))),Sn=(0,P.lazy)(()=>z(()=>import("./Payment-CEr8Uf7K.js"),__vite__mapDeps([37,1,2,4,3,35,8,18,38,28]))),_n=(0,P.lazy)(()=>z(()=>import("./StudentApplications-CLIvK6OH.js"),__vite__mapDeps([39,1,2,12,13,7,8,16,3,18,22]))),Ln=(0,P.lazy)(()=>z(()=>import("./StudentScheduleExam-BgHbr6d_.js"),__vite__mapDeps([40,1,2,7,8,16,3,41,32,18,19,20,21,42,22,38]))),Rn=(0,P.lazy)(()=>z(()=>import("./StudentExaminations-D1O8Ge8E.js"),__vite__mapDeps([43,1,2,12,13,7,8,16,3,18,19,20,21,24]))),Mn=(0,P.lazy)(()=>z(()=>import("./AdminDashboard-Bd9htsXS.js"),__vite__mapDeps([44,2,1]))),Tn=(0,P.lazy)(()=>z(()=>import("./ExaminerApplications-D1CivkC8.js"),__vite__mapDeps([45,1,2,12,13,7,8,14,15,3,46,30,32,22]))),In=(0,P.lazy)(()=>z(()=>import("./AdminPrograms-BodKuM59.js"),__vite__mapDeps([47,1,2,12,13,7,8,14,15,3,5,48,19,20,21]))),An=(0,P.lazy)(()=>z(()=>import("./AdminCourses-ByfRuoC5.js"),__vite__mapDeps([49,1,2,12,13,7,8,14,15,4,3,5,19,20,21]))),Pn=(0,P.lazy)(()=>z(()=>import("./AdminUsers-CvBj-gbU.js"),__vite__mapDeps([50,1,2,12,13,7,8,14,15,3,19,20,21]))),Dn=(0,P.lazy)(()=>z(()=>import("./AdminUserDetail-Dh1IcI7t.js"),__vite__mapDeps([51,1,2,12,13,7,8,14,15,4,3,17,30]))),On=(0,P.lazy)(()=>z(()=>import("./AdminEnrollmentDetail-COrmHSBb.js"),__vite__mapDeps([52,1,2,12,13,7,8,14,15,4,3,53]))),$n=(0,P.lazy)(()=>z(()=>import("./AdminCashPayments-CajgmRWq.js"),__vite__mapDeps([54,1,2,12,13,7,8,14,15,16,3,55,21,22]))),zn=(0,P.lazy)(()=>z(()=>import("./AdminCourseRoster-Cr1chbYM.js"),__vite__mapDeps([56,1,2,12,13,7,8,16,3,57,32,21,22,53,14,15]))),Bn=(0,P.lazy)(()=>z(()=>import("./AdminMaterials-BGpwBNnd.js"),__vite__mapDeps([58,1,2,12,13,7,8,14,15,59,3,60,5,32,19,20,21,48]))),qn=(0,P.lazy)(()=>z(()=>import("./AdminCourseDetail-Cb7CF0ue.js"),__vite__mapDeps([61,1,2,12,13,7,8,14,15,3,4,59,60,5,32,19,20,21,48,22,27]))),Vn=(0,P.lazy)(()=>z(()=>import("./AdminApplications-B1E6VloZ.js"),__vite__mapDeps([62,1,2,12,13,7,8,16,3,46,32,22]))),Fn=(0,P.lazy)(()=>z(()=>import("./ExaminerDashboard-BJpMViu4.js"),__vite__mapDeps([63,2,1,12,13,7,8,3,19,20,21]))),Un=(0,P.lazy)(()=>z(()=>import("./ExaminerExaminations-CMjwBw4o.js"),__vite__mapDeps([64,1,2,12,13,7,8,14,15,19,20,21,22]))),Hn=(0,P.lazy)(()=>z(()=>import("./ExaminerRecordResults-LBjLaHKP.js"),__vite__mapDeps([65,1,2,12,14,15,7,8,4,3,19,20,21]))),Wn=(0,P.lazy)(()=>z(()=>import("./ExaminerReport-CmznVHTG.js"),__vite__mapDeps([66,1,2,12,13,7,8,57,3,19,20,21]))),Jn=(0,P.lazy)(()=>z(()=>import("./ExaminerAvailability-DRT1AJ5M.js"),__vite__mapDeps([67,1,2,12,13,7,8,14,15,60,3,20]))),Kn=(0,P.lazy)(()=>z(()=>import("./InvitationResponse-DGiEAoYV.js"),__vite__mapDeps([68,1,2,12,13,7,8,14,15,3,69,19,20,21,42,22,38]))),Yn=(0,P.lazy)(()=>z(()=>import("./StudentCertifications-mtgWbcRw.js"),__vite__mapDeps([70,1,2,12,13,7,8,16,3,41,18,19,20,21,22]))),Qn=(0,P.lazy)(()=>z(()=>import("./StudentPayments-CCXgT3U6.js"),__vite__mapDeps([71,1,2,12,13,7,8,16,3,69,18,22]))),Gn=(0,P.lazy)(()=>z(()=>import("./PublicCertificationVerify-pSm25GEI.js"),__vite__mapDeps([72,2,1,12,13,7,8,55,3]))),Xn=(0,va.jsxs)(va.Fragment,{children:[(0,va.jsx)("div",{className:"loading-bar"}),(0,va.jsx)(Cr,{})]}),Zn=()=>(0,va.jsxs)("div",{className:"flex min-h-screen items-center justify-center bg-black",children:[(0,va.jsx)("div",{className:"loading-bar"}),(0,va.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,va.jsx)("div",{className:"h-10 w-10 animate-spin rounded-full border-2 border-brand-red/20 border-t-brand-red"}),(0,va.jsx)("div",{className:"skeleton-brand h-3 w-24 rounded-full"})]})]}),ei=()=>(0,va.jsxs)("div",{className:"flex min-h-screen flex-col items-center justify-center bg-black px-4 text-center",children:[(0,va.jsx)("h1",{className:"mb-4 font-serif text-6xl font-bold text-white",children:"404"}),(0,va.jsx)("p",{className:"mb-8 font-sans text-lg text-gray-400",children:"Page not found"}),(0,va.jsx)("a",{href:"/",className:"rounded-lg border border-brand-red/30 bg-brand-red/10 px-6 py-3 font-sans text-sm text-white transition-all hover:bg-brand-red/20",children:"Return Home"})]}),ti=({children:e})=>{const{isAuthenticated:t,isLoading:a}=Qr(),r=Ue();return a?(0,va.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-black",children:(0,va.jsx)(Cr,{})}):t?(0,va.jsx)(va.Fragment,{children:e}):(0,va.jsx)(ct,{to:"/login",replace:!0,state:{from:r.pathname}})},ai=({children:e,allowedRoles:t})=>{const{isAuthenticated:a,isLoading:r,hasRole:s}=Qr();return r?(0,va.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-black",children:(0,va.jsx)(Cr,{})}):a?t.some(e=>s(e))?(0,va.jsx)(va.Fragment,{children:e}):(0,va.jsx)(ct,{to:"/dashboard",replace:!0}):(0,va.jsx)(ct,{to:"/login",replace:!0})},ri=qr["/admin/*"],si=qr["/examiner/*"],ni=e=>{const t=e("administrator")||e("PSA"),a=e("examiner");return t?"admin":a?"examiner":"student"},ii=({children:e,allowedRoles:t})=>{const{isAuthenticated:a,isLoading:r,hasRole:s}=Qr(),n=Ue();return r?(0,va.jsx)("div",{className:"flex min-h-screen items-center justify-center bg-black",children:(0,va.jsx)(Cr,{})}):a?Vr(t,s)?(0,va.jsx)(va.Fragment,{children:e}):(0,va.jsx)(ct,{to:`/${ni(s)}/dashboard`,replace:!0,state:{redirectedFrom:n.pathname}}):(0,va.jsx)(ct,{to:"/login",replace:!0})},oi=({path:e})=>{const{hasRole:t}=Qr();return(0,va.jsx)(ct,{to:`/${ni(t)}${e}`,replace:!0})},li=()=>{const e=Ue(),t=Je(),{user:a,logout:r}=Qr();(0,P.useEffect)(()=>
2{!function(){try{sessionStorage.removeItem(kr)}catch{}}()},[]);const s=()=>{r(),t("/login")},n=e=>{t(e)},i=(t,r=!1,i=!1,o)=>{const l=r?(0,va.jsx)(P.Suspense,{fallback:Xn,children:(0,va.jsx)("div",{className:"page-enter",children:(0,va.jsx)(t,{})})}):(0,va.jsx)("div",{className:"page-enter",children:(0,va.jsx)(t,{})}),c=(0,va.jsx)(ti,{children:(0,va.jsxs)(_s,{user:a,currentPath:e.pathname,onNavigate:n,onLogout:s,hideSidebar:i,children:[(0,va.jsx)(Fr,{}),l]})}),d=o?qr[o]:null;return null==d?c:(0,va.jsx)(ii,{allowedRoles:d,children:c})},o=t=>(0,va.jsx)(ai,{allowedRoles:ri,children:(0,va.jsxs)(_s,{user:a,currentPath:e.pathname,onNavigate:n,onLogout:s,children:[(0,va.jsx)(Fr,{}),(0,va.jsx)(P.Suspense,{fallback:Xn,children:(0,va.jsx)("div",{className:"page-enter",children:(0,va.jsx)(t,{})})})]})}),l=t=>(0,va.jsx)(ai,{allowedRoles:si,children:(0,va.jsxs)(_s,{user:a,currentPath:e.pathname,onNavigate:n,onLogout:s,children:[(0,va.jsx)(Fr,{}),(0,va.jsx)(P.Suspense,{fallback:Xn,children:(0,va.jsx)("div",{className:"page-enter",children:(0,va.jsx)(t,{})})})]})});return(0,va.jsxs)(mt,{children:[(0,va.jsx)(dt,{path:"/",element:(0,va.jsx)(nn,{})}),(0,va.jsx)(dt,{path:"/login",element:(0,va.jsx)(on,{})}),(0,va.jsx)(dt,{path:"/register",element:(0,va.jsx)(pn,{})}),(0,va.jsx)(dt,{path:"/change-password-required",element:(0,va.jsx)(fn,{})}),(0,va.jsx)(dt,{path:"/verify-email",element:(0,va.jsx)(P.Suspense,{fallback:(0,va.jsx)(Zn,{}),children:(0,va.jsx)(xn,{})})}),(0,va.jsx)(dt,{path:"/forgot-password",element:(0,va.jsx)(P.Suspense,{fallback:(0,va.jsx)(Zn,{}),children:(0,va.jsx)(gn,{})})}),(0,va.jsx)(dt,{path:"/reset-password",element:(0,va.jsx)(P.Suspense,{fallback:(0,va.jsx)(Zn,{}),children:(0,va.jsx)(bn,{})})}),(0,va.jsx)(dt,{path:"/verify/:certificationId",element:(0,va.jsx)(P.Suspense,{fallback:(0,va.jsx)(Zn,{}),children:(0,va.jsx)(Gn,{})})}),(0,va.jsx)(dt,{path:"/profile",element:(0,va.jsx)(ti,{children:(0,va.jsx)(oi,{path:"/profile"})})}),(0,va.jsx)(dt,{path:"/dashboard",element:(0,va.jsx)(ti,{children:(0,va.jsx)(oi,{path:"/dashboard"})})}),(0,va.jsx)(dt,{path:"/applications",element:(0,va.jsx)(ct,{to:"/student/applications",replace:!0})}),(0,va.jsx)(dt,{path:"/enrollments",element:(0,va.jsx)(ct,{to:"/student/courses",replace:!0})}),(0,va.jsx)(dt,{path:"/programs",element:(0,va.jsx)(ct,{to:"/student/programs",replace:!0})}),(0,va.jsx)(dt,{path:"/offerings",element:(0,va.jsx)(ct,{to:"/student/programs",replace:!0})}),(0,va.jsx)(dt,{path:"/student/dashboard",element:i(vn,!0)}),(0,va.jsx)(dt,{path:"/student/programs",element:i(kn,!0)}),(0,va.jsx)(dt,{path:"/student/programs/:programId/courses",element:i(Nn,!0)}),(0,va.jsx)(dt,{path:"/student/programs/:programId/courses/:courseId/offerings",element:i(En,!0)}),(0,va.jsx)(dt,{path:"/student/courses",element:i(wn,!0,!1,"/student/courses")}),(0,va.jsx)(dt,{path:"/student/courses/:enrollmentId",element:i(jn,!0,!0,"/student/courses/:enrollmentId")}),(0,va.jsx)(dt,{path:"/student/offerings",element:(0,va.jsx)(ct,{to:"/student/programs",replace:!0})}),(0,va.jsx)(dt,{path:"/apply/:programId",element:i(Cn,!0,!1,"/apply/:programId")}),(0,va.jsx)(dt,{path:"/enroll/:offeringId",element:(0,va.jsx)(ct,{to:"/student/programs",replace:!0})}),(0,va.jsx)(dt,{path:"/student/payment",element:i(Sn,!0,!1,"/student/payment")}),(0,va.jsx)(dt,{path:"/student/applications",element:i(_n,!0,!1,"/student/applications")}),(0,va.jsx)(dt,{path:"/student/schedule-exam",element:i(Ln,!0,!1,"/student/schedule-exam")}),(0,va.jsx)(dt,{path:"/student/payments",element:i(Qn,!0,!1,"/student/payments")}),(0,va.jsx)(dt,{path:"/student/certifications",element:i(Yn,!0,!1,"/student/certifications")}),(0,va.jsx)(dt,{path:"/student/invitations/:token",element:i(Kn,!0)}),(0,va.jsx)(dt,{path:"/student/profile",element:i(yn,!0,!1,"/student/profile")}),(0,va.jsx)(dt,{path:"/student/enrollments",element:(0,va.jsx)(ct,{to:"/student/courses",replace:!0})}),(0,va.jsx)(dt,{path:"/student/enrollments/:enrollmentId",element:(0,va.jsx)(ct,{to:"/student/courses",replace:!0})}),(0,va.jsx)(dt,{path:"/student/examinations",element:i(Rn,!0,!1,"/student/examinations")}),(0,va.jsx)(dt,{path:"/examiner/dashboard",element:l(Fn)}),(0,va.jsx)(dt,{path:"/examiner/applications",element:l(Tn)}),(0,va.jsx)(dt,{path:"/examiner/examinations",element:l(Un)}),(0,va.jsx)(dt,{path:"/examiner/examinations/:examinationId/results",element:l(Hn)}),(0,va.jsx)(dt,{path:"/examiner/availability",element:l(Jn)}),(0,va.jsx)(dt,{path:"/examiner/reports",element:l(Wn)}),(0,va.jsx)(dt,{path:"/examiner/profile",element:l(yn)}),(0,va.jsx)(dt,{path:"/admin/dashboard",element:o(Mn)}),(0,va.jsx)(dt,{path:"/admin/programs",element:o(In)}),(0,va.jsx)(dt,{path:"/admin/courses",element:o(An)}),(0,va.jsx)(dt,{path:"/admin/courses/:programId/:courseId",element:o(qn)}),(0,va.jsx)(dt,{path:"/admin/offerings",element:(0,va.jsx)(ct,{to:"/admin/courses",replace:!0})}),(0,va.jsx)(dt,{path:"/admin/users",element:o(Pn)}),(0,va.jsx)(dt,{path:"/admin/users/:userId",element:o(Dn)}),(0,va.jsx)(dt,{path:"/admin/applications",element:o(Vn)}),(0,va.jsx)(dt,{path:"/admin/examinations",element:o(Un)}),(0,va.jsx)(dt,{path:"/admin/examinations/:examinationId/results",element:o(Hn)}),(0,va.jsx)(dt,{path:"/admin/reports",element:o(Wn)}),(0,va.jsx)(dt,{path:"/admin/cash-payments",element:o($n)}),(0,va.jsx)(dt,{path:"/admin/course-roster",element:o(zn)}),(0,va.jsx)(dt,{path:"/admin/enrollments/:enrollmentId",element:o(On)}),(0,va.jsx)(dt,{path:"/admin/materials",element:o(Bn)}),(0,va.jsx)(dt,{path:"/admin/material-categories",element:(0,va.jsx)(ct,{to:"/admin/materials",replace:!0})}),(0,va.jsx)(dt,{path:"/admin/programs/:programId/courses/:courseId/materials",element:(0,va.jsx)(ct,{to:"/admin/materials",replace:!0})}),(0,va.jsx)(dt,{path:"/admin/profile",element:o(yn)}),(0,va.jsx)(dt,{path:"*",element:(0,va.jsx)(ei,{})})]})};function ci(){const[e]=(0,P.useState)(()=>new Zt({defaultOptions:{queries:{staleTime:Rs.MEDIUM,gcTime:21e5,retry:Ms,refetchOnWindowFocus:!1,refetchOnReconnect:!0},mutations:{retry:0}}}));return(0,va.jsx)(Er,{children:(0,va.jsxs)(N,{client:e,children:[(0,va.jsx)(Yr,{children:(0,va.jsx)(ks,{children:(0,va.jsx)(wr,{children:(0,va.jsxs)(Vt,{children:[(0,va.jsx)(ya,{theme:"dark",position:"top-right",richColors:!0}),(0,va.jsx)("div",{className:"fade-in",children:(0,va.jsx)(li,{})})]})})})}),!1]})})}
2M(),window.onerror=(e,t,a,r,s)=>{R(s||new Error(String(e)),{source:t||"",line:a||0,column:r||0,type:"uncaught_error"})},window.onunhandledrejection=e=>{R(e.reason,{type:"unhandled_promise_rejection"})},(0,D.createRoot)(document.getElementById("root")).render((0,va.jsx)(P.StrictMode,{children:(0,va.jsx)(ci,{})})),A();export{Va as $,Cr as A,or as B,Ir as C,Jt as Ct,Lr as D,Rr as E,fr as F,tr as G,nr as H,hr as I,Qa as J,Za as K,mr as L,br as M,gr as N,_r as O,xr as P,Ua as Q,cr as R,Ar as S,Ke as St,Mr as T,sr as U,ir as V,rr as W,Wa as X,Ja as Y,Ha as Z,Wr as _,wa as _t,cn as a,Aa as at,Dr as b,Ue as bt,Ys as c,Ra as ct,Ps as d,Sa as dt,Ba as et,Ts as f,Ca as ft,Jr as g,ja as gt,Qr as h,ka as ht,dn as i,Pa as it,jr as j,Sr as k,zs as l,La as lt,Ls as m,Na as mt,hn as n,$a as nt,ln as o,Ia as ot,Rs as p,Ea as pt,Ga as q,un as r,Oa as rt,Qs as s,Ta as st,mn as t,za as tt,Ds as u,_a as ut,Hr as v,ua as vt,Tr as w,z as wt,Pr as x,Je as xt,zr as y,Ft as yt,lr as z};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.