var rp=t=>{throw TypeError(t)};var vd=(t,e,r)=>e.has(t)||rp("Cannot "+r);var P=(t,e,r)=>(vd(t,e,"read from private field"),r?r.call(t):e.get(t)),xe=(t,e,r)=>e.has(t)?rp("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),re=(t,e,r,n)=>(vd(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),et=(t,e,r)=>(vd(t,e,"access private method"),r);var To=(t,e,r,n)=>({set _(s){re(t,e,s,r)},get _(){return P(t,e,n)}});function x1(t,e){for(var r=0;rn[s]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function r(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(s){if(s.ep)return;s.ep=!0;const i=r(s);fetch(s.href,i)}})();var zt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function av(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function v1(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var r=function n(){return this instanceof n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var s=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,s.get?s:{enumerable:!0,get:function(){return t[n]}})}),r}var iv={exports:{}},yc={},ov={exports:{}},he={};/** * @license React * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var io=Symbol.for("react.element"),y1=Symbol.for("react.portal"),w1=Symbol.for("react.fragment"),b1=Symbol.for("react.strict_mode"),k1=Symbol.for("react.profiler"),j1=Symbol.for("react.provider"),N1=Symbol.for("react.context"),_1=Symbol.for("react.forward_ref"),S1=Symbol.for("react.suspense"),C1=Symbol.for("react.memo"),E1=Symbol.for("react.lazy"),np=Symbol.iterator;function P1(t){return t===null||typeof t!="object"?null:(t=np&&t[np]||t["@@iterator"],typeof t=="function"?t:null)}var lv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},cv=Object.assign,dv={};function Fa(t,e,r){this.props=t,this.context=e,this.refs=dv,this.updater=r||lv}Fa.prototype.isReactComponent={};Fa.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};Fa.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function uv(){}uv.prototype=Fa.prototype;function Zh(t,e,r){this.props=t,this.context=e,this.refs=dv,this.updater=r||lv}var Xh=Zh.prototype=new uv;Xh.constructor=Zh;cv(Xh,Fa.prototype);Xh.isPureReactComponent=!0;var sp=Array.isArray,hv=Object.prototype.hasOwnProperty,ef={current:null},fv={key:!0,ref:!0,__self:!0,__source:!0};function mv(t,e,r){var n,s={},i=null,o=null;if(e!=null)for(n in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(i=""+e.key),e)hv.call(e,n)&&!fv.hasOwnProperty(n)&&(s[n]=e[n]);var l=arguments.length-2;if(l===1)s.children=r;else if(1>>1,B=E[K];if(0>>1;Ks(Pe,M))Oes(ce,Pe)?(E[K]=ce,E[Oe]=M,K=Oe):(E[K]=Pe,E[oe]=M,K=oe);else if(Oes(ce,M))E[K]=ce,E[Oe]=M,K=Oe;else break e}}return S}function s(E,S){var M=E.sortIndex-S.sortIndex;return M!==0?M:E.id-S.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;t.unstable_now=function(){return i.now()}}else{var o=Date,l=o.now();t.unstable_now=function(){return o.now()-l}}var c=[],d=[],u=1,h=null,m=3,f=!1,b=!1,x=!1,w=typeof setTimeout=="function"?setTimeout:null,y=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(E){for(var S=r(d);S!==null;){if(S.callback===null)n(d);else if(S.startTime<=E)n(d),S.sortIndex=S.expirationTime,e(c,S);else break;S=r(d)}}function k(E){if(x=!1,v(E),!b)if(r(c)!==null)b=!0,q(j);else{var S=r(d);S!==null&&Y(k,S.startTime-E)}}function j(E,S){b=!1,x&&(x=!1,y(C),C=-1),f=!0;var M=m;try{for(v(S),h=r(c);h!==null&&(!(h.expirationTime>S)||E&&!G());){var K=h.callback;if(typeof K=="function"){h.callback=null,m=h.priorityLevel;var B=K(h.expirationTime<=S);S=t.unstable_now(),typeof B=="function"?h.callback=B:h===r(c)&&n(c),v(S)}else n(c);h=r(c)}if(h!==null)var se=!0;else{var oe=r(d);oe!==null&&Y(k,oe.startTime-S),se=!1}return se}finally{h=null,m=M,f=!1}}var N=!1,_=null,C=-1,R=5,I=-1;function G(){return!(t.unstable_now()-IE||125K?(E.sortIndex=M,e(d,E),r(c)===null&&E===r(d)&&(x?(y(C),C=-1):x=!0,Y(k,M-K))):(E.sortIndex=B,e(c,E),b||f||(b=!0,q(j))),E},t.unstable_shouldYield=G,t.unstable_wrapCallback=function(E){var S=m;return function(){var M=m;m=S;try{return E.apply(this,arguments)}finally{m=M}}}})(yv);vv.exports=yv;var z1=vv.exports;/** * @license React * react-dom.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var U1=p,Et=z1;function A(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ju=Object.prototype.hasOwnProperty,B1=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,ip={},op={};function W1(t){return ju.call(op,t)?!0:ju.call(ip,t)?!1:B1.test(t)?op[t]=!0:(ip[t]=!0,!1)}function V1(t,e,r,n){if(r!==null&&r.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function H1(t,e,r,n){if(e===null||typeof e>"u"||V1(t,e,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function ft(t,e,r,n,s,i,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=n,this.attributeNamespace=s,this.mustUseProperty=r,this.propertyName=t,this.type=e,this.sanitizeURL=i,this.removeEmptyString=o}var Xe={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){Xe[t]=new ft(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];Xe[e]=new ft(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){Xe[t]=new ft(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){Xe[t]=new ft(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){Xe[t]=new ft(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){Xe[t]=new ft(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){Xe[t]=new ft(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){Xe[t]=new ft(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){Xe[t]=new ft(t,5,!1,t.toLowerCase(),null,!1,!1)});var nf=/[\-:]([a-z])/g;function sf(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(nf,sf);Xe[e]=new ft(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(nf,sf);Xe[e]=new ft(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(nf,sf);Xe[e]=new ft(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){Xe[t]=new ft(t,1,!1,t.toLowerCase(),null,!1,!1)});Xe.xlinkHref=new ft("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){Xe[t]=new ft(t,1,!1,t.toLowerCase(),null,!0,!0)});function af(t,e,r,n){var s=Xe.hasOwnProperty(e)?Xe[e]:null;(s!==null?s.type!==0:n||!(2l||s[o]!==i[l]){var c=` `+s[o].replace(" at new "," at ");return t.displayName&&c.includes("")&&(c=c.replace("",t.displayName)),c}while(1<=o&&0<=l);break}}}finally{bd=!1,Error.prepareStackTrace=r}return(t=t?t.displayName||t.name:"")?ci(t):""}function q1(t){switch(t.tag){case 5:return ci(t.type);case 16:return ci("Lazy");case 13:return ci("Suspense");case 19:return ci("SuspenseList");case 0:case 2:case 15:return t=kd(t.type,!1),t;case 11:return t=kd(t.type.render,!1),t;case 1:return t=kd(t.type,!0),t;default:return""}}function Cu(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case Qs:return"Fragment";case Js:return"Portal";case Nu:return"Profiler";case of:return"StrictMode";case _u:return"Suspense";case Su:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case kv:return(t.displayName||"Context")+".Consumer";case bv:return(t._context.displayName||"Context")+".Provider";case lf:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case cf:return e=t.displayName||null,e!==null?e:Cu(t.type)||"Memo";case hn:e=t._payload,t=t._init;try{return Cu(t(e))}catch{}}return null}function K1(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Cu(e);case 8:return e===of?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function $n(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Nv(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function G1(t){var e=Nv(t)?"checked":"value",r=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),n=""+t[e];if(!t.hasOwnProperty(e)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var s=r.get,i=r.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return s.call(this)},set:function(o){n=""+o,i.call(this,o)}}),Object.defineProperty(t,e,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(o){n=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Ro(t){t._valueTracker||(t._valueTracker=G1(t))}function _v(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var r=e.getValue(),n="";return t&&(n=Nv(t)?t.checked?"true":"false":t.value),t=n,t!==r?(e.setValue(t),!0):!1}function _l(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Eu(t,e){var r=e.checked;return Ie({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??t._wrapperState.initialChecked})}function cp(t,e){var r=e.defaultValue==null?"":e.defaultValue,n=e.checked!=null?e.checked:e.defaultChecked;r=$n(e.value!=null?e.value:r),t._wrapperState={initialChecked:n,initialValue:r,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function Sv(t,e){e=e.checked,e!=null&&af(t,"checked",e,!1)}function Pu(t,e){Sv(t,e);var r=$n(e.value),n=e.type;if(r!=null)n==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+r):t.value!==""+r&&(t.value=""+r);else if(n==="submit"||n==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Tu(t,e.type,r):e.hasOwnProperty("defaultValue")&&Tu(t,e.type,$n(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function dp(t,e,r){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var n=e.type;if(!(n!=="submit"&&n!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,r||e===t.value||(t.value=e),t.defaultValue=e}r=t.name,r!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,r!==""&&(t.name=r)}function Tu(t,e,r){(e!=="number"||_l(t.ownerDocument)!==t)&&(r==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+r&&(t.defaultValue=""+r))}var di=Array.isArray;function oa(t,e,r,n){if(t=t.options,e){e={};for(var s=0;s"+e.valueOf().toString()+"",e=Oo.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function Ti(t,e){if(e){var r=t.firstChild;if(r&&r===t.lastChild&&r.nodeType===3){r.nodeValue=e;return}}t.textContent=e}var gi={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},J1=["Webkit","ms","Moz","O"];Object.keys(gi).forEach(function(t){J1.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),gi[e]=gi[t]})});function Tv(t,e,r){return e==null||typeof e=="boolean"||e===""?"":r||typeof e!="number"||e===0||gi.hasOwnProperty(t)&&gi[t]?(""+e).trim():e+"px"}function Av(t,e){t=t.style;for(var r in e)if(e.hasOwnProperty(r)){var n=r.indexOf("--")===0,s=Tv(r,e[r],n);r==="float"&&(r="cssFloat"),n?t.setProperty(r,s):t[r]=s}}var Q1=Ie({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ru(t,e){if(e){if(Q1[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(A(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(A(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(A(61))}if(e.style!=null&&typeof e.style!="object")throw Error(A(62))}}function Ou(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Mu=null;function df(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Lu=null,la=null,ca=null;function fp(t){if(t=co(t)){if(typeof Lu!="function")throw Error(A(280));var e=t.stateNode;e&&(e=Nc(e),Lu(t.stateNode,t.type,e))}}function Iv(t){la?ca?ca.push(t):ca=[t]:la=t}function Rv(){if(la){var t=la,e=ca;if(ca=la=null,fp(t),e)for(t=0;t>>=0,t===0?32:31-(oN(t)/lN|0)|0}var Mo=64,Lo=4194304;function ui(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Pl(t,e){var r=t.pendingLanes;if(r===0)return 0;var n=0,s=t.suspendedLanes,i=t.pingedLanes,o=r&268435455;if(o!==0){var l=o&~s;l!==0?n=ui(l):(i&=o,i!==0&&(n=ui(i)))}else o=r&~s,o!==0?n=ui(o):i!==0&&(n=ui(i));if(n===0)return 0;if(e!==0&&e!==n&&!(e&s)&&(s=n&-n,i=e&-e,s>=i||s===16&&(i&4194240)!==0))return e;if(n&4&&(n|=r&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=n;0r;r++)e.push(t);return e}function oo(t,e,r){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-ir(e),t[e]=r}function hN(t,e){var r=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var n=t.eventTimes;for(t=t.expirationTimes;0=vi),kp=" ",jp=!1;function Xv(t,e){switch(t){case"keyup":return zN.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ey(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ys=!1;function BN(t,e){switch(t){case"compositionend":return ey(e);case"keypress":return e.which!==32?null:(jp=!0,kp);case"textInput":return t=e.data,t===kp&&jp?null:t;default:return null}}function WN(t,e){if(Ys)return t==="compositionend"||!vf&&Xv(t,e)?(t=Yv(),dl=pf=jn=null,Ys=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:r,offset:e-t};t=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Cp(r)}}function sy(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?sy(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function ay(){for(var t=window,e=_l();e instanceof t.HTMLIFrameElement;){try{var r=typeof e.contentWindow.location.href=="string"}catch{r=!1}if(r)t=e.contentWindow;else break;e=_l(t.document)}return e}function yf(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function ZN(t){var e=ay(),r=t.focusedElem,n=t.selectionRange;if(e!==r&&r&&r.ownerDocument&&sy(r.ownerDocument.documentElement,r)){if(n!==null&&yf(r)){if(e=n.start,t=n.end,t===void 0&&(t=e),"selectionStart"in r)r.selectionStart=e,r.selectionEnd=Math.min(t,r.value.length);else if(t=(e=r.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var s=r.textContent.length,i=Math.min(n.start,s);n=n.end===void 0?i:Math.min(n.end,s),!t.extend&&i>n&&(s=n,n=i,i=s),s=Ep(r,i);var o=Ep(r,n);s&&o&&(t.rangeCount!==1||t.anchorNode!==s.node||t.anchorOffset!==s.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(s.node,s.offset),t.removeAllRanges(),i>n?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=r;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,Zs=null,Bu=null,wi=null,Wu=!1;function Pp(t,e,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Wu||Zs==null||Zs!==_l(n)||(n=Zs,"selectionStart"in n&&yf(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),wi&&Li(wi,n)||(wi=n,n=Il(Bu,"onSelect"),0ta||(t.current=Ju[ta],Ju[ta]=null,ta--)}function je(t,e){ta++,Ju[ta]=t.current,t.current=e}var Fn={},at=Hn(Fn),yt=Hn(!1),ps=Fn;function _a(t,e){var r=t.type.contextTypes;if(!r)return Fn;var n=t.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===e)return n.__reactInternalMemoizedMaskedChildContext;var s={},i;for(i in r)s[i]=e[i];return n&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=s),s}function wt(t){return t=t.childContextTypes,t!=null}function Ol(){Se(yt),Se(at)}function Lp(t,e,r){if(at.current!==Fn)throw Error(A(168));je(at,e),je(yt,r)}function my(t,e,r){var n=t.stateNode;if(e=e.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var s in n)if(!(s in e))throw Error(A(108,K1(t)||"Unknown",s));return Ie({},r,n)}function Ml(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Fn,ps=at.current,je(at,t),je(yt,yt.current),!0}function Dp(t,e,r){var n=t.stateNode;if(!n)throw Error(A(169));r?(t=my(t,e,ps),n.__reactInternalMemoizedMergedChildContext=t,Se(yt),Se(at),je(at,t)):Se(yt),je(yt,r)}var zr=null,_c=!1,Ld=!1;function py(t){zr===null?zr=[t]:zr.push(t)}function d_(t){_c=!0,py(t)}function qn(){if(!Ld&&zr!==null){Ld=!0;var t=0,e=we;try{var r=zr;for(we=1;t>=o,s-=o,Br=1<<32-ir(e)+s|r<C?(R=_,_=null):R=_.sibling;var I=m(y,_,v[C],k);if(I===null){_===null&&(_=R);break}t&&_&&I.alternate===null&&e(y,_),g=i(I,g,C),N===null?j=I:N.sibling=I,N=I,_=R}if(C===v.length)return r(y,_),Ee&&es(y,C),j;if(_===null){for(;CC?(R=_,_=null):R=_.sibling;var G=m(y,_,I.value,k);if(G===null){_===null&&(_=R);break}t&&_&&G.alternate===null&&e(y,_),g=i(G,g,C),N===null?j=G:N.sibling=G,N=G,_=R}if(I.done)return r(y,_),Ee&&es(y,C),j;if(_===null){for(;!I.done;C++,I=v.next())I=h(y,I.value,k),I!==null&&(g=i(I,g,C),N===null?j=I:N.sibling=I,N=I);return Ee&&es(y,C),j}for(_=n(y,_);!I.done;C++,I=v.next())I=f(_,y,C,I.value,k),I!==null&&(t&&I.alternate!==null&&_.delete(I.key===null?C:I.key),g=i(I,g,C),N===null?j=I:N.sibling=I,N=I);return t&&_.forEach(function($){return e(y,$)}),Ee&&es(y,C),j}function w(y,g,v,k){if(typeof v=="object"&&v!==null&&v.type===Qs&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Io:e:{for(var j=v.key,N=g;N!==null;){if(N.key===j){if(j=v.type,j===Qs){if(N.tag===7){r(y,N.sibling),g=s(N,v.props.children),g.return=y,y=g;break e}}else if(N.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===hn&&zp(j)===N.type){r(y,N.sibling),g=s(N,v.props),g.ref=ti(y,N,v),g.return=y,y=g;break e}r(y,N);break}else e(y,N);N=N.sibling}v.type===Qs?(g=ms(v.props.children,y.mode,k,v.key),g.return=y,y=g):(k=vl(v.type,v.key,v.props,null,y.mode,k),k.ref=ti(y,g,v),k.return=y,y=k)}return o(y);case Js:e:{for(N=v.key;g!==null;){if(g.key===N)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){r(y,g.sibling),g=s(g,v.children||[]),g.return=y,y=g;break e}else{r(y,g);break}else e(y,g);g=g.sibling}g=Vd(v,y.mode,k),g.return=y,y=g}return o(y);case hn:return N=v._init,w(y,g,N(v._payload),k)}if(di(v))return b(y,g,v,k);if(Qa(v))return x(y,g,v,k);Wo(y,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(r(y,g.sibling),g=s(g,v),g.return=y,y=g):(r(y,g),g=Wd(v,y.mode,k),g.return=y,y=g),o(y)):r(y,g)}return w}var Ca=yy(!0),wy=yy(!1),$l=Hn(null),Fl=null,sa=null,jf=null;function Nf(){jf=sa=Fl=null}function _f(t){var e=$l.current;Se($l),t._currentValue=e}function Zu(t,e,r){for(;t!==null;){var n=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,n!==null&&(n.childLanes|=e)):n!==null&&(n.childLanes&e)!==e&&(n.childLanes|=e),t===r)break;t=t.return}}function ua(t,e){Fl=t,jf=sa=null,t=t.dependencies,t!==null&&t.firstContext!==null&&(t.lanes&e&&(vt=!0),t.firstContext=null)}function Ut(t){var e=t._currentValue;if(jf!==t)if(t={context:t,memoizedValue:e,next:null},sa===null){if(Fl===null)throw Error(A(308));sa=t,Fl.dependencies={lanes:0,firstContext:t}}else sa=sa.next=t;return e}var as=null;function Sf(t){as===null?as=[t]:as.push(t)}function by(t,e,r,n){var s=e.interleaved;return s===null?(r.next=r,Sf(e)):(r.next=s.next,s.next=r),e.interleaved=r,Kr(t,n)}function Kr(t,e){t.lanes|=e;var r=t.alternate;for(r!==null&&(r.lanes|=e),r=t,t=t.return;t!==null;)t.childLanes|=e,r=t.alternate,r!==null&&(r.childLanes|=e),r=t,t=t.return;return r.tag===3?r.stateNode:null}var fn=!1;function Cf(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ky(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function Vr(t,e){return{eventTime:t,lane:e,tag:0,payload:null,callback:null,next:null}}function An(t,e,r){var n=t.updateQueue;if(n===null)return null;if(n=n.shared,me&2){var s=n.pending;return s===null?e.next=e:(e.next=s.next,s.next=e),n.pending=e,Kr(t,r)}return s=n.interleaved,s===null?(e.next=e,Sf(n)):(e.next=s.next,s.next=e),n.interleaved=e,Kr(t,r)}function hl(t,e,r){if(e=e.updateQueue,e!==null&&(e=e.shared,(r&4194240)!==0)){var n=e.lanes;n&=t.pendingLanes,r|=n,e.lanes=r,hf(t,r)}}function Up(t,e){var r=t.updateQueue,n=t.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var s=null,i=null;if(r=r.firstBaseUpdate,r!==null){do{var o={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};i===null?s=i=o:i=i.next=o,r=r.next}while(r!==null);i===null?s=i=e:i=i.next=e}else s=i=e;r={baseState:n.baseState,firstBaseUpdate:s,lastBaseUpdate:i,shared:n.shared,effects:n.effects},t.updateQueue=r;return}t=r.lastBaseUpdate,t===null?r.firstBaseUpdate=e:t.next=e,r.lastBaseUpdate=e}function zl(t,e,r,n){var s=t.updateQueue;fn=!1;var i=s.firstBaseUpdate,o=s.lastBaseUpdate,l=s.shared.pending;if(l!==null){s.shared.pending=null;var c=l,d=c.next;c.next=null,o===null?i=d:o.next=d,o=c;var u=t.alternate;u!==null&&(u=u.updateQueue,l=u.lastBaseUpdate,l!==o&&(l===null?u.firstBaseUpdate=d:l.next=d,u.lastBaseUpdate=c))}if(i!==null){var h=s.baseState;o=0,u=d=c=null,l=i;do{var m=l.lane,f=l.eventTime;if((n&m)===m){u!==null&&(u=u.next={eventTime:f,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var b=t,x=l;switch(m=e,f=r,x.tag){case 1:if(b=x.payload,typeof b=="function"){h=b.call(f,h,m);break e}h=b;break e;case 3:b.flags=b.flags&-65537|128;case 0:if(b=x.payload,m=typeof b=="function"?b.call(f,h,m):b,m==null)break e;h=Ie({},h,m);break e;case 2:fn=!0}}l.callback!==null&&l.lane!==0&&(t.flags|=64,m=s.effects,m===null?s.effects=[l]:m.push(l))}else f={eventTime:f,lane:m,tag:l.tag,payload:l.payload,callback:l.callback,next:null},u===null?(d=u=f,c=h):u=u.next=f,o|=m;if(l=l.next,l===null){if(l=s.shared.pending,l===null)break;m=l,l=m.next,m.next=null,s.lastBaseUpdate=m,s.shared.pending=null}}while(!0);if(u===null&&(c=h),s.baseState=c,s.firstBaseUpdate=d,s.lastBaseUpdate=u,e=s.shared.interleaved,e!==null){s=e;do o|=s.lane,s=s.next;while(s!==e)}else i===null&&(s.shared.lanes=0);vs|=o,t.lanes=o,t.memoizedState=h}}function Bp(t,e,r){if(t=e.effects,e.effects=null,t!==null)for(e=0;er?r:4,t(!0);var n=$d.transition;$d.transition={};try{t(!1),e()}finally{we=r,$d.transition=n}}function Fy(){return Bt().memoizedState}function m_(t,e,r){var n=Rn(t);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},zy(t))Uy(e,r);else if(r=by(t,e,r,n),r!==null){var s=ut();or(r,t,n,s),By(r,e,n)}}function p_(t,e,r){var n=Rn(t),s={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(zy(t))Uy(e,s);else{var i=t.alternate;if(t.lanes===0&&(i===null||i.lanes===0)&&(i=e.lastRenderedReducer,i!==null))try{var o=e.lastRenderedState,l=i(o,r);if(s.hasEagerState=!0,s.eagerState=l,lr(l,o)){var c=e.interleaved;c===null?(s.next=s,Sf(e)):(s.next=c.next,c.next=s),e.interleaved=s;return}}catch{}finally{}r=by(t,e,s,n),r!==null&&(s=ut(),or(r,t,n,s),By(r,e,n))}}function zy(t){var e=t.alternate;return t===Ae||e!==null&&e===Ae}function Uy(t,e){bi=Bl=!0;var r=t.pending;r===null?e.next=e:(e.next=r.next,r.next=e),t.pending=e}function By(t,e,r){if(r&4194240){var n=e.lanes;n&=t.pendingLanes,r|=n,e.lanes=r,hf(t,r)}}var Wl={readContext:Ut,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useInsertionEffect:tt,useLayoutEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useMutableSource:tt,useSyncExternalStore:tt,useId:tt,unstable_isNewReconciler:!1},g_={readContext:Ut,useCallback:function(t,e){return xr().memoizedState=[t,e===void 0?null:e],t},useContext:Ut,useEffect:Vp,useImperativeHandle:function(t,e,r){return r=r!=null?r.concat([t]):null,ml(4194308,4,Oy.bind(null,e,t),r)},useLayoutEffect:function(t,e){return ml(4194308,4,t,e)},useInsertionEffect:function(t,e){return ml(4,2,t,e)},useMemo:function(t,e){var r=xr();return e=e===void 0?null:e,t=t(),r.memoizedState=[t,e],t},useReducer:function(t,e,r){var n=xr();return e=r!==void 0?r(e):e,n.memoizedState=n.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},n.queue=t,t=t.dispatch=m_.bind(null,Ae,t),[n.memoizedState,t]},useRef:function(t){var e=xr();return t={current:t},e.memoizedState=t},useState:Wp,useDebugValue:Mf,useDeferredValue:function(t){return xr().memoizedState=t},useTransition:function(){var t=Wp(!1),e=t[0];return t=f_.bind(null,t[1]),xr().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,r){var n=Ae,s=xr();if(Ee){if(r===void 0)throw Error(A(407));r=r()}else{if(r=e(),Qe===null)throw Error(A(349));xs&30||Sy(n,e,r)}s.memoizedState=r;var i={value:r,getSnapshot:e};return s.queue=i,Vp(Ey.bind(null,n,i,t),[t]),n.flags|=2048,Vi(9,Cy.bind(null,n,i,r,e),void 0,null),r},useId:function(){var t=xr(),e=Qe.identifierPrefix;if(Ee){var r=Wr,n=Br;r=(n&~(1<<32-ir(n)-1)).toString(32)+r,e=":"+e+"R"+r,r=Bi++,0<\/script>",t=t.removeChild(t.firstChild)):typeof n.is=="string"?t=o.createElement(r,{is:n.is}):(t=o.createElement(r),r==="select"&&(o=t,n.multiple?o.multiple=!0:n.size&&(o.size=n.size))):t=o.createElementNS(t,r),t[kr]=e,t[Fi]=n,Zy(t,e,!1,!1),e.stateNode=t;e:{switch(o=Ou(r,n),r){case"dialog":_e("cancel",t),_e("close",t),s=n;break;case"iframe":case"object":case"embed":_e("load",t),s=n;break;case"video":case"audio":for(s=0;sTa&&(e.flags|=128,n=!0,ri(i,!1),e.lanes=4194304)}else{if(!n)if(t=Ul(o),t!==null){if(e.flags|=128,n=!0,r=t.updateQueue,r!==null&&(e.updateQueue=r,e.flags|=4),ri(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!Ee)return rt(e),null}else 2*Fe()-i.renderingStartTime>Ta&&r!==1073741824&&(e.flags|=128,n=!0,ri(i,!1),e.lanes=4194304);i.isBackwards?(o.sibling=e.child,e.child=o):(r=i.last,r!==null?r.sibling=o:e.child=o,i.last=o)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=Fe(),e.sibling=null,r=Te.current,je(Te,n?r&1|2:r&1),e):(rt(e),null);case 22:case 23:return Uf(),n=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==n&&(e.flags|=8192),n&&e.mode&1?kt&1073741824&&(rt(e),e.subtreeFlags&6&&(e.flags|=8192)):rt(e),null;case 24:return null;case 25:return null}throw Error(A(156,e.tag))}function N_(t,e){switch(bf(e),e.tag){case 1:return wt(e.type)&&Ol(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Ea(),Se(yt),Se(at),Tf(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return Pf(e),null;case 13:if(Se(Te),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(A(340));Sa()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return Se(Te),null;case 4:return Ea(),null;case 10:return _f(e.type._context),null;case 22:case 23:return Uf(),null;case 24:return null;default:return null}}var Ho=!1,st=!1,__=typeof WeakSet=="function"?WeakSet:Set,z=null;function aa(t,e){var r=t.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){$e(t,e,n)}else r.current=null}function oh(t,e,r){try{r()}catch(n){$e(t,e,n)}}var tg=!1;function S_(t,e){if(Vu=Tl,t=ay(),yf(t)){if("selectionStart"in t)var r={start:t.selectionStart,end:t.selectionEnd};else e:{r=(r=t.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var s=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{r.nodeType,i.nodeType}catch{r=null;break e}var o=0,l=-1,c=-1,d=0,u=0,h=t,m=null;t:for(;;){for(var f;h!==r||s!==0&&h.nodeType!==3||(l=o+s),h!==i||n!==0&&h.nodeType!==3||(c=o+n),h.nodeType===3&&(o+=h.nodeValue.length),(f=h.firstChild)!==null;)m=h,h=f;for(;;){if(h===t)break t;if(m===r&&++d===s&&(l=o),m===i&&++u===n&&(c=o),(f=h.nextSibling)!==null)break;h=m,m=h.parentNode}h=f}r=l===-1||c===-1?null:{start:l,end:c}}else r=null}r=r||{start:0,end:0}}else r=null;for(Hu={focusedElem:t,selectionRange:r},Tl=!1,z=e;z!==null;)if(e=z,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,z=t;else for(;z!==null;){e=z;try{var b=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(b!==null){var x=b.memoizedProps,w=b.memoizedState,y=e.stateNode,g=y.getSnapshotBeforeUpdate(e.elementType===e.type?x:Qt(e.type,x),w);y.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=e.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(A(163))}}catch(k){$e(e,e.return,k)}if(t=e.sibling,t!==null){t.return=e.return,z=t;break}z=e.return}return b=tg,tg=!1,b}function ki(t,e,r){var n=e.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var s=n=n.next;do{if((s.tag&t)===t){var i=s.destroy;s.destroy=void 0,i!==void 0&&oh(e,r,i)}s=s.next}while(s!==n)}}function Ec(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var r=e=e.next;do{if((r.tag&t)===t){var n=r.create;r.destroy=n()}r=r.next}while(r!==e)}}function lh(t){var e=t.ref;if(e!==null){var r=t.stateNode;switch(t.tag){case 5:t=r;break;default:t=r}typeof e=="function"?e(t):e.current=t}}function tw(t){var e=t.alternate;e!==null&&(t.alternate=null,tw(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[kr],delete e[Fi],delete e[Gu],delete e[l_],delete e[c_])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function rw(t){return t.tag===5||t.tag===3||t.tag===4}function rg(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||rw(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function ch(t,e,r){var n=t.tag;if(n===5||n===6)t=t.stateNode,e?r.nodeType===8?r.parentNode.insertBefore(t,e):r.insertBefore(t,e):(r.nodeType===8?(e=r.parentNode,e.insertBefore(t,r)):(e=r,e.appendChild(t)),r=r._reactRootContainer,r!=null||e.onclick!==null||(e.onclick=Rl));else if(n!==4&&(t=t.child,t!==null))for(ch(t,e,r),t=t.sibling;t!==null;)ch(t,e,r),t=t.sibling}function dh(t,e,r){var n=t.tag;if(n===5||n===6)t=t.stateNode,e?r.insertBefore(t,e):r.appendChild(t);else if(n!==4&&(t=t.child,t!==null))for(dh(t,e,r),t=t.sibling;t!==null;)dh(t,e,r),t=t.sibling}var Ye=null,er=!1;function sn(t,e,r){for(r=r.child;r!==null;)nw(t,e,r),r=r.sibling}function nw(t,e,r){if(Cr&&typeof Cr.onCommitFiberUnmount=="function")try{Cr.onCommitFiberUnmount(wc,r)}catch{}switch(r.tag){case 5:st||aa(r,e);case 6:var n=Ye,s=er;Ye=null,sn(t,e,r),Ye=n,er=s,Ye!==null&&(er?(t=Ye,r=r.stateNode,t.nodeType===8?t.parentNode.removeChild(r):t.removeChild(r)):Ye.removeChild(r.stateNode));break;case 18:Ye!==null&&(er?(t=Ye,r=r.stateNode,t.nodeType===8?Md(t.parentNode,r):t.nodeType===1&&Md(t,r),Oi(t)):Md(Ye,r.stateNode));break;case 4:n=Ye,s=er,Ye=r.stateNode.containerInfo,er=!0,sn(t,e,r),Ye=n,er=s;break;case 0:case 11:case 14:case 15:if(!st&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){s=n=n.next;do{var i=s,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&oh(r,e,o),s=s.next}while(s!==n)}sn(t,e,r);break;case 1:if(!st&&(aa(r,e),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(l){$e(r,e,l)}sn(t,e,r);break;case 21:sn(t,e,r);break;case 22:r.mode&1?(st=(n=st)||r.memoizedState!==null,sn(t,e,r),st=n):sn(t,e,r);break;default:sn(t,e,r)}}function ng(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var r=t.stateNode;r===null&&(r=t.stateNode=new __),e.forEach(function(n){var s=M_.bind(null,t,n);r.has(n)||(r.add(n),n.then(s,s))})}}function Kt(t,e){var r=e.deletions;if(r!==null)for(var n=0;ns&&(s=o),n&=~i}if(n=s,n=Fe()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*E_(n/1960))-n,10t?16:t,Nn===null)var n=!1;else{if(t=Nn,Nn=null,ql=0,me&6)throw Error(A(331));var s=me;for(me|=4,z=t.current;z!==null;){var i=z,o=i.child;if(z.flags&16){var l=i.deletions;if(l!==null){for(var c=0;cFe()-Ff?fs(t,0):$f|=r),bt(t,e)}function uw(t,e){e===0&&(t.mode&1?(e=Lo,Lo<<=1,!(Lo&130023424)&&(Lo=4194304)):e=1);var r=ut();t=Kr(t,e),t!==null&&(oo(t,e,r),bt(t,r))}function O_(t){var e=t.memoizedState,r=0;e!==null&&(r=e.retryLane),uw(t,r)}function M_(t,e){var r=0;switch(t.tag){case 13:var n=t.stateNode,s=t.memoizedState;s!==null&&(r=s.retryLane);break;case 19:n=t.stateNode;break;default:throw Error(A(314))}n!==null&&n.delete(e),uw(t,r)}var hw;hw=function(t,e,r){if(t!==null)if(t.memoizedProps!==e.pendingProps||yt.current)vt=!0;else{if(!(t.lanes&r)&&!(e.flags&128))return vt=!1,k_(t,e,r);vt=!!(t.flags&131072)}else vt=!1,Ee&&e.flags&1048576&&gy(e,Dl,e.index);switch(e.lanes=0,e.tag){case 2:var n=e.type;pl(t,e),t=e.pendingProps;var s=_a(e,at.current);ua(e,r),s=If(null,e,n,t,s,r);var i=Rf();return e.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,wt(n)?(i=!0,Ml(e)):i=!1,e.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,Cf(e),s.updater=Cc,e.stateNode=s,s._reactInternals=e,eh(e,n,t,r),e=nh(null,e,n,!0,i,r)):(e.tag=0,Ee&&i&&wf(e),ct(null,e,s,r),e=e.child),e;case 16:n=e.elementType;e:{switch(pl(t,e),t=e.pendingProps,s=n._init,n=s(n._payload),e.type=n,s=e.tag=D_(n),t=Qt(n,t),s){case 0:e=rh(null,e,n,t,r);break e;case 1:e=Zp(null,e,n,t,r);break e;case 11:e=Qp(null,e,n,t,r);break e;case 14:e=Yp(null,e,n,Qt(n.type,t),r);break e}throw Error(A(306,n,""))}return e;case 0:return n=e.type,s=e.pendingProps,s=e.elementType===n?s:Qt(n,s),rh(t,e,n,s,r);case 1:return n=e.type,s=e.pendingProps,s=e.elementType===n?s:Qt(n,s),Zp(t,e,n,s,r);case 3:e:{if(Jy(e),t===null)throw Error(A(387));n=e.pendingProps,i=e.memoizedState,s=i.element,ky(t,e),zl(e,n,null,r);var o=e.memoizedState;if(n=o.element,i.isDehydrated)if(i={element:n,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=i,e.memoizedState=i,e.flags&256){s=Pa(Error(A(423)),e),e=Xp(t,e,n,r,s);break e}else if(n!==s){s=Pa(Error(A(424)),e),e=Xp(t,e,n,r,s);break e}else for(Nt=Tn(e.stateNode.containerInfo.firstChild),_t=e,Ee=!0,rr=null,r=wy(e,null,n,r),e.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(Sa(),n===s){e=Gr(t,e,r);break e}ct(t,e,n,r)}e=e.child}return e;case 5:return jy(e),t===null&&Yu(e),n=e.type,s=e.pendingProps,i=t!==null?t.memoizedProps:null,o=s.children,qu(n,s)?o=null:i!==null&&qu(n,i)&&(e.flags|=32),Gy(t,e),ct(t,e,o,r),e.child;case 6:return t===null&&Yu(e),null;case 13:return Qy(t,e,r);case 4:return Ef(e,e.stateNode.containerInfo),n=e.pendingProps,t===null?e.child=Ca(e,null,n,r):ct(t,e,n,r),e.child;case 11:return n=e.type,s=e.pendingProps,s=e.elementType===n?s:Qt(n,s),Qp(t,e,n,s,r);case 7:return ct(t,e,e.pendingProps,r),e.child;case 8:return ct(t,e,e.pendingProps.children,r),e.child;case 12:return ct(t,e,e.pendingProps.children,r),e.child;case 10:e:{if(n=e.type._context,s=e.pendingProps,i=e.memoizedProps,o=s.value,je($l,n._currentValue),n._currentValue=o,i!==null)if(lr(i.value,o)){if(i.children===s.children&&!yt.current){e=Gr(t,e,r);break e}}else for(i=e.child,i!==null&&(i.return=e);i!==null;){var l=i.dependencies;if(l!==null){o=i.child;for(var c=l.firstContext;c!==null;){if(c.context===n){if(i.tag===1){c=Vr(-1,r&-r),c.tag=2;var d=i.updateQueue;if(d!==null){d=d.shared;var u=d.pending;u===null?c.next=c:(c.next=u.next,u.next=c),d.pending=c}}i.lanes|=r,c=i.alternate,c!==null&&(c.lanes|=r),Zu(i.return,r,e),l.lanes|=r;break}c=c.next}}else if(i.tag===10)o=i.type===e.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(A(341));o.lanes|=r,l=o.alternate,l!==null&&(l.lanes|=r),Zu(o,r,e),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===e){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}ct(t,e,s.children,r),e=e.child}return e;case 9:return s=e.type,n=e.pendingProps.children,ua(e,r),s=Ut(s),n=n(s),e.flags|=1,ct(t,e,n,r),e.child;case 14:return n=e.type,s=Qt(n,e.pendingProps),s=Qt(n.type,s),Yp(t,e,n,s,r);case 15:return qy(t,e,e.type,e.pendingProps,r);case 17:return n=e.type,s=e.pendingProps,s=e.elementType===n?s:Qt(n,s),pl(t,e),e.tag=1,wt(n)?(t=!0,Ml(e)):t=!1,ua(e,r),Wy(e,n,s),eh(e,n,s,r),nh(null,e,n,!0,t,r);case 19:return Yy(t,e,r);case 22:return Ky(t,e,r)}throw Error(A(156,e.tag))};function fw(t,e){return zv(t,e)}function L_(t,e,r,n){this.tag=t,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Dt(t,e,r,n){return new L_(t,e,r,n)}function Wf(t){return t=t.prototype,!(!t||!t.isReactComponent)}function D_(t){if(typeof t=="function")return Wf(t)?1:0;if(t!=null){if(t=t.$$typeof,t===lf)return 11;if(t===cf)return 14}return 2}function On(t,e){var r=t.alternate;return r===null?(r=Dt(t.tag,e,t.key,t.mode),r.elementType=t.elementType,r.type=t.type,r.stateNode=t.stateNode,r.alternate=t,t.alternate=r):(r.pendingProps=e,r.type=t.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=t.flags&14680064,r.childLanes=t.childLanes,r.lanes=t.lanes,r.child=t.child,r.memoizedProps=t.memoizedProps,r.memoizedState=t.memoizedState,r.updateQueue=t.updateQueue,e=t.dependencies,r.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},r.sibling=t.sibling,r.index=t.index,r.ref=t.ref,r}function vl(t,e,r,n,s,i){var o=2;if(n=t,typeof t=="function")Wf(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case Qs:return ms(r.children,s,i,e);case of:o=8,s|=8;break;case Nu:return t=Dt(12,r,e,s|2),t.elementType=Nu,t.lanes=i,t;case _u:return t=Dt(13,r,e,s),t.elementType=_u,t.lanes=i,t;case Su:return t=Dt(19,r,e,s),t.elementType=Su,t.lanes=i,t;case jv:return Tc(r,s,i,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case bv:o=10;break e;case kv:o=9;break e;case lf:o=11;break e;case cf:o=14;break e;case hn:o=16,n=null;break e}throw Error(A(130,t==null?t:typeof t,""))}return e=Dt(o,r,e,s),e.elementType=t,e.type=n,e.lanes=i,e}function ms(t,e,r,n){return t=Dt(7,t,n,e),t.lanes=r,t}function Tc(t,e,r,n){return t=Dt(22,t,n,e),t.elementType=jv,t.lanes=r,t.stateNode={isHidden:!1},t}function Wd(t,e,r){return t=Dt(6,t,null,e),t.lanes=r,t}function Vd(t,e,r){return e=Dt(4,t.children!==null?t.children:[],t.key,e),e.lanes=r,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function $_(t,e,r,n,s){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Nd(0),this.expirationTimes=Nd(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Nd(0),this.identifierPrefix=n,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function Vf(t,e,r,n,s,i,o,l,c){return t=new $_(t,e,r,l,c),e===1?(e=1,i===!0&&(e|=8)):e=0,i=Dt(3,null,null,e),t.current=i,i.stateNode=t,i.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Cf(i),t}function F_(t,e,r){var n=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(xw)}catch(t){console.error(t)}}xw(),xv.exports=At;var ho=xv.exports;const vw=av(ho);var yw,ug=ho;yw=ug.createRoot,ug.hydrateRoot;const V_=1,H_=1e6;let Hd=0;function q_(){return Hd=(Hd+1)%Number.MAX_SAFE_INTEGER,Hd.toString()}const qd=new Map,hg=t=>{if(qd.has(t))return;const e=setTimeout(()=>{qd.delete(t),_i({type:"REMOVE_TOAST",toastId:t})},H_);qd.set(t,e)},K_=(t,e)=>{switch(e.type){case"ADD_TOAST":return{...t,toasts:[e.toast,...t.toasts].slice(0,V_)};case"UPDATE_TOAST":return{...t,toasts:t.toasts.map(r=>r.id===e.toast.id?{...r,...e.toast}:r)};case"DISMISS_TOAST":{const{toastId:r}=e;return r?hg(r):t.toasts.forEach(n=>{hg(n.id)}),{...t,toasts:t.toasts.map(n=>n.id===r||r===void 0?{...n,open:!1}:n)}}case"REMOVE_TOAST":return e.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(r=>r.id!==e.toastId)}}},yl=[];let wl={toasts:[]};function _i(t){wl=K_(wl,t),yl.forEach(e=>{e(wl)})}function G_({...t}){const e=q_(),r=s=>_i({type:"UPDATE_TOAST",toast:{...s,id:e}}),n=()=>_i({type:"DISMISS_TOAST",toastId:e});return _i({type:"ADD_TOAST",toast:{...t,id:e,open:!0,onOpenChange:s=>{s||n()}}}),{id:e,dismiss:n,update:r}}function Gf(){const[t,e]=p.useState(wl);return p.useEffect(()=>(yl.push(e),()=>{const r=yl.indexOf(e);r>-1&&yl.splice(r,1)}),[t]),{...t,toast:G_,dismiss:r=>_i({type:"DISMISS_TOAST",toastId:r})}}function H(t,e,{checkForDefaultPrevented:r=!0}={}){return function(s){if(t==null||t(s),r===!1||!s.defaultPrevented)return e==null?void 0:e(s)}}function fg(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Mc(...t){return e=>{let r=!1;const n=t.map(s=>{const i=fg(s,e);return!r&&typeof i=="function"&&(r=!0),i});if(r)return()=>{for(let s=0;s{const{children:o,...l}=i,c=p.useMemo(()=>l,Object.values(l));return a.jsx(r.Provider,{value:c,children:o})};n.displayName=t+"Provider";function s(i){const o=p.useContext(r);if(o)return o;if(e!==void 0)return e;throw new Error(`\`${i}\` must be used within \`${t}\``)}return[n,s]}function ur(t,e=[]){let r=[];function n(i,o){const l=p.createContext(o),c=r.length;r=[...r,o];const d=h=>{var y;const{scope:m,children:f,...b}=h,x=((y=m==null?void 0:m[t])==null?void 0:y[c])||l,w=p.useMemo(()=>b,Object.values(b));return a.jsx(x.Provider,{value:w,children:f})};d.displayName=i+"Provider";function u(h,m){var x;const f=((x=m==null?void 0:m[t])==null?void 0:x[c])||l,b=p.useContext(f);if(b)return b;if(o!==void 0)return o;throw new Error(`\`${h}\` must be used within \`${i}\``)}return[d,u]}const s=()=>{const i=r.map(o=>p.createContext(o));return function(l){const c=(l==null?void 0:l[t])||i;return p.useMemo(()=>({[`__scope${t}`]:{...l,[t]:c}}),[l,c])}};return s.scopeName=t,[n,Q_(s,...e)]}function Q_(...t){const e=t[0];if(t.length===1)return e;const r=()=>{const n=t.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(i){const o=n.reduce((l,{useScope:c,scopeName:d})=>{const h=c(i)[`__scope${d}`];return{...l,...h}},{});return p.useMemo(()=>({[`__scope${e.scopeName}`]:o}),[o])}};return r.scopeName=e.scopeName,r}function Aa(t){const e=Z_(t),r=p.forwardRef((n,s)=>{const{children:i,...o}=n,l=p.Children.toArray(i),c=l.find(eS);if(c){const d=c.props.children,u=l.map(h=>h===c?p.Children.count(d)>1?p.Children.only(null):p.isValidElement(d)?d.props.children:null:h);return a.jsx(e,{...o,ref:s,children:p.isValidElement(d)?p.cloneElement(d,void 0,u):null})}return a.jsx(e,{...o,ref:s,children:i})});return r.displayName=`${t}.Slot`,r}var Y_=Aa("Slot");function Z_(t){const e=p.forwardRef((r,n)=>{const{children:s,...i}=r;if(p.isValidElement(s)){const o=rS(s),l=tS(i,s.props);return s.type!==p.Fragment&&(l.ref=n?Mc(n,o):o),p.cloneElement(s,l)}return p.Children.count(s)>1?p.Children.only(null):null});return e.displayName=`${t}.SlotClone`,e}var ww=Symbol("radix.slottable");function X_(t){const e=({children:r})=>a.jsx(a.Fragment,{children:r});return e.displayName=`${t}.Slottable`,e.__radixId=ww,e}function eS(t){return p.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===ww}function tS(t,e){const r={...e};for(const n in e){const s=t[n],i=e[n];/^on[A-Z]/.test(n)?s&&i?r[n]=(...l)=>{const c=i(...l);return s(...l),c}:s&&(r[n]=s):n==="style"?r[n]={...s,...i}:n==="className"&&(r[n]=[s,i].filter(Boolean).join(" "))}return{...t,...r}}function rS(t){var n,s;let e=(n=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:n.get,r=e&&"isReactWarning"in e&&e.isReactWarning;return r?t.ref:(e=(s=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:s.get,r=e&&"isReactWarning"in e&&e.isReactWarning,r?t.props.ref:t.props.ref||t.ref)}function Lc(t){const e=t+"CollectionProvider",[r,n]=ur(e),[s,i]=r(e,{collectionRef:{current:null},itemMap:new Map}),o=x=>{const{scope:w,children:y}=x,g=T.useRef(null),v=T.useRef(new Map).current;return a.jsx(s,{scope:w,itemMap:v,collectionRef:g,children:y})};o.displayName=e;const l=t+"CollectionSlot",c=Aa(l),d=T.forwardRef((x,w)=>{const{scope:y,children:g}=x,v=i(l,y),k=Re(w,v.collectionRef);return a.jsx(c,{ref:k,children:g})});d.displayName=l;const u=t+"CollectionItemSlot",h="data-radix-collection-item",m=Aa(u),f=T.forwardRef((x,w)=>{const{scope:y,children:g,...v}=x,k=T.useRef(null),j=Re(w,k),N=i(u,y);return T.useEffect(()=>(N.itemMap.set(k,{ref:k,...v}),()=>void N.itemMap.delete(k))),a.jsx(m,{[h]:"",ref:j,children:g})});f.displayName=u;function b(x){const w=i(t+"CollectionConsumer",x);return T.useCallback(()=>{const g=w.collectionRef.current;if(!g)return[];const v=Array.from(g.querySelectorAll(`[${h}]`));return Array.from(w.itemMap.values()).sort((N,_)=>v.indexOf(N.ref.current)-v.indexOf(_.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:o,Slot:d,ItemSlot:f},b,n]}var nS=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],fe=nS.reduce((t,e)=>{const r=Aa(`Primitive.${e}`),n=p.forwardRef((s,i)=>{const{asChild:o,...l}=s,c=o?r:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(c,{...l,ref:i})});return n.displayName=`Primitive.${e}`,{...t,[e]:n}},{});function Jf(t,e){t&&ho.flushSync(()=>t.dispatchEvent(e))}function Pt(t){const e=p.useRef(t);return p.useEffect(()=>{e.current=t}),p.useMemo(()=>(...r)=>{var n;return(n=e.current)==null?void 0:n.call(e,...r)},[])}function sS(t,e=globalThis==null?void 0:globalThis.document){const r=Pt(t);p.useEffect(()=>{const n=s=>{s.key==="Escape"&&r(s)};return e.addEventListener("keydown",n,{capture:!0}),()=>e.removeEventListener("keydown",n,{capture:!0})},[r,e])}var aS="DismissableLayer",ph="dismissableLayer.update",iS="dismissableLayer.pointerDownOutside",oS="dismissableLayer.focusOutside",mg,bw=p.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),fo=p.forwardRef((t,e)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:s,onFocusOutside:i,onInteractOutside:o,onDismiss:l,...c}=t,d=p.useContext(bw),[u,h]=p.useState(null),m=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,f]=p.useState({}),b=Re(e,_=>h(_)),x=Array.from(d.layers),[w]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),y=x.indexOf(w),g=u?x.indexOf(u):-1,v=d.layersWithOutsidePointerEventsDisabled.size>0,k=g>=y,j=cS(_=>{const C=_.target,R=[...d.branches].some(I=>I.contains(C));!k||R||(s==null||s(_),o==null||o(_),_.defaultPrevented||l==null||l())},m),N=dS(_=>{const C=_.target;[...d.branches].some(I=>I.contains(C))||(i==null||i(_),o==null||o(_),_.defaultPrevented||l==null||l())},m);return sS(_=>{g===d.layers.size-1&&(n==null||n(_),!_.defaultPrevented&&l&&(_.preventDefault(),l()))},m),p.useEffect(()=>{if(u)return r&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(mg=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(u)),d.layers.add(u),pg(),()=>{r&&d.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=mg)}},[u,m,r,d]),p.useEffect(()=>()=>{u&&(d.layers.delete(u),d.layersWithOutsidePointerEventsDisabled.delete(u),pg())},[u,d]),p.useEffect(()=>{const _=()=>f({});return document.addEventListener(ph,_),()=>document.removeEventListener(ph,_)},[]),a.jsx(fe.div,{...c,ref:b,style:{pointerEvents:v?k?"auto":"none":void 0,...t.style},onFocusCapture:H(t.onFocusCapture,N.onFocusCapture),onBlurCapture:H(t.onBlurCapture,N.onBlurCapture),onPointerDownCapture:H(t.onPointerDownCapture,j.onPointerDownCapture)})});fo.displayName=aS;var lS="DismissableLayerBranch",kw=p.forwardRef((t,e)=>{const r=p.useContext(bw),n=p.useRef(null),s=Re(e,n);return p.useEffect(()=>{const i=n.current;if(i)return r.branches.add(i),()=>{r.branches.delete(i)}},[r.branches]),a.jsx(fe.div,{...t,ref:s})});kw.displayName=lS;function cS(t,e=globalThis==null?void 0:globalThis.document){const r=Pt(t),n=p.useRef(!1),s=p.useRef(()=>{});return p.useEffect(()=>{const i=l=>{if(l.target&&!n.current){let c=function(){jw(iS,r,d,{discrete:!0})};const d={originalEvent:l};l.pointerType==="touch"?(e.removeEventListener("click",s.current),s.current=c,e.addEventListener("click",s.current,{once:!0})):c()}else e.removeEventListener("click",s.current);n.current=!1},o=window.setTimeout(()=>{e.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(o),e.removeEventListener("pointerdown",i),e.removeEventListener("click",s.current)}},[e,r]),{onPointerDownCapture:()=>n.current=!0}}function dS(t,e=globalThis==null?void 0:globalThis.document){const r=Pt(t),n=p.useRef(!1);return p.useEffect(()=>{const s=i=>{i.target&&!n.current&&jw(oS,r,{originalEvent:i},{discrete:!1})};return e.addEventListener("focusin",s),()=>e.removeEventListener("focusin",s)},[e,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function pg(){const t=new CustomEvent(ph);document.dispatchEvent(t)}function jw(t,e,r,{discrete:n}){const s=r.originalEvent.target,i=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:r});e&&s.addEventListener(t,e,{once:!0}),n?Jf(s,i):s.dispatchEvent(i)}var uS=fo,hS=kw,Ar=globalThis!=null&&globalThis.document?p.useLayoutEffect:()=>{},fS="Portal",Dc=p.forwardRef((t,e)=>{var l;const{container:r,...n}=t,[s,i]=p.useState(!1);Ar(()=>i(!0),[]);const o=r||s&&((l=globalThis==null?void 0:globalThis.document)==null?void 0:l.body);return o?vw.createPortal(a.jsx(fe.div,{...n,ref:e}),o):null});Dc.displayName=fS;function mS(t,e){return p.useReducer((r,n)=>e[r][n]??r,t)}var hr=t=>{const{present:e,children:r}=t,n=pS(e),s=typeof r=="function"?r({present:n.isPresent}):p.Children.only(r),i=Re(n.ref,gS(s));return typeof r=="function"||n.isPresent?p.cloneElement(s,{ref:i}):null};hr.displayName="Presence";function pS(t){const[e,r]=p.useState(),n=p.useRef(null),s=p.useRef(t),i=p.useRef("none"),o=t?"mounted":"unmounted",[l,c]=mS(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return p.useEffect(()=>{const d=Go(n.current);i.current=l==="mounted"?d:"none"},[l]),Ar(()=>{const d=n.current,u=s.current;if(u!==t){const m=i.current,f=Go(d);t?c("MOUNT"):f==="none"||(d==null?void 0:d.display)==="none"?c("UNMOUNT"):c(u&&m!==f?"ANIMATION_OUT":"UNMOUNT"),s.current=t}},[t,c]),Ar(()=>{if(e){let d;const u=e.ownerDocument.defaultView??window,h=f=>{const x=Go(n.current).includes(f.animationName);if(f.target===e&&x&&(c("ANIMATION_END"),!s.current)){const w=e.style.animationFillMode;e.style.animationFillMode="forwards",d=u.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=w)})}},m=f=>{f.target===e&&(i.current=Go(n.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",h),e.addEventListener("animationend",h),()=>{u.clearTimeout(d),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",h),e.removeEventListener("animationend",h)}}else c("ANIMATION_END")},[e,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:p.useCallback(d=>{n.current=d?getComputedStyle(d):null,r(d)},[])}}function Go(t){return(t==null?void 0:t.animationName)||"none"}function gS(t){var n,s;let e=(n=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:n.get,r=e&&"isReactWarning"in e&&e.isReactWarning;return r?t.ref:(e=(s=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:s.get,r=e&&"isReactWarning"in e&&e.isReactWarning,r?t.props.ref:t.props.ref||t.ref)}var xS=rf[" useInsertionEffect ".trim().toString()]||Ar;function _s({prop:t,defaultProp:e,onChange:r=()=>{},caller:n}){const[s,i,o]=vS({defaultProp:e,onChange:r}),l=t!==void 0,c=l?t:s;{const u=p.useRef(t!==void 0);p.useEffect(()=>{const h=u.current;h!==l&&console.warn(`${n} is changing from ${h?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=l},[l,n])}const d=p.useCallback(u=>{var h;if(l){const m=yS(u)?u(t):u;m!==t&&((h=o.current)==null||h.call(o,m))}else i(u)},[l,t,i,o]);return[c,d]}function vS({defaultProp:t,onChange:e}){const[r,n]=p.useState(t),s=p.useRef(r),i=p.useRef(e);return xS(()=>{i.current=e},[e]),p.useEffect(()=>{var o;s.current!==r&&((o=i.current)==null||o.call(i,r),s.current=r)},[r,s]),[r,n,i]}function yS(t){return typeof t=="function"}var wS=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),bS="VisuallyHidden",$c=p.forwardRef((t,e)=>a.jsx(fe.span,{...t,ref:e,style:{...wS,...t.style}}));$c.displayName=bS;var kS=$c,Qf="ToastProvider",[Yf,jS,NS]=Lc("Toast"),[Nw,r3]=ur("Toast",[NS]),[_S,Fc]=Nw(Qf),_w=t=>{const{__scopeToast:e,label:r="Notification",duration:n=5e3,swipeDirection:s="right",swipeThreshold:i=50,children:o}=t,[l,c]=p.useState(null),[d,u]=p.useState(0),h=p.useRef(!1),m=p.useRef(!1);return r.trim()||console.error(`Invalid prop \`label\` supplied to \`${Qf}\`. Expected non-empty \`string\`.`),a.jsx(Yf.Provider,{scope:e,children:a.jsx(_S,{scope:e,label:r,duration:n,swipeDirection:s,swipeThreshold:i,toastCount:d,viewport:l,onViewportChange:c,onToastAdd:p.useCallback(()=>u(f=>f+1),[]),onToastRemove:p.useCallback(()=>u(f=>f-1),[]),isFocusedToastEscapeKeyDownRef:h,isClosePausedRef:m,children:o})})};_w.displayName=Qf;var Sw="ToastViewport",SS=["F8"],gh="toast.viewportPause",xh="toast.viewportResume",Cw=p.forwardRef((t,e)=>{const{__scopeToast:r,hotkey:n=SS,label:s="Notifications ({hotkey})",...i}=t,o=Fc(Sw,r),l=jS(r),c=p.useRef(null),d=p.useRef(null),u=p.useRef(null),h=p.useRef(null),m=Re(e,h,o.onViewportChange),f=n.join("+").replace(/Key/g,"").replace(/Digit/g,""),b=o.toastCount>0;p.useEffect(()=>{const w=y=>{var v;n.length!==0&&n.every(k=>y[k]||y.code===k)&&((v=h.current)==null||v.focus())};return document.addEventListener("keydown",w),()=>document.removeEventListener("keydown",w)},[n]),p.useEffect(()=>{const w=c.current,y=h.current;if(b&&w&&y){const g=()=>{if(!o.isClosePausedRef.current){const N=new CustomEvent(gh);y.dispatchEvent(N),o.isClosePausedRef.current=!0}},v=()=>{if(o.isClosePausedRef.current){const N=new CustomEvent(xh);y.dispatchEvent(N),o.isClosePausedRef.current=!1}},k=N=>{!w.contains(N.relatedTarget)&&v()},j=()=>{w.contains(document.activeElement)||v()};return w.addEventListener("focusin",g),w.addEventListener("focusout",k),w.addEventListener("pointermove",g),w.addEventListener("pointerleave",j),window.addEventListener("blur",g),window.addEventListener("focus",v),()=>{w.removeEventListener("focusin",g),w.removeEventListener("focusout",k),w.removeEventListener("pointermove",g),w.removeEventListener("pointerleave",j),window.removeEventListener("blur",g),window.removeEventListener("focus",v)}}},[b,o.isClosePausedRef]);const x=p.useCallback(({tabbingDirection:w})=>{const g=l().map(v=>{const k=v.ref.current,j=[k,...FS(k)];return w==="forwards"?j:j.reverse()});return(w==="forwards"?g.reverse():g).flat()},[l]);return p.useEffect(()=>{const w=h.current;if(w){const y=g=>{var j,N,_;const v=g.altKey||g.ctrlKey||g.metaKey;if(g.key==="Tab"&&!v){const C=document.activeElement,R=g.shiftKey;if(g.target===w&&R){(j=d.current)==null||j.focus();return}const $=x({tabbingDirection:R?"backwards":"forwards"}),ee=$.findIndex(L=>L===C);Kd($.slice(ee+1))?g.preventDefault():R?(N=d.current)==null||N.focus():(_=u.current)==null||_.focus()}};return w.addEventListener("keydown",y),()=>w.removeEventListener("keydown",y)}},[l,x]),a.jsxs(hS,{ref:c,role:"region","aria-label":s.replace("{hotkey}",f),tabIndex:-1,style:{pointerEvents:b?void 0:"none"},children:[b&&a.jsx(vh,{ref:d,onFocusFromOutsideViewport:()=>{const w=x({tabbingDirection:"forwards"});Kd(w)}}),a.jsx(Yf.Slot,{scope:r,children:a.jsx(fe.ol,{tabIndex:-1,...i,ref:m})}),b&&a.jsx(vh,{ref:u,onFocusFromOutsideViewport:()=>{const w=x({tabbingDirection:"backwards"});Kd(w)}})]})});Cw.displayName=Sw;var Ew="ToastFocusProxy",vh=p.forwardRef((t,e)=>{const{__scopeToast:r,onFocusFromOutsideViewport:n,...s}=t,i=Fc(Ew,r);return a.jsx($c,{"aria-hidden":!0,tabIndex:0,...s,ref:e,style:{position:"fixed"},onFocus:o=>{var d;const l=o.relatedTarget;!((d=i.viewport)!=null&&d.contains(l))&&n()}})});vh.displayName=Ew;var mo="Toast",CS="toast.swipeStart",ES="toast.swipeMove",PS="toast.swipeCancel",TS="toast.swipeEnd",Pw=p.forwardRef((t,e)=>{const{forceMount:r,open:n,defaultOpen:s,onOpenChange:i,...o}=t,[l,c]=_s({prop:n,defaultProp:s??!0,onChange:i,caller:mo});return a.jsx(hr,{present:r||l,children:a.jsx(RS,{open:l,...o,ref:e,onClose:()=>c(!1),onPause:Pt(t.onPause),onResume:Pt(t.onResume),onSwipeStart:H(t.onSwipeStart,d=>{d.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:H(t.onSwipeMove,d=>{const{x:u,y:h}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","move"),d.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${u}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${h}px`)}),onSwipeCancel:H(t.onSwipeCancel,d=>{d.currentTarget.setAttribute("data-swipe","cancel"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:H(t.onSwipeEnd,d=>{const{x:u,y:h}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","end"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${u}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${h}px`),c(!1)})})})});Pw.displayName=mo;var[AS,IS]=Nw(mo,{onClose(){}}),RS=p.forwardRef((t,e)=>{const{__scopeToast:r,type:n="foreground",duration:s,open:i,onClose:o,onEscapeKeyDown:l,onPause:c,onResume:d,onSwipeStart:u,onSwipeMove:h,onSwipeCancel:m,onSwipeEnd:f,...b}=t,x=Fc(mo,r),[w,y]=p.useState(null),g=Re(e,L=>y(L)),v=p.useRef(null),k=p.useRef(null),j=s||x.duration,N=p.useRef(0),_=p.useRef(j),C=p.useRef(0),{onToastAdd:R,onToastRemove:I}=x,G=Pt(()=>{var ie;(w==null?void 0:w.contains(document.activeElement))&&((ie=x.viewport)==null||ie.focus()),o()}),$=p.useCallback(L=>{!L||L===1/0||(window.clearTimeout(C.current),N.current=new Date().getTime(),C.current=window.setTimeout(G,L))},[G]);p.useEffect(()=>{const L=x.viewport;if(L){const ie=()=>{$(_.current),d==null||d()},q=()=>{const Y=new Date().getTime()-N.current;_.current=_.current-Y,window.clearTimeout(C.current),c==null||c()};return L.addEventListener(gh,q),L.addEventListener(xh,ie),()=>{L.removeEventListener(gh,q),L.removeEventListener(xh,ie)}}},[x.viewport,j,c,d,$]),p.useEffect(()=>{i&&!x.isClosePausedRef.current&&$(j)},[i,j,x.isClosePausedRef,$]),p.useEffect(()=>(R(),()=>I()),[R,I]);const ee=p.useMemo(()=>w?Lw(w):null,[w]);return x.viewport?a.jsxs(a.Fragment,{children:[ee&&a.jsx(OS,{__scopeToast:r,role:"status","aria-live":n==="foreground"?"assertive":"polite","aria-atomic":!0,children:ee}),a.jsx(AS,{scope:r,onClose:G,children:ho.createPortal(a.jsx(Yf.ItemSlot,{scope:r,children:a.jsx(uS,{asChild:!0,onEscapeKeyDown:H(l,()=>{x.isFocusedToastEscapeKeyDownRef.current||G(),x.isFocusedToastEscapeKeyDownRef.current=!1}),children:a.jsx(fe.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":i?"open":"closed","data-swipe-direction":x.swipeDirection,...b,ref:g,style:{userSelect:"none",touchAction:"none",...t.style},onKeyDown:H(t.onKeyDown,L=>{L.key==="Escape"&&(l==null||l(L.nativeEvent),L.nativeEvent.defaultPrevented||(x.isFocusedToastEscapeKeyDownRef.current=!0,G()))}),onPointerDown:H(t.onPointerDown,L=>{L.button===0&&(v.current={x:L.clientX,y:L.clientY})}),onPointerMove:H(t.onPointerMove,L=>{if(!v.current)return;const ie=L.clientX-v.current.x,q=L.clientY-v.current.y,Y=!!k.current,E=["left","right"].includes(x.swipeDirection),S=["left","up"].includes(x.swipeDirection)?Math.min:Math.max,M=E?S(0,ie):0,K=E?0:S(0,q),B=L.pointerType==="touch"?10:2,se={x:M,y:K},oe={originalEvent:L,delta:se};Y?(k.current=se,Jo(ES,h,oe,{discrete:!1})):gg(se,x.swipeDirection,B)?(k.current=se,Jo(CS,u,oe,{discrete:!1}),L.target.setPointerCapture(L.pointerId)):(Math.abs(ie)>B||Math.abs(q)>B)&&(v.current=null)}),onPointerUp:H(t.onPointerUp,L=>{const ie=k.current,q=L.target;if(q.hasPointerCapture(L.pointerId)&&q.releasePointerCapture(L.pointerId),k.current=null,v.current=null,ie){const Y=L.currentTarget,E={originalEvent:L,delta:ie};gg(ie,x.swipeDirection,x.swipeThreshold)?Jo(TS,f,E,{discrete:!0}):Jo(PS,m,E,{discrete:!0}),Y.addEventListener("click",S=>S.preventDefault(),{once:!0})}})})})}),x.viewport)})]}):null}),OS=t=>{const{__scopeToast:e,children:r,...n}=t,s=Fc(mo,e),[i,o]=p.useState(!1),[l,c]=p.useState(!1);return DS(()=>o(!0)),p.useEffect(()=>{const d=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(d)},[]),l?null:a.jsx(Dc,{asChild:!0,children:a.jsx($c,{...n,children:i&&a.jsxs(a.Fragment,{children:[s.label," ",r]})})})},MS="ToastTitle",Tw=p.forwardRef((t,e)=>{const{__scopeToast:r,...n}=t;return a.jsx(fe.div,{...n,ref:e})});Tw.displayName=MS;var LS="ToastDescription",Aw=p.forwardRef((t,e)=>{const{__scopeToast:r,...n}=t;return a.jsx(fe.div,{...n,ref:e})});Aw.displayName=LS;var Iw="ToastAction",Rw=p.forwardRef((t,e)=>{const{altText:r,...n}=t;return r.trim()?a.jsx(Mw,{altText:r,asChild:!0,children:a.jsx(Zf,{...n,ref:e})}):(console.error(`Invalid prop \`altText\` supplied to \`${Iw}\`. Expected non-empty \`string\`.`),null)});Rw.displayName=Iw;var Ow="ToastClose",Zf=p.forwardRef((t,e)=>{const{__scopeToast:r,...n}=t,s=IS(Ow,r);return a.jsx(Mw,{asChild:!0,children:a.jsx(fe.button,{type:"button",...n,ref:e,onClick:H(t.onClick,s.onClose)})})});Zf.displayName=Ow;var Mw=p.forwardRef((t,e)=>{const{__scopeToast:r,altText:n,...s}=t;return a.jsx(fe.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":n||void 0,...s,ref:e})});function Lw(t){const e=[];return Array.from(t.childNodes).forEach(n=>{if(n.nodeType===n.TEXT_NODE&&n.textContent&&e.push(n.textContent),$S(n)){const s=n.ariaHidden||n.hidden||n.style.display==="none",i=n.dataset.radixToastAnnounceExclude==="";if(!s)if(i){const o=n.dataset.radixToastAnnounceAlt;o&&e.push(o)}else e.push(...Lw(n))}}),e}function Jo(t,e,r,{discrete:n}){const s=r.originalEvent.currentTarget,i=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:r});e&&s.addEventListener(t,e,{once:!0}),n?Jf(s,i):s.dispatchEvent(i)}var gg=(t,e,r=0)=>{const n=Math.abs(t.x),s=Math.abs(t.y),i=n>s;return e==="left"||e==="right"?i&&n>r:!i&&s>r};function DS(t=()=>{}){const e=Pt(t);Ar(()=>{let r=0,n=0;return r=window.requestAnimationFrame(()=>n=window.requestAnimationFrame(e)),()=>{window.cancelAnimationFrame(r),window.cancelAnimationFrame(n)}},[e])}function $S(t){return t.nodeType===t.ELEMENT_NODE}function FS(t){const e=[],r=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const s=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||s?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)e.push(r.currentNode);return e}function Kd(t){const e=document.activeElement;return t.some(r=>r===e?!0:(r.focus(),document.activeElement!==e))}var zS=_w,Dw=Cw,$w=Pw,Fw=Tw,zw=Aw,Uw=Rw,Bw=Zf;function Ww(t){var e,r,n="";if(typeof t=="string"||typeof t=="number")n+=t;else if(typeof t=="object")if(Array.isArray(t)){var s=t.length;for(e=0;etypeof t=="boolean"?`${t}`:t===0?"0":t,vg=Vw,Xf=(t,e)=>r=>{var n;if((e==null?void 0:e.variants)==null)return vg(t,r==null?void 0:r.class,r==null?void 0:r.className);const{variants:s,defaultVariants:i}=e,o=Object.keys(s).map(d=>{const u=r==null?void 0:r[d],h=i==null?void 0:i[d];if(u===null)return null;const m=xg(u)||xg(h);return s[d][m]}),l=r&&Object.entries(r).reduce((d,u)=>{let[h,m]=u;return m===void 0||(d[h]=m),d},{}),c=e==null||(n=e.compoundVariants)===null||n===void 0?void 0:n.reduce((d,u)=>{let{class:h,className:m,...f}=u;return Object.entries(f).every(b=>{let[x,w]=b;return Array.isArray(w)?w.includes({...i,...l}[x]):{...i,...l}[x]===w})?[...d,h,m]:d},[]);return vg(t,o,c,r==null?void 0:r.class,r==null?void 0:r.className)};/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const US=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Hw=(...t)=>t.filter((e,r,n)=>!!e&&e.trim()!==""&&n.indexOf(e)===r).join(" ").trim();/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */var BS={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const WS=p.forwardRef(({color:t="currentColor",size:e=24,strokeWidth:r=2,absoluteStrokeWidth:n,className:s="",children:i,iconNode:o,...l},c)=>p.createElement("svg",{ref:c,...BS,width:e,height:e,stroke:t,strokeWidth:n?Number(r)*24/Number(e):r,className:Hw("lucide",s),...l},[...o.map(([d,u])=>p.createElement(d,u)),...Array.isArray(i)?i:[i]]));/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const ye=(t,e)=>{const r=p.forwardRef(({className:n,...s},i)=>p.createElement(WS,{ref:i,iconNode:e,className:Hw(`lucide-${US(t)}`,n),...s}));return r.displayName=`${t}`,r};/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const VS=ye("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const HS=ye("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const qS=ye("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const zc=ye("BookOpen",[["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"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const em=ye("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Uc=ye("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const tm=ye("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const bl=ye("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const St=ye("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const qw=ye("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const yg=ye("CircleX",[["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"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const KS=ye("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const po=ye("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Jl=ye("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Kw=ye("Headphones",[["path",{d:"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3",key:"1xhozi"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Gw=ye("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const GS=ye("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Ql=ye("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Bc=ye("RefreshCw",[["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"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const JS=ye("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const rm=ye("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Yl=ye("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Jw=ye("Smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const wg=ye("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Qw=ye("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Wc=ye("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Yw=ye("TriangleAlert",[["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"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Zl=ye("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Xl=ye("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/** * @license lucide-react v0.462.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Vc=ye("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),nm="-",QS=t=>{const e=ZS(t),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=t;return{getClassGroupId:o=>{const l=o.split(nm);return l[0]===""&&l.length!==1&&l.shift(),Zw(l,e)||YS(o)},getConflictingClassGroupIds:(o,l)=>{const c=r[o]||[];return l&&n[o]?[...c,...n[o]]:c}}},Zw=(t,e)=>{var o;if(t.length===0)return e.classGroupId;const r=t[0],n=e.nextPart.get(r),s=n?Zw(t.slice(1),n):void 0;if(s)return s;if(e.validators.length===0)return;const i=t.join(nm);return(o=e.validators.find(({validator:l})=>l(i)))==null?void 0:o.classGroupId},bg=/^\[(.+)\]$/,YS=t=>{if(bg.test(t)){const e=bg.exec(t)[1],r=e==null?void 0:e.substring(0,e.indexOf(":"));if(r)return"arbitrary.."+r}},ZS=t=>{const{theme:e,prefix:r}=t,n={nextPart:new Map,validators:[]};return e2(Object.entries(t.classGroups),r).forEach(([i,o])=>{yh(o,n,i,e)}),n},yh=(t,e,r,n)=>{t.forEach(s=>{if(typeof s=="string"){const i=s===""?e:kg(e,s);i.classGroupId=r;return}if(typeof s=="function"){if(XS(s)){yh(s(n),e,r,n);return}e.validators.push({validator:s,classGroupId:r});return}Object.entries(s).forEach(([i,o])=>{yh(o,kg(e,i),r,n)})})},kg=(t,e)=>{let r=t;return e.split(nm).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},XS=t=>t.isThemeGetter,e2=(t,e)=>e?t.map(([r,n])=>{const s=n.map(i=>typeof i=="string"?e+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([o,l])=>[e+o,l])):i);return[r,s]}):t,t2=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,r=new Map,n=new Map;const s=(i,o)=>{r.set(i,o),e++,e>t&&(e=0,n=r,r=new Map)};return{get(i){let o=r.get(i);if(o!==void 0)return o;if((o=n.get(i))!==void 0)return s(i,o),o},set(i,o){r.has(i)?r.set(i,o):s(i,o)}}},Xw="!",r2=t=>{const{separator:e,experimentalParseClassName:r}=t,n=e.length===1,s=e[0],i=e.length,o=l=>{const c=[];let d=0,u=0,h;for(let w=0;wu?h-u:void 0;return{modifiers:c,hasImportantModifier:f,baseClassName:b,maybePostfixModifierPosition:x}};return r?l=>r({className:l,parseClassName:o}):o},n2=t=>{if(t.length<=1)return t;const e=[];let r=[];return t.forEach(n=>{n[0]==="["?(e.push(...r.sort(),n),r=[]):r.push(n)}),e.push(...r.sort()),e},s2=t=>({cache:t2(t.cacheSize),parseClassName:r2(t),...QS(t)}),a2=/\s+/,i2=(t,e)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:s}=e,i=[],o=t.trim().split(a2);let l="";for(let c=o.length-1;c>=0;c-=1){const d=o[c],{modifiers:u,hasImportantModifier:h,baseClassName:m,maybePostfixModifierPosition:f}=r(d);let b=!!f,x=n(b?m.substring(0,f):m);if(!x){if(!b){l=d+(l.length>0?" "+l:l);continue}if(x=n(m),!x){l=d+(l.length>0?" "+l:l);continue}b=!1}const w=n2(u).join(":"),y=h?w+Xw:w,g=y+x;if(i.includes(g))continue;i.push(g);const v=s(x,b);for(let k=0;k0?" "+l:l)}return l};function o2(){let t=0,e,r,n="";for(;t{if(typeof t=="string")return t;let e,r="";for(let n=0;nh(u),t());return r=s2(d),n=r.cache.get,s=r.cache.set,i=l,l(c)}function l(c){const d=n(c);if(d)return d;const u=i2(c,r);return s(c,u),u}return function(){return i(o2.apply(null,arguments))}}const Ne=t=>{const e=r=>r[t]||[];return e.isThemeGetter=!0,e},tb=/^\[(?:([a-z-]+):)?(.+)\]$/i,c2=/^\d+\/\d+$/,d2=new Set(["px","full","screen"]),u2=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,h2=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,f2=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,m2=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,p2=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Mr=t=>fa(t)||d2.has(t)||c2.test(t),an=t=>Ba(t,"length",j2),fa=t=>!!t&&!Number.isNaN(Number(t)),Gd=t=>Ba(t,"number",fa),si=t=>!!t&&Number.isInteger(Number(t)),g2=t=>t.endsWith("%")&&fa(t.slice(0,-1)),ae=t=>tb.test(t),on=t=>u2.test(t),x2=new Set(["length","size","percentage"]),v2=t=>Ba(t,x2,rb),y2=t=>Ba(t,"position",rb),w2=new Set(["image","url"]),b2=t=>Ba(t,w2,_2),k2=t=>Ba(t,"",N2),ai=()=>!0,Ba=(t,e,r)=>{const n=tb.exec(t);return n?n[1]?typeof e=="string"?n[1]===e:e.has(n[1]):r(n[2]):!1},j2=t=>h2.test(t)&&!f2.test(t),rb=()=>!1,N2=t=>m2.test(t),_2=t=>p2.test(t),S2=()=>{const t=Ne("colors"),e=Ne("spacing"),r=Ne("blur"),n=Ne("brightness"),s=Ne("borderColor"),i=Ne("borderRadius"),o=Ne("borderSpacing"),l=Ne("borderWidth"),c=Ne("contrast"),d=Ne("grayscale"),u=Ne("hueRotate"),h=Ne("invert"),m=Ne("gap"),f=Ne("gradientColorStops"),b=Ne("gradientColorStopPositions"),x=Ne("inset"),w=Ne("margin"),y=Ne("opacity"),g=Ne("padding"),v=Ne("saturate"),k=Ne("scale"),j=Ne("sepia"),N=Ne("skew"),_=Ne("space"),C=Ne("translate"),R=()=>["auto","contain","none"],I=()=>["auto","hidden","clip","visible","scroll"],G=()=>["auto",ae,e],$=()=>[ae,e],ee=()=>["",Mr,an],L=()=>["auto",fa,ae],ie=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],q=()=>["solid","dashed","dotted","double","none"],Y=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],E=()=>["start","end","center","between","around","evenly","stretch"],S=()=>["","0",ae],M=()=>["auto","avoid","all","avoid-page","page","left","right","column"],K=()=>[fa,ae];return{cacheSize:500,separator:":",theme:{colors:[ai],spacing:[Mr,an],blur:["none","",on,ae],brightness:K(),borderColor:[t],borderRadius:["none","","full",on,ae],borderSpacing:$(),borderWidth:ee(),contrast:K(),grayscale:S(),hueRotate:K(),invert:S(),gap:$(),gradientColorStops:[t],gradientColorStopPositions:[g2,an],inset:G(),margin:G(),opacity:K(),padding:$(),saturate:K(),scale:K(),sepia:S(),skew:K(),space:$(),translate:$()},classGroups:{aspect:[{aspect:["auto","square","video",ae]}],container:["container"],columns:[{columns:[on]}],"break-after":[{"break-after":M()}],"break-before":[{"break-before":M()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...ie(),ae]}],overflow:[{overflow:I()}],"overflow-x":[{"overflow-x":I()}],"overflow-y":[{"overflow-y":I()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[x]}],"inset-x":[{"inset-x":[x]}],"inset-y":[{"inset-y":[x]}],start:[{start:[x]}],end:[{end:[x]}],top:[{top:[x]}],right:[{right:[x]}],bottom:[{bottom:[x]}],left:[{left:[x]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",si,ae]}],basis:[{basis:G()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",ae]}],grow:[{grow:S()}],shrink:[{shrink:S()}],order:[{order:["first","last","none",si,ae]}],"grid-cols":[{"grid-cols":[ai]}],"col-start-end":[{col:["auto",{span:["full",si,ae]},ae]}],"col-start":[{"col-start":L()}],"col-end":[{"col-end":L()}],"grid-rows":[{"grid-rows":[ai]}],"row-start-end":[{row:["auto",{span:[si,ae]},ae]}],"row-start":[{"row-start":L()}],"row-end":[{"row-end":L()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",ae]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",ae]}],gap:[{gap:[m]}],"gap-x":[{"gap-x":[m]}],"gap-y":[{"gap-y":[m]}],"justify-content":[{justify:["normal",...E()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...E(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...E(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[g]}],px:[{px:[g]}],py:[{py:[g]}],ps:[{ps:[g]}],pe:[{pe:[g]}],pt:[{pt:[g]}],pr:[{pr:[g]}],pb:[{pb:[g]}],pl:[{pl:[g]}],m:[{m:[w]}],mx:[{mx:[w]}],my:[{my:[w]}],ms:[{ms:[w]}],me:[{me:[w]}],mt:[{mt:[w]}],mr:[{mr:[w]}],mb:[{mb:[w]}],ml:[{ml:[w]}],"space-x":[{"space-x":[_]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[_]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",ae,e]}],"min-w":[{"min-w":[ae,e,"min","max","fit"]}],"max-w":[{"max-w":[ae,e,"none","full","min","max","fit","prose",{screen:[on]},on]}],h:[{h:[ae,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[ae,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[ae,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[ae,e,"auto","min","max","fit"]}],"font-size":[{text:["base",on,an]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Gd]}],"font-family":[{font:[ai]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",ae]}],"line-clamp":[{"line-clamp":["none",fa,Gd]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Mr,ae]}],"list-image":[{"list-image":["none",ae]}],"list-style-type":[{list:["none","disc","decimal",ae]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[y]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[y]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...q(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Mr,an]}],"underline-offset":[{"underline-offset":["auto",Mr,ae]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:$()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ae]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ae]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[y]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ie(),y2]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",v2]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},b2]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[b]}],"gradient-via-pos":[{via:[b]}],"gradient-to-pos":[{to:[b]}],"gradient-from":[{from:[f]}],"gradient-via":[{via:[f]}],"gradient-to":[{to:[f]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[y]}],"border-style":[{border:[...q(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[y]}],"divide-style":[{divide:q()}],"border-color":[{border:[s]}],"border-color-x":[{"border-x":[s]}],"border-color-y":[{"border-y":[s]}],"border-color-s":[{"border-s":[s]}],"border-color-e":[{"border-e":[s]}],"border-color-t":[{"border-t":[s]}],"border-color-r":[{"border-r":[s]}],"border-color-b":[{"border-b":[s]}],"border-color-l":[{"border-l":[s]}],"divide-color":[{divide:[s]}],"outline-style":[{outline:["",...q()]}],"outline-offset":[{"outline-offset":[Mr,ae]}],"outline-w":[{outline:[Mr,an]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:ee()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[y]}],"ring-offset-w":[{"ring-offset":[Mr,an]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",on,k2]}],"shadow-color":[{shadow:[ai]}],opacity:[{opacity:[y]}],"mix-blend":[{"mix-blend":[...Y(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":Y()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[n]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":["","none",on,ae]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[h]}],saturate:[{saturate:[v]}],sepia:[{sepia:[j]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[h]}],"backdrop-opacity":[{"backdrop-opacity":[y]}],"backdrop-saturate":[{"backdrop-saturate":[v]}],"backdrop-sepia":[{"backdrop-sepia":[j]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",ae]}],duration:[{duration:K()}],ease:[{ease:["linear","in","out","in-out",ae]}],delay:[{delay:K()}],animate:[{animate:["none","spin","ping","pulse","bounce",ae]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[k]}],"scale-x":[{"scale-x":[k]}],"scale-y":[{"scale-y":[k]}],rotate:[{rotate:[si,ae]}],"translate-x":[{"translate-x":[C]}],"translate-y":[{"translate-y":[C]}],"skew-x":[{"skew-x":[N]}],"skew-y":[{"skew-y":[N]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",ae]}],accent:[{accent:["auto",t]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ae]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":$()}],"scroll-mx":[{"scroll-mx":$()}],"scroll-my":[{"scroll-my":$()}],"scroll-ms":[{"scroll-ms":$()}],"scroll-me":[{"scroll-me":$()}],"scroll-mt":[{"scroll-mt":$()}],"scroll-mr":[{"scroll-mr":$()}],"scroll-mb":[{"scroll-mb":$()}],"scroll-ml":[{"scroll-ml":$()}],"scroll-p":[{"scroll-p":$()}],"scroll-px":[{"scroll-px":$()}],"scroll-py":[{"scroll-py":$()}],"scroll-ps":[{"scroll-ps":$()}],"scroll-pe":[{"scroll-pe":$()}],"scroll-pt":[{"scroll-pt":$()}],"scroll-pr":[{"scroll-pr":$()}],"scroll-pb":[{"scroll-pb":$()}],"scroll-pl":[{"scroll-pl":$()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ae]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[Mr,an,Gd]}],stroke:[{stroke:[t,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},C2=l2(S2);function pe(...t){return C2(Vw(t))}const E2=zS,nb=p.forwardRef(({className:t,...e},r)=>a.jsx(Dw,{ref:r,className:pe("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",t),...e}));nb.displayName=Dw.displayName;const P2=Xf("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),sb=p.forwardRef(({className:t,variant:e,...r},n)=>a.jsx($w,{ref:n,className:pe(P2({variant:e}),t),...r}));sb.displayName=$w.displayName;const T2=p.forwardRef(({className:t,...e},r)=>a.jsx(Uw,{ref:r,className:pe("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",t),...e}));T2.displayName=Uw.displayName;const ab=p.forwardRef(({className:t,...e},r)=>a.jsx(Bw,{ref:r,className:pe("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",t),"toast-close":"",...e,children:a.jsx(Vc,{className:"h-4 w-4"})}));ab.displayName=Bw.displayName;const ib=p.forwardRef(({className:t,...e},r)=>a.jsx(Fw,{ref:r,className:pe("text-sm font-semibold",t),...e}));ib.displayName=Fw.displayName;const ob=p.forwardRef(({className:t,...e},r)=>a.jsx(zw,{ref:r,className:pe("text-sm opacity-90",t),...e}));ob.displayName=zw.displayName;function A2(){const{toasts:t}=Gf();return a.jsxs(E2,{children:[t.map(function({id:e,title:r,description:n,action:s,...i}){return a.jsxs(sb,{...i,children:[a.jsxs("div",{className:"grid gap-1",children:[r&&a.jsx(ib,{children:r}),n&&a.jsx(ob,{children:n})]}),s,a.jsx(ab,{})]},e)}),a.jsx(nb,{})]})}var jg=["light","dark"],I2="(prefers-color-scheme: dark)",R2=p.createContext(void 0),O2={setTheme:t=>{},themes:[]},M2=()=>{var t;return(t=p.useContext(R2))!=null?t:O2};p.memo(({forcedTheme:t,storageKey:e,attribute:r,enableSystem:n,enableColorScheme:s,defaultTheme:i,value:o,attrs:l,nonce:c})=>{let d=i==="system",u=r==="class"?`var d=document.documentElement,c=d.classList;${`c.remove(${l.map(b=>`'${b}'`).join(",")})`};`:`var d=document.documentElement,n='${r}',s='setAttribute';`,h=s?jg.includes(i)&&i?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${i}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",m=(b,x=!1,w=!0)=>{let y=o?o[b]:b,g=x?b+"|| ''":`'${y}'`,v="";return s&&w&&!x&&jg.includes(b)&&(v+=`d.style.colorScheme = '${b}';`),r==="class"?x||y?v+=`c.add(${g})`:v+="null":y&&(v+=`d[s](n,${g})`),v},f=t?`!function(){${u}${m(t)}}()`:n?`!function(){try{${u}var e=localStorage.getItem('${e}');if('system'===e||(!e&&${d})){var t='${I2}',m=window.matchMedia(t);if(m.media!==t||m.matches){${m("dark")}}else{${m("light")}}}else if(e){${o?`var x=${JSON.stringify(o)};`:""}${m(o?"x[e]":"e",!0)}}${d?"":"else{"+m(i,!1,!1)+"}"}${h}}catch(e){}}()`:`!function(){try{${u}var e=localStorage.getItem('${e}');if(e){${o?`var x=${JSON.stringify(o)};`:""}${m(o?"x[e]":"e",!0)}}else{${m(i,!1,!1)};}${h}}catch(t){}}();`;return p.createElement("script",{nonce:c,dangerouslySetInnerHTML:{__html:f}})});var L2=t=>{switch(t){case"success":return F2;case"info":return U2;case"warning":return z2;case"error":return B2;default:return null}},D2=Array(12).fill(0),$2=({visible:t,className:e})=>T.createElement("div",{className:["sonner-loading-wrapper",e].filter(Boolean).join(" "),"data-visible":t},T.createElement("div",{className:"sonner-spinner"},D2.map((r,n)=>T.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${n}`})))),F2=T.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},T.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"})),z2=T.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},T.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"})),U2=T.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},T.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"})),B2=T.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},T.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"})),W2=T.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"},T.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),T.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),V2=()=>{let[t,e]=T.useState(document.hidden);return T.useEffect(()=>{let r=()=>{e(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),t},wh=1,H2=class{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{let e=this.subscribers.indexOf(t);this.subscribers.splice(e,1)}),this.publish=t=>{this.subscribers.forEach(e=>e(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var e;let{message:r,...n}=t,s=typeof(t==null?void 0:t.id)=="number"||((e=t.id)==null?void 0:e.length)>0?t.id:wh++,i=this.toasts.find(l=>l.id===s),o=t.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(s)&&this.dismissedToasts.delete(s),i?this.toasts=this.toasts.map(l=>l.id===s?(this.publish({...l,...t,id:s,title:r}),{...l,...t,id:s,dismissible:o,title:r}):l):this.addToast({title:r,...n,dismissible:o,id:s}),s},this.dismiss=t=>(this.dismissedToasts.add(t),t||this.toasts.forEach(e=>{this.subscribers.forEach(r=>r({id:e.id,dismiss:!0}))}),this.subscribers.forEach(e=>e({id:t,dismiss:!0})),t),this.message=(t,e)=>this.create({...e,message:t}),this.error=(t,e)=>this.create({...e,message:t,type:"error"}),this.success=(t,e)=>this.create({...e,type:"success",message:t}),this.info=(t,e)=>this.create({...e,type:"info",message:t}),this.warning=(t,e)=>this.create({...e,type:"warning",message:t}),this.loading=(t,e)=>this.create({...e,type:"loading",message:t}),this.promise=(t,e)=>{if(!e)return;let r;e.loading!==void 0&&(r=this.create({...e,promise:t,type:"loading",message:e.loading,description:typeof e.description!="function"?e.description:void 0}));let n=t instanceof Promise?t:t(),s=r!==void 0,i,o=n.then(async c=>{if(i=["resolve",c],T.isValidElement(c))s=!1,this.create({id:r,type:"default",message:c});else if(K2(c)&&!c.ok){s=!1;let d=typeof e.error=="function"?await e.error(`HTTP error! status: ${c.status}`):e.error,u=typeof e.description=="function"?await e.description(`HTTP error! status: ${c.status}`):e.description;this.create({id:r,type:"error",message:d,description:u})}else if(e.success!==void 0){s=!1;let d=typeof e.success=="function"?await e.success(c):e.success,u=typeof e.description=="function"?await e.description(c):e.description;this.create({id:r,type:"success",message:d,description:u})}}).catch(async c=>{if(i=["reject",c],e.error!==void 0){s=!1;let d=typeof e.error=="function"?await e.error(c):e.error,u=typeof e.description=="function"?await e.description(c):e.description;this.create({id:r,type:"error",message:d,description:u})}}).finally(()=>{var c;s&&(this.dismiss(r),r=void 0),(c=e.finally)==null||c.call(e)}),l=()=>new Promise((c,d)=>o.then(()=>i[0]==="reject"?d(i[1]):c(i[1])).catch(d));return typeof r!="string"&&typeof r!="number"?{unwrap:l}:Object.assign(r,{unwrap:l})},this.custom=(t,e)=>{let r=(e==null?void 0:e.id)||wh++;return this.create({jsx:t(r),id:r,...e}),r},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},pt=new H2,q2=(t,e)=>{let r=(e==null?void 0:e.id)||wh++;return pt.addToast({title:t,...e,id:r}),r},K2=t=>t&&typeof t=="object"&&"ok"in t&&typeof t.ok=="boolean"&&"status"in t&&typeof t.status=="number",G2=q2,J2=()=>pt.toasts,Q2=()=>pt.getActiveToasts();Object.assign(G2,{success:pt.success,info:pt.info,warning:pt.warning,error:pt.error,custom:pt.custom,message:pt.message,promise:pt.promise,dismiss:pt.dismiss,loading:pt.loading},{getHistory:J2,getToasts:Q2});function Y2(t,{insertAt:e}={}){if(typeof document>"u")return;let r=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",e==="top"&&r.firstChild?r.insertBefore(n,r.firstChild):r.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}Y2(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} `);function Qo(t){return t.label!==void 0}var Z2=3,X2="32px",eC="16px",Ng=4e3,tC=356,rC=14,nC=20,sC=200;function Gt(...t){return t.filter(Boolean).join(" ")}function aC(t){let[e,r]=t.split("-"),n=[];return e&&n.push(e),r&&n.push(r),n}var iC=t=>{var e,r,n,s,i,o,l,c,d,u,h;let{invert:m,toast:f,unstyled:b,interacting:x,setHeights:w,visibleToasts:y,heights:g,index:v,toasts:k,expanded:j,removeToast:N,defaultRichColors:_,closeButton:C,style:R,cancelButtonStyle:I,actionButtonStyle:G,className:$="",descriptionClassName:ee="",duration:L,position:ie,gap:q,loadingIcon:Y,expandByDefault:E,classNames:S,icons:M,closeButtonAriaLabel:K="Close toast",pauseWhenPageIsHidden:B}=t,[se,oe]=T.useState(null),[Pe,Oe]=T.useState(null),[ce,Or]=T.useState(!1),[Ge,pr]=T.useState(!1),[Xr,Is]=T.useState(!1),[en,Co]=T.useState(!1),[md,Eo]=T.useState(!1),[pd,Ga]=T.useState(0),[Rs,Qm]=T.useState(0),Ja=T.useRef(f.duration||L||Ng),Ym=T.useRef(null),Jn=T.useRef(null),l1=v===0,c1=v+1<=y,Rt=f.type,Os=f.dismissible!==!1,d1=f.className||"",u1=f.descriptionClassName||"",Po=T.useMemo(()=>g.findIndex(te=>te.toastId===f.id)||0,[g,f.id]),h1=T.useMemo(()=>{var te;return(te=f.closeButton)!=null?te:C},[f.closeButton,C]),Zm=T.useMemo(()=>f.duration||L||Ng,[f.duration,L]),gd=T.useRef(0),Ms=T.useRef(0),Xm=T.useRef(0),Ls=T.useRef(null),[f1,m1]=ie.split("-"),ep=T.useMemo(()=>g.reduce((te,be,Ce)=>Ce>=Po?te:te+be.height,0),[g,Po]),tp=V2(),p1=f.invert||m,xd=Rt==="loading";Ms.current=T.useMemo(()=>Po*q+ep,[Po,ep]),T.useEffect(()=>{Ja.current=Zm},[Zm]),T.useEffect(()=>{Or(!0)},[]),T.useEffect(()=>{let te=Jn.current;if(te){let be=te.getBoundingClientRect().height;return Qm(be),w(Ce=>[{toastId:f.id,height:be,position:f.position},...Ce]),()=>w(Ce=>Ce.filter(Vt=>Vt.toastId!==f.id))}},[w,f.id]),T.useLayoutEffect(()=>{if(!ce)return;let te=Jn.current,be=te.style.height;te.style.height="auto";let Ce=te.getBoundingClientRect().height;te.style.height=be,Qm(Ce),w(Vt=>Vt.find(Ht=>Ht.toastId===f.id)?Vt.map(Ht=>Ht.toastId===f.id?{...Ht,height:Ce}:Ht):[{toastId:f.id,height:Ce,position:f.position},...Vt])},[ce,f.title,f.description,w,f.id]);let tn=T.useCallback(()=>{pr(!0),Ga(Ms.current),w(te=>te.filter(be=>be.toastId!==f.id)),setTimeout(()=>{N(f)},sC)},[f,N,w,Ms]);T.useEffect(()=>{if(f.promise&&Rt==="loading"||f.duration===1/0||f.type==="loading")return;let te;return j||x||B&&tp?(()=>{if(Xm.current{var be;(be=f.onAutoClose)==null||be.call(f,f),tn()},Ja.current)),()=>clearTimeout(te)},[j,x,f,Rt,B,tp,tn]),T.useEffect(()=>{f.delete&&tn()},[tn,f.delete]);function g1(){var te,be,Ce;return M!=null&&M.loading?T.createElement("div",{className:Gt(S==null?void 0:S.loader,(te=f==null?void 0:f.classNames)==null?void 0:te.loader,"sonner-loader"),"data-visible":Rt==="loading"},M.loading):Y?T.createElement("div",{className:Gt(S==null?void 0:S.loader,(be=f==null?void 0:f.classNames)==null?void 0:be.loader,"sonner-loader"),"data-visible":Rt==="loading"},Y):T.createElement($2,{className:Gt(S==null?void 0:S.loader,(Ce=f==null?void 0:f.classNames)==null?void 0:Ce.loader),visible:Rt==="loading"})}return T.createElement("li",{tabIndex:0,ref:Jn,className:Gt($,d1,S==null?void 0:S.toast,(e=f==null?void 0:f.classNames)==null?void 0:e.toast,S==null?void 0:S.default,S==null?void 0:S[Rt],(r=f==null?void 0:f.classNames)==null?void 0:r[Rt]),"data-sonner-toast":"","data-rich-colors":(n=f.richColors)!=null?n:_,"data-styled":!(f.jsx||f.unstyled||b),"data-mounted":ce,"data-promise":!!f.promise,"data-swiped":md,"data-removed":Ge,"data-visible":c1,"data-y-position":f1,"data-x-position":m1,"data-index":v,"data-front":l1,"data-swiping":Xr,"data-dismissible":Os,"data-type":Rt,"data-invert":p1,"data-swipe-out":en,"data-swipe-direction":Pe,"data-expanded":!!(j||E&&ce),style:{"--index":v,"--toasts-before":v,"--z-index":k.length-v,"--offset":`${Ge?pd:Ms.current}px`,"--initial-height":E?"auto":`${Rs}px`,...R,...f.style},onDragEnd:()=>{Is(!1),oe(null),Ls.current=null},onPointerDown:te=>{xd||!Os||(Ym.current=new Date,Ga(Ms.current),te.target.setPointerCapture(te.pointerId),te.target.tagName!=="BUTTON"&&(Is(!0),Ls.current={x:te.clientX,y:te.clientY}))},onPointerUp:()=>{var te,be,Ce,Vt;if(en||!Os)return;Ls.current=null;let Ht=Number(((te=Jn.current)==null?void 0:te.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),rn=Number(((be=Jn.current)==null?void 0:be.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Qn=new Date().getTime()-((Ce=Ym.current)==null?void 0:Ce.getTime()),qt=se==="x"?Ht:rn,nn=Math.abs(qt)/Qn;if(Math.abs(qt)>=nC||nn>.11){Ga(Ms.current),(Vt=f.onDismiss)==null||Vt.call(f,f),Oe(se==="x"?Ht>0?"right":"left":rn>0?"down":"up"),tn(),Co(!0),Eo(!1);return}Is(!1),oe(null)},onPointerMove:te=>{var be,Ce,Vt,Ht;if(!Ls.current||!Os||((be=window.getSelection())==null?void 0:be.toString().length)>0)return;let rn=te.clientY-Ls.current.y,Qn=te.clientX-Ls.current.x,qt=(Ce=t.swipeDirections)!=null?Ce:aC(ie);!se&&(Math.abs(Qn)>1||Math.abs(rn)>1)&&oe(Math.abs(Qn)>Math.abs(rn)?"x":"y");let nn={x:0,y:0};se==="y"?(qt.includes("top")||qt.includes("bottom"))&&(qt.includes("top")&&rn<0||qt.includes("bottom")&&rn>0)&&(nn.y=rn):se==="x"&&(qt.includes("left")||qt.includes("right"))&&(qt.includes("left")&&Qn<0||qt.includes("right")&&Qn>0)&&(nn.x=Qn),(Math.abs(nn.x)>0||Math.abs(nn.y)>0)&&Eo(!0),(Vt=Jn.current)==null||Vt.style.setProperty("--swipe-amount-x",`${nn.x}px`),(Ht=Jn.current)==null||Ht.style.setProperty("--swipe-amount-y",`${nn.y}px`)}},h1&&!f.jsx?T.createElement("button",{"aria-label":K,"data-disabled":xd,"data-close-button":!0,onClick:xd||!Os?()=>{}:()=>{var te;tn(),(te=f.onDismiss)==null||te.call(f,f)},className:Gt(S==null?void 0:S.closeButton,(s=f==null?void 0:f.classNames)==null?void 0:s.closeButton)},(i=M==null?void 0:M.close)!=null?i:W2):null,f.jsx||p.isValidElement(f.title)?f.jsx?f.jsx:typeof f.title=="function"?f.title():f.title:T.createElement(T.Fragment,null,Rt||f.icon||f.promise?T.createElement("div",{"data-icon":"",className:Gt(S==null?void 0:S.icon,(o=f==null?void 0:f.classNames)==null?void 0:o.icon)},f.promise||f.type==="loading"&&!f.icon?f.icon||g1():null,f.type!=="loading"?f.icon||(M==null?void 0:M[Rt])||L2(Rt):null):null,T.createElement("div",{"data-content":"",className:Gt(S==null?void 0:S.content,(l=f==null?void 0:f.classNames)==null?void 0:l.content)},T.createElement("div",{"data-title":"",className:Gt(S==null?void 0:S.title,(c=f==null?void 0:f.classNames)==null?void 0:c.title)},typeof f.title=="function"?f.title():f.title),f.description?T.createElement("div",{"data-description":"",className:Gt(ee,u1,S==null?void 0:S.description,(d=f==null?void 0:f.classNames)==null?void 0:d.description)},typeof f.description=="function"?f.description():f.description):null),p.isValidElement(f.cancel)?f.cancel:f.cancel&&Qo(f.cancel)?T.createElement("button",{"data-button":!0,"data-cancel":!0,style:f.cancelButtonStyle||I,onClick:te=>{var be,Ce;Qo(f.cancel)&&Os&&((Ce=(be=f.cancel).onClick)==null||Ce.call(be,te),tn())},className:Gt(S==null?void 0:S.cancelButton,(u=f==null?void 0:f.classNames)==null?void 0:u.cancelButton)},f.cancel.label):null,p.isValidElement(f.action)?f.action:f.action&&Qo(f.action)?T.createElement("button",{"data-button":!0,"data-action":!0,style:f.actionButtonStyle||G,onClick:te=>{var be,Ce;Qo(f.action)&&((Ce=(be=f.action).onClick)==null||Ce.call(be,te),!te.defaultPrevented&&tn())},className:Gt(S==null?void 0:S.actionButton,(h=f==null?void 0:f.classNames)==null?void 0:h.actionButton)},f.action.label):null))};function _g(){if(typeof window>"u"||typeof document>"u")return"ltr";let t=document.documentElement.getAttribute("dir");return t==="auto"||!t?window.getComputedStyle(document.documentElement).direction:t}function oC(t,e){let r={};return[t,e].forEach((n,s)=>{let i=s===1,o=i?"--mobile-offset":"--offset",l=i?eC:X2;function c(d){["top","right","bottom","left"].forEach(u=>{r[`${o}-${u}`]=typeof d=="number"?`${d}px`:d})}typeof n=="number"||typeof n=="string"?c(n):typeof n=="object"?["top","right","bottom","left"].forEach(d=>{n[d]===void 0?r[`${o}-${d}`]=l:r[`${o}-${d}`]=typeof n[d]=="number"?`${n[d]}px`:n[d]}):c(l)}),r}var lC=p.forwardRef(function(t,e){let{invert:r,position:n="bottom-right",hotkey:s=["altKey","KeyT"],expand:i,closeButton:o,className:l,offset:c,mobileOffset:d,theme:u="light",richColors:h,duration:m,style:f,visibleToasts:b=Z2,toastOptions:x,dir:w=_g(),gap:y=rC,loadingIcon:g,icons:v,containerAriaLabel:k="Notifications",pauseWhenPageIsHidden:j}=t,[N,_]=T.useState([]),C=T.useMemo(()=>Array.from(new Set([n].concat(N.filter(B=>B.position).map(B=>B.position)))),[N,n]),[R,I]=T.useState([]),[G,$]=T.useState(!1),[ee,L]=T.useState(!1),[ie,q]=T.useState(u!=="system"?u:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),Y=T.useRef(null),E=s.join("+").replace(/Key/g,"").replace(/Digit/g,""),S=T.useRef(null),M=T.useRef(!1),K=T.useCallback(B=>{_(se=>{var oe;return(oe=se.find(Pe=>Pe.id===B.id))!=null&&oe.delete||pt.dismiss(B.id),se.filter(({id:Pe})=>Pe!==B.id)})},[]);return T.useEffect(()=>pt.subscribe(B=>{if(B.dismiss){_(se=>se.map(oe=>oe.id===B.id?{...oe,delete:!0}:oe));return}setTimeout(()=>{vw.flushSync(()=>{_(se=>{let oe=se.findIndex(Pe=>Pe.id===B.id);return oe!==-1?[...se.slice(0,oe),{...se[oe],...B},...se.slice(oe+1)]:[B,...se]})})})}),[]),T.useEffect(()=>{if(u!=="system"){q(u);return}if(u==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?q("dark"):q("light")),typeof window>"u")return;let B=window.matchMedia("(prefers-color-scheme: dark)");try{B.addEventListener("change",({matches:se})=>{q(se?"dark":"light")})}catch{B.addListener(({matches:oe})=>{try{q(oe?"dark":"light")}catch(Pe){console.error(Pe)}})}},[u]),T.useEffect(()=>{N.length<=1&&$(!1)},[N]),T.useEffect(()=>{let B=se=>{var oe,Pe;s.every(Oe=>se[Oe]||se.code===Oe)&&($(!0),(oe=Y.current)==null||oe.focus()),se.code==="Escape"&&(document.activeElement===Y.current||(Pe=Y.current)!=null&&Pe.contains(document.activeElement))&&$(!1)};return document.addEventListener("keydown",B),()=>document.removeEventListener("keydown",B)},[s]),T.useEffect(()=>{if(Y.current)return()=>{S.current&&(S.current.focus({preventScroll:!0}),S.current=null,M.current=!1)}},[Y.current]),T.createElement("section",{ref:e,"aria-label":`${k} ${E}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},C.map((B,se)=>{var oe;let[Pe,Oe]=B.split("-");return N.length?T.createElement("ol",{key:B,dir:w==="auto"?_g():w,tabIndex:-1,ref:Y,className:l,"data-sonner-toaster":!0,"data-theme":ie,"data-y-position":Pe,"data-lifted":G&&N.length>1&&!i,"data-x-position":Oe,style:{"--front-toast-height":`${((oe=R[0])==null?void 0:oe.height)||0}px`,"--width":`${tC}px`,"--gap":`${y}px`,...f,...oC(c,d)},onBlur:ce=>{M.current&&!ce.currentTarget.contains(ce.relatedTarget)&&(M.current=!1,S.current&&(S.current.focus({preventScroll:!0}),S.current=null))},onFocus:ce=>{ce.target instanceof HTMLElement&&ce.target.dataset.dismissible==="false"||M.current||(M.current=!0,S.current=ce.relatedTarget)},onMouseEnter:()=>$(!0),onMouseMove:()=>$(!0),onMouseLeave:()=>{ee||$(!1)},onDragEnd:()=>$(!1),onPointerDown:ce=>{ce.target instanceof HTMLElement&&ce.target.dataset.dismissible==="false"||L(!0)},onPointerUp:()=>L(!1)},N.filter(ce=>!ce.position&&se===0||ce.position===B).map((ce,Or)=>{var Ge,pr;return T.createElement(iC,{key:ce.id,icons:v,index:Or,toast:ce,defaultRichColors:h,duration:(Ge=x==null?void 0:x.duration)!=null?Ge:m,className:x==null?void 0:x.className,descriptionClassName:x==null?void 0:x.descriptionClassName,invert:r,visibleToasts:b,closeButton:(pr=x==null?void 0:x.closeButton)!=null?pr:o,interacting:ee,position:B,style:x==null?void 0:x.style,unstyled:x==null?void 0:x.unstyled,classNames:x==null?void 0:x.classNames,cancelButtonStyle:x==null?void 0:x.cancelButtonStyle,actionButtonStyle:x==null?void 0:x.actionButtonStyle,removeToast:K,toasts:N.filter(Xr=>Xr.position==ce.position),heights:R.filter(Xr=>Xr.position==ce.position),setHeights:I,expandByDefault:i,gap:y,loadingIcon:g,expanded:G,pauseWhenPageIsHidden:j,swipeDirections:t.swipeDirections})})):null}))});const cC=({...t})=>{const{theme:e="system"}=M2();return a.jsx(lC,{theme:e,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...t})};var dC=rf[" useId ".trim().toString()]||(()=>{}),uC=0;function Mn(t){const[e,r]=p.useState(dC());return Ar(()=>{r(n=>n??String(uC++))},[t]),e?`radix-${e}`:""}const hC=["top","right","bottom","left"],zn=Math.min,jt=Math.max,ec=Math.round,Yo=Math.floor,Pr=t=>({x:t,y:t}),fC={left:"right",right:"left",bottom:"top",top:"bottom"},mC={start:"end",end:"start"};function bh(t,e,r){return jt(t,zn(e,r))}function Jr(t,e){return typeof t=="function"?t(e):t}function Qr(t){return t.split("-")[0]}function Wa(t){return t.split("-")[1]}function sm(t){return t==="x"?"y":"x"}function am(t){return t==="y"?"height":"width"}const pC=new Set(["top","bottom"]);function _r(t){return pC.has(Qr(t))?"y":"x"}function im(t){return sm(_r(t))}function gC(t,e,r){r===void 0&&(r=!1);const n=Wa(t),s=im(t),i=am(s);let o=s==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";return e.reference[i]>e.floating[i]&&(o=tc(o)),[o,tc(o)]}function xC(t){const e=tc(t);return[kh(t),e,kh(e)]}function kh(t){return t.replace(/start|end/g,e=>mC[e])}const Sg=["left","right"],Cg=["right","left"],vC=["top","bottom"],yC=["bottom","top"];function wC(t,e,r){switch(t){case"top":case"bottom":return r?e?Cg:Sg:e?Sg:Cg;case"left":case"right":return e?vC:yC;default:return[]}}function bC(t,e,r,n){const s=Wa(t);let i=wC(Qr(t),r==="start",n);return s&&(i=i.map(o=>o+"-"+s),e&&(i=i.concat(i.map(kh)))),i}function tc(t){return t.replace(/left|right|bottom|top/g,e=>fC[e])}function kC(t){return{top:0,right:0,bottom:0,left:0,...t}}function lb(t){return typeof t!="number"?kC(t):{top:t,right:t,bottom:t,left:t}}function rc(t){const{x:e,y:r,width:n,height:s}=t;return{width:n,height:s,top:r,left:e,right:e+n,bottom:r+s,x:e,y:r}}function Eg(t,e,r){let{reference:n,floating:s}=t;const i=_r(e),o=im(e),l=am(o),c=Qr(e),d=i==="y",u=n.x+n.width/2-s.width/2,h=n.y+n.height/2-s.height/2,m=n[l]/2-s[l]/2;let f;switch(c){case"top":f={x:u,y:n.y-s.height};break;case"bottom":f={x:u,y:n.y+n.height};break;case"right":f={x:n.x+n.width,y:h};break;case"left":f={x:n.x-s.width,y:h};break;default:f={x:n.x,y:n.y}}switch(Wa(e)){case"start":f[o]-=m*(r&&d?-1:1);break;case"end":f[o]+=m*(r&&d?-1:1);break}return f}const jC=async(t,e,r)=>{const{placement:n="bottom",strategy:s="absolute",middleware:i=[],platform:o}=r,l=i.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(e));let d=await o.getElementRects({reference:t,floating:e,strategy:s}),{x:u,y:h}=Eg(d,n,c),m=n,f={},b=0;for(let x=0;x({name:"arrow",options:t,async fn(e){const{x:r,y:n,placement:s,rects:i,platform:o,elements:l,middlewareData:c}=e,{element:d,padding:u=0}=Jr(t,e)||{};if(d==null)return{};const h=lb(u),m={x:r,y:n},f=im(s),b=am(f),x=await o.getDimensions(d),w=f==="y",y=w?"top":"left",g=w?"bottom":"right",v=w?"clientHeight":"clientWidth",k=i.reference[b]+i.reference[f]-m[f]-i.floating[b],j=m[f]-i.reference[f],N=await(o.getOffsetParent==null?void 0:o.getOffsetParent(d));let _=N?N[v]:0;(!_||!await(o.isElement==null?void 0:o.isElement(N)))&&(_=l.floating[v]||i.floating[b]);const C=k/2-j/2,R=_/2-x[b]/2-1,I=zn(h[y],R),G=zn(h[g],R),$=I,ee=_-x[b]-G,L=_/2-x[b]/2+C,ie=bh($,L,ee),q=!c.arrow&&Wa(s)!=null&&L!==ie&&i.reference[b]/2-(L<$?I:G)-x[b]/2<0,Y=q?L<$?L-$:L-ee:0;return{[f]:m[f]+Y,data:{[f]:ie,centerOffset:L-ie-Y,...q&&{alignmentOffset:Y}},reset:q}}}),_C=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var r,n;const{placement:s,middlewareData:i,rects:o,initialPlacement:l,platform:c,elements:d}=e,{mainAxis:u=!0,crossAxis:h=!0,fallbackPlacements:m,fallbackStrategy:f="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:x=!0,...w}=Jr(t,e);if((r=i.arrow)!=null&&r.alignmentOffset)return{};const y=Qr(s),g=_r(l),v=Qr(l)===l,k=await(c.isRTL==null?void 0:c.isRTL(d.floating)),j=m||(v||!x?[tc(l)]:xC(l)),N=b!=="none";!m&&N&&j.push(...bC(l,x,b,k));const _=[l,...j],C=await qi(e,w),R=[];let I=((n=i.flip)==null?void 0:n.overflows)||[];if(u&&R.push(C[y]),h){const L=gC(s,o,k);R.push(C[L[0]],C[L[1]])}if(I=[...I,{placement:s,overflows:R}],!R.every(L=>L<=0)){var G,$;const L=(((G=i.flip)==null?void 0:G.index)||0)+1,ie=_[L];if(ie&&(!(h==="alignment"?g!==_r(ie):!1)||I.every(E=>E.overflows[0]>0&&_r(E.placement)===g)))return{data:{index:L,overflows:I},reset:{placement:ie}};let q=($=I.filter(Y=>Y.overflows[0]<=0).sort((Y,E)=>Y.overflows[1]-E.overflows[1])[0])==null?void 0:$.placement;if(!q)switch(f){case"bestFit":{var ee;const Y=(ee=I.filter(E=>{if(N){const S=_r(E.placement);return S===g||S==="y"}return!0}).map(E=>[E.placement,E.overflows.filter(S=>S>0).reduce((S,M)=>S+M,0)]).sort((E,S)=>E[1]-S[1])[0])==null?void 0:ee[0];Y&&(q=Y);break}case"initialPlacement":q=l;break}if(s!==q)return{reset:{placement:q}}}return{}}}};function Pg(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function Tg(t){return hC.some(e=>t[e]>=0)}const SC=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(e){const{rects:r}=e,{strategy:n="referenceHidden",...s}=Jr(t,e);switch(n){case"referenceHidden":{const i=await qi(e,{...s,elementContext:"reference"}),o=Pg(i,r.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:Tg(o)}}}case"escaped":{const i=await qi(e,{...s,altBoundary:!0}),o=Pg(i,r.floating);return{data:{escapedOffsets:o,escaped:Tg(o)}}}default:return{}}}}},cb=new Set(["left","top"]);async function CC(t,e){const{placement:r,platform:n,elements:s}=t,i=await(n.isRTL==null?void 0:n.isRTL(s.floating)),o=Qr(r),l=Wa(r),c=_r(r)==="y",d=cb.has(o)?-1:1,u=i&&c?-1:1,h=Jr(e,t);let{mainAxis:m,crossAxis:f,alignmentAxis:b}=typeof h=="number"?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return l&&typeof b=="number"&&(f=l==="end"?b*-1:b),c?{x:f*u,y:m*d}:{x:m*d,y:f*u}}const EC=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var r,n;const{x:s,y:i,placement:o,middlewareData:l}=e,c=await CC(e,t);return o===((r=l.offset)==null?void 0:r.placement)&&(n=l.arrow)!=null&&n.alignmentOffset?{}:{x:s+c.x,y:i+c.y,data:{...c,placement:o}}}}},PC=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:r,y:n,placement:s}=e,{mainAxis:i=!0,crossAxis:o=!1,limiter:l={fn:w=>{let{x:y,y:g}=w;return{x:y,y:g}}},...c}=Jr(t,e),d={x:r,y:n},u=await qi(e,c),h=_r(Qr(s)),m=sm(h);let f=d[m],b=d[h];if(i){const w=m==="y"?"top":"left",y=m==="y"?"bottom":"right",g=f+u[w],v=f-u[y];f=bh(g,f,v)}if(o){const w=h==="y"?"top":"left",y=h==="y"?"bottom":"right",g=b+u[w],v=b-u[y];b=bh(g,b,v)}const x=l.fn({...e,[m]:f,[h]:b});return{...x,data:{x:x.x-r,y:x.y-n,enabled:{[m]:i,[h]:o}}}}}},TC=function(t){return t===void 0&&(t={}),{options:t,fn(e){const{x:r,y:n,placement:s,rects:i,middlewareData:o}=e,{offset:l=0,mainAxis:c=!0,crossAxis:d=!0}=Jr(t,e),u={x:r,y:n},h=_r(s),m=sm(h);let f=u[m],b=u[h];const x=Jr(l,e),w=typeof x=="number"?{mainAxis:x,crossAxis:0}:{mainAxis:0,crossAxis:0,...x};if(c){const v=m==="y"?"height":"width",k=i.reference[m]-i.floating[v]+w.mainAxis,j=i.reference[m]+i.reference[v]-w.mainAxis;fj&&(f=j)}if(d){var y,g;const v=m==="y"?"width":"height",k=cb.has(Qr(s)),j=i.reference[h]-i.floating[v]+(k&&((y=o.offset)==null?void 0:y[h])||0)+(k?0:w.crossAxis),N=i.reference[h]+i.reference[v]+(k?0:((g=o.offset)==null?void 0:g[h])||0)-(k?w.crossAxis:0);bN&&(b=N)}return{[m]:f,[h]:b}}}},AC=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){var r,n;const{placement:s,rects:i,platform:o,elements:l}=e,{apply:c=()=>{},...d}=Jr(t,e),u=await qi(e,d),h=Qr(s),m=Wa(s),f=_r(s)==="y",{width:b,height:x}=i.floating;let w,y;h==="top"||h==="bottom"?(w=h,y=m===(await(o.isRTL==null?void 0:o.isRTL(l.floating))?"start":"end")?"left":"right"):(y=h,w=m==="end"?"top":"bottom");const g=x-u.top-u.bottom,v=b-u.left-u.right,k=zn(x-u[w],g),j=zn(b-u[y],v),N=!e.middlewareData.shift;let _=k,C=j;if((r=e.middlewareData.shift)!=null&&r.enabled.x&&(C=v),(n=e.middlewareData.shift)!=null&&n.enabled.y&&(_=g),N&&!m){const I=jt(u.left,0),G=jt(u.right,0),$=jt(u.top,0),ee=jt(u.bottom,0);f?C=b-2*(I!==0||G!==0?I+G:jt(u.left,u.right)):_=x-2*($!==0||ee!==0?$+ee:jt(u.top,u.bottom))}await c({...e,availableWidth:C,availableHeight:_});const R=await o.getDimensions(l.floating);return b!==R.width||x!==R.height?{reset:{rects:!0}}:{}}}};function Hc(){return typeof window<"u"}function Va(t){return db(t)?(t.nodeName||"").toLowerCase():"#document"}function Ct(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function Rr(t){var e;return(e=(db(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function db(t){return Hc()?t instanceof Node||t instanceof Ct(t).Node:!1}function cr(t){return Hc()?t instanceof Element||t instanceof Ct(t).Element:!1}function Ir(t){return Hc()?t instanceof HTMLElement||t instanceof Ct(t).HTMLElement:!1}function Ag(t){return!Hc()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Ct(t).ShadowRoot}const IC=new Set(["inline","contents"]);function go(t){const{overflow:e,overflowX:r,overflowY:n,display:s}=dr(t);return/auto|scroll|overlay|hidden|clip/.test(e+n+r)&&!IC.has(s)}const RC=new Set(["table","td","th"]);function OC(t){return RC.has(Va(t))}const MC=[":popover-open",":modal"];function qc(t){return MC.some(e=>{try{return t.matches(e)}catch{return!1}})}const LC=["transform","translate","scale","rotate","perspective"],DC=["transform","translate","scale","rotate","perspective","filter"],$C=["paint","layout","strict","content"];function om(t){const e=lm(),r=cr(t)?dr(t):t;return LC.some(n=>r[n]?r[n]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!e&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!e&&(r.filter?r.filter!=="none":!1)||DC.some(n=>(r.willChange||"").includes(n))||$C.some(n=>(r.contain||"").includes(n))}function FC(t){let e=Un(t);for(;Ir(e)&&!Ia(e);){if(om(e))return e;if(qc(e))return null;e=Un(e)}return null}function lm(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const zC=new Set(["html","body","#document"]);function Ia(t){return zC.has(Va(t))}function dr(t){return Ct(t).getComputedStyle(t)}function Kc(t){return cr(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Un(t){if(Va(t)==="html")return t;const e=t.assignedSlot||t.parentNode||Ag(t)&&t.host||Rr(t);return Ag(e)?e.host:e}function ub(t){const e=Un(t);return Ia(e)?t.ownerDocument?t.ownerDocument.body:t.body:Ir(e)&&go(e)?e:ub(e)}function Ki(t,e,r){var n;e===void 0&&(e=[]),r===void 0&&(r=!0);const s=ub(t),i=s===((n=t.ownerDocument)==null?void 0:n.body),o=Ct(s);if(i){const l=jh(o);return e.concat(o,o.visualViewport||[],go(s)?s:[],l&&r?Ki(l):[])}return e.concat(s,Ki(s,[],r))}function jh(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function hb(t){const e=dr(t);let r=parseFloat(e.width)||0,n=parseFloat(e.height)||0;const s=Ir(t),i=s?t.offsetWidth:r,o=s?t.offsetHeight:n,l=ec(r)!==i||ec(n)!==o;return l&&(r=i,n=o),{width:r,height:n,$:l}}function cm(t){return cr(t)?t:t.contextElement}function ma(t){const e=cm(t);if(!Ir(e))return Pr(1);const r=e.getBoundingClientRect(),{width:n,height:s,$:i}=hb(e);let o=(i?ec(r.width):r.width)/n,l=(i?ec(r.height):r.height)/s;return(!o||!Number.isFinite(o))&&(o=1),(!l||!Number.isFinite(l))&&(l=1),{x:o,y:l}}const UC=Pr(0);function fb(t){const e=Ct(t);return!lm()||!e.visualViewport?UC:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function BC(t,e,r){return e===void 0&&(e=!1),!r||e&&r!==Ct(t)?!1:e}function ws(t,e,r,n){e===void 0&&(e=!1),r===void 0&&(r=!1);const s=t.getBoundingClientRect(),i=cm(t);let o=Pr(1);e&&(n?cr(n)&&(o=ma(n)):o=ma(t));const l=BC(i,r,n)?fb(i):Pr(0);let c=(s.left+l.x)/o.x,d=(s.top+l.y)/o.y,u=s.width/o.x,h=s.height/o.y;if(i){const m=Ct(i),f=n&&cr(n)?Ct(n):n;let b=m,x=jh(b);for(;x&&n&&f!==b;){const w=ma(x),y=x.getBoundingClientRect(),g=dr(x),v=y.left+(x.clientLeft+parseFloat(g.paddingLeft))*w.x,k=y.top+(x.clientTop+parseFloat(g.paddingTop))*w.y;c*=w.x,d*=w.y,u*=w.x,h*=w.y,c+=v,d+=k,b=Ct(x),x=jh(b)}}return rc({width:u,height:h,x:c,y:d})}function dm(t,e){const r=Kc(t).scrollLeft;return e?e.left+r:ws(Rr(t)).left+r}function mb(t,e,r){r===void 0&&(r=!1);const n=t.getBoundingClientRect(),s=n.left+e.scrollLeft-(r?0:dm(t,n)),i=n.top+e.scrollTop;return{x:s,y:i}}function WC(t){let{elements:e,rect:r,offsetParent:n,strategy:s}=t;const i=s==="fixed",o=Rr(n),l=e?qc(e.floating):!1;if(n===o||l&&i)return r;let c={scrollLeft:0,scrollTop:0},d=Pr(1);const u=Pr(0),h=Ir(n);if((h||!h&&!i)&&((Va(n)!=="body"||go(o))&&(c=Kc(n)),Ir(n))){const f=ws(n);d=ma(n),u.x=f.x+n.clientLeft,u.y=f.y+n.clientTop}const m=o&&!h&&!i?mb(o,c,!0):Pr(0);return{width:r.width*d.x,height:r.height*d.y,x:r.x*d.x-c.scrollLeft*d.x+u.x+m.x,y:r.y*d.y-c.scrollTop*d.y+u.y+m.y}}function VC(t){return Array.from(t.getClientRects())}function HC(t){const e=Rr(t),r=Kc(t),n=t.ownerDocument.body,s=jt(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=jt(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let o=-r.scrollLeft+dm(t);const l=-r.scrollTop;return dr(n).direction==="rtl"&&(o+=jt(e.clientWidth,n.clientWidth)-s),{width:s,height:i,x:o,y:l}}function qC(t,e){const r=Ct(t),n=Rr(t),s=r.visualViewport;let i=n.clientWidth,o=n.clientHeight,l=0,c=0;if(s){i=s.width,o=s.height;const d=lm();(!d||d&&e==="fixed")&&(l=s.offsetLeft,c=s.offsetTop)}return{width:i,height:o,x:l,y:c}}const KC=new Set(["absolute","fixed"]);function GC(t,e){const r=ws(t,!0,e==="fixed"),n=r.top+t.clientTop,s=r.left+t.clientLeft,i=Ir(t)?ma(t):Pr(1),o=t.clientWidth*i.x,l=t.clientHeight*i.y,c=s*i.x,d=n*i.y;return{width:o,height:l,x:c,y:d}}function Ig(t,e,r){let n;if(e==="viewport")n=qC(t,r);else if(e==="document")n=HC(Rr(t));else if(cr(e))n=GC(e,r);else{const s=fb(t);n={x:e.x-s.x,y:e.y-s.y,width:e.width,height:e.height}}return rc(n)}function pb(t,e){const r=Un(t);return r===e||!cr(r)||Ia(r)?!1:dr(r).position==="fixed"||pb(r,e)}function JC(t,e){const r=e.get(t);if(r)return r;let n=Ki(t,[],!1).filter(l=>cr(l)&&Va(l)!=="body"),s=null;const i=dr(t).position==="fixed";let o=i?Un(t):t;for(;cr(o)&&!Ia(o);){const l=dr(o),c=om(o);!c&&l.position==="fixed"&&(s=null),(i?!c&&!s:!c&&l.position==="static"&&!!s&&KC.has(s.position)||go(o)&&!c&&pb(t,o))?n=n.filter(u=>u!==o):s=l,o=Un(o)}return e.set(t,n),n}function QC(t){let{element:e,boundary:r,rootBoundary:n,strategy:s}=t;const o=[...r==="clippingAncestors"?qc(e)?[]:JC(e,this._c):[].concat(r),n],l=o[0],c=o.reduce((d,u)=>{const h=Ig(e,u,s);return d.top=jt(h.top,d.top),d.right=zn(h.right,d.right),d.bottom=zn(h.bottom,d.bottom),d.left=jt(h.left,d.left),d},Ig(e,l,s));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function YC(t){const{width:e,height:r}=hb(t);return{width:e,height:r}}function ZC(t,e,r){const n=Ir(e),s=Rr(e),i=r==="fixed",o=ws(t,!0,i,e);let l={scrollLeft:0,scrollTop:0};const c=Pr(0);function d(){c.x=dm(s)}if(n||!n&&!i)if((Va(e)!=="body"||go(s))&&(l=Kc(e)),n){const f=ws(e,!0,i,e);c.x=f.x+e.clientLeft,c.y=f.y+e.clientTop}else s&&d();i&&!n&&s&&d();const u=s&&!n&&!i?mb(s,l):Pr(0),h=o.left+l.scrollLeft-c.x-u.x,m=o.top+l.scrollTop-c.y-u.y;return{x:h,y:m,width:o.width,height:o.height}}function Jd(t){return dr(t).position==="static"}function Rg(t,e){if(!Ir(t)||dr(t).position==="fixed")return null;if(e)return e(t);let r=t.offsetParent;return Rr(t)===r&&(r=r.ownerDocument.body),r}function gb(t,e){const r=Ct(t);if(qc(t))return r;if(!Ir(t)){let s=Un(t);for(;s&&!Ia(s);){if(cr(s)&&!Jd(s))return s;s=Un(s)}return r}let n=Rg(t,e);for(;n&&OC(n)&&Jd(n);)n=Rg(n,e);return n&&Ia(n)&&Jd(n)&&!om(n)?r:n||FC(t)||r}const XC=async function(t){const e=this.getOffsetParent||gb,r=this.getDimensions,n=await r(t.floating);return{reference:ZC(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function eE(t){return dr(t).direction==="rtl"}const tE={convertOffsetParentRelativeRectToViewportRelativeRect:WC,getDocumentElement:Rr,getClippingRect:QC,getOffsetParent:gb,getElementRects:XC,getClientRects:VC,getDimensions:YC,getScale:ma,isElement:cr,isRTL:eE};function xb(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}function rE(t,e){let r=null,n;const s=Rr(t);function i(){var l;clearTimeout(n),(l=r)==null||l.disconnect(),r=null}function o(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),i();const d=t.getBoundingClientRect(),{left:u,top:h,width:m,height:f}=d;if(l||e(),!m||!f)return;const b=Yo(h),x=Yo(s.clientWidth-(u+m)),w=Yo(s.clientHeight-(h+f)),y=Yo(u),v={rootMargin:-b+"px "+-x+"px "+-w+"px "+-y+"px",threshold:jt(0,zn(1,c))||1};let k=!0;function j(N){const _=N[0].intersectionRatio;if(_!==c){if(!k)return o();_?o(!1,_):n=setTimeout(()=>{o(!1,1e-7)},1e3)}_===1&&!xb(d,t.getBoundingClientRect())&&o(),k=!1}try{r=new IntersectionObserver(j,{...v,root:s.ownerDocument})}catch{r=new IntersectionObserver(j,v)}r.observe(t)}return o(!0),i}function nE(t,e,r,n){n===void 0&&(n={});const{ancestorScroll:s=!0,ancestorResize:i=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=n,d=cm(t),u=s||i?[...d?Ki(d):[],...Ki(e)]:[];u.forEach(y=>{s&&y.addEventListener("scroll",r,{passive:!0}),i&&y.addEventListener("resize",r)});const h=d&&l?rE(d,r):null;let m=-1,f=null;o&&(f=new ResizeObserver(y=>{let[g]=y;g&&g.target===d&&f&&(f.unobserve(e),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var v;(v=f)==null||v.observe(e)})),r()}),d&&!c&&f.observe(d),f.observe(e));let b,x=c?ws(t):null;c&&w();function w(){const y=ws(t);x&&!xb(x,y)&&r(),x=y,b=requestAnimationFrame(w)}return r(),()=>{var y;u.forEach(g=>{s&&g.removeEventListener("scroll",r),i&&g.removeEventListener("resize",r)}),h==null||h(),(y=f)==null||y.disconnect(),f=null,c&&cancelAnimationFrame(b)}}const sE=EC,aE=PC,iE=_C,oE=AC,lE=SC,Og=NC,cE=TC,dE=(t,e,r)=>{const n=new Map,s={platform:tE,...r},i={...s.platform,_c:n};return jC(t,e,{...s,platform:i})};var uE=typeof document<"u",hE=function(){},kl=uE?p.useLayoutEffect:hE;function nc(t,e){if(t===e)return!0;if(typeof t!=typeof e)return!1;if(typeof t=="function"&&t.toString()===e.toString())return!0;let r,n,s;if(t&&e&&typeof t=="object"){if(Array.isArray(t)){if(r=t.length,r!==e.length)return!1;for(n=r;n--!==0;)if(!nc(t[n],e[n]))return!1;return!0}if(s=Object.keys(t),r=s.length,r!==Object.keys(e).length)return!1;for(n=r;n--!==0;)if(!{}.hasOwnProperty.call(e,s[n]))return!1;for(n=r;n--!==0;){const i=s[n];if(!(i==="_owner"&&t.$$typeof)&&!nc(t[i],e[i]))return!1}return!0}return t!==t&&e!==e}function vb(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function Mg(t,e){const r=vb(t);return Math.round(e*r)/r}function Qd(t){const e=p.useRef(t);return kl(()=>{e.current=t}),e}function fE(t){t===void 0&&(t={});const{placement:e="bottom",strategy:r="absolute",middleware:n=[],platform:s,elements:{reference:i,floating:o}={},transform:l=!0,whileElementsMounted:c,open:d}=t,[u,h]=p.useState({x:0,y:0,strategy:r,placement:e,middlewareData:{},isPositioned:!1}),[m,f]=p.useState(n);nc(m,n)||f(n);const[b,x]=p.useState(null),[w,y]=p.useState(null),g=p.useCallback(E=>{E!==N.current&&(N.current=E,x(E))},[]),v=p.useCallback(E=>{E!==_.current&&(_.current=E,y(E))},[]),k=i||b,j=o||w,N=p.useRef(null),_=p.useRef(null),C=p.useRef(u),R=c!=null,I=Qd(c),G=Qd(s),$=Qd(d),ee=p.useCallback(()=>{if(!N.current||!_.current)return;const E={placement:e,strategy:r,middleware:m};G.current&&(E.platform=G.current),dE(N.current,_.current,E).then(S=>{const M={...S,isPositioned:$.current!==!1};L.current&&!nc(C.current,M)&&(C.current=M,ho.flushSync(()=>{h(M)}))})},[m,e,r,G,$]);kl(()=>{d===!1&&C.current.isPositioned&&(C.current.isPositioned=!1,h(E=>({...E,isPositioned:!1})))},[d]);const L=p.useRef(!1);kl(()=>(L.current=!0,()=>{L.current=!1}),[]),kl(()=>{if(k&&(N.current=k),j&&(_.current=j),k&&j){if(I.current)return I.current(k,j,ee);ee()}},[k,j,ee,I,R]);const ie=p.useMemo(()=>({reference:N,floating:_,setReference:g,setFloating:v}),[g,v]),q=p.useMemo(()=>({reference:k,floating:j}),[k,j]),Y=p.useMemo(()=>{const E={position:r,left:0,top:0};if(!q.floating)return E;const S=Mg(q.floating,u.x),M=Mg(q.floating,u.y);return l?{...E,transform:"translate("+S+"px, "+M+"px)",...vb(q.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:S,top:M}},[r,l,q.floating,u.x,u.y]);return p.useMemo(()=>({...u,update:ee,refs:ie,elements:q,floatingStyles:Y}),[u,ee,ie,q,Y])}const mE=t=>{function e(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:t,fn(r){const{element:n,padding:s}=typeof t=="function"?t(r):t;return n&&e(n)?n.current!=null?Og({element:n.current,padding:s}).fn(r):{}:n?Og({element:n,padding:s}).fn(r):{}}}},pE=(t,e)=>({...sE(t),options:[t,e]}),gE=(t,e)=>({...aE(t),options:[t,e]}),xE=(t,e)=>({...cE(t),options:[t,e]}),vE=(t,e)=>({...iE(t),options:[t,e]}),yE=(t,e)=>({...oE(t),options:[t,e]}),wE=(t,e)=>({...lE(t),options:[t,e]}),bE=(t,e)=>({...mE(t),options:[t,e]});var kE="Arrow",yb=p.forwardRef((t,e)=>{const{children:r,width:n=10,height:s=5,...i}=t;return a.jsx(fe.svg,{...i,ref:e,width:n,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:t.asChild?r:a.jsx("polygon",{points:"0,0 30,0 15,10"})})});yb.displayName=kE;var jE=yb;function NE(t){const[e,r]=p.useState(void 0);return Ar(()=>{if(t){r({width:t.offsetWidth,height:t.offsetHeight});const n=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const i=s[0];let o,l;if("borderBoxSize"in i){const c=i.borderBoxSize,d=Array.isArray(c)?c[0]:c;o=d.inlineSize,l=d.blockSize}else o=t.offsetWidth,l=t.offsetHeight;r({width:o,height:l})});return n.observe(t,{box:"border-box"}),()=>n.unobserve(t)}else r(void 0)},[t]),e}var um="Popper",[wb,Gc]=ur(um),[_E,bb]=wb(um),kb=t=>{const{__scopePopper:e,children:r}=t,[n,s]=p.useState(null);return a.jsx(_E,{scope:e,anchor:n,onAnchorChange:s,children:r})};kb.displayName=um;var jb="PopperAnchor",Nb=p.forwardRef((t,e)=>{const{__scopePopper:r,virtualRef:n,...s}=t,i=bb(jb,r),o=p.useRef(null),l=Re(e,o);return p.useEffect(()=>{i.onAnchorChange((n==null?void 0:n.current)||o.current)}),n?null:a.jsx(fe.div,{...s,ref:l})});Nb.displayName=jb;var hm="PopperContent",[SE,CE]=wb(hm),_b=p.forwardRef((t,e)=>{var ce,Or,Ge,pr,Xr,Is;const{__scopePopper:r,side:n="bottom",sideOffset:s=0,align:i="center",alignOffset:o=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:d=[],collisionPadding:u=0,sticky:h="partial",hideWhenDetached:m=!1,updatePositionStrategy:f="optimized",onPlaced:b,...x}=t,w=bb(hm,r),[y,g]=p.useState(null),v=Re(e,en=>g(en)),[k,j]=p.useState(null),N=NE(k),_=(N==null?void 0:N.width)??0,C=(N==null?void 0:N.height)??0,R=n+(i!=="center"?"-"+i:""),I=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},G=Array.isArray(d)?d:[d],$=G.length>0,ee={padding:I,boundary:G.filter(PE),altBoundary:$},{refs:L,floatingStyles:ie,placement:q,isPositioned:Y,middlewareData:E}=fE({strategy:"fixed",placement:R,whileElementsMounted:(...en)=>nE(...en,{animationFrame:f==="always"}),elements:{reference:w.anchor},middleware:[pE({mainAxis:s+C,alignmentAxis:o}),c&&gE({mainAxis:!0,crossAxis:!1,limiter:h==="partial"?xE():void 0,...ee}),c&&vE({...ee}),yE({...ee,apply:({elements:en,rects:Co,availableWidth:md,availableHeight:Eo})=>{const{width:pd,height:Ga}=Co.reference,Rs=en.floating.style;Rs.setProperty("--radix-popper-available-width",`${md}px`),Rs.setProperty("--radix-popper-available-height",`${Eo}px`),Rs.setProperty("--radix-popper-anchor-width",`${pd}px`),Rs.setProperty("--radix-popper-anchor-height",`${Ga}px`)}}),k&&bE({element:k,padding:l}),TE({arrowWidth:_,arrowHeight:C}),m&&wE({strategy:"referenceHidden",...ee})]}),[S,M]=Eb(q),K=Pt(b);Ar(()=>{Y&&(K==null||K())},[Y,K]);const B=(ce=E.arrow)==null?void 0:ce.x,se=(Or=E.arrow)==null?void 0:Or.y,oe=((Ge=E.arrow)==null?void 0:Ge.centerOffset)!==0,[Pe,Oe]=p.useState();return Ar(()=>{y&&Oe(window.getComputedStyle(y).zIndex)},[y]),a.jsx("div",{ref:L.setFloating,"data-radix-popper-content-wrapper":"",style:{...ie,transform:Y?ie.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Pe,"--radix-popper-transform-origin":[(pr=E.transformOrigin)==null?void 0:pr.x,(Xr=E.transformOrigin)==null?void 0:Xr.y].join(" "),...((Is=E.hide)==null?void 0:Is.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:a.jsx(SE,{scope:r,placedSide:S,onArrowChange:j,arrowX:B,arrowY:se,shouldHideArrow:oe,children:a.jsx(fe.div,{"data-side":S,"data-align":M,...x,ref:v,style:{...x.style,animation:Y?void 0:"none"}})})})});_b.displayName=hm;var Sb="PopperArrow",EE={top:"bottom",right:"left",bottom:"top",left:"right"},Cb=p.forwardRef(function(e,r){const{__scopePopper:n,...s}=e,i=CE(Sb,n),o=EE[i.placedSide];return a.jsx("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:a.jsx(jE,{...s,ref:r,style:{...s.style,display:"block"}})})});Cb.displayName=Sb;function PE(t){return t!==null}var TE=t=>({name:"transformOrigin",options:t,fn(e){var w,y,g;const{placement:r,rects:n,middlewareData:s}=e,o=((w=s.arrow)==null?void 0:w.centerOffset)!==0,l=o?0:t.arrowWidth,c=o?0:t.arrowHeight,[d,u]=Eb(r),h={start:"0%",center:"50%",end:"100%"}[u],m=(((y=s.arrow)==null?void 0:y.x)??0)+l/2,f=(((g=s.arrow)==null?void 0:g.y)??0)+c/2;let b="",x="";return d==="bottom"?(b=o?h:`${m}px`,x=`${-c}px`):d==="top"?(b=o?h:`${m}px`,x=`${n.floating.height+c}px`):d==="right"?(b=`${-c}px`,x=o?h:`${f}px`):d==="left"&&(b=`${n.floating.width+c}px`,x=o?h:`${f}px`),{data:{x:b,y:x}}}});function Eb(t){const[e,r="center"]=t.split("-");return[e,r]}var AE=kb,Pb=Nb,Tb=_b,Ab=Cb,[Jc,n3]=ur("Tooltip",[Gc]),fm=Gc(),Ib="TooltipProvider",IE=700,Lg="tooltip.open",[RE,Rb]=Jc(Ib),Ob=t=>{const{__scopeTooltip:e,delayDuration:r=IE,skipDelayDuration:n=300,disableHoverableContent:s=!1,children:i}=t,o=p.useRef(!0),l=p.useRef(!1),c=p.useRef(0);return p.useEffect(()=>{const d=c.current;return()=>window.clearTimeout(d)},[]),a.jsx(RE,{scope:e,isOpenDelayedRef:o,delayDuration:r,onOpen:p.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:p.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,n)},[n]),isPointerInTransitRef:l,onPointerInTransitChange:p.useCallback(d=>{l.current=d},[]),disableHoverableContent:s,children:i})};Ob.displayName=Ib;var Mb="Tooltip",[s3,Qc]=Jc(Mb),Nh="TooltipTrigger",OE=p.forwardRef((t,e)=>{const{__scopeTooltip:r,...n}=t,s=Qc(Nh,r),i=Rb(Nh,r),o=fm(r),l=p.useRef(null),c=Re(e,l,s.onTriggerChange),d=p.useRef(!1),u=p.useRef(!1),h=p.useCallback(()=>d.current=!1,[]);return p.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),a.jsx(Pb,{asChild:!0,...o,children:a.jsx(fe.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...n,ref:c,onPointerMove:H(t.onPointerMove,m=>{m.pointerType!=="touch"&&!u.current&&!i.isPointerInTransitRef.current&&(s.onTriggerEnter(),u.current=!0)}),onPointerLeave:H(t.onPointerLeave,()=>{s.onTriggerLeave(),u.current=!1}),onPointerDown:H(t.onPointerDown,()=>{s.open&&s.onClose(),d.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:H(t.onFocus,()=>{d.current||s.onOpen()}),onBlur:H(t.onBlur,s.onClose),onClick:H(t.onClick,s.onClose)})})});OE.displayName=Nh;var ME="TooltipPortal",[a3,LE]=Jc(ME,{forceMount:void 0}),Ra="TooltipContent",Lb=p.forwardRef((t,e)=>{const r=LE(Ra,t.__scopeTooltip),{forceMount:n=r.forceMount,side:s="top",...i}=t,o=Qc(Ra,t.__scopeTooltip);return a.jsx(hr,{present:n||o.open,children:o.disableHoverableContent?a.jsx(Db,{side:s,...i,ref:e}):a.jsx(DE,{side:s,...i,ref:e})})}),DE=p.forwardRef((t,e)=>{const r=Qc(Ra,t.__scopeTooltip),n=Rb(Ra,t.__scopeTooltip),s=p.useRef(null),i=Re(e,s),[o,l]=p.useState(null),{trigger:c,onClose:d}=r,u=s.current,{onPointerInTransitChange:h}=n,m=p.useCallback(()=>{l(null),h(!1)},[h]),f=p.useCallback((b,x)=>{const w=b.currentTarget,y={x:b.clientX,y:b.clientY},g=BE(y,w.getBoundingClientRect()),v=WE(y,g),k=VE(x.getBoundingClientRect()),j=qE([...v,...k]);l(j),h(!0)},[h]);return p.useEffect(()=>()=>m(),[m]),p.useEffect(()=>{if(c&&u){const b=w=>f(w,u),x=w=>f(w,c);return c.addEventListener("pointerleave",b),u.addEventListener("pointerleave",x),()=>{c.removeEventListener("pointerleave",b),u.removeEventListener("pointerleave",x)}}},[c,u,f,m]),p.useEffect(()=>{if(o){const b=x=>{const w=x.target,y={x:x.clientX,y:x.clientY},g=(c==null?void 0:c.contains(w))||(u==null?void 0:u.contains(w)),v=!HE(y,o);g?m():v&&(m(),d())};return document.addEventListener("pointermove",b),()=>document.removeEventListener("pointermove",b)}},[c,u,o,d,m]),a.jsx(Db,{...t,ref:i})}),[$E,FE]=Jc(Mb,{isInside:!1}),zE=X_("TooltipContent"),Db=p.forwardRef((t,e)=>{const{__scopeTooltip:r,children:n,"aria-label":s,onEscapeKeyDown:i,onPointerDownOutside:o,...l}=t,c=Qc(Ra,r),d=fm(r),{onClose:u}=c;return p.useEffect(()=>(document.addEventListener(Lg,u),()=>document.removeEventListener(Lg,u)),[u]),p.useEffect(()=>{if(c.trigger){const h=m=>{const f=m.target;f!=null&&f.contains(c.trigger)&&u()};return window.addEventListener("scroll",h,{capture:!0}),()=>window.removeEventListener("scroll",h,{capture:!0})}},[c.trigger,u]),a.jsx(fo,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:h=>h.preventDefault(),onDismiss:u,children:a.jsxs(Tb,{"data-state":c.stateAttribute,...d,...l,ref:e,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[a.jsx(zE,{children:n}),a.jsx($E,{scope:r,isInside:!0,children:a.jsx(kS,{id:c.contentId,role:"tooltip",children:s||n})})]})})});Lb.displayName=Ra;var $b="TooltipArrow",UE=p.forwardRef((t,e)=>{const{__scopeTooltip:r,...n}=t,s=fm(r);return FE($b,r).isInside?null:a.jsx(Ab,{...s,...n,ref:e})});UE.displayName=$b;function BE(t,e){const r=Math.abs(e.top-t.y),n=Math.abs(e.bottom-t.y),s=Math.abs(e.right-t.x),i=Math.abs(e.left-t.x);switch(Math.min(r,n,s,i)){case i:return"left";case s:return"right";case r:return"top";case n:return"bottom";default:throw new Error("unreachable")}}function WE(t,e,r=5){const n=[];switch(e){case"top":n.push({x:t.x-r,y:t.y+r},{x:t.x+r,y:t.y+r});break;case"bottom":n.push({x:t.x-r,y:t.y-r},{x:t.x+r,y:t.y-r});break;case"left":n.push({x:t.x+r,y:t.y-r},{x:t.x+r,y:t.y+r});break;case"right":n.push({x:t.x-r,y:t.y-r},{x:t.x-r,y:t.y+r});break}return n}function VE(t){const{top:e,right:r,bottom:n,left:s}=t;return[{x:s,y:e},{x:r,y:e},{x:r,y:n},{x:s,y:n}]}function HE(t,e){const{x:r,y:n}=t;let s=!1;for(let i=0,o=e.length-1;in!=m>n&&r<(h-d)*(n-u)/(m-u)+d&&(s=!s)}return s}function qE(t){const e=t.slice();return e.sort((r,n)=>r.xn.x?1:r.yn.y?1:0),KE(e)}function KE(t){if(t.length<=1)return t.slice();const e=[];for(let n=0;n=2;){const i=e[e.length-1],o=e[e.length-2];if((i.x-o.x)*(s.y-o.y)>=(i.y-o.y)*(s.x-o.x))e.pop();else break}e.push(s)}e.pop();const r=[];for(let n=t.length-1;n>=0;n--){const s=t[n];for(;r.length>=2;){const i=r[r.length-1],o=r[r.length-2];if((i.x-o.x)*(s.y-o.y)>=(i.y-o.y)*(s.x-o.x))r.pop();else break}r.push(s)}return r.pop(),e.length===1&&r.length===1&&e[0].x===r[0].x&&e[0].y===r[0].y?e:e.concat(r)}var GE=Ob,Fb=Lb;const JE=GE,QE=p.forwardRef(({className:t,sideOffset:e=4,...r},n)=>a.jsx(Fb,{ref:n,sideOffset:e,className:pe("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...r}));QE.displayName=Fb.displayName;var Yc=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Zc=typeof window>"u"||"Deno"in globalThis;function Yt(){}function YE(t,e){return typeof t=="function"?t(e):t}function ZE(t){return typeof t=="number"&&t>=0&&t!==1/0}function XE(t,e){return Math.max(t+(e||0)-Date.now(),0)}function _h(t,e){return typeof t=="function"?t(e):t}function eP(t,e){return typeof t=="function"?t(e):t}function Dg(t,e){const{type:r="all",exact:n,fetchStatus:s,predicate:i,queryKey:o,stale:l}=t;if(o){if(n){if(e.queryHash!==mm(o,e.options))return!1}else if(!Ji(e.queryKey,o))return!1}if(r!=="all"){const c=e.isActive();if(r==="active"&&!c||r==="inactive"&&c)return!1}return!(typeof l=="boolean"&&e.isStale()!==l||s&&s!==e.state.fetchStatus||i&&!i(e))}function $g(t,e){const{exact:r,status:n,predicate:s,mutationKey:i}=t;if(i){if(!e.options.mutationKey)return!1;if(r){if(Gi(e.options.mutationKey)!==Gi(i))return!1}else if(!Ji(e.options.mutationKey,i))return!1}return!(n&&e.state.status!==n||s&&!s(e))}function mm(t,e){return((e==null?void 0:e.queryKeyHashFn)||Gi)(t)}function Gi(t){return JSON.stringify(t,(e,r)=>Sh(r)?Object.keys(r).sort().reduce((n,s)=>(n[s]=r[s],n),{}):r)}function Ji(t,e){return t===e?!0:typeof t!=typeof e?!1:t&&e&&typeof t=="object"&&typeof e=="object"?Object.keys(e).every(r=>Ji(t[r],e[r])):!1}function zb(t,e){if(t===e)return t;const r=Fg(t)&&Fg(e);if(r||Sh(t)&&Sh(e)){const n=r?t:Object.keys(t),s=n.length,i=r?e:Object.keys(e),o=i.length,l=r?[]:{},c=new Set(n);let d=0;for(let u=0;u{setTimeout(e,t)})}function rP(t,e,r){return typeof r.structuralSharing=="function"?r.structuralSharing(t,e):r.structuralSharing!==!1?zb(t,e):e}function nP(t,e,r=0){const n=[...t,e];return r&&n.length>r?n.slice(1):n}function sP(t,e,r=0){const n=[e,...t];return r&&n.length>r?n.slice(0,-1):n}var pm=Symbol();function Ub(t,e){return!t.queryFn&&(e!=null&&e.initialPromise)?()=>e.initialPromise:!t.queryFn||t.queryFn===pm?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}var os,vn,ga,Yx,aP=(Yx=class extends Yc{constructor(){super();xe(this,os);xe(this,vn);xe(this,ga);re(this,ga,e=>{if(!Zc&&window.addEventListener){const r=()=>e();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){P(this,vn)||this.setEventListener(P(this,ga))}onUnsubscribe(){var e;this.hasListeners()||((e=P(this,vn))==null||e.call(this),re(this,vn,void 0))}setEventListener(e){var r;re(this,ga,e),(r=P(this,vn))==null||r.call(this),re(this,vn,e(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()}))}setFocused(e){P(this,os)!==e&&(re(this,os,e),this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(r=>{r(e)})}isFocused(){var e;return typeof P(this,os)=="boolean"?P(this,os):((e=globalThis.document)==null?void 0:e.visibilityState)!=="hidden"}},os=new WeakMap,vn=new WeakMap,ga=new WeakMap,Yx),Bb=new aP,xa,yn,va,Zx,iP=(Zx=class extends Yc{constructor(){super();xe(this,xa,!0);xe(this,yn);xe(this,va);re(this,va,e=>{if(!Zc&&window.addEventListener){const r=()=>e(!0),n=()=>e(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",n)}}})}onSubscribe(){P(this,yn)||this.setEventListener(P(this,va))}onUnsubscribe(){var e;this.hasListeners()||((e=P(this,yn))==null||e.call(this),re(this,yn,void 0))}setEventListener(e){var r;re(this,va,e),(r=P(this,yn))==null||r.call(this),re(this,yn,e(this.setOnline.bind(this)))}setOnline(e){P(this,xa)!==e&&(re(this,xa,e),this.listeners.forEach(n=>{n(e)}))}isOnline(){return P(this,xa)}},xa=new WeakMap,yn=new WeakMap,va=new WeakMap,Zx),sc=new iP;function oP(){let t,e;const r=new Promise((s,i)=>{t=s,e=i});r.status="pending",r.catch(()=>{});function n(s){Object.assign(r,s),delete r.resolve,delete r.reject}return r.resolve=s=>{n({status:"fulfilled",value:s}),t(s)},r.reject=s=>{n({status:"rejected",reason:s}),e(s)},r}function lP(t){return Math.min(1e3*2**t,3e4)}function Wb(t){return(t??"online")==="online"?sc.isOnline():!0}var Vb=class extends Error{constructor(t){super("CancelledError"),this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}};function Yd(t){return t instanceof Vb}function Hb(t){let e=!1,r=0,n=!1,s;const i=oP(),o=x=>{var w;n||(m(new Vb(x)),(w=t.abort)==null||w.call(t))},l=()=>{e=!0},c=()=>{e=!1},d=()=>Bb.isFocused()&&(t.networkMode==="always"||sc.isOnline())&&t.canRun(),u=()=>Wb(t.networkMode)&&t.canRun(),h=x=>{var w;n||(n=!0,(w=t.onSuccess)==null||w.call(t,x),s==null||s(),i.resolve(x))},m=x=>{var w;n||(n=!0,(w=t.onError)==null||w.call(t,x),s==null||s(),i.reject(x))},f=()=>new Promise(x=>{var w;s=y=>{(n||d())&&x(y)},(w=t.onPause)==null||w.call(t)}).then(()=>{var x;s=void 0,n||(x=t.onContinue)==null||x.call(t)}),b=()=>{if(n)return;let x;const w=r===0?t.initialPromise:void 0;try{x=w??t.fn()}catch(y){x=Promise.reject(y)}Promise.resolve(x).then(h).catch(y=>{var N;if(n)return;const g=t.retry??(Zc?0:3),v=t.retryDelay??lP,k=typeof v=="function"?v(r,y):v,j=g===!0||typeof g=="number"&&rd()?void 0:f()).then(()=>{e?m(y):b()})})};return{promise:i,cancel:o,continue:()=>(s==null||s(),i),cancelRetry:l,continueRetry:c,canStart:u,start:()=>(u()?b():f().then(b),i)}}var cP=t=>setTimeout(t,0);function dP(){let t=[],e=0,r=l=>{l()},n=l=>{l()},s=cP;const i=l=>{e?t.push(l):s(()=>{r(l)})},o=()=>{const l=t;t=[],l.length&&s(()=>{n(()=>{l.forEach(c=>{r(c)})})})};return{batch:l=>{let c;e++;try{c=l()}finally{e--,e||o()}return c},batchCalls:l=>(...c)=>{i(()=>{l(...c)})},schedule:i,setNotifyFunction:l=>{r=l},setBatchNotifyFunction:l=>{n=l},setScheduler:l=>{s=l}}}var dt=dP(),ls,Xx,qb=(Xx=class{constructor(){xe(this,ls)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),ZE(this.gcTime)&&re(this,ls,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(Zc?1/0:5*60*1e3))}clearGcTimeout(){P(this,ls)&&(clearTimeout(P(this,ls)),re(this,ls,void 0))}},ls=new WeakMap,Xx),ya,cs,Ot,ds,nt,so,us,Zt,Lr,ev,uP=(ev=class extends qb{constructor(e){super();xe(this,Zt);xe(this,ya);xe(this,cs);xe(this,Ot);xe(this,ds);xe(this,nt);xe(this,so);xe(this,us);re(this,us,!1),re(this,so,e.defaultOptions),this.setOptions(e.options),this.observers=[],re(this,ds,e.client),re(this,Ot,P(this,ds).getQueryCache()),this.queryKey=e.queryKey,this.queryHash=e.queryHash,re(this,ya,fP(this.options)),this.state=e.state??P(this,ya),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var e;return(e=P(this,nt))==null?void 0:e.promise}setOptions(e){this.options={...P(this,so),...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&P(this,Ot).remove(this)}setData(e,r){const n=rP(this.state.data,e,this.options);return et(this,Zt,Lr).call(this,{data:n,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),n}setState(e,r){et(this,Zt,Lr).call(this,{type:"setState",state:e,setStateOptions:r})}cancel(e){var n,s;const r=(n=P(this,nt))==null?void 0:n.promise;return(s=P(this,nt))==null||s.cancel(e),r?r.then(Yt).catch(Yt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(P(this,ya))}isActive(){return this.observers.some(e=>eP(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===pm||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>_h(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!XE(this.state.dataUpdatedAt,e)}onFocus(){var r;const e=this.observers.find(n=>n.shouldFetchOnWindowFocus());e==null||e.refetch({cancelRefetch:!1}),(r=P(this,nt))==null||r.continue()}onOnline(){var r;const e=this.observers.find(n=>n.shouldFetchOnReconnect());e==null||e.refetch({cancelRefetch:!1}),(r=P(this,nt))==null||r.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),P(this,Ot).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(r=>r!==e),this.observers.length||(P(this,nt)&&(P(this,us)?P(this,nt).cancel({revert:!0}):P(this,nt).cancelRetry()),this.scheduleGc()),P(this,Ot).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||et(this,Zt,Lr).call(this,{type:"invalidate"})}fetch(e,r){var d,u,h;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if(P(this,nt))return P(this,nt).continueRetry(),P(this,nt).promise}if(e&&this.setOptions(e),!this.options.queryFn){const m=this.observers.find(f=>f.options.queryFn);m&&this.setOptions(m.options)}const n=new AbortController,s=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(re(this,us,!0),n.signal)})},i=()=>{const m=Ub(this.options,r),b=(()=>{const x={client:P(this,ds),queryKey:this.queryKey,meta:this.meta};return s(x),x})();return re(this,us,!1),this.options.persister?this.options.persister(m,b,this):m(b)},l=(()=>{const m={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:P(this,ds),state:this.state,fetchFn:i};return s(m),m})();(d=this.options.behavior)==null||d.onFetch(l,this),re(this,cs,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((u=l.fetchOptions)==null?void 0:u.meta))&&et(this,Zt,Lr).call(this,{type:"fetch",meta:(h=l.fetchOptions)==null?void 0:h.meta});const c=m=>{var f,b,x,w;Yd(m)&&m.silent||et(this,Zt,Lr).call(this,{type:"error",error:m}),Yd(m)||((b=(f=P(this,Ot).config).onError)==null||b.call(f,m,this),(w=(x=P(this,Ot).config).onSettled)==null||w.call(x,this.state.data,m,this)),this.scheduleGc()};return re(this,nt,Hb({initialPromise:r==null?void 0:r.initialPromise,fn:l.fetchFn,abort:n.abort.bind(n),onSuccess:m=>{var f,b,x,w;if(m===void 0){c(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(m)}catch(y){c(y);return}(b=(f=P(this,Ot).config).onSuccess)==null||b.call(f,m,this),(w=(x=P(this,Ot).config).onSettled)==null||w.call(x,m,this.state.error,this),this.scheduleGc()},onError:c,onFail:(m,f)=>{et(this,Zt,Lr).call(this,{type:"failed",failureCount:m,error:f})},onPause:()=>{et(this,Zt,Lr).call(this,{type:"pause"})},onContinue:()=>{et(this,Zt,Lr).call(this,{type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode,canRun:()=>!0})),P(this,nt).start()}},ya=new WeakMap,cs=new WeakMap,Ot=new WeakMap,ds=new WeakMap,nt=new WeakMap,so=new WeakMap,us=new WeakMap,Zt=new WeakSet,Lr=function(e){const r=n=>{switch(e.type){case"failed":return{...n,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...hP(n.data,this.options),fetchMeta:e.meta??null};case"success":return re(this,cs,void 0),{...n,data:e.data,dataUpdateCount:n.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const s=e.error;return Yd(s)&&s.revert&&P(this,cs)?{...P(this,cs),fetchStatus:"idle"}:{...n,error:s,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error"};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...e.state}}};this.state=r(this.state),dt.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),P(this,Ot).notify({query:this,type:"updated",action:e})})},ev);function hP(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Wb(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function fP(t){const e=typeof t.initialData=="function"?t.initialData():t.initialData,r=e!==void 0,n=r?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var yr,tv,mP=(tv=class extends Yc{constructor(e={}){super();xe(this,yr);this.config=e,re(this,yr,new Map)}build(e,r,n){const s=r.queryKey,i=r.queryHash??mm(s,r);let o=this.get(i);return o||(o=new uP({client:e,queryKey:s,queryHash:i,options:e.defaultQueryOptions(r),state:n,defaultOptions:e.getQueryDefaults(s)}),this.add(o)),o}add(e){P(this,yr).has(e.queryHash)||(P(this,yr).set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const r=P(this,yr).get(e.queryHash);r&&(e.destroy(),r===e&&P(this,yr).delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){dt.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return P(this,yr).get(e)}getAll(){return[...P(this,yr).values()]}find(e){const r={exact:!0,...e};return this.getAll().find(n=>Dg(r,n))}findAll(e={}){const r=this.getAll();return Object.keys(e).length>0?r.filter(n=>Dg(e,n)):r}notify(e){dt.batch(()=>{this.listeners.forEach(r=>{r(e)})})}onFocus(){dt.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){dt.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},yr=new WeakMap,tv),wr,lt,hs,br,cn,rv,pP=(rv=class extends qb{constructor(e){super();xe(this,br);xe(this,wr);xe(this,lt);xe(this,hs);this.mutationId=e.mutationId,re(this,lt,e.mutationCache),re(this,wr,[]),this.state=e.state||gP(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){P(this,wr).includes(e)||(P(this,wr).push(e),this.clearGcTimeout(),P(this,lt).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){re(this,wr,P(this,wr).filter(r=>r!==e)),this.scheduleGc(),P(this,lt).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){P(this,wr).length||(this.state.status==="pending"?this.scheduleGc():P(this,lt).remove(this))}continue(){var e;return((e=P(this,hs))==null?void 0:e.continue())??this.execute(this.state.variables)}async execute(e){var i,o,l,c,d,u,h,m,f,b,x,w,y,g,v,k,j,N,_,C;const r=()=>{et(this,br,cn).call(this,{type:"continue"})};re(this,hs,Hb({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(R,I)=>{et(this,br,cn).call(this,{type:"failed",failureCount:R,error:I})},onPause:()=>{et(this,br,cn).call(this,{type:"pause"})},onContinue:r,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>P(this,lt).canRun(this)}));const n=this.state.status==="pending",s=!P(this,hs).canStart();try{if(n)r();else{et(this,br,cn).call(this,{type:"pending",variables:e,isPaused:s}),await((o=(i=P(this,lt).config).onMutate)==null?void 0:o.call(i,e,this));const I=await((c=(l=this.options).onMutate)==null?void 0:c.call(l,e));I!==this.state.context&&et(this,br,cn).call(this,{type:"pending",context:I,variables:e,isPaused:s})}const R=await P(this,hs).start();return await((u=(d=P(this,lt).config).onSuccess)==null?void 0:u.call(d,R,e,this.state.context,this)),await((m=(h=this.options).onSuccess)==null?void 0:m.call(h,R,e,this.state.context)),await((b=(f=P(this,lt).config).onSettled)==null?void 0:b.call(f,R,null,this.state.variables,this.state.context,this)),await((w=(x=this.options).onSettled)==null?void 0:w.call(x,R,null,e,this.state.context)),et(this,br,cn).call(this,{type:"success",data:R}),R}catch(R){try{throw await((g=(y=P(this,lt).config).onError)==null?void 0:g.call(y,R,e,this.state.context,this)),await((k=(v=this.options).onError)==null?void 0:k.call(v,R,e,this.state.context)),await((N=(j=P(this,lt).config).onSettled)==null?void 0:N.call(j,void 0,R,this.state.variables,this.state.context,this)),await((C=(_=this.options).onSettled)==null?void 0:C.call(_,void 0,R,e,this.state.context)),R}finally{et(this,br,cn).call(this,{type:"error",error:R})}}finally{P(this,lt).runNext(this)}}},wr=new WeakMap,lt=new WeakMap,hs=new WeakMap,br=new WeakSet,cn=function(e){const r=n=>{switch(e.type){case"failed":return{...n,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...n,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:e.error,failureCount:n.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=r(this.state),dt.batch(()=>{P(this,wr).forEach(n=>{n.onMutationUpdate(e)}),P(this,lt).notify({mutation:this,type:"updated",action:e})})},rv);function gP(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Ur,Xt,ao,nv,xP=(nv=class extends Yc{constructor(e={}){super();xe(this,Ur);xe(this,Xt);xe(this,ao);this.config=e,re(this,Ur,new Set),re(this,Xt,new Map),re(this,ao,0)}build(e,r,n){const s=new pP({mutationCache:this,mutationId:++To(this,ao)._,options:e.defaultMutationOptions(r),state:n});return this.add(s),s}add(e){P(this,Ur).add(e);const r=Zo(e);if(typeof r=="string"){const n=P(this,Xt).get(r);n?n.push(e):P(this,Xt).set(r,[e])}this.notify({type:"added",mutation:e})}remove(e){if(P(this,Ur).delete(e)){const r=Zo(e);if(typeof r=="string"){const n=P(this,Xt).get(r);if(n)if(n.length>1){const s=n.indexOf(e);s!==-1&&n.splice(s,1)}else n[0]===e&&P(this,Xt).delete(r)}}this.notify({type:"removed",mutation:e})}canRun(e){const r=Zo(e);if(typeof r=="string"){const n=P(this,Xt).get(r),s=n==null?void 0:n.find(i=>i.state.status==="pending");return!s||s===e}else return!0}runNext(e){var n;const r=Zo(e);if(typeof r=="string"){const s=(n=P(this,Xt).get(r))==null?void 0:n.find(i=>i!==e&&i.state.isPaused);return(s==null?void 0:s.continue())??Promise.resolve()}else return Promise.resolve()}clear(){dt.batch(()=>{P(this,Ur).forEach(e=>{this.notify({type:"removed",mutation:e})}),P(this,Ur).clear(),P(this,Xt).clear()})}getAll(){return Array.from(P(this,Ur))}find(e){const r={exact:!0,...e};return this.getAll().find(n=>$g(r,n))}findAll(e={}){return this.getAll().filter(r=>$g(e,r))}notify(e){dt.batch(()=>{this.listeners.forEach(r=>{r(e)})})}resumePausedMutations(){const e=this.getAll().filter(r=>r.state.isPaused);return dt.batch(()=>Promise.all(e.map(r=>r.continue().catch(Yt))))}},Ur=new WeakMap,Xt=new WeakMap,ao=new WeakMap,nv);function Zo(t){var e;return(e=t.options.scope)==null?void 0:e.id}function Ug(t){return{onFetch:(e,r)=>{var u,h,m,f,b;const n=e.options,s=(m=(h=(u=e.fetchOptions)==null?void 0:u.meta)==null?void 0:h.fetchMore)==null?void 0:m.direction,i=((f=e.state.data)==null?void 0:f.pages)||[],o=((b=e.state.data)==null?void 0:b.pageParams)||[];let l={pages:[],pageParams:[]},c=0;const d=async()=>{let x=!1;const w=v=>{Object.defineProperty(v,"signal",{enumerable:!0,get:()=>(e.signal.aborted?x=!0:e.signal.addEventListener("abort",()=>{x=!0}),e.signal)})},y=Ub(e.options,e.fetchOptions),g=async(v,k,j)=>{if(x)return Promise.reject();if(k==null&&v.pages.length)return Promise.resolve(v);const _=(()=>{const G={client:e.client,queryKey:e.queryKey,pageParam:k,direction:j?"backward":"forward",meta:e.options.meta};return w(G),G})(),C=await y(_),{maxPages:R}=e.options,I=j?sP:nP;return{pages:I(v.pages,C,R),pageParams:I(v.pageParams,k,R)}};if(s&&i.length){const v=s==="backward",k=v?vP:Bg,j={pages:i,pageParams:o},N=k(n,j);l=await g(j,N,v)}else{const v=t??i.length;do{const k=c===0?o[0]??n.initialPageParam:Bg(n,l);if(c>0&&k==null)break;l=await g(l,k),c++}while(c{var x,w;return(w=(x=e.options).persister)==null?void 0:w.call(x,d,{client:e.client,queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},r)}:e.fetchFn=d}}}function Bg(t,{pages:e,pageParams:r}){const n=e.length-1;return e.length>0?t.getNextPageParam(e[n],e,r[n],r):void 0}function vP(t,{pages:e,pageParams:r}){var n;return e.length>0?(n=t.getPreviousPageParam)==null?void 0:n.call(t,e[0],e,r[0],r):void 0}var Me,wn,bn,wa,ba,kn,ka,ja,sv,yP=(sv=class{constructor(t={}){xe(this,Me);xe(this,wn);xe(this,bn);xe(this,wa);xe(this,ba);xe(this,kn);xe(this,ka);xe(this,ja);re(this,Me,t.queryCache||new mP),re(this,wn,t.mutationCache||new xP),re(this,bn,t.defaultOptions||{}),re(this,wa,new Map),re(this,ba,new Map),re(this,kn,0)}mount(){To(this,kn)._++,P(this,kn)===1&&(re(this,ka,Bb.subscribe(async t=>{t&&(await this.resumePausedMutations(),P(this,Me).onFocus())})),re(this,ja,sc.subscribe(async t=>{t&&(await this.resumePausedMutations(),P(this,Me).onOnline())})))}unmount(){var t,e;To(this,kn)._--,P(this,kn)===0&&((t=P(this,ka))==null||t.call(this),re(this,ka,void 0),(e=P(this,ja))==null||e.call(this),re(this,ja,void 0))}isFetching(t){return P(this,Me).findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return P(this,wn).findAll({...t,status:"pending"}).length}getQueryData(t){var r;const e=this.defaultQueryOptions({queryKey:t});return(r=P(this,Me).get(e.queryHash))==null?void 0:r.state.data}ensureQueryData(t){const e=this.defaultQueryOptions(t),r=P(this,Me).build(this,e),n=r.state.data;return n===void 0?this.fetchQuery(t):(t.revalidateIfStale&&r.isStaleByTime(_h(e.staleTime,r))&&this.prefetchQuery(e),Promise.resolve(n))}getQueriesData(t){return P(this,Me).findAll(t).map(({queryKey:e,state:r})=>{const n=r.data;return[e,n]})}setQueryData(t,e,r){const n=this.defaultQueryOptions({queryKey:t}),s=P(this,Me).get(n.queryHash),i=s==null?void 0:s.state.data,o=YE(e,i);if(o!==void 0)return P(this,Me).build(this,n).setData(o,{...r,manual:!0})}setQueriesData(t,e,r){return dt.batch(()=>P(this,Me).findAll(t).map(({queryKey:n})=>[n,this.setQueryData(n,e,r)]))}getQueryState(t){var r;const e=this.defaultQueryOptions({queryKey:t});return(r=P(this,Me).get(e.queryHash))==null?void 0:r.state}removeQueries(t){const e=P(this,Me);dt.batch(()=>{e.findAll(t).forEach(r=>{e.remove(r)})})}resetQueries(t,e){const r=P(this,Me);return dt.batch(()=>(r.findAll(t).forEach(n=>{n.reset()}),this.refetchQueries({type:"active",...t},e)))}cancelQueries(t,e={}){const r={revert:!0,...e},n=dt.batch(()=>P(this,Me).findAll(t).map(s=>s.cancel(r)));return Promise.all(n).then(Yt).catch(Yt)}invalidateQueries(t,e={}){return dt.batch(()=>(P(this,Me).findAll(t).forEach(r=>{r.invalidate()}),(t==null?void 0:t.refetchType)==="none"?Promise.resolve():this.refetchQueries({...t,type:(t==null?void 0:t.refetchType)??(t==null?void 0:t.type)??"active"},e)))}refetchQueries(t,e={}){const r={...e,cancelRefetch:e.cancelRefetch??!0},n=dt.batch(()=>P(this,Me).findAll(t).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let i=s.fetch(void 0,r);return r.throwOnError||(i=i.catch(Yt)),s.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(n).then(Yt)}fetchQuery(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const r=P(this,Me).build(this,e);return r.isStaleByTime(_h(e.staleTime,r))?r.fetch(e):Promise.resolve(r.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(Yt).catch(Yt)}fetchInfiniteQuery(t){return t.behavior=Ug(t.pages),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(Yt).catch(Yt)}ensureInfiniteQueryData(t){return t.behavior=Ug(t.pages),this.ensureQueryData(t)}resumePausedMutations(){return sc.isOnline()?P(this,wn).resumePausedMutations():Promise.resolve()}getQueryCache(){return P(this,Me)}getMutationCache(){return P(this,wn)}getDefaultOptions(){return P(this,bn)}setDefaultOptions(t){re(this,bn,t)}setQueryDefaults(t,e){P(this,wa).set(Gi(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const e=[...P(this,wa).values()],r={};return e.forEach(n=>{Ji(t,n.queryKey)&&Object.assign(r,n.defaultOptions)}),r}setMutationDefaults(t,e){P(this,ba).set(Gi(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const e=[...P(this,ba).values()],r={};return e.forEach(n=>{Ji(t,n.mutationKey)&&Object.assign(r,n.defaultOptions)}),r}defaultQueryOptions(t){if(t._defaulted)return t;const e={...P(this,bn).queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=mm(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.queryFn===pm&&(e.enabled=!1),e}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...P(this,bn).mutations,...(t==null?void 0:t.mutationKey)&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){P(this,Me).clear(),P(this,wn).clear()}},Me=new WeakMap,wn=new WeakMap,bn=new WeakMap,wa=new WeakMap,ba=new WeakMap,kn=new WeakMap,ka=new WeakMap,ja=new WeakMap,sv),wP=p.createContext(void 0),bP=({client:t,children:e})=>(p.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),a.jsx(wP.Provider,{value:t,children:e}));/** * @remix-run/router v1.23.2 * * Copyright (c) Remix Software Inc. * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */function Qi(){return Qi=Object.assign?Object.assign.bind():function(t){for(var e=1;e"u")throw new Error(e)}function gm(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function jP(){return Math.random().toString(36).substr(2,8)}function Vg(t,e){return{usr:t.state,key:t.key,idx:e}}function Ch(t,e,r,n){return r===void 0&&(r=null),Qi({pathname:typeof t=="string"?t:t.pathname,search:"",hash:""},typeof e=="string"?Ha(e):e,{state:r,key:e&&e.key||n||jP()})}function ac(t){let{pathname:e="/",search:r="",hash:n=""}=t;return r&&r!=="?"&&(e+=r.charAt(0)==="?"?r:"?"+r),n&&n!=="#"&&(e+=n.charAt(0)==="#"?n:"#"+n),e}function Ha(t){let e={};if(t){let r=t.indexOf("#");r>=0&&(e.hash=t.substr(r),t=t.substr(0,r));let n=t.indexOf("?");n>=0&&(e.search=t.substr(n),t=t.substr(0,n)),t&&(e.pathname=t)}return e}function NP(t,e,r,n){n===void 0&&(n={});let{window:s=document.defaultView,v5Compat:i=!1}=n,o=s.history,l=_n.Pop,c=null,d=u();d==null&&(d=0,o.replaceState(Qi({},o.state,{idx:d}),""));function u(){return(o.state||{idx:null}).idx}function h(){l=_n.Pop;let w=u(),y=w==null?null:w-d;d=w,c&&c({action:l,location:x.location,delta:y})}function m(w,y){l=_n.Push;let g=Ch(x.location,w,y);d=u()+1;let v=Vg(g,d),k=x.createHref(g);try{o.pushState(v,"",k)}catch(j){if(j instanceof DOMException&&j.name==="DataCloneError")throw j;s.location.assign(k)}i&&c&&c({action:l,location:x.location,delta:1})}function f(w,y){l=_n.Replace;let g=Ch(x.location,w,y);d=u();let v=Vg(g,d),k=x.createHref(g);o.replaceState(v,"",k),i&&c&&c({action:l,location:x.location,delta:0})}function b(w){let y=s.location.origin!=="null"?s.location.origin:s.location.href,g=typeof w=="string"?w:ac(w);return g=g.replace(/ $/,"%20"),Be(y,"No window.location.(origin|href) available to create URL for href: "+g),new URL(g,y)}let x={get action(){return l},get location(){return t(s,o)},listen(w){if(c)throw new Error("A history only accepts one active listener");return s.addEventListener(Wg,h),c=w,()=>{s.removeEventListener(Wg,h),c=null}},createHref(w){return e(s,w)},createURL:b,encodeLocation(w){let y=b(w);return{pathname:y.pathname,search:y.search,hash:y.hash}},push:m,replace:f,go(w){return o.go(w)}};return x}var Hg;(function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"})(Hg||(Hg={}));function _P(t,e,r){return r===void 0&&(r="/"),SP(t,e,r,!1)}function SP(t,e,r,n){let s=typeof e=="string"?Ha(e):e,i=xm(s.pathname||"/",r);if(i==null)return null;let o=Kb(t);CP(o);let l=null;for(let c=0;l==null&&c{let c={relativePath:l===void 0?i.path||"":l,caseSensitive:i.caseSensitive===!0,childrenIndex:o,route:i};c.relativePath.startsWith("/")&&(Be(c.relativePath.startsWith(n),'Absolute route path "'+c.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),c.relativePath=c.relativePath.slice(n.length));let d=Ln([n,c.relativePath]),u=r.concat(c);i.children&&i.children.length>0&&(Be(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+d+'".')),Kb(i.children,e,u,d)),!(i.path==null&&!i.index)&&e.push({path:d,score:OP(d,i.index),routesMeta:u})};return t.forEach((i,o)=>{var l;if(i.path===""||!((l=i.path)!=null&&l.includes("?")))s(i,o);else for(let c of Gb(i.path))s(i,o,c)}),e}function Gb(t){let e=t.split("/");if(e.length===0)return[];let[r,...n]=e,s=r.endsWith("?"),i=r.replace(/\?$/,"");if(n.length===0)return s?[i,""]:[i];let o=Gb(n.join("/")),l=[];return l.push(...o.map(c=>c===""?i:[i,c].join("/"))),s&&l.push(...o),l.map(c=>t.startsWith("/")&&c===""?"/":c)}function CP(t){t.sort((e,r)=>e.score!==r.score?r.score-e.score:MP(e.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}const EP=/^:[\w-]+$/,PP=3,TP=2,AP=1,IP=10,RP=-2,qg=t=>t==="*";function OP(t,e){let r=t.split("/"),n=r.length;return r.some(qg)&&(n+=RP),e&&(n+=TP),r.filter(s=>!qg(s)).reduce((s,i)=>s+(EP.test(i)?PP:i===""?AP:IP),n)}function MP(t,e){return t.length===e.length&&t.slice(0,-1).every((n,s)=>n===e[s])?t[t.length-1]-e[e.length-1]:0}function LP(t,e,r){let{routesMeta:n}=t,s={},i="/",o=[];for(let l=0;l{let{paramName:m,isOptional:f}=u;if(m==="*"){let x=l[h]||"";o=i.slice(0,i.length-x.length).replace(/(.)\/+$/,"$1")}const b=l[h];return f&&!b?d[m]=void 0:d[m]=(b||"").replace(/%2F/g,"/"),d},{}),pathname:i,pathnameBase:o,pattern:t}}function DP(t,e,r){e===void 0&&(e=!1),r===void 0&&(r=!0),gm(t==="*"||!t.endsWith("*")||t.endsWith("/*"),'Route path "'+t+'" will be treated as if it were '+('"'+t.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+t.replace(/\*$/,"/*")+'".'));let n=[],s="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,l,c)=>(n.push({paramName:l,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return t.endsWith("*")?(n.push({paramName:"*"}),s+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?s+="\\/*$":t!==""&&t!=="/"&&(s+="(?:(?=\\/|$))"),[new RegExp(s,e?void 0:"i"),n]}function $P(t){try{return t.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return gm(!1,'The URL path "'+t+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+e+").")),t}}function xm(t,e){if(e==="/")return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let r=e.endsWith("/")?e.length-1:e.length,n=t.charAt(r);return n&&n!=="/"?null:t.slice(r)||"/"}const FP=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,zP=t=>FP.test(t);function UP(t,e){e===void 0&&(e="/");let{pathname:r,search:n="",hash:s=""}=typeof t=="string"?Ha(t):t,i;if(r)if(zP(r))i=r;else{if(r.includes("//")){let o=r;r=r.replace(/\/\/+/g,"/"),gm(!1,"Pathnames cannot have embedded double slashes - normalizing "+(o+" -> "+r))}r.startsWith("/")?i=Gg(r.substring(1),"/"):i=Gg(r,e)}else i=e;return{pathname:i,search:VP(n),hash:HP(s)}}function Gg(t,e){let r=e.replace(/\/+$/,"").split("/");return t.split("/").forEach(s=>{s===".."?r.length>1&&r.pop():s!=="."&&r.push(s)}),r.length>1?r.join("/"):"/"}function Zd(t,e,r,n){return"Cannot include a '"+t+"' character in a manually specified "+("`to."+e+"` field ["+JSON.stringify(n)+"]. Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function BP(t){return t.filter((e,r)=>r===0||e.route.path&&e.route.path.length>0)}function Jb(t,e){let r=BP(t);return e?r.map((n,s)=>s===r.length-1?n.pathname:n.pathnameBase):r.map(n=>n.pathnameBase)}function Qb(t,e,r,n){n===void 0&&(n=!1);let s;typeof t=="string"?s=Ha(t):(s=Qi({},t),Be(!s.pathname||!s.pathname.includes("?"),Zd("?","pathname","search",s)),Be(!s.pathname||!s.pathname.includes("#"),Zd("#","pathname","hash",s)),Be(!s.search||!s.search.includes("#"),Zd("#","search","hash",s)));let i=t===""||s.pathname==="",o=i?"/":s.pathname,l;if(o==null)l=r;else{let h=e.length-1;if(!n&&o.startsWith("..")){let m=o.split("/");for(;m[0]==="..";)m.shift(),h-=1;s.pathname=m.join("/")}l=h>=0?e[h]:"/"}let c=UP(s,l),d=o&&o!=="/"&&o.endsWith("/"),u=(i||o===".")&&r.endsWith("/");return!c.pathname.endsWith("/")&&(d||u)&&(c.pathname+="/"),c}const Ln=t=>t.join("/").replace(/\/\/+/g,"/"),WP=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),VP=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,HP=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function qP(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}const Yb=["post","put","patch","delete"];new Set(Yb);const KP=["get",...Yb];new Set(KP);/** * React Router v6.30.3 * * Copyright (c) Remix Software Inc. * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */function Yi(){return Yi=Object.assign?Object.assign.bind():function(t){for(var e=1;e{l.current=!0}),p.useCallback(function(d,u){if(u===void 0&&(u={}),!l.current)return;if(typeof d=="number"){n.go(d);return}let h=Qb(d,JSON.parse(o),i,u.relative==="path");t==null&&e!=="/"&&(h.pathname=h.pathname==="/"?e:Ln([e,h.pathname])),(u.replace?n.replace:n.push)(h,u.state,u)},[e,n,o,i,t])}function e0(t,e){let{relative:r}=e===void 0?{}:e,{future:n}=p.useContext(Ss),{matches:s}=p.useContext(Cs),{pathname:i}=Es(),o=JSON.stringify(Jb(s,n.v7_relativeSplatPath));return p.useMemo(()=>Qb(t,JSON.parse(o),i,r==="path"),[t,o,i,r])}function YP(t,e){return ZP(t,e)}function ZP(t,e,r,n){xo()||Be(!1);let{navigator:s}=p.useContext(Ss),{matches:i}=p.useContext(Cs),o=i[i.length-1],l=o?o.params:{};o&&o.pathname;let c=o?o.pathnameBase:"/";o&&o.route;let d=Es(),u;if(e){var h;let w=typeof e=="string"?Ha(e):e;c==="/"||(h=w.pathname)!=null&&h.startsWith(c)||Be(!1),u=w}else u=d;let m=u.pathname||"/",f=m;if(c!=="/"){let w=c.replace(/^\//,"").split("/");f="/"+m.replace(/^\//,"").split("/").slice(w.length).join("/")}let b=_P(t,{pathname:f}),x=nT(b&&b.map(w=>Object.assign({},w,{params:Object.assign({},l,w.params),pathname:Ln([c,s.encodeLocation?s.encodeLocation(w.pathname).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?c:Ln([c,s.encodeLocation?s.encodeLocation(w.pathnameBase).pathname:w.pathnameBase])})),i,r,n);return e&&x?p.createElement(Xc.Provider,{value:{location:Yi({pathname:"/",search:"",hash:"",state:null,key:"default"},u),navigationType:_n.Pop}},x):x}function XP(){let t=oT(),e=qP(t)?t.status+" "+t.statusText:t instanceof Error?t.message:JSON.stringify(t),r=t instanceof Error?t.stack:null,s={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return p.createElement(p.Fragment,null,p.createElement("h2",null,"Unexpected Application Error!"),p.createElement("h3",{style:{fontStyle:"italic"}},e),r?p.createElement("pre",{style:s},r):null,null)}const eT=p.createElement(XP,null);class tT 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,r){return r.location!==e.location||r.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:r.error,location:r.location,revalidation:e.revalidation||r.revalidation}}componentDidCatch(e,r){console.error("React Router caught the following error during render",e,r)}render(){return this.state.error!==void 0?p.createElement(Cs.Provider,{value:this.props.routeContext},p.createElement(Zb.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function rT(t){let{routeContext:e,match:r,children:n}=t,s=p.useContext(vm);return s&&s.static&&s.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=r.route.id),p.createElement(Cs.Provider,{value:e},n)}function nT(t,e,r,n){var s;if(e===void 0&&(e=[]),r===void 0&&(r=null),n===void 0&&(n=null),t==null){var i;if(!r)return null;if(r.errors)t=r.matches;else if((i=n)!=null&&i.v7_partialHydration&&e.length===0&&!r.initialized&&r.matches.length>0)t=r.matches;else return null}let o=t,l=(s=r)==null?void 0:s.errors;if(l!=null){let u=o.findIndex(h=>h.route.id&&(l==null?void 0:l[h.route.id])!==void 0);u>=0||Be(!1),o=o.slice(0,Math.min(o.length,u+1))}let c=!1,d=-1;if(r&&n&&n.v7_partialHydration)for(let u=0;u=0?o=o.slice(0,d+1):o=[o[0]];break}}}return o.reduceRight((u,h,m)=>{let f,b=!1,x=null,w=null;r&&(f=l&&h.route.id?l[h.route.id]:void 0,x=h.route.errorElement||eT,c&&(d<0&&m===0?(b=!0,w=null):d===m&&(b=!0,w=h.route.hydrateFallbackElement||null)));let y=e.concat(o.slice(0,m+1)),g=()=>{let v;return f?v=x:b?v=w:h.route.Component?v=p.createElement(h.route.Component,null):h.route.element?v=h.route.element:v=u,p.createElement(rT,{match:h,routeContext:{outlet:u,matches:y,isDataRoute:r!=null},children:v})};return r&&(h.route.ErrorBoundary||h.route.errorElement||m===0)?p.createElement(tT,{location:r.location,revalidation:r.revalidation,component:x,error:f,children:g(),routeContext:{outlet:null,matches:y,isDataRoute:!0}}):g()},null)}var t0=function(t){return t.UseBlocker="useBlocker",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t}(t0||{}),ic=function(t){return t.UseBlocker="useBlocker",t.UseLoaderData="useLoaderData",t.UseActionData="useActionData",t.UseRouteError="useRouteError",t.UseNavigation="useNavigation",t.UseRouteLoaderData="useRouteLoaderData",t.UseMatches="useMatches",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t.UseRouteId="useRouteId",t}(ic||{});function sT(t){let e=p.useContext(vm);return e||Be(!1),e}function aT(t){let e=p.useContext(GP);return e||Be(!1),e}function iT(t){let e=p.useContext(Cs);return e||Be(!1),e}function r0(t){let e=iT(),r=e.matches[e.matches.length-1];return r.route.id||Be(!1),r.route.id}function oT(){var t;let e=p.useContext(Zb),r=aT(ic.UseRouteError),n=r0(ic.UseRouteError);return e!==void 0?e:(t=r.errors)==null?void 0:t[n]}function lT(){let{router:t}=sT(t0.UseNavigateStable),e=r0(ic.UseNavigateStable),r=p.useRef(!1);return Xb(()=>{r.current=!0}),p.useCallback(function(s,i){i===void 0&&(i={}),r.current&&(typeof s=="number"?t.navigate(s):t.navigate(s,Yi({fromRouteId:e},i)))},[t,e])}function cT(t,e){t==null||t.v7_startTransition,t==null||t.v7_relativeSplatPath}function Q(t){Be(!1)}function dT(t){let{basename:e="/",children:r=null,location:n,navigationType:s=_n.Pop,navigator:i,static:o=!1,future:l}=t;xo()&&Be(!1);let c=e.replace(/^\/*/,"/"),d=p.useMemo(()=>({basename:c,navigator:i,static:o,future:Yi({v7_relativeSplatPath:!1},l)}),[c,l,i,o]);typeof n=="string"&&(n=Ha(n));let{pathname:u="/",search:h="",hash:m="",state:f=null,key:b="default"}=n,x=p.useMemo(()=>{let w=xm(u,c);return w==null?null:{location:{pathname:w,search:h,hash:m,state:f,key:b},navigationType:s}},[c,u,h,m,f,b,s]);return x==null?null:p.createElement(Ss.Provider,{value:d},p.createElement(Xc.Provider,{children:r,value:x}))}function uT(t){let{children:e,location:r}=t;return YP(Eh(e),r)}new Promise(()=>{});function Eh(t,e){e===void 0&&(e=[]);let r=[];return p.Children.forEach(t,(n,s)=>{if(!p.isValidElement(n))return;let i=[...e,s];if(n.type===p.Fragment){r.push.apply(r,Eh(n.props.children,i));return}n.type!==Q&&Be(!1),!n.props.index||!n.props.children||Be(!1);let o={id:n.props.id||i.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(o.children=Eh(n.props.children,i)),r.push(o)}),r}/** * React Router DOM v6.30.3 * * Copyright (c) Remix Software Inc. * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */function Ph(){return Ph=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0)&&(r[s]=t[s]);return r}function fT(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function mT(t,e){return t.button===0&&(!e||e==="_self")&&!fT(t)}const pT=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],gT="6";try{window.__reactRouterVersion=gT}catch{}const xT="startTransition",Jg=rf[xT];function vT(t){let{basename:e,children:r,future:n,window:s}=t,i=p.useRef();i.current==null&&(i.current=kP({window:s,v5Compat:!0}));let o=i.current,[l,c]=p.useState({action:o.action,location:o.location}),{v7_startTransition:d}=n||{},u=p.useCallback(h=>{d&&Jg?Jg(()=>c(h)):c(h)},[c,d]);return p.useLayoutEffect(()=>o.listen(u),[o,u]),p.useEffect(()=>cT(n),[n]),p.createElement(dT,{basename:e,children:r,location:l.location,navigationType:l.action,navigator:o,future:n})}const yT=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",wT=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,J=p.forwardRef(function(e,r){let{onClick:n,relative:s,reloadDocument:i,replace:o,state:l,target:c,to:d,preventScrollReset:u,viewTransition:h}=e,m=hT(e,pT),{basename:f}=p.useContext(Ss),b,x=!1;if(typeof d=="string"&&wT.test(d)&&(b=d,yT))try{let v=new URL(window.location.href),k=d.startsWith("//")?new URL(v.protocol+d):new URL(d),j=xm(k.pathname,f);k.origin===v.origin&&j!=null?d=j+k.search+k.hash:x=!0}catch{}let w=JP(d,{relative:s}),y=bT(d,{replace:o,state:l,target:c,preventScrollReset:u,relative:s,viewTransition:h});function g(v){n&&n(v),v.defaultPrevented||y(v)}return p.createElement("a",Ph({},m,{href:b||w,onClick:x||i?n:g,ref:r,target:c}))});var Qg;(function(t){t.UseScrollRestoration="useScrollRestoration",t.UseSubmit="useSubmit",t.UseSubmitFetcher="useSubmitFetcher",t.UseFetcher="useFetcher",t.useViewTransitionState="useViewTransitionState"})(Qg||(Qg={}));var Yg;(function(t){t.UseFetcher="useFetcher",t.UseFetchers="useFetchers",t.UseScrollRestoration="useScrollRestoration"})(Yg||(Yg={}));function bT(t,e){let{target:r,replace:n,state:s,preventScrollReset:i,relative:o,viewTransition:l}=e===void 0?{}:e,c=ym(),d=Es(),u=e0(t,{relative:o});return p.useCallback(h=>{if(mT(h,r)){h.preventDefault();let m=n!==void 0?n:ac(d)===ac(u);c(t,{replace:m,state:s,preventScrollReset:i,relative:o,viewTransition:l})}},[d,c,u,n,s,r,t,i,o,l])}const n0=p.createContext({lang:"sv",prefix:"/sv"}),Kn=()=>p.useContext(n0),kT=({children:t})=>{const e=Es(),r=p.useMemo(()=>{const n=e.pathname==="/home"||e.pathname.startsWith("/about")||e.pathname.startsWith("/services")||e.pathname.startsWith("/contact")||e.pathname.startsWith("/workshop")||e.pathname.startsWith("/science")||e.pathname.startsWith("/personalized-training")||e.pathname.startsWith("/faq")||e.pathname.startsWith("/support-services")||e.pathname.startsWith("/blog")||e.pathname.startsWith("/chat")||e.pathname.startsWith("/app-download")||e.pathname.startsWith("/user-instructions")&&!e.pathname.startsWith("/user-instructions-sv");return{lang:n?"en":"sv",prefix:n?"":"/sv"}},[e.pathname]);return a.jsx(n0.Provider,{value:r,children:t})},jT=Xf("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium transition-all duration-300 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90 shadow-lg hover:shadow-xl",outline:"border-2 border-primary bg-background text-primary hover:bg-primary hover:text-primary-foreground shadow-md hover:shadow-lg",gradient:"button-gradient-purple text-white font-semibold transition-all duration-300","gradient-green":"button-gradient-green text-white font-semibold transition-all duration-300","gradient-orange":"button-gradient-orange text-white font-semibold transition-all duration-300","gradient-purple":"button-gradient-purple text-white font-semibold transition-all duration-300","gradient-blue":"button-gradient-blue text-white font-semibold transition-all duration-300",purple:"bg-purple text-white hover:bg-purple/90 shadow-lg hover:shadow-xl",lightblue:"bg-lightblue text-black hover:bg-lightblue/90 shadow-lg hover:shadow-xl",green:"bg-green text-white hover:bg-green/90 shadow-lg hover:shadow-xl",orange:"bg-orange text-white hover:bg-orange/90 shadow-lg hover:shadow-xl",white:"bg-white text-black hover:bg-white/90 shadow-lg hover:shadow-xl",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline",glass:"glass-effect text-white hover:bg-white/20 backdrop-blur-md","glass-dark":"glass-effect-dark text-white hover:bg-black/40 backdrop-blur-md",hero:"gradient-purple-blue text-white hover:opacity-90 font-bold shadow-2xl",cinematic:"gradient-orange-purple text-white hover:opacity-90 shadow-2xl"},size:{default:"h-12 px-6 py-3",sm:"h-9 px-3 text-sm",lg:"h-14 px-8 text-lg",xl:"h-16 px-12 text-xl",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),W=p.forwardRef(({className:t,variant:e,size:r,asChild:n=!1,...s},i)=>{const o=n?Y_:"button";return a.jsx(o,{className:pe(jT({variant:e,size:r,className:t})),ref:i,...s})});W.displayName="Button";const NT="/assets/pacy-wordmark-white-BDoej20D.png",Le={nav:{login:{en:"Log in",sv:"Logga in"},adminLogin:{en:"Admin log in",sv:"Admin-inloggning"},userLogin:{en:"User log in",sv:"Användarinloggning"},services:{en:"Services",sv:"Tjänster"},pricing:{en:"Pricing",sv:"Pris"},howItWorks:{en:"How it works",sv:"Så funkar det"},blog:{en:"Blog",sv:"Blogg"},bookDemo:{en:"Book demo",sv:"Boka demo"},contact:{en:"Contact",sv:"Kontakt"}},footer:{tagline:{en:"Where teams get better through training.",sv:"Pacy. För team som vill bli bättre på riktigt."},product:{en:"Product",sv:"Produkt"},about:{en:"About",sv:"Om oss"},support:{en:"Support",sv:"Support"},blog:{en:"Blog",sv:"Blogg"},faq:{en:"FAQ",sv:"Vanliga frågor"},userInstructions:{en:"User Instructions",sv:"Användarinstruktioner"},appDownload:{en:"App Download",sv:"Ladda ner appen"},helpCenter:{en:"Help Center",sv:"Hjälpcenter"},policies:{en:"Policies",sv:"Policyer"},privacyPolicy:{en:"Privacy Policy",sv:"Integritetspolicy"},termsOfService:{en:"Terms of Service",sv:"Användarvillkor"},cookiePolicy:{en:"Cookie Policy",sv:"Cookiepolicy"},disclaimer:{en:"Disclaimer",sv:"Ansvarsfriskrivning"},eula:{en:"EULA",sv:"EULA"},allRightsReserved:{en:"All rights reserved.",sv:"Alla rättigheter förbehållna."}},hero:{title:{en:"Build team capability through practice",sv:"Bygg teamets kompetens genom aktiv träning"},subtitle:{en:"Traditional corporate training often stops at information. Pacy helps teams build skills through active practice in realistic work situations. When people get to apply, reflect and improve in context, they build confidence and capability they can actually use in their day-to-day work.",sv:"De flesta företagsutbildningar stannar vid förståelse. Pacy hjälper team att träna på realistiska situationer i sitt arbete, så att de bygger färdigheter de faktiskt kan använda i vardagen. När människor får öva, reflektera och förbättra sig i rätt kontext utvecklar de både trygghet och förmåga snabbare."},cta:{en:"Tailored training programs, AI-supported practice, ready in hours.",sv:"Skräddarsydda träningsprogram, AI-stödd träning, redo på några timmar."},learnMore:{en:"Learn more",sv:"Läs mer"},chatCta:{en:"Chat with Pacy AI about Pacy",sv:"Chatta med Pacy AI om Pacy"}},about:{pageTitle:{en:"About Pacy",sv:"Om Pacy"},pageDescription:{en:"Transform your team's skills with AI-powered training that delivers real results",sv:"Utveckla ditt teams kompetens med AI-driven träning som ger verkliga resultat"},sections:[{title:{en:"AI-Powered HIST Training",sv:"AI-driven HIST-träning"},description:{en:"High-Intensity Skill Training designed to maximize knowledge retention and application through short, focused sessions with AI coaching.",sv:"Högintensiv kompetensutveckling utformad för att maximera kunskapsretention och tillämpning genom korta, fokuserade sessioner med AI-coachning."},features:{en:["40-50% completion rates vs 15% industry average","Personalized AI mentor for each employee","Science-backed microlearning approach","Real-time feedback and adaptation"],sv:["40–50 % slutförandegrad jämfört med branschsnittet på 15 %","Personlig AI-mentor för varje medarbetare","Vetenskapligt grundat mikrolärande","Feedback och anpassning i realtid"]}},{title:{en:"Custom Training Programs",sv:"Skräddarsydda träningsprogram"},description:{en:"Tailored training solutions built from just a one-hour workshop with your team. We handle all the planning, structuring, and content creation.",sv:"Skräddarsydda träningslösningar som skapas utifrån bara en timmes workshop med ditt team. Vi hanterar all planering, strukturering och innehållsskapande."},features:{en:["One-hour briefing session only","Fully customized to your team's needs","No additional planning required from you","Ready-to-launch programs"],sv:["Bara en timmes briefing-session","Helt anpassat efter ditt teams behov","Ingen ytterligare planering krävs från dig","Startklara program"]}},{title:{en:"Team & Individual Focus",sv:"Team- och individfokus"},description:{en:"Training designed for your team as a whole, but personalized for each individual's learning style and pace.",sv:"Träning utformad för teamet som helhet, men personligt anpassad efter varje individs inlärningsstil och tempo."},features:{en:["Team-wide skill alignment","Individual learning paths","Progress tracking and analytics","Scalable across departments"],sv:["Teamövergripande kompetensutveckling","Individuella lärstigar","Uppföljning och analys av framsteg","Skalbart över avdelningar"]}},{title:{en:"Implementation Support",sv:"Implementeringsstöd"},description:{en:"Complete support from setup to ongoing optimization, ensuring your training program delivers measurable results.",sv:"Komplett stöd från installation till löpande optimering, som säkerställer att ditt träningsprogram levererar mätbara resultat."},features:{en:["Full setup and configuration","Ongoing performance monitoring","Regular optimization updates","Dedicated customer success"],sv:["Fullständig installation och konfiguration","Löpande prestandaövervakning","Regelbundna optimeringsuppdateringar","Dedikerad kundframgång"]}}],learnMore:{en:"Learn More",sv:"Läs mer"}},services:{pageTitle:{en:"Transform Your Team with AI-Powered Training",sv:"Transformera ditt team med AI-driven kompetensutveckling"},pageDescription:{en:"Experience the future of corporate learning with Pacy's innovative training solutions. Our AI-driven approach delivers measurable results with 40-50% completion rates, revolutionizing how teams acquire and retain new skills.",sv:"Upplev framtidens företagsträning med Pacys innovativa träningslösningar. Vår AI-drivna metod ger mätbara resultat med 40–50 % slutförandegrad och revolutionerar hur team tillägnar sig och behåller nya färdigheter."},learnMore:{en:"Learn more",sv:"Läs mer"},items:[{title:{en:"Custom built company learning programs",sv:"Skräddarsydd företagsträning"},price:{en:"From 150 EUR / month",sv:"Från 150 EUR / månad"},description:{en:"Transform your organization with AI-powered, fully customized learning programs designed specifically for your team's unique needs and challenges.",sv:"Förvandla din organisation med AI-drivna, helt skräddarsydda träningsprogram designade specifikt för ditt teams unika behov och utmaningar."}},{title:{en:"Practical sales meeting training",sv:"Praktisk säljmötesträning"},price:{en:"From 200 EUR / month",sv:"Från 200 EUR / månad"},description:{en:"Train your salespeople on real sales situations — step by step, over time, with continuous feedback. Tailored to your offering, customers, and sales process.",sv:"Träna dina säljare på verkliga säljsituationer — steg för steg, över tid, med kontinuerlig feedback. Anpassat efter ditt erbjudande, dina kunder och din säljprocess."}},{title:{en:"Customised compliance programs",sv:"Skräddarsydda complianceprogram"},price:{en:"From 10 EUR / user",sv:"Från 10 EUR / användare"},description:{en:"Ensure regulatory compliance and reduce risk with engaging, AI-powered compliance training that your team will actually complete.",sv:"Säkerställ regelefterlevnad och minska risker med engagerande, AI-driven complianceträning som ditt team faktiskt slutför."}}]},contact:{pageTitle:{en:"Contact Us",sv:"Kontakta oss"},pageSubtitle:{en:"Ready to transform your team's training? Let's start with a one-hour conversation.",sv:"Redo att förvandla ditt teams träning? Låt oss börja med ett samtal på en timme."},getStarted:{en:"Get Started Today",sv:"Kom igång idag"},getStartedDescription:{en:"All we need is a one-hour workshop to create a complete, tailored training program for your team. Reach out and let's discuss how Pacy can drive real results for your organization.",sv:"Allt vi behöver är en timmes workshop för att skapa ett komplett, skräddarsytt träningsprogram för ditt team. Hör av dig så diskuterar vi hur Pacy kan leverera verkliga resultat för din organisation."},email:{en:"Email",sv:"E-post"},responseTime:{en:"Response Time",sv:"Svarstid"},responseTimeValue:{en:"We typically respond within 24 hours",sv:"Vi svarar vanligtvis inom 24 timmar"},firstName:{en:"First name",sv:"Förnamn"},lastName:{en:"Last name",sv:"Efternamn"},company:{en:"Company",sv:"Företag"},companyPlaceholder:{en:"Your company name",sv:"Ditt företagsnamn"},message:{en:"Message",sv:"Meddelande"},messagePlaceholder:{en:"Tell us about your training needs...",sv:"Berätta om era träningsbehov..."},sendMessage:{en:"Send Message",sv:"Skicka meddelande"},sending:{en:"Sending...",sv:"Skickar..."},successTitle:{en:"Message Sent!",sv:"Meddelande skickat!"},successDescription:{en:"Your message has been sent successfully. We'll get back to you within 24 hours.",sv:"Ditt meddelande har skickats. Vi återkommer inom 24 timmar."},errorTitle:{en:"Error",sv:"Fel"},errorDescription:{en:"Failed to send message. Please try again or contact us directly at hello@pacy.ai",sv:"Kunde inte skicka meddelandet. Försök igen eller kontakta oss direkt på hello@pacy.ai"}},faq:{pageTitle:{en:"Frequently Asked Questions",sv:"Vanliga frågor"},pageDescription:{en:"Find answers to common questions about Pacy's AI-powered training platform",sv:"Hitta svar på vanliga frågor om Pacys AI-drivna träningsplattform"},stillHaveQuestions:{en:"Still Have Questions?",sv:"Har du fler frågor?"},stillHaveQuestionsDescription:{en:"Our team is here to help you get started with AI-powered training",sv:"Vårt team finns här för att hjälpa dig komma igång med AI-driven träning"},getInTouch:{en:"Get in Touch",sv:"Kontakta oss"},items:[{question:{en:"What is HIST (High-Intensity Skill Training)?",sv:"Vad är HIST (High-Intensity Skill Training)?"},answer:{en:"HIST is our science-backed training methodology that uses short, focused sessions with AI coaching to maximize knowledge retention and application. It's designed to deliver 40-50% completion rates compared to the industry average of 15%.",sv:"HIST är vår vetenskapligt grundade träningsmetodik som använder korta, fokuserade sessioner med AI-coachning för att maximera kunskapsretention och tillämpning. Metoden är utformad för att leverera 40–50 % slutförandegrad jämfört med branschsnittet på 15 %."}},{question:{en:"How does the AI mentor work?",sv:"Hur fungerar AI-mentorn?"},answer:{en:"Each employee gets a personalized AI mentor that adapts to their learning style, provides real-time feedback, and guides them through customized learning paths.",sv:"Varje medarbetare får en personlig AI-mentor som anpassar sig till deras inlärningsstil, ger feedback i realtid och guidar dem genom skräddarsydda lärstigar."}},{question:{en:"What's required from my team for setup?",sv:"Vad krävs av mitt team för att komma igång?"},answer:{en:"Just one hour! We conduct a brief workshop session with your team to understand your training needs, then handle all the planning, structuring, and content creation. You don't need to do any additional preparation.",sv:"Bara en timme! Vi genomför en kort workshop med ditt team för att förstå era träningsbehov, sedan hanterar vi all planering, strukturering och innehållsskapande. Du behöver inte göra någon ytterligare förberedelse."}},{question:{en:"How long are the training sessions?",sv:"Hur långa är träningssessionerna?"},answer:{en:"Our microlearning approach uses short, focused sessions that typically last 10-15 minutes. This makes it easy for employees to fit training into their busy schedules while maintaining high engagement levels.",sv:"Vår mikrolärande-metod använder korta, fokuserade sessioner som vanligtvis varar 10–15 minuter. Det gör det enkelt för medarbetare att passa in träningen i sina fulla scheman och samtidigt bibehålla högt engagemang."}},{question:{en:"Can the training be customized for different departments?",sv:"Kan träningen anpassas för olika avdelningar?"},answer:{en:"Absolutely! Our platform creates team-wide skill alignment while providing individual learning paths. Training can be scaled and customized across different departments, roles, and skill levels.",sv:"Absolut! Vår plattform skapar teamövergripande kompetensutveckling och erbjuder individuella lärstigar. Träningen kan skalas och anpassas över olika avdelningar, roller och kompetensnivåer."}},{question:{en:"How do you measure training effectiveness?",sv:"Hur mäter ni träningseffektiviteten?"},answer:{en:"You can track and measure each users completion rate.",sv:"Du kan följa och mäta varje användares slutförandegrad."}},{question:{en:"What kind of ongoing support do you provide?",sv:"Vilken typ av löpande support erbjuder ni?"},answer:{en:"We offer complete implementation support including full setup, ongoing performance monitoring, regular optimization updates, and dedicated customer success management to ensure your training delivers results.",sv:"Vi erbjuder komplett implementeringsstöd inklusive fullständig installation, löpande prestandaövervakning, regelbundna optimeringsuppdateringar och dedikerad kundframgångshantering för att säkerställa att er träning levererar resultat."}},{question:{en:"Is there a minimum team size requirement?",sv:"Finns det ett minimikrav på teamstorlek?"},answer:{en:"Our platform is designed to work for teams of any size, from small departments to large enterprises. The AI-powered approach scales efficiently regardless of team size.",sv:"Vår plattform är utformad för att fungera för team i alla storlekar, från små avdelningar till stora företag. Den AI-drivna metoden skalar effektivt oavsett teamstorlek."}},{question:{en:"How quickly can we get started?",sv:"Hur snabbt kan vi komma igång?"},answer:{en:"After your one-hour briefing session, we can typically have your customized training program ready to launch within 1-2 weeks, depending on the complexity of your requirements.",sv:"Efter er en timmes briefing-session kan vi vanligtvis ha ert skräddarsydda träningsprogram redo att lansera inom 1–2 veckor, beroende på komplexiteten i era krav."}},{question:{en:"What makes Pacy different from other training platforms?",sv:"Vad skiljer Pacy från andra träningsplattformar?"},answer:{en:"Pacy combines AI-powered personalization with science-backed HIST methodology, requiring minimal time investment from your team while delivering industry-leading completion rates and measurable skill improvements.",sv:"Pacy kombinerar AI-driven personalisering med den vetenskapligt grundade HIST-metodiken, kräver minimal tidsinvestering från ditt team och levererar branschledande slutförandegrad och mätbara kompetensförbättringar."}}]}};function D(t,e){return t[e]}const s0={"/home":"/","/services":"/sv/tjanster","/services/company-learning-programs":"/sv/tjanster/foretagsutbildningar","/services/sales-training-programs":"/sv/tjanster/saljtraning","/services/compliance-programs":"/sv/tjanster/compliance","/about":"/sv/om-oss","/contact":"/sv/kontakt","/faq":"/sv/vanliga-fragor","/blog":"/sv/blogg","/science":"/sv/vetenskap","/workshop":"/sv/workshop","/personalized-training":"/sv/personlig-traning","/support-services":"/sv/supporttjanster","/chat":"/sv/chatt","/app-download":"/sv/ladda-ner-app","/user-instructions":"/sv/anvandarguide"},_T=Object.fromEntries(Object.entries(s0).map(([t,e])=>[e,t]));function Th(t,e){return t==="/"&&e==="en"?"/home":t==="/"&&e==="sv"?"/":e==="sv"?s0[t]||`/sv${t}`:_T[t]||t.replace(/^\/sv/,"")||"/home"}const Zg=()=>{const{lang:t}=Kn(),e=Es(),r=t==="en"?"sv":"en",n=Th(e.pathname,r);return a.jsx(J,{to:n,className:"text-white/70 hover:text-white transition-colors text-sm font-medium tracking-wide",title:t==="en"?"Byt till svenska":"Switch to English",children:t==="en"?"SV":"EN"})};var ST=p.createContext(void 0);function wm(t){const e=p.useContext(ST);return t||e||"ltr"}var Xd=0;function a0(){p.useEffect(()=>{const t=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",t[0]??Xg()),document.body.insertAdjacentElement("beforeend",t[1]??Xg()),Xd++,()=>{Xd===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),Xd--}},[])}function Xg(){const t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var eu="focusScope.autoFocusOnMount",tu="focusScope.autoFocusOnUnmount",ex={bubbles:!1,cancelable:!0},CT="FocusScope",bm=p.forwardRef((t,e)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:s,onUnmountAutoFocus:i,...o}=t,[l,c]=p.useState(null),d=Pt(s),u=Pt(i),h=p.useRef(null),m=Re(e,x=>c(x)),f=p.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;p.useEffect(()=>{if(n){let x=function(v){if(f.paused||!l)return;const k=v.target;l.contains(k)?h.current=k:dn(h.current,{select:!0})},w=function(v){if(f.paused||!l)return;const k=v.relatedTarget;k!==null&&(l.contains(k)||dn(h.current,{select:!0}))},y=function(v){if(document.activeElement===document.body)for(const j of v)j.removedNodes.length>0&&dn(l)};document.addEventListener("focusin",x),document.addEventListener("focusout",w);const g=new MutationObserver(y);return l&&g.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",x),document.removeEventListener("focusout",w),g.disconnect()}}},[n,l,f.paused]),p.useEffect(()=>{if(l){rx.add(f);const x=document.activeElement;if(!l.contains(x)){const y=new CustomEvent(eu,ex);l.addEventListener(eu,d),l.dispatchEvent(y),y.defaultPrevented||(ET(RT(i0(l)),{select:!0}),document.activeElement===x&&dn(l))}return()=>{l.removeEventListener(eu,d),setTimeout(()=>{const y=new CustomEvent(tu,ex);l.addEventListener(tu,u),l.dispatchEvent(y),y.defaultPrevented||dn(x??document.body,{select:!0}),l.removeEventListener(tu,u),rx.remove(f)},0)}}},[l,d,u,f]);const b=p.useCallback(x=>{if(!r&&!n||f.paused)return;const w=x.key==="Tab"&&!x.altKey&&!x.ctrlKey&&!x.metaKey,y=document.activeElement;if(w&&y){const g=x.currentTarget,[v,k]=PT(g);v&&k?!x.shiftKey&&y===k?(x.preventDefault(),r&&dn(v,{select:!0})):x.shiftKey&&y===v&&(x.preventDefault(),r&&dn(k,{select:!0})):y===g&&x.preventDefault()}},[r,n,f.paused]);return a.jsx(fe.div,{tabIndex:-1,...o,ref:m,onKeyDown:b})});bm.displayName=CT;function ET(t,{select:e=!1}={}){const r=document.activeElement;for(const n of t)if(dn(n,{select:e}),document.activeElement!==r)return}function PT(t){const e=i0(t),r=tx(e,t),n=tx(e.reverse(),t);return[r,n]}function i0(t){const e=[],r=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const s=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||s?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)e.push(r.currentNode);return e}function tx(t,e){for(const r of t)if(!TT(r,{upTo:e}))return r}function TT(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function AT(t){return t instanceof HTMLInputElement&&"select"in t}function dn(t,{select:e=!1}={}){if(t&&t.focus){const r=document.activeElement;t.focus({preventScroll:!0}),t!==r&&AT(t)&&e&&t.select()}}var rx=IT();function IT(){let t=[];return{add(e){const r=t[0];e!==r&&(r==null||r.pause()),t=nx(t,e),t.unshift(e)},remove(e){var r;t=nx(t,e),(r=t[0])==null||r.resume()}}}function nx(t,e){const r=[...t],n=r.indexOf(e);return n!==-1&&r.splice(n,1),r}function RT(t){return t.filter(e=>e.tagName!=="A")}var ru="rovingFocusGroup.onEntryFocus",OT={bubbles:!1,cancelable:!0},vo="RovingFocusGroup",[Ah,o0,MT]=Lc(vo),[LT,l0]=ur(vo,[MT]),[DT,$T]=LT(vo),c0=p.forwardRef((t,e)=>a.jsx(Ah.Provider,{scope:t.__scopeRovingFocusGroup,children:a.jsx(Ah.Slot,{scope:t.__scopeRovingFocusGroup,children:a.jsx(FT,{...t,ref:e})})}));c0.displayName=vo;var FT=p.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:r,orientation:n,loop:s=!1,dir:i,currentTabStopId:o,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:c,onEntryFocus:d,preventScrollOnEntryFocus:u=!1,...h}=t,m=p.useRef(null),f=Re(e,m),b=wm(i),[x,w]=_s({prop:o,defaultProp:l??null,onChange:c,caller:vo}),[y,g]=p.useState(!1),v=Pt(d),k=o0(r),j=p.useRef(!1),[N,_]=p.useState(0);return p.useEffect(()=>{const C=m.current;if(C)return C.addEventListener(ru,v),()=>C.removeEventListener(ru,v)},[v]),a.jsx(DT,{scope:r,orientation:n,dir:b,loop:s,currentTabStopId:x,onItemFocus:p.useCallback(C=>w(C),[w]),onItemShiftTab:p.useCallback(()=>g(!0),[]),onFocusableItemAdd:p.useCallback(()=>_(C=>C+1),[]),onFocusableItemRemove:p.useCallback(()=>_(C=>C-1),[]),children:a.jsx(fe.div,{tabIndex:y||N===0?-1:0,"data-orientation":n,...h,ref:f,style:{outline:"none",...t.style},onMouseDown:H(t.onMouseDown,()=>{j.current=!0}),onFocus:H(t.onFocus,C=>{const R=!j.current;if(C.target===C.currentTarget&&R&&!y){const I=new CustomEvent(ru,OT);if(C.currentTarget.dispatchEvent(I),!I.defaultPrevented){const G=k().filter(q=>q.focusable),$=G.find(q=>q.active),ee=G.find(q=>q.id===x),ie=[$,ee,...G].filter(Boolean).map(q=>q.ref.current);h0(ie,u)}}j.current=!1}),onBlur:H(t.onBlur,()=>g(!1))})})}),d0="RovingFocusGroupItem",u0=p.forwardRef((t,e)=>{const{__scopeRovingFocusGroup:r,focusable:n=!0,active:s=!1,tabStopId:i,children:o,...l}=t,c=Mn(),d=i||c,u=$T(d0,r),h=u.currentTabStopId===d,m=o0(r),{onFocusableItemAdd:f,onFocusableItemRemove:b,currentTabStopId:x}=u;return p.useEffect(()=>{if(n)return f(),()=>b()},[n,f,b]),a.jsx(Ah.ItemSlot,{scope:r,id:d,focusable:n,active:s,children:a.jsx(fe.span,{tabIndex:h?0:-1,"data-orientation":u.orientation,...l,ref:e,onMouseDown:H(t.onMouseDown,w=>{n?u.onItemFocus(d):w.preventDefault()}),onFocus:H(t.onFocus,()=>u.onItemFocus(d)),onKeyDown:H(t.onKeyDown,w=>{if(w.key==="Tab"&&w.shiftKey){u.onItemShiftTab();return}if(w.target!==w.currentTarget)return;const y=BT(w,u.orientation,u.dir);if(y!==void 0){if(w.metaKey||w.ctrlKey||w.altKey||w.shiftKey)return;w.preventDefault();let v=m().filter(k=>k.focusable).map(k=>k.ref.current);if(y==="last")v.reverse();else if(y==="prev"||y==="next"){y==="prev"&&v.reverse();const k=v.indexOf(w.currentTarget);v=u.loop?WT(v,k+1):v.slice(k+1)}setTimeout(()=>h0(v))}}),children:typeof o=="function"?o({isCurrentTabStop:h,hasTabStop:x!=null}):o})})});u0.displayName=d0;var zT={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function UT(t,e){return e!=="rtl"?t:t==="ArrowLeft"?"ArrowRight":t==="ArrowRight"?"ArrowLeft":t}function BT(t,e,r){const n=UT(t.key,r);if(!(e==="vertical"&&["ArrowLeft","ArrowRight"].includes(n))&&!(e==="horizontal"&&["ArrowUp","ArrowDown"].includes(n)))return zT[n]}function h0(t,e=!1){const r=document.activeElement;for(const n of t)if(n===r||(n.focus({preventScroll:e}),document.activeElement!==r))return}function WT(t,e){return t.map((r,n)=>t[(e+n)%t.length])}var VT=c0,HT=u0,qT=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},$s=new WeakMap,Xo=new WeakMap,el={},nu=0,f0=function(t){return t&&(t.host||f0(t.parentNode))},KT=function(t,e){return e.map(function(r){if(t.contains(r))return r;var n=f0(r);return n&&t.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",t,". Doing nothing"),null)}).filter(function(r){return!!r})},GT=function(t,e,r,n){var s=KT(e,Array.isArray(t)?t:[t]);el[r]||(el[r]=new WeakMap);var i=el[r],o=[],l=new Set,c=new Set(s),d=function(h){!h||l.has(h)||(l.add(h),d(h.parentNode))};s.forEach(d);var u=function(h){!h||c.has(h)||Array.prototype.forEach.call(h.children,function(m){if(l.has(m))u(m);else try{var f=m.getAttribute(n),b=f!==null&&f!=="false",x=($s.get(m)||0)+1,w=(i.get(m)||0)+1;$s.set(m,x),i.set(m,w),o.push(m),x===1&&b&&Xo.set(m,!0),w===1&&m.setAttribute(r,"true"),b||m.setAttribute(n,"true")}catch(y){console.error("aria-hidden: cannot operate on ",m,y)}})};return u(e),l.clear(),nu++,function(){o.forEach(function(h){var m=$s.get(h)-1,f=i.get(h)-1;$s.set(h,m),i.set(h,f),m||(Xo.has(h)||h.removeAttribute(n),Xo.delete(h)),f||h.removeAttribute(r)}),nu--,nu||($s=new WeakMap,$s=new WeakMap,Xo=new WeakMap,el={})}},m0=function(t,e,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(t)?t:[t]),s=qT(t);return s?(n.push.apply(n,Array.from(s.querySelectorAll("[aria-live]"))),GT(n,s,r,"aria-hidden")):function(){return null}},jr=function(){return jr=Object.assign||function(e){for(var r,n=1,s=arguments.length;n"u")return uA;var e=hA(t),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,n-r+e[2]-e[0])}},mA=v0(),pa="data-scroll-locked",pA=function(t,e,r,n){var s=t.left,i=t.top,o=t.right,l=t.gap;return r===void 0&&(r="margin"),` .`.concat(QT,` { overflow: hidden `).concat(n,`; padding-right: `).concat(l,"px ").concat(n,`; } body[`).concat(pa,`] { overflow: hidden `).concat(n,`; overscroll-behavior: contain; `).concat([e&&"position: relative ".concat(n,";"),r==="margin"&&` padding-left: `.concat(s,`px; padding-top: `).concat(i,`px; padding-right: `).concat(o,`px; margin-left:0; margin-top:0; margin-right: `).concat(l,"px ").concat(n,`; `),r==="padding"&&"padding-right: ".concat(l,"px ").concat(n,";")].filter(Boolean).join(""),` } .`).concat(jl,` { right: `).concat(l,"px ").concat(n,`; } .`).concat(Nl,` { margin-right: `).concat(l,"px ").concat(n,`; } .`).concat(jl," .").concat(jl,` { right: 0 `).concat(n,`; } .`).concat(Nl," .").concat(Nl,` { margin-right: 0 `).concat(n,`; } body[`).concat(pa,`] { `).concat(YT,": ").concat(l,`px; } `)},ax=function(){var t=parseInt(document.body.getAttribute(pa)||"0",10);return isFinite(t)?t:0},gA=function(){p.useEffect(function(){return document.body.setAttribute(pa,(ax()+1).toString()),function(){var t=ax()-1;t<=0?document.body.removeAttribute(pa):document.body.setAttribute(pa,t.toString())}},[])},xA=function(t){var e=t.noRelative,r=t.noImportant,n=t.gapMode,s=n===void 0?"margin":n;gA();var i=p.useMemo(function(){return fA(s)},[s]);return p.createElement(mA,{styles:pA(i,!e,s,r?"":"!important")})},Ih=!1;if(typeof window<"u")try{var tl=Object.defineProperty({},"passive",{get:function(){return Ih=!0,!0}});window.addEventListener("test",tl,tl),window.removeEventListener("test",tl,tl)}catch{Ih=!1}var Fs=Ih?{passive:!1}:!1,vA=function(t){return t.tagName==="TEXTAREA"},y0=function(t,e){if(!(t instanceof Element))return!1;var r=window.getComputedStyle(t);return r[e]!=="hidden"&&!(r.overflowY===r.overflowX&&!vA(t)&&r[e]==="visible")},yA=function(t){return y0(t,"overflowY")},wA=function(t){return y0(t,"overflowX")},ix=function(t,e){var r=e.ownerDocument,n=e;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var s=w0(t,n);if(s){var i=b0(t,n),o=i[1],l=i[2];if(o>l)return!0}n=n.parentNode}while(n&&n!==r.body);return!1},bA=function(t){var e=t.scrollTop,r=t.scrollHeight,n=t.clientHeight;return[e,r,n]},kA=function(t){var e=t.scrollLeft,r=t.scrollWidth,n=t.clientWidth;return[e,r,n]},w0=function(t,e){return t==="v"?yA(e):wA(e)},b0=function(t,e){return t==="v"?bA(e):kA(e)},jA=function(t,e){return t==="h"&&e==="rtl"?-1:1},NA=function(t,e,r,n,s){var i=jA(t,window.getComputedStyle(e).direction),o=i*n,l=r.target,c=e.contains(l),d=!1,u=o>0,h=0,m=0;do{if(!l)break;var f=b0(t,l),b=f[0],x=f[1],w=f[2],y=x-w-i*b;(b||y)&&w0(t,l)&&(h+=y,m+=b);var g=l.parentNode;l=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&l!==document.body||c&&(e.contains(l)||e===l));return(u&&(Math.abs(h)<1||!s)||!u&&(Math.abs(m)<1||!s))&&(d=!0),d},rl=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},ox=function(t){return[t.deltaX,t.deltaY]},lx=function(t){return t&&"current"in t?t.current:t},_A=function(t,e){return t[0]===e[0]&&t[1]===e[1]},SA=function(t){return` .block-interactivity-`.concat(t,` {pointer-events: none;} .allow-interactivity-`).concat(t,` {pointer-events: all;} `)},CA=0,zs=[];function EA(t){var e=p.useRef([]),r=p.useRef([0,0]),n=p.useRef(),s=p.useState(CA++)[0],i=p.useState(v0)[0],o=p.useRef(t);p.useEffect(function(){o.current=t},[t]),p.useEffect(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(s));var x=JT([t.lockRef.current],(t.shards||[]).map(lx),!0).filter(Boolean);return x.forEach(function(w){return w.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),x.forEach(function(w){return w.classList.remove("allow-interactivity-".concat(s))})}}},[t.inert,t.lockRef.current,t.shards]);var l=p.useCallback(function(x,w){if("touches"in x&&x.touches.length===2||x.type==="wheel"&&x.ctrlKey)return!o.current.allowPinchZoom;var y=rl(x),g=r.current,v="deltaX"in x?x.deltaX:g[0]-y[0],k="deltaY"in x?x.deltaY:g[1]-y[1],j,N=x.target,_=Math.abs(v)>Math.abs(k)?"h":"v";if("touches"in x&&_==="h"&&N.type==="range")return!1;var C=ix(_,N);if(!C)return!0;if(C?j=_:(j=_==="v"?"h":"v",C=ix(_,N)),!C)return!1;if(!n.current&&"changedTouches"in x&&(v||k)&&(n.current=j),!j)return!0;var R=n.current||j;return NA(R,w,x,R==="h"?v:k,!0)},[]),c=p.useCallback(function(x){var w=x;if(!(!zs.length||zs[zs.length-1]!==i)){var y="deltaY"in w?ox(w):rl(w),g=e.current.filter(function(j){return j.name===w.type&&(j.target===w.target||w.target===j.shadowParent)&&_A(j.delta,y)})[0];if(g&&g.should){w.cancelable&&w.preventDefault();return}if(!g){var v=(o.current.shards||[]).map(lx).filter(Boolean).filter(function(j){return j.contains(w.target)}),k=v.length>0?l(w,v[0]):!o.current.noIsolation;k&&w.cancelable&&w.preventDefault()}}},[]),d=p.useCallback(function(x,w,y,g){var v={name:x,delta:w,target:y,should:g,shadowParent:PA(y)};e.current.push(v),setTimeout(function(){e.current=e.current.filter(function(k){return k!==v})},1)},[]),u=p.useCallback(function(x){r.current=rl(x),n.current=void 0},[]),h=p.useCallback(function(x){d(x.type,ox(x),x.target,l(x,t.lockRef.current))},[]),m=p.useCallback(function(x){d(x.type,rl(x),x.target,l(x,t.lockRef.current))},[]);p.useEffect(function(){return zs.push(i),t.setCallbacks({onScrollCapture:h,onWheelCapture:h,onTouchMoveCapture:m}),document.addEventListener("wheel",c,Fs),document.addEventListener("touchmove",c,Fs),document.addEventListener("touchstart",u,Fs),function(){zs=zs.filter(function(x){return x!==i}),document.removeEventListener("wheel",c,Fs),document.removeEventListener("touchmove",c,Fs),document.removeEventListener("touchstart",u,Fs)}},[]);var f=t.removeScrollBar,b=t.inert;return p.createElement(p.Fragment,null,b?p.createElement(i,{styles:SA(s)}):null,f?p.createElement(xA,{noRelative:t.noRelative,gapMode:t.gapMode}):null)}function PA(t){for(var e=null;t!==null;)t instanceof ShadowRoot&&(e=t.host,t=t.host),t=t.parentNode;return e}const TA=sA(x0,EA);var km=p.forwardRef(function(t,e){return p.createElement(ed,jr({},t,{ref:e,sideCar:TA}))});km.classNames=ed.classNames;var Rh=["Enter"," "],AA=["ArrowDown","PageUp","Home"],k0=["ArrowUp","PageDown","End"],IA=[...AA,...k0],RA={ltr:[...Rh,"ArrowRight"],rtl:[...Rh,"ArrowLeft"]},OA={ltr:["ArrowLeft"],rtl:["ArrowRight"]},yo="Menu",[Zi,MA,LA]=Lc(yo),[Ps,j0]=ur(yo,[LA,Gc,l0]),td=Gc(),N0=l0(),[DA,Ts]=Ps(yo),[$A,wo]=Ps(yo),_0=t=>{const{__scopeMenu:e,open:r=!1,children:n,dir:s,onOpenChange:i,modal:o=!0}=t,l=td(e),[c,d]=p.useState(null),u=p.useRef(!1),h=Pt(i),m=wm(s);return p.useEffect(()=>{const f=()=>{u.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>u.current=!1;return document.addEventListener("keydown",f,{capture:!0}),()=>{document.removeEventListener("keydown",f,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),a.jsx(AE,{...l,children:a.jsx(DA,{scope:e,open:r,onOpenChange:h,content:c,onContentChange:d,children:a.jsx($A,{scope:e,onClose:p.useCallback(()=>h(!1),[h]),isUsingKeyboardRef:u,dir:m,modal:o,children:n})})})};_0.displayName=yo;var FA="MenuAnchor",jm=p.forwardRef((t,e)=>{const{__scopeMenu:r,...n}=t,s=td(r);return a.jsx(Pb,{...s,...n,ref:e})});jm.displayName=FA;var Nm="MenuPortal",[zA,S0]=Ps(Nm,{forceMount:void 0}),C0=t=>{const{__scopeMenu:e,forceMount:r,children:n,container:s}=t,i=Ts(Nm,e);return a.jsx(zA,{scope:e,forceMount:r,children:a.jsx(hr,{present:r||i.open,children:a.jsx(Dc,{asChild:!0,container:s,children:n})})})};C0.displayName=Nm;var Ft="MenuContent",[UA,_m]=Ps(Ft),E0=p.forwardRef((t,e)=>{const r=S0(Ft,t.__scopeMenu),{forceMount:n=r.forceMount,...s}=t,i=Ts(Ft,t.__scopeMenu),o=wo(Ft,t.__scopeMenu);return a.jsx(Zi.Provider,{scope:t.__scopeMenu,children:a.jsx(hr,{present:n||i.open,children:a.jsx(Zi.Slot,{scope:t.__scopeMenu,children:o.modal?a.jsx(BA,{...s,ref:e}):a.jsx(WA,{...s,ref:e})})})})}),BA=p.forwardRef((t,e)=>{const r=Ts(Ft,t.__scopeMenu),n=p.useRef(null),s=Re(e,n);return p.useEffect(()=>{const i=n.current;if(i)return m0(i)},[]),a.jsx(Sm,{...t,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:H(t.onFocusOutside,i=>i.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),WA=p.forwardRef((t,e)=>{const r=Ts(Ft,t.__scopeMenu);return a.jsx(Sm,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),VA=Aa("MenuContent.ScrollLock"),Sm=p.forwardRef((t,e)=>{const{__scopeMenu:r,loop:n=!1,trapFocus:s,onOpenAutoFocus:i,onCloseAutoFocus:o,disableOutsidePointerEvents:l,onEntryFocus:c,onEscapeKeyDown:d,onPointerDownOutside:u,onFocusOutside:h,onInteractOutside:m,onDismiss:f,disableOutsideScroll:b,...x}=t,w=Ts(Ft,r),y=wo(Ft,r),g=td(r),v=N0(r),k=MA(r),[j,N]=p.useState(null),_=p.useRef(null),C=Re(e,_,w.onContentChange),R=p.useRef(0),I=p.useRef(""),G=p.useRef(0),$=p.useRef(null),ee=p.useRef("right"),L=p.useRef(0),ie=b?km:p.Fragment,q=b?{as:VA,allowPinchZoom:!0}:void 0,Y=S=>{var ce,Or;const M=I.current+S,K=k().filter(Ge=>!Ge.disabled),B=document.activeElement,se=(ce=K.find(Ge=>Ge.ref.current===B))==null?void 0:ce.textValue,oe=K.map(Ge=>Ge.textValue),Pe=rI(oe,M,se),Oe=(Or=K.find(Ge=>Ge.textValue===Pe))==null?void 0:Or.ref.current;(function Ge(pr){I.current=pr,window.clearTimeout(R.current),pr!==""&&(R.current=window.setTimeout(()=>Ge(""),1e3))})(M),Oe&&setTimeout(()=>Oe.focus())};p.useEffect(()=>()=>window.clearTimeout(R.current),[]),a0();const E=p.useCallback(S=>{var K,B;return ee.current===((K=$.current)==null?void 0:K.side)&&sI(S,(B=$.current)==null?void 0:B.area)},[]);return a.jsx(UA,{scope:r,searchRef:I,onItemEnter:p.useCallback(S=>{E(S)&&S.preventDefault()},[E]),onItemLeave:p.useCallback(S=>{var M;E(S)||((M=_.current)==null||M.focus(),N(null))},[E]),onTriggerLeave:p.useCallback(S=>{E(S)&&S.preventDefault()},[E]),pointerGraceTimerRef:G,onPointerGraceIntentChange:p.useCallback(S=>{$.current=S},[]),children:a.jsx(ie,{...q,children:a.jsx(bm,{asChild:!0,trapped:s,onMountAutoFocus:H(i,S=>{var M;S.preventDefault(),(M=_.current)==null||M.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:a.jsx(fo,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:d,onPointerDownOutside:u,onFocusOutside:h,onInteractOutside:m,onDismiss:f,children:a.jsx(VT,{asChild:!0,...v,dir:y.dir,orientation:"vertical",loop:n,currentTabStopId:j,onCurrentTabStopIdChange:N,onEntryFocus:H(c,S=>{y.isUsingKeyboardRef.current||S.preventDefault()}),preventScrollOnEntryFocus:!0,children:a.jsx(Tb,{role:"menu","aria-orientation":"vertical","data-state":V0(w.open),"data-radix-menu-content":"",dir:y.dir,...g,...x,ref:C,style:{outline:"none",...x.style},onKeyDown:H(x.onKeyDown,S=>{const K=S.target.closest("[data-radix-menu-content]")===S.currentTarget,B=S.ctrlKey||S.altKey||S.metaKey,se=S.key.length===1;K&&(S.key==="Tab"&&S.preventDefault(),!B&&se&&Y(S.key));const oe=_.current;if(S.target!==oe||!IA.includes(S.key))return;S.preventDefault();const Oe=k().filter(ce=>!ce.disabled).map(ce=>ce.ref.current);k0.includes(S.key)&&Oe.reverse(),eI(Oe)}),onBlur:H(t.onBlur,S=>{S.currentTarget.contains(S.target)||(window.clearTimeout(R.current),I.current="")}),onPointerMove:H(t.onPointerMove,Xi(S=>{const M=S.target,K=L.current!==S.clientX;if(S.currentTarget.contains(M)&&K){const B=S.clientX>L.current?"right":"left";ee.current=B,L.current=S.clientX}}))})})})})})})});E0.displayName=Ft;var HA="MenuGroup",Cm=p.forwardRef((t,e)=>{const{__scopeMenu:r,...n}=t;return a.jsx(fe.div,{role:"group",...n,ref:e})});Cm.displayName=HA;var qA="MenuLabel",P0=p.forwardRef((t,e)=>{const{__scopeMenu:r,...n}=t;return a.jsx(fe.div,{...n,ref:e})});P0.displayName=qA;var oc="MenuItem",cx="menu.itemSelect",rd=p.forwardRef((t,e)=>{const{disabled:r=!1,onSelect:n,...s}=t,i=p.useRef(null),o=wo(oc,t.__scopeMenu),l=_m(oc,t.__scopeMenu),c=Re(e,i),d=p.useRef(!1),u=()=>{const h=i.current;if(!r&&h){const m=new CustomEvent(cx,{bubbles:!0,cancelable:!0});h.addEventListener(cx,f=>n==null?void 0:n(f),{once:!0}),Jf(h,m),m.defaultPrevented?d.current=!1:o.onClose()}};return a.jsx(T0,{...s,ref:c,disabled:r,onClick:H(t.onClick,u),onPointerDown:h=>{var m;(m=t.onPointerDown)==null||m.call(t,h),d.current=!0},onPointerUp:H(t.onPointerUp,h=>{var m;d.current||(m=h.currentTarget)==null||m.click()}),onKeyDown:H(t.onKeyDown,h=>{const m=l.searchRef.current!=="";r||m&&h.key===" "||Rh.includes(h.key)&&(h.currentTarget.click(),h.preventDefault())})})});rd.displayName=oc;var T0=p.forwardRef((t,e)=>{const{__scopeMenu:r,disabled:n=!1,textValue:s,...i}=t,o=_m(oc,r),l=N0(r),c=p.useRef(null),d=Re(e,c),[u,h]=p.useState(!1),[m,f]=p.useState("");return p.useEffect(()=>{const b=c.current;b&&f((b.textContent??"").trim())},[i.children]),a.jsx(Zi.ItemSlot,{scope:r,disabled:n,textValue:s??m,children:a.jsx(HT,{asChild:!0,...l,focusable:!n,children:a.jsx(fe.div,{role:"menuitem","data-highlighted":u?"":void 0,"aria-disabled":n||void 0,"data-disabled":n?"":void 0,...i,ref:d,onPointerMove:H(t.onPointerMove,Xi(b=>{n?o.onItemLeave(b):(o.onItemEnter(b),b.defaultPrevented||b.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:H(t.onPointerLeave,Xi(b=>o.onItemLeave(b))),onFocus:H(t.onFocus,()=>h(!0)),onBlur:H(t.onBlur,()=>h(!1))})})})}),KA="MenuCheckboxItem",A0=p.forwardRef((t,e)=>{const{checked:r=!1,onCheckedChange:n,...s}=t;return a.jsx(L0,{scope:t.__scopeMenu,checked:r,children:a.jsx(rd,{role:"menuitemcheckbox","aria-checked":lc(r)?"mixed":r,...s,ref:e,"data-state":Pm(r),onSelect:H(s.onSelect,()=>n==null?void 0:n(lc(r)?!0:!r),{checkForDefaultPrevented:!1})})})});A0.displayName=KA;var I0="MenuRadioGroup",[GA,JA]=Ps(I0,{value:void 0,onValueChange:()=>{}}),R0=p.forwardRef((t,e)=>{const{value:r,onValueChange:n,...s}=t,i=Pt(n);return a.jsx(GA,{scope:t.__scopeMenu,value:r,onValueChange:i,children:a.jsx(Cm,{...s,ref:e})})});R0.displayName=I0;var O0="MenuRadioItem",M0=p.forwardRef((t,e)=>{const{value:r,...n}=t,s=JA(O0,t.__scopeMenu),i=r===s.value;return a.jsx(L0,{scope:t.__scopeMenu,checked:i,children:a.jsx(rd,{role:"menuitemradio","aria-checked":i,...n,ref:e,"data-state":Pm(i),onSelect:H(n.onSelect,()=>{var o;return(o=s.onValueChange)==null?void 0:o.call(s,r)},{checkForDefaultPrevented:!1})})})});M0.displayName=O0;var Em="MenuItemIndicator",[L0,QA]=Ps(Em,{checked:!1}),D0=p.forwardRef((t,e)=>{const{__scopeMenu:r,forceMount:n,...s}=t,i=QA(Em,r);return a.jsx(hr,{present:n||lc(i.checked)||i.checked===!0,children:a.jsx(fe.span,{...s,ref:e,"data-state":Pm(i.checked)})})});D0.displayName=Em;var YA="MenuSeparator",$0=p.forwardRef((t,e)=>{const{__scopeMenu:r,...n}=t;return a.jsx(fe.div,{role:"separator","aria-orientation":"horizontal",...n,ref:e})});$0.displayName=YA;var ZA="MenuArrow",F0=p.forwardRef((t,e)=>{const{__scopeMenu:r,...n}=t,s=td(r);return a.jsx(Ab,{...s,...n,ref:e})});F0.displayName=ZA;var XA="MenuSub",[i3,z0]=Ps(XA),fi="MenuSubTrigger",U0=p.forwardRef((t,e)=>{const r=Ts(fi,t.__scopeMenu),n=wo(fi,t.__scopeMenu),s=z0(fi,t.__scopeMenu),i=_m(fi,t.__scopeMenu),o=p.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:c}=i,d={__scopeMenu:t.__scopeMenu},u=p.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return p.useEffect(()=>u,[u]),p.useEffect(()=>{const h=l.current;return()=>{window.clearTimeout(h),c(null)}},[l,c]),a.jsx(jm,{asChild:!0,...d,children:a.jsx(T0,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":s.contentId,"data-state":V0(r.open),...t,ref:Mc(e,s.onTriggerChange),onClick:h=>{var m;(m=t.onClick)==null||m.call(t,h),!(t.disabled||h.defaultPrevented)&&(h.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:H(t.onPointerMove,Xi(h=>{i.onItemEnter(h),!h.defaultPrevented&&!t.disabled&&!r.open&&!o.current&&(i.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{r.onOpenChange(!0),u()},100))})),onPointerLeave:H(t.onPointerLeave,Xi(h=>{var f,b;u();const m=(f=r.content)==null?void 0:f.getBoundingClientRect();if(m){const x=(b=r.content)==null?void 0:b.dataset.side,w=x==="right",y=w?-5:5,g=m[w?"left":"right"],v=m[w?"right":"left"];i.onPointerGraceIntentChange({area:[{x:h.clientX+y,y:h.clientY},{x:g,y:m.top},{x:v,y:m.top},{x:v,y:m.bottom},{x:g,y:m.bottom}],side:x}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>i.onPointerGraceIntentChange(null),300)}else{if(i.onTriggerLeave(h),h.defaultPrevented)return;i.onPointerGraceIntentChange(null)}})),onKeyDown:H(t.onKeyDown,h=>{var f;const m=i.searchRef.current!=="";t.disabled||m&&h.key===" "||RA[n.dir].includes(h.key)&&(r.onOpenChange(!0),(f=r.content)==null||f.focus(),h.preventDefault())})})})});U0.displayName=fi;var B0="MenuSubContent",W0=p.forwardRef((t,e)=>{const r=S0(Ft,t.__scopeMenu),{forceMount:n=r.forceMount,...s}=t,i=Ts(Ft,t.__scopeMenu),o=wo(Ft,t.__scopeMenu),l=z0(B0,t.__scopeMenu),c=p.useRef(null),d=Re(e,c);return a.jsx(Zi.Provider,{scope:t.__scopeMenu,children:a.jsx(hr,{present:n||i.open,children:a.jsx(Zi.Slot,{scope:t.__scopeMenu,children:a.jsx(Sm,{id:l.contentId,"aria-labelledby":l.triggerId,...s,ref:d,align:"start",side:o.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:u=>{var h;o.isUsingKeyboardRef.current&&((h=c.current)==null||h.focus()),u.preventDefault()},onCloseAutoFocus:u=>u.preventDefault(),onFocusOutside:H(t.onFocusOutside,u=>{u.target!==l.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:H(t.onEscapeKeyDown,u=>{o.onClose(),u.preventDefault()}),onKeyDown:H(t.onKeyDown,u=>{var f;const h=u.currentTarget.contains(u.target),m=OA[o.dir].includes(u.key);h&&m&&(i.onOpenChange(!1),(f=l.trigger)==null||f.focus(),u.preventDefault())})})})})})});W0.displayName=B0;function V0(t){return t?"open":"closed"}function lc(t){return t==="indeterminate"}function Pm(t){return lc(t)?"indeterminate":t?"checked":"unchecked"}function eI(t){const e=document.activeElement;for(const r of t)if(r===e||(r.focus(),document.activeElement!==e))return}function tI(t,e){return t.map((r,n)=>t[(e+n)%t.length])}function rI(t,e,r){const s=e.length>1&&Array.from(e).every(d=>d===e[0])?e[0]:e,i=r?t.indexOf(r):-1;let o=tI(t,Math.max(i,0));s.length===1&&(o=o.filter(d=>d!==r));const c=o.find(d=>d.toLowerCase().startsWith(s.toLowerCase()));return c!==r?c:void 0}function nI(t,e){const{x:r,y:n}=t;let s=!1;for(let i=0,o=e.length-1;in!=m>n&&r<(h-d)*(n-u)/(m-u)+d&&(s=!s)}return s}function sI(t,e){if(!e)return!1;const r={x:t.clientX,y:t.clientY};return nI(r,e)}function Xi(t){return e=>e.pointerType==="mouse"?t(e):void 0}var aI=_0,iI=jm,oI=C0,lI=E0,cI=Cm,dI=P0,uI=rd,hI=A0,fI=R0,mI=M0,pI=D0,gI=$0,xI=F0,vI=U0,yI=W0,nd="DropdownMenu",[wI,o3]=ur(nd,[j0]),mt=j0(),[bI,H0]=wI(nd),q0=t=>{const{__scopeDropdownMenu:e,children:r,dir:n,open:s,defaultOpen:i,onOpenChange:o,modal:l=!0}=t,c=mt(e),d=p.useRef(null),[u,h]=_s({prop:s,defaultProp:i??!1,onChange:o,caller:nd});return a.jsx(bI,{scope:e,triggerId:Mn(),triggerRef:d,contentId:Mn(),open:u,onOpenChange:h,onOpenToggle:p.useCallback(()=>h(m=>!m),[h]),modal:l,children:a.jsx(aI,{...c,open:u,onOpenChange:h,dir:n,modal:l,children:r})})};q0.displayName=nd;var K0="DropdownMenuTrigger",G0=p.forwardRef((t,e)=>{const{__scopeDropdownMenu:r,disabled:n=!1,...s}=t,i=H0(K0,r),o=mt(r);return a.jsx(iI,{asChild:!0,...o,children:a.jsx(fe.button,{type:"button",id:i.triggerId,"aria-haspopup":"menu","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":i.open?"open":"closed","data-disabled":n?"":void 0,disabled:n,...s,ref:Mc(e,i.triggerRef),onPointerDown:H(t.onPointerDown,l=>{!n&&l.button===0&&l.ctrlKey===!1&&(i.onOpenToggle(),i.open||l.preventDefault())}),onKeyDown:H(t.onKeyDown,l=>{n||(["Enter"," "].includes(l.key)&&i.onOpenToggle(),l.key==="ArrowDown"&&i.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(l.key)&&l.preventDefault())})})})});G0.displayName=K0;var kI="DropdownMenuPortal",J0=t=>{const{__scopeDropdownMenu:e,...r}=t,n=mt(e);return a.jsx(oI,{...n,...r})};J0.displayName=kI;var Q0="DropdownMenuContent",Y0=p.forwardRef((t,e)=>{const{__scopeDropdownMenu:r,...n}=t,s=H0(Q0,r),i=mt(r),o=p.useRef(!1);return a.jsx(lI,{id:s.contentId,"aria-labelledby":s.triggerId,...i,...n,ref:e,onCloseAutoFocus:H(t.onCloseAutoFocus,l=>{var c;o.current||(c=s.triggerRef.current)==null||c.focus(),o.current=!1,l.preventDefault()}),onInteractOutside:H(t.onInteractOutside,l=>{const c=l.detail.originalEvent,d=c.button===0&&c.ctrlKey===!0,u=c.button===2||d;(!s.modal||u)&&(o.current=!0)}),style:{...t.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Y0.displayName=Q0;var jI="DropdownMenuGroup",NI=p.forwardRef((t,e)=>{const{__scopeDropdownMenu:r,...n}=t,s=mt(r);return a.jsx(cI,{...s,...n,ref:e})});NI.displayName=jI;var _I="DropdownMenuLabel",Z0=p.forwardRef((t,e)=>{const{__scopeDropdownMenu:r,...n}=t,s=mt(r);return a.jsx(dI,{...s,...n,ref:e})});Z0.displayName=_I;var SI="DropdownMenuItem",X0=p.forwardRef((t,e)=>{const{__scopeDropdownMenu:r,...n}=t,s=mt(r);return a.jsx(uI,{...s,...n,ref:e})});X0.displayName=SI;var CI="DropdownMenuCheckboxItem",ek=p.forwardRef((t,e)=>{const{__scopeDropdownMenu:r,...n}=t,s=mt(r);return a.jsx(hI,{...s,...n,ref:e})});ek.displayName=CI;var EI="DropdownMenuRadioGroup",PI=p.forwardRef((t,e)=>{const{__scopeDropdownMenu:r,...n}=t,s=mt(r);return a.jsx(fI,{...s,...n,ref:e})});PI.displayName=EI;var TI="DropdownMenuRadioItem",tk=p.forwardRef((t,e)=>{const{__scopeDropdownMenu:r,...n}=t,s=mt(r);return a.jsx(mI,{...s,...n,ref:e})});tk.displayName=TI;var AI="DropdownMenuItemIndicator",rk=p.forwardRef((t,e)=>{const{__scopeDropdownMenu:r,...n}=t,s=mt(r);return a.jsx(pI,{...s,...n,ref:e})});rk.displayName=AI;var II="DropdownMenuSeparator",nk=p.forwardRef((t,e)=>{const{__scopeDropdownMenu:r,...n}=t,s=mt(r);return a.jsx(gI,{...s,...n,ref:e})});nk.displayName=II;var RI="DropdownMenuArrow",OI=p.forwardRef((t,e)=>{const{__scopeDropdownMenu:r,...n}=t,s=mt(r);return a.jsx(xI,{...s,...n,ref:e})});OI.displayName=RI;var MI="DropdownMenuSubTrigger",sk=p.forwardRef((t,e)=>{const{__scopeDropdownMenu:r,...n}=t,s=mt(r);return a.jsx(vI,{...s,...n,ref:e})});sk.displayName=MI;var LI="DropdownMenuSubContent",ak=p.forwardRef((t,e)=>{const{__scopeDropdownMenu:r,...n}=t,s=mt(r);return a.jsx(yI,{...s,...n,ref:e,style:{...t.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});ak.displayName=LI;var DI=q0,$I=G0,FI=J0,ik=Y0,ok=Z0,lk=X0,ck=ek,dk=tk,uk=rk,hk=nk,fk=sk,mk=ak;const zI=DI,UI=$I,BI=p.forwardRef(({className:t,inset:e,children:r,...n},s)=>a.jsxs(fk,{ref:s,className:pe("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",e&&"pl-8",t),...n,children:[r,a.jsx(bl,{className:"ml-auto h-4 w-4"})]}));BI.displayName=fk.displayName;const WI=p.forwardRef(({className:t,...e},r)=>a.jsx(mk,{ref:r,className:pe("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...e}));WI.displayName=mk.displayName;const pk=p.forwardRef(({className:t,sideOffset:e=4,...r},n)=>a.jsx(FI,{children:a.jsx(ik,{ref:n,sideOffset:e,className:pe("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...r})}));pk.displayName=ik.displayName;const Oh=p.forwardRef(({className:t,inset:e,...r},n)=>a.jsx(lk,{ref:n,className:pe("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e&&"pl-8",t),...r}));Oh.displayName=lk.displayName;const VI=p.forwardRef(({className:t,children:e,checked:r,...n},s)=>a.jsxs(ck,{ref:s,className:pe("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:r,...n,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(uk,{children:a.jsx(Uc,{className:"h-4 w-4"})})}),e]}));VI.displayName=ck.displayName;const HI=p.forwardRef(({className:t,children:e,...r},n)=>a.jsxs(dk,{ref:n,className:pe("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...r,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(uk,{children:a.jsx(KS,{className:"h-2 w-2 fill-current"})})}),e]}));HI.displayName=dk.displayName;const qI=p.forwardRef(({className:t,inset:e,...r},n)=>a.jsx(ok,{ref:n,className:pe("px-2 py-1.5 text-sm font-semibold",e&&"pl-8",t),...r}));qI.displayName=ok.displayName;const KI=p.forwardRef(({className:t,...e},r)=>a.jsx(hk,{ref:r,className:pe("-mx-1 my-1 h-px bg-muted",t),...e}));KI.displayName=hk.displayName;const ue=()=>{const[t,e]=p.useState(!1),{lang:r,prefix:n}=Kn(),s=()=>{e(!t)},i=r==="sv"?"/sv/tjanster":"/services",o=r==="sv"?"/sv/kontakt":"/contact",l=r==="sv"?"https://insights.pacy.ai/blogg":"https://insights.pacy.ai",c=r==="sv"?"/sv/workshop":"/how-it-works",d=r==="sv"?"/sv/kontakt":"/contact";return a.jsx("nav",{className:"fixed top-0 w-full z-50 bg-black",children:a.jsxs("div",{className:"max-w-7xl mx-auto px-6 py-4",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("div",{className:"flex items-center space-x-2",children:a.jsx(J,{to:n||"/",children:a.jsx("img",{src:NT,alt:"Pacy",className:"h-10 w-auto cursor-pointer",loading:"eager"})})}),a.jsxs("div",{className:"hidden md:flex items-center space-x-8",children:[a.jsx(J,{to:c,className:"text-white hover:text-purple transition-colors",children:D(Le.nav.howItWorks,r)}),a.jsx(J,{to:i,className:"text-white hover:text-purple transition-colors",children:D(Le.nav.pricing,r)}),a.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-white hover:text-purple transition-colors",children:D(Le.nav.blog,r)}),a.jsxs("div",{className:"flex items-center space-x-6 ml-4 pl-4 border-l border-white/20",children:[a.jsxs(zI,{children:[a.jsx(UI,{asChild:!0,children:a.jsxs("button",{className:"flex items-center gap-1.5 text-white/70 hover:text-purple transition-colors focus:outline-none text-sm",children:[D(Le.nav.login,r),a.jsx(tm,{size:14})]})}),a.jsxs(pk,{align:"end",className:"bg-black border-white/20 min-w-[180px]",children:[a.jsx(Oh,{asChild:!0,children:a.jsx("a",{href:"https://admin.pacy.ai/",className:"text-white hover:text-purple cursor-pointer",children:D(Le.nav.adminLogin,r)})}),a.jsx(Oh,{asChild:!0,children:a.jsx("a",{href:"https://app.pacy.ai/",className:"text-white hover:text-purple cursor-pointer",children:D(Le.nav.userLogin,r)})})]})]}),a.jsx(Zg,{}),a.jsx(J,{to:d,className:"inline-flex items-center justify-center rounded-md bg-purple px-4 py-2 text-sm font-semibold text-white hover:bg-purple/90 transition-colors",children:D(Le.nav.bookDemo,r)})]})]}),a.jsxs("div",{className:"md:hidden flex items-center space-x-4",children:[a.jsx(Zg,{}),a.jsx(W,{variant:"ghost",size:"icon",onClick:s,className:"text-white hover:bg-white/10",children:t?a.jsx(Vc,{size:24}):a.jsx(GS,{size:24})})]})]}),t&&a.jsx("div",{className:"md:hidden mt-4 pb-4 border-t border-white/20",children:a.jsxs("div",{className:"flex flex-col space-y-4 pt-4",children:[a.jsx(J,{to:c,className:"text-white hover:text-purple transition-colors block",onClick:()=>e(!1),children:D(Le.nav.howItWorks,r)}),a.jsx(J,{to:i,className:"text-white hover:text-purple transition-colors block",onClick:()=>e(!1),children:D(Le.nav.pricing,r)}),a.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-white hover:text-purple transition-colors block",onClick:()=>e(!1),children:D(Le.nav.blog,r)}),a.jsx(J,{to:o,className:"text-white hover:text-purple transition-colors block",onClick:()=>e(!1),children:D(Le.nav.contact,r)}),a.jsx("div",{className:"border-t border-white/10 pt-4",children:a.jsx("p",{className:"text-white/50 text-xs uppercase tracking-wider",children:D(Le.nav.login,r)})}),a.jsx("a",{href:"https://admin.pacy.ai/",className:"text-white hover:text-purple transition-colors block pl-3",onClick:()=>e(!1),children:D(Le.nav.adminLogin,r)}),a.jsx("a",{href:"https://app.pacy.ai/",className:"text-white hover:text-purple transition-colors block pl-3",onClick:()=>e(!1),children:D(Le.nav.userLogin,r)}),a.jsx("div",{className:"border-t border-white/10 pt-4",children:a.jsx(J,{to:d,className:"inline-flex items-center justify-center rounded-md bg-purple px-4 py-2 text-sm font-semibold text-white hover:bg-purple/90 transition-colors w-full text-center",onClick:()=>e(!1),children:D(Le.nav.bookDemo,r)})})]})})]})})},gk="/assets/about-image-gSZYy2ut.jpg",GI=()=>a.jsxs("section",{className:"relative bg-black overflow-hidden",children:[a.jsxs("div",{className:"absolute inset-0 w-full h-full overflow-hidden",children:[a.jsx("img",{src:gk,alt:"Professional woman using Pacy training app",className:"w-full h-full object-cover animate-slow-zoom",loading:"eager",width:"1534",height:"1080",fetchPriority:"high"}),a.jsx("div",{className:"absolute inset-0 bg-black/50"})]}),a.jsx("div",{className:"relative z-10 flex items-center justify-center min-h-screen pt-24 pb-12 px-4 sm:px-6",children:a.jsxs("div",{className:"max-w-5xl mx-auto text-center text-white",children:[a.jsx("h1",{className:"text-3xl sm:text-4xl md:text-5xl lg:text-6xl font-bold leading-tight mb-6 sm:mb-8 font-playfair",children:"Build team capability through practice"}),a.jsx("p",{className:"text-lg sm:text-xl lg:text-2xl font-light max-w-4xl mx-auto mb-6 leading-relaxed text-white/90",children:"Traditional corporate training often stops at information. Pacy helps teams build skills through active practice in realistic work situations. When people get to apply, reflect and improve in context, they build confidence and capability they can actually use in their day-to-day work."}),a.jsx("p",{className:"text-base sm:text-lg lg:text-xl font-light max-w-4xl mx-auto mb-8 sm:mb-12 leading-relaxed",children:"Tailored training programs, AI-supported practice, ready in hours."}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center items-center max-w-md sm:max-w-none mx-auto",children:[a.jsx("a",{href:"/about",className:"w-full sm:w-auto",children:a.jsx(W,{variant:"gradient",size:"lg",className:"w-full sm:w-auto min-w-[160px]",children:"Learn more"})}),a.jsx("a",{href:"/chat",className:"w-full sm:w-auto",children:a.jsx(W,{variant:"glass",size:"lg",className:"w-full sm:w-auto min-w-[200px] border-2 border-white/50 hover:border-white text-white hover:bg-white/20",children:"Chat with Pacy AI about Pacy"})})]})]})})]}),JI="/assets/svenska-brasvarme-logo-CvcWeOzZ.png",QI="/assets/weight-trainer-logo-CxXYGFOo.png",YI="/assets/assa-abloy-logo-BkMpWJy_.jpg",ZI="/assets/bonnier-logo-BMYv-OXD.png",XI="/assets/eztablisher-logo-CwXj18fg.jpg",xk=()=>{const{lang:t,prefix:e}=Kn(),r=t==="sv",n=r?[{title:"Färdigt på en dag",description:"Beskriv vad ditt team behöver träna på. Dagen efter har du ett komplett, skräddarsytt träningsprogram — redo att köra. Ingen konsult, ingen upphandling, ingen väntan.",link:"workshop",cta:"Så kommer du igång →"},{title:"Träning som mäts i resultat",description:"Skillnaden mellan att ha gått en kurs och att faktiskt kunna göra jobbet — det är det Pacy löser. Varje program bygger på HIST™, en vetenskaplig metodik med aktiv övning och simulerade scenarier, designad för beteendeförändring — inte genomförandegrad.",link:"vetenskap",cta:"Så fungerar HIST™ →"},{title:"Byggt för just ert team",description:"Varje program utgår från era roller, utmaningar och mål — inte en generisk kurskatalog. Er verklighet är grunden. Det är så träningen blir relevant från dag ett.",link:"personlig-traning",cta:"Så anpassas träningen →"}]:[{title:"An hours workshop is all that is needed",description:"All we need is a one-hour workshop – then we do the work. You don't have to plan, structure, or create anything yourself. With just a one-hour briefing with you or your team, Pacy delivers a complete, tailored training program – ready to launch without taking your time or resources.",link:"workshop",cta:"Learn more →"},{title:"Training that sticks – backed by science",description:"HIIT for the brain – short, intense training that delivers results. Our method, HIST (High-Intensity Skill Training), is inspired by HIIT workouts and grounded in modern cognitive science. It uses short, focused sessions with active feedback, AI-powered exercises, and evidence-based principles that make knowledge stick – and get applied.",link:"science",cta:"Learn more →"},{title:"Designed for the team – tailored for the individual",description:"Relevant, engaging, personal. Pacy customizes every program to match the unique needs and challenges of each team. With our AI mentor, every employee gets an interactive, challenging, and personalized experience – one they'll want to return to, again",link:"personalized-training",cta:"Learn more →"}];return a.jsx("section",{className:"gradient-subtle-green py-32",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsx("h2",{className:"text-4xl lg:text-5xl font-bold gradient-text-green mb-16 text-center font-playfair",children:r?"Så löser du det med Pacy":"Additional reasons to choose Pacy"}),a.jsx("div",{className:"grid lg:grid-cols-3 gap-12",children:n.map((s,i)=>a.jsxs("article",{className:"space-y-6 glass-effect p-8 rounded-xl hover-gradient-scale",children:[a.jsx("h3",{className:"text-2xl lg:text-3xl font-bold text-foreground leading-tight font-playfair",children:s.title}),a.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:s.description}),a.jsx(W,{variant:"gradient-green",size:"sm",asChild:!0,children:a.jsx("a",{href:`${e}/${s.link}`,"aria-label":`${r?"Läs mer om":"Learn more about"} ${s.title}`,children:s.cta})})]},i))}),a.jsxs("div",{className:"mt-32 text-center",children:[a.jsx("h2",{className:"text-4xl lg:text-5xl font-bold gradient-text-blue mb-16 text-center font-playfair",children:r?"Betrodda av ledande organisationer":"Trusted by leading organizations"}),a.jsx("div",{className:"bg-white/90 backdrop-blur-sm rounded-2xl p-8 overflow-hidden",children:a.jsx("div",{className:"flex animate-scroll-left gap-8 lg:gap-12 items-center",children:[...dx,...dx].map((s,i)=>a.jsx("a",{href:s.url,target:"_blank",rel:"noopener noreferrer",className:"group transition-all duration-300 hover:scale-105 flex-shrink-0","aria-label":`${r?"Besök":"Visit"} ${s.name} ${r?"webbplats":"website"}`,children:a.jsx("div",{className:"bg-white rounded-lg p-4 shadow-sm",children:a.jsx("img",{src:s.logo,alt:`${s.name} logo`,className:"h-12 lg:h-16 w-auto transition-opacity duration-300",loading:"lazy",width:"205",height:"64"})})},i))})})]})]})})},dx=[{name:"Svenska Brasvärmeföreningen",url:"https://www.brasvarmeforeningen.se/",logo:JI},{name:"Weight Trainer",url:"https://www.weighttrainer.se/",logo:QI},{name:"ASSA ABLOY Entrance Systems",url:"https://www.assaabloyentrance.com/",logo:YI},{name:"Bonnier Förlagen",url:"https://www.bonnierforlagen.se/",logo:ZI},{name:"Eztablisher",url:"#",logo:XI}],ze=()=>{const{lang:t}=Kn(),e=Le.footer,r=()=>{if(window.Tawk_API)window.Tawk_API.showWidget&&window.Tawk_API.showWidget(),setTimeout(()=>{window.Tawk_API&&window.Tawk_API.maximize&&window.Tawk_API.maximize()},100);else{const u=document.createElement("script");u.async=!0,u.src="https://embed.tawk.to/67c7094770efd41916940a93/1ilgnoga5",u.charset="UTF-8",u.setAttribute("crossorigin","*"),window.Tawk_API=window.Tawk_API||{},u.onload=()=>{setTimeout(()=>{window.Tawk_API&&window.Tawk_API.maximize&&window.Tawk_API.maximize()},500)},document.head.appendChild(u)}},n=t==="sv",s=n?"/sv/tjanster":"/services",i=n?"/sv/om-oss":"/about",o=n?"/sv/kontakt":"/contact",l=n?"https://insights.pacy.ai/blogg":"https://insights.pacy.ai",c="https://insights.pacy.ai/faq-center",d=n?"/user-instructions-sv":"/user-instructions";return a.jsx("footer",{className:"bg-black text-white py-16",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsxs("div",{className:"grid md:grid-cols-4 gap-8",children:[a.jsxs("div",{className:"space-y-4",children:[a.jsx("h3",{className:"text-lg font-semibold",children:"Pacy"}),a.jsx("p",{className:"text-gray-300 text-sm",children:D(e.tagline,t)})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsx("h4",{className:"text-lg font-semibold",children:D(e.product,t)}),a.jsxs("ul",{className:"space-y-2 text-sm text-gray-300",children:[a.jsx("li",{children:a.jsx(J,{to:s,className:"hover:text-white transition-colors",children:D(Le.nav.services,t)})}),a.jsx("li",{children:a.jsx(J,{to:i,className:"hover:text-white transition-colors",children:D(e.about,t)})}),a.jsx("li",{children:a.jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",className:"hover:text-white transition-colors",children:"FAQ"})})]})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsx("h4",{className:"text-lg font-semibold",children:D(e.support,t)}),a.jsxs("ul",{className:"space-y-2 text-sm text-gray-300",children:[a.jsx("li",{children:a.jsx(J,{to:o,className:"hover:text-white transition-colors",children:D(Le.nav.contact,t)})}),a.jsx("li",{children:a.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"hover:text-white transition-colors",children:D(e.blog,t)})}),a.jsx("li",{children:a.jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",className:"hover:text-white transition-colors",children:D(e.faq,t)})}),a.jsx("li",{children:a.jsx(J,{to:d,className:"hover:text-white transition-colors",children:D(e.userInstructions,t)})}),a.jsx("li",{children:a.jsx(J,{to:t==="sv"?"/sv/ladda-ner-app":"/app-download",className:"hover:text-white transition-colors",children:D(e.appDownload,t)})}),a.jsx("li",{children:a.jsx("button",{onClick:r,className:"hover:text-white transition-colors text-left",children:D(e.helpCenter,t)})})]})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsx("h4",{className:"text-lg font-semibold",children:D(e.policies,t)}),a.jsxs("ul",{className:"space-y-2 text-sm text-gray-300",children:[a.jsx("li",{children:a.jsx(J,{to:"/privacy-policy",className:"hover:text-white transition-colors",children:D(e.privacyPolicy,t)})}),a.jsx("li",{children:a.jsx(J,{to:"/terms-of-service",className:"hover:text-white transition-colors",children:D(e.termsOfService,t)})}),a.jsx("li",{children:a.jsx(J,{to:"/cookie-policy",className:"hover:text-white transition-colors",children:D(e.cookiePolicy,t)})}),a.jsx("li",{children:a.jsx(J,{to:"/disclaimer",className:"hover:text-white transition-colors",children:D(e.disclaimer,t)})}),a.jsx("li",{children:a.jsx(J,{to:"/eula",className:"hover:text-white transition-colors",children:D(e.eula,t)})})]})]})]}),a.jsx("div",{className:"border-t border-gray-800 mt-12 pt-8 text-center text-sm text-gray-400",children:a.jsxs("p",{children:["© 2026 Pacy. ",D(e.allRightsReserved,t)]})})]})})},ii="https://pacy.ai",We=({title:t,description:e,canonicalPath:r,jsonLd:n,ogImage:s,ogImageAlt:i,ogType:o="website"})=>{const{lang:l}=Kn();return p.useEffect(()=>{document.title=t;let c=document.querySelector('meta[name="description"]');c&&c.setAttribute("content",e),document.documentElement.lang=l==="sv"?"sv":"en";const d=l==="sv"?Th(r,"en"):r,u=l==="en"?Th(r,"sv"):r;document.querySelectorAll("link[hreflang]").forEach(g=>g.remove());const h=document.createElement("link");h.rel="alternate",h.hreflang="en",h.href=`${ii}${d}`,document.head.appendChild(h);const m=document.createElement("link");m.rel="alternate",m.hreflang="sv",m.href=`${ii}${u}`,document.head.appendChild(m);const f=document.createElement("link");f.rel="alternate",f.hreflang="x-default",f.href=`${ii}${r}`,document.head.appendChild(f);let b=document.querySelector('link[rel="canonical"]');b||(b=document.createElement("link"),b.setAttribute("rel","canonical"),document.head.appendChild(b)),b.setAttribute("href",`${ii}${r}`);const x={"og:title":t,"og:description":e,"og:url":`${ii}${r}`,"og:type":o,"og:site_name":"Pacy"};s&&(x["og:image"]=s,i&&(x["og:image:alt"]=i));const w={"twitter:card":s?"summary_large_image":"summary","twitter:title":t,"twitter:description":e};s&&(w["twitter:image"]=s),document.querySelectorAll('meta[property^="og:"], meta[name^="twitter:"]').forEach(g=>g.remove()),Object.entries(x).forEach(([g,v])=>{const k=document.createElement("meta");k.setAttribute("property",g),k.setAttribute("content",v),document.head.appendChild(k)}),Object.entries(w).forEach(([g,v])=>{const k=document.createElement("meta");k.setAttribute("name",g),k.setAttribute("content",v),document.head.appendChild(k)});const y=document.querySelector("script[data-seo-jsonld]");return y&&y.remove(),n&&(Array.isArray(n)?n:[n]).forEach(v=>{const k=document.createElement("script");k.type="application/ld+json",k.setAttribute("data-seo-jsonld","true"),k.textContent=JSON.stringify(v),document.head.appendChild(k)}),()=>{document.querySelectorAll("link[hreflang]").forEach(g=>g.remove()),document.querySelectorAll("script[data-seo-jsonld]").forEach(g=>g.remove()),document.querySelectorAll('meta[property^="og:"], meta[name^="twitter:"]').forEach(g=>g.remove())}},[t,e,r,l,n,s,i,o]),null},eR=()=>a.jsxs("div",{className:"min-h-screen",children:[a.jsx(We,{title:"Pacy — Training That Actually Works",description:"Transform professional development into a growth engine with Pacy. AI-powered HIST training delivers 40–50% completion rates while most digital training sees 85% dropout.",canonicalPath:"/",ogImage:"https://pacy.ai/press/pacy-og-pressbild.jpg",ogImageAlt:"Joakim Kempff and Joakim Liljedahl, founders of Pacy",jsonLd:[{"@context":"https://schema.org","@type":"WebSite",name:"Pacy",url:"https://pacy.ai/",inLanguage:"en",description:"AI-powered professional development and corporate training with a personal AI mentor."},{"@context":"https://schema.org","@type":"Organization",name:"Pacy",url:"https://pacy.ai",logo:{"@type":"ImageObject",url:"https://pacy.ai/press/pacy-symbol-600-white.png",width:600,height:600},image:["https://pacy.ai/press/pacy-logo-combination-1200w.png","https://pacy.ai/press/pacy-grundare-joakim-kempff-joakim-liljedahl.jpg"],founders:[{"@type":"Person",name:"Joakim Kempff"},{"@type":"Person",name:"Joakim Liljedahl"}],foundingDate:"2024",address:{"@type":"PostalAddress",addressLocality:"Stockholm",addressCountry:"SE"}}]}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx(GI,{}),a.jsx(xk,{})]}),a.jsx(ze,{})]}),tR=()=>a.jsxs("div",{className:"min-h-screen gradient-subtle-purple",children:[a.jsx("div",{className:"fixed top-0 left-0 w-full h-full gradient-subtle-purple -z-10"}),a.jsx(ue,{}),a.jsx("main",{children:a.jsx("section",{className:"py-24 pt-40",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsxs("div",{className:"mb-16",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-blue mb-8 font-playfair",children:"Transform Your Team with AI-Powered Training"}),a.jsx("p",{className:"text-base text-muted-foreground max-w-4xl leading-relaxed",children:"Experience the future of corporate learning with Pacy's innovative training solutions. Our AI-driven approach delivers measurable results with 40-50% completion rates, revolutionizing how teams acquire and retain new skills."})]}),a.jsx("div",{className:"grid lg:grid-cols-3 gap-12",children:rR.map((t,e)=>a.jsxs("div",{className:"space-y-6 glass-effect p-8 rounded-xl hover-gradient-scale",children:[a.jsx("h2",{className:"text-2xl font-bold gradient-text-blue font-playfair",children:t.title}),a.jsx("p",{className:"text-base text-blue font-medium",children:t.price}),a.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t.description}),a.jsx(W,{variant:"gradient-blue",size:"sm",asChild:!0,children:a.jsx("a",{href:t.link,children:"Learn more"})})]},e))})]})})}),a.jsx(ze,{})]}),rR=[{title:"Custom built company learning programs",price:"From 150 EUR / month",description:"Transform your organization with AI-powered, fully customized learning programs designed specifically for your team's unique needs and challenges.",link:"/services/company-learning-programs"},{title:"Practical sales meeting training",price:"From 200 EUR / month",description:"Train your salespeople on real sales situations — step by step, over time, with continuous feedback. Tailored to your offering, customers, and sales process.",link:"/services/sales-training-programs"},{title:"Customised compliance programs",price:"From 10 EUR / user",description:"Ensure regulatory compliance and reduce risk with engaging, AI-powered compliance training that your team will actually complete.",link:"/services/compliance-programs"}],nR=()=>a.jsxs("div",{className:"min-h-screen",children:[a.jsx(We,{title:"About Pacy — Training That Actually Works",description:"We help your team get better at what they do. AI-powered training with 40–50% completion rates through practice, personal feedback, and consistency.",canonicalPath:"/about",jsonLd:{"@context":"https://schema.org","@type":"AboutPage",name:"About Pacy",url:"https://pacy.ai/about",inLanguage:"en"}}),a.jsx(ue,{}),a.jsx("main",{children:a.jsxs("article",{className:"max-w-3xl mx-auto px-6 pt-32 pb-24",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold font-playfair mb-12 text-foreground",children:"Build team capability through practice"}),a.jsxs("div",{className:"space-y-6 text-base lg:text-lg leading-relaxed text-muted-foreground",children:[a.jsx("p",{children:"You've been there. The two-day off-site that felt great in the room but was forgotten by Friday. The e-learning modules that sat untouched in the system until someone sent a reminder — and then another. The expensive external trainer who delivered a brilliant session to a team that couldn't remember the key takeaways three weeks later."}),a.jsx("p",{children:"It's not that your people don't want to grow. It's that traditional training wasn't designed for how people actually develop skills."}),a.jsx("h2",{className:"text-2xl lg:text-3xl font-bold font-playfair text-foreground pt-6",children:"Information isn't the same as capability."}),a.jsx("p",{children:"Most corporate training is built around transferring knowledge — slides, videos, modules, tests. And knowledge matters. But knowing what good looks like and actually being able to do it are two very different things. A sales rep can sit through every pitch training in the world and still freeze when a real customer pushes back. A manager can read every leadership framework and still struggle to have a difficult conversation."}),a.jsx("p",{children:"Real capability is built through practice. Through doing, reflecting, adjusting — and doing again. In real situations, not simulated ones from five years ago."}),a.jsx("h2",{className:"text-2xl lg:text-3xl font-bold font-playfair text-foreground pt-6",children:"What if your team could train like that — every day?"}),a.jsx("p",{children:"Pacy is built on a simple but powerful idea: people get better when they practice in context, get personal feedback, and keep at it consistently. Not once a quarter. Not in a two-day block. Every day, in the flow of their work."}),a.jsx("p",{children:"We create custom training programs tailored to your team's actual challenges — your sales conversations, your customer objections, your onboarding moments, your leadership situations. Each program comes with a personal AI mentor that guides, challenges, and coaches every individual at their own pace and level. No one-size-fits-all. No passive watching. Just focused, relevant practice that builds real confidence and real skill."}),a.jsx("p",{children:"And we do it fast. From brief to live program — in hours, not months."}),a.jsx("h2",{className:"text-2xl lg:text-3xl font-bold font-playfair text-foreground pt-6",children:"The results speak for themselves."}),a.jsx("p",{children:"Where traditional digital training sees dropout rates above 85%, Pacy programs consistently deliver 40–50% completion — because people actually want to keep going. More importantly, they show up differently after. More prepared. More confident. More capable."}),a.jsx("p",{children:"Because the goal was never to complete a course. The goal was to get better at the job."}),a.jsx("h2",{className:"text-2xl lg:text-3xl font-bold font-playfair text-foreground pt-6",children:"Make every training investment count."}),a.jsx("p",{children:"Your team's capability is your most important competitive advantage. Pacy helps you build it — continuously, practically, and measurably."}),a.jsx("p",{className:"text-xl font-semibold text-foreground pt-4",children:"Pacy. Where teams get better through training."}),a.jsx("div",{className:"pt-8",children:a.jsx(W,{asChild:!0,size:"lg",children:a.jsx(J,{to:"/services",children:"Explore Our Services"})})})]})]})}),a.jsx(ze,{})]}),Sr=p.forwardRef(({className:t,type:e,...r},n)=>a.jsx("input",{type:e,className:pe("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),ref:n,...r}));Sr.displayName="Input";var sR="Label",vk=p.forwardRef((t,e)=>a.jsx(fe.label,{...t,ref:e,onMouseDown:r=>{var s;r.target.closest("button, input, select, textarea")||((s=t.onMouseDown)==null||s.call(t,r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));vk.displayName=sR;var yk=vk;const aR=Xf("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),nr=p.forwardRef(({className:t,...e},r)=>a.jsx(yk,{ref:r,className:pe(aR(),t),...e}));nr.displayName=yk.displayName;const Tm=p.forwardRef(({className:t,...e},r)=>a.jsx("textarea",{className:pe("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",t),ref:r,...e}));Tm.displayName="Textarea";const iR="modulepreload",oR=function(t){return"/"+t},ux={},bo=function(e,r,n){let s=Promise.resolve();if(r&&r.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));s=Promise.allSettled(r.map(c=>{if(c=oR(c),c in ux)return;ux[c]=!0;const d=c.endsWith(".css"),u=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${u}`))return;const h=document.createElement("link");if(h.rel=d?"stylesheet":iR,d||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),d)return new Promise((m,f)=>{h.addEventListener("load",m),h.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return s.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return e().catch(i)})},lR=t=>{let e;return t?e=t:typeof fetch>"u"?e=(...r)=>bo(async()=>{const{default:n}=await Promise.resolve().then(()=>qa);return{default:n}},void 0).then(({default:n})=>n(...r)):e=fetch,(...r)=>e(...r)};class Am extends Error{constructor(e,r="FunctionsError",n){super(e),this.name=r,this.context=n}}class cR extends Am{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class hx extends Am{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class fx extends Am{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}var Mh;(function(t){t.Any="any",t.ApNortheast1="ap-northeast-1",t.ApNortheast2="ap-northeast-2",t.ApSouth1="ap-south-1",t.ApSoutheast1="ap-southeast-1",t.ApSoutheast2="ap-southeast-2",t.CaCentral1="ca-central-1",t.EuCentral1="eu-central-1",t.EuWest1="eu-west-1",t.EuWest2="eu-west-2",t.EuWest3="eu-west-3",t.SaEast1="sa-east-1",t.UsEast1="us-east-1",t.UsWest1="us-west-1",t.UsWest2="us-west-2"})(Mh||(Mh={}));var dR=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function l(u){try{d(n.next(u))}catch(h){o(h)}}function c(u){try{d(n.throw(u))}catch(h){o(h)}}function d(u){u.done?i(u.value):s(u.value).then(l,c)}d((n=n.apply(t,e||[])).next())})};class uR{constructor(e,{headers:r={},customFetch:n,region:s=Mh.Any}={}){this.url=e,this.headers=r,this.region=s,this.fetch=lR(n)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e,r={}){var n;return dR(this,void 0,void 0,function*(){try{const{headers:s,method:i,body:o}=r;let l={},{region:c}=r;c||(c=this.region);const d=new URL(`${this.url}/${e}`);c&&c!=="any"&&(l["x-region"]=c,d.searchParams.set("forceFunctionRegion",c));let u;o&&(s&&!Object.prototype.hasOwnProperty.call(s,"Content-Type")||!s)&&(typeof Blob<"u"&&o instanceof Blob||o instanceof ArrayBuffer?(l["Content-Type"]="application/octet-stream",u=o):typeof o=="string"?(l["Content-Type"]="text/plain",u=o):typeof FormData<"u"&&o instanceof FormData?u=o:(l["Content-Type"]="application/json",u=JSON.stringify(o)));const h=yield this.fetch(d.toString(),{method:i||"POST",headers:Object.assign(Object.assign(Object.assign({},l),this.headers),s),body:u}).catch(x=>{throw new cR(x)}),m=h.headers.get("x-relay-error");if(m&&m==="true")throw new hx(h);if(!h.ok)throw new fx(h);let f=((n=h.headers.get("Content-Type"))!==null&&n!==void 0?n:"text/plain").split(";")[0].trim(),b;return f==="application/json"?b=yield h.json():f==="application/octet-stream"?b=yield h.blob():f==="text/event-stream"?b=h:f==="multipart/form-data"?b=yield h.formData():b=yield h.text(),{data:b,error:null,response:h}}catch(s){return{data:null,error:s,response:s instanceof fx||s instanceof hx?s.context:void 0}}})}}var xt={},Im={},sd={},ko={},ad={},id={},hR=function(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")},Oa=hR();const fR=Oa.fetch,wk=Oa.fetch.bind(Oa),bk=Oa.Headers,mR=Oa.Request,pR=Oa.Response,qa=Object.freeze(Object.defineProperty({__proto__:null,Headers:bk,Request:mR,Response:pR,default:wk,fetch:fR},Symbol.toStringTag,{value:"Module"})),gR=v1(qa);var od={};Object.defineProperty(od,"__esModule",{value:!0});let xR=class extends Error{constructor(e){super(e.message),this.name="PostgrestError",this.details=e.details,this.hint=e.hint,this.code=e.code}};od.default=xR;var kk=zt&&zt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(id,"__esModule",{value:!0});const vR=kk(gR),yR=kk(od);let wR=class{constructor(e){var r,n;this.shouldThrowOnError=!1,this.method=e.method,this.url=e.url,this.headers=new Headers(e.headers),this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=(r=e.shouldThrowOnError)!==null&&r!==void 0?r:!1,this.signal=e.signal,this.isMaybeSingle=(n=e.isMaybeSingle)!==null&&n!==void 0?n:!1,e.fetch?this.fetch=e.fetch:typeof fetch>"u"?this.fetch=vR.default:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,r){return this.headers=new Headers(this.headers),this.headers.set(e,r),this}then(e,r){this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers.set("Accept-Profile",this.schema):this.headers.set("Content-Profile",this.schema)),this.method!=="GET"&&this.method!=="HEAD"&&this.headers.set("Content-Type","application/json");const n=this.fetch;let s=n(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async i=>{var o,l,c,d;let u=null,h=null,m=null,f=i.status,b=i.statusText;if(i.ok){if(this.method!=="HEAD"){const g=await i.text();g===""||(this.headers.get("Accept")==="text/csv"||this.headers.get("Accept")&&(!((o=this.headers.get("Accept"))===null||o===void 0)&&o.includes("application/vnd.pgrst.plan+text"))?h=g:h=JSON.parse(g))}const w=(l=this.headers.get("Prefer"))===null||l===void 0?void 0:l.match(/count=(exact|planned|estimated)/),y=(c=i.headers.get("content-range"))===null||c===void 0?void 0:c.split("/");w&&y&&y.length>1&&(m=parseInt(y[1])),this.isMaybeSingle&&this.method==="GET"&&Array.isArray(h)&&(h.length>1?(u={code:"PGRST116",details:`Results contain ${h.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},h=null,m=null,f=406,b="Not Acceptable"):h.length===1?h=h[0]:h=null)}else{const w=await i.text();try{u=JSON.parse(w),Array.isArray(u)&&i.status===404&&(h=[],u=null,f=200,b="OK")}catch{i.status===404&&w===""?(f=204,b="No Content"):u={message:w}}if(u&&this.isMaybeSingle&&(!((d=u==null?void 0:u.details)===null||d===void 0)&&d.includes("0 rows"))&&(u=null,f=200,b="OK"),u&&this.shouldThrowOnError)throw new yR.default(u)}return{error:u,data:h,count:m,status:f,statusText:b}});return this.shouldThrowOnError||(s=s.catch(i=>{var o,l,c;return{error:{message:`${(o=i==null?void 0:i.name)!==null&&o!==void 0?o:"FetchError"}: ${i==null?void 0:i.message}`,details:`${(l=i==null?void 0:i.stack)!==null&&l!==void 0?l:""}`,hint:"",code:`${(c=i==null?void 0:i.code)!==null&&c!==void 0?c:""}`},data:null,count:null,status:0,statusText:""}})),s.then(e,r)}returns(){return this}overrideTypes(){return this}};id.default=wR;var bR=zt&&zt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ad,"__esModule",{value:!0});const kR=bR(id);let jR=class extends kR.default{select(e){let r=!1;const n=(e??"*").split("").map(s=>/\s/.test(s)&&!r?"":(s==='"'&&(r=!r),s)).join("");return this.url.searchParams.set("select",n),this.headers.append("Prefer","return=representation"),this}order(e,{ascending:r=!0,nullsFirst:n,foreignTable:s,referencedTable:i=s}={}){const o=i?`${i}.order`:"order",l=this.url.searchParams.get(o);return this.url.searchParams.set(o,`${l?`${l},`:""}${e}.${r?"asc":"desc"}${n===void 0?"":n?".nullsfirst":".nullslast"}`),this}limit(e,{foreignTable:r,referencedTable:n=r}={}){const s=typeof n>"u"?"limit":`${n}.limit`;return this.url.searchParams.set(s,`${e}`),this}range(e,r,{foreignTable:n,referencedTable:s=n}={}){const i=typeof s>"u"?"offset":`${s}.offset`,o=typeof s>"u"?"limit":`${s}.limit`;return this.url.searchParams.set(i,`${e}`),this.url.searchParams.set(o,`${r-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return this.method==="GET"?this.headers.set("Accept","application/json"):this.headers.set("Accept","application/vnd.pgrst.object+json"),this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:e=!1,verbose:r=!1,settings:n=!1,buffers:s=!1,wal:i=!1,format:o="text"}={}){var l;const c=[e?"analyze":null,r?"verbose":null,n?"settings":null,s?"buffers":null,i?"wal":null].filter(Boolean).join("|"),d=(l=this.headers.get("Accept"))!==null&&l!==void 0?l:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${o}; for="${d}"; options=${c};`),o==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(e){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${e}`),this}};ad.default=jR;var NR=zt&&zt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ko,"__esModule",{value:!0});const _R=NR(ad);let SR=class extends _R.default{eq(e,r){return this.url.searchParams.append(e,`eq.${r}`),this}neq(e,r){return this.url.searchParams.append(e,`neq.${r}`),this}gt(e,r){return this.url.searchParams.append(e,`gt.${r}`),this}gte(e,r){return this.url.searchParams.append(e,`gte.${r}`),this}lt(e,r){return this.url.searchParams.append(e,`lt.${r}`),this}lte(e,r){return this.url.searchParams.append(e,`lte.${r}`),this}like(e,r){return this.url.searchParams.append(e,`like.${r}`),this}likeAllOf(e,r){return this.url.searchParams.append(e,`like(all).{${r.join(",")}}`),this}likeAnyOf(e,r){return this.url.searchParams.append(e,`like(any).{${r.join(",")}}`),this}ilike(e,r){return this.url.searchParams.append(e,`ilike.${r}`),this}ilikeAllOf(e,r){return this.url.searchParams.append(e,`ilike(all).{${r.join(",")}}`),this}ilikeAnyOf(e,r){return this.url.searchParams.append(e,`ilike(any).{${r.join(",")}}`),this}is(e,r){return this.url.searchParams.append(e,`is.${r}`),this}in(e,r){const n=Array.from(new Set(r)).map(s=>typeof s=="string"&&new RegExp("[,()]").test(s)?`"${s}"`:`${s}`).join(",");return this.url.searchParams.append(e,`in.(${n})`),this}contains(e,r){return typeof r=="string"?this.url.searchParams.append(e,`cs.${r}`):Array.isArray(r)?this.url.searchParams.append(e,`cs.{${r.join(",")}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(r)}`),this}containedBy(e,r){return typeof r=="string"?this.url.searchParams.append(e,`cd.${r}`):Array.isArray(r)?this.url.searchParams.append(e,`cd.{${r.join(",")}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(r)}`),this}rangeGt(e,r){return this.url.searchParams.append(e,`sr.${r}`),this}rangeGte(e,r){return this.url.searchParams.append(e,`nxl.${r}`),this}rangeLt(e,r){return this.url.searchParams.append(e,`sl.${r}`),this}rangeLte(e,r){return this.url.searchParams.append(e,`nxr.${r}`),this}rangeAdjacent(e,r){return this.url.searchParams.append(e,`adj.${r}`),this}overlaps(e,r){return typeof r=="string"?this.url.searchParams.append(e,`ov.${r}`):this.url.searchParams.append(e,`ov.{${r.join(",")}}`),this}textSearch(e,r,{config:n,type:s}={}){let i="";s==="plain"?i="pl":s==="phrase"?i="ph":s==="websearch"&&(i="w");const o=n===void 0?"":`(${n})`;return this.url.searchParams.append(e,`${i}fts${o}.${r}`),this}match(e){return Object.entries(e).forEach(([r,n])=>{this.url.searchParams.append(r,`eq.${n}`)}),this}not(e,r,n){return this.url.searchParams.append(e,`not.${r}.${n}`),this}or(e,{foreignTable:r,referencedTable:n=r}={}){const s=n?`${n}.or`:"or";return this.url.searchParams.append(s,`(${e})`),this}filter(e,r,n){return this.url.searchParams.append(e,`${r}.${n}`),this}};ko.default=SR;var CR=zt&&zt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(sd,"__esModule",{value:!0});const oi=CR(ko);let ER=class{constructor(e,{headers:r={},schema:n,fetch:s}){this.url=e,this.headers=new Headers(r),this.schema=n,this.fetch=s}select(e,{head:r=!1,count:n}={}){const s=r?"HEAD":"GET";let i=!1;const o=(e??"*").split("").map(l=>/\s/.test(l)&&!i?"":(l==='"'&&(i=!i),l)).join("");return this.url.searchParams.set("select",o),n&&this.headers.append("Prefer",`count=${n}`),new oi.default({method:s,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch})}insert(e,{count:r,defaultToNull:n=!0}={}){var s;const i="POST";if(r&&this.headers.append("Prefer",`count=${r}`),n||this.headers.append("Prefer","missing=default"),Array.isArray(e)){const o=e.reduce((l,c)=>l.concat(Object.keys(c)),[]);if(o.length>0){const l=[...new Set(o)].map(c=>`"${c}"`);this.url.searchParams.set("columns",l.join(","))}}return new oi.default({method:i,url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:(s=this.fetch)!==null&&s!==void 0?s:fetch})}upsert(e,{onConflict:r,ignoreDuplicates:n=!1,count:s,defaultToNull:i=!0}={}){var o;const l="POST";if(this.headers.append("Prefer",`resolution=${n?"ignore":"merge"}-duplicates`),r!==void 0&&this.url.searchParams.set("on_conflict",r),s&&this.headers.append("Prefer",`count=${s}`),i||this.headers.append("Prefer","missing=default"),Array.isArray(e)){const c=e.reduce((d,u)=>d.concat(Object.keys(u)),[]);if(c.length>0){const d=[...new Set(c)].map(u=>`"${u}"`);this.url.searchParams.set("columns",d.join(","))}}return new oi.default({method:l,url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:(o=this.fetch)!==null&&o!==void 0?o:fetch})}update(e,{count:r}={}){var n;const s="PATCH";return r&&this.headers.append("Prefer",`count=${r}`),new oi.default({method:s,url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:(n=this.fetch)!==null&&n!==void 0?n:fetch})}delete({count:e}={}){var r;const n="DELETE";return e&&this.headers.append("Prefer",`count=${e}`),new oi.default({method:n,url:this.url,headers:this.headers,schema:this.schema,fetch:(r=this.fetch)!==null&&r!==void 0?r:fetch})}};sd.default=ER;var jk=zt&&zt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Im,"__esModule",{value:!0});const PR=jk(sd),TR=jk(ko);let AR=class Nk{constructor(e,{headers:r={},schema:n,fetch:s}={}){this.url=e,this.headers=new Headers(r),this.schemaName=n,this.fetch=s}from(e){const r=new URL(`${this.url}/${e}`);return new PR.default(r,{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch})}schema(e){return new Nk(this.url,{headers:this.headers,schema:e,fetch:this.fetch})}rpc(e,r={},{head:n=!1,get:s=!1,count:i}={}){var o;let l;const c=new URL(`${this.url}/rpc/${e}`);let d;n||s?(l=n?"HEAD":"GET",Object.entries(r).filter(([h,m])=>m!==void 0).map(([h,m])=>[h,Array.isArray(m)?`{${m.join(",")}}`:`${m}`]).forEach(([h,m])=>{c.searchParams.append(h,m)})):(l="POST",d=r);const u=new Headers(this.headers);return i&&u.set("Prefer",`count=${i}`),new TR.default({method:l,url:c,headers:u,schema:this.schemaName,body:d,fetch:(o=this.fetch)!==null&&o!==void 0?o:fetch})}};Im.default=AR;var Ka=zt&&zt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(xt,"__esModule",{value:!0});xt.PostgrestError=xt.PostgrestBuilder=xt.PostgrestTransformBuilder=xt.PostgrestFilterBuilder=xt.PostgrestQueryBuilder=xt.PostgrestClient=void 0;const _k=Ka(Im);xt.PostgrestClient=_k.default;const Sk=Ka(sd);xt.PostgrestQueryBuilder=Sk.default;const Ck=Ka(ko);xt.PostgrestFilterBuilder=Ck.default;const Ek=Ka(ad);xt.PostgrestTransformBuilder=Ek.default;const Pk=Ka(id);xt.PostgrestBuilder=Pk.default;const Tk=Ka(od);xt.PostgrestError=Tk.default;var IR=xt.default={PostgrestClient:_k.default,PostgrestQueryBuilder:Sk.default,PostgrestFilterBuilder:Ck.default,PostgrestTransformBuilder:Ek.default,PostgrestBuilder:Pk.default,PostgrestError:Tk.default};const{PostgrestClient:RR,PostgrestQueryBuilder:f3,PostgrestFilterBuilder:m3,PostgrestTransformBuilder:p3,PostgrestBuilder:g3,PostgrestError:x3}=IR;class OR{static detectEnvironment(){var e;if(typeof WebSocket<"u")return{type:"native",constructor:WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocket<"u")return{type:"native",constructor:globalThis.WebSocket};if(typeof global<"u"&&typeof global.WebSocket<"u")return{type:"native",constructor:global.WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocketPair<"u"&&typeof globalThis.WebSocket>"u")return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if(typeof globalThis<"u"&&globalThis.EdgeRuntime||typeof navigator<"u"&&(!((e=navigator.userAgent)===null||e===void 0)&&e.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};if(typeof process<"u"){const r=process.versions;if(r&&r.node){const n=r.node,s=parseInt(n.replace(/^v/,"").split(".")[0]);return s>=22?typeof globalThis.WebSocket<"u"?{type:"native",constructor:globalThis.WebSocket}:{type:"unsupported",error:`Node.js ${s} detected but native WebSocket not found.`,workaround:"Provide a WebSocket implementation via the transport option."}:{type:"unsupported",error:`Node.js ${s} detected without native WebSocket support.`,workaround:`For Node.js < 22, install "ws" package and provide it via the transport option: import ws from "ws" new RealtimeClient(url, { transport: ws })`}}}return{type:"unsupported",error:"Unknown JavaScript runtime without WebSocket support.",workaround:"Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation."}}static getWebSocketConstructor(){const e=this.detectEnvironment();if(e.constructor)return e.constructor;let r=e.error||"WebSocket not supported in this environment.";throw e.workaround&&(r+=` Suggested solution: ${e.workaround}`),new Error(r)}static createWebSocket(e,r){const n=this.getWebSocketConstructor();return new n(e,r)}static isWebSocketSupported(){try{const e=this.detectEnvironment();return e.type==="native"||e.type==="ws"}catch{return!1}}}const MR="2.15.5",LR=`realtime-js/${MR}`,DR="1.0.0",Lh=1e4,$R=1e3,FR=100;var Si;(function(t){t[t.connecting=0]="connecting",t[t.open=1]="open",t[t.closing=2]="closing",t[t.closed=3]="closed"})(Si||(Si={}));var Ve;(function(t){t.closed="closed",t.errored="errored",t.joined="joined",t.joining="joining",t.leaving="leaving"})(Ve||(Ve={}));var tr;(function(t){t.close="phx_close",t.error="phx_error",t.join="phx_join",t.reply="phx_reply",t.leave="phx_leave",t.access_token="access_token"})(tr||(tr={}));var Dh;(function(t){t.websocket="websocket"})(Dh||(Dh={}));var ns;(function(t){t.Connecting="connecting",t.Open="open",t.Closing="closing",t.Closed="closed"})(ns||(ns={}));class zR{constructor(){this.HEADER_LENGTH=1}decode(e,r){return e.constructor===ArrayBuffer?r(this._binaryDecode(e)):r(typeof e=="string"?JSON.parse(e):{})}_binaryDecode(e){const r=new DataView(e),n=new TextDecoder;return this._decodeBroadcast(e,r,n)}_decodeBroadcast(e,r,n){const s=r.getUint8(1),i=r.getUint8(2);let o=this.HEADER_LENGTH+2;const l=n.decode(e.slice(o,o+s));o=o+s;const c=n.decode(e.slice(o,o+i));o=o+i;const d=JSON.parse(n.decode(e.slice(o,e.byteLength)));return{ref:null,topic:l,event:c,payload:d}}}class Ak{constructor(e,r){this.callback=e,this.timerCalc=r,this.timer=void 0,this.tries=0,this.callback=e,this.timerCalc=r}reset(){this.tries=0,clearTimeout(this.timer),this.timer=void 0}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}}var ke;(function(t){t.abstime="abstime",t.bool="bool",t.date="date",t.daterange="daterange",t.float4="float4",t.float8="float8",t.int2="int2",t.int4="int4",t.int4range="int4range",t.int8="int8",t.int8range="int8range",t.json="json",t.jsonb="jsonb",t.money="money",t.numeric="numeric",t.oid="oid",t.reltime="reltime",t.text="text",t.time="time",t.timestamp="timestamp",t.timestamptz="timestamptz",t.timetz="timetz",t.tsrange="tsrange",t.tstzrange="tstzrange"})(ke||(ke={}));const mx=(t,e,r={})=>{var n;const s=(n=r.skipTypes)!==null&&n!==void 0?n:[];return Object.keys(e).reduce((i,o)=>(i[o]=UR(o,t,e,s),i),{})},UR=(t,e,r,n)=>{const s=e.find(l=>l.name===t),i=s==null?void 0:s.type,o=r[t];return i&&!n.includes(i)?Ik(i,o):$h(o)},Ik=(t,e)=>{if(t.charAt(0)==="_"){const r=t.slice(1,t.length);return HR(e,r)}switch(t){case ke.bool:return BR(e);case ke.float4:case ke.float8:case ke.int2:case ke.int4:case ke.int8:case ke.numeric:case ke.oid:return WR(e);case ke.json:case ke.jsonb:return VR(e);case ke.timestamp:return qR(e);case ke.abstime:case ke.date:case ke.daterange:case ke.int4range:case ke.int8range:case ke.money:case ke.reltime:case ke.text:case ke.time:case ke.timestamptz:case ke.timetz:case ke.tsrange:case ke.tstzrange:return $h(e);default:return $h(e)}},$h=t=>t,BR=t=>{switch(t){case"t":return!0;case"f":return!1;default:return t}},WR=t=>{if(typeof t=="string"){const e=parseFloat(t);if(!Number.isNaN(e))return e}return t},VR=t=>{if(typeof t=="string")try{return JSON.parse(t)}catch(e){return console.log(`JSON parse error: ${e}`),t}return t},HR=(t,e)=>{if(typeof t!="string")return t;const r=t.length-1,n=t[r];if(t[0]==="{"&&n==="}"){let i;const o=t.slice(1,r);try{i=JSON.parse("["+o+"]")}catch{i=o?o.split(","):[]}return i.map(l=>Ik(e,l))}return t},qR=t=>typeof t=="string"?t.replace(" ","T"):t,Rk=t=>{let e=t;return e=e.replace(/^ws/i,"http"),e=e.replace(/(\/socket\/websocket|\/socket|\/websocket)\/?$/i,""),e.replace(/\/+$/,"")+"/api/broadcast"};class ou{constructor(e,r,n={},s=Lh){this.channel=e,this.event=r,this.payload=n,this.timeout=s,this.sent=!1,this.timeoutTimer=void 0,this.ref="",this.receivedResp=null,this.recHooks=[],this.refEvent=null}resend(e){this.timeout=e,this._cancelRefEvent(),this.ref="",this.refEvent=null,this.receivedResp=null,this.sent=!1,this.send()}send(){this._hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,join_ref:this.channel._joinRef()}))}updatePayload(e){this.payload=Object.assign(Object.assign({},this.payload),e)}receive(e,r){var n;return this._hasReceived(e)&&r((n=this.receivedResp)===null||n===void 0?void 0:n.response),this.recHooks.push({status:e,callback:r}),this}startTimeout(){if(this.timeoutTimer)return;this.ref=this.channel.socket._makeRef(),this.refEvent=this.channel._replyEventName(this.ref);const e=r=>{this._cancelRefEvent(),this._cancelTimeout(),this.receivedResp=r,this._matchReceive(r)};this.channel._on(this.refEvent,{},e),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}trigger(e,r){this.refEvent&&this.channel._trigger(this.refEvent,{status:e,response:r})}destroy(){this._cancelRefEvent(),this._cancelTimeout()}_cancelRefEvent(){this.refEvent&&this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=void 0}_matchReceive({status:e,response:r}){this.recHooks.filter(n=>n.status===e).forEach(n=>n.callback(r))}_hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}}var px;(function(t){t.SYNC="sync",t.JOIN="join",t.LEAVE="leave"})(px||(px={}));class Ci{constructor(e,r){this.channel=e,this.state={},this.pendingDiffs=[],this.joinRef=null,this.enabled=!1,this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};const n=(r==null?void 0:r.events)||{state:"presence_state",diff:"presence_diff"};this.channel._on(n.state,{},s=>{const{onJoin:i,onLeave:o,onSync:l}=this.caller;this.joinRef=this.channel._joinRef(),this.state=Ci.syncState(this.state,s,i,o),this.pendingDiffs.forEach(c=>{this.state=Ci.syncDiff(this.state,c,i,o)}),this.pendingDiffs=[],l()}),this.channel._on(n.diff,{},s=>{const{onJoin:i,onLeave:o,onSync:l}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(s):(this.state=Ci.syncDiff(this.state,s,i,o),l())}),this.onJoin((s,i,o)=>{this.channel._trigger("presence",{event:"join",key:s,currentPresences:i,newPresences:o})}),this.onLeave((s,i,o)=>{this.channel._trigger("presence",{event:"leave",key:s,currentPresences:i,leftPresences:o})}),this.onSync(()=>{this.channel._trigger("presence",{event:"sync"})})}static syncState(e,r,n,s){const i=this.cloneDeep(e),o=this.transformState(r),l={},c={};return this.map(i,(d,u)=>{o[d]||(c[d]=u)}),this.map(o,(d,u)=>{const h=i[d];if(h){const m=u.map(w=>w.presence_ref),f=h.map(w=>w.presence_ref),b=u.filter(w=>f.indexOf(w.presence_ref)<0),x=h.filter(w=>m.indexOf(w.presence_ref)<0);b.length>0&&(l[d]=b),x.length>0&&(c[d]=x)}else l[d]=u}),this.syncDiff(i,{joins:l,leaves:c},n,s)}static syncDiff(e,r,n,s){const{joins:i,leaves:o}={joins:this.transformState(r.joins),leaves:this.transformState(r.leaves)};return n||(n=()=>{}),s||(s=()=>{}),this.map(i,(l,c)=>{var d;const u=(d=e[l])!==null&&d!==void 0?d:[];if(e[l]=this.cloneDeep(c),u.length>0){const h=e[l].map(f=>f.presence_ref),m=u.filter(f=>h.indexOf(f.presence_ref)<0);e[l].unshift(...m)}n(l,u,c)}),this.map(o,(l,c)=>{let d=e[l];if(!d)return;const u=c.map(h=>h.presence_ref);d=d.filter(h=>u.indexOf(h.presence_ref)<0),e[l]=d,s(l,d,c),d.length===0&&delete e[l]}),e}static map(e,r){return Object.getOwnPropertyNames(e).map(n=>r(n,e[n]))}static transformState(e){return e=this.cloneDeep(e),Object.getOwnPropertyNames(e).reduce((r,n)=>{const s=e[n];return"metas"in s?r[n]=s.metas.map(i=>(i.presence_ref=i.phx_ref,delete i.phx_ref,delete i.phx_ref_prev,i)):r[n]=s,r},{})}static cloneDeep(e){return JSON.parse(JSON.stringify(e))}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}}var gx;(function(t){t.ALL="*",t.INSERT="INSERT",t.UPDATE="UPDATE",t.DELETE="DELETE"})(gx||(gx={}));var Ei;(function(t){t.BROADCAST="broadcast",t.PRESENCE="presence",t.POSTGRES_CHANGES="postgres_changes",t.SYSTEM="system"})(Ei||(Ei={}));var Fr;(function(t){t.SUBSCRIBED="SUBSCRIBED",t.TIMED_OUT="TIMED_OUT",t.CLOSED="CLOSED",t.CHANNEL_ERROR="CHANNEL_ERROR"})(Fr||(Fr={}));class Rm{constructor(e,r={config:{}},n){this.topic=e,this.params=r,this.socket=n,this.bindings={},this.state=Ve.closed,this.joinedOnce=!1,this.pushBuffer=[],this.subTopic=e.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},r.config),this.timeout=this.socket.timeout,this.joinPush=new ou(this,tr.join,this.params,this.timeout),this.rejoinTimer=new Ak(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=Ve.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(s=>s.send()),this.pushBuffer=[]}),this._onClose(()=>{this.rejoinTimer.reset(),this.socket.log("channel",`close ${this.topic} ${this._joinRef()}`),this.state=Ve.closed,this.socket._remove(this)}),this._onError(s=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,s),this.state=Ve.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=Ve.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("error",s=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,s),this.state=Ve.errored,this.rejoinTimer.scheduleTimeout())}),this._on(tr.reply,{},(s,i)=>{this._trigger(this._replyEventName(i),s)}),this.presence=new Ci(this),this.broadcastEndpointURL=Rk(this.socket.endPoint),this.private=this.params.config.private||!1}subscribe(e,r=this.timeout){var n,s,i;if(this.socket.isConnected()||this.socket.connect(),this.state==Ve.closed){const{config:{broadcast:o,presence:l,private:c}}=this.params,d=(s=(n=this.bindings.postgres_changes)===null||n===void 0?void 0:n.map(f=>f.filter))!==null&&s!==void 0?s:[],u=!!this.bindings[Ei.PRESENCE]&&this.bindings[Ei.PRESENCE].length>0||((i=this.params.config.presence)===null||i===void 0?void 0:i.enabled)===!0,h={},m={broadcast:o,presence:Object.assign(Object.assign({},l),{enabled:u}),postgres_changes:d,private:c};this.socket.accessTokenValue&&(h.access_token=this.socket.accessTokenValue),this._onError(f=>e==null?void 0:e(Fr.CHANNEL_ERROR,f)),this._onClose(()=>e==null?void 0:e(Fr.CLOSED)),this.updateJoinPayload(Object.assign({config:m},h)),this.joinedOnce=!0,this._rejoin(r),this.joinPush.receive("ok",async({postgres_changes:f})=>{var b;if(this.socket.setAuth(),f===void 0){e==null||e(Fr.SUBSCRIBED);return}else{const x=this.bindings.postgres_changes,w=(b=x==null?void 0:x.length)!==null&&b!==void 0?b:0,y=[];for(let g=0;g{this.state=Ve.errored,e==null||e(Fr.CHANNEL_ERROR,new Error(JSON.stringify(Object.values(f).join(", ")||"error")))}).receive("timeout",()=>{e==null||e(Fr.TIMED_OUT)})}return this}presenceState(){return this.presence.state}async track(e,r={}){return await this.send({type:"presence",event:"track",payload:e},r.timeout||this.timeout)}async untrack(e={}){return await this.send({type:"presence",event:"untrack"},e)}on(e,r,n){return this.state===Ve.joined&&e===Ei.PRESENCE&&(this.socket.log("channel",`resubscribe to ${this.topic} due to change in presence callbacks on joined channel`),this.unsubscribe().then(()=>this.subscribe())),this._on(e,r,n)}async send(e,r={}){var n,s;if(!this._canPush()&&e.type==="broadcast"){const{event:i,payload:o}=e,c={method:"POST",headers:{Authorization:this.socket.accessTokenValue?`Bearer ${this.socket.accessTokenValue}`:"",apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"},body:JSON.stringify({messages:[{topic:this.subTopic,event:i,payload:o,private:this.private}]})};try{const d=await this._fetchWithTimeout(this.broadcastEndpointURL,c,(n=r.timeout)!==null&&n!==void 0?n:this.timeout);return await((s=d.body)===null||s===void 0?void 0:s.cancel()),d.ok?"ok":"error"}catch(d){return d.name==="AbortError"?"timed out":"error"}}else return new Promise(i=>{var o,l,c;const d=this._push(e.type,e,r.timeout||this.timeout);e.type==="broadcast"&&!(!((c=(l=(o=this.params)===null||o===void 0?void 0:o.config)===null||l===void 0?void 0:l.broadcast)===null||c===void 0)&&c.ack)&&i("ok"),d.receive("ok",()=>i("ok")),d.receive("error",()=>i("error")),d.receive("timeout",()=>i("timed out"))})}updateJoinPayload(e){this.joinPush.updatePayload(e)}unsubscribe(e=this.timeout){this.state=Ve.leaving;const r=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(tr.close,"leave",this._joinRef())};this.joinPush.destroy();let n=null;return new Promise(s=>{n=new ou(this,tr.leave,{},e),n.receive("ok",()=>{r(),s("ok")}).receive("timeout",()=>{r(),s("timed out")}).receive("error",()=>{s("error")}),n.send(),this._canPush()||n.trigger("ok",{})}).finally(()=>{n==null||n.destroy()})}teardown(){this.pushBuffer.forEach(e=>e.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=Ve.closed,this.bindings={}}async _fetchWithTimeout(e,r,n){const s=new AbortController,i=setTimeout(()=>s.abort(),n),o=await this.socket.fetch(e,Object.assign(Object.assign({},r),{signal:s.signal}));return clearTimeout(i),o}_push(e,r,n=this.timeout){if(!this.joinedOnce)throw`tried to push '${e}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`;let s=new ou(this,e,r,n);return this._canPush()?s.send():this._addToPushBuffer(s),s}_addToPushBuffer(e){if(e.startTimeout(),this.pushBuffer.push(e),this.pushBuffer.length>FR){const r=this.pushBuffer.shift();r&&(r.destroy(),this.socket.log("channel",`discarded push due to buffer overflow: ${r.event}`,r.payload))}}_onMessage(e,r,n){return r}_isMember(e){return this.topic===e}_joinRef(){return this.joinPush.ref}_trigger(e,r,n){var s,i;const o=e.toLocaleLowerCase(),{close:l,error:c,leave:d,join:u}=tr;if(n&&[l,c,d,u].indexOf(o)>=0&&n!==this._joinRef())return;let m=this._onMessage(o,r,n);if(r&&!m)throw"channel onMessage callbacks must return the payload, modified or unmodified";["insert","update","delete"].includes(o)?(s=this.bindings.postgres_changes)===null||s===void 0||s.filter(f=>{var b,x,w;return((b=f.filter)===null||b===void 0?void 0:b.event)==="*"||((w=(x=f.filter)===null||x===void 0?void 0:x.event)===null||w===void 0?void 0:w.toLocaleLowerCase())===o}).map(f=>f.callback(m,n)):(i=this.bindings[o])===null||i===void 0||i.filter(f=>{var b,x,w,y,g,v;if(["broadcast","presence","postgres_changes"].includes(o))if("id"in f){const k=f.id,j=(b=f.filter)===null||b===void 0?void 0:b.event;return k&&((x=r.ids)===null||x===void 0?void 0:x.includes(k))&&(j==="*"||(j==null?void 0:j.toLocaleLowerCase())===((w=r.data)===null||w===void 0?void 0:w.type.toLocaleLowerCase()))}else{const k=(g=(y=f==null?void 0:f.filter)===null||y===void 0?void 0:y.event)===null||g===void 0?void 0:g.toLocaleLowerCase();return k==="*"||k===((v=r==null?void 0:r.event)===null||v===void 0?void 0:v.toLocaleLowerCase())}else return f.type.toLocaleLowerCase()===o}).map(f=>{if(typeof m=="object"&&"ids"in m){const b=m.data,{schema:x,table:w,commit_timestamp:y,type:g,errors:v}=b;m=Object.assign(Object.assign({},{schema:x,table:w,commit_timestamp:y,eventType:g,new:{},old:{},errors:v}),this._getPayloadRecords(b))}f.callback(m,n)})}_isClosed(){return this.state===Ve.closed}_isJoined(){return this.state===Ve.joined}_isJoining(){return this.state===Ve.joining}_isLeaving(){return this.state===Ve.leaving}_replyEventName(e){return`chan_reply_${e}`}_on(e,r,n){const s=e.toLocaleLowerCase(),i={type:s,filter:r,callback:n};return this.bindings[s]?this.bindings[s].push(i):this.bindings[s]=[i],this}_off(e,r){const n=e.toLocaleLowerCase();return this.bindings[n]&&(this.bindings[n]=this.bindings[n].filter(s=>{var i;return!(((i=s.type)===null||i===void 0?void 0:i.toLocaleLowerCase())===n&&Rm.isEqual(s.filter,r))})),this}static isEqual(e,r){if(Object.keys(e).length!==Object.keys(r).length)return!1;for(const n in e)if(e[n]!==r[n])return!1;return!0}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout(),this.socket.isConnected()&&this._rejoin()}_onClose(e){this._on(tr.close,{},e)}_onError(e){this._on(tr.error,{},r=>e(r))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(e=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=Ve.joining,this.joinPush.resend(e))}_getPayloadRecords(e){const r={new:{},old:{}};return(e.type==="INSERT"||e.type==="UPDATE")&&(r.new=mx(e.columns,e.record)),(e.type==="UPDATE"||e.type==="DELETE")&&(r.old=mx(e.columns,e.old_record)),r}}const lu=()=>{},nl={HEARTBEAT_INTERVAL:25e3,RECONNECT_DELAY:10,HEARTBEAT_TIMEOUT_FALLBACK:100},KR=[1e3,2e3,5e3,1e4],GR=1e4,JR=` addEventListener("message", (e) => { if (e.data.event === "start") { setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval); } });`;class QR{constructor(e,r){var n;if(this.accessTokenValue=null,this.apiKey=null,this.channels=new Array,this.endPoint="",this.httpEndpoint="",this.headers={},this.params={},this.timeout=Lh,this.transport=null,this.heartbeatIntervalMs=nl.HEARTBEAT_INTERVAL,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.heartbeatCallback=lu,this.ref=0,this.reconnectTimer=null,this.logger=lu,this.conn=null,this.sendBuffer=[],this.serializer=new zR,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.accessToken=null,this._connectionState="disconnected",this._wasManualDisconnect=!1,this._authPromise=null,this._resolveFetch=s=>{let i;return s?i=s:typeof fetch>"u"?i=(...o)=>bo(async()=>{const{default:l}=await Promise.resolve().then(()=>qa);return{default:l}},void 0).then(({default:l})=>l(...o)).catch(l=>{throw new Error(`Failed to load @supabase/node-fetch: ${l.message}. This is required for HTTP requests in Node.js environments without native fetch.`)}):i=fetch,(...o)=>i(...o)},!(!((n=r==null?void 0:r.params)===null||n===void 0)&&n.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=r.params.apikey,this.endPoint=`${e}/${Dh.websocket}`,this.httpEndpoint=Rk(e),this._initializeOptions(r),this._setupReconnectionTimer(),this.fetch=this._resolveFetch(r==null?void 0:r.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.conn!==null&&this.isConnected())){if(this._setConnectionState("connecting"),this._setAuthSafely("connect"),this.transport)this.conn=new this.transport(this.endpointURL());else try{this.conn=OR.createWebSocket(this.endpointURL())}catch(e){this._setConnectionState("disconnected");const r=e.message;throw r.includes("Node.js")?new Error(`${r} To use Realtime in Node.js, you need to provide a WebSocket implementation: Option 1: Use Node.js 22+ which has native WebSocket support Option 2: Install and provide the "ws" package: npm install ws import ws from "ws" const client = new RealtimeClient(url, { ...options, transport: ws })`):new Error(`WebSocket not available: ${r}`)}this._setupConnectionHandlers()}}endpointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:DR}))}disconnect(e,r){if(!this.isDisconnecting())if(this._setConnectionState("disconnecting",!0),this.conn){const n=setTimeout(()=>{this._setConnectionState("disconnected")},100);this.conn.onclose=()=>{clearTimeout(n),this._setConnectionState("disconnected")},e?this.conn.close(e,r??""):this.conn.close(),this._teardownConnection()}else this._setConnectionState("disconnected")}getChannels(){return this.channels}async removeChannel(e){const r=await e.unsubscribe();return this.channels.length===0&&this.disconnect(),r}async removeAllChannels(){const e=await Promise.all(this.channels.map(r=>r.unsubscribe()));return this.channels=[],this.disconnect(),e}log(e,r,n){this.logger(e,r,n)}connectionState(){switch(this.conn&&this.conn.readyState){case Si.connecting:return ns.Connecting;case Si.open:return ns.Open;case Si.closing:return ns.Closing;default:return ns.Closed}}isConnected(){return this.connectionState()===ns.Open}isConnecting(){return this._connectionState==="connecting"}isDisconnecting(){return this._connectionState==="disconnecting"}channel(e,r={config:{}}){const n=`realtime:${e}`,s=this.getChannels().find(i=>i.topic===n);if(s)return s;{const i=new Rm(`realtime:${e}`,r,this);return this.channels.push(i),i}}push(e){const{topic:r,event:n,payload:s,ref:i}=e,o=()=>{this.encode(e,l=>{var c;(c=this.conn)===null||c===void 0||c.send(l)})};this.log("push",`${r} ${n} (${i})`,s),this.isConnected()?o():this.sendBuffer.push(o)}async setAuth(e=null){this._authPromise=this._performAuth(e);try{await this._authPromise}finally{this._authPromise=null}}async sendHeartbeat(){var e;if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(r){this.log("error","error in heartbeat callback",r)}return}if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(r){this.log("error","error in heartbeat callback",r)}this._wasManualDisconnect=!1,(e=this.conn)===null||e===void 0||e.close($R,"heartbeat timeout"),setTimeout(()=>{var r;this.isConnected()||(r=this.reconnectTimer)===null||r===void 0||r.scheduleTimeout()},nl.HEARTBEAT_TIMEOUT_FALLBACK);return}this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(r){this.log("error","error in heartbeat callback",r)}this._setAuthSafely("heartbeat")}onHeartbeat(e){this.heartbeatCallback=e}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}_makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}_leaveOpenTopic(e){let r=this.channels.find(n=>n.topic===e&&(n._isJoined()||n._isJoining()));r&&(this.log("transport",`leaving duplicate topic "${e}"`),r.unsubscribe())}_remove(e){this.channels=this.channels.filter(r=>r.topic!==e.topic)}_onConnMessage(e){this.decode(e.data,r=>{if(r.topic==="phoenix"&&r.event==="phx_reply")try{this.heartbeatCallback(r.payload.status==="ok"?"ok":"error")}catch(d){this.log("error","error in heartbeat callback",d)}r.ref&&r.ref===this.pendingHeartbeatRef&&(this.pendingHeartbeatRef=null);const{topic:n,event:s,payload:i,ref:o}=r,l=o?`(${o})`:"",c=i.status||"";this.log("receive",`${c} ${n} ${s} ${l}`.trim(),i),this.channels.filter(d=>d._isMember(n)).forEach(d=>d._trigger(s,i,o)),this._triggerStateCallbacks("message",r)})}_clearTimer(e){var r;e==="heartbeat"&&this.heartbeatTimer?(clearInterval(this.heartbeatTimer),this.heartbeatTimer=void 0):e==="reconnect"&&((r=this.reconnectTimer)===null||r===void 0||r.reset())}_clearAllTimers(){this._clearTimer("heartbeat"),this._clearTimer("reconnect")}_setupConnectionHandlers(){this.conn&&("binaryType"in this.conn&&(this.conn.binaryType="arraybuffer"),this.conn.onopen=()=>this._onConnOpen(),this.conn.onerror=e=>this._onConnError(e),this.conn.onmessage=e=>this._onConnMessage(e),this.conn.onclose=e=>this._onConnClose(e))}_teardownConnection(){this.conn&&(this.conn.onopen=null,this.conn.onerror=null,this.conn.onmessage=null,this.conn.onclose=null,this.conn=null),this._clearAllTimers(),this.channels.forEach(e=>e.teardown())}_onConnOpen(){this._setConnectionState("connected"),this.log("transport",`connected to ${this.endpointURL()}`),this.flushSendBuffer(),this._clearTimer("reconnect"),this.worker?this.workerRef||this._startWorkerHeartbeat():this._startHeartbeat(),this._triggerStateCallbacks("open")}_startHeartbeat(){this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this.sendHeartbeat(),this.heartbeatIntervalMs)}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const e=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(e),this.workerRef.onerror=r=>{this.log("worker","worker error",r.message),this.workerRef.terminate()},this.workerRef.onmessage=r=>{r.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_onConnClose(e){var r;this._setConnectionState("disconnected"),this.log("transport","close",e),this._triggerChanError(),this._clearTimer("heartbeat"),this._wasManualDisconnect||(r=this.reconnectTimer)===null||r===void 0||r.scheduleTimeout(),this._triggerStateCallbacks("close",e)}_onConnError(e){this._setConnectionState("disconnected"),this.log("transport",`${e}`),this._triggerChanError(),this._triggerStateCallbacks("error",e)}_triggerChanError(){this.channels.forEach(e=>e._trigger(tr.error))}_appendParams(e,r){if(Object.keys(r).length===0)return e;const n=e.match(/\?/)?"&":"?",s=new URLSearchParams(r);return`${e}${n}${s}`}_workerObjectUrl(e){let r;if(e)r=e;else{const n=new Blob([JR],{type:"application/javascript"});r=URL.createObjectURL(n)}return r}_setConnectionState(e,r=!1){this._connectionState=e,e==="connecting"?this._wasManualDisconnect=!1:e==="disconnecting"&&(this._wasManualDisconnect=r)}async _performAuth(e=null){let r;e?r=e:this.accessToken?r=await this.accessToken():r=this.accessTokenValue,this.accessTokenValue!=r&&(this.accessTokenValue=r,this.channels.forEach(n=>{const s={access_token:r,version:LR};r&&n.updateJoinPayload(s),n.joinedOnce&&n._isJoined()&&n._push(tr.access_token,{access_token:r})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(e="general"){this.setAuth().catch(r=>{this.log("error",`error setting auth in ${e}`,r)})}_triggerStateCallbacks(e,r){try{this.stateChangeCallbacks[e].forEach(n=>{try{n(r)}catch(s){this.log("error",`error in ${e} callback`,s)}})}catch(n){this.log("error",`error triggering ${e} callbacks`,n)}}_setupReconnectionTimer(){this.reconnectTimer=new Ak(async()=>{setTimeout(async()=>{await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()},nl.RECONNECT_DELAY)},this.reconnectAfterMs)}_initializeOptions(e){var r,n,s,i,o,l,c,d,u;if(this.transport=(r=e==null?void 0:e.transport)!==null&&r!==void 0?r:null,this.timeout=(n=e==null?void 0:e.timeout)!==null&&n!==void 0?n:Lh,this.heartbeatIntervalMs=(s=e==null?void 0:e.heartbeatIntervalMs)!==null&&s!==void 0?s:nl.HEARTBEAT_INTERVAL,this.worker=(i=e==null?void 0:e.worker)!==null&&i!==void 0?i:!1,this.accessToken=(o=e==null?void 0:e.accessToken)!==null&&o!==void 0?o:null,this.heartbeatCallback=(l=e==null?void 0:e.heartbeatCallback)!==null&&l!==void 0?l:lu,e!=null&&e.params&&(this.params=e.params),e!=null&&e.logger&&(this.logger=e.logger),(e!=null&&e.logLevel||e!=null&&e.log_level)&&(this.logLevel=e.logLevel||e.log_level,this.params=Object.assign(Object.assign({},this.params),{log_level:this.logLevel})),this.reconnectAfterMs=(c=e==null?void 0:e.reconnectAfterMs)!==null&&c!==void 0?c:h=>KR[h-1]||GR,this.encode=(d=e==null?void 0:e.encode)!==null&&d!==void 0?d:(h,m)=>m(JSON.stringify(h)),this.decode=(u=e==null?void 0:e.decode)!==null&&u!==void 0?u:this.serializer.decode.bind(this.serializer),this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=e==null?void 0:e.workerUrl}}}class Om extends Error{constructor(e){super(e),this.__isStorageError=!0,this.name="StorageError"}}function He(t){return typeof t=="object"&&t!==null&&"__isStorageError"in t}class YR extends Om{constructor(e,r,n){super(e),this.name="StorageApiError",this.status=r,this.statusCode=n}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}}class Fh extends Om{constructor(e,r){super(e),this.name="StorageUnknownError",this.originalError=r}}var ZR=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function l(u){try{d(n.next(u))}catch(h){o(h)}}function c(u){try{d(n.throw(u))}catch(h){o(h)}}function d(u){u.done?i(u.value):s(u.value).then(l,c)}d((n=n.apply(t,e||[])).next())})};const Ok=t=>{let e;return t?e=t:typeof fetch>"u"?e=(...r)=>bo(async()=>{const{default:n}=await Promise.resolve().then(()=>qa);return{default:n}},void 0).then(({default:n})=>n(...r)):e=fetch,(...r)=>e(...r)},XR=()=>ZR(void 0,void 0,void 0,function*(){return typeof Response>"u"?(yield bo(()=>Promise.resolve().then(()=>qa),void 0)).Response:Response}),zh=t=>{if(Array.isArray(t))return t.map(r=>zh(r));if(typeof t=="function"||t!==Object(t))return t;const e={};return Object.entries(t).forEach(([r,n])=>{const s=r.replace(/([-_][a-z])/gi,i=>i.toUpperCase().replace(/[-_]/g,""));e[s]=zh(n)}),e},e4=t=>{if(typeof t!="object"||t===null)return!1;const e=Object.getPrototypeOf(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)};var As=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function l(u){try{d(n.next(u))}catch(h){o(h)}}function c(u){try{d(n.throw(u))}catch(h){o(h)}}function d(u){u.done?i(u.value):s(u.value).then(l,c)}d((n=n.apply(t,e||[])).next())})};const cu=t=>t.msg||t.message||t.error_description||t.error||JSON.stringify(t),t4=(t,e,r)=>As(void 0,void 0,void 0,function*(){const n=yield XR();t instanceof n&&!(r!=null&&r.noResolveJson)?t.json().then(s=>{const i=t.status||500,o=(s==null?void 0:s.statusCode)||i+"";e(new YR(cu(s),i,o))}).catch(s=>{e(new Fh(cu(s),s))}):e(new Fh(cu(t),t))}),r4=(t,e,r,n)=>{const s={method:t,headers:(e==null?void 0:e.headers)||{}};return t==="GET"||!n?s:(e4(n)?(s.headers=Object.assign({"Content-Type":"application/json"},e==null?void 0:e.headers),s.body=JSON.stringify(n)):s.body=n,e!=null&&e.duplex&&(s.duplex=e.duplex),Object.assign(Object.assign({},s),r))};function jo(t,e,r,n,s,i){return As(this,void 0,void 0,function*(){return new Promise((o,l)=>{t(r,r4(e,n,s,i)).then(c=>{if(!c.ok)throw c;return n!=null&&n.noResolveJson?c:c.json()}).then(c=>o(c)).catch(c=>t4(c,l,n))})})}function cc(t,e,r,n){return As(this,void 0,void 0,function*(){return jo(t,"GET",e,r,n)})}function vr(t,e,r,n,s){return As(this,void 0,void 0,function*(){return jo(t,"POST",e,n,s,r)})}function Uh(t,e,r,n,s){return As(this,void 0,void 0,function*(){return jo(t,"PUT",e,n,s,r)})}function n4(t,e,r,n){return As(this,void 0,void 0,function*(){return jo(t,"HEAD",e,Object.assign(Object.assign({},r),{noResolveJson:!0}),n)})}function Mk(t,e,r,n,s){return As(this,void 0,void 0,function*(){return jo(t,"DELETE",e,n,s,r)})}var ot=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function l(u){try{d(n.next(u))}catch(h){o(h)}}function c(u){try{d(n.throw(u))}catch(h){o(h)}}function d(u){u.done?i(u.value):s(u.value).then(l,c)}d((n=n.apply(t,e||[])).next())})};const s4={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},xx={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};class a4{constructor(e,r={},n,s){this.shouldThrowOnError=!1,this.url=e,this.headers=r,this.bucketId=n,this.fetch=Ok(s)}throwOnError(){return this.shouldThrowOnError=!0,this}uploadOrUpdate(e,r,n,s){return ot(this,void 0,void 0,function*(){try{let i;const o=Object.assign(Object.assign({},xx),s);let l=Object.assign(Object.assign({},this.headers),e==="POST"&&{"x-upsert":String(o.upsert)});const c=o.metadata;typeof Blob<"u"&&n instanceof Blob?(i=new FormData,i.append("cacheControl",o.cacheControl),c&&i.append("metadata",this.encodeMetadata(c)),i.append("",n)):typeof FormData<"u"&&n instanceof FormData?(i=n,i.append("cacheControl",o.cacheControl),c&&i.append("metadata",this.encodeMetadata(c))):(i=n,l["cache-control"]=`max-age=${o.cacheControl}`,l["content-type"]=o.contentType,c&&(l["x-metadata"]=this.toBase64(this.encodeMetadata(c)))),s!=null&&s.headers&&(l=Object.assign(Object.assign({},l),s.headers));const d=this._removeEmptyFolders(r),u=this._getFinalPath(d),h=yield(e=="PUT"?Uh:vr)(this.fetch,`${this.url}/object/${u}`,i,Object.assign({headers:l},o!=null&&o.duplex?{duplex:o.duplex}:{}));return{data:{path:d,id:h.Id,fullPath:h.Key},error:null}}catch(i){if(this.shouldThrowOnError)throw i;if(He(i))return{data:null,error:i};throw i}})}upload(e,r,n){return ot(this,void 0,void 0,function*(){return this.uploadOrUpdate("POST",e,r,n)})}uploadToSignedUrl(e,r,n,s){return ot(this,void 0,void 0,function*(){const i=this._removeEmptyFolders(e),o=this._getFinalPath(i),l=new URL(this.url+`/object/upload/sign/${o}`);l.searchParams.set("token",r);try{let c;const d=Object.assign({upsert:xx.upsert},s),u=Object.assign(Object.assign({},this.headers),{"x-upsert":String(d.upsert)});typeof Blob<"u"&&n instanceof Blob?(c=new FormData,c.append("cacheControl",d.cacheControl),c.append("",n)):typeof FormData<"u"&&n instanceof FormData?(c=n,c.append("cacheControl",d.cacheControl)):(c=n,u["cache-control"]=`max-age=${d.cacheControl}`,u["content-type"]=d.contentType);const h=yield Uh(this.fetch,l.toString(),c,{headers:u});return{data:{path:i,fullPath:h.Key},error:null}}catch(c){if(this.shouldThrowOnError)throw c;if(He(c))return{data:null,error:c};throw c}})}createSignedUploadUrl(e,r){return ot(this,void 0,void 0,function*(){try{let n=this._getFinalPath(e);const s=Object.assign({},this.headers);r!=null&&r.upsert&&(s["x-upsert"]="true");const i=yield vr(this.fetch,`${this.url}/object/upload/sign/${n}`,{},{headers:s}),o=new URL(this.url+i.url),l=o.searchParams.get("token");if(!l)throw new Om("No token returned by API");return{data:{signedUrl:o.toString(),path:e,token:l},error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(He(n))return{data:null,error:n};throw n}})}update(e,r,n){return ot(this,void 0,void 0,function*(){return this.uploadOrUpdate("PUT",e,r,n)})}move(e,r,n){return ot(this,void 0,void 0,function*(){try{return{data:yield vr(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:e,destinationKey:r,destinationBucket:n==null?void 0:n.destinationBucket},{headers:this.headers}),error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(He(s))return{data:null,error:s};throw s}})}copy(e,r,n){return ot(this,void 0,void 0,function*(){try{return{data:{path:(yield vr(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:e,destinationKey:r,destinationBucket:n==null?void 0:n.destinationBucket},{headers:this.headers})).Key},error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(He(s))return{data:null,error:s};throw s}})}createSignedUrl(e,r,n){return ot(this,void 0,void 0,function*(){try{let s=this._getFinalPath(e),i=yield vr(this.fetch,`${this.url}/object/sign/${s}`,Object.assign({expiresIn:r},n!=null&&n.transform?{transform:n.transform}:{}),{headers:this.headers});const o=n!=null&&n.download?`&download=${n.download===!0?"":n.download}`:"";return i={signedUrl:encodeURI(`${this.url}${i.signedURL}${o}`)},{data:i,error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(He(s))return{data:null,error:s};throw s}})}createSignedUrls(e,r,n){return ot(this,void 0,void 0,function*(){try{const s=yield vr(this.fetch,`${this.url}/object/sign/${this.bucketId}`,{expiresIn:r,paths:e},{headers:this.headers}),i=n!=null&&n.download?`&download=${n.download===!0?"":n.download}`:"";return{data:s.map(o=>Object.assign(Object.assign({},o),{signedUrl:o.signedURL?encodeURI(`${this.url}${o.signedURL}${i}`):null})),error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(He(s))return{data:null,error:s};throw s}})}download(e,r){return ot(this,void 0,void 0,function*(){const s=typeof(r==null?void 0:r.transform)<"u"?"render/image/authenticated":"object",i=this.transformOptsToQueryString((r==null?void 0:r.transform)||{}),o=i?`?${i}`:"";try{const l=this._getFinalPath(e);return{data:yield(yield cc(this.fetch,`${this.url}/${s}/${l}${o}`,{headers:this.headers,noResolveJson:!0})).blob(),error:null}}catch(l){if(this.shouldThrowOnError)throw l;if(He(l))return{data:null,error:l};throw l}})}info(e){return ot(this,void 0,void 0,function*(){const r=this._getFinalPath(e);try{const n=yield cc(this.fetch,`${this.url}/object/info/${r}`,{headers:this.headers});return{data:zh(n),error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(He(n))return{data:null,error:n};throw n}})}exists(e){return ot(this,void 0,void 0,function*(){const r=this._getFinalPath(e);try{return yield n4(this.fetch,`${this.url}/object/${r}`,{headers:this.headers}),{data:!0,error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(He(n)&&n instanceof Fh){const s=n.originalError;if([400,404].includes(s==null?void 0:s.status))return{data:!1,error:n}}throw n}})}getPublicUrl(e,r){const n=this._getFinalPath(e),s=[],i=r!=null&&r.download?`download=${r.download===!0?"":r.download}`:"";i!==""&&s.push(i);const l=typeof(r==null?void 0:r.transform)<"u"?"render/image":"object",c=this.transformOptsToQueryString((r==null?void 0:r.transform)||{});c!==""&&s.push(c);let d=s.join("&");return d!==""&&(d=`?${d}`),{data:{publicUrl:encodeURI(`${this.url}/${l}/public/${n}${d}`)}}}remove(e){return ot(this,void 0,void 0,function*(){try{return{data:yield Mk(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:e},{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(He(r))return{data:null,error:r};throw r}})}list(e,r,n){return ot(this,void 0,void 0,function*(){try{const s=Object.assign(Object.assign(Object.assign({},s4),r),{prefix:e||""});return{data:yield vr(this.fetch,`${this.url}/object/list/${this.bucketId}`,s,{headers:this.headers},n),error:null}}catch(s){if(this.shouldThrowOnError)throw s;if(He(s))return{data:null,error:s};throw s}})}listV2(e,r){return ot(this,void 0,void 0,function*(){try{const n=Object.assign({},e);return{data:yield vr(this.fetch,`${this.url}/object/list-v2/${this.bucketId}`,n,{headers:this.headers},r),error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(He(n))return{data:null,error:n};throw n}})}encodeMetadata(e){return JSON.stringify(e)}toBase64(e){return typeof Buffer<"u"?Buffer.from(e).toString("base64"):btoa(e)}_getFinalPath(e){return`${this.bucketId}/${e.replace(/^\/+/,"")}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(e){const r=[];return e.width&&r.push(`width=${e.width}`),e.height&&r.push(`height=${e.height}`),e.resize&&r.push(`resize=${e.resize}`),e.format&&r.push(`format=${e.format}`),e.quality&&r.push(`quality=${e.quality}`),r.join("&")}}const i4="2.12.1",o4={"X-Client-Info":`storage-js/${i4}`};var Us=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function l(u){try{d(n.next(u))}catch(h){o(h)}}function c(u){try{d(n.throw(u))}catch(h){o(h)}}function d(u){u.done?i(u.value):s(u.value).then(l,c)}d((n=n.apply(t,e||[])).next())})};class l4{constructor(e,r={},n,s){this.shouldThrowOnError=!1;const i=new URL(e);s!=null&&s.useNewHostname&&/supabase\.(co|in|red)$/.test(i.hostname)&&!i.hostname.includes("storage.supabase.")&&(i.hostname=i.hostname.replace("supabase.","storage.supabase.")),this.url=i.href,this.headers=Object.assign(Object.assign({},o4),r),this.fetch=Ok(n)}throwOnError(){return this.shouldThrowOnError=!0,this}listBuckets(){return Us(this,void 0,void 0,function*(){try{return{data:yield cc(this.fetch,`${this.url}/bucket`,{headers:this.headers}),error:null}}catch(e){if(this.shouldThrowOnError)throw e;if(He(e))return{data:null,error:e};throw e}})}getBucket(e){return Us(this,void 0,void 0,function*(){try{return{data:yield cc(this.fetch,`${this.url}/bucket/${e}`,{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(He(r))return{data:null,error:r};throw r}})}createBucket(e,r={public:!1}){return Us(this,void 0,void 0,function*(){try{return{data:yield vr(this.fetch,`${this.url}/bucket`,{id:e,name:e,type:r.type,public:r.public,file_size_limit:r.fileSizeLimit,allowed_mime_types:r.allowedMimeTypes},{headers:this.headers}),error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(He(n))return{data:null,error:n};throw n}})}updateBucket(e,r){return Us(this,void 0,void 0,function*(){try{return{data:yield Uh(this.fetch,`${this.url}/bucket/${e}`,{id:e,name:e,public:r.public,file_size_limit:r.fileSizeLimit,allowed_mime_types:r.allowedMimeTypes},{headers:this.headers}),error:null}}catch(n){if(this.shouldThrowOnError)throw n;if(He(n))return{data:null,error:n};throw n}})}emptyBucket(e){return Us(this,void 0,void 0,function*(){try{return{data:yield vr(this.fetch,`${this.url}/bucket/${e}/empty`,{},{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(He(r))return{data:null,error:r};throw r}})}deleteBucket(e){return Us(this,void 0,void 0,function*(){try{return{data:yield Mk(this.fetch,`${this.url}/bucket/${e}`,{},{headers:this.headers}),error:null}}catch(r){if(this.shouldThrowOnError)throw r;if(He(r))return{data:null,error:r};throw r}})}}class c4 extends l4{constructor(e,r={},n,s){super(e,r,n,s)}from(e){return new a4(this.url,this.headers,e,this.fetch)}}const d4="2.57.4";let mi="";typeof Deno<"u"?mi="deno":typeof document<"u"?mi="web":typeof navigator<"u"&&navigator.product==="ReactNative"?mi="react-native":mi="node";const u4={"X-Client-Info":`supabase-js-${mi}/${d4}`},h4={headers:u4},f4={schema:"public"},m4={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},p4={};var g4=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function l(u){try{d(n.next(u))}catch(h){o(h)}}function c(u){try{d(n.throw(u))}catch(h){o(h)}}function d(u){u.done?i(u.value):s(u.value).then(l,c)}d((n=n.apply(t,e||[])).next())})};const x4=t=>{let e;return t?e=t:typeof fetch>"u"?e=wk:e=fetch,(...r)=>e(...r)},v4=()=>typeof Headers>"u"?bk:Headers,y4=(t,e,r)=>{const n=x4(r),s=v4();return(i,o)=>g4(void 0,void 0,void 0,function*(){var l;const c=(l=yield e())!==null&&l!==void 0?l:t;let d=new s(o==null?void 0:o.headers);return d.has("apikey")||d.set("apikey",t),d.has("Authorization")||d.set("Authorization",`Bearer ${c}`),n(i,Object.assign(Object.assign({},o),{headers:d}))})};var w4=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function l(u){try{d(n.next(u))}catch(h){o(h)}}function c(u){try{d(n.throw(u))}catch(h){o(h)}}function d(u){u.done?i(u.value):s(u.value).then(l,c)}d((n=n.apply(t,e||[])).next())})};function b4(t){return t.endsWith("/")?t:t+"/"}function k4(t,e){var r,n;const{db:s,auth:i,realtime:o,global:l}=t,{db:c,auth:d,realtime:u,global:h}=e,m={db:Object.assign(Object.assign({},c),s),auth:Object.assign(Object.assign({},d),i),realtime:Object.assign(Object.assign({},u),o),storage:{},global:Object.assign(Object.assign(Object.assign({},h),l),{headers:Object.assign(Object.assign({},(r=h==null?void 0:h.headers)!==null&&r!==void 0?r:{}),(n=l==null?void 0:l.headers)!==null&&n!==void 0?n:{})}),accessToken:()=>w4(this,void 0,void 0,function*(){return""})};return t.accessToken?m.accessToken=t.accessToken:delete m.accessToken,m}function j4(t){const e=t==null?void 0:t.trim();if(!e)throw new Error("supabaseUrl is required.");if(!e.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(b4(e))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}const Lk="2.71.1",qs=30*1e3,Bh=3,du=Bh*qs,N4="http://localhost:9999",_4="supabase.auth.token",S4={"X-Client-Info":`gotrue-js/${Lk}`},Wh="X-Supabase-Api-Version",Dk={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},C4=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,E4=10*60*1e3;class Mm extends Error{constructor(e,r,n){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=r,this.code=n}}function ne(t){return typeof t=="object"&&t!==null&&"__isAuthError"in t}class P4 extends Mm{constructor(e,r,n){super(e,r,n),this.name="AuthApiError",this.status=r,this.code=n}}function T4(t){return ne(t)&&t.name==="AuthApiError"}class $k extends Mm{constructor(e,r){super(e),this.name="AuthUnknownError",this.originalError=r}}class Gn extends Mm{constructor(e,r,n,s){super(e,n,s),this.name=r,this.status=n}}class un extends Gn{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function A4(t){return ne(t)&&t.name==="AuthSessionMissingError"}class sl extends Gn{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}}class al extends Gn{constructor(e){super(e,"AuthInvalidCredentialsError",400,void 0)}}class il extends Gn{constructor(e,r=null){super(e,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=r}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}function I4(t){return ne(t)&&t.name==="AuthImplicitGrantRedirectError"}class vx extends Gn{constructor(e,r=null){super(e,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=r}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class Vh extends Gn{constructor(e,r){super(e,"AuthRetryableFetchError",r,void 0)}}function uu(t){return ne(t)&&t.name==="AuthRetryableFetchError"}class yx extends Gn{constructor(e,r,n){super(e,"AuthWeakPasswordError",r,"weak_password"),this.reasons=n}}class Hh extends Gn{constructor(e){super(e,"AuthInvalidJwtError",400,"invalid_jwt")}}const dc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),wx=` \r=`.split(""),R4=(()=>{const t=new Array(128);for(let e=0;e=6;){const n=e.queue>>e.queuedBits-6&63;r(dc[n]),e.queuedBits-=6}else if(e.queuedBits>0)for(e.queue=e.queue<<6-e.queuedBits,e.queuedBits=6;e.queuedBits>=6;){const n=e.queue>>e.queuedBits-6&63;r(dc[n]),e.queuedBits-=6}}function Fk(t,e,r){const n=R4[t];if(n>-1)for(e.queue=e.queue<<6|n,e.queuedBits+=6;e.queuedBits>=8;)r(e.queue>>e.queuedBits-8&255),e.queuedBits-=8;else{if(n===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(t)}"`)}}function kx(t){const e=[],r=o=>{e.push(String.fromCodePoint(o))},n={utf8seq:0,codepoint:0},s={queue:0,queuedBits:0},i=o=>{L4(o,n,r)};for(let o=0;o>6),e(128|t&63);return}else if(t<=65535){e(224|t>>12),e(128|t>>6&63),e(128|t&63);return}else if(t<=1114111){e(240|t>>18),e(128|t>>12&63),e(128|t>>6&63),e(128|t&63);return}throw new Error(`Unrecognized Unicode codepoint: ${t.toString(16)}`)}function M4(t,e){for(let r=0;r55295&&n<=56319){const s=(n-55296)*1024&65535;n=(t.charCodeAt(r+1)-56320&65535|s)+65536,r+=1}O4(n,e)}}function L4(t,e,r){if(e.utf8seq===0){if(t<=127){r(t);return}for(let n=1;n<6;n+=1)if(!(t>>7-n&1)){e.utf8seq=n;break}if(e.utf8seq===2)e.codepoint=t&31;else if(e.utf8seq===3)e.codepoint=t&15;else if(e.utf8seq===4)e.codepoint=t&7;else throw new Error("Invalid UTF-8 sequence");e.utf8seq-=1}else if(e.utf8seq>0){if(t<=127)throw new Error("Invalid UTF-8 sequence");e.codepoint=e.codepoint<<6|t&63,e.utf8seq-=1,e.utf8seq===0&&r(e.codepoint)}}function D4(t){const e=[],r={queue:0,queuedBits:0},n=s=>{e.push(s)};for(let s=0;se.push(r)),new Uint8Array(e)}function F4(t){const e=[],r={queue:0,queuedBits:0},n=s=>{e.push(s)};return t.forEach(s=>bx(s,r,n)),bx(null,r,n),e.join("")}function z4(t){return Math.round(Date.now()/1e3)+t}function U4(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const e=Math.random()*16|0;return(t=="x"?e:e&3|8).toString(16)})}const Jt=()=>typeof window<"u"&&typeof document<"u",Yn={tested:!1,writable:!1},zk=()=>{if(!Jt())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(Yn.tested)return Yn.writable;const t=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(t,t),globalThis.localStorage.removeItem(t),Yn.tested=!0,Yn.writable=!0}catch{Yn.tested=!0,Yn.writable=!1}return Yn.writable};function B4(t){const e={},r=new URL(t);if(r.hash&&r.hash[0]==="#")try{new URLSearchParams(r.hash.substring(1)).forEach((s,i)=>{e[i]=s})}catch{}return r.searchParams.forEach((n,s)=>{e[s]=n}),e}const Uk=t=>{let e;return t?e=t:typeof fetch>"u"?e=(...r)=>bo(async()=>{const{default:n}=await Promise.resolve().then(()=>qa);return{default:n}},void 0).then(({default:n})=>n(...r)):e=fetch,(...r)=>e(...r)},W4=t=>typeof t=="object"&&t!==null&&"status"in t&&"ok"in t&&"json"in t&&typeof t.json=="function",Ks=async(t,e,r)=>{await t.setItem(e,JSON.stringify(r))},Zn=async(t,e)=>{const r=await t.getItem(e);if(!r)return null;try{return JSON.parse(r)}catch{return r}},ln=async(t,e)=>{await t.removeItem(e)};class ld{constructor(){this.promise=new ld.promiseConstructor((e,r)=>{this.resolve=e,this.reject=r})}}ld.promiseConstructor=Promise;function hu(t){const e=t.split(".");if(e.length!==3)throw new Hh("Invalid JWT structure");for(let n=0;n{setTimeout(()=>e(null),t)})}function H4(t,e){return new Promise((n,s)=>{(async()=>{for(let i=0;i<1/0;i++)try{const o=await t(i);if(!e(i,null,o)){n(o);return}}catch(o){if(!e(i,o)){s(o);return}}})()})}function q4(t){return("0"+t.toString(16)).substr(-2)}function K4(){const e=new Uint32Array(56);if(typeof crypto>"u"){const r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",n=r.length;let s="";for(let i=0;i<56;i++)s+=r.charAt(Math.floor(Math.random()*n));return s}return crypto.getRandomValues(e),Array.from(e,q4).join("")}async function G4(t){const r=new TextEncoder().encode(t),n=await crypto.subtle.digest("SHA-256",r),s=new Uint8Array(n);return Array.from(s).map(i=>String.fromCharCode(i)).join("")}async function J4(t){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),t;const r=await G4(t);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Bs(t,e,r=!1){const n=K4();let s=n;r&&(s+="/PASSWORD_RECOVERY"),await Ks(t,`${e}-code-verifier`,s);const i=await J4(n);return[i,n===i?"plain":"s256"]}const Q4=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function Y4(t){const e=t.headers.get(Wh);if(!e||!e.match(Q4))return null;try{return new Date(`${e}T00:00:00.0Z`)}catch{return null}}function Z4(t){if(!t)throw new Error("Missing exp claim");const e=Math.floor(Date.now()/1e3);if(t<=e)throw new Error("JWT has expired")}function X4(t){switch(t){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw new Error("Invalid alg claim")}}const eO=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function Ws(t){if(!eO.test(t))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function fu(){const t={};return new Proxy(t,{get:(e,r)=>{if(r==="__isUserNotAvailableProxy")return!0;if(typeof r=="symbol"){const n=r.toString();if(n==="Symbol(Symbol.toPrimitive)"||n==="Symbol(Symbol.toStringTag)"||n==="Symbol(util.inspect.custom)")return}throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${r}" property of the session object is not supported. Please use getUser() instead.`)},set:(e,r)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${r}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(e,r)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${r}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function jx(t){return JSON.parse(JSON.stringify(t))}var tO=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(t);st.msg||t.message||t.error_description||t.error||JSON.stringify(t),rO=[502,503,504];async function Nx(t){var e;if(!W4(t))throw new Vh(rs(t),0);if(rO.includes(t.status))throw new Vh(rs(t),t.status);let r;try{r=await t.json()}catch(i){throw new $k(rs(i),i)}let n;const s=Y4(t);if(s&&s.getTime()>=Dk["2024-01-01"].timestamp&&typeof r=="object"&&r&&typeof r.code=="string"?n=r.code:typeof r=="object"&&r&&typeof r.error_code=="string"&&(n=r.error_code),n){if(n==="weak_password")throw new yx(rs(r),t.status,((e=r.weak_password)===null||e===void 0?void 0:e.reasons)||[]);if(n==="session_not_found")throw new un}else if(typeof r=="object"&&r&&typeof r.weak_password=="object"&&r.weak_password&&Array.isArray(r.weak_password.reasons)&&r.weak_password.reasons.length&&r.weak_password.reasons.reduce((i,o)=>i&&typeof o=="string",!0))throw new yx(rs(r),t.status,r.weak_password.reasons);throw new P4(rs(r),t.status||500,n)}const nO=(t,e,r,n)=>{const s={method:t,headers:(e==null?void 0:e.headers)||{}};return t==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},e==null?void 0:e.headers),s.body=JSON.stringify(n),Object.assign(Object.assign({},s),r))};async function de(t,e,r,n){var s;const i=Object.assign({},n==null?void 0:n.headers);i[Wh]||(i[Wh]=Dk["2024-01-01"].name),n!=null&&n.jwt&&(i.Authorization=`Bearer ${n.jwt}`);const o=(s=n==null?void 0:n.query)!==null&&s!==void 0?s:{};n!=null&&n.redirectTo&&(o.redirect_to=n.redirectTo);const l=Object.keys(o).length?"?"+new URLSearchParams(o).toString():"",c=await sO(t,e,r+l,{headers:i,noResolveJson:n==null?void 0:n.noResolveJson},{},n==null?void 0:n.body);return n!=null&&n.xform?n==null?void 0:n.xform(c):{data:Object.assign({},c),error:null}}async function sO(t,e,r,n,s,i){const o=nO(e,n,s,i);let l;try{l=await t(r,Object.assign({},o))}catch(c){throw console.error(c),new Vh(rs(c),0)}if(l.ok||await Nx(l),n!=null&&n.noResolveJson)return l;try{return await l.json()}catch(c){await Nx(c)}}function Dr(t){var e;let r=null;lO(t)&&(r=Object.assign({},t),t.expires_at||(r.expires_at=z4(t.expires_in)));const n=(e=t.user)!==null&&e!==void 0?e:t;return{data:{session:r,user:n},error:null}}function _x(t){const e=Dr(t);return!e.error&&t.weak_password&&typeof t.weak_password=="object"&&Array.isArray(t.weak_password.reasons)&&t.weak_password.reasons.length&&t.weak_password.message&&typeof t.weak_password.message=="string"&&t.weak_password.reasons.reduce((r,n)=>r&&typeof n=="string",!0)&&(e.data.weak_password=t.weak_password),e}function xn(t){var e;return{data:{user:(e=t.user)!==null&&e!==void 0?e:t},error:null}}function aO(t){return{data:t,error:null}}function iO(t){const{action_link:e,email_otp:r,hashed_token:n,redirect_to:s,verification_type:i}=t,o=tO(t,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),l={action_link:e,email_otp:r,hashed_token:n,redirect_to:s,verification_type:i},c=Object.assign({},o);return{data:{properties:l,user:c},error:null}}function oO(t){return t}function lO(t){return t.access_token&&t.refresh_token&&t.expires_in}const mu=["global","local","others"];var cO=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(t);s0&&(f.forEach(b=>{const x=parseInt(b.split(";")[0].split("=")[1].substring(0,1)),w=JSON.parse(b.split(";")[1].split("=")[1]);d[`${w}Page`]=x}),d.total=parseInt(m)),{data:Object.assign(Object.assign({},h),d),error:null}}catch(d){if(ne(d))return{data:{users:[]},error:d};throw d}}async getUserById(e){Ws(e);try{return await de(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:xn})}catch(r){if(ne(r))return{data:{user:null},error:r};throw r}}async updateUserById(e,r){Ws(e);try{return await de(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:r,headers:this.headers,xform:xn})}catch(n){if(ne(n))return{data:{user:null},error:n};throw n}}async deleteUser(e,r=!1){Ws(e);try{return await de(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:r},xform:xn})}catch(n){if(ne(n))return{data:{user:null},error:n};throw n}}async _listFactors(e){Ws(e.userId);try{const{data:r,error:n}=await de(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:s=>({data:{factors:s},error:null})});return{data:r,error:n}}catch(r){if(ne(r))return{data:null,error:r};throw r}}async _deleteFactor(e){Ws(e.userId),Ws(e.id);try{return{data:await de(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(r){if(ne(r))return{data:null,error:r};throw r}}}function Sx(t={}){return{getItem:e=>t[e]||null,setItem:(e,r)=>{t[e]=r},removeItem:e=>{delete t[e]}}}function uO(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}const Vs={debug:!!(globalThis&&zk()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class Bk extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}}class hO extends Bk{}async function fO(t,e,r){Vs.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire lock",t,e);const n=new globalThis.AbortController;return e>0&&setTimeout(()=>{n.abort(),Vs.debug&&console.log("@supabase/gotrue-js: navigatorLock acquire timed out",t)},e),await Promise.resolve().then(()=>globalThis.navigator.locks.request(t,e===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:n.signal},async s=>{if(s){Vs.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquired",t,s.name);try{return await r()}finally{Vs.debug&&console.log("@supabase/gotrue-js: navigatorLock: released",t,s.name)}}else{if(e===0)throw Vs.debug&&console.log("@supabase/gotrue-js: navigatorLock: not immediately available",t),new hO(`Acquiring an exclusive Navigator LockManager lock "${t}" immediately failed`);if(Vs.debug)try{const i=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(i,null," "))}catch(i){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",i)}return console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request"),await r()}}))}uO();const mO={url:N4,storageKey:_4,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:S4,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1};async function Cx(t,e,r){return await r()}const Hs={};class eo{constructor(e){var r,n;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log,this.instanceID=eo.nextInstanceID,eo.nextInstanceID+=1,this.instanceID>0&&Jt()&&console.warn("Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.");const s=Object.assign(Object.assign({},mO),e);if(this.logDebugMessages=!!s.debug,typeof s.debug=="function"&&(this.logger=s.debug),this.persistSession=s.persistSession,this.storageKey=s.storageKey,this.autoRefreshToken=s.autoRefreshToken,this.admin=new dO({url:s.url,headers:s.headers,fetch:s.fetch}),this.url=s.url,this.headers=s.headers,this.fetch=Uk(s.fetch),this.lock=s.lock||Cx,this.detectSessionInUrl=s.detectSessionInUrl,this.flowType=s.flowType,this.hasCustomAuthorizationHeader=s.hasCustomAuthorizationHeader,s.lock?this.lock=s.lock:Jt()&&(!((r=globalThis==null?void 0:globalThis.navigator)===null||r===void 0)&&r.locks)?this.lock=fO:this.lock=Cx,this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this)},this.persistSession?(s.storage?this.storage=s.storage:zk()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=Sx(this.memoryStorage)),s.userStorage&&(this.userStorage=s.userStorage)):(this.memoryStorage={},this.storage=Sx(this.memoryStorage)),Jt()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(i){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",i)}(n=this.broadcastChannel)===null||n===void 0||n.addEventListener("message",async i=>{this._debug("received broadcast notification from other tab or client",i),await this._notifyAllSubscribers(i.data.event,i.data.session,!1)})}this.initialize()}get jwks(){var e,r;return(r=(e=Hs[this.storageKey])===null||e===void 0?void 0:e.jwks)!==null&&r!==void 0?r:{keys:[]}}set jwks(e){Hs[this.storageKey]=Object.assign(Object.assign({},Hs[this.storageKey]),{jwks:e})}get jwks_cached_at(){var e,r;return(r=(e=Hs[this.storageKey])===null||e===void 0?void 0:e.cachedAt)!==null&&r!==void 0?r:Number.MIN_SAFE_INTEGER}set jwks_cached_at(e){Hs[this.storageKey]=Object.assign(Object.assign({},Hs[this.storageKey]),{cachedAt:e})}_debug(...e){return this.logDebugMessages&&this.logger(`GoTrueClient@${this.instanceID} (${Lk}) ${new Date().toISOString()}`,...e),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>await this._acquireLock(-1,async()=>await this._initialize()))(),await this.initializePromise)}async _initialize(){var e;try{const r=B4(window.location.href);let n="none";if(this._isImplicitGrantCallback(r)?n="implicit":await this._isPKCECallback(r)&&(n="pkce"),Jt()&&this.detectSessionInUrl&&n!=="none"){const{data:s,error:i}=await this._getSessionFromURL(r,n);if(i){if(this._debug("#_initialize()","error detecting session from URL",i),I4(i)){const c=(e=i.details)===null||e===void 0?void 0:e.code;if(c==="identity_already_exists"||c==="identity_not_found"||c==="single_identity_not_deletable")return{error:i}}return await this._removeSession(),{error:i}}const{session:o,redirectType:l}=s;return this._debug("#_initialize()","detected session in URL",o,"redirect type",l),await this._saveSession(o),setTimeout(async()=>{l==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",o):await this._notifyAllSubscribers("SIGNED_IN",o)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(r){return ne(r)?{error:r}:{error:new $k("Unexpected error during initialization",r)}}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(e){var r,n,s;try{const i=await de(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(n=(r=e==null?void 0:e.options)===null||r===void 0?void 0:r.data)!==null&&n!==void 0?n:{},gotrue_meta_security:{captcha_token:(s=e==null?void 0:e.options)===null||s===void 0?void 0:s.captchaToken}},xform:Dr}),{data:o,error:l}=i;if(l||!o)return{data:{user:null,session:null},error:l};const c=o.session,d=o.user;return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",c)),{data:{user:d,session:c},error:null}}catch(i){if(ne(i))return{data:{user:null,session:null},error:i};throw i}}async signUp(e){var r,n,s;try{let i;if("email"in e){const{email:u,password:h,options:m}=e;let f=null,b=null;this.flowType==="pkce"&&([f,b]=await Bs(this.storage,this.storageKey)),i=await de(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:m==null?void 0:m.emailRedirectTo,body:{email:u,password:h,data:(r=m==null?void 0:m.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:m==null?void 0:m.captchaToken},code_challenge:f,code_challenge_method:b},xform:Dr})}else if("phone"in e){const{phone:u,password:h,options:m}=e;i=await de(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:u,password:h,data:(n=m==null?void 0:m.data)!==null&&n!==void 0?n:{},channel:(s=m==null?void 0:m.channel)!==null&&s!==void 0?s:"sms",gotrue_meta_security:{captcha_token:m==null?void 0:m.captchaToken}},xform:Dr})}else throw new al("You must provide either an email or phone number and a password");const{data:o,error:l}=i;if(l||!o)return{data:{user:null,session:null},error:l};const c=o.session,d=o.user;return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",c)),{data:{user:d,session:c},error:null}}catch(i){if(ne(i))return{data:{user:null,session:null},error:i};throw i}}async signInWithPassword(e){try{let r;if("email"in e){const{email:i,password:o,options:l}=e;r=await de(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:i,password:o,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken}},xform:_x})}else if("phone"in e){const{phone:i,password:o,options:l}=e;r=await de(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:i,password:o,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken}},xform:_x})}else throw new al("You must provide either an email or phone number and a password");const{data:n,error:s}=r;return s?{data:{user:null,session:null},error:s}:!n||!n.session||!n.user?{data:{user:null,session:null},error:new sl}:(n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers("SIGNED_IN",n.session)),{data:Object.assign({user:n.user,session:n.session},n.weak_password?{weakPassword:n.weak_password}:null),error:s})}catch(r){if(ne(r))return{data:{user:null,session:null},error:r};throw r}}async signInWithOAuth(e){var r,n,s,i;return await this._handleProviderSignIn(e.provider,{redirectTo:(r=e.options)===null||r===void 0?void 0:r.redirectTo,scopes:(n=e.options)===null||n===void 0?void 0:n.scopes,queryParams:(s=e.options)===null||s===void 0?void 0:s.queryParams,skipBrowserRedirect:(i=e.options)===null||i===void 0?void 0:i.skipBrowserRedirect})}async exchangeCodeForSession(e){return await this.initializePromise,this._acquireLock(-1,async()=>this._exchangeCodeForSession(e))}async signInWithWeb3(e){const{chain:r}=e;if(r==="solana")return await this.signInWithSolana(e);throw new Error(`@supabase/auth-js: Unsupported chain "${r}"`)}async signInWithSolana(e){var r,n,s,i,o,l,c,d,u,h,m,f;let b,x;if("message"in e)b=e.message,x=e.signature;else{const{chain:w,wallet:y,statement:g,options:v}=e;let k;if(Jt())if(typeof y=="object")k=y;else{const N=window;if("solana"in N&&typeof N.solana=="object"&&("signIn"in N.solana&&typeof N.solana.signIn=="function"||"signMessage"in N.solana&&typeof N.solana.signMessage=="function"))k=N.solana;else throw new Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}else{if(typeof y!="object"||!(v!=null&&v.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");k=y}const j=new URL((r=v==null?void 0:v.url)!==null&&r!==void 0?r:window.location.href);if("signIn"in k&&k.signIn){const N=await k.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},v==null?void 0:v.signInWithSolana),{version:"1",domain:j.host,uri:j.href}),g?{statement:g}:null));let _;if(Array.isArray(N)&&N[0]&&typeof N[0]=="object")_=N[0];else if(N&&typeof N=="object"&&"signedMessage"in N&&"signature"in N)_=N;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in _&&"signature"in _&&(typeof _.signedMessage=="string"||_.signedMessage instanceof Uint8Array)&&_.signature instanceof Uint8Array)b=typeof _.signedMessage=="string"?_.signedMessage:new TextDecoder().decode(_.signedMessage),x=_.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in k)||typeof k.signMessage!="function"||!("publicKey"in k)||typeof k!="object"||!k.publicKey||!("toBase58"in k.publicKey)||typeof k.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");b=[`${j.host} wants you to sign in with your Solana account:`,k.publicKey.toBase58(),...g?["",g,""]:[""],"Version: 1",`URI: ${j.href}`,`Issued At: ${(s=(n=v==null?void 0:v.signInWithSolana)===null||n===void 0?void 0:n.issuedAt)!==null&&s!==void 0?s:new Date().toISOString()}`,...!((i=v==null?void 0:v.signInWithSolana)===null||i===void 0)&&i.notBefore?[`Not Before: ${v.signInWithSolana.notBefore}`]:[],...!((o=v==null?void 0:v.signInWithSolana)===null||o===void 0)&&o.expirationTime?[`Expiration Time: ${v.signInWithSolana.expirationTime}`]:[],...!((l=v==null?void 0:v.signInWithSolana)===null||l===void 0)&&l.chainId?[`Chain ID: ${v.signInWithSolana.chainId}`]:[],...!((c=v==null?void 0:v.signInWithSolana)===null||c===void 0)&&c.nonce?[`Nonce: ${v.signInWithSolana.nonce}`]:[],...!((d=v==null?void 0:v.signInWithSolana)===null||d===void 0)&&d.requestId?[`Request ID: ${v.signInWithSolana.requestId}`]:[],...!((h=(u=v==null?void 0:v.signInWithSolana)===null||u===void 0?void 0:u.resources)===null||h===void 0)&&h.length?["Resources",...v.signInWithSolana.resources.map(_=>`- ${_}`)]:[]].join(` `);const N=await k.signMessage(new TextEncoder().encode(b),"utf8");if(!N||!(N instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");x=N}}try{const{data:w,error:y}=await de(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:b,signature:F4(x)},!((m=e.options)===null||m===void 0)&&m.captchaToken?{gotrue_meta_security:{captcha_token:(f=e.options)===null||f===void 0?void 0:f.captchaToken}}:null),xform:Dr});if(y)throw y;return!w||!w.session||!w.user?{data:{user:null,session:null},error:new sl}:(w.session&&(await this._saveSession(w.session),await this._notifyAllSubscribers("SIGNED_IN",w.session)),{data:Object.assign({},w),error:y})}catch(w){if(ne(w))return{data:{user:null,session:null},error:w};throw w}}async _exchangeCodeForSession(e){const r=await Zn(this.storage,`${this.storageKey}-code-verifier`),[n,s]=(r??"").split("/");try{const{data:i,error:o}=await de(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:n},xform:Dr});if(await ln(this.storage,`${this.storageKey}-code-verifier`),o)throw o;return!i||!i.session||!i.user?{data:{user:null,session:null,redirectType:null},error:new sl}:(i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers("SIGNED_IN",i.session)),{data:Object.assign(Object.assign({},i),{redirectType:s??null}),error:o})}catch(i){if(ne(i))return{data:{user:null,session:null,redirectType:null},error:i};throw i}}async signInWithIdToken(e){try{const{options:r,provider:n,token:s,access_token:i,nonce:o}=e,l=await de(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:n,id_token:s,access_token:i,nonce:o,gotrue_meta_security:{captcha_token:r==null?void 0:r.captchaToken}},xform:Dr}),{data:c,error:d}=l;return d?{data:{user:null,session:null},error:d}:!c||!c.session||!c.user?{data:{user:null,session:null},error:new sl}:(c.session&&(await this._saveSession(c.session),await this._notifyAllSubscribers("SIGNED_IN",c.session)),{data:c,error:d})}catch(r){if(ne(r))return{data:{user:null,session:null},error:r};throw r}}async signInWithOtp(e){var r,n,s,i,o;try{if("email"in e){const{email:l,options:c}=e;let d=null,u=null;this.flowType==="pkce"&&([d,u]=await Bs(this.storage,this.storageKey));const{error:h}=await de(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:l,data:(r=c==null?void 0:c.data)!==null&&r!==void 0?r:{},create_user:(n=c==null?void 0:c.shouldCreateUser)!==null&&n!==void 0?n:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},code_challenge:d,code_challenge_method:u},redirectTo:c==null?void 0:c.emailRedirectTo});return{data:{user:null,session:null},error:h}}if("phone"in e){const{phone:l,options:c}=e,{data:d,error:u}=await de(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:l,data:(s=c==null?void 0:c.data)!==null&&s!==void 0?s:{},create_user:(i=c==null?void 0:c.shouldCreateUser)!==null&&i!==void 0?i:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},channel:(o=c==null?void 0:c.channel)!==null&&o!==void 0?o:"sms"}});return{data:{user:null,session:null,messageId:d==null?void 0:d.message_id},error:u}}throw new al("You must provide either an email or phone number.")}catch(l){if(ne(l))return{data:{user:null,session:null},error:l};throw l}}async verifyOtp(e){var r,n;try{let s,i;"options"in e&&(s=(r=e.options)===null||r===void 0?void 0:r.redirectTo,i=(n=e.options)===null||n===void 0?void 0:n.captchaToken);const{data:o,error:l}=await de(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:i}}),redirectTo:s,xform:Dr});if(l)throw l;if(!o)throw new Error("An error occurred on token verification.");const c=o.session,d=o.user;return c!=null&&c.access_token&&(await this._saveSession(c),await this._notifyAllSubscribers(e.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",c)),{data:{user:d,session:c},error:null}}catch(s){if(ne(s))return{data:{user:null,session:null},error:s};throw s}}async signInWithSSO(e){var r,n,s;try{let i=null,o=null;return this.flowType==="pkce"&&([i,o]=await Bs(this.storage,this.storageKey)),await de(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in e?{provider_id:e.providerId}:null),"domain"in e?{domain:e.domain}:null),{redirect_to:(n=(r=e.options)===null||r===void 0?void 0:r.redirectTo)!==null&&n!==void 0?n:void 0}),!((s=e==null?void 0:e.options)===null||s===void 0)&&s.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:i,code_challenge_method:o}),headers:this.headers,xform:aO})}catch(i){if(ne(i))return{data:null,error:i};throw i}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async e=>{const{data:{session:r},error:n}=e;if(n)throw n;if(!r)throw new un;const{error:s}=await de(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:r.access_token});return{data:{user:null,session:null},error:s}})}catch(e){if(ne(e))return{data:{user:null,session:null},error:e};throw e}}async resend(e){try{const r=`${this.url}/resend`;if("email"in e){const{email:n,type:s,options:i}=e,{error:o}=await de(this.fetch,"POST",r,{headers:this.headers,body:{email:n,type:s,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}},redirectTo:i==null?void 0:i.emailRedirectTo});return{data:{user:null,session:null},error:o}}else if("phone"in e){const{phone:n,type:s,options:i}=e,{data:o,error:l}=await de(this.fetch,"POST",r,{headers:this.headers,body:{phone:n,type:s,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}}});return{data:{user:null,session:null,messageId:o==null?void 0:o.message_id},error:l}}throw new al("You must provide either an email or phone number and a type")}catch(r){if(ne(r))return{data:{user:null,session:null},error:r};throw r}}async getSession(){return await this.initializePromise,await this._acquireLock(-1,async()=>this._useSession(async r=>r))}async _acquireLock(e,r){this._debug("#_acquireLock","begin",e);try{if(this.lockAcquired){const n=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),s=(async()=>(await n,await r()))();return this.pendingInLock.push((async()=>{try{await s}catch{}})()),s}return await this.lock(`lock:${this.storageKey}`,e,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const n=r();for(this.pendingInLock.push((async()=>{try{await n}catch{}})()),await n;this.pendingInLock.length;){const s=[...this.pendingInLock];await Promise.all(s),this.pendingInLock.splice(0,s.length)}return await n}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(e){this._debug("#_useSession","begin");try{const r=await this.__loadSession();return await e(r)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let e=null;const r=await Zn(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",r),r!==null&&(this._isValidSession(r)?e=r:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!e)return{data:{session:null},error:null};const n=e.expires_at?e.expires_at*1e3-Date.now()(!o&&d==="user"&&(console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),o=!0,this.suppressGetSessionWarning=!0),Reflect.get(c,d,u))})}return{data:{session:e},error:null}}const{session:s,error:i}=await this._callRefreshToken(e.refresh_token);return i?{data:{session:null},error:i}:{data:{session:s},error:null}}finally{this._debug("#__loadSession()","end")}}async getUser(e){return e?await this._getUser(e):(await this.initializePromise,await this._acquireLock(-1,async()=>await this._getUser()))}async _getUser(e){try{return e?await de(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:xn}):await this._useSession(async r=>{var n,s,i;const{data:o,error:l}=r;if(l)throw l;return!(!((n=o.session)===null||n===void 0)&&n.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new un}:await de(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(i=(s=o.session)===null||s===void 0?void 0:s.access_token)!==null&&i!==void 0?i:void 0,xform:xn})})}catch(r){if(ne(r))return A4(r)&&(await this._removeSession(),await ln(this.storage,`${this.storageKey}-code-verifier`)),{data:{user:null},error:r};throw r}}async updateUser(e,r={}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._updateUser(e,r))}async _updateUser(e,r={}){try{return await this._useSession(async n=>{const{data:s,error:i}=n;if(i)throw i;if(!s.session)throw new un;const o=s.session;let l=null,c=null;this.flowType==="pkce"&&e.email!=null&&([l,c]=await Bs(this.storage,this.storageKey));const{data:d,error:u}=await de(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:r==null?void 0:r.emailRedirectTo,body:Object.assign(Object.assign({},e),{code_challenge:l,code_challenge_method:c}),jwt:o.access_token,xform:xn});if(u)throw u;return o.user=d.user,await this._saveSession(o),await this._notifyAllSubscribers("USER_UPDATED",o),{data:{user:o.user},error:null}})}catch(n){if(ne(n))return{data:{user:null},error:n};throw n}}async setSession(e){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._setSession(e))}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new un;const r=Date.now()/1e3;let n=r,s=!0,i=null;const{payload:o}=hu(e.access_token);if(o.exp&&(n=o.exp,s=n<=r),s){const{session:l,error:c}=await this._callRefreshToken(e.refresh_token);if(c)return{data:{user:null,session:null},error:c};if(!l)return{data:{user:null,session:null},error:null};i=l}else{const{data:l,error:c}=await this._getUser(e.access_token);if(c)throw c;i={access_token:e.access_token,refresh_token:e.refresh_token,user:l.user,token_type:"bearer",expires_in:n-r,expires_at:n},await this._saveSession(i),await this._notifyAllSubscribers("SIGNED_IN",i)}return{data:{user:i.user,session:i},error:null}}catch(r){if(ne(r))return{data:{session:null,user:null},error:r};throw r}}async refreshSession(e){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._refreshSession(e))}async _refreshSession(e){try{return await this._useSession(async r=>{var n;if(!e){const{data:o,error:l}=r;if(l)throw l;e=(n=o.session)!==null&&n!==void 0?n:void 0}if(!(e!=null&&e.refresh_token))throw new un;const{session:s,error:i}=await this._callRefreshToken(e.refresh_token);return i?{data:{user:null,session:null},error:i}:s?{data:{user:s.user,session:s},error:null}:{data:{user:null,session:null},error:null}})}catch(r){if(ne(r))return{data:{user:null,session:null},error:r};throw r}}async _getSessionFromURL(e,r){try{if(!Jt())throw new il("No browser detected.");if(e.error||e.error_description||e.error_code)throw new il(e.error_description||"Error in URL with unspecified error_description",{error:e.error||"unspecified_error",code:e.error_code||"unspecified_code"});switch(r){case"implicit":if(this.flowType==="pkce")throw new vx("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new il("Not a valid implicit grant flow url.");break;default:}if(r==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!e.code)throw new vx("No code detected.");const{data:g,error:v}=await this._exchangeCodeForSession(e.code);if(v)throw v;const k=new URL(window.location.href);return k.searchParams.delete("code"),window.history.replaceState(window.history.state,"",k.toString()),{data:{session:g.session,redirectType:null},error:null}}const{provider_token:n,provider_refresh_token:s,access_token:i,refresh_token:o,expires_in:l,expires_at:c,token_type:d}=e;if(!i||!l||!o||!d)throw new il("No session defined in URL");const u=Math.round(Date.now()/1e3),h=parseInt(l);let m=u+h;c&&(m=parseInt(c));const f=m-u;f*1e3<=qs&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${f}s, should have been closer to ${h}s`);const b=m-h;u-b>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",b,m,u):u-b<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",b,m,u);const{data:x,error:w}=await this._getUser(i);if(w)throw w;const y={provider_token:n,provider_refresh_token:s,access_token:i,expires_in:h,expires_at:m,refresh_token:o,token_type:d,user:x.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),{data:{session:y,redirectType:e.type},error:null}}catch(n){if(ne(n))return{data:{session:null,redirectType:null},error:n};throw n}}_isImplicitGrantCallback(e){return!!(e.access_token||e.error_description)}async _isPKCECallback(e){const r=await Zn(this.storage,`${this.storageKey}-code-verifier`);return!!(e.code&&r)}async signOut(e={scope:"global"}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._signOut(e))}async _signOut({scope:e}={scope:"global"}){return await this._useSession(async r=>{var n;const{data:s,error:i}=r;if(i)return{error:i};const o=(n=s.session)===null||n===void 0?void 0:n.access_token;if(o){const{error:l}=await this.admin.signOut(o,e);if(l&&!(T4(l)&&(l.status===404||l.status===401||l.status===403)))return{error:l}}return e!=="others"&&(await this._removeSession(),await ln(this.storage,`${this.storageKey}-code-verifier`)),{error:null}})}onAuthStateChange(e){const r=U4(),n={id:r,callback:e,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",r),this.stateChangeEmitters.delete(r)}};return this._debug("#onAuthStateChange()","registered callback with id",r),this.stateChangeEmitters.set(r,n),(async()=>(await this.initializePromise,await this._acquireLock(-1,async()=>{this._emitInitialSession(r)})))(),{data:{subscription:n}}}async _emitInitialSession(e){return await this._useSession(async r=>{var n,s;try{const{data:{session:i},error:o}=r;if(o)throw o;await((n=this.stateChangeEmitters.get(e))===null||n===void 0?void 0:n.callback("INITIAL_SESSION",i)),this._debug("INITIAL_SESSION","callback id",e,"session",i)}catch(i){await((s=this.stateChangeEmitters.get(e))===null||s===void 0?void 0:s.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",e,"error",i),console.error(i)}})}async resetPasswordForEmail(e,r={}){let n=null,s=null;this.flowType==="pkce"&&([n,s]=await Bs(this.storage,this.storageKey,!0));try{return await de(this.fetch,"POST",`${this.url}/recover`,{body:{email:e,code_challenge:n,code_challenge_method:s,gotrue_meta_security:{captcha_token:r.captchaToken}},headers:this.headers,redirectTo:r.redirectTo})}catch(i){if(ne(i))return{data:null,error:i};throw i}}async getUserIdentities(){var e;try{const{data:r,error:n}=await this.getUser();if(n)throw n;return{data:{identities:(e=r.user.identities)!==null&&e!==void 0?e:[]},error:null}}catch(r){if(ne(r))return{data:null,error:r};throw r}}async linkIdentity(e){var r;try{const{data:n,error:s}=await this._useSession(async i=>{var o,l,c,d,u;const{data:h,error:m}=i;if(m)throw m;const f=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,e.provider,{redirectTo:(o=e.options)===null||o===void 0?void 0:o.redirectTo,scopes:(l=e.options)===null||l===void 0?void 0:l.scopes,queryParams:(c=e.options)===null||c===void 0?void 0:c.queryParams,skipBrowserRedirect:!0});return await de(this.fetch,"GET",f,{headers:this.headers,jwt:(u=(d=h.session)===null||d===void 0?void 0:d.access_token)!==null&&u!==void 0?u:void 0})});if(s)throw s;return Jt()&&!(!((r=e.options)===null||r===void 0)&&r.skipBrowserRedirect)&&window.location.assign(n==null?void 0:n.url),{data:{provider:e.provider,url:n==null?void 0:n.url},error:null}}catch(n){if(ne(n))return{data:{provider:e.provider,url:null},error:n};throw n}}async unlinkIdentity(e){try{return await this._useSession(async r=>{var n,s;const{data:i,error:o}=r;if(o)throw o;return await de(this.fetch,"DELETE",`${this.url}/user/identities/${e.identity_id}`,{headers:this.headers,jwt:(s=(n=i.session)===null||n===void 0?void 0:n.access_token)!==null&&s!==void 0?s:void 0})})}catch(r){if(ne(r))return{data:null,error:r};throw r}}async _refreshAccessToken(e){const r=`#_refreshAccessToken(${e.substring(0,5)}...)`;this._debug(r,"begin");try{const n=Date.now();return await H4(async s=>(s>0&&await V4(200*Math.pow(2,s-1)),this._debug(r,"refreshing attempt",s),await de(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:Dr})),(s,i)=>{const o=200*Math.pow(2,s);return i&&uu(i)&&Date.now()+o-n{try{await l.callback(e,r)}catch(c){i.push(c)}});if(await Promise.all(o),i.length>0){for(let l=0;lthis._autoRefreshTokenTick(),qs);this.autoRefreshTicker=e,e&&typeof e=="object"&&typeof e.unref=="function"?e.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(e),setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{const e=Date.now();try{return await this._useSession(async r=>{const{data:{session:n}}=r;if(!n||!n.refresh_token||!n.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const s=Math.floor((n.expires_at*1e3-e)/qs);this._debug("#_autoRefreshTokenTick()",`access token expires in ${s} ticks, a tick lasts ${qs}ms, refresh threshold is ${Bh} ticks`),s<=Bh&&await this._callRefreshToken(n.refresh_token)})}catch(r){console.error("Auto refresh tick failed with error. This is likely a transient error.",r)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(e){if(e.isAcquireTimeout||e instanceof Bk)this._debug("auto refresh token tick lock not available");else throw e}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!Jt()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>await this._onVisibilityChanged(!1),window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error("_handleVisibilityChange",e)}}async _onVisibilityChanged(e){const r=`#_onVisibilityChanged(${e})`;this._debug(r,"visibilityState",document.visibilityState),document.visibilityState==="visible"?(this.autoRefreshToken&&this._startAutoRefresh(),e||(await this.initializePromise,await this._acquireLock(-1,async()=>{if(document.visibilityState!=="visible"){this._debug(r,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()}))):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,r,n){const s=[`provider=${encodeURIComponent(r)}`];if(n!=null&&n.redirectTo&&s.push(`redirect_to=${encodeURIComponent(n.redirectTo)}`),n!=null&&n.scopes&&s.push(`scopes=${encodeURIComponent(n.scopes)}`),this.flowType==="pkce"){const[i,o]=await Bs(this.storage,this.storageKey),l=new URLSearchParams({code_challenge:`${encodeURIComponent(i)}`,code_challenge_method:`${encodeURIComponent(o)}`});s.push(l.toString())}if(n!=null&&n.queryParams){const i=new URLSearchParams(n.queryParams);s.push(i.toString())}return n!=null&&n.skipBrowserRedirect&&s.push(`skip_http_redirect=${n.skipBrowserRedirect}`),`${e}?${s.join("&")}`}async _unenroll(e){try{return await this._useSession(async r=>{var n;const{data:s,error:i}=r;return i?{data:null,error:i}:await de(this.fetch,"DELETE",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token})})}catch(r){if(ne(r))return{data:null,error:r};throw r}}async _enroll(e){try{return await this._useSession(async r=>{var n,s;const{data:i,error:o}=r;if(o)return{data:null,error:o};const l=Object.assign({friendly_name:e.friendlyName,factor_type:e.factorType},e.factorType==="phone"?{phone:e.phone}:{issuer:e.issuer}),{data:c,error:d}=await de(this.fetch,"POST",`${this.url}/factors`,{body:l,headers:this.headers,jwt:(n=i==null?void 0:i.session)===null||n===void 0?void 0:n.access_token});return d?{data:null,error:d}:(e.factorType==="totp"&&(!((s=c==null?void 0:c.totp)===null||s===void 0)&&s.qr_code)&&(c.totp.qr_code=`data:image/svg+xml;utf-8,${c.totp.qr_code}`),{data:c,error:null})})}catch(r){if(ne(r))return{data:null,error:r};throw r}}async _verify(e){return this._acquireLock(-1,async()=>{try{return await this._useSession(async r=>{var n;const{data:s,error:i}=r;if(i)return{data:null,error:i};const{data:o,error:l}=await de(this.fetch,"POST",`${this.url}/factors/${e.factorId}/verify`,{body:{code:e.code,challenge_id:e.challengeId},headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token});return l?{data:null,error:l}:(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+o.expires_in},o)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",o),{data:o,error:l})})}catch(r){if(ne(r))return{data:null,error:r};throw r}})}async _challenge(e){return this._acquireLock(-1,async()=>{try{return await this._useSession(async r=>{var n;const{data:s,error:i}=r;return i?{data:null,error:i}:await de(this.fetch,"POST",`${this.url}/factors/${e.factorId}/challenge`,{body:{channel:e.channel},headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token})})}catch(r){if(ne(r))return{data:null,error:r};throw r}})}async _challengeAndVerify(e){const{data:r,error:n}=await this._challenge({factorId:e.factorId});return n?{data:null,error:n}:await this._verify({factorId:e.factorId,challengeId:r.id,code:e.code})}async _listFactors(){const{data:{user:e},error:r}=await this.getUser();if(r)return{data:null,error:r};const n=(e==null?void 0:e.factors)||[],s=n.filter(o=>o.factor_type==="totp"&&o.status==="verified"),i=n.filter(o=>o.factor_type==="phone"&&o.status==="verified");return{data:{all:n,totp:s,phone:i},error:null}}async _getAuthenticatorAssuranceLevel(){return this._acquireLock(-1,async()=>await this._useSession(async e=>{var r,n;const{data:{session:s},error:i}=e;if(i)return{data:null,error:i};if(!s)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:o}=hu(s.access_token);let l=null;o.aal&&(l=o.aal);let c=l;((n=(r=s.user.factors)===null||r===void 0?void 0:r.filter(h=>h.status==="verified"))!==null&&n!==void 0?n:[]).length>0&&(c="aal2");const u=o.amr||[];return{data:{currentLevel:l,nextLevel:c,currentAuthenticationMethods:u},error:null}}))}async fetchJwk(e,r={keys:[]}){let n=r.keys.find(l=>l.kid===e);if(n)return n;const s=Date.now();if(n=this.jwks.keys.find(l=>l.kid===e),n&&this.jwks_cached_at+E4>s)return n;const{data:i,error:o}=await de(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(o)throw o;return!i.keys||i.keys.length===0||(this.jwks=i,this.jwks_cached_at=s,n=i.keys.find(l=>l.kid===e),!n)?null:n}async getClaims(e,r={}){try{let n=e;if(!n){const{data:f,error:b}=await this.getSession();if(b||!f.session)return{data:null,error:b};n=f.session.access_token}const{header:s,payload:i,signature:o,raw:{header:l,payload:c}}=hu(n);r!=null&&r.allowExpired||Z4(i.exp);const d=!s.alg||s.alg.startsWith("HS")||!s.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(s.kid,r!=null&&r.keys?{keys:r.keys}:r==null?void 0:r.jwks);if(!d){const{error:f}=await this.getUser(n);if(f)throw f;return{data:{claims:i,header:s,signature:o},error:null}}const u=X4(s.alg),h=await crypto.subtle.importKey("jwk",d,u,!0,["verify"]);if(!await crypto.subtle.verify(u,h,o,$4(`${l}.${c}`)))throw new Hh("Invalid JWT signature");return{data:{claims:i,header:s,signature:o},error:null}}catch(n){if(ne(n))return{data:null,error:n};throw n}}}eo.nextInstanceID=0;const pO=eo;class gO extends pO{constructor(e){super(e)}}var xO=function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function l(u){try{d(n.next(u))}catch(h){o(h)}}function c(u){try{d(n.throw(u))}catch(h){o(h)}}function d(u){u.done?i(u.value):s(u.value).then(l,c)}d((n=n.apply(t,e||[])).next())})};class vO{constructor(e,r,n){var s,i,o;this.supabaseUrl=e,this.supabaseKey=r;const l=j4(e);if(!r)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",l),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",l),this.storageUrl=new URL("storage/v1",l),this.functionsUrl=new URL("functions/v1",l);const c=`sb-${l.hostname.split(".")[0]}-auth-token`,d={db:f4,realtime:p4,auth:Object.assign(Object.assign({},m4),{storageKey:c}),global:h4},u=k4(n??{},d);this.storageKey=(s=u.auth.storageKey)!==null&&s!==void 0?s:"",this.headers=(i=u.global.headers)!==null&&i!==void 0?i:{},u.accessToken?(this.accessToken=u.accessToken,this.auth=new Proxy({},{get:(h,m)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(m)} is not possible`)}})):this.auth=this._initSupabaseAuthClient((o=u.auth)!==null&&o!==void 0?o:{},this.headers,u.global.fetch),this.fetch=y4(r,this._getAccessToken.bind(this),u.global.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers,accessToken:this._getAccessToken.bind(this)},u.realtime)),this.rest=new RR(new URL("rest/v1",l).href,{headers:this.headers,schema:u.db.schema,fetch:this.fetch}),this.storage=new c4(this.storageUrl.href,this.headers,this.fetch,n==null?void 0:n.storage),u.accessToken||this._listenForAuthEvents()}get functions(){return new uR(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(e){return this.rest.from(e)}schema(e){return this.rest.schema(e)}rpc(e,r={},n={}){return this.rest.rpc(e,r,n)}channel(e,r={config:{}}){return this.realtime.channel(e,r)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}_getAccessToken(){var e,r;return xO(this,void 0,void 0,function*(){if(this.accessToken)return yield this.accessToken();const{data:n}=yield this.auth.getSession();return(r=(e=n.session)===null||e===void 0?void 0:e.access_token)!==null&&r!==void 0?r:this.supabaseKey})}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:r,detectSessionInUrl:n,storage:s,userStorage:i,storageKey:o,flowType:l,lock:c,debug:d},u,h){const m={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new gO({url:this.authUrl.href,headers:Object.assign(Object.assign({},m),u),storageKey:o,autoRefreshToken:e,persistSession:r,detectSessionInUrl:n,storage:s,userStorage:i,flowType:l,lock:c,debug:d,fetch:h,hasCustomAuthorizationHeader:Object.keys(this.headers).some(f=>f.toLowerCase()==="authorization")})}_initRealtimeClient(e){return new QR(this.realtimeUrl.href,Object.assign(Object.assign({},e),{params:Object.assign({apikey:this.supabaseKey},e==null?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((r,n)=>{this._handleTokenChanged(r,"CLIENT",n==null?void 0:n.access_token)})}_handleTokenChanged(e,r,n){(e==="TOKEN_REFRESHED"||e==="SIGNED_IN")&&this.changedAccessToken!==n?this.changedAccessToken=n:e==="SIGNED_OUT"&&(this.realtime.setAuth(),r=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}}const yO=(t,e,r)=>new vO(t,e,r);function wO(){if(typeof window<"u"||typeof process>"u")return!1;const t=process.version;if(t==null)return!1;const e=t.match(/^v(\d+)\./);return e?parseInt(e[1],10)<=18:!1}wO()&&console.warn("⚠️ Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");const bO="https://yvijzwwkanrlgbzxysow.supabase.co",kO="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inl2aWp6d3drYW5ybGdienh5c293Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTg1NDQxODEsImV4cCI6MjA3NDEyMDE4MX0.wAf3fsDTSgs9ZoTKKULqLgojqeIEDtjqAMOgnKAFm5A",Lm=yO(bO,kO,{auth:{storage:localStorage,persistSession:!0,autoRefreshToken:!0}});var ve;(function(t){t.assertEqual=s=>{};function e(s){}t.assertIs=e;function r(s){throw new Error}t.assertNever=r,t.arrayToEnum=s=>{const i={};for(const o of s)i[o]=o;return i},t.getValidEnumValues=s=>{const i=t.objectKeys(s).filter(l=>typeof s[s[l]]!="number"),o={};for(const l of i)o[l]=s[l];return t.objectValues(o)},t.objectValues=s=>t.objectKeys(s).map(function(i){return s[i]}),t.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{const i=[];for(const o in s)Object.prototype.hasOwnProperty.call(s,o)&&i.push(o);return i},t.find=(s,i)=>{for(const o of s)if(i(o))return o},t.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function n(s,i=" | "){return s.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}t.joinValues=n,t.jsonStringifyReplacer=(s,i)=>typeof i=="bigint"?i.toString():i})(ve||(ve={}));var Ex;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Ex||(Ex={}));const U=ve.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),mn=t=>{switch(typeof t){case"undefined":return U.undefined;case"string":return U.string;case"number":return Number.isNaN(t)?U.nan:U.number;case"boolean":return U.boolean;case"function":return U.function;case"bigint":return U.bigint;case"symbol":return U.symbol;case"object":return Array.isArray(t)?U.array:t===null?U.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?U.promise:typeof Map<"u"&&t instanceof Map?U.map:typeof Set<"u"&&t instanceof Set?U.set:typeof Date<"u"&&t instanceof Date?U.date:U.object;default:return U.unknown}},O=ve.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class Yr extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){const r=e||function(i){return i.message},n={_errors:[]},s=i=>{for(const o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(s);else if(o.code==="invalid_return_type")s(o.returnTypeError);else if(o.code==="invalid_arguments")s(o.argumentsError);else if(o.path.length===0)n._errors.push(r(o));else{let l=n,c=0;for(;cr.message){const r={},n=[];for(const s of this.issues)if(s.path.length>0){const i=s.path[0];r[i]=r[i]||[],r[i].push(e(s))}else n.push(e(s));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}}Yr.create=t=>new Yr(t);const qh=(t,e)=>{let r;switch(t.code){case O.invalid_type:t.received===U.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case O.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,ve.jsonStringifyReplacer)}`;break;case O.unrecognized_keys:r=`Unrecognized key(s) in object: ${ve.joinValues(t.keys,", ")}`;break;case O.invalid_union:r="Invalid input";break;case O.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${ve.joinValues(t.options)}`;break;case O.invalid_enum_value:r=`Invalid enum value. Expected ${ve.joinValues(t.options)}, received '${t.received}'`;break;case O.invalid_arguments:r="Invalid function arguments";break;case O.invalid_return_type:r="Invalid function return type";break;case O.invalid_date:r="Invalid date";break;case O.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:ve.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case O.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case O.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case O.custom:r="Invalid input";break;case O.invalid_intersection_types:r="Intersection results could not be merged";break;case O.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case O.not_finite:r="Number must be finite";break;default:r=e.defaultError,ve.assertNever(t)}return{message:r}};let jO=qh;function NO(){return jO}const _O=t=>{const{data:e,path:r,errorMaps:n,issueData:s}=t,i=[...r,...s.path||[]],o={...s,path:i};if(s.message!==void 0)return{...s,path:i,message:s.message};let l="";const c=n.filter(d=>!!d).slice().reverse();for(const d of c)l=d(o,{data:e,defaultError:l}).message;return{...s,path:i,message:l}};function F(t,e){const r=NO(),n=_O({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===qh?void 0:qh].filter(s=>!!s)});t.common.issues.push(n)}class Tt{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){const n=[];for(const s of r){if(s.status==="aborted")return Z;s.status==="dirty"&&e.dirty(),n.push(s.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){const n=[];for(const s of r){const i=await s.key,o=await s.value;n.push({key:i,value:o})}return Tt.mergeObjectSync(e,n)}static mergeObjectSync(e,r){const n={};for(const s of r){const{key:i,value:o}=s;if(i.status==="aborted"||o.status==="aborted")return Z;i.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||s.alwaysSet)&&(n[i.value]=o.value)}return{status:e.value,value:n}}}const Z=Object.freeze({status:"aborted"}),pi=t=>({status:"dirty",value:t}),Wt=t=>({status:"valid",value:t}),Px=t=>t.status==="aborted",Tx=t=>t.status==="dirty",Ma=t=>t.status==="valid",uc=t=>typeof Promise<"u"&&t instanceof Promise;var V;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(V||(V={}));class Bn{constructor(e,r,n,s){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Ax=(t,e)=>{if(Ma(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const r=new Yr(t.common.issues);return this._error=r,this._error}}};function le(t){if(!t)return{};const{errorMap:e,invalid_type_error:r,required_error:n,description:s}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(o,l)=>{const{message:c}=t;return o.code==="invalid_enum_value"?{message:c??l.defaultError}:typeof l.data>"u"?{message:c??n??l.defaultError}:o.code!=="invalid_type"?{message:l.defaultError}:{message:c??r??l.defaultError}},description:s}}class ge{get description(){return this._def.description}_getType(e){return mn(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:mn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Tt,ctx:{common:e.parent.common,data:e.data,parsedType:mn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const r=this._parse(e);if(uc(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){const r=this._parse(e);return Promise.resolve(r)}parse(e,r){const n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){const n={common:{issues:[],async:(r==null?void 0:r.async)??!1,contextualErrorMap:r==null?void 0:r.errorMap},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:mn(e)},s=this._parseSync({data:e,path:n.path,parent:n});return Ax(n,s)}"~validate"(e){var n,s;const r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:mn(e)};if(!this["~standard"].async)try{const i=this._parseSync({data:e,path:[],parent:r});return Ma(i)?{value:i.value}:{issues:r.common.issues}}catch(i){(s=(n=i==null?void 0:i.message)==null?void 0:n.toLowerCase())!=null&&s.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(i=>Ma(i)?{value:i.value}:{issues:r.common.issues})}async parseAsync(e,r){const n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){const n={common:{issues:[],contextualErrorMap:r==null?void 0:r.errorMap,async:!0},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:mn(e)},s=this._parse({data:e,path:n.path,parent:n}),i=await(uc(s)?s:Promise.resolve(s));return Ax(n,i)}refine(e,r){const n=s=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(s):r;return this._refinement((s,i)=>{const o=e(s),l=()=>i.addIssue({code:O.custom,...n(s)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(l(),!1)):o?!0:(l(),!1)})}refinement(e,r){return this._refinement((n,s)=>e(n)?!0:(s.addIssue(typeof r=="function"?r(n,s):r),!1))}_refinement(e){return new Da({schema:this,typeName:X.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Dn.create(this,this._def)}nullable(){return $a.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Tr.create(this)}promise(){return pc.create(this,this._def)}or(e){return fc.create([this,e],this._def)}and(e){return mc.create(this,e,this._def)}transform(e){return new Da({...le(this._def),schema:this,typeName:X.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const r=typeof e=="function"?e:()=>e;return new Gh({...le(this._def),innerType:this,defaultValue:r,typeName:X.ZodDefault})}brand(){return new GO({typeName:X.ZodBranded,type:this,...le(this._def)})}catch(e){const r=typeof e=="function"?e:()=>e;return new Jh({...le(this._def),innerType:this,catchValue:r,typeName:X.ZodCatch})}describe(e){const r=this.constructor;return new r({...this._def,description:e})}pipe(e){return Dm.create(this,e)}readonly(){return Qh.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const SO=/^c[^\s-]{8,}$/i,CO=/^[0-9a-z]+$/,EO=/^[0-9A-HJKMNP-TV-Z]{26}$/i,PO=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,TO=/^[a-z0-9_-]{21}$/i,AO=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,IO=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,RO=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,OO="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let pu;const MO=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,LO=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,DO=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,$O=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,FO=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,zO=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Wk="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",UO=new RegExp(`^${Wk}$`);function Vk(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);const r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function BO(t){return new RegExp(`^${Vk(t)}$`)}function WO(t){let e=`${Wk}T${Vk(t)}`;const r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function VO(t,e){return!!((e==="v4"||!e)&&MO.test(t)||(e==="v6"||!e)&&DO.test(t))}function HO(t,e){if(!AO.test(t))return!1;try{const[r]=t.split(".");if(!r)return!1;const n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),s=JSON.parse(atob(n));return!(typeof s!="object"||s===null||"typ"in s&&(s==null?void 0:s.typ)!=="JWT"||!s.alg||e&&s.alg!==e)}catch{return!1}}function qO(t,e){return!!((e==="v4"||!e)&&LO.test(t)||(e==="v6"||!e)&&$O.test(t))}class Sn extends ge{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==U.string){const i=this._getOrReturnCtx(e);return F(i,{code:O.invalid_type,expected:U.string,received:i.parsedType}),Z}const n=new Tt;let s;for(const i of this._def.checks)if(i.kind==="min")e.data.lengthi.value&&(s=this._getOrReturnCtx(e,s),F(s,{code:O.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){const o=e.data.length>i.value,l=e.data.lengthe.test(s),{validation:r,code:O.invalid_string,...V.errToObj(n)})}_addCheck(e){return new Sn({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...V.errToObj(e)})}url(e){return this._addCheck({kind:"url",...V.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...V.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...V.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...V.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...V.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...V.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...V.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...V.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...V.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...V.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...V.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...V.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(e==null?void 0:e.offset)??!1,local:(e==null?void 0:e.local)??!1,...V.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...V.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...V.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...V.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r==null?void 0:r.position,...V.errToObj(r==null?void 0:r.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...V.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...V.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...V.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...V.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...V.errToObj(r)})}nonempty(e){return this.min(1,V.errToObj(e))}trim(){return new Sn({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Sn({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Sn({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Sn({checks:[],typeName:X.ZodString,coerce:(t==null?void 0:t.coerce)??!1,...le(t)});function KO(t,e){const r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,s=r>n?r:n,i=Number.parseInt(t.toFixed(s).replace(".","")),o=Number.parseInt(e.toFixed(s).replace(".",""));return i%o/10**s}class to extends ge{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==U.number){const i=this._getOrReturnCtx(e);return F(i,{code:O.invalid_type,expected:U.number,received:i.parsedType}),Z}let n;const s=new Tt;for(const i of this._def.checks)i.kind==="int"?ve.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),F(n,{code:O.invalid_type,expected:"integer",received:"float",message:i.message}),s.dirty()):i.kind==="min"?(i.inclusive?e.datai.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),F(n,{code:O.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="multipleOf"?KO(e.data,i.value)!==0&&(n=this._getOrReturnCtx(e,n),F(n,{code:O.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),F(n,{code:O.not_finite,message:i.message}),s.dirty()):ve.assertNever(i);return{status:s.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,V.toString(r))}gt(e,r){return this.setLimit("min",e,!1,V.toString(r))}lte(e,r){return this.setLimit("max",e,!0,V.toString(r))}lt(e,r){return this.setLimit("max",e,!1,V.toString(r))}setLimit(e,r,n,s){return new to({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:V.toString(s)}]})}_addCheck(e){return new to({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:V.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:V.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:V.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:V.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:V.toString(e)})}get minValue(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&ve.isInteger(e.value))}get isFinite(){let e=null,r=null;for(const n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.valuenew to({checks:[],typeName:X.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...le(t)});class ro extends ge{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==U.bigint)return this._getInvalidInput(e);let n;const s=new Tt;for(const i of this._def.checks)i.kind==="min"?(i.inclusive?e.datai.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),F(n,{code:O.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),F(n,{code:O.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):ve.assertNever(i);return{status:s.value,value:e.data}}_getInvalidInput(e){const r=this._getOrReturnCtx(e);return F(r,{code:O.invalid_type,expected:U.bigint,received:r.parsedType}),Z}gte(e,r){return this.setLimit("min",e,!0,V.toString(r))}gt(e,r){return this.setLimit("min",e,!1,V.toString(r))}lte(e,r){return this.setLimit("max",e,!0,V.toString(r))}lt(e,r){return this.setLimit("max",e,!1,V.toString(r))}setLimit(e,r,n,s){return new ro({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:V.toString(s)}]})}_addCheck(e){return new ro({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:V.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(r)})}get minValue(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew ro({checks:[],typeName:X.ZodBigInt,coerce:(t==null?void 0:t.coerce)??!1,...le(t)});class Ix extends ge{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==U.boolean){const n=this._getOrReturnCtx(e);return F(n,{code:O.invalid_type,expected:U.boolean,received:n.parsedType}),Z}return Wt(e.data)}}Ix.create=t=>new Ix({typeName:X.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...le(t)});class hc extends ge{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==U.date){const i=this._getOrReturnCtx(e);return F(i,{code:O.invalid_type,expected:U.date,received:i.parsedType}),Z}if(Number.isNaN(e.data.getTime())){const i=this._getOrReturnCtx(e);return F(i,{code:O.invalid_date}),Z}const n=new Tt;let s;for(const i of this._def.checks)i.kind==="min"?e.data.getTime()i.value&&(s=this._getOrReturnCtx(e,s),F(s,{code:O.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):ve.assertNever(i);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new hc({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:V.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:V.toString(r)})}get minDate(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew hc({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:X.ZodDate,...le(t)});class Rx extends ge{_parse(e){if(this._getType(e)!==U.symbol){const n=this._getOrReturnCtx(e);return F(n,{code:O.invalid_type,expected:U.symbol,received:n.parsedType}),Z}return Wt(e.data)}}Rx.create=t=>new Rx({typeName:X.ZodSymbol,...le(t)});class Ox extends ge{_parse(e){if(this._getType(e)!==U.undefined){const n=this._getOrReturnCtx(e);return F(n,{code:O.invalid_type,expected:U.undefined,received:n.parsedType}),Z}return Wt(e.data)}}Ox.create=t=>new Ox({typeName:X.ZodUndefined,...le(t)});class Mx extends ge{_parse(e){if(this._getType(e)!==U.null){const n=this._getOrReturnCtx(e);return F(n,{code:O.invalid_type,expected:U.null,received:n.parsedType}),Z}return Wt(e.data)}}Mx.create=t=>new Mx({typeName:X.ZodNull,...le(t)});class Lx extends ge{constructor(){super(...arguments),this._any=!0}_parse(e){return Wt(e.data)}}Lx.create=t=>new Lx({typeName:X.ZodAny,...le(t)});class Dx extends ge{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Wt(e.data)}}Dx.create=t=>new Dx({typeName:X.ZodUnknown,...le(t)});class Wn extends ge{_parse(e){const r=this._getOrReturnCtx(e);return F(r,{code:O.invalid_type,expected:U.never,received:r.parsedType}),Z}}Wn.create=t=>new Wn({typeName:X.ZodNever,...le(t)});class $x extends ge{_parse(e){if(this._getType(e)!==U.undefined){const n=this._getOrReturnCtx(e);return F(n,{code:O.invalid_type,expected:U.void,received:n.parsedType}),Z}return Wt(e.data)}}$x.create=t=>new $x({typeName:X.ZodVoid,...le(t)});class Tr extends ge{_parse(e){const{ctx:r,status:n}=this._processInputParams(e),s=this._def;if(r.parsedType!==U.array)return F(r,{code:O.invalid_type,expected:U.array,received:r.parsedType}),Z;if(s.exactLength!==null){const o=r.data.length>s.exactLength.value,l=r.data.lengths.maxLength.value&&(F(r,{code:O.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((o,l)=>s.type._parseAsync(new Bn(r,o,r.path,l)))).then(o=>Tt.mergeArray(n,o));const i=[...r.data].map((o,l)=>s.type._parseSync(new Bn(r,o,r.path,l)));return Tt.mergeArray(n,i)}get element(){return this._def.type}min(e,r){return new Tr({...this._def,minLength:{value:e,message:V.toString(r)}})}max(e,r){return new Tr({...this._def,maxLength:{value:e,message:V.toString(r)}})}length(e,r){return new Tr({...this._def,exactLength:{value:e,message:V.toString(r)}})}nonempty(e){return this.min(1,e)}}Tr.create=(t,e)=>new Tr({type:t,minLength:null,maxLength:null,exactLength:null,typeName:X.ZodArray,...le(e)});function Gs(t){if(t instanceof De){const e={};for(const r in t.shape){const n=t.shape[r];e[r]=Dn.create(Gs(n))}return new De({...t._def,shape:()=>e})}else return t instanceof Tr?new Tr({...t._def,type:Gs(t.element)}):t instanceof Dn?Dn.create(Gs(t.unwrap())):t instanceof $a?$a.create(Gs(t.unwrap())):t instanceof bs?bs.create(t.items.map(e=>Gs(e))):t}class De extends ge{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),r=ve.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==U.object){const d=this._getOrReturnCtx(e);return F(d,{code:O.invalid_type,expected:U.object,received:d.parsedType}),Z}const{status:n,ctx:s}=this._processInputParams(e),{shape:i,keys:o}=this._getCached(),l=[];if(!(this._def.catchall instanceof Wn&&this._def.unknownKeys==="strip"))for(const d in s.data)o.includes(d)||l.push(d);const c=[];for(const d of o){const u=i[d],h=s.data[d];c.push({key:{status:"valid",value:d},value:u._parse(new Bn(s,h,s.path,d)),alwaysSet:d in s.data})}if(this._def.catchall instanceof Wn){const d=this._def.unknownKeys;if(d==="passthrough")for(const u of l)c.push({key:{status:"valid",value:u},value:{status:"valid",value:s.data[u]}});else if(d==="strict")l.length>0&&(F(s,{code:O.unrecognized_keys,keys:l}),n.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const d=this._def.catchall;for(const u of l){const h=s.data[u];c.push({key:{status:"valid",value:u},value:d._parse(new Bn(s,h,s.path,u)),alwaysSet:u in s.data})}}return s.common.async?Promise.resolve().then(async()=>{const d=[];for(const u of c){const h=await u.key,m=await u.value;d.push({key:h,value:m,alwaysSet:u.alwaysSet})}return d}).then(d=>Tt.mergeObjectSync(n,d)):Tt.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return V.errToObj,new De({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{var i,o;const s=((o=(i=this._def).errorMap)==null?void 0:o.call(i,r,n).message)??n.defaultError;return r.code==="unrecognized_keys"?{message:V.errToObj(e).message??s}:{message:s}}}:{}})}strip(){return new De({...this._def,unknownKeys:"strip"})}passthrough(){return new De({...this._def,unknownKeys:"passthrough"})}extend(e){return new De({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new De({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:X.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new De({...this._def,catchall:e})}pick(e){const r={};for(const n of ve.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new De({...this._def,shape:()=>r})}omit(e){const r={};for(const n of ve.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new De({...this._def,shape:()=>r})}deepPartial(){return Gs(this)}partial(e){const r={};for(const n of ve.objectKeys(this.shape)){const s=this.shape[n];e&&!e[n]?r[n]=s:r[n]=s.optional()}return new De({...this._def,shape:()=>r})}required(e){const r={};for(const n of ve.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof Dn;)i=i._def.innerType;r[n]=i}return new De({...this._def,shape:()=>r})}keyof(){return Hk(ve.objectKeys(this.shape))}}De.create=(t,e)=>new De({shape:()=>t,unknownKeys:"strip",catchall:Wn.create(),typeName:X.ZodObject,...le(e)});De.strictCreate=(t,e)=>new De({shape:()=>t,unknownKeys:"strict",catchall:Wn.create(),typeName:X.ZodObject,...le(e)});De.lazycreate=(t,e)=>new De({shape:t,unknownKeys:"strip",catchall:Wn.create(),typeName:X.ZodObject,...le(e)});class fc extends ge{_parse(e){const{ctx:r}=this._processInputParams(e),n=this._def.options;function s(i){for(const l of i)if(l.result.status==="valid")return l.result;for(const l of i)if(l.result.status==="dirty")return r.common.issues.push(...l.ctx.common.issues),l.result;const o=i.map(l=>new Yr(l.ctx.common.issues));return F(r,{code:O.invalid_union,unionErrors:o}),Z}if(r.common.async)return Promise.all(n.map(async i=>{const o={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(s);{let i;const o=[];for(const c of n){const d={...r,common:{...r.common,issues:[]},parent:null},u=c._parseSync({data:r.data,path:r.path,parent:d});if(u.status==="valid")return u;u.status==="dirty"&&!i&&(i={result:u,ctx:d}),d.common.issues.length&&o.push(d.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;const l=o.map(c=>new Yr(c));return F(r,{code:O.invalid_union,unionErrors:l}),Z}}get options(){return this._def.options}}fc.create=(t,e)=>new fc({options:t,typeName:X.ZodUnion,...le(e)});function Kh(t,e){const r=mn(t),n=mn(e);if(t===e)return{valid:!0,data:t};if(r===U.object&&n===U.object){const s=ve.objectKeys(e),i=ve.objectKeys(t).filter(l=>s.indexOf(l)!==-1),o={...t,...e};for(const l of i){const c=Kh(t[l],e[l]);if(!c.valid)return{valid:!1};o[l]=c.data}return{valid:!0,data:o}}else if(r===U.array&&n===U.array){if(t.length!==e.length)return{valid:!1};const s=[];for(let i=0;i{if(Px(i)||Px(o))return Z;const l=Kh(i.value,o.value);return l.valid?((Tx(i)||Tx(o))&&r.dirty(),{status:r.value,value:l.data}):(F(n,{code:O.invalid_intersection_types}),Z)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,o])=>s(i,o)):s(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}mc.create=(t,e,r)=>new mc({left:t,right:e,typeName:X.ZodIntersection,...le(r)});class bs extends ge{_parse(e){const{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==U.array)return F(n,{code:O.invalid_type,expected:U.array,received:n.parsedType}),Z;if(n.data.lengththis._def.items.length&&(F(n,{code:O.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());const i=[...n.data].map((o,l)=>{const c=this._def.items[l]||this._def.rest;return c?c._parse(new Bn(n,o,n.path,l)):null}).filter(o=>!!o);return n.common.async?Promise.all(i).then(o=>Tt.mergeArray(r,o)):Tt.mergeArray(r,i)}get items(){return this._def.items}rest(e){return new bs({...this._def,rest:e})}}bs.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new bs({items:t,typeName:X.ZodTuple,rest:null,...le(e)})};class Fx extends ge{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==U.map)return F(n,{code:O.invalid_type,expected:U.map,received:n.parsedType}),Z;const s=this._def.keyType,i=this._def.valueType,o=[...n.data.entries()].map(([l,c],d)=>({key:s._parse(new Bn(n,l,n.path,[d,"key"])),value:i._parse(new Bn(n,c,n.path,[d,"value"]))}));if(n.common.async){const l=new Map;return Promise.resolve().then(async()=>{for(const c of o){const d=await c.key,u=await c.value;if(d.status==="aborted"||u.status==="aborted")return Z;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),l.set(d.value,u.value)}return{status:r.value,value:l}})}else{const l=new Map;for(const c of o){const d=c.key,u=c.value;if(d.status==="aborted"||u.status==="aborted")return Z;(d.status==="dirty"||u.status==="dirty")&&r.dirty(),l.set(d.value,u.value)}return{status:r.value,value:l}}}}Fx.create=(t,e,r)=>new Fx({valueType:e,keyType:t,typeName:X.ZodMap,...le(r)});class no extends ge{_parse(e){const{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==U.set)return F(n,{code:O.invalid_type,expected:U.set,received:n.parsedType}),Z;const s=this._def;s.minSize!==null&&n.data.sizes.maxSize.value&&(F(n,{code:O.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),r.dirty());const i=this._def.valueType;function o(c){const d=new Set;for(const u of c){if(u.status==="aborted")return Z;u.status==="dirty"&&r.dirty(),d.add(u.value)}return{status:r.value,value:d}}const l=[...n.data.values()].map((c,d)=>i._parse(new Bn(n,c,n.path,d)));return n.common.async?Promise.all(l).then(c=>o(c)):o(l)}min(e,r){return new no({...this._def,minSize:{value:e,message:V.toString(r)}})}max(e,r){return new no({...this._def,maxSize:{value:e,message:V.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}}no.create=(t,e)=>new no({valueType:t,minSize:null,maxSize:null,typeName:X.ZodSet,...le(e)});class zx extends ge{get schema(){return this._def.getter()}_parse(e){const{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}}zx.create=(t,e)=>new zx({getter:t,typeName:X.ZodLazy,...le(e)});class Ux extends ge{_parse(e){if(e.data!==this._def.value){const r=this._getOrReturnCtx(e);return F(r,{received:r.data,code:O.invalid_literal,expected:this._def.value}),Z}return{status:"valid",value:e.data}}get value(){return this._def.value}}Ux.create=(t,e)=>new Ux({value:t,typeName:X.ZodLiteral,...le(e)});function Hk(t,e){return new La({values:t,typeName:X.ZodEnum,...le(e)})}class La extends ge{_parse(e){if(typeof e.data!="string"){const r=this._getOrReturnCtx(e),n=this._def.values;return F(r,{expected:ve.joinValues(n),received:r.parsedType,code:O.invalid_type}),Z}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const r=this._getOrReturnCtx(e),n=this._def.values;return F(r,{received:r.data,code:O.invalid_enum_value,options:n}),Z}return Wt(e.data)}get options(){return this._def.values}get enum(){const e={};for(const r of this._def.values)e[r]=r;return e}get Values(){const e={};for(const r of this._def.values)e[r]=r;return e}get Enum(){const e={};for(const r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return La.create(e,{...this._def,...r})}exclude(e,r=this._def){return La.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}}La.create=Hk;class Bx extends ge{_parse(e){const r=ve.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==U.string&&n.parsedType!==U.number){const s=ve.objectValues(r);return F(n,{expected:ve.joinValues(s),received:n.parsedType,code:O.invalid_type}),Z}if(this._cache||(this._cache=new Set(ve.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const s=ve.objectValues(r);return F(n,{received:n.data,code:O.invalid_enum_value,options:s}),Z}return Wt(e.data)}get enum(){return this._def.values}}Bx.create=(t,e)=>new Bx({values:t,typeName:X.ZodNativeEnum,...le(e)});class pc extends ge{unwrap(){return this._def.type}_parse(e){const{ctx:r}=this._processInputParams(e);if(r.parsedType!==U.promise&&r.common.async===!1)return F(r,{code:O.invalid_type,expected:U.promise,received:r.parsedType}),Z;const n=r.parsedType===U.promise?r.data:Promise.resolve(r.data);return Wt(n.then(s=>this._def.type.parseAsync(s,{path:r.path,errorMap:r.common.contextualErrorMap})))}}pc.create=(t,e)=>new pc({type:t,typeName:X.ZodPromise,...le(e)});class Da extends ge{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===X.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:r,ctx:n}=this._processInputParams(e),s=this._def.effect||null,i={addIssue:o=>{F(n,o),o.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),s.type==="preprocess"){const o=s.transform(n.data,i);if(n.common.async)return Promise.resolve(o).then(async l=>{if(r.value==="aborted")return Z;const c=await this._def.schema._parseAsync({data:l,path:n.path,parent:n});return c.status==="aborted"?Z:c.status==="dirty"||r.value==="dirty"?pi(c.value):c});{if(r.value==="aborted")return Z;const l=this._def.schema._parseSync({data:o,path:n.path,parent:n});return l.status==="aborted"?Z:l.status==="dirty"||r.value==="dirty"?pi(l.value):l}}if(s.type==="refinement"){const o=l=>{const c=s.refinement(l,i);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return l};if(n.common.async===!1){const l=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return l.status==="aborted"?Z:(l.status==="dirty"&&r.dirty(),o(l.value),{status:r.value,value:l.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(l=>l.status==="aborted"?Z:(l.status==="dirty"&&r.dirty(),o(l.value).then(()=>({status:r.value,value:l.value}))))}if(s.type==="transform")if(n.common.async===!1){const o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Ma(o))return Z;const l=s.transform(o.value,i);if(l instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:l}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>Ma(o)?Promise.resolve(s.transform(o.value,i)).then(l=>({status:r.value,value:l})):Z);ve.assertNever(s)}}Da.create=(t,e,r)=>new Da({schema:t,typeName:X.ZodEffects,effect:e,...le(r)});Da.createWithPreprocess=(t,e,r)=>new Da({schema:e,effect:{type:"preprocess",transform:t},typeName:X.ZodEffects,...le(r)});class Dn extends ge{_parse(e){return this._getType(e)===U.undefined?Wt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Dn.create=(t,e)=>new Dn({innerType:t,typeName:X.ZodOptional,...le(e)});class $a extends ge{_parse(e){return this._getType(e)===U.null?Wt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}$a.create=(t,e)=>new $a({innerType:t,typeName:X.ZodNullable,...le(e)});class Gh extends ge{_parse(e){const{ctx:r}=this._processInputParams(e);let n=r.data;return r.parsedType===U.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}}Gh.create=(t,e)=>new Gh({innerType:t,typeName:X.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...le(e)});class Jh extends ge{_parse(e){const{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},s=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return uc(s)?s.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Yr(n.common.issues)},input:n.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Yr(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}Jh.create=(t,e)=>new Jh({innerType:t,typeName:X.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...le(e)});class Wx extends ge{_parse(e){if(this._getType(e)!==U.nan){const n=this._getOrReturnCtx(e);return F(n,{code:O.invalid_type,expected:U.nan,received:n.parsedType}),Z}return{status:"valid",value:e.data}}}Wx.create=t=>new Wx({typeName:X.ZodNaN,...le(t)});class GO extends ge{_parse(e){const{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}}class Dm extends ge{_parse(e){const{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{const i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Z:i.status==="dirty"?(r.dirty(),pi(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{const s=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?Z:s.status==="dirty"?(r.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:n.path,parent:n})}}static create(e,r){return new Dm({in:e,out:r,typeName:X.ZodPipeline})}}class Qh extends ge{_parse(e){const r=this._def.innerType._parse(e),n=s=>(Ma(s)&&(s.value=Object.freeze(s.value)),s);return uc(r)?r.then(s=>n(s)):n(r)}unwrap(){return this._def.innerType}}Qh.create=(t,e)=>new Qh({innerType:t,typeName:X.ZodReadonly,...le(e)});De.lazycreate;var X;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(X||(X={}));const Nr=Sn.create;Wn.create;Tr.create;const qk=De.create;De.strictCreate;fc.create;mc.create;bs.create;La.create;pc.create;Dn.create;$a.create;const JO=qk({firstName:Nr().trim().min(1,"First name is required").max(100,"First name must be less than 100 characters"),lastName:Nr().trim().min(1,"Last name is required").max(100,"Last name must be less than 100 characters"),email:Nr().trim().email("Invalid email address").max(255,"Email must be less than 255 characters"),company:Nr().trim().max(500,"Company name must be less than 500 characters").optional(),message:Nr().trim().min(1,"Message is required").max(2e3,"Message must be less than 2000 characters")}),QO=()=>{const{toast:t}=Gf(),[e,r]=p.useState(!1),[n,s]=p.useState({firstName:"",lastName:"",email:"",company:"",message:""}),i=async o=>{o.preventDefault();const l=JO.safeParse(n);if(!l.success){const c=l.error.errors[0];t({title:"Validation Error",description:c.message,variant:"destructive"});return}r(!0);try{const{data:c,error:d}=await Lm.functions.invoke("send-contact-email",{body:{firstName:n.firstName,lastName:n.lastName,email:n.email,company:n.company,message:n.message}});if(d)throw d;t({title:"Message Sent!",description:"Your message has been sent successfully. We'll get back to you within 24 hours."}),s({firstName:"",lastName:"",email:"",company:"",message:""})}catch(c){console.error("Error sending message:",c),t({title:"Error",description:"Failed to send message. Please try again or contact us directly at hello@pacy.ai",variant:"destructive"})}finally{r(!1)}};return a.jsxs("div",{className:"min-h-screen",children:[a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"gradient-orange-purple py-24 pt-40",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-5xl lg:text-6xl font-bold gradient-text-orange mb-8 font-playfair",children:"Contact Us"}),a.jsx("p",{className:"text-xl text-white/90",children:"Ready to transform your team's training? Let's start with a one-hour conversation."})]})}),a.jsx("section",{className:"py-24",children:a.jsx("div",{className:"max-w-4xl mx-auto px-6",children:a.jsxs("div",{className:"grid lg:grid-cols-2 gap-16",children:[a.jsxs("div",{className:"space-y-8",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-orange font-playfair",children:"Get Started Today"}),a.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:"All we need is a one-hour workshop to create a complete, tailored training program for your team. Reach out and let's discuss how Pacy can drive real results for your organization."}),a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"font-semibold text-orange mb-2",children:"Email"}),a.jsx("p",{className:"text-foreground",children:"hello@pacy.ai"})]}),a.jsxs("div",{children:[a.jsx("h3",{className:"font-semibold text-orange mb-2",children:"Response Time"}),a.jsx("p",{className:"text-foreground",children:"We typically respond within 24 hours"})]})]})]}),a.jsx("div",{className:"glass-effect rounded-lg p-8 border border-white/20",children:a.jsxs("form",{onSubmit:i,className:"space-y-6",children:[a.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(nr,{htmlFor:"firstName",children:"First name *"}),a.jsx(Sr,{id:"firstName",placeholder:"John",value:n.firstName,onChange:o=>s({...n,firstName:o.target.value}),required:!0})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(nr,{htmlFor:"lastName",children:"Last name *"}),a.jsx(Sr,{id:"lastName",placeholder:"Doe",value:n.lastName,onChange:o=>s({...n,lastName:o.target.value}),required:!0})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(nr,{htmlFor:"email",children:"Email *"}),a.jsx(Sr,{id:"email",type:"email",placeholder:"john@company.com",value:n.email,onChange:o=>s({...n,email:o.target.value}),required:!0})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(nr,{htmlFor:"company",children:"Company"}),a.jsx(Sr,{id:"company",placeholder:"Your company name",value:n.company,onChange:o=>s({...n,company:o.target.value})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(nr,{htmlFor:"message",children:"Message *"}),a.jsx(Tm,{id:"message",placeholder:"Tell us about your training needs...",rows:5,value:n.message,onChange:o=>s({...n,message:o.target.value}),required:!0})]}),a.jsx(W,{type:"submit",variant:"gradient-orange",className:"w-full",disabled:e,children:e?"Sending...":"Send Message"})]})})]})})})]}),a.jsx(ze,{})]})},YO=()=>a.jsxs("div",{className:"min-h-screen gradient-subtle-orange",children:[a.jsx("div",{className:"fixed top-0 left-0 w-full h-full gradient-subtle-orange -z-10"}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"py-24 pt-40",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-orange mb-8 font-playfair",children:"One Hour Workshop, Complete Solution"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-4xl mx-auto",children:"All we need is a one-hour workshop – then we do the work. You don't have to plan, structure, or create anything yourself."})]})}),a.jsx("section",{className:"py-24",children:a.jsx("div",{className:"max-w-6xl mx-auto px-6",children:a.jsxs("div",{className:"grid lg:grid-cols-2 gap-16",children:[a.jsxs("div",{className:"space-y-8 glass-effect p-8 rounded-xl",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-orange font-playfair",children:"Minimal Time Investment, Maximum Results"}),a.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:"With just a one-hour briefing with you or your team, Pacy delivers a complete, tailored training program – ready to launch without taking your time or resources."}),a.jsxs("ul",{className:"space-y-4",children:[a.jsxs("li",{className:"flex items-start space-x-3",children:[a.jsx("span",{className:"text-orange text-xl",children:"•"}),a.jsx("span",{className:"text-foreground",children:"One-hour workshop with your team"})]}),a.jsxs("li",{className:"flex items-start space-x-3",children:[a.jsx("span",{className:"text-orange text-xl",children:"•"}),a.jsx("span",{className:"text-foreground",children:"Complete program planning handled by Pacy"})]}),a.jsxs("li",{className:"flex items-start space-x-3",children:[a.jsx("span",{className:"text-orange text-xl",children:"•"}),a.jsx("span",{className:"text-foreground",children:"Custom content creation included"})]}),a.jsxs("li",{className:"flex items-start space-x-3",children:[a.jsx("span",{className:"text-orange text-xl",children:"•"}),a.jsx("span",{className:"text-foreground",children:"Ready-to-launch training solution"})]})]})]}),a.jsxs("div",{className:"space-y-8 glass-effect p-8 rounded-xl",children:[a.jsx("h2",{className:"text-4xl font-bold gradient-text-orange font-playfair",children:"How It Works"}),a.jsx("div",{className:"space-y-6",children:ZO.map((t,e)=>a.jsxs("div",{className:"flex space-x-4",children:[a.jsx("div",{className:"w-8 h-8 bg-orange rounded-full flex items-center justify-center text-white font-bold flex-shrink-0",children:e+1}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-bold text-orange",children:t.title}),a.jsx("p",{className:"text-foreground",children:t.description})]})]},e))})]})]})})}),a.jsx("section",{className:"py-24 gradient-orange-purple",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6 text-center",children:[a.jsx("h2",{className:"text-4xl font-bold text-white mb-8 font-playfair",children:"Ready to Get Started?"}),a.jsx("p",{className:"text-lg text-white/90 mb-8 max-w-2xl mx-auto",children:"Book your one-hour workshop today and let us create a complete training solution for your team."}),a.jsx(W,{variant:"gradient-orange",size:"lg",asChild:!0,children:a.jsx(J,{to:"/contact",children:"Book Workshop"})})]})})]}),a.jsx(ze,{})]}),ZO=[{title:"Schedule Your Workshop",description:"Book a one-hour session with our team to discuss your training needs and objectives."},{title:"Share Your Goals",description:"Tell us about your team, their challenges, and what skills you want to develop."},{title:"We Create Your Program",description:"Our experts design and build a complete, customized training program tailored to your needs."},{title:"Launch and Train",description:"Deploy your ready-to-use training program and watch your team's skills transform."}],XO=()=>a.jsxs("div",{className:"min-h-screen gradient-subtle-green",children:[a.jsx("div",{className:"fixed top-0 left-0 w-full h-full gradient-subtle-green -z-10"}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"py-24 pt-40",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-green mb-8 font-playfair",children:"Training That Sticks – Backed by Science"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-4xl mx-auto",children:"HIIT for the brain – short, intense training that delivers results. Our method, HIST (High-Intensity Skill Training), is inspired by HIIT workouts and grounded in modern cognitive science."})]})}),a.jsx("section",{className:"py-24",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsx("div",{className:"text-center mb-16",children:a.jsx("h2",{className:"text-3xl lg:text-4xl font-bold gradient-text-green font-playfair mb-8",children:"HIST: High-Intensity Skill Training"})}),a.jsx("div",{className:"grid lg:grid-cols-3 gap-12",children:eM.map((t,e)=>a.jsxs("div",{className:"text-center space-y-6 glass-effect p-8 rounded-xl hover-gradient-scale",children:[a.jsx("div",{className:"w-20 h-20 bg-green rounded-full mx-auto flex items-center justify-center",children:a.jsx("span",{className:"text-white font-bold text-2xl",children:e+1})}),a.jsx("h3",{className:"text-2xl font-bold gradient-text-green font-playfair",children:t.title}),a.jsx("p",{className:"text-muted-foreground leading-relaxed",children:t.description})]},e))})]})}),a.jsx("section",{className:"py-24 gradient-green-blue",children:a.jsx("div",{className:"max-w-6xl mx-auto px-6",children:a.jsxs("div",{className:"grid lg:grid-cols-2 gap-16 items-center",children:[a.jsxs("div",{className:"space-y-8 glass-effect p-8 rounded-xl",children:[a.jsx("h2",{className:"text-4xl font-bold text-white font-playfair",children:"The Research Behind Our Results"}),a.jsx("p",{className:"text-lg text-white/90 leading-relaxed",children:"With our AI mentor, every employee gets an interactive, challenging, and personalized experience – one they'll want to return to, again and again."}),a.jsx("div",{className:"space-y-4",children:tM.map((t,e)=>a.jsxs("div",{className:"flex items-center space-x-4",children:[a.jsx("div",{className:"w-12 h-12 bg-green rounded-full flex items-center justify-center",children:a.jsx("span",{className:"text-white font-bold",children:t.number})}),a.jsxs("div",{children:[a.jsx("p",{className:"text-white font-semibold",children:t.metric}),a.jsx("p",{className:"text-white/70 text-sm",children:t.description})]})]},e))})]}),a.jsxs("div",{className:"space-y-6 glass-effect p-8 rounded-xl",children:[a.jsx("h3",{className:"text-3xl font-bold text-white font-playfair",children:"Cognitive Science Principles"}),a.jsxs("ul",{className:"space-y-4",children:[a.jsxs("li",{className:"flex items-start space-x-3",children:[a.jsx(po,{className:"text-white w-5 h-5 mt-0.5 flex-shrink-0"}),a.jsx("span",{className:"text-white",children:"Spaced repetition for long-term retention"})]}),a.jsxs("li",{className:"flex items-start space-x-3",children:[a.jsx(em,{className:"text-white w-5 h-5 mt-0.5 flex-shrink-0"}),a.jsx("span",{className:"text-white",children:"Active recall strengthens memory pathways"})]}),a.jsxs("li",{className:"flex items-start space-x-3",children:[a.jsx(VS,{className:"text-white w-5 h-5 mt-0.5 flex-shrink-0"}),a.jsx("span",{className:"text-white",children:"Neuroplasticity activation through intensive practice"})]}),a.jsxs("li",{className:"flex items-start space-x-3",children:[a.jsx(rm,{className:"text-white w-5 h-5 mt-0.5 flex-shrink-0"}),a.jsx("span",{className:"text-white",children:"Personalized difficulty adjustment"})]})]})]})]})})})]}),a.jsx(ze,{})]}),eM=[{title:"Short & Focused",description:"Brief, intensive sessions maximize attention and prevent cognitive overload, leading to better retention."},{title:"Active Learning",description:"Interactive exercises and immediate feedback engage multiple learning pathways in the brain."},{title:"AI Personalization",description:"Advanced algorithms adapt to individual learning patterns and optimize the experience for each user."}],tM=[{number:"2X",metric:"Higher Completion Rates",description:"vs 15% industry average"},{number:"85%",metric:"Knowledge Retention",description:"after 30 days"},{number:"3x",metric:"Faster Skill Acquisition",description:"compared to traditional methods"}],rM=()=>a.jsxs("div",{className:"min-h-screen gradient-subtle-purple",children:[a.jsx("div",{className:"fixed top-0 left-0 w-full h-full gradient-subtle-purple -z-10"}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"py-24 pt-40",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-purple mb-8 font-playfair",children:"Designed for the Team – Tailored for the Individual"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-4xl mx-auto",children:"Relevant, engaging, personal. Pacy customizes every program to match the unique needs and challenges of each team. With our AI mentor, every employee gets an interactive, challenging, and personalized experience – one they'll want to return to, again."}),a.jsx("div",{className:"mt-8",children:a.jsx("a",{href:"/contact",children:a.jsx(W,{variant:"gradient",size:"lg",children:"Contact us for demo"})})})]})}),a.jsx("section",{className:"py-24",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsxs("div",{className:"text-center mb-16",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-purple mb-8 font-playfair",children:"From Idea to Finished Training Program"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-4xl mx-auto leading-relaxed",children:"Get started with Pacy – simple, fast, and completely customized for you."})]}),a.jsxs("div",{className:"grid lg:grid-cols-2 gap-16",children:[a.jsxs("div",{className:"space-y-8",children:[a.jsx("h3",{className:"text-2xl font-bold gradient-text-purple font-playfair",children:"The Challenge"}),a.jsx("p",{className:"text-base text-muted-foreground leading-relaxed",children:"Developing your team's skills is important – but we know it's often difficult for you as a manager to also have time to plan, structure, and follow up on an entire training program."}),a.jsxs("p",{className:"text-base text-muted-foreground leading-relaxed",children:["You don't need a training department or a ready-made plan. With AI, Pacy creates a ",a.jsx("strong",{children:"customized training program"})," based on your team's needs and delivers it in a way that requires minimal administration on your part."]})]}),a.jsxs("div",{className:"space-y-8 glass-effect p-8 rounded-xl hover-gradient-scale",children:[a.jsx("h3",{className:"text-2xl font-bold gradient-text-purple font-playfair",children:"Let Pacy Handle Your Team's Development"}),a.jsx("ul",{className:"space-y-6",children:nM.map((t,e)=>a.jsxs("li",{className:"flex items-start space-x-4",children:[a.jsx("div",{className:"w-8 h-8 bg-purple rounded-full flex items-center justify-center flex-shrink-0 mt-1",children:a.jsx("span",{className:"text-white text-sm font-bold",children:"✓"})}),a.jsxs("div",{children:[a.jsx("h4",{className:"font-bold text-foreground mb-1",children:t.title}),a.jsx("p",{className:"text-muted-foreground text-sm",children:t.description})]})]},e))})]})]})]})}),a.jsx("section",{className:"py-24 gradient-purple-blue",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsxs("div",{className:"text-center mb-16",children:[a.jsx("h2",{className:"text-3xl lg:text-4xl font-bold text-white font-playfair mb-8",children:"How to Build Your Own Training Program"}),a.jsx("p",{className:"text-base text-white/90 max-w-4xl mx-auto leading-relaxed",children:"A simple 5-step process from initial workshop to full team certification."})]}),a.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:sM.map((t,e)=>a.jsxs("div",{className:"text-center space-y-4 glass-effect p-6 rounded-xl",children:[a.jsx("div",{className:"w-16 h-16 bg-purple rounded-full mx-auto flex items-center justify-center",children:a.jsx("span",{className:"text-white font-bold text-xl",children:e+1})}),a.jsx("h3",{className:"text-lg font-bold text-white",children:t.title}),a.jsx("p",{className:"text-white/70 text-sm leading-relaxed",children:t.description})]},e))})]})}),a.jsx("section",{className:"py-24",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6 text-center",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-purple mb-8 font-playfair",children:"Ready to Get Started?"}),a.jsx("p",{className:"text-lg text-muted-foreground mb-12 leading-relaxed",children:"The program is specifically adapted to the conditions and challenges your organization faces. Book a meeting with us to see how Pacy can transform your team's development."}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 justify-center items-center",children:[a.jsx("a",{href:"/contact",children:a.jsx(W,{variant:"gradient",size:"lg",children:"Book meeting now"})}),a.jsx("a",{href:"/workshop",children:a.jsx(W,{variant:"outline",size:"lg",children:"Learn about our workshop"})})]})]})})]}),a.jsx(ze,{})]}),nM=[{title:"No planning needed",description:"Pacy builds the program for you using AI"},{title:"No coordination required",description:"Pacy adapts the setup to your team's work schedule"},{title:"No manual follow-up",description:"You get ongoing insights about progression and engagement"},{title:"No platform work",description:"The program is delivered through a smooth mobile experience"},{title:"Use your own content",description:"Internal policies, guides, and documents become live training"}],sM=[{title:"Startup Workshop",description:"1.5 hours to define goals, challenges, and your context. Result: Foundation for an accurate program."},{title:"AI Program Building",description:"Using AI, workshop insights, and source materials, we create a training program based on our HIST framework."},{title:"Team Access",description:"All participants get an app invitation. No installation or setup required – just start learning."},{title:"Easy Tracking",description:"Get an overview of participation, progress, and status – without having to chase anyone."},{title:"Certification",description:"You choose if participants qualify after each chapter or prefer clear certification at program end."}],aM=()=>a.jsxs("div",{className:"min-h-screen flex flex-col",children:[a.jsx(ue,{}),a.jsx("main",{className:"flex-1 bg-gradient-subtle-purple",children:a.jsx("div",{className:"container mx-auto px-4 py-16 md:py-24",children:a.jsxs("div",{className:"max-w-3xl mx-auto",children:[a.jsxs("div",{className:"text-center mb-12",children:[a.jsx("h1",{className:"text-4xl md:text-5xl font-bold mb-4 gradient-text",children:"Pacy Podcast"}),a.jsx("p",{className:"text-lg text-muted-foreground",children:"Insights, inspiration and innovation in learning"})]}),a.jsx("div",{className:"glass-effect rounded-2xl p-8 md:p-12 shadow-lg",children:a.jsxs("div",{className:"space-y-6",children:[a.jsx("div",{className:"flex items-center justify-center",children:a.jsx("div",{className:"w-full max-w-2xl",children:a.jsx("iframe",{title:"Libsyn Player",style:{border:"none"},src:"//html5-player.libsyn.com/embed/episode/id/38589875/height/90/theme/custom/thumbnail/yes/direction/forward/render-playlist/no/custom-color/d8c7fe/",height:"90",width:"100%",scrolling:"no",allowFullScreen:!0,allow:"autoplay"})})}),a.jsx("div",{className:"text-center pt-6 border-t border-border/50",children:a.jsx("p",{className:"text-sm text-muted-foreground",children:"Listen to our latest episode and discover how modern learning transforms businesses"})})]})}),a.jsxs("div",{className:"mt-12 text-center",children:[a.jsx("p",{className:"text-muted-foreground mb-6",children:"Want to learn more about transforming your organization through effective learning?"}),a.jsxs("a",{href:"/contact",className:"inline-flex items-center gap-2 px-6 py-3 rounded-lg bg-primary/10 hover:bg-primary/20 text-primary transition-colors",children:["Get in touch",a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:a.jsx("path",{d:"m9 18 6-6-6-6"})})]})]})]})})}),a.jsx(ze,{})]}),iM=[{id:"change-fatigue",title:"Why 6 out of 10 say no to change",excerpt:"The change fatigue crisis is here: only 38% of employees accept organizational changes today, compared to 74% in 2016. Meanwhile, 75% of companies use AI but only train 33% of their staff.",author:"Joakim Liljedahl",date:"2025-08-22",dateFormatted:"August 22, 2025",readTime:"8 min read",category:"change",categoryLabel:"Change Management",tags:["Change Management","Neuroscience","Microlearning","HIST"],content:a.jsxs("div",{className:"prose prose-lg max-w-none space-y-8",children:[a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"The Crisis: 62% Fewer Employees Accept Change"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:"Organizational changes today face an unexpected opponent: exhausted employees. New research from Gartner shows a dramatic development – while 74% of employees were willing to support organizational changes in 2016, the figure has dropped to only 38% today."}),a.jsxs("div",{className:"bg-destructive/10 border border-destructive/20 rounded-lg p-6 my-6",children:[a.jsx("p",{className:"text-foreground font-semibold mb-2",children:"Key Statistics:"}),a.jsxs("ul",{className:"space-y-2 text-muted-foreground",children:[a.jsx("li",{children:"• 89% of professionals experience burnout"}),a.jsx("li",{children:'• 20% cite "constant changes" as the main cause'}),a.jsx("li",{children:"• 38% consider leaving without another job lined up"})]})]})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"Change Fatigue: More Than Just Tiredness"}),a.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-6",children:[a.jsx("strong",{className:"text-foreground",children:"Change fatigue is more than just tiredness"})," – it's a collective exhaustion that occurs when employees are exposed to too many changes in too short a time. The phenomenon manifests as apathy, cynicism and active resistance to new initiatives."]}),a.jsxs("div",{className:"grid md:grid-cols-2 gap-6 my-8",children:[a.jsxs("div",{className:"bg-card border rounded-lg p-6",children:[a.jsx("h4",{className:"font-semibold text-foreground mb-3",children:"Warning Signs"}),a.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[a.jsx("li",{children:"• Low participation in training programs"}),a.jsx("li",{children:"• Increased sick leave during change periods"}),a.jsx("li",{children:"• Cynical attitudes toward new initiatives"}),a.jsx("li",{children:"• Higher staff turnover"}),a.jsx("li",{children:"• Decreased productivity despite investments"})]})]}),a.jsxs("div",{className:"bg-primary/5 border border-primary/20 rounded-lg p-6",children:[a.jsx("h4",{className:"font-semibold text-foreground mb-3",children:"The AI Paradox"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"75% of organizations use AI, but only 33% have trained their employees on the technology, creating a dangerous gap between expectations and capability."})]})]})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"Neuroscience Solution: Less is More"}),a.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-6",children:["Paradoxically, neuroscience suggests that the solution to change fatigue lies in doing ",a.jsx("strong",{className:"text-foreground",children:"less, not more"}),". Harvard research shows that students using well-designed AI tutors learned twice as much in shorter time."]}),a.jsxs("div",{className:"bg-primary/5 border border-primary/20 rounded-lg p-6 my-6",children:[a.jsx("h4",{className:"font-semibold text-foreground mb-4",children:"Scientific Principles"}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{children:[a.jsx("h5",{className:"font-medium text-foreground",children:"Cognitive Load Theory"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Shorter, focused sessions (5-15 minutes) reduce mental fatigue while increasing retention"})]}),a.jsxs("div",{children:[a.jsx("h5",{className:"font-medium text-foreground",children:"Active Recall"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Creates stronger memory formation than passive consumption"})]}),a.jsxs("div",{children:[a.jsx("h5",{className:"font-medium text-foreground",children:"Spaced Repetition"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Helps employees retain knowledge longer"})]})]})]})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"HIST Methodology: Practical Solution"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:"Pacy.ai's HIST methodology (High Intensity Skill Training) is specifically designed to counteract change fatigue by combining neuroscience with practical application:"}),a.jsx("div",{className:"grid gap-4 my-6",children:[{title:"Microlearning as Antidote",desc:"5-10 minute intensive training blocks that fit into the workday"},{title:"AI Personalization",desc:"Each session adapted to the user's level and specific needs"},{title:"Active Engagement",desc:"Training with AI support instead of passive consumption"},{title:"Flexible Implementation",desc:"Employees can train when they have energy and capacity"}].map(t=>a.jsxs("div",{className:"flex items-start gap-4 p-4 bg-accent/10 rounded-lg",children:[a.jsx("div",{className:"w-2 h-2 bg-primary rounded-full mt-2"}),a.jsxs("div",{children:[a.jsx("h5",{className:"font-medium text-foreground",children:t.title}),a.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]})]},t.title))})]}),a.jsxs("section",{className:"bg-gradient-to-r from-primary/5 to-accent/5 border border-primary/20 rounded-lg p-8 mt-12",children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4",children:"The Future: From Change Fatigue to Change Fitness"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:'Instead of trying to eliminate change, organizations must build "change fitness": the ability to handle continuous change without exhaustion.'}),a.jsx("p",{className:"text-lg font-semibold text-foreground",children:"The time for change is now – but this time it's about changing how we change."})]})]})},{id:"ai-agents-2025",title:"AI agents take over the workplace 2025",excerpt:"AI agents will fundamentally change Swedish workplaces as early as 2025. According to the World Economic Forum, 170 million new jobs are created while 92 million disappear.",author:"Joakim Liljedahl",date:"2025-08-21",dateFormatted:"August 21, 2025",readTime:"10 min read",category:"ai",categoryLabel:"AI & Technology",tags:["AI Agents","Swedish Market","Future of Work"],content:a.jsxs("div",{className:"prose prose-lg max-w-none space-y-8",children:[a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"The Biggest Upheaval Since Industrialization"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:"Imagine if your most productive employee could suddenly clone themselves a thousand times over, work around the clock without breaks, and simultaneously become smarter with every task performed. This isn't science fiction – these are AI agents, and they will fundamentally transform Swedish workplaces as early as 2025."}),a.jsxs("div",{className:"bg-primary/10 border border-primary/20 rounded-lg p-6 my-6",children:[a.jsx("p",{className:"text-foreground font-semibold mb-2",children:"World Economic Forum Report:"}),a.jsxs("div",{className:"grid md:grid-cols-2 gap-4 text-sm",children:[a.jsxs("div",{className:"text-green-600",children:[a.jsx("span",{className:"font-medium",children:"+170 million"}),a.jsx("p",{className:"text-muted-foreground",children:"New jobs created"})]}),a.jsxs("div",{className:"text-red-600",children:[a.jsx("span",{className:"font-medium",children:"-92 million"}),a.jsx("p",{className:"text-muted-foreground",children:"Jobs displaced"})]})]})]})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"The Silent Revolution Already Underway"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:"While many Swedish business leaders are still discussing whether to implement ChatGPT in the workplace, the global AI revolution has already shifted into the next gear. Google reports that 25% of all new code is now generated by AI, and Meta has announced plans to replace mid-level engineers with AI tools as early as 2025."}),a.jsxs("div",{className:"bg-destructive/10 border border-destructive/20 rounded-lg p-6 my-6",children:[a.jsx("h4",{className:"font-semibold text-foreground mb-3",children:"Swedish Companies Are Falling Behind"}),a.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-2xl font-bold text-destructive",children:"63%"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Swedish professionals using AI"})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-2xl font-bold text-primary",children:"75%"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Global average"})]})]}),a.jsxs("p",{className:"text-sm text-muted-foreground mt-4",children:[a.jsx("strong",{className:"text-foreground",children:"39% of today's skills"})," will be obsolete within five years"]})]})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"AI Agents: From Assistant to Autonomous Colleague"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:"What's the difference between today's AI tools and the AI agents that will dominate 2025? Think of it as the difference between a hammer and a craftsman. Today's AI tools like ChatGPT are powerful, but they require constant human guidance. AI agents are autonomous systems that can plan, execute and learn from experiences."}),a.jsxs("div",{className:"grid md:grid-cols-2 gap-6 my-8",children:[a.jsxs("div",{className:"bg-card border rounded-lg p-6",children:[a.jsx("h4",{className:"font-semibold text-foreground mb-3",children:"Current AI Tools"}),a.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[a.jsx("li",{children:"• Require constant human guidance"}),a.jsx("li",{children:"• Execute single tasks"}),a.jsx("li",{children:"• Need detailed instructions"}),a.jsx("li",{children:"• Limited context memory"})]})]}),a.jsxs("div",{className:"bg-primary/5 border border-primary/20 rounded-lg p-6",children:[a.jsx("h4",{className:"font-semibold text-foreground mb-3",children:"AI Agents (2025)"}),a.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[a.jsx("li",{children:"• Autonomous planning and execution"}),a.jsx("li",{children:"• Handle complex workflows"}),a.jsx("li",{children:"• Learn from experience"}),a.jsx("li",{children:"• Continuous improvement"})]})]})]})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"Sweden's Paradoxical Position"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:'The Swedish situation is paradoxical. Swedish SMEs use AI more than many other countries, yet most lack strategy and resources for effective integration. A telling example is "shadow AI": 86% of Swedes who use AI at work do so with privately acquired tools, compared to 78% globally.'}),a.jsxs("div",{className:"bg-accent/10 border border-accent/20 rounded-lg p-6 my-6",children:[a.jsx("h4",{className:"font-semibold text-foreground mb-3",children:"The Shadow AI Phenomenon"}),a.jsx("p",{className:"text-muted-foreground mb-4",children:"Employees are ready and willing, but companies haven't provided official solutions and strategies."}),a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsxs("div",{className:"text-center",children:[a.jsx("p",{className:"text-2xl font-bold text-foreground",children:"86%"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Swedish workers"})]}),a.jsx("div",{className:"text-muted-foreground",children:"vs"}),a.jsxs("div",{className:"text-center",children:[a.jsx("p",{className:"text-2xl font-bold text-muted-foreground",children:"78%"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Global average"})]})]})]})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"The Strategic Turn: From Tools to Transformation"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:"Here's the crucial insight many Swedish companies miss: AI transformation isn't about adding AI tools to existing processes. It's about fundamentally reconsidering entire work methods and organizational structures."}),a.jsxs("div",{className:"bg-destructive/10 border border-destructive/20 rounded-lg p-6 my-6",children:[a.jsx("h4",{className:"font-semibold text-foreground mb-3",children:"McKinsey Findings"}),a.jsx("p",{className:"text-muted-foreground",children:"8 out of 10 companies have implemented generative AI, but roughly the same proportion see no material impact. Why? They treat AI as an add-on rather than a catalyst for transformation."})]}),a.jsxs("div",{className:"space-y-6 mt-8",children:[a.jsx("h4",{className:"font-semibold text-foreground",children:"Successful Organizations Focus On:"}),a.jsx("div",{className:"grid gap-4",children:[{num:1,title:"Systematic Competence Development",desc:"Individual AI courses aren't enough. Build continuous learning into organizational culture."},{num:2,title:"Balanced Investments",desc:"Combine short-term gains with long-term strategic investments."},{num:3,title:"Clear AI Strategies",desc:"Define concrete goals and guidelines for AI use."}].map(t=>a.jsxs("div",{className:"flex items-start gap-4 p-4 bg-primary/5 rounded-lg border border-primary/20",children:[a.jsx("div",{className:"w-8 h-8 bg-primary text-primary-foreground rounded-full flex items-center justify-center text-sm font-bold",children:t.num}),a.jsxs("div",{children:[a.jsx("h5",{className:"font-medium text-foreground",children:t.title}),a.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]})]},t.num))})]})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"Action Plan for Swedish Companies"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:"Based on World Economic Forum recommendations and Swedish success examples, here's a practical action plan:"}),a.jsx("div",{className:"space-y-6",children:[{title:"Step 1: Map Your AI Maturity",desc:"Where is your organization today? Are you in the experimental phase, do you have isolated AI initiatives, or are you working toward integrated AI use?"},{title:"Step 2: Build a Cross-Functional AI Taskforce",desc:"Include not just IT and management, but representatives from all departments. Your frontline employees know best where AI can make the biggest difference."},{title:'Step 3: Implement "AI-First" Thinking',desc:'For every new process or system update, ask first: "How can AI improve this?" This mindset shift is crucial for success.'}].map(t=>a.jsxs("div",{className:"bg-card border rounded-lg p-6",children:[a.jsx("h4",{className:"font-semibold text-foreground mb-3",children:t.title}),a.jsx("p",{className:"text-muted-foreground text-sm",children:t.desc})]},t.title))})]}),a.jsxs("section",{className:"bg-gradient-to-r from-primary/5 to-accent/5 border border-primary/20 rounded-lg p-8 mt-12",children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4",children:"The Time for Action is Now"}),a.jsx("p",{className:"text-lg font-semibold text-foreground",children:"The Swedish companies that act today will lead tomorrow's market."})]})]})}],oM=[{value:"all",label:"All articles"},{value:"ai",label:"AI & Technology"},{value:"change",label:"Change Management"},{value:"neuroscience",label:"Neuroscience"},{value:"strategy",label:"Strategy"}],lM=["AI Agents","Change Management","Neuroscience","Microlearning","HIST","Swedish Market","Future of Work"],Vx={all:"bg-primary",ai:"bg-purple",change:"bg-orange",neuroscience:"bg-green",strategy:"bg-lightblue"},cM=()=>{const[t,e]=p.useState("all"),[r,n]=p.useState([]),[s,i]=p.useState(null),[o,l]=p.useState(!1);p.useEffect(()=>{document.title="Blog - Pacy AI Learning Insights";const u=document.querySelector('meta[name="description"]');u&&u.setAttribute("content","Discover insights about AI-driven education, change fatigue and the future of professional development.")},[]),p.useEffect(()=>{s&&window.scrollTo({top:0,behavior:"smooth"})},[s]);const c=u=>{n(h=>h.includes(u)?h.filter(m=>m!==u):[...h,u])},d=iM.filter(u=>{const h=t==="all"||u.category===t,m=r.length===0||r.some(f=>u.tags.includes(f));return h&&m});return s?a.jsxs("div",{className:"min-h-screen bg-background",children:[a.jsx(ue,{}),a.jsx("main",{className:"pt-20",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6 py-8",children:[a.jsxs("button",{onClick:()=>i(null),className:"flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors mb-8 group",children:[a.jsx(HS,{size:18,className:"group-hover:-translate-x-1 transition-transform"}),a.jsx("span",{children:"Back to all articles"})]}),a.jsxs("nav",{className:"flex items-center gap-2 text-sm text-muted-foreground mb-8",children:[a.jsx("button",{onClick:()=>i(null),className:"hover:text-foreground transition-colors",children:"Blog"}),a.jsx("span",{children:"›"}),a.jsx("span",{className:"text-foreground",children:s.title})]}),a.jsxs("article",{className:"bg-card rounded-lg p-8 shadow-sm border",children:[a.jsxs("header",{className:"mb-10",children:[a.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[a.jsx("span",{className:`text-xs font-semibold text-white px-3 py-1 rounded-full ${Vx[s.category]}`,children:s.categoryLabel}),a.jsx("span",{className:"text-sm text-muted-foreground",children:s.dateFormatted}),a.jsx("span",{className:"text-sm text-muted-foreground",children:"•"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:s.readTime})]}),a.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6 leading-tight",children:s.title}),a.jsx("div",{className:"bg-accent/20 border-l-4 border-primary p-6 rounded-r-lg mb-6",children:a.jsx("p",{className:"text-lg leading-relaxed text-foreground font-medium",children:s.excerpt})}),a.jsx("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:a.jsx("span",{className:"font-medium",children:s.author})})]}),s.content]})]})}),a.jsx(ze,{})]}):a.jsxs("div",{className:"min-h-screen bg-background",children:[a.jsx(ue,{}),a.jsxs("main",{className:"pt-20",children:[a.jsxs("section",{className:"relative py-20 md:py-28 bg-black overflow-hidden",children:[a.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-primary/30 via-black to-accent/20"}),a.jsxs("div",{className:"relative max-w-7xl mx-auto px-6",children:[a.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold text-white mb-6 max-w-2xl",children:"AI-Driven Learning Insights"}),a.jsx("p",{className:"text-lg md:text-xl text-white/80 max-w-xl",children:"Expert insights on the future of professional development, neuroscience and AI transformation in the workplace."})]})]}),a.jsx("div",{className:"max-w-7xl mx-auto px-6 py-6",children:a.jsxs("nav",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[a.jsx("a",{href:"/",className:"hover:text-foreground transition-colors",children:"Home"}),a.jsx("span",{children:"›"}),a.jsx("span",{className:"text-foreground font-medium",children:"Blog"})]})}),a.jsx("div",{className:"max-w-7xl mx-auto px-6",children:a.jsx("div",{className:"flex items-center gap-1 border-b border-border overflow-x-auto",children:oM.map(u=>a.jsx("button",{onClick:()=>e(u.value),className:`px-4 py-3 text-sm font-medium whitespace-nowrap transition-colors border-b-2 -mb-px ${t===u.value?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground hover:border-border"}`,children:u.label},u.value))})}),a.jsx("div",{className:"max-w-7xl mx-auto px-6 pt-6",children:a.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[a.jsx("button",{onClick:()=>l(!o),className:"text-sm text-muted-foreground hover:text-foreground transition-colors underline underline-offset-2",children:o?"Hide filters":"Show filters"}),o&&a.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:lM.map(u=>a.jsxs("button",{onClick:()=>c(u),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-full text-xs font-medium border transition-colors ${r.includes(u)?"bg-primary text-primary-foreground border-primary":"bg-background text-muted-foreground border-border hover:border-foreground/30 hover:text-foreground"}`,children:[!r.includes(u)&&a.jsx("span",{className:"text-base leading-none",children:"+"}),u]},u))})]})}),a.jsx("div",{className:"max-w-7xl mx-auto px-6 py-10",children:d.length===0?a.jsxs("div",{className:"text-center py-20",children:[a.jsx("p",{className:"text-muted-foreground text-lg",children:"No articles found matching your filters."}),a.jsx("button",{onClick:()=>{e("all"),n([])},className:"mt-4 text-primary hover:underline text-sm",children:"Clear all filters"})]}):a.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:d.map(u=>a.jsxs("button",{onClick:()=>i(u),className:"group text-left bg-card border rounded-lg overflow-hidden shadow-sm hover:shadow-md transition-all duration-300 hover:-translate-y-1",children:[a.jsxs("div",{className:"relative h-48 bg-gradient-to-br from-primary/20 via-accent/10 to-primary/5 overflow-hidden",children:[a.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:a.jsx("span",{className:"text-5xl font-bold text-primary/10",children:u.title.charAt(0)})}),a.jsx("div",{className:"absolute top-3 right-3",children:a.jsx("span",{className:`text-xs font-semibold text-white px-3 py-1 rounded-full ${Vx[u.category]}`,children:u.categoryLabel})})]}),a.jsxs("div",{className:"p-5",children:[a.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground mb-3",children:[a.jsx("time",{dateTime:u.date,children:u.dateFormatted}),a.jsx("span",{children:"•"}),a.jsx("span",{children:u.readTime})]}),a.jsx("h2",{className:"text-lg font-bold text-foreground mb-2 group-hover:text-primary transition-colors leading-snug",children:u.title}),a.jsx("p",{className:"text-sm text-muted-foreground line-clamp-3 mb-4",children:u.excerpt}),a.jsx("span",{className:"text-sm font-medium text-primary group-hover:underline",children:"Read more →"})]})]},u.id))})})]}),a.jsx(ze,{})]})},Hx=()=>{const{lang:t,prefix:e}=Kn(),r=t==="sv",[n,s]=p.useState([{id:"1",text:r?"Hej, jag är Pacy! Vad kan jag hjälpa dig med?":"Hi I'm Pacy, what can I help you with?",sender:"ai",timestamp:new Date}]),[i,o]=p.useState(""),[l,c]=p.useState(!1),d=p.useRef(null),u=()=>{var f;(f=d.current)==null||f.scrollIntoView({behavior:"smooth"})};p.useEffect(()=>{u()},[n,l]);const h=async()=>{if(!i.trim())return;const f={id:Date.now().toString(),text:i,sender:"user",timestamp:new Date};s(x=>[...x,f]);const b=i;o(""),c(!0);try{const x=n.slice(1).slice(-10).map(v=>({role:v.sender==="user"?"user":"assistant",content:v.text})),{data:w,error:y}=await Lm.functions.invoke("chat-with-ai",{body:{message:b,conversationHistory:x}});if(y)throw new Error(r?"Fel vid kommunikation med AI-tjänsten":"Error communicating with AI service");const g={id:(Date.now()+1).toString(),text:w.response||w.fallback||(r?"Ursäkta, jag kunde inte generera ett svar just nu.":"Sorry, I could not generate a response right now."),sender:"ai",timestamp:new Date};s(v=>[...v,g])}catch(x){console.error("Error:",x);const w={id:(Date.now()+1).toString(),text:r?"Ursäkta, jag har tekniska problem just nu. Vänligen försök igen om en stund. 🤖":"Sorry, I am experiencing technical issues. Please try again shortly. 🤖",sender:"ai",timestamp:new Date};s(y=>[...y,w])}finally{c(!1)}},m=f=>{f.key==="Enter"&&h()};return a.jsxs("div",{className:"gradient-purple-blue flex flex-col relative overflow-hidden",style:{height:"100vh",minHeight:"100vh",paddingTop:"env(safe-area-inset-top)",paddingBottom:"env(safe-area-inset-bottom)"},children:[a.jsx("div",{className:"fixed top-16 right-4 z-50",children:a.jsx("a",{href:e||"/",children:a.jsx(W,{variant:"ghost",size:"icon",className:"text-white hover:bg-white/20 bg-black/20 backdrop-blur-sm border border-white/20",children:a.jsx(Vc,{className:"h-6 w-6"})})})}),a.jsxs("div",{className:"flex-1 overflow-y-auto space-y-4 p-4 pb-20 pt-28",children:[n.map(f=>a.jsx("div",{className:`flex ${f.sender==="user"?"justify-end":"justify-start"}`,children:a.jsxs("div",{className:`max-w-[85%] p-4 rounded-2xl backdrop-blur-sm ${f.sender==="user"?"bg-white/20 text-white border border-white/30":"bg-black/20 text-white border border-white/20"}`,children:[a.jsx("div",{className:"text-sm lg:text-base leading-relaxed whitespace-pre-line",children:f.text}),a.jsx("span",{className:"text-xs opacity-70 mt-2 block",children:f.timestamp.toLocaleTimeString()})]})},f.id)),l&&a.jsx("div",{className:"flex justify-start",children:a.jsx("div",{className:"bg-black/20 text-white border border-white/20 max-w-[85%] p-4 rounded-2xl backdrop-blur-sm",children:a.jsxs("div",{className:"flex space-x-1",children:[a.jsx("div",{className:"w-2 h-2 bg-white/60 rounded-full animate-bounce"}),a.jsx("div",{className:"w-2 h-2 bg-white/60 rounded-full animate-bounce",style:{animationDelay:"0.1s"}}),a.jsx("div",{className:"w-2 h-2 bg-white/60 rounded-full animate-bounce",style:{animationDelay:"0.2s"}})]})})}),a.jsx("div",{ref:d})]}),a.jsx("div",{className:"bg-black/20 backdrop-blur-sm border-t border-white/20 p-4 w-full fixed bottom-0 left-0 right-0 z-30",style:{bottom:"env(safe-area-inset-bottom)",paddingBottom:"16px",paddingLeft:"max(16px, env(safe-area-inset-left) + 16px)",paddingRight:"max(16px, env(safe-area-inset-right) + 16px)"},children:a.jsxs("div",{className:"flex space-x-2 w-full max-w-full",children:[a.jsx(Sr,{value:i,onChange:f=>o(f.target.value),onKeyPress:m,placeholder:r?"Fråga mig vad som helst om Pacys AI-utbildningslösningar...":"Ask me anything about Pacy's AI training solutions...",className:"flex-1 bg-white/10 border-white/20 text-white placeholder:text-white/60 focus:bg-white/15 focus:border-white/30 text-sm min-w-0"}),a.jsx(W,{onClick:h,disabled:!i.trim(),size:"icon",className:"bg-white/20 hover:bg-white/30 text-white border border-white/30 flex-shrink-0 w-10 h-10",children:a.jsx(JS,{className:"h-4 w-4"})})]})})]})},dM=()=>(p.useEffect(()=>{const t=document.createElement("script");return t.id="termly-jssdk",t.src="https://app.termly.io/embed-policy.min.js",t.type="text/javascript",document.getElementById("termly-jssdk")||document.head.appendChild(t),()=>{const e=document.getElementById("termly-jssdk");e&&e.remove()}},[]),a.jsxs("div",{className:"min-h-screen bg-gray-50",children:[a.jsx("div",{className:"bg-white border-b",children:a.jsx("div",{className:"max-w-4xl mx-auto px-6 py-8",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("h1",{className:"text-3xl font-bold text-gray-900",children:"Privacy Policy"}),a.jsx("a",{href:"/",className:"text-blue-600 hover:text-blue-800 font-medium",children:"← Back to Home"})]})})}),a.jsx("div",{className:"max-w-4xl mx-auto px-6 py-12",children:a.jsxs("div",{className:"bg-white rounded-lg shadow-sm p-8",children:[a.jsx("div",{name:"termly-embed","data-id":"61f3bccf-6bae-4001-9c35-945586441dc3",className:"min-h-96"}),a.jsxs("div",{className:"text-center py-12 text-gray-500",children:[a.jsx("p",{children:"Loading privacy policy..."}),a.jsx("p",{className:"text-sm mt-2",children:"If the policy doesn't load, please enable JavaScript or contact support."})]})]})})]})),uM=()=>(p.useEffect(()=>{const t=document.createElement("script");return t.id="termly-jssdk",t.src="https://app.termly.io/embed-policy.min.js",t.type="text/javascript",document.getElementById("termly-jssdk")||document.head.appendChild(t),()=>{const e=document.getElementById("termly-jssdk");e&&e.remove()}},[]),a.jsxs("div",{className:"min-h-screen bg-gray-50",children:[a.jsx("div",{className:"bg-white border-b",children:a.jsx("div",{className:"max-w-4xl mx-auto px-6 py-8",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("h1",{className:"text-3xl font-bold text-gray-900",children:"Terms of Service"}),a.jsx("a",{href:"/",className:"text-blue-600 hover:text-blue-800 font-medium",children:"← Back to Home"})]})})}),a.jsx("div",{className:"max-w-4xl mx-auto px-6 py-12",children:a.jsxs("div",{className:"bg-white rounded-lg shadow-sm p-8",children:[a.jsx("div",{name:"termly-embed","data-id":"ae12f59f-1719-4431-b9ac-4c084bbbc55a",className:"min-h-96"}),a.jsxs("div",{className:"text-center py-12 text-gray-500",children:[a.jsx("p",{children:"Loading terms of service..."}),a.jsx("p",{className:"text-sm mt-2",children:"If the terms don't load, please enable JavaScript or contact support."})]})]})})]})),hM=()=>a.jsxs("div",{className:"min-h-screen bg-gray-50",children:[a.jsx("div",{className:"bg-white border-b",children:a.jsx("div",{className:"max-w-4xl mx-auto px-6 py-8",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("h1",{className:"text-3xl font-bold text-gray-900",children:"Cookie Policy"}),a.jsx("a",{href:"/",className:"text-blue-600 hover:text-blue-800 font-medium",children:"← Back to Home"})]})})}),a.jsx("div",{className:"max-w-4xl mx-auto px-6 py-12",children:a.jsx("div",{className:"bg-white rounded-lg shadow-sm p-8",children:a.jsxs("div",{className:"prose max-w-none",children:[a.jsx("h2",{children:"Cookie Policy"}),a.jsxs("p",{className:"text-gray-600 mb-6",children:["Last updated: ",new Date().toLocaleDateString()]}),a.jsxs("div",{className:"space-y-6 text-gray-700",children:[a.jsxs("section",{children:[a.jsx("h3",{className:"text-xl font-semibold text-gray-900 mb-3",children:"What are cookies?"}),a.jsx("p",{children:"Cookies are small text files that are placed on your device when you visit our website. They help us provide you with a better experience by remembering your preferences and usage patterns."})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-xl font-semibold text-gray-900 mb-3",children:"How we use cookies"}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{children:[a.jsx("h4",{className:"font-semibold",children:"Essential Cookies"}),a.jsx("p",{children:"These cookies are necessary for the website to function properly and cannot be disabled."})]}),a.jsxs("div",{children:[a.jsx("h4",{className:"font-semibold",children:"Analytics Cookies"}),a.jsx("p",{children:"We use these cookies to understand how visitors interact with our website, helping us improve our services."})]}),a.jsxs("div",{children:[a.jsx("h4",{className:"font-semibold",children:"Functional Cookies"}),a.jsx("p",{children:"These cookies enhance functionality and personalization, such as remembering your preferences."})]})]})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-xl font-semibold text-gray-900 mb-3",children:"Managing cookies"}),a.jsx("p",{children:"You can control and manage cookies through your browser settings. Please note that disabling cookies may affect the functionality of our website."}),a.jsxs("ul",{className:"list-disc pl-6 mt-3 space-y-1",children:[a.jsx("li",{children:"Chrome: Settings → Privacy and security → Cookies"}),a.jsx("li",{children:"Firefox: Settings → Privacy & Security → Cookies"}),a.jsx("li",{children:"Safari: Preferences → Privacy → Cookies"}),a.jsx("li",{children:"Edge: Settings → Cookies and site permissions"})]})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-xl font-semibold text-gray-900 mb-3",children:"Third-party cookies"}),a.jsx("p",{children:"We may use third-party services that place cookies on your device. These include analytics providers and marketing tools that help us improve our services."})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-xl font-semibold text-gray-900 mb-3",children:"Contact us"}),a.jsxs("p",{children:["If you have questions about our Cookie Policy, please ",a.jsx("a",{href:"/contact",className:"text-blue-600 hover:underline",children:"contact us"}),"."]})]})]})]})})})]}),fM=()=>(p.useEffect(()=>{const t=document.createElement("script");return t.id="termly-jssdk",t.src="https://app.termly.io/embed-policy.min.js",t.type="text/javascript",document.getElementById("termly-jssdk")||document.head.appendChild(t),()=>{const e=document.getElementById("termly-jssdk");e&&e.remove()}},[]),a.jsxs("div",{className:"min-h-screen bg-gray-50",children:[a.jsx("div",{className:"bg-white border-b",children:a.jsx("div",{className:"max-w-4xl mx-auto px-6 py-8",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("h1",{className:"text-3xl font-bold text-gray-900",children:"Disclaimer"}),a.jsx("a",{href:"/",className:"text-blue-600 hover:text-blue-800 font-medium",children:"← Back to Home"})]})})}),a.jsx("div",{className:"max-w-4xl mx-auto px-6 py-12",children:a.jsxs("div",{className:"bg-white rounded-lg shadow-sm p-8",children:[a.jsx("div",{name:"termly-embed","data-id":"30caa36a-b199-4d48-b8d5-e96044ee6efa",className:"min-h-96"}),a.jsxs("div",{className:"text-center py-12 text-gray-500",children:[a.jsx("p",{children:"Loading disclaimer..."}),a.jsx("p",{className:"text-sm mt-2",children:"If the disclaimer doesn't load, please enable JavaScript or contact support."})]})]})})]})),mM=()=>(p.useEffect(()=>{const t=document.createElement("script");return t.id="termly-jssdk",t.src="https://app.termly.io/embed-policy.min.js",t.type="text/javascript",document.getElementById("termly-jssdk")||document.head.appendChild(t),()=>{const e=document.getElementById("termly-jssdk");e&&e.remove()}},[]),a.jsxs("div",{className:"min-h-screen bg-gray-50",children:[a.jsx("div",{className:"bg-white border-b",children:a.jsx("div",{className:"max-w-4xl mx-auto px-6 py-8",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("h1",{className:"text-3xl font-bold text-gray-900",children:"End User License Agreement"}),a.jsx("a",{href:"/",className:"text-blue-600 hover:text-blue-800 font-medium",children:"← Back to Home"})]})})}),a.jsx("div",{className:"max-w-4xl mx-auto px-6 py-12",children:a.jsxs("div",{className:"bg-white rounded-lg shadow-sm p-8",children:[a.jsx("div",{name:"termly-embed","data-id":"de0bb077-9994-4ad0-a11f-333297a11ffd",className:"min-h-96"}),a.jsxs("div",{className:"text-center py-12 text-gray-500",children:[a.jsx("p",{children:"Loading end user license agreement..."}),a.jsx("p",{className:"text-sm mt-2",children:"If the EULA doesn't load, please enable JavaScript or contact support."})]})]})})]})),pM=()=>{const t=Es();return p.useEffect(()=>{console.error("404 Error: User attempted to access non-existent route:",t.pathname)},[t.pathname]),a.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gray-100",children:a.jsxs("div",{className:"text-center",children:[a.jsx("h1",{className:"text-4xl font-bold mb-4",children:"404"}),a.jsx("p",{className:"text-xl text-gray-600 mb-4",children:"Oops! Page not found"}),a.jsx("a",{href:"/",className:"text-blue-500 hover:text-blue-700 underline",children:"Return to Home"})]})})},gM=()=>a.jsxs("div",{className:"min-h-screen gradient-subtle-green",children:[a.jsx("div",{className:"fixed top-0 left-0 w-full h-full gradient-subtle-green -z-10"}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"py-24 pt-40",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-blue mb-8 font-playfair",children:"Custom Company Learning Programs"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mx-auto mb-8",children:"AI-powered, fully customized learning programs designed for your team's unique needs."}),a.jsx("div",{className:"text-2xl font-bold gradient-text-blue mb-8",children:"Starting from 150 EUR / month"}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[a.jsx(W,{variant:"gradient-blue",size:"lg",asChild:!0,children:a.jsx("a",{href:"/contact",children:"Get Started Today"})}),a.jsx(W,{variant:"outline",size:"lg",asChild:!0,children:a.jsx("a",{href:"/workshop",children:"Book Free Workshop"})})]})]})}),a.jsx("section",{className:"py-24",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsx("h2",{className:"text-4xl font-bold gradient-text-blue mb-16 text-center font-playfair",children:"Let Pacy handle your team's development"}),a.jsx("div",{className:"grid lg:grid-cols-2 gap-8",children:xM.map((t,e)=>a.jsxs("div",{className:"flex items-start space-x-4 glass-effect p-6 rounded-xl",children:[a.jsx("div",{className:"w-12 h-12 bg-blue rounded-full flex items-center justify-center flex-shrink-0",children:a.jsx(t.icon,{className:"text-white",size:20})}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-bold gradient-text-blue mb-2",children:t.title}),a.jsx("p",{className:"text-muted-foreground text-sm",children:t.description})]})]},e))})]})}),a.jsx("section",{className:"py-24",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsxs("div",{className:"text-center mb-16",children:[a.jsx("h2",{className:"text-4xl font-bold gradient-text-blue font-playfair mb-8",children:"How It Works"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mx-auto",children:"From consultation to results in just a few simple steps."})]}),a.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:vM.map((t,e)=>a.jsxs("div",{className:"text-center glass-effect p-6 rounded-xl",children:[a.jsx("div",{className:"w-12 h-12 bg-blue rounded-full mx-auto flex items-center justify-center mb-4",children:a.jsx("span",{className:"text-white font-bold text-lg",children:e+1})}),a.jsx("h3",{className:"text-lg font-bold gradient-text-blue mb-2",children:t.title}),a.jsx("p",{className:"text-muted-foreground text-sm",children:t.description})]},e))})]})}),a.jsx("section",{className:"py-24",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6 text-center",children:[a.jsx("h2",{className:"text-4xl font-bold gradient-text-blue mb-8 font-playfair",children:"Ready to Transform Your Team?"}),a.jsx("p",{className:"text-xl text-muted-foreground mb-12",children:"Just one hour of your time creates a complete, customized training program."}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[a.jsx(W,{variant:"gradient-blue",size:"lg",asChild:!0,children:a.jsx("a",{href:"/contact",children:"Get Started Today"})}),a.jsx(W,{variant:"outline",size:"lg",asChild:!0,children:a.jsx("a",{href:"/workshop",children:"Book Free Workshop"})})]})]})})]}),a.jsx(ze,{})]}),xM=[{icon:em,title:"You skip planning",description:"Pacy builds the program for you with AI – no need to structure or create content yourself."},{icon:po,title:"You skip coordinating",description:"Pacy adapts the setup to your team's work schedule for seamless integration."},{icon:Wc,title:"You skip manual follow-up",description:"Get ongoing insights about progression and engagement automatically."},{icon:St,title:"You can use your own content",description:"Internal policies, guides and documents become living training experiences."}],vM=[{title:"Discovery Workshop",description:"1-hour session to understand your goals and organizational context."},{title:"AI Program Creation",description:"Custom curriculum built using AI based on your needs and materials."},{title:"Launch & Optimize",description:"Seamless rollout with ongoing monitoring and refinement."}];var cd="Collapsible",[yM,Kk]=ur(cd),[wM,$m]=yM(cd),Gk=p.forwardRef((t,e)=>{const{__scopeCollapsible:r,open:n,defaultOpen:s,disabled:i,onOpenChange:o,...l}=t,[c,d]=_s({prop:n,defaultProp:s??!1,onChange:o,caller:cd});return a.jsx(wM,{scope:r,disabled:i,contentId:Mn(),open:c,onOpenToggle:p.useCallback(()=>d(u=>!u),[d]),children:a.jsx(fe.div,{"data-state":zm(c),"data-disabled":i?"":void 0,...l,ref:e})})});Gk.displayName=cd;var Jk="CollapsibleTrigger",Qk=p.forwardRef((t,e)=>{const{__scopeCollapsible:r,...n}=t,s=$m(Jk,r);return a.jsx(fe.button,{type:"button","aria-controls":s.contentId,"aria-expanded":s.open||!1,"data-state":zm(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...n,ref:e,onClick:H(t.onClick,s.onOpenToggle)})});Qk.displayName=Jk;var Fm="CollapsibleContent",Yk=p.forwardRef((t,e)=>{const{forceMount:r,...n}=t,s=$m(Fm,t.__scopeCollapsible);return a.jsx(hr,{present:r||s.open,children:({present:i})=>a.jsx(bM,{...n,ref:e,present:i})})});Yk.displayName=Fm;var bM=p.forwardRef((t,e)=>{const{__scopeCollapsible:r,present:n,children:s,...i}=t,o=$m(Fm,r),[l,c]=p.useState(n),d=p.useRef(null),u=Re(e,d),h=p.useRef(0),m=h.current,f=p.useRef(0),b=f.current,x=o.open||l,w=p.useRef(x),y=p.useRef(void 0);return p.useEffect(()=>{const g=requestAnimationFrame(()=>w.current=!1);return()=>cancelAnimationFrame(g)},[]),Ar(()=>{const g=d.current;if(g){y.current=y.current||{transitionDuration:g.style.transitionDuration,animationName:g.style.animationName},g.style.transitionDuration="0s",g.style.animationName="none";const v=g.getBoundingClientRect();h.current=v.height,f.current=v.width,w.current||(g.style.transitionDuration=y.current.transitionDuration,g.style.animationName=y.current.animationName),c(n)}},[o.open,n]),a.jsx(fe.div,{"data-state":zm(o.open),"data-disabled":o.disabled?"":void 0,id:o.contentId,hidden:!x,...i,ref:u,style:{"--radix-collapsible-content-height":m?`${m}px`:void 0,"--radix-collapsible-content-width":b?`${b}px`:void 0,...t.style},children:x&&s})});function zm(t){return t?"open":"closed"}var kM=Gk,jM=Qk,NM=Yk,fr="Accordion",_M=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[Um,SM,CM]=Lc(fr),[dd,v3]=ur(fr,[CM,Kk]),Bm=Kk(),Zk=T.forwardRef((t,e)=>{const{type:r,...n}=t,s=n,i=n;return a.jsx(Um.Provider,{scope:t.__scopeAccordion,children:r==="multiple"?a.jsx(AM,{...i,ref:e}):a.jsx(TM,{...s,ref:e})})});Zk.displayName=fr;var[Xk,EM]=dd(fr),[ej,PM]=dd(fr,{collapsible:!1}),TM=T.forwardRef((t,e)=>{const{value:r,defaultValue:n,onValueChange:s=()=>{},collapsible:i=!1,...o}=t,[l,c]=_s({prop:r,defaultProp:n??"",onChange:s,caller:fr});return a.jsx(Xk,{scope:t.__scopeAccordion,value:T.useMemo(()=>l?[l]:[],[l]),onItemOpen:c,onItemClose:T.useCallback(()=>i&&c(""),[i,c]),children:a.jsx(ej,{scope:t.__scopeAccordion,collapsible:i,children:a.jsx(tj,{...o,ref:e})})})}),AM=T.forwardRef((t,e)=>{const{value:r,defaultValue:n,onValueChange:s=()=>{},...i}=t,[o,l]=_s({prop:r,defaultProp:n??[],onChange:s,caller:fr}),c=T.useCallback(u=>l((h=[])=>[...h,u]),[l]),d=T.useCallback(u=>l((h=[])=>h.filter(m=>m!==u)),[l]);return a.jsx(Xk,{scope:t.__scopeAccordion,value:o,onItemOpen:c,onItemClose:d,children:a.jsx(ej,{scope:t.__scopeAccordion,collapsible:!0,children:a.jsx(tj,{...i,ref:e})})})}),[IM,ud]=dd(fr),tj=T.forwardRef((t,e)=>{const{__scopeAccordion:r,disabled:n,dir:s,orientation:i="vertical",...o}=t,l=T.useRef(null),c=Re(l,e),d=SM(r),h=wm(s)==="ltr",m=H(t.onKeyDown,f=>{var C;if(!_M.includes(f.key))return;const b=f.target,x=d().filter(R=>{var I;return!((I=R.ref.current)!=null&&I.disabled)}),w=x.findIndex(R=>R.ref.current===b),y=x.length;if(w===-1)return;f.preventDefault();let g=w;const v=0,k=y-1,j=()=>{g=w+1,g>k&&(g=v)},N=()=>{g=w-1,g{const{__scopeAccordion:r,value:n,...s}=t,i=ud(gc,r),o=EM(gc,r),l=Bm(r),c=Mn(),d=n&&o.value.includes(n)||!1,u=i.disabled||t.disabled;return a.jsx(RM,{scope:r,open:d,disabled:u,triggerId:c,children:a.jsx(kM,{"data-orientation":i.orientation,"data-state":lj(d),...l,...s,ref:e,disabled:u,open:d,onOpenChange:h=>{h?o.onItemOpen(n):o.onItemClose(n)}})})});rj.displayName=gc;var nj="AccordionHeader",sj=T.forwardRef((t,e)=>{const{__scopeAccordion:r,...n}=t,s=ud(fr,r),i=Wm(nj,r);return a.jsx(fe.h3,{"data-orientation":s.orientation,"data-state":lj(i.open),"data-disabled":i.disabled?"":void 0,...n,ref:e})});sj.displayName=nj;var Yh="AccordionTrigger",aj=T.forwardRef((t,e)=>{const{__scopeAccordion:r,...n}=t,s=ud(fr,r),i=Wm(Yh,r),o=PM(Yh,r),l=Bm(r);return a.jsx(Um.ItemSlot,{scope:r,children:a.jsx(jM,{"aria-disabled":i.open&&!o.collapsible||void 0,"data-orientation":s.orientation,id:i.triggerId,...l,...n,ref:e})})});aj.displayName=Yh;var ij="AccordionContent",oj=T.forwardRef((t,e)=>{const{__scopeAccordion:r,...n}=t,s=ud(fr,r),i=Wm(ij,r),o=Bm(r);return a.jsx(NM,{role:"region","aria-labelledby":i.triggerId,"data-orientation":s.orientation,...o,...n,ref:e,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...t.style}})});oj.displayName=ij;function lj(t){return t?"open":"closed"}var OM=Zk,MM=rj,LM=sj,cj=aj,dj=oj;const hd=OM,No=p.forwardRef(({className:t,...e},r)=>a.jsx(MM,{ref:r,className:pe("border-b",t),...e}));No.displayName="AccordionItem";const _o=p.forwardRef(({className:t,children:e,...r},n)=>a.jsx(LM,{className:"flex",children:a.jsxs(cj,{ref:n,className:pe("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",t),...r,children:[e,a.jsx(tm,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));_o.displayName=cj.displayName;const So=p.forwardRef(({className:t,children:e,...r},n)=>a.jsx(dj,{ref:n,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...r,children:a.jsx("div",{className:pe("pb-4 pt-0",t),children:e})}));So.displayName=dj.displayName;const DM=()=>a.jsxs("div",{className:"min-h-screen gradient-subtle-green",children:[a.jsx("div",{className:"fixed top-0 left-0 w-full h-full gradient-subtle-green -z-10"}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"py-16 pt-32",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-green mb-5 font-playfair",children:"Practical Sales Meeting Training That Actually Gets Used"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-4xl mx-auto mb-6",children:"Pacy trains your salespeople on real sales situations — step by step, over time, with continuous feedback. Without taking time away from the selling day."}),a.jsx(W,{variant:"gradient-green",size:"lg",asChild:!0,children:a.jsx("a",{href:"/contact",children:"Book a Demo"})})]})}),a.jsx("section",{className:"py-12",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-green mb-8 text-center font-playfair",children:"Why Traditional Sales Training Doesn't Work"}),a.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-4",children:$M.map((t,e)=>a.jsxs("div",{className:"glass-effect p-5 rounded-xl text-center flex flex-col items-center",children:[a.jsx("div",{className:"w-8 h-8 bg-green rounded-full flex items-center justify-center mb-3",children:a.jsx("span",{className:"text-white font-bold text-sm",children:e+1})}),a.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:t})]},e))})]})}),a.jsx("section",{className:"py-12",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-green mb-8 text-center font-playfair",children:"How Pacy Works"}),a.jsx("div",{className:"grid lg:grid-cols-2 gap-5",children:FM.map((t,e)=>a.jsxs("div",{className:"flex items-start space-x-3 glass-effect p-4 rounded-xl",children:[a.jsx("div",{className:"w-10 h-10 bg-green rounded-full flex items-center justify-center flex-shrink-0",children:a.jsx(t.icon,{className:"text-white",size:20})}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-base font-bold text-foreground mb-1",children:t.title}),a.jsx("p",{className:"text-muted-foreground text-sm",children:t.description})]})]},e))})]})}),a.jsx("section",{className:"py-12 gradient-green-blue",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl font-bold text-white font-playfair mb-8 text-center",children:"What Makes Pacy Unique"}),a.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:zM.map((t,e)=>a.jsxs("div",{className:"flex items-start space-x-3 glass-effect p-4 rounded-xl",children:[a.jsx(St,{className:"text-white flex-shrink-0 mt-0.5",size:18}),a.jsx("p",{className:"text-white/90 text-sm leading-relaxed",children:t})]},e))})]})}),a.jsx("section",{className:"py-12",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-green mb-8 text-center font-playfair",children:"Pacy Is Right for You If..."}),a.jsx("div",{className:"grid lg:grid-cols-3 gap-4",children:UM.map((t,e)=>a.jsxs("div",{className:"text-center space-y-2 glass-effect p-5 rounded-xl hover-gradient-scale",children:[a.jsx("div",{className:"w-9 h-9 bg-green/20 rounded-full flex items-center justify-center mx-auto",children:a.jsx(St,{className:"text-green",size:18})}),a.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:t})]},e))})]})}),a.jsx("section",{className:"py-12",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-green mb-8 text-center font-playfair",children:"Common Questions"}),a.jsx(hd,{type:"single",collapsible:!0,className:"space-y-3",children:BM.map((t,e)=>a.jsxs(No,{value:`item-${e}`,className:"glass-effect rounded-xl px-5 border-none",children:[a.jsx(_o,{className:"text-base font-semibold text-foreground hover:no-underline py-3",children:t.question}),a.jsx(So,{className:"text-muted-foreground text-sm leading-relaxed",children:t.answer})]},e))})]})}),a.jsx("section",{className:"py-12",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6 text-center",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold gradient-text-green mb-4 font-playfair",children:"Book a 20-Minute Demo"}),a.jsx("p",{className:"text-base sm:text-lg text-muted-foreground mb-6 max-w-3xl mx-auto",children:"We'll show you how Pacy works for your specific sales situation. No preparation needed."}),a.jsx(W,{variant:"gradient-green",size:"lg",asChild:!0,children:a.jsx("a",{href:"/contact",children:"Book a Demo"})})]})})]}),a.jsx(ze,{})]}),$M=["Salespeople rarely practice, even though everyone agrees it's essential for improvement.","Most sales training is too theoretical, too expensive (external consultants), or limited to one-off sessions with no follow-up.","Role-playing is rarely used — despite being one of the most effective ways to build real selling skills.","Sales managers have limited time for continuous, individual coaching.","It's difficult to track and measure actual behavioral change over time.","Different skill levels across the team make one-size-fits-all training ineffective."],FM=[{icon:zc,title:"Focused, Relevant Theory",description:"Each training session starts with concise knowledge content tied to a specific moment in the sales meeting."},{icon:Ql,title:"Practical Simulation (Role-Play)",description:"Salespeople practice real sales situations through AI-driven simulations — not the entire meeting at once, but specific parts: opening, needs analysis, objection handling, next steps, and more."},{icon:Bc,title:"Continuous Feedback",description:"Every exercise provides immediate feedback designed to drive behavioral change over time."},{icon:Qw,title:"Tailored to Your Offering",description:"All training is built around your products, customers, and real sales situations."}],zM=["All training is customized to your offering, your customers, and your actual sales situations.","Role-plays don't simulate entire sales meetings at once — they train specific parts for maximum learning.","Training happens in short sessions, over time, and requires no preparation.","Reduces the need for manual coaching from the sales manager."],UM=["You lead a B2B sales team of around 5–15 people.","Your salespeople sell SaaS, subscriptions, products, or projects.","You're responsible for sales training and budget.","You feel your salespeople practice too little in their day-to-day work.","You want to improve how sales meetings are actually conducted.","You have a mix of junior and senior salespeople."],BM=[{question:"We already have sales training",answer:"Pacy complements your existing efforts by giving salespeople a way to practice practically between workshops and training sessions."},{question:"This sounds like a tool, not training",answer:"That's exactly why we offer a demo — to show you how the training works in practice."},{question:"Our salespeople are experienced and already know this",answer:"Pacy is often used to fine-tune specific moments in the sales meeting, regardless of experience level."},{question:"How much time does it take?",answer:"Training happens in short sessions and can be completed without disrupting the selling day."}],WM=()=>a.jsxs("div",{className:"min-h-screen gradient-subtle-purple",children:[a.jsx("div",{className:"fixed top-0 left-0 w-full h-full gradient-subtle-purple -z-10"}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"py-24 pt-40",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-purple mb-8 font-playfair",children:"Customized Compliance Programs"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-4xl mx-auto mb-8",children:"Ensure regulatory compliance and reduce risk with engaging, AI-powered compliance training that your team will actually complete."}),a.jsx("div",{className:"text-2xl font-bold gradient-text-purple mb-8",children:"Starting from 10 EUR / user"}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 justify-center",children:[a.jsx(W,{variant:"gradient",size:"lg",asChild:!0,children:a.jsx("a",{href:"/contact",children:"Start Compliance Training"})}),a.jsx(W,{variant:"outline",size:"lg",asChild:!0,children:a.jsx("a",{href:"/workshop",children:"Compliance Assessment"})})]})]})}),a.jsx("section",{className:"py-24",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsx("h2",{className:"text-4xl font-bold gradient-text-purple mb-16 text-center font-playfair",children:"Compliance Training Areas"}),a.jsx("div",{className:"grid lg:grid-cols-2 gap-12",children:VM.map((t,e)=>a.jsxs("div",{className:"flex items-start space-x-4 glass-effect p-6 rounded-xl",children:[a.jsx("div",{className:"w-12 h-12 bg-purple rounded-full flex items-center justify-center flex-shrink-0",children:a.jsx(t.icon,{className:"text-white",size:24})}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:t.title}),a.jsx("p",{className:"text-muted-foreground mb-2",children:t.description}),a.jsx("ul",{className:"text-sm text-muted-foreground space-y-1",children:t.topics.map((r,n)=>a.jsxs("li",{className:"flex items-center space-x-2",children:[a.jsx(St,{size:14,className:"text-purple"}),a.jsx("span",{children:r})]},n))})]})]},e))})]})}),a.jsx("section",{className:"py-24 gradient-purple-blue",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsxs("div",{className:"text-center mb-16",children:[a.jsx("h2",{className:"text-4xl font-bold text-white font-playfair mb-8",children:"The Cost of Non-Compliance"}),a.jsx("p",{className:"text-lg text-white/90 max-w-4xl mx-auto",children:"Regulatory violations can result in significant financial penalties, legal issues, and reputational damage. Proactive compliance training is your best defense."})]}),a.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-8",children:HM.map((t,e)=>a.jsxs("div",{className:"text-center glass-effect p-6 rounded-xl",children:[a.jsx("div",{className:"w-16 h-16 bg-red-500 rounded-full mx-auto flex items-center justify-center mb-4",children:a.jsx(Yw,{className:"text-white",size:32})}),a.jsx("h3",{className:"text-lg font-bold text-white mb-2",children:t.title}),a.jsx("p",{className:"text-white/70 text-sm",children:t.description}),a.jsx("div",{className:"text-2xl font-bold text-red-300 mt-2",children:t.cost})]},e))})]})}),a.jsx("section",{className:"py-24",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsxs("div",{className:"text-center mb-16",children:[a.jsx("h2",{className:"text-4xl font-bold gradient-text-purple mb-8 font-playfair",children:"Why Pacy for Compliance Training?"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-4xl mx-auto",children:"Traditional compliance training is boring and ineffective. Pacy makes compliance engaging and ensures real understanding and retention."})]}),a.jsx("div",{className:"grid lg:grid-cols-3 gap-12",children:qM.map((t,e)=>a.jsxs("div",{className:"text-center space-y-6 glass-effect p-8 rounded-xl hover-gradient-scale",children:[a.jsx("div",{className:"w-20 h-20 bg-purple rounded-full mx-auto flex items-center justify-center",children:a.jsx(t.icon,{className:"text-white",size:32})}),a.jsx("h3",{className:"text-2xl font-bold gradient-text-purple font-playfair",children:t.title}),a.jsx("p",{className:"text-muted-foreground leading-relaxed",children:t.description})]},e))})]})}),a.jsx("section",{className:"py-24 gradient-purple-blue",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6 text-center",children:[a.jsx("h2",{className:"text-4xl font-bold text-white mb-8 font-playfair",children:"Protect Your Organization Today"}),a.jsx("p",{className:"text-xl text-white/90 mb-12",children:"Don't wait for a compliance issue. Start building a strong compliance culture with engaging, effective training."}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[a.jsx(W,{variant:"lightblue",size:"xl",asChild:!0,children:a.jsx("a",{href:"/contact",children:"Get Compliance Quote"})}),a.jsx(W,{variant:"outline",size:"xl",asChild:!0,children:a.jsx("a",{href:"/workshop",children:"Schedule Compliance Review"})})]})]})})]}),a.jsx(ze,{})]}),VM=[{icon:Yl,title:"Data Protection & Privacy",description:"GDPR, CCPA, and other data protection regulations.",topics:["Data handling procedures","Privacy rights","Breach response","Consent management"]},{icon:Xl,title:"Workplace Safety & HR",description:"Employee safety, harassment prevention, and HR compliance.",topics:["Safety protocols","Anti-harassment training","Equal opportunity","Workplace policies"]}],HM=[{title:"Regulatory Fines",description:"Average GDPR fines exceed €20M for major violations",cost:"€20M+"},{title:"Legal Costs",description:"Litigation and legal defense expenses",cost:"€500K+"},{title:"Reputation Damage",description:"Long-term brand and customer trust impact",cost:"Ongoing"},{title:"Operational Disruption",description:"Business interruption and productivity loss",cost:"Variable"}],qM=[{icon:St,title:"Higher Completion Rates",description:"40-50% completion vs 15% industry average for traditional compliance training."},{icon:po,title:"Just-in-Time Learning",description:"Micro-learning modules that fit into busy schedules without disrupting workflow."},{icon:Yl,title:"Real-World Scenarios",description:"AI-powered simulations of actual workplace compliance situations for practical learning."}],KM=()=>a.jsxs("div",{className:"min-h-screen gradient-subtle-purple",children:[a.jsx("div",{className:"fixed top-0 left-0 w-full h-full gradient-subtle-purple -z-10"}),a.jsx(ue,{}),a.jsx("main",{children:a.jsx("section",{className:"py-24 pt-40",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsxs("div",{className:"mb-16 text-center",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-blue mb-8 font-playfair",children:"Complete Training Support Services"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-4xl mx-auto leading-relaxed mb-8",children:"From initial setup to ongoing optimization, we provide comprehensive support to ensure your training programs deliver exceptional results and measurable impact."}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[a.jsx(W,{variant:"gradient-blue",size:"lg",asChild:!0,children:a.jsx("a",{href:"/contact",children:"Get Started"})}),a.jsx(W,{variant:"outline",size:"lg",asChild:!0,children:a.jsx("a",{href:"/workshop",children:"Book Consultation"})})]})]}),a.jsx("div",{className:"grid lg:grid-cols-2 gap-12 mb-16",children:GM.map((t,e)=>a.jsxs("div",{className:"glass-effect p-8 rounded-xl hover-gradient-scale",children:[a.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[a.jsx("div",{className:"w-12 h-12 rounded-full gradient-subtle-blue flex items-center justify-center flex-shrink-0",children:a.jsx(t.icon,{className:"w-6 h-6 text-white"})}),a.jsxs("div",{children:[a.jsx("h2",{className:"text-2xl font-bold gradient-text-blue font-playfair mb-3",children:t.title}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:t.description})]})]}),a.jsx("div",{className:"space-y-3",children:t.features.map((r,n)=>a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx(Uc,{className:"w-4 h-4 text-blue flex-shrink-0"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:r})]},n))})]},e))}),a.jsxs("div",{className:"glass-effect p-12 rounded-xl text-center",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-blue font-playfair mb-4",children:"Ready to Transform Your Training?"}),a.jsx("p",{className:"text-lg text-muted-foreground mb-8 max-w-2xl mx-auto",children:"Let our expert team handle the complexities while you focus on what matters most - your team's growth and success."}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[a.jsx(W,{variant:"gradient-blue",size:"lg",asChild:!0,children:a.jsx("a",{href:"/contact",children:"Start Your Journey"})}),a.jsx(W,{variant:"outline",size:"lg",asChild:!0,children:a.jsx("a",{href:"/services",children:"Explore All Services"})})]})]})]})})}),a.jsx(ze,{})]}),GM=[{icon:rm,title:"Full setup and configuration",description:"Complete technical setup and customization of your training platform, tailored to your organization's unique requirements and workflows.",features:["Custom platform configuration","User access management setup","Brand customization and styling"]},{icon:Wc,title:"Ongoing performance monitoring",description:"Continuous tracking and analysis of your training program's effectiveness, providing actionable insights to drive improvement.",features:["Real-time engagement analytics","Completion rate tracking"]},{icon:Bc,title:"Regular optimization updates",description:"Proactive improvements and enhancements based on performance data, user feedback, and industry best practices.",features:["Content optimization recommendations","Performance enhancement updates","Feature additions and improvements","User experience enhancements","Technology stack updates"]},{icon:Kw,title:"Dedicated customer success",description:"Personal support from our experienced team who understand your goals and are committed to ensuring your training program's success.",features:["Dedicated account manager","Regular strategy sessions","Priority technical support","Best practice guidance","Success planning and reviews"]}],uj="/assets/user-instructions-hero-CaL7e4ml.png",hj="/assets/program-overview-FZBH13ku.png",fj="/assets/profile-page-BVNrJpt_.png",mj="/assets/mentor-chat-h-dcxC__.png",pj="/assets/session-start-iihcTTbh.png",gj="/assets/video-lesson-start-DbZCD23x.png",xj="/assets/video-controls-DjcUl9EL.png",vj="/assets/article-navigation-C197XzuJ.png",yj="/assets/quiz-results-Dvv8BsUN.png",wj="/assets/program-overview-FZBH13ku.png",bj="/assets/swipe-step-1-Yy8I2Jbg.png",kj="/assets/swipe-step-2-CBLe6X9j.png",jj="/assets/swipe-step-3-BepnfXdM.png",Nj="/assets/swipe-step-4-CkI4nldP.png",_j="/assets/swipe-step-5-DQp8K-E_.png",Sj="/assets/email-invitation-DdkutvCX.png",Cj="/assets/app-store-BFb3FRaE.png",Ej="/assets/permission-dialog-Bih_S_fm.png",Pj="/assets/login-page-CwyrShPx.png",Tj="/assets/ready-to-start-D-N2atRc.png",Aj="/assets/web-login-BRQtMzq7.png",JM=()=>{const t=ym(),e=[{title:"Getting Started with Pacy",content:[{title:"1. Receive Your Invitation",description:`You'll receive an email invitation from team@pacy.ai titled 'Invitation to join: Pacy'. Inside the email, you'll see buttons for: • iOS (App Store) • Android (Google Play) • Website. If you're using a phone, tap the iOS or Android button to download the Pacy app in your app store.`,image:Sj,alt:"Email invitation from Pacy with iOS, Android, and Website buttons"},{title:"2. Download the App",description:"Then, download Pacy Skill Development by Pacy AB. Once installed, you'll find it on your home screen.",image:Cj,alt:"Pacy Skill Development app in the App Store"},{title:"3. Open Pacy",description:"Tap the Pacy icon on your device. When prompted, choose 'Continue' to allow the app to log in using b2clogin.com. This ensures secure authentication.",image:null,alt:"Mobile desktop and permission dialog view",isImageGrid:!0,images:[{src:Tj,alt:"Pacy mobile app home screen",caption:"Mobile Desktop"},{src:Ej,alt:"Permission dialog for b2clogin.com authentication",caption:"Permission Dialog"}]},{title:"4. Sign In",description:"Enter your email address (the one you received the invitation with) and tap Send verification code. You'll receive a verification code by email. Remember to check your spam folder if you do not find it in your regular inbox. Copy the code, return to the app, paste it into the Email Verification Code field, and tap Verify code. Now you are ready to start your program.",image:Pj,alt:"Login page with email verification field"},{title:"5. Access Pacy via Web (Optional)",description:`You can also log in from your computer: • Go to https://app.pacy.ai • Click Log In • Use the same email and verification code process`,image:Aj,alt:"Pacy web login page"},{title:"6. Support",description:"If you don't receive your verification email or experience any login issues, check your spam folder or contact team@pacy.ai for assistance.",image:null,alt:"",isTextOnly:!0}]},{title:"Getting Started with a Program",content:[{title:"Program Overview",description:"When you open the app, you are greeted with an overview of all available programs and modules. Here you can see the name, description, and estimated time needed. To begin a program, simply tap 'Start Module'.",image:hj,alt:"Program overview screen showing available modules with descriptions and time estimates"},{title:"Your Profile",description:"In your profile, you'll find a summary of your progress. This shows how many sessions you've completed, which programs you've gone through, and also allows you to manage your account, log out, or delete your profile.",image:fj,alt:"Profile page showing completed sessions and progress summary"},{title:"Mentor Chat Access",description:"You also have access to the mentor chat at any time. Here, you can ask questions about the programs, individual modules, or the subject in general. The mentor responds directly in the chat, giving you support whenever you need it.",image:mj,alt:"Mentor chat interface for getting support and asking questions"}]},{title:"Starting a Session",content:[{title:"Session Introduction",description:"When you select a module, you'll first see an introduction page. This page gives you a clear overview of what the session includes, how long it takes, and the different steps you'll go through.",image:pj,alt:"Session introduction screen showing overview and estimated time"},{title:"Video Lesson Begins",description:"The session usually begins with a video lesson. In this video, the trainer explains the basics of the topic and gives you an introduction. The video acts as a first orientation before you move on to practice and interactive exercises.",image:gj,alt:"Video lesson beginning with trainer introduction"}]},{title:"Navigating from Video to Article",content:[{title:"Click on Open article",description:"While watching the video, you can pause, rewind, or fast-forward to review parts of the content. You can also choose to switch format and read the content instead by tapping 'Open article'.",image:xj,alt:"Video player interface with playback controls and article access option"},{title:"Click on Back to Video",description:"In the article view, the same content from the video is presented in text form. This lets you process the material at your own pace, re-read important parts, and dive deeper into examples. From the article, you can always switch back to the video if you prefer.",image:vj,alt:"Article view showing text content with option to return to video"}]},{title:"Navigating Between Session Parts",content:[{title:"Navigating Between Parts of a Session",description:`Within a session, you can easily move between different parts by swiping left or right on the screen. Swiping left takes you forward to the next step – for example from the article to the mentor exercises, or from training to the quiz introduction. Swiping right takes you back to the previous step, letting you review earlier content whenever you need to. This simple navigation makes it easy to follow the session in order, while also giving you the flexibility to revisit and repeat any part at your own pace. By swiping back and forth, you stay in control of your learning journey and can make sure each section feels clear before moving on.`,image:null,alt:"Session navigation flow with swipe gestures",isImageGrid:!0,images:[{src:bj,alt:"Article view with swipe navigation",caption:"Article View"},{src:kj,alt:"Mentor training chat interface",caption:"Transition to Mentor Exercise"},{src:jj,alt:"Mentor conversation interface",caption:"Mentor Conversation"},{src:Nj,alt:"Quiz transition screen",caption:"Quiz Transition"},{src:_j,alt:"Quiz start screen",caption:"Quiz Start"}]}]},{title:"Completing a Session",content:[{title:"Quiz Results",description:"After completing the quiz, you immediately see your results. The result screen shows how many questions you got right and gives you three options: Review the correct answers, Retake the quiz if you want more practice, or End the session if you feel finished.",image:yj,alt:"Quiz completion screen showing results with options to review answers or retake"},{title:"Return to Module Overview",description:"When you choose to finish, you return to the module overview. Here, you can clearly see which sessions you've completed and which ones are still waiting for you.",image:wj,alt:"Module overview showing completed and remaining sessions"}]},{title:"Making the Most of Your AI Mentor",content:[{title:"Maximizing the Use of Your AI Mentor",description:`The AI mentor in Pacy is your personal guide throughout the learning journey. It's not just there to answer questions but to help you understand, reflect, and apply what you learn. When something feels unclear, ask the mentor to explain, summarize, or give examples. It adapts to your style and makes the content easier to grasp. You can also use it to connect theory to your own work or experiences, making the feedback more relevant and practical. After each session, the mentor is a great partner for reflection. Discuss how to apply your new knowledge and identify key takeaways that will stick with you. And since the mentor is always available, you can return anytime with questions or for a quick refresher. The more you interact with the mentor, the more personalized and effective your learning becomes.`,image:null,alt:"",isTextOnly:!0}]}];return a.jsxs("div",{className:"min-h-screen",children:[a.jsx(ue,{}),a.jsxs("section",{className:"py-32 pt-40 relative bg-cover bg-center bg-no-repeat",style:{backgroundImage:`url(${uj})`,backgroundSize:"cover",backgroundPosition:"center"},children:[a.jsx("div",{className:"absolute inset-0 bg-black/40"}),a.jsxs("div",{className:"max-w-4xl mx-auto px-6 text-center relative z-10",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold text-white mb-6 font-playfair drop-shadow-lg",children:"User Instructions"}),a.jsx("p",{className:"text-lg text-white/90 max-w-2xl mx-auto drop-shadow-md",children:"A comprehensive guide to navigating and using the Pacy learning platform effectively"})]})]}),a.jsx("section",{className:"py-24 bg-background",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6",children:[a.jsx("div",{className:"mb-12 text-center",children:a.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mx-auto",children:"Welcome to Pacy's interactive learning platform! This guide will walk you through each step of your learning journey, from selecting modules to interacting with our AI mentor. Follow these instructions to make the most of your training experience."})}),a.jsx(hd,{type:"single",collapsible:!0,className:"space-y-4",children:e.map((r,n)=>a.jsxs(No,{value:`category-${n}`,className:"glass-effect border-purple/20 rounded-xl px-6",children:[a.jsx(_o,{className:"text-left hover:text-purple transition-colors",children:a.jsx("span",{className:"font-semibold text-foreground",children:r.title})}),a.jsx(So,{className:"text-muted-foreground leading-relaxed",children:a.jsx("div",{className:"space-y-8 py-4",children:r.content.map((s,i)=>{var o;return a.jsxs("div",{className:"flex flex-col items-center text-center space-y-4",children:[a.jsx("h4",{className:"text-xl font-semibold text-foreground",children:s.title}),s.isImageGrid?a.jsxs("div",{className:"w-full",children:[a.jsx("p",{className:"text-muted-foreground leading-relaxed max-w-4xl mx-auto mb-8",children:s.description}),a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 max-w-6xl mx-auto",children:(o=s.images)==null?void 0:o.map((l,c)=>a.jsxs("div",{className:"flex flex-col items-center space-y-3",children:[a.jsx("div",{className:"w-full max-w-md mx-auto",children:a.jsx("img",{src:l.src,alt:l.alt,className:"w-full h-auto rounded-lg shadow-lg border",loading:"lazy"})}),a.jsx("p",{className:"text-sm font-medium text-foreground",children:l.caption})]},c))})]}):s.isTextOnly?a.jsx("div",{className:"max-w-4xl mx-auto text-left",children:a.jsx("p",{className:"text-muted-foreground leading-relaxed whitespace-pre-line",children:s.description})}):a.jsxs("div",{className:"flex flex-col lg:flex-row items-center lg:items-start gap-8 max-w-4xl mx-auto text-left",children:[a.jsx("div",{className:"flex-shrink-0 lg:w-1/2",children:a.jsx("img",{src:s.image,alt:s.alt,className:"w-full h-auto rounded-lg shadow-lg border max-w-md mx-auto lg:mx-0",loading:"lazy"})}),a.jsx("div",{className:"lg:w-1/2 flex flex-col justify-center",children:a.jsx("p",{className:"text-muted-foreground leading-relaxed",children:s.description})})]})]},i)})})})]},n))}),a.jsxs("div",{className:"glass-effect p-8 rounded-xl text-center mt-12 hover-gradient-scale",children:[a.jsx("h3",{className:"text-2xl font-bold gradient-text-purple mb-4 font-playfair",children:"Ready to Start Learning?"}),a.jsx("p",{className:"text-muted-foreground mb-6",children:"Now that you know how to navigate the platform, begin your training journey today."}),a.jsx("div",{className:"flex justify-center",children:a.jsx(W,{size:"lg",variant:"outline",className:"border-purple/30 text-purple hover:bg-purple/10",onClick:()=>t("/contact"),children:"Contact Support"})})]})]})}),a.jsx(ze,{})]})},qx=()=>{const t=ym(),e=[{title:"Kom igång med Pacy",content:[{title:"1. Ta emot din inbjudan",description:`Du kommer att få en e-postinbjudan från team@pacy.ai med titeln 'Invitation to join: Pacy'. I e-postmeddelandet ser du knappar för: • iOS (App Store) • Android (Google Play) • Webbplats. Om du använder en telefon, tryck på iOS- eller Android-knappen för att ladda ner Pacy-appen i din appbutik.`,image:Sj,alt:"E-postinbjudan från Pacy med iOS, Android och webbplatsknappar"},{title:"2. Ladda ner appen",description:"Ladda sedan ner Pacy Skill Development av Pacy AB. När den är installerad hittar du den på din hemskärm.",image:Cj,alt:"Pacy Skill Development-appen i App Store"},{title:"3. Öppna Pacy",description:"Tryck på Pacy-ikonen på din enhet. När du uppmanas, välj 'Fortsätt' för att tillåta appen att logga in med b2clogin.com. Detta säkerställer säker autentisering.",image:null,alt:"Mobil skrivbord och behörighetsdialogruta",isImageGrid:!0,images:[{src:Tj,alt:"Pacy mobilapps hemskärm",caption:"Mobil skrivbord"},{src:Ej,alt:"Behörighetsdialogruta för b2clogin.com-autentisering",caption:"Behörighetsdialogruta"}]},{title:"4. Logga in",description:"Ange din e-postadress (den du fick inbjudan med) och tryck på Skicka verifieringskod. Du får en verifieringskod via e-post. Kom ihåg att kolla din skräppostmapp om du inte hittar den i din vanliga inkorg. Kopiera koden, återvänd till appen, klistra in den i fältet för e-postverifieringskod och tryck på Verifiera kod. Nu är du redo att starta ditt program.",image:Pj,alt:"Inloggningssida med e-postverifieringsfält"},{title:"5. Använd Pacy via webben (valfritt)",description:`Du kan också logga in från din dator: • Gå till https://app.pacy.ai • Klicka på Logga in • Använd samma e-post- och verifieringskodprocess`,image:Aj,alt:"Pacys webbinloggningssida"},{title:"6. Support",description:"Om du inte får ditt verifieringsmail eller upplever några inloggningsproblem, kolla din skräppostmapp eller kontakta team@pacy.ai för hjälp.",image:null,alt:"",isTextOnly:!0}]},{title:"Kom igång med ett program",content:[{title:"Programöversikt",description:"När du öppnar appen möts du av en översikt över alla tillgängliga program och moduler. Här kan du se namn, beskrivning och uppskattad tid som behövs. För att börja ett program, tryck helt enkelt på 'Starta modul'.",image:hj,alt:"Programöversiktsskärm som visar tillgängliga moduler med beskrivningar och tidsuppskattningar"},{title:"Din profil",description:"I din profil hittar du en sammanfattning av dina framsteg. Detta visar hur många sessioner du har slutfört, vilka program du har gått igenom och gör det också möjligt att hantera ditt konto, logga ut eller radera din profil.",image:fj,alt:"Profilsida som visar slutförda sessioner och framstegsammanfattning"},{title:"Tillgång till mentorstöd",description:"Du har också tillgång till mentorschatten när som helst. Här kan du ställa frågor om programmen, enskilda moduler eller ämnet i allmänhet. Mentorn svarar direkt i chatten och ger dig stöd när du behöver det.",image:mj,alt:"Mentorschatgränssnitt för att få stöd och ställa frågor"}]},{title:"Starta en session",content:[{title:"Sessionsintroduktion",description:"När du väljer en modul ser du först en introduktionssida. Denna sida ger dig en tydlig översikt över vad sessionen innehåller, hur lång tid den tar och de olika stegen du kommer att gå igenom.",image:pj,alt:"Sessionsintroduktionsskärm som visar översikt och uppskattad tid"},{title:"Videolektion börjar",description:"Sessionen börjar vanligtvis med en videolektion. I denna video förklarar tränaren grunderna i ämnet och ger dig en introduktion. Videon fungerar som en första orientering innan du går vidare till övningar och interaktiva uppgifter.",image:gj,alt:"Videolektion som börjar med tränarintroduktion"}]},{title:"Navigera från video till artikel",content:[{title:"Klicka på Öppna artikel",description:"När du tittar på videon kan du pausa, spola tillbaka eller snabbspola framåt för att granska delar av innehållet. Du kan också välja att byta format och läsa innehållet istället genom att trycka på 'Öppna artikel'.",image:xj,alt:"Videospelaregränssnitt med uppspelningskontroller och artikelåtkomstalternativ"},{title:"Klicka på Tillbaka till video",description:"I artikelvyn presenteras samma innehåll från videon i textform. Detta låter dig bearbeta materialet i din egen takt, läsa om viktiga delar och fördjupa dig i exempel. Från artikeln kan du alltid byta tillbaka till videon om du föredrar det.",image:vj,alt:"Artikelvy som visar textinnehåll med alternativ att återgå till video"}]},{title:"Navigera mellan sessionsdelar",content:[{title:"Navigera mellan delar av en session",description:`Inom en session kan du enkelt röra dig mellan olika delar genom att svepa vänster eller höger på skärmen. Att svepa till vänster tar dig framåt till nästa steg – till exempel från artikeln till mentorsövningarna, eller från träning till frågesportsintroduktionen. Att svepa till höger tar dig tillbaka till föregående steg, vilket låter dig granska tidigare innehåll när du behöver. Denna enkla navigering gör det lätt att följa sessionen i ordning, samtidigt som den ger dig flexibiliteten att återbesöka och repetera vilken del som helst i din egen takt. Genom att svepa fram och tillbaka behåller du kontrollen över din inlärningsresa och kan se till att varje avsnitt känns klart innan du går vidare.`,image:null,alt:"Sessionsnavigeringsflöde med svepgester",isImageGrid:!0,images:[{src:bj,alt:"Artikelvy med svepnavigering",caption:"Artikelvy"},{src:kj,alt:"Mentorsträningens chattgränssnitt",caption:"Övergång till mentorsövning"},{src:jj,alt:"Mentorssamtalsgränssnitt",caption:"Mentorssamtal"},{src:Nj,alt:"Frågesportsövergångsskärm",caption:"Frågesportsövergång"},{src:_j,alt:"Frågesportsstartskärm",caption:"Frågesportsstart"}]}]},{title:"Slutföra en session",content:[{title:"Frågesportsresultat",description:"Efter att ha slutfört frågesportmomentet ser du omedelbart dina resultat. Resultatskärmen visar hur många frågor du fick rätt och ger dig tre alternativ: Granska de korrekta svaren, Gör om frågesportmomentet om du vill ha mer övning, eller Avsluta sessionen om du känner dig färdig.",image:yj,alt:"Skärm för slutförd frågesport som visar resultat med alternativ att granska svar eller göra om"},{title:"Återvänd till modulöversikten",description:"När du väljer att avsluta återvänder du till modulöversikten. Här kan du tydligt se vilka sessioner du har slutfört och vilka som fortfarande väntar på dig.",image:wj,alt:"Modulöversikt som visar slutförda och återstående sessioner"}]},{title:"Få ut det mesta av din AI-mentor",content:[{title:"Maximera användningen av din AI-mentor",description:`AI-mentorn i Pacy är din personliga guide genom hela inlärningsresan. Den finns inte bara där för att svara på frågor utan för att hjälpa dig förstå, reflektera och tillämpa det du lär dig. När något känns oklart, be mentorn förklara, sammanfatta eller ge exempel. Den anpassar sig till din stil och gör innehållet lättare att förstå. Du kan också använda den för att koppla teori till ditt eget arbete eller dina erfarenheter, vilket gör feedbacken mer relevant och praktisk. Efter varje session är mentorn en fantastisk partner för reflektion. Diskutera hur du kan tillämpa din nya kunskap och identifiera nyckelinsikter som kommer att fastna hos dig. Och eftersom mentorn alltid är tillgänglig kan du återvända när som helst med frågor eller för en snabb påfyllning. Ju mer du interagerar med mentorn, desto mer personlig och effektiv blir din inlärning.`,image:null,alt:"",isTextOnly:!0}]}];return a.jsxs("div",{className:"min-h-screen",children:[a.jsx(ue,{}),a.jsxs("section",{className:"py-32 pt-40 relative bg-cover bg-center bg-no-repeat",style:{backgroundImage:`url(${uj})`,backgroundSize:"cover",backgroundPosition:"center"},children:[a.jsx("div",{className:"absolute inset-0 bg-black/40"}),a.jsxs("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 text-center relative z-10",children:[a.jsx("h1",{className:"text-3xl sm:text-4xl lg:text-5xl font-bold text-white mb-6 font-playfair drop-shadow-lg",children:"Användarinstruktioner"}),a.jsx("p",{className:"text-lg text-white/90 max-w-2xl mx-auto drop-shadow-md",children:"En omfattande guide för att navigera och använda Pacy effektivt"})]})]}),a.jsx("section",{className:"py-24 bg-background",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6",children:[a.jsx("div",{className:"mb-12 text-center",children:a.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mx-auto",children:"Välkommen till Pacy! Denna guide leder dig genom alla steg för att kunna komma igång med Pacy, från hur du laddar ner appen, till hur du maximerar din upplevelse med hjälp av AI mentorn."})}),a.jsx(hd,{type:"single",collapsible:!0,className:"space-y-4",children:e.map((r,n)=>a.jsxs(No,{value:`category-${n}`,className:"glass-effect border-purple/20 rounded-xl px-6",children:[a.jsx(_o,{className:"text-left hover:text-purple transition-colors",children:a.jsx("span",{className:"font-semibold text-foreground",children:r.title})}),a.jsx(So,{className:"text-muted-foreground leading-relaxed",children:a.jsx("div",{className:"space-y-8 py-4",children:r.content.map((s,i)=>{var o;return a.jsxs("div",{className:"flex flex-col items-center text-center space-y-4",children:[a.jsx("h4",{className:"text-xl font-semibold text-foreground",children:s.title}),s.isImageGrid?a.jsxs("div",{className:"w-full",children:[a.jsx("p",{className:"text-muted-foreground leading-relaxed max-w-4xl mx-auto mb-8 whitespace-pre-line",children:s.description}),a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 max-w-6xl mx-auto",children:(o=s.images)==null?void 0:o.map((l,c)=>a.jsxs("div",{className:"flex flex-col items-center space-y-3",children:[a.jsx("div",{className:"w-full max-w-md mx-auto",children:a.jsx("img",{src:l.src,alt:l.alt,className:"w-full h-auto rounded-lg shadow-lg border",loading:"lazy"})}),a.jsx("p",{className:"text-sm font-medium text-foreground",children:l.caption})]},c))})]}):s.isTextOnly?a.jsx("div",{className:"max-w-4xl mx-auto text-left",children:a.jsx("p",{className:"text-muted-foreground leading-relaxed whitespace-pre-line",children:s.description})}):a.jsxs("div",{className:"flex flex-col lg:flex-row items-center lg:items-start gap-8 max-w-4xl mx-auto text-left",children:[a.jsx("div",{className:"flex-shrink-0 lg:w-1/2",children:a.jsx("img",{src:s.image,alt:s.alt,className:"w-full h-auto rounded-lg shadow-lg border max-w-md mx-auto lg:mx-0",loading:"lazy"})}),a.jsx("div",{className:"lg:w-1/2 flex flex-col justify-center",children:a.jsx("p",{className:"text-muted-foreground leading-relaxed whitespace-pre-line",children:s.description})})]})]},i)})})})]},n))}),a.jsxs("div",{className:"glass-effect p-8 rounded-xl text-center mt-12 hover-gradient-scale",children:[a.jsx("h3",{className:"text-2xl font-bold gradient-text-purple mb-4 font-playfair",children:"Redo att börja lära dig?"}),a.jsx("p",{className:"text-muted-foreground mb-6",children:"Nu när du vet hur man navigerar på plattformen kan du börja din träningsresa idag."}),a.jsx("div",{className:"flex justify-center",children:a.jsx(W,{size:"lg",variant:"outline",className:"border-purple/30 text-purple hover:bg-purple/10",onClick:()=>t("/sv/kontakt"),children:"Kontakta support"})})]})]})}),a.jsx(ze,{})]})},QM=()=>a.jsxs("div",{className:"min-h-screen",children:[a.jsx(ue,{}),a.jsx("main",{className:"pt-24 pb-16",children:a.jsx("div",{className:"max-w-4xl mx-auto px-6",children:a.jsxs("div",{className:"text-center space-y-8",children:[a.jsxs("div",{className:"space-y-4",children:[a.jsx(Jw,{className:"h-16 w-16 mx-auto text-primary"}),a.jsx("h1",{className:"text-4xl md:text-5xl font-bold",children:"Download the Pacy App"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:"Access your AI-powered training anywhere you are. Download our app from App Store or Google Play."})]}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-6 justify-center items-center pt-8",children:[a.jsx("a",{href:"https://apps.apple.com/se/app/pacy-skill-development/id6670788359",target:"_blank",rel:"noopener noreferrer",className:"inline-block",children:a.jsxs(W,{size:"lg",className:"w-64 h-16 text-lg",children:[a.jsx("svg",{className:"w-8 h-8 mr-3",viewBox:"0 0 24 24",fill:"currentColor",children:a.jsx("path",{d:"M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z"})}),"App Store"]})}),a.jsx("a",{href:"https://play.google.com/store/apps/details?id=ai.cqg.app",target:"_blank",rel:"noopener noreferrer",className:"inline-block",children:a.jsxs(W,{size:"lg",variant:"outline",className:"w-64 h-16 text-lg",children:[a.jsx("svg",{className:"w-8 h-8 mr-3",viewBox:"0 0 24 24",fill:"currentColor",children:a.jsx("path",{d:"M3,20.5V3.5C3,2.91 3.34,2.39 3.84,2.15L13.69,12L3.84,21.85C3.34,21.6 3,21.09 3,20.5M16.81,15.12L6.05,21.34L14.54,12.85L16.81,15.12M20.16,10.81C20.5,11.08 20.75,11.5 20.75,12C20.75,12.5 20.53,12.9 20.18,13.18L17.89,14.5L15.39,12L17.89,9.5L20.16,10.81M6.05,2.66L16.81,8.88L14.54,11.15L6.05,2.66Z"})}),"Google Play"]})})]}),a.jsxs("div",{className:"pt-12 space-y-6",children:[a.jsx("h2",{className:"text-2xl font-semibold",children:"Need help getting started?"}),a.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:"We've created guides and answers to common questions to help you get the most out of the app"}),a.jsxs("div",{className:"grid md:grid-cols-2 gap-6 max-w-3xl mx-auto",children:[a.jsx(J,{to:"/user-instructions-sv",children:a.jsxs("div",{className:"p-8 rounded-lg bg-card border border-border hover:border-primary transition-colors cursor-pointer h-full",children:[a.jsx(zc,{className:"h-12 w-12 mx-auto mb-4 text-primary"}),a.jsx("h3",{className:"font-semibold text-lg mb-2",children:"User Instructions"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Step-by-step guide on how to use the Pacy app and its features"})]})}),a.jsx(J,{to:"/faq",children:a.jsxs("div",{className:"p-8 rounded-lg bg-card border border-border hover:border-primary transition-colors cursor-pointer h-full",children:[a.jsx(qw,{className:"h-12 w-12 mx-auto mb-4 text-primary"}),a.jsx("h3",{className:"font-semibold text-lg mb-2",children:"FAQ"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Answers to the most common questions about Pacy and how the app works"})]})})]})]})]})})}),a.jsx(ze,{})]});var Vm="Progress",Hm=100,[YM,y3]=ur(Vm),[ZM,XM]=YM(Vm),Ij=p.forwardRef((t,e)=>{const{__scopeProgress:r,value:n=null,max:s,getValueLabel:i=eL,...o}=t;(s||s===0)&&!Kx(s)&&console.error(tL(`${s}`,"Progress"));const l=Kx(s)?s:Hm;n!==null&&!Gx(n,l)&&console.error(rL(`${n}`,"Progress"));const c=Gx(n,l)?n:null,d=xc(c)?i(c,l):void 0;return a.jsx(ZM,{scope:r,value:c,max:l,children:a.jsx(fe.div,{"aria-valuemax":l,"aria-valuemin":0,"aria-valuenow":xc(c)?c:void 0,"aria-valuetext":d,role:"progressbar","data-state":Mj(c,l),"data-value":c??void 0,"data-max":l,...o,ref:e})})});Ij.displayName=Vm;var Rj="ProgressIndicator",Oj=p.forwardRef((t,e)=>{const{__scopeProgress:r,...n}=t,s=XM(Rj,r);return a.jsx(fe.div,{"data-state":Mj(s.value,s.max),"data-value":s.value??void 0,"data-max":s.max,...n,ref:e})});Oj.displayName=Rj;function eL(t,e){return`${Math.round(t/e*100)}%`}function Mj(t,e){return t==null?"indeterminate":t===e?"complete":"loading"}function xc(t){return typeof t=="number"}function Kx(t){return xc(t)&&!isNaN(t)&&t>0}function Gx(t,e){return xc(t)&&!isNaN(t)&&t<=e&&t>=0}function tL(t,e){return`Invalid prop \`max\` of value \`${t}\` supplied to \`${e}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Hm}\`.`}function rL(t,e){return`Invalid prop \`value\` of value \`${t}\` supplied to \`${e}\`. The \`value\` prop must be: - a positive number - less than the value passed to \`max\` (or ${Hm} if no \`max\` prop is set) - \`null\` or \`undefined\` if the progress is indeterminate. Defaulting to \`null\`.`}var Lj=Ij,nL=Oj;const Dj=p.forwardRef(({className:t,value:e,...r},n)=>a.jsx(Lj,{ref:n,className:pe("relative h-4 w-full overflow-hidden rounded-full bg-secondary",t),...r,children:a.jsx(nL,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(e||0)}%)`}})}));Dj.displayName=Lj.displayName;const li=[{question:"Säljer ni primärt B2B?",options:[{label:"Ja",score:2},{label:"Nej",score:-10}]},{question:"Hur stort är ert säljteam?",options:[{label:"1–4 personer",score:-3},{label:"5–15 personer",score:3},{label:"16–30 personer",score:2},{label:"30+ personer",score:1}]},{question:"Hur ser er säljträning ut idag?",options:[{label:"Vi har ingen strukturerad säljträning",score:3},{label:"Vi kör enstaka utbildningar/workshops",score:3},{label:"Vi har en konsult som tränar oss regelbundet",score:1},{label:"Vi har redan ett digitalt träningsverktyg vi är nöjda med",score:-10}]},{question:"Vad är er största utmaning inom säljträning?",options:[{label:"Säljarna tränar för sällan i vardagen",score:3},{label:"Svårt att få juniora säljare upp i nivå",score:3},{label:"Säljchefen har inte tid att coacha alla",score:2},{label:"Vi letar efter bättre leadgenerering",score:-10}]},{question:"Vad vill ni förbättra?",options:[{label:"Hur säljmöten genomförs i praktiken",score:3},{label:"Generell produktkunskap",score:0},{label:"Vi vill ha snabb och effektiv träning",score:3},{label:"Vi är mest nyfikna på AI som teknik",score:-10}]}],Jx="https://meetings-eu1.hubspot.com/jkempff",sL=()=>{const[t,e]=p.useState(0),[r,n]=p.useState([]),[s,i]=p.useState(!1),o=p.useRef(null),l=b=>{const x=[...r,b];n(x),te(w=>w+1),300):setTimeout(()=>i(!0),300)},c=()=>r.some(b=>b===-10),d=()=>r.reduce((b,x)=>b+x,0),u=()=>{if(c())return"no_fit";const b=d();return b>=8?"fit":b>=4?"possible":"no_fit"},h=()=>{var b;(b=o.current)==null||b.scrollIntoView({behavior:"smooth"})},m=()=>{e(0),n([]),i(!1)},f=s?100:t/li.length*100;return a.jsxs("div",{className:"min-h-screen bg-background",children:[a.jsx(ue,{}),a.jsxs("section",{className:"relative pt-32 pb-20 bg-black text-white overflow-hidden",children:[a.jsx("div",{className:"absolute inset-0 gradient-purple-blue opacity-20"}),a.jsxs("div",{className:"relative max-w-4xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-4xl md:text-6xl font-bold mb-6 font-playfair",children:"Passar Pacy för er?"}),a.jsx("p",{className:"text-lg md:text-xl text-white/80 mb-10 max-w-2xl mx-auto",children:"Gör ett snabbtest på 30 sekunder och få direkt svar på om Pacy's säljmötesträning är rätt för ert säljteam just nu."}),a.jsxs(W,{variant:"gradient",size:"lg",onClick:h,className:"text-lg",children:["Gör snabbtestet ",a.jsx(tm,{className:"ml-2"})]}),a.jsx("p",{className:"mt-4 text-sm text-white/50",children:"Tar ca 30 sek • Inget säljsamtal • Du får svar direkt"})]})]}),a.jsx("section",{className:"py-16 bg-background",children:a.jsx("div",{className:"max-w-3xl mx-auto px-6",children:a.jsxs("div",{className:"space-y-6 text-muted-foreground text-lg leading-relaxed",children:[a.jsx("p",{children:"Pacy är en applikation med inbyggd AI-mentor som tränar säljare genom korta, fokuserade sessioner — så kallad microlearning. Varje övning är skräddarsydd för ert företag och ger direkt feedback, precis som en erfaren säljcoach, men tillgänglig dygnet runt."}),a.jsx("p",{children:"Pacy erbjuder ett säljträningsprogram för B2B-bolag som vill att säljarna faktiskt ska träna på riktiga säljsituationer — kontinuerligt, praktiskt och utan att ta tid från försäljningen."}),a.jsx("p",{children:"Men Pacy passar inte alla. Och vi jobbar hellre med bolag där det finns en verklig fit."}),a.jsx("p",{className:"font-semibold text-foreground",children:"Snabbtestet ger dig svar på:"}),a.jsxs("ul",{className:"space-y-2",children:[a.jsxs("li",{className:"flex items-center gap-2",children:[a.jsx(St,{className:"w-5 h-5 text-primary shrink-0"}),"Om Pacy är relevant för ert säljteam"]}),a.jsxs("li",{className:"flex items-center gap-2",children:[a.jsx(yg,{className:"w-5 h-5 text-muted-foreground shrink-0"}),"Eller om ni bör fokusera någon annan lösning just nu"]})]})]})})}),a.jsx("section",{ref:o,className:"py-20 gradient-subtle-purple",children:a.jsx("div",{className:"max-w-2xl mx-auto px-6",children:s?a.jsxs("div",{className:"animate-fade-in",children:[u()==="fit"?a.jsxs("div",{className:"text-center space-y-8 p-8 md:p-12 rounded-2xl bg-card border shadow-xl",children:[a.jsx("div",{className:"inline-flex items-center justify-center w-20 h-20 rounded-full bg-green/10",children:a.jsx(St,{className:"w-12 h-12 text-green"})}),a.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground font-playfair",children:"Pacy passar er!"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-lg mx-auto leading-relaxed",children:"Baserat på era svar ser det ut som att Pacy kan göra verklig skillnad för ert säljteam. Boka en kort demo på 20 minuter så visar vi hur det fungerar för just er situation. Ingen förberedelse krävs."}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[a.jsx(W,{variant:"gradient",size:"lg",asChild:!0,children:a.jsx("a",{href:Jx,target:"_blank",rel:"noopener noreferrer",children:"Boka demo"})}),a.jsx(W,{variant:"outline",size:"lg",asChild:!0,children:a.jsx("a",{href:"/contact",children:"Kontakta oss"})})]})]}):u()==="possible"?a.jsxs("div",{className:"text-center space-y-8 p-8 md:p-12 rounded-2xl bg-card border shadow-xl",children:[a.jsx("div",{className:"inline-flex items-center justify-center w-20 h-20 rounded-full bg-yellow-500/10",children:a.jsx(St,{className:"w-12 h-12 text-yellow-500"})}),a.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground font-playfair",children:"Det kan finnas en match"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-lg mx-auto leading-relaxed",children:"Utifrån era svar finns det delar som tyder på att Pacy kan vara relevant, men vi vill gärna förstå er situation bättre. Boka ett kort samtal så kollar vi tillsammans om det finns en fit."}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[a.jsx(W,{variant:"gradient",size:"lg",asChild:!0,children:a.jsx("a",{href:Jx,target:"_blank",rel:"noopener noreferrer",children:"Boka demo"})}),a.jsx(W,{variant:"outline",size:"lg",asChild:!0,children:a.jsx("a",{href:"/contact",children:"Kontakta oss"})})]})]}):a.jsxs("div",{className:"text-center space-y-8 p-8 md:p-12 rounded-2xl bg-card border shadow-xl",children:[a.jsx("div",{className:"inline-flex items-center justify-center w-20 h-20 rounded-full bg-orange/10",children:a.jsx(yg,{className:"w-12 h-12 text-orange"})}),a.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground font-playfair",children:"Pacy är troligtvis inte rätt just nu"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-lg mx-auto leading-relaxed",children:"Utifrån era svar verkar det som att Pacy inte är den bästa lösningen för er situation just nu — och vi vill vara ärliga med det. Vårt fokus ligger på praktisk säljmötesträning för B2B-team, och det behöver matcha ett verkligt behov för att ge resultat. Om er situation förändras i framtiden vet ni var ni hittar oss. Lycka till!"})]}),a.jsx("div",{className:"text-center mt-6",children:a.jsx("button",{onClick:m,className:"text-sm text-muted-foreground hover:text-foreground underline transition-colors",children:"Gör om testet"})})]}):a.jsxs("div",{className:"space-y-8",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex justify-between text-sm text-muted-foreground",children:[a.jsxs("span",{children:["Fråga ",t+1," av ",li.length]}),a.jsxs("span",{children:[Math.round(f),"%"]})]}),a.jsx(Dj,{value:f,className:"h-2"})]}),a.jsxs("div",{className:"animate-fade-in space-y-6",children:[a.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-foreground font-playfair",children:li[t].question}),a.jsx("div",{className:"grid gap-3",children:li[t].options.map((b,x)=>a.jsx("button",{onClick:()=>l(b.score),className:"w-full text-left p-5 rounded-xl border-2 border-border bg-card hover:border-primary hover:shadow-lg transition-all duration-200 text-foreground font-medium text-lg group",children:a.jsxs("span",{className:"flex items-center justify-between",children:[b.label,a.jsx(qS,{className:"w-5 h-5 opacity-0 group-hover:opacity-100 transition-opacity text-primary"})]})},x))})]},t)]})})}),a.jsx("section",{className:"py-20 bg-background",children:a.jsxs("div",{className:"max-w-3xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-foreground mb-10 font-playfair text-center",children:"Vad är Pacy's säljmötesträning?"}),a.jsxs("div",{className:"space-y-6 text-lg text-muted-foreground leading-relaxed",children:[a.jsx("p",{children:"Pacy tränar säljare på riktiga säljsituationer — steg för steg, över tid, med kontinuerlig feedback. Utan att ta tid från säljdagen."}),a.jsx("p",{children:"Istället för att simulera hela säljmöten på en gång tränar säljarna på specifika delar: öppning, behovsanalys, invändningshantering, nästa steg och mer. Varje övning bygger på era produkter, era kunder och era verkliga säljsituationer."}),a.jsx("p",{children:"All träning är specifikt anpassad till ert företags kontext och erbjudande — era produkter, era kunder och era verkliga säljsituationer. Träningen sker i korta sessioner som inte kräver förberedelse och kan genomföras utan att störa det dagliga säljarbetet. Resultatet? Säljare som faktiskt övar — och förbättras — i vardagen."})]})]})}),a.jsx(ze,{})]})},aL=()=>a.jsxs("div",{className:"min-h-screen flex flex-col bg-background",children:[a.jsx(ue,{}),a.jsx("main",{className:"flex-1 flex items-center justify-center pt-24 pb-12 px-4",children:a.jsxs("div",{className:"w-full max-w-4xl",children:[a.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-center mb-8 text-foreground",children:"Pacy Demo"}),a.jsx("div",{className:"rounded-2xl overflow-hidden shadow-2xl bg-black",children:a.jsxs("video",{controls:!0,className:"w-full",preload:"metadata",children:[a.jsx("source",{src:"/videos/Demo_Pacy_1.0.mov",type:"video/quicktime"}),a.jsx("source",{src:"/videos/Demo_Pacy_1.0.mov",type:"video/mp4"}),"Your browser does not support the video tag."]})})]})}),a.jsx(ze,{})]}),it=()=>{const{lang:t,prefix:e}=Kn(),r=Le.footer,n=()=>{if(window.Tawk_API)window.Tawk_API.showWidget&&window.Tawk_API.showWidget(),setTimeout(()=>{window.Tawk_API&&window.Tawk_API.maximize&&window.Tawk_API.maximize()},100);else{const h=document.createElement("script");h.async=!0,h.src="https://embed.tawk.to/67c7094770efd41916940a93/1ilgnoga5",h.charset="UTF-8",h.setAttribute("crossorigin","*"),window.Tawk_API=window.Tawk_API||{},h.onload=()=>{setTimeout(()=>{window.Tawk_API&&window.Tawk_API.maximize&&window.Tawk_API.maximize()},500)},document.head.appendChild(h)}},s=t==="sv"?"/sv/tjanster":"/services",i=t==="sv"?"/sv/om-oss":"/about",o=t==="sv"?"/sv/kontakt":"/contact",l=t==="sv"?"https://insights.pacy.ai/blogg":"https://insights.pacy.ai",c="https://insights.pacy.ai/faq-center",d=t==="sv"?"/sv/pressrum":"/press",u=t==="sv"?"/user-instructions-sv":"/user-instructions";return a.jsx("footer",{className:"bg-black text-white py-16",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsxs("div",{className:"grid md:grid-cols-4 gap-8",children:[a.jsxs("div",{className:"space-y-4",children:[a.jsx("h3",{className:"text-lg font-semibold",children:"Pacy"}),a.jsx("p",{className:"text-gray-300 text-sm",children:D(r.tagline,t)})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsx("h4",{className:"text-lg font-semibold",children:D(r.product,t)}),a.jsxs("ul",{className:"space-y-2 text-sm text-gray-300",children:[a.jsx("li",{children:a.jsx(J,{to:s,className:"hover:text-white transition-colors",children:D(Le.nav.services,t)})}),a.jsx("li",{children:a.jsx(J,{to:i,className:"hover:text-white transition-colors",children:D(r.about,t)})}),a.jsx("li",{children:a.jsx(J,{to:d,className:"hover:text-white transition-colors",children:t==="sv"?"Pressrum":"Press Room"})}),a.jsx("li",{children:a.jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",className:"hover:text-white transition-colors",children:"FAQ"})})]})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsx("h4",{className:"text-lg font-semibold",children:D(r.support,t)}),a.jsxs("ul",{className:"space-y-2 text-sm text-gray-300",children:[a.jsx("li",{children:a.jsx(J,{to:o,className:"hover:text-white transition-colors",children:D(Le.nav.contact,t)})}),a.jsx("li",{children:a.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"hover:text-white transition-colors",children:D(r.blog,t)})}),a.jsx("li",{children:a.jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",className:"hover:text-white transition-colors",children:D(r.faq,t)})}),a.jsx("li",{children:a.jsx(J,{to:u,className:"hover:text-white transition-colors",children:D(r.userInstructions,t)})}),a.jsx("li",{children:a.jsx(J,{to:t==="sv"?"/sv/ladda-ner-app":"/app-download",className:"hover:text-white transition-colors",children:D(r.appDownload,t)})}),a.jsx("li",{children:a.jsx("button",{onClick:n,className:"hover:text-white transition-colors text-left",children:D(r.helpCenter,t)})})]})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsx("h4",{className:"text-lg font-semibold",children:D(r.policies,t)}),a.jsxs("ul",{className:"space-y-2 text-sm text-gray-300",children:[a.jsx("li",{children:a.jsx(J,{to:"/privacy-policy",className:"hover:text-white transition-colors",children:D(r.privacyPolicy,t)})}),a.jsx("li",{children:a.jsx(J,{to:"/terms-of-service",className:"hover:text-white transition-colors",children:D(r.termsOfService,t)})}),a.jsx("li",{children:a.jsx(J,{to:"/cookie-policy",className:"hover:text-white transition-colors",children:D(r.cookiePolicy,t)})}),a.jsx("li",{children:a.jsx(J,{to:"/disclaimer",className:"hover:text-white transition-colors",children:D(r.disclaimer,t)})}),a.jsx("li",{children:a.jsx(J,{to:"/eula",className:"hover:text-white transition-colors",children:D(r.eula,t)})})]})]})]}),a.jsx("div",{className:"border-t border-gray-800 mt-12 pt-8 text-center text-sm text-gray-400",children:a.jsxs("p",{children:["© 2026 Pacy. ",D(r.allRightsReserved,t)]})})]})})},sr=p.forwardRef(({className:t,...e},r)=>a.jsx("div",{ref:r,className:pe("rounded-lg border bg-card text-card-foreground shadow-sm",t),...e}));sr.displayName="Card";const iL=p.forwardRef(({className:t,...e},r)=>a.jsx("div",{ref:r,className:pe("flex flex-col space-y-1.5 p-6",t),...e}));iL.displayName="CardHeader";const oL=p.forwardRef(({className:t,...e},r)=>a.jsx("h3",{ref:r,className:pe("text-2xl font-semibold leading-none tracking-tight",t),...e}));oL.displayName="CardTitle";const lL=p.forwardRef(({className:t,...e},r)=>a.jsx("p",{ref:r,className:pe("text-sm text-muted-foreground",t),...e}));lL.displayName="CardDescription";const ar=p.forwardRef(({className:t,...e},r)=>a.jsx("div",{ref:r,className:pe("p-6 pt-0",t),...e}));ar.displayName="CardContent";const cL=p.forwardRef(({className:t,...e},r)=>a.jsx("div",{ref:r,className:pe("flex items-center p-6 pt-0",t),...e}));cL.displayName="CardFooter";var fd="Dialog",[$j,w3]=ur(fd),[dL,mr]=$j(fd),Fj=t=>{const{__scopeDialog:e,children:r,open:n,defaultOpen:s,onOpenChange:i,modal:o=!0}=t,l=p.useRef(null),c=p.useRef(null),[d,u]=_s({prop:n,defaultProp:s??!1,onChange:i,caller:fd});return a.jsx(dL,{scope:e,triggerRef:l,contentRef:c,contentId:Mn(),titleId:Mn(),descriptionId:Mn(),open:d,onOpenChange:u,onOpenToggle:p.useCallback(()=>u(h=>!h),[u]),modal:o,children:r})};Fj.displayName=fd;var zj="DialogTrigger",Uj=p.forwardRef((t,e)=>{const{__scopeDialog:r,...n}=t,s=mr(zj,r),i=Re(e,s.triggerRef);return a.jsx(fe.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":Gm(s.open),...n,ref:i,onClick:H(t.onClick,s.onOpenToggle)})});Uj.displayName=zj;var qm="DialogPortal",[uL,Bj]=$j(qm,{forceMount:void 0}),Wj=t=>{const{__scopeDialog:e,forceMount:r,children:n,container:s}=t,i=mr(qm,e);return a.jsx(uL,{scope:e,forceMount:r,children:p.Children.map(n,o=>a.jsx(hr,{present:r||i.open,children:a.jsx(Dc,{asChild:!0,container:s,children:o})}))})};Wj.displayName=qm;var vc="DialogOverlay",Vj=p.forwardRef((t,e)=>{const r=Bj(vc,t.__scopeDialog),{forceMount:n=r.forceMount,...s}=t,i=mr(vc,t.__scopeDialog);return i.modal?a.jsx(hr,{present:n||i.open,children:a.jsx(fL,{...s,ref:e})}):null});Vj.displayName=vc;var hL=Aa("DialogOverlay.RemoveScroll"),fL=p.forwardRef((t,e)=>{const{__scopeDialog:r,...n}=t,s=mr(vc,r);return a.jsx(km,{as:hL,allowPinchZoom:!0,shards:[s.contentRef],children:a.jsx(fe.div,{"data-state":Gm(s.open),...n,ref:e,style:{pointerEvents:"auto",...n.style}})})}),ks="DialogContent",Hj=p.forwardRef((t,e)=>{const r=Bj(ks,t.__scopeDialog),{forceMount:n=r.forceMount,...s}=t,i=mr(ks,t.__scopeDialog);return a.jsx(hr,{present:n||i.open,children:i.modal?a.jsx(mL,{...s,ref:e}):a.jsx(pL,{...s,ref:e})})});Hj.displayName=ks;var mL=p.forwardRef((t,e)=>{const r=mr(ks,t.__scopeDialog),n=p.useRef(null),s=Re(e,r.contentRef,n);return p.useEffect(()=>{const i=n.current;if(i)return m0(i)},[]),a.jsx(qj,{...t,ref:s,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:H(t.onCloseAutoFocus,i=>{var o;i.preventDefault(),(o=r.triggerRef.current)==null||o.focus()}),onPointerDownOutside:H(t.onPointerDownOutside,i=>{const o=i.detail.originalEvent,l=o.button===0&&o.ctrlKey===!0;(o.button===2||l)&&i.preventDefault()}),onFocusOutside:H(t.onFocusOutside,i=>i.preventDefault())})}),pL=p.forwardRef((t,e)=>{const r=mr(ks,t.__scopeDialog),n=p.useRef(!1),s=p.useRef(!1);return a.jsx(qj,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var o,l;(o=t.onCloseAutoFocus)==null||o.call(t,i),i.defaultPrevented||(n.current||(l=r.triggerRef.current)==null||l.focus(),i.preventDefault()),n.current=!1,s.current=!1},onInteractOutside:i=>{var c,d;(c=t.onInteractOutside)==null||c.call(t,i),i.defaultPrevented||(n.current=!0,i.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const o=i.target;((d=r.triggerRef.current)==null?void 0:d.contains(o))&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&s.current&&i.preventDefault()}})}),qj=p.forwardRef((t,e)=>{const{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:s,onCloseAutoFocus:i,...o}=t,l=mr(ks,r),c=p.useRef(null),d=Re(e,c);return a0(),a.jsxs(a.Fragment,{children:[a.jsx(bm,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:s,onUnmountAutoFocus:i,children:a.jsx(fo,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":Gm(l.open),...o,ref:d,onDismiss:()=>l.onOpenChange(!1)})}),a.jsxs(a.Fragment,{children:[a.jsx(gL,{titleId:l.titleId}),a.jsx(vL,{contentRef:c,descriptionId:l.descriptionId})]})]})}),Km="DialogTitle",Kj=p.forwardRef((t,e)=>{const{__scopeDialog:r,...n}=t,s=mr(Km,r);return a.jsx(fe.h2,{id:s.titleId,...n,ref:e})});Kj.displayName=Km;var Gj="DialogDescription",Jj=p.forwardRef((t,e)=>{const{__scopeDialog:r,...n}=t,s=mr(Gj,r);return a.jsx(fe.p,{id:s.descriptionId,...n,ref:e})});Jj.displayName=Gj;var Qj="DialogClose",Yj=p.forwardRef((t,e)=>{const{__scopeDialog:r,...n}=t,s=mr(Qj,r);return a.jsx(fe.button,{type:"button",...n,ref:e,onClick:H(t.onClick,()=>s.onOpenChange(!1))})});Yj.displayName=Qj;function Gm(t){return t?"open":"closed"}var Zj="DialogTitleWarning",[b3,Xj]=J_(Zj,{contentName:ks,titleName:Km,docsSlug:"dialog"}),gL=({titleId:t})=>{const e=Xj(Zj),r=`\`${e.contentName}\` requires a \`${e.titleName}\` for the component to be accessible for screen reader users. If you want to hide the \`${e.titleName}\`, you can wrap it with our VisuallyHidden component. For more information, see https://radix-ui.com/primitives/docs/components/${e.docsSlug}`;return p.useEffect(()=>{t&&(document.getElementById(t)||console.error(r))},[r,t]),null},xL="DialogDescriptionWarning",vL=({contentRef:t,descriptionId:e})=>{const n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Xj(xL).contentName}}.`;return p.useEffect(()=>{var i;const s=(i=t.current)==null?void 0:i.getAttribute("aria-describedby");e&&s&&(document.getElementById(e)||console.warn(n))},[n,t,e]),null},yL=Fj,wL=Uj,bL=Wj,e1=Vj,t1=Hj,r1=Kj,n1=Jj,kL=Yj;const s1=yL,a1=wL,jL=bL,i1=p.forwardRef(({className:t,...e},r)=>a.jsx(e1,{ref:r,className:pe("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...e}));i1.displayName=e1.displayName;const Jm=p.forwardRef(({className:t,children:e,...r},n)=>a.jsxs(jL,{children:[a.jsx(i1,{}),a.jsxs(t1,{ref:n,className:pe("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...r,children:[e,a.jsxs(kL,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[a.jsx(Vc,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Jm.displayName=t1.displayName;const NL=p.forwardRef(({className:t,...e},r)=>a.jsx(r1,{ref:r,className:pe("text-lg font-semibold leading-none tracking-tight",t),...e}));NL.displayName=r1.displayName;const _L=p.forwardRef(({className:t,...e},r)=>a.jsx(n1,{ref:r,className:pe("text-sm text-muted-foreground",t),...e}));_L.displayName=n1.displayName;const SL=()=>a.jsxs("div",{className:"min-h-screen",children:[a.jsx(We,{title:"Pacy Logo & Media Kit",description:"Download Pacy's official logo and media kit for press, partners and editorial use.",canonicalPath:"/press",ogImage:"https://pacy.ai/press/pacy-og-pressbild.jpg",ogImageAlt:"Joakim Kempff and Joakim Liljedahl, founders of Pacy — official press photo",jsonLd:[{"@context":"https://schema.org","@type":"WebPage",name:"Pacy Logo & Media Kit",url:"https://pacy.ai/press",inLanguage:"en",primaryImageOfPage:{"@type":"ImageObject",contentUrl:"https://pacy.ai/press/pacy-grundare-joakim-kempff-joakim-liljedahl.jpg",caption:"Joakim Kempff and Joakim Liljedahl, founders of Pacy"}},{"@context":"https://schema.org","@type":"Organization",name:"Pacy",url:"https://pacy.ai",logo:"https://pacy.ai/press/pacy-logo-combination-2000w.png",founder:[{"@type":"Person",name:"Joakim Kempff",jobTitle:"Co-founder",sameAs:"https://www.linkedin.com/in/joakimkempff/"},{"@type":"Person",name:"Joakim Liljedahl",jobTitle:"Co-founder",sameAs:"https://www.linkedin.com/in/joakimliljedahl/"}],foundingDate:"2024",address:{"@type":"PostalAddress",addressLocality:"Stockholm",addressCountry:"SE"}},{"@context":"https://schema.org","@type":"ImageObject",name:"Press photo of Pacy founders",caption:"Joakim Kempff and Joakim Liljedahl, founders of Pacy",contentUrl:"https://pacy.ai/press/pacy-grundare-joakim-kempff-joakim-liljedahl.jpg",description:"Official press photo featuring both founders of Pacy together.",about:[{"@type":"Person",name:"Joakim Kempff",jobTitle:"Co-founder",sameAs:"https://www.linkedin.com/in/joakimkempff/"},{"@type":"Person",name:"Joakim Liljedahl",jobTitle:"Co-founder",sameAs:"https://www.linkedin.com/in/joakimliljedahl/"}],author:{"@type":"Organization",name:"Pacy",url:"https://pacy.ai"}}]}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"bg-black text-white pt-32 pb-16",children:a.jsxs("div",{className:"max-w-5xl mx-auto px-6",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold font-playfair mb-6",children:"Pacy Logo & Media Kit"}),a.jsx("p",{className:"text-lg text-white/70 max-w-2xl",children:"Find Pacy's official logo for press, partners and editorial use. Need more formats and variants? Everything is included in our media kit."})]})}),a.jsxs("div",{className:"max-w-5xl mx-auto px-6 py-16 space-y-20",children:[a.jsxs("section",{children:[a.jsx("h2",{className:"text-2xl font-bold font-playfair text-foreground mb-6",children:"Press Releases"}),a.jsx("p",{className:"text-muted-foreground",children:"Upcoming press releases will be published here."})]}),a.jsxs("section",{children:[a.jsx("h2",{className:"text-2xl font-bold font-playfair text-foreground mb-6",children:"Press Photo"}),a.jsx(sr,{className:"border-border",children:a.jsx(ar,{className:"p-8",children:a.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-6",children:[a.jsxs(s1,{children:[a.jsx(a1,{asChild:!0,children:a.jsx("button",{className:"shrink-0 overflow-hidden rounded-lg cursor-pointer transition-transform duration-300 ease-[cubic-bezier(0.4,0,0.2,1)] hover:scale-105 hover:shadow-lg focus:outline-none",children:a.jsx("figure",{children:a.jsx("img",{src:"/press/pacy-grundare-joakim-kempff-joakim-liljedahl-thumb.jpg",alt:"Press photo of Pacy founders Joakim Kempff and Joakim Liljedahl",width:140,height:210,className:"w-[140px] h-auto object-cover"})})})}),a.jsx(Jm,{className:"max-w-2xl p-2 bg-background",children:a.jsxs("figure",{children:[a.jsx("img",{src:"/press/pacy-grundare-joakim-kempff-joakim-liljedahl.jpg",alt:"Press photo of Pacy founders Joakim Kempff and Joakim Liljedahl",width:3e3,height:4500,className:"w-full max-w-[600px] h-auto rounded-lg"}),a.jsx("figcaption",{className:"text-sm text-muted-foreground mt-2 text-center",children:"Joakim Kempff and Joakim Liljedahl, founders of Pacy."})]})})]}),a.jsxs("div",{className:"flex-1 space-y-2",children:[a.jsx("h3",{className:"font-semibold text-foreground",children:"Founders — Joakim Kempff & Joakim Liljedahl"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"High-resolution press photo of Pacy's founders. Free to use in editorial context with credit to Pacy."}),a.jsxs("figcaption",{className:"sr-only",children:["Joakim Kempff and Joakim Liljedahl, founders of Pacy."," ",a.jsx("a",{href:"/press/pacy-grundare-joakim-kempff-joakim-liljedahl.jpg",download:!0,children:"Download high-resolution press photo"}),"."]}),a.jsxs("a",{href:"/press/pacy-grundare-joakim-kempff-joakim-liljedahl.jpg",download:"pacy-founders-joakim-kempff-joakim-liljedahl.jpg","aria-label":"Download high-resolution press photo of Pacy founders Joakim Kempff and Joakim Liljedahl",className:"inline-flex items-center gap-2 mt-3 text-sm font-medium text-primary hover:underline",children:[a.jsx(Jl,{size:16}),"Download high-res (JPG)"]})]})]})})})]}),a.jsxs("section",{children:[a.jsx("h2",{className:"text-2xl font-bold font-playfair text-foreground mb-6",children:"Logo & Media Kit"}),a.jsx(sr,{className:"border-border",children:a.jsx(ar,{className:"p-8",children:a.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-6",children:[a.jsx("div",{className:"shrink-0 bg-white rounded-lg p-6 flex items-center justify-center",children:a.jsx("img",{src:"/press/pacy-logo-combination-600w.png",alt:"Pacy official horizontal logo",className:"w-[140px] h-auto object-contain"})}),a.jsxs("div",{className:"flex-1 space-y-2",children:[a.jsx("h3",{className:"font-semibold text-foreground",children:"Pacy's Official Logo"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"This is the primary version of the Pacy logo. For additional formats, sizes and usage variants, download the full media kit as a zip file."}),a.jsxs("div",{className:"flex flex-wrap items-center gap-4 mt-3",children:[a.jsxs("a",{href:"/press/pacy-mediakit.zip",download:"pacy-mediakit.zip","aria-label":"Download Pacy media kit as zip file",className:"inline-flex items-center justify-center gap-2 rounded-lg px-5 py-2.5 text-sm font-semibold text-white transition-all duration-300 ease-[cubic-bezier(0.4,0,0.2,1)] hover:-translate-y-0.5",style:{background:"linear-gradient(135deg, hsl(var(--primary)), hsl(var(--primary) / 0.8))",boxShadow:"0 4px 14px hsl(var(--primary) / 0.4)"},children:[a.jsx(Jl,{size:16}),"Download Media Kit (ZIP)"]}),a.jsx("a",{href:"/contact",className:"text-sm text-primary hover:underline","aria-label":"Contact Pacy for specific logo formats",children:"Need a specific format? Contact us →"})]}),a.jsx("p",{className:"text-xs text-muted-foreground pt-1",children:"The media kit contains files for web, press, presentations, favicons and profile images."})]})]})})})]}),a.jsxs("section",{children:[a.jsx("h2",{className:"text-2xl font-bold font-playfair text-foreground mb-6",children:"Press Contact"}),a.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[a.jsx(sr,{className:"border-border",children:a.jsxs(ar,{className:"p-6 space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2 text-primary",children:[a.jsx(Gw,{size:18}),a.jsx("h3",{className:"text-base font-semibold",children:"General press inquiries"})]}),a.jsx("a",{href:"mailto:press@pacy.ai",className:"text-primary hover:underline font-medium",children:"press@pacy.ai"})]})}),a.jsx(sr,{className:"border-border",children:a.jsxs(ar,{className:"p-6 space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2 text-primary",children:[a.jsx(Zl,{size:18}),a.jsx("h3",{className:"text-base font-semibold",children:"Joakim Liljedahl"})]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Founder"}),a.jsx("a",{href:"mailto:joakim.liljedahl@pacy.ai",className:"text-sm text-primary hover:underline",children:"joakim.liljedahl@pacy.ai"})]})}),a.jsx(sr,{className:"border-border",children:a.jsxs(ar,{className:"p-6 space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2 text-primary",children:[a.jsx(Zl,{size:18}),a.jsx("h3",{className:"text-base font-semibold",children:"Joakim Kempff"})]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Founder"}),a.jsx("a",{href:"mailto:joakim.kempff@pacy.ai",className:"text-sm text-primary hover:underline",children:"joakim.kempff@pacy.ai"})]})})]})]}),a.jsxs("section",{children:[a.jsx("h2",{className:"text-2xl font-bold font-playfair text-foreground mb-6",children:"About Pacy"}),a.jsxs("div",{className:"bg-muted rounded-lg p-8 space-y-4 text-muted-foreground leading-relaxed",children:[a.jsxs("p",{children:[a.jsx("strong",{className:"text-foreground",children:"Pacy"})," was founded in 2024 by Joakim Kempff and Joakim Liljedahl from a simple conviction: professional development should show in how people work, not just in how many completed a course."]}),a.jsx("p",{children:`Most organizations already know their training efforts aren't delivering the impact they hoped for. Completion rates can look great in a report. Then work continues as usual. Same behaviors, same capability gaps, same ambition to "get to it next quarter."`}),a.jsx("p",{children:"Pacy was built to break that pattern. We replace passive consumption with active practice in teams' everyday work — tailored sessions where people train, test and receive feedback on real tasks. No generic scenarios. No yet another course."}),a.jsx("p",{children:"The result is professional development that managers can actually activate, and that starts making a difference from the very first week."}),a.jsx("p",{children:"Pacy is for organizations tired of measuring activity and ready to start measuring real change."}),a.jsxs("ul",{className:"text-sm space-y-1 pt-2 border-t border-border",children:[a.jsxs("li",{children:[a.jsx("strong",{className:"text-foreground",children:"Founded:"})," 2024"]}),a.jsxs("li",{children:[a.jsx("strong",{className:"text-foreground",children:"Headquarters:"})," Stockholm, Sweden"]}),a.jsxs("li",{children:[a.jsx("strong",{className:"text-foreground",children:"Founders:"})," Joakim Kempff & Joakim Liljedahl"]}),a.jsxs("li",{children:[a.jsx("strong",{className:"text-foreground",children:"Web:"})," pacy.ai"]})]})]})]})]})]}),a.jsx(it,{})]}),o1=()=>{const{lang:t}=Kn(),e=t==="sv",r=e?[{icon:Ql,number:"1",title:"Berätta vad ni behöver",description:"Dela era mål och utmaningar med Pacy",gradient:"button-gradient-purple",subtle:"gradient-subtle-purple",textGradient:"gradient-text"},{icon:wg,number:"2",title:"Pacy skapar ert program",description:"Vi levererar ett skräddarsytt träningsprogram",gradient:"button-gradient-orange",subtle:"gradient-subtle-orange",textGradient:"gradient-text-orange"},{icon:Xl,number:"3",title:"Teamet tränar i appen",description:"Kort, engagerande träning som bygger förmågor",gradient:"button-gradient-green",subtle:"gradient-subtle-green",textGradient:"gradient-text-green"}]:[{icon:Ql,number:"1",title:"Tell Pacy your needs",description:"Share your goals and challenges with Pacy",gradient:"button-gradient-purple",subtle:"gradient-subtle-purple",textGradient:"gradient-text"},{icon:wg,number:"2",title:"Pacy creates your program",description:"We deliver a tailored training program",gradient:"button-gradient-orange",subtle:"gradient-subtle-orange",textGradient:"gradient-text-orange"},{icon:Xl,number:"3",title:"Your team trains in the app",description:"Short, engaging training that actually sticks",gradient:"button-gradient-green",subtle:"gradient-subtle-green",textGradient:"gradient-text-green"}];return a.jsx("section",{className:"relative bg-secondary py-16 sm:py-20",style:{background:"hsl(0 0% 15%)"},children:a.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6",children:[a.jsxs("div",{className:"text-center mb-10",children:[a.jsx("p",{className:"text-sm font-semibold uppercase tracking-widest text-background/50 mb-2",children:e?"Så funkar det":"How it works"}),a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold font-playfair text-background",children:e?"Från idé till träning på nolltid":"From idea to training in no time"})]}),a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6 sm:gap-8",children:r.map((n,s)=>a.jsxs("div",{className:"relative flex flex-col items-center text-center p-6 sm:p-8 rounded-2xl bg-background/5 border border-background/10 hover:bg-background/10 transition-all duration-300 group",children:[a.jsx("div",{className:`absolute -top-4 left-1/2 -translate-x-1/2 w-8 h-8 rounded-full ${n.gradient} flex items-center justify-center text-white text-sm font-bold shadow-lg`,children:n.number}),a.jsx("div",{className:`w-14 h-14 rounded-xl ${n.subtle} flex items-center justify-center mb-5 group-hover:scale-110 transition-transform duration-300`,children:a.jsx(n.icon,{className:"w-7 h-7 text-background"})}),a.jsx("h3",{className:`text-lg font-semibold mb-2 ${n.textGradient}`,children:n.title}),a.jsx("p",{className:"text-sm text-background/60 leading-relaxed",children:n.description}),sa.jsxs("div",{className:"min-h-screen",children:[a.jsx(We,{title:"How It Works — Pacy",description:"See how Pacy works in three simple steps. From brief to tailored training program in 24 hours.",canonicalPath:"/how-it-works"}),a.jsx(ue,{}),a.jsx("main",{className:"pt-20",children:a.jsx(o1,{})}),a.jsx(ze,{})]}),EL=()=>a.jsxs("section",{className:"relative bg-black overflow-hidden",children:[a.jsxs("div",{className:"absolute inset-0 w-full h-full overflow-hidden",children:[a.jsx("img",{src:gk,alt:"Professionell kvinna som använder Pacys träningsapp",className:"w-full h-full object-cover animate-slow-zoom",loading:"eager",width:"1534",height:"1080",fetchPriority:"high"}),a.jsx("div",{className:"absolute inset-0 bg-black/50"})]}),a.jsx("div",{className:"relative z-10 flex items-center justify-center min-h-screen pt-24 pb-12 px-4 sm:px-6",children:a.jsxs("div",{className:"max-w-5xl mx-auto text-center text-white",children:[a.jsx("h1",{className:"text-3xl sm:text-4xl md:text-5xl lg:text-6xl font-bold leading-tight mb-6 sm:mb-8 font-playfair",children:"Bygg ditt teams förmåga. Minimal startsträcka."}),a.jsx("p",{className:"text-lg sm:text-xl lg:text-2xl font-light max-w-4xl mx-auto mb-8 sm:mb-12 leading-relaxed text-white/90",children:"Du beskriver vad ditt team behöver bli bättre på. Pacy bygger ett skräddarsytt träningsprogram utifrån era behov och tränar dem på verkliga situationer från er vardag. Redo inom 24 timmar. Ingen IT-integration, ingen upphandling."})]})})]}),PL=()=>a.jsx("section",{className:"bg-white py-24 px-4 sm:px-6",children:a.jsx("div",{className:"max-w-4xl mx-auto",children:a.jsxs("div",{className:"backdrop-blur-xl bg-white/80 border border-border/40 rounded-xl p-8 sm:p-12 shadow-lg hover:shadow-xl transition-all duration-500 ease-[cubic-bezier(0.4,0,0.2,1)] hover:scale-[1.01]",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl md:text-4xl font-bold leading-tight mb-6 font-playfair bg-gradient-to-r from-[hsl(25,95%,60%)] to-[hsl(340,82%,60%)] bg-clip-text text-transparent",children:"Jag vet exakt vad mitt team behöver bli bättre på. Men jag får det inte att hända."}),a.jsx("p",{className:"text-base leading-relaxed text-muted-foreground",children:"Du ser exakt var teamet tappar — i möten, i processer, i vardagen. Men att faktiskt förändra beteenden är svårare än det låter. Kurser känns generiska. Engångsinitiativ ger engångseffekt. Och tiden räcker inte till att bygga något bättre själv. Du vet vad som behöver förändras, men saknar en lösning som faktiskt gör skillnad."})]})})}),gu=[{question:"Hur lång tid tar det att komma igång?",answer:"Chefen beskriver behovet i en kort briefing. Inom 24 timmar har du ett komplett, skräddarsytt träningsprogram — redo att lansera till teamet. Ingen IT-integration, ingen upphandling, inget implementationsprojekt."},{question:"Vad kostar det?",answer:"Pacy kostar från 1 500 SEK per månad. Ingen bindningstid, ingen implementationskostnad. Du kan komma igång samma dag."},{question:"Hur skiljer sig Pacy från vanliga kursplattformar?",answer:"Traditionella kursplattformar mäter om folk slutfört ett innehåll. Pacy mäter om de kan göra jobbet. Varje program bygger på aktiv övning, simulerade scenarier och HIST™ — vetenskaplig metodik designad för beteendeförändring, inte informationsöverföring."},{question:"Behöver vi en HR-avdelning eller utbildningsansvarig?",answer:"Nej. Pacy är byggt för team där chefen själv driver utvecklingen. Du skapar programmet, medarbetarna tränar i mobilen eller på webben, och det kräver ingen administration."},{question:"Hur vet jag att träningen ger resultat?",answer:'Pacy är byggt med fokus på beteendeförändring — inte bara genomförande. Varje program är designat för att teamet ska kunna använda det de tränar på i sitt dagliga arbete. Målet är att svara på frågan ledningen faktiskt ställer: "blev teamet bättre?"'}],TL=()=>a.jsxs(a.Fragment,{children:[a.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",inLanguage:"sv-SE",mainEntity:gu.map(t=>({"@type":"Question",name:t.question,acceptedAnswer:{"@type":"Answer",text:t.answer}}))})}}),a.jsx("section",{className:"py-24 bg-background",children:a.jsxs("div",{className:"max-w-5xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl lg:text-4xl font-bold text-center mb-16 font-playfair gradient-text-purple",children:"Vanliga frågor"}),a.jsx("div",{children:gu.map((t,e)=>a.jsxs("div",{className:`grid grid-cols-1 md:grid-cols-5 gap-4 md:gap-8 py-8 ${ea.jsxs("div",{className:"min-h-screen",children:[a.jsx(We,{title:"Pacy — Träning som faktiskt fungerar",description:"Förvandla kompetensutveckling till en tillväxtmotor med Pacy. AI-driven HIST-träning levererar 40–50 % slutförandegrad medan de flesta digitala träningar ser 85 % avhopp.",canonicalPath:"/",ogImage:"https://pacy.ai/press/pacy-og-pressbild.jpg",ogImageAlt:"Joakim Kempff och Joakim Liljedahl, grundare av Pacy",jsonLd:[{"@context":"https://schema.org","@type":"WebSite",name:"Pacy",url:"https://pacy.ai/",inLanguage:"sv-SE",description:"AI-driven kompetensutveckling och personalträning med personlig AI-mentor."},{"@context":"https://schema.org","@type":"Organization",name:"Pacy",url:"https://pacy.ai",logo:{"@type":"ImageObject",url:"https://pacy.ai/press/pacy-symbol-600-white.png",width:600,height:600},image:["https://pacy.ai/press/pacy-logo-combination-1200w.png","https://pacy.ai/press/pacy-grundare-joakim-kempff-joakim-liljedahl.jpg"],founders:[{"@type":"Person",name:"Joakim Kempff"},{"@type":"Person",name:"Joakim Liljedahl"}],foundingDate:"2024",address:{"@type":"PostalAddress",addressLocality:"Stockholm",addressCountry:"SE"}}]}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx(EL,{}),a.jsx(PL,{}),a.jsx(xk,{}),a.jsx(TL,{})]}),a.jsx(it,{})]}),vu=[{question:"Vad ingår i priset?",answer:"Allt du behöver för att komma igång: en workshop där vi bygger ert program, tillgång till HIST™-träningen för hela teamet, AI-tränare med personlig feedback, och möjlighet att uppdatera programmet när behoven förändras."},{question:"Hur snabbt kan vi komma igång?",answer:"Från briefing till färdigt program på 24 timmar. Teamet kan börja träna dagen efter."},{question:"Kan vi testa innan vi bestämmer oss?",answer:"Boka en workshop så bygger vi ett program tillsammans. Du ser exakt vad teamet får innan du bestämmer dig."}],AL=[{title:"Säljträning",description:"Öva på era faktiska säljsituationer: invändningshantering, behovsanalys, avslut. Anpassat efter era produkter och kunder."},{title:"Onboarding",description:"Ge nyanställda ett komplett introduktionsprogram baserat på era processer och er kultur. Redo samma dag som de börjar."},{title:"Compliance",description:"Gör regelefterlevnad till aktiv träning istället för passiv genomklickning. Medarbetarna möter verkliga dilemman från er bransch."},{title:"Ledarskap",description:"Träna på svåra samtal, feedback och coachning i simulerade scenarier — innan det gäller på riktigt."},{title:"Nya verktyg och arbetssätt",description:"När teamet behöver lära sig nya AI-verktyg, system eller processer — praktisk träning istället för en föreläsning."}],IL=["Skräddarsytt träningsprogram baserat på ert teams behov","AI-tränare med personlig feedback i varje övning","Träning i mobil och webb — 5–10 min per pass","HIST™-metodik med inbyggd repetition","Nytt program eller uppdatering när ni behöver"],RL=()=>a.jsxs("div",{className:"min-h-screen bg-background",children:[a.jsx(We,{title:"Pris — AI-driven träning från 1 500 kr/mån | Pacy",description:"Pacy kostar från 1 500 kr per månad plus från 100 kr per användare. Inga dolda kostnader, ingen implementationsavgift. Kom igång samma dag.",canonicalPath:"/sv/tjanster",jsonLd:{"@context":"https://schema.org","@type":"Product",name:"Pacy Team",description:"AI-driven kompetensutveckling med HIST™-metodik. Skräddarsydda träningsprogram för team.",url:"https://pacy.ai/sv/tjanster",inLanguage:"sv-SE",brand:{"@type":"Organization",name:"Pacy"},offers:{"@type":"Offer",priceCurrency:"SEK",price:"1500",priceValidUntil:"2027-12-31",availability:"https://schema.org/InStock",description:"Plattformsavgift 1 500 kr/mån + från 100 kr/användare/mån"}}}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"py-16 pt-36 bg-background",children:a.jsxs("div",{className:"max-w-5xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-blue mb-6 font-playfair",children:"Enkel prissättning. Kom igång direkt."}),a.jsxs("p",{className:"text-lg text-muted-foreground max-w-3xl mx-auto leading-relaxed",children:["Pacy kostar 1 500 kr per månad plus från 100 kr per användare. Vill ni ha en anpassad lösning?"," ",a.jsx(J,{to:"/sv/kontakt",className:"text-blue hover:underline",children:"Kontakta oss"}),"."]})]})}),a.jsx("section",{className:"py-14 bg-muted/60 border-y border-border/50",children:a.jsx("div",{className:"max-w-3xl mx-auto px-6",children:a.jsxs("div",{className:"glass-effect rounded-xl p-10 space-y-8",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-blue font-playfair",children:"Skräddarsytt träningsprogram"}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("p",{className:"text-2xl font-bold text-foreground",children:["Från 1 500 kr/månad"," ",a.jsx("span",{className:"text-base font-normal text-muted-foreground",children:"— plattformen"})]}),a.jsxs("p",{className:"text-lg text-foreground",children:["Från 100 kr/användare/månad"," ",a.jsx("span",{className:"text-base font-normal text-muted-foreground",children:"— per deltagare"})]})]}),a.jsx("ul",{className:"space-y-4",children:IL.map((t,e)=>a.jsxs("li",{className:"flex items-start gap-3",children:[a.jsx(Uc,{className:"h-5 w-5 text-blue mt-0.5 shrink-0"}),a.jsx("span",{className:"text-muted-foreground",children:t})]},e))}),a.jsx(W,{variant:"gradient-blue",size:"sm",asChild:!0,children:a.jsx(J,{to:"/sv/workshop",children:"Boka demo"})})]})})}),a.jsx("section",{className:"py-14 bg-background",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl lg:text-4xl font-bold gradient-text-blue mb-6 font-playfair text-center",children:"En metod — oavsett vad teamet behöver träna på"}),a.jsx("p",{className:"text-base text-muted-foreground max-w-3xl mx-auto text-center leading-relaxed mb-10",children:"HIST™ fungerar för alla färdigheter som kräver tillämpning — inte bara kunskap. Här är några exempel:"}),a.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-8",children:AL.map((t,e)=>a.jsxs("div",{className:"glass-effect p-8 rounded-xl hover-gradient-scale space-y-4",children:[a.jsx("h3",{className:"text-xl font-bold gradient-text-blue font-playfair",children:t.title}),a.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t.description})]},e))})]})}),a.jsxs("section",{className:"py-14 bg-muted/60 border-y border-border/50",children:[a.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",inLanguage:"sv-SE",mainEntity:vu.map(t=>({"@type":"Question",name:t.question,acceptedAnswer:{"@type":"Answer",text:t.answer}}))})}}),a.jsxs("div",{className:"max-w-5xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl lg:text-4xl font-bold text-center mb-10 font-playfair gradient-text-blue",children:"Vanliga frågor om pris och uppstart"}),a.jsx("div",{children:vu.map((t,e)=>a.jsxs("div",{className:`grid grid-cols-1 md:grid-cols-5 gap-4 md:gap-8 py-8 ${ea.jsxs("div",{className:"min-h-screen",children:[a.jsx(We,{title:"Om Pacy — Träning som faktiskt fungerar",description:"Vi hjälper ditt team bli bättre på det de gör. AI-driven träning med 40–50 % slutförandegrad genom övning, personlig feedback och kontinuitet.",canonicalPath:"/sv/om-oss",jsonLd:{"@context":"https://schema.org","@type":"AboutPage",name:"Om Pacy",url:"https://pacy.ai/sv/om-oss",inLanguage:"sv-SE"}}),a.jsx(ue,{}),a.jsx("main",{children:a.jsxs("article",{className:"max-w-3xl mx-auto px-6 pt-32 pb-24",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold font-playfair mb-12 text-foreground",children:"Bygg teamets kompetens genom aktiv träning"}),a.jsxs("div",{className:"space-y-6 text-base lg:text-lg leading-relaxed text-muted-foreground",children:[a.jsx("p",{children:"Känner du igen dig? Tvådagarskonferensen som kändes fantastisk i rummet men var bortglömd till fredag. E-learningmodulerna som låg orörda i systemet tills någon skickade en påminnelse — och sedan en till. Den dyra externa utbildaren som höll en briljant session för ett team som inte kunde minnas de viktigaste insikterna tre veckor senare."}),a.jsx("p",{children:"Det handlar inte om att dina medarbetare inte vill utvecklas. Det handlar om att traditionell utbildning inte är designad för hur människor faktiskt bygger kompetens."}),a.jsx("h2",{className:"text-2xl lg:text-3xl font-bold font-playfair text-foreground pt-6",children:"Information är inte samma sak som förmåga."}),a.jsx("p",{children:"De flesta företagsutbildningar bygger på att överföra kunskap — presentationer, videor, moduler, tester. Och kunskap är viktigt. Men att veta hur det ska se ut och att faktiskt kunna göra det är två helt olika saker. En säljare kan sitta igenom varenda pitchutbildning i världen och ändå frysa till is när en riktig kund ifrågasätter. En chef kan läsa alla ledarskapsmodeller och ändå kämpa med att ha ett svårt samtal."}),a.jsx("p",{children:"Verklig förmåga byggs genom övning. Genom att göra, reflektera, justera — och göra igen. I verkliga situationer, inte simulerade från fem år sedan."}),a.jsx("h2",{className:"text-2xl lg:text-3xl font-bold font-playfair text-foreground pt-6",children:"Tänk om ditt team kunde träna så — varje dag?"}),a.jsx("p",{children:"Pacy bygger på en enkel men kraftfull idé: människor blir bättre när de övar i kontext, får personlig feedback och håller i det konsekvent. Inte en gång per kvartal. Inte i ett tvådagarsblock. Varje dag, i flödet av sitt arbete."}),a.jsx("p",{children:"Vi skapar skräddarsydda träningsprogram anpassade efter ditt teams faktiska utmaningar — era säljsamtal, era kundinvändningar, era onboardingmoment, era ledarskapssituationer. Varje program kommer med en personlig AI-mentor som guidar, utmanar och coachar varje individ i deras egen takt och nivå. Ingen one-size-fits-all. Inget passivt tittande. Bara fokuserad, relevant övning som bygger verkligt självförtroende och verklig kompetens."}),a.jsx("p",{children:"Och vi gör det snabbt. Från briefing till färdigt program — på timmar, inte månader."}),a.jsx("h2",{className:"text-2xl lg:text-3xl font-bold font-playfair text-foreground pt-6",children:"Resultaten talar för sig själva."}),a.jsx("p",{children:"Där traditionell digital utbildning har avhoppsfrekvenser över 85 %, levererar Pacys program konsekvent 40–50 % slutförandegrad — för att människor faktiskt vill fortsätta. Ännu viktigare: de agerar annorlunda efteråt. Mer förberedda. Mer självsäkra. Mer kompetenta."}),a.jsx("p",{children:"För målet var aldrig att slutföra en kurs. Målet var att bli bättre på jobbet."}),a.jsx("h2",{className:"text-2xl lg:text-3xl font-bold font-playfair text-foreground pt-6",children:"Gör varje utbildningsinvestering värd det."}),a.jsx("p",{children:"Ditt teams kompetens är er viktigaste konkurrensfördel. Pacy hjälper er bygga den — kontinuerligt, praktiskt och mätbart."}),a.jsx("p",{className:"text-xl font-semibold text-foreground pt-4",children:"Pacy. För team som vill bli bättre på riktigt."}),a.jsx("div",{className:"pt-8",children:a.jsx(W,{asChild:!0,size:"lg",children:a.jsx(J,{to:"/sv/tjanster",children:"Utforska våra tjänster"})})})]})]})}),a.jsx(it,{})]}),ML=qk({firstName:Nr().trim().min(1).max(100),lastName:Nr().trim().min(1).max(100),email:Nr().trim().email().max(255),company:Nr().trim().max(500).optional(),message:Nr().trim().min(1).max(2e3)}),LL=()=>{const t="sv",e=Le.contact,{toast:r}=Gf(),[n,s]=p.useState(!1),[i,o]=p.useState({firstName:"",lastName:"",email:"",company:"",message:""}),l=async c=>{c.preventDefault();const d=ML.safeParse(i);if(!d.success){r({title:D(e.errorTitle,t),description:d.error.errors[0].message,variant:"destructive"});return}s(!0);try{const{error:u}=await Lm.functions.invoke("send-contact-email",{body:i});if(u)throw u;r({title:D(e.successTitle,t),description:D(e.successDescription,t)}),o({firstName:"",lastName:"",email:"",company:"",message:""})}catch(u){console.error("Error sending message:",u),r({title:D(e.errorTitle,t),description:D(e.errorDescription,t),variant:"destructive"})}finally{s(!1)}};return a.jsxs("div",{className:"min-h-screen",children:[a.jsx(We,{title:"Kontakta Pacy — Boka ett samtal om AI-driven träning",description:"Redo att förvandla ditt teams träning? Kontakta oss för att diskutera skräddarsydda AI-drivna träningsprogram.",canonicalPath:"/sv/kontakt",jsonLd:{"@context":"https://schema.org","@type":"ContactPage",name:"Kontakta Pacy",url:"https://pacy.ai/sv/kontakt",inLanguage:"sv-SE"}}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"gradient-orange-purple py-24 pt-40",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-5xl lg:text-6xl font-bold gradient-text-orange mb-8 font-playfair",children:D(e.pageTitle,t)}),a.jsx("p",{className:"text-xl text-white/90",children:D(e.pageSubtitle,t)})]})}),a.jsx("section",{className:"py-24",children:a.jsx("div",{className:"max-w-4xl mx-auto px-6",children:a.jsxs("div",{className:"grid lg:grid-cols-2 gap-16",children:[a.jsxs("div",{className:"space-y-8",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-orange font-playfair",children:D(e.getStarted,t)}),a.jsx("p",{className:"text-lg text-muted-foreground leading-relaxed",children:D(e.getStartedDescription,t)}),a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"font-semibold text-orange mb-2",children:D(e.email,t)}),a.jsx("p",{className:"text-foreground",children:"hello@pacy.ai"})]}),a.jsxs("div",{children:[a.jsx("h3",{className:"font-semibold text-orange mb-2",children:D(e.responseTime,t)}),a.jsx("p",{className:"text-foreground",children:D(e.responseTimeValue,t)})]})]})]}),a.jsx("div",{className:"glass-effect rounded-lg p-8 border border-white/20",children:a.jsxs("form",{onSubmit:l,className:"space-y-6",children:[a.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsxs(nr,{htmlFor:"firstName",children:[D(e.firstName,t)," *"]}),a.jsx(Sr,{id:"firstName",placeholder:"Johan",value:i.firstName,onChange:c=>o({...i,firstName:c.target.value}),required:!0})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(nr,{htmlFor:"lastName",children:[D(e.lastName,t)," *"]}),a.jsx(Sr,{id:"lastName",placeholder:"Svensson",value:i.lastName,onChange:c=>o({...i,lastName:c.target.value}),required:!0})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(nr,{htmlFor:"email",children:[D(e.email,t)," *"]}),a.jsx(Sr,{id:"email",type:"email",placeholder:"johan@foretag.se",value:i.email,onChange:c=>o({...i,email:c.target.value}),required:!0})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(nr,{htmlFor:"company",children:D(e.company,t)}),a.jsx(Sr,{id:"company",placeholder:D(e.companyPlaceholder,t),value:i.company,onChange:c=>o({...i,company:c.target.value})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs(nr,{htmlFor:"message",children:[D(e.message,t)," *"]}),a.jsx(Tm,{id:"message",placeholder:D(e.messagePlaceholder,t),rows:5,value:i.message,onChange:c=>o({...i,message:c.target.value}),required:!0})]}),a.jsx(W,{type:"submit",variant:"gradient-orange",className:"w-full",disabled:n,children:D(n?e.sending:e.sendMessage,t)})]})})]})})})]}),a.jsx(it,{})]})},DL="/assets/change-fatigue-CSFeVEAV.jpg",$L="/assets/ai-agents-2025-BWs5_TTY.jpg",Xn="https://pacy.ai",Qx={all:"bg-primary text-primary-foreground",training:"bg-orange text-white",ai:"bg-purple text-white",gap:"bg-green text-white",news:"bg-lightblue text-black"},FL=[{value:"all",label:"Alla"},{value:"training",label:"Träning & beteende"},{value:"ai",label:"AI & kompetensutveckling"},{value:"gap",label:"Kompetensgapet"},{value:"news",label:"Nyheter"}],zL=[{id:"change-fatigue",title:"Varför 6 av 10 säger nej till förändring",excerpt:"Förändringströttheten är här: bara 38% av medarbetarna accepterar organisatoriska förändringar idag, jämfört med 74% 2016. Samtidigt använder 75% av företagen AI men utbildar bara 33% av personalen.",author:"Joakim Liljedahl",date:"2025-08-22",dateFormatted:"22 augusti 2025",readTime:"8 min",category:"training",categoryLabel:"Träning & beteende",image:DL,imageAlt:"Förändringströtthet på arbetsplatsen – person vid skärmar med förändringsdata",content:a.jsxs("div",{className:"prose prose-lg max-w-none space-y-8",children:[a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"Krisen: 62% färre medarbetare accepterar förändring"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:"Organisatoriska förändringar möter idag en oväntad motståndare: utmattade medarbetare. Ny forskning från Gartner visar en dramatisk utveckling – medan 74% av medarbetarna var villiga att stödja organisationsförändringar 2016 har siffran sjunkit till bara 38% idag."}),a.jsxs("div",{className:"bg-destructive/10 border border-destructive/20 rounded-lg p-6 my-6",children:[a.jsx("p",{className:"text-foreground font-semibold mb-2",children:"Nyckelstatistik:"}),a.jsxs("ul",{className:"space-y-2 text-muted-foreground",children:[a.jsx("li",{children:"• 89% av yrkesverksamma upplever utbrändhet"}),a.jsx("li",{children:'• 20% anger "ständiga förändringar" som huvudorsak'}),a.jsx("li",{children:"• 38% överväger att sluta utan att ha ett nytt jobb"})]})]})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"Förändringströtthet: Mer än bara trötthet"}),a.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-6",children:[a.jsx("strong",{className:"text-foreground",children:"Förändringströtthet är mer än bara trötthet"})," – det är en kollektiv utmattning som uppstår när medarbetare utsätts för för många förändringar på för kort tid."]})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"Neurovetenskaplig lösning: Mindre är mer"}),a.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-6",children:["Paradoxalt nog visar neurovetenskap att lösningen på förändringströtthet ligger i att göra ",a.jsx("strong",{className:"text-foreground",children:"mindre, inte mer"}),". Forskning från Harvard visar att studenter som använde väldesignade AI-tutorer lärde sig dubbelt så mycket på kortare tid."]})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"HIST-metoden: Praktisk lösning"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:"Pacy.ai:s HIST-metod (High Intensity Skill Training) är specifikt utformad för att motverka förändringströtthet genom att kombinera neurovetenskap med praktisk tillämpning."}),a.jsx("div",{className:"grid gap-4 my-6",children:[{title:"Mikrolärande som motgift",desc:"5–10 minuters intensiva träningsblock som passar in i arbetsdagen"},{title:"AI-personalisering",desc:"Varje session anpassad efter användarens nivå och specifika behov"},{title:"Aktivt engagemang",desc:"Träning med AI-stöd istället för passiv konsumtion"},{title:"Flexibel implementering",desc:"Medarbetare kan träna när de har energi och kapacitet"}].map(t=>a.jsxs("div",{className:"flex items-start gap-4 p-4 bg-accent/10 rounded-lg",children:[a.jsx("div",{className:"w-2 h-2 bg-primary rounded-full mt-2"}),a.jsxs("div",{children:[a.jsx("h5",{className:"font-medium text-foreground",children:t.title}),a.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]})]},t.title))})]}),a.jsxs("section",{className:"bg-gradient-to-r from-primary/5 to-accent/5 border border-primary/20 rounded-lg p-8 mt-12",children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4",children:"Framtiden: Från förändringströtthet till förändringsfitness"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:'Istället för att försöka eliminera förändring måste organisationer bygga "förändringsfitness": förmågan att hantera kontinuerlig förändring utan utmattning.'}),a.jsx("p",{className:"text-lg font-semibold text-foreground",children:"Tiden för förändring är nu – men den här gången handlar det om att förändra hur vi förändrar."})]})]})},{id:"ai-agents-2025",title:"AI-agenter tar över arbetsplatsen 2025",excerpt:"AI-agenter kommer att fundamentalt förändra svenska arbetsplatser redan 2025. Enligt World Economic Forum skapas 170 miljoner nya jobb medan 92 miljoner försvinner.",author:"Joakim Liljedahl",date:"2025-08-21",dateFormatted:"21 augusti 2025",readTime:"10 min",category:"ai",categoryLabel:"AI & kompetensutveckling",image:$L,imageAlt:"AI-agent och människa samarbetar på modern arbetsplats",content:a.jsxs("div",{className:"prose prose-lg max-w-none space-y-8",children:[a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"Den största omvälvningen sedan industrialiseringen"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:"Föreställ dig att din mest produktiva medarbetare plötsligt kunde klona sig själv tusen gånger, arbeta dygnet runt utan pauser och samtidigt bli smartare med varje uppgift. Det här är inte science fiction – det är AI-agenter, och de kommer att fundamentalt förändra svenska arbetsplatser redan 2025."}),a.jsxs("div",{className:"bg-primary/10 border border-primary/20 rounded-lg p-6 my-6",children:[a.jsx("p",{className:"text-foreground font-semibold mb-2",children:"World Economic Forum-rapporten:"}),a.jsxs("div",{className:"grid md:grid-cols-2 gap-4 text-sm",children:[a.jsxs("div",{className:"text-green-600",children:[a.jsx("span",{className:"font-medium",children:"+170 miljoner"}),a.jsx("p",{className:"text-muted-foreground",children:"Nya jobb skapas"})]}),a.jsxs("div",{className:"text-red-600",children:[a.jsx("span",{className:"font-medium",children:"-92 miljoner"}),a.jsx("p",{className:"text-muted-foreground",children:"Jobb försvinner"})]})]})]})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"Den tysta revolutionen som redan pågår"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:"Medan många svenska företagsledare fortfarande diskuterar om de ska implementera ChatGPT på arbetsplatsen har den globala AI-revolutionen redan växlat upp. Google rapporterar att 25% av all ny kod nu genereras av AI, och Meta har annonserat planer på att ersätta mellanchefsingenjörer med AI-verktyg redan 2025."})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"AI-agenter: Från assistent till autonom kollega"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:"Vad är skillnaden mellan dagens AI-verktyg och de AI-agenter som kommer att dominera 2025? Tänk på det som skillnaden mellan en hammare och en hantverkare."}),a.jsxs("div",{className:"grid md:grid-cols-2 gap-6 my-8",children:[a.jsxs("div",{className:"bg-card border rounded-lg p-6",children:[a.jsx("h4",{className:"font-semibold text-foreground mb-3",children:"Nuvarande AI-verktyg"}),a.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[a.jsx("li",{children:"• Kräver konstant mänsklig styrning"}),a.jsx("li",{children:"• Utför enskilda uppgifter"}),a.jsx("li",{children:"• Behöver detaljerade instruktioner"}),a.jsx("li",{children:"• Begränsat kontextminne"})]})]}),a.jsxs("div",{className:"bg-primary/5 border border-primary/20 rounded-lg p-6",children:[a.jsx("h4",{className:"font-semibold text-foreground mb-3",children:"AI-agenter (2025)"}),a.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[a.jsx("li",{children:"• Autonom planering och utförande"}),a.jsx("li",{children:"• Hanterar komplexa arbetsflöden"}),a.jsx("li",{children:"• Lär sig av erfarenhet"}),a.jsx("li",{children:"• Kontinuerlig förbättring"})]})]})]})]}),a.jsxs("section",{children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4 border-b border-border pb-2",children:"Sveriges paradoxala position"}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-6",children:"Den svenska situationen är paradoxal. Svenska småföretag använder AI mer än många andra länder, men de flesta saknar strategi och resurser för effektiv integration."})]}),a.jsxs("section",{className:"bg-gradient-to-r from-primary/5 to-accent/5 border border-primary/20 rounded-lg p-8 mt-12",children:[a.jsx("h3",{className:"text-2xl font-bold text-foreground mb-4",children:"Tiden att agera är nu"}),a.jsx("p",{className:"text-lg font-semibold text-foreground",children:"De svenska företag som agerar idag kommer att leda morgondagens marknad."})]})]})}],yu=[...zL].sort((t,e)=>new Date(e.date).getTime()-new Date(t.date).getTime()),UL=()=>{const[t,e]=p.useState("all"),[r,n]=p.useState(null);p.useEffect(()=>{r&&window.scrollTo({top:0,behavior:"smooth"})},[r]);const s=p.useMemo(()=>r?[{"@context":"https://schema.org","@type":"BlogPosting",headline:r.title,description:r.excerpt,image:`${Xn}${r.image}`,datePublished:r.date,author:{"@type":"Person",name:r.author},publisher:{"@type":"Organization",name:"Pacy"},mainEntityOfPage:`${Xn}/sv/blogg/${r.id}`},{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Hem",item:`${Xn}/sv`},{"@type":"ListItem",position:2,name:"Insikter",item:`${Xn}/sv/blogg`},{"@type":"ListItem",position:3,name:r.title}]}]:null,[r]),i=p.useMemo(()=>[{"@context":"https://schema.org","@type":"Blog",name:"Insikter — Pacy",description:"Artiklar om träning som förändrar beteende, AI i kompetensutveckling och hur företag stänger kompetensgapet.",url:`${Xn}/sv/blogg`,publisher:{"@type":"Organization",name:"Pacy"},blogPost:yu.map(o=>({"@type":"BlogPosting",headline:o.title,description:o.excerpt,datePublished:o.date,author:{"@type":"Person",name:o.author}}))},{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Hem",item:`${Xn}/sv`},{"@type":"ListItem",position:2,name:"Insikter"}]}],[]);return r?a.jsxs("div",{className:"min-h-screen bg-background",children:[a.jsx(ue,{}),a.jsx(We,{title:`${r.title} — Pacy`,description:r.excerpt,canonicalPath:`/sv/blogg/${r.id}`,ogImage:`${Xn}${r.image}`,ogType:"article",jsonLd:s||void 0}),a.jsx("main",{className:"pt-20",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6 py-8",children:[a.jsxs("nav",{"aria-label":"Brödsmulor",className:"flex items-center gap-1.5 text-sm text-muted-foreground mb-6",children:[a.jsx(J,{to:"/sv",className:"hover:text-foreground transition-colors",children:"Hem"}),a.jsx(bl,{size:14}),a.jsx("button",{onClick:()=>n(null),className:"hover:text-foreground transition-colors",children:"Insikter"}),a.jsx(bl,{size:14}),a.jsx("span",{className:"text-foreground truncate max-w-[200px]",children:r.title})]}),a.jsxs("article",{children:[a.jsxs("header",{className:"mb-10",children:[a.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[a.jsx("span",{className:`text-xs font-semibold px-3 py-1 rounded-full ${Qx[r.category]}`,children:r.categoryLabel}),a.jsx("span",{className:"text-sm text-muted-foreground",children:r.dateFormatted}),a.jsx("span",{className:"text-sm text-muted-foreground",children:"•"}),a.jsxs("span",{className:"text-sm text-muted-foreground",children:[r.readTime," läsning"]})]}),a.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-foreground mb-6 leading-tight font-serif",children:r.title}),a.jsx("div",{className:"rounded-xl overflow-hidden mb-6",children:a.jsx("img",{src:r.image,alt:r.imageAlt,className:"w-full h-auto object-cover",width:800,height:512})}),a.jsx("div",{className:"bg-accent/20 border-l-4 border-primary p-6 rounded-r-lg mb-6",children:a.jsx("p",{className:"text-lg leading-relaxed text-foreground font-medium",children:r.excerpt})}),a.jsx("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:a.jsx("span",{className:"font-medium",children:r.author})})]}),r.content]})]})}),a.jsx(it,{})]}):a.jsxs("div",{className:"min-h-screen bg-background",children:[a.jsx(ue,{}),a.jsx(We,{title:"Insikter om lärande, AI och kompetensutveckling — Pacy",description:"Artiklar om träning som förändrar beteende, AI i kompetensutveckling och hur företag stänger kompetensgapet. Från Pacy.",canonicalPath:"/sv/blogg",ogType:"website",jsonLd:i}),a.jsxs("main",{children:[a.jsx("div",{className:"pt-24 pb-0 max-w-7xl mx-auto px-6",children:a.jsxs("nav",{"aria-label":"Brödsmulor",className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[a.jsx(J,{to:"/sv",className:"hover:text-foreground transition-colors",children:"Hem"}),a.jsx(bl,{size:14}),a.jsx("span",{className:"text-foreground",children:"Insikter"})]})}),a.jsxs("section",{className:"pt-10 pb-14 bg-background relative overflow-hidden",children:[a.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-purple/5 via-background to-accent/5"}),a.jsxs("div",{className:"relative max-w-4xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold font-serif gradient-text-purple mb-6",children:"Insikter"}),a.jsx("p",{className:"text-lg md:text-xl text-muted-foreground max-w-2xl mx-auto",children:"Om lärande, AI och kompetensutveckling som faktiskt förändrar beteende."})]})]}),a.jsx("section",{className:"bg-background border-b border-border",children:a.jsx("div",{className:"max-w-7xl mx-auto px-6",children:a.jsx("div",{className:"flex items-center gap-2 py-4 overflow-x-auto",children:FL.map(o=>a.jsx("button",{onClick:()=>e(o.value),className:`px-5 py-2 rounded-full text-sm font-medium whitespace-nowrap transition-all duration-300 ${t===o.value?"button-gradient-purple text-white shadow-lg":"bg-muted text-muted-foreground hover:text-foreground hover:bg-muted/80"}`,children:o.label},o.value))})})}),a.jsx("section",{className:"py-14 bg-background",children:a.jsxs("div",{className:"max-w-7xl mx-auto px-6",children:[a.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-8",children:yu.map(o=>{const l=t==="all"||o.category===t;return a.jsxs("article",{className:`group glass-effect rounded-xl overflow-hidden hover-gradient-scale flex flex-col ${l?"":"hidden"}`,children:[a.jsx("div",{className:"aspect-[16/10] overflow-hidden",children:a.jsx("img",{src:o.image,alt:o.imageAlt,loading:"lazy",width:800,height:512,className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500"})}),a.jsxs("div",{className:"p-6 flex flex-col flex-1",children:[a.jsx("div",{className:"mb-3",children:a.jsx("span",{className:`text-xs font-semibold px-3 py-1 rounded-full ${Qx[o.category]}`,children:o.categoryLabel})}),a.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground mb-3",children:[a.jsx("time",{dateTime:o.date,children:o.dateFormatted}),a.jsx("span",{children:"•"}),a.jsxs("span",{children:[o.readTime," läsning"]})]}),a.jsx("h3",{className:"text-lg font-bold text-foreground mb-2 leading-snug group-hover:text-primary transition-colors font-serif",children:o.title}),a.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2 mb-4 flex-1",children:o.excerpt}),a.jsx("button",{onClick:()=>n(o),className:"text-sm font-medium text-primary hover:underline self-start",children:"Läs mer →"})]})]},o.id)})}),yu.filter(o=>t==="all"||o.category===t).length===0&&a.jsxs("div",{className:"text-center py-20",children:[a.jsx("p",{className:"text-muted-foreground text-lg",children:"Inga artiklar hittades i denna kategori."}),a.jsx("button",{onClick:()=>e("all"),className:"mt-4 text-primary hover:underline text-sm",children:"Visa alla artiklar"})]})]})}),a.jsx("section",{className:"py-16 bg-muted/60 border-t border-border/50",children:a.jsxs("div",{className:"relative max-w-3xl mx-auto px-6 text-center",children:[a.jsx("h2",{className:"text-2xl md:text-3xl font-bold font-serif gradient-text-purple mb-6",children:"Vill du se hur Pacy fungerar i praktiken?"}),a.jsx(J,{to:"/sv/kontakt",className:"inline-flex items-center justify-center button-gradient-purple text-white font-semibold h-12 px-8 rounded-lg shadow-lg hover:shadow-xl transition-all duration-300 hover:-translate-y-0.5 text-sm",children:"Boka demo"})]})})]}),a.jsx(it,{})]})},wu=[{question:"Vad står HIST för?",answer:"HIST står för High Intensity Skill Training — en träningsmetodik inspirerad av HIIT-träning och grundad i modern kognitiv vetenskap. Den använder korta, intensiva träningspass med aktiv övning istället för passiv konsumtion."},{question:"Hur skiljer sig HIST från vanlig e-learning?",answer:"Traditionell e-learning bygger på att presentera information — video, text, quiz. HIST bygger på att träna beteende: simulerade scenarier, aktiv återkallning och repetition över tid. Skillnaden är att titta på en kockshow vs att laga maten själv."},{question:"Hur långa är träningspassen?",answer:"Varje pass är 5–10 minuter — designat för att rymmas i vardagen utan att ta tid från jobbet. Korta, fokuserade sessioner som kräver aktivt deltagande hela tiden."},{question:"Funkar det för alla typer av färdigheter?",answer:"HIST är effektivt för färdigheter som kräver tillämpning: sälj, kundservice, ledarskap, compliance, onboarding, nya verktyg och arbetssätt. Det är byggt för situationer där det inte räcker att veta — man måste kunna."}],BL=()=>a.jsxs("div",{className:"min-h-screen bg-background",children:[a.jsx(We,{title:"HIST™ — träningsmetodiken bakom Pacy | Pacy",description:"HIST (High Intensity Skill Training) är en vetenskapligt förankrad träningsmetodik som bygger på aktiv övning, simulerade scenarier och spaced repetition. Designad för beteendeförändring.",canonicalPath:"/sv/vetenskap",jsonLd:{"@context":"https://schema.org","@type":"WebPage",name:"HIST™ — träningsmetodiken bakom Pacy",url:"https://pacy.ai/sv/vetenskap",inLanguage:"sv-SE",description:"HIST (High Intensity Skill Training) är en vetenskapligt förankrad träningsmetodik som bygger på aktiv övning, simulerade scenarier och spaced repetition."}}),a.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",inLanguage:"sv-SE",mainEntity:wu.map(t=>({"@type":"Question",name:t.question,acceptedAnswer:{"@type":"Answer",text:t.answer}}))})}}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"py-16 pt-36 bg-muted",children:a.jsxs("div",{className:"max-w-5xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-green mb-5 font-playfair",children:"Träning som mäts i resultat"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mx-auto",children:"HIST™ (High Intensity Skill Training) är Pacys egenutvecklade träningsmetod — baserad på neurovetenskap, kognitiv psykologi och adaptiv AI. Metoden ersätter passiv inlärning med aktiva, fokuserade träningspass som bygger verklig förmåga på kortare tid."})]})}),a.jsx("section",{className:"py-16",children:a.jsxs("div",{className:"max-w-5xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl lg:text-4xl font-bold gradient-text-green mb-5 font-playfair",children:"Kunskap som inte används är inte kompetens"}),a.jsx("p",{className:"text-base leading-relaxed text-muted-foreground max-w-4xl",children:"De flesta utbildningar bygger på samma idé: ge människor information och hoppas att den fastnar. Men hjärnan fungerar inte så. Kognitiv neurovetenskap visar att passiv konsumtion — videor, artiklar, kurser man bockar av — skapar en illusion av lärande utan varaktig effekt. Kortare format löser inte problemet om de bara gör det lättare att scrolla vidare. Därför heter metoden High Intensity Skill Training — för att det som kräver ansträngning är det som fastnar."})]})}),a.jsx("section",{className:"py-16 bg-muted",children:a.jsxs("div",{className:"max-w-5xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl lg:text-4xl font-bold gradient-text-green mb-4 font-playfair text-center",children:"Aktiv träning, inte passiv konsumtion"}),a.jsx("p",{className:"text-base leading-relaxed text-muted-foreground max-w-4xl mx-auto text-center mb-10",children:"HIST™ kombinerar principer från neurovetenskap och kognitiv psykologi med adaptiv AI för att skapa träning som faktiskt förändrar beteende. Metoden bygger på att hjärnan behöver ansträngning, repetition och variation för att omvandla information till förmåga."}),a.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:[{step:1,title:"Fokuserade träningspass",description:"5–10 minuters intensiva pass som kräver aktiv ansträngning — inte passiv konsumtion. Designade för att passa i en vanlig arbetsdag."},{step:2,title:"AI som din tränare",description:"En AI-tränare som ger personlig feedback och anpassar innehåll och utmaningar efter hur du svarar i varje övning."},{step:3,title:"Inbyggd repetition",description:"Metoden säkerställer att kunskap återkommer vid rätt tillfällen — baserat på hur minnet fungerar, inte på ett fast schema."}].map(t=>a.jsxs("div",{className:"glass-effect p-6 rounded-xl hover:shadow-xl transition-all duration-500 ease-[cubic-bezier(0.4,0,0.2,1)] hover:scale-[1.02]",children:[a.jsx("div",{className:"w-10 h-10 bg-green rounded-full flex items-center justify-center text-white font-bold mb-4",children:t.step}),a.jsx("h3",{className:"text-xl font-bold gradient-text-green font-playfair mb-2",children:t.title}),a.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t.description})]},t.step))})]})}),a.jsx("section",{className:"py-16",children:a.jsxs("div",{className:"max-w-5xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl lg:text-4xl font-bold gradient-text-green mb-5 font-playfair",children:"Varför HIST™ fungerar"}),a.jsx("p",{className:"text-base leading-relaxed text-muted-foreground max-w-4xl",children:"HIST™ bygger på etablerade principer inom neurovetenskap — bland annat att minnen stärks genom aktiv återhämtning, att variation i träningskontext förbättrar överföring till verkliga situationer, och att kognitiv ansträngning är en förutsättning för varaktig inlärning. Metoden är utvecklad för att göra dessa principer praktiskt tillämpbara i en arbetsmiljö — utan att kräva timmar av tid eller expertkunskap från chefen."})]})}),a.jsx("section",{className:"py-12 bg-muted",children:a.jsxs("div",{className:"max-w-5xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl lg:text-4xl font-bold mb-10 font-playfair gradient-text-green",children:"Vanliga frågor"}),a.jsx("div",{children:wu.map((t,e)=>a.jsxs("div",{className:`grid grid-cols-1 md:grid-cols-5 gap-4 md:gap-8 py-6 ${ea.jsxs("div",{className:"min-h-screen bg-background",children:[a.jsx(We,{title:"Från behov till färdigt träningsprogram, samma dag | Pacy",description:"Med Pacy beskriver chefen vad teamet behöver träna på. Inom några timmar är ett komplett, skräddarsytt träningsprogram redo att lansera — utan projektplan, upphandling eller extern konsult.",canonicalPath:"/sv/workshop",jsonLd:{"@context":"https://schema.org","@type":"WebPage",name:"Workshop — Från behov till färdigt träningsprogram",url:"https://pacy.ai/sv/workshop",inLanguage:"sv-SE",description:"Med Pacy beskriver chefen vad teamet behöver träna på. Inom några timmar är ett komplett, skräddarsytt träningsprogram redo att lansera."}}),a.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",inLanguage:"sv-SE",mainEntity:bu.map(t=>({"@type":"Question",name:t.question,acceptedAnswer:{"@type":"Answer",text:t.answer}}))})}}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"py-16 pt-36 bg-muted",children:a.jsxs("div",{className:"max-w-5xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-orange mb-5 font-playfair",children:"Från behov till färdigt träningsprogram, samma dag"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mx-auto mb-6",children:"Med Pacy beskriver chefen vad teamet behöver träna på. Inom några timmar är ett komplett, skräddarsytt träningsprogram redo att lansera — utan projektplan, upphandling eller extern konsult."})]})}),a.jsx("section",{className:"py-16",children:a.jsx("div",{className:"max-w-6xl mx-auto px-6",children:a.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[2fr_3fr] gap-8 items-start",children:[a.jsxs("div",{children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold leading-tight mb-4 font-playfair gradient-text-orange",children:"Varför kompetensutveckling sällan blir av"}),a.jsx("p",{className:"text-base leading-relaxed text-muted-foreground",children:"De flesta chefer vet att teamet behöver utvecklas. Men vägen från insikt till handling är full av hinder: upphandlingsprocesser som tar månader, kurskataloger som inte matchar behovet, och konsulter som kostar mer än hela kvartalsbudgeten. Resultatet är att ingenting händer och kompetensglappet växer i tystnad."})]}),a.jsxs("div",{children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold mb-5 font-playfair gradient-text-orange",children:"Tre steg från behov till träning"}),a.jsx("div",{className:"space-y-4",children:[{step:1,title:"Beskriv behovet",description:"I en kort briefing eller chatdialog berättar du vad teamet behöver bli bättre på. Du kan ladda upp interna dokument, processer eller material som träningen ska utgå ifrån."},{step:2,title:"Pacy bygger programmet",description:"AI:n skapar ett komplett träningsprogram baserat på din briefing — med HIST™-metodik, aktiva övningar och simulerade scenarier. Du granskar och justerar innan lansering."},{step:3,title:"Teamet börjar träna",description:"Medarbetarna bjuds in och tränar direkt i mobilen eller på webben. Korta, fokuserade pass som ryms i vardagen — utan att ta tid från jobbet."}].map(t=>a.jsxs("div",{className:"glass-effect p-5 rounded-xl flex items-start space-x-4 hover:shadow-xl transition-all duration-500 ease-[cubic-bezier(0.4,0,0.2,1)] hover:scale-[1.01]",children:[a.jsx("div",{className:"w-8 h-8 bg-orange rounded-full flex items-center justify-center text-white font-bold flex-shrink-0 text-sm",children:t.step}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-bold gradient-text-orange font-playfair mb-1",children:t.title}),a.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:t.description})]})]},t.step))})]})]})})}),a.jsx("section",{className:"py-12 bg-muted/30",children:a.jsxs("div",{className:"max-w-5xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl lg:text-4xl font-bold text-center mb-10 font-playfair gradient-text-orange",children:"Vanliga frågor"}),a.jsx("div",{children:bu.map((t,e)=>a.jsxs("div",{className:`grid grid-cols-1 md:grid-cols-5 gap-4 md:gap-8 py-6 ${ea.jsxs("div",{className:"min-h-screen bg-background",children:[a.jsx(We,{title:"Skräddarsydd träning för ert team | Pacy",description:"Pacy bygger varje träningsprogram utifrån ert teams roller, utmaningar och mål. Relevant kompetensutveckling från första sessionen — utan generiska kurser.",canonicalPath:"/sv/personlig-traning",jsonLd:{"@context":"https://schema.org","@type":"WebPage",name:"Skräddarsydd träning för ert team",url:"https://pacy.ai/sv/personlig-traning",inLanguage:"sv-SE",description:"Pacy bygger varje träningsprogram utifrån ert teams roller, utmaningar och mål."}}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"pt-40 pb-24 bg-background",children:a.jsxs("div",{className:"max-w-5xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-purple mb-8 font-playfair",children:"Träning som utgår från er verklighet — inte en generisk kurskatalog"}),a.jsx("h2",{className:"text-lg lg:text-xl text-muted-foreground max-w-4xl mx-auto leading-relaxed mb-10",children:"Pacy bygger varje träningsprogram utifrån ert teams roller, utmaningar och mål. Resultatet är träning som är relevant från första sessionen — eftersom den speglar det arbete teamet faktiskt gör."})]})}),a.jsx("section",{className:"py-24 bg-muted",children:a.jsxs("div",{className:"max-w-5xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl lg:text-4xl font-bold gradient-text-purple mb-8 font-playfair",children:"Varför generisk utbildning inte ger resultat"}),a.jsx("p",{className:"text-base lg:text-lg text-muted-foreground leading-relaxed max-w-4xl",children:"En kurs om säljteknik som inte speglar era produkter, kunder och säljprocess är en kurs om någon annans jobb. En compliance-utbildning som inte utgår från era policyer och situationer är en övning i abstraktion. Generiska kurser lär ut generell kunskap — men det är specifik förmåga som gör skillnad i vardagen."})]})}),a.jsx("section",{className:"py-24 bg-background",children:a.jsxs("div",{className:"max-w-5xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl lg:text-4xl font-bold gradient-text-purple mb-16 font-playfair text-center",children:"Skräddarsytt på tre nivåer"}),a.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:[{title:"Anpassat efter ert team",text:"Varje program utgår från era roller, processer och utmaningar. Du kan ladda upp interna dokument, policyer eller säljmaterial — Pacy bygger träningen på ert innehåll så att varje scenario speglar er verklighet."},{title:"Byggt för er verklighet",text:"Träningen anpassas efter ert företag — era kunder, produkter, er marknad och era utmaningar. Pacy utgår från de kunskapsluckor som finns i just ert team och bygger program som speglar er vardag, inte generiska exempel från en annan bransch."},{title:"Anpassat efter er vardag",text:"Medarbetarna tränar i korta pass på 5–10 minuter, i mobilen eller på webben. Träningen ryms i de luckor som redan finns i dagen — på bussen, mellan möten, i en paus. Ingen heldagsutbildning, ingen frånvaro från jobbet."}].map((t,e)=>a.jsxs("div",{className:"glass-effect p-8 rounded-xl hover-gradient-scale",children:[a.jsx("h3",{className:"text-xl font-bold gradient-text-purple mb-4 font-playfair",children:t.title}),a.jsx("p",{className:"text-muted-foreground text-base leading-relaxed",children:t.text})]},e))})]})}),a.jsx("section",{className:"py-24 bg-muted",children:a.jsxs("div",{className:"max-w-5xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl lg:text-4xl font-bold gradient-text-purple mb-16 font-playfair",children:"Träningen som ert team behöver — oavsett område"}),a.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-8",children:VL.map((t,e)=>a.jsxs("div",{className:"glass-effect p-8 rounded-xl hover-gradient-scale",children:[a.jsx("h3",{className:"text-lg font-bold gradient-text-purple mb-3 font-playfair",children:t.title}),a.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:t.description})]},e))})]})}),a.jsxs("section",{className:"py-24 bg-background",children:[a.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",inLanguage:"sv-SE",mainEntity:ku.map(t=>({"@type":"Question",name:t.question,acceptedAnswer:{"@type":"Answer",text:t.answer}}))})}}),a.jsxs("div",{className:"max-w-5xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl lg:text-4xl font-bold gradient-text-purple mb-16 font-playfair",children:"Vanliga frågor"}),a.jsx("div",{children:ku.map((t,e)=>a.jsxs("div",{className:`grid grid-cols-1 md:grid-cols-5 gap-4 md:gap-8 py-8 ${e{const t=[{icon:rm,title:"Fullständig installation och konfiguration",description:"Komplett teknisk installation och anpassning av din träningsplattform, skräddarsydd efter din organisations unika krav och arbetsflöden.",features:["Anpassad plattformskonfiguration","Installation av användaråtkomst","Varumärkesanpassning och styling"]},{icon:Wc,title:"Löpande prestandaövervakning",description:"Kontinuerlig spårning och analys av ditt träningsprograms effektivitet, med handlingsbara insikter för förbättring.",features:["Realtidsanalys av engagemang","Uppföljning av slutförandegrad"]},{icon:Bc,title:"Regelbundna optimeringsuppdateringar",description:"Proaktiva förbättringar baserade på prestandadata, användarfeedback och branschens bästa praxis.",features:["Rekommendationer för innehållsoptimering","Prestandaförbättrande uppdateringar","Funktionsförbättringar","Användarupplevelseförbättringar","Tekniska uppdateringar"]},{icon:Kw,title:"Dedikerad kundframgång",description:"Personligt stöd från vårt erfarna team som förstår dina mål och är engagerade i att säkerställa ditt träningsprograms framgång.",features:["Dedikerad kontaktperson","Regelbundna strategisessioner","Prioriterad teknisk support","Vägledning kring bästa praxis","Framgångsplanering och uppföljning"]}];return a.jsxs("div",{className:"min-h-screen gradient-subtle-purple",children:[a.jsx("div",{className:"fixed top-0 left-0 w-full h-full gradient-subtle-purple -z-10"}),a.jsx(We,{title:"Komplett träningsstöd | Pacy",description:"Från installation till löpande optimering – vi ger dig komplett stöd för att säkerställa att dina träningsprogram levererar mätbara resultat.",canonicalPath:"/sv/supporttjanster",jsonLd:{"@context":"https://schema.org","@type":"WebPage",name:"Supporttjänster",url:"https://pacy.ai/sv/supporttjanster",inLanguage:"sv-SE"}}),a.jsx(ue,{}),a.jsx("main",{children:a.jsx("section",{className:"py-24 pt-40",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsxs("div",{className:"mb-16 text-center",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-blue mb-8 font-playfair",children:"Komplett träningsstöd"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-4xl mx-auto leading-relaxed mb-8",children:"Från initial installation till löpande optimering ger vi komplett stöd för att säkerställa att dina träningsprogram levererar exceptionella resultat och mätbar påverkan."}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[a.jsx(W,{variant:"gradient-blue",size:"lg",asChild:!0,children:a.jsx("a",{href:"/sv/kontakt",children:"Kom igång"})}),a.jsx(W,{variant:"outline",size:"lg",asChild:!0,children:a.jsx("a",{href:"/sv/workshop",children:"Boka konsultation"})})]})]}),a.jsx("div",{className:"grid lg:grid-cols-2 gap-12 mb-16",children:t.map((e,r)=>a.jsxs("div",{className:"glass-effect p-8 rounded-xl hover-gradient-scale",children:[a.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[a.jsx("div",{className:"w-12 h-12 rounded-full gradient-subtle-blue flex items-center justify-center flex-shrink-0",children:a.jsx(e.icon,{className:"w-6 h-6 text-white"})}),a.jsxs("div",{children:[a.jsx("h2",{className:"text-2xl font-bold gradient-text-blue font-playfair mb-3",children:e.title}),a.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:e.description})]})]}),a.jsx("div",{className:"space-y-3",children:e.features.map((n,s)=>a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx(Uc,{className:"w-4 h-4 text-blue flex-shrink-0"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:n})]},s))})]},r))}),a.jsxs("div",{className:"glass-effect p-12 rounded-xl text-center",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-blue font-playfair mb-4",children:"Redo att förvandla din träning?"}),a.jsx("p",{className:"text-lg text-muted-foreground mb-8 max-w-2xl mx-auto",children:"Låt vårt expertteam hantera komplexiteten medan du fokuserar på det som betyder mest – ditt teams tillväxt och framgång."}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[a.jsx(W,{variant:"gradient-blue",size:"lg",asChild:!0,children:a.jsx("a",{href:"/sv/kontakt",children:"Starta din resa"})}),a.jsx(W,{variant:"outline",size:"lg",asChild:!0,children:a.jsx("a",{href:"/sv/tjanster",children:"Utforska alla tjänster"})})]})]})]})})}),a.jsx(it,{})]})},KL=()=>{const t=[{icon:em,title:"Du slipper planera",description:"Pacy bygger programmet åt dig med AI – du behöver inte strukturera eller skapa innehåll själv."},{icon:po,title:"Du slipper samordna",description:"Pacy anpassar upplägget efter ditt teams arbetsschema för sömlös integration."},{icon:Wc,title:"Du slipper manuell uppföljning",description:"Få löpande insikter om progression och engagemang automatiskt."},{icon:St,title:"Du kan använda eget innehåll",description:"Interna policyer, guider och dokument blir levande träningsupplevelser."}],e=[{title:"Uppstartsworkshop",description:"En session på 1 timme för att förstå era mål och organisatoriska kontext."},{title:"AI-programskapande",description:"Skräddarsytt träningsinnehåll byggt med AI baserat på era behov och material."},{title:"Lansera & optimera",description:"Sömlös utrullning med löpande övervakning och förfining."}];return a.jsxs("div",{className:"min-h-screen gradient-subtle-green",children:[a.jsx("div",{className:"fixed top-0 left-0 w-full h-full gradient-subtle-green -z-10"}),a.jsx(We,{title:"Skräddarsydd företagsträning | Pacy",description:"AI-drivna, helt skräddarsydda träningsprogram designade för ditt teams unika behov. Från 150 EUR/månad.",canonicalPath:"/sv/tjanster/foretagsutbildningar",jsonLd:{"@context":"https://schema.org","@type":"Service",name:"Skräddarsydd företagsträning",url:"https://pacy.ai/sv/tjanster/foretagsutbildningar",inLanguage:"sv-SE"}}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"py-24 pt-40",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-blue mb-8 font-playfair",children:"Skräddarsydd företagsträning"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mx-auto mb-8",children:"AI-drivna, helt anpassade träningsprogram designade för ditt teams unika behov."}),a.jsx("div",{className:"text-2xl font-bold gradient-text-blue mb-8",children:"Från 150 EUR / månad"}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[a.jsx(W,{variant:"gradient-blue",size:"lg",asChild:!0,children:a.jsx("a",{href:"/sv/kontakt",children:"Kom igång idag"})}),a.jsx(W,{variant:"outline",size:"lg",asChild:!0,children:a.jsx("a",{href:"/sv/workshop",children:"Boka gratis workshop"})})]})]})}),a.jsx("section",{className:"py-24",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsx("h2",{className:"text-4xl font-bold gradient-text-blue mb-16 text-center font-playfair",children:"Låt Pacy hantera ditt teams utveckling"}),a.jsx("div",{className:"grid lg:grid-cols-2 gap-8",children:t.map((r,n)=>a.jsxs("div",{className:"flex items-start space-x-4 glass-effect p-6 rounded-xl",children:[a.jsx("div",{className:"w-12 h-12 bg-blue rounded-full flex items-center justify-center flex-shrink-0",children:a.jsx(r.icon,{className:"text-white",size:20})}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-lg font-bold gradient-text-blue mb-2",children:r.title}),a.jsx("p",{className:"text-muted-foreground text-sm",children:r.description})]})]},n))})]})}),a.jsx("section",{className:"py-24",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsxs("div",{className:"text-center mb-16",children:[a.jsx("h2",{className:"text-4xl font-bold gradient-text-blue font-playfair mb-8",children:"Så fungerar det"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-3xl mx-auto",children:"Från konsultation till resultat på bara några enkla steg."})]}),a.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:e.map((r,n)=>a.jsxs("div",{className:"text-center glass-effect p-6 rounded-xl",children:[a.jsx("div",{className:"w-12 h-12 bg-blue rounded-full mx-auto flex items-center justify-center mb-4",children:a.jsx("span",{className:"text-white font-bold text-lg",children:n+1})}),a.jsx("h3",{className:"text-lg font-bold gradient-text-blue mb-2",children:r.title}),a.jsx("p",{className:"text-muted-foreground text-sm",children:r.description})]},n))})]})}),a.jsx("section",{className:"py-24",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6 text-center",children:[a.jsx("h2",{className:"text-4xl font-bold gradient-text-blue mb-8 font-playfair",children:"Redo att förvandla ditt team?"}),a.jsx("p",{className:"text-xl text-muted-foreground mb-12",children:"Bara en timme av din tid skapar ett komplett, skräddarsytt träningsprogram."}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[a.jsx(W,{variant:"gradient-blue",size:"lg",asChild:!0,children:a.jsx("a",{href:"/sv/kontakt",children:"Kom igång idag"})}),a.jsx(W,{variant:"outline",size:"lg",asChild:!0,children:a.jsx("a",{href:"/sv/workshop",children:"Boka gratis workshop"})})]})]})})]}),a.jsx(it,{})]})},GL=()=>a.jsxs("div",{className:"min-h-screen gradient-subtle-green",children:[a.jsx("div",{className:"fixed top-0 left-0 w-full h-full gradient-subtle-green -z-10"}),a.jsx(We,{title:"Praktisk säljmötesträning som faktiskt används | Pacy",description:"Pacy tränar dina säljare på verkliga säljsituationer – steg för steg, över tid, med kontinuerlig feedback.",canonicalPath:"/sv/tjanster/saljtraning",jsonLd:{"@context":"https://schema.org","@type":"Service",name:"Praktisk säljmötesträning",url:"https://pacy.ai/sv/tjanster/saljtraning",inLanguage:"sv-SE"}}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"py-16 pt-32",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-green mb-5 font-playfair",children:"Praktisk säljmötesträning som faktiskt används"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-4xl mx-auto mb-6",children:"Pacy tränar dina säljare på verkliga säljsituationer — steg för steg, över tid, med kontinuerlig feedback. Utan att ta tid från säljdagen."}),a.jsx(W,{variant:"gradient-green",size:"lg",asChild:!0,children:a.jsx("a",{href:"/sv/kontakt",children:"Boka en demo"})})]})}),a.jsx("section",{className:"py-12",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-green mb-8 text-center font-playfair",children:"Varför traditionell säljträning inte fungerar"}),a.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-4",children:["Säljare tränar sällan, trots att alla är överens om att det är avgörande för förbättring.","De flesta säljträningar är för teoretiska, för dyra (externa konsulter), eller begränsade till engångssessioner utan uppföljning.","Rollspel används sällan – trots att det är ett av de mest effektiva sätten att bygga verkliga säljfärdigheter.","Säljchefer har begränsad tid för kontinuerlig, individuell coachning.","Det är svårt att spåra och mäta faktisk beteendeförändring över tid.","Olika kompetensnivåer i teamet gör att enhetlig träning blir ineffektiv."].map((t,e)=>a.jsxs("div",{className:"glass-effect p-5 rounded-xl text-center flex flex-col items-center",children:[a.jsx("div",{className:"w-8 h-8 bg-green rounded-full flex items-center justify-center mb-3",children:a.jsx("span",{className:"text-white font-bold text-sm",children:e+1})}),a.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:t})]},e))})]})}),a.jsx("section",{className:"py-12",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-green mb-8 text-center font-playfair",children:"Så fungerar Pacy"}),a.jsx("div",{className:"grid lg:grid-cols-2 gap-5",children:[{icon:zc,title:"Fokuserad, relevant teori",description:"Varje träningssession börjar med koncist kunskapsinnehåll kopplat till ett specifikt moment i säljmötet."},{icon:Ql,title:"Praktisk simulering (rollspel)",description:"Säljare övar på verkliga säljsituationer genom AI-drivna simuleringar — inte hela mötet på en gång, utan specifika delar: öppning, behovsanalys, invändningshantering, nästa steg med mera."},{icon:Bc,title:"Kontinuerlig feedback",description:"Varje övning ger omedelbar feedback utformad för att driva beteendeförändring över tid."},{icon:Qw,title:"Anpassat efter ditt erbjudande",description:"All träning byggs kring dina produkter, kunder och verkliga säljsituationer."}].map((t,e)=>a.jsxs("div",{className:"flex items-start space-x-3 glass-effect p-4 rounded-xl",children:[a.jsx("div",{className:"w-10 h-10 bg-green rounded-full flex items-center justify-center flex-shrink-0",children:a.jsx(t.icon,{className:"text-white",size:20})}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-base font-bold text-foreground mb-1",children:t.title}),a.jsx("p",{className:"text-muted-foreground text-sm",children:t.description})]})]},e))})]})}),a.jsx("section",{className:"py-12 gradient-green-blue",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl font-bold text-white font-playfair mb-8 text-center",children:"Det som gör Pacy unikt"}),a.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:["All träning anpassas efter ditt erbjudande, dina kunder och dina faktiska säljsituationer.","Rollspel simulerar inte hela säljmöten på en gång — de tränar specifika delar för maximalt lärande.","Träningen sker i korta sessioner, över tid, och kräver ingen förberedelse.","Minskar behovet av manuell coachning från säljchefen."].map((t,e)=>a.jsxs("div",{className:"flex items-start space-x-3 glass-effect p-4 rounded-xl",children:[a.jsx(St,{className:"text-white flex-shrink-0 mt-0.5",size:18}),a.jsx("p",{className:"text-white/90 text-sm leading-relaxed",children:t})]},e))})]})}),a.jsx("section",{className:"py-12",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-green mb-8 text-center font-playfair",children:"Pacy passar dig om..."}),a.jsx("div",{className:"grid lg:grid-cols-3 gap-4",children:["Du leder ett B2B-säljteam med ca 5–15 personer.","Dina säljare säljer SaaS, abonnemang, produkter eller projekt.","Du ansvarar för säljträning och budget.","Du känner att dina säljare tränar för lite i vardagen.","Du vill förbättra hur säljmöten faktiskt genomförs.","Du har en mix av juniora och seniora säljare."].map((t,e)=>a.jsxs("div",{className:"text-center space-y-2 glass-effect p-5 rounded-xl hover-gradient-scale",children:[a.jsx("div",{className:"w-9 h-9 bg-green/20 rounded-full flex items-center justify-center mx-auto",children:a.jsx(St,{className:"text-green",size:18})}),a.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:t})]},e))})]})}),a.jsx("section",{className:"py-12",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6",children:[a.jsx("h2",{className:"text-3xl font-bold gradient-text-green mb-8 text-center font-playfair",children:"Vanliga frågor"}),a.jsx(hd,{type:"single",collapsible:!0,className:"space-y-3",children:[{question:"Vi har redan säljträning",answer:"Pacy kompletterar era befintliga insatser genom att ge säljarna ett sätt att öva praktiskt mellan workshops och träningstillfällen."},{question:"Det här låter som ett verktyg, inte träning",answer:"Det är precis därför vi erbjuder en demo — för att visa hur träningen fungerar i praktiken."},{question:"Våra säljare är erfarna och kan redan det här",answer:"Pacy används ofta för att finslipa specifika moment i säljmötet, oavsett erfarenhetsnivå."},{question:"Hur mycket tid tar det?",answer:"Träningen sker i korta sessioner och kan genomföras utan att störa säljdagen."}].map((t,e)=>a.jsxs(No,{value:`item-${e}`,className:"glass-effect rounded-xl px-5 border-none",children:[a.jsx(_o,{className:"text-base font-semibold text-foreground hover:no-underline py-3",children:t.question}),a.jsx(So,{className:"text-muted-foreground text-sm leading-relaxed",children:t.answer})]},e))})]})}),a.jsx("section",{className:"py-12",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6 text-center",children:[a.jsx("h2",{className:"text-2xl sm:text-3xl font-bold gradient-text-green mb-4 font-playfair",children:"Boka en 20-minuters demo"}),a.jsx("p",{className:"text-base sm:text-lg text-muted-foreground mb-6 max-w-3xl mx-auto",children:"Vi visar hur Pacy fungerar för just din säljsituation. Ingen förberedelse behövs."}),a.jsx(W,{variant:"gradient-green",size:"lg",asChild:!0,children:a.jsx("a",{href:"/sv/kontakt",children:"Boka en demo"})})]})})]}),a.jsx(it,{})]}),JL=()=>a.jsxs("div",{className:"min-h-screen gradient-subtle-purple",children:[a.jsx("div",{className:"fixed top-0 left-0 w-full h-full gradient-subtle-purple -z-10"}),a.jsx(We,{title:"Skräddarsydda complianceprogram | Pacy",description:"Säkerställ regelefterlevnad och minska risker med engagerande, AI-driven complianceträning som ditt team faktiskt slutför.",canonicalPath:"/sv/tjanster/compliance",jsonLd:{"@context":"https://schema.org","@type":"Service",name:"Complianceprogram",url:"https://pacy.ai/sv/tjanster/compliance",inLanguage:"sv-SE"}}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"py-24 pt-40",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6 text-center",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold gradient-text-purple mb-8 font-playfair",children:"Skräddarsydda complianceprogram"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-4xl mx-auto mb-8",children:"Säkerställ regelefterlevnad och minska risker med engagerande, AI-driven complianceträning som ditt team faktiskt slutför."}),a.jsx("div",{className:"text-2xl font-bold gradient-text-purple mb-8",children:"Från 10 EUR / användare"}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 justify-center",children:[a.jsx(W,{variant:"gradient",size:"lg",asChild:!0,children:a.jsx("a",{href:"/sv/kontakt",children:"Starta complianceträning"})}),a.jsx(W,{variant:"outline",size:"lg",asChild:!0,children:a.jsx("a",{href:"/sv/workshop",children:"Compliancebedömning"})})]})]})}),a.jsx("section",{className:"py-24",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsx("h2",{className:"text-4xl font-bold gradient-text-purple mb-16 text-center font-playfair",children:"Träningsområden för compliance"}),a.jsx("div",{className:"grid lg:grid-cols-2 gap-12",children:[{icon:Yl,title:"Dataskydd & integritet",description:"GDPR, CCPA och andra dataskyddsregleringar.",topics:["Rutiner för datahantering","Integritetsrättigheter","Hantering av dataintrång","Samtyckehantering"]},{icon:Xl,title:"Arbetsmiljö & HR",description:"Medarbetarsäkerhet, förebyggande av trakasserier och HR-compliance.",topics:["Säkerhetsprotokoll","Anti-trakasseriträning","Lika möjligheter","Arbetsplatspolicyer"]}].map((t,e)=>a.jsxs("div",{className:"flex items-start space-x-4 glass-effect p-6 rounded-xl",children:[a.jsx("div",{className:"w-12 h-12 bg-purple rounded-full flex items-center justify-center flex-shrink-0",children:a.jsx(t.icon,{className:"text-white",size:24})}),a.jsxs("div",{children:[a.jsx("h3",{className:"text-xl font-bold text-foreground mb-2",children:t.title}),a.jsx("p",{className:"text-muted-foreground mb-2",children:t.description}),a.jsx("ul",{className:"text-sm text-muted-foreground space-y-1",children:t.topics.map((r,n)=>a.jsxs("li",{className:"flex items-center space-x-2",children:[a.jsx(St,{size:14,className:"text-purple"}),a.jsx("span",{children:r})]},n))})]})]},e))})]})}),a.jsx("section",{className:"py-24 gradient-purple-blue",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsxs("div",{className:"text-center mb-16",children:[a.jsx("h2",{className:"text-4xl font-bold text-white font-playfair mb-8",children:"Kostnaden för bristande compliance"}),a.jsx("p",{className:"text-lg text-white/90 max-w-4xl mx-auto",children:"Regelöverträdelser kan leda till betydande ekonomiska påföljder, juridiska problem och skadat rykte. Proaktiv complianceträning är ditt bästa försvar."})]}),a.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-8",children:[{title:"Regulatoriska böter",description:"Genomsnittliga GDPR-böter överstiger €20M för allvarliga överträdelser",cost:"€20M+"},{title:"Juridiska kostnader",description:"Rättstvister och juridiska försvarsutgifter",cost:"€500K+"},{title:"Rytesskada",description:"Långsiktig påverkan på varumärke och kundförtroende",cost:"Löpande"},{title:"Verksamhetsstörning",description:"Affärsavbrott och produktivitetsförlust",cost:"Variabelt"}].map((t,e)=>a.jsxs("div",{className:"text-center glass-effect p-6 rounded-xl",children:[a.jsx("div",{className:"w-16 h-16 bg-red-500 rounded-full mx-auto flex items-center justify-center mb-4",children:a.jsx(Yw,{className:"text-white",size:32})}),a.jsx("h3",{className:"text-lg font-bold text-white mb-2",children:t.title}),a.jsx("p",{className:"text-white/70 text-sm",children:t.description}),a.jsx("div",{className:"text-2xl font-bold text-red-300 mt-2",children:t.cost})]},e))})]})}),a.jsx("section",{className:"py-24",children:a.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[a.jsxs("div",{className:"text-center mb-16",children:[a.jsx("h2",{className:"text-4xl font-bold gradient-text-purple mb-8 font-playfair",children:"Varför välja Pacy för complianceträning?"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-4xl mx-auto",children:"Traditionell complianceträning är tråkig och ineffektiv. Pacy gör compliance engagerande och säkerställer verklig förståelse och retention."})]}),a.jsx("div",{className:"grid lg:grid-cols-3 gap-12",children:[{icon:St,title:"Högre slutförandegrad",description:"40–50 % slutförandegrad jämfört med branschsnittet på 15 % för traditionell complianceträning."},{icon:po,title:"Lärande precis i tid",description:"Mikrolärande-moduler som passar in i fulla scheman utan att störa arbetsflödet."},{icon:Yl,title:"Verkliga scenarier",description:"AI-drivna simuleringar av faktiska compliancesituationer på arbetsplatsen för praktiskt lärande."}].map((t,e)=>a.jsxs("div",{className:"text-center space-y-6 glass-effect p-8 rounded-xl hover-gradient-scale",children:[a.jsx("div",{className:"w-20 h-20 bg-purple rounded-full mx-auto flex items-center justify-center",children:a.jsx(t.icon,{className:"text-white",size:32})}),a.jsx("h3",{className:"text-2xl font-bold gradient-text-purple font-playfair",children:t.title}),a.jsx("p",{className:"text-muted-foreground leading-relaxed",children:t.description})]},e))})]})}),a.jsx("section",{className:"py-24 gradient-purple-blue",children:a.jsxs("div",{className:"max-w-4xl mx-auto px-6 text-center",children:[a.jsx("h2",{className:"text-4xl font-bold text-white mb-8 font-playfair",children:"Skydda din organisation idag"}),a.jsx("p",{className:"text-xl text-white/90 mb-12",children:"Vänta inte på ett complianceproblem. Börja bygga en stark compliancekultur med engagerande, effektiv träning."}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[a.jsx(W,{variant:"lightblue",size:"xl",asChild:!0,children:a.jsx("a",{href:"/sv/kontakt",children:"Begär offert för compliance"})}),a.jsx(W,{variant:"outline",size:"xl",asChild:!0,children:a.jsx("a",{href:"/sv/workshop",children:"Boka compliancegranskning"})})]})]})})]}),a.jsx(it,{})]}),QL=()=>a.jsxs("div",{className:"min-h-screen",children:[a.jsx(We,{title:"Ladda ner Pacy-appen | Pacy",description:"Ladda ner Pacy-appen från App Store eller Google Play. Få tillgång till AI-driven utbildning var du än är.",canonicalPath:"/sv/ladda-ner-app"}),a.jsx(ue,{}),a.jsx("main",{className:"pt-24 pb-16",children:a.jsx("div",{className:"max-w-4xl mx-auto px-6",children:a.jsxs("div",{className:"text-center space-y-8",children:[a.jsxs("div",{className:"space-y-4",children:[a.jsx(Jw,{className:"h-16 w-16 mx-auto text-primary"}),a.jsx("h1",{className:"text-4xl md:text-5xl font-bold",children:"Ladda ner Pacy-appen"}),a.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:"Få tillgång till din AI-drivna utbildning var du än befinner dig. Ladda ner vår app från App Store eller Google Play."})]}),a.jsxs("div",{className:"flex flex-col sm:flex-row gap-6 justify-center items-center pt-8",children:[a.jsx("a",{href:"https://apps.apple.com/se/app/pacy-skill-development/id6670788359",target:"_blank",rel:"noopener noreferrer",className:"inline-block",children:a.jsxs(W,{size:"lg",className:"w-64 h-16 text-lg",children:[a.jsx("svg",{className:"w-8 h-8 mr-3",viewBox:"0 0 24 24",fill:"currentColor",children:a.jsx("path",{d:"M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z"})}),"App Store"]})}),a.jsx("a",{href:"https://play.google.com/store/apps/details?id=ai.cqg.app",target:"_blank",rel:"noopener noreferrer",className:"inline-block",children:a.jsxs(W,{size:"lg",variant:"outline",className:"w-64 h-16 text-lg",children:[a.jsx("svg",{className:"w-8 h-8 mr-3",viewBox:"0 0 24 24",fill:"currentColor",children:a.jsx("path",{d:"M3,20.5V3.5C3,2.91 3.34,2.39 3.84,2.15L13.69,12L3.84,21.85C3.34,21.6 3,21.09 3,20.5M16.81,15.12L6.05,21.34L14.54,12.85L16.81,15.12M20.16,10.81C20.5,11.08 20.75,11.5 20.75,12C20.75,12.5 20.53,12.9 20.18,13.18L17.89,14.5L15.39,12L17.89,9.5L20.16,10.81M6.05,2.66L16.81,8.88L14.54,11.15L6.05,2.66Z"})}),"Google Play"]})})]}),a.jsxs("div",{className:"pt-12 space-y-6",children:[a.jsx("h2",{className:"text-2xl font-semibold",children:"Behöver du hjälp att komma igång?"}),a.jsx("p",{className:"text-muted-foreground max-w-2xl mx-auto",children:"Vi har skapat guider och svar på vanliga frågor för att hjälpa dig få ut det mesta av appen"}),a.jsxs("div",{className:"grid md:grid-cols-2 gap-6 max-w-3xl mx-auto",children:[a.jsx(J,{to:"/user-instructions-sv",children:a.jsxs("div",{className:"p-8 rounded-lg bg-card border border-border hover:border-primary transition-colors cursor-pointer h-full",children:[a.jsx(zc,{className:"h-12 w-12 mx-auto mb-4 text-primary"}),a.jsx("h3",{className:"font-semibold text-lg mb-2",children:"Användarinstruktioner"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Steg-för-steg-guide om hur du använder Pacy-appen och dess funktioner"})]})}),a.jsx(J,{to:"/sv/vanliga-fragor",children:a.jsxs("div",{className:"p-8 rounded-lg bg-card border border-border hover:border-primary transition-colors cursor-pointer h-full",children:[a.jsx(qw,{className:"h-12 w-12 mx-auto mb-4 text-primary"}),a.jsx("h3",{className:"font-semibold text-lg mb-2",children:"Vanliga frågor"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Svar på de vanligaste frågorna om Pacy och hur appen fungerar"})]})})]})]})]})})}),a.jsx(ze,{})]}),YL=()=>a.jsxs("div",{className:"min-h-screen",children:[a.jsx(We,{title:"Pacy logotyp och mediakit",description:"Ladda ner Pacys officiella logotyp och mediakit för press, partners och redaktionell användning.",canonicalPath:"/sv/pressrum",ogImage:"https://pacy.ai/press/pacy-og-pressbild.jpg",ogImageAlt:"Joakim Kempff och Joakim Liljedahl, grundare av Pacy — officiell pressbild",jsonLd:[{"@context":"https://schema.org","@type":"WebPage",name:"Pacys logotyp och mediakit",url:"https://pacy.ai/sv/pressrum",inLanguage:"sv-SE",primaryImageOfPage:{"@type":"ImageObject",contentUrl:"https://pacy.ai/press/pacy-grundare-joakim-kempff-joakim-liljedahl.jpg",caption:"Joakim Kempff och Joakim Liljedahl, grundare av Pacy"}},{"@context":"https://schema.org","@type":"Organization",name:"Pacy",url:"https://pacy.ai",logo:"https://pacy.ai/press/pacy-logo-combination-2000w.png",founder:[{"@type":"Person",name:"Joakim Kempff",jobTitle:"Co-founder",sameAs:"https://www.linkedin.com/in/joakimkempff/"},{"@type":"Person",name:"Joakim Liljedahl",jobTitle:"Co-founder",sameAs:"https://www.linkedin.com/in/joakimliljedahl/"}],foundingDate:"2024",address:{"@type":"PostalAddress",addressLocality:"Stockholm",addressCountry:"SE"}},{"@context":"https://schema.org","@type":"ImageObject",name:"Pressbild på Pacys grundare",caption:"Joakim Kempff och Joakim Liljedahl, grundare av Pacy",contentUrl:"https://pacy.ai/press/pacy-grundare-joakim-kempff-joakim-liljedahl.jpg",description:"Officiell pressbild föreställande Pacys båda grundare tillsammans.",about:[{"@type":"Person",name:"Joakim Kempff",jobTitle:"Co-founder",sameAs:"https://www.linkedin.com/in/joakimkempff/"},{"@type":"Person",name:"Joakim Liljedahl",jobTitle:"Co-founder",sameAs:"https://www.linkedin.com/in/joakimliljedahl/"}],author:{"@type":"Organization",name:"Pacy",url:"https://pacy.ai"}}]}),a.jsx(ue,{}),a.jsxs("main",{children:[a.jsx("section",{className:"bg-black text-white pt-32 pb-16",children:a.jsxs("div",{className:"max-w-5xl mx-auto px-6",children:[a.jsx("h1",{className:"text-4xl lg:text-5xl font-bold font-playfair mb-6",children:"Pacys logotyp och mediakit"}),a.jsx("p",{className:"text-lg text-white/70 max-w-2xl",children:"Här hittar du Pacys officiella logotyp för press, partners och redaktionell användning. Behöver du fler format och varianter finns allt samlat i vårt mediakit."})]})}),a.jsxs("div",{className:"max-w-5xl mx-auto px-6 py-16 space-y-20",children:[a.jsxs("section",{children:[a.jsx("h2",{className:"text-2xl font-bold font-playfair text-foreground mb-6",children:"Pressmeddelanden"}),a.jsx("p",{className:"text-muted-foreground",children:"Kommande pressmeddelanden publiceras här."})]}),a.jsxs("section",{children:[a.jsx("h2",{className:"text-2xl font-bold font-playfair text-foreground mb-6",children:"Pressbild"}),a.jsx(sr,{className:"border-border",children:a.jsx(ar,{className:"p-8",children:a.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-6",children:[a.jsxs(s1,{children:[a.jsx(a1,{asChild:!0,children:a.jsx("button",{className:"shrink-0 overflow-hidden rounded-lg cursor-pointer transition-transform duration-300 ease-[cubic-bezier(0.4,0,0.2,1)] hover:scale-105 hover:shadow-lg focus:outline-none",children:a.jsx("figure",{children:a.jsx("img",{src:"/press/pacy-grundare-joakim-kempff-joakim-liljedahl-thumb.jpg",alt:"Pressbild på Pacys grundare Joakim Kempff och Joakim Liljedahl",width:140,height:210,className:"w-[140px] h-auto object-cover"})})})}),a.jsx(Jm,{className:"max-w-2xl p-2 bg-background",children:a.jsxs("figure",{children:[a.jsx("img",{src:"/press/pacy-grundare-joakim-kempff-joakim-liljedahl.jpg",alt:"Pressbild på Pacys grundare Joakim Kempff och Joakim Liljedahl",width:3e3,height:4500,className:"w-full max-w-[600px] h-auto rounded-lg"}),a.jsx("figcaption",{className:"text-sm text-muted-foreground mt-2 text-center",children:"Joakim Kempff och Joakim Liljedahl, grundare av Pacy."})]})})]}),a.jsxs("div",{className:"flex-1 space-y-2",children:[a.jsx("h3",{className:"font-semibold text-foreground",children:"Grundare — Joakim Kempff & Joakim Liljedahl"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Högupplöst pressbild på Pacys grundare. Fri att använda i redaktionellt sammanhang med hänvisning till Pacy."}),a.jsxs("figcaption",{className:"sr-only",children:["Joakim Kempff och Joakim Liljedahl, grundare av Pacy."," ",a.jsx("a",{href:"/press/pacy-grundare-joakim-kempff-joakim-liljedahl.jpg",download:!0,children:"Ladda ner högupplöst pressbild"}),"."]}),a.jsxs("a",{href:"/press/pacy-grundare-joakim-kempff-joakim-liljedahl.jpg",download:"pacy-founders-joakim-kempff-joakim-liljedahl.jpg","aria-label":"Ladda ner högupplöst pressbild på Pacys grundare Joakim Kempff och Joakim Liljedahl",className:"inline-flex items-center gap-2 mt-3 text-sm font-medium text-primary hover:underline",children:[a.jsx(Jl,{size:16}),"Ladda ner högupplöst (JPG)"]})]})]})})})]}),a.jsxs("section",{children:[a.jsx("h2",{className:"text-2xl font-bold font-playfair text-foreground mb-6",children:"Logotyp & mediakit"}),a.jsx(sr,{className:"border-border",children:a.jsx(ar,{className:"p-8",children:a.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-6",children:[a.jsx("div",{className:"shrink-0 bg-white rounded-lg p-6 flex items-center justify-center",children:a.jsx("img",{src:"/press/pacy-logo-combination-600w.png",alt:"Pacy officiell horisontell logotyp",className:"w-[140px] h-auto object-contain"})}),a.jsxs("div",{className:"flex-1 space-y-2",children:[a.jsx("h3",{className:"font-semibold text-foreground",children:"Pacys officiella logotyp"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Detta är den primära versionen av Pacys logotyp. För övriga format, storlekar och användningsvarianter, ladda ner hela mediakitet som zip."}),a.jsxs("div",{className:"flex flex-wrap items-center gap-4 mt-3",children:[a.jsxs("a",{href:"/press/pacy-mediakit.zip",download:"pacy-mediakit.zip","aria-label":"Ladda ner Pacys mediakit som zip-fil",className:"inline-flex items-center justify-center gap-2 rounded-lg px-5 py-2.5 text-sm font-semibold text-white transition-all duration-300 ease-[cubic-bezier(0.4,0,0.2,1)] hover:-translate-y-0.5",style:{background:"linear-gradient(135deg, hsl(var(--primary)), hsl(var(--primary) / 0.8))",boxShadow:"0 4px 14px hsl(var(--primary) / 0.4)"},children:[a.jsx(Jl,{size:16}),"Ladda ner mediakit (ZIP)"]}),a.jsx("a",{href:"/sv/kontakt",className:"text-sm text-primary hover:underline","aria-label":"Kontakta Pacy för specifika logotypformat",children:"Behöver du ett specifikt format? Kontakta oss →"})]}),a.jsx("p",{className:"text-xs text-muted-foreground pt-1",children:"Mediakitet innehåller filer för webb, press, presentationer, favicon och profilbilder."})]})]})})})]}),a.jsxs("section",{children:[a.jsx("h2",{className:"text-2xl font-bold font-playfair text-foreground mb-6",children:"Presskontakt"}),a.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[a.jsx(sr,{className:"border-border",children:a.jsxs(ar,{className:"p-6 space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2 text-primary",children:[a.jsx(Gw,{size:18}),a.jsx("h3",{className:"text-base font-semibold",children:"Allmänna pressförfrågningar"})]}),a.jsx("a",{href:"mailto:press@pacy.ai",className:"text-primary hover:underline font-medium",children:"press@pacy.ai"})]})}),a.jsx(sr,{className:"border-border",children:a.jsxs(ar,{className:"p-6 space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2 text-primary",children:[a.jsx(Zl,{size:18}),a.jsx("h3",{className:"text-base font-semibold",children:"Joakim Liljedahl"})]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Grundare"}),a.jsx("a",{href:"mailto:joakim.liljedahl@pacy.ai",className:"text-sm text-primary hover:underline",children:"joakim.liljedahl@pacy.ai"})]})}),a.jsx(sr,{className:"border-border",children:a.jsxs(ar,{className:"p-6 space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2 text-primary",children:[a.jsx(Zl,{size:18}),a.jsx("h3",{className:"text-base font-semibold",children:"Joakim Kempff"})]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Grundare"}),a.jsx("a",{href:"mailto:joakim.kempff@pacy.ai",className:"text-sm text-primary hover:underline",children:"joakim.kempff@pacy.ai"})]})})]})]}),a.jsxs("section",{children:[a.jsx("h2",{className:"text-2xl font-bold font-playfair text-foreground mb-6",children:"Om Pacy"}),a.jsxs("div",{className:"bg-muted rounded-lg p-8 space-y-4 text-muted-foreground leading-relaxed",children:[a.jsxs("p",{children:[a.jsx("strong",{className:"text-foreground",children:"Pacy"})," grundades 2024 av Joakim Kempff och Joakim Liljedahl utifrån en enkel övertygelse: kompetensutveckling ska märkas i hur människor arbetar, inte bara i hur många som slutfört en kurs."]}),a.jsx("p",{children:'De flesta organisationer vet redan att deras utbildningsinsatser inte ger den effekt de hoppas på. Completion rates kan se bra ut i en rapport. Sedan fortsätter arbetet som vanligt. Samma beteenden, samma kompetensgap, samma ambition att "ta tag i det nästa kvartal".'}),a.jsx("p",{children:"Pacy byggdes för att bryta det mönstret. Vi ersätter passiv konsumtion med aktiv träning i teamens egen vardag — skräddarsydda sessioner där människor tränar, testar och får återkoppling på verkliga arbetsuppgifter. Inte generiska scenarier. Inte ännu en kurs."}),a.jsx("p",{children:"Resultatet är kompetensutveckling som chefer faktiskt kan aktivera, och som börjar göra skillnad i arbetet från första veckan."}),a.jsx("p",{children:"Pacy är för organisationer som har tröttnat på att mäta aktivitet och är redo att börja mäta verklig förändring."}),a.jsxs("ul",{className:"text-sm space-y-1 pt-2 border-t border-border",children:[a.jsxs("li",{children:[a.jsx("strong",{className:"text-foreground",children:"Grundat:"})," 2024"]}),a.jsxs("li",{children:[a.jsx("strong",{className:"text-foreground",children:"Huvudkontor:"})," Stockholm, Sverige"]}),a.jsxs("li",{children:[a.jsx("strong",{className:"text-foreground",children:"Grundare:"})," Joakim Kempff & Joakim Liljedahl"]}),a.jsxs("li",{children:[a.jsx("strong",{className:"text-foreground",children:"Webb:"})," pacy.ai"]})]})]})]})]})]}),a.jsx(it,{})]}),ZL=()=>a.jsxs("div",{className:"min-h-screen",children:[a.jsx(We,{title:"Så funkar det — Pacy",description:"Se hur Pacy fungerar i tre enkla steg. Från brief till färdigt träningsprogram på 24 timmar.",canonicalPath:"/sv/sa-funkar-det"}),a.jsx(ue,{}),a.jsx("main",{className:"pt-20",children:a.jsx(o1,{})}),a.jsx(it,{})]}),XL=new yP,e3=()=>a.jsx(bP,{client:XL,children:a.jsxs(JE,{children:[a.jsx(A2,{}),a.jsx(cC,{}),a.jsx(vT,{children:a.jsx(kT,{children:a.jsxs(uT,{children:[a.jsx(Q,{path:"/",element:a.jsx(xu,{})}),a.jsx(Q,{path:"/home",element:a.jsx(eR,{})}),a.jsx(Q,{path:"/services",element:a.jsx(tR,{})}),a.jsx(Q,{path:"/services/company-learning-programs",element:a.jsx(gM,{})}),a.jsx(Q,{path:"/services/sales-training-programs",element:a.jsx(DM,{})}),a.jsx(Q,{path:"/services/compliance-programs",element:a.jsx(WM,{})}),a.jsx(Q,{path:"/support-services",element:a.jsx(KM,{})}),a.jsx(Q,{path:"/about",element:a.jsx(nR,{})}),a.jsx(Q,{path:"/contact",element:a.jsx(QO,{})}),a.jsx(Q,{path:"/workshop",element:a.jsx(YO,{})}),a.jsx(Q,{path:"/science",element:a.jsx(XO,{})}),a.jsx(Q,{path:"/personalized-training",element:a.jsx(rM,{})}),a.jsx(Q,{path:"/blog",element:a.jsx(cM,{})}),a.jsx(Q,{path:"/chat",element:a.jsx(Hx,{})}),a.jsx(Q,{path:"/privacy-policy",element:a.jsx(dM,{})}),a.jsx(Q,{path:"/terms-of-service",element:a.jsx(uM,{})}),a.jsx(Q,{path:"/cookie-policy",element:a.jsx(hM,{})}),a.jsx(Q,{path:"/disclaimer",element:a.jsx(fM,{})}),a.jsx(Q,{path:"/eula",element:a.jsx(mM,{})}),a.jsx(Q,{path:"/user-instructions",element:a.jsx(JM,{})}),a.jsx(Q,{path:"/sv/anvandarguide",element:a.jsx(qx,{})}),a.jsx(Q,{path:"/user-instructions-sv",element:a.jsx(qx,{})}),a.jsx(Q,{path:"/podcast",element:a.jsx(aM,{})}),a.jsx(Q,{path:"/app-download",element:a.jsx(QM,{})}),a.jsx(Q,{path:"/demo-video",element:a.jsx(aL,{})}),a.jsx(Q,{path:"/press",element:a.jsx(SL,{})}),a.jsx(Q,{path:"/how-it-works",element:a.jsx(CL,{})}),a.jsx(Q,{path:"/snabbtest",element:a.jsx(sL,{})}),a.jsx(Q,{path:"/sv",element:a.jsx(xu,{})}),a.jsx(Q,{path:"/sv/",element:a.jsx(xu,{})}),a.jsx(Q,{path:"/sv/tjanster",element:a.jsx(RL,{})}),a.jsx(Q,{path:"/sv/tjanster/foretagsutbildningar",element:a.jsx(KL,{})}),a.jsx(Q,{path:"/sv/tjanster/saljtraning",element:a.jsx(GL,{})}),a.jsx(Q,{path:"/sv/tjanster/compliance",element:a.jsx(JL,{})}),a.jsx(Q,{path:"/sv/om-oss",element:a.jsx(OL,{})}),a.jsx(Q,{path:"/sv/kontakt",element:a.jsx(LL,{})}),a.jsx(Q,{path:"/sv/blogg",element:a.jsx(UL,{})}),a.jsx(Q,{path:"/sv/chatt",element:a.jsx(Hx,{})}),a.jsx(Q,{path:"/sv/vetenskap",element:a.jsx(BL,{})}),a.jsx(Q,{path:"/sv/workshop",element:a.jsx(WL,{})}),a.jsx(Q,{path:"/sv/personlig-traning",element:a.jsx(HL,{})}),a.jsx(Q,{path:"/sv/supporttjanster",element:a.jsx(qL,{})}),a.jsx(Q,{path:"/sv/ladda-ner-app",element:a.jsx(QL,{})}),a.jsx(Q,{path:"/sv/pressrum",element:a.jsx(YL,{})}),a.jsx(Q,{path:"/sv/sa-funkar-det",element:a.jsx(ZL,{})}),a.jsx(Q,{path:"*",element:a.jsx(pM,{})})]})})})]})});yw(document.getElementById("root")).render(a.jsx(e3,{}));