1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/routes-DopnloQi.js","assets/site-shell-JyQ-h_d0.js","assets/arrow-right-Dk728uSH.js","assets/about-Cr77_cNY.js","assets/flexible-editorial-page-TvcHGJbj.js","assets/accordion-Clwx3oaF.js","assets/check-DdtYR7q6.js","assets/download-BA-2JriV.js","assets/IMG_3369.jpg.asset-ss9DKRlp.js","assets/ai-discoverability-D4jOeR8t.js","assets/ai-for-small-business-CBHlMwxT.js","assets/ai-literacy-BLGotT1J.js","assets/aiq-ChJlJ8eP.js","assets/articles-DW5khcYn.js","assets/bio-B3Ri8unr.js","assets/link-D4gRO52M.js","assets/useRouter-CrYwvY-T.js","assets/amie-thompson-navy.png.asset-DQQfkEkS.js","assets/site-Dz7HwlMO.js","assets/author-schema-BqJBlYR4.js","assets/contact-Nxr20q6z.js","assets/createServerFn-Bk23-1SV.js","assets/not-found-i5RsCZif.js","assets/invariant-CgFvOqN2.js","assets/useServerFn-Z9ko7-4s.js","assets/educational-sessions-gxlGBsf_.js","assets/founder-filter-BppK4L88.js","assets/how-to-act-like-a-leader-before-you-have-the-title-Dn7UiYES.js","assets/how-to-build-a-personal-brand-that-is-not-tied-to-your-job-title-BUeD3LQb.js","assets/how-to-build-business-capability-with-ai-before-you-hire-BDxzAImB.js","assets/how-to-build-visibility-before-you-feel-ready-o6Pn4mV3.js","assets/how-to-close-the-confidence-gap-in-your-career-RHSVq8MD.js","assets/how-to-have-a-sales-conversation-without-feeling-like-a-salesperson-DEunGNjn.js","assets/how-to-have-the-10-conversations-that-validate-a-business-idea-C8m3Xk_c.js","assets/how-to-know-if-your-business-idea-is-good-CREPSRlC.js","assets/how-to-make-the-shift-from-operator-to-leader-in-a-small-business-DPRZwSJR.js","assets/how-to-tell-if-you-are-ready-to-start-a-business-3ZM5Wdzb.js","assets/how-to-tell-if-your-idea-solves-a-real-problem-or-a-mild-annoyance-BTCAnEFx.js","assets/how-to-use-your-job-to-fund-the-business-you-are-building-DtFc-EZE.js","assets/introverted-entrepreneurs-BBjsn6lK.js","assets/privacy-i9aYVTwA.js","assets/resources-CxSxf0JQ.js","assets/user-check-UnWro2ue.js","assets/sales-confidence-wheel-BKpkSMmH.js","assets/ai-literacy-guide-mockup.png.asset-CyC5DGMt.js","assets/career-clarity-guide-mockup.png.asset-BOgqigef.js","assets/leadership-is-a-decision-mockup.png.asset-CA3LuZIL.js","assets/solopreneur-operations-guide-mockup.png.asset-B_zrJ3R9.js","assets/success-blueprint-mockup.png.asset-C5zVho3y.js","assets/visibility-starter-kit-mockup.png.asset-NzuDoi-9.js","assets/selling-as-service-a-practical-frame-for-non-sales-professionals-DUUEKNEp.js","assets/speaking-media-BWBNJFhQ.js","assets/terms-DsO5Wczs.js","assets/thank-you-BFTPwhk6.js","assets/the-mindset-shift-that-made-me-comfortable-selling-BFteMQ_8.js","assets/the-sales-confidence-small-business-owners-are-missing-5cOUCAag.js","assets/what-sales-is-for-people-who-hate-sales-BH53smk-.js","assets/why-sales-feels-hard-for-small-business-owners-lW6bjsmh.js","assets/women-connect-LPCrNJVK.js","assets/linkedin-D7tgZ91J.js","assets/build-your-business.build-while-employed-C49eOzyY.js","assets/business-topic-page-CqUyoRa2.js","assets/build-your-business.build-your-visibility-cSehSODX.js","assets/build-your-business.evaluate-your-idea-DJioSAm7.js","assets/build-your-business.generate-revenue-B6TT3_iD.js","assets/build-your-business.lead-your-business-soiwVca-.js","assets/build-your-business.run-your-business-xv8CwYFI.js","assets/bundle._token-rKBWsxHw.js","assets/guide-download-page-Dg4LWR60.js","assets/useNavigate-DiwO33Oo.js","assets/guide-access.functions-B_cbLpxR.js","assets/frameworks.clear-framework-lTptSPlO.js","assets/file-text-6ufhHQTh.js","assets/framework-page-BfPcoY3u.js","assets/frameworks.idea-to-income-Btrm0zeG.js","assets/frameworks.six-foundations-sales-confidence-CAnAFnIN.js","assets/frameworks.visibility-alignment-system-BVKnWBMo.js","assets/guide._token-fZeKMvj0.js","assets/guides.index-BPuptt3k.js","assets/guides.ai-literacy-guide-DoOcOITm.js","assets/guide-page-BaYNtIze.js","assets/guides.career-clarity-guide-BpNgFTxW.js","assets/guides.leadership-is-a-decision-xNcPqPxA.js","assets/guides.solopreneur-operations-guide-DF5LPnhy.js","assets/guides.the-success-blueprint-n3Ox_Ahs.js","assets/guides.the-visibility-starter-kit-WRg5vdSI.js","assets/sales-confidence-assessment.index-Cmxm823X.js","assets/foundations-CRXO34sC.js","assets/assessment-C8NlInpX.js","assets/sales-confidence-assessment.start-DwsKj2M
1Q.js","assets/sell-with-confidence.ask-better-questions-DlXML_db.js","assets/sales-resource-page-e67JlSEb.js","assets/sell-with-confidence.clarify-your-value--cWa2OJG.js","assets/sell-with-confidence.find-your-ideal-client-DrFruR2Z.js","assets/sell-with-confidence.follow-up-effectively-DX2BYrem.js","assets/sell-with-confidence.handle-objections-CMxE47fh.js","assets/sell-with-confidence.sell-like-yourself-BdfAx5CB.js","assets/selling-guides.index-CMVZ8a7y.js","assets/selling-guides-data-mIOdIvPK.js","assets/selling-guides._slug-C-c6v-p0.js","assets/arrow-left-DDAofvJZ.js","assets/frameworks.clear-framework_.apply-ZhFXO0Cf.js","assets/clear-framework-subpage-CVUoPFDC.js","assets/frameworks.clear-framework_.comprehend-DFu__LpM.js","assets/frameworks.clear-framework_.evaluate-BLmx50FH.js","assets/frameworks.clear-framework_.layer-DfknpZLm.js","assets/frameworks.clear-framework_.recognize-9Ozr4xD7.js","assets/sales-confidence-assessment.report._id-C13H0rx_.js","assets/sales-confidence-assessment.report._id-Kdu_b6An.js","assets/sales-confidence-assessment.report._id-Dq5bMPds.js"])))=>i.map(i=>d[i]); 2import{d as e,f as t,l as n,n as r,r as i,s as a,t as o,u as s}from"./site-shell-JyQ-h_d0.js";import{a as c}from"./accordion-Clwx3oaF.js";import{a as l,i as u,n as d,r as f,t as p}from"./createServerFn-Bk23-1SV.js";import{n as m,t as h}from"./not-found-i5RsCZif.js";import{i as g,n as _,t as v}from"./invariant-CgFvOqN2.js";import{C as y,D as b,E as x,O as S,S as C,T as ee,_ as te,a as ne,b as re,c as ie,d as ae,f as oe,g as se,h as ce,i as le,l as ue,m as w,n as T,o as de,p as fe,r as pe,s as me,t as he,v as E,x as ge,y as _e}from"./link-D4gRO52M.js";import{a as ve,c as ye,i as be,n as D,o as xe,r as O,s as Se,t as k}from"./preload-helper-BngYlQHL.js";import{n as Ce,t as we}from"./useRouter-CrYwvY-T.js";import{t as Te}from"./arrow-right-Dk728uSH.js";import{a as Ee,c as De,i as Oe,o as ke,s as Ae}from"./flexible-editorial-page-TvcHGJbj.js";import{t as je}from"./amie-thompson-navy.png.asset-DQQfkEkS.js";import{t as A}from"./site-Dz7HwlMO.js";import{a as Me,i as Ne,o as Pe,t as Fe}from"./author-schema-BqJBlYR4.js";import{t as Ie}from"./guide-access.functions-B_cbLpxR.js";import{n as Le}from"./selling-guides-data-mIOdIvPK.js";var Re=e((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,ie());else{var t=n(l);t!==null&&se(x,t.startTime-e)}}var S=!1,C=-1,ee=5,te=-1;function ne(){return g?!0:!(e.unstable_now()-te<ee)}function re(){if(g=!1,S){var t=e.unstable_now();te=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ne());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&se(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}}}finally{i?ie():S=!1}}}var ie;if(typeof y==`function`)ie=function(){y(re)};
vendor: 26,782 bytes, lines 2-9
2else if(typeof MessageChannel<`u`){var ae=new MessageChannel,oe=ae.port2;ae.port1.onmessage=re,ie=function(){oe.postMessage(null)}}else ie=function(){_(re,0)};function se(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):ee=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,se(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,ie()))),r},e.unstable_shouldYield=ne,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),ze=e(((e,t)=>{t.exports=Re()})),Be=e((e=>{var t=ze(),n=s(),r=c();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function l(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function u(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function d(e){if(o(e)!==e)throw Error(i(188))}function f(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return d(a),e;if(s===r)return d(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,l=a.child;l;){if(l===n){c=!0,n=a,r=s;break}if(l===r){c=!0,r=a,n=s;break}l=l.sibling}if(!c){for(l=s.child;l;){if(l===n){c=!0,n=s,r=a;break}if(l===r){c=!0,r=s,n=a;break}l=l.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function p(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=p(e),t!==null)return t;e=e.sibling}return null}var m=Object.assign,h=Symbol.for(`react.element`),g=Symbol.for(`react.transitional.element`),_=Symbol.for(`react.portal`),v=Symbol.for(`react.fragment`),y=Symbol.for(`react.strict_mode`),b=Symbol.for(`react.profiler`),x=Symbol.for(`react.consumer`),S=Symbol.for(`react.context`),C=Symbol.for(`react.forward_ref`),ee=Symbol.for(`react.suspense`),te=Symbol.for(`react.suspense_list`),ne=Symbol.for(`react.memo`),re=Symbol.for(`react.lazy`),ie=Symbol.for(`react.activity`),ae=Symbol.for(`react.memo_cache_sentinel`),oe=Symbol.iterator;function se(e){return typeof e!=`object`||!e?null:(e=oe&&e[oe]||e[`@@iterator`],typeof e==`function`?e:null)}var ce=Symbol.for(`react.client.reference`);function le(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ce?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case v:return`Fragment`;case b:return`Profiler`;case y:return`StrictMode`;case ee:return`Suspense`;case te:return`SuspenseList`;case ie:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case _:return`Portal`;case S:return e.displayName||`Context`;case x:return(e._context.displayName||`Context`)+`.Consumer`;case C:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case ne:return t=e.displayName||null,t===null?le(e.type)||`Memo`:t;case re:t=e._payload,e=e._init;try{return le(e(t))}catch{}}return null}var ue=Array.isArray,w=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,T=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,de={pending:!1,data:null,method:null,action:null},fe=[],pe=-1;function me(e){return{current:e}}function he(e){0>pe||(e.current=fe[pe],fe[pe]=null,pe--)}function E(e,t){pe++,fe[pe]=e.current,e.current=t}var ge=me(null),_e=me(null),ve=me(null),ye=me(null);function be(e,t){switch(E(ve,t),E(_e,e),E(ge,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}he(ge),E(ge,e)}function D(){he(ge),he(_e),he(ve)}function xe(e){e.memoizedState!==null&&E(ye,e);var t=ge.current,n=Hd(t,e.type);t!==n&&(E(_e,e),E(ge,n))}function O(e){_e.current===e&&(he(ge),he(_e)),ye.current===e&&(he(ye),Qf._currentValue=de)}var Se,k;function Ce(e){if(Se===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Se=t&&t[1]||``,k=-1<e.stack.indexOf(` 3 at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return` 4`+Se+e+k}var we=!1;function Te(e,t){if(!e||we)return``;we=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(` 5`),l=s.split(` 6`);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=` 7`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{we=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Ce(n):``}function Ee(e,t){switch(e.tag){case 26:case 27:case 5:return Ce(e.type);case 16:return Ce(`Lazy`);case 13:return e.child!==t&&t!==null?Ce(`Suspense Fallback`):Ce(`Suspense`);case 19:return Ce(`SuspenseList`);case 0:case 15:return Te(e.type,!1);case 11:return Te(e.type.render,!1);case 1:return Te(e.type,!0);case 31:return Ce(`Activity`);default:return``}}function De(e){try{var t=``,n=null;do t+=Ee(e,n),n=e,e=e.return;while(e);return t}catch(e){return` 8Error generating stack: `+e.message+` 9`+e.stack}}var Oe=Object.prototype.hasOwnProperty,ke=t.unstable_scheduleCallback,Ae=t.unstable_cancelCallback,je=t.unstable_shouldYield,A=t.unstable_requestPaint,Me=t.unstable_now,Ne=t.unstable_getCurrentPriorityLevel,Pe=t.unstable_ImmediatePriority,Fe=t.unstable_UserBlockingPriority,Ie=t.unstable_NormalPriority,Le=t.unstable_LowPriority,Re=t.unstable_IdlePriority,Be=t.log,Ve=t.unstable_setDisableYieldValue,He=null,Ue=null;function We(e){if(typeof Be==`function`&&Ve(e),Ue&&typeof Ue.setStrictMode==`function`)try{Ue.setStrictMode(He,e)}catch{}}var Ge=Math.clz32?Math.clz32:Je,Ke=Math.log,qe=Math.LN2;function Je(e){return e>>>=0,e===0?32:31-(Ke(e)/qe|0)|0}var Ye=256,Xe=262144,Ze=4194304;function Qe(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function $e(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Qe(n))):i=Qe(o):i=Qe(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Qe(n))):i=Qe(o)):i=Qe(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function et(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function tt(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function nt(){var e=Ze;return Ze<<=1,!(Ze&62914560)&&(Ze=4194304),e}function rt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function it(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function at(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-Ge(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&ot(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function ot(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Ge(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function st(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Ge(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function ct(e,t){var n=t&-t;return n=n&42?1:lt(n),(n&(e.suspendedLanes|t))===0?n:0}function lt(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function ut(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function dt(){var e=T.p;return e===0?(e=window.event,e===void 0?32:mp(e.type)):e}function ft(e,t){var n=T.p;try{return T.p=e,t()}finally{T.p=n}}var pt=Math.random().toString(36).slice(2),mt=`__reactFiber$`+pt,ht=`__reactProps$`+pt,gt=`__reactContainer$`+pt,_t=`__reactEvents$`+pt,vt=`__reactListeners$`+pt,yt=`__reactHandles$`+pt,bt=`__reactResources$`+pt,xt=`__reactMarker$`+pt;function St(e){delete e[mt],delete e[ht],delete e[_t],delete e[vt],delete e[yt]}function Ct(e){var t=e[mt];if(t)return t;for(var n=e.parentNode;n;){if(t=n[gt]||n[mt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=df(e);e!==null;){if(n=e[mt])return n;e=df(e)}return t}e=n,n=e.parentNode}return null}function wt(e){if(e=e[mt]||e[gt]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Tt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(i(33))}function Et(e){var t=e[bt];return t||=e[bt]={hoistableStyles:new Map,hoistableScripts:new Map},t}function Dt(e){e[xt]=!0}var Ot=new Set,kt={};function At(e,t){jt(e,t),jt(e+`Capture`,t)}function jt(e,t){for(kt[e]=t,e=0;e<t.length;e++)Ot.add(t[e])}var Mt=RegExp(`^[: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]*$`),Nt={},Pt={};function Ft(e){return Oe.call(Pt,e)?!0:Oe.call(Nt,e)?!1:Mt.test(e)?Pt[e]=!0:(Nt[e]=!0,!1)}function It(e,t,n){if(Ft(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}function Lt(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function Rt(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function zt(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function Bt(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Vt(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ht(e){if(!e._valueTracker){var t=Bt(e)?`checked`:`value`;e._valueTracker=Vt(e,t,``+e[t])}}function Ut(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=Bt(e)?e.checked?`true`:`false`:e.value),e=r,e!==n&&(t.setValue(e),!0)}function Wt(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var Gt=/[\n"\\]/g;function Kt(e){return e.replace(Gt,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function qt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+zt(t)):e.value!==``+zt(t)&&(e.value=``+zt(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):Yt(e,o,zt(n)):Yt(e,o,zt(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+zt(s):e.removeAttribute(`name`)}function Jt(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){Ht(e);return}n=n==null?``:``+zt(n),t=t==null?n:``+zt(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),Ht(e)}function Yt(e,t,n){t===`number`&&Wt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function Xt(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+zt(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Zt(e,t,n){if(t!=null&&(t=``+zt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+zt(n)}function Qt(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(i(92));if(ue(r)){if(1<r.length)throw Error(i(93));r=r[0]}n=r}n??=``,t=n}n=zt(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Ht(e)}function $t(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var en=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `));function tn(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||en.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function nn(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(i(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&tn(e,a,r)}else for(var o in t)t.hasOwnProperty(o)&&tn(e,o,t[o])}function rn(e){if(e.indexOf(`-`)===-1)return!1;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var an=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),on=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function sn(e){return on.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function cn(){}var ln=null;function un(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var dn=null,fn=null;function pn(e){var t=wt(e);if(t&&(e=t.stateNode)){var n=e[ht]||null;a:switch(e=t.stateNode,t.type){case`input`:if(qt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+Kt(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[ht]||null;if(!a)throw Error(i(90));qt(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&Ut(r)}break a;case`textarea`:Zt(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Xt(e,!!n.multiple,t,!1)}}}var mn=!1;function hn(e,t,n){if(mn)return e(t,n);mn=!0;try{return e(t)}finally{if(mn=!1,(dn!==null||fn!==null)&&(xu(),dn&&(t=dn,e=fn,fn=dn=null,pn(t),e)))for(t=0;t<e.length;t++)pn(e[t])}}function gn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[ht]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=e!==`button`&&e!==`input`&&e!==`select`&&e!==`textarea`),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(i(231,t,typeof n));return n}var _n=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),vn=!1;if(_n)try{var yn={};Object.defineProperty(yn,"passive",{get:function(){vn=!0}}),window.addEventListener(`test`,yn,yn),window.removeEventListener(`test`,yn,yn)}catch{vn=!1}var bn=null,xn=null,Sn=null;function Cn(){if(Sn)return Sn;var e,t=xn,n=t.length,r,i=`value`in bn?bn.value:bn.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return Sn=i.slice(e,1<r?1-r:void 0)}function wn(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Tn(){return!0}function En(){return!1}function Dn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?Tn:En,this.isPropagationStopped=En,this}return m(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=Tn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=Tn)},persist:function(){},isPersistent:Tn}),t}var On={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},kn=Dn(On),An=m({},On,{view:0,detail:0}),jn=Dn(An),Mn,Nn,Pn,Fn=m({},An,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Kn,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==Pn&&(Pn&&e.type===`mousemove`?(Mn=e.screenX-Pn.screenX,Nn=e.screenY-Pn.screenY):Nn=Mn=0,Pn=e),Mn)},movementY:function(e){return`movementY`in e?e.movementY:Nn}}),In=Dn(Fn),Ln=Dn(m({},Fn,{dataTransfer:0})),Rn=Dn(m({},An,{relatedTarget:0})),zn=Dn(m({},On,{animationName:0,elapsedTime:0,pseudoElement:0})),Bn=Dn(m({},On,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Vn=Dn(m({},On,{data:0})),Hn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Un={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F
95`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},Wn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Gn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Wn[e])?!!t[e]:!1}function Kn(){return Gn}var qn=Dn(m({},An,{key:function(e){if(e.key){var t=Hn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=wn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Un[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Kn,charCode:function(e){return e.type===`keypress`?wn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?wn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Jn=Dn(m({},Fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Yn=Dn(m({},An,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Kn})),Xn=Dn(m({},On,{propertyName:0,elapsedTime:0,pseudoElement:0})),Zn=Dn(m({},Fn,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Qn=Dn(m({},On,{newState:0,oldState:0})),$n=[9,13,27,32],er=_n&&`CompositionEvent`in window,tr=null;_n&&`documentMode`in document&&(tr=document.documentMode);var nr=_n&&`TextEvent`in window&&!tr,rr=_n&&(!er||tr&&8<tr&&11>=tr),ir=` `,ar=!1;function or(e,t){switch(e){case`keyup`:return $n.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function sr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var cr=!1;function lr(e,t){switch(e){case`compositionend`:return sr(t);case`keypress`:return t.which===32?(ar=!0,ir):null;case`textInput`:return e=t.data,e===ir&&ar?null:e;default:return null}}function ur(e,t){if(cr)return e===`compositionend`||!er&&or(e,t)?(e=Cn(),Sn=xn=bn=null,cr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return rr&&t.locale!==`ko`?null:t.data;default:return null}}var dr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!dr[e.type]:t===`textarea`}function pr(e,t,n,r){dn?fn?fn.push(r):fn=[r]:dn=r,t=Dd(t,`onChange`),0<t.length&&(n=new kn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var mr=null,hr=null;function j(e){bd(e,0)}function M(e){if(Ut(Tt(e)))return e}function gr(e,t){if(e===`change`)return t}var _r=!1;if(_n){var vr;if(_n){var yr=`oninput`in document;if(!yr){var br=document.createElement(`div`);br.setAttribute(`oninput`,`return;`),yr=typeof br.oninput==`function`}vr=yr}else vr=!1;_r=vr&&(!document.documentMode||9<document.documentMode)}function xr(){mr&&(mr.detachEvent(`onpropertychange`,Sr),hr=mr=null)}function Sr(e){if(e.propertyName===`value`&&M(hr)){var t=[];pr(t,hr,e,un(e)),hn(j,t)}}function Cr(e,t,n){e===`focusin`?(xr(),mr=t,hr=n,mr.attachEvent(`onpropertychange`,Sr)):e===`focusout`&&xr()}function wr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return M(hr)}function Tr(e,t){if(e===`click`)return M(t)}function Er(e,t){if(e===`input`||e===`change`)return M(t)}function Dr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var Or=typeof Object.is==`function`?Object.is:Dr;function kr(e,t){if(Or(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!Oe.call(t,i)||!Or(e[i],t[i]))return!1}return!0}function Ar(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function jr(e,t){var n=Ar(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Ar(n)}}function Mr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Mr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Nr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Wt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Wt(e.document)}return t}function Pr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Fr=_n&&`documentMode`in document&&11>=document.documentMode,Ir=null,Lr=null,Rr=null,zr=!1;function Br(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;zr||Ir==null||Ir!==Wt(r)||(r=Ir,`selectionStart`in r&&Pr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focu
vendor: 72,190 bytes, line 9
9sNode:r.focusNode,focusOffset:r.focusOffset}),Rr&&kr(Rr,r)||(Rr=r,r=Dd(Lr,`onSelect`),0<r.length&&(t=new kn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Ir)))}function Vr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Hr={animationend:Vr(`Animation`,`AnimationEnd`),animationiteration:Vr(`Animation`,`AnimationIteration`),animationstart:Vr(`Animation`,`AnimationStart`),transitionrun:Vr(`Transition`,`TransitionRun`),transitionstart:Vr(`Transition`,`TransitionStart`),transitioncancel:Vr(`Transition`,`TransitionCancel`),transitionend:Vr(`Transition`,`TransitionEnd`)},Ur={},Wr={};_n&&(Wr=document.createElement(`div`).style,`AnimationEvent`in window||(delete Hr.animationend.animation,delete Hr.animationiteration.animation,delete Hr.animationstart.animation),`TransitionEvent`in window||delete Hr.transitionend.transition);function Gr(e){if(Ur[e])return Ur[e];if(!Hr[e])return e;var t=Hr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Wr)return Ur[e]=t[n];return e}var Kr=Gr(`animationend`),qr=Gr(`animationiteration`),Jr=Gr(`animationstart`),Yr=Gr(`transitionrun`),Xr=Gr(`transitionstart`),Zr=Gr(`transitioncancel`),Qr=Gr(`transitionend`),$r=new Map,ei=`abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);ei.push(`scrollEnd`);function ti(e,t){$r.set(e,t),At(t,[e])}var ni=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ri=[],ii=0,ai=0;function oi(){for(var e=ii,t=ai=ii=0;t<e;){var n=ri[t];ri[t++]=null;var r=ri[t];ri[t++]=null;var i=ri[t];ri[t++]=null;var a=ri[t];if(ri[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&ui(n,i,a)}}function si(e,t,n,r){ri[ii++]=e,ri[ii++]=t,ri[ii++]=n,ri[ii++]=r,ai|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function ci(e,t,n,r){return si(e,t,n,r),di(e)}function li(e,t){return si(e,null,null,t),di(e)}function ui(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-Ge(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function di(e){if(50<fu)throw fu=0,pu=null,Error(i(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var fi={};function pi(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function mi(e,t,n,r){return new pi(e,t,n,r)}function hi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function gi(e,t){var n=e.alternate;return n===null?(n=mi(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function _i(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function vi(e,t,n,r,a,o){var s=0;if(r=e,typeof e==`function`)hi(e)&&(s=1);else if(typeof e==`string`)s=Uf(e,n,ge.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case ie:return e=mi(31,n,t,a),e.elementType=ie,e.lanes=o,e;case v:return yi(n.children,a,o,t);case y:s=8,a|=24;break;case b:return e=mi(12,n,t,a|2),e.elementType=b,e.lanes=o,e;case ee:return e=mi(13,n,t,a),e.elementType=ee,e.lanes=o,e;case te:return e=mi(19,n,t,a),e.elementType=te,e.lanes=o,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case S:s=10;break a;case x:s=9;break a;case C:s=11;break a;case ne:s=14;break a;case re:s=16,r=null;break a}s=29,n=Error(i(130,e===null?`null`:typeof e,``)),r=null}return t=mi(s,n,t,a),t.elementType=e,t.type=r,t.lanes=o,t}function yi(e,t,n,r){return e=mi(7,e,r,t),e.lanes=n,e}function bi(e,t,n){return e=mi(6,e,null,t),e.lanes=n,e}function xi(e){var t=mi(18,null,null,0);return t.stateNode=e,t}function Si(e,t,n){return t=mi(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Ci=new WeakMap;function wi(e,t){if(typeof e==`object`&&e){var n=Ci.get(e);return n===void 0?(t={value:e,source:t,stack:De(t)},Ci.set(e,t),t):n}return{value:e,source:t,stack:De(t)}}var Ti=[],Ei=0,Di=null,Oi=0,ki=[],Ai=0,ji=null,Mi=1,Ni=``;function Pi(e,t){Ti[Ei++]=Oi,Ti[Ei++]=Di,Di=e,Oi=t}function Fi(e,t,n){ki[Ai++]=Mi,ki[Ai++]=Ni,ki[Ai++]=ji,ji=e;var r=Mi;e=Ni;var i=32-Ge(r)-1;r&=~(1<<i),n+=1;var a=32-Ge(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Mi=1<<32-Ge(t)+i|n<<i|r,Ni=a+e}else Mi=1<<a|n<<i|r,Ni=e}function Ii(e){e.return!==null&&(Pi(e,1),Fi(e,1,0))}function Li(e){for(;e===Di;)Di=Ti[--Ei],Ti[Ei]=null,Oi=Ti[--Ei],Ti[Ei]=null;for(;e===ji;)ji=ki[--Ai],ki[Ai]=null,Ni=ki[--Ai],ki[Ai]=null,Mi=ki[--Ai],ki[Ai]=null}function Ri(e,t){ki[Ai++]=Mi,ki[Ai++]=Ni,ki[Ai++]=ji,Mi=t.id,Ni=t.overflow,ji=e}var zi=null,N=null,P=!1,Bi=null,Vi=!1,Hi=Error(i(519));function Ui(e){throw Yi(wi(Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Hi}function Wi(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[mt]=e,t[ht]=r,n){case`dialog`:Z(`cancel`,t),Z(`close`,t);break;case`iframe`:case`object`:case`embed`:Z(`load`,t);break;case`video`:case`audio`:for(n=0;n<vd.length;n++)Z(vd[n],t);break;case`source`:Z(`error`,t);break;case`img`:case`image`:case`link`:Z(`error`,t),Z(`load`,t);break;case`details`:Z(`toggle`,t);break;case`input`:Z(`invalid`,t),Jt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:Z(`invalid`,t);break;case`textarea`:Z(`invalid`,t),Qt(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||Md(t.textContent,n)?(r.popover!=null&&(Z(`beforetoggle`,t),Z(`toggle`,t)),r.onScroll!=null&&Z(`scroll`,t),r.onScrollEnd!=null&&Z(`scrollend`,t),r.onClick!=null&&(t.onclick=cn),t=!0):t=!1,t||Ui(e,!0)}function Gi(e){for(zi=e.return;zi;)switch(zi.tag){case 5:case 31:case 13:Vi=!1;return;case 27:case 3:Vi=!0;return;default:zi=zi.return}}function Ki(e){if(e!==zi)return!1;if(!P)return Gi(e),P=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=n===`form`||n===`button`||Ud(e.type,e.memoizedProps)),n=!n),n&&N&&Ui(e),Gi(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));N=uf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));N=uf(e)}else t===27?(t=N,Zd(e.type)?(e=lf,lf=null,N=e):N=t):N=zi?cf(e.stateNode.nextSibling):null;return!0}function qi(){N=zi=null,P=!1}function Ji(){var e=Bi;return e!==null&&(Ql===null?Ql=e:Ql.push.apply(Ql,e),Bi=null),e}function Yi(e){Bi===null?Bi=[e]:Bi.push(e)}var Xi=me(null),Zi=null,Qi=null;function $i(e,t,n){E(Xi,t._currentValue),t._currentValue=n}function ea(e){e._currentValue=Xi.current,he(Xi)}function ta(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function na(e,t,n,r){var a=e.child;for(a!==null&&(a.return=e);a!==null;){var o=a.dependencies;if(o!==null){var s=a.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=a;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),ta(o.return,n,e),r||(s=null);break a}o=c.next}}else if(a.tag===18){if(s=a.return,s===null)throw Error(i(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),ta(s,n,e),s=null}else s=a.child;if(s!==null)s.return=a;else for(s=a;s!==null;){if(s===e){s=null;break}if(a=s.sibling,a!==null){a.return=s.return,s=a;break}s=s.return}a=s}}function ra(e,t,n,r){e=null;for(var a=t,o=!1;a!==null;){if(!o){if(a.flags&524288)o=!0;else if(a.flags&262144)break}if(a.tag===10){var s=a.alternate;if(s===null)throw Error(i(387));if(s=s.memoizedProps,s!==null){var c=a.type;Or(a.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(a===ye.current){if(s=a.alternate,s===null)throw Error(i(387));s.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(e===null?e=[Qf]:e.push(Qf))}a=a.return}e!==null&&na(t,e,n,r),t.flags|=262144}function ia(e){for(e=e.firstContext;e!==null;){if(!Or(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function F(e){Zi=e,Qi=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function aa(e){return sa(Zi,e)}function oa(e,t){return Zi===null&&F(e),sa(e,t)}function sa(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Qi===null){if(e===null)throw Error(i(308));Qi=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Qi=Qi.next=t;return n}var ca=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},la=t.unstable_scheduleCallback,ua=t.unstable_NormalPriority,da={$$typeof:S,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function fa(){return{controller:new ca,data:new Map,refCount:0}}function pa(e){e.refCount--,e.refCount===0&&la(ua,function(){e.controller.abort()})}var ma=null,ha=0,ga=0,_a=null;function va(e,t){if(ma===null){var n=ma=[];ha=0,ga=fd(),_a={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return ha++,t.then(ya,ya),t}function ya(){if(--ha===0&&ma!==null){_a!==null&&(_a.status=`fulfilled`);var e=ma;ma=null,ga=0,_a=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function ba(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var xa=w.S;w.S=function(e,t){tu=Me(),typeof t==`object`&&t&&typeof t.then==`function`&&va(e,t),xa!==null&&xa(e,t)};var Sa=me(null);function Ca(){var e=Sa.current;return e===null?G.pooledCache:e}function wa(e,t){t===null?E(Sa,Sa.current):E(Sa,t.pool)}function Ta(){var e=Ca();return e===null?null:{parent:da._currentValue,pool:e}}var Ea=Error(i(460)),Da=Error(i(474)),Oa=Error(i(542)),ka={then:function(){}};function Aa(e){return e=e.status,e===`fulfilled`||e===`rejected`}function ja(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(cn,cn),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Fa(e),e;default:if(typeof t.status==`string`)t.then(cn,cn);else{if(e=G,e!==null&&100<e.shellSuspendCounter)throw Error(i(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Fa(e),e}throw Na=t,Ea}}function Ma(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(Na=e,Ea):e}}var Na=null;function Pa(){if(Na===null)throw Error(i(459));var e=Na;return Na=null,e}function Fa(e){if(e===Ea||e===Oa)throw Error(i(483))}var Ia=null,La=0;function Ra(e){var t=La;return La+=1,Ia===null&&(Ia=[]),ja(Ia,e,t)}function za(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Ba(e,t){throw t.$$typeof===h?Error(i(525)):(e=Object.prototype.toString.call(t),Error(i(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Va(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function a(e,t){return e=gi(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=bi(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===v?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===re&&Ma(i)===t.type)?(t=a(t,n.props),za(t,n),t.return=e,t):(t=vi(n.type,n.key,n.props,null,e.mode,r),za(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=Si(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=yi(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=bi(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case g:return n=vi(t.type,t.key,t.props,null,e.mode,n),za(n,t),n.return=e,n;case _:return t=Si(t,e.mode,n),t.return=e,t;case re:return t=Ma(t),f(e,t,n)}if(ue(t)||se(t))return t=yi(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,Ra(t),n);if(t.$$typeof===S)return f(e,oa(e,t),n);Ba(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case g:return n.key===i?l(e,t,n,r):null;case _:return n.key===i?u(e,t,n,r):null;case re:return n=Ma(n),p(e,t,n,r)}if(ue(n)||se(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,Ra(n),r);if(n.$$typeof===S)return p(e,t,oa(e,n),r);Ba(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case g:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case _:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case re:return r=Ma(r),m(e,t,n,r,i)}if(ue(r)||se(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,Ra(r),i);if(r.$$typeof===S)return m(e,t,n,oa(t,r),i);Ba(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),P&&Pi(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return P&&Pi(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),P&&Pi(i,h),l}function y(a,s,c,l){if(c==null)throw Error(i(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),P&&Pi(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return P&&Pi(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),P&&Pi(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===v&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case g:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===v){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===re&&Ma(l)===r.type){n(e,r.sibling),c=a(r,o.props),za(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===v?(c=yi(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=vi(o.type,o.key,o.props,null,e.mode,c),za(c,o),c.return=e,e=c)}return s(e);case _:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}t(e,r),r=r.sibling}c=Si(o,e.mode,c),c.return=e,e=c}return s(e);case re:return o=Ma(o),b(e,r,o,c)}if(ue(o))return h(e,r,o,c);if(se(o)){if(l=se(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Ra(o),c);if(o.$$typeof===S)return b(e,r,oa(e,o),c);Ba(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=bi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{La=0;var i=b(e,t,n,r);return Ia=null,i}catch(t){if(t===Ea||t===Oa)throw t;var a=mi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ha=Va(!0),Ua=Va(!1),Wa=!1;function Ga(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ka(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function qa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ja(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,W&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=di(e),ui(e,null,n),t}return si(e,r,t,n),di(e)}function Ya(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,st(e,n)}}function Xa(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Za=!1;function Qa(){if(Za){var e=_a;if(e!==null)throw e}}function $a(e,t,n,r){Za=!1;var i=e.updateQueue;Wa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(q&f)===f:(r&f)===f){f!==0&&f===ga&&(Za=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=m({},d,f);break a;case 2:Wa=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Kl|=o,e.lanes=o,e.memoizedState=d}}function eo(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function to(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)eo(n[e],t)}var no=me(null),ro=me(0);function io(e,t){e=Wl,E(ro,e),E(no,t),Wl=e|t.baseLanes}function ao(){E(ro,Wl),E(no,no.current)}function oo(){Wl=ro.current,he(no),he(ro)}var so=me(null),co=null;function lo(e){var t=e.alternate;E(ho,ho.current&1),E(so,e),co===null&&(t===null||no.current!==null||t.memoizedState!==null)&&(co=e)}function uo(e){E(ho,ho.current),E(so,e),co===null&&(co=e)}function fo(e){e.tag===22?(E(ho,ho.current),E(so,e),co===null&&(co=e)):po(e)}function po(){E(ho,ho.current),E(so,so.current)}function mo(e){he(so),co===e&&(co=null),he(ho)}var ho=me(0);function go(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||af(n)||of(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var _o=0,I=null,L=null,vo=null,yo=!1,bo=!1,xo=!1,So=0,Co=0,wo=null,To=0;function R(){throw Error(i(321))}function Eo(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Or(e[n],t[n]))return!1;return!0}function Do(e,t,n,r,i,a){return _o=a,I=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,w.H=e===null||e.memoizedState===null?Us:Ws,xo=!1,a=n(r,i),xo=!1,bo&&(a=ko(t,n,r,i)),Oo(e),a}function Oo(e){w.H=Hs;var t=L!==null&&L.next!==null;if(_o=0,vo=L=I=null,yo=!1,Co=0,wo=null,t)throw Error(i(300));e===null||sc||(e=e.dependencies,e!==null&&ia(e)&&(sc=!0))}function ko(e,t,n,r){I=e;var a=0;do{if(bo&&(wo=null),Co=0,bo=!1,25<=a)throw Error(i(301));if(a+=1,vo=L=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}w.H=Gs,o=t(n,r)}while(bo);return o}function Ao(){var e=w.H,t=e.useState()[0];return t=typeof t.then==`function`?Lo(t):t,e=e.useState()[0],(L===null?null:L.memoizedState)!==e&&(I.flags|=1024),t}function jo(){var e=So!==0;return So=0,e}function Mo(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function No(e){if(yo){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}yo=!1}_o=0,vo=L=I=null,bo=!1,Co=So=0,wo=null}function Po(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return vo===null?I.memoizedState=vo=e:vo=vo.next=e,vo}function Fo(){if(L===null){var e=I.alternate;e=e===null?null:e.memoizedState}else e=L.next;var t=vo===null?I.memoizedState:vo.next;if(t!==null)vo=t,L=e;else{if(e===null)throw I.alternate===null?Error(i(467)):Error(i(310));L=e,e={memoizedState:L.memoizedState,baseState:L.baseState,baseQueue:L.baseQueue,queue:L.queue,next:null},vo===null?I.memoizedState=vo=e:vo=vo.next=e}return vo}function Io(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Lo(e){var t=Co;return Co+=1,wo===null&&(wo=[]),e=ja(wo,e,t),t=I,(vo===null?t.memoizedState:vo.next)===null&&(t=t.alternate,w.H=t===null||t.memoizedState===null?Us:Ws),e}function Ro(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return Lo(e);if(e.$$typeof===S)return aa(e)}throw Error(i(438,String(e)))}function zo(e){var t=null,n=I.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=I.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=Io(),I.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=ae;return t.index++,n}function Bo(e,t){return typeof t==`function`?t(e):t}function Vo(e){return Ho(Fo(),L,e)}function Ho(e,t,n){var r=e.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=n;var a=e.baseQueue,o=r.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}t.baseQueue=a=o,r.pending=null}if(o=e.baseState,a===null)e.memoizedState=o;else{t=a.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(_o&f)===f:(q&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===ga&&(d=!0);else if((_o&p)===p){u=u.next,p===ga&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,I.lanes|=p,Kl|=p;f=u.action,xo&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,I.lanes|=f,Kl|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!Or(o,e.memoizedState)&&(sc=!0,d&&(n=_a,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return a===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Uo(e){var t=Fo(),n=t.queue;if(n===null)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);Or(o,t.memoizedState)||(sc=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Wo(e,t,n){var r=I,a=Fo(),o=P;if(o){if(n===void 0)throw Error(i(407));n=n()}else n=t();var s=!Or((L||a).memoizedState,n);if(s&&(a.memoizedState=n,sc=!0),a=a.queue,hs(qo.bind(null,r,a,e),[e]),a.getSnapshot!==t||s||vo!==null&&vo.memoizedState.tag&1){if(r.flags|=2048,us(9,{destroy:void 0},Ko.bind(null,r,a,n,t),null),G===null)throw Error(i(349));o||_o&127||Go(r,t,n)}return n}function Go(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=I.updateQueue,t===null?(t=Io(),I.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Ko(e,t,n,r){t.value=n,t.getSnapshot=r,Jo(t)&&Yo(e)}function qo(e,t,n){return n(function(){Jo(t)&&Yo(e)})}function Jo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Or(e,n)}catch{return!0}}function Yo(e){var t=li(e,2);t!==null&&gu(t,e,2)}function Xo(e){var t=Po();if(typeof e==`function`){var n=e;if(e=n(),xo){We(!0);try{n()}finally{We(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Bo,lastRenderedState:e},t}function Zo(e,t,n,r){return e.baseState=n,Ho(e,L,typeof r==`function`?r:Bo)}function Qo(e,t,n,r,a){if(zs(e))throw Error(i(485));if(e=t.action,e!==null){var o={payload:a,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};w.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,$o(t,o)):(o.next=n.next,t.pending=n.next=o)}}function $o(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=w.T,o={};w.T=o;try{var s=n(i,r),c=w.S;c!==null&&c(o,s),es(e,t,s)}catch(n){ns(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),w.T=a}}else try{a=n(i,r),es(e,t,a)}catch(n){ns(e,t,n)}}function es(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){ts(e,t,n)},function(n){return ns(e,t,n)}):ts(e,t,n)}function ts(e,t,n){t.status=`fulfilled`,t.value=n,rs(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,$o(e,n)))}function ns(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,rs(t),t=t.next;while(t!==r)}e.action=null}function rs(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function is(e,t){return t}function as(e,t){if(P){var n=G.formState;if(n!==null){a:{var r=I;if(P){if(N){b:{for(var i=N,a=Vi;i.nodeType!==8;){if(!a){i=null;break b}if(i=cf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){N=cf(i.nextSibling),r=i.data===`F!`;break a}}Ui(r)}r=!1}r&&(t=n[0])}}return n=Po(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:is,lastRenderedState:t},n.queue=r,n=Is.bind(null,I,r),r.dispatch=n,r=Xo(!1),a=Rs.bind(null,I,!1,r.queue),r=Po(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Qo.bind(null,I,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function os(e){return ss(Fo(),L,e)}function ss(e,t,n){if(t=Ho(e,t,is)[0],e=Vo(Bo)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=Lo(t)}catch(e){throw e===Ea?Oa:e}else r=t;t=Fo();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(I.flags|=2048,us(9,{destroy:void 0},cs.bind(null,i,n),null)),[r,a,e]}function cs(e,t){e.action=t}function ls(e){var t=Fo(),n=L;if(n!==null)return ss(t,n,e);Fo(),t=t.memoizedState,n=Fo();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function us(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=I.updateQueue,t===null&&(t=Io(),I.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function ds(){return Fo().memoizedState}function fs(e,t,n,r){var i=Po();I.flags|=e,i.memoizedState=us(1|t,{destroy:void 0},n,r===void 0?null:r)}function ps(e,t,n,r){var i=Fo();r=r===void 0?null:r;var a=i.memoizedState.inst;L!==null&&r!==null&&Eo(r,L.memoizedState.deps)?i.memoizedState=us(t,a,n,r):(I.flags|=e,i.memoizedState=us(1|t,a,n,r))}function ms(e,t){fs(8390656,8,e,t)}function hs(e,t){ps(2048,8,e,t)}function gs(e){I.flags|=4;var t=I.updateQueue;if(t===null)t=Io(),I.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function _s(e){var t=Fo().memoizedState;return gs({ref:t,nextImpl:e}),function(){if(W&2)throw Error(i(440));return t.impl.apply(void 0,arguments)}}function vs(e,t){return ps(4,2,e,t)}function ys(e,t){return ps(4,4,e,t)}function bs(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function xs(e,t,n){n=n==null?null:n.concat([e]),ps(4,4,bs.bind(null,t,e),n)}function Ss(){}function Cs(e,t){var n=Fo();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&Eo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function z(e,t){var n=Fo();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&Eo(t,r[1]))return r[0];if(r=e(),xo){We(!0);try{e()}finally{We(!1)}}return n.memoizedState=[r,t],r}function ws(e,t,n){return n===void 0||_o&1073741824&&!(q&261930)?e.memoizedState=t:(e.memoizedState=n,e=hu(),I.lanes|=e,Kl|=e,n)}function Ts(e,t,n,r){return Or(n,t)?n:no.current===null?!(_o&42)||_o&1073741824&&!(q&261930)?(sc=!0,e.memoizedState=n):(e=hu(),I.lanes|=e,Kl|=e,t):(e=ws(e,n,r),Or(e,t)||(sc=!0),e)}function Es(e,t,n,r,i){var a=T.p;T.p=a!==0&&8>a?a:8;var o=w.T,s={};w.T=s,Rs(e,!1,t,n);try{var c=i(),l=w.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Ls(e,t,ba(c,r),mu(e)):Ls(e,t,r,mu(e))}catch(n){Ls(e,t,{then:function(){},status:`rejected`,reason:n},mu())}finally{T.p=a,o!==null&&s.types!==null&&(o.types=s.types),w.T=o}}function Ds(){}function Os(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=ks(e).queue;Es(e,a,t,de,n===null?Ds:function(){return As(e),n(r)})}function ks(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:de,baseState:de,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Bo,lastRenderedState:de},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Bo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function As(e){var t=ks(e);t.next===null&&(t=e.alternate.memoizedState),Ls(e,t.next.queue,{},mu())}function js(){return aa(Qf)}function Ms(){return Fo().memoizedState}function Ns(){return Fo().memoizedState}function Ps(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=mu();e=qa(n);var r=Ja(t,e,n);r!==null&&(gu(r,t,n),Ya(r,t,n)),t={cache:fa()},e.payload=t;return}t=t.return}}function Fs(e,t,n){var r=mu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},zs(e)?Bs(t,n):(n=ci(e,t,n,r),n!==null&&(gu(n,e,r),Vs(n,t,r)))}function Is(e,t,n){Ls(e,t,n,mu())}function Ls(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(zs(e))Bs(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Or(s,o))return si(e,t,i,0),G===null&&oi(),!1}catch{}if(n=ci(e,t,i,r),n!==null)return gu(n,e,r),Vs(n,t,r),!0}return!1}function Rs(e,t,n,r){if(r={lane:2,revertLane:fd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},zs(e)){if(t)throw Error(i(479))}else t=ci(e,n,r,2),t!==null&&gu(t,e,2)}function zs(e){var t=e.alternate;return e===I||t!==null&&t===I}function Bs(e,t){bo=yo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Vs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,st(e,n)}}var Hs={readContext:aa,use:Ro,useCallback:R,useContext:R,useEffect:R,useImperativeHandle:R,useLayoutEffect:R,useInsertionEffect:R,useMemo:R,useReducer:R,useRef:R,useState:R,useDebugValue:R,useDeferredValue:R,useTransition:R,useSyncExternalStore:R,useId:R,useHostTransitionStatus:R,useFormState:R,useActionState:R,useOptimistic:R,useMemoCache:R,useCacheRefresh:R};Hs.useEffectEvent=R;var Us={readContext:aa,use:Ro,useCallback:function(e,t){return Po().memoizedState=[e,t===void 0?null:t],e},useContext:aa,useEffect:ms,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),fs(4194308,4,bs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return fs(4194308,4,e,t)},useInsertionEffect:function(e,t){fs(4,2,e,t)},useMemo:function(e,t){var n=Po();t=t===void 0?null:t;var r=e();if(xo){We(!0);try{e()}finally{We(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Po();if(n!==void 0){var i=n(t);if(xo){We(!0);try{n(t)}finally{We(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Fs.bind(null,I,e),[r.memoizedState,e]},useRef:function(e){var t=Po();return e={current:e},t.memoizedState=e},useState:function(e){e=Xo(e);var t=e.queue,n=Is.bind(null,I,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Ss,useDeferredValue:function(e,t){return ws(Po(),e,t)},useTransition:function(){var e=Xo(!1);return e=Es.bind(null,I,e.queue,!0,!1),Po().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=I,a=Po();if(P){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),G===null)throw Error(i(349));q&127||Go(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,ms(qo.bind(null,r,o,e),[e]),r.flags|=2048,us(9,{destroy:void 0},Ko.bind(null,r,o,n,t),null),n},useId:function(){var e=Po(),t=G.identifierPrefix;if(P){var n=Ni,r=Mi;n=(r&~(1<<32-Ge(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=So++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=To++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:js,useFormState:as,useActionState:as,useOptimistic:function(e){var t=Po();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Rs.bind(null,I,!0,n),n.dispatch=t,[e,t]},useMemoCache:zo,useCacheRefresh:function(){return Po().memoizedState=Ps.bind(null,I)},useEffectEvent:function(e){var t=Po(),n={impl:e};return t.memoizedState=n,function(){if(W&2)throw Error(i(440));return n.impl.apply(void 0,arguments)}}},Ws={readContext:aa,use:Ro,useCallback:Cs,useContext:aa,useEffect:hs,useImperativeHandle:xs,useInsertionEffect:vs,useLayoutEffect:ys,useMemo:z,useReducer:Vo,useRef:ds,useState:function(){return Vo(Bo)},useDebugValue:Ss,useDeferredValue:function(e,t){return Ts(Fo(),L.memoizedState,e,t)},useTransition:function(){var e=Vo(Bo)[0],t=Fo().memoizedState;return[typeof e==`boolean`?e:Lo(e),t]},useSyncExternalStore:Wo,useId:Ms,useHostTransitionStatus:js,useFormState:os,useActionState:os,useOptimistic:function(e,t){return Zo(Fo(),L,e,t)},useMemoCache:zo,useCacheRefresh:Ns};Ws.useEffectEvent=_s;var Gs={readContext:aa,use:Ro,useCallback:Cs,useContext:aa,useEffect:hs,useImperativeHandle:xs,useInsertionEffect:vs,useLayoutEffect:ys,useMemo:z,useReducer:Uo,useRef:ds,useState:function(){return Uo(Bo)},useDebugValue:Ss,useDeferredValue:function(e,t){var n=Fo();return L===null?ws(n,e,t):Ts(n,L.memoizedState,e,t)},useTransition:function(){var e=Uo(Bo)[0],t=Fo().memoizedState;return[typeof e==`boolean`?e:Lo(e),t]},useSyncExternalStore:Wo,useId:Ms,useHostTransitionStatus:js,useFormState:ls,useActionState:ls,useOptimistic:function(e,t){var n=Fo();return L===null?(n.baseState=e,[e,n.queue.dispatch]):Zo(n,L,e,t)},useMemoCache:zo,useCacheRefresh:Ns};Gs.useEffectEvent=_s;function Ks(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:m({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var qs={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=mu(),i=qa(r);i.payload=t,n!=null&&(i.callback=n),t=Ja(e,i,r),t!==null&&(gu(t,e,r),Ya(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=mu(),i=qa(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Ja(e,i,r),t!==null&&(gu(t,e,r),Ya(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=mu(),r=qa(n);r.tag=2,t!=null&&(r.callback=t),t=Ja(e,r,n),t!==null&&(gu(t,e,n),Ya(t,e,n))}};function Js(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!kr(n,r)||!kr(i,a):!0}function Ys(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&qs.enqueueReplaceState(t,t.state,null)}function Xs(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=m({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Zs(e){ni(e)}function Qs(e){console.error(e)}function $s(e){ni(e)}function ec(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function tc(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function nc(e,t,n){return n=qa(n),n.tag=3,n.payload={element:null},n.callback=function(){ec(e,t)},n}function rc(e){return e=qa(e),e.tag=3,e}function ic(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){tc(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){tc(t,n,r),typeof i!=`function`&&(iu===null?iu=new Set([this]):iu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function ac(e,t,n,r,a){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&ra(t,n,a,!0),n=so.current,n!==null){switch(n.tag){case 31:case 13:return co===null?Ou():n.alternate===null&&Gl===0&&(Gl=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===ka?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Ku(e,r,a)),!1;case 22:return n.flags|=65536,r===ka?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Ku(e,r,a)),!1}throw Error(i(435,n.tag))}return Ku(e,r,a),Ou(),!1}if(P)return t=so.current,t===null?(r!==Hi&&(t=Error(i(423),{cause:r}),Yi(wi(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=wi(r,n),a=nc(e.stateNode,r,a),Xa(e,a),Gl!==4&&(Gl=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==Hi&&(e=Error(i(422),{cause:r}),Yi(wi(e,n)))),!1;var o=Error(i(520),{cause:r});if(o=wi(o,n),Zl===null?Zl=[o]:Zl.push(o),Gl!==4&&(Gl=2),t===null)return!0;r=wi(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=nc(n.stateNode,r,e),Xa(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(iu===null||!iu.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=rc(a),ic(a,e,n,r),Xa(n,a),!1}n=n.return}while(n!==null);return!1}var oc=Error(i(461)),sc=!1;function cc(e,t,n,r){t.child=e===null?Ua(t,null,n,r):Ha(t,e.child,n,r)}function lc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return F(t),r=Do(e,t,n,o,a,i),s=jo(),e!==null&&!sc?(Mo(e,t,i),Nc(e,t,i)):(P&&s&&Ii(t),t.flags|=1,cc(e,t,r,i),t.child)}function uc(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!hi(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,dc(e,t,a,r,i)):(e=vi(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Pc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?kr:n,n(o,r)&&e.ref===t.ref)return Nc(e,t,i)}return t.flags|=1,e=gi(a,r),e.ref=t.ref,e.return=t,t.child=e}function dc(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(kr(a,r)&&e.ref===t.ref)if(sc=!1,t.pendingProps=r=a,Pc(e,i))e.flags&131072&&(sc=!0);else return t.lanes=e.lanes,Nc(e,t,i)}return yc(e,t,n,r,i)}function fc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return mc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&wa(t,a===null?null:a.cachePool),a===null?ao():io(t,a),fo(t);else return r=t.lanes=536870912,mc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&wa(t,null),ao(),po(t)):(wa(t,a.cachePool),io(t,a),po(t),t.memoizedState=null);return cc(e,t,i,n),t.child}function pc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function mc(e,t,n,r,i){var a=Ca();return a=a===null?null:{parent:da._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&wa(t,null),ao(),fo(t),e!==null&&ra(e,t,r,!0),t.childLanes=i,null}function hc(e,t){return t=Oc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function gc(e,t,n){return Ha(t,e.child,null,n),e=hc(t,t.pendingProps),e.flags|=2,mo(t),t.memoizedState=null,e}function _c(e,t,n){var r=t.pendingProps,a=!!(t.flags&128);if(t.flags&=-129,e===null){if(P){if(r.mode===`hidden`)return e=hc(t,r),t.lanes=536870912,pc(null,e);if(uo(t),(e=N)?(e=rf(e,Vi),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ji===null?null:{id:Mi,overflow:Ni},retryLane:536870912,hydrationErrors:null},n=xi(e),n.return=t,t.child=n,zi=t,N=null)):e=null,e===null)throw Ui(t);return t.lanes=536870912,null}return hc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(uo(t),a)if(t.flags&256)t.flags&=-257,t=gc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(i(558));else if(sc||ra(e,t,n,!1),a=(n&e.childLanes)!==0,sc||a){if(r=G,r!==null&&(s=ct(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,li(e,s),gu(r,e,s),oc;Ou(),t=gc(e,t,n)}else e=o.treeContext,N=cf(s.nextSibling),zi=t,P=!0,Bi=null,Vi=!1,e!==null&&Ri(t,e),t=hc(t,r),t.flags|=4096;return t}return e=gi(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function vc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(i(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function yc(e,t,n,r,i){return F(t),n=Do(e,t,n,r,void 0,i),r=jo(),e!==null&&!sc?(Mo(e,t,i),Nc(e,t,i)):(P&&r&&Ii(t),t.flags|=1,cc(e,t,n,i),t.child)}function bc(e,t,n,r,i,a){return F(t),t.updateQueue=null,n=ko(t,r,n,i),Oo(e),r=jo(),e!==null&&!sc?(Mo(e,t,a),Nc(e,t,a)):(P&&r&&Ii(t),t.flags|=1,cc(e,t,n,a),t.child)}function xc(e,t,n,r,i){if(F(t),t.stateNode===null){var a=fi,o=n.contextType;typeof o==`object`&&o&&(a=aa(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=qs,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Ga(t),o=n.contextType,a.context=typeof o==`object`&&o?aa(o):fi,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Ks(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&qs.enqueueReplaceState(a,a.state,null),$a(t,r,a,i),Qa(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=Xs(n,s);a.props=c;var l=a.context,u=n.contextType;o=fi,typeof u==`object`&&u&&(o=aa(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Ys(t,a,r,o),Wa=!1;var f=t.memoizedState;a.state=f,$a(t,r,a,i),Qa(),l=t.memoizedState,s||f!==l||Wa?(typeof d==`function`&&(Ks(t,n,d,r),l=t.memoizedState),(c=Wa||Js(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Ka(e,t),o=t.memoizedProps,u=Xs(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=fi,typeof l==`object`&&l&&(c=aa(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Ys(t,a,r,c),Wa=!1,f=t.memoizedState,a.state=f,$a(t,r,a,i),Qa();var p=t.memoizedState;o!==d||f!==p||Wa||e!==null&&e.dependencies!==null&&ia(e.dependencies)?(typeof s==`function`&&(Ks(t,n,s,r),p=t.memoizedState),(u=Wa||Js(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&ia(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,vc(e,t),r=!!(t.flags&128),a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Ha(t,e.child,null,i),t.child=Ha(t,null,n,i)):cc(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Nc(e,t,i),e}function Sc(e,t,n,r){return qi(),t.flags|=256,cc(e,t,n,r),t.child}var Cc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function wc(e){return{baseLanes:e,cachePool:Ta()}}function Tc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=Yl),e}function Ec(e,t,n){var r=t.pendingProps,a=!1,o=!!(t.flags&128),s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:!!(ho.current&2)),s&&(a=!0,t.flags&=-129),s=!!(t.flags&32),t.flags&=-33,e===null){if(P){if(a?lo(t):po(t),(e=N)?(e=rf(e,Vi),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ji===null?null:{id:Mi,overflow:Ni},retryLane:536870912,hydrationErrors:null},n=xi(e),n.return=t,t.child=n,zi=t,N=null)):e=null,e===null)throw Ui(t);return of(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,a?(po(t),a=t.mode,c=Oc({mode:`hidden`,children:c},a),r=yi(r,a,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=wc(n),r.childLanes=Tc(e,s,n),t.memoizedState=Cc,pc(null,r)):(lo(t),Dc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(lo(t),t.flags&=-257,t=kc(e,t,n)):t.memoizedState===null?(po(t),c=r.fallback,a=t.mode,r=Oc({mode:`visible`,children:r.children},a),c=yi(c,a,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Ha(t,e.child,null,n),r=t.child,r.memoizedState=wc(n),r.childLanes=Tc(e,s,n),t.memoizedState=Cc,t=pc(null,r)):(po(t),t.child=e.child,t.flags|=128,t=null);else if(lo(t),of(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(i(419)),r.stack=``,r.digest=s,Yi({value:r,source:null,stack:null}),t=kc(e,t,n)}else if(sc||ra(e,t,n,!1),s=(n&e.childLanes)!==0,sc||s){if(s=G,s!==null&&(r=ct(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,li(e,r),gu(s,e,r),oc;af(c)||Ou(),t=kc(e,t,n)}else af(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,N=cf(c.nextSibling),zi=t,P=!0,Bi=null,Vi=!1,e!==null&&Ri(t,e),t=Dc(t,r.children),t.flags|=4096);return t}return a?(po(t),c=r.fallback,a=t.mode,l=e.child,u=l.sibling,r=gi(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=yi(c,a,n,null),c.flags|=2):c=gi(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,pc(null,r),r=t.child,c=e.child.memoizedState,c===null?c=wc(n):(a=c.cachePool,a===null?a=Ta():(l=da._currentValue,a=a.parent===l?a:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:a}),r.memoizedState=c,r.childLanes=Tc(e,s,n),t.memoizedState=Cc,pc(e.child,r)):(lo(t),n=e.child,e=n.sibling,n=gi(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function Dc(e,t){return t=Oc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function Oc(e,t){return e=mi(22,e,null,t),e.lanes=0,e}function kc(e,t,n){return Ha(t,e.child,null,n),e=Dc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Ac(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),ta(e.return,t,n)}function jc(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function Mc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=ho.current,s=!!(o&2);if(s?(o=o&1|2,t.flags|=128):o&=1,E(ho,o),cc(e,t,r,n),r=P?Oi:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ac(e,n,t);else if(e.tag===19)Ac(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&go(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),jc(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&go(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}jc(t,!0,n,null,a,r);break;case`together`:jc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Nc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Kl|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ra(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(i(153));if(t.child!==null){for(e=t.child,n=gi(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=gi(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Pc(e,t){return(e.lanes&t)!==0||(e=e.dependencies,!!(e!==null&&ia(e)))}function Fc(e,t,n){switch(t.tag){case 3:be(t,t.stateNode.containerInfo),$i(t,da,e.memoizedState.cache),qi();break;case 27:case 5:xe(t);break;case 4:be(t,t.stateNode.containerInfo);break;case 10:$i(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,uo(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(lo(t),e=Nc(e,t,n),e===null?null:e.sibling):Ec(e,t,n):(lo(t),t.flags|=128,null);lo(t);break;case 19:var i=!!(e.flags&128);if(r=(n&t.childLanes)!==0,r||=(ra(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return Mc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),E(ho,ho.current),r)break;return null;case 22:return t.lanes=0,fc(e,t,n,t.pendingProps);case 24:$i(t,da,e.memoizedState.cache)}return Nc(e,t,n)}function Ic(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)sc=!0;else{if(!Pc(e,n)&&!(t.flags&128))return sc=!1,Fc(e,t,n);sc=!!(e.flags&131072)}else sc=!1,P&&t.flags&1048576&&Fi(t,Oi,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=Ma(t.elementType),t.type=e,typeof e==`function`)hi(e)?(r=Xs(e,r),t.tag=1,t=xc(null,t,e,r,n)):(t.tag=0,t=yc(null,t,e,r,n));else{if(e!=null){var a=e.$$typeof;if(a===C){t.tag=11,t=lc(null,t,e,r,n);break a}if(a===ne){t.tag=14,t=uc(null,t,e,r,n);break a}}throw t=le(e)||e,Error(i(306,t,``))}}return t;case 0:return yc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,a=Xs(r,t.pendingProps),xc(e,t,r,a,n);case 3:a:{if(be(t,t.stateNode.containerInfo),e===null)throw Error(i(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,Ka(e,t),$a(t,r,null,n);var s=t.memoizedState;if(r=s.cache,$i(t,da,r),r!==o.cache&&na(t,[da],n,!0),Qa(),r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=Sc(e,t,r,n);break a}else if(r!==a){a=wi(Error(i(424)),t),Yi(a),t=Sc(e,t,r,n);break a}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(N=cf(e.firstChild),zi=t,P=!0,Bi=null,Vi=!0,n=Ua(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(qi(),r===a){t=Nc(e,t,n);break a}cc(e,t,r,n)}t=t.child}return t;case 26:return vc(e,t),e===null?(n=kf(t.type,null,t.pendingProps,null))?t.memoizedState=n:P||(n=t.type,e=t.pendingProps,r=Bd(ve.current).createElement(n),r[mt]=t,r[ht]=e,Pd(r,n,e),Dt(r),t.stateNode=r):t.memoizedState=kf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return xe(t),e===null&&P&&(r=t.stateNode=ff(t.type,t.pendingProps,ve.current),zi=t,Vi=!0,a=N,Zd(t.type)?(lf=a,N=cf(r.firstChild)):N=a),cc(e,t,t.pendingProps.children,n),vc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&P&&((a=r=N)&&(r=tf(r,t.type,t.pendingProps,Vi),r===null?a=!1:(t.stateNode=r,zi=t,N=cf(r.firstChild),Vi=!1,a=!0)),a||Ui(t)),xe(t),a=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,Ud(a,o)?r=null:s!==null&&Ud(a,s)&&(t.flags|=32),t.memoizedState!==null&&(a=Do(e,t,Ao,null,null,n),Qf._currentValue=a),vc(e,t),cc(e,t,r,n),t.child;case 6:return e===null&&P&&((e=n=N)&&(n=nf(n,t.pendingProps,Vi),n===null?e=!1:(t.stateNode=n,zi=t,N=null,e=!0)),e||Ui(t)),null;case 13:return Ec(e,t,n);case 4:return be(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ha(t,null,r,n):cc(e,t,r,n),t.child;case 11:return lc(e,t,t.type,t.pendingProps,n);case 7:return cc(e,t,t.pendingProps,n),t.child;case 8:return cc(e,t,t.pendingProps.children,n),t.child;case 12:return cc(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,$i(t,t.type,r.value),cc(e,t,r.children,n),t.child;case 9:return a=t.type._context,r=t.pendingProps.children,F(t),a=aa(a),r=r(a),t.flags|=1,cc(e,t,r,n),t.child;case 14:return uc(e,t,t.type,t.pendingProps,n);case 15:return dc(e,t,t.type,t.pendingProps,n);case 19:return Mc(e,t,n);case 31:return _c(e,t,n);case 22:return fc(e,t,n,t.pendingProps);case 24:return F(t),r=aa(da),e===null?(a=Ca(),a===null&&(a=G,o=fa(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},Ga(t),$i(t,da,a)):((e.lanes&n)!==0&&(Ka(e,t),$a(t,null,null,n),Qa()),a=e.memoizedState,o=t.memoizedState,a.parent===r?(r=o.cache,$i(t,da,r),r!==a.cache&&na(t,[da],n,!0)):(a={parent:r,cache:r},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),$i(t,da,r))),cc(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(i(156,t.tag))}function Lc(e){e.flags|=4}function Rc(e,t,n,r,i){if((t=!!(e.mode&32))&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(Tu())e.flags|=8192;else throw Na=ka,Da}else e.flags&=-16777217}function zc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Wf(t))if(Tu())e.flags|=8192;else throw Na=ka,Da}function Bc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:nt(),e.lanes|=t,Xl|=t)}function Vc(e,t){if(!P)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function B(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Hc(e,t,n){var r=t.pendingProps;switch(Li(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return B(t),null;case 1:return B(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ea(da),D(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Ki(t)?Lc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Ji())),B(t),null;case 26:var a=t.type,o=t.memoizedState;return e===null?(Lc(t),o===null?(B(t),Rc(t,a,null,r,n)):(B(t),zc(t,o))):o?o===e.memoizedState?(B(t),t.flags&=-16777217):(Lc(t),B(t),zc(t,o)):(e=e.memoizedProps,e!==r&&Lc(t),B(t),Rc(t,a,e,r,n)),null;case 27:if(O(t),n=ve.current,a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Lc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return B(t),null}e=ge.current,Ki(t)?Wi(t,e):(e=ff(a,r,n),t.stateNode=e,Lc(t))}return B(t),null;case 5:if(O(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Lc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return B(t),null}if(o=ge.current,Ki(t))Wi(t,o);else{var s=Bd(ve.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;default:switch(a){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[mt]=t,o[ht]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Lc(t)}}return B(t),Rc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Lc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=ve.current,Ki(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=zi,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[mt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Md(e.nodeValue,n)),e||Ui(t,!0)}else e=Bd(e).createTextNode(r),e[mt]=t,t.stateNode=e}return B(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ki(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[mt]=t}else qi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;B(t),e=!1}else n=Ji(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(mo(t),t):(mo(t),null);if(t.flags&128)throw Error(i(558))}return B(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Ki(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[mt]=t}else qi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;B(t),a=!1}else a=Ji(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(mo(t),t):(mo(t),null)}return mo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Bc(t,t.updateQueue),B(t),null);case 4:return D(),e===null&&Cd(t.stateNode.containerInfo),B(t),null;case 10:return ea(t.type),B(t),null;case 19:if(he(ho),r=t.memoizedState,r===null)return B(t),null;if(a=!!(t.flags&128),o=r.rendering,o===null)if(a)Vc(r,!1);else{if(Gl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=go(e),o!==null){for(t.flags|=128,Vc(r,!1),e=o.updateQueue,t.updateQueue=e,Bc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)_i(n,e),n=n.sibling;return E(ho,ho.current&1|2),P&&Pi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Me()>nu&&(t.flags|=128,a=!0,Vc(r,!1),t.lanes=4194304)}else{if(!a)if(e=go(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Bc(t,e),Vc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!P)return B(t),null}else 2*Me()-r.renderingStartTime>nu&&n!==536870912&&(t.flags|=128,a=!0,Vc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(B(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Me(),e.sibling=null,n=ho.current,E(ho,a?n&1|2:n&1),P&&Pi(t,r.treeForkCount),e);case 22:case 23:return mo(t),oo(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(B(t),t.subtreeFlags&6&&(t.flags|=8192)):B(t),n=t.updateQueue,n!==null&&Bc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&he(Sa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ea(da),B(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Uc(e,t){switch(Li(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ea(da),D(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return O(t),null;case 31:if(t.memoizedState!==null){if(mo(t),t.alternate===null)throw Error(i(340));qi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(mo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));qi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return he(ho),null;case 4:return D(),null;case 10:return ea(t.type),null;case 22:case 23:return mo(t),oo(),e!==null&&he(Sa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ea(da),null;case 25:return null;default:return null}}function V(e,t){switch(Li(t),t.tag){case 3:ea(da),D();break;case 26:case 27:case 5:O(t);break;case 4:D();break;case 31:t.memoizedState!==null&&mo(t);break;case 13:mo(t);break;case 19:he(ho);break;case 10:ea(t.type);break;case 22:case 23:mo(t),oo(),e!==null&&he(Sa);break;case 24:ea(da)}}function Wc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){X(t,t.return,e)}}function Gc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){X(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){X(t,t.return,e)}}function Kc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{to(t,n)}catch(t){X(e,e.return,t)}}}function qc(e,t,n){n.props=Xs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){X(e,t,n)}}function Jc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){X(e,t,n)}}function Yc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){X(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){X(e,t,n)}else n.current=null}function Xc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){X(e,e.return,t)}}function Zc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[ht]=t}catch(t){X(e,e.return,t)}}function Qc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function $c(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Qc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function el(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=cn));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(el(e,t,n),e=e.sibling;e!==null;)el(e,t,n),e=e.sibling}function tl(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(tl(e,t,n),e=e.sibling;e!==null;)tl(e,t,n),e=e.sibling}function nl(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[mt]=e,t[ht]=n}catch(t){X(e,e.return,t)}}var rl=!1,il=!1,al=!1,ol=typeof WeakSet==`function`?WeakSet:Set,H=null;function sl(e,t){if(e=e.containerInfo,Rd=sp,e=Nr(e),Pr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,H=t;H!==null;)if(t=H,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,H=e;else for(;H!==null;){switch(t=H,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)a=e[n],a.ref.impl=a.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,n=t,a=o.memoizedProps,o=o.memoizedState,r=n.stateNode;try{var h=Xs(n.type,a);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){X(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)ef(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:ef(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(i(163))}if(e=t.sibling,e!==null){e.return=t.return,H=e;break}H=t.return}}function cl(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:Sl(e,n),r&4&&Wc(5,n);break;case 1:if(Sl(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){X(n,n.return,e)}else{var i=Xs(n.type,t.memoizedProps);t=t.memoizedState;
vendor: 4,280 bytes, line 9
9try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){X(n,n.return,e)}}r&64&&Kc(n),r&512&&Jc(n,n.return);break;case 3:if(Sl(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{to(e,t)}catch(e){X(n,n.return,e)}}break;case 27:t===null&&r&4&&nl(n);case 26:case 5:Sl(e,n),t===null&&r&4&&Xc(n),r&512&&Jc(n,n.return);break;case 12:Sl(e,n);break;case 31:Sl(e,n),r&4&&pl(e,n);break;case 13:Sl(e,n),r&4&&ml(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Yu.bind(null,n),sf(e,n))));break;case 22:if(r=n.memoizedState!==null||rl,!r){t=t!==null&&t.memoizedState!==null||il,i=rl;var a=il;rl=r,(il=t)&&!a?wl(e,n,!!(n.subtreeFlags&8772)):Sl(e,n),rl=i,il=a}break;case 30:break;default:Sl(e,n)}}function ll(e){var t=e.alternate;t!==null&&(e.alternate=null,ll(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&St(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var U=null,ul=!1;function dl(e,t,n){for(n=n.child;n!==null;)fl(e,t,n),n=n.sibling}function fl(e,t,n){if(Ue&&typeof Ue.onCommitFiberUnmount==`function`)try{Ue.onCommitFiberUnmount(He,n)}catch{}switch(n.tag){case 26:il||Yc(n,t),dl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:il||Yc(n,t);var r=U,i=ul;Zd(n.type)&&(U=n.stateNode,ul=!1),dl(e,t,n),pf(n.stateNode),U=r,ul=i;break;case 5:il||Yc(n,t);case 6:if(r=U,i=ul,U=null,dl(e,t,n),U=r,ul=i,U!==null)if(ul)try{(U.nodeType===9?U.body:U.nodeName===`HTML`?U.ownerDocument.body:U).removeChild(n.stateNode)}catch(e){X(n,t,e)}else try{U.removeChild(n.stateNode)}catch(e){X(n,t,e)}break;case 18:U!==null&&(ul?(e=U,Qd(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Np(e)):Qd(U,n.stateNode));break;case 4:r=U,i=ul,U=n.stateNode.containerInfo,ul=!0,dl(e,t,n),U=r,ul=i;break;case 0:case 11:case 14:case 15:Gc(2,n,t),il||Gc(4,n,t),dl(e,t,n);break;case 1:il||(Yc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&qc(n,t,r)),dl(e,t,n);break;case 21:dl(e,t,n);break;case 22:il=(r=il)||n.memoizedState!==null,dl(e,t,n),il=r;break;default:dl(e,t,n)}}function pl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Np(e)}catch(e){X(t,t.return,e)}}}function ml(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Np(e)}catch(e){X(t,t.return,e)}}function hl(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new ol),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new ol),t;default:throw Error(i(435,e.tag))}}function gl(e,t){var n=hl(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=Xu.bind(null,e,t);t.then(r,r)}})}function _l(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var a=n[r],o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(Zd(c.type)){U=c.stateNode,ul=!1;break a}break;case 5:U=c.stateNode,ul=!1;break a;case 3:case 4:U=c.stateNode.containerInfo,ul=!0;break a}c=c.return}if(U===null)throw Error(i(160));fl(o,s,a),U=null,ul=!1,o=a.alternate,o!==null&&(o.return=null),a.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)yl(t,e),t=t.sibling}var vl=null;function yl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:_l(t,e),bl(e),r&4&&(Gc(3,e,e.return),Wc(3,e),Gc(5,e,e.return));break;case 1:_l(t,e),bl(e),r&512&&(il||n===null||Yc(n,n.return)),r&64&&rl&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var a=vl;if(_l(t,e),bl(e),r&512&&(il||n===null||Yc(n,n.return)),r&4){var o=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,a=a.ownerDocument||a;b:switch(r){case`title`:o=a.getElementsByTagName(`title`)[0],(!o||o[xt]||o[mt]||o.namespaceURI===`http://www.w3.org/2000/svg`||o.hasAttribute(`itemprop`))&&(o=a.createElement(r),a.head.insertBefore(o,a.querySelector(`head >
9 title`))),Pd(o,r,n),o[mt]=e,Dt(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&o.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&o.getAttribute(`title`)===(n.title==null?null:n.title)&&o.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}o=a.createElement(r),Pd(o,r,n),a.head.appendChild(o);break;case`meta`:if(s=Vf(`meta`,`content`,a).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`content`)===(n.content==null?null:``+n.content)&&o.getAttribute(`name`)===(n.name==null?null:n.name)&&o.getAttribute(`property`)===(n.property==null?null:n.property)&&o.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&o.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}o=a.createElement(r),Pd(o,r,n),a.head.appendChild(o);break;default:throw Error(i(468,r))}o[mt]=e,Dt(o),r=o}e.stateNode=r}else Hf(a,e.type,e.stateNode);else e.stateNode=If(a,r,e.memoizedProps);
vendor: 65,791 bytes, lines 9-10
9else o===r?r===null&&e.stateNode!==null&&Zc(e,e.memoizedProps,n.memoizedProps):(o===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):o.count--,r===null?Hf(a,e.type,e.stateNode):If(a,r,e.memoizedProps))}break;case 27:_l(t,e),bl(e),r&512&&(il||n===null||Yc(n,n.return)),n!==null&&r&4&&Zc(e,e.memoizedProps,n.memoizedProps);break;case 5:if(_l(t,e),bl(e),r&512&&(il||n===null||Yc(n,n.return)),e.flags&32){a=e.stateNode;try{$t(a,``)}catch(t){X(e,e.return,t)}}r&4&&e.stateNode!=null&&(a=e.memoizedProps,Zc(e,a,n===null?a:n.memoizedProps)),r&1024&&(al=!0);break;case 6:if(_l(t,e),bl(e),r&4){if(e.stateNode===null)throw Error(i(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){X(e,e.return,t)}}break;case 3:if(Bf=null,a=vl,vl=gf(t.containerInfo),_l(t,e),vl=a,bl(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Np(t.containerInfo)}catch(t){X(e,e.return,t)}al&&(al=!1,xl(e));break;case 4:r=vl,vl=gf(e.stateNode.containerInfo),_l(t,e),bl(e),vl=r;break;case 12:_l(t,e),bl(e);break;case 31:_l(t,e),bl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,gl(e,r)));break;case 13:_l(t,e),bl(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(eu=Me()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,gl(e,r)));break;case 22:a=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=rl,d=il;if(rl=u||a,il=d||l,_l(t,e),il=d,rl=u,bl(e),r&8192)a:for(t=e.stateNode,t._visibility=a?t._visibility&-2:t._visibility|1,a&&(n===null||l||rl||il||Cl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(o=l.stateNode,a)s=o.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){X(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=a?``:l.memoizedProps}catch(e){X(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;a?$d(m,!0):$d(l.stateNode,!1)}catch(e){X(l,l.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,gl(e,n))));break;case 19:_l(t,e),bl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,gl(e,r)));break;case 30:break;case 21:break;default:_l(t,e),bl(e)}}function bl(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(Qc(r)){n=r;break}r=r.return}if(n==null)throw Error(i(160));switch(n.tag){case 27:var a=n.stateNode;tl(e,$c(e),a);break;case 5:var o=n.stateNode;n.flags&32&&($t(o,``),n.flags&=-33),tl(e,$c(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;el(e,$c(e),s);break;default:throw Error(i(161))}}catch(t){X(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function xl(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;xl(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Sl(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)cl(e,t.alternate,t),t=t.sibling}function Cl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Gc(4,t,t.return),Cl(t);break;case 1:Yc(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&qc(t,t.return,n),Cl(t);break;case 27:pf(t.stateNode);case 26:case 5:Yc(t,t.return),Cl(t);break;case 22:t.memoizedState===null&&Cl(t);break;case 30:Cl(t);break;default:Cl(t)}e=e.sibling}}function wl(e,t,n){for(n&&=!!(t.subtreeFlags&8772),t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:wl(i,a,n),Wc(4,a);break;case 1:if(wl(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){X(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)eo(c[i],s)}catch(e){X(r,r.return,e)}}n&&o&64&&Kc(a),Jc(a,a.return);break;case 27:nl(a);case 26:case 5:wl(i,a,n),n&&r===null&&o&4&&Xc(a),Jc(a,a.return);break;case 12:wl(i,a,n);break;case 31:wl(i,a,n),n&&o&4&&pl(i,a);break;case 13:wl(i,a,n),n&&o&4&&ml(i,a);break;case 22:a.memoizedState===null&&wl(i,a,n),Jc(a,a.return);break;case 30:break;default:wl(i,a,n)}t=t.sibling}}function Tl(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&pa(n))}function El(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&pa(e))}function Dl(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Ol(e,t,n,r),t=t.sibling}function Ol(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:Dl(e,t,n,r),i&2048&&Wc(9,t);break;case 1:Dl(e,t,n,r);break;case 3:Dl(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&pa(e)));break;case 12:if(i&2048){Dl(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){X(t,t.return,e)}}else Dl(e,t,n,r);break;case 31:Dl(e,t,n,r);break;case 13:Dl(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?Dl(e,t,n,r):(a._visibility|=2,kl(e,t,n,r,!!(t.subtreeFlags&10256)||!1)):a._visibility&2?Dl(e,t,n,r):Al(e,t),i&2048&&Tl(o,t);break;case 24:Dl(e,t,n,r),i&2048&&El(t.alternate,t);break;default:Dl(e,t,n,r)}}function kl(e,t,n,r,i){for(i&&=!!(t.subtreeFlags&10256)||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:kl(a,o,s,c,i),Wc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,kl(a,o,s,c,i)):u._visibility&2?kl(a,o,s,c,i):Al(a,o),i&&l&2048&&Tl(o.alternate,o);break;case 24:kl(a,o,s,c,i),i&&l&2048&&El(o.alternate,o);break;default:kl(a,o,s,c,i)}t=t.sibling}}function Al(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Al(n,r),i&2048&&Tl(r.alternate,r);break;case 24:Al(n,r),i&2048&&El(r.alternate,r);break;default:Al(n,r)}t=t.sibling}}var jl=8192;function Ml(e,t,n){if(e.subtreeFlags&jl)for(e=e.child;e!==null;)Nl(e,t,n),e=e.sibling}function Nl(e,t,n){switch(e.tag){case 26:Ml(e,t,n),e.flags&jl&&e.memoizedState!==null&&Gf(n,vl,e.memoizedState,e.memoizedProps);break;case 5:Ml(e,t,n);break;case 3:case 4:var r=vl;vl=gf(e.stateNode.containerInfo),Ml(e,t,n),vl=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=jl,jl=16777216,Ml(e,t,n),jl=r):Ml(e,t,n));break;default:Ml(e,t,n)}}function Pl(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Fl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];H=r,Rl(r,e)}Pl(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Il(e),e=e.sibling}function Il(e){switch(e.tag){case 0:case 11:case 15:Fl(e),e.flags&2048&&Gc(9,e,e.return);break;case 3:Fl(e);break;case 12:Fl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Ll(e)):Fl(e);break;default:Fl(e)}}function Ll(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];H=r,Rl(r,e)}Pl(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Gc(8,t,t.return),Ll(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Ll(t));break;default:Ll(t)}e=e.sibling}}function Rl(e,t){for(;H!==null;){var n=H;switch(n.tag){case 0:case 11:case 15:Gc(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:pa(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,H=r;else a:for(n=e;H!==null;){r=H;var i=r.sibling,a=r.return;if(ll(r),r===n){H=null;break a}if(i!==null){i.return=a,H=i;break a}H=a}}}var zl={getCacheForType:function(e){var t=aa(da),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return aa(da).controller.signal}},Bl=typeof WeakMap==`function`?WeakMap:Map,W=0,G=null,K=null,q=0,J=0,Vl=null,Hl=!1,Y=!1,Ul=!1,Wl=0,Gl=0,Kl=0,ql=0,Jl=0,Yl=0,Xl=0,Zl=null,Ql=null,$l=!1,eu=0,tu=0,nu=1/0,ru=null,iu=null,au=0,ou=null,su=null,cu=0,lu=0,uu=null,du=null,fu=0,pu=null;function mu(){return W&2&&q!==0?q&-q:w.T===null?dt():fd()}function hu(){if(Yl===0)if(!(q&536870912)||P){var e=Xe;Xe<<=1,!(Xe&3932160)&&(Xe=262144),Yl=e}else Yl=536870912;return e=so.current,e!==null&&(e.flags|=32),Yl}function gu(e,t,n){(e===G&&(J===2||J===9)||e.cancelPendingCommit!==null)&&(Cu(e,0),bu(e,q,Yl,!1)),it(e,n),(!(W&2)||e!==G)&&(e===G&&(!(W&2)&&(ql|=n),Gl===4&&bu(e,q,Yl,!1)),id(e))}function _u(e,t,n){if(W&6)throw Error(i(327));var r=!n&&!(t&127)&&(t&e.expiredLanes)===0||et(e,t),a=r?ju(e,t):ku(e,t,!0),o=r;do{if(a===0){Y&&!r&&bu(e,t,0,!1);break}if(n=e.current.alternate,o&&!yu(n)){a=ku(e,t,!1),o=!1;continue}if(a===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;a=Zl;var l=c.current.memoizedState.isDehydrated;if(l&&(Cu(c,s).flags|=256),s=ku(c,s,!1),s!==2){if(Ul&&!l){c.errorRecoveryDisabledLanes|=o,ql|=o,a=4;break a}o=Ql,Ql=a,o!==null&&(Ql===null?Ql=o:Ql.push.apply(Ql,o))}a=s}if(o=!1,a!==2)continue}}if(a===1){Cu(e,0),bu(e,t,0,!0);break}a:{switch(r=e,o=a,o){case 0:case 1:throw Error(i(345));case 4:if((t&4194048)!==t)break;case 6:bu(r,t,Yl,!Hl);break a;case 2:Ql=null;break;case 3:case 5:break;default:throw Error(i(329))}if((t&62914560)===t&&(a=eu+300-Me(),10<a)){if(bu(r,t,Yl,!Hl),$e(r,0,!0)!==0)break a;cu=t,r.timeoutHandle=Kd(vu.bind(null,r,n,Ql,ru,$l,t,Yl,ql,Xl,Hl,o,`Throttled`,-0,0),a);break a}vu(r,n,Ql,ru,$l,t,Yl,ql,Xl,Hl,o,null,-0,0)}break}while(1);id(e)}function vu(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:cn},Nl(t,a,d);var m=(a&62914560)===a?eu-Me():(a&4194048)===a?tu-Me():0;if(m=qf(d,m),m!==null){cu=a,e.cancelPendingCommit=m(Ru.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),bu(e,a,o,!l);return}}Ru(e,t,a,n,r,i,o,s,c)}function yu(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!Or(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function bu(e,t,n,r){t&=~Jl,t&=~ql,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-Ge(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&ot(e,n,t)}function xu(){return W&6?!0:(ad(0,!1),!1)}function Su(){if(K!==null){if(J===0)var e=K.return;else e=K,Qi=Zi=null,No(e),Ia=null,La=0,e=K;for(;e!==null;)V(e.alternate,e),e=e.return;K=null}}function Cu(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,qd(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),cu=0,Su(),G=e,K=n=gi(e.current,null),q=t,J=0,Vl=null,Hl=!1,Y=et(e,t),Ul=!1,Xl=Yl=Jl=ql=Kl=Gl=0,Ql=Zl=null,$l=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-Ge(r),a=1<<i;t|=e[i],r&=~a}return Wl=t,oi(),n}function wu(e,t){I=null,w.H=Hs,t===Ea||t===Oa?(t=Pa(),J=3):t===Da?(t=Pa(),J=4):J=t===oc?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,Vl=t,K===null&&(Gl=1,ec(e,wi(t,e.current)))}function Tu(){var e=so.current;return e===null?!0:(q&4194048)===q?co===null:(q&62914560)===q||q&536870912?e===co:!1}function Eu(){var e=w.H;return w.H=Hs,e===null?Hs:e}function Du(){var e=w.A;return w.A=zl,e}function Ou(){Gl=4,Hl||(q&4194048)!==q&&so.current!==null||(Y=!0),!(Kl&134217727)&&!(ql&134217727)||G===null||bu(G,q,Yl,!1)}function ku(e,t,n){var r=W;W|=2;var i=Eu(),a=Du();(G!==e||q!==t)&&(ru=null,Cu(e,t)),t=!1;var o=Gl;a:do try{if(J!==0&&K!==null){var s=K,c=Vl;switch(J){case 8:Su(),o=6;break a;case 3:case 2:case 9:case 6:so.current===null&&(t=!0);var l=J;if(J=0,Vl=null,Fu(e,s,c,l),n&&Y){o=0;break a}break;default:l=J,J=0,Vl=null,Fu(e,s,c,l)}}Au(),o=Gl;break}catch(t){wu(e,t)}while(1);return t&&e.shellSuspendCounter++,Qi=Zi=null,W=r,w.H=i,w.A=a,K===null&&(G=null,q=0,oi()),o}function Au(){for(;K!==null;)Nu(K)}function ju(e,t){var n=W;W|=2;var r=Eu(),a=Du();G!==e||q!==t?(ru=null,nu=Me()+500,Cu(e,t)):Y=et(e,t);a:do try{if(J!==0&&K!==null){t=K;var o=Vl;b:switch(J){case 1:J=0,Vl=null,Fu(e,t,o,1);break;case 2:case 9:if(Aa(o)){J=0,Vl=null,Pu(t);break}t=function(){J!==2&&J!==9||G!==e||(J=7),id(e)},o.then(t,t);break a;case 3:J=7;break a;case 4:J=5;break a;case 7:Aa(o)?(J=0,Vl=null,Pu(t)):(J=0,Vl=null,Fu(e,t,o,7));break;case 5:var s=null;switch(K.tag){case 26:s=K.memoizedState;case 5:case 27:var c=K;if(s?Wf(s):c.stateNode.complete){J=0,Vl=null;var l=c.sibling;if(l!==null)K=l;else{var u=c.return;u===null?K=null:(K=u,Iu(u))}break b}}J=0,Vl=null,Fu(e,t,o,5);break;case 6:J=0,Vl=null,Fu(e,t,o,6);break;case 8:Su(),Gl=6;break a;default:throw Error(i(462))}}Mu();break}catch(t){wu(e,t)}while(1);return Qi=Zi=null,w.H=r,w.A=a,W=n,K===null?(G=null,q=0,oi(),Gl):0}function Mu(){for(;K!==null&&!je();)Nu(K)}function Nu(e){var t=Ic(e.alternate,e,Wl);e.memoizedProps=e.pendingProps,t===null?Iu(e):K=t}function Pu(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=bc(n,t,t.pendingProps,t.type,void 0,q);break;case 11:t=bc(n,t,t.pendingProps,t.type.render,t.ref,q);break;case 5:No(t);default:V(n,t),t=K=_i(t,Wl),t=Ic(n,t,Wl)}e.memoizedProps=e.pendingProps,t===null?Iu(e):K=t}function Fu(e,t,n,r){Qi=Zi=null,No(t),Ia=null,La=0;var i=t.return;try{if(ac(e,i,t,n,q)){Gl=1,ec(e,wi(n,e.current)),K=null;return}}catch(t){if(i!==null)throw K=i,t;Gl=1,ec(e,wi(n,e.current)),K=null;return}t.flags&32768?(P||r===1?e=!0:Y||q&536870912?e=!1:(Hl=e=!0,(r===2||r===9||r===3||r===6)&&(r=so.current,r!==null&&r.tag===13&&(r.flags|=16384))),Lu(t,e)):Iu(t)}function Iu(e){var t=e;do{if(t.flags&32768){Lu(t,Hl);return}e=t.return;var n=Hc(t.alternate,t,Wl);if(n!==null){K=n;return}if(t=t.sibling,t!==null){K=t;return}K=t=e}while(t!==null);Gl===0&&(Gl=5)}function Lu(e,t){do{var n=Uc(e.alternate,e);if(n!==null){n.flags&=32767,K=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){K=e;return}K=e=n}while(e!==null);Gl=6,K=null}function Ru(e,t,n,r,a,o,s,c,l){e.cancelPendingCommit=null;do Uu();while(au!==0);if(W&6)throw Error(i(327));if(t!==null){if(t===e.current)throw Error(i(177));if(o=t.lanes|t.childLanes,o|=ai,at(e,n,o,s,c,l),e===G&&(K=G=null,q=0),su=t,ou=e,cu=n,lu=o,uu=a,du=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,Zu(Ie,function(){return Wu(),null})):(e.callbackNode=null,e.callbackPriority=0),r=!!(t.flags&13878),t.subtreeFlags&13878||r){r=w.T,w.T=null,a=T.p,T.p=2,s=W,W|=4;try{sl(e,t,n)}finally{W=s,T.p=a,w.T=r}}au=1,zu(),Bu(),Vu()}}function zu(){if(au===1){au=0;var e=ou,t=su,n=!!(t.flags&13878);if(t.subtreeFlags&13878||n){n=w.T,w.T=null;var r=T.p;T.p=2;var i=W;W|=4;try{yl(t,e);var a=zd,o=Nr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&Mr(s.ownerDocument.documentElement,s)){if(c!==null&&Pr(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=jr(s,h),v=jr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}sp=!!Rd,zd=Rd=null}finally{W=i,T.p=r,w.T=n}}e.current=t,au=2}}function Bu(){if(au===2){au=0;var e=ou,t=su,n=!!(t.flags&8772);if(t.subtreeFlags&8772||n){n=w.T,w.T=null;var r=T.p;T.p=2;var i=W;W|=4;try{cl(e,t.alternate,t)}finally{W=i,T.p=r,w.T=n}}au=3}}function Vu(){if(au===4||au===3){au=0,A();var e=ou,t=su,n=cu,r=du;t.subtreeFlags&10256||t.flags&10256?au=5:(au=0,su=ou=null,Hu(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(iu=null),ut(n),t=t.stateNode,Ue&&typeof Ue.onCommitFiberRoot==`function`)try{Ue.onCommitFiberRoot(He,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=w.T,i=T.p,T.p=2,w.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{w.T=t,T.p=i}}cu&3&&Uu(),id(e),i=e.pendingLanes,n&261930&&i&42?e===pu?fu++:(fu=0,pu=e):fu=0,ad(0,!1)}}function Hu(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,pa(t)))}function Uu(){return zu(),Bu(),Vu(),Wu()}function Wu(){if(au!==5)return!1;var e=ou,t=lu;lu=0;var n=ut(cu),r=w.T,a=T.p;try{T.p=32>n?32:n,w.T=null,n=uu,uu=null;var o=ou,s=cu;if(au=0,su=ou=null,cu=0,W&6)throw Error(i(331));var c=W;if(W|=4,Il(o.current),Ol(o,o.current,s,n),W=c,ad(0,!1),Ue&&typeof Ue.onPostCommitFiberRoot==`function`)try{Ue.onPostCommitFiberRoot(He,o)}catch{}return!0}finally{T.p=a,w.T=r,Hu(e,t)}}function Gu(e,t,n){t=wi(n,t),t=nc(e.stateNode,t,2),e=Ja(e,t,2),e!==null&&(it(e,2),id(e))}function X(e,t,n){if(e.tag===3)Gu(e,e,n);else for(;t!==null;){if(t.tag===3){Gu(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(iu===null||!iu.has(r))){e=wi(n,e),n=rc(2),r=Ja(t,n,2),r!==null&&(ic(n,r,t,e),it(r,2),id(r));break}}t=t.return}}function Ku(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Bl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Ul=!0,i.add(n),e=qu.bind(null,e,t,n),t.then(e,e))}function qu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,G===e&&(q&n)===n&&(Gl===4||Gl===3&&(q&62914560)===q&&300>Me()-eu?!(W&2)&&Cu(e,0):Jl|=n,Xl===q&&(Xl=0)),id(e)}function Ju(e,t){t===0&&(t=nt()),e=li(e,t),e!==null&&(it(e,t),id(e))}function Yu(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Ju(e,n)}function Xu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),Ju(e,n)}function Zu(e,t){return ke(e,t)}var Qu=null,$u=null,ed=!1,td=!1,nd=!1,rd=0;function id(e){e!==$u&&e.next===null&&($u===null?Qu=$u=e:$u=$u.next=e),td=!0,ed||(ed=!0,dd())}function ad(e,t){if(!nd&&td){nd=!0;do for(var n=!1,r=Qu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Ge(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,ud(r,a))}else a=q,a=$e(r,r===G?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||et(r,a)||(n=!0,ud(r,a));r=r.next}while(n);nd=!1}}function od(){sd()}function sd(){td=ed=!1;var e=0;rd!==0&&Gd()&&(e=rd);for(var t=Me(),n=null,r=Qu;r!==null;){var i=r.next,a=cd(r,t);a===0?(r.next=null,n===null?Qu=i:n.next=i,i===null&&($u=n)):(n=r,(e!==0||a&3)&&(td=!0)),r=i}au!==0&&au!==5||ad(e,!1),rd!==0&&(rd=0)}function cd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-Ge(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=tt(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=G,n=q,n=$e(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(J===2||J===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Ae(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||et(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Ae(r),ut(n)){case 2:case 8:n=Fe;break;case 32:n=Ie;break;case 268435456:n=Re;break;default:n=Ie}return r=ld.bind(null,e),n=ke(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Ae(r),e.callbackPriority=2,e.callbackNode=null,2}function ld(e,t){if(au!==0&&au!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(Uu()&&e.callbackNode!==n)return null;var r=q;return r=$e(e,e===G?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(_u(e,r,t),cd(e,Me()),e.callbackNode!=null&&e.callbackNode===n?ld.bind(null,e):null)}function ud(e,t){if(Uu())return null;_u(e,t,!0)}function dd(){Yd(function(){W&6?ke(Pe,od):sd()})}function fd(){if(rd===0){var e=ga;e===0&&(e=Ye,Ye<<=1,!(Ye&261888)&&(Ye=256)),rd=e}return rd}function pd(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:sn(``+e)}function md(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function hd(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=pd((i[ht]||null).action),o=r.submitter;o&&(t=(t=o[ht]||null)?pd(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new kn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(rd!==0){var e=o?md(i,o):new FormData(i);Os(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?md(i,o):new FormData(i),Os(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var gd=0;gd<ei.length;gd++){var _d=ei[gd];ti(_d.toLowerCase(),`on`+(_d[0].toUpperCase()+_d.slice(1)))}ti(Kr,`onAnimationEnd`),ti(qr,`onAnimationIteration`),ti(Jr,`onAnimationStart`),ti(`dblclick`,`onDoubleClick`),ti(`focusin`,`onFocus`),ti(`focusout`,`onBlur`),ti(Yr,`onTransitionRun`),ti(Xr,`onTransitionStart`),ti(Zr,`onTransitionCancel`),ti(Qr,`onTransitionEnd`),jt(`onMouseEnter`,[`mouseout`,`mouseover`]),jt(`onMouseLeave`,[`mouseout`,`mouseover`]),jt(`onPointerEnter`,[`pointerout`,`pointerover`]),jt(`onPointerLeave`,[`pointerout`,`pointerover`]),At(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),At(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),At(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),At(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),At(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),At(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var vd=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),yd=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(vd));function bd(e,t){t=!!(t&4);for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){ni(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){ni(e)}i.currentTarget=null,a=c}}}}function Z(e,t){var n=t[_t];n===void 0&&(n=t[_t]=new Set);var r=e+`__bubble`;n.has(r)||(wd(t,e,2,!1),n.add(r))}function xd(e,t,n){var r=0;t&&(r|=4),wd(n,e,r,t)}var Sd=`_reactListening`+Math.random().toString(36).slice(2);function Cd(e){if(!e[Sd]){e[Sd]=!0,Ot.forEach(function(t){t!==`selectionchange`&&(yd.has(t)||xd(t,!1,e),xd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Sd]||(t[Sd]=!0,xd(`selectionchange`,!1,t))}}function wd(e,t,n,r){switch(mp(t)){case 2:var i=cp;break;case 8:i=lp;break;default:i=up}n=i.bind(null,t,n,e),i=void 0,!vn||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function Td(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var s=r.tag;if(s===3||s===4){var c=r.stateNode.containerInfo;if(c===i)break;if(s===4)for(s=r.return;s!==null;){var l=s.tag;if((l===3||l===4)&&s.stateNode.containerInfo===i)return;s=s.return}for(;c!==null;){if(s=Ct(c),s===null)return;if(l=s.tag,l===5||l===6||l===26||l===27){r=a=s;continue a}c=c.parentNode}}r=r.return}hn(function(){var r=a,i=un(n),s=[];a:{var c=$r.get(e);if(c!==void 0){var l=kn,u=e;switch(e){case`keypress`:if(wn(n)===0)break a;case`keydown`:case`keyup`:l=qn;break;case`focusin`:u=`focus`,l=Rn;break;case`focusout`:u=`blur`,l=Rn;break;case`beforeblur`:case`afterblur`:l=Rn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=In;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=Ln;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=Yn;break;case Kr:case qr:case Jr:l=zn;break;case Qr:l=Xn;break;case`scroll`:case`scrollend`:l=jn;break;case`wheel`:l=Zn;break;case`copy`:case`cut`:case`paste`:l=Bn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Jn;break;case`toggle`:case`beforetoggle`:l=Qn}var d=!!(t&4),f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=gn(m,p),g!=null&&d.push(Ed(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),s.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(c=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,c&&n!==ln&&(u=n.relatedTarget||n.fromElement)&&(Ct(u)||u[gt]))break a;if((l||c)&&(c=i.window===i?i:(c=i.ownerDocument)?c.defaultView||c.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?Ct(u):null,u!==null&&(f=o(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=In,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Jn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?c:Tt(l),h=u==null?c:Tt(u),c=new d(g,m+`leave`,l,n,i),c.target=f,c.relatedTarget=h,g=null,Ct(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=Q,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&Od(s,c,l,d,!1),u!==null&&f!==null&&Od(s,f,u,d,!0)}}a:{if(c=r?Tt(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var v=gr;else if(fr(c))if(_r)v=Er;else{v=wr;var y=Cr}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&rn(r.elementType)&&(v=gr):v=Tr;if(v&&=v(e,r)){pr(s,v,n,i);break a}y&&y(e,c,r),e===`focusout`&&r&&c.type===`number`&&r.memoizedProps.value!=null&&Yt(c,`number`,c.value)}switch(y=r?Tt(r):window,e){case`focusin`:(fr(y)||y.contentEditable===`true`)&&(Ir=y,Lr=r,Rr=null);break;case`focusout`:Rr=Lr=Ir=null;break;case`mousedown`:zr=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:zr=!1,Br(s,n,i);break;case`selectionchange`:if(Fr)break;case`keydown`:case`keyup`:Br(s,n,i)}var b;if(er)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else cr?or(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(rr&&n.locale!==`ko`&&(cr||x!==`onCompositionStart`?x===`onCompositionEnd`&&cr&&(b=Cn()):(bn=i,xn=`value`in bn?bn.value:bn.textContent,cr=!0)),y=Dd(r,x),0<y.length&&(x=new Vn(x,e,null,n,i),s.push({event:x,listeners:y}),b?x.data=b:(b=sr(n),b!==null&&(x.data=b)))),(b=nr?lr(e,n):ur(e,n))&&(x=Dd(r,`onBeforeInput`),0<x.length&&(y=new Vn(`onBeforeInput`,`beforeinput`,null,n,i),s.push({event:y,listeners:x}),y.data=b)),hd(s,e,r,n,i)}bd(s,t)})}function Ed(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Dd(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=gn(e,n),i!=null&&r.unshift(Ed(e,i,a)),i=gn(e,t),i!=null&&r.push(Ed(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Q(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Od(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=gn(n,a),l!=null&&o.unshift(Ed(n,l,c))):i||(l=gn(n,a),l!=null&&o.push(Ed(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var kd=/\r\n?/g,Ad=/\u0000|\uFFFD/g;function jd(e){return(typeof e==`string`?e:``+e).replace(kd,` 10`).replace(Ad,``)}function Md(e,t){return t=jd(t),jd(e)===t}function $(e,t,n,r,a,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||$t(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&$t(e,``+r);break;case`className`:Lt(e,`class`,r);break;case`tabIndex`:Lt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Lt(e,n,r);break;case`style`:nn(e,r,o);break;case`data`:if(t!==`object`){Lt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=sn(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}if(typeof o==`function`&&(n===`formAction`?(t!==`input`&&$(e,t,`name`,a.name,a,null),$(e,t,`formEncType`,a.formEncType,a,null),$(e,t,`formMethod`,a.formMethod,a,null),$(e,t,`formTarget`,a.formTarget,a,null)):($(e,t,`encType`,a.encType,a,null),$(e,t,`method`,a.method,a,null),$(e,t,`target`,a.target,a,null))),r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=sn(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=cn);break;case`onScroll`:r!=null&&Z(`scroll`,e);break;case`onScrollEnd`:r!=null&&Z(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=sn(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:Z(`beforetoggle`,e),Z(`toggle`,e),It(e,`popover`,r);break;case`xlinkActuate`:Rt(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Rt(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Rt(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Rt(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Rt(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Rt(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Rt(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Rt(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Rt(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:It(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=an.get(n)||n,It(e,n,r))}}function Nd(e,t,n,r,a,o){switch(n){case`style`:nn(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?$t(e,r):(typeof r==`number`||typeof r==`bigint`)&&$t(e,``+r);break;case`onScroll`:r!=null&&Z(`scroll`,e);break;case`onScrollEnd`:r!=null&&Z(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=cn);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!kt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),t=n.slice(2,a?n.length-7:void 0),o=e[ht]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,a),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,a);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):It(e,n,r)}}}function Pd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:Z(`error`,e),Z(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:$(e,t,o,s,n,null)}}a&&$(e,t,`srcSet`,n.srcSet,n,null),r&&$(e,t,`src`,n.src,n,null);return;case`input`:Z(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:$(e,t,r,d,n,null)}}Jt(e,o,c,l,u,s,a,!1);return;case`select`:for(a in Z(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:$(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Xt(e,!!r,n,!0):Xt(e,!!r,t,!1);return;case`textarea`:for(s in Z(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:$(e,t,s,c,n,null)}Qt(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:$(e,t,l,r,n,null)}return;case`dialog`:Z(`beforetoggle`,e),Z(`toggle`,e),Z(`cancel`,e),Z(`close`,e);break;case`iframe`:case`object`:Z(`load`,e);break;case`video`:case`audio`:for(r=0;r<vd.length;r++)Z(vd[r],e);break;case`image`:Z(`error`,e),Z(`load`,e);break;case`details`:Z(`toggle`,e);break;case`embed`:case`source`:case`link`:Z(`error`,e),Z(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:$(e,t,u,r,n,null)}return;default:if(rn(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Nd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&$(e,t,c,r,n,null))}function Fd(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||$(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:a=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&$(e,t,p,m,r,f)}}qt(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||$(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&$(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Xt(e,!!n,n?[]:``,!1):Xt(e,!!n,t,!0)):Xt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:$(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:p=a;break;case`defaultValue`:m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&$(e,t,s,a,r,o)}Zt(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:$(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:$(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&$(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:$(e,t,u,p,r,m)}return;default:if(rn(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Nd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Nd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&$(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||$(e,t,f,p,r,m)}function Id(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Ld(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Id(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var Rd=null,zd=null;function Bd(e){return e.nodeType===9?e:e.ownerDocument}function Vd(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function Hd(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function Ud(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Wd=null;function Gd(){var e=window.event;return e&&e.type===`popstate`?e!==Wd&&(Wd=e,!0):(Wd=null,!1)}var Kd=typeof setTimeout==`function`?setTimeout:void 0,qd=typeof clearTimeout==`function`?clearTimeout:void 0,Jd=typeof Promise==`function`?Promise:void 0,Yd=typeof queueMicrotask==`function`?queueMicrotask:Jd===void 0?Kd:function(e){return Jd.resolve(null).then(e).catch(Xd)};function Xd(e){setTimeout(function(){throw e})}function Zd(e){return e===`head`}function Qd(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Np(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)pf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,pf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[xt]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&pf(e.ownerDocument.body);n=i}while(n);Np(t)}function $d(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8)if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++;n=r}while(n)}function ef(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:ef(n),St(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function tf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[xt])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=cf(e.nextSibling),e===null)break}return null}function nf(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=cf(e.nextSibling),e===null))return null;return e}function rf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=cf(e.nextSibling),e===null))return null;return e}function af(e){return e.data===`$?`||e.data===`$~`}function of(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function sf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function cf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var lf=null;function uf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return cf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function df(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function ff(e,t,n){switch(t=Bd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function pf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);St(e)}var mf=new Map,hf=new Set;function gf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var _f=T.d;T.d={f:vf,r:yf,D:Sf,C:Cf,L:wf,m:Tf,X:Df,S:Ef,M:Of};function vf(){var e=_f.f(),t=xu();return e||t}function yf(e){var t=wt(e);t!==null&&t.tag===5&&t.type===`form`?As(t):_f.r(e)}var bf=typeof document>`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=Kt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),Dt(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Kt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Kt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Kt(n.imageSizes)+`"]`)):i+=`[href="`+Kt(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=m({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),Dt(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Kt(r)+`"][href="`+Kt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=m({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),Dt(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=Et(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=m({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);Dt(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=Et(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=m({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),Dt(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=Et(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=m({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),Dt(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var a=(a=ve.current)?gf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=Et(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=Et(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=Et(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Af(e){return`href="`+Kt(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return m({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),Dt(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Kt(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Kt(n.href)+`"]`);if(r)return t.instance=r,Dt(r),r;var a=m({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Dt(r),Pd(r,`style`,a),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Af(n.href);var o=e.querySelector(jf(a));if(o)return t.state.loading|=4,t.instance=o,Dt(o),o;r=Mf(n),(a=mf.get(a))&&Rf(r,a),o=(e.ownerDocument||e).createElement(`link`),Dt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(a=e.querySelector(Ff(o)))?(t.instance=a,Dt(a),a):(r=n,(a=mf.get(o))&&(r=m({},n),zf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),Dt(a),Pd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Rf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function zf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Bf=null;function Vf(e,t,n){if(Bf===null){var r=new Map,i=Bf=new Map;i.set(n,r)}else i=Bf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[xt]||a[mt]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Hf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Dt(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),Dt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&Kf===0&&(Kf=62500*Ld());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=Jf.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var Qf={$$typeof:S,Provider:null,Consumer:null,_currentValue:de,_currentValue2:de,_threadCount:0};function $f(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=rt(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=rt(0),this.hiddenUpdates=rt(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function ep(e,t,n,r,i,a,o,s,c,l,u,d){return e=new $f(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=mi(3,null,null,t),e.current=a,a.stateNode=e,t=fa(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Ga(a),e}function tp(e){return e?(e=fi,e):fi}function np(e,t,n,r,i,a){i=tp(i),r.context===null?r.context=i:r.pendingContext=i,r=qa(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Ja(e,r,t),n!==null&&(gu(n,e,t),Ya(n,e,t))}function rp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ip(e,t){rp(e,t),(e=e.alternate)&&rp(e,t)}function ap(e){if(e.tag===13||e.tag===31){var t=li(e,67108864);t!==null&&gu(t,e,67108864),ip(e,67108864)}}function op(e){if(e.tag===13||e.tag===31){var t=mu();t=lt(t);var n=li(e,t);n!==null&&gu(n,e,t),ip(e,t)}}var sp=!0;function cp(e,t,n,r){var i=w.T;w.T=null;var a=T.p;try{T.p=2,up(e,t,n,r)}finally{T.p=a,w.T=i}}function lp(e,t,n,r){var i=w.T;w.T=null;var a=T.p;try{T.p=8,up(e,t,n,r)}finally{T.p=a,w.T=i}}function up(e,t,n,r){if(sp){var i=dp(r);if(i===null)Td(e,t,r,fp,n),Cp(e,r);else if(Tp(i,e,t,n,r))r.stopPropagation();else if(Cp(e,r),t&4&&-1<Sp.indexOf(e)){for(;i!==null;){var a=wt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Qe(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Ge(o);s.entanglements[1]|=c,o&=~c}id(a),!(W&6)&&(nu=Me()+500,ad(0,!1))}}break;case 31:case 13:s=li(a,2),s!==null&&gu(s,a,2),xu(),ip(a,2)}if(a=dp(r),a===null&&Td(e,t,r,fp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Td(e,t,r,null,n)}}function dp(e){return e=un(e),pp(e)}var fp=null;function pp(e){if(fp=null,e=Ct(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=l(t),e!==null)return e;e=null}else if(n===31){if(e=u(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return fp=e,null}function mp(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(Ne()){case Pe:return 2;case Fe:return 8;case Ie:case Le:return 32;case Re:return 268435456;default:return 32}default:return 32}}var hp=!1,gp=null,_p=null,vp=null,yp=new Map,bp=new Map,xp=[],Sp=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `);function Cp(e,t){switch(e){case`focusin`:case`focusout`:gp=null;break;case`dragenter`:case`dragleave`:_p=null;break;case`mouseover`:case`mouseout`:vp=null;break;case`pointerover`:case`pointerout`:yp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:bp.delete(t.pointerId)}}function wp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=wt(t),t!==null&&ap(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Tp(e,t,n,r,i){switch(t){case`focusin`:return gp=wp(gp,e,t,n,r,i),!0;case`dragenter`:return _p=wp(_p,e,t,n,r,i),!0;case`mouseover`:return vp=wp(vp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return yp.set(a,wp(yp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,bp.set(a,wp(bp.get(a)||null,e,t,n,r,i)),!0}return!1}function Ep(e){var t=Ct(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=l(n),t!==null){e.blockedOn=t,ft(e.priority,function(){op(n)});return}}else if(t===31){if(t=u(n),t!==null){e.blockedOn=t,ft(e.priority,function(){op(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Dp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=dp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);ln=r,n.target.dispatchEvent(r),ln=null}else return t=wt(n),t!==null&&ap(t),e.blockedOn=n,!1;t.shift()}return!0}function Op(e,t,n){Dp(e)&&n.delete(t)}function kp(){hp=!1,gp!==null&&Dp(gp)&&(gp=null),_p!==null&&Dp(_p)&&(_p=null),vp!==null&&Dp(vp)&&(vp=null),yp.forEach(Op),bp.forEach(Op)}function Ap(e,n){e.blockedOn===n&&(e.blockedOn=null,hp||(hp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,kp)))}var jp=null;function Mp(e){jp!==e&&(jp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){jp===e&&(jp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(pp(r||n)===null)continue;break}var a=wt(n);a!==null&&(e.splice(t,3),t-=3,Os(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Np(e){function t(t){return Ap(t,e)}gp!==null&&Ap(gp,e),_p!==null&&Ap(_p,e),vp!==null&&Ap(vp,e),yp.forEach(t),bp.forEach(t);for(var n=0;n<xp.length;n++){var r=xp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<xp.length&&(n=xp[0],n.blockedOn===null);)Ep(n),n.blockedOn===null&&xp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[ht]||null;if(typeof a==`function`)o||Mp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[ht]||null)s=o.formAction;else if(pp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Mp(n)}}}function Pp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Fp(e){this._internalRoot=e}Ip.prototype.render=Fp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;np(n,mu(),e,t,null,null)},Ip.prototype.unmount=Fp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;np(e.current,2,null,e,null,null),xu(),t[gt]=null}};function Ip(e){this._internalRoot=e}Ip.prototype.unstable_scheduleHydration=function(e){if(e){var t=dt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<xp.length&&t!==0&&t<xp[n].priority;n++);xp.splice(n,0,e),n===0&&Ep(e)}};var Lp=n.version;if(Lp!==`19.2.8`)throw Error(i(527,Lp,`19.2.8`));T.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=f(t),e=e===null?null:p(e),e=e===null?null:e.stateNode,e};var Rp={bundleType:0,version:`19.2.8`,rendererPackageName:`react-dom`,currentDispatcherRef:w,reconcilerVersion:`19.2.8`};
10if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var zp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zp.isDisabled&&zp.supportsFiber)try{He=zp.inject(Rp),Ue=zp}catch{}}e.hydrateRoot=function(e,t,n){if(!a(e))throw Error(i(299));var r=!1,o=``,s=Zs,c=Qs,l=$s,u=null;return n!=null&&(!0===n.unstable_strictMode&&(r=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onUncaughtError!==void 0&&(s=n.onUncaughtError),n.onCaughtError!==void 0&&(c=n.onCaughtError),n.onRecoverableError!==void 0&&(l=n.onRecoverableError),n.formState!==void 0&&(u=n.formState)),t=ep(e,1,!0,t,n??null,r,o,u,s,c,l,Pp),t.context=tp(null),n=t.current,r=mu(),r=lt(r),o=qa(r),o.callback=null,Ja(n,o,r),n=r,t.current.lanes=n,it(t,n),id(t),e[gt]=t.current,Cd(e),new Ip(t)}})),Ve=e(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=Be()}));function He(e){return e.replaceAll(`\0`,`/`).replaceAll(`�`,`/`).replace(/~([~0r])/g,(e,t)=>t===`0`?`\0`:t===`r`?`�`:t)}function Ue(e){let t=new Map,n,r;return{get(e){let n=t.get(e);if(n)return n.visited=!0,n.value},set(i,a){let o=t.get(i);if(o){o.value=a;return}if(t.size>=e){let e=n?.next().value;for(;!e||e.visited;)e?e.visited=!1:n=t.values(),e=n.next().value;e===r&&(n=void 0),t.delete(e.key)}let s={key:i,value:a,visited:!1};r=s,t.set(i,s)},clear(){t.clear(),n=void 0,r=void 0}}}var We=4,Ge=5;function Ke(e){let t=e.names;if(t)return t;let n=[];for(let t of e)typeof t!=`string`&&n.push(t[1]);return e.names=n}function qe(e,t,n){let r=e.substring(t,n);if(r.charCodeAt(0)===36)return r.length===1?[2,`_splat`,``,void 0]:[1,r.substring(1),``,``];let i=r.indexOf(`{`);if(i>=0){let a=r.indexOf(`}`,i),o=r.charCodeAt(i+1)===45,s=i+(o?3:2);if(a>=0&&r.charCodeAt(s-1)===36&&(!o||s<a)){let c=r.substring(s,a);return[o?3:c?1:2,c||`_splat`,r.substring(0,i),e.substring(t+a+1,c?n:e.length)]}}return r}function Je(e,t,n,r,i,a){let o=n,s=t.fullPath??t.from,c=t.options,l=s.length,u=s.endsWith(`/`)?l-1:l,d=c?.caseSensitive??e,f=c?.params?.parse??c?.parseParams,p,m=a?n-1:0;if(!r||s.includes(`$`)){p=a?.slice()??[];let e=ee(p);e&&typeof e!=`string`&&e[0]===2&&(p[p.length-1]=[e[0],e[1],e[2],e[3]===void 0?void 0:e[3]+s.substring(n-(s[n-2]===`/`?2:1),u)],m=l)}for(;o<l;){let e=o,t=s.indexOf(`/`,e),n=t===-1?l:t,a=qe(s,e,n);o=n+1;let c;if(typeof a==`string`){if(!r)continue;let e=a,t;d?t=r.static??=new Map:(e=a.toLowerCase(),t=r.staticInsensitive??=new Map);let n=t.get(e);if(n)c=n;else{let n=Xe(r);c=n,t.set(e,n)}}else{let t=a[0],h=a[2],g=a[3]??``;if(t===2&&(n=l,o=n+1),p&&m<n&&(m<e-1&&p.push(s.substring(m,e-1)),a[2]=`/`+h,t===2&&a[3]!==void 0&&u<l&&(a[3]=g.slice(0,-1)),p.push(a),m=n),!r)continue;let _=d&&!!(h||g);d||(h=h.toLowerCase(),g=g.toLowerCase());let v=t===1?r.dynamic??=[]:t===3?r.optional??=[]:r.wildcard??=[],y=t!==2&&!f&&v.find(e=>!e.parse&&e.caseSensitive===_&&e.prefix===h&&e.suffix===g);if(y)c=y;else{let e=Xe(r,t,_,h,g);c=e,v.push(e),v.length===2&&i?.push(v)}}r=c}p&&m<u&&p.push(s.substring(m,u));let h=p?.slice();if(!r)return h;
10if(f&&t.children&&!t.isRoot&&t.id&&t.id.charCodeAt(t.id.lastIndexOf(`/`)+1)===95){let e=Xe(r,Ge);(r.pathless??=[]).push(e),r=e}let g=(t.path||!t.children)&&!t.isRoot;if(g&&u<l){let e=Xe(r,We);r.index=e,r=e}return r.parse=f??null,r.priority=c?.params?.priority??0,r.route||(r.data=h,g&&(r.route=t)),[r,o,h]}function Ye(e,t){if(e.parse&&!t.parse)return-1;if(!e.parse&&t.parse)return 1;if(e.parse&&t.parse&&(e.priority||t.priority))return t.priority-e.priority;if(e.prefix&&t.prefix&&e.prefix!==t.prefix){if(e.prefix.startsWith(t.prefix))return-1;if(t.prefix.startsWith(e.prefix))return 1}if(e.suffix&&t.suffix&&e.suffix!==t.suffix){if(e.suffix.endsWith(t.suffix))return-1;if(t.suffix.endsWith(e.suffix))return 1}return e.prefix&&!t.prefix?-1:!e.prefix&&t.prefix?1:e.suffix&&!t.suffix?-1:!e.suffix&&t.suffix?1:e.caseSensitive&&!t.caseSensitive?-1:!e.caseSensitive&&t.caseSensitive?1:0}function Xe(e,t=0,n,r,i){return{kind:t,depth:e?e.depth+1:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,data:void 0,parent:e,parse:null,priority:0,caseSensitive:n,prefix:r,suffix:i}}function Ze(e,t){let n=Xe(),r=[];function i(e,t,n,a){let[o,s,c]=Je(!1,e,t,n,r,a);if(e.children)for(let t of e.children)i(t,s,o,c)}for(let t of e)i(t,1,n);for(let e of r)e.sort(Ye);t.masksTree=n,t.flatCache=Ue(1e3)}function Qe(e,t){e||=`/`;let n=t.flatCache.get(e);if(n!==void 0)return n;let r=nt(e,t.masksTree);return t.flatCache.set(e,r),r}function $e(e,t,n,r,i){e||=`/`,r||=`/`;let a=t?`case\0${e}`:e,o=i.singleCache.get(a);return o||(o=Xe(),Je(t,{from:e},1,o),i.singleCache.set(a,o)),nt(r,o,n)}function et(e,t,n=!1){let r=n?e:`nofuzz\0${e}`,i=t.matchCache.get(r);if(i!==void 0)return i;e||=`/`;let a;try{a=nt(e,t.segmentTree,n)}catch(e){if(e instanceof URIError)a=null;else throw e}return a&&(a.branch=it(a.route)),t.matchCache.set(r,a),a}function tt(e,t=!1){let n=Xe(),r=[],i={},a={},o=0;function s(e,n,c,l){if(e.init(o),e.id in i&&v(),i[e.id]=e,o!==0&&e.path){let t=ae(e.fullPath);(!a[t]||e.fullPath.endsWith(`/`))&&(a[t]=e)}o++;let[u,d,f]=Je(t,e,n,c,r,l);if(e._interpolation=f,e.children)for(let t of e.children)s(t,d,u,f)}s(e,1,n);for(let e of r)e.sort(Ye);return{processedTree:{segmentTree:n,singleCache:Ue(1e3),matchCache:Ue(1e3),flatCache:null,masksTree:null},routesById:i,routesByPath:a}}function nt(e,t,n=!1){let r=e.split(`/`),i=ot(e,r,t,n);if(!i)return null;let[a]=rt(e,r,i);return{route:i.node.route,rawParams:a}}function rt(e,t,n){let r=at(n.node),i=n.node.data&&Ke(n.node.data),a=Object.create(null),o=n.extract?.part??0,s=n.extract?.node??0,c=n.extract?.path??0,l=n.extract?.param??0;for(;s<r.length;o++,s++,c++){let u=r[s];if(u.kind===We)break;if(u.kind===Ge){o--,c--;continue}let d=t[o],f=c;if(d&&(c+=d.length),u.kind===1||u.kind===3){let e=i[l++];if(u.kind===3&&n.skipped&1<<s){o--,c=f-1;continue}let t=u.suffix||u.prefix?d.substring(u.prefix.length,d.length-u.suffix.length):d;(t||u.kind===1)&&(a[e]=decodeURIComponent(t))}else if(u.kind===2){let t=u,n=e.substring(f+t.prefix.length,e.length-t.suffix.length),r=decodeURIComponent(n);a[`*`]=r,a._splat=r;break}}return n.rawParams&&Object.assign(a,n.rawParams),[a,{part:o,node:s,path:c,param:l}]}function it(e){let t=[e];for(;e.parentRoute;)e=e.parentRoute,t.push(e);return t.reverse(),t}function at(e){let t=Array(e.depth+1);do t[e.depth]=e,e=e.parent;while(e);return t}function ot(e,t,n,r){if(e===`/`&&n.index)return{node:n.index,skipped:0};let i=!ee(t),a=i&&e!==`/`,o=t.length-+!!i,s=[{node:n,index:1,skipped:0,statics:0,dynamics:0,optionals:0}],c=null,l=null;for(;s.length;){let n=s.pop(),{node:i,index:u,skipped:d,statics:f,dynamics:p,optionals:m}=n,{extract:h,rawParams:g}=n;if(i.kind===2&&i.route&&!ut(l,n))continue;if(i.parse){if(!lt(e,t,n))continue;g=n.rawParams,h=n.extract}r&&i.route&&i.kind!==We&&ut(c,n)&&(c=n);let _=u===o;if(_&&(i.route&&(!a||i.kind===We||i.kind===2)&&ut(l,n)&&(l=n),!i.optional&&!i.wildcard&&!i.index&&!i.pathless))continue;let v=_?void 0:t[u],y;if(_&&i.index){let n={node:i.index,index:u,skipped:d,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g},r=!0;if(i.index.parse&&(lt(e,t,n)||(r=!1)),r){if(!p&&!m&&!d&&ct(f,o))return n;ut(l,n)&&(l=n)}}if(i.wildcard)for(let e=i.wildcard.length-1;e>=0;e--){let n=i.wildcard[e],{prefix:r,suffix:a}=n;if(!(r&&(_||!(n.caseSensitive?v:y??=v.toLowerCase()).startsWith(r)))){if(a){if(_)continue;let e=t.slice(u).join(`/`),i=e.slice(-a.length);if((n.caseSensitive?i:i.toLowerCase())!==a||e.length-a.length<r.length)continue}s.push({node:n,index:o,skipped:d,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g})}}if(i.optional){let e=d|1<<i.depth+1;for(let t=i.optional.length-1;t>=0;t--){let n=i.optional[t];s.push({node:n,index:u,skipped:e,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g})}if(!_)for(let e=i.optional.length-1;e>=0;e--){let t=i.optional[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?v:y??=v.toLowerCase();if(n&&!e.startsWith(n)||r&&e.indexOf(r,e.length-r.length)<n.length)continue}s.push({node:t,index:u+1,skipped:d,statics:f,dynamics:p,optionals:m+st(o,u),extract:h,rawParams:g})}}if(!_&&i.dynamic&&v)for(let e=i.dynamic.length-1;e>=0;e--){let t=i.dynamic[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?v:y??=v.toLowerCase();if(n&&!e.startsWith(n)||r&&e.indexOf(r,e.length-r.length)<n.length)continue}s.push({node:t,index:u+1,skipped:d,statics:f,dynamics:p+st(o,u),optionals:m,extract:h,rawParams:g})}if(!_&&i.staticInsensitive){let e=i.staticInsensitive.get(y??=v.toLowerCase());e&&s.push({node:e,index:u+1,skipped:d,statics:f+st(o,u),dynamics:p,optionals:m,extract:h,rawParams:g})}if(!_&&i.static){let e=i.static.get(v);e&&s.push({node:e,index:u+1,skipped:d,statics:f+st(o,u),dynamics:p,optionals:m,extract:h,rawParams:g})}if(i.pathless)for(let e=i.pathless.length-1;e>=0;e--){let t=i.pathless[e];s.push({node:t,index:u,skipped:d,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g})}}if(l)return l;if(r&&c){let n=c.index;for(let e=0;e<c.index;e++)n+=t[e].length;let r=n===e.length?`/`:e.slice(n);return c.rawParams??=Object.create(null),c.rawParams[`**`]=decodeURIComponent(r),c}return null}function st(e,t){return 2**(e-t-1)}function ct(e,t){return e===2**(t-1)-1}function lt(e,t,n){let r,i;try{[r,i]=rt(e,t,n)}catch{return null}if(n.rawParams=r,n.extract=i,!n.node.parse)return!0;try{if(n.node.parse(r)===!1)return null}catch{}return!0}function ut(e,t){return!e||t.statics>e.statics||t.statics===e.statics&&(t.dynamics>e.dynamics||t.dynamics===e.dynamics&&(t.optionals>e.optionals||t.optionals===e.optionals&&((t.node.kind===We)>(e.node.kind===We)||t.node.kind===We==(e.node.kind===We)&&t.node.depth>e.node.depth)))}function dt(){try{return sessionStorage}catch{return}}var ft=`tsr-scroll-restoration-v1_3`,pt=dt();function mt(){try{return JSON.parse(pt?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}var ht=mt(),gt=`data-scroll-restoration-id`,_t=e=>e.state.__TSR_key||e.href;function vt(e){let t=e.getAttribute(gt);if(t)return`[${gt}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}var yt=!1,bt=`window`;function xt(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function St(e){let t=new Set;for(let n of e){if(n===bt)continue;let e=xt(n);e&&t.add(e)}return t}
10function Ct(e,t){let n=t??e.options.scrollRestoration,r=e._scroll;n&&(r.e=!0);let i=e.options.getScrollRestorationKey||_t,a=new Set,o=e=>{let t=ht[e]||={};for(let e of a)e===document?t[bt]={scrollX,scrollY}:e.isConnected&&(t[vt(e)]={scrollX:e.scrollLeft,scrollY:e.scrollTop})};n&&!r.s&&(r.s=!0,yt=!1,history.scrollRestoration=`manual`,document.addEventListener(`scroll`,e=>{yt||a.add(e.target)},!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(i(e.fromLocation)),a.clear()}),addEventListener(`pagehide`,()=>{history.scrollRestoration=`auto`,o(i(e.stores.resolvedLocation.get()??e.stores.location.get()));try{pt?.setItem(ft,JSON.stringify(ht))}catch{}}),addEventListener(`pageshow`,e=>{e.persisted&&(history.scrollRestoration=`manual`)})),!r.r&&(r.r=!0,e.subscribe(`onRendered`,t=>{let n=e.options.scrollRestorationBehavior,o=e.options.scrollToTopSelectors,s=r.n,c=r.h,l;if(a.clear(),r.n=!0,r.h=!1,typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let u=i(t.toLocation),d=t.fromLocation&&i(t.fromLocation);if(r.e&&d&&d!==u){let e=ht[d];if(e){let t=ht[u];for(let n in e){if(n===bt){if(s)continue}else{let e=xt(n);if(!e||s&&o&&(l??=St(o),l.has(e)))continue}t||=ht[u]={},t[n]??=e[n]}}}yt=!0;try{let e=t.toLocation.hash,i=t.toLocation.state.__hashScrollIntoViewOptions??!0,a=!1;if(s){!e&&o&&(l??=St(o));let t=e&&i&&c,s=r.e?ht[u]:void 0;if(s)for(let e in s){let{scrollX:r,scrollY:i}=s[e];if(e===bt){if(t)continue;scrollTo({top:i,left:r,behavior:n}),a=!0}else{let t=xt(e);t&&(t.scrollLeft=r,t.scrollTop=i,l?.delete(t))}}if(!e){let e={top:0,left:0,behavior:n};if(a||scrollTo(e),l)for(let t of l)t.scrollTo(e)}}!a&&e&&i&&document.getElementById(e)?.scrollIntoView(i)}finally{yt=!1}}))}var wt=/^(?:\s|["[{\d-]|fa|nu|tr)/,Tt=Dt(JSON.parse),Et=Ot(JSON.stringify,JSON.parse);function Dt(e){let t=e===JSON.parse;return n=>{n[0]===`?`&&(n=n.substring(1));let r=f(n);for(let n in r){let i=r[n];if(typeof i==`string`){if(t&&!wt.test(i))continue;try{r[n]=e(i)}catch{}}}return r}}function Ot(e,t){let n=t===JSON.parse;function r(r){if(r&&typeof r==`object`)try{return e(r)}catch{}else if(t&&typeof r==`string`){if(n&&!wt.test(r))return r;try{return t(r),e(r)}catch{}}return r}return e=>{let t=u(e,r);return t?`?${t}`:``}}function kt(e,t,n){let r=ue(e),i=`/${r}`,a=t?i:i.toLowerCase(),o=`${a}/`,s={input:({url:e})=>{let n=t?e.pathname:e.pathname.toLowerCase();return n===a?e.pathname=`/`:n.startsWith(o)&&(e.pathname=e.pathname.slice(i.length)),e},output:({url:e})=>(e.pathname=ne(`/${r}${e.pathname}`),e)};return n?{input:({url:e})=>At(n,s.input({url:e})),output:({url:e})=>s.output({url:jt(n,e)})}:s}function At(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function jt(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function Mt(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i}=t,a=new Map,o=n(`idle`),s=n(e),c=n(void 0),l=n([]),u=r(()=>l.get().map(e=>a.get(e).get())),d=r(()=>({status:o.get(),isLoading:o.get()===`pending`,matches:u.get(),location:s.get(),resolvedLocation:c.get()}));function f(e){let t=a.get(e);return t||(t=n(void 0),a.set(e,t)),t}let p={status:o,location:s,resolvedLocation:c,ids:l,matches:u,byRoute:a,__store:d,getMatchStore:f,setMatches:m};function m(e){let t=l.get(),n=e.map(e=>e.routeId);i(()=>{fe(t,n)||l.set(n);for(let e of t)n.includes(e)||a.get(e).set(()=>void 0);for(let t of e){let e=f(t.routeId);e.get()!==t&&e.set(t)}})}return p}var Nt=`__TSR_index`,Pt=`popstate`,Ft=`beforeunload`,It=/^[\x00-\x20]*(?:[\\/][\t\n\r]*){2,}/;function Lt(e){let t=It.exec(e);return t?`/`+e.slice(t[0].length):e}function Rt(e){return/[\x00-\x1f\x7f]/.test(e)&&(e=e.replace(/[\x00-\x1f\x7f]/g,e=>` 11\r`.includes(e)?``:encodeURIComponent(e))),Lt(e)}function zt(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=Ht(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[Nt];i=Bt(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[Nt];i=Bt(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t,n?.ignoreBlocker??!1),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[Nt]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r,_getBlockers:()=>e.getBlockers?.()??[]}}function Bt(e,t){let n=Ut();return{...t,key:n,__TSR_key:n,[Nt]:e}}function Vt(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=t=>Rt(e?.createHref?e.createHref(t):t),c=e?.parseLocation??(()=>Ht(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=Ut();t.history.replaceState({[Nt]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_=()=>{g&&(S._ignoreSubscribers=!0,(g[2]?t.history.pushState:t.history.replaceState)(g[1],``,g[0]),S._ignoreSubscribers=!1,g=void 0,u=void 0)},v=(t,n,r)=>{let i=e?.createHref?s(n):void 0,a=!!g;a||(u=l),l=Ht(n,r),g=[i??l.href,r,g?.[2]||t],a||queueMicrotask(()=>_())},y=e=>{l=c(),S.notify({type:e})},b=async()=>
11{if(m=!1,f){f=!1;return}let e=c(),n=e.state[Nt]-l.state[Nt],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let r=a();if(typeof document<`u`&&r.length){for(let i of r)if(await i.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(-n),S.notify(u);return}}}l=c(),S.notify(u)},x=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=zt({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>v(!0,e,t),replaceState:(e,t)=>v(!1,e,t),back:e=>(e&&(p=!0,m=!0),t.history.back()),forward:e=>{e&&(p=!0,m=!0),t.history.forward()},go:(e,n)=>{d=!0,n&&(p=!0,m=!0),t.history.go(e)},createHref:e=>s(e),flush:_,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(Ft,x,{capture:!0}),t.removeEventListener(Pt,b)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return S._ignoreNextBeforeUnload=e=>{m=!1;try{e=new URL(e,t.document.baseURI).href,m=/^https?:/.test(e)&&(!e.includes(`#`)||e.split(`#`)[0]!==t.location.href.split(`#`)[0])}catch{}},t.addEventListener(Ft,x,{capture:!0}),t.addEventListener(Pt,b),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||y(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||y(`REPLACE`),n},S}function Ht(e,t){let n=Rt(e),r=n.indexOf(`#`),i=n.indexOf(`?`);if(!t){let e=Ut();t={[Nt]:0,key:e,__TSR_key:e}}return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t}}function Ut(){return(Math.random()+1).toString(36).substring(7)}function Wt(e,t){return e.protocol!==`http:`&&e.protocol!==`https:`||e.origin!==t||!!e.username||!!e.password}function Gt(e){return e.pathname+e.search+e.hash}function Kt(e){return e.options.loader||e.options.beforeLoad||e.lazyFn||e.options.component?.preload||e.options.pendingComponent?.preload}function qt(e){return e instanceof Error?{name:e.name,message:e.message}:{data:e}}function Jt(e,t){return{fromLocation:t,toLocation:e,pathChanged:t?.pathname!==e.pathname,hrefChanged:t?.href!==e.href,hashChanged:t?.hash!==e.hash}}function Yt({key:e,__TSR_key:t,__TSR_index:n,__hashScrollIntoViewOptions:r,...i}){return i}function Xt(e){return e.findIndex(e=>e.status===`error`||e.status===`notFound`||e._notFound)+1}function Zt(e,t,n,r,i,a){r&&(t=t.slice(0,r)),i&&(n=n.slice(0,i));for(let r of t){if(a&&e._tx!==a)return;n.some(e=>e.routeId===r.routeId)||e.routesById[r.routeId].options.onLeave?.(r)}for(let r of n){if(a&&e._tx!==a)return;e.routesById[r.routeId].options[t.some(e=>e.routeId===r.routeId)?`onStay`:`onEnter`]?.(r)}}var Qt=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={n:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.startTransition=async e=>(e(),!1),this.update=e=>{let t=this.options;this.options={...t,...e},this.isServer=this.options.isServer??!1??typeof document>`u`,this.staticLocations=new WeakMap,this.protocolAllowlist=new Set(this.options.protocolAllowlist),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.history=this.options.history?this.options.history:Vt()),this.origin=this.options.origin,this.origin||=window?.origin&&window.origin!==`null`?window.origin:`http://localhost`;let n=this.options.basepath??`/`,r=this.options.rewrite,i=this.basepath!==n||t?.rewrite!==r||t?.caseSensitive!==this.options.caseSensitive;if(i&&(this.basepath=n,this.rewrite=n!==`/`&&ue(n)?kt(n,this.options.caseSensitive,r):r),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;e=this.buildRouteTree(),this.setRoutes(e)}if(this.stores)i&&this.stores.location.set(this.latestLocation);else if(this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=Mt(this.latestLocation,e),Ct(this)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=tt(this.routeTree,this.options.caseSensitive);return this.options.routeMasks&&Ze(this.options.routeMasks,e.processedTree),{...e,resolvePathCache:Ue(1e3)}},this.subscribe=(e,t)=>
11{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{for(let t of this.subscribers)if(t.eventType===e.type)try{t.fn(e)}catch(e){console.error(e)}},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i},a)=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),o=this.options.stringifySearch(i);return{href:e+o+r,publicHref:e+o+r,pathname:ce(e),external:!1,searchStr:o,search:x(t?.search,i),hash:ce(r.slice(1)),state:S(t?.state,a)}}let o=At(this.rewrite,new URL(i,this.origin)),s=this.options.parseSearch(o.search),c=this.options.stringifySearch(s);return o.search=c,{href:o.href.replace(o.origin,``),publicHref:i,pathname:ce(Lt(o.pathname)),external:!!this.rewrite&&Wt(o,this.origin),searchStr:c,search:x(t?.search,s),hash:ce(o.hash.slice(1)),state:S(t?.state,a)}},r=n(e,e.state),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i,{...i.state,__tempLocation:void 0,key:r.state.key,__TSR_key:r.state.__TSR_key});return e.maskedLocation=r,e}return r},this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>{let t=Object.create(null),n=et(ae(e),this.processedTree,!0);return n&&Object.assign(t,n.rawParams),[n?.branch||[this.routesById.__root__],t,n?.route]},this.buildLocation=e=>{{let t=this.staticLocations.get(e);if(t)return t}let t=!1,n=(n={})=>{if(n.href){let e=Ht(n.href,{});n={...n,to:At(this.rewrite,new URL(e.pathname,this.origin)).pathname,search:this.options.parseSearch(e.search),hash:e.hash.slice(1)}}let r=n._fromLocation||this._pendingLocation||this.latestLocation,i,a=()=>(t=!0,r),o=()=>(t=!0,i??=this.matchRoutesLightweight(r)),s=n.to?`${n.to}`:`.`,c=ie(s[0]===`/`?``:n.unsafeRelative===`path`?a().pathname:n.from??o()[1],s,this.options.trailingSlash,this.resolvePathCache),l=this.routesByPath[ae(c)],u=c.includes(`$`),d;if(l)d=l._branch??=it(l);else if(u)d=[];else{let[e,t,n]=this.getMatchedRoutes(c);d=e,this.options.notFoundRoute&&(!n||n.path!==`/`&&t[`**`])&&(d=[...d,this.options.notFoundRoute])}let f=u?l?._interpolation??Je(!1,{fullPath:c},0):void 0,p;for(let e of d){let t=e.options.params?.stringify??e.options.stringifyParams;if(t){let e=o()[3];if(p??=rn(n.params,e),!ge(p))break;p===e&&(p=Object.assign(w(),p));try{Object.assign(p,t(p))}catch{}}}p??=rn(n.params,an(n.params,f)?o()[3]:on);let m=e.leaveParams?c:Lt(ce(f?me(c,f,p,this.pathParamsDecoder):c)),h=sn(d,e._includeValidateSearch),g=()=>{let t=o()[2];if(e._includeValidateSearch&&this.options.search?.strict){let e={};d.forEach(n=>{if(n.options.validateSearch)try{Object.assign(e,nn(n.options.validateSearch,{...e,...t}))}catch{}}),t=e}return t},_=h.length?cn(h,g(),n):n.search===!0?g():typeof n.search==`function`?n.search(g()):n.search||on,v=this.options.stringifySearch(_),y=n.hash===!0?a().hash:typeof n.hash==`function`?n.hash(a().hash):n.hash||void 0,b=y?`#${y}`:``,x=n.state?n.state===!0?a().state:typeof n.state==`function`?n.state(a().state):n.state:on,S=`${m}${v}${b}`,C,ee,ne=!1;if(this.rewrite){let e=new URL(S,this.origin),t=e.origin,n=jt(this.rewrite,e);C=Gt(e),Wt(n,t)?(ee=n.href,ne=!0):ee=Lt(Gt(n))}else C=te(S),ee=C;return{publicHref:ee,href:C,pathname:m,search:_,searchStr:v,state:x,hash:y??``,external:ne,unmaskOnReload:n.unmaskOnReload}},r=n(e);if(e.mask)r.maskedLocation=n({from:e.from,...e.mask});else if(this.options.routeMasks){let t=Qe(r.pathname,this.processedTree);if(t){let i=Object.assign(w(),t.rawParams),{from:a,params:o,...s}=t.route,c=rn(o,i);r.maskedLocation=n({from:e.from,...s,params:c})}}return!t&&e._fromLocation&&!r.maskedLocation&&this.staticLocations.set(e,r),r},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r=n.maskedLocation??n;if(r.external)return $t(this,r.publicHref,{replace:n.replace,ignoreBlocker:t});let i,a=ae(this.latestLocation.href)===ae(n.href)&&se(Yt(n.state),Yt(this.latestLocation.state)),o=this._commitPromise,s,c=new Promise(e=>{s=e});if(c.resolve=()=>{s(),o?.resolve()},this._commitPromise=c,a)this.load();else{let{maskedLocation:r,hashScrollIntoView:a,...o}=n;r&&(o={...r,state:{...r.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state={...o.state,__hashScrollIntoViewOptions:a??this.options.defaultHashScrollIntoView??!0},this.shouldViewTransition=e,i=n.replace?`REPLACE`:`PUSH`,this.history[i===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t}),this.history.subscribers.size||this.load({action:{type:i}})}return this._scroll.n=n.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,...a}={})=>{let o=this.buildLocation({...a,_includeValidateSearch:!0});this._pendingLocation=o;let s=this.commitLocation({...o,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return queueMicrotask(()=>
11{this._pendingLocation===o&&(this._pendingLocation=void 0)}),s},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=n?re(n):void 0;if(a||t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i}),a=t.maskedLocation??t;n??=a.publicHref,r??=a.publicHref}let t=!a&&r?r:n;return $t(this,t,i)}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.load=async e=>{this.updateLatestLocation(),e?.action&&(this._scroll.h=e.action.type===`PUSH`||e.action.type===`REPLACE`),await tr(this,e)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&window.CSS?.supports?.(`selector(:active-view-transition-type(a))`)){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(Jt(r,i)):t.types;if(a===!1)return e();n={update:e,types:a}}else n=e;return document.startViewTransition(n).updateCallbackDone}return e()},this.invalidate=e=>{let t=this._committed,n=e?.filter,r=this._preloads,i=new Set,a=e=>{(!n||n(e))&&i.add(e.id)};t.forEach(a),this._cache.forEach(a),r?.forEach(e=>e.forEach(a)),this._tx?.[3].forEach(a);let o=[];for(let[e,t]of r??[])t.some(e=>i.has(e.id))&&(r.delete(e),o.push(e));let s=t=>{if(i.has(t.id)){let n=this.routesById[t.routeId],r={...t,invalid:!0,...(e?.forcePending||t.status===`error`||t.status===`notFound`)&&Kt(n)?{status:`pending`,error:void 0}:void 0};return t._flight=void 0,r}return t};this._committed=t.map(s);for(let[t,n]of this._cache)i.has(t)&&(n.invalid=!0,e?.forcePending&&(n.status=`pending`));for(let e of i){let t=this._flights?.get(e);this._flights?.delete(e),t&&!t[2]&&o.push(t[1])}for(let e of o)e.abort();return this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.resolveRedirect=e=>{let t=e.options,n=e.headers.get(`Location`)||t.href;if(!n){let e=this.buildLocation(t);n=(e.maskedLocation??e).publicHref||`/`}let r;if(b.test(n)||(r=re(n))&&!this.protocolAllowlist.has(r))throw Error(`Redirect blocked: unsafe protocol`);if(r===`http:`||r===`https:`){let e=new URL(n);e.pathname.startsWith(`//`)?n=e.href:Wt(e,this.origin)||(n=Gt(e),r=void 0)}return r&&(t.reloadDocument=!0),t.href=n,e.headers.set(`Location`,n),e},this.clearCache=e=>{let t=this._cache,n=this._preloads,r=e?.filter,i=[],a=[];for(let[e,n]of t)(!r||r(n))&&(a.push(e),i.push(n));let o=[];for(let[e,t]of n??[])(!r||t.some(r))&&(o.push(e),i.push(...t));for(let e of a)t.delete(e);for(let e of o)n.delete(e);for(let e of i){let t=e._flight;e._flight=void 0,t&&!--t[2]&&(this._flights?.get(e.id)===t&&this._flights.delete(e.id),o.push(t[1]))}for(let e of o)e.abort()},this.loadRouteChunk=pn,this.preloadRoute=e=>nr(this,e),this.matchRoute=(e,t)=>{let n={...e,to:e.to?ie(e.from||``,e.to,this.options.trailingSlash,this.resolvePathCache):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n),i=this.stores.status.get()===`pending`;if(t?.pending&&!i)return!1;let a=t?.pending??!i?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),o=$e(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,a.pathname,this.processedTree);return!o||e.params&&!se(o.rawParams,e.params,!0)?!1:t?.includeSearch??!0?se(a.search,r.search,!0)?o.rawParams:!1:o.rawParams},this.getStoreConfig=t,e.pathParamsAllowedCharacters?.length&&(this.pathParamsDecoder=de(e.pathParamsAllowedCharacters)),this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??Et,parseSearch:e.parseSearch??Tt,protocolAllowlist:e.protocolAllowlist??oe}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes(e){Object.assign(this,e),this.lightweightCache=new WeakMap,this.staticLocations=new WeakMap;let t=this.options.notFoundRoute;t&&(t.init(99999999999),this.routesById[t.id]!==t&&(t._interpolation=Je(!1,t,0)),this.routesById[t.id]=t)}matchRoutesInternal(e,t){let[n,r,i]=this.getMatchedRoutes(e.pathname),a=n,o=!1;(i?i.path!==`/`&&r[`**`]:ae(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:o=!0);let s=o?ln(this.options.notFoundMode,a):void 0,c=Array(a.length),l=this._committed,u=(e,t)=>
11{let n=l[t];return n?.routeId===e.id?n:e===this.options.notFoundRoute?l.find(t=>t.routeId===e.id):void 0},d;for(let n=0;n<a.length;n++){let i=a[n],o=c[n-1],l,f,p;{let n=o?.search??e.search,r=o?._strictSearch??void 0;try{let e=nn(i.options.validateSearch,{...n})??void 0;l={...n,...e},f={...r,...e}}catch(e){let r=e;if(e instanceof en||(r=new en(e.message,{cause:e})),t?.throwOnError)throw r;l=n,f={},p=r}}let m=``,g=``;try{m=i.options.loaderDeps?.({search:l})??``,g=m&&JSON.stringify(m)||``}catch(e){if(t?.throwOnError)throw e;p??=e}let v=w(),y=i._interpolation?me(i.fullPath,i._interpolation,r,this.pathParamsDecoder,v):i.fullPath,b=i.id+y+g,C=u(i,n),ee=this._cache.get(b)??(C?.id===b?C:void 0);d=ee?._strictParams??Object.assign(v,d);let te;if(!ee)try{un(i,d)}catch(e){if(te=h(e)||_(e)?e:new tn(e.message,{cause:e}),t?.throwOnError)throw te}let ne=C?`stay`:`enter`,re;if(ee)re={...ee,cause:ne,search:x(C?C.search:ee.search,l),_strictSearch:f,searchError:p};else{let e=Kt(i)?`pending`:`success`;re={id:b,ssr:i.options.ssr,index:n,routeId:i.id,params:C?.params??d,_strictParams:d,pathname:y,updatedAt:Date.now(),search:C?x(C.search,l):l,_strictSearch:f,searchError:p,status:e,isFetching:!1,error:void 0,paramsError:te,context:{},abortController:t?._controller??new AbortController,cause:ne,loaderDeps:C?S(C.loaderDeps,m):m,invalid:!1,preload:!1,staticData:i.options.staticData||{},fullPath:i.fullPath}}let ie=s===i.id;re._notFound&&!ie&&(re.error=void 0),re._notFound=ie,c[n]=re}for(let e=0;e<c.length;e++){let n=c[e];n.params=n.cause===`stay`?x(n.params,d):d,t?._controller&&(n.context={})}return c}matchRoutesLightweight(e){let t=ee(this.stores.ids.get()),n=t?this.stores.byRoute.get(t).get():void 0,r=n?.id,i=this.lightweightCache.get(e);if(i&&i[0]===r)return i[1];let[a,o]=this.getMatchedRoutes(e.pathname),s=ee(a),c={...e.search};for(let e of a)try{Object.assign(c,nn(e.options.validateSearch,c))}catch{}let l=n&&n.routeId===s.id&&n.pathname===e.pathname,u;if(l)u=n.params;else{let e=o;for(let t of a)try{un(t,e)}catch{}u=e}let d=[a,s.fullPath,c,u];return this.lightweightCache.set(e,[r,d]),d}};async function $t(e,t,{replace:n,ignoreBlocker:r}){if(!y(t,e.protocolAllowlist)){if(!r){let t=e.history._getBlockers();for(let r of t)if(r?.blockerFn&&await r.blockerFn({currentLocation:e.history.location,nextLocation:e.history.location,action:n?`REPLACE`:`PUSH`}))return}e.history._ignoreNextBeforeUnload?.(t),n?window.location.replace(t):window.location.href=t}}var en=class extends Error{},tn=class extends Error{};function nn(e,t){if(e==null)return{};if(`~standard`in e){let n=e[`~standard`].validate(t);if(n instanceof Promise)throw new en(`Async validation not supported`);if(n.issues)throw new en(JSON.stringify(n.issues,void 0,2),{cause:n});return n.value}return`parse`in e?e.parse(t):typeof e==`function`?e(t):{}}function rn(e,t){if(e===void 0||e===!0)return t;let n=Object.create(null);return e===!1||e===null?n:typeof e==`function`?(Object.assign(n,t),Object.assign(n,e(n))):Object.assign(n,t,e)}function an(e,t){return typeof e==`function`?!0:!t||e===!1||e===null?!1:e===void 0||e===!0||t.some(t=>typeof t!=`string`&&!C.call(e,t[1]))}var on=Object.freeze({});function sn(e,t){let n=[];for(let r=0;r<e.length;r++){let i=e[r].options;`search`in i?i.search?.middlewares&&n.push(...i.search.middlewares):(i.preSearchFilters||i.postSearchFilters)&&n.push(({search:e,next:t})=>{let n=t(i.preSearchFilters?i.preSearchFilters.reduce((e,t)=>t(e),e):e);return i.postSearchFilters?i.postSearchFilters.reduce((e,t)=>t(e),n):n});let a=i.validateSearch;t&&a&&n.push(({search:e,next:t,meta:n})=>{let r=t(e);try{let e=nn(a,r);if(n&&e)for(let t in e)t in r||(n.defaulted||=new Map).set(t,e[t]);return{...r,...e}}catch{}return r})}return n}function cn(e,t,n){let r=(t,i,a)=>{if(t>=e.length){if(!n.search)return{};if(n.search===!0)return i;let e=_e(n.search,i);return a&&(a.explicit=e),e}return e[t]({search:i,next:(e,n)=>{if(n){let n=a||{};return{search:r(t+1,e,n),meta:n}}return r(t+1,e,a)},meta:a})};return r(0,t)}function ln(e,t){if(e!==`root`){let e;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.options.notFoundComponent)return r.id;e||=r.children&&r.id}if(e)return e}return ye}function un(e,t){let n=e.options.params?.parse??e.options.parseParams;n&&Object.assign(t,n(t))}function dn(e,t){return e.options[t]?.preload?.()}function fn(e,t){let n=dn(e,`component`),r=dn(e,`pendingComponent`);return t&&(r?r=r.then(t):t()),n&&r?Promise.all([n,r]).then(()=>{}):n??r}function pn(e,t,n){let r=()=>t===!1?void 0:t?dn(e,t):fn(e,n),i=e._lazy;if(i)return i===!0?r():i.then(r);if(!e.lazyFn)return r();let a=e.lazyFn().then(t=>{{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazy=!0}},t=>{throw e._lazy=void 0,t});return e._lazy=a,a.then(r)}function mn(e){let t=e.findIndex(e=>e.status!==`success`||e._notFound)+1;return t&&t<e.length?e.slice(0,t):e}function hn(e){let t=e.length;for(let n=0;n<t;n++){let r=e[n];if(r._assetEnd!==void 0){t=Math.min(t,Math.max(n+1,r._assetEnd));continue}if(r.status!==`success`||r._notFound){t=n+1;break}}return t<e.length?e.slice(0,t):e}var gn=0,_n=1,vn=2,yn=3,bn=[4];
11function xn(e){return typeof e[0]==`number`}function Sn(e,t){return t.aborted?Promise.race([Promise.reject(t),e]):new Promise((n,r)=>{let i=()=>r(t);t.addEventListener(`abort`,i,{once:!0}),Promise.resolve(e).then(n,r).then(()=>t.removeEventListener(`abort`,i))})}function Cn(e,t){return e.routesById[t.routeId]}function wn(e,t,n){return _(e)?[yn,e]:h(e)?(e.routeId||=n,[vn,e]):t?(typeof e?.then==`function`&&(e=Error(`A Promise was thrown`,{cause:e})),[_n,e]):[gn,e]}function Tn(e,t){let n=wn(t,!0,e.id);if(n[0]!==_n)return n;try{e.options.onError?.(n[1])}catch(t){n=wn(t,!0,e.id)}return n}function En(e,t,n,r,i){return i[0].signal.aborted?bn:Hn(e,t,n,Tn(n,r),i)}async function Dn(e,t,n,r,i,a){let[o,s]=t,c=n[0].signal,l=!!n[3];for(let i=n[6]??0;i<r;i++){let r=s[i],u=Cn(e,r);r.abortController=n[0];let d=s[i-1]?.context??e.options.context??{},f={params:r.params,location:o,navigate:t=>e.navigate({...t,_fromLocation:o}),buildLocation:e.buildLocation,cause:l?`preload`:r.cause,abortController:n[0],preload:l,matches:s,routeId:u.id};try{let e=r._ctx||=u.options.context?u.options.context({...f,deps:r.loaderDeps,context:d})||{}:void 0;r.context={...d,...e}}catch(a){return kn(e,r),[i,En(e,t,u,a,n)]}if(c.aborted)return[i,bn];let p=r.paramsError??r.searchError;if(p!==void 0)return kn(e,r),[i,En(e,t,u,p,n)];let m=u.options.beforeLoad;if(!m)continue;let h=r.status;i>=a&&(r.status=`pending`,n[7]?.());try{Mn(e,r,`beforeLoad`,n[0]);let a=m({...f,search:r.search,context:r.context,...e.options.additionalContext}
11),o=await(typeof a?.then==`function`?Sn(a,c):a);if(c.aborted)return[i,bn];let s=Hn(e,t,u,wn(o,!1,u.id),n);if(s[0]!==gn)return kn(e,r),[i,s];r.context={...r.context,...o}}catch(a){return kn(e,r),[i,En(e,t,u,a,n)]}finally{r.status=h,Mn(e,r,!1,n[0])}}i()}function On(e,t,n){if(!(!n||--n[2])){if(e._flights?.get(t.id)===n){let n=e._tx;if(n&&!n[0].signal.aborted&&!n[3].includes(t)&&n[3].some(e=>e.id===t.id)&&n[3].some(e=>e.isFetching===`beforeLoad`))return;e._flights.delete(t.id)}return n[1]}}function kn(e,t){let n=t._flight;t._flight=void 0,On(e,t,n)?.abort()}function An(e,t,n,r){let i=[];for(let a of t)if(!n?.includes(a)){let t=a._flight;if(a._flight=void 0,r&&t?.[2]===1&&e._flights?.get(a.id)===t&&n?.some(e=>e.id===a.id))t[2]=0;else{let n=On(e,a,t);n&&i.push(n)}}for(let e of i)e.abort()}function jn(e){for(let t of e){let e=t._flight;e&&e[2]++}}function Mn(e,t,n,r){if(t.isFetching=n,r&&e._tx?.[0]!==r)return;let i=e.stores.byRoute.get(t.routeId),a=i?.get();a?.id===t.id&&i.set({...a,isFetching:n})}function Nn(e,t,n,r,i,a,o){let s=t[0];return{params:n.params,location:s,navigate:t=>e.navigate({...t,_fromLocation:s}),cause:o?`preload`:n.cause,abortController:i,preload:o,deps:n.loaderDeps,parentMatchPromise:a,context:n.context,route:r,...e.options.additionalContext}}async function Pn(e,t,n,r,i,a,o){let s=o[0],c=s.signal;if(c.aborted)return bn;if(!i)return[gn,void 0];let l=n._flight;Mn(e,n,`loader`,s);try{if(!l){let s=new AbortController;l=[Promise.resolve().then(()=>i(Nn(e,t,n,r,s,a,!!o[3]))).then(e=>wn(e,!1,r.id),e=>wn(e,!0,r.id)).then(t=>(t[0]!==gn&&e._flights?.get(n.id)===l&&(e._flights.delete(n.id),l[2]||s.abort()),t[0]===_n&&l[2]?Tn(r,t[1]):t)),s,1],(e._flights??=new Map).set(n.id,l)}return n._flight=l,n.abortController=l[1],Hn(e,t,r,await Sn(l[0],c),o)}catch(t){if(t!==c||!c.aborted)throw t;return kn(e,n),bn}finally{Mn(e,n,!1,s)}}function Fn(e,t,n){t[0]!==yn&&(e.status=`success`,e.error=void 0,t[0]===gn?(e.loaderData=t[1],e.invalid=!1,e.updatedAt=Date.now(),e.preload=n):e.invalid=!0)}function In(e,t,n){let r=e._cache.get(t.id);if(r!==n||e._committed.some(e=>e.id===t.id&&e._flight===t._flight))return;let i={...t,_notFound:void 0,context:{}};i._flight&&i._flight[2]++,e._cache.set(t.id,i),r&&kn(e,r)}function Ln(e,t){return t[0]===_n||t[0]===vn?{...e,status:t[0]===_n?`error`:`notFound`,error:t[1],_flight:void 0}:e}function Rn(e,t,n,r,i,a,o){let s=t[1][n],c=Cn(e,s),l=!!a[3],u=e._cache.get(s.id),d,f=!1,p;try{if(s.status===`success`&&(d=c.options.shouldReload,typeof d==`function`&&(d=d(Nn(e,t,s,c,a[0],i,l))),a[0].signal.aborted&&(p=bn)),!p)if(s.status!==`success`)f=!0;else{let t=l||s.preload?c.options.preloadStaleTime??e.options.defaultPreloadStaleTime??3e4:c.options.staleTime??e.options.defaultStaleTime??0;f=!!(s.invalid||d||d===void 0&&Date.now()-s.updatedAt>=t&&(a[5]||s.cause===`enter`||a[2].some(e=>e.routeId===s.routeId&&e.id!==s.id)))}}catch(n){s.invalid=!0,kn(e,s),p=En(e,t,c,n,a)}let m=c.options.loader,h=typeof m==`function`,g=h?m:m?.handler,_=!l||c.options.preload!==!1,v=_&&m?e._flights?.get(s.id):void 0;v===s._flight||p?v=void 0:v&&!f&&!l&&d===void 0?f=!0:f||(v=void 0);let y=!!(m&&f&&s.status===`success`&&!l&&!a[4]&&((h?void 0:m.staleReloadMode)??e.options.defaultStaleReloadMode)!==`blocking`),b=f&&_,x=b&&!y&&(s.status!==`success`||!!m),S=n>=o?a[7]:void 0,C=c.lazyFn&&c._lazy!==!0?S:void 0;if(b&&!m&&(s.invalid=!1,s.updatedAt=Date.now()),v&&v[2]++,x){let t=s._flight;s._flight=v,On(e,s,t)?.abort(),n>=o&&(s.status=`pending`),S?.()}b||(s.isFetching=!1);let ee=!p&&x?Pn(e,t,s,c,g,i,a).then(t=>(Fn(s,t,l),t[0]===gn&&(m&&!a[0].signal.aborted&&In(e,s,u),n>=o&&(s.status=`pending`)),t)):Promise.resolve(p??[gn,s.loaderData]),te=(async()=>{try{let e=pn(c,void 0,C);e&&await Sn(e,a[0].signal)}catch(r){if(!t[1].some((e,t)=>t<=n&&(e.status===`error`||e.status===`notFound`||e._notFound)))return[n,En(e,t,c,r,a)]}let r=await ee;x&&r[0]===gn&&s.status===`pending`&&!a[0].signal.aborted&&(s.status=`success`,S?.())})();if(r.push([n,ee,te]),!y)return ee.then(e=>Ln(s,e));let ne={...s,status:`pending`,preload:!1,_flight:v};s.invalid=!1,s.isFetching=`loader`;let re=Pn(e,t,ne,c,g,i,a).then(e=>(s.isFetching=!1,Fn(ne,e,!1),e));return(t[2]??=[]).push([n,re,te,ne]),re.then(e=>Ln(ne,e))}async function zn(e,t,n,r,i=0){let a=n?.[1][1],o=a?.routeId?t.findIndex(e=>e.routeId===a.routeId):n?.[0]??t.length-1;o<0&&(o=0);for(let n=o;n>=0;n--){let i=Cn(e,t[n]);try{let e=pn(i,!1);e&&await Sn(e,r)}catch(e){if(e===r&&r.aborted)throw e}if(i.options.notFoundComponent)return n}return a?.routeId?o:i}function Bn(e,t){t[2]&&=(An(e,t[2].map(e=>e[3])),void 0)}async function Vn(e,t,n,r){let i;try{await Promise.all(e.map(e=>e[1].then(async t=>{let a=e[0];if(!(r&&a>=await r)){if(t[0]>=yn)throw[a,t];!i&&t[0]!==gn&&(i=[a,t],await Promise.all((n??[]).map(e=>{if(!(e[0]<=a))return e[1].then(t=>{if(t[0]===yn)throw[e[0],t]})}
11)))}})))}catch(e){return e}return t??i}function Hn(e,t,n,r,i,a){for(;r[0]===yn;){let o=r[1],s=o.options;try{if((s.href||o.headers.has(`Location`))&&(e.resolveRedirect(o),s.reloadDocument)||(s.reloadDocument?i[3]:i[1]>=20))return r;let n=e.buildLocation({...s,_fromLocation:t[0],_includeValidateSearch:!0}),a=n.maskedLocation??n;if(a.external){let t=o.clone();return t.options={...s},t.headers.set(`Location`,a.publicHref),e.resolveRedirect(t),i[3]?[yn,t]:[yn,t,a]}return[yn,o,n]}catch(e){r=a?[_n,e]:Tn(n,e),a=!0}}return r}async function Un(e,t,n,r,i,a){let o=t[1],s=await i,c=!1,l=o.findIndex(e=>e._notFound),u=t=>t[1][0]===vn?zn(e,o,t,r.signal):t[0],d=l<0?o.length:l;if((s?.[1][0]??0)>=yn)d=0;else if(s){d=s[2]??=await u(s);for(let e of n){if(e[0]>=d)break;let t=await e[1];if(t[0]!==gn&&t[0]<yn&&!(`loaderData`in o[e[0]])){s=[e[0],t],d=s[2]=await u(s);break}}}for(let e of n){if(e[0]>=d)break;let t=await e[2];if(t){s=t;break}}if((s?.[1][0]??0)>=yn){let n=s[1];if(n[0]!==yn||n[1].options.reloadDocument||n[2])return Bn(e,t),n;c=!0,s=[0,[_n,Error(`Too many redirects`)]]}let f=s?s[2]??await u(s):l;if(f>=0){let i=s?.[1],l=i?.[0],u=o[f],d=i?.[1],p=()=>
11{i&&(u._notFound=void 0,l===_n?u.status=`error`:(d.routeId=u.routeId,u.routeId===e.routeTree.id?(u.status=`success`,u._notFound=!0):u.status=`notFound`),u.error=d,u.isFetching=!1)};p(),i||a?.();let m=Cn(e,u);try{await Sn(i?Promise.resolve().then(()=>pn(m,l===_n?`errorComponent`:`notFoundComponent`)):Promise.all([pn(m),pn(m,`notFoundComponent`)]),r.signal)}catch(n){if(n===r.signal&&r.signal.aborted)return Bn(e,t),bn}i?c&&(r.abort(),await Promise.all([...n.map(e=>e[1]),...n.map(e=>e[2]),...(t[2]??[]).map(e=>e[1])]),Bn(e,t),An(e,o),p()):u.status=`success`}return t}async function Wn(e,t,n,r=0,i=t[1].length){let a=t[1];for(let t=r;t<i;t++){let r=a[t],i=Cn(e,r).options;if(i.head||i.scripts)try{let t={ssr:e.options.ssr,matches:a,match:r,params:r.params,loaderData:r.loaderData},[o,s]=await Sn(Promise.all([i.head?.(t),i.scripts?.(t)]),n);r.meta=o?.meta,r.links=o?.links,r.headScripts=o?.scripts,r.styles=o?.styles,r.scripts=s}catch(e){if(e===n&&n.aborted)break;console.error(e)}if(r.status!==`success`||r._notFound)break}return t}async function Gn(e,t,n,r){let i=[t,n],a=r[0].signal,o;try{let t=e.stores.matches.get(),s=n.findIndex(e=>e._notFound);if(e.options.notFoundMode!==`root`&&s>=0){let t=await zn(e,n,void 0,a,s);n[s]._notFound=void 0,n[t]._notFound=!0,s=t}let c=s<0?n.length:s+1,l=0;for(;l<c&&l!==s;){let e=n[l],i=r[2][l],a=t[l];if(i?.id!==e.id||i.status!==`success`||e.preload||a?.id!==e.id||a.status!==`success`||(l++,i._notFound||a._notFound))break}let u=[],d=r[6]??0,f=d?Promise.resolve(n[d-1]):void 0,p=()=>{for(let t=d;t<c&&!a.aborted;t++)f=Rn(e,i,t,u,f,r,l)},m=await Dn(e,i,r,c,p,l);if(m){if(r[4]=!0,c=m[0],m[1][0]===vn){let t=await zn(e,n,m,a);m[2]=t,c=Math.min(c,t+1)}else m[1][0]>=yn&&(c=0);p()}if(!a.aborted&&!r[3]){let t=[];for(let[n,r]of e._flights??[])r[2]||(e._flights.delete(n),t.push(r[1]));for(let e of t)e.abort()}let h=Un(e,i,u,r[0],Vn(u,m,i[2]),r[7]);i[2]?.length&&(i[3]=Vn(i[2],void 0,void 0,h.then(e=>xn(e)?0:mn(n).length,()=>0))),o=await h}catch(t){if(Bn(e,i),t===a&&a.aborted)return bn;throw t}return xn(o)?o:Wn(e,o,a,r[6]===n.length?r[6]:0)}function Kn(e,t){if(e._tx!==t)return;let n=t[3],r=e.stores.matches.get(),i=e._pending;for(let a=0;a<n.length;a++){let o=n[a],s=o.status===`success`&&!o._notFound,c=r[a]?.id===o.id&&r[a]?.status===`pending`;if(s&&!c)continue;let l=Cn(e,o),u=s||o.invalid?0:l.options.pendingMs??e.options.defaultPendingMs,d=l.options.pendingComponent??e.options.defaultPendingComponent;if(!d||typeof u!=`number`||u===1/0){i&&(i[0]=t,i[2]=0,i[4]=!0);return}let f=l.options.pendingMinMs??e.options.defaultPendingMinMs??0,p=!1;if(i?.[1]===o.id?(p=i[0]!==t,i[0]=t):(clearTimeout(i?.[3]),e._pending=i=void 0),i||(e._pending=i=[t,o.id,c?Date.now()+f:t[4]+u,void 0,c||void 0,d]),i[4]&&!p&&i[5]===d)return;if(i[5]=d,!i[4]){clearTimeout(i[3]);let n=i[2]-Date.now();if(n>0){i[3]=setTimeout(()=>Kn(e,t),n);return}i[2]=0}let m=n.map(e=>({...e,_flight:void 0}));m[a].status=`pending`;let h=i[4]=e.startTransition(()=>e.stores.setMatches(m),m).then(t=>(t&&e._pending===i&&i[4]===h&&!i[2]&&(i[2]=Date.now()+f),t));return}}function qn(e,t){let n=e._pending;(e._tx===t||!e._tx?.[3].some(e=>e.id===n?.[1]))&&(clearTimeout(n?.[3]),e._pending=void 0)}async function Jn(e,t){let n=e._pending;if(!n)return;clearTimeout(n[3]);let r=n[2]-Date.now();if(!n[4]||r<=0||!mn(t[3]).some(e=>e.id===n[1]))return;let i;try{await Sn(new Promise(e=>{i=setTimeout(e,r)}),t[0].signal)}catch{}clearTimeout(i)}function Yn(e,t){e._committed=t,e.stores.setMatches(t)}function Xn(e,t,n,r){let i=e._committed,a=e._lifecycleEnd,o=e._cache;for(let e of n)e.preload=!1,r&&(e._assetEnd=void 0);let s=mn(n).length,c=new Map;{let t=Date.now(),r=new Set;for(let e=0;e<n.length;e++){let t=n[e];(e<s||t.status===`success`)&&r.add(t.id)}for(let n of[...i,...o.values()]){if(n.status!==`success`||r.has(n.id))continue;let i=Cn(e,n);!i.options.loader||t-n.updatedAt>=(n.preload?i.options.preloadGcTime??e.options.defaultPreloadGcTime??3e5:i.options.gcTime??e.options.defaultGcTime??3e5)||c.set(n.id,o.get(n.id)===n?n:{...n,_flight:void 0,isFetching:!1,context:{}})}}t[3]=[],e._cache=c;let l=e._lifecycleEnd=Xt(n);Yn(e,n),An(e,[...o.values(),...i].filter(e=>e._flight&&c.get(e.id)!==e),n),Zt(e,i,n,a,l,t)}async function Zn(e,t){let n=e._tx;for(;n&&n!==t;)t=n,await n[5],n=e._tx}function Qn(e,t,n){let r=n[1].options,i=n[2];if(!i)return e.navigate({...r,replace:!0,ignoreBlocker:!0});if(r.reloadDocument)return e.navigate({href:(i.maskedLocation??i).publicHref,reloadDocument:!0,replace:!0,ignoreBlocker:!0});i._redirects=t[1]+1,e._pendingLocation=i;let a=e.commitLocation({...i,viewTransition:r.viewTransition,replace:!0,resetScroll:r.resetScroll,hashScrollIntoView:r.hashScrollIntoView,ignoreBlocker:!0});return queueMicrotask(()=>{e._pendingLocation===i&&(e._pendingLocation=void 0)}),a}async function $n(e,t,n,r,i){let a=n.map(e=>({...e}));jn(a);for(let t of r)kn(e,a[t[0]]),a[t[0]]=t[3];let o=[t[2],a],s;try{s=await Un(e,o,r,t[0],i)}catch(t){throw An(e,a),t}if(xn(s)){An(e,a),s[0]===yn&&e._tx===t&&e._committed===n&&await Qn(e,t,s);return}if(await Wn(e,s,t[0].signal),e._tx!==t||e._committed!==n){An(e,a);return}for(let t of a){let n=e._cache.get(t.id);n?._flight&&n._flight===t._flight&&(e._cache.delete(t.id),kn(e,n))}Yn(e,a),An(e,n,a)}async function er(e,t,n,r,i,a){let o=await Gn(e,t[2],t[3],[t[0],t[1],e._committed,void 0,i,n,a,r]);if(xn(o)){let n=o[0]===yn&&e._tx===t;if((!n||o[1].options.reloadDocument)&&qn(e,t),An(e,t[3]),t[3]=[],!n)return;if(e._tx!==t){qn(e,t);return}await Qn(e,t,o);return}let s=o[1];if(e._tx===t&&await Jn(e,t),e._tx!==t){qn(e,t),An(e,s),Bn(e,o);return}let c=t[2],l=Jt(c,e.stores.resolvedLocation.get()),u=o[2];await e.startViewTransition(async()=>
11{if(e._tx===t&&await Jn(e,t),e._tx!==t){qn(e,t),An(e,s),Bn(e,o);return}let n=await e.startTransition(()=>{qn(e,t),Xn(e,t,s,a),e._tx===t&&(e.emit({type:`onLoad`,...l}),e._tx===t&&e.emit({type:`onBeforeRouteMount`,...l}))},s);if(e._tx!==t){Bn(e,o);return}u?.length&&$n(e,t,s,u,o[3]).catch(console.error),e.batch(()=>{e.stores.resolvedLocation.set(c),e.stores.status.set(`idle`),e._tx===t&&e.emit({type:`onResolved`,...l}),n&&e._tx===t&&e.emit({type:`onRendered`,...l})}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0)})}async function tr(e,t){let n=e._tx,r=e.stores.resolvedLocation.get(),i=r??e.stores.location.get(),a=e.latestLocation,o=e._pendingLocation,s=o?.href===a.href?o._redirects??0:0,c=e._handoff,l=c?.[0](),u=new AbortController,d=e._preflight;if(e._preflight=u,l||c?.[1](),d?.abort(),!u.signal.aborted){let t=Jt(a,r);e.emit({type:`onBeforeNavigate`,...t}),u.signal.aborted||e.emit({type:`onBeforeLoad`,...t})}if(u.signal.aborted){await Zn(e,n);return}let f=i.href===a.href,p=u,m=e.matchRoutes(a,{_controller:u});jn(m);let h=l?c[1](m):void 0;if(h?p=l:l?.abort(),u.signal.aborted){An(e,m),await Zn(e,n);return}e._preflight=void 0;let g,_=()=>er(e,y,f,()=>Kn(e,y),t?.sync,h),v=t?.sync?new Promise(e=>g=e):Promise.resolve().then(_),y=[p,s,a,m,Date.now(),v.then(()=>Zn(e,y))];if(e._tx=y,n){for(let t of e.stores.matches.get()){if(e._tx!==y)break;t.isFetching&&Mn(e,t,!1)}n[0].abort(),An(e,n[3],y[3],!0)}if(e._tx!==y){An(e,y[3]),y[3]=[],g?.(),await Zn(e,y);return}e.batch(()=>{e.stores.status.set(`pending`),e.stores.location.set(a)}),(h||!e._committed.length&&m[0]?.status!==`success`&&!m.some(e=>e._notFound))&&Kn(e,y),g?.(_()),await y[5]}async function nr(e,t){let n=e.buildLocation(t);for(let t=0;;t++){let r=e._committed,i=new AbortController,a,o,s;try{try{a=e.matchRoutes(n,{_controller:i}),jn(a),o=(e._preloads??=new Map).set(i,a),s=await Gn(e,n,a,[i,t,r,!0])}finally{o&&(o=o.delete(i),An(e,a)),i.abort()}if(!xn(s))return s[1];if(!o||s.length<3)return;n=s[2]}catch(e){h(e)||console.error(e);return}}}async function rr(e){let t=window.$_TSR,n=e.options.serializationAdapters;n?.length&&(t.t=new Map(n.map(e=>[e.key,e.fromSerializable])),t.buffer.forEach(e=>e())),t.initialized=!0;let r=t.router;e.ssr={manifest:r.manifest},e.options.ssr={nonce:document.querySelector(`meta[property="csp-nonce"]`)?.content};let i=r.matches,a=new AbortController,o=e._preflight;e._preflight=a,o?.abort();let s=()=>e._preflight===a,c,l,u,d;try{if(await Sn(e.options.hydrate?.(r.dehydratedData),a.signal),!s())return;let t=e.history.location;u=t.href,d=t.state,e.updateLatestLocation(),c=e.latestLocation,e.stores.location.set(c),l=e.matchRoutes(c,{_controller:a})}catch(t){if(s()&&(e._preflight=void 0),a.abort(t),t!==a.signal)throw t}if(!s())return;let f=[],p,m=0,h=t=>{m=Math.min(m,t+1);let n=f.splice(t);for(let t of n)Cn(e,t).options.loader&&(t.status===`success`||!t.invalid&&`loaderData`in t)&&In(e,{...t,status:`success`,error:void 0,preload:!0},e._cache.get(t.id));An(e,n)},g=i.length>l.length?l.findIndex(e=>e._notFound)+1:i.length,_=!1;for(let t=0;t<g;t++){let n=l[t],r=i[t];if(typeof r.i!=`string`||He(r.i)!==n.id){p??=t;break}m=t+1;let a=Cn(e,n);if((`l`in r||r.s===`success`&&r.e===void 0&&a.options.loader)&&(n.loaderData=r.l),n.status=r.s,n.ssr=r.ssr,a.options.ssr=n.ssr,n.updatedAt=r.u,n.error=r.e,n._notFound||=r.g,n.status===`error`||n.status===`notFound`||n._notFound){_=!0,f.push(n),(n.ssr===!1||n.ssr===`data-only`)&&(p??=t);break}if(n.status===`pending`){p??=t;break}f.push(n),n.ssr===`data-only`&&(p??=t)}!_&&f.length===g&&g<l.length&&(p=g);let v=f.map(async t=>{try{let n=Cn(e,t);return await(t._notFound?Promise.all([pn(n),pn(n,`notFoundComponent`)]):pn(n,t.status===`error`?`errorComponent`:t.status===`notFound`?`notFoundComponent`:void 0)),!0}catch{return!1}}),y=0;try{for(;y<v.length&&await Sn(v[y],a.signal);)y++}catch{return}if(!s())return;y<f.length&&h(y);let b=Math.max(p===f.length?f.length+1:f.length,y<v.length?y:m);for(let t=0;t<b;t++){let n=l[t],r=Cn(e,n),o=l[t-1]?.context??e.options.context??{},u;if(r.options.context){try{u=n._ctx=r.options.context({deps:n.loaderDeps,params:n.params,context:o,location:c,navigate:t=>e.navigate({...t,_fromLocation:c}),buildLocation:e.buildLocation,cause:n.cause,abortController:a,preload:!1,matches:l,routeId:r.id})||{}}catch{if(!s())return;if(n.status!==`error`&&n.status!==`notFound`&&!n._notFound){p=Math.min(p??t,t),h(t);break}}if(!s())return}n.context={...o,...u,...f[t]&&i[t].b}}if(await Wn(e,[c,l],a.signal,0,m),!s())return;let x=p!==void 0||f.length<g,S=_&&f.length===g?l:f,C=x?l:S,ee;if(x&&p!==void 0){let e=C[p];ee=e.ssr===`data-only`&&m>p+1?m:void 0,C=C.slice(),C[p]={...e,status:`pending`,ssr:e.ssr===`data-only`&&`data-only`,_assetEnd:ee}}let te=()=>{let t=e.history.location;return x&&!e._tx&&t.href===u&&t.state===d&&e._committed===S&&S.length&&!a.signal.aborted?a:void 0},ne=[te,t=>{if(e._handoff!==ne)return;e._handoff=void 0;let n=S.length;
11if(!t||!te()||S.some((e,n)=>e.id!==t[n]?.id)){a.abort();return}let r=ee;if(r!==void 0){for(let e=n;e<r;e++)if(l[e]?.id!==t[e]?.id){r=e>p+1?e:void 0;break}}let i=S.map(e=>({...e}));r!==void 0&&(i[p]._assetEnd=r),An(e,t.splice(0,n,...i));for(let e=n;e<t.length;e++){let n=t[e],r=l[e];r?.id===n.id&&r._ctx&&(n._ctx=r._ctx),n.abortController=a}return n}];e._committed=S,e._lifecycleEnd=Xt(S),e._handoff=ne,e._preflight=void 0,e.batch(()=>{e.stores.setMatches(C),e.stores.status.set(`idle`),x||e.stores.resolvedLocation.set(e.stores.location.get())})}var ir=Symbol.for(`TSR_DEFERRED_PROMISE`);function ar(e,t){let n=e;return n[ir]?n:(n[ir]={status:`pending`},n.then(e=>{n[ir].status=`success`,n[ir].data=e}).catch(e=>{n[ir].status=`error`,n[ir].error={data:(t?.serializeError??qt)(e),__isServerError:!0}}),n)}function or(e,t){if(e)return typeof e==`string`?e:e[t]}function sr(e){return e?.scriptFormat??`module`}function cr(e,t,n){let r=lr(t),i=or(n,`script`)??r.crossOrigin;return{...sr(e)===`iife`?{rel:`preload`,as:`script`}:{rel:`modulepreload`},href:r.href,...i?{crossOrigin:i}:{}}}function lr(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}function ur(e,t){if(t.length===0)return;if(t.length===1){e.push(t[0]);return}let n=new Set;for(let r of t){let t=JSON.stringify(r);n.has(t)||(n.add(t),e.push(r))}}function dr(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}function fr(e,t,n,r){let i=hn(e),a=[],o=[];for(let e of i)for(let t of Array.isArray(e.scripts)?e.scripts:[]){if(!t)continue;let{children:e,...i}=t;a.push({tag:`script`,attrs:{...i,...r,nonce:n},children:e})}if(t)for(let e of i)for(let r of t.routes[e.routeId]?.scripts??[])o.push({tag:`script`,attrs:{...r.attrs,nonce:n},children:r.children});return[a,o]}function pr([e,t],n){return n?[...n.before,...e,...t,n.boundary]:[...e,...t]}function mr(e){return e}var hr=mr({key:`$TSS/serverfn`,test:e=>typeof e!=`function`||!(l in e)?!1:!!e[l],toSerializable:({serverFnMeta:e})=>({functionId:e.id}),fromSerializable:({functionId:e})=>d(e)}),j=t(s(),1),M=n();function gr({promise:e}){if(xe)return xe(e);let t=ar(e);if(t[ir].status===`pending`)throw t;if(t[ir].status===`error`)throw t[ir].error;return t[ir].data}function _r(e){let t=(0,M.jsx)(vr,{...e});return e.fallback?(0,M.jsx)(j.Suspense,{fallback:e.fallback,children:t}):t}function vr(e){let t=gr(e);return e.children(t)}var yr=class extends j.Component{constructor(...e){super(...e),this.state={error:0},this.reset=()=>{this.setState({error:0})}}static getDerivedStateFromProps(e,t){let n=e.getResetKey();return t.error&&t.resetKey!==n?{resetKey:n,error:0}:{resetKey:n}}static getDerivedStateFromError(e){return{error:[e]}}componentDidCatch(e,t){this.props.onCatch?.(e,t)}render(){let e=this.state.error;return e?j.createElement(this.props.errorComponent??br,{error:e[0],reset:this.reset}):this.props.children}};function br({error:e}){let[t,n]=j.useState(!1);return(0,M.jsxs)(`div`,{style:{padding:`.5rem`,maxWidth:`100%`},children:[(0,M.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`.5rem`},children:[(0,M.jsx)(`strong`,{style:{fontSize:`1rem`},children:`Something went wrong!`}),(0,M.jsx)(`button`,{style:{appearance:`none`,fontSize:`.6em`,border:`1px solid currentColor`,padding:`.1rem .2rem`,fontWeight:`bold`,borderRadius:`.25rem`},onClick:()=>n(e=>!e),children:t?`Hide Error`:`Show Error`})]}),(0,M.jsx)(`div`,{style:{height:`.25rem`}}),t?(0,M.jsx)(`div`,{children:(0,M.jsx)(`pre`,{style:{fontSize:`.7em`,border:`1px solid red`,borderRadius:`.25rem`,padding:`.3rem`,color:`red`,overflow:`auto`},children:e?.message?(0,M.jsx)(`code`,{children:e.message}):null})}):null]})}function xr({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;
11if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(!0)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(!0)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function Sr(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var Cr=[],wr=0,{link:Tr,unlink:Er,propagate:Dr,checkDirty:Or,shallowPropagate:kr}=xr({update(e){return e._update()},notify(e){Cr[jr++]=e,e.flags&=-3},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,Fr(e))}}),Ar=0,jr=0,Mr,Nr=0;function Pr(e){try{++Nr,e()}finally{--Nr||Ir()}}function Fr(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=Er(n,e)}function Ir(){if(!(Nr>0)){for(;Ar<jr;){let e=Cr[Ar];Cr[Ar++]=void 0,e.notify()}Ar=0,jr=0}}function Lr(e,t){let n=typeof e==`function`,r=e,i={_snapshot:n?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:+!n,get(){return Mr!==void 0&&Tr(i,Mr,wr),i._snapshot},subscribe(e){let t=Sr(e),n={current:!1},r=Rr(()=>{i.get(),n.current?(Mr=void 0,t.next?.(i._snapshot)):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=Mr,o=t?.compare??Object.is;if(n)Mr=i,++wr,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=5);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{Mr=a,n&&(i.flags&=-5),Fr(i)}}};return n?(i.flags=17,i.get=function(){let e=i.flags;if(e&16||e&32&&Or(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&kr(e)}}else e&32&&(i.flags=e&-33);return Mr!==void 0&&Tr(i,Mr,wr),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(Dr(e),kr(e),Ir())}},i}function Rr(e){let t=()=>{let t=Mr;Mr=n,++wr,n.depsTail=void 0,n.flags=6;try{return e()}finally{Mr=t,n.flags&=-5,Fr(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:6,notify(){let e=this.flags;e&16||e&32&&Or(this.deps,this)?t():this.flags=2},stop(){this.flags=0,this.depsTail=void 0,Fr(this)}};return t(),n}function zr(e){let t=we(),n=`not-found-${T(t.stores.location,e=>e.pathname)}-${T(t.stores.status)}`;return(0,M.jsx)(yr,{getResetKey:()=>n,onCatch:(t,n)=>{if(h(t))e.onCatch?.(t,n);else throw t},errorComponent:({error:t})=>{if(h(t))return e.fallback?.(t);throw t},children:e.children})}function Br(){return(0,M.jsx)(`p`,{children:`Not Found`})}function Vr(e,t,n){return t.options.notFoundComponent?(0,M.jsx)(t.options.notFoundComponent,{...n}):e.options.defaultNotFoundComponent?(0,M.jsx)(e.options.defaultNotFoundComponent,{...n}):(0,M.jsx)(Br,{})}function Hr(e,t){let n=t?.options.pendingComponent??e.options.defaultPendingComponent;return n?(0,M.jsx)(n,{}):null}var Ur=(e,t)=>e[0]===t[0]&&e[1]===t[1],Wr=(e,t,n)=>!t.isRoot||t.options.shellComponent||t.options.wrapInSuspense||n===!1||n===`data-only`||!e.ssr,Gr=j.memo(function({routeId:e}){let t=we();return(0,M.jsx)(Kr,{router:t,match:T(t.stores.getMatchStore(e))})});function Kr({router:e,match:t}){let n=e.routesById[t.routeId],r=Hr(e,n),i=n.options.errorComponent??e.options.defaultErrorComponent,a=n.options.onCatch??e.options.defaultOnCatch,o=n.isRoot?n.options.notFoundComponent??e.options.notFoundRoute?.options.component:n.options.notFoundComponent,s=t.ssr===!1||t.ssr===`data-only`,c=Wr(e,n,t.ssr)&&(n.options.wrapInSuspense??r??(n.options.errorComponent?.preload||s)),l=(0,M.jsx)(qr,{match:t});s&&(l=(0,M.jsx)(pe,{fallback:r,children:l})),o&&(l=(0,M.jsx)(zr,{fallback:e=>{if(e.routeId??=t.routeId,e.routeId!==t.routeId)throw e;return j.createElement(o,e)},children:l})),i&&(l=(0,M.jsx)(yr,{getResetKey:()=>t,errorComponent:i,onCatch:(e,n)=>{if(h(e))throw e.routeId??=t.routeId,e;a?.(e,n)},children:l})),c&&(l=(0,M.jsx)(j.Suspense,{fallback:r,children:l}));let u=n.isRoot?n.options.shellComponent:void 0;return(0,M.jsx)(ve.Provider,{value:t.routeId,children:u?(0,M.jsxs)(u,{children:[l,null]}):(0,M.jsxs)(M.Fragment,{children:[l,null]})})}var qr=j.memo(function({match:e}){let t=we(),n=e.routeId,r=t.routesById[n],i=j.useMemo(()=>{let i=(r.options.remountDeps??t.options.defaultRemountDeps)?.({routeId:n,loaderDeps:e.loaderDeps,params:e._strictParams,search:e._strictSearch});return i?JSON.stringify(i):void 0},[n,e.loaderDeps,e._strictParams,e._strictSearch,r.options.remountDeps,t.options.defaultRemountDeps]),a=j.useMemo(()=>{let e=r.options.component??t.options.defaultComponent;return e?(0,M.jsx)(e,{},i):(0,M.jsx)(Jr,{})},[i,r.options.component,t.options.defaultComponent]);
11if(e.status===`pending`){if(t.ssr&&!Wr(t,r,e.ssr))return a;if(t._tx)throw t._tx[5];return Hr(t,r)}if(e.status===`notFound`)return Vr(t,r,e.error);if(e.status===`error`)throw e.error;return a}),Jr=j.memo(function(){let e=we(),t=j.useContext(ve),n,r,i;{let a=e.stores.getMatchStore(t);[n,r]=T(a,e=>[!!e._notFound,e.error],{compare:Ur}),i=T(e.stores.ids,e=>e[e.indexOf(t)+1])}if(n)return Vr(e,e.routesById[t],r);if(!i)return null;let a=(0,M.jsx)(Gr,{routeId:i});return t===`__root__`?(0,M.jsx)(j.Suspense,{fallback:Hr(e),children:a}):a});function Yr(e,t){let n=e[1];e.length=0,n?.(t)}function Xr({t:e}){let t=we(),n=t._rendered??=[];return t.startTransition=(r,i)=>new Promise(a=>{Yr(n,!1),n.push(i,a),e(t),j.startTransition(r)}),Se(()=>{let e=t.history.subscribe(t.load);t.updateLatestLocation();let r=t.latestLocation,i=t.buildLocation({to:r.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(ae(r.publicHref)!==ae(i.publicHref))return t.commitLocation({...i,replace:!0,ignoreBlocker:!0}),e;let a=t.stores.resolvedLocation.get();return a?.href===r.href&&a.state.__TSR_key===r.state.__TSR_key?n.push(t.stores.matches.get(),e=>{e&&t.emit({type:`onRendered`,...Jt(a,a)})}):t._tx||t.load({sync:!0}).catch(console.error),e},[t,t.history]),null}function Zr(){let e=we(),t=e.routesById[ye],n=Hr(e,t),r=(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(Xr,{t:j.useState()[1]}),e.ssr?(0,M.jsx)(Qr,{}):(0,M.jsx)(j.Suspense,{fallback:n,children:(0,M.jsx)(Qr,{})})]});return e.options.InnerWrap?(0,M.jsx)(e.options.InnerWrap,{children:r}):r}function Qr(){let e=we(),t=e._rendered,n=T(e.stores.matches,e=>t[0]??e),r=n[0],i=r?.routeId;Se(()=>{t[0]===n&&Yr(t,!0)},[t,n]);let a=i?(0,M.jsx)(Gr,{routeId:i}):null;return e.options.disableGlobalCatchBoundary?a:(0,M.jsx)(yr,{getResetKey:()=>r,onCatch:void 0,children:a})}var $r=e=>({createMutableStore:Lr,createReadonlyStore:Lr,batch:Pr}),ei=e=>new ti(e),ti=class extends Qt{constructor(e){super(e,$r)}};function ni({router:e,children:t,...n}
11){ge(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,M.jsx)(Ce.Provider,{value:e,children:t});return e.options.Wrap?(0,M.jsx)(e.options.Wrap,{children:r}):r}function ri({router:e,...t}){return(0,M.jsx)(ni,{router:e,...t,children:(0,M.jsx)(Zr,{})})}function ii(e,t){if(t)for(let[n,r]of Object.entries(t))n!==`suppressHydrationWarning`&&r!==void 0&&r!==!1&&e.setAttribute(n,typeof r==`boolean`?``:String(r))}function ai(e){let{attrs:t,children:n,nonce:r,preventScriptHoist:i}=e,a=j.useMemo(()=>n===void 0?void 0:{__html:n},[n]);switch(e.tag){case`title`:return(0,M.jsx)(`title`,{...t,suppressHydrationWarning:!0,children:n});case`meta`:return(0,M.jsx)(`meta`,{...t,suppressHydrationWarning:!0});case`link`:return(0,M.jsx)(`link`,{...t,precedence:t?.precedence??(t?.rel===`stylesheet`?`default`:void 0),nonce:r,suppressHydrationWarning:!0});case`style`:return e.inlineCss,(0,M.jsx)(`style`,{...t,dangerouslySetInnerHTML:a,nonce:r});case`script`:return(0,M.jsx)(oi,{attrs:t,preventScriptHoist:i,children:n});default:return null}}function oi({attrs:e,children:t,preventScriptHoist:n}){we();let r=le(),i=j.useMemo(()=>t===void 0?void 0:{__html:t},[t]),a=typeof e?.type==`string`&&e.type!==``&&e.type!==`text/javascript`&&e.type!==`module`;if(j.useEffect(()=>{if(!a){if(e?.src){let t=document.createElement(`a`);t.href=e.src;let n=t.href;for(let e of document.scripts)if(e.src===n)return;let r=document.createElement(`script`);return ii(r,e),document.head.appendChild(r),()=>r.remove()}if(typeof t==`string`){let n=typeof e?.type==`string`?e.type:`text/javascript`,r=typeof e?.nonce==`string`?e.nonce:void 0;for(let e of document.scripts){if(e.hasAttribute(`src`))continue;let i=e.getAttribute(`type`)??`text/javascript`,a=e.getAttribute(`nonce`)??void 0;if(e.textContent===t&&i===n&&a===r)return}let i=document.createElement(`script`);return i.textContent=t,ii(i,e),document.head.appendChild(i),()=>i.remove()}}},[e,t,a]),a&&typeof t==`string`)return(0,M.jsx)(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:i});if(!r){if(e?.src)return(0,M.jsx)(`script`,{...e,suppressHydrationWarning:!0});if(typeof t==`string`)return(0,M.jsx)(`script`,{...e,dangerouslySetInnerHTML:i,suppressHydrationWarning:!0})}return null}function si(e,t,n,r){n=hn(n);let i=n.map(e=>e.meta).filter(e=>e!==void 0),a=[],o={},s;for(let e=i.length-1;e>=0;e--){let n=i[e];for(let e=n.length-1;e>=0;e--){let r=n[e];if(r)if(r.title)s||={tag:`title`,children:r.title};else if(`script:ld+json`in r)try{let e=JSON.stringify(r[`script:ld+json`]);a.push({tag:`script`,attrs:{type:`application/ld+json`},children:E(e)})}catch{}else{let e=r.name??r.property;if(e){if(o[e])continue;o[e]=!0}a.push({tag:`meta`,attrs:{...r,nonce:t}})}}}s&&a.push(s),t&&a.push({tag:`meta`,attrs:{property:`csp-nonce`,content:t}}),a.reverse();let c=n.flatMap(e=>e.links??[]).filter(e=>e!==void 0).map(e=>({tag:`link`,attrs:{...e,nonce:t}})),l=e.ssr?.manifest,u=[];l&&(n.forEach(e=>{(l.routes[e.routeId]?.css)?.forEach(e=>{let n=dr(e);u.push({tag:`link`,attrs:{rel:`stylesheet`,...n,crossOrigin:or(r,`stylesheet`)??n.crossOrigin,suppressHydrationWarning:!0,nonce:t}})})}),l.inlineStyle&&u.push({tag:`style`,attrs:{...l.inlineStyle.attrs,nonce:t},children:l.inlineStyle.children,inlineCss:!0}));let d=[];l&&n.forEach(e=>{l.routes[e.routeId]?.preloads?.forEach(e=>{d.push({tag:`link`,attrs:{...cr(l,e,r),nonce:t}})})});let f=n.flatMap(e=>e.styles??[]).filter(e=>e!==void 0).map(({children:e,...n})=>({tag:`style`,attrs:{...n,nonce:t},children:e})),p=n.flatMap(e=>e.headScripts??[]).filter(e=>e!==void 0).map(({children:e,...n})=>({tag:`script`,attrs:{...n,nonce:t},children:e})),m=[];return ur(m,a),m.push(...d),ur(m,c),m.push(...u),ur(m,f),ur(m,p),m}var ci=e=>{let t=we(),n=t.options.ssr?.nonce,r=j.useCallback(r=>si(t,n,r,e),[e,n,t]);return T(t.stores.matches,r,{compare:se})};function li(e){let t=ci(e.assetCrossOrigin),n=we().options.ssr?.nonce;return(0,M.jsx)(M.Fragment,{children:t.map(e=>(0,j.createElement)(ai,{...e,key:`tsr-meta-${JSON.stringify(e)}`,nonce:n}))})}var ui={suppressHydrationWarning:!0},di=()=>{let e=we(),t=e.options.ssr?.nonce,n=n=>{let r=fr(n,e.ssr?.manifest,t,ui);for(let e of r[1])if(typeof e.attrs?.src==`string`){let t=e;t.preventScriptHoist=!0}return r};return fi(T(e.stores.matches,e=>pr(n(e)),{compare:se}))};function fi(e){return(0,M.jsx)(M.Fragment,{children:e.map((e,t)=>(0,j.createElement)(ai,{...e,key:`tsr-scripts-${e.tag}-${t}`}))})}var pi=(e,t)=>{let n={type:`request`,...t||e},r=e=>pi({},Object.assign(n,{validator:e,inputValidator:e}));return{options:n,middleware:e=>pi({},Object.assign(n,{middleware:e})),validator:r,inputValidator:r,client:e=>pi({},Object.assign(n,{client:e})),server:e=>pi({},Object.assign(n,{server:e}))}};function mi(e,t){for(let n=0,r=t.length;n<r;n++){let r=t[n];e.has(r)||(e.add(r),r.extends&&mi(e,r.extends))}}var hi=e=>({getOptions:async()=>{let t=await e();if(t.serializationAdapters){let e=new Set;mi(e,t.serializationAdapters),t.serializationAdapters=Array.from(e)}return t},createMiddleware:pi}),gi=Symbol.for(`@supabase/supabase-js.traceContextExtractor`);function _i(){return globalThis[gi]}function vi(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function yi(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}var bi=e=>e?(...t)=>e(...t):(...e)=>
vendor: 18,838 bytes, line 11
11fetch(...e),xi=class extends Error{constructor(e,t=`FunctionsError`,n){super(e),this.name=t,this.context=n}toJSON(){return{name:this.name,message:this.message,context:this.context}}},Si=class extends xi{constructor(e){super(`Failed to send a request to the Edge Function`,`FunctionsFetchError`,e)}},Ci=class extends xi{constructor(e){super(`Relay Error invoking the Edge Function`,`FunctionsRelayError`,e)}},wi=class extends xi{constructor(e){super(`Edge Function returned a non-2xx status code`,`FunctionsHttpError`,e)}},Ti;(function(e){e.Any=`any`,e.ApNortheast1=`ap-northeast-1`,e.ApNortheast2=`ap-northeast-2`,e.ApSouth1=`ap-south-1`,e.ApSoutheast1=`ap-southeast-1`,e.ApSoutheast2=`ap-southeast-2`,e.CaCentral1=`ca-central-1`,e.EuCentral1=`eu-central-1`,e.EuWest1=`eu-west-1`,e.EuWest2=`eu-west-2`,e.EuWest3=`eu-west-3`,e.SaEast1=`sa-east-1`,e.UsEast1=`us-east-1`,e.UsWest1=`us-west-1`,e.UsWest2=`us-west-2`})(Ti||={});var Ei=class{constructor(e,{headers:t={},customFetch:n,region:r=Ti.Any}={}){this.url=e,this.headers=t,this.region=r,this.fetch=bi(n)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e){return yi(this,arguments,void 0,function*(e,t={}){var n;let r,i,a;try{let{headers:n,method:o,body:s,signal:c,timeout:l}=t,u={},{region:d}=t;d||=this.region;let f=new URL(`${this.url}/${e}`);d&&d!==`any`&&(u[`x-region`]=d,f.searchParams.set(`forceFunctionRegion`,d));let p,m=!!n&&Object.keys(n).some(e=>e.toLowerCase()===`content-type`);s&&!m?typeof Blob<`u`&&s instanceof Blob||s instanceof ArrayBuffer?(u[`Content-Type`]=`application/octet-stream`,p=s):typeof s==`string`?(u[`Content-Type`]=`text/plain`,p=s):typeof FormData<`u`&&s instanceof FormData?p=s:(u[`Content-Type`]=`application/json`,p=JSON.stringify(s)):p=s&&typeof s!=`string`&&!(typeof Blob<`u`&&s instanceof Blob)&&!(s instanceof ArrayBuffer)&&!(typeof FormData<`u`&&s instanceof FormData)?JSON.stringify(s):s;let h=c;l&&(i=new AbortController,r=setTimeout(()=>i.abort(),l),c?(h=i.signal,a=()=>i.abort(),c.addEventListener(`abort`,a)):h=i.signal);let g=yield this.fetch(f.toString(),{method:o||`POST`,headers:Object.assign(Object.assign(Object.assign({},u),this.headers),n),body:p,signal:h}).catch(e=>{throw new Si(e)}),_=g.headers.get(`x-relay-error`);if(_&&_===`true`)throw new Ci(g);if(!g.ok)throw new wi(g);let v=(g.headers.get(`Content-Type`)??`text/plain`).split(`;`)[0].trim().toLowerCase(),y;return y=v===`application/json`?yield g.json():v===`application/octet-stream`||v===`application/pdf`?yield g.blob():v===`text/event-stream`?g:v===`multipart/form-data`?yield g.formData():yield g.text(),{data:y,error:null,response:g}}catch(e){return{data:null,error:e,response:e instanceof wi||e instanceof Ci?e.context:void 0}}finally{r&&clearTimeout(r),a&&((n=t.signal)==null||n.removeEventListener(`abort`,a))}})}},Di=class extends Error{constructor(e){super(e.message),this.name=`PostgrestError`,this.details=e.details,this.hint=e.hint,this.code=e.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}},Oi=3,ki=e=>Math.min(1e3*2**e,3e4),Ai=[520,503],ji=[`GET`,`HEAD`,`OPTIONS`];function Mi(e){"@babel/helpers - typeof";return Mi=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Mi(e)}function Ni(e,t){if(Mi(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Mi(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Pi(e){var t=Ni(e,`string`);return Mi(t)==`symbol`?t:t+``}function Fi(e,t,n){return(t=Pi(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ii(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Li(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Ii(Object(n),!0).forEach(function(t){Fi(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ii(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ri(e,t){return new Promise(n=>{if(t?.aborted){n();return}let r=setTimeout(()=>{t?.removeEventListener(`abort`,i),n()},e);function i(){clearTimeout(r),n()}t?.addEventListener(`abort`,i)})}function zi(e,t,n,r){return!(!r||n>=Oi||!ji.includes(e)||!Ai.includes(t))}async function N(e,t,n,r){let i=0;for(;;){let a=Li({},n.headers);i>0&&(a[`X-Retry-Count`]=String(i));let o;try{o=await e(t,{method:n.method,headers:a,body:n.body,signal:n.signal})}catch(e){if(e?.name===`AbortError`||e?.code===`ABORT_ERR`||!ji.includes(n.method))throw e;if(r&&i<Oi){let e=ki(i);i++,await Ri(e,n.signal);continue}throw e}if(zi(n.method,o.status,i,r)){let e=o.headers?.get(`Retry-After`)??null,t=e===null?ki(i):Math.max(0,parseInt(e,10)||0)*1e3;await o.text(),i++,await Ri(t,n.signal);continue}return o}}var P=class{constructor(e){this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=e.method,this.url=e.url,this.headers=new Headers(e.headers),this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=e.shouldThrowOnError??!1,this.signal=e.signal,this.isMaybeSingle=e.isMaybeSingle??!1,this.shouldStripNulls=e.shouldStripNulls??!1,this.urlLengthLimit=e.urlLengthLimit??8e3,this.retryEnabled=e.retry??!0,this.fetch=e.fetch?e.fetch:fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get(`Accept`)===`text/csv`)throw Error(`stripNulls() cannot be used with csv()`);return this.shouldStripNulls=!0,this}setHeader(e,t){return this.headers=new Headers(this.headers),this.headers.set(e,t),this}retry(e){return this.retryEnabled=e,this}then(e,t){var n=this;if(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`),this.shouldStripNulls){let e=this.headers.get(`Accept`);e===`application/vnd.pgrst.object+json`?this.headers.set(`Accept`,`application/vnd.pgrst.object+json;nulls=stripped`):(!e||e===`application/json`)&&this.headers.set(`Accept`,`application/vnd.pgrst.array+json;nulls=stripped`)}let r=this.fetch,i=(async()=>{let e={};n.headers.forEach((t,n)=>{e[n]=t});let t=await N(r,n.url.toString(),{method:n.method,headers:e,body:JSON.stringify(n.body,(e,t)=>typeof t==`bigint`?t.toString():t),signal:n.signal},n.retryEnabled);return await n.processResponse(t)})();return this.shouldThrowOnError||(i=i.catch(e=>{let t=``,n=``,r=``,i=e?.cause;if(i){let n=i?.message??``,r=i?.code??``;t=`${e?.name??`FetchError`}: ${e?.message}`,t+=`\n\nCaused by: ${i?.name??`Error`}: ${n}`,r&&(t+=` (${r})`),i?.stack&&(t+=`\n${i.stack}`)}else t=e?.stack??``;let a=this.url.toString().length;return e?.name===`AbortError`||e?.code===`ABORT_ERR`?(r=``,n=`Request was aborted (timeout or manual cancellation)`,a>this.urlLengthLimit&&(n+=`. Note: Your request URL is ${a} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):(i?.name===`HeadersOverflowError`||i?.code===`UND_ERR_HEADERS_OVERFLOW`)&&(r=``,n=`HTTP headers exceeded server limits (typically 16KB)`,a>this.urlLengthLimit&&(n+=`. Your request URL is ${a} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${e?.name??`FetchError`}: ${e?.message}`,details:t,hint:n,code:r},data:null,count:null,status:0,statusText:``}})),i.then(e,t)}async processResponse(e){var t=this;let n=null,r=null,i=null,a=e.status,o=e.statusText;if(e.ok){if(t.method!==`HEAD`){let i=await e.text();if(i!==``)if(t.headers.get(`Accept`)===`text/csv`)r=i;else if(t.headers.get(`Accept`)&&t.headers.get(`Accept`)?.includes(`application/vnd.pgrst.plan+text`))r=i;else try{r=JSON.parse(i)}catch{if(n={message:i},r=null,t.shouldThrowOnError)throw new Di({message:i,details:``,hint:``,code:``})}}let s=t.headers.get(`Prefer`)?.match(/count=(exact|planned|estimated)/),c=e.headers.get(`content-range`)?.split(`/`);if(s&&c&&c.length>1&&(i=parseInt(c[1])),t.isMaybeSingle&&Array.isArray(r))if(r.length>1){if(n={code:`PGRST116`,details:`Results contain ${r.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:`JSON object requested, multiple (or no) rows returned`},r=null,i=null,a=406,o=`Not Acceptable`,t.shouldThrowOnError)throw new Di(Li(Li({},n),{},{hint:n.hint??``}))}else r=r.length===1?r[0]:null}else{let i=await e.text();try{n=JSON.parse(i),Array.isArray(n)&&e.status===404&&(r=[],n=null,a=200,o=`OK`)}catch{e.status===404&&i===``?(a=204,o=`No Content`):n={message:i}}if(n&&t.shouldThrowOnError)throw new Di(n)}return{success:n===null,error:n,data:r,count:i,status:a,statusText:o}}returns(){return this}overrideTypes(){return this}},Bi=class extends P{throwOnError(){return super.throwOnError()}select(e){let t=!1,n=(e??`*`).split(``).map(e=>/\s/.test(e)&&!t?``:(e===`"`&&(t=!t),e)).join(``);return this.url.searchParams.set(`select`,n),this.headers.append(`Prefer`,`return=representation`),this}order(e,{ascending:t=!0,nullsFirst:n,foreignTable:r,referencedTable:i=r}={}){let a=i?`${i}.order`:`order`,o=this.url.searchParams.get(a);return this.url.searchParams.set(a,`${o?`${o},`:``}${e}.${t?`asc`:`desc`}${n===void 0?``:n?`.nullsfirst`:`.nullslast`}`),this}limit(e,{foreignTable:t,referencedTable:n=t}={}){let r=n===void 0?`limit`:`${n}.limit`;return this.url.searchParams.set(r,`${e}`),this}range(e,t,{foreignTable:n,referencedTable:r=n}={}){let i=r===void 0?`offset`:`${r}.offset`,a=r===void 0?`limit`:`${r}.limit`;return this.url.searchParams.set(i,`${e}`),this.url.searchParams.set(a,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.set(`Accept`,`application/vnd.pgrst.object+json`),this}maybeSingle(){return this.isMaybeSingle=!0,this}csv(){return this.headers.set(`Accept`,`text/csv`),this}geojson(){return this.headers.set(`Accept`,`application/geo+json`),this}explain({analyze:e=!1,verbose:t=!1,settings:n=!1,buffers:r=!1,wal:i=!1,format:a=`text`}={}){let o=[e?`analyze`:null,t?`verbose`:null,n?`settings`:null,r?`buffers`:null,i?`wal`:null].filter(Boolean).join(`|`),s=this.headers.get(`Accept`)??`application/json`;return this.headers.set(`Accept`,`application/vnd.pgrst.plan+${a}; for="${s}"; options=${o};`),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}},Vi=RegExp(`[,()]`),Hi=class extends Bi{throwOnError(){return super.throwOnError()}eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}likeAllOf(e,t){return this.url.searchParams.append(e,`like(all).{${t.join(`,`)}}`),this}likeAnyOf(e,t){return this.url.searchParams.append(e,`like(any).{${t.join(`,`)}}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}ilikeAllOf(e,t){return this.url.searchParams.append(e,`ilike(all).{${t.join(`,`)}}`),this}ilikeAnyOf(e,t){return this.url.searchParams.append(e,`ilike(any).{${t.join(`,`)}}`),this}regexMatch(e,t){return this.url.searchParams.append(e,`match.${t}`),this}regexIMatch(e,t){return this.url.searchParams.append(e,`imatch.${t}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}isDistinct(e,t){return this.url.searchParams.append(e,`isdistinct.${t}`),this}in(e,t){let n=Array.from(new Set(t)).map(e=>typeof e==`string`&&Vi.test(e)?`"${e}"`:`${e}`).join(`,`);return this.url.searchParams.append(e,`in.(${n})`),this}notIn(e,t){let n=Array.from(new Set(t)).map(e=>typeof e==`string`&&Vi.test(e)?`"${e}"`:`${e}`).join(`,`);return this.url.searchParams.append(e,`not.in.(${n})`),this}contains(e,t){return typeof t==`string`?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(`,`)}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return typeof t==`string`?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(`,`)}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return typeof t==`string`?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(`,`)}}`),this}textSearch(e,t,{config:n,type:r}={}){let i=``;r===`plain`?i=`pl`:r===`phrase`?i=`ph`:r===`websearch`&&(i=`w`);let a=n===void 0?``:`(${n})`;return this.url.searchParams.append(e,`${i}fts${a}.${t}`),this}match(e){return Object.entries(e).filter(([e,t])=>t!==void 0).forEach(([e,t])=>{this.url.searchParams.append(e,`eq.${t}`)}),this}not(e,t,n){return this.url.searchParams.append(e,`not.${t}.${n}`),this}or(e,{foreignTable:t,referencedTable:n=t}={}){let r=n?`${n}.or`:`or`;return this.url.searchParams.append(r,`(${e})`),this}filter(e,t,n){return this.url.searchParams.append(e,`${t}.${n}`),this}},Ui=class{constructor(e,{headers:t={},schema:n,fetch:r,urlLengthLimit:i=8e3,retry:a}){this.url=e,this.headers=new Headers(t),this.schema=n,this.fetch=r,this.urlLengthLimit=i,this.retry=a}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(e,t){let{head:n=!1,count:r}=t??{},i=n?`HEAD`:`GET`,a=!1,o=(e??`*`).split(``).map(e=>/\s/.test(e)&&!a?``:(e===`"`&&(a=!a),e)).join(``),{url:s,headers:c}=this.cloneRequestState();return s.searchParams.set(`select`,o),r&&c.append(`Prefer`,`count=${r}`),new Hi({method:i,url:s,headers:c,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(e,{count:t,defaultToNull:n=!0}={}){let{url:r,headers:i}=this.cloneRequestState();if(t&&i.append(`Prefer`,`count=${t}`),n||i.append(`Prefer`,`missing=default`),Array.isArray(e)){let t=e.reduce((e,t)=>e.concat(Object.keys(t)),[]);if(t.length>0){let e=[...new Set(t)].map(e=>`"${e}"`);r.searchParams.set(`columns`,e.join(`,`))}}return new Hi({method:`POST`,url:r,headers:i,schema:this.schema,body:e,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(e,{onConflict:t,ignoreDuplicates:n=!1,count:r,defaultToNull:i=!0}={}){let{url:a,headers:o}=this.cloneRequestState();if(o.append(`Prefer`,`resolution=${n?`ignore`:`merge`}-duplicates`),t!==void 0&&a.searchParams.set(`on_conflict`,t),r&&o.append(`Prefer`,`count=${r}`),i||o.append(`Prefer`,`missing=default`),Array.isArray(e)){let t=e.reduce((e,t)=>e.concat(Object.keys(t)),[]);if(t.length>0){let e=[...new Set(t)].map(e=>`"${e}"`);a.searchParams.set(`columns`,e.join(`,`))}}return new Hi({method:`POST`,url:a,headers:o,schema:this.schema,body:e,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(e,{count:t}={}){let{url:n,headers:r}=this.cloneRequestState();return t&&r.append(`Prefer`,`count=${t}`),new Hi({method:`PATCH`,url:n,headers:r,schema:this.schema,body:e,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:e}={}){let{url:t,headers:n}=this.cloneRequestState();return e&&n.append(`Prefer`,`count=${e}`),new Hi({method:`DELETE`,url:t,headers:n,schema:this.schema,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};function Wi(e,t){try{let t=JSON.parse(e);if(t&&typeof t==`object`&&!Array.isArray(t))return new Di({message:String(t.message??e),details:t.details??``,hint:t.hint??``,code:t.code??``})}catch{}return new Di({message:e||t,details:``,hint:``,code:``})}function Gi(e,t,n){let r=e;return{success:!1,error:new Di({message:`${r?.name??`FetchError`}: ${r?.message}`,details:``,hint:``,code:``}),data:null,count:null,status:t,statusText:n}}var Ki=class e{constructor(e,{headers:t={},schema:n,fetch:r,timeout:i,urlLengthLimit:a=8e3,retry:o}={}){this.url=e,this.headers=new Headers(t),this.schemaName=n,this.urlLengthLimit=a;let s=r??globalThis.fetch;this.fetch=i!==void 0&&i>0?(e,t)=>{let n=new AbortController,r=setTimeout(()=>n.abort(),i),a=t?.signal;if(a){if(a.aborted)return clearTimeout(r),s(e,t);let i=()=>{clearTimeout(r),n.abort()};return a.addEventListener(`abort`,i,{once:!0}),s(e,Li(Li({},t),{},{signal:n.signal})).finally(()=>{clearTimeout(r),a.removeEventListener(`abort`,i)})}return s(e,Li(Li({},t),{},{signal:n.signal})).finally(()=>clearTimeout(r))}:s,this.retry=o}from(e){if(!e||typeof e!=`string`||e.trim()===``)throw Error(`Invalid relation name: relation must be a non-empty string.`);return new Ui(new URL(`${this.url}/${e}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(t){return new e(this.url,{headers:this.headers,schema:t,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}async getOpenApiSpec(){var e=this;let t=new Headers(e.headers);t.set(`Accept`,`application/openapi+json`),e.schemaName&&t.set(`Accept-Profile`,e.schemaName);let n={};t.forEach((e,t)=>{n[t]=e});let r=e.fetch??globalThis.fetch,i;try{i=await N(r,`${e.url}/`,{method:`GET`,headers:n},e.retry??!0)}catch(e){return Gi(e,0,``)}let a;try{a=await i.text()}catch(e){return Gi(e,i.status,i.statusText)}if(i.ok)try{return{success:!0,error:null,data:JSON.parse(a),count:null,status:i.status,statusText:i.statusText}}catch{}return{success:!1,error:Wi(a,i.statusText),data:null,count:null,status:i.status,statusText:i.statusText}}rpc(e,t={},{head:n=!1,get:r=!1,count:i}={}){let a,o=new URL(`${this.url}/rpc/${e}`),s,c=e=>typeof e==`object`&&!!e&&(!Array.isArray(e)||e.some(c)),l=n&&Object.values(t).some(c);l?(a=`POST`,s=t):n||r?(a=n?`HEAD`:`GET`,Object.entries(t).filter(([e,t])=>t!==void 0).map(([e,t])=>[e,Array.isArray(t)?`{${t.join(`,`)}}`:`${t}
11`]).forEach(([e,t])=>{o.searchParams.append(e,t)})):(a=`POST`,s=t);let u=new Headers(this.headers);return l?u.set(`Prefer`,i?`count=${i},return=minimal`:`return=minimal`):i&&u.set(`Prefer`,`count=${i}`),new Hi({method:a,url:o,headers:u,schema:this.schemaName,body:s,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}},qi=class{constructor(){}static detectEnvironment(){if(typeof WebSocket<`u`)return{type:`native`,wsConstructor:WebSocket};let e=globalThis;if(typeof globalThis<`u`&&e.WebSocket!==void 0)return{type:`native`,wsConstructor:e.WebSocket};let t=typeof global<`u`?global:void 0;if(t&&t.WebSocket!==void 0)return{type:`native`,wsConstructor:t.WebSocket};if(typeof globalThis<`u`&&e.WebSocketPair!==void 0&&globalThis.WebSocket===void 0)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`&&e.EdgeRuntime||typeof navigator<`u`&&navigator.userAgent?.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.`};let n=globalThis.process;if(n){let e=n.versions;if(e&&e.node)return{type:`unsupported`,error:`Node.js detected but native WebSocket not found.`,workaround:`Ensure you are running Node.js 22+ or provide a WebSocket implementation via the transport option.`}}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(){let e=this.detectEnvironment();if(e.wsConstructor)return e.wsConstructor;let t=e.error||`WebSocket not supported in this environment.`;throw e.workaround&&(t+=`\n\nSuggested solution: ${e.workaround}`),Error(t)}static isWebSocketSupported(){try{return this.detectEnvironment().type===`native`}catch{return!1}}},Ji=`realtime-js/2.117.1`,Yi=`1.0.0`,Xi=`2.0.0`,Zi=Xi,Qi=1e4,$i=15e3,ea=1e4,ta={closed:`closed`,errored:`errored`,joined:`joined`,joining:`joining`,leaving:`leaving`},na={close:`phx_close`,error:`phx_error`,join:`phx_join`,reply:`phx_reply`,leave:`phx_leave`,access_token:`access_token`},ra={connecting:`connecting`,open:`open`,closing:`closing`,closed:`closed`},ia=class{constructor(e){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT=`broadcast`,this.allowedMetadataKeys=[],this.allowedMetadataKeys=e??[]}encode(e,t){if(e.event===this.BROADCAST_EVENT&&!(e.payload instanceof ArrayBuffer)&&typeof e.payload.event==`string`)return t(this._binaryEncodeUserBroadcastPush(e));let n=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(n))}_binaryEncodeUserBroadcastPush(e){return this._isArrayBuffer(e.payload?.payload)?this._encodeBinaryUserBroadcastPush(e):this._encodeJsonUserBroadcastPush(e)}_encodeBinaryUserBroadcastPush(e){let t=e.payload?.payload??new ArrayBuffer(0);return this._encodeUserBroadcastPush(e,this.BINARY_ENCODING,t)}_encodeJsonUserBroadcastPush(e){let t=e.payload?.payload??{},n=new TextEncoder().encode(JSON.stringify(t)).buffer;return this._encodeUserBroadcastPush(e,this.JSON_ENCODING,n)}_encodeUserBroadcastPush(e,t,n){let r=new TextEncoder,i=r.encode(e.topic),a=r.encode(e.ref??``),o=r.encode(e.join_ref??``),s=r.encode(e.payload.event),c=this.allowedMetadataKeys?this._pick(e.payload,this.allowedMetadataKeys):{},l=r.encode(Object.keys(c).length===0?``:JSON.stringify(c));if(o.length>255)throw Error(`joinRef length ${o.length} exceeds maximum of 255`);if(a.length>255)throw Error(`ref length ${a.length} exceeds maximum of 255`);if(i.length>255)throw Error(`topic length ${i.length} exceeds maximum of 255`);if(s.length>255)throw Error(`userEvent length ${s.length} exceeds maximum of 255`);if(l.length>255)throw Error(`metadata length ${l.length} exceeds maximum of 255`);let u=this.USER_BROADCAST_PUSH_META_LENGTH+o.length+a.length+i.length+s.length+l.length,d=new ArrayBuffer(this.HEADER_LENGTH+u),f=new DataView(d),p=new Uint8Array(d),m=0;f.setUint8(m++,this.KINDS.userBroadcastPush),f.setUint8(m++,o.length),f.setUint8(m++,a.length),f.setUint8(m++,i.length),f.setUint8(m++,s.length),f.setUint8(m++,l.length),f.setUint8(m++,t),p.set(o,m),m+=o.length,p.set(a,m),m+=a.length,p.set(i,m),m+=i.length,p.set(s,m),m+=s.length,p.set(l,m),m+=l.length;var h=new Uint8Array(d.byteLength+n.byteLength);return h.set(new Uint8Array(d),0),h.set(new Uint8Array(n),d.byteLength),h.buffer}decode(e,t){if(this._isArrayBuffer(e))return t(this._binaryDecode(e));if(typeof e==`string`){let[n,r,i,a,o]=JSON.parse(e);return t({join_ref:n,ref:r,topic:i,event:a,payload:o})}return t({})}_binaryDecode(e){let t=new DataView(e),n=t.getUint8(0),r=new TextDecoder;switch(n){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(e,t,r)}}_decodeUserBroadcast(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=t.getUint8(4),s=this.HEADER_LENGTH+4,c=n.decode(e.slice(s,s+r));s+=r;let l=n.decode(e.slice(s,s+i));s+=i;let u=n.decode(e.slice(s,s+a));s+=a;let d=e.slice(s,e.byteLength),f=o===this.JSON_ENCODING?JSON.parse(n.decode(d)):d,p={type:this.BROADCAST_EVENT,event:l,payload:f};return a>0&&(p.meta=JSON.parse(u)),{join_ref:null,ref:null,topic:c,event:this.BROADCAST_EVENT,payload:p}}_isArrayBuffer(e){return e instanceof ArrayBuffer||e?.constructor?.name===`ArrayBuffer`}_pick(e,t){return!e||typeof e!=`object`?{}:Object.fromEntries(Object.entries(e).filter(([e])=>t.includes(e)))}},F;(function(e){e.abstime=`abstime`,e.bool=`bool`,e.date=`date`,e.daterange=`daterange`,e.float4=`float4`,e.float8=`float8`,e.int2=`int2`,e.int4=`int4`,e.int4range=`int4range`,e.int8=`int8`,e.int8range=`int8range`,e.json=`json`,e.jsonb=`jsonb`,e.money=`money`,e.numeric=`numeric`,e.oid=`oid`,e.reltime=`reltime`,e.text=`text`,e.time=`time`,e.timestamp=`timestamp`,e.timestamptz=`timestamptz`,e.timetz=`timetz`,e.tsrange=`tsrange`,e.tstzrange=`tstzrange`})(F||={});var aa=(e,t,n={})=>{let r=n.skipTypes??[];return t?Object.keys(t).reduce((n,i)=>(n[i]=oa(i,e,t,r),n),{}):{}},oa=(e,t,n,r)=>{let i=t.find(t=>t.name===e)?.type,a=n[e];return i&&!r.includes(i)?sa(i,a):ca(a)},sa=(e,t)=>{if(e.charAt(0)===`_`)return fa(t,e.slice(1,e.length));switch(e){case F.bool:return la(t);case F.float4:case F.float8:case F.int2:case F.int4:case F.int8:case F.numeric:case F.oid:return ua(t);case F.json:case F.jsonb:return da(t);case F.timestamp:return pa(t);case F.abstime:case F.date:case F.daterange:case F.int4range:case F.int8range:case F.money:case F.reltime:case F.text:case F.time:case F.timestamptz:case F.timetz:case F.tsrange:case F.tstzrange:return ca(t);default:return ca(t)}},ca=e=>e,la=e=>{switch(e){case`t`:return!0;case`f`:return!1;default:return e}},ua=e=>{if(typeof e==`string`){let t=parseFloat(e);
vendor: 19,250 bytes, lines 11-12
11if(!Number.isNaN(t))return t}return e},da=e=>{if(typeof e==`string`)try{return JSON.parse(e)}catch{return e}return e},fa=(e,t)=>{if(typeof e!=`string`)return e;let n=e.length-1,r=e[n];if(e[0]===`{`&&r===`}`){let r,i=e.slice(1,n);try{r=JSON.parse(`[`+i+`]`)}catch{r=i?i.split(`,`):[]}return r.map(e=>sa(t,e))}return e},pa=e=>typeof e==`string`?e.replace(` `,`T`):e,ma=e=>{let t=new URL(e);return t.protocol=t.protocol.replace(/^ws/i,`http`),t.pathname=t.pathname.replace(/\/+$/,``).replace(/\/socket\/websocket$/i,``).replace(/\/socket$/i,``).replace(/\/websocket$/i,``),t.pathname===``||t.pathname===`/`?t.pathname=`/api/broadcast`:t.pathname+=`/api/broadcast`,t.href},ha=e=>typeof e==`function`?e:function(){return e},ga=typeof self<`u`?self:null,_a=typeof window<`u`?window:null,va=ga||_a||globalThis,ya=`2.0.0`,ba=1e4,xa=1e3,Sa=100,Ca={connecting:0,open:1,closing:2,closed:3},wa={closed:`closed`,errored:`errored`,joined:`joined`,joining:`joining`,leaving:`leaving`},Ta={close:`phx_close`,error:`phx_error`,join:`phx_join`,reply:`phx_reply`,leave:`phx_leave`},Ea={longpoll:`longpoll`,websocket:`websocket`},Da={complete:4},Oa=`base64url.bearer.phx.`,ka=class{constructor(e,t,n,r){this.channel=e,this.event=t,this.payload=n||function(){return{}},this.receivedResp=null,this.timeout=r,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(e){this.timeout=e,this.reset(),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()}))}receive(e,t){return this.hasReceived(e)&&t(this.receivedResp.response),this.recHooks.push({status:e,callback:t}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:e,response:t,_ref:n}){this.recHooks.filter(t=>t.status===e).forEach(e=>e.callback(t))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,e=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=e,this.matchReceive(e)}),this.timeoutTimer=setTimeout(()=>{this.trigger(`timeout`,{})},this.timeout)}hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}trigger(e,t){this.channel.trigger(this.refEvent,{status:e,response:t})}},Aa=class{constructor(e,t){this.callback=e,this.timerCalc=t,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries+=1,this.callback()},this.timerCalc(this.tries+1))}},ja=class{constructor(e,t,n){this.state=wa.closed,this.topic=e,this.params=ha(t||{}),this.socket=n,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new ka(this,Ta.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new Aa(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive(`ok`,()=>{this.state=wa.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(e=>e.send()),this.pushBuffer=[]}),this.joinPush.receive(`error`,e=>{this.state=wa.errored,this.socket.hasLogger()&&this.socket.log(`channel`,`error ${this.topic}`,e),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log(`channel`,`close ${this.topic}`),this.state=wa.closed,this.socket.remove(this)}),this.onError(e=>{this.socket.hasLogger()&&this.socket.log(`channel`,`error ${this.topic}`,e),this.isJoining()&&this.joinPush.reset(),this.state=wa.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive(`timeout`,()=>{this.socket.hasLogger()&&this.socket.log(`channel`,`timeout ${this.topic}`,this.joinPush.timeout),new ka(this,Ta.leave,ha({}),this.timeout).send(),this.state=wa.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(Ta.reply,(e,t)=>{this.trigger(this.replyEventName(t),e)})}join(e=this.timeout){if(this.joinedOnce)throw Error(`tried to join multiple times. 'join' can only be called a single time per channel instance`);return this.timeout=e,this.joinedOnce=!0,this.rejoin(),this.joinPush}teardown(){this.pushBuffer.forEach(e=>e.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=wa.closed,this.bindings=[]}onClose(e){this.on(Ta.close,e)}onError(e){return this.on(Ta.error,t=>e(t))}on(e,t){let n=this.bindingRef++;return this.bindings.push({event:e,ref:n,callback:t}),n}off(e,t){this.bindings=this.bindings.filter(n=>n.event!==e||t!==void 0&&t!==n.ref)}canPush(){return this.socket.isConnected()&&this.isJoined()}push(e,t,n=this.timeout){if(t||={},!this.joinedOnce)throw Error(`tried to push '${e}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let r=new ka(this,e,function(){return t},n);return this.canPush()?r.send():(r.startTimeout(),this.pushBuffer.push(r)),r}leave(e=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=wa.leaving;let t=()=>{this.socket.hasLogger()&&this.socket.log(`channel`,`leave ${this.topic}`),this.trigger(Ta.close,`leave`)},n=new ka(this,Ta.leave,ha({}),e);return n.receive(`ok`,()=>t()).receive(`timeout`,()=>t()),n.send(),this.canPush()||n.trigger(`ok`,{}),n}onMessage(e,t,n){return t}filterBindings(e,t,n){return!0}isMember(e,t,n,r){return this.topic===e?r&&r!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log(`channel`,`dropping outdated message`,{topic:e,event:t,payload:n,joinRef:r}),!1):!0:!1}joinRef(){return this.joinPush.ref}rejoin(e=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=wa.joining,this.joinPush.resend(e))}trigger(e,t,n,r){let i=this.onMessage(e,t,n,r);if(t&&!i)throw Error(`channel onMessage callbacks must return the payload, modified or unmodified`);let a=this.bindings.filter(r=>r.event===e&&this.filterBindings(r,t,n));for(let e=0;e<a.length;e++)a[e].callback(i,n,r||this.joinRef())}replyEventName(e){return`chan_reply_${e}`}isClosed(){return this.state===wa.closed}isErrored(){return this.state===wa.errored}isJoined(){return this.state===wa.joined}isJoining(){return this.state===wa.joining}isLeaving(){return this.state===wa.leaving}},Ma=class{static request(e,t,n,r,i,a,o){if(va.XDomainRequest){let n=new va.XDomainRequest;return this.xdomainRequest(n,e,t,r,i,a,o)}if(va.XMLHttpRequest){let s=new va.XMLHttpRequest;return this.xhrRequest(s,e,t,n,r,i,a,o)}if(va.fetch&&va.AbortController)return this.fetchRequest(e,t,n,r,i,a,o);throw Error(`No suitable XMLHttpRequest implementation found`)}static fetchRequest(e,t,n,r,i,a,o){let s={method:e,headers:n,body:r},c=null;return i&&(c=new AbortController,setTimeout(()=>c.abort(),i),s.signal=c.signal),va.fetch(t,s).then(e=>e.text()).then(e=>this.parseJSON(e)).then(e=>o&&o(e)).catch(e=>{e.name===`AbortError`&&a?a():o&&o(null)}),c}static xdomainRequest(e,t,n,r,i,a,o){return e.timeout=i,e.open(t,n),e.onload=()=>{let t=this.parseJSON(e.responseText);o&&o(t)},a&&(e.ontimeout=a),e.onprogress=()=>{},e.send(r),e}static xhrRequest(e,t,n,r,i,a,o,s){e.open(t,n,!0),e.timeout=a;for(let[t,n]of Object.entries(r))e.setRequestHeader(t,n);return e.onerror=()=>s&&s(null),e.onreadystatechange=()=>{e.readyState===Da.complete&&s&&s(this.parseJSON(e.responseText))},o&&(e.ontimeout=o),e.send(i),e}static parseJSON(e){if(!e||e===``)return null;try{return JSON.parse(e)}catch{return console&&console.log(`failed to parse JSON response`,e),null}}static serialize(e,t){let n=[];for(var r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let i=t?`${t}[${r}]`:r,a=e[r];typeof a==`object`?n.push(this.serialize(a,i)):n.push(encodeURIComponent(i)+`=`+encodeURIComponent(a))}return n.join(`&`)}static appendParams(e,t){return Object.keys(t).length===0?e:`${e}${e.match(/\?/)?`&`:`?`}${this.serialize(t)}`}},Na=e=>{let t=``,n=new Uint8Array(e),r=n.byteLength;for(let e=0;e<r;e++)t+=String.fromCharCode(n[e]);return btoa(t)},Pa=class{constructor(e,t){t&&t.length===2&&t[1].startsWith(Oa)&&(this.authToken=atob(t[1].slice(Oa.length))),this.endPoint=null,this.token=null,this.skipHeartbeat=!0,this.reqs=new Set,this.awaitingBatchAck=!1,this.currentBatch=null,this.currentBatchTimer=null,this.batchBuffer=[],this.onopen=function(){},this.onerror=function(){},this.onmessage=function(){},this.onclose=function(){},this.pollEndpoint=this.normalizeEndpoint(e),this.readyState=Ca.connecting,setTimeout(()=>this.poll(),0)}normalizeEndpoint(e){return e.replace(`ws://`,`http://`).replace(`wss://`,`https://`).replace(RegExp(`(.*)/`+Ea.websocket),`$1/`+Ea.longpoll)}endpointURL(){return Ma.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(e,t,n){this.close(e,t,n),this.readyState=Ca.connecting}ontimeout(){this.onerror(`timeout`),this.closeAndRetry(1005,`timeout`,!1)}isActive(){return this.readyState===Ca.open||this.readyState===Ca.connecting}poll(){let e={Accept:`application/json`};this.authToken&&(e[`X-Phoenix-AuthToken`]=this.authToken),this.ajax(`GET`,e,null,()=>this.ontimeout(),e=>{if(e){var{status:t,token:n,messages:r}=e;if(t===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,`session_gone`,!1);return}this.token=n}else t=0;switch(t){case 200:r.forEach(e=>{setTimeout(()=>this.onmessage({data:e}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=Ca.open,this.onopen({}),this.poll();break;case 403:this.onerror(403),this.close(1008,`forbidden`,!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,`internal server error`,500);break;default:throw Error(`unhandled poll status ${t}`)}})}send(e){typeof e!=`string`&&(e=Na(e)),this.currentBatch?this.currentBatch.push(e):this.awaitingBatchAck?this.batchBuffer.push(e):(this.currentBatch=[e],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(e,t=0){this.awaitingBatchAck=!0;let n=t+Sa,r=e.slice(t,n);this.ajax(`POST`,{"Content-Type":`application/x-ndjson`},r.join(` 12`),()=>this.onerror(`timeout`),t=>{!t||t.status!==200?(this.awaitingBatchAck=!1,this.onerror(t&&t.status),this.closeAndRetry(1011,`internal server error`,!1)):n<e.length?this.batchSend(e,n):this.batchBuffer.length>0?(this.batchSend(this.batchBuffer),this.batchBuffer=[]):this.awaitingBatchAck=!1})}close(e,t,n){for(let e of this.reqs)e.abort();this.readyState=Ca.closed;let r=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:e,reason:t,wasClean:n});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<`u`?this.onclose(new CloseEvent(`close`,r)):this.onclose(r)}ajax(e,t,n,r,i){let a;a=Ma.request(e,this.endpointURL(),t,n,this.timeout,()=>{this.reqs.delete(a),r()},e=>{this.reqs.delete(a),this.isActive()&&i(e)}),this.reqs.add(a)}},Fa=class e{constructor(t,n={}){let r=n.events||{state:`presence_state`,diff:`presence_diff`};this.state=Object.create(null),this.pendingDiffs=[],this.channel=t,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(r.state,t=>{let{onJoin:n,onLeave:r,onSync:i}=this.caller;this.joinRef=this.channel.joinRef(),this.state=e.syncState(this.state,t,n,r),this.pendingDiffs.forEach(t=>{this.state=e.syncDiff(this.state,t,n,r)}),this.pendingDiffs=[],i()}),this.channel.on(r.diff,t=>{let{onJoin:n,onLeave:r,onSync:i}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(t):(this.state=e.syncDiff(this.state,t,n,r),i())})}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}list(t){return e.list(this.state,t)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(e,t,n,r){let i=this.toNullProtoObj(this.clone(e));t=this.toNullProtoObj(t);let a=Object.create(null),o=Object.create(null);return this.map(i,(e,n)=>{t[e]||(o[e]=n)}),this.map(t,(e,t)=>{let n=i[e];if(n){let r=t.metas.map(e=>e.phx_ref),i=n.metas.map(e=>e.phx_ref),s=t.metas.filter(e=>i.indexOf(e.phx_ref)<0),c=n.metas.filter(e=>r.indexOf(e.phx_ref)<0);s.length>0&&(a[e]=t,a[e].metas=s),c.length>0&&(o[e]=this.clone(n),o[e].metas=c)}else a[e]=t}),this.syncDiff(i,{joins:a,leaves:o},n,r)}static syncDiff(e,t,n,r){e=this.toNullProtoObj(e);let{joins:i,leaves:a}=this.clone(t);return n||=function(){},r||=function(){},this.map(i,(t,r)=>{let i=e[t];if(e[t]=this.clone(r),i){let n=e[t].metas.map(e=>e.phx_ref),r=i.metas.filter(e=>n.indexOf(e.phx_ref)<0);e[t].metas.unshift(...r)}n(t,i,r)}),this.map(a,(t,n)=>{let i=e[t];if(!i)return;let a=n.metas.map(e=>e.phx_ref);i.metas=i.metas.filter(e=>a.indexOf(e.phx_ref)<0),r(t,i,n),i.metas.length===0&&delete e[t]}),e}static list(e,t){return t||=function(e,t){return t},this.map(e,(e,n)=>t(e,n))}static map(e,t){return Object.getOwnPropertyNames(e).map(n=>t(n,e[n]))}static toNullProtoObj(e){if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);return Object.getOwnPropertyNames(e).forEach(n=>{t[n]=e[n]}),t}static clone(e){return JSON.parse(JSON.stringify(e))}},Ia={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(e,t){if(e.payload.constructor===ArrayBuffer)return t(this.binaryEncode(e));{let n=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(n))}},decode(e,t){if(e.constructor===ArrayBuffer)return t(this.binaryDecode(e));{let[n,r,i,a,o]=JSON.parse(e);return t({join_ref:n,ref:r,topic:i,event:a,payload:o})}},binaryEncode(e){let{join_ref:t,ref:n,event:r,topic:i,payload:a}=e,o=new TextEncoder,s=o.encode(t),c=o.encode(n),l=o.encode(i),u=o.encode(r);this.assertFieldSize(s.byteLength,`join_ref`),this.assertFieldSize(c.byteLength,`ref`),this.assertFieldSize(l.byteLength,`topic`),this.assertFieldSize(u.byteLength,`event`);let d=this.META_LENGTH+s.byteLength+c.byteLength+l.byteLength+u.byteLength,f=new ArrayBuffer(this.HEADER_LENGTH+d),p=new Uint8Array(f),m=new DataView(f),h=0;m.setUint8(h++,this.KINDS.push),m.setUint8(h++,s.byteLength),m.setUint8(h++,c.byteLength),m.setUint8(h++,l.byteLength),m.setUint8(h++,u.byteLength),p.set(s,h),h+=s.byteLength,p.set(c,h),h+=c.byteLength,p.set(l,h),h+=l.byteLength,p.set(u,h),h+=u.byteLength;var g=new Uint8Array(f.byteLength+a.byteLength);return g.set(p,0),g.set(new Uint8Array(a),f.byteLength),g.buffer},assertFieldSize(e,t){if(e>255)throw Error(`unable to convert ${t} to binary: must be less than or equal to 255 bytes, but is ${e} bytes`)},binaryDecode(e){let t=new DataView(e),n=t.getUint8(0),r=new TextDecoder;switch(n){case this.KINDS.push:return this.decodePush(e,t,r);case this.KINDS.reply:return this.decodeReply(e,t,r);case this.KINDS.broadcast:return this.decodeBroadcast(e,t,r)}},decodePush(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=this.HEADER_LENGTH+this.META_LENGTH-1,s=n.decode(e.slice(o,o+r));o+=r;let c=n.decode(e.slice(o,o+i));o+=i;let l=n.decode(e.slice(o,o+a));return o+=a,{join_ref:s,ref:null,topic:c,event:l,payload:e.slice(o,e.byteLength)}},decodeReply(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=t.getUint8(4),s=this.HEADER_LENGTH+this.META_LENGTH,c=n.decode(e.slice(s,s+r));s+=r;let l=n.decode(e.slice(s,s+i));s+=i;let u=n.decode(e.slice(s,s+a));s+=a;let d=n.decode(e.slice(s,s+o));s+=o;let f={status:d,response:e.slice(s,e.byteLength)};return{join_ref:c,ref:l,topic:u,event:Ta.reply,payload:f}},decodeBroadcast(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=this.HEADER_LENGTH+2,o=n.decode(e.slice(a,a+r));a+=r;let s=n.decode(e.slice(a,a+i));return a+=i,{join_ref:null,ref:null,topic:o,event:s,payload:e.slice(a,e.byteLength)}}},La=class{constructor(e,t={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=t.timeout||ba,this.transport=t.transport||va.WebSocket||Pa,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=t.longPollFallbackMs,this.fallbackTimer=null;let n=null;try{n=va&&va.sessionStorage}catch{}this.sessionStore=t.sessionStorage||n,this.establishedConnections=0,this.defaultEncoder=Ia.encode.bind(Ia),this.defaultDecoder=Ia.decode.bind(Ia),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=t.binaryType||`arraybuffer`,this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport===Pa?(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder):(this.encode=t.encode||this.defaultEncoder,this.decode=t.decode||this.defaultDecoder);let r=null;_a&&_a.addEventListener&&(_a.addEventListener(`pagehide`,e=>{this.conn&&(this.disconnect(),r=this.connectClock)}),_a.addEventListener(`pageshow`,e=>{r===this.connectClock&&(r=null,this.connect())}),_a.addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=t.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=t.autoSendHeartbeat??!0,this.heartbeatCallback=t.heartbeatCallback??(()=>{}),this.rejoinAfterMs=e=>t.rejoinAfterMs?t.rejoinAfterMs(e):[1e3,2e3,5e3][e-1]||1e4,this.reconnectAfterMs=e=>t.reconnectAfterMs?t.reconnectAfterMs(e):[10,50,100,150,200,250,500,1e3,2e3][e-1]||5e3,this.logger=t.logger||null,!this.logger&&t.debug&&(this.logger=(e,t,n)=>{console.log(`${e}: ${t}`,n)}),this.longpollerTimeout=t.longpollerTimeout||2e4,this.params=ha(t.params||{}),this.endPoint=`${e}/${Ea.websocket}`,this.vsn=t.vsn||ya,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new Aa(()=>{if(this.pageHidden){this.log(`Not reconnecting as page is hidden!`),this.teardown();return}this.teardown(async()=>{t.beforeReconnect&&await t.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=t.authToken&&ha(t.authToken)}getLongPollTransport(){return Pa}replaceTransport(e){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&=(this.conn.close(),null),this.transport=e}protocol(){return location.protocol.match(/^https/)?`wss`:`ws`}endPointURL(){let e=Ma.appendParams(Ma.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return e.charAt(0)===`/`?e.charAt(1)===`/`?`${this.protocol()}:${e}`:`${this.protocol()}://${location.host}${e}`:e}disconnect(e,t,n){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,e&&e()},t,n)}connect(e){e&&(console&&console.log(`passing params to connect is deprecated. Instead pass :params to the Socket constructor`),this.params=ha(e)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==Pa?this.connectWithF
vendor: 4,375 bytes, line 12
12allback(Pa,this.longPollFallbackMs):this.transportConnect())}log(e,t,n){this.logger&&this.logger(e,t,n)}hasLogger(){return this.logger!==null}onOpen(e){let t=this.makeRef();return this.stateChangeCallbacks.open.push([t,e]),t}onClose(e){let t=this.makeRef();return this.stateChangeCallbacks.close.push([t,e]),t}onError(e){let t=this.makeRef();return this.stateChangeCallbacks.error.push([t,e]),t}onMessage(e){let t=this.makeRef();return this.stateChangeCallbacks.message.push([t,e]),t}onHeartbeat(e){this.heartbeatCallback=e}ping(e){if(!this.isConnected())return!1;let t=this.makeRef(),n=Date.now();this.push({topic:`phoenix`,event:`heartbeat`,payload:{},ref:t});let r=this.onMessage(i=>{i.ref===t&&(this.off([r]),e(Date.now()-n))});return!0}transportName(e){switch(e){case Pa:return`LongPoll`;default:return e.name}}transportConnect(){this.connectClock++,this.closeWasClean=!1;let e;this.authToken&&(e=[`phoenix`,`${Oa}${btoa(this.authToken()).replace(/=/g,``)}`]),this.conn=new this.transport(this.endPointURL(),e),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,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)}getSession(e){return this.sessionStore&&this.sessionStore.getItem(e)}storeSession(e,t){this.sessionStore&&this.sessionStore.setItem(e,t)}connectWithFallback(e,t=2500){clearTimeout(this.fallbackTimer);let n=!1,r=!0,i,a,o=this.transportName(e),s=t=>{this.log(`transport`,`falling back to ${o}...`,t),this.off([i,a]),r=!1,this.replaceTransport(e),this.transportConnect()};if(this.getSession(`phx:fallback:${o}`))return s(`memorized`);this.fallbackTimer=setTimeout(s,t),a=this.onError(e=>{this.log(`transport`,`error`,e),r&&!n&&(clearTimeout(this.fallbackTimer),s(e))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(n=!0,!r){let t=this.transportName(e);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${t}`,`true`),this.log(`transport`,`established ${t} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(s,t),this.ping(e=>{this.log(`transport`,`connected to primary after`,e),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log(`transport`,`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks(`open`)}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log(`transport`,`heartbeat timeout. Attempting to re-establish connection`);try{this.heartbeatCallback(`timeout`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.triggerChanError(Error(`heartbeat timeout`)),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),xa,`heartbeat timeout`)}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(e,t,n){if(!this.conn)return e&&e();let r=this.conn;this.waitForBufferDone(r,()=>{t?r.close(t,n||``):r.close(),this.waitForSocketClosed(r,()=>{this.conn===r&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),e&&e()})})}waitForBufferDone(e,t,n=1){if(n===5||!e.bufferedAmount){t();return}setTimeout(()=>{this.waitForBufferDone(e,t,n+1)},150*n)}waitForSocketClosed(e,t,n=1){if(n===5||e.readyState===Ca.closed){t();return}setTimeout(()=>{this.waitForSocketClosed(e,t,n+1)},150*n)}onConnClose(e){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log(`transport`,`close`,e),this.triggerChanError(e),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks(`close`,e)}onConnError(e){this.hasLogger()&&this.log(`transport`,`error`,e);let t=this.transport,n=this.establishedConnections;this.triggerStateCallbacks(`error`,e,t,n),(t===this.transport||n>0)&&this.triggerChanError(e)}
vendor: 11,846 bytes, line 12
12triggerChanError(e){this.channels.forEach(t=>{t.isErrored()||t.isLeaving()||t.isClosed()||t.trigger(Ta.error,e)})}connectionState(){switch(this.conn&&this.conn.readyState){case Ca.connecting:return`connecting`;case Ca.open:return`open`;case Ca.closing:return`closing`;default:return`closed`}}isConnected(){return this.connectionState()===`open`}remove(e){this.off(e.stateChangeRefs),this.channels=this.channels.filter(t=>t!==e)}off(e){for(let t in this.stateChangeCallbacks)this.stateChangeCallbacks[t]=this.stateChangeCallbacks[t].filter(([t])=>e.indexOf(t)===-1)}channel(e,t={}){let n=new ja(e,t,this);return this.channels.push(n),n}push(e){if(this.hasLogger()){let{topic:t,event:n,payload:r,ref:i,join_ref:a}=e;this.log(`push`,`${t} ${n} (${a}, ${i})`,r)}this.isConnected()?this.encode(e,e=>this.conn.send(e)):this.sendBuffer.push(()=>this.encode(e,e=>this.conn.send(e)))}makeRef(){let e=this.ref+1;return this.ref=e===this.ref?0:e,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback(`disconnected`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:`phoenix`,event:`heartbeat`,payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback(`sent`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}onConnMessage(e){this.decode(e.data,e=>{let{topic:t,event:n,payload:r,ref:i,join_ref:a}=e;if(i&&i===this.pendingHeartbeatRef){let e=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(r.status===`ok`?`ok`:`error`,e)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log(`receive`,`${r.status||``} ${t} ${n} ${i&&`(`+i+`)`||``}`.trim(),r);for(let e=0;e<this.channels.length;e++){let o=this.channels[e];o.isMember(t,n,r,a)&&o.trigger(n,r,i,a)}this.triggerStateCallbacks(`message`,e)})}triggerStateCallbacks(e,...t){try{this.stateChangeCallbacks[e].forEach(([n,r])=>{try{r(...t)}catch(t){this.log(`error`,`error in ${e} callback`,t)}})}catch(t){this.log(`error`,`error triggering ${e} callbacks`,t)}}leaveOpenTopic(e){let t=this.channels.find(t=>t.topic===e&&(t.isJoined()||t.isJoining()));t&&(this.hasLogger()&&this.log(`transport`,`leaving duplicate topic "${e}"`),t.leave())}},Ra=class e{constructor(t,n){let r=Va(n);this.presence=new Fa(t.getChannel(),r),this.presence.onJoin((n,r,i)=>{let a=e.onJoinPayload(n,r,i);t.getChannel().trigger(`presence`,a)}),this.presence.onLeave((n,r,i)=>{let a=e.onLeavePayload(n,r,i);t.getChannel().trigger(`presence`,a)}),this.presence.onSync(()=>{t.getChannel().trigger(`presence`,{event:`sync`})})}get state(){return e.transformState(this.presence.state)}static transformState(e){return e=Ba(e),Object.getOwnPropertyNames(e).reduce((t,n)=>{let r=e[n];return t[n]=za(r),t},{})}static onJoinPayload(e,t,n){return{event:`join`,key:e,currentPresences:Ha(t),newPresences:za(n)}}static onLeavePayload(e,t,n){return{event:`leave`,key:e,currentPresences:Ha(t),leftPresences:za(n)}}};function za(e){return e.metas.map(e=>{let t=Object.getOwnPropertyDescriptors(e),n=Object.defineProperties({},t);return n.presence_ref=n.phx_ref,delete n.phx_ref,delete n.phx_ref_prev,n})}function Ba(e){return JSON.parse(JSON.stringify(e))}function Va(e){return e?.events&&{events:e.events}}function Ha(e){return e?.metas?za(e):[]}var Ua;(function(e){e.SYNC=`sync`,e.JOIN=`join`,e.LEAVE=`leave`})(Ua||={});var Wa=class{get state(){return this.presenceAdapter.state}constructor(e,t){this.channel=e,this.presenceAdapter=new Ra(this.channel.channelAdapter,t)}};function Ga(e){if(e instanceof Error)return e;if(typeof e==`string`)return Error(e);if(e&&typeof e==`object`){let t=e;if(typeof t.code==`number`){let n=typeof t.reason==`string`&&t.reason?` (${t.reason})`:``;return Error(`socket closed: ${t.code}${n}`,{cause:e})}return Error(`channel error: transport failure`,{cause:e})}return Error(`channel error: connection lost`)}var Ka=class{constructor(e,t,n){let r=qa(n);this.channel=e.getSocket().channel(t,r),this.socket=e}get state(){return this.channel.state}set state(e){this.channel.state=e}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(e,t){return this.channel.on(e,t)}off(e,t){this.channel.off(e,t)}subscribe(e){return this.channel.join(e)}unsubscribe(e){return this.channel.leave(e)}teardown(){this.channel.teardown()}onClose(e){this.channel.onClose(e)}onError(e){return this.channel.onError(e)}push(e,t,n){let r;try{r=this.channel.push(e,t,n)}catch{throw Error(`tried to push '${e}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`)}if(this.channel.pushBuffer.length>100){let e=this.channel.pushBuffer.shift();e.cancelTimeout(),this.socket.log(`channel`,`discarded push due to buffer overflow: ${e.event}`,e.payload())}return r}updateJoinPayload(e){let t=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},t),e)}canPush(){return this.socket.isConnected()&&this.state===ta.joined}isJoined(){return this.state===ta.joined}isJoining(){return this.state===ta.joining}isClosed(){return this.state===ta.closed}isLeaving(){return this.state===ta.leaving}updateFilterBindings(e){this.channel.filterBindings=e}updatePayloadTransform(e){this.channel.onMessage=e}getChannel(){return this.channel}};function qa(e){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:``,enabled:!1},private:!1},e.config)}}var Ja=/[,()"\\]/,Ya=e=>Ja.test(e)||e!==e.trim(),Xa=e=>`"${e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`,Za=e=>{let t=e===null?`null`:String(e);return Ya(t)?Xa(t):t},Qa=e=>e===null?`null`:String(e),$a=(e,t)=>{if(e===`in`){let e=Array.isArray(t)?t:[t];if(e.length===0)throw Error("Realtime `in` filter requires at least one value.");return`in.(${Array.from(new Set(e)).map(e=>Za(e)).join(`,`)})`}return e===`is`?`is.${Qa(t)}`:`${e}.${Za(t)}`},eo=class{constructor(){this.filters=[]}add(e,t,n,r=!1){let i=r?`not.`:``;return this.filters.push(`${e}=${i}${$a(t,n)}`),this}eq(e,t){return this.add(e,`eq`,t)}neq(e,t){return this.add(e,`neq`,t)}gt(e,t){return this.add(e,`gt`,t)}gte(e,t){return this.add(e,`gte`,t)}lt(e,t){return this.add(e,`lt`,t)}lte(e,t){return this.add(e,`lte`,t)}in(e,t){return this.add(e,`in`,t)}like(e,t){return this.add(e,`like`,t)}ilike(e,t){return this.add(e,`ilike`,t)}match(e,t){return this.add(e,`match`,t)}imatch(e,t){return this.add(e,`imatch`,t)}is(e,t){return this.add(e,`is`,t)}isDistinct(e,t){return this.add(e,`isdistinct`,t)}not(e,t,n){return this.add(e,t,n,!0)}build(){return this.filters.join(`,`)}toString(){return this.build()}},to;(function(e){e.ALL=`*`,e.INSERT=`INSERT`,e.UPDATE=`UPDATE`,e.DELETE=`DELETE`})(to||={});var no;(function(e){e.BROADCAST=`broadcast`,e.PRESENCE=`presence`,e.POSTGRES_CHANGES=`postgres_changes`,e.SYSTEM=`system`})(no||={});var ro;(function(e){e.SUBSCRIBED=`SUBSCRIBED`,e.TIMED_OUT=`TIMED_OUT`,e.CLOSED=`CLOSED`,e.CHANNEL_ERROR=`CHANNEL_ERROR`})(ro||={});var io=class e{get state(){return this.channelAdapter.state}set state(e){this.channelAdapter.state=e}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(e,t={config:{}},n){if(this.topic=e,this.params=t,this.socket=n,this.bindings={},this.subTopic=e.replace(/^realtime:/i,``),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:``,enabled:!1},private:!1},t.config),this.channelAdapter=new Ka(this.socket.socketAdapter,e,this.params),this.presence=new Wa(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=ma(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&this.params.config?.broadcast?.replay)throw Error(`tried to use replay on public channel '${this.topic}'. It must be a private channel.`)}subscribe(e,t=this.timeout){if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){let{config:{broadcast:n,presence:r,private:i,postgres_changes_options:a}}=this.params,o=this.bindings.postgres_changes?.map(e=>e.filter)??[],s=!!this.bindings[no.PRESENCE]&&this.bindings[no.PRESENCE].length>0||this.params.config.presence?.enabled===!0,c={},l=Object.assign({broadcast:n,presence:Object.assign(Object.assign({},r),{enabled:s}),postgres_changes:o,private:i},a?{postgres_changes_options:a}:{});this.socket.accessTokenValue&&(c.access_token=this.socket.accessTokenValue),this._onError(t=>{e?.(ro.CHANNEL_ERROR,Ga(t))}),this._onClose(()=>e?.(ro.CLOSED)),this.updateJoinPayload(Object.assign({config:l},c)),this._updateFilterMessage();let u=a?.wait&&o.length>0?Math.max(t,(a.timeout??$i)+ea):t;this.channelAdapter.subscribe(u).receive(`ok`,async({postgres_changes:t})=>{if(this.socket._isManualToken()||this.socket.setAuth(),t===void 0){e?.(ro.SUBSCRIBED);return}this._updatePostgresBindings(t,e)}).receive(`error`,t=>{this.state=ta.errored;let n=Object.values(t).join(`, `)||`error`;e?.(ro.CHANNEL_ERROR,Error(n,{cause:t}))}).receive(`timeout`,()=>{e?.(ro.TIMED_OUT)})}return this}_updatePostgresBindings(t,n){let r=this.bindings.postgres_changes,i=r?.length??0,a=[];for(let o=0;o<i;o++){let i=r[o],{filter:{event:s,schema:c,table:l,filter:u}}=i,d=t&&t[o];if(d&&d.event===s&&e.isFilterValueEqual(d.schema,c)&&e.isFilterValueEqual(d.table,l)&&e.isFilterValueEqual(d.filter,u))a.push(Object.assign(Object.assign({},i),{id:d.id}));else{this.unsubscribe(),this.state=ta.errored,n?.(ro.CHANNEL_ERROR,Error(`mismatch between server and client bindings for postgres changes`));return}}this.bindings.postgres_changes=a,this.state!=ta.errored&&n&&n(ro.SUBSCRIBED)}presenceState(){return this.presence.state}async track(e,t={}){return await this.send({type:`presence`,event:`track`,payload:e},t)}async untrack(e={}){return await this.send({type:`presence`,event:`untrack`},e)}on(e,t,n){let r=this.channelAdapter.isJoined()||this.channelAdapter.isJoining(),i=e===no.PRESENCE||e===no.POSTGRES_CHANGES;if(r&&i)throw this.socket.log(`channel`,`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`),Error(`cannot add \`${e}\` callbacks for ${this.topic} after \`subscribe()\`.`);return this._on(e,t,n)}async httpSend(e,t,n={}){if(t==null)return Promise.reject(Error(`Payload is required for httpSend()`));let r=t instanceof ArrayBuffer||ArrayBuffer.isView(t),i={apikey:this.socket.apiKey?this.socket.apiKey:``,"Content-Type":r?`application/octet-stream`:`application/json`};this.socket.accessTokenValue&&(i.Authorization=`Bearer ${this.socket.accessTokenValue}`);let a=new URL(this.broadcastEndpointURL);a.pathname+=`/${encodeURIComponent(this.subTopic)}/events/${encodeURIComponent(e)}`,this.private&&a.searchParams.set(`private`,`true`);let o={method:`POST`,headers:i,body:r?t:JSON.stringify(t)},s=await this._fetchWithTimeout(a.toString(),o,n.timeout??this.timeout);if(s.status===202)return{success:!0};if(s.status===404)return Promise.reject(Error(`httpSend() requires Realtime server v2.97.0 or newer; the endpoint returned 404. Update your Supabase CLI to a recent version, or upgrade the Realtime server in your self-hosted setup. See https://github.com/supabase/supabase-js/blob/master/packages/core/realt
12ime-js/migrations/httpsend-server-version.md`));let c=s.statusText;try{let e=await s.json();c=e.error||e.message||c}catch{}return Promise.reject(Error(c))}async send(e,t={}){if(!this.channelAdapter.canPush()&&e.type===`broadcast`){let n=`Realtime send() is automatically falling back to REST API. This behavior will be deprecated in the future. Please use httpSend() explicitly for REST delivery.`;this.socket.hasLogger()?this.socket.log(`channel`,n):console.warn(n);let{event:r,payload:i}=e,a={apikey:this.socket.apiKey?this.socket.apiKey:``,"Content-Type":`application/json`};this.socket.accessTokenValue&&(a.Authorization=`Bearer ${this.socket.accessTokenValue}`);let o={method:`POST`,headers:a,body:JSON.stringify({messages:[{topic:this.subTopic,event:r,payload:i,private:this.private}]})};try{let e=await this._fetchWithTimeout(this.broadcastEndpointURL,o,t.timeout??this.timeout);return await e.body?.cancel(),e.ok?`ok`:`error`}catch(e){return e instanceof Error&&e.name===`AbortError`?`timed out`:`error`}}return new Promise(n=>{let r=this.channelAdapter.push(e.type,e,t.timeout||this.timeout);e.type===`broadcast`&&!this.params?.config?.broadcast?.ack&&n(`ok`),r.receive(`ok`,()=>n(`ok`)),r.receive(`error`,()=>n(`error`)),r.receive(`timeout`,()=>n(`timed out`))})}updateJoinPayload(e){this.channelAdapter.updateJoinPayload(e)}async unsubscribe(e=this.timeout){return new Promise(t=>{this.channelAdapter.unsubscribe(e).receive(`ok`,()=>t(`ok`)).receive(`timeout`,()=>t(`timed out`)).receive(`error`,()=>t(`error`))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(e,t,n){let r=new AbortController,i=setTimeout(()=>r.abort(),n),a=await this.socket.fetch(e,Object.assign(Object.assign({},t),{signal:r.signal}));return clearTimeout(i),a}_on(t,n,r){let i=t.toLocaleLowerCase(),a=n?.filter;if((a instanceof eo||typeof a==`object`&&a&&typeof a.build==`function`)&&(n=Object.assign(Object.assign({},n),{filter:a.build()})),i===no.POSTGRES_CHANGES&&this.bindings[i]?.find(t=>e.isSamePostgresFilter(t.filter,n)))return this.socket.log(`error`,`duplicate \`postgres_changes\` binding for ${this.topic} ignored`,n),this;let o=this.channelAdapter.on(t,r),s={type:i,filter:n,callback:r,ref:o};return this.bindings[i]?this.bindings[i].push(s):this.bindings[i]=[s],this._updateFilterMessage(),this}_onClose(e){this.channelAdapter.onClose(e)}_onError(e){this.channelAdapter.onError(e)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((e,t,n)=>{let r=e.event.toLocaleLowerCase();if(this._notThisChannelEvent(r,n))return!1;let i=this.bindings[r]?.find(t=>t.ref===e.ref);if(!i)return!0;if([`broadcast`,`presence`,`postgres_changes`].includes(r))if(`id`in i){let e=i.id,n=i.filter?.event;return e&&t.ids?.includes(e)&&(n===`*`||n?.toLocaleLowerCase()===t.data?.type.toLocaleLowerCase())}else{let e=(i?.filter?.event)?.toLocaleLowerCase();return e===`*`||e===(t?.event)?.toLocaleLowerCase()}return i.type.toLocaleLowerCase()===r})}_notThisChannelEvent(e,t){let{close:n,error:r,leave:i,join:a}=na;return t&&[n,r,i,a].includes(e)&&t!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((e,t,n)=>{if(typeof t==`object`&&`ids`in t){let e=t.data,{schema:n,table:r,commit_timestamp:i,type:a,errors:o}=e;return Object.assign(Object.assign({},{schema:n,table:r,commit_timestamp:i,eventType:a,new:{},old:{},errors:o}),this._getPayloadRecords(e))}return t})}copyBindings(e){if(this.joinedOnce)throw Error(`cannot copy bindings into joined channel`);for(let t in e.bindings)for(let n of e.bindings[t])this._on(n.type,n.filter,n.callback)}static isFilterValueEqual(e,t){return(e??void 0)===(t??void 0)}static isSamePostgresFilter(t,n){let r=(t?.select)?.join()??void 0,i=(n?.select)?.join()??void 0;return t?.event===n?.event&&e.isFilterValueEqual(t?.schema,n?.schema)&&e.isFilterValueEqual(t?.table,n?.table)&&e.isFilterValueEqual(t?.filter,n?.filter)&&r===i}_getPayloadRecords(e){let t={new:{},old:{}};return(e.type===`INSERT`||e.type===`UPDATE`)&&(t.new=aa(e.columns,e.record)),(e.type===`UPDATE`||e.type===`DELETE`)&&(t.old=aa(e.columns,e.old_record)),t}},ao=class{constructor(e,t){this.socket=new La(e,t)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(e){this.socket.heartbeatCallback=e}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(e,t,n,r=1e4){return new Promise(i=>{setTimeout(()=>i(`timeout`),r),this.socket.disconnect(()=>{e(),i(`ok`)},t,n)})}push(e){this.socket.push(e)}log(e,t,n){this.socket.log(e,t,n)}hasLogger(){return this.socket.hasLogger()}makeRef(){return this.socket.makeRef()}onOpen(e){this.socket.onOpen(e)}onClose(e){this.socket.onClose(e)}onError(e){this.socket.onError(e)}onMessage(e){this.socket.onMessage(e)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==ra.connecting}isDisconnecting(){return this.socket.connectionState()==ra.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}},oo={HEARTBEAT_INTERVAL:25e3,RECONNECT_DELAY:10,HEARTBEAT_TIMEOUT_FALLBACK:100},so=[1e3,2e3,5e3,1e4],co=1e4;function lo(){let e=new Map;return{get length(){return e.size},clear(){e.clear()},getItem(t){return e.has(t)?e.get(t):null},key(t){return Array.from(e.keys())[t]??null},removeItem(t){e.delete(t)},setItem(t,n){e.set(t,String(n))}}}function uo(){try{if(typeof globalThis<`u`&&globalThis.sessionStorage)return globalThis.sessionStorage}catch{}return lo()}var fo=` 13 addEventListener("message", (e) => { 14 if (e.data.event === "start") { 15 setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval); 16 } 17 });`,po=class{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(e,t){if(this.channels=[],this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint=``,this.headers={},this.params={}
17,this.ref=0,this.serializer=new ia,this._manuallySetToken=!1,this._authPromise=null,this._authGeneration=0,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._pendingDisconnectTimer=null,this._disconnectOnEmptyChannelsAfterMs=0,this._resolveFetch=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),!t?.params?.apikey)throw Error(`API key is required to connect to Realtime`);this.apiKey=t.params.apikey;let n=this._initializeOptions(t);this.socketAdapter=new ao(e,n),this.httpEndpoint=ma(e),this.fetch=this._resolveFetch(t?.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely(`connect`),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(e){let t=e.message;throw Error(`WebSocket not available: ${t}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(e,t){return this._cancelPendingDisconnect(),this.isDisconnecting()?`ok`:await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},e,t)}getChannels(){return this.channels}async removeChannel(e){let t=await e.unsubscribe();return t===`ok`&&e.teardown(),t}async removeAllChannels(){let e=this.channels.map(async e=>{let t=await e.unsubscribe();return e.teardown(),t}),t=await Promise.all(e);return await this.disconnect(),t}log(e,t,n){this.socketAdapter.log(e,t,n)}hasLogger(){return this.socketAdapter.hasLogger()}connectionState(){return this.socketAdapter.connectionState()||ra.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(e,t={config:{}}){let n=`realtime:${e}`,r=this.getChannels().find(e=>e.topic===n);if(r)return r;{let n=new io(`realtime:${e}`,t,this);return this._cancelPendingDisconnect(),this.channels.push(n),n}}push(e){this.socketAdapter.push(e)}async setAuth(e=null){let t=++this._authGeneration,n=this._performAuth(e,t);t===this._authGeneration&&(this._authPromise=n);try{await n}finally{this._authPromise===n&&(this._authPromise=null)}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(e){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(e)}_makeRef(){return this.socketAdapter.makeRef()}_remove(e){this.channels=this.channels.filter(t=>t.topic!==e.topic),this.channels.length===0&&(this.log(`transport`,`no channels remaining, scheduling disconnect`),this._schedulePendingDisconnect())}_schedulePendingDisconnect(){if(this._cancelPendingDisconnect(),this._disconnectOnEmptyChannelsAfterMs===0){this.log(`transport`,`disconnecting immediately - no channels`),this.disconnect();return}
17this._pendingDisconnectTimer=setTimeout(()=>{this._pendingDisconnectTimer=null,this.channels.length===0&&(this.log(`transport`,`deferred disconnect fired - no channels, disconnecting`),this.disconnect())},this._disconnectOnEmptyChannelsAfterMs),this.log(`transport`,`deferred disconnect scheduled in ${this._disconnectOnEmptyChannelsAfterMs}ms`)}_cancelPendingDisconnect(){this._pendingDisconnectTimer!==null&&(this.log(`transport`,`pending disconnect cancelled - channel activity detected`),clearTimeout(this._pendingDisconnectTimer),this._pendingDisconnectTimer=null)}async _performAuth(e,t){let n,r=!1;if(e)n=e,r=!0;else if(this.accessToken)try{n=await this.accessToken()}catch(e){this.log(`error`,`Error fetching access token from callback`,e),n=this.accessTokenValue}else n=this.accessTokenValue;t===this._authGeneration&&(this.accessToken?this._manuallySetToken=!1:r&&(this._manuallySetToken=!0),this.accessTokenValue!=n&&(this.accessTokenValue=n,this.channels.forEach(e=>{let t={access_token:n,version:Ji};e.updateJoinPayload(t),e.joinedOnce&&e.channelAdapter.isJoined()&&e.channelAdapter.push(na.access_token,{access_token:n})})))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(e=`general`){this._isManualToken()||this.setAuth().catch(t=>{this.log(`error`,`Error setting auth in ${e}`,t)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(e=>{this.log(`error`,`error waiting for auth on connect`,e)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(e=>{e.ref&&e.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(e){return(t,n)=>{t!==`disconnected`&&(t==`sent`&&this._setAuthSafely(),e&&e(t,n))}}_startWorkerHeartbeat(){this.workerUrl?this.log(`worker`,`starting worker for from ${this.workerUrl}`):this.log(`worker`,`starting default worker`);let e=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(e),this.workerRef.onerror=e=>{this.log(`worker`,`worker error`,e.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=e=>{e.data.event===`keepAlive`&&this.sendHeartbeat()},this.workerRef.postMessage({event:`start`,interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&=(this.log(`worker`,`terminating worker`),this.workerRef.terminate(),void 0)}_workerObjectUrl(e){let t;if(e)t=e;else{let e=new Blob([fo],{type:`application/javascript`});t=URL.createObjectURL(e)}return t}_initializeOptions(e){this.worker=e?.worker??!1,this.accessToken=e?.accessToken??null;let t={};t.timeout=e?.timeout??Qi,t.heartbeatIntervalMs=e?.heartbeatIntervalMs??oo.HEARTBEAT_INTERVAL,this._disconnectOnEmptyChannelsAfterMs=e?.disconnectOnEmptyChannelsAfterMs??2*(e?.heartbeatIntervalMs??oo.HEARTBEAT_INTERVAL),t.transport=e?.transport??qi.getWebSocketConstructor(),t.params=e?.params,t.logger=e?.logger,t.heartbeatCallback=this._wrapHeartbeatCallback(e?.heartbeatCallback),t.sessionStorage=e?.sessionStorage??uo(),t.reconnectAfterMs=e?.reconnectAfterMs??(e=>so[e-1]||co);let n,r,i=e?.vsn??Zi;switch(i){case Yi:n=(e,t)=>t(JSON.stringify(e)),r=(e,t)=>t(JSON.parse(e));break;case Xi:n=this.serializer.encode.bind(this.serializer),r=this.serializer.decode.bind(this.serializer);break;default:throw Error(`Unsupported serializer version: ${t.vsn}`)}if(t.vsn=i,t.encode=e?.encode??n,t.decode=e?.decode??r,t.beforeReconnect=this._reconnectAuth.bind(this),(e?.logLevel||e?.log_level)&&(this.logLevel=e.logLevel||e.log_level,t.params=Object.assign(Object.assign({},t.params),{log_level:this.logLevel})),this.worker){if(typeof window<`u`&&!window.Worker)throw Error(`Web Worker is not supported`);this.workerUrl=e?.workerUrl,t.autoSendHeartbeat=!this.worker}return t}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}}
vendor: 4,829 bytes, line 17
17,mo=class extends Error{constructor(e,t){super(e),this.name=`IcebergError`,this.status=t.status,this.icebergType=t.icebergType,this.icebergCode=t.icebergCode,this.details=t.details,this.isCommitStateUnknown=t.icebergType===`CommitStateUnknownException`||[500,502,504].includes(t.status)&&t.icebergType?.includes(`CommitState`)===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function ho(e,t,n){let r=new URL(t,e);if(n)for(let[e,t]of Object.entries(n))t!==void 0&&r.searchParams.set(e,t);return r.toString()}async function go(e){return!e||e.type===`none`?{}:e.type===`bearer`?{Authorization:`Bearer ${e.token}`}:e.type===`header`?{[e.name]:e.value}:e.type===`custom`?await e.getHeaders():{}}function _o(e){let t=e.fetchImpl??globalThis.fetch;return{async request({method:n,path:r,query:i,body:a,headers:o}){let s=ho(e.baseUrl,r,i),c=await go(e.auth),l=await t(s,{method:n,headers:{...a?{"Content-Type":`application/json`}:{},...c,...o},body:a?JSON.stringify(a):void 0}),u=await l.text(),d=(l.headers.get(`content-type`)||``).includes(`application/json`),f=d&&u?JSON.parse(u):u;if(!l.ok){let e=d?f:void 0,t=e?.error;throw new mo(t?.message??`Request failed with status ${l.status}`,{status:l.status,icebergType:t?.type,icebergCode:t?.code,details:e})}return{status:l.status,headers:l.headers,data:f}}}}function I(e){return e.join(`�`)}var L=class{constructor(e,t=``){this.client=e,this.prefix=t}async listNamespaces(e){let t=e?{parent:I(e.namespace)}:void 0;return(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces`,query:t})).data.namespaces.map(e=>({namespace:e}))}async createNamespace(e,t){let n={namespace:e.namespace,properties:t?.properties};return(await this.client.request({method:`POST`,path:`${this.prefix}/namespaces`,body:n})).data}async dropNamespace(e){await this.client.request({method:`DELETE`,path:`${this.prefix}/namespaces/${I(e.namespace)}`})}async loadNamespaceMetadata(e){return{properties:(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${I(e.namespace)}`})).data.properties}}async namespaceExists(e){try{return await this.client.request({method:`HEAD`,path:`${this.prefix}/namespaces/${I(e.namespace)}`}),!0}catch(e){if(e instanceof mo&&e.status===404)return!1;throw e}}async createNamespaceIfNotExists(e,t){try{return await this.createNamespace(e,t)}catch(e){if(e instanceof mo&&e.status===409)return;throw e}}};function vo(e){return e.join(`�`)}var yo=class{constructor(e,t=``,n){this.client=e,this.prefix=t,this.accessDelegation=n}async listTables(e){return(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${vo(e.namespace)}/tables`})).data.identifiers}async createTable(e,t){let n={};return this.accessDelegation&&(n[`X-Iceberg-Access-Delegation`]=this.accessDelegation),(await this.client.request({method:`POST`,path:`${this.prefix}/namespaces/${vo(e.namespace)}/tables`,body:t,headers:n})).data.metadata}async updateTable(e,t){let n=await this.client.request({method:`POST`,path:`${this.prefix}/namespaces/${vo(e.namespace)}/tables/${e.name}`,body:t});return{"metadata-location":n.data[`metadata-location`],metadata:n.data.metadata}}async dropTable(e,t){await this.client.request({method:`DELETE`,path:`${this.prefix}/namespaces/${vo(e.namespace)}/tables/${e.name}`,query:{purgeRequested:String(t?.purge??!1)}})}async loadTable(e){let t={};return this.accessDelegation&&(t[`X-Iceberg-Access-Delegation`]=this.accessDelegation),(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${vo(e.namespace)}/tables/${e.name}`,headers:t})).data.metadata}async tableExists(e){let t={};this.accessDelegation&&(t[`X-Iceberg-Access-Delegation`]=this.accessDelegation);try{return await this.client.request({method:`HEAD`,path:`${this.prefix}/namespaces/${vo(e.namespace)}/tables/${e.name}`,headers:t}),!0}catch(e){if(e instanceof mo&&e.status===404)return!1;throw e}}async createTableIfNotExists(e,t){try{return await this.createTable(e,t)}catch(n){if(n instanceof mo&&n.status===409)return await this.loadTable({namespace:e.namespace,name:t.name});throw n}}},bo=class{constructor(e){let t=`v1`;e.catalogName&&(t+=`/${e.catalogName}`);let n=e.baseUrl.endsWith(`/`)?e.baseUrl:`${e.baseUrl}/`;this.client=_o({baseUrl:n,auth:e.auth,fetchImpl:e.fetch}),this.accessDelegation=e.accessDelegation?.join(`,`),this.namespaceOps=new L(this.client,t),this.tableOps=new yo(this.client,t,this.accessDelegation)}async listNamespaces(e){return this.namespaceOps.listNamespaces(e)}async createNamespace(e,t){return this.namespaceOps.createNamespace(e,t)}async dropNamespace(e){await this.namespaceOps.dropNamespace(e)}async loadNamespaceMetadata(e){return this.namespaceOps.loadNamespaceMetadata(e)}async listTables(e){return this.tableOps.listTables(e)}
17async createTable(e,t){return this.tableOps.createTable(e,t)}async updateTable(e,t){return this.tableOps.updateTable(e,t)}async dropTable(e,t){await this.tableOps.dropTable(e,t)}async loadTable(e){return this.tableOps.loadTable(e)}async namespaceExists(e){return this.namespaceOps.namespaceExists(e)}async tableExists(e){return this.tableOps.tableExists(e)}async createNamespaceIfNotExists(e,t){return this.namespaceOps.createNamespaceIfNotExists(e,t)}async createTableIfNotExists(e,t){return this.tableOps.createTableIfNotExists(e,t)}};function xo(e){"@babel/helpers - typeof";return xo=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},xo(e)}function So(e,t){if(xo(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(xo(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Co(e){var t=So(e,`string`);return xo(t)==`symbol`?t:t+``}function wo(e,t,n){return(t=Co(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function To(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function R(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?To(Object(n),!0).forEach(function(t){wo(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):To(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Eo=class extends Error{constructor(e,t=`storage`,n,r){super(e),this.__isStorageError=!0,this.namespace=t,this.name=t===`vectors`?`StorageVectorsError`:`StorageError`,this.status=n,this.statusCode=r}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}};function Do(e){return typeof e==`object`&&!!e&&`__isStorageError`in e}var Oo=class extends Eo{constructor(e,t,n,r=`storage`,i){super(e,r,t,n),this.name=r===`vectors`?`StorageVectorsApiError`:`StorageApiError`,this.status=t,this.statusCode=n,this.code=i}toJSON(){return R(R({},super.toJSON()),{},{code:this.code})}},ko=class extends Eo{constructor(e,t,n=`storage`){super(e,n),this.name=n===`vectors`?`StorageVectorsUnknownError`:`StorageUnknownError`,this.originalError=t}};function Ao(e,t,n){let r=R({},e),i=t.toLowerCase();for(let e of Object.keys(r))e.toLowerCase()===i&&delete r[e];return r[i]=n,r}function jo(e){let t={};for(let[n,r]of Object.entries(e))t[n.toLowerCase()]=r;return t}var Mo=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),No=e=>{if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Po=e=>{if(Array.isArray(e))return e.map(e=>Po(e));if(typeof e==`function`||e!==Object(e))return e;let t={};return Object.entries(e).forEach(([e,n])=>{let r=e.replace(/([-_][a-z])/gi,e=>e.toUpperCase().replace(/[-_]/g,``));t[r]=Po(n)}),t},Fo=e=>!e||typeof e!=`string`||e.length===0||e.length>100||e.trim()!==e||e.includes(`/`)||e.includes(`\\`)?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(e),Io=e=>e.split(`/`).map(encodeURIComponent).join(`/`),Lo=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.msg==`string`)return t.msg;if(typeof t.message==`string`)return t.message;if(typeof t.error_description==`string`)return t.error_description;if(typeof t.error==`string`)return t.error;if(typeof t.error==`object`&&t.error!==null){let e=t.error;if(typeof e.message==`string`)return e.message}}return JSON.stringify(e)},Ro=async(e,t,n,r)=>{if(typeof e==`object`&&e&&`json`in e&&typeof e.json==`function`){let n=e,i=parseInt(String(n.status),10);Number.isFinite(i)||(i=500),n.json().then(e=>{let n=e?.statusCode||e?.code||i+``;t(new Oo(Lo(e),i,n,r,e?.code))}).catch(()=>{let e=i+``;t(new Oo(n.statusText||`HTTP ${i} error`,i,e,r))})}else t(new ko(Lo(e),e,r))},zo=(e,t,n,r)=>{let i={method:e,headers:t?.headers||{}};if(e===`GET`||e===`HEAD`||!r)return R(R({},i),n);if(No(r)){let e=t?.headers||{},n;for(let[t,r]of Object.entries(e))t.toLowerCase()===`content-type`&&(n=r);i.headers=Ao(e,`Content-Type`,n??`application/json`),i.body=JSON.stringify(r)}else i.body=r;return t?.duplex&&(i.duplex=t.duplex),R(R({},i),n)};async function Bo(e,t,n,r,i,a,o){return new Promise((s,c)=>{e(n,zo(t,r,i,a)).then(e=>{if(!e.ok)throw e;if(r?.noResolveJson)return e;if(o===`vectors`){let t=e.headers.get(`content-type`);if(e.headers.get(`content-length`)===`0`||e.status===204||!t||!t.includes(`application/json`))return{}}return e.json()}).then(e=>s(e)).catch(e=>Ro(e,c,r,o))})}function Vo(e=`storage`){return{get:async(t,n,r,i)=>Bo(t,`GET`,n,r,i,void 0,e),post:async(t,n,r,i,a)=>Bo(t,`POST`,n,i,a,r,e),put:async(t,n,r,i,a)=>Bo(t,`PUT`,n,i,a,r,e),head:async(t,n,r,i)=>Bo(t,`HEAD`,n,R(R({},r),{},{noResolveJson:!0}),i,void 0,e),remove:async(t,n,r,i,a)=>Bo(t,`DELETE`,n,i,a,r,e)}}var{get:Ho,post:Uo,put:Wo,head:Go,remove:Ko}=Vo(`storage`),qo=Vo(`vectors`),Jo=class{constructor(e,t={},n,r=`storage`){this.shouldThrowOnError=!1,this.url=e,this.headers=jo(t),this.fetch=Mo(n),this.namespace=r}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,t){return this.headers=Ao(this.headers,e,t),this}async handleOperation(e){var t=this;try{return{data:await e(),error:null}}catch(e){if(t.shouldThrowOnError)throw e;if(Do(e))return{data:null,error:e};throw e}}},Yo=Symbol.toStringTag,Xo=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[Yo]=`StreamDownloadBuilder`,this.promise=null}
17then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||=this.execute(),this.promise}async execute(){var e=this;try{return{data:(await e.downloadFn()).body,error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Do(t))return{data:null,error:t};throw t}}},Zo=Symbol.toStringTag,Qo=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[Zo]=`BlobDownloadBuilder`,this.promise=null}asStream(){return new Xo(this.downloadFn,this.shouldThrowOnError)}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||=this.execute(),this.promise}async execute(){var e=this;try{return{data:await(await e.downloadFn()).blob(),error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Do(t))return{data:null,error:t};throw t}}},$o={limit:100,offset:0,sortBy:{column:`name`,order:`asc`}},es={cacheControl:`3600`,contentType:`text/plain;charset=UTF-8`,upsert:!1},ts=class extends Jo{constructor(e,t={},n,r){super(e,t,r,`storage`),this.bucketId=n}async uploadOrUpdate(e,t,n,r){var i=this;return i.handleOperation(async()=>{let a,o=R(R({},es),r),s=R(R({},i.headers),e===`POST`&&{"x-upsert":String(o.upsert)}),c=o.metadata;if(typeof Blob<`u`&&n instanceof Blob?(a=new FormData,a.append(`cacheControl`,o.cacheControl),c&&a.append(`metadata`,i.encodeMetadata(c)),a.append(``,n)):typeof FormData<`u`&&n instanceof FormData?(a=n,a.has(`cacheControl`)||a.append(`cacheControl`,o.cacheControl),c&&!a.has(`metadata`)&&a.append(`metadata`,i.encodeMetadata(c))):(a=n,s[`cache-control`]=`max-age=${o.cacheControl}`,s[`content-type`]=o.contentType,c&&(s[`x-metadata`]=i.toBase64(i.encodeMetadata(c))),(typeof ReadableStream<`u`&&a instanceof ReadableStream||a&&typeof a==`object`&&`pipe`in a&&typeof a.pipe==`function`)&&!o.duplex&&(o.duplex=`half`)),r?.headers)for(let[e,t]of Object.entries(r.headers))s=Ao(s,e,t);let l=i._removeEmptyFolders(t),u=i._getFinalPath(l),d=await(e==`PUT`?Wo:Uo)(i.fetch,`${i.url}/object/${u}`,a,R({headers:s},o?.duplex?{duplex:o.duplex}:{}));return{path:l,id:d.Id,fullPath:d.Key}})}async upload(e,t,n){return this.uploadOrUpdate(`POST`,e,t,n)}async uploadToSignedUrl(e,t,n,r){var i=this;let a=i._removeEmptyFolders(e),o=i._getFinalPath(a),s=new URL(i.url+`/object/upload/sign/${o}`);return s.searchParams.set(`token`,t),i.handleOperation(async()=>{let e,t=R(R({},es),r),o=R(R({},i.headers),{"x-upsert":String(t.upsert)}),c=t.metadata;if(typeof Blob<`u`&&n instanceof Blob?(e=new FormData,e.append(`cacheControl`,t.cacheControl),c&&e.append(`metadata`,i.encodeMetadata(c)),e.append(``,n)):typeof FormData<`u`&&n instanceof FormData?(e=n,e.has(`cacheControl`)||e.append(`cacheControl`,t.cacheControl),c&&!e.has(`metadata`)&&e.append(`metadata`,i.encodeMetadata(c))):(e=n,o[`cache-control`]=`max-age=${t.cacheControl}`,o[`content-type`]=t.contentType,c&&(o[`x-metadata`]=i.toBase64(i.encodeMetadata(c))),(typeof ReadableStream<`u`&&e instanceof ReadableStream||e&&typeof e==`object`&&`pipe`in e&&typeof e.pipe==`function`)&&!t.duplex&&(t.duplex=`half`)),r?.headers)for(let[e,t]of Object.entries(r.headers))o=Ao(o,e,t);return{path:a,fullPath:(await Wo(i.fetch,s.toString(),e,R({headers:o},t?.duplex?{duplex:t.duplex}:{}))).Key}})}async createSignedUploadUrl(e,t){var n=this;return n.handleOperation(async()=>{let r=n._getFinalPath(e),i=R({},n.headers);t?.upsert&&(i[`x-upsert`]=`true`);let a=await Uo(n.fetch,`${n.url}/object/upload/sign/${r}`,{},{headers:i}),o=new URL(n.url+a.url),s=o.searchParams.get(`token`);if(!s)throw new Eo(`No token returned by API`);return{signedUrl:o.toString(),path:e,token:s}})}async update(e,t,n){return this.uploadOrUpdate(`PUT`,e,t,n)}async move(e,t,n){var r=this;return r.handleOperation(async()=>await Uo(r.fetch,`${r.url}/object/move`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,de
17stinationBucket:n?.destinationBucket,sourceVersionId:n?.sourceVersionId},{headers:r.headers}))}async copy(e,t,n){var r=this;return r.handleOperation(async()=>({path:(await Uo(r.fetch,`${r.url}/object/copy`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,destinationBucket:n?.destinationBucket,sourceVersionId:n?.sourceVersionId},{headers:r.headers})).Key}))}async createSignedUrl(e,t,n){var r=this;return r.handleOperation(async()=>{let i=r._getFinalPath(e),a=typeof n?.transform==`object`&&n.transform!==null&&Object.keys(n.transform).length>0,o=await Uo(r.fetch,`${r.url}/object/sign/${i}`,R(R({expiresIn:t},a?{transform:n.transform}:{}),n?.versionId==null?{}:{versionId:n.versionId}),{headers:r.headers}),s=new URLSearchParams;n?.download&&s.set(`download`,n.download===!0?``:n.download),n?.cacheNonce!=null&&s.set(`cacheNonce`,String(n.cacheNonce));let c=s.toString();return{signedUrl:encodeURI(`${r.url}${o.signedURL}${c?`&${c}`:``}`)}})}async createSignedUrls(e,t,n){var r=this;return r.handleOperation(async()=>{let i=await Uo(r.fetch,`${r.url}/object/sign/${r.bucketId}`,{expiresIn:t,paths:e},{headers:r.headers}),a=new URLSearchParams;n?.download&&a.set(`download`,n.download===!0?``:n.download),n?.cacheNonce!=null&&a.set(`cacheNonce`,String(n.cacheNonce));let o=a.toString();return i.map(e=>R(R({},e),{},{signedUrl:e.signedURL?encodeURI(`${r.url}${e.signedURL}${o?`&${o}`:``}`):null}))})}download(e,t,n){let r=typeof t?.transform==`object`&&t.transform!==null&&Object.keys(t.transform).length>0?`render/image/authenticated`:`object`,i=new URLSearchParams;t?.transform&&this.applyTransformOptsToQuery(i,t.transform),t?.cacheNonce!=null&&i.set(`cacheNonce`,String(t.cacheNonce)),t?.versionId!=null&&i.set(`versionId`,String(t.versionId));let a=i.toString(),o=this._getFinalPath(e);return new Qo(()=>Ho(this.fetch,`${this.url}/${r}/${o}${a?`?${a}`:``}`,{headers:this.headers,noResolveJson:!0},n),this.shouldThrowOnError)}async info(e,t){var n=this;let r=n._getFinalPath(e),i=new URLSearchParams;t?.versionId!=null&&i.set(`versionId`,String(t.versionId));let a=i.toString();return n.handleOperation(async()=>Po(await Ho(n.fetch,`${n.url}/object/info/${r}${a?`?${a}`:``}`,{headers:n.headers})))}async exists(e){var t=this;let n=t._getFinalPath(e);try{return await Go(t.fetch,`${t.url}/object/${n}`,{headers:t.headers}),{data:!0,error:null}}catch(e){if(t.shouldThrowOnError)throw e;if(Do(e)){let t=e instanceof Oo?e.status:e instanceof ko?e.originalError?.status:void 0;if(t!==void 0&&[400,404].includes(t))return{data:!1,error:e}}throw e}}getPublicUrl(e,t){let n=this._getFinalPath(e),r=new URLSearchParams;t?.download&&r.set(`download`,t.download===!0?``:t.download),t?.transform&&this.applyTransformOptsToQuery(r,t.transform),t?.cacheNonce!=null&&r.set(`cacheNonce`,String(t.cacheNonce)),t?.versionId!=null&&r.set(`versionId`,String(t.versionId));let i=r.toString(),a=typeof t?.transform==`object`&&t.transform!==null&&Object.keys(t.transform).length>0?`render/image`:`object`;return{data:{publicUrl:encodeURI(`${this.url}/${a}/public/${n}`)+(i?`?${i}`:``)}}}async remove(e){var t=this;return t.handleOperation(async()=>await Ko(t.fetch,`${t.url}/object/${t.bucketId}`,{prefixes:e},{headers:t.headers}))}async purgeCache(e,t,n){var r=this;return r.handleOperation(async()=>{let i=Io(r._getFinalPath(e)),a=new URLSearchParams;t?.transformations&&a.set(`transformations`,`true`);let o=a.toString();return await Ko(r.fetch,`${r.url}/cdn/${i}${o?`?${o}`:``}`,{},{headers:r.headers},n)})}async list(e,t,n){var r=this;return r.handleOperation(async()=>{let i=t?.sortBy?R(R({},$o.sortBy),t.sortBy):$o.sortBy,a=R(R(R({},$o),t),{},{sortBy:i,prefix:e||``});return await Uo(r.fetch,`${r.url}/object/list/${r.bucketId}`,a,{headers:r.headers},n)})}async listV2(e,t){var n=this;return n.handleOperation(async()=>{let r=R({},e);return await Uo(n.fetch,`${n.url}/object/list-v2/${n.bucketId}`,r,{headers:n.headers},t)})}encodeMetadata(e){return JSON.stringify(e)}toBase64(e){return typeof Buffer<`u`?Buffer.from(e).toString(`base64`):btoa(e)}_getFinalPath(e){return`${this.bucketId}/${e.replace(/^\/+/,``)}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,``).replace(/\/+/g,`/`)}applyTransformOptsToQuery(e,t){return t.width&&e.set(`width`,t.width.toString()),t.height&&e.set(`height`,t.height.toString()),t.resize&&e.set(`resize`,t.resize),t.format&&e.set(`format`,t.format),t.quality&&e.set(`quality`,t.quality.toString()),e}},ns={"X-Client-Info":`storage-js/2.117.1`},rs=class extends Jo{constructor(e,t={},n,r){let i=new URL(e);r?.useNewHostname&&/supabase\.(co|in|red)$/.test(i.hostname)&&!i.hostname.includes(`storage.supabase.`)&&(i.hostname=i.hostname.replace(`supabase.`,`storage.supabase.`));let a=i.href.replace(/\/$/,``),o=R(R({},ns),t);super(a,o,n,`storage`)}async listBuckets(e){var t=this;return t.handleOperation(async()=>{let n=t.listBucketOptionsToQueryString(e);return await Ho(t.fetch,`${t.url}/bucket${n}`,{headers:t.headers})})}async getBucket(e){var t=this;return t.handleOperation(async()=>await Ho(t.fetch,`${t.url}/bucket/${e}`,{headers:t.headers}))}async createBucket(e,t={public:!1}){var n=this;return n.handleOperation(async()=>await Uo(n.fetch,`${n.url}/bucket`,{id:e,name:e,type:t.type,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes,versioning_status:t.ver
17sioningStatus},{headers:n.headers}))}async updateBucket(e,t){var n=this;return n.handleOperation(async()=>await Wo(n.fetch,`${n.url}/bucket/${e}`,{id:e,name:e,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes,versioning_status:t.versioningStatus},{headers:n.headers}))}async emptyBucket(e){var t=this;return t.handleOperation(async()=>await Uo(t.fetch,`${t.url}/bucket/${e}/empty`,{},{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Ko(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}async getBucketLifecycle(e){var t=this;return t.handleOperation(async()=>await Ho(t.fetch,t.bucketLifecycleUrl(e),{headers:t.headers}))}async updateBucketLifecycle(e,t){var n=this;return n.handleOperation(async()=>await Wo(n.fetch,n.bucketLifecycleUrl(e),t,{headers:n.headers}))}async deleteBucketLifecycle(e){var t=this;return t.handleOperation(async()=>await Ko(t.fetch,t.bucketLifecycleUrl(e),{},{headers:t.headers}))}async purgeBucketCache(e,t,n){var r=this;return r.handleOperation(async()=>{let i=new URLSearchParams;t?.transformations&&i.set(`transformations`,`true`);let a=i.toString();return await Ko(r.fetch,`${r.url}/cdn/${Io(e)}${a?`?${a}`:``}`,{},{headers:r.headers},n)})}bucketLifecycleUrl(e){return`${this.url}/bucket/${Io(e)}/lifecycle`}listBucketOptionsToQueryString(e){let t={};return e&&(`limit`in e&&(t.limit=String(e.limit)),`offset`in e&&(t.offset=String(e.offset)),e.search&&(t.search=e.search),e.sortColumn&&(t.sortColumn=e.sortColumn),e.sortOrder&&(t.sortOrder=e.sortOrder)),Object.keys(t).length>0?`?`+new URLSearchParams(t).toString():``}},is=class extends Jo{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=R(R({},ns),t);super(r,i,n,`storage`)}async createBucket(e){var t=this;return t.handleOperation(async()=>await Uo(t.fetch,`${t.url}/bucket`,{name:e},{headers:t.headers}))}async listBuckets(e){var t=this;return t.handleOperation(async()=>{let n=new URLSearchParams;e?.limit!==void 0&&n.set(`limit`,e.limit.toString()),e?.offset!==void 0&&n.set(`offset`,e.offset.toString()),e?.sortColumn&&n.set(`sortColumn`,e.sortColumn),e?.sortOrder&&n.set(`sortOrder`,e.sortOrder),e?.search&&n.set(`search`,e.search);let r=n.toString(),i=r?`${t.url}/bucket?${r}`:`${t.url}/bucket`;return await Ho(t.fetch,i,{headers:t.headers})})}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Ko(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}from(e){var t=this;if(!Fo(e))throw new Eo(`Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.`);let n=new bo({baseUrl:this.url,catalogName:e,auth:{type:`custom`,getHeaders:async()=>t.headers},fetch:this.fetch}),r=this.shouldThrowOnError;return new Proxy(n,{get(e,t){let n=e[t];return typeof n==`function`?async(...t)=>{try{return{data:await n.apply(e,t),error:null}}catch(e){if(r)throw e;return{data:null,error:e}}}:n}})}},as=class extends Jo{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=R(R({},ns),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async createIndex(e){var t=this;return t.handleOperation(async()=>await qo.post(t.fetch,`${t.url}/CreateIndex`,e,{headers:t.headers})||{})}async getIndex(e,t){var n=this;return n.handleOperation(async()=>await qo.post(n.fetch,`${n.url}/GetIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers}))}async listIndexes(e){var t=this;return t.handleOperation(async()=>await qo.post(t.fetch,`${t.url}/ListIndexes`,e,{headers:t.headers}))}async deleteIndex(e,t){var n=this;return n.handleOperation(async()=>await qo.post(n.fetch,`${n.url}/DeleteIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers})||{})}},os=class extends Jo{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=R(R({},ns),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async putVectors(e){var t=this;if(e.vectors.length<1||e.vectors.length>500)throw Error(`Vector batch size must be between 1 and 500 items`);return t.handleOperation(async()=>await qo.post(t.fetch,`${t.url}/PutVectors`,e,{headers:t.headers})||{})}async getVectors(e){var t=this;return t.handleOperation(async()=>await qo.post(t.fetch,`${t.url}/GetVectors`,e,{headers:t.headers}))}async listVectors(e){var t=this;if(e.segmentCount!==void 0){if(e.segmentCount<1||e.segmentCount>16)throw Error(`segmentCount must be between 1 and 16`);if(e.segmentIndex!==void 0&&(e.segmentIndex<0||e.segmentIndex>=e.segmentCount))throw Error(`segmentIndex must be between 0 and ${e.segmentCount-1}`)}return t.handleOperation(async()=>await qo.post(t.fetch,`${t.url}/ListVectors`,e,{headers:t.headers}))}async queryVectors(e){var t=this;return t.handleOperation(async()=>await qo.post(t.fetch,`${t.url}/QueryVectors`,e,{headers:t.headers}))}async deleteVectors(e){var t=this;if(e.keys.length<1||e.keys.length>500)throw Error(`Keys batch size must be between 1 and 500 items`);return t.handleOperation(async()=>await qo.post(t.fetch,`${t.url}/DeleteVectors`,e,{headers:t.headers})||{})}},ss=class extends Jo{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=R(R({},ns),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async createBucket(e){var t=this;return t.handleOperation(async()=>await qo.post(t.fetch,`${t.url}/CreateVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}async getBucket(e){var t=this;return t.handleOperation(async()=>await qo.post(t.fetch,`${t.url}/GetVectorBucket`,{vectorBucketName:e},{headers:t.headers}))}async listBuckets(e={}){var t=this;return t.handleOperation(async()=>await qo.post(t.fetch,`${t.url}/ListVectorBuckets`,e,{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await qo.post(t.fetch,`${t.url}/DeleteVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}},cs=class extends ss{constructor(e,t={}){super(e,t.headers||{},t.fetch)}from(e){return new ls(this.url,this.headers,e,this.fetch)}async createBucket(e){var t=()=>super.createBucket,n=this;return t().call(n,e)}async getBucket(e){var t=()=>super.getBucket,n=this;return t().call(n,e)}async listBuckets(e={}){var t=()=>super.listBuckets,n=this;return t().call(n,e)}async deleteBucket(e){var t=()=>super.deleteBucket,n=this;return t().call(n,e)}},ls=class extends as{constructor(e,t,n,r){super(e,t,r),this.vectorBucketName=n}async createIndex(e){var t=()=>super.createIndex,n=this;return t().call(n,R(R({},e),{},{vectorBucketName:n.vectorBucketName}))}
17async listIndexes(e={}){var t=()=>super.listIndexes,n=this;return t().call(n,R(R({},e),{},{vectorBucketName:n.vectorBucketName}))}async getIndex(e){var t=()=>super.getIndex,n=this;return t().call(n,n.vectorBucketName,e)}async deleteIndex(e){var t=()=>super.deleteIndex,n=this;return t().call(n,n.vectorBucketName,e)}index(e){return new us(this.url,this.headers,this.vectorBucketName,e,this.fetch)}},us=class extends os{constructor(e,t,n,r,i){super(e,t,i),this.vectorBucketName=n,this.indexName=r}async putVectors(e){var t=()=>super.putVectors,n=this;return t().call(n,R(R({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async getVectors(e){var t=()=>super.getVectors,n=this;return t().call(n,R(R({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async listVectors(e={}){var t=()=>super.listVectors,n=this;return t().call(n,R(R({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async queryVectors(e){var t=()=>super.queryVectors,n=this;return t().call(n,R(R({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async deleteVectors(e){var t=()=>super.deleteVectors,n=this;return t().call(n,R(R({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}},ds=class extends rs{constructor(e,t={},n,r){super(e,t,n,r)}from(e){return new ts(this.url,this.headers,e,this.fetch)}get vectors(){return new cs(this.url+`/vector`,{headers:this.headers,fetch:this.fetch})}get analytics(){return new is(this.url+`/iceberg`,this.headers,this.fetch)}},fs=`2.117.1`,ps=3e4,ms=3*ps,hs=2*ps,gs=`http://localhost:9999`,_s=`supabase.auth.token`,vs={"X-Client-Info":`gotrue-js/${fs}`},ys=`X-Supabase-Api-Version`,bs={"2024-01-01":{timestamp:Date.parse(`2024-01-01T00:00:00.0Z`),name:`2024-01-01`}},xs=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,Ss=`sb_flow_id`,Cs=class extends Error{constructor(e,t,n){super(e),this.__isAuthError=!0,this.name=`AuthError`,this.status=t,this.code=n}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code}}};function z(e){return typeof e==`object`&&!!e&&`__isAuthError`in e}var ws=class extends Cs{constructor(e,t,n){super(e,t,n),this.name=`AuthApiError`,this.status=t,this.code=n}};function Ts(e){return z(e)&&e.name===`AuthApiError`}var Es=class extends Cs{constructor(e,t){super(e),this.name=`AuthUnknownError`,this.originalError=t}},Ds=class extends Cs{constructor(e,t,n,r){super(e,n,r),this.name=t,this.status=n}},Os=class extends Ds{constructor(){super(`Auth session missing!`,`AuthSessionMissingError`,400,void 0)}};function ks(e){return z(e)&&e.name===`AuthSessionMissingError`}var As=class extends Ds{constructor(){super(`Auth session or user missing`,`AuthInvalidToken
17ResponseError`,500,void 0)}},js=class extends Ds{constructor(e){super(e,`AuthInvalidCredentialsError`,400,void 0)}},Ms=class extends Ds{constructor(e,t=null){super(e,`AuthImplicitGrantRedirectError`,500,void 0),this.details=null,this.details=t}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}};function Ns(e){return z(e)&&e.name===`AuthImplicitGrantRedirectError`}var Ps=class extends Ds{constructor(e,t=null){super(e,`AuthPKCEGrantCodeExchangeError`,500,void 0),this.details=null,this.details=t}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}},Fs=class extends Ds{constructor(){super(`PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.`,`AuthPKCECodeVerifierMissingError`,400,`pkce_code_verifier_not_found`)}},Is=class extends Ds{constructor(e,t){super(e,`AuthRetryableFetchError`,t,void 0)}};function Ls(e){return z(e)&&e.name===`AuthRetryableFetchError`}var Rs=class extends Ds{constructor(e=`Refresh result discarded: session state changed mid-flight (e.g., concurrent signOut)`){super(e,`AuthRefreshDiscardedError`,409,void 0)}};function zs(e){return z(e)&&e.name===`AuthRefreshDiscardedError`}var Bs=class extends Ds{constructor(e,t,n){super(e,`AuthWeakPasswordError`,t,`weak_password`),this.reasons=n}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{reasons:this.reasons})}},Vs=class extends Ds{constructor(e){super(e,`AuthInvalidJwtError`,400,`invalid_jwt`)}},Hs=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`.split(``),Us=` 18\r=`.split(``),Ws=(()=>{let e=Array(128);for(let t=0;t<e.length;t+=1)e[t]=-1;for(let t=0;t<Us.length;t+=1)e[Us[t].charCodeAt(0)]=-2;for(let t=0;t<Hs.length;t+=1)e[Hs[t].charCodeAt(0)]=t;return e})();function Gs(e,t,n){if(e!==null)for(t.queue=t.queue<<8|e,t.queuedBits+=8;t.queuedBits>=6;)n(Hs[t.queue>>t.queuedBits-6&63]),t.queuedBits-=6;else if(t.queuedBits>0)for(t.queue<<=6-t.queuedBits,t.queuedBits=6;t.queuedBits>=6;)n(Hs[t.queue>>t.queuedBits-6&63]),t.queuedBits-=6}function Ks(e,t,n){let r=Ws[e];if(r>-1)for(t.queue=t.queue<<6|r,t.queuedBits+=6;t.queuedBits>=8;)n(t.queue>>t.queuedBits-8&255),t.queuedBits-=8;else if(r===-2)return;else throw Error(`Invalid Base64-URL character "${String.fromCharCode(e)}"`)}function qs(e){let t=[],n=e=>{t.push(String.fromCodePoint(e))},r={utf8seq:0,codepoint:0},i={queue:0,queuedBits:0},a=e=>{Xs(e,r,n)};for(let t=0;t<e.length;t+=1)Ks(e.charCodeAt(t),i,a);return t.join(``)}function Js(e,t){if(e<=127){t(e);return}if(e<=2047){t(192|e>>6),t(128|e&63);return}if(e<=65535){t(224|e>>12),t(128|e>>6&63),t(128|e&63);return}if(e<=1114111){t(240|e>>18),t(128|e>>12&63),t(128|e>>6&63),t(128|e&63);return}throw Error(`Unrecognized Unicode codepoint: ${e.toString(16)}`)}function Ys(e,t){for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r>55295&&r<=56319){let t=(r-55296)*1024&65535;r=(e.charCodeAt(n+1)-56320&65535|t)+65536,n+=1}Js(r,t)}}function Xs(e,t,n){if(t.utf8seq===0){if(e<=127){n(e);return}for(let n=1;n<6;n+=1)if(!(e>>7-n&1)){t.utf8seq=n;break}if(t.utf8seq===2)t.codepoint=e&31;else if(t.utf8seq===3)t.codepoint=e&15;else if(t.utf8seq===4)t.codepoint=e&7;else throw Error(`Invalid UTF-8 sequence`);--t.utf8seq}else if(t.utf8seq>0){if(e<=127)throw Error(`Invalid UTF-8 sequence`);t.codepoint=t.codepoint<<6|e&63,--t.utf8seq,t.utf8seq===0&&n(t.codepoint)}}function Zs(e){let t=[],n={queue:0,queuedBits:0},r=e=>{t.push(e)};for(let t=0;t<e.length;t+=1)Ks(e.charCodeAt(t),n,r);return new Uint8Array(t)}function Qs(e){let t=[];return Ys(e,e=>t.push(e)),new Uint8Array(t)}function $s(e){let t=[],n={queue:0,queuedBits:0},r=e=>{t.push(e)};return e.forEach(e=>Gs(e,n,r)),Gs(null,n,r),t.join(``)}function ec(e){return Math.round(Date.now()/1e3)+e}function tc(){return Symbol(`auth-callback`)}var nc=()=>typeof window<`u`&&typeof document<`u`,rc={tested:!1,writable:!1},ic=()=>
18{if(!nc())return!1;try{if(typeof globalThis.localStorage!=`object`)return!1}catch{return!1}if(rc.tested)return rc.writable;let e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),rc.tested=!0,rc.writable=!0}catch{rc.tested=!0,rc.writable=!1}return rc.writable};function ac(e){let t={},n=new URL(e);if(n.hash&&n.hash[0]===`#`)try{new URLSearchParams(n.hash.substring(1)).forEach((e,n)=>{t[n]=e})}catch{}return n.searchParams.forEach((e,n)=>{t[n]=e}),t}var oc=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),sc=e=>typeof e==`object`&&!!e&&`status`in e&&`ok`in e&&`json`in e&&typeof e.json==`function`,cc=async(e,t,n)=>{await e.setItem(t,JSON.stringify(n))},lc=async(e,t)=>{let n=await e.getItem(t);if(!n)return null;try{return JSON.parse(n)}catch{return null}},uc=async(e,t)=>{await e.removeItem(t)},dc=class e{constructor(){this.promise=new e.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}};dc.promiseConstructor=Promise;function fc(e){let t=e.split(`.`);if(t.length!==3)throw new Vs(`Invalid JWT structure`);for(let e=0;e<t.length;e++)if(!xs.test(t[e]))throw new Vs(`JWT not in base64url format`);return{header:JSON.parse(qs(t[0])),payload:JSON.parse(qs(t[1])),signature:Zs(t[2]),raw:{header:t[0],payload:t[1]}}}async function pc(e){return await new Promise(t=>{setTimeout(()=>t(null),e)})}function mc(e,t){return new Promise((n,r)=>{(async()=>{for(let i=0;i<1/0;i++)try{let r=await e(i);if(!t(i,null,r)){n(r);return}}catch(e){if(!t(i,e)){r(e);return}}})()})}function hc(e){return(`0`+e.toString(16)).substr(-2)}function gc(){let e=new Uint32Array(56);if(typeof crypto>`u`){let e=``;for(let t=0;t<56;t++)e+=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~`.charAt(Math.floor(Math.random()*66));return e}return crypto.getRandomValues(e),Array.from(e,hc).join(``)}async function _c(e){let t=new TextEncoder().encode(e),n=await crypto.subtle.digest(`SHA-256`,t),r=new Uint8Array(n);return Array.from(r).map(e=>String.fromCharCode(e)).join(``)}async function vc(e){if(!(typeof crypto<`u`&&crypto.subtle!==void 0&&typeof TextEncoder<`u`))return console.warn(`WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256.`),e;let t=await _c(e);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}var yc=/^[a-zA-Z0-9_-]{8,64}$/;function bc(e){return typeof e==`string`&&yc.test(e)?e:null}function xc(){if(typeof crypto<`u`&&typeof crypto.getRandomValues==`function`){let e=new Uint8Array(16);return crypto.getRandomValues(e),Array.from(e,hc).join(``)}let e=``;for(let t=0;t<32;t++)e+=Math.floor(Math.random()*16).toString(16);return e}var Sc=(e,t)=>`${e}-flow-${t}-code-verifier`,Cc=e=>`${e}-flows-code-verifier`;async function wc(e,t){let n=await lc(e,Cc(t));return Array.isArray(n)?n.filter(e=>bc(e)!==null):[]}async function Tc(e,t,n,r,i){await cc(e,Sc(t,n),r);let a=(await wc(e,t)).filter(e=>e!==n);for(a.push(n);a.length>5;){let n=a.shift();await uc(e,Sc(t,n)),i?.(n)}await cc(e,Cc(t),a),await cc(e,`${t}-code-verifier`,r)}async function Ec(e,t,n){if(n){let r=await lc(e,Sc(t,n));return{verifier:typeof r==`string`?r:null,flowId:n}}let r=await lc(e,`${t}-code-verifier`);return{verifier:typeof r==`string`?r:null,flowId:null}}async function Dc(e,t,n){let r=`${t}-code-verifier`;if(!n){await uc(e,r);return}let i=Sc(t,n),a=await lc(e,i);await uc(e,i);let o=await wc(e,t),s=o.filter(e=>e!==n);s.length!==o.length&&(s.length>0?await cc(e,Cc(t),s):await uc(e,Cc(t))),a!=null&&a===await lc(e,r)&&await uc(e,r)}async function Oc(e,t){let n=await wc(e,t);for(let r of n)await uc(e,Sc(t,r));await uc(e,Cc(t)),await uc(e,`${t}-code-verifier`)}function kc(e,t){let n=e.indexOf(`#`),r=n===-1?e:e.slice(0,n),i=n===-1?``:e.slice(n),a=r.indexOf(`?`);if(a!==-1){let e=r.slice(0,a),t=r.slice(a+1).split(`&`).filter(e=>e!==``&&e!==`sb_flow_id`&&!e.startsWith(`sb_flow_id=`));r=t.length>0?`${e}?${t.join(`&`)}`:e}let o=r.includes(`?`)?`&`:`?`;return`${r}${o}${Ss}=${encodeURIComponent(t)}${i}`}async function Ac(e,t,n=!1,r){let i=gc(),a=i;n&&(a+=`/recovery`);let o=xc();await Tc(e,t,o,a,r);let s=await vc(i);return[s,i===s?`plain`:`s256`,o]}var jc=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function Mc(e){let t=e.headers.get(ys);if(!t||!t.match(jc))return null;try{return new Date(`${t}T00:00:00.0Z`)}catch{return null}}function Nc(e){if(!e)throw Error(`Missing exp claim`);if(e<=Math.floor(Date.now()/1e3))throw Error(`JWT has expired`)}function Pc(e){switch(e){case`RS256`:return{name:`RSASSA-PKCS1-v1_5`,hash:{name:`
18SHA-256`}};case`ES256`:return{name:`ECDSA`,namedCurve:`P-256`,hash:{name:`SHA-256`}};default:throw Error(`Invalid alg claim`)}}var Fc=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Ic(e){if(!Fc.test(e))throw Error(`@supabase/auth-js: Expected parameter to be UUID but is not`)}function Lc(e){if(!e.recoveryCodes)throw Error("@supabase/auth-js: the MFA recovery codes API is experimental and disabled by default. Enable it by passing `auth: { experimental: { recoveryCodes: true } }` to createClient (or to the GoTrueClient constructor).")}function Rc(){return new Proxy({},{get:(e,t)=>{if(t===`__isUserNotAvailableProxy`)return!0;if(typeof t==`symbol`){let e=t.toString();if(e===`Symbol(Symbol.toPrimitive)`||e===`Symbol(Symbol.toStringTag)`||e===`Symbol(util.inspect.custom)`)return}throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${t}" property of the session object is not supported. Please use getUser() instead.`)},set:(e,t)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(e,t)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function zc(e,t){return new Proxy(e,{get:(e,n,r)=>{if(n===`__isInsecureUserWarningProxy`)return!0;if(typeof n==`symbol`){let t=n.toString();if(t===`Symbol(Symbol.toPrimitive)`||t===`Symbol(Symbol.toStringTag)`||t===`Symbol(util.inspect.custom)`||t===`Symbol(nodejs.util.inspect.custom)`)return Reflect.get(e,n,r)}return!t.value&&typeof n==`string`&&(console.warn(`Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server.`),t.value=!0),Reflect.get(e,n,r)}})}function Bc(e){return JSON.parse(JSON.stringify(e))}var Vc=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.msg==`string`)return t.msg;if(typeof t.message==`string`)return t.message;if(typeof t.error_description==`string`)return t.error_description;if(typeof t.error==`string`)return t.error}return JSON.stringify(e)},B=[500,501,502,503,504,520,521,522,523,524,525,526,527,528,529,530];async function Hc(e){if(!sc(e))throw new Is(Vc(e),0);let t;try{t=await e.json()}catch(t){throw B.includes(e.status)?new Is(e.statusText||`HTTP ${e.status}`,e.status):new Es(Vc(t),t)}if(B.includes(e.status))throw new Is(Vc(t),e.status);let n,r=Mc(e);if(r&&r.getTime()>=bs[`2024-01-01`].timestamp&&typeof t==`object`&&t&&typeof t.code==`string`?n=t.code:typeof t==`object`&&t&&typeof t.error_code==`string`&&(n=t.error_code),!n){if(typeof t==`object`&&t&&typeof t.weak_password==`object`&&t.weak_password&&Array.isArray(t.weak_password.reasons)&&t.weak_password.reasons.length&&t.weak_password.reasons.reduce((e,t)=>e&&typeof t==`string`,!0))throw new Bs(Vc(t),e.status,t.weak_password.reasons)}else if(n===`weak_password`)throw new Bs(Vc(t),e.status,t.weak_password?.reasons||[]);else if(n===`session_not_found`)throw new Os;throw new ws(Vc(t),e.status||500,n)}var Uc=(e,t,n,r)=>{let i={method:e,headers:t?.headers||{}};return e===`GET`?i:(i.headers=Object.assign({"Content-Type":`application/json;charset=UTF-8`},t?.headers),i.body=JSON.stringify(r),Object.assign(Object.assign({},i),n))};async function V(e,t,n,r){let i=Object.assign({},r?.headers);i[`X-Supabase-Api-Version`]||(i[ys]=bs[`2024-01-01`].name),r?.jwt&&(i.Authorization=`Bearer ${r.jwt}`);let a=r?.query??{};r?.redirectTo&&(a.redirect_to=r.redirectTo);
18let o=await Wc(e,t,n+(Object.keys(a).length?`?`+new URLSearchParams(a).toString():``),{headers:i,noResolveJson:r?.noResolveJson},{},r?.body);return r?.xform?r?.xform(o):{data:Object.assign({},o),error:null}}async function Wc(e,t,n,r,i,a){let o=Uc(t,r,i,a),s;try{s=await e(n,Object.assign({},o))}catch(e){throw new Is(Vc(e),0)}if(s.ok||await Hc(s),r?.noResolveJson)return s;try{return await s.json()}catch(e){await Hc(e)}}function Gc(e){let t=null;Zc(e)&&(t=Object.assign({},e),e.expires_at||(t.expires_at=ec(e.expires_in)));let n=e.user??(typeof e?.id==`string`?e:null);return{data:{session:t,user:n},error:null}}function Kc(e){let t=Gc(e);return!t.error&&e.weak_password&&typeof e.weak_password==`object`&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.message&&typeof e.weak_password.message==`string`&&e.weak_password.reasons.reduce((e,t)=>e&&typeof t==`string`,!0)&&(t.data.weak_password=e.weak_password),t}function qc(e){return{data:{user:e.user??e},error:null}}function Jc(e){return{data:e,error:null}}function Yc(e){let{action_link:t,email_otp:n,hashed_token:r,redirect_to:i,verification_type:a}=e,o=vi(e,[`action_link`,`email_otp`,`hashed_token`,`redirect_to`,`verification_type`]);return{data:{properties:{action_link:t,email_otp:n,hashed_token:r,redirect_to:i,verification_type:a},user:Object.assign({},o)},error:null}}function Xc(e){return e}function Zc(e){return!!e.access_token&&!!e.refresh_token&&!!e.expires_in}var Qc=[`global`,`local`,`others`],$c=class{constructor({url:e=``,headers:t={},fetch:n,experimental:r}){this.url=e,this.headers=t,this.fetch=oc(n),this.experimental=r??{},this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)},this.passkey={listPasskeys:this._adminListPasskeys.bind(this),deletePasskey:this._adminDeletePasskey.bind(this)}}async signOut(e,t=Qc[0]){if(Qc.indexOf(t)<0)throw Error(`@supabase/auth-js: Parameter scope must be one of ${Qc.join(`, `)}`);try{return await V(this.fetch,`POST`,`${this.url}/logout?scope=${t}`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(e){if(z(e))return{data:null,error:e};throw e}}async inviteUserByEmail(e,t={}){try{return await V(this.fetch,`POST`,`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:qc})}catch(e){if(z(e))return{data:{user:null},error:e};throw e}}async generateLink(e){try{let{options:t}=e,n=vi(e,[`options`]),r=Object.assign(Object.assign({},n),t);return`newEmail`in n&&(r.new_email=n?.newEmail,delete r.newEmail),await V(this.fetch,`POST`,`${this.url}/admin/generate_link`,{body:r,headers:this.headers,xform:Yc,redirectTo:t?.redirectTo})}catch(e){if(z(e))return{data:{properties:null,user:null},error:e};throw e}}async createUser(e){try{return await V(this.fetch,`POST`,`${this.url}/admin/users`,{body:e,headers:this.headers,xform:qc})}catch(e){if(z(e))return{data:{user:null},error:e};throw e}}async listUsers(e){try{let t={nextPage:null,lastPage:0,total:0},n=await V(this.fetch,`GET`,`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(e?.page)?.toString()??``,per_page:(e?.perPage)?.toString()??``},xform:Xc});if(n.error)throw n.error;let r=await n.json(),i=n.headers.get(`x-total-count`)??0,a=n.headers.get(`link`)?.split(`,`)??[];return a.length>0&&(a.forEach(e=>{let n=parseInt(e.split(`;`)[0].split(`=`)[1].substring(0,1)),r=JSON.parse(e.split(`;`)[1].split(`=`)[1]);t[`${r}Page`]=n}),t.total=parseInt(i)),{data:Object.assign(Object.assign({},r),t),error:null}}catch(e){if(z(e))return{data:{users:[]},error:e};throw e}}async getUserById(e){Ic(e);try{return await V(this.fetch,`GET`,`${this.url}/admin/users/${e}`,{headers:this.headers,xform:qc})}catch(e){if(z(e))return{data:{user:null},error:e};throw e}}async updateUserById(e,t){Ic(e);try{return await V(this.fetch,`PUT`,`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:qc})}catch(e){if(z(e))return{data:{user:null},error:e};throw e}}async deleteUser(e,t=!1){Ic(e);try{return await V(this.fetch,`DELETE`,`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:qc})}catch(e){if(z(e))return{data:{user:null},error:e};throw e}}async _listFactors(e){Ic(e.userId);try{let{data:t,error:n}=await V(this.fetch,`GET`,`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:e=>({data:{factors:e},error:null})});return{data:t,error:n}}catch(e){if(z(e))return{data:null,error:e};throw e}}async _deleteFactor(e){Ic(e.userId),Ic(e.id);try{return{data:await V(this.fetch,`DELETE`,`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(e){if(z(e))return{data:null,error:e};throw e}}async _listOAuthClients(e){try{let t={nextPage:null,lastPage:0,total:0},n=await V(this.fetch,`GET`,`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(e?.page)?.toString()??``,per_page:(e?.perPage)?.toString()??``},xform:Xc});if(n.error)throw n.error;let r=await n.json(),i=n.headers.get(`x-total-count`)??0,a=n.headers.get(`link`)?.split(`,`)??[];return a.length>
180&&(a.forEach(e=>{let n=parseInt(e.split(`;`)[0].split(`=`)[1].substring(0,1)),r=JSON.parse(e.split(`;`)[1].split(`=`)[1]);t[`${r}Page`]=n}),t.total=parseInt(i)),{data:Object.assign(Object.assign({},r),t),error:null}}catch(e){if(z(e))return{data:{clients:[]},error:e};throw e}}async _createOAuthClient(e){try{return await V(this.fetch,`POST`,`${this.url}/admin/oauth/clients`,{body:e,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _getOAuthClient(e){try{return await V(this.fetch,`GET`,`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _updateOAuthClient(e,t){try{return await V(this.fetch,`PUT`,`${this.url}/admin/oauth/clients/${e}`,{body:t,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _deleteOAuthClient(e){try{return await V(this.fetch,`DELETE`,`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(e){if(z(e))return{data:null,error:e};throw e}}async _regenerateOAuthClientSecret(e){try{return await V(this.fetch,`POST`,`${this.url}/admin/oauth/clients/${e}/regenerate_secret`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _listCustomProviders(e){try{let t={};return e?.type&&(t.type=e.type),await V(this.fetch,`GET`,`${this.url}/admin/custom-providers`,{headers:this.headers,query:t,xform:e=>({data:{providers:e?.providers??[]},error:null})})}catch(e){if(z(e))return{data:{providers:[]},error:e};throw e}}async _createCustomProvider(e){try{return await V(this.fetch,`POST`,`${this.url}/admin/custom-providers`,{body:e,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _getCustomProvider(e){try{return await V(this.fetch,`GET`,`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _updateCustomProvider(e,t){try{return await V(this.fetch,`PUT`,`${this.url}/admin/custom-providers/${e}`,{body:t,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _deleteCustomProvider(e){try{return await V(this.fetch,`DELETE`,`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(e){if(z(e))return{data:null,error:e};throw e}}async _adminListPasskeys(e){Ic(e.userId);try{return await V(this.fetch,`GET`,`${this.url}/admin/users/${e.userId}/passkeys`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(z(e))return{data:null,error:e};throw e}}async _adminDeletePasskey(e){Ic(e.userId),Ic(e.passkeyId);try{return await V(this.fetch,`DELETE`,`${this.url}/admin/users/${e.userId}/passkeys/${e.passkeyId}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(e){if(z(e))return{data:null,error:e};throw e}}};function el(e={}){return{getItem:t=>e[t]||null,setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]}}}globalThis&&ic()&&globalThis.localStorage&&globalThis.localStorage.getItem(`supabase.gotrue-js.locks.debug`);var tl=class extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}};function nl(){if(typeof globalThis!=`object`)try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<`u`&&(self.globalThis=self)}}function rl(e){if(!/^0x[a-fA-F0-9]{40}$/.test(e))throw Error(`@supabase/auth-js: Address "${e}" is invalid.`);return e.toLowerCase()}function il(e){return parseInt(e,16)}function al(e){let t=new TextEncoder().encode(e);return`0x`+Array.from(t,e=>e.toString(16).padStart(2,`0`)).join(``)}function ol(e){let{chainId:t,domain:n,expirationTime:r,issuedAt:i=new Date,nonce:a,notBefore:o,requestId:s,resources:c,scheme:l,uri:u,version:d}=e;if(!Number.isInteger(t))throw Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${t}`);if(!n)throw Error(`@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.`);if(a&&a.length<8)throw Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${a}`);if(!u)throw Error(`@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.`);if(d!==`1`)throw Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${d}`);if(e.statement?.includes(` 19`))throw Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${e.statement}`);let f=rl(e.address),p=`${l?`${l}://${n}`:n} wants you to sign in with your Ethereum account:\n${f}\n\n${e.statement?`${e.statement}\n`:``}`,m=`URI: ${u}\nVersion: ${d}\nChain ID: ${t}${a?`\nNonce: ${a}`:``}\nIssued At: ${i.toISOString()}`;if(r&&(m+=`\nExpiration Time: ${r.toISOString()}`),o&&(m+=`\nNot Before: ${o.toISOString()}`),s&&(m+=`\nRequest ID: ${s}`),c){let e=` 20Resources:`;for(let t of c){if(!t||typeof t!=`string`)throw Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${t}`);e+=`\n- ${t}`}m+=e}return`${p}\n${m}`}
20var H=class extends Error{constructor({message:e,code:t,cause:n,name:r}){super(e,{cause:n}),this.__isWebAuthnError=!0,this.name=r??(n instanceof Error?n.name:void 0)??`Unknown Error`,this.code=t}toJSON(){return{name:this.name,message:this.message,code:this.code}}},sl=class extends H{constructor(e,t){super({code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:t,message:e}),this.name=`WebAuthnUnknownError`,this.originalError=t}};function cl({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new H({message:`Registration ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`ConstraintError`){if(n.authenticatorSelection?.requireResidentKey===!0)return new H({message:`Discoverable credentials were required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT`,cause:e});if(t.mediation===`conditional`&&n.authenticatorSelection?.userVerification===`required`)return new H({message:`User verification was required during automatic registration but it could not be performed`,code:`ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE`,cause:e});if(n.authenticatorSelection?.userVerification===`required`)return new H({message:`User verification was required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT`,cause:e})}else if(e.name===`InvalidStateError`)return new H({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new H({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`NotSupportedError`)return n.pubKeyCredParams.filter(e=>e.type===`public-key`).length===0?new H({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new H({message:`No available authenticator supported any of the specified pubKeyCredParams algorithms`,code:`ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG`,cause:e});else if(e.name===`SecurityError`){let t=window.location.hostname;if(!ml(t))return new H({message:`${window.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new H({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`TypeError`){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new H({message:`User ID was not between 1 and 64 characters`,code:`ERROR_INVALID_USER_ID_LENGTH`,cause:e})}else if(e.name===`UnknownError`)return new H({message:`The authenticator was unable to process the specified options, or could not create a new credential`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return new H({message:`a Non-Webauthn related error has occurred`,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e})}function ll({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new H({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new H({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=window.location.hostname;if(!ml(t))return new H({message:`${window.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new H({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`UnknownError`)return new H({message:`The authenticator was unable to process the specified options, or could not create a new assertion signature`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return new H({message:`a Non-Webauthn related error has occurred`,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e})}var U=new class{createNewAbortSignal(){if(this.controller){let e=Error(`Cancelling existing WebAuthn API call for new one`);e.name=`AbortError`,this.controller.abort(e)}let e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){let e=Error(`Manually cancelling existing WebAuthn API call`);e.name=`AbortError`,this.controller.abort(e),this.controller=void 0}}};function ul(e){if(!e)throw Error(`Credential creation options are required`);if(typeof PublicKeyCredential<`u`&&`parseCreationOptionsFromJSON`in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON==`function`)return PublicKeyCredential.parseCreationOptionsFromJSON(e);let{challenge:t,user:n,excludeCredentials:r}=e,i=vi(e,[`challenge`,`user`,`excludeCredentials`]),a=Zs(t).buffer,o=Object.assign(Object.assign({},n),{id:Zs(n.id).buffer}),s=Object.assign(Object.assign({},i),{challenge:a,user:o});if(r&&r.length>0){s.excludeCredentials=Array(r.length);for(let e=0;e<r.length;e++){let t=r[e];s.excludeCredentials[e]=Object.assign(Object.assign({},t),{id:Zs(t.id).buffer,type:t.type||`public-key`,transports:t.transports})}}return s}function dl(e){if(!e)throw Error(`Credential request options are required`);if(typeof PublicKeyCredential<`u`&&`parseRequestOptionsFromJSON`in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON==`function`)return PublicKeyCredential.parseRequestOptionsFromJSON(e);let{challenge:t,allowCredentials:n}=e,r=vi(e,[`challenge`,`allowCredentials`]),i=Zs(t).buffer,a=Object.assign(Object.assign({},r),{challenge:i});if(n&&n.length>0){a.allowCredentials=Array(n.length);for(let e=0;e<n.length;e++){let t=n[e];a.allowCredentials[e]=Object.assign(Object.assign({},t),{id:Zs(t.id).buffer,type:t.type||`public-key`,transports:t.transports})}}return a}function fl(e){if(`toJSON`in e&&typeof e.toJSON==`function`)return e.toJSON();let t=e;return{id:e.id,rawId:e.id,response:{attestationObject:$s(new Uint8Array(e.response.attestationObject)),clientDataJSON:$s(new Uint8Array(e.response.clientDataJSON))},type:`public-key`,clientExtensionResults:e.getClientExtensionResults(),authenticatorAttachment:t.authenticatorAttachment??void 0}}function pl(e){if(`toJSON`in e&&typeof e.toJSON==`function`)return e.toJSON();let t=e,n=e.getClientExtensionResults(),r=e.response;return{id:e.id,rawId:e.id,response:{authenticatorData:$s(new Uint8Array(r.authenticatorData)),clientDataJSON:$s(new Uint8Array(r.clientDataJSON)),signature:$s(new Uint8Array(r.signature)),userHandle:r.userHandle?$s(new Uint8Array(r.userHandle)):void 0},type:`public-key`,clientExtensionResults:n,authenticatorAttachment:t.authenticatorAttachment??void 0}}function ml(e){return e===`localhost`||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(e)}function hl(){return!!(nc()&&`PublicKeyCredential`in window&&window.PublicKeyCredential&&`credentials`in navigator&&typeof(navigator==null?void 0:navigator.credentials)?.create==`function`&&typeof(navigator==null?void 0:navigator.credentials)?.get==`function`)}async function gl(e){try{let t=await navigator.credentials.create(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new sl(`Browser returned unexpected credential type`,t)}:{data:null,error:new sl(`Empty credential response`,t)}}
20catch(t){return{data:null,error:cl({error:t,options:e})}}}async function _l(e){try{let t=await navigator.credentials.get(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new sl(`Browser returned unexpected credential type`,t)}:{data:null,error:new sl(`Empty credential response`,t)}}catch(t){return{data:null,error:ll({error:t,options:e})}}}var vl={hints:[`security-key`],authenticatorSelection:{authenticatorAttachment:`cross-platform`,requireResidentKey:!1,userVerification:`preferred`,residentKey:`discouraged`},attestation:`direct`},yl={userVerification:`preferred`,hints:[`security-key`],attestation:`direct`};function bl(...e){let t=e=>typeof e==`object`&&!!e&&!Array.isArray(e),n=e=>e instanceof ArrayBuffer||ArrayBuffer.isView(e),r={};for(let i of e)if(i)for(let e in i){let a=i[e];if(a!==void 0)if(Array.isArray(a))r[e]=a;else if(n(a))r[e]=a;else if(t(a)){let n=r[e];r[e]=t(n)?bl(n,a):bl(a)}else r[e]=a}return r}function xl(e,t){return bl(vl,e,t||{})}function Sl(e,t){return bl(yl,e,t||{})}var Cl=class{constructor(e){this.client=e,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(e){return this.client.mfa.enroll(Object.assign(Object.assign({},e),{factorType:`webauthn`}))}async _challenge({factorId:e,webauthn:t,friendlyName:n,signal:r},i){try{let{data:a,error:o}=await this.client.mfa.challenge({factorId:e,webauthn:t});if(!a)return{data:null,error:o};let s=r??U.createNewAbortSignal();if(a.webauthn.type===`create`){let{user:e}=a.webauthn.credential_options.publicKey;if(!e.name){let t=n;if(t)e.name=`${e.id}:${t}`;else{let t=(await this.client.getUser()).data.user,n=t?.user_metadata?.name||t?.email||t?.id||`User`;e.name=`${e.id}:${n}`}}e.displayName||=e.name}switch(a.webauthn.type){case`create`:{let{data:t,error:n}=await gl({publicKey:xl(a.webauthn.credential_options.publicKey,i?.create),signal:s});return t?{data:{factorId:e,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:t}},error:null}:{data:null,error:n}}case`request`:{let t=Sl(a.webauthn.credential_options.publicKey,i?.request),{data:n,error:r}=await _l(Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:t,signal:s}));return n?{data:{factorId:e,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:n}},error:null}:{data:null,error:r}}}}catch(e){return z(e)?{data:null,error:e}:{data:null,error:new Es(`Unexpected error in challenge`,e)}}}async _verify({challengeId:e,factorId:t,webauthn:n}){return this.client.mfa.verify({factorId:t,challengeId:e,webauthn:n})}async _authenticate({factorId:e,webauthn:{rpId:t=typeof window<`u`?window.location.hostname:void 0,rpOrigins:n=typeof window<`u`?[window.location.origin]:void 0,signal:r}={}},i){if(!t)return{data:null,error:new Cs(`rpId is required for WebAuthn authentication`)};try{if(!hl())return{data:null,error:new Es(`Browser does not support WebAuthn`,null)};let{data:a,error:o}=await this.challenge({factorId:e,webauthn:{rpId:t,rpOrigins:n},signal:r},{request:i});if(!a)return{data:null,error:o};let{webauthn:s}=a;return this._verify({factorId:e,challengeId:a.challengeId,webauthn:{type:s.type,rpId:t,rpOrigins:n,credential_response:s.credential_response}})}catch(e){return z(e)?{data:null,error:e}:{data:null,error:new Es(`Unexpected error in authenticate`,e)}}}async _register({friendlyName:e,webauthn:{rpId:t=typeof window<`u`?window.location.hostname:void 0,rpOrigins:n=typeof window<`u`?[window.location.origin]:void 0,signal:r}={}},i){if(!t)return{data:null,error:new Cs(`rpId is required for WebAuthn registration`)};try{if(!hl())return{data:null,error:new Es(`Browser does not support WebAuthn`,null)};let{data:a,error:o}=await this._enroll({friendlyName:e});if(!a)return await this.client.mfa.listFactors().then(t=>t.data?.all.find(t=>t.factor_type===`webauthn`&&t.friendly_name===e&&t.status===`unverified`)).then(e=>e?this.client.mfa.unenroll({factorId:e?.id}):void 0),{data:null,error:o};let{data:s,error:c}=await this._challenge({factorId:a.id,friendlyName:a.friendly_name,webauthn:{rpId:t,rpOrigins:n},signal:r},{create:i});return s?this._verify({factorId:a.id,challengeId:s.challengeId,webauthn:{rpId:t,rpOrigins:n,type:s.webauthn.type,credential_response:s.webauthn.credential_response}}):{data:null,error:c}}catch(e){return z(e)?{data:null,error:e}:{data:null,error:new Es(`Unexpected error in register`,e)}}}};nl();var wl={url:gs,storageKey:_s,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:vs,flowType:`implicit`,debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1,experimental:{}},Tl={},El=!1,Dl=class e{get jwks(){return Tl[this.storageKey]?.jwks??{keys:[]}}set jwks(e){Tl[this.storageKey]=Object.assign(Object.assign({},Tl[this.storageKey]),{jwks:e})}get jwks_cached_at(){return Tl[this.storageKey]?.cachedAt??-(2**53-1)}set jwks_cached_at(e){Tl[this.storageKey]=Object.assign(Object.assign({},Tl[this.storageKey]),{cachedAt:e})}constructor(t){var n;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.lastRefreshFailure=null,this._sessionRemovalEpoch=0,this.initializePromise=null,this._pendingInitNotifications=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lock=null,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;let r=Object.assign(Object.assign({},wl),t);if(this.storageKey=r.storageKey,this.instanceID=e.nextInstanceID[this.storageKey]??0,e.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!r.debug,typeof r.debug==`function`&&(this.logger=r.debug),this.instanceID>0&&nc()){let e=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(e),this.logDebugMessages&&console.trace(e)}if(this.persistSession=r.persistSession,this.autoRefreshToken=r.autoRefreshToken,this.experimental=r.experimental??{},this.admin=new $c({url:r.url,headers:r.headers,fetch:r.fetch,experimental:this.experimental}),this.url=r.url,this.headers=r.headers,this.fetch=oc(r.fetch),this.detectSessionInUrl=r.detectSessionInUrl,this.flowType=r.flowType,this.hasCustomAuthorizationHeader=r.hasCustomAuthorizationHeader,this.throwOnError=r.throwOnError,this.lockAcquireTimeout=r.lockAcquireTimeout,r.lock!=null&&(this.lock=r.lock,El||(El=!0,console.warn(`${this._logPrefix()} The "lock" option is deprecated and will be removed in v3. The client now coordinates session refreshes without a lock, so most apps can drop the option. See https://github.com/supabase/supabase-js/blob/master/packages/core/auth-js/migrations/lockless-coordination.md`))),this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=-(2**53-1)),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new Cl(this),recoveryCodes:{getStatus:this._getRecoveryCodesStatus.bind(this),generate:this._generateRecoveryCodes.bind(this),verify:this._verifyRecoveryCode.bind(this),regenerate:this._regenerateRecoveryCodes.bind(this),unenroll:this._unenrollRecoveryCodes.bind(this)}}
20,this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.passkey={startRegistration:this._startPasskeyRegistration.bind(this),verifyRegistration:this._verifyPasskeyRegistration.bind(this),startAuthentication:this._startPasskeyAuthentication.bind(this),verifyAuthentication:this._verifyPasskeyAuthentication.bind(this),list:this._listPasskeys.bind(this),update:this._updatePasskey.bind(this),delete:this._deletePasskey.bind(this)},this.persistSession?(r.storage?this.storage=r.storage:ic()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=el(this.memoryStorage)),r.userStorage&&(this.userStorage=r.userStorage)):(this.memoryStorage={},this.storage=el(this.memoryStorage)),nc()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(e){console.error(`Failed to create a new BroadcastChannel, multi-tab state changes will not be available`,e)}(n=this.broadcastChannel)==null||n.addEventListener(`message`,async e=>{this._debug(`received broadcast notification from other tab or client`,e),(e.data.event===`TOKEN_REFRESHED`||e.data.event===`SIGNED_IN`)&&(this.lastRefreshFailure=null);try{await this._notifyAllSubscribers(e.data.event,e.data.session,!1)}catch(e){this._debug(`#broadcastChannel`,`error`,e)}})}r.skipAutoInitialize||this.initialize().catch(e=>{this._debug(`#initialize()`,`error`,e)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(e){if(this.throwOnError&&e&&e.error)throw e.error;return e}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${fs}) ${new Date().toISOString()}`}_debug(...e){return this.logDebugMessages&&this.logger(this._logPrefix(),...e),this}async initialize(){if(this.initializePromise)return await this.initializePromise;this._pendingInitNotifications=[],this.initializePromise=(async()=>this.lock==null?await this._initialize():await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()))();let e=await this.initializePromise,t=this._pendingInitNotifications??[];this._pendingInitNotifications=null;for(let e of t)await this._notifyAllSubscribers(e.event,e.session,e.broadcast);return e}async _initialize(){try{let e={},t=`none`;if(nc()&&(e=ac(window.location.href),this._isImplicitGrantCallback(e)?t=`implicit`:await this._isPKCECallback(e)&&(t=`pkce`)),nc()&&this.detectSessionInUrl&&t!==`none`){let{data:n,error:r}=await this._getSessionFromURL(e,t);if(r){if(this._debug(`#_initialize()`,`error detecting session from URL`,r),Ns(r)){let e=r.details?.code;if(e===`identity_already_exists`||e===`identity_not_found`||e===`single_identity_not_deletable`)return{error:r}}return{error:r}}let{session:i,redirectType:a}=n;return this._debug(`#_initialize()`,`detected session in URL`,i,`redirect type`,a),await this._saveSession(i),setTimeout(async()=>{a===`recovery`?await this._notifyAllSubscribers(`PASSWORD_RECOVERY`,i):await this._notifyAllSubscribers(`SIGNED_IN`,i)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(e){return z(e)?this._returnResult({error:e}):this._returnResult({error:new Es(`Unexpected error during initialization`,e)})}finally{await this._handleVisibilityChange(),this._debug(`#_initialize()`,`end`)}}async signInAnonymously(e){try{let{data:t,error:n}=await V(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,body:{data:e?.options?.data??{},gotrue_meta_security:{captcha_token:e?.options?.captchaToken}},xform:Gc});if(n||!t)return this._returnResult({data:{user:null,session:null},error:n});let r=t.session,i=t.user;return t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers(`SIGNED_IN`,r)),this._returnResult({data:{user:i,session:r},error:null})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signUp(e){let t=null;try{let n;if(`email`in e){let{email:r,password:i,options:a}=e,o=null,s=null;this.flowType===`pkce`&&([o,s,t]=await this._getCodeChallengeAndMethod()),n=await V(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,redirectTo:this._maybeAppendFlowIdToRedirect(a?.emailRedirectTo,t),body:{email:r,password:i,data:a?.data??{},gotrue_meta_security:{captcha_token:a?.captchaToken}
20,code_challenge:o,code_challenge_method:s},xform:Gc})}else if(`phone`in e){let{phone:t,password:r,options:i}=e;n=await V(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,body:{phone:t,password:r,data:i?.data??{},channel:i?.channel??`sms`,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Gc})}else throw new js(`You must provide either an email or phone number and a password`);let{data:r,error:i}=n;if(i||!r)return await Dc(this.storage,this.storageKey,t),this._returnResult({data:{user:null,session:null},error:i});let a=r.session,o=r.user;return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers(`SIGNED_IN`,a)),this._returnResult({data:{user:o,session:a},error:null})}catch(e){if(await Dc(this.storage,this.storageKey,t),z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithPassword(e){try{let t;if(`email`in e){let{email:n,password:r,options:i}=e;t=await V(this.fetch,`POST`,`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:n,password:r,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Kc})}else if(`phone`in e){let{phone:n,password:r,options:i}=e;t=await V(this.fetch,`POST`,`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:n,password:r,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Kc})}else throw new js(`You must provide either an email or phone number and a password`);let{data:n,error:r}=t;if(r)return this._returnResult({data:{user:null,session:null},error:r});if(!n||!n.session||!n.user){let e=new As;return this._returnResult({data:{user:null,session:null},error:e})}return n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers(`SIGNED_IN`,n.session)),this._returnResult({data:Object.assign({user:n.user,session:n.session},n.weak_password?{weakPassword:n.weak_password}:null),error:r})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithOAuth(e){return await this._handleProviderSignIn(e.provider,{redirectTo:e.options?.redirectTo,scopes:e.options?.scopes,queryParams:e.options?.queryParams,skipBrowserRedirect:e.options?.skipBrowserRedirect})}async exchangeCodeForSession(e,t){return await this.initializePromise,this.lock==null?this._exchangeCodeForSession(e,t):this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(e,t))}async signInWithWeb3(e){let{chain:t}=e;switch(t){case`ethereum`:return await this.signInWithEthereum(e);case`solana`:return await this.signInWithSolana(e);default:throw Error(`@supabase/auth-js: Unsupported chain "${t}"`)}}async signInWithEthereum(e){let t,n;if(`message`in e)t=e.message,n=e.signature;else{let{chain:r,wallet:i,statement:a,options:o}=e,s;if(!nc()){if(typeof i!=`object`||!o?.url)throw Error(`@supabase/auth-js: Both wallet and url must be specified in non-browser environments.`);s=i}else if(typeof i==`object`)s=i;else{let e=window;if(`ethereum`in e&&typeof e.ethereum==`object`&&`request`in e.ethereum&&typeof e.ethereum.request==`function`)s=e.ethereum;else throw Error(`@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.`)}let c=new URL(o?.url??window.location.href),l=await s.request({method:`eth_requestAccounts`}).then(e=>e).catch(()=>{throw Error(`@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid`)});if(!l||l.length===0)throw Error(`@supabase/auth-js: No accounts available. Please ensure the wallet is connected.`);let u=rl(l[0]),d=o?.signInWithEthereum?.chainId;d||=il(await s.request({method:`eth_chainId`})),t=ol({domain:c.host,address:u,statement:a,uri:c.href,version:`1`,chainId:d,nonce:o?.signInWithEthereum?.nonce,issuedAt:o?.signInWithEthereum?.issuedAt??new Date,expirationTime:o?.signInWithEthereum?.expirationTime,notBefore:o?.signInWithEthereum?.notBefore,requestId:o?.signInWithEthereum?.requestId,resources:o?.signInWithEthereum?.resources}),n=await s.request({method:`personal_sign`,params:[al(t),u]})}try{let{data:r,error:i}=await V(this.fetch,`POST`,`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:`ethereum`,message:t,signature:n},e.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options?.captchaToken}}:null),xform:Gc});if(i)throw i;if(!r||!r.session||!r.user){let e=new As;return this._returnResult({data:{user:null,session:null},error:e})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers(`SIGNED_IN`,r.session)),this._returnResult({data:Object.assign({},r),error:i})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithSolana(e){let t,n;if(`message`in e)t=e.message,n=e.signature;else{let{chain:r,wallet:i,statement:a,options:o}=e,s;
20if(!nc()){if(typeof i!=`object`||!o?.url)throw Error(`@supabase/auth-js: Both wallet and url must be specified in non-browser environments.`);s=i}else if(typeof i==`object`)s=i;else{let e=window;if(`solana`in e&&typeof e.solana==`object`&&(`signIn`in e.solana&&typeof e.solana.signIn==`function`||`signMessage`in e.solana&&typeof e.solana.signMessage==`function`))s=e.solana;else throw 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.`)}let c=new URL(o?.url??window.location.href);if(`signIn`in s&&s.signIn){let e=await s.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},o?.signInWithSolana),{version:`1`,domain:c.host,uri:c.href}),a?{statement:a}:null)),r;if(Array.isArray(e)&&e[0]&&typeof e[0]==`object`)r=e[0];else if(e&&typeof e==`object`&&`signedMessage`in e&&`signature`in e)r=e;else throw Error(`@supabase/auth-js: Wallet method signIn() returned unrecognized value`);if(`signedMessage`in r&&`signature`in r&&(typeof r.signedMessage==`string`||r.signedMessage instanceof Uint8Array)&&r.signature instanceof Uint8Array)t=typeof r.signedMessage==`string`?r.signedMessage:new TextDecoder().decode(r.signedMessage),n=r.signature;else throw Error(`@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields`)}else{if(!(`signMessage`in s)||typeof s.signMessage!=`function`||!(`publicKey`in s)||typeof s!=`object`||!s.publicKey||!(`toBase58`in s.publicKey)||typeof s.publicKey.toBase58!=`function`)throw Error(`@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API`);t=[`${c.host} wants you to sign in with your Solana account:`,s.publicKey.toBase58(),...a?[``,a,``]:[``],`Version: 1`,`URI: ${c.href}`,`Issued At: ${o?.signInWithSolana?.issuedAt??new Date().toISOString()}`,...o?.signInWithSolana?.notBefore?[`Not Before: ${o.signInWithSolana.notBefore}`]:[],...o?.signInWithSolana?.expirationTime?[`Expiration Time: ${o.signInWithSolana.expirationTime}`]:[],...o?.signInWithSolana?.chainId?[`Chain ID: ${o.signInWithSolana.chainId}`]:[],...o?.signInWithSolana?.nonce?[`Nonce: ${o.signInWithSolana.nonce}`]:[],...o?.signInWithSolana?.requestId?[`Request ID: ${o.signInWithSolana.requestId}`]:[],...o?.signInWithSolana?.resources?.length?[`Resources`,...o.signInWithSolana.resources.map(e=>`- ${e}`)]:[]].join(` 21`);let e=await s.signMessage(new TextEncoder().encode(t),`utf8`);if(!e||!(e instanceof Uint8Array))throw Error(`@supabase/auth-js: Wallet signMessage() API returned an recognized value`);n=e}}try{let{data:r,error:i}=await V(this.fetch,`POST`,`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:`solana`,message:t,signature:$s(n)},e.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options?.captchaToken}}:null),xform:Gc});if(i)throw i;if(!r||!r.session||!r.user){let e=new As;return this._returnResult({data:{user:null,session:null},error:e})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers(`SIGNED_IN`,r.session)),this._returnResult({data:Object.assign({},r),error:i})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async _exchangeCodeForSession(e,t){let n=t?.flowId!=null,r=n?bc(t?.flowId):nc()?bc(ac(window.location.href)[Ss]):null;n&&!r&&this._debug(`#_exchangeCodeForSession()`,`provided flowId is not a valid flow id`,t?.flowId);let{verifier:i,flowId:a}=n&&!r?{verifier:null,flowId:null}:await Ec(this.storage,this.storageKey,r),[o,s]=(i??``).split(`/`);try{if(!o&&this.flowType===`pkce`)throw new Fs;let{data:t,error:n}=await V(this.fetch,`POST`,`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:o},xform:Gc});if(await Dc(this.storage,this.storageKey,a),n)throw n;if(!t||!t.session||!t.user){let e=new As;return this._returnResult({data:{user:null,session:null,redirectType:null},error:e})}return t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers(s===`recovery`?`PASSWORD_RECOVERY`:`SIGNED_IN`,t.session)),this._returnResult({data:Object.assign(Object.assign({},t),{redirectType:s??null}),error:n})}catch(e){if(await Dc(this.storage,this.storageKey,a),z(e))return this._returnResult({data:{user:null,session:null,redirectType:null},error:e});throw e}}async signInWithIdToken(e){try{let{options:t,provider:n,token:r,access_token:i,nonce:a}=e,{data:o,error:s}=await V(this.fetch,`POST`,`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:n,id_token:r,access_token:i,nonce:a,gotrue_meta_security:{captcha_token:t?.captchaToken}},xform:Gc});if(s)return this._returnResult({data:{user:null,session:null},error:s});if(!o||!o.session||!o.user){let e=new As;return this._returnResult({data:{user:null,session:null},error:e})}return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers(`SIGNED_IN`,o.session)),this._returnResult({data:o,error:s})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithOtp(e){let t=null;try{if(`email`in e){let{email:n,options:r}=e,i=null,a=null;this.flowType===`pkce`&&([i,a,t]=await this._getCodeChallengeAndMethod());let{error:o}=await V(this.fetch,`POST`,`${this.url}/otp`,{headers:this.headers,body:{email:n,data:r?.data??{},create_user:r?.shouldCreateUser??!0,gotrue_meta_security:{captcha_token:r?.captchaToken},code_challenge:i,code_challenge_method:a},redirectTo:this._maybeAppendFlowIdToRedirect(r?.emailRedirectTo,t)});return this._returnResult({data:{user:null,session:null},error:o})}if(`phone`in e){let{phone:t,options:n}=e,{data:r,error:i}=await V(this.fetch,`POST`,`${this.url}/otp`,{headers:this.headers,body:{phone:t,data:n?.data??{},create_user:n?.shouldCreateUser??!0,gotrue_meta_security:{captcha_token:n?.captchaToken},channel:n?.channel??`sms`}});return this._returnResult({data:{user:null,session:null,messageId:r?.message_id},error:i})}throw new js(`You must provide either an email or phone number.`)}catch(e){if(await Dc(this.storage,this.storageKey,t),z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async verifyOtp(e){try{let t,n;`options`in e&&(t=e.options?.redirectTo,n=e.options?.captchaToken);let{data:r,error:i}=await V(this.fetch,`POST`,`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:n}}),redirectTo:t,xform:Gc});if(i)throw i;if(!r)throw Error(`An error occurred on token verification.`);let a=r.session,o=r.user;return a?.access_token&&(await this._saveSession(a),await this._notifyAllSubscribers(e.type==`recovery`?`PASSWORD_RECOVERY`:`SIGNED_IN`,a)),this._returnResult({data:{user:o,session:a},error:null})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithSSO(e){let t=null;try{let n=null,r=null;this.flowType===`pkce`&&([n,r,t]=await this._getCodeChallengeAndMethod());let i=await V(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:this._maybeAppendFlowIdToRedirect(e.options?.redirectTo,t)}),e?.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:n,code_challenge_method:r}),headers:this.headers,xform:Jc});return i.data?.url&&nc()&&!e.options?.skipBrowserRedirect&&window.location.assign(i.data.url),this._returnResult(i)}catch(e){if(await Dc(this.storage,this.storageKey,t),z(e))return this._returnResult({data:null,error:e});throw e}}async reauthenticate(){return await this.initializePromise,this.lock==null?await this._reauthenticate():await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)throw n;if(!t)throw new Os;let{error:r}=await V(this.fetch,`GET`,`${this.url}/reauthenticate`,{headers:this.headers,jwt:t.access_token});return this._returnResult({data:{user:null,session:null},error:r})})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async resend(e){let t=null;try{let n=`${this.url}/resend`;if(`email`in e){let{email:r,type:i,options:a}=e,o=null,s=null;this.flowType===`pkce`&&([o,s,t]=await this._getCodeChallengeAndMethod());let{error:c}=await V(this.fetch,`POST`,n,{headers:this.headers,body:{email:r,type:i,gotrue_meta_security:{captcha_token:a?.captchaToken}
21,code_challenge:o,code_challenge_method:s},redirectTo:this._maybeAppendFlowIdToRedirect(a?.emailRedirectTo,t)});return c&&await Dc(this.storage,this.storageKey,t),this._returnResult({data:{user:null,session:null},error:c})}if(`phone`in e){let{phone:t,type:r,options:i}=e,{data:a,error:o}=await V(this.fetch,`POST`,n,{headers:this.headers,body:{phone:t,type:r,gotrue_meta_security:{captcha_token:i?.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:a?.message_id},error:o})}throw new js(`You must provide either an email or phone number and a type`)}catch(e){if(await Dc(this.storage,this.storageKey,t),z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async getSession(){return await this.initializePromise,this.lock==null?await this._useSession(async e=>e):await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async e=>e))}async _acquireLock(e,t){this._debug(`#_acquireLock`,`begin`,e);try{if(this.lockAcquired){let e=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),n=(async()=>(await e,await t()))();return this.pendingInLock.push((async()=>{try{await n}catch{}})()),n}return await this.lock(`lock:${this.storageKey}`,e,async()=>{this._debug(`#_acquireLock`,`lock acquired for storage key`,this.storageKey);try{this.lockAcquired=!0;let e=t();for(this.pendingInLock.push((async()=>{try{await e}catch{}})()),await e;this.pendingInLock.length;){let e=[...this.pendingInLock];await Promise.all(e),this.pendingInLock.splice(0,e.length)}return await e}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{return await e(await this.__loadSession())}finally{this._debug(`#_useSession`,`end`)}}async __loadSession(){this._debug(`#__loadSession()`,`begin`),this.lock!=null&&!this.lockAcquired&&this._debug(`#__loadSession()`,`used outside of an acquired lock!`,Error().stack);try{let e=null,t=await lc(this.storage,this.storageKey);if(this._debug(`#getSession()`,`session from storage`,t),t!==null&&(this._isValidSession(t)?e=t:(this._debug(`#getSession()`,`session from storage is not valid`),await this._removeSession())),!e)return{data:{session:null},error:null};let n=e.expires_at?e.expires_at*1e3-Date.now()<ms:!1;if(this._debug(`#__loadSession()`,`session has${n?``:` not`} expired`,`expires_at`,e.expires_at),!n)return{data:{session:await this._hydrateSessionUser(e)},error:null};let{data:r,error:i}=await this._callRefreshToken(e.refresh_token);if(i){let e=await lc(this.storage,this.storageKey);return e&&this._isValidSession(e)&&e.expires_at&&e.expires_at*1e3>Date.now()?this._returnResult({data:{session:await this._hydrateSessionUser(e)},error:null}):this._returnResult({data:{session:null},error:i})}return this._returnResult({data:{session:r},error:null})}finally{this._debug(`#__loadSession()`,`end`)}}async _hydrateSessionUser(e){if(this.userStorage){let t=await lc(this.userStorage,this.storageKey+`-user`);e.user=t?.user?t.user:Rc()}if(this.storage.isServer&&e.user&&!e.user.__isUserNotAvailableProxy){let t={value:this.suppressGetSessionWarning};e.user=zc(e.user,t),t.value&&(this.suppressGetSessionWarning=!0)}return e}async getUser(e){if(e)return await this._getUser(e);await this.initializePromise;let t;return t=this.lock==null?await this._getUser():await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser()),t.data.user&&(this.suppressGetSessionWarning=!0),t}async _getUser(e){try{return e?await V(this.fetch,`GET`,`${this.url}/user`,{headers:this.headers,jwt:e,xform:qc}):await this._useSession(async e=>{let{data:t,error:n}=e;if(n)throw n;return!t.session?.access_token&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new Os}:await V(this.fetch,`GET`,`${this.url}/user`,{headers:this.headers,jwt:t.session?.access_token??void 0,xform:qc})})}catch(e){if(z(e))return ks(e)&&await this._removeSession(),this._returnResult({data:{user:null},error:e});throw e}}async updateUser(e,t={}){return await this.initializePromise,this.lock==null?await this._updateUser(e,t):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(e,t))}async _updateUser(e,t={}){let n=null;try{return await this._useSession(async r=>{let{data:i,error:a}=r;if(a)throw a;if(!i.session)throw new Os;let o=i.session,s=null,c=null;this.flowType===`pkce`&&e.email!=null&&([s,c,n]=await this._getCodeChallengeAndMethod());let{data:l,error:u}=await V(this.fetch,`PUT`,`${this.url}/user`,{headers:this.headers,redirectTo:this._maybeAppendFlowIdToRedirect(t?.emailRedirectTo,n),body:Object.assign(Object.assign({},e),{code_challenge:s,code_challenge_method:c}),jwt:o.access_token,xform:qc});if(u)throw u;return o.user=l.user,await this._saveSession(o),await this._notifyAllSubscribers(`USER_UPDATED`,o),this._returnResult({data:{user:o.user},error:null})})}catch(e){if(await Dc(this.storage,this.storageKey,n),z(e))return this._returnResult({data:{user:null},error:e});throw e}}async setSession(e){return await this.initializePromise,this.lock==null?await this._setSession(e):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(e))}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new Os;let t=Date.now()/1e3,n=t,r=!0,i=null,{payload:a}=fc(e.access_token);if(a.exp&&(n=a.exp,r=n<=t),r){let{data:t,error:n}=await this._callRefreshToken(e.refresh_token);if(n)return this._returnResult({data:{user:null,session:null},error:n});if(!t)return{data:{user:null,session:null},error:null};i=t}else{let{data:r,error:a}=await this._getUser(e.access_token);if(a)return this._returnResult({data:{user:null,session:null},error:a});i={access_token:e.access_token,refresh_token:e.refresh_token,user:r.user,token_type:`bearer`,expires_in:n-t,expires_at:n},await this._saveSession(i),await this._notifyAllSubscribers(`SIGNED_IN`,i)}return this._returnResult({data:{user:i.user,session:i},error:null})}catch(e){if(z(e))return this._returnResult({data:{session:null,user:null},error:e});throw e}}async refreshSession(e){return await this.initializePromise,this.lock==null?await this._refreshSession(e):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(e))}async _refreshSession(e){try{return await this._useSession(async t=>{if(!e){let{data:n,error:r}=t;if(r)throw r;e=n.session??void 0}if(!e?.refresh_token)throw new Os;let{data:n,error:r}=await this._callRefreshToken(e.refresh_token);return r?this._returnResult({data:{user:null,session:null},error:r}):n?this._returnResult({data:{user:n.user,session:n},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(e){if(z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async _getSessionFromURL(e,t){try{if(!nc())throw new Ms(`No browser detected.`);if(e.error||e.error_description||e.error_code)throw new Ms(e.error_description||`Error in URL with unspecified error_description`,{error:e.error||`unspecified_error`,code:e.error_code||`unspecified_code`});switch(t){case`implicit`:if(this.flowType===`pkce`)throw new Ps(`Not a valid PKCE flow url.`);break;case`pkce`:if(this.flowType===`implicit`)throw new Ms(`Not a valid implicit grant flow url.`)}if(t===`pkce`){if(this._debug(`#_initialize()`,`begin`,`is PKCE flow`,!0),!e.code)throw new Ps(`No code detected.`);let{data:t,error:n}=await this._exchangeCodeForSession(e.code,{flowId:e[Ss]});if(n)throw n;let r=new URL(window.location.href);return r.searchParams.delete(`code`),r.searchParams.delete(Ss),window.history.replaceState(window.history.state,``,r.toString()),{data:{session:t.session,redirectType:t.redirectType??null},error:null}}let{provider_token:n,provider_refresh_token:r,access_token:i,refresh_token:a,expires_in:o,expires_at:s,token_type:c}=e;if(!i||!o||!a||!c)throw new Ms(`No session defined in URL`);let l=Math.round(Date.now()/1e3),u=parseInt(o),d=l+u;s&&(d=parseInt(s));let f=d-l;
21f*1e3<=3e4&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${f}s, should have been closer to ${u}s`);let p=d-u;l-p>=120?console.warn(`@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale`,p,d,l):l-p<0&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew`,p,d,l);let{data:m,error:h}=await this._getUser(i);if(h)throw h;let g={provider_token:n,provider_refresh_token:r,access_token:i,expires_in:u,expires_at:d,refresh_token:a,token_type:c,user:m.user};return window.location.hash=``,this._debug(`#_getSessionFromURL()`,`clearing window.location.hash`),this._returnResult({data:{session:g,redirectType:e.type},error:null})}catch(e){if(z(e))return this._returnResult({data:{session:null,redirectType:null},error:e});throw e}}_isImplicitGrantCallback(e){return typeof this.detectSessionInUrl==`function`?this.detectSessionInUrl(new URL(window.location.href),e):!!(e.access_token||e.error||e.error_description||e.error_code)}async _isPKCECallback(e){if(!e.code)return!1;let t=bc(e[Ss]);return t&&await lc(this.storage,Sc(this.storageKey,t))?!0:!!await lc(this.storage,`${this.storageKey}-code-verifier`)}async signOut(e={scope:`global`}){return await this.initializePromise,this.lock==null?await this._signOut(e):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(e))}async _signOut({scope:e}={scope:`global`}){return await this._useSession(async t=>{let n=async()=>{await this._removeSession()},{data:r,error:i}=t;if(i&&!ks(i))return this._returnResult({error:i});let a=r.session?.access_token;if(a){let{error:t}=await this.admin.signOut(a,e);if(t&&!(Ts(t)&&(t.status===404||t.status===401||t.status===403)||ks(t)))return e!==`others`&&await n(),this._returnResult({error:t})}return e!==`others`&&await n(),this._returnResult({error:null})})}onAuthStateChange(e){let t=tc(),n={id:t,callback:e,unsubscribe:()=>{this._debug(`#unsubscribe()`,`state change callback with id removed`,t),this.stateChangeEmitters.delete(t)}};return this._debug(`#onAuthStateChange()`,`registered callback with id`,t),this.stateChangeEmitters.set(t,n),(async()=>{await this.initializePromise,this.lock==null?await this._emitInitialSession(t):await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(t)})})(),{data:{subscription:n}}}async _emitInitialSession(e){return await this._useSession(async t=>{try{let{data:{session:n},error:r}=t;if(r)throw r;await this.stateChangeEmitters.get(e)?.callback(`INITIAL_SESSION`,n),this._debug(`INITIAL_SESSION`,`callback id`,e,`session`,n)}catch(t){if(await this.stateChangeEmitters.get(e)?.callback(`INITIAL_SESSION`,null),this._debug(`INITIAL_SESSION`,`callback id`,e,`error`,t),zs(t))return;ks(t)||Ls(t)||Ts(t)&&(t.code===`refresh_token_not_found`||t.code===`refresh_token_already_used`||t.code===`session_expired`)?console.warn(t):console.error(t)}})}async resetPasswordForEmail(e,t={}){let n=null,r=null,i=null;this.flowType===`pkce`&&([n,r,i]=await this._getCodeChallengeAndMethod(!0));try{return await V(this.fetch,`POST`,`${this.url}/recover`,{body:{email:e,code_challenge:n,code_challenge_method:r,gotrue_meta_security:{captcha_token:t.captchaToken}},headers:this.headers,redirectTo:this._maybeAppendFlowIdToRedirect(t.redirectTo,i)})}catch(e){if(await Dc(this.storage,this.storageKey,i),z(e))return this._returnResult({data:null,error:e});throw e}}async getUserIdentities(){try{let{data:e,error:t}=await this.getUser();if(t)throw t;return this._returnResult({data:{identities:e.user.identities??[]},error:null})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async linkIdentity(e){return`token`in e?this.linkIdentityIdToken(e):this.linkIdentityOAuth(e)}async linkIdentityOAuth(e){let t=null;try{let{data:n,error:r}=await this._useSession(async n=>{let{data:r,error:i}=n;if(i)throw i;let{url:a,flowId:o}=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,e.provider,{redirectTo:e.options?.redirectTo,scopes:e.options?.scopes,queryParams:e.options?.queryParams,skipBrowserRedirect:!0});return t=o,await V(this.fetch,`GET`,a,{headers:this.headers,jwt:r.session?.access_token??void 0})});if(r)throw r;return nc()&&!e.options?.skipBrowserRedirect&&window.location.assign(n?.url),this._returnResult({data:{provider:e.provider,url:n?.url,flowId:t},error:null})}catch(n){if(z(n))return this._returnResult({data:{provider:e.provider,url:null,flowId:t},error:n});throw n}}async linkIdentityIdToken(e){return await this._useSession(async t=>{try{let{error:n,data:{session:r}}=t;if(n)throw n;let{options:i,provider:a,token:o,access_token:s,nonce:c}=e,{data:l,error:u}=await V(this.fetch,`POST`,`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:r?.access_token??void 0,body:{provider:a,id_token:o,access_token:s,nonce:c,link_identity:!0,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Gc});return u?this._returnResult({data:{user:null,session:null},error:u}):!l||!l.session||!l.user?this._returnResult({data:{user:null,session:null},error:new As}):(l.session&&(await this._saveSession(l.session),await this._notifyAllSubscribers(`USER_UPDATED`,l.session)),this._returnResult({data:l,error:u}))}catch(e){if(await Dc(this.storage,this.storageKey,null),z(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}})}async unlinkIdentity(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)throw r;return await V(this.fetch,`DELETE`,`${this.url}/user/identities/${e.identity_id}`,{headers:this.headers,jwt:n.session?.access_token??void 0})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _refreshAccessToken(e){let t=`#_refreshAccessToken()`;this._debug(t,`begin`);try{let n=Date.now();return await mc(async n=>(n>0&&await pc(200*2**(n-1)),this._debug(t,`refreshing attempt`,n),await V(this.fetch,`POST`,`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:Gc})),(e,t)=>{let r=200*2**e;return t&&Ls(t)&&Date.now()+r-n<3e4})}catch(e){if(this._debug(t,`error`,e),z(e))return this._returnResult({data:{session:null,user:null},error:e});throw e}finally{this._debug(t,`end`)}}_isValidSession(e){return typeof e==`object`&&!!e&&`access_token`in e&&`refresh_token`in e&&`expires_at`in e}async _handleProviderSignIn(e,t){let{url:n,flowId:r}=await this._getUrlForProvider(`${this.url}/authorize`,e,{redirectTo:t.redirectTo,scopes:t.scopes,queryParams:t.queryParams});return this._debug(`#_handleProviderSignIn()`,`provider`,e,`options`,t,`url`,n),nc()&&!t.skipBrowserRedirect&&window.location.assign(n),{data:{provider:e,url:n,flowId:r},error:null}}async _recoverAndRefresh(){let e=`#_recoverAndRefresh()`;this._debug(e,`begin`);try{let t=await lc(this.storage,this.storageKey);if(t&&this.userStorage){let e=await lc(this.userStorage,this.storageKey+`-user`);!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!e&&(e={user:t.user},await cc(this.userStorage,this.storageKey+`-user`,e)),t.user=e?.user??Rc()}else if(t&&!t.user&&!t.user){let e=await lc(this.storage,this.storageKey+`-user`);e&&e?.user?(t.user=e.user,await uc(this.storage,this.storageKey+`-user`),await cc(this.storage,this.storageKey,t)):t.user=Rc()}if(this._debug(e,`session from storage`,t),!this._isValidSession(t)){this._debug(e,`session is not val
21id`),t!==null&&await this._removeSession();return}let n=(t.expires_at??1/0)*1e3-Date.now()<ms;if(this._debug(e,`session has${n?``:` not`} expired with margin of ${ms}s`),n){if(this.autoRefreshToken&&t.refresh_token){let{error:n}=await this._callRefreshToken(t.refresh_token);n&&(zs(n)?this._debug(e,`refresh discarded by commit guard`,n):this._debug(e,`refresh failed`,n))}}else if(t.user&&t.user.__isUserNotAvailableProxy===!0)try{let{data:n,error:r}=await this._getUser(t.access_token);!r&&n?.user?(t.user=n.user,await this._saveSession(t),await this._notifyAllSubscribers(`SIGNED_IN`,t)):this._debug(e,`could not get user data, skipping SIGNED_IN notification`)}catch(t){console.error(`Error getting user data:`,t),this._debug(e,`error getting user data, skipping SIGNED_IN notification`,t)}else await this._notifyAllSubscribers(`SIGNED_IN`,t)}catch(t){this._debug(e,`error`,t),Ls(t)?console.warn(t):console.error(t);return}finally{this._debug(e,`end`)}}async _callRefreshToken(e){var t,n;if(!e)throw new Os;if(this.refreshingDeferred)return this.refreshingDeferred.promise;if(this.lastRefreshFailure&&this.lastRefreshFailure.refreshToken===e&&Date.now()<this.lastRefreshFailure.expiresAt)return this._debug(`#_callRefreshToken()`,`returning cached failure (cooldown active)`),this.lastRefreshFailure.result;let r=`#_callRefreshToken()`;this._debug(r,`begin`);try{this.refreshingDeferred=new dc,this.refreshingDeferred.promise.then(void 0,()=>{});let t=await lc(this.storage,this.storageKey),{data:n,error:i}=await this._refreshAccessToken(e);if(i)throw i;if(!n.session)throw new Os;let a=await lc(this.storage,this.storageKey);if(t!==null&&(a===null||a.refresh_token!==t.refresh_token)){this._debug(r,`commit guard: storage changed since refresh started, discarding rotated tokens`,{startedWith:`present`,nowHolds:a?`replaced`:`cleared`});let e={data:null,error:new Rs};return this.refreshingDeferred.resolve(e),e}let o=this._sessionRemovalEpoch;if(await this._saveSession(n.session),this._sessionRemovalEpoch!==o){this._debug(r,`commit guard (post-save): _removeSession ran during _saveSession, undoing write`),await uc(this.storage,this.storageKey),this.userStorage&&await uc(this.userStorage,this.storageKey+`-user`);let e={data:null,error:new Rs};return this.refreshingDeferred.resolve(e),e}await this._notifyAllSubscribers(`TOKEN_REFRESHED`,n.session);let s={data:n.session,error:null};return this.lastRefreshFailure=null,this.refreshingDeferred.resolve(s),s}catch(i){if(this._debug(r,`error`,i),z(i)){let n={data:null,error:i};if(!Ls(i)){let e=await lc(this.storage,this.storageKey);e?.expires_at&&e.expires_at*1e3>Date.now()?this._debug(r,`proactive refresh failed, access token still valid â preserving session`):await this._removeSession()}return this.lastRefreshFailure={refreshToken:e,result:n,expiresAt:Date.now()+hs},(t=this.refreshingDeferred)==null||t.resolve(n),n}throw(n=this.refreshingDeferred)==null||n.reject(i),i}finally{this.refreshingDeferred=null,this._debug(r,`end`)}}async _notifyAllSubscribers(e,t,n=!0){if(this._pendingInitNotifications!==null&&n){this._pendingInitNotifications.push({event:e,session:t,broadcast:n});return}let r=`#_notifyAllSubscribers(${e})`;this._debug(r,`begin`,t,`broadcast = ${n}`);try{this.broadcastChannel&&n&&this.broadcastChannel.postMessage({event:e,session:t});let r=[],i=Array.from(this.stateChangeEmitters.values()).map(async n=>{try{await n.callback(e,t)}catch(e){r.push(e)}});if(await Promise.all(i),r.length>0){for(let e=0;e<r.length;e+=1)console.error(r[e]);throw r[0]}}finally{this._debug(r,`end`)}}async _saveSession(e){this._debug(`#_saveSession()`,e),this.suppressGetSessionWarning=!0;let t=Object.assign({},e),n=t.user&&t.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!n&&t.user&&await cc(this.userStorage,this.storageKey+`-user`,{user:t.user});let e=Object.assign({},t);delete e.user;let r=Bc(e);await cc(this.storage,this.storageKey,r)}else{let e=Bc(t);await cc(this.storage,this.storageKey,e)}}async _removeSession(){this._sessionRemovalEpoch+=1,this._debug(`#_removeSession()`),this.lastRefreshFailure=null,this.suppressGetSessionWarning=!1,await uc(this.storage,this.storageKey),await Oc(this.storage,this.storageKey),await uc(this.storage,this.storageKey+`-user`),this.userStorage&&await uc(this.userStorage,this.storageKey+`-user`),await this._notifyAllSubscribers(`SIGNED_OUT`,null)}_removeVisibilityChangedCallback(){this._debug(`#_removeVisibilityChangedCallback()`);let e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&nc()&&window!=null&&window.removeEventListener&&window.removeEventListener(`visibilitychange`,e)}
21catch(e){console.error(`removing visibilitychange callback failed`,e)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug(`#_startAutoRefresh()`);let e=setInterval(()=>this._autoRefreshTokenTick(),ps);this.autoRefreshTicker=e,e&&typeof e==`object`&&typeof e.unref==`function`?e.unref():typeof Deno<`u`&&typeof Deno.unrefTimer==`function`&&Deno.unrefTimer(e);let t=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=t,t&&typeof t==`object`&&typeof t.unref==`function`?t.unref():typeof Deno<`u`&&typeof Deno.unrefTimer==`function`&&Deno.unrefTimer(t)}async _stopAutoRefresh(){this._debug(`#_stopAutoRefresh()`);let e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e);let t=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,t&&clearTimeout(t)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async dispose(){var e;this._removeVisibilityChangedCallback(),await this._stopAutoRefresh(),(e=this.broadcastChannel)==null||e.close(),this.broadcastChannel=null,this.stateChangeEmitters.clear()}async _autoRefreshTokenTick(){if(this._debug(`#_autoRefreshTokenTick()`,`begin`),this.lock!=null){try{await this._acquireLock(0,async()=>{try{let e=Date.now();try{return await this._useSession(async t=>{let{data:{session:n}}=t;if(!n||!n.refresh_token||!n.expires_at){this._debug(`#_autoRefreshTokenTick()`,`no session`);return}let r=Math.floor((n.expires_at*1e3-e)/ps);this._debug(`#_autoRefreshTokenTick()`,`access token expires in ${r} ticks, a tick lasts ${ps}ms, refresh threshold is 3 ticks`),r<=3&&await this._callRefreshToken(n.refresh_token)})}catch(e){console.error(`Auto refresh tick failed with error. This is likely a transient error.`,e)}}finally{this._debug(`#_autoRefreshTokenTick()`,`end`)}})}catch(e){if(e instanceof tl)this._debug(`auto refresh token tick lock not available`);else throw e}return}if(this.refreshingDeferred!==null){this._debug(`#_autoRefreshTokenTick()`,`refresh already in flight, skipping`);return}try{let e=Date.now();try{await this._useSession(async t=>{let{data:{session:n}}=t;if(!n||!n.refresh_token||!n.expires_at){this._debug(`#_autoRefreshTokenTick()`,`no session`);return}let r=Math.floor((n.expires_at*1e3-e)/ps);this._debug(`#_autoRefreshTokenTick()`,`access token expires in ${r} ticks, a tick lasts ${ps}ms, refresh threshold is 3 ticks`),r<=3&&await this._callRefreshToken(n.refresh_token)})}catch(e){console.error(`Auto refresh tick failed with error. This is likely a transient error.`,e)}}finally{this._debug(`#_autoRefreshTokenTick()`,`end`)}}async _handleVisibilityChange(){if(this._debug(`#_handleVisibilityChange()`),!nc()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(e){this._debug(`#visibilityChangedCallback`,`error`,e)}},window==null||window.addEventListener(`visibilitychange`,this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error(`_handleVisibilityChange`,e)}}async _onVisibilityChanged(e){let t=`#_onVisibilityChanged(${e})`;if(this._debug(t,`visibilityState`,document.visibilityState),document.visibilityState===`visible`){if(this.autoRefreshToken&&this._startAutoRefresh(),!e)if(await this.initializePromise,this.lock!=null)await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!==`visible`){this._debug(t,`acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting`);return}await this._recoverAndRefresh()});else{if(document.visibilityState!==`visible`){this._debug(t,`visibilityState is no longer visible, skipping recovery`);return}await this._recoverAndRefresh()}}else document.visibilityState===`hidden`&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,t,n){let r=n?.redirectTo,i=null,a=null,o=null;this.flowType===`pkce`&&([i,a,o]=await this._getCodeChallengeAndMethod(),r=this._maybeAppendFlowIdToRedirect(r,o));let s=[`provider=${encodeURIComponent(t)}`];if(r&&s.push(`redirect_to=${encodeURIComponent(r)}`),n?.scopes&&s.push(`scopes=${encodeURIComponent(n.scopes)}`),i!=null&&a!=null){let e=new URLSearchParams({code_challenge:`${encodeURIComponent(i)}`,code_challenge_method:`${encodeURIComponent(a)}`});s.push(e.toString())}if(n?.queryParams){let e=new URLSearchParams(n.queryParams);s.push(e.toString())}return n?.skipBrowserRedirect&&s.push(`skip_http_redirect=${n.skipBrowserRedirect}`),{url:`${e}?${s.join(`&`)}`,flowId:o}}_maybeAppendFlowIdToRedirect(e,t){return!e||!t||!this.experimental.appendPkceFlowIdToRedirects?e??void 0:kc(e,t)}async _getCodeChallengeAndMethod(e=!1){return Ac(this.storage,this.storageKey,e,e=>this._debug(`#_getCodeChallengeAndMethod()`,`evicted oldest pending PKCE verifier slot`,e))}async _unenroll(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;return r?this._returnResult({data:null,error:r}):await V(this.fetch,`DELETE`,`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:n?.session?.access_token})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _enroll(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let i=Object.assign({friendly_name:e.friendlyName,factor_type:e.factorType},e.factorType===`phone`?{phone:e.phone}:e.factorType===`totp`?{issuer:e.issuer}:{}),{data:a,error:o}=await V(this.fetch,`POST`,`${this.url}/factors`,{body:i,headers:this.headers,jwt:n?.session?.access_token});return o?this._returnResult({data:null,error:o}):(e.factorType===`totp`&&a.type===`totp`&&a?.totp?.qr_code&&(a.totp.qr_code=`data:image/svg+xml;utf-8,${a.totp.qr_code}`),this._returnResult({data:a,error:null}))})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _verify(e){let t=async()=>{try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let i=Object.assign({challenge_id:e.challengeId},`webauthn`in e?{webauthn:Object.assign(Object.assign({},e.webauthn),{credential_response:e.webauthn.type===`create`?fl(e.webauthn.credential_response):pl(e.webauthn.credential_response)})}:{code:e.code}),{data:a,error:o}=await V(this.fetch,`POST`,`${this.url}/factors/${e.factorId}/verify`,{body:i,headers:this.headers,jwt:n?.session?.access_token});return o?this._returnResult({data:null,error:o}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+a.expires_in},a)),await this._notifyAllSubscribers(`MFA_CHALLENGE_VERIFIED`,a),this._returnResult({data:a,error:o}))})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}};return this.lock==null?t():this._acquireLock(this.lockAcquireTimeout,t)}async _challenge(e){let t=async()=>{try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let i=await V(this.fetch,`POST`,`${this.url}/factors/${e.factorId}/challenge`,{body:e,headers:this.headers,jwt:n?.session?.access_token});if(i.error)return i;let{data:a}=i;if(a.type!==`webauthn`)return{data:a,error:null};switch(a.webauthn.type){case`create`:return{data:Object.assign(Object.assign({},a),{webauthn:Object.assign(Object.assign({},a.webauthn),{credential_options:Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:ul(a.webauthn.credential_options.publicKey)})})}),error:null};case`request`:return{data:Object.assign(Object.assign({},a),{webauthn:Object.assign(Object.assign({},a.webauthn),{credential_options:Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:dl(a.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}};return this.lock==null?t():this._acquireLock(this.lockAcquireTimeout,t)}async _challengeAndVerify(e){let{data:t,error:n}=await this._challenge({factorId:e.factorId});return n?this._returnResult({data:null,error:n}):await this._verify({factorId:e.factorId,challengeId:t.id,code:e.code})}async _listFactors(){let{data:{user:e},error:t}=await this.getUser();if(t)return{data:null,error:t};let n={all:[],phone:[],totp:[],webauthn:[],recovery_code:[]};for(let t of e?.factors??[])n.all.push(t),t.status===`verified`&&t.factor_type in n&&Array.isArray(n[t.factor_type])&&n[t.factor_type].push(t);return{data:n,error:null}}async _getAuthenticatorAssuranceLevel(e){if(e)try{let{payload:t}=fc(e),n=null;t.aal&&(n=t.aal);let r=n,{data:{user:i},error:a}=await this.getUser(e);if(a)return this._returnResult({data:null,error:a});((i?.factors)?.filter(e=>e.status===`verified`)??[]).length>0&&(r=`aal2`);let o=t.amr||[];return{data:{currentLevel:n,nextLevel:r,currentAuthenticationMethods:o},error:null}}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}let{data:{session:t},error:n}
21=await this.getSession();if(n)return this._returnResult({data:null,error:n});if(!t)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};let{payload:r}=fc(t.access_token),i=null;r.aal&&(i=r.aal);let a=i;(t.user.factors?.filter(e=>e.status===`verified`)??[]).length>0&&(a=`aal2`);let o=r.amr||[];return{data:{currentLevel:i,nextLevel:a,currentAuthenticationMethods:o},error:null}}async _getRecoveryCodesStatus(){Lc(this.experimental);try{return await this._useSession(async e=>{let{data:t,error:n}=e;if(n)return this._returnResult({data:null,error:n});let{data:r,error:i}=await V(this.fetch,`GET`,`${this.url}/factors/recovery-codes`,{headers:this.headers,jwt:t?.session?.access_token});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _generateRecoveryCodes(e){Lc(this.experimental);try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let{data:i,error:a}=await V(this.fetch,`POST`,`${this.url}/factors/recovery-codes`,{body:e?.friendlyName?{friendly_name:e.friendlyName}:void 0,headers:this.headers,jwt:n?.session?.access_token});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _verifyRecoveryCode(e){Lc(this.experimental);let t=async()=>{try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let{data:i,error:a}=await V(this.fetch,`POST`,`${this.url}/factors/recovery-codes/verify`,{body:{code:e.code},headers:this.headers,jwt:n?.session?.access_token});if(a)return this._returnResult({data:null,error:a});let o=Object.assign({expires_at:ec(i.expires_in)},i);return await this._saveSession(o),await this._notifyAllSubscribers(`MFA_CHALLENGE_VERIFIED`,o),this._returnResult({data:i,error:null})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}};return this.lock==null?t():this._acquireLock(this.lockAcquireTimeout,t)}async _regenerateRecoveryCodes(){Lc(this.experimental);try{return await this._useSession(async e=>{let{data:t,error:n}=e;if(n)return this._returnResult({data:null,error:n});let{data:r,error:i}=await V(this.fetch,`POST`,`${this.url}/factors/recovery-codes/regenerate`,{headers:this.headers,jwt:t?.session?.access_token});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _unenrollRecoveryCodes(){Lc(this.experimental);try{return await this._useSession(async e=>{let{data:t,error:n}=e;if(n)return this._returnResult({data:null,error:n});let{data:r,error:i}=await V(this.fetch,`DELETE`,`${this.url}/factors/recovery-codes`,{headers:this.headers,jwt:t?.session?.access_token});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _getAuthorizationDetails(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;return r?this._returnResult({data:null,error:r}):n?await V(this.fetch,`GET`,`${this.url}/oauth/authorizations/${e}`,{headers:this.headers,jwt:n.access_token,xform:e=>({data:e,error:null})}):this._returnResult({data:null,error:new Os})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _approveAuthorization(e,t){try{return await this._useSession(async n=>{let{data:{session:r},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new Os});let a=await V(this.fetch,`POST`,`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:r.access_token,body:{action:`approve`},xform:e=>({data:e,error:null})});return a.data&&a.data.redirect_url&&nc()&&!t?.skipBrowserRedirect&&window.location.assign(a.data.redirect_url),a})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _denyAuthorization(e,t){try{return await this._useSession(async n=>{let{data:{session:r},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new Os});let a=await V(this.fetch,`POST`,`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:r.access_token,body:{action:`deny`},xform:e=>({data:e,error:null})});return a.data&&a.data.redirect_url&&nc()&&!t?.skipBrowserRedirect&&window.location.assign(a.data.redirect_url),a})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _listOAuthGrants(){try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;return n?this._returnResult({data:null,error:n}):t?await V(this.fetch,`GET`,`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:t.access_token,xform:e=>({data:e,error:null})}):this._returnResult({data:null,error:new Os})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _revokeOAuthGrant(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;return r?this._returnResult({data:null,error:r}):n?(await V(this.fetch,`DELETE`,`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:n.access_token,query:{client_id:e.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new Os})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async fetchJwk(e,t={keys:[]}){let n=t.keys.find(t=>t.kid===e);if(n)return n;let r=Date.now();if(n=this.jwks.keys.find(t=>t.kid===e),n&&this.jwks_cached_at+6e5>r)return n;let{data:i,error:a}=await V(this.fetch,`GET`,`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(a)throw a;return!i.keys||i.keys.length===0||(this.jwks=i,this.jwks_cached_at=r,n=i.keys.find(t=>t.kid===e),!n)?null:n}async getClaims(e,t={}){try{let n=e;if(!n){let{data:e,error:t}
21=await this.getSession();if(t||!e.session)return this._returnResult({data:null,error:t});n=e.session.access_token}let{header:r,payload:i,signature:a,raw:{header:o,payload:s}}=fc(n);if(!t?.allowExpired)try{Nc(i.exp)}catch(e){throw new Vs(e instanceof Error?e.message:`JWT validation failed`)}let c=!r.alg||r.alg.startsWith(`HS`)||!r.kid||!(`crypto`in globalThis&&`subtle`in globalThis.crypto)?null:await this.fetchJwk(r.kid,t?.keys?{keys:t.keys}:t?.jwks);if(!c){let{error:e}=await this.getUser(n);if(e)throw e;return{data:{claims:i,header:r,signature:a},error:null}}let l=Pc(r.alg),u=await crypto.subtle.importKey(`jwk`,c,l,!0,[`verify`]);if(!await crypto.subtle.verify(l,u,a,Qs(`${o}.${s}`)))throw new Vs(`Invalid JWT signature`);return{data:{claims:i,header:r,signature:a},error:null}}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async signInWithPasskey(e){try{if(!hl())return this._returnResult({data:null,error:new Es(`Browser does not support WebAuthn`,null)});let{data:t,error:n}=await this._startPasskeyAuthentication({options:{captchaToken:e?.options?.captchaToken}});if(n||!t)return this._returnResult({data:null,error:n});let{data:r,error:i}=await _l({publicKey:dl(t.options),signal:e?.options?.signal??U.createNewAbortSignal(),mediation:e?.options?.mediation});if(i||!r)return this._returnResult({data:null,error:i??new Es(`WebAuthn ceremony failed`,null)});let a=pl(r);return this._verifyPasskeyAuthentication({challengeId:t.challenge_id,credential:a})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async registerPasskey(e){try{if(!hl())return this._returnResult({data:null,error:new Es(`Browser does not support WebAuthn`,null)});let{data:t,error:n}=await this._startPasskeyRegistration();if(n||!t)return this._returnResult({data:null,error:n});let{data:r,error:i}=await gl({publicKey:ul(t.options),signal:e?.options?.signal??U.createNewAbortSignal()});if(i||!r)return this._returnResult({data:null,error:i??new Es(`WebAuthn ceremony failed`,null)});let a=fl(r);return this._verifyPasskeyRegistration({challengeId:t.challenge_id,credential:a})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _startPasskeyRegistration(){try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)return this._returnResult({data:null,error:n});if(!t)return this._returnResult({data:null,error:new Os});let{data:r,error:i}=await V(this.fetch,`POST`,`${this.url}/passkeys/registration/options`,{headers:this.headers,jwt:t.access_token,body:{}});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _verifyPasskeyRegistration(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new Os});let{data:i,error:a}=await V(this.fetch,`POST`,`${this.url}/passkeys/registration/verify`,{headers:this.headers,jwt:n.access_token,body:{challenge_id:e.challengeId,credential:e.credential}});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _startPasskeyAuthentication(e){try{let{data:t,error:n}=await V(this.fetch,`POST`,`${this.url}/passkeys/authentication/options`,{headers:this.headers,body:{gotrue_meta_security:{captcha_token:e?.options?.captchaToken}}});return n?this._returnResult({data:null,error:n}):this._returnResult({data:t,error:null})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _verifyPasskeyAuthentication(e){try{let{data:t,error:n}=await V(this.fetch,`POST`,`${this.url}/passkeys/authentication/verify`,{headers:this.headers,body:{challenge_id:e.challengeId,credential:e.credential},xform:Gc});return n?this._returnResult({data:null,error:n}):(t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers(`SIGNED_IN`,t.session)),this._returnResult({data:t,error:null}))}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _listPasskeys(){try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)return this._returnResult({data:null,error:n});if(!t)return this._returnResult({data:null,error:new Os});let{data:r,error:i}=await V(this.fetch,`GET`,`${this.url}/passkeys`,{headers:this.headers,jwt:t.access_token,xform:e=>({data:e,error:null})});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _updatePasskey(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new Os});let{data:i,error:a}=await V(this.fetch,`PATCH`,`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:n.access_token,body:{friendly_name:e.friendlyName}});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}async _deletePasskey(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new Os});let{error:i}=await V(this.fetch,`DELETE`,`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:n.access_token,noResolveJson:!0});return i?this._returnResult({data:null,error:i}):this._returnResult({data:null,error:null})})}catch(e){if(z(e))return this._returnResult({data:null,error:e});throw e}}};Dl.nextInstanceID={};var Ol=Dl,kl=`2.117.1`,Al=``,jl;if(typeof Deno<`u`)Al=`deno`,jl=Deno.version?.deno;else if(typeof document<`u`)Al=`web`;else if(typeof navigator<`u`&&navigator.product===`ReactNative`)Al=`react-native`;else{var Ml;Al=`node`;let e=globalThis.process;jl=e==null||(Ml=e.version)==null?void 0:Ml.replace(/^v/,``)}var Nl=[`runtime=${Al}`];
21jl&&Nl.push(`runtime-version=${jl}`);var Pl={headers:{"X-Client-Info":`supabase-js/${kl}; ${Nl.join(`; `)}`}},Fl={schema:`public`},Il={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:`implicit`},Ll={},Rl={enabled:!1,respectSamplingDecision:!0};function zl(e){if(!e||typeof e!=`string`)return null;let t=e.split(`-`);if(t.length!==4)return null;let[n,r,i,a]=t;if(n.length!==2||r.length!==32||i.length!==16||a.length!==2)return null;let o=/^[0-9a-f]+$/i;return!o.test(n)||!o.test(r)||!o.test(i)||!o.test(a)||r===`00000000000000000000000000000000`||i===`0000000000000000`?null:{version:n,traceId:r,parentId:i,traceFlags:a,isSampled:(parseInt(a,16)&1)==1}}function Bl(e,t){if(!e||!t||t.length===0)return!1;let n;if(e instanceof URL)n=e;else try{n=new URL(e)}catch{return!1}for(let e of t)try{if(typeof e==`string`){if(W(n.hostname,e))return!0}else if(e instanceof RegExp){if(e.test(n.hostname))return!0}else if(typeof e==`function`&&e(n))return!0}catch{continue}return!1}function W(e,t){if(t===e)return!0;if(t.startsWith(`*.`)){let n=t.slice(2);if(e.endsWith(n)&&(e===n||e.endsWith(`.`+n)))return!0}return!1}function G(e){let t=[];try{let n=new URL(e);t.push(n.hostname)}catch{}return t.push(`*.supabase.co`,`*.supabase.in`),t.push(`localhost`,`127.0.0.1`,`[::1]`),t}function K(e){"@babel/helpers - typeof";return K=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},K(e)}function q(e,t){if(K(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(K(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function J(e){var t=q(e,`string`);return K(t)==`symbol`?t:t+``}function Vl(e,t,n){return(t=J(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Hl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Y(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Hl(Object(n),!0).forEach(function(t){Vl(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hl(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Ul=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),Wl=()=>Headers,Gl=e=>e.startsWith(`sb_publishable_`)||e.startsWith(`sb_secret_`),Kl=`sb_temp_`,ql=new Set,Jl=e=>{if(!e.startsWith(`sb_`)||Gl(e)||e.startsWith(Kl))return;let t=e.match(/^sb_[a-zA-Z0-9]+_/)?.[0]??`unknown`;ql.has(t)||(ql.add(t),console.warn(`@supabase/supabase-js: Unrecognized Supabase API key format. The client will proceed and send this key as-is; if you see authentication errors you may need to upgrade @supabase/supabase-js to a version that recognizes this key type.`))},Yl=(e,t,n,r,i,a)=>{let o=Ul(r),s=Wl(),c=i?.enabled===!0,l=i?.respectSamplingDecision!==!1,u=c?G(t):null,d=!(a?.omitApiKeyAsBearer&&Gl(e));return async(t,r)=>{let i=await n(),a=new s(r?.headers);if(a.has(`apikey`)||a.set(`apikey`,e),!a.has(`Authorization`)){let t=i??(d?e:null);t&&a.set(`Authorization`,`Bearer ${t}`)}if(u){let e=Ql(t,u,l);e&&(e.traceparent&&!a.has(`traceparent`)&&a.set(`traceparent`,e.traceparent),e.tracestate&&!a.has(`tracestate`)&&a.set(`tracestate`,e.tracestate),e.baggage&&!a.has(`baggage`)&&a.set(`baggage`,e.baggage))}return o(t,Y(Y({},r),{},{headers:a}))}},Xl=!1,Zl=!1;function Ql(e,t,n){let r=_i();if(!r)return Xl||(Xl=!0,console.warn("@supabase/supabase-js: tracePropagation is enabled but the tracing runtime is not loaded, so trace headers will not be attached. Add `import '@supabase/supabase-js/tracing'` at your application entry point (requires the OpenTelemetry API package to be installed). The CDN/UMD build does not support trace propagation.")),null;if(!Bl(typeof e==`string`||e instanceof URL?e:e.url,t))return null;let i=r();if(!i||!i.traceparent){var a;if(i!=null&&(a=i.carrierKeys)!=null&&a.length&&!Zl){Zl=!0;let e=i.carrierKeys.includes(`sentry-trace`)?" Sentry detected: set `propagateTraceparent: true` in Sentry.init() to emit it."
21:` Configure your tracing SDK to emit W3C trace context on outgoing requests.`;console.warn(`@supabase/supabase-js: tracePropagation is enabled and a tracing SDK is active, but its propagator wrote [${i.carrierKeys.join(`, `)}] and no W3C traceparent header, so trace headers will not be attached.`+e)}return null}if(n){let e=zl(i.traceparent);if(e&&!e.isSampled)return{traceparent:i.traceparent}}return i}function $l(e){return typeof e==`boolean`?{enabled:e}:e}function eu(e){return e.endsWith(`/`)?e:e+`/`}var tu=!1;function nu(e){tu||typeof e!=`object`||!e||!(`schema`in e)||e.schema===void 0||(tu=!0,console.warn(`@supabase/supabase-js: The "schema" option must be nested under "db", e.g. createClient(url, key, { db: { schema: 'myschema' } }). A top-level "schema" is ignored and queries go to the default schema.`))}function ru(e,t){let{db:n,auth:r,realtime:i,global:a}=e,{db:o,auth:s,realtime:c,global:l}=t,u=$l(e.tracePropagation),d=$l(t.tracePropagation),f={db:Y(Y({},o),n),auth:Y(Y({},s),r),realtime:Y(Y({},c),i),storage:{},global:Y(Y(Y({},l),a),{},{headers:Y(Y({},l?.headers??{}),a?.headers??{})}),tracePropagation:{enabled:u?.enabled??d?.enabled??!1,respectSamplingDecision:u?.respectSamplingDecision??d?.respectSamplingDecision??!0},accessToken:async()=>``};return e.accessToken?f.accessToken=e.accessToken:delete f.accessToken,f}function iu(e){let t=e?.trim();if(!t)throw Error(`supabaseUrl is required.`);if(!t.match(/^https?:\/\//i))throw Error(`Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.`);try{return new URL(eu(t))}catch{throw Error(`Invalid supabaseUrl: Provided URL is malformed.`)}}var au=class extends Ol{constructor(e){super(e)}},ou=class{constructor(e,t,n){this.supabaseUrl=e,this.supabaseKey=t;let r=iu(e);if(!t)throw Error(`supabaseKey is required.`);Jl(t),nu(n),this.realtimeUrl=new URL(`realtime/v1`,r),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace(`http`,`ws`),this.authUrl=new URL(`auth/v1`,r),this.storageUrl=new URL(`storage/v1`,r),this.functionsUrl=new URL(`functions/v1`,r);let i=`sb-${r.hostname.split(`.`)[0]}-auth-token`,a={db:Fl,realtime:Ll,auth:Y(Y({},Il),{},{storageKey:i}),global:Pl,tracePropagation:Rl},o=ru(n??{},a);this.settings=o,this.storageKey=o.auth.storageKey??``,this.headers=o.global.headers??{},o.accessToken?(this.accessToken=o.accessToken,this.auth=new Proxy({},{get:(e,t)=>{throw Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(t)} is not possible`)}})):this.auth=this._initSupabaseAuthClient(o.auth??{},this.headers,o.global.fetch),this.fetch=Yl(t,e,this._getSessionToken.bind(this),o.global.fetch,o.tracePropagation),this.functionsFetch=Yl(t,e,this._getSessionToken.bind(this),o.global.fetch,o.tracePropagation,{omitApiKeyAsBearer:!0}),this.realtime=this._initRealtimeClient(Y({headers:this.headers,accessToken:this._getAccessToken.bind(this),fetch:this.fetch},o.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(e=>this.realtime.setAuth(e)).catch(e=>console.warn(`Failed to set initial Realtime auth token:`,e)),this.rest=new Ki(new URL(`rest/v1`,r).href,{headers:this.headers,schema:o.db.schema,fetch:this.fetch,timeout:o.db.timeout,urlLengthLimit:o.db.urlLengthLimit,retry:o.db.retry}),this.storage=new ds(this.storageUrl.href,this.headers,this.fetch,n?.storage),o.accessToken||this._listenForAuthEvents()}get functions(){return new Ei(this.functionsUrl.href,{headers:this.headers,customFetch:this.functionsFetch})}from(e){return this.rest.from(e)}schema(e){return this.rest.schema(e)}getOpenApiSpec(){return this.rest.getOpenApiSpec()}rpc(e,t={},n={head:!1,get:!1,count:void 0}){return this.rest.rpc(e,t,n)}channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getSessionToken(){var e=this;if(e.accessToken)return await e.accessToken();let{data:t}=await e.auth.getSession();return t.session?.access_token??null}async _getAccessToken(){var e=this;return await e._getSessionToken()??e.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,userStorage:i,storageKey:a,flowType:o,lock:s,debug:c,throwOnError:l,experimental:u,lockAcquireTimeout:d,skipAutoInitialize:f},p,m){let h={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new au({url:this.authUrl.href,headers:Y(Y({},h),p),storageKey:a,autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,userStorage:i,flowType:o,lock:s,debug:c,throwOnError:l,experimental:u,fetch:m,lockAcquireTimeout:d,skipAutoInitialize:f,hasCustomAuthorizationHeader:Object.keys(this.headers).some(e=>e.toLowerCase()===`authorization`)})}_initRealtimeClient(e){return new po(this.realtimeUrl.href,Y(Y({},e),{},{params:Y(Y({},{apikey:this.supabaseKey}),e?.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((e,t)=>{this._handleTokenChanged(e,`CLIENT`,t?.access_token)})}_handleTokenChanged(e,t,n){(e===`TOKEN_REFRESHED`||e===`SIGNED_IN`||e===`INITIAL_SESSION`)&&this.changedAccessToken!==n?(this.changedAccessToken=n,this.realtime.setAuth(n)):e===`SIGNED_OUT`&&(this.realtime.setAuth(),t==`STORAGE`&&this.auth.signOut(),this.changedAccessToken=void 0)}},su=(e,t,n)=>new ou(e,t,n);function cu(){if(typeof window<`u`||globalThis.Deno!==void 0)return!1;let e=globalThis.process;if(!e)return!1;let t=e.version;if(t==null)return!1;let n=t.match(/^v(\d+)\./);return n?parseInt(n[1],10)<=20:!1}cu()&&console.warn(`â ï¸ Node.js 20 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to N
21ode.js 22 or later. For more information, visit: https://github.com/orgs/supabase/discussions/45715`);function lu(){if(typeof window>`u`)return;let e=location.hostname,t=[`lovableproject.com`,`lovableproject-dev.com`,`lovable.app`,`gpt-eng.com`,`gptengineer.run`].some(t=>e===t||e.endsWith(`.`+t))?e.match(RegExp(`^(?:id-preview(?:-[a-z0-9]+)?|project)--([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})(?:-dev)?(?=\\.|$)`,`i`))?.[1]??e.match(RegExp(`^([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})(?=[.-])`,`i`))?.[1]:void 0,n=window.parent&&window.parent!==window;if(!t||!n)return localStorage;let r=e.endsWith(`.lovableproject-dev.com`)||e.endsWith(`.gpt-eng.com`),i=r?/^https:\/\/([a-z0-9-]+\.)*(lovable\.dev|gptengineer\.app)$|^http:\/\/localhost:3000$/:/^https:\/\/([a-z0-9-]+\.)*(lovable\.dev|gptengineer\.app)$/,a=location.ancestorOrigins&&location.ancestorOrigins[0]||(document.referrer?new URL(document.referrer).origin:``),o=a&&i.test(a)?[a]:r?[`https://lovable.dev`,`http://localhost:3000`]:[`https://lovable.dev`],s=()=>Math.random().toString(36).slice(2)+Date.now().toString(36),c=(e,n,r)=>new Promise(i=>{let a=s(),c=!1,l,u=e=>{c||(c=!0,clearTimeout(l),window.removeEventListener(`message`,d),i(e))},d=e=>{if(o.indexOf(e.origin)<0)return;let t=e.data;t&&t.type===`lovable-preview-auth:result`&&t.requestId===a&&u(t)};window.addEventListener(`message`,d);let f={type:e,requestId:a,projectId:t,key:n};r!==void 0&&(f.value=r);for(let e of o)window.parent.postMessage(f,e);l=setTimeout(()=>u(null),2e3)}),l=!0;return{getItem:async e=>{let t=await c(`lovable-preview-auth:get`,e);return!t&&l&&(await new Promise(e=>setTimeout(e,250)),t=await c(`lovable-preview-auth:get`,e)),l=!1,t&&t.ok&&typeof t.value==`string`?t.value===``?(localStorage.removeItem(e),null):t.value:localStorage.getItem(e)},setItem:(e,t)=>(localStorage.setItem(e,t),c(`lovable-preview-auth:set`,e,t).then(n=>{n&&n.ok&&typeof n.value==`string`&&localStorage.getItem(e)===t&&(n.value===``?localStorage.removeItem(e):localStorage.setItem(e,n.value))})),removeItem:e=>(localStorage.removeItem(e),c(`lovable-preview-auth:remove`,e).then(()=>void 0))}}function uu(e){return e.startsWith(`sb_publishable_`)||e.startsWith(`sb_secret_`)}function du(e){return(t,n)=>{let r=new Headers(typeof Request<`u`&&t instanceof Request?t.headers:void 0);return n?.headers&&new Headers(n.headers).forEach((e,t)=>r.set(t,e)),uu(e)&&r.get(`Authorization`)===`Bearer ${e}`&&r.delete(`Authorization`),r.set(`apikey`,e),fetch(t,{...n,headers:r})}}function fu(){let e={BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,TSS_DEV_SERVER:`false`,TSS_DEV_SSR_STYLES_BASEPATH:`/`,TSS_DEV_SSR_STYLES_ENABLED:`true`,TSS_DISABLE_CSRF_MIDDLEWARE_WARNING:`false`,TSS_INLINE_CSS_ENABLED:`false`,TSS_ROUTER_BASEPATH:``,TSS_SERVER_FN_BASE:`/_serverFn/`,VITE_SUPABASE_PROJECT_ID:`mxegodbbtfrcbfbxcqlv`,VITE_SUPABASE_PUBLISHABLE_KEY:`sb_publishable_vP2JX0FDb01UA9Wp2uh65A_SUzb7FFc`,VITE_SUPABASE_URL:`https://mxegodbbtfrcbfbxcqlv.supabase.co`}.VITE_SUPABASE_URL||{}.SUPABASE_URL,t={BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,TSS_DEV_SERVER:`false`,TSS_DEV_SSR_STYLES_BASEPATH:`/`,TSS_DEV_SSR_STYLES_ENABLED:`true`,TSS_DISABLE_CSRF_MIDDLEWARE_WARNING:`false`,TSS_INLINE_CSS_ENABLED:`false`,TSS_ROUTER_BASEPATH:``,TSS_SERVER_FN_BASE:`/_serverFn/`,VITE_SUPABASE_PROJECT_ID:`mxegodbbtfrcbfbxcqlv`,VITE_SUPABASE_PUBLISHABLE_KEY:`sb_publishable_vP2JX0FDb01UA9Wp2uh65A_SUzb7FFc`,VITE_SUPABASE_URL:`https://mxegodbbtfrcbfbxcqlv.supabase.co`}.VITE_SUPABASE_PUBLISHABLE_KEY||{}.SUPABASE_PUBLISHABLE_KEY;if(!e||!t){let n=`Missing Supabase environment variable(s): ${[...e?[]:[`SUPABASE_URL`],...t?[]:[`SUPABASE_PUBLISHABLE_KEY`]].join(`, `)}. Connect Supabase in Lovable Cloud.`;throw console.error(`[Supabase] ${n}`),Error(n)}return su(e,t,{global:{fetch:du(t)},auth:{storage:lu(),persistSession:!0,autoRefreshToken:!0}})}var pu,mu=new Proxy({},{get(e,t,n){return pu||=fu(),Reflect.get(pu,t,n)}}),hu=pi({type:`function`}).client(async({next:e})=>{let{data:t}=await mu.auth.getSession(),n=t.session?.access_token;return e({headers:n?{Authorization:`Bearer ${n}`}:{}})}),gu=pi(),_u=void 0,vu=hi(()=>({functionMiddleware:[hu],requestMiddleware:[gu,_u]})),yu=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},bu=new class extends yu{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();
21this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},xu={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Su=new class{#e=xu;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function Cu(e){setTimeout(e,0)}var wu=typeof window>`u`||`Deno`in globalThis;function Tu(){}function Eu(e,t){return typeof e==`function`?e(t):e}function Du(e){return typeof e==`number`&&e>=0&&e!==1/0}function Ou(e,t){return Math.max(e+(t||0)-Date.now(),0)}function ku(e,t){return typeof e==`function`?e(t):e}function Au(e,t){return typeof e==`function`?e(t):e}function ju(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==Nu(o,t.options))return!1}else if(!Fu(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function Mu(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(Pu(t.options.mutationKey)!==Pu(a))return!1}else if(!Fu(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function Nu(e,t){return(t?.queryKeyHashFn||Pu)(e)}function Pu(e){return JSON.stringify(e,(e,t)=>Bu(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function Fu(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(Array.isArray(e)&&Array.isArray(t)){for(let n=0;n<t.length;n++)if(!Fu(e[n],t[n]))return!1;return!0}let n=Object.keys(t);for(let r of n)if(!Fu(e[r],t[r]))return!1;return!0}return!1}var Iu=Object.prototype.hasOwnProperty;function Lu(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=zu(e)&&zu(t);if(!r&&!(Bu(e)&&Bu(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:Iu.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=Lu(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function Ru(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function zu(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Bu(e){if(!Vu(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!Vu(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function Vu(e){return Object.prototype.toString.call(e)===`[object Object]`}function Hu(e){return new Promise(t=>{Su.setTimeout(t,e)})}function Uu(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:Lu(e,t)}function Wu(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function Gu(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var X=Symbol();function Ku(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===X?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function qu(e,t){return typeof e==`function`?e(...t):!!e}function Ju(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var Yu=(()=>{let e=()=>wu;return{isServer(){return e()},setIsServer(t){e=t}}})();function Xu(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var Zu=Cu;function Qu(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=Zu,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>
21{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var $u=Qu(),ed=new class extends yu{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function td(e){return Math.min(1e3*2**e,3e4)}function nd(e){return(e??`online`)!==`online`||ed.isOnline()}var rd=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function id(e){let t=!1,n=0,r,i=Xu(),a=()=>i.status!==`pending`,o=t=>{if(!a()){let n=new rd(t);f(n),e.onCancel?.(n)}},s=()=>{t=!0},c=()=>{t=!1},l=()=>bu.isFocused()&&(e.networkMode===`always`||ed.isOnline())&&e.canRun(),u=()=>nd(e.networkMode)&&e.canRun(),d=e=>{a()||(r?.(),i.resolve(e))},f=e=>{a()||(r?.(),i.reject(e))},p=()=>new Promise(t=>{r=e=>{(a()||l())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,a()||e.onContinue?.()}),m=()=>{if(a())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(d).catch(r=>{if(a())return;let i=e.retry??(Yu.isServer()?0:3),o=e.retryDelay??td,s=typeof o==`function`?o(n,r):o,c=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!c){f(r);return}n++,e.onFail?.(n,r),Hu(s).then(()=>l()?void 0:p()).then(()=>{t?f(r):m()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r?.(),i),cancelRetry:s,continueRetry:c,canStart:u,start:()=>(u()?m():p().then(m),i)}}var ad=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Du(this.gcTime)&&(this.#e=Su.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Yu.isServer()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(Su.clearTimeout(this.#e),this.#e=void 0)}};function od(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{Ju(e,()=>t.signal,()=>n=!0)},u=Ku(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})(),o=await u(a),{maxPages:s}=t.options,c=i?Gu:Wu;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?cd:sd,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:sd(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.fetchFn=t.options.persister?()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):l}}}function sd(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function cd(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var ld=class extends ad{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=fd(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=fd(this.options);e.data!==void 0&&(this.setState(dd(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=Uu(this.state.data,e,this.options);return this.#l({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#l({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;
21return this.#a?.cancel(e),t?t.then(Tu).catch(Tu):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>Au(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===X||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>ku(e.options.staleTime,this)===`static`)}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:!Ou(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#a&&(this.#s||this.#c()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#l({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=Ku(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?od(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#l({type:`fetch`,meta:a.fetchOptions?.meta}),this.#a=id({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof rd&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#l({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#l({type:`pause`})},onContinue:()=>{this.#l({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#a.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof rd){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#l({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#l(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...ud(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...dd(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;
vendor: 4,112 bytes, line 21
21return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),$u.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function ud(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:nd(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function dd(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function fd(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var pd=class extends ad{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||md(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=id({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,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{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPau
21sed:!1,status:`error`}}};this.state=t(this.state),$u.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function md(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var hd=class extends yu{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new pd({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=gd(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=gd(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=gd(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=gd(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>
21t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){$u.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>Mu(t,e))}findAll(e={}){return this.getAll().filter(t=>Mu(e,t))}notify(e){$u.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return $u.batch(()=>Promise.all(e.map(e=>e.continue().catch(Tu))))}};function gd(e){return e.options.scope?.id}var _d=class extends yu{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??Nu(r,t),a=this.get(i);return a||(a=new ld({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){$u.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>ju(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>ju(e,t)):t}notify(e){$u.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){$u.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){$u.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},vd=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new _d,this.#t=e.mutationCache||new hd,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=bu.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=ed.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(ku(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=Eu(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return $u.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;$u.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return $u.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=$u.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(Tu).catch(Tu)}invalidateQueries(e,t={}){return $u.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=$u.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(Tu)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(Tu)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(ku(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Tu).catch(Tu)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Tu).catch(Tu)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return ed.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(Pu(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{Fu(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(Pu(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{Fu(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=Nu(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===X&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},yd=j.createContext(void 0),bd=e=>{let t=j.useContext(yd);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},Z=({client:e,children:t})=>(j.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,M.jsx)(yd.Provider,{value:e,children:t}));function xd(e){return e}var Sd=`/assets/styles-rktSrVaF.css`;function Cd(e,t={}){if(typeof window>`u`)return;window.__lovableEvents?.captureException?.(e,{source:`react_error_boundary`,route:window.location.pathname,...t},{mechanism:`react_error_boundary`,handled:!1,severity:`error`});let n=e instanceof Response?`Response ${e.status}${e.url?` at ${e.url}`:``}`:e instanceof Error?e.message:String(e),r=e instanceof Error?e.stack:void 0;window.__lovableReportRuntimeError?.({message:n,...r!==void 0&&{stack:r},filename:window.location.pathname})}var wd=p({method:`GET`}).handler(d(`96de5522df0807ac88f0ffc4c06c13129ec67547ba675e4c26b2774693c97ec9`)),Td=[{to:`/articles`,label:`Articles`},{to:`/resources`,label:`Resources`},{to:`/sales-confidence-assessment`,label:`Sales Confidence Assessment`},{to:`/contact`,label:`Contact`}];function Ed(){return(0,M.jsxs)(`div`,{className:`bg-warm text-primary`,children:[(0,M.jsx)(r,{}),(0,M.jsxs)(`main`,{className:`mx-auto max-w-2xl px-5 py-24 text-center sm:px-8 lg:py-32`,children:[(0,M.jsx)(`h1`,{className:`font-display text-5xl leading-tight sm:text-6xl`,children:`Page not found`}),(0,M.jsx)(`p`,{className:`mt-6 text-base leading-8 text-primary/75`,children:`The page you're looking for has moved or no longer exists.`}),(0,M.jsx)(`div`,{className:`mt-10 flex flex-wrap justify-center gap-3`,children:Td.map(e=>(0,M.jsx)(he,{to:e.to,className:`inline-flex h-12 items-center justify-center rounded-none bg-primary px-6 text-sm font-semibold uppercase tracking-[0.08em] text-primary-foreground transition-opacity hover:opacity-90`,children:e.label},e.to))})]}),(0,M.jsx)(o,{})]})}function Dd({error:e,reset:t}){console.error(e);let n=we();return(0,j.useEffect)(()=>{Cd(e,{boundary:`tanstack_root_error_component`})},[e]),(0,M.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-background px-4`,children:(0,M.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,M.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight text-foreground`,children:`This page didn't load`}),(0,M.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Something went wrong on our end. You can try refreshing or head back home.`}),(0,M.jsxs)(`div`,{className:`mt-6 flex flex-wrap justify-center gap-2`,children:[(0,M.jsx)(`button`,{onClick:()=>{n.invalidate(),t()},className:`inline-flex items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90`,children:`Try again`}),(0,M.jsx)(`a`,{href:`/`,className:`inline-flex items-center justify-center rounded-md border border-input bg-background px-4 py-2 text-sm font-medium text-foreground transition-colors hover:bg-accent`,children:`Go home`})]})]})})}var Q=be()({loader:async()=>({gaId:await wd().catch(()=>null)}),head:({loaderData:e})=>({meta:[{charSet:`utf-8`},{name:`viewport`,content:`width=device-width, initial-scale=1`},{name:`author`,content:`Amie Thompson`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`stylesheet`,href:Sd},{rel:`preconnect`,href:`https://fonts.googleapis.com`}
21,{rel:`preconnect`,href:`https://fonts.gstatic.com`,crossOrigin:`anonymous`},{rel:`stylesheet`,href:`https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Newsreader:opsz,[email protected],400;6..72,500&display=swap`},{rel:`icon`,href:`/favicon.png`,type:`image/png`}],scripts:[{type:`text/javascript`,children:`(function(){if(/(^|\\.)lovable\\.app$/.test(location.hostname)){var m=document.createElement('meta');m.setAttribute('name','robots');m.setAttribute('content','noindex, nofollow');document.head.appendChild(m);}})();`},...e?.gaId?[{type:`text/javascript`,children:`(function(){var h=location.hostname;if(h!=='amiethompson.com'&&h!=='www.amiethompson.com')return;var id=${JSON.stringify(e.gaId)};var s=document.createElement('script');s.async=true;s.src='https://www.googletagmanager.com/gtag/js?id='+id;document.head.appendChild(s);window.dataLayer=window.dataLayer||[];window.gtag=function(){dataLayer.push(arguments);};gtag('js',new Date());gtag('config',id);})();`}]:[]]}),shellComponent:Od,component:kd,notFoundComponent:Ed,errorComponent:Dd});function Od({children:e}){return(0,M.jsxs)(`html`,{lang:`en`,children:[(0,M.jsx)(`head`,{children:(0,M.jsx)(li,{})}),(0,M.jsxs)(`body`,{children:[e,(0,M.jsx)(di,{})]})]})}function kd(){let{queryClient:e}=Q.useRouteContext();return(0,M.jsx)(Z,{client:e,children:(0,M.jsx)(Jr,{})})}var Ad=()=>k(()=>import(`./routes-DopnloQi.js`),__vite__mapDeps([0,1,2])),jd=`${A}${je.url}`,Md={"@context":`https://schema.org`,"@graph":[{...Pe,"@id":`${A}/#person`},{"@type":`Organization`,"@id":`${A}/#brand`,name:`Amie Thompson`,url:A,description:`Practical strategy, selling, and AI for small business owners.`,founder:{"@id":`${A}/#person`}},{"@type":`WebSite`,"@id":`${A}/#website`,url:A,name:`Amie Thompson`,publisher:{"@id":`${A}/#brand`}}]},$=O(`/`)({head:()=>({meta:[{title:`Amie Thompson: Strategy, Selling, and AI for Small Business`},{name:`description`,content:`Amie Thompson helps small business owners and early-stage founders build visibility, sell with confidence, and put AI to work.`},{property:`og:title`,content:`Amie Thompson: Strategy, Selling, and AI for Small Business`},{property:`og:description`,content:`Amie Thompson helps small business owners and early-stage founders build visibility, sell with confidence, and put AI to work.`},{property:`og:type`,content:`website`},{property:`og:url`,content:`${A}/`},{property:`og:image`,content:jd},{name:`twitter:card`,content:`summary_large_image`},{name:`twitter:title`,content:`Amie Thompson: Strategy, Selling, and AI for Small Business`},{name:`twitter:description`,content:`Amie Thompson helps small business owners and early-stage founders build visibility, sell with confidence, and put AI to work.`},{name:`twitter:image`,content:jd},{"script:ld+json":Md}],links:[{rel:`canonical`,href:`${A}/`}]}),component:D(Ad,`component`)}),Nd=[{question:`Who is Amie Thompson?`,answer:`Amie Thompson is an entrepreneur and business strategist who helps small business owners and early-stage founders build visibility, sell with confidence, and put AI to work. She's a former CEO with more than 25 years of leadership experience and a SCORE Certified Mentor. She created the Six Foundations of Sales Confidence, the Idea to Income framework, and the Founder Filter, a free AI-assisted business idea diagnostic. Amie Thompson the entrepreneur and business strategist (amiethompson.com, North Carolina, USA) is a separate person from Amie Thompson the Australian Olympic artistic swimmer born in 1996.`},{question:`What is the Six Foundations of Sales Confidence?`,answer:`The Six Foundations of Sales Confidence is Amie Thompson's framework for selling in a way that fits how you work. It breaks selling into six foundations a business owner can build confidence in one at a time: Sales Mindset, Ideal Client Fit, Value Clarity, Discovery Skills, Offer Execution, and Sales Growth Habits. Each foundation comes with practical guidance, so owners can start with the part of selling that feels hardest.`},{question:`What is the Idea to Income framework?`,answer:`The Idea to Income framework is Amie Thompson's approach to building a business. It covers six areas every entrepreneur works through: evaluating your idea, building visibility, generating revenue, running your business, leading your business, and building while employed. You can start with whichever area fits where you are, and each one comes with practical tools and guidance. AI is built into how the framework runs, giving owners the kind of support that would otherwise take a full team.`},{question:`What is the Founder Filter?`,answer:`The Founder Filter is a free AI-assisted diagnostic created by Amie Thompson. It helps you decide whether a business idea is worth pursuing before you commit time, money, or energy. It scores the idea across seven practical filters: Founder Fit, Problem Strength, Market Reality, Revenue Path, Distribution Strategy, Execution Readiness, and Timing Advantage. It takes less than five minutes and returns an honest assessment of where the idea stands. An idea is worth pursuing when people will act on it by paying, booking, signing up, or asking specific questions about getting started.`}
21,{question:`What kind of entrepreneurs does Amie Thompson work with?`,answer:`Amie works with two groups. The first is small business owners and early-stage founders who have some revenue but struggle to get new clients and sell what they do. She helps them define their offer, set their pricing, and build the structure to grow. The second is employed professionals who are seriously exploring entrepreneurship and want to evaluate their idea before they leap. Both groups are good at what they do and ready for practical, strategic guidance.`},{question:`What kind of work does Amie Thompson do?`,answer:`Amie Thompson is an entrepreneur and business strategist who has worked as a solopreneur since 2026. Her work is practical and strategic, focused on sales confidence, clear decisions, and simple structure. She has run a company and worked in healthcare, technology, and marketing, serving clients in nonprofit, retail, media, and technology. Today she consults with ExecBrand Authority, Playbl, and SCORE. She also helps small business owners and early-stage founders through her frameworks, free tools, and Operations Consulting.`},{question:`What does it mean to be an introverted entrepreneur?`,answer:`An introverted entrepreneur builds a business in a way that fits how they naturally work. Many introverted entrepreneurs lead with depth, build trust through consistency, and make decisions by thinking things through before talking them out. Most mainstream business advice assumes a more outgoing style. Building with your own style in mind makes what you build easier to sustain.`},{question:`How does Amie Thompson use AI in her work?`,answer:`Amie Thompson holds several AI certifications, including Prompt Engineering for ChatGPT and Generative AI Deep Research from Vanderbilt University, and Generative AI for Effective Recruiting and Hiring from EduCBA. In her own business, AI is a thought partner. She uses it to sanity-check ideas, find sources for her writing, and research before pitches and presentations. She teaches small business owners to treat AI as infrastructure that gives them the structure, research, and clarity that would otherwise take a larger team. The Founder Filter, her free business idea diagnostic, is AI-assisted.`}],Pd=()=>k(()=>import(`./about-Cr77_cNY.js`),__vite__mapDeps([3,1,2,4,5,6,7,8])),Fd=`${A}/about`,Id=`About Amie Thompson | Entrepreneur and Business Strategist`,Ld=`Amie Thompson is an entrepreneur and business strategist who helps small business owners and early-stage founders build visibility, sell with confidence, and put AI to work.`,Rd=O(`/about`)({head:()=>({meta:[{title:Id},{name:`description`,content:Ld},{property:`og:title`,content:Id},{property:`og:description`,content:Ld},{property:`og:type`,content:`profile`},{property:`og:url`,content:Fd},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:Fd}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`AboutPage`,url:Fd,mainEntity:Pe})},{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`FAQPage`,mainEntity:Nd.map(e=>({"@type":`Question`,name:e.question,acceptedAnswer:{"@type":`Answer`,text:e.answer}}))})}]}),component:D(Pd,`component`)}),zd=[{question:`What is AI discoverability and why does it matter for small businesses?`,answer:`AI discoverability is how easily AI tools like ChatGPT, Perplexity, and Claude can find, verify, and cite you. It matters because more people now turn to these tools for answers. In early 2026, 44% of U.S. adults said they had used ChatGPT, according to Pew Research Center. AI tools give one answer with a few cited sources. If you're not one of them, you don't show up in that moment.`},{question:`How is AI discoverability different from SEO?`,answer:`SEO was built to rank pages in Google's list of results. AI discoverability focuses on getting cited in the answer an AI tool gives. The tactics that earn citations are consistent positioning, structured content, named authorship, and mentions from other credible sources. Many SEO practices still help, and they work best alongside these.`},{question:`Do I need a lot of content to be discoverable by AI?`,answer:`No. Structure and attribution matter more than volume. One well-organized guide on your main topic, clearly credited to you, does more than fifty short uncredited posts. Start there before producing more.`},{question:`How does AI know who I am?`,answer:`It pieces you together from everything it can find: your website, LinkedIn, articles, and mentions. Your website can also send technical signals. Three common ones: Sc
21hema markup is code that identifies you as the author and names your expertise. Server-side rendering makes sure your main content shows up in your site's raw code. An llms.txt file is a newer, optional file that points AI crawlers to your most important pages. Major AI companies haven't confirmed they use llms.txt, so treat it as a low-cost extra.`},{question:`What is the first thing I should fix to improve my AI visibility?`,answer:`Start with how you describe yourself. Put your website bio and LinkedIn About section side by side. Write one or two opening sentences that say who you help and how. Use them word for word at the start of every bio, then let the rest fit each context. Consistent descriptions make it easier for AI tools to describe you accurately.`},{question:`How do I know where my specific visibility gaps are?`,answer:`The fastest first step is to ask AI directly. Run your name through ChatGPT, Perplexity, and Claude and ask who you are and what you specialize in. Compare what comes back to how you describe yourself. Then use the monthly tracking steps above to see what changes.`},{question:`How long does it take to see results from AI discoverability work?`,answer:`It varies. Technical changes to your site can show up sooner. Changes to how you describe yourself take longer, because AI tools need to find the updated version in several places. Run the same baseline questions before and after you make changes so you can see what moved.`}],Bd=`AI Discoverability for Small Business Owners`,Vd=`${A}`,Hd=Ne;function Ud(e,t){if(!t||!e.includes(t.text))return e;let[n,...r]=e.split(t.text);return(0,M.jsxs)(M.Fragment,{children:[n,(0,M.jsx)(`a`,{href:t.href,className:`font-semibold underline underline-offset-4`,children:t.text}),r.join(t.text)]})}function Wd({path:e,title:t,description:n,headline:r,faqs:i}){let a=`${Vd}${e}`;return{meta:[{title:t},{name:`description`,content:n},{property:`og:title`,content:t},{property:`og:description`,content:n},{property:`og:type`,content:`article`},{property:`og:url`,content:a},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:a}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`Article`,headline:r,description:n,url:a,author:{...Me,url:`${Vd}/bio`}})},{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`FAQPage`,mainEntity:i.map(e=>({"@type":`Question`,name:e.question,acceptedAnswer:{"@type":`Answer`,text:e.answer}}))})}]}}function Gd({src:e,alt:t}){return(0,M.jsx)(`img`,{src:e,alt:t,width:1800,height:1200,className:`topic-hero-img h-auto w-full`})}function Kd({eyebrow:e,heading:t,intro:n,children:r,tone:i=`plain`}){return(0,M.jsx)(`section`,{className:`border-t border-primary/15 py-14 text-primary sm:py-18 ${i===`warm`?`-mx-5 bg-warm px-5 sm:-mx-8 sm:px-8 lg:-mx-12 lg:px-12 xl:-mx-16 xl:px-16`:``}`,children:(0,M.jsxs)(`div`,{className:`max-w-[920px]`,children:[(0,M.jsx)(Ee,{children:e}),(0,M.jsx)(`h2`,{className:`mt-5 font-display text-4xl leading-tight sm:text-5xl`,children:t}),n?(0,M.jsx)(`div`,{className:`mt-7 space-y-6 text-base leading-8 text-primary/75 sm:text-lg`,children:n}):null,r?(0,M.jsx)(`div`,{className:`mt-8 space-y-6 text-base leading-8 text-primary/75 sm:text-lg`,children:r}):null]})})}function qd({items:e,numbered:t=!1}){return(0,M.jsx)(`ol`,{className:`!mt-10 space-y-0`,children:e.map((e,n)=>(0,M.jsxs)(`li`,{className:`grid gap-x-6 border-t border-primary/20 py-6 sm:grid-cols-[3rem_1fr]`,children:[t?(0,M.jsx)(`span`,{className:`font-display text-3xl leading-none text-burgundy`,children:String(n+1).padStart(2,`0`)}):(0,M.jsx)(`span`,{className:`hidden sm:block`}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`h3`,{className:`font-display text-2xl leading-tight text-primary`,children:e.href?(0,M.jsxs)(`a`,{href:e.href,className:`group inline-flex items-center gap-2 hover:underline`,children:[e.title,(0,M.jsx)(Te,{className:`size-4 transition-transform group-hover:translate-x-1`,"aria-hidden":`true`})]}):e.title}),e.tag?(0,M.jsx)(`p`,{className:`mt-2 text-xs font-semibold uppercase tracking-[0.1em] text-muted-foreground`,children:e.tag}):null,(0,M.jsx)(`p`,{className:`mt-3 text-base leading-8 text-primary/75`,children:e.text})]})]},e.title))})}function Jd(){return(0,M.jsx)(`section`,{className:`border-t border-primary/15 py-14 text-primary sm:py-18`,children:(0,M.jsxs)(`div`,{className:`max-w-[920px]`,children:[(0,M.jsx)(Ee,{children:`About the author`}),(0,M.jsxs)(`div`,{className:`mt-7 flex flex-col gap-6 sm:flex-row sm:items-start`,children:[(0,M.jsx)(`img`,{src:je.url,alt:`Amie Thompson`,width:112,height:112,loading:`lazy`,className:`size-28 shrink-0 rounded-full object-cover`}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`h2`,{className:`font-display text-3xl leading-tight`,children:`Amie Thompson`}),(0,M.jsx)(`p`,{className:`mt-4 text-base leading-8 text-primary/75`,children:Hd}),(0,M.jsxs)(`a`,{href:`/bio`,className:`group mt-5 inline-flex items-center gap-2 text-sm font-semibold underline-offset-4 hover:underline`,children:[`Read my full story`,(0,M.jsx)(Te,{className:`size-4 transition-transform group-hover:translate-x-1`,"aria-hidden":`true`})]})]})]})]})})}function Yd({eyebrow:e,title:t,intro:n,image:r,imageAlt:i,children:a,cta:o,faqHeading:s,faqs:c}){let[l,...u]=n;return(0,M.jsxs)(De,{hero:(0,M.jsx)(Ae,{eyebrow:e,title:t,subheadline:l??``,intro:u.length?(0,M.jsx)(`div`,{className:`space-y-5`,children:u.map(e=>(0,M.jsx)(`p`,{children:e},e))}):void 0,visual:(0,M.jsx)(Gd,{src:r,alt:i})}),children:[a,(0,M.jsx)(`div`,{className:`py-14 sm:py-18`,children:(0,M.jsx)(Oe,{heading:o.heading,copy:o.copy,link:o.link})}),(0,M.jsx)(ke,{heading:s,faqs:c.map(e=>({question:e.question,answer:Ud(e.answer,e.link)}))}),(0,M.jsx)(Jd,{})]})}var Xd=O(`/ai-discoverability`)({head:()=>Wd({path:`/ai-discoverability`,title:`AI Discoverability for Small Business | Amie Thompson`,description:`How AI tools decide who to cite, and what small business owners can do n
21ow to get found and recommended by AI.`,headline:Bd,faqs:zd}),component:D(()=>k(()=>import(`./ai-discoverability-D4jOeR8t.js`),__vite__mapDeps([9,1])),`component`)}),Zd=[{question:`Do I need to be technical to use AI in my small business?`,answer:`No. The tools have gotten simple enough that the real skill is knowing what to ask for and how to check the results. That is what the CLEAR Framework teaches.`},{question:`What is AI discoverability?`,answer:`It is showing up when people ask AI tools like ChatGPT, Perplexity, or Google's AI who the expert is in your space. It is a different practice from ranking on Google, and it is becoming one of the main ways new clients find you.`},{question:`What can AI do for a small business?`,answer:`Used well, it helps the right people find you, handles busywork like project tracking and follow-up, speeds up research, and gives you operational structure that used to require a full team.`},{question:`Is it safe to trust what AI gives me?`,answer:`Not blindly. AI is confident even when it is wrong, so the habit that matters most is checking its work. The AI Literacy Guide walks through how to trust it and catch its mistakes.`},{question:`What is an AI Quotient?`,answer:`Your Artificial Intelligence Quotient, or AIQ, is how well you understand, use, and think critically about AI tools. It is a simple way to see where you stand and what to work on.`}],Qd=O(`/ai-for-small-business`)({head:()=>Wd({path:`/ai-for-small-business`,title:`AI for Small Business | Amie Thompson`,description:`Learn practical ways to use AI for discoverability, reliable work, and stronger small-business operations.`,headline:`Put AI to work in a way that fits how you run your business.`,faqs:Zd.map(e=>({question:e.question,answer:e.answer}))}),component:D(()=>k(()=>import(`./ai-for-small-business-CBHlMwxT.js`),__vite__mapDeps([10,1,2,4,5,6,7])),`component`)}),$d=[{question:`Do I need to know how AI works technically to use it well?`,answer:`No. AI literacy for small business owners is practical, not technical. You need to understand what AI can and cannot do reliably, how to evaluate its output, and where it belongs in your operations. None of that requires technical knowledge of how AI models are built.`},{question:`How long does it take to become AI literate?`,answer:`It depends on how much you use AI tools and how intentionally you reflect on what works and what does not. Most small business owners who use AI regularly and apply a structured approach like the CLEAR Framework develop meaningful literacy within a few months.`,link:{text:`CLEAR Framework`,href:`/frameworks/clear-framework`}},{question:`Is AI literacy different for different types of businesses?`,answer:`The core habits are the same regardless of industry. What differs is which tasks AI handles reliably for your specific work, which error types are most common in your domain, and where the stakes of an AI error are highest. Those patterns are specific to your business and develop through your own use.`},{question:`What is the relationship between AI literacy and AI discoverability?`,answer:`AI literacy is about using AI tools well in your own operations. AI discoverability is about how AI tools represent you and your business when someone searches for expertise in your field. They are related but distinct. Both matter for small business owners.`,link:{text:`AI discoverability`,href:`/ai-discoverability`}},{question:`Where do I start if I have never used AI tools before?`,answer:`Start with ChatGPT or Claude. Pick one task you do regularly that involves writing, research, or summarization. Use AI for that task five times in a row. Pay attention to what works, what does not, and what you have to fix. That is the beginning of the Comprehend habit and the foundation of everything else.`}],ef=`What Is AI Literacy and Why It Matters for Your Small Business`,tf=O(`/ai-literacy`)({head:()=>Wd({path:`/ai-literacy`,title:`What Is AI Literacy? A Small Business Guide | Amie Thompson`,description:`What AI literacy means for small business owners, why it matters now, and the key terms you need to use AI reliably.`,headline:ef,faqs:$d}),component:D(()=>k(()=>import(`./ai-literacy-BLGotT1J.js`),__vite__mapDeps([11,1])),`component`)}),nf=[{question:`What is AIQ and where does the concept come from?`,answer:`AIQ stands for AI Quotient. It is a framework for measuring how well someone works with AI tools, drawing on peer-reviewed research into AI literacy and human-AI collaboration. It is distinct from technical knowledge, you do not need to know how AI models work to have a high AIQ. What matters is whether you can use AI tools to complete real tasks, evaluate what they give you, and recognize when they are wrong.`},{question:`How is AIQ different from just knowing how to use AI tools?`,answer:`Knowing how to use a tool means you can operate it. AIQ means you can get reliable, quality results from it, know when to trust those results, and recognize when the tool is steering you wrong. Most people who use AI regularly still get inconsistent results because they are using it without a framework. AIQ is that framework.`},{question:`How do I build my AIQ?`,answer:`AIQ builds through deliberate practice in your business, not through courses or tutorials. Use AI to solve a specific problem. Evaluate what it gives you critically. Refine how you ask. The AI Literacy Guide and the CLEAR Framework give you a structured approach to building this habit.`},{question:`How does AIQ connect to AI discoverability?`,answer:`AI discoverability is about whether AI tools can find, describe, and recommend you when someone searches for expertise in your field. AIQ is about how well you use those same tools in your own work. They are related, a higher AIQ helps you understand what signals AI looks for, which makes you better at building the kind of consistent, structured presence that earns citations.`,link:{text:`AI discoverability`,href:`/ai-discoverability`}},{question:`Is AIQ only relevant for people who use AI tools heavily?`,answer:`No. AIQ matters most for people who are just starting to use AI tools or who are using them inconsistently, because those are the people most likely to get poor results and give up on them. A small investment in building your AIQ early compounds significantly, it means every hour you spend using AI tools is more productive than it would be otherwise.`}],rf=`What is your AIQ?`,af=O(`/aiq`)({head:()=>Wd({path:`/aiq`,title:`What Is Your AIQ? AI Quotient for Small Business | Amie Thompson`,description:`AIQ measures how well you understand, use, and think critically about AI tools, and it shows up in every part of your business.`,headline:rf,faqs:nf}),component:D(()=>k(()=>import(`./aiq-ChJlJ8eP.js`),__vite__mapDeps([12,1,4,5,2,6,7])),`component`)}),of=O(`/articles`)({validateSearch:e=>typeof e.theme==`string`?{theme:e.theme}:{},head:()=>({meta:[{title:`Small Business Articles on Sales, Visibility, AI, and Leadership | Amie Thompson`},{name:`description`,content:`Browse practical articles on selling, visibility, AI, leadership, and the decisions that come with building a small business.`},{property:`og:title`,content:`Practical Small Business Articles | Amie Thompson`},{property:`og:description`,content:`Explore practical perspectives on selling, visibility, AI, leadership, and building a business.`},{property:`og:type`,content:`website`},{property:`og:url`,content:`${A}/articles`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/articles`}]}),component:D(()=>k(()=>import(`./articles-DW5khcYn.js`),__vite__mapDeps([13,1,2,4,5,6,7])),`component`)}),sf=O(`/bio`)({head:()=>({meta:[{title:`Amie Thompson Bio | Entrepreneur and Business Strategist`}
21,{name:`description`,content:`Official bios, quick facts, and downloadable headshots for Amie Thompson, entrepreneur and business strategist.`},{property:`og:title`,content:`Amie Thompson Bio | Entrepreneur and Business Strategist`},{property:`og:description`,content:`Official bios, quick facts, and downloadable headshots for Amie Thompson, entrepreneur and business strategist.`},{property:`og:type`,content:`profile`},{property:`og:url`,content:`${A}/bio`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/bio`}]}),component:D(()=>k(()=>import(`./bio-B3Ri8unr.js`),__vite__mapDeps([14,1,15,16,4,5,2,6,7,17,18,19,8])),`component`)}),cf=O(`/blog`)({validateSearch:e=>typeof e.theme==`string`?{theme:e.theme}:{},beforeLoad:({search:e})=>{throw g({to:`/articles`,search:e,statusCode:301})}}),lf=()=>k(()=>import(`./contact-Nxr20q6z.js`),__vite__mapDeps([20,1,21,22,23,24,16,2,4,5,6,7])),uf=`${A}/contact`,df=`Contact Amie Thompson`,ff=`Contact Amie Thompson about speaking, operations consulting, media, or partnerships. She helps small business owners and early-stage founders grow.`,pf=O(`/contact`)({head:()=>({meta:[{title:df},{name:`description`,content:ff},{property:`og:title`,content:df},{property:`og:description`,content:ff},{property:`og:type`,content:`website`},{property:`og:url`,content:uf},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:uf}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`ContactPage`,url:uf,name:df,description:ff})}]}),component:D(lf,`component`)}),mf=O(`/educational-sessions`)({head:()=>({meta:[{title:`Educational Sessions | Amie Thompson`},{name:`description`,content:`Practical live sessions to help small business owners get found, sell, and grow. Dates are coming soon.`},{property:`og:title`,content:`Educational Sessions | Amie Thompson`},{property:`og:description`,content:`Practical live sessions for small business owners, with dates coming soon.`},{property:`og:type`,content:`website`},{property:`og:url`,content:`${A}/educational-sessions`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/educational-sessions`}]}),component:D(()=>k(()=>import(`./educational-sessions-gxlGBsf_.js`),__vite__mapDeps([25,1,4,5,2,6,7])),`component`)}),hf=[{question:`What is the Founder Filter?`,answer:`The Founder Filter is a free, AI-assisted diagnostic that evaluates any business idea across seven practical filters: Founder Fit, Problem Strength, Market Reality, Revenue Path, Distribution Strategy, Execution Readiness, and Timing Advantage. It takes under five minutes and returns an overall score, a per-filter breakdown, and a Founder Profile. It is designed for founders at the moment before they commit, not after.`},{question:`Who is the Founder Filter designed for?`,answer:`Aspiring founders who have a business idea they are considering seriously but have not committed to building, and early-stage entrepreneurs questioning their current direction or considering a pivot. It is most valuable when you still have the option to change course.`},{question:`What happens after I take the Founder Filter?`,answer:`Your score appears immediately after you submit. Enter your email to receive the full report, which includes your overall score, your per-filter breakdown, and your Founder Profile, so you can reference it later.`},{question:`Is the Founder Filter the same as a business plan?`,answer:`No. A business plan is a document you build after you have decided to pursue the idea. The Founder Filter is a decision framework you use before that decision is made. Think of it as the step that comes before the business plan, and the one most founders skip.`},{question:`Does it work for side business ideas or only full-time ventures?`,answer:`Both. One of the seven filters, Execution Readiness, specifically accounts for your current capacity, resources, and runway. If you are building while employed, that context surfaces directly in your score. The framework evaluates the idea in the context of your actual situation, not an idealized version of it.`},{question:`How is it different from other business idea validators?`,answer:`Most tools are either too generic to be actionable or too focused on one dimension. The Founder Filter evaluates seven distinct dimensions at once and returns a scored breakdown, not a general recommendation. It also accounts for founder-specific factors like fit and execution readiness, not just the idea in isolation.`}],gf=()=>k(()=>import(`./founder-filter-BppK4L88.js`),__vite__mapDeps([26,1,5,19,18])),_f=`${A}/founder-filter`,vf={"@context":`https://schema.org`,"@type":`FAQPage`,mainEntity:hf.map(e=>
21({"@type":`Question`,name:e.question,acceptedAnswer:{"@type":`Answer`,text:e.answer}}))},yf={"@context":`https://schema.org`,"@type":`Article`,headline:`Evaluate your business idea before you build it.`,description:`A free AI-assisted diagnostic that scores your business idea across seven filters in under five minutes, before you spend time or money building.`,author:Me,mainEntityOfPage:_f},bf=O(`/founder-filter`)({head:()=>({meta:[{title:`The Founder Filter | Amie Thompson`},{name:`description`,content:`A free AI-assisted diagnostic that scores your business idea across seven filters in under five minutes, before you spend time or money building.`},{property:`og:title`,content:`The Founder Filter | Amie Thompson`},{property:`og:description`,content:`A free AI-assisted diagnostic that scores your business idea across seven filters in under five minutes, before you spend time or money building.`},{property:`og:type`,content:`article`},{property:`og:url`,content:_f},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:_f}],scripts:[{type:`application/ld+json`,children:JSON.stringify(yf)},{type:`application/ld+json`,children:JSON.stringify(vf)}]}),component:D(gf,`component`)}),xf=`how-to-act-like-a-leader-before-you-have-the-title`;function Sf({faqs:e}){let[t,n]=(0,j.useState)(0);return(0,M.jsxs)(`section`,{id:`frequently-asked-questions`,className:`scroll-mt-28 border-t border-primary/15 pt-14`,children:[(0,M.jsx)(`h2`,{className:`font-display text-4xl leading-tight text-primary sm:text-5xl`,children:`Frequently asked questions`}),(0,M.jsx)(`div`,{className:`mt-9 border-t border-primary/20`,children:e.map((e,r)=>{let o=t===r,s=`article-faq-answer-${r}`;return(0,M.jsxs)(`div`,{className:`border-b border-primary/20`,children:[(0,M.jsx)(`h3`,{children:(0,M.jsxs)(i,{type:`button`,variant:`ghost`,"aria-expanded":o,"aria-controls":s,onClick:()=>n(o?null:r),className:`h-auto w-full justify-between rounded-none px-0 py-6 text-left text-base font-semibold leading-6 text-primary hover:bg-transparent hover:text-burgundy sm:text-lg`,children:[(0,M.jsx)(`span`,{className:`pr-8`,children:e.question}),(0,M.jsx)(a,{className:`size-4 shrink-0 transition-transform ${o?`rotate-180`:``}`,"aria-hidden":`true`})]})}),(0,M.jsx)(`div`,{id:s,"aria-hidden":!o,className:o?`pb-7 pr-10`:`hidden`,children:e.answerHtml?(0,M.jsx)(`p`,{className:`max-w-3xl text-base leading-8 text-primary/75 [&_a]:font-semibold [&_a]:text-primary [&_a]:underline [&_a]:underline-offset-4`,dangerouslySetInnerHTML:{__html:e.answerHtml}}):(0,M.jsx)(`p`,{className:`max-w-3xl text-base leading-8 text-primary/75`,children:e.answer})})]},e.question)})})]})}function Cf({title:e,subhead:t,category:n,categoryHref:i,publishedDate:a,updatedDate:s,tags:c=[],readingTime:l,image:u,imageAlt:d,introduction:f,sections:p,faqs:m,sources:h=[],relatedArticles:g}){let _=[...p.map(({id:e,heading:t})=>({id:e,heading:t})),{id:`frequently-asked-questions`,heading:`Frequently asked questions`}];return(0,M.jsxs)(`div`,{id:`top`,className:`min-h-screen overflow-x-clip bg-background text-foreground`,children:[(0,M.jsx)(r,{}),(0,M.jsxs)(`main`,{children:[(0,M.jsx)(`header`,{className:`border-b border-primary/15 bg-warm`,children:(0,M.jsxs)(`div`,{className:`mx-auto max-w-[1440px] px-5 py-14 sm:px-8 sm:py-18 lg:px-12 lg:py-20 xl:px-16`,children:[(0,M.jsxs)(`nav`,{"aria-label":`Breadcrumb`,className:`flex flex-wrap items-center gap-2 text-xs text-primary/60`,children:[(0,M.jsx)(`a`,{href:`/`,className:`hover:text-burgundy hover:underline`,children:`Home`}),(0,M.jsx)(`span`,{"aria-hidden":`true`,children:`/`}),(0,M.jsx)(`a`,{href:`/articles`,className:`hover:text-burgundy hover:underline`,children:`Articles`}),(0,M.jsx)(`span`,{"aria-hidden":`true`,children:`/`}),(0,M.jsx)(`a`,{href:i,className:`hover:text-burgundy hover:underline`,children:n})]}),(0,M.jsxs)(`div`,{className:`mt-9 grid gap-12 lg:grid-cols-[minmax(0,1.25fr)_minmax(20rem,0.75fr)] lg:items-center lg:gap-16`,children:[(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`p`,{className:`text-[0.68rem] font-semibold uppercase leading-none tracking-[0.14em] text-muted-foreground`,children:n}),(0,M.jsx)(`h1`,{className:`mt-6 max-w-4xl font-display text-5xl font-normal leading-[1.04] text-primary sm:text-6xl lg:text-7xl`,children:e}),(0,M.jsx)(`p`,{className:`mt-7 max-w-3xl text-lg leading-8 text-primary/75 sm:text-xl sm:leading-9`,children:t}),(0,M.jsxs)(`div`,{className:`mt-8 border-t border-primary/20 pt-6 text-sm leading-7 text-primary/70`,children:[(0,M.jsxs)(`p`,{children:[`By `,(0,M.jsx)(`a`,{href:`/about`,className:`font-semibold text-primary underline-offset-4 hover:underline`,children:`Amie Thompson`}),` `,(0,M.jsx)(`span`,{"aria-hidden":`true`,children:`|`}),` Entrepreneur and Business Strategist`]}),(0,M.jsxs)(`p`,{className:`mt-1`,children:[a?(0,M.jsxs)(M.Fragment,{children:[`Published `,a,` `,(0,M.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),` `]}
21):null,s?(0,M.jsxs)(M.Fragment,{children:[`Updated `,s,` `,(0,M.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),` `]}):null,l,` min read`]}),c.length?(0,M.jsx)(`ul`,{"aria-label":`Article tags`,className:`mt-4 flex flex-wrap gap-2`,children:c.map(e=>(0,M.jsx)(`li`,{className:`rounded-full border border-primary/20 px-3 py-1 text-xs text-primary/75`,children:e},e))}):null]})]}),(0,M.jsx)(`img`,{src:u,alt:d,className:`aspect-square w-full object-cover`})]})]})}),(0,M.jsxs)(`div`,{className:`mx-auto max-w-[1440px] px-5 py-14 sm:px-8 lg:grid lg:grid-cols-[minmax(0,1fr)_16rem] lg:gap-16 lg:px-12 lg:py-24 xl:px-16`,children:[(0,M.jsxs)(`details`,{className:`mb-12 border-y border-primary/20 lg:hidden`,children:[(0,M.jsx)(`summary`,{className:`cursor-pointer py-4 text-xs font-semibold uppercase tracking-[0.12em] text-primary`,children:`In this article`}),(0,M.jsx)(`nav`,{className:`border-t border-primary/15 pb-2`,"aria-label":`Article sections`,children:_.map(e=>(0,M.jsx)(`a`,{href:`#${e.id}`,className:`block border-b border-primary/10 py-3 text-sm leading-6 text-primary/75 last:border-0`,children:e.heading},e.id))})]}),(0,M.jsxs)(`article`,{className:`min-w-0 max-w-[920px]`,children:[(0,M.jsx)(`div`,{className:`space-y-6 text-base leading-8 text-primary/80 sm:text-lg`,children:f}),p.map(e=>(0,M.jsxs)(`section`,{id:e.id,className:`scroll-mt-28 border-t border-primary/15 pt-14 first:mt-14 [&+section]:mt-14`,children:[(0,M.jsx)(`h2`,{className:`font-display text-4xl leading-tight text-primary sm:text-5xl`,children:e.heading}),(0,M.jsx)(`div`,{className:`mt-7 space-y-6 text-base leading-8 text-primary/80 sm:text-lg [&_a]:font-semibold [&_a]:text-primary [&_a]:underline [&_a]:underline-offset-4 [&_li]:pl-2 [&_ol]:ml-6 [&_ol]:list-decimal [&_ul]:ml-6 [&_ul]:list-disc`,children:e.content})]},e.id)),(0,M.jsx)(Sf,{faqs:m}),h.length?(0,M.jsxs)(`section`,{className:`mt-14 border-t border-primary/15 pt-14`,children:[(0,M.jsx)(`h2`,{className:`font-display text-4xl leading-tight text-primary sm:text-5xl`,children:`Sources`}),(0,M.jsx)(`ul`,{className:`mt-7 space-y-3`,children:h.map(e=>(0,M.jsx)(`li`,{children:(0,M.jsx)(`a`,{href:e.href,target:`_blank`,rel:`noreferrer`,className:`font-semibold text-primary underline underline-offset-4`,children:e.label})},e.href))})]}):null]}),(0,M.jsx)(`aside`,{className:`order-last hidden self-stretch lg:block`,children:(0,M.jsxs)(`div`,{className:`sticky top-28 border-t border-primary/20 pt-5`,children:[(0,M.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.12em] text-muted-foreground`,children:`In this article`}),(0,M.jsx)(`nav`,{className:`mt-4 border-t border-primary/15`,"aria-label":`Article sections`,children:_.map(e=>(0,M.jsx)(`a`,{href:`#${e.id}`,className:`block border-b border-primary/15 py-3 text-sm leading-5 text-primary/70 transition-colors hover:text-burgundy`,children:e.heading},e.id))})]})})]}),(0,M.jsx)(`section`,{className:`border-y border-primary/15 bg-warm`,children:(0,M.jsxs)(`div`,{className:`mx-auto grid max-w-[1200px] gap-8 px-5 py-14 sm:px-8 md:grid-cols-[10rem_minmax(0,1fr)] md:items-center lg:px-12 lg:py-18`,children:[(0,M.jsx)(`img`,{src:je.url,alt:`Amie Thompson`,className:`aspect-square w-40 object-cover`}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.12em] text-muted-foreground`,children:`About the author`}),(0,M.jsx)(`h2`,{className:`mt-4 font-display text-3xl text-primary`,children:`Amie Thompson`}),(0,M.jsx)(`p`,{className:`mt-4 max-w-3xl text-base leading-8 text-primary/75`,children:Fe}),(0,M.jsxs)(`a`,{href:`/about`,className:`group mt-5 inline-flex items-center gap-2 text-sm font-semibold text-primary underline-offset-4 hover:underline`,children:[`More about Amie `,(0,M.jsx)(Te,{className:`size-4 transition-transform group-hover:translate-x-1`,"aria-hidden":`true`})]})]})]})}),(0,M.jsxs)(`section`,{className:`mx-auto max-w-[1440px] px-5 py-16 sm:px-8 lg:px-12 lg:py-24 xl:px-16`,children:[(0,M.jsxs)(`div`,{className:`flex items-end justify-between gap-6 border-b border-primary/20 pb-7`,children:[(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.12em] text-muted-foreground`,children:`Keep reading`}),(0,M.jsx)(`h2`,{className:`mt-4 font-display text-4xl text-primary sm:text-5xl`,children:`Related articles`})]}),(0,M.jsx)(`a`,{href:`/articles`,className:`hidden text-sm font-semibold text-primary underline-offset-4 hover:underline sm:inline`,children:`View all articles`})]}),(0,M.jsx)(`div`,{className:`grid gap-9 pt-9 md:grid-cols-3`,children:g.slice(0,3).map(e=>(0,M.jsxs)(`article`,{className:`border-b border-primary/15 pb-8`,children:[(0,M.jsx)(`img`,{src:e.image,alt:e.alt,className:`aspect-[4/3] w-full object-cover`}),(0,M.jsxs)(`div`,{className:`mt-5 flex items-center justify-between gap-4 text-xs font-semibold uppercase tracking-[0.1em] text-muted-foreground`,children:[(0,M.jsx)(`span`,{children:e.category}),(0,M.jsxs)(`span`,{children:[e.readingTime,` min read`]})]}),(0,M.jsx)(`h3`,{className:`mt-4 font-display text-2xl leading-tight text-primary`,children:e.title}),(0,M.jsxs)(`a`,{href:e.href,className:`group mt-5 inline-flex items-center gap-2 text-sm font-semibold text-primary underline-offset-4 hover:underline`,children:[`Read article `,(0,M.jsx)(Te,{className:`size-4 transition-transform group-hover:translate-x-1`,"aria-hidden":`true`})]})]},e.href))}),(0,M.jsx)(`a`,{href:`/articles`,className:`mt-10 inline-flex text-sm font-semibold text-primary underline underline-offset-4 sm:hidden`,children:`View all articles`})]})]}),(0,M.jsx)(o,{})]})}var wf=[{key:`ai-before-you-hire`,slug:`how-to-build-business-capability-with-ai-before-you-hire`,title:`How to Use AI to Grow Your Small Business Before You Hire`,seoTitle:`How to Use AI to Grow Your Small Business Before You Hire`,description:`Use AI to handle messaging, copy, and simple systems before your first hire. Build capability, prove demand, then hire for a role you understand.`,subhead:`You can build capability before you build a team. Start with AI, prove demand, and then hire for a role you understand.`,category:`Put AI to Work`,published:`April 4, 2026`,image:{ver
21sion:1,asset_id:`f07c0b49-2dc0-4cb7-bed4-c3b9e38c480f`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/f07c0b49-2dc0-4cb7-bed4-c3b9e38c480f/ai-before-you-hire.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/f07c0b49-2dc0-4cb7-bed4-c3b9e38c480f/ai-before-you-hire.png`,original_filename:`ai-before-you-hire.png`,size:231445,content_type:`image/png`,created_at:`2026-09-27T21:38:53Z`}.url,introHtml:`<p>You're stretched thin, and the obvious fix seems to be hiring someone. There's a better first step. AI can now handle much of the work that used to take several people, like drafting messaging and website copy. Build that capability first and test your offer with customers. Then hire when you know exactly what the role is for.</p><p>More new businesses are working this way. Gusto surveys new business owners every year. In 2024, 47% of new businesses used generative AI, up from 21% the year before (<a href="https://gusto.com/resources/gusto-insights/new-business-formation-report-2025" target="_blank" rel="noreferrer">Gusto, 2025</a>).</p>`,sections:[{id:`why-start-with-ai-before-you-hire`,heading:`Why start with AI before you hire?`,html:`<p>A few years ago, building a business meant building a team first. You needed someone to sell, someone to run operations, and someone to handle admin. Even founders without funding offered equity or lower pay to get people in the room.</p><p>That model created pressure. You made hiring decisions before you knew what would work. When something needed to change, the people you'd hired became part of what you had to manage. New hires also inherit whatever disorder is already there.</p><p>Starting with AI changes the order. You build the systems first, so the people you hire later come in to run something that already works. This approach delays the hiring decision until you have something clear to hire around. The goal is to build a strong foundation before you expand.</p>`},{id:`what-can-ai-handle-before-your-first-hire`,heading:`What can AI handle before your first hire?`,html:`<p>Most people use AI for one-off tasks and move on. It becomes more useful when it's part of how your business runs.</p><p>In my own business, AI is a thought partner. When you work on your own, there's no team to bounce ideas off or review your work. I use AI to sanity-check my ideas and find sources for what I'm writing. I also use it to research before a pitch or presentation.</p><p>Here are four foundations it can help you build.</p><p><strong>Clear messaging.</strong> Your messaging says who you serve, what problem you solve, and why someone should choose you. Most founders put off those answers because they're hard to pin down. AI can help you work through them faster, as long as you bring honest answers to the conversation.</p><p><strong>A defined offer.</strong> Your offer is the specific thing you'll sell, to a specific person, at a specific price, with a clear result. AI can help you shape it and test it before you spend months building around it.</p><p><strong>A basic online presence.</strong> You need a clear website more than a perfect one. AI can help you write copy that's specific to your business and sounds like you.</p><p><strong>Simple systems.</strong> Think about how you'll onboard a client and follow up after a sales call. These processes need to exist more than they need to be complex. AI can help you draft the first version of each one.</p>`},{id:`why-does-strategy-have-to-come-before-ai`,heading:`Why does strategy have to come before AI?`,html:`<p>AI can help you do the work. It can't decide what work is worth doing.</p><p>Before you open a tool, get clear on who your business is for and what problem you solve. Know how the business will make money, too. Without those answers, AI will help you produce a lot of work that points in the wrong direction.</p><p>If you're still working through those, start with <a href="/how-to-know-if-your-business-idea-is-good">how to know if your business idea is good</a>.</p>`},{id:`what-does-building-with-ai-before-hiring-look-like`,heading:`What does building with AI before hiring look like?`,html:`<p>Say you have a business idea and you're ready to move. In the past, you might have found a partner and brought on freelancers. Then you'd spend months building before testing anything.</p><p>Now the process can look like this:</p><ol><li>
21Check that the idea is worth building.</li><li>Use AI to shape your messaging and define your offer.</li><li>Build a simple website with clear, specific copy.</li><li>Test your offer with people who might buy it, before you hire anyone.</li></ol><p>AI doesn't replace the hard thinking. It shortens the distance between deciding something and doing it.</p>`},{id:`when-should-you-hire-your-first-employee`,heading:`When should you hire your first employee?`,html:`<p>Hire when three things are true. You have a specific job for the person to do. You know what success looks like in that role. And you have enough demand to cover the cost.</p><p>Building with AI first helps you get there. By the time you hire, you've done the work yourself, so you can describe the role clearly. The question shifts from "Who do I need right now?" to "What specific function am I hiring for?" That's a better starting point for a first hire, and for <a href="/how-to-make-the-shift-from-operator-to-leader-in-a-small-business">stepping out of doing everything yourself</a>.</p><p>To get more comfortable using AI in your business, download the free <a href="/guides/ai-literacy-guide">AI Literacy Guide</a>.</p>`}],faqs:[{question:`Will AI replace the need to hire?`,answer:`For most small businesses, no. AI lets you delay hiring until you have a clear role and the demand to support it. As your business grows, you'll still need people, and you'll hire them with a better sense of what you need.`,answerHtml:`For most small businesses, no. AI lets you delay hiring until you have a clear role and the demand to support it. As your business grows, you'll still need people, and you'll hire them with a better sense of what you need.`},{question:`Which AI tools should a small business start with?`,answer:`General AI assistants like ChatGPT or Claude cover most early needs, from messaging to process outlines. Start with one tool and learn it well before adding more.`,answerHtml:`General AI assistants like ChatGPT or Claude cover most early needs, from messaging to process outlines. Start with one tool and learn it well before adding more.`},{question:`How do you make AI-written content sound like you?`,answer:`Give it your own material to work from, like your notes and examples of your writing. Then edit the draft yourself and read it out loud. Cut anything you wouldn't say to a client.`,answerHtml:`Give it your own material to work from, like your notes and examples of your writing. Then edit the draft yourself and read it out loud. Cut anything you wouldn't say to a client.`}],schemaFaqs:[{question:`Will AI replace the need to hire?`,answer:`For most small businesses, no. AI lets you delay hiring until you have a clear role and the demand to support it. As your business grows, you'll still need people, and you'll hire them with a better sense of what you need.`},{question:`Which AI tools should a small business start with?`,answer:`General AI assistants like ChatGPT or Claude cover most early needs, from messaging to process outlines. Start with one tool and learn it well before adding more.`},{question:`How do you make AI-written content sound like you?`,answer:`Give it your own material to work from, like your notes and examples of your writing. Then edit the draft yourself and read it out loud. Cut anything you wouldn't say to a client.`}],sources:[{label:`Gusto (2025). "2025 New Business Formation Report." Survey of new U.S. business owners`,href:`https://gusto.com/resources/gusto-insights/new-business-formation-report-2025`}],readingTime:4},{key:`leader`,slug:`how-to-act-like-a-leader-before-you-have-the-title`,title:`How to Act Like a Leader Before You Have the Title`,seoTitle:`How to Act Like a Leader Before You Have the Title`,description:`You don't need a title to lead at work. Here's how to own outcomes, bring solutions, and develop others so your organization sees you as a leader.`,subhead:`Organizations promote people who are already leading. Here's how to start showing up that way in your current role.`,category:`Build Your Business`,published:`March 5, 2026`,image:{ver
21sion:1,asset_id:`af23ba45-38e8-4302-8800-cb3912cc98bb`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/af23ba45-38e8-4302-8800-cb3912cc98bb/how-to-act-like-a-leader.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/af23ba45-38e8-4302-8800-cb3912cc98bb/how-to-act-like-a-leader.png`,original_filename:`how-to-act-like-a-leader.png`,size:279566,content_type:`image/png`,created_at:`2026-09-27T19:57:45Z`}.url,introHtml:`<p>You're good at your job, your judgment is sound, and you're ready for more. Maybe you're waiting for a promotion, or for someone above you to say it's time. You don't need a title to start leading. Leadership shows up in how you handle problems, people, and uncertainty. You can practice all three in the role you have now. In most organizations, the title follows the behavior.</p>`,sections:[{id:`do-you-need-a-title-to-be-a-leader-at-work`,heading:`Do you need a title to be a leader at work?`,html:`<p>No. It's easy to believe leadership gets handed out. Someone with authority notices you're ready, decides you've earned it, and gives you the opportunity. Then you lead.</p><p>In most organizations, it works the other way around. People who act like leaders get recognized as leaders, and the title comes later. Waiting for permission can delay the recognition you're waiting for.</p><p>I've always considered myself a leader, whatever my title was. When I was an employee, I spent a lot of time at work. If I was going to be there that much, I wanted the business to do well. If I saw something going wrong, I said so. If I saw something we weren't doing that could help the business grow, I said that too. They didn't always listen. It still showed I cared about the team and the business, beyond my own job description.</p><p>Titles bring some respect and authority. Good ideas can come from any level, though. It helps to have a solid relationship with your manager and coworkers, so you feel comfortable sharing your perspective.</p><p>Leading without the title doesn't mean overstepping your role or telling people what to do. It means taking ownership of outcomes, even when no one formally assigned that ownership to you.</p>`},{id:`what-does-it-look-like-to-lead-without-the-title`,heading:`What does it look like to lead without the title?`,html:`<p>It shows up in three places.</p><p><strong>How you approach problems.</strong> When you raise an issue, bring your read on what's causing it and what might fix it. That turns a report into a recommendation.</p><p><strong>How you treat people.</strong> Help the people around you get better at their work. Outcomes get built by groups, and leaders act like it.</p><p><strong>How you handle uncertainty.</strong> You rarely get complete information. Leaders move forward thoughtfully with what they have and keep their eye on the outcome.</p><p>Think about the best leader you've worked with. What did they do that others didn't? Now count how many of those things you could do in your current role, starting tomorrow. The number is probably higher than you'd expect.</p>`},{id:`what-behaviors-get-you-noticed-as-a-leader`,heading:`What behaviors get you noticed as a leader?`,html:`<p>Organizations look for certain behaviors when they decide who's ready for more, whether they say so or not. You can start practicing all of them now.</p><ul><li><strong>Owning outcomes.</strong> "I finished my part" is task ownership. "I made sure it got done" is outcome ownership, and people notice the difference.</li><li><strong>Speaking clearly when things are unclear.</strong> When no one knows what to do next, offer a clear view of what matters most. That earns trust quickly.</li><li><strong>Developing others without being asked.</strong> Helping coworkers improve is a leadership behavior at any level. Organizations notice it, even when they don't reward it right away.</li><li><strong>Asking the question that moves things forward.</strong> Look for the question that gets a stuck meeting moving. That's a form of leadership too.</li></ul>`},{id:`how-can-you-start-acting-like-a-leader-in-your-current-role`,heading:`How can you start acting like a leader in your current role?`,html:`<p>Make one decision about how you'll show up, starting with your next meeting.</p><p><strong>Practice one behavior at a time.</strong> Pick the behavior from the list above that would matter most where you work. Maybe it's bringing a solution whenever you raise a problem. Do it consistently for two weeks before you add another.</p><p><strong>Think one level up.</strong> Ask what your team or organization needs, beyond what your job requires. Then look for small ways to contribute within your role.</p><p><strong>Claim an unclaimed problem.</strong> Find a gap no one owns yet, as long as it isn't someone else's work. Bring a point of view on it and follow through. People remember that kind of initiative.</p><p><strong>Start the conversation about your growth.</strong> If you want more, tell the people who can help you get there. Be specific about where you want to go and what you need. Leaders make their direction known. If talking about your own value feels hard, <a href="/how-to-close-the-confidence-gap-in-your-career">closing the career confidence gap</a> is a good place to start.</p><p>The people who move into leadership roles are rarely the ones who felt most ready. They decided to act like leaders before anyone called them one. This week, pick one problem you'd normally report, and bring a proposed solution with it.</p>`}],faqs:[{question:`Won't acting like a leader look like overstepping?`,answer:`Not if you stay within your role. Leading before the title is about how you do your own work: owning outcomes, bringing solutions, and helping others. Taking over someone else's work, or giving orders you don't have authority to give, can backfire.`,answerHtml:`Not if you stay within your role. Leading before the title is about how you do your own work: owning outcomes, bringing solutions, and helping others. Taking over someone else's work, or giving orders you don't have authority to give, can backfire.`},{question:`How do you tell your manager you want to lead?`,answer:`Say it directly, and be specific. Name the kind of responsibility you want, and ask what it would take to get there. Then follow up on what you hear, so your manager sees you acting on it.`,answerHtml:`Say it directly, and be specific. Name the kind of responsibility you want, and ask what it would take to get there. Then follow up on what you hear, so your manager sees you acting on it.`},{question:`What if your company doesn't recognize your leadership?`,answer:`Keep practicing anyway. The habits you build go with you to your next role, wherever it is. Recognition can take time, and it tends to follow a steady pattern of behavior more than any single moment.`,answerHtml:`Keep practicing anyway. The habits you build go with you to your next role, wherever it is. Recognition can take time, and it tends to follow a steady pattern of behavior more than any single moment.`}],schemaFaqs:[{question:`Won't acting like a leader look like overstepping?`,answer:`Not if you stay within your role. Leading before the title is about how you do your own work: owning outcomes, bringing solutions, and helping others. Taking over someone else's work, or giving orders you don't have authority to give, can backfire.`},{question:`How do you tell your manager you want to lead?`,answer:`Say it directly, and be specific. Name the kind of responsibility you want, and ask what it would take to get there. Then follow up on what you hear, so your manager sees you acting on it.`},{question:`What if your company doesn't recognize your leadership?`,answer:`Keep practicing anyway. The habits you build go with you to your next role, wherever it is. Recognition can take time, and it tends to follow a steady pattern of behavior more than any single moment.`}],sources:[],readingTime:4},{key:`build-sales-confidence`,slug:`the-sales-confidence-small-business-owners-are-missing`,title:`How to Build S
21ales Confidence as a Small Business Owner`,seoTitle:`How to Build Sales Confidence as a Small Business Owner`,description:`Sales confidence comes from doing. Here's how small business owners build it through consistent sales conversations and simple practice habits.`,subhead:`Most of the confidence you're waiting for shows up after the conversations. Holding off until you feel sure keeps you stuck.`,category:`Sell with Confidence`,published:`April 23, 2026`,image:{version:1,asset_id:`ef8ded44-bd4d-4a66-928c-c61e3920b098`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/ef8ded44-bd4d-4a66-928c-c61e3920b098/build-sales-confidence.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/ef8ded44-bd4d-4a66-928c-c61e3920b098/build-sales-confidence.png`,original_filename:`build-sales-confidence.png`,size:276288,content_type:`image/png`,created_at:`2026-09-27T21:38:33Z`}.url,introHtml:`<p>If you run a small business, you've probably put off a sales call until you felt more sure of yourself. Sales confidence comes from doing. It grows with every sales conversation you have and learn from. The way to build it is to have more of those conversations on purpose, starting before you feel ready.</p>`,sections:[{id:`where-does-sales-confidence-come-from`,heading:`Where does sales confidence come from?`,html:`<p>Sales confidence comes from familiarity. After enough conversations, you know what prospects tend to ask. You've heard the common objections and answered them before. The next call feels familiar, so you stay calm and think clearly.</p><p>That's what you're seeing when someone looks relaxed on a sales call. They're working from a stack of past conversations. When a prospect asks something unexpected, they're prepared because they've heard a version of it before.</p><p>I've seen this in my own sales conversations. Most business owners have similar problems. It doesn't matter if they've been in business for ten years or one. It doesn't matter if they run a healthcare company, sell consumer products, or consult. Once you've talked with enough people, you start to recognize those problems quickly. Every conversation also gives you a chance to practice your message and the questions you ask. All of that rehearsal adds up to confidence.</p><p>Most advice treats sales confidence as a mindset problem. You're told to believe in yourself or act as if. That advice keeps the whole problem inside your head. It rarely holds up once a prospect asks a hard question.</p>`},{id:`why-does-practice-build-sales-confidence-faster-than-mindset`,heading:`Why does practice build sales confidence faster than mindset work?`,html:`<p>Telling yourself you're good at sales doesn't change how the next call feels. The part of you that gets nervous responds to experience. It relaxes when it has seen the situation before and knows you got through it.</p><p>Research on public speaking shows the same pattern. In a small 2019 study at RMIT University, people gave short speeches to a virtual audience. Their nerves eased across repeated speeches, and the researchers found repetition was the key. A single speech could confirm someone's fear without easing it (<a href="https://doi.org/10.1371/journal.pone.0216288" target="_blank" rel="noreferrer">Takac et al., 2019</a>).</p><p>Think about learning to drive. Your first time on the highway, every merge takes effort. After a few hundred trips, you do it without thinking. Sales conversations follow the same pattern.</p><p>So the owners who book calls when they're still nervous get confident sooner. Each call adds to the experience the feeling depends on.</p>`},{id:`what-are-the-stages-of-building-sales-confidence`,heading:`What are the stages of building sales confidence?`,html:`<p>Sales confidence tends to build in four stages. Knowing where you are helps you see progress before you feel it.</p><p><strong>Stage 1: Unfamiliar.</strong> Every conversation feels high-stakes because each one is new. You spend your energy managing the call and leave tired no matter how it went. Everyone starts here, including the people who look relaxed now.</p><p><strong>Stage 2: Recognizable.</strong> Patterns start to show up. Prospects ask similar questions and raise the same few objections. The calls still take effort, but they stop surprising you.</p><p><strong>Stage 3: Diagnostic.</strong> You start leading the conversation. You know which question to ask next because you've asked it before and seen what it brings out.</p><p><strong>Stage 4: Steady.</strong> One day you realize you didn't get nervous before a call. You run the call and leave with a clear next step, whether or not the prospect buys. One bad call doesn't knock you back, because it's one of dozens.</p><p>You can't skip a stage. People who seem to have skipped one often did the early work somewhere else. A past job talking with customers every day counts.</p>`},{id:`how-do-you-practice-sales-conversations-to-build-confidence`,heading:`How do you practice sales conversations to build confidence?`,html:`<p>Practice builds confidence faster when you do it on purpose. These habits speed it up.</p><p><strong>Set a weekly number.</strong> Decide how many sales conversations you'll have each week and protect that time. I'd start with two. A steady rhythm builds familiarity faster than a busy week followed by a month of nothing.</p><p><strong>Ask the same opening question ten times.</strong> Pick one question and ask it the same way in your next ten calls. Ten different answers will teach you what the question does. After ten, you'll know whether to keep it or change it.</p><p><strong>Review in batches of five.</strong> After your next five sales conversations, write down two things you did well and two things you'd improve next time. Looking across five calls shows you patterns a single call can hide.</p><p><strong>Notice when the dread fades.</strong> Before each call, rate your nerves from one to ten. Keep the ratings so you can see the numbers drop over time.</p>`},{id:`what-if-youre-practicing-and-still-dont-feel-confident`,heading:`What if you're practicing and still don't feel confident?`,html:`<p>Sometimes you're having the calls and looking back at how they went, and the nerves won't ease. When that happens, something else might be in the way. Some nerves come from feeling like you have to put on a show, so you never feel <a href="/the-mindset-shift-that-made-me-comfortable-selling">comfortable selling</a>. Others come from a doubt about your offer. You may question whether your price is fair, or whether prospects need what you do.</p><p>That doubt comes through on the call as hesitation. Work on it alongside the practice. Write down the doubt, then write what your client results s
21ay about it. Keep having the conversations while you do.</p><p>Count how many sales conversations you had last month, and add two next month. If one part of the call keeps giving you trouble, look for it in <a href="/selling-guides">my selling guides</a>.</p>`}],faqs:[{question:`Is sales confidence a personality trait?`,answer:`No. It's a skill that grows with experience, the same way you got good at the rest of your work. Outgoing people can start out unsure too. Everyone builds it through conversations.`,answerHtml:`No. It's a skill that grows with experience, the same way you got good at the rest of your work. Outgoing people can start out unsure too. Everyone builds it through conversations.`},{question:`Do affirmations help with sales confidence?`,answer:`They can help you start a call you'd otherwise put off. The lasting confidence comes from the calls themselves. Pair any mindset work with more sales conversations.`,answerHtml:`They can help you start a call you'd otherwise put off. The lasting confidence comes from the calls themselves. Pair any mindset work with more sales conversations.`},{question:`How many sales conversations does it take to feel confident?`,answer:`There's no fixed number, and everyone gets there at a different point. What gets you there is consistency. Keep having the conversations every week, and the nerves will ease over time.`,answerHtml:`There's no fixed number, and everyone gets there at a different point. What gets you there is consistency. Keep having the conversations every week, and the nerves will ease over time.`},{question:`Why do I still get nervous before sales calls after years in business?`,answer:`Years in business and sales experience are two different counts. Many business owners I speak with get their work through referrals and rarely run a full sales conversation. Long gaps between calls also reset the familiarity. A steady weekly rhythm fixes both.`,answerHtml:`Years in business and sales experience are two different counts. Many business owners I speak with get their work through referrals and rarely run a full sales conversation. Long gaps between calls also reset the familiarity. A steady weekly rhythm fixes both.`}],schemaFaqs:[{question:`Is sales confidence a personality trait?`,answer:`No. It's a skill that grows with experience, the same way you got good at the rest of your work. Outgoing people can start out unsure too. Everyone builds it through conversations.`},{question:`Do affirmations help with sales confidence?`,answer:`They can help you start a call you'd otherwise put off. The lasting confidence comes from the calls themselves. Pair any mindset work with more sales conversations.`},{question:`How many sales conversations does it take to feel confident?`,answer:`There's no fixed number, and everyone gets there at a different point. What gets you there is consistency. Keep having the conversations every week, and the nerves will ease over time.`},{question:`Why do I still get nervous before sales calls after years in business?`,answer:`Years in business and sales experience are two different counts. Many business owners I speak with get their work through referrals and rarely run a full sales conversation. Long gaps between calls also reset the familiarity. A steady weekly rhythm fixes both.`}],sources:[{label:`Takac, M., Collett, J., Blom, K. J., Conduit, R., Rehm, I., and De Foe, A. (2019). "Public speaking anxiety decreases within repeated virtual reality training sessions." PLOS ONE, 14(5)`,href:`https://doi.org/10.1371/journal.pone.0216288`}],readingTime:5},{key:`build-visibility`,slug:`how-to-build-visibility-before-you-feel-ready`,title:`How to Build Visibility Online Before You Feel Ready`,seoTitle:`How to Build Visibility Online Before You Feel Ready`,description:`Build visibility online by starting small: a comment before a post, a post before a stage. Here's how to take the first steps while you're still nervous.`,subhead:`The confidence to post, publish, and speak shows up after you start. Here's how to take the first steps while you're still nervous.`,category:`Build Your Business`,published:`April 26, 2026`,image:{ver
21sion:1,asset_id:`d19339e0-d4e3-4aca-a1ac-5eae95993b1c`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/d19339e0-d4e3-4aca-a1ac-5eae95993b1c/build-visibility.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/d19339e0-d4e3-4aca-a1ac-5eae95993b1c/build-visibility.png`,original_filename:`build-visibility.png`,size:240449,content_type:`image/png`,created_at:`2026-09-27T21:38:25Z`}.url,introHtml:`<p>You have something useful to say, and you keep waiting until you feel ready to say it in public. The fastest way to build visibility is to start with the smallest version of what you're avoiding. A comment comes before a post, and a small group comes before a stage. Pick a date, put one clear point out into the world, and repeat. The confidence builds as you go.</p>`,sections:[{id:`what-does-waiting-to-feel-ready-cost-you`,heading:`What does waiting to feel ready cost you?`,html:`<p>Waiting feels productive because it looks like preparation. You're refining the message. You're getting the brand right. You're almost ready.</p><p>It also protects you from getting it wrong in front of people. If you haven't posted, no one can react badly. The cost of showing up is visible right away. You might phrase something poorly, or people you know might see it and say nothing. The cost of waiting is harder to see, so it's easy to keep paying it.</p><p>That cost adds up. Every month you don't show up is a month of audience you don't build. It's also a month of trust that doesn't develop with the people who would have found your work useful.</p>`},{id:`whats-the-smallest-way-to-start-being-visible`,heading:`What's the smallest way to start being visible?`,html:`<p>Start one step below whatever you're avoiding. The goal of the first move is to create evidence that you can do it. It doesn't need to impress anyone.</p><p>Here's a simple ladder, from lowest stakes to highest:</p><ol><li>Leave a thoughtful comment on someone else's post.</li><li>Share someone else's post with a sentence of your own take.</li><li>Write a short post that makes one point.</li><li>Publish something longer, like an article or a short video.</li><li>Speak to a group, whether that's a podcast, a panel, or a room.</li></ol><p>You don't have to climb in order, and you don't have to rush. Stay on a step until it feels familiar, then move up one.</p>`},{id:`how-do-you-know-when-something-is-good-enough-to-post`,heading:`How do you know when something is good enough to post?`,html:`<p>Waiting until you feel confident enough to publish won't work, because that bar keeps moving. Ask a different question: do I have one clear point that someone would benefit from reading? Most of the time, the answer is yes.</p><p>Then set a do-it date. Pick the day you'll publish, send, or post, and put it on your calendar. Tie the action to a date, and the feeling can catch up later.</p>`},{id:`what-should-you-do-when-a-post-gets-no-response`,heading:`What should you do when a post gets no response?`,html:`<p>Expect it. Early posts often get little engagement, and some people you know will see your work and say nothing. That's normal when you're starting out, and it doesn't mean the post failed.</p><p>When it happens, ask two questions. What did I learn from writing it? What would I change next time? Then post again. Engagement tends to grow with consistency. People need to see you show up more than once before they start responding.</p><p>It also helps to remember who you're writing for. One useful reply from the right person matters more than a pile of likes.</p>`},{id:`how-do-you-keep-showing-up-after-the-first-post`,heading:`How do you keep showing up after the first post?`,html:`<p>Three habits keep you going.</p><p><strong>Repeat in one place.</strong> Pick one channel and keep showing up there. Each time, it gets a little more familiar. The same thing happens with sales calls, and I explain why in <a href="/the-sales-confidence-small-business-owners-are-missing">how to build sales confidence</a>.</p><p>I put this to the test with a 100-day LinkedIn challenge, posting every day for 100 days straight. It taught me more than I expected. The biggest lesson had little to do with content. Slow down and capture what you're learning while you're still in it. By day 100, all that thinking had given me a deep well of ideas. That's what let me revive my presence on other channels, with plenty of directions to explore.</p><p><strong>Stretch a little.</strong> Once a format feels comfortable, try something slightly bigger. Aim for far enough that you stretch, and not so far that you freeze.</p><p><strong>Save the proof.</strong> When your visibility pays off, save it in one place. That could be an unexpected reply or a conversation that started because you spoke up. It could be a connection from a post you almost didn't publish. Your brain will remember the awkward moments on its own. The saved proof gives you something concrete to read when it feels like no one is paying attention.</p><p>The people who build the most visibility over time rarely started with the most confidence. They started the soonest.</p><p>Pick your first step from the ladder above and give it a date this week. For a simple plan to follow, download the free <a href="/guides/the-visibility-starter-kit">Visibility Starter Kit</a>.</p>`}],faqs:[{question:`Do you have to be outgoing to build visibility?`,answer:`No. Many people who are visible online are introverts or simply private by nature. Writing, thoughtful comments, and small groups all count as visibility. Choose the formats that fit how you work, and show up there consistently.`,answerHtml:`No. Many people who are visible online are introverts or simply private by nature. Writing, thoughtful comments, and small groups all count as visibility. Choose the formats that fit how you work, and show up there consistently.`},{question:`How often should you post to build visibility?`,answer:`Pick a rhythm you can keep, in one channel. Consistency matters more than volume. A weekly post for a year does more than daily posts that stop after a month.`,answerHtml:`Pick a rhythm you can keep, in one channel. Consistency matters more than volume. A weekly post for a year does more than daily posts that stop after a month.`},{question:`How does visibility connect to your personal brand?`,answer:`Your brand is what people know you for. Visibility is how they come to know it. You can have a clear point of view, but it only builds a brand when people see it.`,answerHtml:`Your brand is what people know you for. Visibility is how they come to know it. You can have a clear point of view, but it only builds a brand when people see it.`}],schemaFaqs:[{question:`Do you have to be outgoing to build visibility?`,answer:`No. Many people who are visible online are introverts or simply private by nature. Writing, thoughtful comments, and small groups all count as visibility. Choose the formats that fit how you work, and show up there consistently.`},{question:`How often should you post to build visibility?`,answer:`Pick a rhythm you can keep, in one channel. Consistency matters more than volume. A weekly post for a year does more than daily posts that stop after a month.`},{question:`How does visibility connect to your personal brand?`,answer:`Your brand is what people know you for. Visibility is how they come to know it. You can have a clear point of view, but it only builds a brand when people see it.`}],sources:[],readingTime:4},{key:`business-idea-good`,slug:`how-to-know-if-your-business-idea-is-good`,title:`How to Know If Your Business Idea Is Good Before You Build It`,seoTitle:`How to Know If Your Business Idea Is Good Before You Build It`,description:`A business idea is good when people want a problem solved soon and would pay you to solve it. Here's how to check before you build anything.`,subhead:`Excitement about an idea is a starting point. Three questions tell you whether it's worth your time and money.`,category:`Build Your Business`,published:`April 10, 2026`,image:{ver
21sion:1,asset_id:`834f7060-ee68-4fb1-b139-0a16f3e25da6`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/834f7060-ee68-4fb1-b139-0a16f3e25da6/business-idea-good.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/834f7060-ee68-4fb1-b139-0a16f3e25da6/business-idea-good.png`,original_filename:`business-idea-good.png`,size:298489,content_type:`image/png`,created_at:`2026-09-27T21:38:38Z`}.url,introHtml:`<p>You have an idea you can't stop thinking about. Maybe you've sketched it out or picked a name. A business idea is good when enough people have a problem they want solved soon. They also have to be willing to pay you to solve it. You can check all of that before you build anything. The work takes weeks, and it can save you a year.</p>`,sections:[{id:`what-makes-a-business-idea-good`,heading:`What makes a business idea good?`,html:`<p>A good idea sits where your idea and a market need overlap. You bring the idea. The market brings people with a problem they're already trying to fix. To find out whether the two meet, ask three questions about the people you want to serve:</p><ol><li><strong>Would they pay for it?</strong> Plenty of people will say they like an idea. Far fewer will spend money on it. Look for signs they're already spending time or money on the problem.</li><li><strong>Would they pay for it from you?</strong> You need a way to reach these buyers and a reason for them to choose you. A great idea you can't get in front of the right people is hard to turn into a business.</li><li><strong>Would they do it soon?</strong> Urgency matters. A problem people plan to fix "someday" won't carry a new business. A problem they're searching for help with this month will.</li></ol><p>The first question is the easiest to skip. It helps to check whether you're solving a <a href="/how-to-tell-if-your-idea-solves-a-real-problem-or-a-mild-annoyance">problem people need solved or a mild annoyance</a>.</p><p>Demand is also where many startups fail. CB Insights studied 431 venture-backed startups that shut down since 2023. Poor product-market fit was a factor in 43% of them. That means not enough people wanted what they built (<a href="https://www.cbinsights.com/research/report/startup-failure-reasons-top/" target="_blank" rel="noreferrer">CB Insights, 2026</a>). Those companies had funding. A small business has less room for that mistake.</p>`},{id:`what-are-the-signs-your-business-idea-isnt-ready-yet`,heading:`What are the signs your business idea isn't ready yet?`,html:`<p>These four patterns show up often in ideas that need more work before you build.</p><p><strong>You can't name specific people who would pay for it today.</strong> A group like "busy parents" or "small business owners" doesn't count. You need names: people who have the problem and a reason to act on it. In my experience, if you can name ten, you're onto something. Five is enough to justify a small test. Two won't tell you much. Until you can name them, you have a hypothesis, and that's a fine place to start.</p><p><strong>Your advantage is that yours will be better.</strong> Early on, no one knows you exist, so a small quality edge is hard to prove. Ideas worth building tend to have a structural edge. That could be a different customer, pricing model, or way to reach buyers.</p><p><strong>You've only talked to people who like you.</strong> Friends and family want you to succeed, so they'll tell you the idea sounds great. That's encouragement, and it has its place. You also need to hear from people who have the problem and no reason to be nice. Look for skeptics, and for people who tried something similar and stopped.</p><p><strong>Your target market is everyone.</strong> When an idea is for anyone who owns a business or a smartphone, you haven't defined the customer yet. Starting narrow makes early traction possible, because you know exactly who to talk to first.</p>`},{id:`how-can-you-test-a-business-idea-before-you-build-it`,heading:`How can you test a business idea before you build it?`,html:`<p>You can test an idea without a product or months of research. Work through these questions on purpose, including the ones you'd rather skip:</p><ul><li>Is the problem one people need solved, and does it keep coming back?</li><li>
21Can you find and reach the people who have it?</li><li>Is there evidence beyond enthusiasm that they'd pay to solve it?</li><li>Who else is solving it, and where is the gap?</li><li>What would need to be true for this to become a sustainable business?</li></ul><p>The fastest way to answer most of them is to talk to the people who have the problem. <a href="/how-to-have-the-10-conversations-that-validate-a-business-idea">Customer discovery interviews</a> show you how to run those conversations without pitching your idea. A waitlist, a simple landing page, or a pre-sale offer can also show you whether interest turns into action.</p><p>Either way, you end up with a better answer sooner. Sometimes that answer is "keep going." Sometimes it's "change the idea." Both are progress.</p><p>Pick the question above you're least sure about. Then find two people who can help you answer it this week. For a quick read on your idea, take the <a href="/founder-filter">Founder Filter</a>, a free assessment that takes a few minutes.</p>`}],faqs:[{question:`How long does it take to validate a business idea?`,answer:`It depends on how complex your idea is and how many people you can reach. Plan on at least two weeks. You need to find people who have the problem, need it solved now, and would pay for it. Without a large network, finding enough of them takes time. The goal is enough honest information to make your next decision.`,answerHtml:`It depends on how complex your idea is and how many people you can reach. Plan on at least two weeks. You need to find people who have the problem, need it solved now, and would pay for it. Without a large network, finding enough of them takes time. The goal is enough honest information to make your next decision.`},{question:`Can I validate a business idea without a product?`,answer:`Yes, and in most cases that's the right approach. Customer interviews, landing pages, waitlists, and pre-sales all test demand before you build. Building first is one of the most common and costly mistakes I see early-stage founders make.`,answerHtml:`Yes, and in most cases that's the right approach. Customer interviews, landing pages, waitlists, and pre-sales all test demand before you build. Building first is one of the most common and costly mistakes I see early-stage founders make.`},{question:`What if someone is already doing my idea?`,answer:`Competition often means the market exists, which is a good starting point. The question is whether there's a gap you can own. That might be an underserved customer, a different model, or a different way to deliver the result.`,answerHtml:`Competition often means the market exists, which is a good starting point. The question is whether there's a gap you can own. That might be an underserved customer, a different model, or a different way to deliver the result.`},{question:`How do I know if negative feedback means my idea is bad?`,answer:`Weigh it by who it comes from. Feedback that challenges your core assumption deserves serious attention. Feedback from people outside your target customer is worth noting, but it shouldn't decide the outcome. Look for patterns across several conversations before you draw a conclusion.`,answerHtml:`Weigh it by who it comes from. Feedback that challenges your core assumption deserves serious attention. Feedback from people outside your target customer is worth noting, but it shouldn't decide the outcome. Look for patterns across several conversations before you draw a conclusion.`}],schemaFaqs:[{question:`How long does it take to validate a business idea?`,answer:`It depends on how complex your idea is and how many people you can reach. Plan on at least two weeks. You need to find people who have the problem, need it solved now, and would pay for it. Without a large network, finding enough of them takes time. The goal is enough honest information to make your next decision.`},{question:`Can I validate a business idea without a product?`,answer:`Yes, and in most cases that's the right approach. Customer interviews, landing pages, waitlists, and pre-sales all test demand before you build. Building first is one of the most common and costly mistakes I see early-stage founders make.`},{question:`What if someone is already doing my idea?`,answer:`Competition often means the market exists, which is a good starting point. The question is whether there's a gap you can own. That might be an underserved customer, a different model, or a different way to deliver the result.`},{question:`How do I know if negative feedback means my idea is bad?`,answer:`Weigh it by who it comes from. Feedback that challenges your core assumption deserves serious attention. Feedback from people outside your target customer is worth noting, but it shouldn't decide the outcome. Look for patterns across several conversations before you draw a conclusion.`}],sources:[{label:`CB Insights (2026). "The top 9 reasons startups fail." Analysis of 431 venture-backed startups that shut down since 2023`,href:`https://www.cbinsights.com/research/report/startup-failure-reasons-top/`}],readingTime:5},{key:`comfortable-selling`,slug:`the-mindset-shift-that-made-me-comfortable-selling`,title:`How to Get Comfortable Selling: The Mindset Shift That Worked for Me`,seoTitle:`How to Get Comfortable Selling: The Mindset Shift That Worked for Me`,description:`How to get comfortable selling: one mindset shift that makes sales calls easier, plus four moves to practice on your next call.`,subhead:`Selling got easier for me when I changed one thing: where I put my attention during the call.`,category:`Sell with Confidence`,published:`April 30, 2026`,image:{ver
21sion:1,asset_id:`967a3c29-b9b6-4b8b-926f-82aabf4cd45b`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/967a3c29-b9b6-4b8b-926f-82aabf4cd45b/comfortable-selling.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/967a3c29-b9b6-4b8b-926f-82aabf4cd45b/comfortable-selling.png`,original_filename:`comfortable-selling.png`,size:297942,content_type:`image/png`,created_at:`2026-09-27T21:38:22Z`}.url,introHtml:`<p>For years, every sales conversation felt like an act I had to keep up. The change that ended it was small. I moved my attention onto the person across from me and what they were trying to decide, and the strain went with it. If sales calls feel that way for you, the fastest fix is a change in stance, and anyone can make it. On a sales call, your attention belongs on the other person's decision. It helps to first get clear on <a href="/what-sales-is-for-people-who-hate-sales">what sales is</a>.</p>`,sections:[{id:`why-do-sales-calls-feel-uncomfortable-when-youre-good-at-you`,heading:`Why do sales calls feel uncomfortable when you're good at your job?`,html:`<p>For me, the discomfort came from the gap between how I operate and how I thought I had to show up on a sales call. The picture in my head was someone more outgoing and quicker than me. That person asked for things in a way that felt false coming from me. So every call became a small performance. Performing is exhausting, and it doesn't land, because the person across from you can feel it. They can tell when your attention is on yourself. The exhaustion made sense. I was putting on a version of myself the work didn't need. If you're good at what you do and selling still feels bad, look at the stance the call is asking you to take. That's usually the source of the discomfort.</p>`},{id:`what-mindset-shift-makes-selling-comfortable`,heading:`What mindset shift makes selling comfortable?`,html:`<p>I can name the call where it clicked. I was talking with someone whose situation I understood well. About ten minutes in, I noticed the part of my brain that usually ran the act had switched off. I
21was listening to her lay out her problem, raising the questions a colleague would, and saying what I thought. It was the easiest sales call I'd had. She signed at the end, because the conversation had been useful to her.</p><p>That call showed me the shift. You're there to help the other person figure out whether what you do fits what they need. Once that's the job, there's nothing left to perform.</p>`},{id:`what-changes-when-you-stop-performing-on-sales-calls`,heading:`What changes when you stop performing on sales calls?`,html:`<p>A few things changed at once. The calls started to feel like work I was already good at. I listened, diagnosed, and helped someone think through a decision, the same things I did every day in the rest of my job. The shift gave me permission to use them on a sales call too.</p><p>The clients I signed got better, as well. The act had been drawing people who respond to a good show. Once it was gone, the people who signed valued a straight, honest conversation. Those were the people I wanted anyway.</p><p>It also freed up the energy I'd spent on the act, and I put it into the conversation.</p>`},{id:`how-do-you-get-comfortable-on-sales-calls`,heading:`How do you get comfortable on sales calls?`,html:`<p>The practice starts with awareness. A few moves help.</p><p><strong>Notice when your attention swings back to yourself.</strong> The act takes over when you're tracking how you sound or what to say next. When you catch it, move your attention back to what the other person needs.</p><p><strong>Go in with one question for yourself.</strong> What is this person trying to figure out, and what would help them? Once you have an answer, the rest of the call has a job to do. You stop reaching for the act to fill the gap.</p><p><strong>Let silence sit.</strong> The show rushes to fill it. In a good conversation, silence is where the other person thinks. Leave it alone, and they'll fill it with what you need to hear.</p><p><strong>Debrief after each call.</strong> Ask yourself two things. Was I more focused on their situation or on my own performance? Would I have wanted to be on the other side of that call? Those two questions build the habit.</p><p>The next call you have, pick one of these, probably the debrief, and do it.</p>`}],faqs:[{question:`What should I focus on during a sales call?`,answer:`On the other person and what they're trying to decide. When you catch your attention drifting back to how you sound or what to say next, move it back to them.`,answerHtml:`On the other person and what they're trying to decide. When you catch your attention drifting back to how you sound or what to say next, move it back to them.`},{question:`How do I stop overthinking on sales calls?`,answer:`Usually you're watching your own performance too closely to hear the other person. The fix is one question at the top of the call: what is this person trying to figure out? Once you're working on their problem, there's less room in your head for the running commentary about how you're doing.`,answerHtml:`Usually you're watching your own performance too closely to hear the other person. The fix is one question at the top of the call: what is this person trying to figure out? Once you're working on their problem, there's less room in your head for the running commentary about how you're doing.`},{question:`How long does it take to get comfortable?`,answer:`The shift can happen in one conversation. For me, making it stick took a few months of practice. The first sign it's becoming automatic is when you catch yourself mid-call, move your attention back to the other person, and keep going.`,answerHtml:`The shift can happen in one conversation. For me, making it stick took a few months of practice. The first sign it's becoming automatic is when you catch yourself mid-call, move your attention back to the other person, and keep going.`},{question:`Does this work if I'm an introvert?`,answer:`Yes. The shift asks you to listen and diagnose, which plays to strengths many introverts already have. Paying close attention is the job.`,answerHtml:`Yes. The shift asks you to listen and diagnose, which plays to strengths many introverts already have. Paying close attention is the job.`},{question:`How do I go deeper on this?`,answer:`Practice the four moves above and keep debriefing your calls. My selling guides take the sales process one piece at a time. Start with the part that feels hardest.`,answerHtml:`Practice the four moves above and keep debriefing your calls. My selling guides take the sales process one piece at a time. Start with the part that feels hardest.`}],schemaFaqs:[{question:`What should I focus on during a sales call?`,answer:`On the other person and what they're trying to decide. When you catch your attention drifting back to how you sound or what to say next, move it back to them.`},{question:`How do I stop overthinking on sales calls?`,answer:`Usually you're watching your own performance too closely to hear the other person. The fix is one question at the top of the call: what is this person trying to figure out? Once you're working on their problem, there's less room in your head for the running commentary about how you're doing.`},{question:`How long does it take to get comfortable?`,answer:`The shift can happen in one conversation. For me, making it stick took a few months of practice. The first sign it's becoming automatic is when you catch yourself mid-call, move your attention back to the other person, and keep going.`},{question:`Does this work if I'm an introvert?`,answer:`Yes. The shift asks you to listen and diagnose, which plays to strengths many introverts already have. Paying close attention is the job.`},{question:`How do I go deeper on this?`,answer:`Practice the four moves above and keep debriefing your calls. My selling guides take the sales process one piece at a time. Start with the part that feels hardest.`}],sources:[],readingTime:4},{key:`operator-to-leader`,slug:`how-to-make-the-shift-from-operator-to-leader-in-a-small-business`,title:`How to Stop Doing Everything Yourself as a Small Business Owner`,seoTitle:`How to Stop Doing Everything Yourself as a Small Business Owner`,description:`To stop doing everything yourself, hand off one task at a time, ask before you answer, and measure your day by your team's progress. Here's how to start.`,subhead:`If the business can't run without you doing the work, it can only grow as far as your calendar. Here's how to make the shift from operator to leader.`,category:`Build Your Business`,published:`April 20, 2026`,image:{ver
21sion:1,asset_id:`7ea2f235-248b-4b7e-a03c-95fab572962b`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/7ea2f235-248b-4b7e-a03c-95fab572962b/operator-to-leader.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/7ea2f235-248b-4b7e-a03c-95fab572962b/operator-to-leader.png`,original_filename:`operator-to-leader.png`,size:340033,content_type:`image/png`,created_at:`2026-09-27T21:39:08Z`}.url,introHtml:`<p>You started your business because you're good at the work. Clients came to you for it, and you delivered. Now you're doing the client work and fixing every problem. The business can't grow past what you can do yourself. Going from operator to leader means building a business that produces results through other people. It starts with small choices you make every week, like handing off work and asking before you answer.</p>`,sections:[{id:`why-do-small-business-owners-get-stuck-doing-everything-them`,heading:`Why do small business owners get stuck doing everything themselves?`,html:`<p>The skills that built your business are real. You pay attention to detail and you get things done. Those strengths carried the business through its early stage.</p><p>Leading a business asks for something different. Your job becomes helping other people produce results bigger than any one person could produce alone. For an owner who is great at the work, that shift can feel uncomfortable at first.</p><p>Doing it yourself is also faster and more satisfying in the moment. That's the trap. Each task you keep for yourself saves time today and costs you later. Over time, you become the ceiling on your own business.</p><p>I saw this firsthand as CEO of a digital marketing agency. I was doing business development, writing contracts, and running the business. I was also managing every client project myself. There was no time left to find new customers. So I hired someone to be the client's point of contact once a project kicked off. They started part-time and grew into a full-time role. For me, it came down to growth. I couldn't grow the business while I was doing everything else, and handing off project management was the first step.</p><p>Most owners know they should step back. The Alternative Board surveyed business owners in 2016. On average, they spent about 68% of their time working in the business on day-to-day tasks. Only about 32% went to long-term goals and planning (<a href="https://www.prweb.com/releases/new_survey_reveals_how_business_owners_can_better_manage_their_time/prweb13217466.htm" target="_blank" rel="noreferrer">The Alternative Board, 2016</a>). Most of the owners surveyed said they'd rather spend more time on the business.</p>`},{id:`what-changes-when-you-move-from-doing-the-work-to-leading-it`,heading:`What changes when you move from doing the work to leading it?`,html:`<p>Several things shift at once.</p><p><strong>Your time stops being only yours.</strong> As an operator, you could protect long blocks of focused time to do your best work. As a leader, part of your time belongs to your team. Some interruptions are the work now.</p><p><strong>You're measured by what others produce.</strong> You used to judge a day by what you finished. Now some of your best days will be ones where you didn't finish a single task yourself. Your team moved forward, and that's the win.</p><p><strong>You don't have to be the one with the answer.</strong> Operators get rewarded for knowing what to do. Leaders often get better results by asking a good question and letting someone else find the answer. That takes some ego flexibility, and it takes practice.</p><p>This holds whether your team is employees, contractors, or one part-time assistant. The moment your business depends on someone else's work, you're leading.</p>`},{id:`what-habits-do-effective-small-business-leaders-have`,heading:`What habits do effective small business leaders have?`,html:`<p>A few habits show up again and again.</p><ul><li><strong>They fix the cause.</strong> When a problem comes up, they solve it and ask why it happened. Then they change the process so it doesn't come back.</li><li><strong>They invest their time in people.</strong> They spend time on the conversations and training that help others do more.</li><li><strong>They measure growth in their team.</strong> Their scorecard asks whether the team is more capable than it was last quarter.</li></ul><p>Operators are good at a different job. The shift is about choosing, on purpose, to get good at this one.</p>`},{id:`how-do-you-start-making-the-shift-from-operator-to-leader`,heading:`How do you start making the shift from operator to leader?`,html:`<p>The shift happens through small decisions made consistently. Start with these four.</p><p><strong>
21Track your time for two weeks.</strong> Write down where your hours go. How much goes to doing the work, and how much to developing people and planning? The numbers will tell you more than your gut will.</p><p><strong>Hand off one task.</strong> Pick one task you do regularly that someone else could grow from doing. Give them enough context to succeed, then step back. Afterward, talk through how it went.</p><p><strong>Ask before you answer.</strong> When someone brings you a problem, your instinct is probably to solve it. Try asking first: "What have you considered? What do you think we should do?" Each time, you're building their judgment.</p><p><strong>Change what a good day means.</strong> A good day as a leader might be one where a stuck decision got made or someone on your team grew. Adjust your scorecard to match.</p><p>The hardest part is noticing when you slide back into doing because it's familiar. That's the moment to choose the harder thing. Leadership grows in that daily choice.</p><p>To make that choice easier to stick with, download the free <a href="/guides/leadership-is-a-decision">Leadership Is a Decision</a> guide.</p>`}],faqs:[{question:`When should a small business owner start making this shift?`,answer:`As soon as your business depends on someone else's work. That might be your first hire, your first contractor, or the point where your team grows beyond a few people. The longer you wait, the harder it gets, because your habits keep reinforcing the operator pattern.`,answerHtml:`As soon as your business depends on someone else's work. That might be your first hire, your first contractor, or the point where your team grows beyond a few people. The longer you wait, the harder it gets, because your habits keep reinforcing the operator pattern.`},{question:`What if I can't afford to hire anyone yet?`,answer:`You can still start. Contractors, part-time help, and simple systems all let you hand off work before you hire. You can also hand some of it to AI tools. I cover that in how to build business capability with AI before you hire.`,answerHtml:`You can still start. Contractors, part-time help, and simple systems all let you hand off work before you hire. You can also hand some of it to AI tools. I cover that in <a href="/how-to-build-business-capability-with-ai-before-you-hire">how to build business capability with AI before you hire</a>.`},{question:`How do you know if your leadership is working?`,answer:`Look at your team, and set your own output aside for a moment. Can you point to decisions someone else made because you developed them? Can you point to work that improved because of how you led? If so, the shift is happening.`,answerHtml:`Look at your team, and set your own output aside for a moment. Can you point to decisions someone else made because you developed them? Can you point to work that improved because of how you led? If so, the shift is happening.`}],schemaFaqs:[{question:`When should a small business owner start making this shift?`,answer:`As soon as your business depends on someone else's work. That might be your first hire, your first contractor, or the point where your team grows beyond a few people. The longer you wait, the harder it gets, because your habits keep reinforcing the operator pattern.`},{question:`What if I can't afford to hire anyone yet?`,answer:`You can still start. Contractors, part-time help, and simple systems all let you hand off work before you hire. You can also hand some of it to AI tools. I cover that in how to build business capability with AI before you hire.`},{question:`How do you know if your leadership is working?`,answer:`Look at your team, and set your own output aside for a moment. Can you point to decisions someone else made because you developed them? Can you point to work that improved because of how you led? If so, the shift is happening.`}],sources:[],readingTime:5},{key:`personal-brand`,slug:`how-to-build-a-personal-brand-that-is-not-tied-to-your-job-title`,title:`How to Build a Personal Brand That Isn't Tied to Your Job Title`,seoTitle:`How to Build a Personal Brand That Isn't Tied to Your Job Title`,description:`Build a personal brand around the qualities that show up in every role you've had. Titles change. How you think and work goes with you.`,subhead:`Titles change with a layoff, a promotion, or a new business. The qualities people know you for go with you.`,category:`Build Your Business`,published:`March 30, 2026`,image:{ver
21sion:1,asset_id:`4e233ce6-f569-40cf-ae14-06661523bbaf`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/4e233ce6-f569-40cf-ae14-06661523bbaf/personal-brand.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/4e233ce6-f569-40cf-ae14-06661523bbaf/personal-brand.png`,original_filename:`personal-brand.png`,size:273749,content_type:`image/png`,created_at:`2026-09-27T21:38:27Z`}.url,introHtml:`<p>If someone asked what you're known for, would your answer start with your job title? Titles are useful, and they're also temporary. Build your personal brand around the qualities that show up in every role you've had. That means how you think and the kinds of problems you solve well. When your title changes, those qualities go with you, so you never start from zero.</p>`,sections:[{id:`whats-the-difference-between-your-job-title-and-your-persona`,heading:`What's the difference between your job title and your personal brand?`,html:`<p>Your resume tells a specific story. It shows which organizations hired you, what roles you held, and what field you've worked in. Those are credentials, and they describe where you've been.</p><p>Your personal brand is how people experience working with you. It's how you think and what makes you different from the next person with a similar title. That's the part people remember and repeat to others.</p><p>The difference matters when things change. Your ability to bring order to a messy project comes with you when you leave. Your title stays with the job.</p>`},{id:`how-do-you-find-the-qualities-that-make-up-your-personal-bra`,heading:`How do you find the qualities that make up your personal brand?`,html:`<p>Start with what people already say about you. Write down three to five things colleagues, clients, or collaborators consistently say about how you work. Focus on how you work, and set aside what you work on for now.</p><p>You might hear words like these:</p><ul><li>Reliable</li><li>Direct</li><li>Makes everyone feel heard</li><li>Always finds the practical path</li></ul><p>If you're not sure, ask a few people you trust: "How would you describe the way I work?" Their answers tend to overlap around a few qualities. Those qualities are the core of your brand.</p><p>These qualities work in any field. Someone who's good at earning the trust of skeptical people can do that in healthcare, tech, education, or a startup. Someone who makes complicated things clear can apply that almost anywhere. The industry is the current setting.</p><p>My own path shows how this works. I spent 10 years in healthcare and seven in technology, then ran a digital marketing agency as CEO. Now I help small business owners and early-stage founders grow their businesses. The same qualities carried through every one of those roles. I build strong relationships, I look for ways to help people, and I'm dependable. I'm also not afraid of hard work. Those came with me into running my own business full time.</p>`},{id:`how-do-you-talk-about-a-career-change-without-sounding-defen`,heading:`How do you talk about a career change without sounding defensive?`,html:`<p>Many people make career pivots harder than they need to be. They spend their energy explaining how their old experience is relevant to the new direction. That puts them on the defensive from the first sentence.</p><p>Lead with what has stayed the same. Try this shape: "I've always been someone who does Z, and here's how that applies here." You're describing a strength you've shown for years and pointing it at a new problem.</p><p>With a brand built on your qualities, a career change is a new place to use what you already have.</p>`},{id:`how-do-you-build-a-personal-brand-that-doesnt-depend-on-your`,heading:`How do you build a personal brand that doesn't depend on your title?`,html:`<p>A brand that lives inside your job title is fragile. Companies reorganize and layoffs happen. A brand built on how you think and work can survive all of that. Here's how to start.</p><p><strong>Answer "What do you do?" with what you help people accomplish.</strong> Save your title for later in the conversation, or leave it out. Notice how the conversation changes.</p><p><strong>Share your thinking in public.</strong> The most durable personal brands rest on a body of thinking that's clearly yours. Ask yourself what perspective you have that someone with a similar background might not. Then <a href="/how-to-build-visibility-before-you-feel-ready">build visibility</a> by sharing it where the right people will see it.</p><p><strong>
21Let your qualities do the positioning.</strong> When your brand is clear, people can see how it fits a new context. You won't need to explain every step of your path.</p><p>Start with the list. Write down your three to five qualities this week. Use one of them the next time someone asks what you do. For a simple plan to show those qualities online, grab the free <a href="/guides/the-visibility-starter-kit">Visibility Starter Kit</a>.</p>`}],faqs:[{question:`When should you start building a personal brand outside your job?`,answer:`Before you need it. A layoff, a career change, or a move into running your own business can all take your title away quickly. Building your brand while your role is stable means it's ready when things change.`,answerHtml:`Before you need it. A layoff, a career change, or a move into running your own business can all take your title away quickly. Building your brand while your role is stable means it's ready when things change.`},{question:`What's the difference between a personal brand and thought leadership?`,answer:`Your personal brand is how people consistently see the way you work and think. Thought leadership is one way to share that brand in public, through articles and talks about your industry. The brand comes first, and thought leadership reinforces it.`,answerHtml:`Your personal brand is how people consistently see the way you work and think. Thought leadership is one way to share that brand in public, through articles and talks about your industry. The brand comes first, and thought leadership reinforces it.`},{question:`Should your LinkedIn headline include your job title?`,answer:`Lead with who you help and how, and add your title only as context. A headline like "VP of Operations" doesn't tell people who you are or what you do. Say you run a business, and a prospect's project manager looks you up before your pitch. Your headline is one of the first things they see, so make it about the people you help. The exception is a job search, since recruiters often search by title.`,answerHtml:`Lead with who you help and how, and add your title only as context. A headline like "VP of Operations" doesn't tell people who you are or what you do. Say you run a business, and a prospect's project manager looks you up before your pitch. Your headline is one of the first things they see, so make it about the people you help. The exception is a job search, since recruiters often search by title.`}],schemaFaqs:[{question:`When should you start building a personal brand outside your job?`,answer:`Before you need it. A layoff, a career change, or a move into running your own business can all take your title away quickly. Building your brand while your role is stable means it's ready when things change.`},{question:`What's the difference between a personal brand and thought leadership?`,answer:`Your personal brand is how people consistently see the way you work and think. Thought leadership is one way to share that brand in public, through articles and talks about your industry. The brand comes first, and thought leadership reinforces it.`},{question:`Should your LinkedIn headline include your job title?`,answer:`Lead with who you help and how, and add your title only as context. A headline like "VP of Operations" doesn't tell people who you are or what you do. Say you run a business, and a prospect's project manager looks you up before your pitch. Your headline is one of the first things they see, so make it about the people you help. The exception is a job search, since recruiters often search by title.`}],sources:[],readingTime:4},{key:`ready-to-start`,slug:`how-to-tell-if-you-are-ready-to-start-a-business`,title:`How to Tell If You're Ready to Start a Business`,seoTitle:`How to Tell If You're Ready to Start a Business`,description:`You're ready to start a business when you have the skills, a realistic budget, practical support, and at least six months of runway. Here's how to check.`,subhead:`Excitement gets you started. Four practical conditions decide whether you can keep going.`,category:`Build Your Business`,published:`April 5, 2026`,image:{ver
21sion:1,asset_id:`92e7ae65-3314-4403-bbb4-07c609455802`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/92e7ae65-3314-4403-bbb4-07c609455802/ready-to-start.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/92e7ae65-3314-4403-bbb4-07c609455802/ready-to-start.png`,original_filename:`ready-to-start.png`,size:254492,content_type:`image/png`,created_at:`2026-09-27T21:38:50Z`}.url,introHtml:`<p>You have the idea and the energy, and you're ready to go. Enthusiasm is useful at the start, when there's no traction yet to keep you motivated. It won't carry you through the first year on its own. You're ready to start a business when four conditions are in place. You have the skills for the core work and a realistic view of the time and money it takes. You also have practical support and enough personal runway.</p><p>This article is about you, the founder. Whether your idea is worth building is a separate question. It's covered in <a href="/how-to-know-if-your-business-idea-is-good">how to know if your business idea is good</a>.</p>`,sections:[{id:`what-are-the-signs-youre-ready-to-start-a-business`,heading:`What are the signs you're ready to start a business?`,html:`<p>Readiness is a set of conditions you can check. Here are the four that matter most:</p><ol><li><strong>You have the skills to do the core work, or a credible plan to get them.</strong> Most founders check this one first. It's necessary, and it's only the start.</li><li><strong>You know what the business will cost in time and money.</strong> Use a realistic estimate of how long it will take to reach steady revenue, and plan around that.</li><li><strong>You have support that can absorb the ups and downs.</strong> That includes the people at home, a financial advisor, and other founders you can call.</li><li><strong>You've thought honestly about your personal runway.</strong> Know how long you can go without predictable income before the pressure gets too heavy.</li></ol><p>Most founders check the first condition and skip the rest. Skills gaps are the most manageable. You can hire for them, partner for them, or learn fast. Runway is less forgiving.</p>`},{id:`how-much-financial-runway-do-you-need-to-start-a-business`,heading:`How much financial runway do you need to start a business?`,html:`<p>Enough to make decisions based on strategy while revenue builds. In my experience, six months of core expenses is the minimum. That's based on what I've seen and read, and your number may be higher. Six months gives you room to take some risks and try things, knowing your bills and responsibilities are handled.</p><p>Here's why it matters. A founder who runs short on cash starts making decisions under pressure. They price too low because they need money now. They take clients they shouldn't, because they can't afford to wait for the right ones. Each of those choices makes the next year harder.</p><p>The first year is when this pressure hits hardest. Bureau of Labor Statistics data shows how many new businesses don't make it past year one. Of locations opened in 2022, about 21% to 26% closed within a year, depending on the region (<a href="https://www.bls.gov/opub/ted/2024/1-year-survival-rates-for-new-business-establishments-by-year-and-location.htm" target="_blank" rel="noreferrer">Bureau of Labor Statistics, 2024</a>). Runway buys you time to get through that stretch.</p><p>If six months of savings isn't realistic yet, you don't have to wait. You can <a href="/build-your-business/build-while-employed">start your business while you're still employed</a> and let your job fund it while it grows.</p>`},{id:`what-skills-do-you-need-to-run-a-small-business`,heading:`What skills do you need to run a small business?`,html:`<p>When founders list their skills gaps, they tend to name technical or industry knowledge. "I need to learn more about marketing." "I need to understand the regulations better." Those gaps matter. The ones that tend to hurt more are operational:</p><ul><li>Having a hard conversation with an unhappy client</li><li>Managing a contractor who isn't delivering</li><li>Making a hiring decision without all the information</li><li>Holding yourself accountable when no one is watching</li></ul><p>None of these show up in a business plan. All of them show up in the first year.</p><p>Running a business takes different skills from doing the work the business sells. Some founders assume that being good at the work makes them good at running the business. They often hit a wall once the day-to-day complexity outgrows their ability to manage it.</p>`},{id:`what-support-system-does-a-new-business-owner-need`,heading:`What support system does a new business owner need?`,html:`<p>I don't mean emotional support, though that matters too. I mean practical support:</p><ul><li>A partner or family who understands what you're taking on</li><li>An accountant or financial advisor who knows how early-stage businesses work</li><li>A group of other founders who can tell you what they'd do differently</li><li>Ideally, a mentor who has been further down the road than you</li></ul><p>Running a business alone is hard enough. Founders who handle every decision alone tend to burn out faster and make weaker decisions. Capable people aren't immune to that. Outside input gives you perspective you can't get from inside your own business.</p>`},{id:`what-should-you-ask-yourself-before-you-launch`,heading:`What should you ask yourself before you lau
21nch?`,html:`<p>Two questions:</p><ol><li><strong>Have I set up my life to support this business, or am I hoping to fit it into the life I already have?</strong></li><li><strong>Do I know what my first three months look like, week by week?</strong> Knowing what you want to build is different from knowing how you'll spend Monday morning.</li></ol><p>The distance between "I know what I want" and "I know how to get there" is the execution gap. Founders who close it before launch still have a hard road. They have a much clearer picture of what hard looks like when it arrives.</p><p>To check yourself and your idea together, take the <a href="/founder-filter">Founder Filter</a>. Two of its seven filters, Founder Fit and Execution Readiness, look at you and your runway alongside the idea.</p>`}],faqs:[{question:`What's the difference between excitement and readiness?`,answer:`Excitement is the energy that gets you started. Readiness is the foundation that keeps you going once the operational work arrives. Founders who launch on excitement alone often run low on energy before they've built that foundation.`,answerHtml:`Excitement is the energy that gets you started. Readiness is the foundation that keeps you going once the operational work arrives. Founders who launch on excitement alone often run low on energy before they've built that foundation.`},{question:`Can you start a business if you're not fully ready?`,answer:`Yes. Few people feel completely ready. Aim to be prepared enough that when things go sideways, you can respond with a plan. Close your biggest gap first.`,answerHtml:`Yes. Few people feel completely ready. Aim to be prepared enough that when things go sideways, you can respond with a plan. Close your biggest gap first.`},{question:`Do you need a mentor to start a business?`,answer:`You don't need one, but a mentor helps. Someone who has been through the early years can spot problems you won't see yet. A group of peers who are a step or two ahead can play a similar role.`,answerHtml:`You don't need one, but a mentor helps. Someone who has been through the early years can spot problems you won't see yet. A group of peers who are a step or two ahead can play a similar role.`}],schemaFaqs:[{question:`What's the difference between excitement and readiness?`,answer:`Excitement is the energy that gets you started. Readiness is the foundation that keeps you going once the operational work arrives. Founders who launch on excitement alone often run low on energy before they've built that foundation.`},{question:`Can you start a business if you're not fully ready?`,answer:`Yes. Few people feel completely ready. Aim to be prepared enough that when things go sideways, you can respond with a plan. Close your biggest gap first.`},{question:`Do you need a mentor to start a business?`,answer:`You don't need one, but a mentor helps. Someone who has been through the early years can spot problems you won't see yet. A group of peers who are a step or two ahead can play a similar role.`}],sources:[{label:`U.S. Bureau of Labor Statistics (2024). "1-year survival rates for new business establishments by year and location." The Economics Daily, March 4, 2024`,href:`https://www.bls.gov/opub/ted/2024/1-year-survival-rates-for-new-business-establishments-by-year-and-location.htm`}],readingTime:5},{key:`real-problem`,slug:`how-to-tell-if-your-idea-solves-a-real-problem-or-a-mild-annoyance`,title:`How to Tell If Your Idea Solves a Real Problem or a Mild Annoyance`,seoTitle:`How to Tell If Your Idea Solves a Real Problem or a Mild Annoyance`,description:`People pay to fix problems that already cost them time or money. Use the workaround, replacement, and cost tests to check your business idea.`,subhead:`People will pay to fix a problem that's already costing them. They'll live with one that only bugs them.`,category:`Build Your Business`,published:`April 3, 2026`,image:{version:1,asset_id:`f5bd0381-b197-4e6e-be87-a731cc7b24dc`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/f5bd0381-b197-4e6e-be87-a731cc7b24dc/real-problem.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/f5bd0381-b197-4e6e
21-be87-a731cc7b24dc/real-problem.png`,original_filename:`real-problem.png`,size:283092,content_type:`image/png`,created_at:`2026-09-27T21:39:12Z`}.url,introHtml:`<p>You've found a problem, and people agree it's frustrating. The harder question is whether it hurts enough that they'd pay to make it go away. A problem is worth building a business around when it already costs people time or money. They're also trying to fix it. Three tests help you tell the difference early: the workaround test, the replacement test, and the cost test.</p>`,sections:[{id:`how-can-you-tell-if-people-will-pay-to-solve-a-problem`,heading:`How can you tell if people will pay to solve a problem?`,html:`<p>The workaround test checks whether people are already paying for an imperfect fix. It's the most reliable early signal I've found. A workaround gets the job done, but not the best way. People pay for it with money, time, or stress.</p><p>Look for signs like these:</p><ul><li>They hire part-time help to do by hand what software should do.</li><li>They stitch three tools together to do the job of one.</li><li>They keep a spreadsheet no one likes.</li><li>They put up with a broken process and complain about it every week.</li></ul><p>For example, picture a bakery owner who pays a part-time assistant to retype every online order into her register system. The two systems don't connect, so she pays someone to bridge them. That's a workaround. She's already spending money on the problem, which tells you it's worth solving.</p><p>Admin work is a good place to look for workarounds. A 2023 survey asked 251 U.S. business owners how they spend their time. Admin tasks like invoicing and data entry took up 36% of their week on average (<a href="https://www.timeetc.com/resources/how-to-achieve-more/the-big-price-of-small-tasks-how-entrepreneurs-may-be-unwittingly-keeping-their-businesses-small/" target="_blank" rel="noreferrer">Time etc, 2023</a>). With that much time going to admin, many owners are likely patching it together with workarounds.</p><p>When you find workarounds, the problem is costing people something. They haven't found a fix they like yet.</p><p>When no one has tried a workaround, take that as a caution sign. People get resourceful when something is hurting their business. If they haven't tried to fix it, the problem may not hurt as much as you think.</p>`},{id:`how-do-you-tell-a-need-to-have-problem-from-a-nice-to-have`,heading:`How do you tell a need-to-have problem from a nice-to-have?`,html:`<p>The replacement test sorts problems with one question: if your product disappeared tomorrow, would customers scramble to replace it? It's the cleanest way I know to tell need-to-have from nice-to-have.</p><p>Need-to-have products sit on the path to something important, like revenue, operations, compliance, or keeping customers. When they stop w
21orking, something important stops with them.</p><p>Nice-to-have products sit at the edge. People like them and use them, and the business keeps running without them.</p><p>Plenty of nice-to-have businesses are profitable. They tend to be harder to sell, though, and they're often the first line cut when budgets get tight. If you're building one, know that going in and price for it.</p>`},{id:`how-do-you-know-if-a-customers-pain-point-is-big-enough`,heading:`How do you know if a customer's pain point is big enough?`,html:`<p>The cost test asks the people who have the problem one question: "How much time or money does this cost you today?"</p><p>People with a painful problem answer quickly and specifically. They name hours lost each week, a client they almost lost, or a bill they pay every month. If the answer is "hard to say" or "not that much, honestly," you have your answer. The problem isn't hurting enough to drive a purchase.</p><p>You'll also hear the difference in how people talk. Someone with a painful problem brings up examples before you ask for them. <a href="/how-to-have-the-10-conversations-that-validate-a-business-idea">Customer discovery interviews</a> walk through what to listen for.</p><p>A painful problem is one part of <a href="/how-to-know-if-your-business-idea-is-good">knowing whether your business idea is good</a>. The other parts are whether people will pay you, and whether they'll act soon.</p><p>Before you build, ask five people who have the problem what it costs them today. For the full process of evaluating an idea, start with <a href="/build-your-business/evaluate-your-idea">Evaluate Your Idea</a>.</p>`}],faqs:[{question:`What should you do if your idea fails one or two of these tests?`,answer:`Treat it as a sign the idea isn't viable in its current form. Go back to the people who have the problem and keep talking with them. Then revise the idea based on what you learn. The hard part is staying objective. It's easy to fall in love with an idea and keep pushing it after the feedback says otherwise. A failed test tells you what to change.`,answerHtml:`Treat it as a sign the idea isn't viable in its current form. Go back to the people who have the problem and keep talking with them. Then revise the idea based on what you learn. The hard part is staying objective. It's easy to fall in love with an idea and keep pushing it after the feedback says otherwise. A failed test tells you what to change.`},{question:`Should you validate the problem or the solution first?`,answer:`The problem. Many founders build a prototype first and ask for feedback on features. That tells you what people think of your product, and nothing about whether the need is strong enough to buy. A mediocre product for an urgent problem at least has customers.`,answerHtml:`The problem. Many founders build a prototype first and ask for feedback on features. That tells you what people think of your product, and nothing about whether the need is strong enough to buy. A mediocre product for an urgent problem at least has customers.`},{question:`Can a nice-to-have product still be a good business?`,answer:`Yes. Many profitable businesses sell nice-to-have products. Expect a longer sales process and more customers who leave when money is tight. Plan your pricing and marketing around that.`,answerHtml:`Yes. Many profitable businesses sell nice-to-have products. Expect a longer sales process and more customers who leave when money is tight. Plan your pricing and marketing around that.`},{question:`What if people say they have the problem but haven't tried to fix it?`,answer:`Ask what has stopped them. Sometimes they didn't know a fix existed. Other times, the problem isn't costing them enough to act. Their answer tells you which one you're dealing with.`,answerHtml:`Ask what has stopped them. Sometimes they didn't know a fix existed. Other times, the problem isn't costing them enough to act. Their answer tells you which one you're dealing with.`},{question:`How often does a problem need to happen to be worth solving?`,answer:`Often enough that it keeps costing people something. A problem that shows up once a year is easy to live with. One that eats time every week is much harder to ignore.`,answerHtml:`Often enough that it keeps costing people something. A problem that shows up once a year is easy to live with. One that eats time every week is much harder to ignore.`}
21],schemaFaqs:[{question:`What should you do if your idea fails one or two of these tests?`,answer:`Treat it as a sign the idea isn't viable in its current form. Go back to the people who have the problem and keep talking with them. Then revise the idea based on what you learn. The hard part is staying objective. It's easy to fall in love with an idea and keep pushing it after the feedback says otherwise. A failed test tells you what to change.`},{question:`Should you validate the problem or the solution first?`,answer:`The problem. Many founders build a prototype first and ask for feedback on features. That tells you what people think of your product, and nothing about whether the need is strong enough to buy. A mediocre product for an urgent problem at least has customers.`},{question:`Can a nice-to-have product still be a good business?`,answer:`Yes. Many profitable businesses sell nice-to-have products. Expect a longer sales process and more customers who leave when money is tight. Plan your pricing and marketing around that.`},{question:`What if people say they have the problem but haven't tried to fix it?`,answer:`Ask what has stopped them. Sometimes they didn't know a fix existed. Other times, the problem isn't costing them enough to act. Their answer tells you which one you're dealing with.`},{question:`How often does a problem need to happen to be worth solving?`,answer:`Often enough that it keeps costing people something. A problem that shows up once a year is easy to live with. One that eats time every week is much harder to ignore.`}],sources:[{label:`Time etc (2023). "The Big Price of Small Tasks." Survey of 251 U.S. entrepreneurs, conducted by Censuswide, September 22 to 28, 2023. Commissioned by a virtual assistant company`,href:`https://www.timeetc.com/resources/how-to-achieve-more/the-big-price-of-small-tasks-how-entrepreneurs-may-be-unwittingly-keeping-their-businesses-small/`}],readingTime:4},{key:`sales-conversation`,slug:`how-to-have-a-sales-conversation-without-feeling-like-a-salesperson`,title:`How to Have a Sales Conversation Without Feeling Like a Salesperson`,seoTitle:`How to Have a Sales Conversation Without Feeling Like a Salesperson`,description:`Spend most of a sales conversation asking about the other person's situation. Here's how to share a diagnosis and talk about your work without a pitch.`,subhead:`Ask about their situation first, and the part where you talk about your work gets shorter and easier.`,category:`Sell with Confidence`,published:`April 26, 2026`,image:{version:1,asset_id:`d40df433-7df6-4e3e-9d83-bb44e8340b72`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/d40df433-7df6-4e3e-9d83-bb44e8340b72/sales-conversation.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/d40df433-7df6-4e3e-9d83-bb44e8340b72/sales-conversation.png`,original_filename:`sales-conversation.png`,size:327242,content_type:`image/png`,created_at:`2026-09-27T21:38:42Z`}.url,introHtml:`<p>Some people run a sales call by describing their services for forty-five minutes, then waiting for a yes. That yes often doesn't come. A sales conversation works better when you spend most of it asking about the other person's situation. It can feel more natural, too. Talk about your work only after you both agree on the problem. That order turns the call into two professionals working through a decision together.</p>`,sections:[{id:`what-does-a-sales-conversation-look-like-from-start-to-finis`,heading:`What does a sales conversation look like from start to finish?`,html:`<p>Think about the last time you went to the doctor because something hurt. The doctor asked when it started and what you'd tried to ease it. After a few more questions, you got a diagnosis, along with a check that it matched what you were feeling. Then the two of you talked through treatment options and picked one.</p><p>A good sales conversation follows the same order:</p><ol><li><strong>Start with their situation.</strong> Ask a question or two, then let them talk. The first half of the call belongs to them.</li><li><strong>Share your diagnosis.</strong> Sum up what you heard and say what you think is causing the problem. Ask whether that matches what they're experiencing.</li><li><strong>
21Offer options.</strong> Walk through a couple of ways to solve the problem, including how you'd help.</li><li><strong>Agree on a next step.</strong> Ask which option fits what they were hoping for. If one does, set the next step. If none does, tell them and point them somewhere better.</li></ol><p>Real calls won't always be this tidy. People jump ahead or ask about price early. The order is still the right way to think about every sales conversation.</p><p>The second step does more work than it looks like. When you share your diagnosis and they say, "Yes, that's it," you're solving the problem together. The rest of the call gets easier from there.</p><p>Call data backs up this order. Gong analyzed 326,000 recorded sales calls in 2025. Sellers who won deals talked less than sellers who lost them. Lost deals also tended to include long monologues from the seller (<a href="https://www.gong.io/blog/talk-to-listen-conversion-ratio" target="_blank" rel="noreferrer">Gong, 2025</a>).</p>`},{id:`which-questions-should-you-ask-at-the-start-of-a-sales-conve`,heading:`Which questions should you ask at the start of a sales conversation?`,html:`<p>Two questions can carry the first half of the call.</p><p><strong>"What's going on that brought you to this conversation?"</strong> This lets them describe their situation in their own words before you've framed anything. What they tell you is more useful than anything you could prepare ahead of time. You hear what they need, so you don't have to guess.</p><p><strong>"What have you already tried, and how did it go?"</strong> This shows you how pressing the problem is. Someone who has tried a few fixes is often ready to act. Someone who hasn't may still be exploring, which is good to know early. Their answer also tells you what not to recommend, so you don't suggest something that already failed.</p><p>From there, follow what they say. A simple "Tell me more about that" keeps them talking. A few good questions go further than a long list. In the same Gong analysis, sellers who lost deals asked more questions per call than sellers who won.</p><p>Asking before telling is the heart of <a href="/selling-as-service-a-practical-frame-for-non-sales-professionals">selling as service</a>, and these two questions are the easiest way to start.</p>`},{id:`how-do-you-describe-what-you-do-without-sounding-salesy`,heading:`How do you describe what you do without sounding salesy?`,html:`<p>At some point, you'll need to talk about your work. Wait until you understand their problem, then explain your work in terms of that problem.</p><p>The shift that helps most is talking about outcomes. Most people present their offer as a list of what's included: the deliverables, the process, the number of sessions. That list asks the prospect to evaluate you. An outcome describes the transformation, what changes for them once the work is done. It lets them picture their own business with the problem solved.</p><p>Here's an example from my own calls. I could list what I offer: strategy sessions on visibility, sales, and AI. The outcome version sounds like this: "You'll show up consistently where your clients look, sell with confidence, and use AI to take work off your plate." The second one is about their business.</p><p>Outcomes are also easier to say. You're talking about results for someone you've listened to for twenty minutes. The words come from what they told you.</p><p>On your next sales call, open with the first question and let them do most of the early talking. After the call comes follow-up, one of my Six Foundations of Sales Confidence. You can learn how to <a href="/sell-with-confidence/follow-up-effectively">follow up effectively</a> without feeling awkward or annoying.</p>`}],faqs:[{question:`How long should a sales conversation be?`,answer:`My sales conversations run about thirty minutes. That's enough time to understand their situation, agree on the problem, and talk through options. Yours may run longer or shorter, especially while you're newer to sales.`,answerHtml:`My sales conversations run about thirty minutes. That's enough time to understand their situation, agree on the problem, and talk through options. Yours may run longer or shorter, especially while you're newer to sales.`},{question:`What if the prospect doesn't say much?`,answer:`Ask about something specific they mentioned. A question like "What does that look like week to week?" gives them something concrete to answer. If they still hesitate to share, or can't answer basic questions about their business, pay attention. They may not be ready to work with anyone yet. The call is also your chance to decide whether you want to work with them.`,answerHtml:`Ask about something specific they mentioned. A question like "What does that look like week to week?" gives them something concrete to answer. If they still hesitate to share, or can't answer basic questions about their business, pay attention. They may not be ready to work with anyone yet. The call is also your chance to decide whether you want to work with them.`},{question:`Should you record your sales calls?`,answer:`I record and transcribe mine so I can stay fully present without taking notes. I tell people at the start that the recording is only for me. Always ask before you record. Some states require everyone on the call to agree.`,answerHtml:`I record and transcribe mine so I can stay fully present without taking notes. I tell people at the start that the recording is only for me. Always ask before you record. Some states require everyone on the call to agree.`},{question:`What's the difference between a discovery call and a sales conversation?`,answer:`A discovery call is the first part of a sales conversation, where you learn about the prospect's situation. Some businesses hold it as a separate meeting. Many small service businesses cover discovery and next steps in one conversation.`,answerHtml:`A discovery call is the first part of a sales conversation, where you learn about the prospect's situation. Some businesses hold it as a separate meeting. Many small service businesses cover discovery and next steps in one conversation.`}],schemaFaqs:[{question:`How long should a sales conversation be?`,answer:`My sales conversations run about thirty minutes. That's enough time to understand their situation, agree on the problem, and talk through options. Yours may run longer or shorter, especially while you're newer to sales.`},{question:`What if the prospect doesn't say much?`,answer:`Ask about something specific they mentioned. A question like "What does that look like week to week?" gives them something concrete to answer. If they still hesitate to share, or can't answer basic questions about their business, pay attention. They may not be ready to work with anyone yet. The call is also your chance to decide whether you want to work with them.`},{question:`Should you record your sales calls?`,answer:`I record and transcribe mine so I can stay fully present without taking notes. I tell people at the start that the recording is only for me. Always ask before you record. Some states require everyone on the call to agree.`},{question:`What's the difference between a discovery call and a sales conversation?`,answer:`A discovery call is the first part of a sales conversation, where you learn about the prospect's situation. Some businesses hold it as a separate meeting. Many small service businesses cover discovery and next steps in one conversation.`}],sources:[{label:`Gong Labs (2025). "Mastering the talk-to-listen ratio in sales calls." Analysis of 326,000 recorded sales calls`,href:`https://www.gong.io/blog/talk-to-listen-conversion-ratio`}],readingTime:5},{key:`selling-as-service`,slug:`selling-as-service-a-practical-frame-for-non-sales-professionals`,title:`What Is Selling as Service? A Practical Sales Approach for Consultants and Experts`,seoTitle:`What Is Selling as Service? A Practical Sales Approach for Consultants and Experts`,description:`Selling as service means using every sales conversation to help the buyer decide. Learn four practical moves for consultants and experts.`,subhead:`A way of selling that fits people who are good at their work and uneasy about selling it.`,category:`Sell with Confidence`,published:`May 2, 2026`,image:{ver
21sion:1,asset_id:`2e995dda-66a3-4989-8c29-c2fa936ef4a0`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/2e995dda-66a3-4989-8c29-c2fa936ef4a0/selling-as-service.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/2e995dda-66a3-4989-8c29-c2fa936ef4a0/selling-as-service.png`,original_filename:`selling-as-service.png`,size:292853,content_type:`image/png`,created_at:`2026-09-27T21:38:30Z`}.url,introHtml:`<p>Selling as service means using every sales conversation to help someone make a clear decision. You guide the conversation, and the choice stays theirs. It's a form of consultative selling. It fits people who are good at their work but were taught that selling means talking someone into something. Once you sell this way, conversations get easier and the right clients show up more often.</p>`,sections:[{id:`what-makes-a-sales-conversation-feel-like-service`,heading:`What makes a sales conversation feel like service?`,html:`<p>A service conversation works like a diagnosis. You ask what the person is dealing with and what they've already tried. Then you work out together what would move things forward. People can feel when you're working through the problem with them. That feeling carries into this call and every one after it.</p>`},{id:`what-does-selling-as-service-look-like-in-practice`,heading:`What does selling as service look like in practice?`,html:`<p>What the person feels comes down to what you do. Four moves signal service.</p><p><strong>Lead with diagnostic questions.</strong> Spend the first ten minutes understanding their situation before you present anything about yours. Ask what they're trying to solve and what it costs them to leave it unsolved. Their answers tell you whether you can help. Your questions tell them you're paying attention.</p><p><strong>Say no when you're not the fit.</strong> Service includes turning work away. When someone's situation sits outside what you do well, tell them. Something like "I'm not the right fit, and here's who I'd point you to" protects you both. It also tends to send more referrals your way.</p><p><strong>Give value in the conversation itself.</strong> The person should leave with at least one thing they didn't walk in with, whether or not they buy. That might be a sharper way to frame the problem or a question they hadn't considered.</p><p><strong>Let them close themselves.</strong> When the diagnosis was honest and the value landed, people usually talk themselves to the decision. Your job is to confirm what they've decided and name the next concrete step. By the time you reach the close, most of the work is done.</p><p>You won't need to memorize these. Once helping is the job, the conversation does them on its own.</p>`},{id:`does-selling-as-service-bring-in-more-revenue`,heading:`Does selling as service bring in more revenue?`,html:`<p>Yes, especially when the buyer is making a considered decision. That covers professional services, B2B, and most relationship-driven sales. Pressure costs you in those settings. The buyer feels pushed and trust drops. Then the deal stalls or closes badly.</p><p>When you sell as service, the right clients decide faster. The wrong ones opt out early, before either of you has sunk time into a bad match. The clients who sign are better matched, so they tend to stay longer and refer more. You get more of the work you want and waste less effort on people who were never going to fit.</p>`},{id:`what-changes-in-your-business-when-you-sell-this-way`,heading:`What changes in your business when you sell this way?`,html:`<p>Sales conversations stop feeling like something you brace for. You take on the clients you wanted. The work gets more rewarding because you're not managing fit problems that should have been caught up front.</p><p>You also become known for something. The people who went through your process tell others about it. Those referrals arrive already understanding who you're right for. Over time, that becomes a steady source of new business.</p><p>Try the first move on your next sales call. My selling guides cover the moments where this gets hard. That includes handling "I need to think about it" and following up.</p>`}],faqs:[{question:`Is selling as service the same as consultative selling?`,answer:`It's a form of consultative selling. Both start by understanding the buyer's needs before recommending anything. Selling as service adds a few commitments on top of that. You turn away work that doesn't fit. You give value in the conversation whether or not they buy. And you let the buyer make the call.`,answerHtml:`It's a form of consultative selling. Both start by understanding the buyer's needs before recommending anything. Selling as service adds a few commitments on top of that. You turn away work that doesn't fit. You give value in the conversation whether or not they buy. And you let the buyer make the call.`},{question:`Does selling as service mean being too soft to close deals?`,answer:`No. It asks more of you. You ask harder questions and turn away work that doesn't fit. You also name the next step plainly when the conversation is ready. The discipline is honesty: tell the buyer what you see and let them decide.`,answerHtml:`No. It asks more of you. You ask harder questions and turn away work that doesn't fit. You also name the next step plainly when the conversation is ready. The discipline is honesty: tell the buyer what you see and let them decide.`},{question:`How do I start selling as service if I've been doing it differently?`,answer:`Start at the front of the conversation. Spend the first ten minutes asking honest questions about the person's situation. That one change shifts the dynamic, because they feel heard. The rest gets easier once the opening is right.`,answerHtml:`Start at the front of the conversation. Spend the first ten minutes asking honest questions about the person's situation. That one change shifts the dynamic, because they feel heard. The rest gets easier once the opening is right.`},{question:`Who is selling as service for?`,answer:`It's for service-based business owners, consultants, and anyone selling expertise where the buyer has to trust your judgment. For high-volume transactional sales where speed matters more than fit, it's the wrong tool. If trust and fit drive your sale, this approach will feel sustainable.`,answerHtml:`It's for service-based business owners, consultants, and anyone selling expertise where the buyer has to trust your judgment. For high-volume transactional sales where speed matters more than fit, it's the wrong tool. If trust and fit drive your sale, this approach will feel sustainable.`},{question:`How do I get better at consultative selling over time?`,answer:`Practice the four moves. After each conversation, notice which parts felt like service and where you slipped back into pitching. That reflection is where most of the improvement comes from.`,answerHtml:`Practice the four moves. After each conversation, notice which parts felt like service and where you slipped back into pitching. That reflection is where most of the improvement comes from.`}],schemaFaqs:[{question:`Is selling as service the same as consultative selling?`,answer:`It's a form of consultative selling. Both start by understanding the buyer's needs before recommending anything. Selling as service adds a few commitments on top of that. You turn away work that doesn't fit. You give value in the conversation whether or not they buy. And you let the buyer make the call.`},{question:`Does selling as service mean being too soft to close deals?`,answer:`No. It asks more of you. You ask harder questions and turn away work that doesn't fit. You also name the next step plainly when the conversation is ready. The discipline is honesty: tell the buyer what you see and let them decide.`},{question:`How do I start selling as service if I've been doing it differently?`,answer:`Start at the front of the conversation. Spend the first ten minutes asking honest questions about the person's situation. That one change shifts the dynamic, because they feel heard. The rest gets easier once the opening is right.`},{question:`Who is selling as service for?`,answer:`It's for service-based business owners, consultants, and anyone selling expertise where the buyer has to trust your judgment. For high-volume transactional sales where speed matters more than fit, it's the wrong tool. If trust and fit drive your sale, this approach will feel sustainable.`},{question:`How do I get better at consultative selling over time?`,answer:`Practice the four moves. After each conversation, notice which parts felt like service and where you slipped back into pitching. That reflection is where most of the improvement comes from.`}],sources:[],readingTime:4},{key:`ten-conversations`,slug:`how-to-have-the-10-conversations-that-validate-a-business-idea`,title:`How to Validate a Business Idea With 10 Customer Conversations`,seoTitle:`How to Validate a Business Idea With 10 Customer Conversations`,description:`Validate a business idea by interviewing 10 people who have the problem. Here's who to ask, what questions to use, and what to listen for.`,subhead:`Most founders pitch when they should be listening. Here's how to run the conversations that tell you whether an idea is worth building.`,category:`Build Your Business`,published:`March 28, 2026`,image:{ver
21sion:1,asset_id:`eb2107a6-6564-4628-a94b-54094e01b9f3`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/eb2107a6-6564-4628-a94b-54094e01b9f3/ten-conversations.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/eb2107a6-6564-4628-a94b-54094e01b9f3/ten-conversations.png`,original_filename:`ten-conversations.png`,size:347413,content_type:`image/png`,created_at:`2026-09-27T21:38:57Z`}.url,introHtml:`<p>You describe your idea, they nod, and they say it sounds interesting. You leave feeling like you're onto something. That's politeness, and it tells you little. The conversations that validate a business idea sound different. You spend the whole time learning about the other person's problem, and you never mention your idea. Ten of them will show you whether the problem is worth building around.</p><p>These conversations are called customer discovery interviews. Here's how to find the right people, what to ask, and what to do with what you hear.</p>`,sections:[{id:`who-should-you-interview-to-validate-a-business-idea`,heading:`Who should you interview to validate a business idea?`,html:`<p>Interview people who have the problem you want to solve right now, or who had it recently. Someone who dealt with it last week remembers the details. Someone who faced something similar two years ago will give you a fuzzy version.</p><p>Friends, family, and supportive LinkedIn connections are the hardest people to learn from. They like you, so they'll tell you what you want to hear. Look for people who have the problem and no stake in your success.</p>`},{id:`how-do-you-ask-a-stranger-for-a-customer-discovery-interview`,heading:`How do you ask a stranger for a customer discovery interview?`,html:`<p>Keep the ask short and make it about them. Most people will give you twenty minutes to talk about a problem they've lived with. Far fewer will sit through a pitch for someone's business idea.</p><p>Here's a message you can adapt:</p><p>&gt; "I'm researching [the problem area], and I'd love to hear about your experience with it. It would take about twenty minutes, and I won't be pitching anything. Would you be open to a quick call?"</p><p>Leave out what you're building. If someone asks, be honest: "I'm exploring whether there's an opportunity here. I'm early, and right now I'm trying to understand the problem." That answer tends to make people more willing to talk.</p>`},{id:`what-questions-should-you-ask-in-a-customer-discovery-interv`,heading:`What questions should you ask in a customer discovery interview?`,html:`<p>Three questions, asked in roughly this order, get you to the truth. Each one keeps the focus on what the person has experienced, which is where honest answers come from.</p><p><strong>1. "Tell me about your experience with this problem."</strong> Let them describe it in their own words. Pay attention to the language they use. If they describe it the way you would, that's useful. If they describe it differently, that's more useful. Don't correct them or steer them toward your version.</p><p><strong>2. "What have you done about it so far?"</strong> Their past attempts show you how serious the problem is. Someone who has paid for three solutions and still has the problem is ready to act. Someone who plans to look into it someday isn't there yet. You'll also learn who your competition is without asking.</p><p><strong>3. "Have you ever paid for something to fix it?"</strong> This is the most important question, and the one founders are most nervous to ask. People will say they'd pay for something and never follow through. What they've already paid for is a record of what mattered enough to act on.</p><p>If they've never paid for a fix, ask, "What stopped you from looking for something?" The answer is often worth the whole conversation.</p><p>This approach matches the core idea in Rob Fitzpatrick's book <em>The Mom Test</em>. Ask about people's past behavior, and even someone who loves you can't give you a polite, useless answer.</p>`},{id:`what-should-you-avoid-in-a-customer-discovery-interview`,heading:`What should you avoid in a customer discovery interview?`,html:`<p><strong>Pitching.</strong> The moment you describe your solution, the conversation changes. The other person starts being polite about your idea and filtering what they s
21ay to protect your feelings. You lose the honest version of their thinking.</p><p><strong>Hypothetical questions.</strong> "Would you use something that..." and "Would you pay for..." get hypothetical answers. People picture their best selves, the version who would use the app every day, and answer from there. Keep your questions about their past and present.</p><p><strong>Leading questions.</strong> If you have a theory about the problem, keep it out of how you ask. "I imagine that's really frustrating" pushes them toward agreeing. "What has that been like for you?" lets them tell you.</p>`},{id:`what-signals-should-you-listen-for-in-a-customer-interview`,heading:`What signals should you listen for in a customer interview?`,html:`<p>Some of the most useful information comes from how people answer.</p><p><strong>Specific answers mean the problem is urgent.</strong> People with a painful problem have stories ready. They remember moments and numbers: the hours lost, the money spent, the time they almost quit over it. "Yeah, it can be kind of annoying" is what a <a href="/how-to-tell-if-your-idea-solves-a-real-problem-or-a-mild-annoyance">mild annoyance</a> sounds like.</p><p><strong>Pauses can be a good sign.</strong> A pause often means someone is thinking it through. What comes after a pause tends to be more honest than a quick reply.</p><p><strong>Early enthusiasm is weak evidence.</strong> Polite people get excited about ideas. Listen for the moment someone gets specific. "This sounds great" turns into "This would have helped when I dealt with that last year." I've watched founders miss that shift. They were so relieved to hear enthusiasm that they stopped listening to what came next.</p>`},{id:`what-do-you-do-after-your-customer-interviews`,heading:`What do you do after your customer interviews?`,html:`<p>Look for patterns across all ten conversations. Which problem descriptions kept coming up? What had people tried? Who had paid for a fix, and what did they pay for? Where did the people with a painful version of the problem differ from the people who mentioned it in passing?</p><p>Ten honest conversations tend to point you toward one of three outcomes:</p><ul><li><strong>Confirmation.</strong> The problem is painful, people have spent money trying to fix it, and the gap you saw is there. Keep going.</li><li><strong>Recalibration.</strong> The problem exists, but it's milder than you thought or affects a narrower group. Your idea needs more definition.</li><li><strong>Redirection.</strong> What you heard doesn't match the problem you set out to solve. This outcome saves you the most, because you learned it before you built anything.</li></ul><p>Hold what you heard up against your assumptions. Where they match, you have something to build on. Where they don't, you know
21what to rework. Either way, you're working from what people told you, and that's a much better place to decide from.</p><p>Once your interviews are done, run your idea through the <a href="/founder-filter">Founder Filter</a> and see how it holds up against what you heard.</p>`}],faqs:[{question:`How many customer discovery interviews do you need?`,answer:`Ten is a good target. It's enough to see patterns without turning into a full-time research project. By conversation six or seven, you'll start hearing the same things, and that repetition is the signal.`,answerHtml:`Ten is a good target. It's enough to see patterns without turning into a full-time research project. By conversation six or seven, you'll start hearing the same things, and that repetition is the signal.`},{question:`What if you can't find ten people to interview?`,answer:`Treat that as information. People with a painful problem tend to be easy to find. If you're struggling, the market may be smaller than you thought. You might also need to define your customer more clearly.`,answerHtml:`Treat that as information. People with a painful problem tend to be easy to find. If you're struggling, the market may be smaller than you thought. You might also need to define your customer more clearly.`},{question:`Is a customer discovery interview the same as a sales conversation?`,answer:`No. A customer discovery interview happens before you have anything to sell, and the only goal is to understand their problem. In a sales conversation, you're helping someone decide whether to work with you.`,answerHtml:`No. A customer discovery interview happens before you have anything to sell, and the only goal is to understand their problem. In a <a href="/how-to-have-a-sales-conversation-without-feeling-like-a-salesperson">sales conversation</a>, you're helping someone decide whether to work with you.`},{question:`Should you record customer discovery interviews?`,answer:`If the person agrees, yes. A recording lets you focus on listening during the call. If you'd rather take notes, capture what you hear and save the analysis for later.`,answerHtml:`If the person agrees, yes. A recording lets you focus on listening during the call. If you'd rather take notes, capture what you hear and save the analysis for later.`}],schemaFaqs:[{question:`How many customer discovery interviews do you need?`,answer:`Ten is a good target. It's enough to see patterns without turning into a full-time research project. By conversation six or seven, you'll start hearing the same things, and that repetition is the signal.`},{question:`What if you can't find ten people to interview?`,answer:`Treat that as information. People with a painful problem tend to be easy to find. If you're struggling, the market may be smaller than you thought. You might also need to define your customer more clearly.`},{question:`Is a customer discovery interview the same as a sales conversation?`,answer:`No. A customer discovery interview happens before you have anything to sell, and the only goal is to understand their problem. In a sales conversation, you're helping someone decide whether to work with you.`},{question:`Should you record customer discovery interviews?`,answer:`If the person agrees, yes. A recording lets you focus on listening during the call. If you'd rather take notes, capture what you hear and save the analysis for later.`}],sources:[],readingTime:6},{key:`use-your-job`,slug:`how-to-use-your-job-to-fund-the-business-you-are-building`,title:`How to Start a Business While Working Full Time`,seoTitle:`How to Start a Business While Working Full Time`,description:`You can start a business while working full time. Treat your job as your first investor, and keep it until people are paying for what you build.`,subhead:`Treat your job as your first investor. Used on purpose, it funds your runway, builds your skills, and connects you to your first clients.`,category:`Build Your Business`,published:`April 11, 2026`,image:{version:1,asset_id:`ded7bf91-7290-439c-9beb-5b605b516855`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/ded7bf91-7290-439c-9beb-5b605b516855/use-your-job.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/ded7bf91-7290-439c-9beb-5b605b516855/use-your-job.png`,original_filename:`use-your-job.png`,size:283778,content_type:`image/png`,created_at:`2026-09-27T21:39:04Z`}.url,introHtml:`<p>You want to build something of your own, and you still have a job. That job can be the first investor in your business. Your salary funds your runway, and
21your work builds skills you'll use later. Your network can lead you to your first clients. Stay employed on purpose, with a plan for what the job gives you and how you'll use it.</p><p>Plenty of founders start this way. Gusto surveys new U.S. business owners every year. In 2024, 35% of new businesses began as side hustles (<a href="https://gusto.com/resources/gusto-insights/new-business-formation-report-2025" target="_blank" rel="noreferrer">Gusto, 2025</a>).</p>`,sections:[{id:`what-does-it-mean-to-treat-your-job-as-your-first-investor`,heading:`What does it mean to treat your job as your first investor?`,html:`<p>An investor gives you money and time to figure things out before you have to bet everything on one outcome. A good investor also opens doors and lends you credibility. A job can do all of that in the background while you do good work. I cover the full approach on my <a href="/build-your-business/build-while-employed">Building While Employed</a> page.</p><p>Most people choose jobs based on salary and title. That's a reasonable way to pick a job. It leaves out the bigger question: what is this job giving you to build with?</p><p>I've been a restless employee. I had been an entrepreneur and done the side hustles, and I knew what I was building toward. I was tempted to quit out of frustration. I chose to be excellent at my job and strategic about what I built with the resources it gave me. The salary became investment capital. The schedule became a container I could build inside of. That didn't make every day easier, but it gave every day a purpose.</p>`},{id:`how-do-you-know-if-your-job-is-helping-you-build-a-business`,heading:`How do you know if your job is helping you build a business?`,html:`<p>A job that's working for you does three things. If yours isn't doing all three, pay attention.</p><p><strong>It gives you enough time and energy.</strong> You don't need unlimited time. You need enough evenings, and enough energy after work, to think clearly and build. A job that drains you to zero every night is taking more than it gives.</p><p><strong>It pays you enough to save.</strong> You can't build a business on a paycheck that's gone by the 10th of the month. Without some financial margin, you'll make decisions out of pressure. You'll say yes to things that set you back and skip investments that could move you forward.</p><p><strong>It leaves room for your ambition.</strong> The most expensive jobs want all of you: your creativity, your identity, your Saturday mornings, your best ideas. A job that's working for you doesn't punish you for having a plan beyond your current role.</p><p>If your job fails all three, treat that as a problem to solve on purpose, and soon.</p>`},{id:`should-you-quit-your-job-to-start-a-business`,heading:`Should you quit your job to start a business?`,html:`<p>Not until you have evidence that people will pay for what you're building. That means paying customers, or at least strong signals from the people you want to serve. Excitement alone isn't enough.</p><p>Some of the smartest founder moves I've seen started with someone keeping their job on purpose. They used their salary to fund their first product. They built the habit of shipping work before the rest of the world woke up. They used their professional network to land their first three clients before they left.</p><p>The founders who struggle most often left a paycheck too early. They didn't have a single paying customer or any sign the idea would work. Then they spent the next year making decisions from a place of scarcity.</p><p>Not sure your idea has that evidence yet? Start by testing <a href="/how-to-know-if-your-business-idea-is-good">whether your business idea is good</a>. When you're ready to leave, you'll want runway for the first stretch. My rule of thumb is at least six months of core expenses. I explain why in <a href="/how-to-tell-if-you-are-ready-to-start-a-business">how to tell if you're ready to start a business</a>.</p>`},{id:`what-should-you-ask-before-accepting-a-job-offer`,heading:`What should you ask before accepting a job offer?`,html:`<p>Most people walk into an interview asking whether they can do the job and whether the salary is fair. Those questions matter. If you're building something on the side, add one more: how does this job serve the life I'm designing?</p><p>Run any offer through these four questions before you say yes:</p><ol><li>Does it pay enough to invest in my business, beyond covering my bills?</li><li>Does it give me the time and flexibility to do the work I care about outside of it?</li><li>Does it build skills I'll use when I work for myself?</li><li>Does it put me near people, conversations, and problems that move my plans forward?</li></ol><p>If the honest answer to all four is no, the salary isn't the issue. The job is the wrong fit for what you're building.</p>`},{id:`does-this-approach-still-apply-once-you-work-for-yourself`,heading:`Does this approach still apply once you work for yourself?`,html:`<p>Yes. In 2026, I chose to bet on myself fully. I'm no longer anyone's employee. I hold titles with some of the companies I work with, and they're my clients.</p><p>The first-investor idea still shapes every decision I make. I'm selective about which clients I say yes to, because I can't afford not to be. Every engagement has to serve where my business is headed over the next 12 to 24 months. The clients I work with give me flexibility and pay me well. They also leave me the bandwidth to grow what I'm building.</p><p>Whether you're employed or self-employed, the question is the same: is this work building the future I want?</p><p>If you're at a crossroads about your next move, download the free <a href="/guides/career-clarity-guide">
21Career Clarity Guide</a>. It walks you through the questions to answer before you decide.</p>`}],faqs:[{question:`Can I build a business while employed without violating my employment agreement?`,answer:`Often, yes, but read your agreement first. Look for clauses about outside work, non-competes, and who owns what you create. Keep your business work off company time and company equipment. If anything is unclear, ask an employment attorney before you launch.`,answerHtml:`Often, yes, but read your agreement first. Look for clauses about outside work, non-competes, and who owns what you create. Keep your business work off company time and company equipment. If anything is unclear, ask an employment attorney before you launch.`},{question:`How do I find my first clients while I still have a job?`,answer:`Start with your professional network. The people who already know your work are the easiest first clients to reach. Tell them what you're building, and ask who they know with the problem you solve.`,answerHtml:`Start with your professional network. The people who already know your work are the easiest first clients to reach. Tell them what you're building, and ask who they know with the problem you solve.`},{question:`What if my job leaves no time or energy to build?`,answer:`Treat that as a structural problem. Look at what you can change first: your hours, your role, or how you protect your evenings. If none of that moves, a different job may be the smartest step toward your business.`,answerHtml:`Treat that as a structural problem. Look at what you can change first: your hours, your role, or how you protect your evenings. If none of that moves, a different job may be the smartest step toward your business.`}],schemaFaqs:[{question:`Can I build a business while employed without violating my employment agreement?`,answer:`Often, yes, but read your agreement first. Look for clauses about outside work, non-competes, and who owns what you create. Keep your business work off company time and company equipment. If anything is unclear, ask an employment attorney before you launch.`},{question:`How do I find my first clients while I still have a job?`,answer:`Start with your professional network. The people who already know your work are the easiest first clients to reach. Tell them what you're building, and ask who they know with the problem you solve.`},{question:`What if my job leaves no time or energy to build?`,answer:`Treat that as a structural problem. Look at what you can change first: your hours, your role, or how you protect your evenings. If none of that moves, a different job may be the smartest step toward your business.`}],sources:[{label:`Gusto (2025). "2025 New Business Formation Report." Survey of new U.S. business owners`,href:`https://gusto.com/resources/gusto-insights/new-business-formation-report-2025`}],readingTime:5},{key:`what-sales-is`,slug:`what-sales-is-for-people-who-hate-sales`,title:`What Is Sales? A Plain Definition for People Who Hate Selling`,seoTitle:`What Is Sales? A Plain Definition for People Who Hate Selling`,description:`Sales is a conversation about fit. A plain definition of what sales is for people who hate selling, plus how to start without the pressure.`,subhead:`When people say they hate sales, they're usually picturing manipulation, performance, or pressure. Here's what sales is at its core.`,category:`Sell with Confidence`,published:`April 28, 2026`,image:{version:1,asset_id:`efadc44e-3d72-4afa-a455-526c47d977f6`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/efadc44e-3d72-4afa-a455-526c47d977f6/what-sales-is.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/efadc44e-3d72-4afa-a455-526c47d977f6/what-sales-is.png`,original_filename:`what-sales-is.png`,size:248478,content_type:`image/png`,created_at:`2026-09-27T21:39:01Z`}.url,introHtml:`<p>I avoided selling for years. The version I'd seen was pushy and performed, and I wanted no part of it. If you feel the same way, that reaction makes sense. At its core, sales is a conversation about fit. Once you see it that way, most of the discomfort goes away.</p>`,sections:[{id:`why-do-so-many-people-hate-sales`,heading:`Why do so many people hate sales?`,html:`<p>Most people who hate sales are reacting to one of three things.</p><p>The first is manipulation. That's fake urgency and a friendly act that hides whose interests come first. It's what selling looks like when someone cares more about the close than the client.</p><p>The second is performance. That's the high-energy, always-smiling version of a person that some sales teams expect. It wears out anyone whose natural setting is calmer. It's a costume, and you can take it off.</p><p>The third is pressure. That's the discomfort of asking someone for money or a decision. Most of it comes down to who's asking and how. Done well, asking for a decision feels like naming the next step.</p><p>All three show up when the person selling forgets what the conversation is for.</p>`},{id:`what-is-sales-at-its-core`,heading:`What is sales at its core?`,html:`<p>
21Sales is the conversation where two people work out whether what one of them offers fits what the other needs. One person has learned to solve a certain kind of problem. The other has that problem and wants it gone. The conversation is how they find out whether they match. Techniques and scripts get layered on top of that.</p>`},{id:`why-does-every-business-need-sales`,heading:`Why does every business need sales?`,html:`<p>Without that conversation, people with problems find the people who can solve them only by luck. The plumber never makes it to your house. The consultant who could close your gap never gets the call. Sales is how a need and a solution find each other. Emails, calls, meetings, and networking are all part of it, even when nobody calls it selling. When you avoid selling, your work sits unused, and the people it could help stay stuck.</p>`},{id:`what-changes-when-you-understand-what-sales-is`,heading:`What changes when you understand what sales is?`,html:`<p>Once the definition clicks, sales becomes a normal part of your work. You show up as yourself, and the conversation goes better for it. Asking someone whether you should work together starts to feel like a professional move. The conversations you were dodging turn out to be ones you hadn't learned to have yet. Avoiding them was costing you clients and credibility. That cost stops once you start having them.</p><p>Pick one sales conversation you've been putting off and schedule it this week. If a specific moment still trips you up, <a href="/selling-guides">my selling guides</a> break it down step by step.</p>`}],faqs:[{question:`What is sales?`,answer:`Sales is a fit-finding conversation. One person has a problem, another can solve it, and together they decide whether it's a match. It's how the right help reaches the right person.`,answerHtml:`Sales is a fit-finding conversation. One person has a problem, another can solve it, and together they decide whether it's a match. It's how the right help reaches the right person.`},{question:`Is sales the same as manipulation?`,answer:`No. Sales is two people deciding whether they should work together. Manipulation is one person pushing a decision regardless of fit.`,answerHtml:`No. Sales is two people deciding whether they should work together. Manipulation is one person pushing a decision regardless of fit.`},{question:`How do I sell if I hate sales?`,answer:`Start with an honest conversation about whether what you do solves a problem someone has. That's the core skill. You can leave the performance and the pressure out of it. For a practical way to run those conversations, see What Is Selling as Service?`,answerHtml:`Start with an honest conversation about whether what you do solves a problem someone has. That's the core skill. You can leave the performance and the pressure out of it. For a practical way to run those conversations, see <a href="/selling-as-service-a-practical-frame-for-non-sales-professionals">What Is Selling as Service?</a>`},{question:`Do you need sales training to sell your services?`,answer:`Training helps, and you can begin without it. If you can ask good questions and explain plainly how you help, you're ready to start. The rest improves with practice.`,answerHtml:`Training helps, and you can begin without it. If you can ask good questions and explain plainly how you help, you're ready to start. The rest improves with practice.`}],schemaFaqs:[{question:`What is sales?`,answer:`Sales is a fit-finding conversation. One person has a problem, another can solve it, and together they decide whether it's a match. It's how the right help reaches the right person.`},{question:`Is sales the same as manipulation?`,answer:`No. Sales is two people deciding whether they should work together. Manipulation is one person pushing a decision regardless of fit.`},{question:`How do I sell if I hate sales?`,answer:`Start with an honest conversation about whether what you do solves a problem someone has. That's the core skill. You can leave the performance and the pressure out of it. For a practical way to run those conversations, see What Is Selling as Service?`},{question:`Do you need sales training to sell your services?`,answer:`Training helps, and you can begin without it. If you can ask good questions and explain plainly how y
21ou help, you're ready to start. The rest improves with practice.`}],sources:[],readingTime:3},{key:`why-sales-feels-hard`,slug:`why-sales-feels-hard-for-small-business-owners`,title:`Why Sales Feels Hard for Small Business Owners`,seoTitle:`Why Sales Feels Hard for Small Business Owners`,description:`Sales usually feels hard because one of six skills needs work. Match what keeps going wrong in your sales conversations to the skill that fixes it.`,subhead:`It's easy to spend months working on the wrong part of selling. Match what keeps going wrong to the skill that fixes it.`,category:`Sell with Confidence`,published:``,image:{version:1,asset_id:`73d2ef40-316b-4ca2-907a-838d11e06a94`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/73d2ef40-316b-4ca2-907a-838d11e06a94/why-sales-feels-hard.jpg`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/73d2ef40-316b-4ca2-907a-838d11e06a94/why-sales-feels-hard.jpg`,original_filename:`why-sales-feels-hard.jpg`,size:180051,content_type:`image/jpeg`,created_at:`2026-09-27T21:39:16Z`}.url,introHtml:`<p>Ask ten small business owners why selling feels hard, and you'll get ten answers. One hates feeling pushy. Another gets plenty of calls but few clients. A third has great conversations that never turn into a yes. Sales usually feels hard because one of six sales skills needs work. Once you name yours, you'll know what to practice next.</p><p>I hear the same patterns every week in my conversations with owners. That's why I built the Six Foundations of Sales Confidenceâ¢. Six Foundations of Sales Confidence breaks selling into six learnable skills you can build one at a time.</p>`,sections:[{id:`what-sales-skills-do-small-business-owners-need`,heading:`What sales skills do small business owners need?`,html:`<p>Six skills cover most of what selling asks of you. They're Sales Mindset, Ideal Client Fit, Value Clarity, Discovery Skills, Offer Execution, and Sales Growth Habits. You may be strong in several already. Research backs up the idea that selling is a set of skills. A review of 35 studies looked at more than 3,800 salespeople. It found almost no link between extraversion and sales performance (<a href="https://journals.sagepub.com/doi/abs/10.1177/0956797612463706" target="_blank" rel="noreferrer">Grant, 2013</a>). How outgoing you are says little about how well you'll sell. The <a href="/frameworks/six-foundations-sales-confidence">Six Foundations of Sales Confidence framework</a> explains how they fit together. This article helps you find the one that needs your attention.</p>`},{id:`why-arent-my-sales-conversations-turning-into-clients`,heading:`Why aren't my sales conversations turning into clients?`,html:`<p>Start with what keeps happening. Then find it in this table.</p><p>| What keeps happening | Skill to work on | |---|---| | You put off sales conversations because selling feels pushy or fake | Sales Mindset | | You talk to plenty of prospects, but few are a good fit | Ideal Client Fit | | People nod politely when you explain what you do, then don't follow up | Value Clarity | | You pitch before you understand the problem, or calls wander | Discovery Skills | | Good conversations end without a next step, or stall at price | Offer Execution | | Every month starts from zero, and sales feel like a grind | Sales Growth Habits |</p><p>If two rows sound familiar, start with the one higher on the list. Sales problems often start earlier than where they show up. Fixing an earlier skill tends to make the later ones easier.</p>`},{id:`how-can-small-business-owners-improve-their-sales-skills`,heading:`How can small business owners improve their sales skills?`,html:`<h3>When selling feels pushy (Sales Mindset)</h3><p>How you think about selling shapes how you show up. If you picture sales as convincing people, you'll undercut yourself before the call starts. A stronger mindset treats selling as finding out whether you're the right person to help. <strong>Try this:</strong> Before your next call, write down the question you're there to answer. C
21an I help this person?</p><h3>When prospects aren't a good fit (Ideal Client Fit)</h3><p>Knowing who you serve best tells you where to put your energy. When this skill is weak, your calendar fills with people who won't buy or who drain your time. <strong>Try this:</strong> Write down what your three best clients had in common. Use that list to decide who gets a sales call.</p><h3>When people don't understand what you do (Value Clarity)</h3><p>Most small business owners can describe what they deliver. Fewer can explain what changes for the client. When value clarity is strong, the right people understand quickly why they should talk to you. It also shapes your proposals and how you talk about price. <strong>Try this:</strong> Finish the sentence "After working with me, my clients can..." and use the answer when you introduce yourself.</p><h3>When sales calls wander (Discovery Skills)</h3><p>Clients often describe symptoms. Discovery is how you find the problem underneath. It means asking thoughtful questions, listening carefully, and holding the pitch until you understand the need. <strong>Try this:</strong> On your next call, ask at least two follow-up questions before you describe your offer.</p><h3>When conversations end without a decision (Offer Execution)</h3><p>This covers everything between a good conversation and a decision. You present your recommendation, talk about price, answer concerns, and name the next step. Deals can slip away here. The fit was there and the client was interested, but no one said what happens next. <strong>Try this:</strong> End every sales call by agreeing on a next step and a date.</p><h3>When every month starts from zero (Sales Growth Habits)</h3><p>Habits are what make confidence last. That includes tracking your conversations, looking back at what worked, and following up on a schedule. Without them, each good conversation stands alone, and the next one starts from scratch. <strong>Try this:</strong> After your next five sales conversations, note two things you did well and two you'd improve.</p>`},{id:`which-sales-skill-should-you-work-on-first`,heading:`Which sales skill should you work on first?`,html:`<p>Pick the one behind the problem you keep repeating, and practice it until you see a change. Then move to the next. Working on all six at once spreads your practice too thin to notice progress.</p><p>If you're not sure which one fits, the <a href="/sales-confidence-assessment" target="_blank" rel="noreferrer">Sales Confidence Assessment</a> scores all six in about four minutes. It's free, and your results show your strongest skill and where to focus first.</p>`}],faqs:[{question:`Can one sales problem involve more than one skill?`,answer:`Yes. A stalled deal might start with weak discovery and end with no clear next step. Work on the earlier skill first. Fixing it often makes the later problem smaller.`,answerHtml:`Yes. A stalled deal might start with weak discovery and end with no clear next step. Work on the earlier skill first. Fixing it often makes the later problem smaller.`},{question:`What's the difference between Ideal Client Fit and Discovery Skills?`,answer:`Ideal Client Fit is deciding who's worth a conversation before it happens. Discovery Skills is learning what a prospect needs during the conversation. Fit shapes who's on your calendar. Discovery shapes what you recommend.`,answerHtml:`Ideal Client Fit is deciding who's worth a conversation before it happens. Discovery Skills is learning what a prospect needs during the conversation. Fit shapes who's on your calendar. Discovery shapes what you recommend.`},{question:`How long does it take to get better at sales?`,answer:`It depends on the skill and how often you're having sales conversations. A mindset shift can happen in a single conversation. Discovery and offer execution take more practice. Looking back after each conversation speeds up all six.`,answerHtml:`It depends on the skill and how often you're having sales conversations. A mindset shift can happen in a single conversation. Discovery and offer execution take more practice. Looking back after each conversation speeds up all six.`}],schemaFaqs:[{question:`Can one sales problem involve more than one skill?`,answer:`Yes. A stalled deal might start with weak discovery and end with no clear next step. Work on the earlier skill first. Fixing it often makes the later problem smaller.`},{question:`What's the difference between Ideal Client Fit and Discovery Skills?`,answer:`Ideal Client Fit is deciding who's worth a conversation before it happens. Discovery Skills is learning what a prospect needs during the conversation. Fit shapes who's on your calendar. Discovery shapes what you recommend.`},{question:`How long does it take to get better at sales?`,answer:`It depends on the skill and how often you're having sales conversations. A mindset shift can happen in a single conversation. Discovery and offer execution take more practice. Looking back after each conversation speeds up all six.`}],sources:[{label:`Grant, A. M. (2013). "Rethinking the extraverted sales ideal: The ambivert advantage." Psychological Science, 24(6). The 35-study figure is from the meta-analysis Grant reviews (Barrick, Mount, and Judge, 2001)`,href:`https://journals.sagepub.com/doi/abs/10.1177/0956797612463706`}],readingTime:5},{key:`career-confidence-gap`,slug:`how-to-close-the-confidence-gap-in-your-career`,title:`The Career Confidence Gap: Why Capable Professionals Undersell Their Value`,seoTitle:`The Career Confidence Gap: Why Capable Professionals Undersell Their Value`,description:`Capable professionals often undersell their value. Learn what causes the career confidence gap and four steps to start closing it this week.`,subhead:`Skilled people often underestimate what they bring, and it costs them opportunities they've earned.`,category:`Build Your Business`,published:`April 13, 2026`,image:{ver
21sion:1,asset_id:`b979b52b-d5e9-4828-9421-e18d4eca5aeb`,project_id:`193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7`,url:`/__l5e/assets-v1/b979b52b-d5e9-4828-9421-e18d4eca5aeb/career-confidence-gap.png`,r2_key:`a/v1/193cf0ef-d2cc-4878-ab1c-b44cc2dd0ee7/b979b52b-d5e9-4828-9421-e18d4eca5aeb/career-confidence-gap.png`,original_filename:`career-confidence-gap.png`,size:300569,content_type:`image/png`,created_at:`2026-09-27T21:38:46Z`}.url,introHtml:`<p>You've done the work, and you've got the results to show for it. You still hesitate when it's time to make your case. The career confidence gap is the distance between your skill and how much of it others see. It happens because getting better raises your own bar, so you feel less ready than you are. You close it by getting specific about what you've done and what it produced.</p><p>The gap shows up in roles you never apply for and raises you never request. Over time, it costs you authority you earned and didn't claim.</p>`,sections:[{id:`why-do-competence-and-confidence-grow-at-different-speeds`,heading:`Why do competence and confidence grow at different speeds?`,html:`<p>The more you learn, the more you see what you haven't mastered. Psychologists have documented this pattern for decades. In a well-known Cornell study, top performers consistently underestimated how they ranked against their peers (<a href="https://doi.org/10.1037/0022-3514.77.6.1121" target="_blank" rel="noreferrer">Kruger and Dunning, 1999</a>).</p><p>You can be excellent at your work and still believe you're not ready for what you want. That belief affects which opportunities you pursue and how you show up in interviews and reviews. It also decides whether you make your case or wait for someone to notice.</p><p>I've watched this play out for most of my career. I made hiring and promotion calls long before I became a CEO, and I still make them. Again and again, capable candidates talked themselves out of roles they were ready for. Meanwhile, someone more certain raised a hand and got the job, often with a thinner track record. Certainty is easy to say yes to. UC Berkeley researchers found the same pattern in their studies. Groups rated confident people as more competent and gave them more status, even when their skill didn't back it up (<a href="https://pubmed.ncbi.nlm.nih.gov/22800286/" target="_blank" rel="noreferrer">Anderson et al., 2012</a>). When you stay silent, decision makers read that silence as a gap in ability. That happens even when your work shows the opposite.</p>`},{id:`what-causes-a-career-confidence-gap`,heading:`What causes a career confidence gap?`,html:`<p>It usually has more than one source.</p><p>If you came up in a competitive environment, the message was probably that you always had more to prove. Praise came with conditions, and the focus stayed on what needed fixing. That builds rigor. It also leaves a habit of self-doubt that lasts long after you've moved on.</p><p>Moving into a new industry, role, or country can create the gap too. You feel like you don't belong yet, and you notice everything you're still learning. What you already bring is harder to see, because the things that come easy feel invisible. That's why the professionals most likely to underrate themselves often have the most to offer.</p>`},{id:`what-does-career-confidence-look-like`,heading:`What does career confidence look like?`,html:`<p>Career confidence is a clear, honest read on your own value. You know your strengths and your track record, and you share your perspective without hedging. That kind of confidence lasts because it rests on what you've done. When someone who has it talks about their work, they state what's true and let it stand.</p>`},{id:`how-do-you-close-the-confidence-gap-this-week`,heading:`How do you close the confidence gap this week?`,html:`<p>Closing the gap is practical work. Here's where to begin.</p><ul><li><strong>Write down three results with the numbers attached.</strong> Specifics like "cut onboarding from six weeks to three" are hard to argue with, even in your own head. These become the raw material for everything else.</li><li><strong>Fix one hedged sentence.</strong> Open your bio or LinkedIn profile. Find a line that undersells you, such as "helped with" or "was part of." Rewrite it to say plainly what you did.</li><li><strong>Say your value in one sentence.</strong> Practice it aloud without qualifiers like "kind of" and "I just." If you can't say it cleanly to yourself, you'll stumble in a room.</li><li><strong>Keep a running record.</strong> When something goes well, write down what you did and what it produced that week. Self-doubt is hard to hold onto next to a concrete list of wins.</li></ul><p>Each step gives you evidence, and that evidence is what confidence grows from. In my own hiring decisions, the candidates who could name their results made the strongest case.</p><p>Pick one result and one hedged line today. Those two steps are enough to feel the difference by the end of the week.</p>`}],faqs:[{question:`What is the confidence gap in a career?`,answer:`It's the difference between what you can do and what you let others see. It shows up as underselling yourself, like skipping applications or not asking for a raise. High performers are especially prone to it. A Cornell study found top performers tend to underestimate how they compare to their peers.`,answerHtml:`It's the difference between what you can do and what you let others see. It shows up as underselling yourself, like skipping applications or not asking for a raise. High performers are especially prone to it. A Cornell study found top performers tend to underestimate how they compare to their peers.`},{question:`Does a lack of confidence cost you opportunities?`,answer:`Yes, though rarely in one dramatic moment. Most of the time, no one turns you down. Your name was never in the running. Asking makes a measurable difference. In a 2024 LendingTree survey, 82% of full-time workers who asked for a raise received one. That compares with 66% of full-time workers overall.`,answerHtml:`Yes, though rarely in one dramatic moment. Most of the time, no one turns you down. Your name was never in the running. Asking makes a measurable difference. In a 2024 LendingTree survey, 82% of full-time workers who asked for a raise received one. That compares with 66% of full-time workers overall.`},{question:`How do you build career confidence?`,answer:`Start with evidence. Keep a specific record of your results and remove hedging from how you describe yourself. Then practice stating your value plainly until it feels normal to say.`,answerHtml:`Start with evidence. Keep a specific record of your results and remove hedging from how you describe yourself. Then practice stating your value plainly until it feels normal to say.`},{question:`Why do capable people underrate themselves the most?`,answer:`As your skills grow, so does the standard you hold yourself to. Experienced professionals see more of what's left to learn. Their self-assessment falls behind their ability, so they often feel less ready than they are.`,answerHtml:`As your skills grow, so does the standard you hold yourself to. Experienced professionals see more of what's left to learn. Their self-assessment falls behind their ability, so they often feel less ready than they are.`},{question:`Can you build confidence without self-promoting?`,answer:`Yes. Describe your work accurately and let it stand. You don't have to perform or play it down. Stating facts about your results comes across as confident on its own.`,answerHtml:`Yes. Describe your work accurately and let it stand. You don't have to perform or play it down. Stating facts about your results comes across as confident on its own.`}],schemaFaqs:[{question:`What is the confidence gap in a career?`,answer:`It's the difference between what you can do and what you let others see. It shows up as underselling yourself, like skipping applications or not asking for a raise. High performers are especially prone to it. A Cornell study found top performers tend to underestimate how they compare to their peers.`},{question:`Does a lack of confidence cost you opportunities?`,answer:`Yes, though rarely in one dramatic moment. Most of the time, no one turns you down. Your name was never in the running. Asking makes a measurable difference. In a 2024 LendingTree survey, 82% of full-time workers who asked for a raise received one. That compares with 66% of full-time workers overall.`},{question:`How do you build career confidence?`,answer:`Start with evidence. Keep a specific record of your results and remove hedging from how you describe yourself. Then practice stating your value plainly until it feels normal to say.`},{question:`Why do capable people underrate themselves the most?`,answer:`As your skills grow, so does the standard you hold yourself to. Experienced professionals see more of what's left to learn. Their self-assessment falls behind their ability, so they often feel less ready than they are.`},{question:`Can you build confidence without self-promoting?`,answer:`Yes. Describe your work accurately and let it stand. You don't have to perform or play it down. Stating facts about your results comes across as confident on its own.`}],sources:[{label:`Kruger, J., and Dunning, D. (1999). "Unskilled and Unaware of It: How Difficulties in Recognizing One's Own Incompetence Lead to Inflated Self-Assessments." Journal of Personality and Social Psychology, 77(6)`,href:`https://doi.org/10.1037/0022-3514.77.6.1121`},{label:`Anderson, C., Brion, S., Moore, D. A., and Kennedy, J. A. (2012). "A Status-Enhancement Account of Overconfidence." Journal of Personality and Social Psychology, 103(4)`,href:`https://pubmed.ncbi.nlm.nih.gov/22800286/`},{label:`LendingTree (2024). Pay raise survey of 2,049 U.S. adults, conducted October 2024`,href:`https://www.lendingtree.com/debt-consolidation/pay-raises-survey/`}],readingTime:4}],Tf=`${A}`,Ef=e=>`/articles?theme=${encodeURIComponent(e)}`;function Df(e){let t=wf.find(t=>t.slug===e);if(!t)throw Error(`Unknown article: ${e}`);return t}var Of=e=>{if(!e)return;let t=new Date(`${e} 12:00 UTC`);return Number.isNaN(t.getTime())?void 0:t.toISOString().slice(0,10)};function kf(e){let t=Df(e),n=`${Tf}/${t.slug}`,r=`${Tf}${t.image}`,i=t.schemaFaqs??t.faqs.map(({question:e,answer:t})=>({question:e,answer:t})),a=Of(t.published);return{meta:[{title:`${t.seoTitle} | Amie Thompson`},{name:`description`,content:t.description},{property:`og:title`,content:t.seoTitle},{property:`og:description`,content:t.description},{property:`og:type`,content:`article`},{property:`og:url`,content:n},{property:`og:image`,content:r},{name:`twitter:card`,content:`summary_large_image`},{name:`twitter:image`,content:r}],links:[{rel:`canonical`,href:n}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`BlogPosting`,headline:t.seoTitle,de
21scription:t.description,image:r,...a?{datePublished:a}:{},articleSection:t.category,author:Pe,mainEntityOfPage:n})},{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`FAQPage`,mainEntity:i.map(e=>({"@type":`Question`,name:e.question,acceptedAnswer:{"@type":`Answer`,text:e.answer}}))})},{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`BreadcrumbList`,itemListElement:[{"@type":`ListItem`,position:1,name:`Home`,item:Tf},{"@type":`ListItem`,position:2,name:`Articles`,item:`${Tf}/articles`},{"@type":`ListItem`,position:3,name:t.category,item:`${Tf}${Ef(t.category)}`},{"@type":`ListItem`,position:4,name:t.title,item:n}]})}]}}function Af(e){let t=wf.filter(t=>t.slug!==e.slug&&t.category===e.category),n=wf.filter(t=>t.slug!==e.slug&&t.category!==e.category);return[...t,...n].slice(0,3).map(e=>({category:e.category,title:e.title,readingTime:e.readingTime,href:`/${e.slug}`,image:e.image,alt:e.title}))}var jf=({html:e})=>(0,M.jsx)(`div`,{className:`space-y-6`,dangerouslySetInnerHTML:{__html:e}});function Mf({slug:e}){let t=Df(e);return(0,M.jsx)(Cf,{title:t.title,subhead:t.subhead,category:t.category,categoryHref:Ef(t.category),publishedDate:t.published||void 0,readingTime:t.readingTime,image:t.image,imageAlt:t.title,introduction:(0,M.jsx)(jf,{html:t.introHtml}),sections:t.sections.map(e=>({id:e.id,heading:e.heading,content:(0,M.jsx)(jf,{html:e.html})})),faqs:t.faqs,sources:t.sources,relatedArticles:Af(t)})}var Nf=O(`/how-to-act-like-a-leader-before-you-have-the-title`)({head:()=>kf(xf),component:D(()=>k(()=>import(`./how-to-act-like-a-leader-before-you-have-the-title-Dn7UiYES.js`),__vite__mapDeps([27,1])),`component`)}),Pf=`how-to-build-a-personal-brand-that-is-not-tied-to-your-job-title`,Ff=O(`/how-to-build-a-personal-brand-that-is-not-tied-to-your-job-title`)({head:()=>kf(Pf),component:D(()=>k(()=>import(`./how-to-build-a-personal-brand-that-is-not-tied-to-your-job-title-BUeD3LQb.js`),__vite__mapDeps([28,1])),`component`)}),If=`how-to-build-business-capability-with-ai-before-you-hire`,Lf=O(`/how-to-build-business-capability-with-ai-before-you-hire`)({head:()=>kf(If),component:D(()=>k(()=>import(`./how-to-build-business-capability-with-ai-before-you-hire-BDxzAImB.js`),__vite__mapDeps([29,1])),`component`)}),Rf=`how-to-build-visibility-before-you-feel-ready`,zf=O(`/how-to-build-visibility-before-you-feel-ready`)({head:()=>kf(Rf),component:D(()=>k(()=>import(`./how-to-build-visibility-before-you-feel-ready-o6Pn4mV3.js`),__vite__mapDeps([30,1])),`component`)}),Bf=`how-to-close-the-confidence-gap-in-your-career`,Vf=O(`/how-to-close-the-confidence-gap-in-your-career`)({head:()=>kf(Bf),component:D(()=>k(()=>import(`./how-to-close-the-confidence-gap-in-your-career-RHSVq8MD.js`),__vite__mapDeps([31,1])),`component`)}),Hf=`how-to-have-a-sales-conversation-without-feeling-like-a-salesperson`,Uf=O(`/how-to-have-a-sales-conversation-without-feeling-like-a-salesperson`)({head:()=>kf(Hf),component:D(()=>k(()=>import(`./how-to-have-a-sales-conversation-without-feeling-like-a-salesperson-DEunGNjn.js`),__vite__mapDeps([32,1])),`component`)}),Wf=`how-to-have-the-10-conversations-that-validate-a-business-idea`,Gf=O(`/how-to-have-the-10-conversations-that-validate-a-business-idea`)({head:()=>kf(Wf),component:D(()=>k(()=>import(`./how-to-have-the-10-conversations-that-validate-a-business-idea-C8m3Xk_c.js`),__vite__mapDeps([33,1])),`component`)}),Kf=`how-to-know-if-your-business-idea-is-good`,qf=O(`/how-to-know-if-your-business-idea-is-good`)({head:()=>kf(Kf),component:D(()=>k(()=>import(`./how-to-know-if-your-business-idea-is-good-CREPSRlC.js`),__vite__mapDeps([34,1])),`component`)}),Jf=`how-to-make-the-shift-from-operator-to-leader-in-a-small-business`,Yf=O(`/how-to-make-the-shift-from-operator-to-leader-in-a-small-business`)({head:()=>kf(Jf),component:D(()=>k(()=>import(`./how-to-make-the-shift-from-operator-to-leader-in-a-small-business-DPRZwSJR.js`),__vite__mapDeps([35,1])),`component`)}),Xf=`how-to-tell-if-you-are-ready-to-start-a-business`,Zf=O(`/how-to-tell-if-you-are-ready-to-start-a-business`)({head:()=>kf(Xf),component:D(()=>k(()=>import(`./how-to-tell-if-you-are-ready-to-start-a-business-3ZM5Wdzb.js`),__vite__mapDeps([36,1])),`component`)}),Qf=`how-to-tell-if-your-idea-solves-a-real-problem-or-a-mild-annoyance`,$f=O(`/how-to-tell-if-your-idea-solves-a-real-problem-or-a-mild-annoyance`)({head:()=>kf(Qf),component:D(()=>k(()=>import(`./how-to-tell-if-your-idea-solves-a-real-problem-or-a-mild-annoyance-BTCAnEFx.js`),__vite__mapDeps([37,1])),`component`)}),ep=`how-to-use-your-job-to-fund-the-business-you-are-building`,tp=O(`/how-to-use-your-job-to-fund-the-business-you-are-building`)({head:()=>kf(ep),component:D(()=>k(()=>import(`./how-to-use-your-job-to-fund-the-business-you-are-building-DtFc-EZE.js`),__vite__mapDeps([38,1])),`component`)}),np=[{question:`Do I have to be outgoing to grow a business?`,answer:`No. You can build visibility, sell with confidence, and put AI to work in ways that fit how you think and work. Many introverts grow their businesses through one-on-one conversations, written content, and small, structured events.`},{question:`What does introverted entrepreneur mean?`,answer:`It means a business owner or founder who recharges with time alone and prefers deeper, one-on-one conversations. You don't need a personality test to know. If networking events wear you out, this page is for you.`},{question:`How can introverts sell without feeling pushy?`,answer:`Lead with questions about the prospect's situation. Share how you'd help once you both understand the problem. It fits people who listen well.`},{question:`How do introverts network without burning out?`,answer:`Choose events with structure, like workshops, panels, or small-group sessions, where every conversation has a purpose. Go in with a goal of two or three meaningful conversations. The
21n plan time to recharge afterward.`},{question:`Can introverts be good at public speaking?`,answer:`Yes. Public speaking is a skill you build with practice. My first speech in college was a two-minute self-introduction. I was so nervous I wrote it word for word on index cards. I was talking about myself, the one subject I knew better than anyone, and it still felt hard. I decided I didn't want to feel that way again. Over the years, I got speaking training and practiced whenever I could. I wanted to feel comfortable in front of people. Today I don't volunteer for many speaking engagements. When I'm asked and I want to do it, I know I can. That confidence came from doing it again and again.`},{question:`Is it harder to start a business as an introvert?`,answer:`It can feel harder when most of the advice you find assumes everyone loves networking and cold calls. It gets more manageable once you pick a few methods that fit how you recharge and focus there first.`}],rp=()=>k(()=>import(`./introverted-entrepreneurs-BBjsn6lK.js`),__vite__mapDeps([39,1,4,5,2,6,7])),ip=`How to Build a Business as an Introvert | Amie Thompson`,ap=`Ways introverted entrepreneurs can build visibility, sell with confidence, and grow a business that fits how they work.`,op=`${A}/introverted-entrepreneurs`,sp=O(`/introverted-entrepreneurs`)({head:()=>({meta:[{title:ip},{name:`description`,content:ap},{property:`og:title`,content:ip},{property:`og:description`,content:ap},{property:`og:type`,content:`website`},{property:`og:url`,content:op},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:op}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`FAQPage`,mainEntity:np.map(e=>({"@type":`Question`,name:e.question,acceptedAnswer:{"@type":`Answer`,text:e.answer}}))})}]}),component:D(rp,`component`)}),cp=()=>k(()=>import(`./privacy-i9aYVTwA.js`),__vite__mapDeps([40,1])),lp=`Privacy Policy | Amie Thompson`,up=`What information amiethompson.com collects, how it's used, how long it's kept, and the choices you have.`,dp=O(`/privacy`)({head:()=>({meta:[{title:lp},{name:`description`,content:up},{property:`og:title`,content:lp},{property:`og:description`,content:up},{property:`og:url`,content:`${A}/privacy`}],links:[{rel:`canonical`,href:`${A}/privacy`}]}),component:D(cp,`component`)}),fp=O(`/resources`)({head:()=>({meta:[{title:`Free Small Business Guides, Tools, and Articles | Amie Thompson`},{name:`description`,content:`Free guides, tools, assessments, and practical articles for getting found, selling with confidence, and growing a small business.`},{property:`og:title`,content:`Free Small Business Guides, Tools, and Articles | Amie Thompson`},{property:`og:description`,content:`Free guides, tools, assessments, and practical small-business articles.`},{property:`og:type`,content:`website`},{property:`og:url`,content:`${A}/resources`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/resources`}]}),component:D(()=>k(()=>import(`./resources-CxSxf0JQ.js`),__vite__mapDeps([41,1,15,16,2,4,5,6,7,42,43,44,45,46,47,48,49])),`component`)}),pp=`selling-as-service-a-practical-frame-for-non-sales-professionals`,mp=O(`/selling-as-service-a-practical-frame-for-non-sales-professionals`)({head:()=>kf(pp),component:D(()=>k(()=>import(`./selling-as-service-a-practical-frame-for-non-sales-professionals-DUUEKNEp.js`),__vite__mapDeps([50,1])),`component`)}),hp=[{question:`What does Amie speak about?`,answer:`Sales confidence, visibility (including AI discoverability), and using AI to run and grow a small business.`},{question:`What formats does Amie do?`,answer:`Keynotes, workshops, interactive sessions, and podcast guest appearances.`},{question:`Does Amie speak in person or virtually?`,answer:`Both. Amie speaks at in-person events and in virtual sessions.`},{question:`How do I book Amie?`,answer:`Reach out through the contact page. Amie responds to inquiries within a couple of business days.`}],gp=()=>k(()=>import(`./speaking-media-BWBNJFhQ.js`),__vite__mapDeps([51,1,4,5,2,6,7])),_p=`Book Amie Thompson for talks and podcast conversations on sales confidence, visibility, and AI for small business owners and early-stage founders.`,vp=O(`/speaking-media`)({head:()=>({meta:[{title:`Speaking and Media | Amie Thompson`},{name:`description`,content:_p},{property:`og:title`,content:`Speaking and Media | Amie Thompson`},{property:`og:description`,content:_p},{property:`og:type`,content:`website`},{property:`og:url`,content:`${A}/speaking-media`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/speaking-media`}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`FAQPage`,mainEntity:hp.map(e=>
21({"@type":`Question`,name:e.question,acceptedAnswer:{"@type":`Answer`,text:e.answer}}))})}]}),component:D(gp,`component`)}),yp=()=>k(()=>import(`./terms-DsO5Wczs.js`),__vite__mapDeps([52,1])),bp=`Terms of Use | Amie Thompson`,xp=`The terms that apply to amiethompson.com, including guide purchases, content use, and limits of liability.`,Sp=O(`/terms`)({head:()=>({meta:[{title:bp},{name:`description`,content:xp},{property:`og:title`,content:bp},{property:`og:description`,content:xp},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary`},{property:`og:url`,content:`${A}/terms`}],links:[{rel:`canonical`,href:`${A}/terms`}]}),component:D(yp,`component`)}),Cp=`Thank you. Your download is on its way.`,wp=O(`/thank-you`)({validateSearch:e=>{let t=typeof e.email==`string`?e.email.trim():``;return{email:t.length<=255&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)?t:``}},head:()=>({meta:[{title:Cp},{name:`robots`,content:`noindex, nofollow`}]}),component:D(()=>k(()=>import(`./thank-you-BFTPwhk6.js`),__vite__mapDeps([53,1,21,22,23,24,16,4,5,2,6,7])),`component`)}),Tp=`the-mindset-shift-that-made-me-comfortable-selling`,Ep=O(`/the-mindset-shift-that-made-me-comfortable-selling`)({head:()=>kf(Tp),component:D(()=>k(()=>import(`./the-mindset-shift-that-made-me-comfortable-selling-BFteMQ_8.js`),__vite__mapDeps([54,1])),`component`)}),Dp=`the-sales-confidence-small-business-owners-are-missing`,Op=O(`/the-sales-confidence-small-business-owners-are-missing`)({head:()=>kf(Dp),component:D(()=>k(()=>import(`./the-sales-confidence-small-business-owners-are-missing-5cOUCAag.js`),__vite__mapDeps([55,1])),`component`)}),kp=`what-sales-is-for-people-who-hate-sales`,Ap=O(`/what-sales-is-for-people-who-hate-sales`)({head:()=>kf(kp),component:D(()=>k(()=>import(`./what-sales-is-for-people-who-hate-sales-BH53smk-.js`),__vite__mapDeps([56,1])),`component`)}),jp=`why-sales-feels-hard-for-small-business-owners`,Mp=O(`/why-sales-feels-hard-for-small-business-owners`)({head:()=>kf(jp),component:D(()=>k(()=>import(`./why-sales-feels-hard-for-small-business-owners-lW6bjsmh.js`),__vite__mapDeps([57,1])),`component`)}),Np=()=>k(()=>import(`./women-connect-LPCrNJVK.js`),__vite__mapDeps([58,1,5,2,59,17])),Pp=`${A}/women-connect`,Fp=O(`/women-connect`)({head:()=>({meta:[{title:`Sales Confidence Assessment and Guide Bundle for Women Connect | Amie Thompson`},{name:`description`,content:`Met Amie Thompson at Women Connect in Raleigh? Take the free Sales Confidence Assessment and get all six selling guides for $99, a special event price.`},{name:`robots`,content:`noindex, follow`},{property:`og:title`,content:`Sales Confidence Assessment and Guide Bundle for Women Connect | Amie Thompson`},{property:`og:description`,content:`Met Amie Thompson at Women Connect in Raleigh? Take the free Sales Confidence Assessment and get all six selling guides for $99, a special event price.`},{property:`og:type`,content:`website`},{property:`og:url`,content:Pp},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:Pp}]}),component:D(Np,`component`)}),Ip=O(`/build-your-business/build-while-employed`)({head:()=>({meta:[{title:`How to Build a Business While Working Full-Time | Amie Thompson`},{name:`description`,content:`Learn how to build a business while working full-time: protect your time and income, avoid burnout, sidestep common side-business mistakes, and know when you are ready to leave your job.`},{property:`og:title`,content:`How to Build a Business While Working Full-Time | Amie Thompson`},{property:`og:description`,content:`Learn how to build a business while working full-time: protect your time and income, avoid burnout, sidestep common side-business mistakes, and know when you are ready to leave your job.`},{property:`og:type`,content:`article`},{property:`og:url`,content:`${A}/build-your-business/build-while-employed`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/build-your-business/build-while-employed`}]}),component:D(()=>k(()=>import(`./build-your-business.build-while-employed-C49eOzyY.js`),__vite__mapDeps([60,1,5,2,61])),`component`)}),Lp=O(`/build-your-business/build-your-visibility`)({head:()=>({meta:[{title:`How to Build Visibility for Your Business | Amie Thompson`},{name:`description`,content:`Learn how to build visibility for your business through clear positioning, consistent authority signals, trusted recommendations, and focused content.`},{property:`og:title`,content:`How to Build Visibility for Your Business | Amie Thompson`},{property:`og:description`,content:`Learn how to build visibility for your business through clear positioning, consistent authority signals, trusted recommendations, and focused content.`},{property:`og:type`,content:`article`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/build-your-business/build-your-visibility`}]}),component:D(()=>k(()=>import(`./build-your-business.build-your-visibility-cSehSODX.js`),__vite__mapDeps([62,1,61,5,2])),`component`)}),Rp=O(`/build-your-business/evaluate-your-idea`)({head:()=>({meta:[{title:`How to Validate a Business Idea | Amie Thompson`},{name:`description`,content:`Learn how to validate a business idea before you build, recognize real demand, avoid common reasons ideas fail, and make better business decisions.`},{property:`og:title`,content:`How to Validate a Business Idea | Amie Thompson`},{property:`og:description`,content:`Learn how to validate a business idea before you build, recognize real demand, avoid common reasons ideas fail, and make better business decisions.`},{property:`og:type`,content:`article`},{property:`og:url`,content:`${A}/build-your-business/evaluate-your-idea`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/build-your-business/evaluate-your-idea`}]}),component:D(()=>k(()=>import(`./build-your-business.evaluate-your-idea-DJioSAm7.js`),__vite__mapDeps([63,1,5,2,61])),`component`)}),zp=O(`/build-your-business/generate-revenue`)({head:()=>({meta:[{title:`How to Generate Consistent Revenue | Amie Thompson`},{name:`description`,content:`Learn how to generate consistent revenue for a small business through clear offers, useful sales conversations, purposeful follow-up, and a repeatable process.`},{property:`og:title`,content:`How to Generate Consistent Revenue | Amie Thompson`},{property:`og:description`,content:`Learn how to generate consistent revenue for a small business through clear offers, useful sales conversations, purposeful follow-up, and a repeatable process.`},{property:`og:type`,content:`article`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/build-your-business/generate-revenue`}]}),component:D(()=>k(()=>
21import(`./build-your-business.generate-revenue-B6TT3_iD.js`),__vite__mapDeps([64,1,61,5,2])),`component`)}),Bp=O(`/build-your-business/lead-your-business`)({head:()=>({meta:[{title:`How to Lead Your Business With Confidence | Amie Thompson`},{name:`description`,content:`Learn how to lead your business through clearer decisions, direct communication, stronger ownership, and confidence built through action.`},{property:`og:title`,content:`How to Lead Your Business With Confidence | Amie Thompson`},{property:`og:description`,content:`Learn how to lead your business through clearer decisions, direct communication, stronger ownership, and confidence built through action.`},{property:`og:type`,content:`article`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/build-your-business/lead-your-business`}]}),component:D(()=>k(()=>import(`./build-your-business.lead-your-business-soiwVca-.js`),__vite__mapDeps([65,1,61,5,2])),`component`)}),Vp=O(`/build-your-business/run-your-business`)({head:()=>({meta:[{title:`How to Run a Small Business With Better Systems | Amie Thompson`},{name:`description`,content:`Learn how to run a small business with clear systems, practical business literacy, stronger operations, useful AI, and better decision-making.`},{property:`og:title`,content:`How to Run a Small Business With Better Systems | Amie Thompson`},{property:`og:description`,content:`Learn how to run a small business with clear systems, practical business literacy, stronger operations, useful AI, and better decision-making.`},{property:`og:type`,content:`article`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/build-your-business/run-your-business`}]}),component:D(()=>k(()=>import(`./build-your-business.run-your-business-xv8CwYFI.js`),__vite__mapDeps([66,1,61,5,2])),`component`)}),Hp=O(`/bundle/$token`)({loader:({params:e})=>Ie({data:{token:e.token}}),head:()=>({meta:[{title:`Your Selling Guides | Amie Thompson`},{name:`robots`,content:`noindex, nofollow`}]}),component:D(()=>k(()=>import(`./bundle._token-rKBWsxHw.js`),__vite__mapDeps([67,1,68,69,16,24,23,4,5,2,6,7,70,21,22])),`component`)}),Up=O(`/frameworks/clear-framework`)({head:()=>({meta:[{title:`CLEAR Framework for AI Literacy | Amie Thompson`},{name:`description`,content:`Use the five habits of the CLEAR Framework to get more reliable results from AI tools in your small business.`},{property:`og:title`,content:`CLEAR Framework for AI Literacy | Amie Thompson`},{property:`og:description`,content:`A practical five-part framework for using AI tools with stronger habits and better judgment.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/frameworks/clear-framework`}]}),component:D(()=>k(()=>import(`./frameworks.clear-framework-lTptSPlO.js`),__vite__mapDeps([71,1,72,73,2,4,5,6,7])),`component`)}),Wp=O(`/frameworks/idea-to-income`)({head:()=>({meta:[{title:`Idea to Income Framework | Amie Thompson`},{name:`description`,content:`Explore the six areas of the Idea to Income Framework and identify where your business needs attention next.`},{property:`og:title`,content:`Idea to Income Framework | Amie Thompson`},{property:`og:description`,content:`A practical model for understanding, operating, and growing a small business with greater intention.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/frameworks/idea-to-income`}]}),component:D(()=>k(()=>import(`./frameworks.idea-to-income-Btrm0zeG.js`),__vite__mapDeps([74,1,73,2,4,5,6,7])),`component`)}),Gp=O(`/frameworks/six-foundations-sales-confidence`)({head:()=>({meta:[{title:`Six Foundations of Sales Confidence | Amie Thompson`},{name:`description`,content:`Explore the six learnable skills behind lasting sales confidence for entrepreneurs and small business owners.`},{property:`og:title`,content:`Six Foundations of Sales Confidence | Amie Thompson`},{property:`og:description`,content:`See where your sales confidence is strong and where focused practice can help you grow.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}
21/frameworks/six-foundations-sales-confidence`}]}),component:D(()=>k(()=>import(`./frameworks.six-foundations-sales-confidence-CAnAFnIN.js`),__vite__mapDeps([75,1,73,2,4,5,6,7,43])),`component`)}),Kp=O(`/frameworks/visibility-alignment-system`)({head:()=>({meta:[{title:`Visibility Alignment System | Amie Thompson`},{name:`description`,content:`Align your website, LinkedIn, bios, and positioning so people and AI systems understand what you do.`},{property:`og:title`,content:`Visibility Alignment System | Amie Thompson`},{property:`og:description`,content:`A practical framework for creating a clear, consistent, and memorable public presence.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/frameworks/visibility-alignment-system`}]}),component:D(()=>k(()=>import(`./frameworks.visibility-alignment-system-BVKnWBMo.js`),__vite__mapDeps([76,1,72,59,73,2,4,5,6,7])),`component`)}),qp=O(`/guide/$token`)({validateSearch:e=>typeof e.guide==`string`?{guide:e.guide.slice(0,60)}:{},loader:({params:e})=>Ie({data:{token:e.token}}),head:()=>({meta:[{title:`Your Selling Guide | Amie Thompson`},{name:`robots`,content:`noindex, nofollow`}]}),component:D(()=>k(()=>import(`./guide._token-fZeKMvj0.js`),__vite__mapDeps([77,1,68,69,16,24,23,4,5,2,6,7,70,21,22])),`component`)}),Jp=O(`/guides/`)({head:()=>({meta:[{title:`Free Guides | Amie Thompson`},{name:`description`,content:`Practical free guides for building, selling, running, and growing your small business.`},{property:`og:title`,content:`Free Guides | Amie Thompson`},{property:`og:description`,content:`Read practical guides for building and growing your small business online or download the PDFs.`},{property:`og:type`,content:`website`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/guides`}]}),component:D(()=>k(()=>import(`./guides.index-BPuptt3k.js`),__vite__mapDeps([78,1,15,16,2,44,45,46,47,48,49])),`component`)}),Yp=O(`/guides/ai-literacy-guide`)({head:()=>({meta:[{title:`AI Literacy Guide for Small Business | Amie Thompson`},{name:`description`,content:`Understand AI, evaluate its output, and use it reliably in your small business.`},{property:`og:title`,content:`AI Literacy Guide for Small Business | Amie Thompson`},{property:`og:description`,content:`A practical guide to building confidence and sound judgment with AI tools.`},{property:`og:type`,content:`article`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/guides/ai-literacy-guide`}]}),component:D(()=>k(()=>import(`./guides.ai-literacy-guide-DoOcOITm.js`),__vite__mapDeps([79,1,5,19,18,44,80,7])),`component`)}),Xp=O(`/guides/career-clarity-guide`)({head:()=>({meta:[{title:`The Career Clarity Guide | Amie Thompson`},{name:`description`,content:`Use your current job strategically and get clear on the next move that fits your life and business.`},{property:`og:title`,content:`The Career Clarity Guide | Amie Thompson`},{property:`og:description`,content:`A practical guide to using where you are to build what comes next.`},{property:`og:type`,content:`article`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/guides/career-clarity-guide`}]}),component:D(()=>k(()=>import(`./guides.career-clarity-guide-BpNgFTxW.js`),__vite__mapDeps([81,1,19,18,80,7,45])),`component`)}),Zp=O(`/guides/leadership-is-a-decision`)({head:()=>({meta:[{title:`Leadership Is a Decision | Amie Thompson`},{name:`description`,content:`A practical guide to making the shift from operator to owner through four leadership behaviors.`},{property:`og:title`,content:`Leadership Is a Decision | Amie Thompson`},{property:`og:description`,content:`Practice ownership, consistency, influence, and decision-making in your business.`},{property:`og:type`,content:`article`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/guides/leadership-is-a-decision`}]}),component:D(()=>k(()=>import(`./guides.leadership-is-a-decision-xNcPqPxA.js`),__vite__mapDeps([82,1,19,18,80,7,46])),`component`)}),Qp=O(`/guides/solopreneur-operations-guide`)({head:()=>({meta:[{title:`The Solopreneur Operations Guide | Amie Thompson`},{name:`description`,content:`Build practical systems, consolidate business information, and use AI as infrastru
21cture with this free guide for solopreneurs.`},{property:`og:title`,content:`The Solopreneur Operations Guide | Amie Thompson`},{property:`og:description`,content:`Build practical systems, consolidate business information, and use AI as infrastructure with this free guide for solopreneurs.`},{property:`og:type`,content:`article`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/guides/solopreneur-operations-guide`}]}),component:D(()=>k(()=>import(`./guides.solopreneur-operations-guide-DF5LPnhy.js`),__vite__mapDeps([83,1,19,18,80,7,47])),`component`)}),$p=O(`/guides/the-success-blueprint`)({head:()=>({meta:[{title:`The Success Blueprint | Amie Thompson`},{name:`description`,content:`A practical four-step framework for generating consistent revenue as a small business owner.`},{property:`og:title`,content:`The Success Blueprint | Amie Thompson`},{property:`og:description`,content:`Clarify your audience, problem, offer, and revenue conversations.`},{property:`og:type`,content:`article`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/guides/the-success-blueprint`}]}),component:D(()=>k(()=>import(`./guides.the-success-blueprint-n3Ox_Ahs.js`),__vite__mapDeps([84,1,19,18,80,7,48])),`component`)}),em=O(`/guides/the-visibility-starter-kit`)({head:()=>({meta:[{title:`The Visibility Starter Kit | Amie Thompson`},{name:`description`,content:`Build visibility across personal brand, authority, and earned media so the right people and AI systems can find you.`},{property:`og:title`,content:`The Visibility Starter Kit | Amie Thompson`},{property:`og:description`,content:`A practical guide to becoming findable, credible, and trusted.`},{property:`og:type`,content:`article`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/guides/the-visibility-starter-kit`}]}),component:D(()=>k(()=>import(`./guides.the-visibility-starter-kit-WRg5vdSI.js`),__vite__mapDeps([85,1,19,18,80,7,49])),`component`)}),tm=()=>k(()=>import(`./sales-confidence-assessment.index-Cmxm823X.js`),__vite__mapDeps([86,1,15,16,87,42,43,88])),nm=`${A}/sales-confidence-assessment`,rm=O(`/sales-confidence-assessment/`)({head:()=>({meta:[{title:`Sales Confidence Assessment | Amie Thompson`},{name:`description`,content:`Answer 20 questions to see where your sales confidence is strongest, where your biggest opportunity is, and what to focus on next.`},{property:`og:title`,content:`Sales Confidence Assessment | Amie Thompson`},{property:`og:description`,content:`A free assessment across the six foundations of sales confidence, with a personalized report you can read right away.`},{property:`og:type`,content:`website`},{property:`og:url`,content:nm},{name:`twitter:card`,content:`summary_large_image`}],links:[{rel:`canonical`,href:nm}]}),component:D(tm,`component`)}),im=O(`/sales-confidence-assessment/start`)({head:()=>({meta:[{title:`Take the Sales Confidence Assessment | Amie Thompson`},{name:`description`,content:`20 questions, about 4 minutes. See your Sales Confidence Score and read your personalized report on screen.`},{name:`robots`,content:`noindex`}]}),component:D(()=>k(()=>import(`./sales-confidence-assessment.start-DwsKj2MQ.js`),__vite__mapDeps([89,1,15,16,69,24,23,88])),`component`)}),am=(e,t)=>(0,M.jsx)(`a`,{href:e,className:`font-semibold text-primary underline underline-offset-4`,children:t}),om=(e,t)=>(0,M.jsxs)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`font-semibold text-primary underline underline-offset-4`,children:[t,(0,M.jsx)(`span`,{className:`sr-only`,children:` (opens in a new tab)`})]});function sm(e){let t=`${A}/sell-with-confidence/${e.slug}`,n=[{"@context":`https://schema.org`,"@type":`Article`,headline:e.headline,author:Me,publisher:Me,mainEntityOfPage:t},{"@context":`https://schema.org`,"@type":`FAQPage`,mainEntity:e.faqs.map(e=>({"@type":`Question`,name:e.question,acceptedAnswer:{"@type":`Answer`,text:e.schemaAnswer??e.answer}}))}];return{meta:[{title:`${e.headline} | Amie Thompson`},{name:`description`,content:e.description},{property:`og:title`,content:`${e.headline} | Amie Thompson`},{property:`og:description`,content:e.description},{property:`og:type`,content:`article`},{property:`og:url`,content:t},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:t}],scripts:n.map(e=>({type:`application/ld+json`,children:JSON.stringify(e)}))}}var cm=[{question:`How do I create my ideal client profile?`,answer:(0,M.jsxs)(M.Fragment,{children:[`Start from your best past clients and look for the behavior they share, not just demographics. The `,om(`https://clientprofile.amiethompson.com`,`Ideal Client Profile Generator`),` turns six questions into a one-page profile you can use.`]}),schemaAnswer:`Start from your best past clients and look for the behavior they share, not just demographics. The Ideal Client Profile Generator turns six questions into a one-page profile you can use.`},{question:`How do I tell if a prospect is a good fit before a call?`,answer:(0,M.jsxs)(M.Fragment,{children:[`Check them against your profile before you invest the time. `,om(`https://idealclientchecker.amiethompson.com`,`Is This My Ideal Client`),` takes a short prospect description and gives you an honest fit read before you get on the call.`]}),schemaAnswer:`Check them against your profile before you invest the time. Is This My Ideal Client takes a short prospect description and gives you an honest fit read before you get on the call.`},{question:`What if I serve more than one type of client?`,answer:`Start with one. Pick the client you most want to work with or the one that represents most of your best work. You can develop additional profiles over time. Trying to define several ideal clients at once usually leaves every profile too broad to be useful.`},{question:`Does defining an ideal client mean I have to turn away everyone else?`,answer:`No. It means you stop building your marketing and sales process around everyone else. You can still take work outside your ideal client profile when it makes sense. Build your messaging, outreach, and content around the person you most want to serve.`},{question:`How do I know if my ideal client definition is specific enough?`,answer:`If you could describe a real person you've worked with or want to work with using your ideal client profile, it's specific enough. If it could still describe half the population, keep going.`},{question:`What's the difference between a target market and an ideal client?`,answer:`Your target market is a segment. Your ideal client is a person within that segment. Small business owners is a target market. A service-based owner with inconsistent revenue who wants a predictable client pipeline is an ideal client.`}],lm={slug:`find-your-ideal-client`,activeFoundation:2,foundationName:`Ideal Client Fit`,headline:`How to Find Your Ideal Client Before You Waste Time on the Wrong Ones`,title:(0,M.jsxs)(M.Fragment,{children:[`How to Find Your Ideal`,(0,M.jsx)(`span`,{className:`hidden xl:inline`,children:(0,M.jsx)(`br`,{})}),(0,M.jsx)(`span`,{className:`xl:hidden`,children:` `}),`Client `,(0,M.jsxs)(`em`,{className:`font-normal`,children:[`Before You Waste`,(0,M.jsx)(`span`,{className:`hidden xl:inline`,children:(0,M.jsx)(`br`,{})}),(0,M.jsx)(`span`,{className:`xl:hidden`,children:` `}),`Time on the Wrong Ones`]})]}),description:`Define your ideal client in three useful layers so your message connects and your sales conversations become easier.`,subhead:`Getting specific about who you serve helps the right people recognize themselves in your work and helps you stop spending time on the wrong fit.`,whyHeading:`Getting specific about who you serve makes every sales conversation easier.`,whyLead:`If your sales conversations feel hit or miss, the problem is often who you're talking to.`,whyBody:[`Most small business owners describe their ideal client in broad terms because they don't want to leave anyone out. In practice, that makes it difficult for anyone to feel like your message is meant for them.`,`Specificity helps the right people feel immediately seen. It also makes sales conversations shorter and more useful because you spend less time explaining context and more time solving the problem in front of you.`],firstList:{eyebrow:`Three defining layers`,heading:`Define your ideal client in three layers.`,introduction:`Demographics give you a starting point. The next two layers make the profile useful.`,items:[{title:`Who they are`,description:`Start with the kind of business they run, their industry, stage, and team size. These details establish the context around their work.`},{title:`What they're dealing with right now`,description:`Name the active problem that has them searching for help today. Focus on what is happening this quarter or this month, rather than a broad challenge they may face someday.`},{title:`What they want instead`,description:`Describe the destination they are trying to reach. It may be more clients, more revenue, more time, or a business that can run without their involvement in every decision.`}],summary:`A useful ideal client profile describes a real person, a current problem, and the outcome they want.`},secondList:{eyebrow:`What gets in the way`,heading:`Three signs you haven't defined your ideal client yet.`,introduction:(0,M.jsx)(`p`,{children:`These patterns show where a broad client definition is making sales harder.`}),items:[{title:`Every sales conversation feels like starting from scratch.`,description:`If every conversation begins with a long explanation of who you are and why your work matters, your outreach may be attracting people who are too far from the problem you solve.`},{title:`You're getting clients who aren't a good fit.`,description:`If you regularly finish a project knowing you do not want another one like it, your profile is not filtering early enough. A clear definition helps you recognize the right work and decline the wrong work.`},{title:`Your referrals are all over the place.`,description:`People should know who to send your way. Random referrals usually mean your network does not have a clear picture of the person you help best.`}]}
21,practice:{heading:`What a well-defined ideal client profile looks like.`,introduction:`Each strong profile goes beyond demographics to name a current problem and a real destination.`,examples:[{audience:`If you're a brand photographer`,withoutConfidence:`âI work with women who own small businesses.â`,withConfidence:`âI work with service-based business owners in their first three years who need professional photos before an important launch.â`},{audience:`If you're a business attorney`,withoutConfidence:`âI help founders with legal work.â`,withConfidence:`âI help founders with small teams build legal infrastructure when a major contract or partnership raises the stakes.â`},{audience:`If you're an operations consultant`,withoutConfidence:`âI help solopreneurs get organized.â`,withConfidence:`âI help fully booked solopreneurs document their work and build capacity so growth no longer depends on them doing every task.â`}],closing:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`strong`,{className:`text-primary`,children:`What they share:`}),` each profile names who the person is, what is happening now, and where they want to end up.`]}),guideLine:(0,M.jsxs)(M.Fragment,{children:[`Go deeper with `,am(`/sell-with-confidence/find-your-ideal-client`,`the Find Your Ideal Client guide`),`.`]})},faqHeading:`Finding Your Ideal Client FAQ`,faqs:cm},um=[{question:`How do I write my value proposition?`,answer:(0,M.jsxs)(M.Fragment,{children:[`Use a simple formula: I help [who] [do what] so they can [the outcome they want]. The `,om(`https://valueprop.amiethompson.com`,`Value Prop Builder`),` walks you through three prompts and builds one you can use.`]}),schemaAnswer:`Use a simple formula: I help [who] [do what] so they can [the outcome they want]. The Value Prop Builder walks you through three prompts and builds one you can use.`},{question:`Do I need a different value proposition for different services?`,answer:`Start with one that captures the core of your work. As your business grows, you may develop variations for different audiences or services. One strong version is more useful than three weak ones.`},{question:`How long should a value proposition be?`,answer:`One or two sentences. If you need more than that to explain what you do, the value proposition needs more clarity rather than more words.`},{question:`What's the difference between a value proposition and an elevator pitch?`,answer:`Your value proposition is the core statement. Your elevator pitch is how you expand on it in conversation. Get the value proposition right first and the elevator pitch becomes much easier to build.`},{question:`How do I know when my value proposition is working?`,answer:`People respond with a follow-up question. Someone says they know a person who needs that. You stop feeling like you have to over-explain your work in every conversation.`}],dm={slug:`clarify-your-value`,activeFoundation:3,foundationName:`Value Clarity`,headline:`How to Clarify Your Value So the Right People Understand Why It Matters`,title:(0,M.jsxs)(M.Fragment,{children:[`How to Clarify Your`,(0,M.jsx)(`span`,{className:`hidden xl:inline`,children:(0,M.jsx)(`br`,{})}),(0,M.jsx)(`span`,{className:`xl:hidden`,children:` `}),`Value `,(0,M.jsxs)(`em`,{className:`font-normal`,children:[`So the Right People`,(0,M.jsx)(`span`,{className:`hidden xl:inline`,children:(0,M.jsx)(`br`,{})}),(0,M.jsx)(`span`,{className:`xl:hidden`,children:` `}),`Understand Why It Matters`]})]}),description:`Build a clear value proposition that explains what you do, who you help, and what changes because of your work.`,subhead:`A clear value proposition gives you a repeatable way to explain what you do, who you help, and what becomes possible because of your work.`,whyHeading:`Your value proposition is the foundation of every sales conversation.`,whyLead:`Knowing what you do and saying it clearly to someone new are two different skills.`,whyBody:[`If someone asks what you do and you stumble through a long explanation, you need a clear, repeatable way to say it. Your value proposition answers what you do, who you help, and what changes for that person.`,`A version you can say without thinking makes live conversations easier and keeps your message consistent across your website, LinkedIn profile, emails, and introductions.`],firstList:{eyebrow:`Three essential parts`,heading:`Build your value proposition in three parts.`,introduction:`Use these three parts to create a first draft you can test and refine.`,items:[{title:`What you do`,description:`Start with the action. Lead with how you help so the sentence begins in your client's world.`},{title:`Who you help`,description:`Be specific enough that the right person can recognize themselves. Their situation and current challenge matter more than a broad category.`},{title:`What changes for them`,description:`Name the concrete outcome your work makes possible, using the plain language your clients use to describe what they want.`}],summary:`I help [who] [do what] so they can [reach the outcome they want].`},secondList:{eyebrow:`What gets in the way`,heading:`Three signs your value proposition needs work.`,introduction:(0,M.jsx)(`p`,{children:`These patterns show that the message is still being worked out during the conversation.`}),items:[{title:`You explain it differently every time.`,description:`If two conversations produce two different descriptions of your business, you still have a draft rather than a repeatable value proposition.`},{title:`People say âthat's interestingâ and move on.`,description:`A polite nod often means the person did not understand what you do or who it is for. A clear value proposition creates a relevant follow-up question.`},{title:`You need a lot of context before people get it.`,description:`If every explanation takes two minutes, the core statement needs to carry more of the work.`}]},practice:{heading:`What a strong value proposition sounds like.`,introduction:`Plain language makes the audience and the result easy to understand.`,examples:[{audience:`If you're a consultant`,withoutConfidence:`âI provide strategic consulting and customized solutions.â`,withConfidence:`âI help service-based owners turn inconsistent sales into a repeatable client pipeline.â`},{audience:`If you're a local service provider`,withoutConfidence:`âWe deliver high-quality solutions with excellent service.â`,withConfidence:`âWe give Nashville homeowners a roof they can count on, with no stress and no surprises.â`},{audience:`If you sell software`,withoutConfidence:`âOur platform streamlines financial processes.â`,withConfidence:`âBookkeeping software for small business owners who want to spend less time on their books.â`}],closing:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`strong`,{className:`text-primary`,children:`What they share:`}),` each version leads with the person served and the result they care about.`]}),guideLine:(0,M.jsxs)(M.Fragment,{children:[`Go deeper with `,am(`/sell-with-confidence/clarify-your-value`,`the Clarify Your Value guide`),`.`]})},faqHeading:`Clarifying Your Value FAQ`,faqs:um},fm=[{question:`How do I prepare my discovery questions?`,answer:(0,M.jsxs)(M.Fragment,{children:[`Good discovery is about asking the right questions in the right order, not pitching. The `,om(`https://discovery.amiethompson.com`,`Discovery Question Generator`),` builds a tailored set from what you do and who you serve.`]}
21),schemaAnswer:`Good discovery is about asking the right questions in the right order, not pitching. The Discovery Question Generator builds a tailored set from what you do and who you serve.`},{question:`How long should a discovery conversation be?`,answer:`Usually 30 to 45 minutes. That gives you enough time to move through the phases without rushing. Consistently running over an hour suggests the conversation needs more structure. Finishing in 15 minutes usually means you have not gone deep enough.`},{question:`Should I take notes during a discovery conversation?`,answer:`Yes, and tell the client you are doing it. Notes capture the client's language, which your proposal should reflect back to them.`},{question:`What if the client wants to skip straight to pricing?`,answer:`Acknowledge the question and explain that you need a few details to give them an accurate number. If they will not slow down for a few questions, that tells you something useful about the fit.`},{question:`Is a discovery conversation the same as a sales call?`,answer:`It is the first part of one. Discovery comes before the offer. Once you understand the situation, you can make a recommendation that fits.`}],pm={slug:`ask-better-questions`,activeFoundation:4,foundationName:`Discovery Skills`,headline:`How to Ask Better Questions and Uncover What a Client Genuinely Needs`,title:(0,M.jsxs)(M.Fragment,{children:[`How to Ask Better`,(0,M.jsx)(`span`,{className:`hidden xl:inline`,children:(0,M.jsx)(`br`,{})}),(0,M.jsx)(`span`,{className:`xl:hidden`,children:` `}),`Questions `,(0,M.jsxs)(`em`,{className:`font-normal`,children:[`and Uncover What`,(0,M.jsx)(`span`,{className:`hidden xl:inline`,children:(0,M.jsx)(`br`,{})}),(0,M.jsx)(`span`,{className:`xl:hidden`,children:` `}),`a Client Genuinely Needs`]})]}),description:`Run a structured discovery conversation that reveals the client's real problem and leads to a relevant offer.`,subhead:`The request a client starts with is often only the surface. Better questions reveal the problem, the stakes, and the outcome they want.`,whyHeading:`What a client asks for and what they need are rarely the same thing.`,whyLead:`The ask is the surface. The outcome they want is underneath it.`,whyBody:[`Clients ask for a website, a marketing plan, a contract, or a set of photos. Underneath that request, they may want to become known, grow, feel protected, or show up more professionally.`,`A discovery conversation gives you room to understand that deeper need before you make an offer. When the client feels heard and your recommendation connects to what they shared, the next step feels natural.`],firstList:{eyebrow:`Three discovery moves`,heading:`Move from the request to the right offer.`,introduction:`A useful discovery conversation starts with questions and ends by connecting what you heard to how you can help.`,items:[{title:`Understand what's happening underneath.`,description:`Ask what they have tried, what is not working, and what happens if nothing changes. Keep going until you can describe their situation clearly.`},{title:`Define where they want to end up.`,description:`Ask what success looks like beyond the deliverable. Capture the outcome in the client's own words.`},{title:`Connect your offer to what they shared.`,description:`Explain how your work addresses their situation and leads toward the outcome they described. Every part of the recommendation should trace back to something they said.`}],summary:`A discovery conversation works when you understand the situation well enough to make a relevant offer.`},secondList:{eyebrow:`What gets in the way`,heading:`Three signs your discovery conversations need work.`,introduction:(0,M.jsx)(`p`,{children:`These patterns show where pitching has taken the place of listening.`}),items:[{title:`You're doing most of the talking.`,description:`Discovery should feel like the client is talking through the problem while you ask useful questions and take notes.`},{title:`You can't summarize their problem.`,description:`After the conversation, you should be able to state the problem, what it is costing them, and what they want instead in two or three sentences.`},{title:`Your proposal feels disconnected.`,description:`Everything in the proposal should connect directly to something the client shared. If it does not, ask more questions before you send it.`}]},practice:{heading:`What better discovery questions sound like.`,introduction:`A strong question opens a conversation and reveals the gap between the current situation and the desired one.`,examples:[{audience:`If you're a web designer`,withoutConfidence:`âWhat kind of website are you looking for?â`,withConfidence:`âWhat happens when someone lands on your site now, and what do you want them to do instead?â`},{audience:`If you're a financial coach`,withoutConfidence:`âWhat are your financial goals?â`,withConfidence:`âIf things go well over the next six months, what will be different about your financial situation?â`},{audience:`If you're a marketing consultant`,withoutConfidence:`âWhat's your marketing budget?â`,withConfidence:`âWhere do clients come from now, and where would you like more of them to come from?â`}],closing:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`strong`,{className:`text-primary`,children:`What they share:`}),` each strong question invites the client to explain something only they can answer.`]}),guideLine:(0,M.jsxs)(M.Fragment,{children:[`Go deeper with `,am(`/sell-with-confidence/ask-better-questions`,`the Ask Better Questions guide`),`.`]})},faqHeading:`Discovery Conversations FAQ`,faqs:fm},mm=[{question:`How do I prepare to handle objections?`,answer:(0,M.jsxs)(M.Fragment,{children:[`Decide in advance how you will respond to the common ones, so you do not go quiet or get defensive. The `,om(`https://objectioncoach.amiethompson.com`,`Objection Response Coach`),` gives you three calm, honest ways to answer any objection you type in.`]}),schemaAnswer:`Decide in advance how you will respond to the common ones, so you do not go quiet or get defensive. The Objection Response Coach gives you three calm, honest ways to answer any objection you type in.`},{question:`What if I respond to the objection and they still say no?`,answer:`Then you have your answer and can move on. Pushing past a clear no damages the relationship. A respectful close leaves the door open for a later conversation or referral.`},{question:`Should I ever discount my price to handle an objection?`,answer:`Rarely, and never as a first response. If budget is the issue, consider a smaller scope, a payment plan, or a different starting point before changing the value of the work.`},{question:`What if I freeze up when I hear an objection?`,answer:`Use acknowledge, ask, answer. Acknowledging buys y
21ou time, asking gives you information, and the answer becomes easier once you understand the concern.`},{question:`Is it okay to walk away from a sale?`,answer:`Yes. If the objection reveals that the potential client is a poor fit, saying so clearly can be the best decision for both of you.`}],hm={slug:`handle-objections`,activeFoundation:5,foundationName:`Offer Execution`,headline:`How to Handle Objections Without Getting Defensive or Pushy`,title:(0,M.jsxs)(M.Fragment,{children:[`How to Handle Objections`,(0,M.jsx)(`span`,{className:`hidden xl:inline`,children:(0,M.jsx)(`br`,{})}),(0,M.jsx)(`span`,{className:`xl:hidden`,children:` `}),(0,M.jsxs)(`em`,{className:`font-normal`,children:[`Without Getting Defensive`,(0,M.jsx)(`span`,{className:`hidden xl:inline`,children:(0,M.jsx)(`br`,{})}),(0,M.jsx)(`span`,{className:`xl:hidden`,children:` `}),`or Pushy`]})]}),description:`Respond to sales objections calmly, understand the concern underneath them, and keep the conversation useful.`,subhead:`An objection is a signal that the person is still engaged and needs something they have not received yet.`,whyHeading:`A sales objection is a signal to understand, rather than a reason to go quiet.`,whyLead:`When someone raises a concern, your job is to understand what is behind it.`,whyBody:[`They may need more information, a clearer view of the value, or room to name a concern they have not said out loud. Giving up ends the conversation before you understand it. Pushing back creates pressure.`,`A clear, calm response keeps the conversation moving and gives you enough information to respond to the concern in front of you.`],firstList:{eyebrow:`Three response steps`,heading:`Respond to most sales objections in three steps.`,introduction:`Use this sequence to stay calm and keep the conversation open.`,items:[{title:`Acknowledge it without caving.`,description:`Show that you heard the concern. A simple acknowledgment lowers the temperature without agreeing or defending your work.`},{title:`Ask a question before you answer.`,description:`Find out what is behind the stated objection. The real concern is often more specific than the first words suggest.`},{title:`Connect your response to what they told you.`,description:`Answer the concern they named instead of delivering a rehearsed defense. Make the response specific to their situation.`}],summary:`Acknowledge. Ask. Answer. Keep that order every time.`},secondList:{eyebrow:`What gets in the way`,heading:`Three objections that can stop the conversation too soon.`,introduction:(0,M.jsx)(`p`,{children:`Each familiar objection becomes more useful when you ask what sits behind it.`}),items:[{title:`âI need to think about it.â`,description:`Ask which part they want to think through and whether they have everything needed to make the decision.`},{title:`âYour price is too high.â`,description:`Before defending or discounting, ask what they expected to invest. Their answer gives you something specific to address.`},{title:`âI'm not ready yet.â`,description:`Ask what ready would look like. The answer may reveal a real timeline, a missing condition, or a poor fit.`}]},practice:{heading:`What handling an objection well sounds like.`,introduction:`The stronger response acknowledges the concern, gets curious, and offers a useful next step.`,examples:[{audience:`If you're a brand strategist`,withoutConfidence:`âI understand. Let me know if anything changes.â`,withConfidence:`âThat makes sense. What's driving the timing? There may be a way to structure the work around where you are now.â`},{audience:`If you're a business coach`,withoutConfidence:`âI think you'd find my approach very different.â`,withConfidence:`âI appreciate you sharing that. What felt missing from the experience?â`},{audience:`If you're an operations consultant`,withoutConfidence:`âOkay, just let me know.â`,withConfidence:`âWould a one-page summary of our conversation help you get the other decision-makers involved?â`}],closing:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`strong`,{className:`text-primary`,children:`What they share:`}),` the response stays calm, opens the conversation, and addresses the specific concern.`]}),guideLine:(0,M.jsxs)(M.Fragment,{children:[`Go deeper with `,am(`/sell-with-confidence/handle-objections`,`the Handle Objections guide`),`.`]})},faqHeading:`Handling Sales Objections FAQ`,faqs:mm},gm=[{question:`What should I say in a follow-up?`,answer:(0,M.jsxs)(M.Fragment,{children:[`Base it on where the conversation left off and why they may have gone quiet. The `,om(`https://salesfollowup.amiethompson.com`,`Follow-Up Message Writer`),` turns a few details into a short, confident follow-up you can send today.`]}),schemaAnswer:`Base it on where the conversation left off and why they may have gone quiet. The Follow-Up Message Writer turns a few details into a short, confident follow-up you can send today.`},{question:`How many times should I follow up before moving on?`,answer:`Three times is a reasonable minimum. Follow up within 24 hours, again after about a week, and send a final loop-closing message if you still have not heard back.`},{question:`How long should a follow-up message be?`,answer:`Three to five sentences is enough for most follow-ups. Make it easy to read and easy to answer.`},{question:`What if I follow up and they say they're not interested?`,answer:`That gives you clarity. Respond graciously, wish them well, and leave the door open. People remember how you handle a no.`},{question:`Is it okay to follow up by phone instead of email?`,answer:`Yes, especially when the conversation was warm and the relationship supports a call. Leave one clear voicemail rather than calling repeatedly.`}],_m={slug:`follow-up-effectively`,activeFoundation:6,foundationName:`Sales Growth Habits`,headline:`How to Follow Up Effectively Without Feeling Awkward or Annoying`,title:(0,M.jsxs)(M.Fragment,{children:[`How to Follow Up Effectively`,(0,M.jsx)(`span`,{className:`hidden xl:inline`,children:(0,M.jsx)(`br`,{})}),(0,M.jsx)(`span`,{className:`xl:hidden`,children:` `}),(0,M.jsxs)(`em`,{className:`font-normal`,children:[`Without Feeling Awkward`,(0,M.jsx)(`span`,{className:`hidden xl:inline`,children:(0,M.jsx)(`br`,{})}),(0,M.jsx)(`span`,{className:`xl:hidden`,children:` `}),`or Annoying`]})]}),description:`Use a simple three-touch follow-up process that is specific, professional, and easy for a prospect to answer.`,subhead:`A useful follow-up is professional, specific, and easy to answer. It keeps a good conversation moving without adding pressure.`,whyHeading:`Most small business owners stop following up too soon.`,whyLead:`People are busy, inboxes are full, and decisions get delayed for reasons that have nothing to do with your work.`,whyBody:[`After a strong conversation or proposal, silence can make you assume the prospect is not interested. That assumption often costs the business. The person may be distracted, waiting on someone else, or unsure about the next step.`,`Following up gives the conversation a clear path forward. A simple process removes the guesswork around what to say, when to say it, and when to close the loop.`],firstList:{eyebrow:`Three follow-up steps`,heading:`Follow up with any prospect in three steps.`,introduction:`Use three clear touchpoints to stay present without chasing someone.`,items:[{title:`Send the first follow-up within 24 hours.`,description:`Thank them, summarize what you heard in one or tw
21o sentences, and state the clearest next step.`},{title:`Follow up again after a week.`,description:`Keep it short, acknowledge that the earlier message may have been buried, and make it easy to ask a question or adjust the scope.`},{title:`Send a final message that closes the loop.`,description:`Let them know you will leave it there and would welcome a future conversation if the timing changes.`}],summary:`Three touchpoints give a good conversation a fair chance to move forward.`},secondList:{eyebrow:`What gets in the way`,heading:`Three reasons people don't follow up.`,introduction:(0,M.jsx)(`p`,{children:`Each reason has a direct response that makes the next message easier to send.`}),items:[{title:`âI don't want to seem desperate.â`,description:`A brief follow-up signals professionalism and shows that you take the conversation seriously.`},{title:`âI don't know what to say.â`,description:`Reference the conversation, state the next step, and ask one simple question. You do not need clever or persuasive language.`},{title:`âI assume silence means no.â`,description:`Silence usually means busy, distracted, or waiting. Give the person three clear chances to respond before closing the loop.`}]},practice:{heading:`What a strong follow-up looks like.`,introduction:`The best messages are short, specific, and connected to the conversation you already had.`,examples:[{audience:`If you're a graphic designer`,withoutConfidence:`âJust checking in to see if you had any thoughts.â`,withConfidence:`âBased on our conversation, the priority is completing the rebrand before your Q3 launch. Would you like to review the project outline together?â`},{audience:`If you're an HR consultant`,withoutConfidence:`âI wanted to follow up again. Please let me know.â`,withConfidence:`âYou mentioned waiting for your leadership team. Would a one-page summary help you move that conversation forward?â`},{audience:`If you're a copywriter`,withoutConfidence:`âDid you get my proposal?â`,withConfidence:`âI wanted to make sure the proposal did not get buried. I'm happy to answer questions or adjust the scope before you decide.â`}],closing:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`strong`,{className:`text-primary`,children:`What they share:`}),` each message references something real and makes the next response clear.`]}),guideLine:(0,M.jsxs)(M.Fragment,{children:[`Go deeper with `,am(`/sell-with-confidence/follow-up-effectively`,`the Follow Up Effectively guide`),`.`]})},faqHeading:`Following Up With Prospects FAQ`,faqs:gm},vm=O(`/sell-with-confidence/ask-better-questions`)({head:()=>sm(pm),component:D(()=>k(()=>import(`./sell-with-confidence.ask-better-questions-DlXML_db.js`),__vite__mapDeps([90,1,91,5,15,16,2,17,19,18])),`component`)}),ym=O(`/sell-with-confidence/clarify-your-value`)({head:()=>sm(dm),component:D(()=>k(()=>import(`./sell-with-confidence.clarify-your-value--cWa2OJG.js`),__vite__mapDeps([92,1,91,5,15,16,2,17,19,18])),`component`)}),bm=O(`/sell-with-confidence/find-your-ideal-client`)({head:()=>sm(lm),component:D(()=>k(()=>import(`./sell-with-confidence.find-your-ideal-client-DrFruR2Z.js`),__vite__mapDeps([93,1,91,5,15,16,2,17,19,18])),`component`)}),xm=O(`/sell-with-confidence/follow-up-effectively`)({head:()=>sm(_m),component:D(()=>k(()=>import(`./sell-with-confidence.follow-up-effectively-DX2BYrem.js`),__vite__mapDeps([94,1,91,5,15,16,2,17,19,18])),`component`)}),Sm=O(`/sell-with-confidence/handle-objections`)({head:()=>sm(hm),component:D(()=>k(()=>import(`./sell-with-confidence.handle-objections-CMxE47fh.js`),__vite__mapDeps([95,1,91,5,15,16,2,17,19,18])),`component`)}),Cm=[{question:`How do I figure out what is holding me back from selling?`,answer:(0,M.jsxs)(M.Fragment,{children:[`Most people who avoid selling have a specific fear driving it, not a lack of ability. The `,(0,M.jsxs)(`a`,{href:`https://fearofsales.amiethompson.com`,target:`_blank`,rel:`noopener noreferrer`,className:`font-semibold text-primary underline underline-offset-4`,children:[`Sales Fear Identifier`,(0,M.jsx)(`span`,{className:`sr-only`,children:` (opens in a new tab)`})]}),` asks six questions, names the fear, and gives you one action to start shifting it this week.`]}),schemaAnswer:`Most people who avoid selling have a specific fear driving it, not a lack of ability. The Sales Fear Identifier asks six questions, names the fear, and gives you one action to start shifting it this week.`},{question:`What if I'm naturally introverted?`,answer:`Introverts often make excellent salespeople because they tend to listen well, ask thoughtful questions, and build genuine rapport. You do not need to become someone else to sell well.`},{question:`How do I get more comfortable talking about price?`,answer:`Practice saying your price out loud until it stops feeling strange. Then use it in low-stakes conversations. Familiarity makes price feel like a normal part of the conversation.`},{question:`What if I don't believe my work is worth what I charge?`,answer:`Get clearer on the value you deliver, collect evidence from clients you have helped, and price from that evidence rather than from doubt.`},{question:`Can you be good at sales without being naturally outgoing?`,answer:`Yes. Strong sales conversations tend to involve more listening than talking, more questions than pitches, and more focus on the other person than on yourself.`}],wm=()=>k(()=>import(`./sell-with-confidence.sell-like-yourself-BdfAx5CB.js`),__vite__mapDeps([96,1,91,5,15,16,2,17,19,18])),Tm=[{"@context":`https://schema.org`,"@type":`Article`,headline:`How to Sell Like Yourself When Selling Doesn't Feel Like You`,author:Me,publisher:Me,mainEntityOfPage:`${A}/sell-with-confidence/sell-like-yourself`},{"@context":`https://schema.org`,"@type":`FAQPage`,mainEntity:Cm.map(e=>
21({"@type":`Question`,name:e.question,acceptedAnswer:{"@type":`Answer`,text:e.schemaAnswer??e.answer}}))}],Em=O(`/sell-with-confidence/sell-like-yourself`)({head:()=>({meta:[{title:`Sell Like Yourself | Amie Thompson`},{name:`description`,content:`How to sell like yourself when selling does not feel like you. Three mindset shifts and the Six Foundations approach from Amie Thompson.`},{property:`og:title`,content:`Sell Like Yourself | Amie Thompson`},{property:`og:description`,content:`How to sell like yourself when selling does not feel like you. Three mindset shifts and the Six Foundations approach from Amie Thompson.`},{property:`og:type`,content:`article`},{property:`og:url`,content:`${A}/sell-with-confidence/sell-like-yourself`},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:`${A}/sell-with-confidence/sell-like-yourself`}],scripts:Tm.map(e=>({type:`application/ld+json`,children:JSON.stringify(e)}))}),component:D(wm,`component`)}),Dm=[{question:`Can introverts be successful in sales?`,answer:`Yes, and the research makes a stronger case than most people expect. A meta-analysis of 35 studies covering more than 3,800 salespeople found that extroversion has almost zero statistical correlation with sales performance. (Grant, 2013, Psychological Science.) The qualities that predict top sales performance, deep listening, thorough preparation, and the patience to ask good questions instead of pitching, are qualities introverted entrepreneurs already have. Guide 1 gives you a sales approach built around those strengths so you can use them to drive consistent revenue for your business.`},{question:`How do introverted entrepreneurs get clients?`,answer:`Getting clients as an introverted entrepreneur comes down to a few things. You need to know exactly who is worth talking to before any conversation starts. You need a process for those conversations that protects your energy and doesn't require you to perform. And you need to follow through without overthinking it. In Guide 2, I cover how to identify your best-fit clients before you waste time on the wrong ones. In Guide 4, I cover how to run discovery conversations that feel natural to introverts and move your deals forward.`},{question:`How do I explain what I do without sounding salesy?`,answer:`Most people lead with what they do instead of what changes for the person who hires them. Those are two completely different sentences, and only one of them will lead you to more revenue. Your value proposition is how you explain what you do and how you help without sounding salesy. In Guide 3, I walk through how to build one that makes the right people lean in instead of nod politely and move on.`},{question:`How do you follow up without being annoying?`,answer:`You're not being annoying when you follow up. You're being forgotten when you don't. For introverted entrepreneurs, overthinking every message until it feels desperate and then not sending it at all is something that happens more often than we'd like to admit. In Guide 6, I share a better way to think about follow-up, because redefining it is what makes it feel like something you can do consistently without losing yourself in the process.`},{question:`What do you say when a client pushes back on your price?`,answer:`The first thing to understand is that most price objections aren't really about money. You need to learn how to respond to price objections calmly and specifically, in a way that keeps the conversation moving without backing down from what your work is worth. Guide 5 gives you several options for what to say when clients raise objections, including price, so you're never caught without a response.`},{question:`How do you get consistent clients as a solopreneur without a sales team?`,answer:`Getting consistent clients as a solopreneur doesn't require a sales team. It requires a repeatable process. One of the main reasons I created this series was to show solopreneurs that you don't need a team to have a successful business. The six guides cover the full arc: how you position yourself, how you identify the right prospects, how you run conversations, how you handle pushback, and how you follow through. Together they give you a sales system built around how y
21ou already work.`}],Om=()=>k(()=>import(`./selling-guides.index-CMVZ8a7y.js`),__vite__mapDeps([97,1,5,15,16,2,17,19,18,98])),km=`${A}/selling-guides`,Am=`Selling Guides for Introverted Entrepreneurs | Amie Thompson`,jm=`Six guides for introverted entrepreneurs who want consistent revenue without a pushy sales process.`,Mm=O(`/selling-guides/`)({head:()=>({meta:[{title:Am},{name:`description`,content:jm},{property:`og:title`,content:Am},{property:`og:description`,content:jm},{property:`og:type`,content:`website`},{property:`og:url`,content:km},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:km}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`CollectionPage`,name:Am,description:jm,url:km,author:Me})},{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`FAQPage`,mainEntity:Dm.map(e=>({"@type":`Question`,name:e.question,acceptedAnswer:{"@type":`Answer`,text:e.answer}}))})}]}),component:D(Om,`component`)}),Nm=O(`/selling-guides/$slug`)({loader:({params:e})=>{let t=Le(e.slug);if(!t)throw m();return{guide:t}},head:({loaderData:e})=>{if(!e)return{meta:[{title:`Selling Guide Unavailable | Amie Thompson`},{name:`robots`,content:`noindex`}]};let{guide:t}=e,n=`${A}/selling-guides/${t.slug}`;return{meta:[{title:`${t.pageTitle} | Amie Thompson`},{name:`description`,content:t.metaDescription},{property:`og:title`,content:`${t.pageTitle} | Amie Thompson`},{property:`og:description`,content:t.metaDescription},{property:`og:type`,content:`product`},{property:`og:url`,content:n},{name:`twitter:card`,content:`summary`}],links:[{rel:`canonical`,href:n}],scripts:[{type:`application/ld+json`,children:JSON.stringify({"@context":`https://schema.org`,"@type":`Product`,name:t.title,description:t.metaDescription,url:n,brand:Me,offers:{"@type":`Offer`,price:`27`,priceCurrency:`USD`,availability:`https://schema.org/InStock`,url:t.checkoutUrl}})}]}},component:D(()=>k(()=>import(`./selling-guides._slug-C-c6v-p0.js`),__vite__mapDeps([99,1,15,16,100,2,6,98])),`component`)}),Pm=O(`/frameworks/clear-framework_/apply`)({head:()=>({meta:[{title:`Apply AI Deliberately | CLEAR Framework`},{name:`description`,content:`Decide where AI tools belong in your small business and where your judgment should lead.`}],links:[{rel:`canonical`,href:`${A}/frameworks/clear-framework/apply`}]}),component:D(()=>k(()=>import(`./frameworks.clear-framework_.apply-ZhFXO0Cf.js`),__vite__mapDeps([101,1,102,100,2,4,5,6,7])),`component`)}),Fm=O(`/frameworks/clear-framework_/comprehend`)({head:()=>({meta:[{title:`Comprehend AI Capabilities | CLEAR Framework`},{name:`description`,content:`Understand what AI can and cannot do reliably in your small business.`}],links:[{rel:`canonical`,href:`${A}/frameworks/clear-framework/comprehend`}]}),component:D(()=>k(()=>import(`./frameworks.clear-framework_.comprehend-DFu__LpM.js`),__vite__mapDeps([103,1,102,100,2,4,5,6,7])),`component`)}),Im=O(`/frameworks/clear-framework_/evaluate`)({head:()=>({meta:[{title:`Evaluate AI Output | CLEAR Framework`},{name:`description`,content:`Learn a fast, repeatable way to check AI output before using it in your business.`}],links:[{rel:`canonical`,href:`${A}/frameworks/clear-framework/evaluate`}]}),component:D(()=>k(()=>import(`./frameworks.clear-framework_.evaluate-BLmx50FH.js`),__vite__mapDeps([104,1,102,100,2,4,5,6,7])),`component`)}),Lm=O(`/frameworks/clear-framework_/layer`)({head:()=>({meta:[{title:`Layer AI Into Your Operations | CLEAR Framework`},{name:`description`,content:`Build useful AI steps into recurring small-business workflows.`}],links:[{rel:`canonical`,href:`${A}/frameworks/clear-framework/layer`}]}),component:D(()=>k(()=>import(`./frameworks.clear-framework_.layer-DfknpZLm.js`),__vite__mapDeps([105,1,102,100,2,4,5,6,7])),`component`)}),Rm=O(`/frameworks/clear-framework_/recognize`)({head:()=>({meta:[{title:`Recognize AI Errors | CLEAR Framework`},{name:`description`,content:`Develop the judgment to spot AI errors before they create problems in your business.`}],links:[{rel:`canonical`,href:`${A}/frameworks/clear-framework/recognize`}]}),component:D(()=>k(()=>import(`./frameworks.clear-framework_.recognize-9Ozr4xD7.js`),__vite__mapDeps([106,1,102,100,2,4,5,6,7])),`component`)}),zm=p({method:`GET`}).handler(d(`b323a7ac9b0103356515119d119580625633c2ad4a236f94eff92662bec44c66`)),Bm=p({method:`POST`}).handler(d(`5df56f403b72db4e1bfae9b6fd4dfabe0cf76adb4083a1c6f4e975b5cd052530`));function Vm(e){return e===`relationships`?`client-fit`:e}var Hm=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Um(e){return xd({queryKey:[`sales-confidence-report`,e],queryFn:async()=>
21{if(!Hm.test(e))throw m();let t=await zm({data:{id:e}});if(!t)throw m();let n=t;return{...n,strongest_foundation:Vm(n.strongest_foundation),biggest_opportunity:Vm(n.biggest_opportunity),foundation_scores:(n.foundation_scores??[]).map(e=>({...e,id:Vm(e.id)}))}}})}function Wm({title:e,body:t,cta:n=`Back to the assessment`}){return(0,M.jsxs)(`div`,{className:`bg-warm text-primary`,children:[(0,M.jsx)(r,{}),(0,M.jsxs)(`main`,{className:`mx-auto max-w-2xl px-5 py-24 text-center sm:px-8`,children:[(0,M.jsx)(`h1`,{className:`font-display text-4xl`,children:e}),(0,M.jsx)(`p`,{className:`mt-5 text-base leading-8 text-primary/75`,children:t}),(0,M.jsx)(he,{to:`/sales-confidence-assessment`,className:`mt-8 inline-flex items-center bg-primary px-6 py-3.5 text-[0.7rem] font-semibold uppercase tracking-[0.16em] text-primary-foreground`,children:n})]}),(0,M.jsx)(o,{})]})}var Gm=O(`/sales-confidence-assessment/report/$id`)({loader:({params:e,context:t})=>t.queryClient.ensureQueryData(Um(e.id)),head:()=>({meta:[{title:`Your Sales Confidence Report | Amie Thompson`},{name:`robots`,content:`noindex`}]}),errorComponent:D(()=>k(()=>import(`./sales-confidence-assessment.report._id-C13H0rx_.js`),__vite__mapDeps([107,1])),`errorComponent`),notFoundComponent:D(()=>k(()=>import(`./sales-confidence-assessment.report._id-Kdu_b6An.js`),__vite__mapDeps([108,1])),`notFoundComponent`),component:D(()=>k(()=>import(`./sales-confidence-assessment.report._id-Dq5bMPds.js`),__vite__mapDeps([109,1,87,42,88])),`component`)}),Km=O(`/sales-confidence-assessment/results/$id`)({head:()=>({meta:[{name:`robots`,content:`noindex`}]}),beforeLoad:({params:e})=>{throw g({to:`/sales-confidence-assessment/report/$id`,params:{id:e.id}})}}),qm=$.update({id:`/`,path:`/`,getParentRoute:()=>Q}),Jm=Rd.update({id:`/about`,path:`/about`,getParentRoute:()=>Q}),Ym=Xd.update({id:`/ai-discoverability`,path:`/ai-discoverability`,getParentRoute:()=>Q}),Xm=Qd.update({id:`/ai-for-small-business`,path:`/ai-for-small-business`,getParentRoute:()=>Q}),Zm=tf.update({id:`/ai-literacy`,path:`/ai-literacy`,getParentRoute:()=>Q}),Qm=af.update({id:`/aiq`,path:`/aiq`,getParentRoute:()=>Q}),$m=of.update({id:`/articles`,path:`/articles`,getParentRoute:()=>Q}),eh=sf.update({id:`/bio`,path:`/bio`,getParentRoute:()=>Q}),th=cf.update({id:`/blog`,path:`/blog`,getParentRoute:()=>Q}),nh=pf.update({id:`/contact`,path:`/contact`,getParentRoute:()=>Q}),rh=mf.update({id:`/educational-sessions`,path:`/educational-sessions`,getParentRoute:()=>Q}),ih=bf.update({id:`/founder-filter`,path:`/founder-filter`,getParentRoute:()=>Q}),ah=Nf.update({id:`/how-to-act-like-a-leader-before-you-have-the-title`,path:`/how-to-act-like-a-leader-before-you-have-the-title`,getParentRoute:()=>Q}),oh=Ff.update({id:`/how-to-build-a-personal-brand-that-is-not-tied-to-your-job-title`,path:`/how-to-build-a-personal-brand-that-is-not-tied-to-your-job-title`,getParentRoute:()=>Q}),sh=Lf.update({id:`/how-to-build-business-capability-with-ai-before-you-hire`,path:`/how-to-build-business-capability-with-ai-before-you-hire`,getParentRoute:()=>Q}),ch=zf.update({id:`/how-to-build-visibility-before-you-feel-ready`,path:`/how-to-build-visibility-before-you-feel-ready`,getParentRoute:()=>Q}),lh=Vf.update({id:`/how-to-close-the-confidence-gap-in-your-career`,path:`/how-to-close-the-confidence-gap-in-your-career`,getParentRoute:()=>Q}),uh=Uf.update({id:`/how-to-have-a-sales-conversation-without-feeling-like-a-salesperson`,path:`/how-to-have-a-sales-conversation-without-feeling-like-a-salesperson`,getParentRoute:()=>Q}),dh=Gf.update({id:`/how-to-have-the-10-conversations-that-validate-a-business-idea`,path:`/how-to-have-the-10-conversations-that-validate-a-business-idea`,getParentRoute:()=>Q}),fh=qf.update({id:`/how-to-know-if-your-business-idea-is-good`,path:`/how-to-know-if-your-business-idea-is-good`,getParentRoute:()=>Q}),ph=Yf.update({id:`/how-to-make-the-shift-from-operator-to-leader-in-a-small-business`,path:`/how-to-make-the-shift-from-operator-to-leader-in-a-small-business`,getParentRoute:()=>Q}),mh=Zf.update({id:`/how-to-tell-if-you-are-ready-to-start-a-business`,path:`/how-to-tell-if-you-are-ready-to-start-a-business`,getParentRoute:()=>Q}),hh=$f.update({id:`/how-to-tell-if-your-idea-solves-a-real-problem-or-a-mild-annoyance`,path:`/how-to-tell-if-your-idea-solves-a-real-problem-or-a-mild-annoyance`,getParentRoute:()=>Q}),gh=tp.update({id:`/how-to-use-your-job-to-fund-the-business-you-are-building`,path:`/how-to-use-your-job-to-fund-the-business-you-are-building`,getParentRoute:()=>Q}),_h=sp.update({id:`/introverted-entrepreneurs`,path:`/introverted-entrepreneurs`,getParentRoute:()=>Q}),vh=dp.update({id:`/privacy`,path:`/privacy`,getParentRoute:()=>Q}),yh=fp.update({id:`/resources`,path:`/resources`,getParentRoute:()=>Q}),bh=mp.update({id:`/selling-as-service-a-practical-frame-for-non-sales-professionals`,path:`/selling-as-service-a-practical-frame-for-non-sales-professionals`,getParentRoute:()=>Q}),xh=vp.update({id:`/speaking-media`,path:`/speaking-media`,getParentRoute:()=>Q}),Sh=Sp.update({id:`/terms`,path:`/terms`,getParentRoute:()=>Q}),Ch=wp.update({id:`/thank-you`,path:`/thank-you`,getParentRoute:()=>Q}),wh=Ep.update({id:`/the-mindset-shift-that-made-me-comfortable-selling`,path:`/the-mindset-shift-that-made-me-comfortable-selling`,getParentRoute:()=>Q}),Th=Op.update({id:`/the-sales-confidence-small-business-owners-are-missing`,path:`/the-sales-confidence-small-business-owners-are-missing`,getParentRoute:()=>Q}),Eh=Ap.update({id:`/what-sales-is-for-people-who-hate-sales`,path:`/what-sales-is-for-people-who-hate-sales`,getParentRoute:()=>Q}),Dh=Mp.update({id:`/why-sales-feels-hard-for-small-business-owners`,path:`/why-sales-feels-hard-for-small-business-owners`,getParentRoute:()=>Q}),Oh=Fp.update({id:`/women-connect`,path:`/women-connect`,getParentRoute:()=>Q}),kh=Ip.update({id:`/build-your-business/build-while-employed`,path:`/build-your-business/build-while-employed`,getParentRoute:()=>Q}),Ah=Lp.update({id:`/build-your-business/build-your-visibility`,path:`/build-your-business/build-your-visibility`,getParentRoute:()=>Q}),jh=Rp.update({id:`/build-your-business/evaluate-your-idea`,path:`/build-your-business/evaluate-your-idea`,getParentRoute:()=>Q}),Mh=zp.update({id:`/build-your-business/generate-revenue`,path:`/build-your-business/generate-revenue`,getParentRoute:()=>Q}),Nh=Bp.update({id:`/build-your-business/lead-your-business`,path:`/build-your-business/lead-your-business`,getParentRoute:()=>Q}),Ph=Vp.update({id:`/build-your-business/run-your-business`,path:`/build-your-business/run-your-business`,getParentRoute:()=>Q}),Fh=Hp.update({id:`/bundle/$token`,path:`/bundle/$token`,getParentRoute:()=>Q}),Ih=Up.update({id:`/frameworks/clear-framework`,path:`/frameworks/clear-framework`,getParentRoute:()=>Q}),Lh=Wp.update({id:`/frameworks/idea-to-income`,path:`/frameworks/idea-to-income`,getParentRoute:()=>Q}
21),Rh=Gp.update({id:`/frameworks/six-foundations-sales-confidence`,path:`/frameworks/six-foundations-sales-confidence`,getParentRoute:()=>Q}),zh=Kp.update({id:`/frameworks/visibility-alignment-system`,path:`/frameworks/visibility-alignment-system`,getParentRoute:()=>Q}),Bh=qp.update({id:`/guide/$token`,path:`/guide/$token`,getParentRoute:()=>Q}),Vh=Jp.update({id:`/guides/`,path:`/guides/`,getParentRoute:()=>Q}),Hh=Yp.update({id:`/guides/ai-literacy-guide`,path:`/guides/ai-literacy-guide`,getParentRoute:()=>Q}),Uh=Xp.update({id:`/guides/career-clarity-guide`,path:`/guides/career-clarity-guide`,getParentRoute:()=>Q}),Wh=Zp.update({id:`/guides/leadership-is-a-decision`,path:`/guides/leadership-is-a-decision`,getParentRoute:()=>Q}),Gh=Qp.update({id:`/guides/solopreneur-operations-guide`,path:`/guides/solopreneur-operations-guide`,getParentRoute:()=>Q}),Kh=$p.update({id:`/guides/the-success-blueprint`,path:`/guides/the-success-blueprint`,getParentRoute:()=>Q}),qh=em.update({id:`/guides/the-visibility-starter-kit`,path:`/guides/the-visibility-starter-kit`,getParentRoute:()=>Q}),Jh=rm.update({id:`/sales-confidence-assessment/`,path:`/sales-confidence-assessment/`,getParentRoute:()=>Q}),Yh=im.update({id:`/sales-confidence-assessment/start`,path:`/sales-confidence-assessment/start`,getParentRoute:()=>Q}),Xh=vm.update({id:`/sell-with-confidence/ask-better-questions`,path:`/sell-with-confidence/ask-better-questions`,getParentRoute:()=>Q}),Zh=ym.update({id:`/sell-with-confidence/clarify-your-value`,path:`/sell-with-confidence/clarify-your-value`,getParentRoute:()=>Q}),Qh=bm.update({id:`/sell-with-confidence/find-your-ideal-client`,path:`/sell-with-confidence/find-your-ideal-client`,getParentRoute:()=>Q}),$h=xm.update({id:`/sell-with-confidence/follow-up-effectively`,path:`/sell-with-confidence/follow-up-effectively`,getParentRoute:()=>Q}),eg=Sm.update({id:`/sell-with-confidence/handle-objections`,path:`/sell-with-confidence/handle-objections`,getParentRoute:()=>Q}),tg=Em.update({id:`/sell-with-confidence/sell-like-yourself`,path:`/sell-with-confidence/sell-like-yourself`,getParentRoute:()=>Q}),ng=Mm.update({id:`/selling-guides/`,path:`/selling-guides/`,getParentRoute:()=>Q}),rg={IndexRoute:qm,AboutRoute:Jm,AiDiscoverabilityRoute:Ym,AiForSmallBusinessRoute:Xm,AiLiteracyRoute:Zm,AiqRoute:Qm,ArticlesRoute:$m,BioRoute:eh,BlogRoute:th,ContactRoute:nh,EducationalSessionsRoute:rh,FounderFilterRoute:ih,HowToActLikeALeaderBeforeYouHaveTheTitleRoute:ah,HowToBuildAPersonalBrandThatIsNotTiedToYourJobTitleRoute:oh,HowToBuildBusinessCapabilityWithAiBeforeYouHireRoute:sh,HowToBuildVisibilityBeforeYouFeelReadyRoute:ch,HowToCloseTheConfidenceGapInYourCareerRoute:lh,HowToHaveASalesConversationWithoutFeelingLikeASalespersonRoute:uh,HowToHaveThe10ConversationsThatValidateABusinessIdeaRoute:dh,HowToKnowIfYourBusinessIdeaIsGoodRoute:fh,HowToMakeTheShiftFromOperatorToLeaderInASmallBusinessRoute:ph,HowToTellIfYouAreReadyToStartABusinessRoute:mh,HowToTellIfYourIdeaSolvesARealProblemOrAMildAnnoyanceRoute:hh,HowToUseYourJobToFundTheBusinessYouAreBuildingRoute:gh,IntrovertedEntrepreneursRoute:_h,PrivacyRoute:vh,ResourcesRoute:yh,SellingAsServiceAPracticalFrameForNonSalesProfessionalsRoute:bh,SpeakingMediaRoute:xh,TermsRoute:Sh,ThankYouRoute:Ch,TheMindsetShiftThatMadeMeComfortableSellingRoute:wh,TheSalesConfidenceSmallBusinessOwnersAreMissingRoute:Th,WhatSalesIsForPeopleWhoHateSalesRoute:Eh,WhySalesFeelsHardForSmallBusinessOwnersRoute:Dh,WomenConnectRoute:Oh,BuildYourBusinessBuildWhileEmployedRoute:kh,BuildYourBusinessBuildYourVisibilityRoute:Ah,BuildYourBusinessEvaluateYourIdeaRoute:jh,BuildYourBusinessGenerateRevenueRoute:Mh,BuildYourBusinessLeadYourBusinessRoute:Nh,BuildYourBusinessRunYourBusinessRoute:Ph,BundleTokenRoute:Fh,FrameworksClearFrameworkRoute:Ih,FrameworksIdeaToIncomeRoute:Lh,FrameworksSixFoundationsSalesConfidenceRoute:Rh,FrameworksVisibilityAlignmentSystemRoute:zh,GuideTokenRoute:Bh,GuidesAiLiteracyGuideRoute:Hh,GuidesCareerClarityGuideRoute:Uh,GuidesLeadershipIsADecisionRoute:Wh,GuidesSolopreneurOperationsGuideRoute:Gh,GuidesTheSuccessBlueprintRoute:Kh,GuidesTheVisibilityStarterKitRoute:qh,SalesConfidenceAssessmentStartRoute:Yh,SellWithConfidenceAskBetterQuestionsRoute:Xh,SellWithConfidenceClarifyYourValueRoute:Zh,SellWithConfidenceFindYourIdealClientRoute:Qh,SellWithConfidenceFollowUpEffectivelyRoute:$h,SellWithConfidenceHandleObjectionsRoute:eg,SellWithConfidenceSellLikeYourselfRoute:tg,SellingGuidesSlugRoute:Nm.update({id:`/selling-guides/$slug`,path:`/selling-guides/$slug`,getParentRoute:()=>Q}),GuidesIndexRoute:Vh,SalesConfidenceAssessmentIndexRoute:Jh,SellingGuidesIndexRoute:ng,FrameworksClearFrameworkApplyRoute:Pm.update({id:`/frameworks/clear-framework_/apply`,path:`/frameworks/clear-framework/apply`,getParentRoute:()=>Q}
21),FrameworksClearFrameworkComprehendRoute:Fm.update({id:`/frameworks/clear-framework_/comprehend`,path:`/frameworks/clear-framework/comprehend`,getParentRoute:()=>Q}),FrameworksClearFrameworkEvaluateRoute:Im.update({id:`/frameworks/clear-framework_/evaluate`,path:`/frameworks/clear-framework/evaluate`,getParentRoute:()=>Q}),FrameworksClearFrameworkLayerRoute:Lm.update({id:`/frameworks/clear-framework_/layer`,path:`/frameworks/clear-framework/layer`,getParentRoute:()=>Q}),FrameworksClearFrameworkRecognizeRoute:Rm.update({id:`/frameworks/clear-framework_/recognize`,path:`/frameworks/clear-framework/recognize`,getParentRoute:()=>Q}),SalesConfidenceAssessmentReportIdRoute:Gm.update({id:`/sales-confidence-assessment/report/$id`,path:`/sales-confidence-assessment/report/$id`,getParentRoute:()=>Q}),SalesConfidenceAssessmentResultsIdRoute:Km.update({id:`/sales-confidence-assessment/results/$id`,path:`/sales-confidence-assessment/results/$id`,getParentRoute:()=>Q})},ig=Q._addFileChildren(rg),ag=()=>ei({routeTree:ig,context:{queryClient:new vd},scrollRestoration:!0,defaultPreloadStaleTime:0});async function og(){let e=await ag(),t;if(vu){let n=await vu.getOptions();n.serializationAdapters=n.serializationAdapters??[],window.__TSS_START_OPTIONS__=n,t=n.serializationAdapters,e.options.defaultSsr=n.defaultSsr}else t=[],window.__TSS_START_OPTIONS__={serializationAdapters:t};return t.push(hr),e.options.serializationAdapters&&t.push(...e.options.serializationAdapters),e.update({basepath:``,serializationAdapters:t}),e.stores.ids.get().length||await rr(e),e}var sg=og;function cg(){return sg().finally(()=>window.$_TSR?.h())}var lg;function ug(){return lg||=cg(),(0,M.jsx)(_r,{promise:lg,children:e=>(0,M.jsx)(ri,{router:e})})}var dg=Ve();(0,j.startTransition)(()=>{(0,dg.hydrateRoot)(document,(0,M.jsx)(j.StrictMode,{children:(0,M.jsx)(ug,{})}))});export{ud as $,Hf as A,rf as B,np as C,Jf as D,Xf as E,Mf as F,Jd as G,ef as H,wf as I,Kd as J,qd as K,xf as L,Rf as M,If as N,Kf as O,Pf as P,bd as Q,hf as R,pp as S,Qf as T,$d as U,nf as V,Zd as W,zd as X,Bd as Y,Nd as Z,Dp as _,Nm as a,Uu as at,Cp as b,pm as c,Ru as ct,hm as d,Su as dt,$u as et,dm as f,bu as ft,kp as g,jp as h,Bm as i,Tu as it,Bf as j,Wf as k,_m as l,qu as lt,Hp as m,mu as mt,Wm as n,Yu as nt,Dm as o,Au as ot,qp as p,yu as pt,Yd as q,Um as r,Du as rt,Cm as s,ku as st,Gm as t,Xu as tt,lm as u,Ou as ut,Tp as v,ep as w,hp as x,wp as y,of as z};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.