1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,618566,(e,t,n)=>{t.exports=e.r(976562)},526732,e=>{"use strict";var t=e.i(247167),n=e.i(843476),r=e.i(271645);class a extends Error{constructor(e,t){e instanceof Error?super(void 0,{cause:{err:e,...e.cause,...t}}):"string"==typeof e?(t instanceof Error&&(t={err:t,...t.cause}),super(e,t)):super(void 0,e),this.name=this.constructor.name,this.type=this.constructor.type??"AuthError",this.kind=this.constructor.kind??"error",Error.captureStackTrace?.(this,this.constructor);const n=`https://errors.authjs.dev#${this.type.toLowerCase()}`;this.message+=`${this.message?". ":""}Read more at ${n}`}}class i extends a{}class o extends a{}async function s(e,t,n,r={}){let a=`${l(t)}/${e}`;try{let e={headers:{"Content-Type":"application/json",...r?.headers?.cookie?{cookie:r.headers.cookie}:{}}};r?.body&&(e.body=JSON.stringify(r.body),e.method="POST");let t=await fetch(a,e),n=await t.json();if(!t.ok)throw n;return n}catch(e){return n.error(new i(e.message,e)),null}}function l(e){return"u"<typeof window?`${e.baseUrlServer}${e.basePathServer}`:e.basePath}function c(){return Math.floor(Date.now()/1e3)}function u(e){let t=new URL("http://localhost:3000/api/auth");e&&!e.startsWith("http")&&(e=`https://${e}`);let n=new URL(e||t),r=("/"===n.pathname?t.pathname:n.pathname).replace(/\/$/,""),a=`${n.origin}${r}`;return{origin:n.origin,host:n.host,path:r,base:a,toString:()=>a}}let d={baseUrl:u(t.default.env.NEXTAUTH_URL??t.default.env.VERCEL_URL).origin,basePath:u(t.default.env.NEXTAUTH_URL).path,baseUrlServer:u(t.default.env.NEXTAUTH_URL_INTERNAL??t.default.env.NEXTAUTH_URL??t.default.env.VERCEL_URL).origin,basePathServer:u(t.default.env.NEXTAUTH_URL_INTERNAL??t.default.env.NEXTAUTH_URL).path,_lastSync:0,_session:void 0,_getSession:()=>{}},f=null;function g(){return"u"<typeof BroadcastChannel?{postMessage:()=>{},addEventListener:()=>{},removeEventListener:()=>{},name:"next-auth",onmessage:null,onmessageerror:null,close:()=>{},dispatchEvent:()=>!1}:new BroadcastChannel("next-auth")}function p(){return null===f&&(f=g()),f}let w={debug:console.debug,error:console.error,warn:console.warn},h=r.createContext?.(void 0);function _(e){if(!h)throw Error("React Context is unavailable in Server Components");let t=r.useContext(h),{required:n,onUnauthenticated:a}=e??{},i=n&&"unauthenticated"===t.status;return(r.useEffect(()=>{if(i){let e=`${d.basePath}/signin?${new URLSearchParams({error:"SessionRequired",callbackUrl:window.location.href})}`;a?a():window.location.href=e}},[i,a]),i)?{data:t.data,update:t.update,status:"loading"}:t}async function m(e){let t=await s("session",d,w,e);return(e?.broadcast??!0)&&g().postMessage({event:"session",data:{trigger:"getSession"}}),t}async function v(){let e=await s("csrf",d,w);return e?.csrfToken??""}async function y(){return s("providers",d,w)}async function b(e,t,n){let{callbackUrl:r,...a}=t??{},{redirect:i=!0,redirectTo:o=r??window.location.href,...s}=a,c=l(d),u=await y();if(!u){let e=`${c}/error`;window.location.href=e;return}if(!e||!u[e]){let e=`${c}/signin?${new URLSearchParams({callbackUrl:o})}`;window.location.href=e;return}let f=u[e].type;if("webauthn"===f)throw TypeError(`Provider id "${e}" refers to a WebAuthn provider. 2Please use \`import { signIn } from "next-auth/webauthn"\` instead.`);let g=`${c}/${"credentials"===f?"callback":"signin"}/${e}`,p=await v(),w=await fetch(`${g}?${new URLSearchParams(n)}`,{method:"post",headers:{"Content-Type":"application/x-www-form-urlencoded","X-Auth-Return-Redirect":"1"},body:new URLSearchParams({...s,csrfToken:p,callbackUrl:o})}),h=await w.json();if(i){let e=h.url??o;window.location.href=e,e.includes("#")&&window.location.reload();return}let _=new URL(h.url).searchParams.get("error")??void 0,m=new URL(h.url).searchParams.get("code")??void 0;return w.ok&&await d._getSession({event:"storage"}),{error:_,code:m,status:w.status,ok:w.ok,url:_?null:h.url}}async function S(e){let{redirect:t=!0,redirectTo:n=e?.callbackUrl??window.location.href}=e??{},r=l(d),a=await v(),i=await fetch(`${r}/signout`,{method:"post",headers:{"Content-Type":"application/x-www-form-urlencoded","X-Auth-Return-Redirect":"1"},body:new URLSearchParams({csrfToken:a,callbackUrl:n})}),o=await i.json();if(p().postMessage({event:"session",data:{trigger:"signout"}}),t){let e=o.url??n;window.location.href=e,e.includes("#")&&window.location.reload();return}return await d._getSession({event:"storage"}),o}function E(e){if(!h)throw Error("React Context is unavailable in Server Components");let{children:t,basePath:a,refetchInterval:i,refetchWhenOffline:l}=e;a&&(d.basePath=a);let u=void 0!==e.session;d._lastSync=u?c():0;let[f,g]=r.useState(()=>(u&&(d._session=e.session),e.session)),[_,y]=r.useState(!u);r.useEffect(()=>(d._getSession=async({event:e}={})=>{try{let t="storage"===e;if(t||void 0===d._session){d._lastSync=c(),d._session=await m({broadcast:!t}),g(d._session);return}if(!e||null===d._session||c()<d._lastSync)return;d._lastSync=c(),d._session=await m(),g(d._session)}catch(e){w.error(new o(e.message,e))}finally{y(!1)}},d._getSession(),()=>{d._lastSync=0,d._session=void 0,d._getSession=()=>{}}),[]),r.useEffect(()=>{let e=()=>d._getSession({event:"storage"});return p().addEventListener("message",e),()=>p().removeEventListener("message",e)},[]),r.useEffect(()=>{let{refetchOnWindowFocus:t=!0}=e,n=()=>{t&&"visible"===document.visibilityState&&d._getSession({event:"visibilitychange"})};return document.addEventListener("visibilitychange",n,!1),()=>document.removeEventListener("visibilitychange",n,!1)},[e.refetchOnWindowFocus]);let b=function(){let[e,t]=r.useState("u">typeof navigator&&navigator.onLine),n=()=>t(!0),a=()=>t(!1);return r.useEffect(()=>(window.addEventListener("online",n),window.addEventListener("offline",a),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",a)}),[]),e}(),S=!1!==l||b;r.useEffect(()=>{if(i&&S){let e=setInterval(()=>{d._session&&d._getSession({event:"poll"})},1e3*i);return()=>clearInterval(e)}},[i,S]);let E=r.useMemo(()=>({data:f,status:_?"loading":f?"authenticated":"unauthenticated",async update(e){if(_)return;y(!0);let t=await s("session",d,w,void 0===e?void 0:{body:{csrfToken:await v(),data:e}});return y(!1),t&&(g(t),p().postMessage({event:"session",data:{trigger:"getSession"}})),t}}),[f,_]);return(0,n.jsx)(h.Provider,{value:E,children:t})}e.s(["SessionProvider",()=>E,"signIn",()=>b,"signOut",()=>S,"useSession",()=>_],526732)},375679,e=>{"use strict";let t=e.i(247167).default.env.NEXT_PUBLIC_GA_MEASUREMENT_ID||"",n=null,r="typeoff_pending_checkout";function a(e,t={}){window.gtag&&window.gtag("event",e,Object.fromEntries(Object.entries(t).filter(e=>void 0!==e[1])))}function i(e){window.gtag&&t&&window.gtag("config",t,{user_id:e||void 0,send_page_view:!1})}function o(){try{let e=window.sessionStorage.getItem(r);if(!e)return null;let t=JSON.parse(e);if(!t.attempt_id||!t.provider||!t.plan_type||!t.billing_cycle)return null;return t}catch{return null}}function s(e){let t={attempt_id:window.crypto.randomUUID(),...e};return a("checkout_started",{provider:t.provider,plan_type:t.plan_type,billing_cycle:t.billing_cycle,campaign_id:u()}),window.sessionStorage.setItem(r,JSON.stringify(t)),t}function l(e,t="checkout_closed"){let n=o();if(!n||e&&n.provider!==e)return;let i=`typeoff_analytics_checkout_abandoned_${n.attempt_id}`;window.sessionStorage.getItem(i)||(a("checkout_abandoned",{surface:"checkout",provider:n.provider,plan_type:n.plan_type,billing_cycle:n.billing_cycle,checkout_attempt_id:n.attempt_id,abandonment_reason:t}),window.sessionStorage.setItem(i,"1")),window.sessionStorage.removeItem(r)}function c(){window.sessionStorage.removeItem(r)}function u(){let e="typeoff_campaign_id";try{let t=window.localStorage.getItem(e);if(t)return t;let n=window.crypto.randomUUID();return window.localStorage.setItem(e,n),n}catch{return n||=window.crypto.randomUUID()}}e.s(["clearPendingCheckoutAnalytics",()=>c,"getOrCreateCampaignId",()=>u,"getPendingCheckoutAnalytics",()=>o,"recordCheckoutAbandoned",()=>l,"recordCheckoutStarted",()=>s,"setAnalyticsUserId",()=>i,"trackEvent",()=>
2a])},808341,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={cancelIdleCallback:function(){return o},requestIdleCallback:function(){return i}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let i="u">typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},o="u">typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},479520,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return v},handleClientScriptLoad:function(){return h},initScriptLoader:function(){return _}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let i=e.r(555682),o=e.r(190809),s=e.r(843476),l=i._(e.r(174080)),c=o._(e.r(271645)),u=e.r(742732),d=e.r(922737),f=e.r(808341),g=new Map,p=new Set,w=e=>{let{src:t,id:n,onLoad:r=()=>{},onReady:a=null,dangerouslySetInnerHTML:i,children:o="",strategy:s="afterInteractive",onError:c,stylesheets:u}=e,f=n||t;if(f&&p.has(f))return;if(g.has(t)){p.add(f),g.get(t).then(r,c);return}let w=()=>{a&&a(),p.add(f)},h=document.createElement("script"),_=new Promise((e,t)=>{h.addEventListener("load",function(t){e(),r&&r.call(this,t),w()}),h.addEventListener("error",function(e){t(e)})}).catch(function(e){c&&c(e)});i?(h.innerHTML=i.__html||"",w()):o?(h.textContent="string"==typeof o?o:Array.isArray(o)?o.join(""):"",w()):t&&(h.src=t,g.set(t,_)),(0,d.setAttributesFromProps)(h,e),"worker"===s&&h.setAttribute("type","text/partytown"),h.setAttribute("data-nscript",s),u&&(e=>{if(l.default.preinit)return e.forEach(e=>{l.default.preinit(e,{as:"style"})});if("u">typeof window){let t=document.head;e.forEach(e=>{let n=document.createElement("link");n.type="text/css",n.rel="stylesheet",n.href=e,t.appendChild(n)})}})(u),document.body.appendChild(h)};function h(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,f.requestIdleCallback)(()=>w(e))}):w(e)}function _(e){e.forEach(h),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");p.add(t)})}function m(e){let{id:t,src:n="",onLoad:r=()=>{},onReady:a=null,strategy:i="afterInteractive",onError:o,stylesheets:d,...g}=e,{updateScripts:h,scripts:_,getIsSsr:m,appDir:v,nonce:y}=(0,c.useContext)(u.HeadManagerContext);y=g.nonce||y;let b=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let e=t||n;b.current||(a&&e&&p.has(e)&&a(),b.current=!0)},[a,t,n]);let S=(0,c.useRef)(!1);if((0,c.useEffect)(()=>{if(!S.current){if("afterInteractive"===i)w(e);else"lazyOnload"===i&&("complete"===document.readyState?(0,f.requestIdleCallback)(()=>w(e)):window.addEventListener("load",()=>{(0,f.requestIdleCallback)(()=>w(e))}));S.current=!0}},[e,i]),("beforeInteractive"===i||"worker"===i)&&(h?(_[i]=(_[i]||[]).concat([{id:t,src:n,onLoad:r,onReady:a,onError:o,...g,nonce:y}]),h(_)):m&&m()?p.add(t||n):m&&!m()&&w({...e,nonce:y})),v){if(d&&d.forEach(e=>{l.default.preinit(e,{as:"style"})}),"beforeInteractive"===i)if(!n)return g.dangerouslySetInnerHTML&&(g.children=g.dangerouslySetInnerHTML.__html,delete g.dangerouslySetInnerHTML),(0,s.jsx)("script",{nonce:y,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([0,{...g,id:t}])})`}});else return l.default.preload(n,g.integrity?{as:"script",integrity:g.integrity,nonce:y,crossOrigin:g.crossOrigin}:{as:"script",nonce:y,crossOrigin:g.crossOrigin}),(0,s.jsx)("script",{nonce:y,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([n,{...g,id:t}])})`}});"afterInteractive"===i&&n&&l.default.preload(n,g.integrity?{as:"script",integrity:g.integrity,nonce:y,crossOrigin:g.crossOrigin}:{as:"script",nonce:y,crossOrigin:g.crossOrigin})}return null}Object.defineProperty(m,"__nextScript",{value:!0});let v=m;("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esMo
2dule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},956961,e=>{"use strict";var t=e.i(843476),n=e.i(526732);function r({children:e}){return(0,t.jsx)(n.SessionProvider,{children:e})}e.s(["SessionProvider",()=>r])},386402,e=>{"use strict";var t=e.i(271645),n=e.i(618566),r=e.i(526732),a=e.i(375679);let i=["/download","/pricing","/login","/contact"];function o(){let e=(0,n.usePathname)(),{data:o}=(0,r.useSession)();return(0,t.useEffect)(()=>{(0,a.setAnalyticsUserId)(o?.user?.id||null)},[o?.user?.id]),(0,t.useEffect)(()=>{if(window.sessionStorage.getItem("typeoff_landing_view_sent"))return;let t=new URLSearchParams(window.location.search);(0,a.trackEvent)("landing_view",{landing_page:e,campaign_id:(0,a.getOrCreateCampaignId)(),utm_source:t.get("utm_source")||void 0,utm_medium:t.get("utm_medium")||void 0,utm_campaign:t.get("utm_campaign")||void 0,utm_content:t.get("utm_content")||void 0}),window.sessionStorage.setItem("typeoff_landing_view_sent","1")},[e]),(0,t.useEffect)(()=>{let e=e=>{if(!(e.target instanceof Element))return;let t=e.target.closest("a");if(!(t instanceof HTMLAnchorElement))return;let n=function(e){let t=e.dataset.analyticsCta;if(t)return t;try{let t=new URL(e.href,window.location.href);if("apps.apple.com"===t.hostname)return"app_store";if("www.pgyer.com"===t.hostname)return"android_download";let n=i.find(e=>t.pathname===e||t.pathname.endsWith(e));return n?.slice(1)||null}catch{return null}}(t),r=t.dataset.analyticsBlogCta;r&&(0,a.trackEvent)("blog_cta_click",{article_slug:r,cta_position:t.dataset.analyticsPosition||"unknown",cta_destination:n||"unknown",source_path:window.location.pathname,campaign_id:(0,a.getOrCreateCampaignId)()}),n&&(0,a.trackEvent)("cta_click",{cta_destination:n,source_path:window.location.pathname,campaign_id:(0,a.getOrCreateCampaignId)()})};return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[]),null}e.s(["Analytics",()=>o])}]);
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.