1import{a as e,n as t,t as n}from"./dist-BcqxyJXR.js";import{n as r}from"./jsx-runtime-BmPt2lWy.js";import{$ as i,A as a,B as o,C as s,D as c,E as l,F as u,G as d,H as f,I as p,J as ee,K as m,L as h,M as te,N as g,O as _,P as ne,Q as v,R as re,S as ie,T as ae,U as oe,V as se,W as ce,X as le,Y as ue,Z as de,_ as fe,a as pe,at as me,b as he,c as ge,ct as _e,d as ve,dt as ye,et as be,ft as xe,i as Se,it as Ce,j as we,k as y,l as Te,lt as b,nt as Ee,o as De,ot as Oe,q as ke,rt as Ae,st as je,tt as Me,u as Ne,ut as Pe,v as Fe,w as x,x as Ie,y as Le,z as S}from"./localStorageWrapper-CHmqlIkl.js";import{l as Re}from"./chunk-5KNZJZUH-CIQPIDni.js";g(`firebase`,`12.10.0`,`app`);var ze=new Map,Be={activated:!1,tokenObservers:[]},Ve={initialized:!1,enabled:!1};function C(e){return ze.get(e)||{...Be}}function He(e,t){return ze.set(e,t),ze.get(e)}function Ue(){return Ve}var We=`https://content-firebaseappcheck.googleapis.com/v1`,Ge=`exchangeRecaptchaEnterpriseToken`,Ke=`exchangeDebugToken`,qe={OFFSET_DURATION:300*1e3,RETRIAL_MIN_WAIT:30*1e3,RETRIAL_MAX_WAIT:960*1e3},Je=1440*60*1e3,Ye=class{constructor(e,t,n,r,i){if(this.operation=e,this.retryPolicy=t,this.getWaitDuration=n,this.lowerBound=r,this.upperBound=i,this.pending=null,this.nextErrorWaitInterval=r,r>i)throw Error(`Proactive refresh lower bound greater than upper bound!`)}start(){this.nextErrorWaitInterval=this.lowerBound,this.process(!0).catch(()=>{})}stop(){this.pending&&=(this.pending.reject(`cancelled`),null)}isRunning(){return!!this.pending}async process(e){this.stop();try{this.pending=new re,this.pending.promise.catch(e=>{}),await Xe(this.getNextRun(e)),this.pending.resolve(),await this.pending.promise,this.pending=new re,this.pending.promise.catch(e=>{}),await this.operation(),this.pending.resolve(),await this.pending.promise,this.process(!0).catch(()=>{})}catch(e){this.retryPolicy(e)?this.process(!1).catch(()=>{}):this.stop()}}getNextRun(e){if(e)return this.nextErrorWaitInterval=this.lowerBound,this.getWaitDuration();{let e=this.nextErrorWaitInterval;return this.nextErrorWaitInterval*=2,this.nextErrorWaitInterval>this.upperBound&&(this.nextErrorWaitInterval=this.upperBound),e}}};function Xe(e){return new Promise(t=>{setTimeout(t,e)})}var w=new S(`appCheck`,`AppCheck`,{"already-initialized":`You have already called initializeAppCheck() for FirebaseApp {$appName} with different options. To avoid this error, call initializeAppCheck() with the same options as when it was originally called. This will return the already initialized instance.`,"use-before-activation":`App Check is being used before initializeAppCheck() is called for FirebaseApp {$appName}. Call initializeAppCheck() before instantiating other Firebase services.`,"fetch-network-error":`Fetch failed to connect to a network. Check Internet connection. Original error: {$originalErrorMessage}.`,"fetch-parse-error":`Fetch client could not parse response. Original error: {$originalErrorMessage}.`,"fetch-status-error":`Fetch server returned an HTTP error status. HTTP status: {$httpStatus}.`,"storage-open":`Error thrown when opening storage. Original error: {$originalErrorMessage}.`,"storage-get":`Error thrown when reading from storage. Original error: {$originalErrorMessage}.`,"storage-set":`Error thrown when writing to storage. Original error: {$originalErrorMessage}.`,"recaptcha-error":`ReCAPTCHA error.`,"initial-throttle":`{$httpStatus} error. Attempts allowed again after {$time}`,throttled:`Requests throttled due to previous {$httpStatus} error. Attempts allowed again after {$time}`});function Ze(e=!1){return e?self.grecaptcha?.enterprise:self.grecaptcha}function Qe(e){if(!C(e).activated)throw w.create(`use-before-activation`,{appName:e.name})}function $e(e){let t=Math.round(e/1e3),n=Math.floor(t/(3600*24)),r=Math.floor((t-n*3600*24)/3600),i=Math.floor((t-n*3600*24-r*3600)/60),a=t-n*3600*24-r*3600-i*60,o=``;return n&&(o+=et(n)+`d:`),r&&(o+=et(r)+`h:`),o+=et(i)+`m:`+et(a)+`s`,o}function et(e){return e===0?`00`:e>=10?e.toString():`0`+e}async function tt({url:e,body:t},n){let r={"Content-Type":`application/json`},i=n.getImmediate({optional:!0});if(i){let e=await i.getHeartbeatsHeader();e&&(r[`X-Firebase-Client`]=e)}let a={method:`POST`,body:JSON.stringify(t),headers:r},o;try{o=await fetch(e,a)}catch(e){throw w.create(`fetch-network-error`,{originalErrorMessage:e?.message})}if(o.status!==200)throw w.create(`fetch-status-error`,{httpStatus:o.status});let s;try{s=await o.json()}catch(e){throw w.create(`fetch-parse-error`,{originalErrorMessage:e?.message})}let c=s.ttl.match(/^([\d.]+)(s)$/);if(!c||!c[2]||isNaN(Number(c[1])))throw w.create(`fetch-parse-error`,{originalErrorMessage:`ttl field (timeToLive) is not in standard Protobuf Duration format: ${s.ttl}`});let l=Number(c[1])*1e3,u=Date.now();return{token:s.token,expireTimeMillis:u+l,issuedAtTimeMillis:u}}
1function nt(e,t){let{projectId:n,appId:r,apiKey:i}=e.options;return{url:`${We}/projects/${n}/apps/${r}:${Ge}?key=${i}`,body:{recaptcha_enterprise_token:t}}}function rt(e,t){let{projectId:n,appId:r,apiKey:i}=e.options;return{url:`${We}/projects/${n}/apps/${r}:${Ke}?key=${i}`,body:{debug_token:t}}}var it=`firebase-app-check-database`,at=1,ot=`firebase-app-check-store`,st=`debug-token`,ct=null;function lt(){return ct||(ct=new Promise((e,t)=>{try{let n=indexedDB.open(it,at);n.onsuccess=t=>{e(t.target.result)},n.onerror=e=>{t(w.create(`storage-open`,{originalErrorMessage:e.target.error?.message}))},n.onupgradeneeded=e=>{let t=e.target.result;switch(e.oldVersion){case 0:t.createObjectStore(ot,{keyPath:`compositeKey`})}}}catch(e){t(w.create(`storage-open`,{originalErrorMessage:e?.message}))}}),ct)}function ut(e){return ht(gt(e))}function dt(e,t){return mt(gt(e),t)}function ft(e){return mt(st,e)}function pt(){return ht(st)}async function mt(e,t){let n=(await lt()).transaction(ot,`readwrite`),r=n.objectStore(ot).put({compositeKey:e,value:t});return new Promise((e,t)=>{r.onsuccess=t=>{e()},n.onerror=e=>{t(w.create(`storage-set`,{originalErrorMessage:e.target.error?.message}))}})}async function ht(e){let t=(await lt()).transaction(ot,`readonly`),n=t.objectStore(ot).get(e);return new Promise((e,r)=>{n.onsuccess=t=>{let n=t.target.result;e(n?n.value:void 0)},t.onerror=e=>{r(w.create(`storage-get`,{originalErrorMessage:e.target.error?.message}))}})}function gt(e){return`${e.options.appId}-${e.name}`}var T=new p(`@firebase/app-check`);async function _t(e){if(me()){let t;try{t=await ut(e)}catch(e){T.warn(`Failed to read token from IndexedDB. Error: ${e}`)}return t}}function vt(e,t){return me()?dt(e,t).catch(e=>{T.warn(`Failed to write token to IndexedDB. Error: ${e}`)}):Promise.resolve()}async function yt(){let e;try{e=await pt()}catch{}if(e)return e;{let e=crypto.randomUUID();return ft(e).catch(e=>T.warn(`Failed to persist debug token to IndexedDB. Error: ${e}`)),e}}function bt(){return Ue().enabled}async function xt(){let e=Ue();if(e.enabled&&e.token)return e.token.promise;throw Error(` 2 Can't get debug token in production mode. 3 `)}function St(){let e=de(),t=Ue();if(t.initialized=!0,typeof e.FIREBASE_APPCHECK_DEBUG_TOKEN!=`string`&&e.FIREBASE_APPCHECK_DEBUG_TOKEN!==!0)return;t.enabled=!0;let n=new re;t.token=n,typeof e.FIREBASE_APPCHECK_DEBUG_TOKEN==`string`?n.resolve(e.FIREBASE_APPCHECK_DEBUG_TOKEN):n.resolve(yt())}var Ct={error:`UNKNOWN_ERROR`};function wt(e){return f.encodeString(JSON.stringify(e),!1)}async function Tt(e,t=!1,n=!1){let r=e.app;Qe(r);let i=C(r),a=i.token,o;if(a&&!E(a)&&(i.token=void 0,a=void 0),!a){let e=await i.cachedTokenPromise;e&&(E(e)?a=e:await vt(r,void 0))}if(!t&&a&&E(a))return{token:a.token};let s=!1;if(bt())try{let t=await xt();i.exchangeTokenPromise||(i.exchangeTokenPromise=tt(rt(r,t),e.heartbeatServiceProvider).finally(()=>{i.exchangeTokenPromise=void 0}),s=!0);let n=await i.exchangeTokenPromise;return await vt(r,n),i.token=n,{token:n.token}}catch(e){return e.code===`appCheck/throttled`||e.code===`appCheck/initial-throttle`?T.warn(e.message):n&&T.error(e),Mt(e)}try{i.exchangeTokenPromise||(i.exchangeTokenPromise=i.provider.getToken().finally(()=>{i.exchangeTokenPromise=void 0}),s=!0),a=await C(r).exchangeTokenPromise}catch(e){e.code===`appCheck/throttled`||e.code===`appCheck/initial-throttle`?T.warn(e.message):n&&T.error(e),o=e}let c;return a?o?c=E(a)?{token:a.token,internalError:o}:Mt(o):(c={token:a.token},i.token=a,await vt(r,a)):c=Mt(o),s&&jt(r,c),c}async function Et(e){let t=e.app;Qe(t);let{provider:n}=C(t);if(bt()){let{token:n}=await tt(rt(t,await xt()),e.heartbeatServiceProvider);return{token:n}}else{let{token:e}=await n.getToken();return{token:e}}}function Dt(e,t,n,r){let{app:i}=e,a=C(i),o={next:n,error:r,type:t};if(a.tokenObservers=[...a.tokenObservers,o],a.token&&E(a.token)){let t=a.token;Promise.resolve().then(()=>{n({token:t.token}),kt(e)}).catch(()=>{})}a.cachedTokenPromise.then(()=>kt(e))}function Ot(e,t){let n=C(e),r=n.tokenObservers.filter(e=>e.next!==t);r.length===0&&n.tokenRefresher&&n.tokenRefresher.isRunning()&&n.tokenRefresher.stop(),n.tokenObservers=r}function kt(e){let{app:t}
3=e,n=C(t),r=n.tokenRefresher;r||(r=At(e),n.tokenRefresher=r),!r.isRunning()&&n.isTokenAutoRefreshEnabled&&r.start()}function At(e){let{app:t}=e;return new Ye(async()=>{let n=C(t),r;if(r=n.token?await Tt(e,!0):await Tt(e),r.error)throw r.error;if(r.internalError)throw r.internalError},()=>!0,()=>{let e=C(t);if(e.token){let t=e.token.issuedAtTimeMillis+(e.token.expireTimeMillis-e.token.issuedAtTimeMillis)*.5+300*1e3,n=e.token.expireTimeMillis-300*1e3;return t=Math.min(t,n),Math.max(0,t-Date.now())}else return 0},qe.RETRIAL_MIN_WAIT,qe.RETRIAL_MAX_WAIT)}function jt(e,t){let n=C(e).tokenObservers;for(let e of n)try{e.type===`EXTERNAL`&&t.error!=null?e.error(t.error):e.next(t)}catch{}}function E(e){return e.expireTimeMillis-Date.now()>0}function Mt(e){return{token:wt(Ct),error:e}}var Nt=class{constructor(e,t){this.app=e,this.heartbeatServiceProvider=t}_delete(){let{tokenObservers:e}=C(this.app);for(let t of e)Ot(this.app,t.next);return Promise.resolve()}};function Pt(e,t){return new Nt(e,t)}function Ft(e){return{getToken:t=>Tt(e,t),getLimitedUseToken:()=>Et(e),addTokenListener:t=>Dt(e,`INTERNAL`,t),removeTokenListener:t=>Ot(e.app,t)}}var It=`@firebase/app-check`,Lt=`0.11.1`,Rt=`https://www.google.com/recaptcha/enterprise.js`;function zt(e,t){let n=new re,r=C(e);r.reCAPTCHAState={initialized:n};let i=Vt(e),a=Ze(!0);return a?Bt(e,t,a,i,n):Wt(()=>{let r=Ze(!0);if(!r)throw Error(`no recaptcha`);Bt(e,t,r,i,n)}),n.promise}function Bt(e,t,n,r,i){n.ready(()=>{Ut(e,t,n,r),i.resolve(n)})}function Vt(e){let t=`fire_app_check_${e.name}`,n=document.createElement(`div`);return n.id=t,n.style.display=`none`,document.body.appendChild(n),t}async function Ht(e){Qe(e);let t=await C(e).reCAPTCHAState.initialized.promise;return new Promise((n,r)=>{let i=C(e).reCAPTCHAState;t.ready(()=>{n(t.execute(i.widgetId,{action:`fire_app_check`}))})})}function Ut(e,t,n,r){let i=n.render(r,{sitekey:t,size:`invisible`,callback:()=>{C(e).reCAPTCHAState.succeeded=!0},"error-callback":()=>{C(e).reCAPTCHAState.succeeded=!1}}),a=C(e);a.reCAPTCHAState={...a.reCAPTCHAState,widgetId:i}}function Wt(e){let t=document.createElement(`script`);t.src=Rt,t.onload=e,document.head.appendChild(t)}var Gt=class e{constructor(e){this._siteKey=e,this._throttleData=null}async getToken(){qt(this._throttleData);let e=await Ht(this._app).catch(e=>{throw w.create(`recaptcha-error`)});if(!C(this._app).reCAPTCHAState?.succeeded)throw w.create(`recaptcha-error`);let t;try{t=await tt(nt(this._app,e),this._heartbeatServiceProvider)}catch(e){throw e.code?.includes(`fetch-status-error`)?(this._throttleData=Kt(Number(e.customData?.httpStatus),this._throttleData),w.create(`initial-throttle`,{time:$e(this._throttleData.allowRequestsAfter-Date.now()),httpStatus:this._throttleData.httpStatus})):e}return this._throttleData=null,t}initialize(e){this._app=e,this._heartbeatServiceProvider=_(e,`heartbeat`),zt(e,this._siteKey).catch(()=>{})}isEqual(t){return t instanceof e?this._siteKey===t._siteKey:!1}};function Kt(e,t){if(e===404||e===403)return{backoffCount:1,allowRequestsAfter:Date.now()+Je,httpStatus:e};{let n=t?t.backoffCount:0,r=ce(n,1e3,2);return{backoffCount:n+1,allowRequestsAfter:Date.now()+r,httpStatus:e}}}function qt(e){if(e&&Date.now()-e.allowRequestsAfter<=0)throw w.create(`throttled`,{time:$e(e.allowRequestsAfter-Date.now()),httpStatus:e.httpStatus})}function Jt(e=we(),t){e=v(e);let n=_(e,`app-check`);if(Ue().initialized||St(),bt()&&xt().then(e=>console.log(`App Check debug token: ${e}. You will need to add it to your app's App Check settings in the Firebase console for it to work.`)),n.isInitialized()){let r=n.getImmediate(),i=n.getOptions();if(i.isTokenAutoRefreshEnabled===t.isTokenAutoRefreshEnabled&&i.provider.isEqual(t.provider))return r;throw w.create(`already-initialized`,{appName:e.name})}let r=n.initialize({options:t});return Yt(e,t.provider,t.isTokenAutoRefreshEnabled),C(e).isTokenAutoRefreshEnabled&&Dt(r,`INTERNAL`,()=>{}),r}function Yt(e,t,n=!1){let r=He(e,{...Be});r.activated=!0,r.provider=t,r.cachedTokenPromise=_t(e).then(t=>(t&&E(t)&&(r.token=t,jt(e,{token:t.token})),t)),r.isTokenAutoRefreshEnabled=n&&e.automaticDataCollectionEnabled,!e.automaticDataCollectionEnabled&&n&&T.warn("`isTokenAutoRefreshEnabled` is true but `automaticDataCollectionEnabled` was set to false during `initializeApp()`. This blocks automatic token refresh."),r.provider.initialize(e)}var Xt=`app-check`,Zt=`app-check-internal`;function Qt(){a(new h(Xt,e=>Pt(e.getProvider(`app`).getImmediate(),e.getProvider(`heartbeat`)),`PUBLIC`).setInstantiationMode(`EXPLICIT`).setInstanceCreatedCallback((e,t,n)=>{e.getProvider(Zt).initialize()})),a(new h(Zt,e=>Ft(e.getProvider(`app-check`).getImmediate()),`PUBLIC`).setInstantiationMode(`EXPLICIT`)),g(It,Lt)}Qt();var $t=`functions`,en=class{constructor(e,t,n,r){this.app=e,this.auth=null,this.messaging=null,this.appCheck=null,this.serverAppAppCheckToken=null,y(e)&&e.settings.appCheckToken&&(this.serverAppAppCheckToken=e.settings.appCheckToken),this.auth=t.getImmediate({optional:!0}),this.messaging=n.getImmediate({optional:!0}),this.auth||t.get().then(e=>this.auth=e,()=>{}),this.messaging||n.get().then(e=>this.messaging=e,()=>{}),this.appCheck||r?.get().then(e=>this.appCheck=e,()=>{})}async getAuthToken(){if(this.auth)try{return(await this.auth.getToken())?.accessToken}catch{return}}
3async getMessagingToken(){if(!(!this.messaging||!(`Notification`in self)||Notification.permission!==`granted`))try{return await this.messaging.getToken()}catch{return}}async getAppCheckToken(e){if(this.serverAppAppCheckToken)return this.serverAppAppCheckToken;if(this.appCheck){let t=e?await this.appCheck.getLimitedUseToken():await this.appCheck.getToken();return t.error?null:t.token}return null}async getContext(e){return{authToken:await this.getAuthToken(),messagingToken:await this.getMessagingToken(),appCheckToken:await this.getAppCheckToken(e)}}},tn=`us-central1`,nn=class{constructor(e,t,n,r,i=tn,a=(...e)=>fetch(...e)){this.app=e,this.fetchImpl=a,this.emulatorOrigin=null,this.contextProvider=new en(e,t,n,r),this.cancelAllRequests=new Promise(e=>{this.deleteService=()=>Promise.resolve(e())});try{let e=new URL(i);this.customDomain=e.origin+(e.pathname===`/`?``:e.pathname),this.region=tn}catch{this.customDomain=null,this.region=i}}_delete(){return this.deleteService()}_url(e){let t=this.app.options.projectId;return this.emulatorOrigin===null?this.customDomain===null?`https://${this.region}-${t}.cloudfunctions.net/${e}`:`${this.customDomain}/${e}`:`${this.emulatorOrigin}/${t}/${this.region}/${e}`}};function rn(e,t,n){let r=Me(t);e.emulatorOrigin=`http${r?`s`:``}://${t}:${n}`,r&&(_e(e.emulatorOrigin+`/backends`),ye(`Functions`,!0))}var an=`@firebase/functions`,on=`0.13.2`,sn=`auth-internal`,cn=`app-check-internal`,ln=`messaging-internal`;function un(e){a(new h($t,(e,{instanceIdentifier:t})=>new nn(e.getProvider(`app`).getImmediate(),e.getProvider(sn),e.getProvider(ln),e.getProvider(cn),t),`PUBLIC`).setMultipleInstances(!0)),g(an,on,e),g(an,on,`esm2020`)}function dn(e=we(),t=tn){let n=_(v(e),$t).getImmediate({identifier:t}),r=ue(`functions`);return r&&fn(n,...r),n}function fn(e,t,n){rn(v(e),t,n)}un();function pn(){return{"dependent-sdk-initialized-before-auth":"Another Firebase SDK was initialized and is trying to use Auth before Auth is initialized. Please be sure to call `initializeAuth` or `getAuth` before starting any other Firebase SDK."}}var mn=pn,hn=new S(`auth`,`Firebase`,pn()),gn=new p(`@firebase/auth`);function _n(e,...t){gn.logLevel<=u.WARN&&gn.warn(`Auth (${c}): ${e}`,...t)}function vn(e,...t){gn.logLevel<=u.ERROR&&gn.error(`Auth (${c}): ${e}`,...t)}function D(e,...t){throw xn(e,...t)}function O(e,...t){return xn(e,...t)}function yn(e,t,n){return new S(`auth`,`Firebase`,{...mn(),[t]:n}).create(t,{appName:e.name})}function k(e){return yn(e,`operation-not-supported-in-this-environment`,`Operations that alter the current user are not supported in conjunction with FirebaseServerApp`)}function bn(e,t,n){let r=n;if(!(t instanceof r))throw r.name!==t.constructor.name&&D(e,`argument-error`),yn(e,`argument-error`,`Type of ${t.constructor.name} does not match expected instance.Did you pass a reference from a different Auth SDK?`)}function xn(e,...t){if(typeof e!=`string`){let n=t[0],r=[...t.slice(1)];return r[0]&&(r[0].appName=e.name),e._errorFactory.create(n,...r)}return hn.create(e,...t)}function A(e,t,...n){if(!e)throw xn(t,...n)}function j(e){let t=`INTERNAL ASSERTION FAILED: `+e;throw vn(t),Error(t)}function M(e,t){e||j(t)}function Sn(){return typeof self<`u`&&self.location?.href||``}function Cn(){return wn()===`http:`||wn()===`https:`}function wn(){return typeof self<`u`&&self.location?.protocol||null}function Tn(){return typeof navigator<`u`&&navigator&&`onLine`in navigator&&typeof navigator.onLine==`boolean`&&(Cn()||be()||`connection`in navigator)?navigator.onLine:!0}function En(){if(typeof navigator>`u`)return null;let e=navigator;return e.languages&&e.languages[0]||e.language||null}var Dn=class{constructor(e,t){this.shortDelay=e,this.longDelay=t,M(t>e,`Short delay should be less than long delay!`),this.isMobile=Oe()||je()}get(){return Tn()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}};function On(e,t){M(e.emulator,`Emulator should always be set here`);let{url:n}=e.emulator;return t?`${n}${t.startsWith(`/`)?t.slice(1):t}`:n}var kn=class{static initialize(e,t,n){this.fetchImpl=e,t&&(this.headersImpl=t),n&&(this.responseImpl=n)}static fetch(){if(this.fetchImpl)return this.fetchImpl;if(typeof self<`u`&&`fetch`in self)return self.fetch;if(typeof globalThis<`u`&&globalThis.fetch)return globalThis.fetch;if(typeof fetch<`u`)return fetch;j(`Could not find fetch implementation, make sure you call FetchProvi
3der.initialize() with an appropriate polyfill`)}static headers(){if(this.headersImpl)return this.headersImpl;if(typeof self<`u`&&`Headers`in self)return self.Headers;if(typeof globalThis<`u`&&globalThis.Headers)return globalThis.Headers;if(typeof Headers<`u`)return Headers;j(`Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}static response(){if(this.responseImpl)return this.responseImpl;if(typeof self<`u`&&`Response`in self)return self.Response;if(typeof globalThis<`u`&&globalThis.Response)return globalThis.Response;if(typeof Response<`u`)return Response;j(`Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill`)}},An={CREDENTIAL_MISMATCH:`custom-token-mismatch`,MISSING_CUSTOM_TOKEN:`internal-error`,INVALID_IDENTIFIER:`invalid-email`,MISSING_CONTINUE_URI:`internal-error`,INVALID_PASSWORD:`wrong-password`,MISSING_PASSWORD:`missing-password`,INVALID_LOGIN_CREDENTIALS:`invalid-credential`,EMAIL_EXISTS:`email-already-in-use`,PASSWORD_LOGIN_DISABLED:`operation-not-allowed`,INVALID_IDP_RESPONSE:`invalid-credential`,INVALID_PENDING_TOKEN:`invalid-credential`,FEDERATED_USER_ID_ALREADY_LINKED:`credential-already-in-use`,MISSING_REQ_TYPE:`internal-error`,EMAIL_NOT_FOUND:`user-not-found`,RESET_PASSWORD_EXCEED_LIMIT:`too-many-requests`,EXPIRED_OOB_CODE:`expired-action-code`,INVALID_OOB_CODE:`invalid-action-code`,MISSING_OOB_CODE:`internal-error`,CREDENTIAL_TOO_OLD_LOGIN_AGAIN:`requires-recent-login`,INVALID_ID_TOKEN:`invalid-user-token`,TOKEN_EXPIRED:`user-token-expired`,USER_NOT_FOUND:`user-token-expired`,TOO_MANY_ATTEMPTS_TRY_LATER:`too-many-requests`,PASSWORD_DOES_NOT_MEET_REQUIREMENTS:`password-does-not-meet-requirements`,INVALID_CODE:`invalid-verification-code`,INVALID_SESSION_INFO:`invalid-verification-id`,INVALID_TEMPORARY_PROOF:`invalid-credential`,MISSING_SESSION_INFO:`missing-verification-id`,SESSION_EXPIRED:`code-expired`,MISSING_ANDROID_PACKAGE_NAME:`missing-android-pkg-name`,UNAUTHORIZED_DOMAIN:`unauthorized-continue-uri`,INVALID_OAUTH_CLIENT_ID:`invalid-oauth-client-id`,ADMIN_ONLY_OPERATION:`admin-restricted-operation`,INVALID_MFA_PENDING_CREDENTIAL:`invalid-multi-factor-session`,MFA_ENROLLMENT_NOT_FOUND:`multi-factor-info-not-found`,MISSING_MFA_ENROLLMENT_ID:`missing-multi-factor-info`,MISSING_MFA_PENDING_CREDENTIAL:`missing-multi-factor-session`,SECOND_FACTOR_EXISTS:`second-factor-already-in-use`,SECOND_FACTOR_LIMIT_EXCEEDED:`maximum-second-factor-count-exceeded`,BLOCKING_FUNCTION_ERROR_RESPONSE:`internal-error`,RECAPTCHA_NOT_ENABLED:`recaptcha-not-enabled`,MISSING_RECAPTCHA_TOKEN:`missing-recaptcha-token`,INVALID_RECAPTCHA_TOKEN:`invalid-recaptcha-token`,INVALID_RECAPTCHA_ACTION:`invalid-recaptcha-action`,MISSING_CLIENT_TYPE:`missing-client-type`,MISSING_RECAPTCHA_VERSION:`missing-recaptcha-version`,INVALID_RECAPTCHA_VERSION:`invali
3d-recaptcha-version`,INVALID_REQ_TYPE:`invalid-req-type`},jn=[`/v1/accounts:signInWithCustomToken`,`/v1/accounts:signInWithEmailLink`,`/v1/accounts:signInWithIdp`,`/v1/accounts:signInWithPassword`,`/v1/accounts:signInWithPhoneNumber`,`/v1/token`],Mn=new Dn(3e4,6e4);function N(e,t){return e.tenantId&&!t.tenantId?{...t,tenantId:e.tenantId}:t}async function P(e,t,n,r,i={}){return Nn(e,i,async()=>{let i={},a={};r&&(t===`GET`?a=r:i={body:JSON.stringify(r)});let o=b({key:e.config.apiKey,...a}).slice(1),s=await e._getAdditionalHeaders();s[`Content-Type`]=`application/json`,e.languageCode&&(s[`X-Firebase-Locale`]=e.languageCode);let c={method:t,headers:s,...i};return Ee()||(c.referrerPolicy=`no-referrer`),e.emulatorConfig&&Me(e.emulatorConfig.host)&&(c.credentials=`include`),kn.fetch()(await Pn(e,e.config.apiHost,n,o),c)})}async function Nn(e,t,n){e._canInitEmulator=!1;let r={...An,...t};try{let t=new In(e),i=await Promise.race([n(),t.promise]);t.clearNetworkTimeout();let a=await i.json();if(`needConfirmation`in a)throw Ln(e,`account-exists-with-different-credential`,a);if(i.ok&&!(`errorMessage`in a))return a;{let[t,n]=(i.ok?a.errorMessage:a.error.message).split(` : `);if(t===`FEDERATED_USER_ID_ALREADY_LINKED`)throw Ln(e,`credential-already-in-use`,a);if(t===`EMAIL_EXISTS`)throw Ln(e,`email-already-in-use`,a);if(t===`USER_DISABLED`)throw Ln(e,`user-disabled`,a);let o=r[t]||t.toLowerCase().replace(/[_\s]+/g,`-`);if(n)throw yn(e,o,n);D(e,o)}}catch(t){if(t instanceof o)throw t;D(e,`network-request-failed`,{message:String(t)})}}async function F(e,t,n,r,i={}){let a=await P(e,t,n,r,i);return`mfaPendingCredential`in a&&D(e,`multi-factor-auth-required`,{_serverResponse:a}),a}async function Pn(e,t,n,r){let i=`${t}${n}?${r}`,a=e,o=a.config.emulator?On(e.config,i):`${e.config.apiScheme}://${i}`;return jn.includes(n)&&(await a._persistenceManagerAvailable,a._getPersistenceType()===`COOKIE`)?a._getPersistence()._getFinalTarget(o).toString():o}function Fn(e){switch(e){case`ENFORCE`:return`ENFORCE`;case`AUDIT`:return`AUDIT`;case`OFF`:return`OFF`;default:return`ENFORCEMENT_STATE_UNSPECIFIED`}}var In=class{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>{this.timer=setTimeout(()=>t(O(this.auth,`network-request-failed`)),Mn.get())})}};function Ln(e,t,n){let r={appName:e.name};n.email&&(r.email=n.email),n.phoneNumber&&(r.phoneNumber=n.phoneNumber);let i=O(e,t,r);return i.customData._tokenResponse=n,i}function Rn(e){return e!==void 0&&e.getResponse!==void 0}function zn(e){return e!==void 0&&e.enterprise!==void 0}var Bn=class{constructor(e){if(this.siteKey=``,this.recaptchaEnforcementState=[],e.recaptchaKey===void 0)throw Error(`recaptchaKey undefined`);this.siteKey=e.recaptchaKey.split(`/`)[3],this.recaptchaEnforcementState=e.recaptchaEnforcementState}getProviderEnforcementState(e){if(!this.recaptchaEnforcementState||this.recaptchaEnforcementState.length===0)return null;for(let t of this.recaptchaEnforcementState)if(t.provider&&t.provider===e)return Fn(t.enforcementState);return null}isProviderEnabled(e){return this.getProviderEnforcementState(e)===`ENFORCE`||this.getProviderEnforcementState(e)===`AUDIT`}isAnyProviderEnabled(){return this.isProviderEnabled(`EMAIL_PASSWORD_PROVIDER`)||this.isProviderEnabled(`PHONE_PROVIDER`)}};async function Vn(e){return(await P(e,`GET`,`/v1/recaptchaParams`)).recaptchaSiteKey||``}async function Hn(e,t){return P(e,`GET`,`/v2/recaptchaConfig`,N(e,t))}async function Un(e,t){return P(e,`POST`,`/v1/accounts:delete`,t)}async function Wn(e,t){return P(e,`POST`,`/v1/accounts:lookup`,t)}function Gn(e){if(e)try{let t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch{}}async function Kn(e,t=!1){let n=v(e),r=await n.getIdToken(t),i=Jn(r);A(i&&i.exp&&i.auth_time&&i.iat,n.auth,`internal-error`);let a=typeof i.firebase==`object`?i.firebase:void 0,o=a?.sign_in_provider;return{claims:i,token:r,authTime:Gn(qn(i.auth_time)),issuedAtTime:Gn(qn(i.iat)),expirationTime:Gn(qn(i.exp)),signInProvider:o||null,signInSecondFactor:a?.sign_in_second_factor||null}}function qn(e){return Number(e)*1e3}function Jn(e){let[t,n,r]=e.split(`.`);if(t===void 0||n===void 0||r===void 0)return vn(`JWT malformed, contained fewer than 3 sections`),null;try{let e=oe(n);return e?JSON.parse(e):(vn(`Failed to decode base64 JWT payload`),null)}catch(e){return vn(`Caught error parsing JWT payload as JSON`,e?.toString()),null}}function Yn(e){let t=Jn(e);return A(t,`internal-error`),A(t.exp!==void 0,`internal-error`),A(t.iat!==void 0,`internal-error`),Number(t.exp)-Number(t.iat)}async function I(e,t,n=!1){if(n)return t;try{return await t}catch(t){throw t instanceof o&&Xn(t)&&e.auth.currentUser===e&&await e.auth.signOut(),t}}function Xn({code:e}){return e===`auth/user-disabled`||e===`auth/user-token-expired`}var Zn=class{constructor(e){this.user=e,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,this.timerId!==null&&clearTimeout(this.timerId))}getInterval(e){if(e){let e=this.errorBackoff;return this.errorBackoff=Math.min(this.errorBackoff*2,96e4),e}else{this.errorBackoff=3e4;let e=(this.user.stsTokenManager.expirationTime??0)-Date.now()-3e5;return Math.max(0,e)}}schedule(e=!1){if(!this.isRunning)return;let t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){try{await this.user.getIdToken(!0)}catch(e){e?.code===`auth/network-request-failed`&&this.schedule(!0);return}this.schedule()}},Qn=class{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=Gn(this.lastLoginAt),this.creationTime=Gn(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}};async function $n(e){let t=e.auth,n=await I(e,Wn(t,{idToken:await e.getIdToken()}));A(n?.users.length,t,`internal-error`);let r=n.users[0];e._notifyReloadListener(r);let i=r.providerUserInfo?.length?nr(r.providerUserInfo):[],a=tr(e.providerData,i),o=e.isAnonymous,s=!(e.email&&r.passwordHash)&&!a?.length,c=o?s:!1,l={uid:r.localId,displayName:r.displayName||null,photoURL:r.photoUrl||null,email:r.email||null,emailVerified:r.emailVerified||!1,phoneNumber:r.phoneNumber||null,tenantId:r.tenantId||null,providerData:a,metadata:new Qn(r.createdAt,r.lastLoginAt),isAnonymous:c};Object.assign(e,l)}async function er(e){let t=v(e);await $n(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)}function tr(e,t){return[...e.filter(e=>!t.some(t=>t.providerId===e.providerId)),...t]}function nr(e){return e.map(({providerId:e,...t})=>({providerId:e,uid:t.rawId||``,displayName:t.displayName||null,email:t.email||null,phoneNumber:t.phoneNumber||null,photoURL:t.photoUrl||null}))}async function rr(e,t){let n=await Nn(e,{},async()=>{let n=b({grant_type:`refresh_token`,refresh_token:t}).slice(1),{tokenApiHost:r,apiKey:i}=e.config,a=await Pn(e,r,`/v1/token`,`key=${i}`),o=await e._getAdditionalHeaders();o[`Content-Type`]=`application/x-www-form-urlencoded`;let s={method:`POST`,headers:o,body:n};return e.emulatorConfig&&Me(e.emulatorConfig.host)&&(s.credentials=`include`),kn.fetch()(a,s)});return{accessToken:n.access_token,expiresIn:n.expires_in,refreshToken:n.refresh_token}}async function ir(e,t){return P(e,`POST`,`/v2/accounts:revokeToken`,N(e,t))}var ar=class e{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){A(e.idToken,`internal-error`),A(e.idToken!==void 0,`internal-error`),A(e.refreshToken!==void 0,`internal-error`);
3let t=`expiresIn`in e&&e.expiresIn!==void 0?Number(e.expiresIn):Yn(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){A(e.length!==0,`internal-error`);let t=Yn(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return!t&&this.accessToken&&!this.isExpired?this.accessToken:(A(this.refreshToken,e,`user-token-expired`),this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null)}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){let{accessToken:n,refreshToken:r,expiresIn:i}=await rr(e,t);this.updateTokensAndExpiration(n,r,Number(i))}updateTokensAndExpiration(e,t,n){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+n*1e3}static fromJSON(t,n){let{refreshToken:r,accessToken:i,expirationTime:a}=n,o=new e;return r&&(A(typeof r==`string`,`internal-error`,{appName:t}),o.refreshToken=r),i&&(A(typeof i==`string`,`internal-error`,{appName:t}),o.accessToken=i),a&&(A(typeof a==`number`,`internal-error`,{appName:t}),o.expirationTime=a),o}toJSON(){return{refreshToken:this.refreshToken,accessToken:this.accessToken,expirationTime:this.expirationTime}}_assign(e){this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.expirationTime=e.expirationTime}_clone(){return Object.assign(new e,this.toJSON())}_performRefresh(){return j(`not implemented`)}};function L(e,t){A(typeof e==`string`||e===void 0,`internal-error`,{appName:t})}var R=class e{constructor({uid:e,auth:t,stsTokenManager:n,...r}){this.providerId=`firebase`,this.proactiveRefresh=new Zn(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=e,this.auth=t,this.stsTokenManager=n,this.accessToken=n.accessToken,this.displayName=r.displayName||null,this.email=r.email||null,this.emailVerified=r.emailVerified||!1,this.phoneNumber=r.phoneNumber||null,this.photoURL=r.photoURL||null,this.isAnonymous=r.isAnonymous||!1,this.tenantId=r.tenantId||null,this.providerData=r.providerData?[...r.providerData]:[],this.metadata=new Qn(r.createdAt||void 0,r.lastLoginAt||void 0)}async getIdToken(e){let t=await I(this,this.stsTokenManager.getToken(this.auth,e));return A(t,this.auth,`internal-error`),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return Kn(this,e)}reload(){return er(this)}_assign(e){this!==e&&(A(this.uid===e.uid,this.auth,`internal-error`),this.displayName=e.displayName,this.photoURL=e.photoURL,this.email=e.email,this.emailVerified=e.emailVerified,this.phoneNumber=e.phoneNumber,this.isAnonymous=e.isAnonymous,this.tenantId=e.tenantId,this.providerData=e.providerData.map(e=>({...e})),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(t){let n=new e({...this,auth:t,stsTokenManager:this.stsTokenManager._clone()});return n.metadata._copy(this.metadata),n}_onReload(e){A(!this.reloadListener,this.auth,`internal-error`),this.reloadListener=e,this.reloadUserInfo&&=(this._notifyReloadListener(this.reloadUserInfo),null)}_notifyReloadListener(e){this.reloadListener?this.reloadListener(e):this.reloadUserInfo=e}_startProactiveRefresh(){this.proactiveRefresh._start()}_stopProactiveRefresh(){this.proactiveRefresh._stop()}async _updateTokensIfNecessary(e,t=!1){let n=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),n=!0),t&&await $n(this),await this.auth._persistUserIfCurrent(this),n&&this.auth._notifyListenersIfCurrent(this)}async delete(){if(y(this.auth.app))return Promise.reject(k(this.auth));let e=await this.getIdToken();return await I(this,Un(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return{uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>({...e})),stsTokenManager:this.stsTokenManager.toJSON(),_redirectEventId:this._redirectEventId,...this.metadata.toJSON(),apiKey:this.auth.config.apiKey,appName:this.auth.name}}get refreshToken(){return this.stsTokenManager.refreshToken||``}static _fromJSON(t,n){let r=n.displayName??void 0,i=n.email??void 0,a=n.phoneNumber??void 0,o=n.photoURL??void 0,s=n.tenantId??void 0,c=n._redirectEventId??void 0,l=n.createdAt??void 0,u=n.lastLoginAt??void 0,{uid:d,emailVerified:f,isAnonymous:p,providerData:ee,stsTokenManager:m}=n;A(d&&m,t,`internal-error`);let h=ar.fromJSON(this.name,m);A(typeof d==`string`,t,`internal-error`),L(r,t.name),L(i,t.name),A(typeof f==`boolean`,t,`internal-error`),A(typeof p==`boolean`,t,`internal-error`),L(a,t.name),L(o,t.name),L(s,t.n
3ame),L(c,t.name),L(l,t.name),L(u,t.name);let te=new e({uid:d,auth:t,email:i,emailVerified:f,displayName:r,isAnonymous:p,photoURL:o,phoneNumber:a,tenantId:s,stsTokenManager:h,createdAt:l,lastLoginAt:u});return ee&&Array.isArray(ee)&&(te.providerData=ee.map(e=>({...e}))),c&&(te._redirectEventId=c),te}static async _fromIdTokenResponse(t,n,r=!1){let i=new ar;i.updateFromServerResponse(n);let a=new e({uid:n.localId,auth:t,stsTokenManager:i,isAnonymous:r});return await $n(a),a}static async _fromGetAccountInfoResponse(t,n,r){let i=n.users[0];A(i.localId!==void 0,`internal-error`);let a=i.providerUserInfo===void 0?[]:nr(i.providerUserInfo),o=!(i.email&&i.passwordHash)&&!a?.length,s=new ar;s.updateFromIdToken(r);let c=new e({uid:i.localId,auth:t,stsTokenManager:s,isAnonymous:o}),l={uid:i.localId,displayName:i.displayName||null,photoURL:i.photoUrl||null,email:i.email||null,emailVerified:i.emailVerified||!1,phoneNumber:i.phoneNumber||null,tenantId:i.tenantId||null,providerData:a,metadata:new Qn(i.createdAt,i.lastLoginAt),isAnonymous:!(i.email&&i.passwordHash)&&!a?.length};return Object.assign(c,l),c}},or=new Map;function z(e){M(e instanceof Function,`Expected a class definition`);let t=or.get(e);return t?(M(t instanceof e,`Instance stored in cache mismatched with class`),t):(t=new e,or.set(e,t),t)}var sr=class{constructor(){this.type=`NONE`,this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){let t=this.storage[e];return t===void 0?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}};sr.type=`NONE`;var cr=sr;function lr(e,t,n){return`firebase:${e}:${t}:${n}`}var ur=class e{constructor(e,t,n){this.persistence=e,this.auth=t,this.userKey=n;let{config:r,name:i}=this.auth;this.fullUserKey=lr(this.userKey,r.apiKey,i),this.fullPersistenceKey=lr(`persistence`,r.apiKey,i),this.boundEventHandler=t._onStorageEvent.bind(t),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}setCurrentUser(e){return this.persistence._set(this.fullUserKey,e.toJSON())}async getCurrentUser(){let e=await this.persistence._get(this.fullUserKey);if(!e)return null;if(typeof e==`string`){let t=await Wn(this.auth,{idToken:e}).catch(()=>void 0);return t?R._fromGetAccountInfoResponse(this.auth,t,e):null}return R._fromJSON(this.auth,e)}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}async setPersistence(e){if(this.persistence===e)return;let t=await this.getCurrentUser();if(await this.removeCurrentUser(),this.persistence=e,t)return this.setCurrentUser(t)}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static async create(t,n,r=`authUser`){if(!n.length)return new e(z(cr),t,r);let i=(await Promise.all(n.map(async e=>{if(await e._isAvailable())return e}))).filter(e=>e),a=i[0]||z(cr),o=lr(r,t.config.apiKey,t.name),s=null;for(let e of n)try{let n=await e._get(o);if(n){let r;if(typeof n==`string`){let e=await Wn(t,{idToken:n}).catch(()=>void 0);if(!e)break;r=await R._fromGetAccountInfoResponse(t,e,n)}else r=R._fromJSON(t,n);e!==a&&(s=r),a=e;break}}catch{}let c=i.filter(e=>e._shouldAllowMigration);return!a._shouldAllowMigration||!c.length?new e(a,t,r):(a=c[0],s&&await a._set(o,s.toJSON()),await Promise.all(n.map(async e=>{if(e!==a)try{await e._remove(o)}catch{}})),new e(a,t,r))}};function dr(e){let t=e.toLowerCase();if(t.includes(`opera/`)||t.includes(`opr/`)||t.includes(`opios/`))return`Opera`;if(hr(t))return`IEMobile`;if(t.includes(`msie`)||t.includes(`trident/`))return`IE`;if(t.includes(`edge/`))return`Edge`;if(fr(t))return`Firefox`;if(t.includes(`silk/`))return`Silk`;if(_r(t))return`Blackberry`;if(vr(t))return`Webos`;if(pr(t))return`Safari`;if((t.includes(`chrome/`)||mr(t))&&!t.includes(`edge/`))return`Chrome`;if(gr(t))return`Android`;{let t=e.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/);if(t?.length===2)return t[1]}return`Other`}function fr(e=i()){return/firefox\//i.test(e)}function pr(e=i()){let t=e.toLowerCase();return t.includes(`safari/`)&&!t.includes(`chrome/`)&&!t.includes(`crios/`)&&!t.includes(`android`)}function mr(e=i()){return/crios\//i.test(e)}function hr(e=i()){return/iemobile/i.test(e)}function gr(e=i()){return/android/i.test(e)}function _r(e=i()){return/blackberry/i.test(e)}function vr(e=i()){return/webos/i.test(e)}function yr(e=i()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function br(e=i()){return yr(e)&&!!window.navigator?.standalone}function xr(){return Ce()&&document.documentMode===10}function Sr(e=i()){return yr(e)||gr(e)||vr(e)||_r(e)||/windows phone/i.test(e)||hr(e)}function Cr(e,t=[]){let n;switch(e){case`Browser`:n=dr(i());break;case`Worker`:n=`${dr(i())}-${e}`;break;default:n=e}let r=t.length?t.join(`,`):`FirebaseCore-web`;return`${n}/JsCore/${c}/${r}`}var wr=class{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){let n=t=>new Promise((n,r)=>{try{n(e(t))}catch(e){r(e)}});n.onAbort=t,this.queue.push(n);let r=this.queue.length-1;return()=>{this.queue[r]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;let t=[];try{for(let n of this.queue)await n(e),n.onAbort&&t.push(n.onAbort)}catch(e){t.reverse();for(let e of t)try{e()}catch{}throw this.auth._errorFactory.create(`login-blocked`,{originalMessage:e?.message})}}};async function Tr(e,t={}){return P(e,`GET`,`/v2/passwordPolicy`,N(e,t))}var Er=6,Dr=class{constructor(e){let t=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=t.minPasswordLength??Er,t.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=t.maxPasswordLength),t.containsLowercaseCharacter!==void 0&&(this.customStrengthOptions.containsLowercaseLetter=t.containsLowercaseCharacter),t.containsUppercaseCharacter!==void 0&&(this.customStrengthOptions.containsUppercaseLetter=t.containsUppercaseCharacter),t.containsNumericCharacter!==void 0&&(this.customStrengthOptions.containsNumericCharacter=t.containsNumericCharacter),t.containsNonAlphanumericCharacter!==void 0&&(this.customStrengthOptions.containsNonAlphanumericCharacter=t.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,this.enforcementState===`ENFORCEMENT_STATE_UNSPECIFIED`&&(this.enforcementState=`OFF`),this.allowedNonAlphanumericCharacters=e.allowedNonAlphanumericCharacters?.join(``)??``,this.forceUpgradeOnSignin=e.forceUpgradeOnSignin??!1,this.schemaVersion=e.schemaVersion}validatePassword(e){let t={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,t),this.validatePasswordCharacterOptions(e,t),t.isValid&&=t.meetsMinPasswordLength??!0,t.isValid&&=t.meetsMaxPasswordLength??!0,t.isValid&&=t.containsLowercaseLetter??!0,t.isValid&&=t.containsUppercaseLetter??!0,t.isValid&&=t.containsNumericCharacter??!0,t.isValid&&=t.containsNonAlphanumericCharacter??!0,t}validatePasswordLengthOptions(e,t){let n=this.customStrengthOptions.minPasswordLength,r=this.customStrengthOptions.maxPasswordLength;n&&(t.meetsMinPasswordLength=e.length>=n),r&&(t.meetsMaxPasswordLength=e.length<=r)}validatePasswordCharacterOptions(e,t){this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);let n;for(let r=0;r<e.length;r++)n=e.charAt(r),this.updatePasswordCharacterOptionsStatuses(t,n>=`a`&&n<=`z`,n>=`A`&&n<=`Z`,n>=`0`&&n<=`9`,this.allowedNonAlphanumericCharacters.includes(n))}updatePasswordCharacterOptionsStatuses(e,t,n,r,i){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||=t),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||=n),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||=r),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||=i)}},Or=class{constructor(e,t,n,r){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=n,this.config=r,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new kr(this),this.idTokenSubscription=new kr(this),this.beforeStateQueue=new wr(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION=1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=hn,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this._projectPasswordPolicy=null,this._tenantPasswordPolicies={},this._resolvePersistenceManagerAvailable=void 0,this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=r.sdkClientVersion,this._persistenceManagerAvailable=new Promise(e=>this._resolvePersistenceManagerAvailable=e)}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=z(t)),this._initializationPromise=this.queue(async()=>
3{if(!this._deleted&&(this.persistenceManager=await ur.create(this,e),this._resolvePersistenceManagerAvailable?.(),!this._deleted)){if(this._popupRedirectResolver?._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch{}await this.initializeCurrentUser(t),this.lastNotifiedUid=this.currentUser?.uid||null,!this._deleted&&(this._isInitialized=!0)}}),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;let e=await this.assertedPersistence.getCurrentUser();if(!(!this.currentUser&&!e)){if(this.currentUser&&e&&this.currentUser.uid===e.uid){this._currentUser._assign(e),await this.currentUser.getIdToken();return}await this._updateCurrentUser(e,!0)}}async initializeCurrentUserFromIdToken(e){try{let t=await Wn(this,{idToken:e}),n=await R._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(n)}catch(e){console.warn(`FirebaseServerApp could not login user with provided authIdToken: `,e),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){if(y(this.app)){let e=this.app.settings.authIdToken;return e?new Promise(t=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(e).then(t,t))}):this.directlySetCurrentUser(null)}let t=await this.assertedPersistence.getCurrentUser(),n=t,r=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();let t=this.redirectUser?._redirectEventId,i=n?._redirectEventId,a=await this.tryRedirectSignIn(e);(!t||t===i)&&a?.user&&(n=a.user,r=!0)}if(!n)return this.directlySetCurrentUser(null);if(!n._redirectEventId){if(r)try{await this.beforeStateQueue.runMiddleware(n)}catch(e){n=t,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(e))}return n?this.reloadAndSetCurrentUserOrClear(n):this.directlySetCurrentUser(null)}return A(this._popupRedirectResolver,this,`argument-error`),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===n._redirectEventId?this.directlySetCurrentUser(n):this.reloadAndSetCurrentUserOrClear(n)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch{await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await $n(e)}catch(e){if(e?.code!==`auth/network-request-failed`)return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=En()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if(y(this.app))return Promise.reject(k(this));let t=e?v(e):null;return t&&A(t.auth.config.apiKey===this.config.apiKey,this,`invalid-user-token`),this._updateCurrentUser(t&&t._clone(this))}async _updateCurrentUser(e,t=!1){if(!this._deleted)return e&&A(this.tenantId===e.tenantId,this,`tenant-id-mismatch`),t||await this.beforeStateQueue.runMiddleware(e),this.queue(async()=>{await this.directlySetCurrentUser(e),this.notifyAuthListeners()})}async signOut(){return y(this.app)?Promise.reject(k(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return y(this.app)?Promise.reject(k(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(z(e))})}_getRecaptchaConfig(){return this.tenantId==null?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();let t=this._getPasswordPolicyInternal();return t.schemaVersion===this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION?t.validatePassword(e):Promise.reject(this._errorFactory.create(`unsupported-password-policy-schema-version`,{}))}_getPasswordPolicyInternal(){return this.tenantId===null?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){let e=new Dr(await Tr(this));this.tenantId===null?this._projectPasswordPolicy=e:this._tenantPasswordPolicies[this.tenantId]=e}_getPersistenceType(){return this.assertedPersistence.persistence.type}_getPersistence(){return this.assertedPersistence.persistence}_updateErrorMap(e){this._errorFactory=new S(`auth`,`Firebase`,e())}onAuthStateChanged(e,t,n){return this.registerStateListener(this.authStateSubscription,e,t,n)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,n){return this.registerStateListener(this.idTokenSubscription,e,t,n)}authStateReady(){return new Promise((e,t)=>
3{if(this.currentUser)e();else{let n=this.onAuthStateChanged(()=>{n(),e()},t)}})}async revokeAccessToken(e){if(this.currentUser){let t={providerId:`apple.com`,tokenType:`ACCESS_TOKEN`,token:e,idToken:await this.currentUser.getIdToken()};this.tenantId!=null&&(t.tenantId=this.tenantId),await ir(this,t)}}toJSON(){return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:this._currentUser?.toJSON()}}async _setRedirectUser(e,t){let n=await this.getOrInitRedirectPersistenceManager(t);return e===null?n.removeCurrentUser():n.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){let t=e&&z(e)||this._popupRedirectResolver;A(t,this,`argument-error`),this.redirectPersistenceManager=await ur.create(this,[z(t._redirectPersistence)],`redirectUser`),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){return this._isInitialized&&await this.queue(async()=>{}),this._currentUser?._redirectEventId===e?this._currentUser:this.redirectUser?._redirectEventId===e?this.redirectUser:null}async _persistUserIfCurrent(e){if(e===this.currentUser)return this.queue(async()=>this.directlySetCurrentUser(e))}_notifyListenersIfCurrent(e){e===this.currentUser&&this.notifyAuthListeners()}_key(){return`${this.config.authDomain}:${this.config.apiKey}:${this.name}`}_startProactiveRefresh(){this.isProactiveRefreshEnabled=!0,this.currentUser&&this._currentUser._startProactiveRefresh()}_stopProactiveRefresh(){this.isProactiveRefreshEnabled=!1,this.currentUser&&this._currentUser._stopProactiveRefresh()}get _currentUser(){return this.currentUser}notifyAuthListeners(){if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);let e=this.currentUser?.uid??null;this.lastNotifiedUid!==e&&(this.lastNotifiedUid=e,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,n,r){if(this._deleted)return()=>{};let i=typeof t==`function`?t:t.next.bind(t),a=!1,o=this._isInitialized?Promise.resolve():this._initializationPromise;if(A(o,this,`internal-error`),o.then(()=>{a||i(this.currentUser)}),typeof t==`function`){let i=e.addObserver(t,n,r);return()=>{a=!0,i()}}else{let n=e.addObserver(t);return()=>{a=!0,n()}}}async directlySetCurrentUser(e){this.currentUser&&this.currentUser!==e&&this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh(),this.currentUser=e,e?await this.assertedPersistence.setCurrentUser(e):await this.assertedPersistence.removeCurrentUser()}queue(e){return this.operations=this.operations.then(e,e),this.operations}get assertedPersistence(){return A(this.persistenceManager,this,`internal-error`),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=Cr(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){let e={"X-Client-Version":this.clientVersion};this.app.options.appId&&(e[`X-Firebase-gmpid`]=this.app.options.appId);let t=await this.heartbeatServiceProvider.getImmediate({optional:!0})?.getHeartbeatsHeader();t&&(e[`X-Firebase-Client`]=t);let n=await this._getAppCheckToken();return n&&(e[`X-Firebase-AppCheck`]=n),e}async _getAppCheckToken(){if(y(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;let e=await this.appCheckServiceProvider.getImmediate({optional:!0})?.getToken();return e?.error&&_n(`Error while retrieving App Check token: ${e.error}`),e?.token}};function B(e){return v(e)}var kr=class{constructor(e){this.auth=e,this.observer=null,this.addObserver=d(e=>this.observer=e)}get next(){return A(this.observer,this.auth,`internal-error`),this.observer.next.bind(this.observer)}},Ar={async loadJS(){throw Error(`Unable to load external scripts`)},recaptchaV2Script:``,recaptchaEnterpriseScript:``,gapiScript:``};function jr(e){Ar=e}function Mr(e){return Ar.loadJS(e)}function Nr(){return Ar.recaptchaV2Script}function Pr(){return Ar.recaptchaEnterpriseScript}function Fr(){return Ar.gapiScript}function Ir(e){return`__${e}${Math.floor(Math.random()*1e6)}`}var Lr=500,Rr=6e4,zr=0xe8d4a51000,Br=class{constructor(e){this.auth=e,this.counter=zr,this._widgets=new Map}render(e,t){let n=this.counter;return this._widgets.set(n,new Ur(e,this.auth.name,t||{})),this.counter++,n}reset(e){let t=e||zr;this._widgets.get(t)?.delete(),this._widgets.delete(t)}getResponse(e){let t=e||zr;return this._widgets.get(t)?.getResponse()||``}async execute(e){let t=e||zr;return this._widgets.get(t)?.execute(),``}},Vr=class{constructor(){this.enterprise=new Hr}ready(e){e()}execute(e,t){return Promise.resolve(`token`)}render(e,t){return``}},Hr=class{ready(e){e()}execute(e,t){return Promise.resolve(`token`)}render(e,t){return``}},Ur=class{constructor(e,t,n){this.params=n,this.timerId=null,this.deleted=!1,this.responseToken=null,this.clickHandler=()=>{this.execute()};let r=typeof e==`string`?document.getElementById(e):e;A(r,`argument-error`,{appName:t}),this.container=r,this.isVisible=this.params.size!==`invisible`,this.isVisible?this.execute():this.container.addEventListener(`click`,this.clickHandler)}getResponse(){return this.checkIfDeleted(),this.responseToken}delete(){this.checkIfDeleted(),this.deleted=!0,this.timerId&&=(clearTimeout(this.timerId),null),this.container.removeEventListener(`click`,this.clickHandler)}execute(){this.checkIfDeleted(),!this.timerId&&(this.timerId=window.setTimeout(()=>{this.responseToken=Wr(50);let{callback:e,"expired-callback":t}=this.params;if(e)try{e(this.responseToken)}catch{}this.timerId=window.setTimeout(()=>{if(this.timerId=null,this.responseToken=null,t)try{t()}catch{}this.isVisible&&this.execute()},Rr)},Lr))}checkIfDeleted(){if(this.deleted)throw Error(`reCAPTCHA mock was already deleted!`)}};function Wr(e){let t=[];for(let n=0;n<e;n++)t.push(`1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`.charAt(Math.floor(Math.random()*62)));return t.join(``)}var Gr=`recaptcha-enterprise`,Kr=`NO_RECAPTCHA`,qr=class{constructor(e){this.type=Gr,this.auth=B(e)}async verify(e=`verify`,t=!1){async function n(e){if(!t){if(e.tenantId==null&&e._agentRecaptchaConfig!=null)return e._agentRecaptchaConfig.siteKey;if(e.tenantId!=null&&e._tenantRecaptchaConfigs[e.tenantId]!==void 0)return e._tenantRecaptchaConfigs[e.tenantId].siteKey}return new Promise(async(t,n)=>{Hn(e,{clientType:`CLIENT_TYPE_WEB`,version:`RECAPTCHA_ENTERPRISE`}).then(r=>{if(r.recaptchaKey===void 0)n(Error(`recaptcha Enterprise site key undefined`));else{let n=new Bn(r);return e.tenantId==null?e._agentRecaptchaConfig=n:e._tenantRecaptchaConfigs[e.tenantId]=n,t(n.siteKey)}}).catch(e=>{n(e)})})}function r(t,n,r){let i=window.grecaptcha;zn(i)?i.enterprise.ready(()=>{i.enterprise.execute(t,{action:e}).then(e=>{n(e)}).catch(()=>{n(Kr)})}):r(Error(`No reCAPTCHA enterprise script loaded.`))}return this.auth.settings.appVerificationDisabledForTesting?new Vr().execute(`siteKey`,{action:`verify`}):new Promise((e,i)=>{n(this.auth).then(n=>{if(!t&&zn(window.grecaptcha))r(n,e,i);else{if(typeof window>`u`){i(Error(`RecaptchaVerifier is only supported in browser`));return}let t=Pr();t.length!==0&&(t+=n),Mr(t).then(()=>{r(n,e,i)}).catch(e=>{i(e)})}}).catch(e=>{i(e)})})}};async function Jr(e,t,n,r=!1,i=!1){let a=new qr(e),o;if(i)o=Kr;else try{o=await a.verify(n)}
3catch{o=await a.verify(n,!0)}let s={...t};if(n===`mfaSmsEnrollment`||n===`mfaSmsSignIn`){if(`phoneEnrollmentInfo`in s){let e=s.phoneEnrollmentInfo.phoneNumber,t=s.phoneEnrollmentInfo.recaptchaToken;Object.assign(s,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:t,captchaResponse:o,clientType:`CLIENT_TYPE_WEB`,recaptchaVersion:`RECAPTCHA_ENTERPRISE`}})}else if(`phoneSignInInfo`in s){let e=s.phoneSignInInfo.recaptchaToken;Object.assign(s,{phoneSignInInfo:{recaptchaToken:e,captchaResponse:o,clientType:`CLIENT_TYPE_WEB`,recaptchaVersion:`RECAPTCHA_ENTERPRISE`}})}return s}return r?Object.assign(s,{captchaResp:o}):Object.assign(s,{captchaResponse:o}),Object.assign(s,{clientType:`CLIENT_TYPE_WEB`}),Object.assign(s,{recaptchaVersion:`RECAPTCHA_ENTERPRISE`}),s}async function V(e,t,n,r,i){return i===`EMAIL_PASSWORD_PROVIDER`?e._getRecaptchaConfig()?.isProviderEnabled(`EMAIL_PASSWORD_PROVIDER`)?r(e,await Jr(e,t,n,n===`getOobCode`)):r(e,t).catch(async i=>i.code===`auth/missing-recaptcha-token`?(console.log(`${n} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`),r(e,await Jr(e,t,n,n===`getOobCode`))):Promise.reject(i)):i===`PHONE_PROVIDER`?e._getRecaptchaConfig()?.isProviderEnabled(`PHONE_PROVIDER`)?r(e,await Jr(e,t,n)).catch(async i=>e._getRecaptchaConfig()?.getProviderEnforcementState(`PHONE_PROVIDER`)===`AUDIT`&&(i.code===`auth/missing-recaptcha-token`||i.code===`auth/invalid-app-credential`)?(console.log(`Failed to verify with reCAPTCHA Enterprise. Automatically triggering the reCAPTCHA v2 flow to complete the ${n} flow.`),r(e,await Jr(e,t,n,!1,!0))):Promise.reject(i)):r(e,await Jr(e,t,n,!1,!0)):Promise.reject(i+` provider is not supported.`)}async function Yr(e){let t=B(e),n=new Bn(await Hn(t,{clientType:`CLIENT_TYPE_WEB`,version:`RECAPTCHA_ENTERPRISE`}));t.tenantId==null?t._agentRecaptchaConfig=n:t._tenantRecaptchaConfigs[t.tenantId]=n,n.isAnyProviderEnabled()&&new qr(t).verify()}function Xr(e,t){let n=_(e,`auth`);if(n.isInitialized()){let e=n.getImmediate();if(m(n.getOptions(),t??{}))return e;D(e,`already-initialized`)}return n.initialize({options:t})}function Zr(e,t){let n=t?.persistence||[],r=(Array.isArray(n)?n:[n]).map(z);t?.errorMap&&e._updateErrorMap(t.errorMap),e._initializeWithPersistence(r,t?.popupRedirectResolver)}function Qr(e,t,n){let r=B(e);A(/^https?:\/\//.test(t),r,`invalid-emulator-scheme`);let i=!!n?.disableWarnings,a=$r(t),{host:o,port:s}=ei(t),c=s===null?``:`:${s}`,l={url:`${a}//${o}${c}/`},u=Object.freeze({host:o,port:s,protocol:a.replace(`:`,``),options:Object.freeze({disableWarnings:i})});if(!r._canInitEmulator){A(r.config.emulator&&r.emulatorConfig,r,`emulator-config-failed`),A(m(l,r.config.emulator)&&m(u,r.emulatorConfig),r,`emulator-config-failed`);return}r.config.emulator=l,r.emulatorConfig=u,r.settings.appVerificationDisabledForTesting=!0,Me(o)?(_e(`${a}//${o}${c}`),ye(`Auth`,!0)):i||ni()}function $r(e){let t=e.indexOf(`:`);return t<0?``:e.substr(0,t+1)}function ei(e){let t=$r(e),n=/(\/\/)?([^?#/]+)/.exec(e.substr(t.length));if(!n)return{host:``,port:null};let r=n[2].split(`@`).pop()||``,i=/^(\[[^\]]+\])(:|$)/.exec(r);if(i){let e=i[1];return{host:e,port:ti(r.substr(e.length+1))}}else{let[e,t]=r.split(`:`);return{host:e,port:ti(t)}}}function ti(e){if(!e)return null;let t=Number(e);return isNaN(t)?null:t}function ni(){function e(){let e=document.createElement(`p`),t=e.style;e.innerText=`Running in emulator mode. Do not use with production credentials.`,t.position=`fixed`,t.width=`100%`,t.backgroundColor=`#ffffff`,t.border=`.1em solid #000000`,t.color=`#b50000`,t.bottom=`0px`,t.left=`0px`,t.margin=`0px`,t.zIndex=`10000`,t.textAlign=`center`,e.classList.add(`firebase-emulator-warning`),document.body.appendChild(e)}typeof console<`u`&&typeof console.info==`function`&&console.info(`WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials.`),typeof window<`u`&&typeof document<`u`&&(document.readyState===`loading`?window.addEventListener(`DOMContentLoaded`,e):e())}var ri=class{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return j(`not implemented`)}_getIdTokenResponse(e){return j(`not implemented`)}_linkToIdToken(e,t){return j(`not implemented`)}_getReauthenticationResolver(e){return j(`not implemented`)}};async function ii(e,t){return P(e,`POST`,`/v1/accounts:signUp`,t)}async function ai(e,t){return F(e,`POST`,`/v1/accounts:signInWithPassword`,N(e,t))}async function oi(e,t){return P(e,`POST`,`/v1/accounts:sendOobCode`,N(e,t))}async function si(e,t){return oi(e,t)}async function ci(e,t){return F(e,`POST`,`/v1/accounts:signInWithEmailLink`,N(e,t))}async function li(e,t){return F(e,`POST`,`/v1/accounts:signInWithEmailLink`,N(e,t))}var ui=class e extends ri{constructor(e,t,n,r=null){super(`password`,n),this._email=e,this._password=t,this._tenantId=r}static _fromEmailAndPassword(t,n){return new e(t,n,`password`)}static _fromEmailAndCode(t,n,r=null){return new e(t,n,`emailLink`,r)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){let t=typeof e==`string`?JSON.parse(e):e;if(t?.email&&t?.password){if(t.signInMethod===`password`)return this._fromEmailAndPassword(t.email,t.password);if(t.signInMethod===`emailLink`)return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case`password`:return V(e,{returnSecureToken:!0,email:this._email,password:this._password,clientType:`CLIENT_TYPE_WEB`},`signInWithPassword`,ai,`EMAIL_PASSWORD_PROVIDER`);case`emailLink`:return ci(e,{email:this._email,oobCode:this._password});default:D(e,`internal-error`)}}async _linkToIdToken(e,t){switch(this.signInMethod){case`password`:return V(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:`CLIENT_TYPE_WEB`},`signUpPassword`,ii,`EMAIL_PASSWORD_PROVIDER`);case`emailLink`:return li(e,{idToken:t,email:this._email,oobCode:this._password});default:D(e,`internal-error`)}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}};async function H(e,t){return F(e,`POST`,`/v1/accounts:signInWithIdp`,N(e,t))}var di=`http://localhost`,fi=class e extends ri{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(t){let n=new e(t.providerId,t.signInMethod);return t.idToken||t.accessToken?(t.idToken&&(n.idToken=t.idToken),t.accessToken&&(n.accessToken=t.accessToken),t.nonce&&!t.pen
3dingToken&&(n.nonce=t.nonce),t.pendingToken&&(n.pendingToken=t.pendingToken)):t.oauthToken&&t.oauthTokenSecret?(n.accessToken=t.oauthToken,n.secret=t.oauthTokenSecret):D(`argument-error`),n}toJSON(){return{idToken:this.idToken,accessToken:this.accessToken,secret:this.secret,nonce:this.nonce,pendingToken:this.pendingToken,providerId:this.providerId,signInMethod:this.signInMethod}}static fromJSON(t){let{providerId:n,signInMethod:r,...i}=typeof t==`string`?JSON.parse(t):t;if(!n||!r)return null;let a=new e(n,r);return a.idToken=i.idToken||void 0,a.accessToken=i.accessToken||void 0,a.secret=i.secret,a.nonce=i.nonce,a.pendingToken=i.pendingToken||null,a}_getIdTokenResponse(e){return H(e,this.buildRequest())}_linkToIdToken(e,t){let n=this.buildRequest();return n.idToken=t,H(e,n)}_getReauthenticationResolver(e){let t=this.buildRequest();return t.autoCreate=!1,H(e,t)}buildRequest(){let e={requestUri:di,returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{let t={};this.idToken&&(t.id_token=this.idToken),this.accessToken&&(t.access_token=this.accessToken),this.secret&&(t.oauth_token_secret=this.secret),t.providerId=this.providerId,this.nonce&&!this.pendingToken&&(t.nonce=this.nonce),e.postBody=b(t)}return e}};async function pi(e,t){return P(e,`POST`,`/v1/accounts:sendVerificationCode`,N(e,t))}async function mi(e,t){return F(e,`POST`,`/v1/accounts:signInWithPhoneNumber`,N(e,t))}async function hi(e,t){let n=await F(e,`POST`,`/v1/accounts:signInWithPhoneNumber`,N(e,t));if(n.temporaryProof)throw Ln(e,`account-exists-with-different-credential`,n);return n}var gi={USER_NOT_FOUND:`user-not-found`};async function _i(e,t){return F(e,`POST`,`/v1/accounts:signInWithPhoneNumber`,N(e,{...t,operation:`REAUTH`}),gi)}var vi=class e extends ri{constructor(e){super(`phone`,`phone`),this.params=e}static _fromVerification(t,n){return new e({verificationId:t,verificationCode:n})}static _fromTokenResponse(t,n){return new e({phoneNumber:t,temporaryProof:n})}_getIdTokenResponse(e){return mi(e,this._makeVerificationRequest())}_linkToIdToken(e,t){return hi(e,{idToken:t,...this._makeVerificationRequest()})}_getReauthenticationResolver(e){return _i(e,this._makeVerificationRequest())}_makeVerificationRequest(){let{temporaryProof:e,phoneNumber:t,verificationId:n,verificationCode:r}=this.params;return e&&t?{temporaryProof:e,phoneNumber:t}:{sessionInfo:n,code:r}}toJSON(){let e={providerId:this.providerId};return this.params.phoneNumber&&(e.phoneNumber=this.params.phoneNumber),this.params.temporaryProof&&(e.temporaryProof=this.params.temporaryProof),this.params.verificationCode&&(e.verificationCode=this.params.verificationCode),this.params.verificationId&&(e.verificationId=this.params.verificationId),e}static fromJSON(t){typeof t==`string`&&(t=JSON.parse(t));let{verificationId:n,verificationCode:r,phoneNumber:i,temporaryProof:a}=t;return!r&&!n&&!i&&!a?null:new e({verificationId:n,verificationCode:r,phoneNumber:i,temporaryProof:a})}};function yi(e){switch(e){case`recoverEmail`:return`RECOVER_EMAIL`;case`resetPassword`:return`PASSWORD_RESET`;case`signIn`:return`EMAIL_SIGNIN`;case`verifyEmail`:return`VERIFY_EMAIL`;case`verifyAndChangeEmail`:return`VERIFY_AND_CHANGE_EMAIL`;case`revertSecondFactorAddition`:return`REVERT_SECOND_FACTOR_ADDITION`;default:return null}}function bi(e){let t=Pe(ke(e)).link,n=t?Pe(ke(t)).deep_link_id:null,r=Pe(ke(e)).deep_link_id;return(r?Pe(ke(r)).link:null)||r||n||t||e}var xi=class e{constructor(e){let t=Pe(ke(e)),n=t.apiKey??null,r=t.oobCode??null,i=yi(t.mode??null);A(n&&r&&i,`argument-error`),this.apiKey=n,this.operation=i,this.code=r,this.continueUrl=t.continueUrl??null,this.languageCode=t.lang??null,this.tenantId=t.tenantId??null}static parseLink(t){let n=bi(t);try{return new e(n)}catch{return null}}},Si=class e{constructor(){this.providerId=e.PROVIDER_ID}static credential(e,t){return ui._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){let n=xi.parseLink(t);return A(n,`argument-error`),ui._fromEmailAndCode(e,n.code,n.tenantId)}};Si.PROVIDER_ID=`password`,Si.EMAIL_PASSWORD_SIGN_IN_METHOD=`password`,Si.EMAIL_LINK_SIGN_IN_METHOD=`emailLink`;var Ci=class{constructor(e){this.providerId=e,this.defaultLanguageCode=null,this.customParameters={}}setDefaultLanguage(e){this.defaultLanguageCode=e}setCustomParameters(e){return this.customParameters=e,this}getCustomParameters(){return this.customParameters}},wi=class extends Ci{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}},Ti=class e extends wi{constructor(){super(`facebook.com`)}static credential(t){return fi._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.FACEBOOK_SIGN_IN_METHOD,accessToken:t})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}
3static credentialFromTaggedObject({_tokenResponse:t}){if(!t||!(`oauthAccessToken`in t)||!t.oauthAccessToken)return null;try{return e.credential(t.oauthAccessToken)}catch{return null}}};Ti.FACEBOOK_SIGN_IN_METHOD=`facebook.com`,Ti.PROVIDER_ID=`facebook.com`;var Ei=class e extends wi{constructor(){super(`google.com`),this.addScope(`profile`)}static credential(t,n){return fi._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.GOOGLE_SIGN_IN_METHOD,idToken:t,accessToken:n})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t)return null;let{oauthIdToken:n,oauthAccessToken:r}=t;if(!n&&!r)return null;try{return e.credential(n,r)}catch{return null}}};Ei.GOOGLE_SIGN_IN_METHOD=`google.com`,Ei.PROVIDER_ID=`google.com`;var Di=class e extends wi{constructor(){super(`github.com`)}static credential(t){return fi._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.GITHUB_SIGN_IN_METHOD,accessToken:t})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t||!(`oauthAccessToken`in t)||!t.oauthAccessToken)return null;try{return e.credential(t.oauthAccessToken)}catch{return null}}};Di.GITHUB_SIGN_IN_METHOD=`github.com`,Di.PROVIDER_ID=`github.com`;var Oi=class e extends wi{constructor(){super(`twitter.com`)}static credential(t,n){return fi._fromParams({providerId:e.PROVIDER_ID,signInMethod:e.TWITTER_SIGN_IN_METHOD,oauthToken:t,oauthTokenSecret:n})}static credentialFromResult(t){return e.credentialFromTaggedObject(t)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:t}){if(!t)return null;let{oauthAccessToken:n,oauthTokenSecret:r}=t;if(!n||!r)return null;try{return e.credential(n,r)}catch{return null}}};Oi.TWITTER_SIGN_IN_METHOD=`twitter.com`,Oi.PROVIDER_ID=`twitter.com`;async function ki(e,t){return F(e,`POST`,`/v1/accounts:signUp`,N(e,t))}var Ai=class e{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(t,n,r,i=!1){return new e({user:await R._fromIdTokenResponse(t,r,i),providerId:ji(r),_tokenResponse:r,operationType:n})}static async _forOperation(t,n,r){return await t._updateTokensIfNecessary(r,!0),new e({user:t,providerId:ji(r),_tokenResponse:r,operationType:n})}};function ji(e){return e.providerId?e.providerId:`phoneNumber`in e?`phone`:null}async function Mi(e){if(y(e.app))return Promise.reject(k(e));let t=B(e);if(await t._initializationPromise,t.currentUser?.isAnonymous)return new Ai({user:t.currentUser,providerId:null,operationType:`signIn`});let n=await ki(t,{returnSecureToken:!0}),r=await Ai._fromIdTokenResponse(t,`signIn`,n,!0);return await t._updateCurrentUser(r.user),r}var Ni=class e extends o{constructor(t,n,r,i){super(n.code,n.message),this.operationType=r,this.user=i,Object.setPrototypeOf(this,e.prototype),this.customData={appName:t.name,tenantId:t.tenantId??void 0,_serverResponse:n.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(t,n,r,i){return new e(t,n,r,i)}};function Pi(e,t,n,r){return(t===`reauthenticate`?n._getReauthenticationResolver(e):n._getIdTokenResponse(e)).catch(n=>{throw n.code===`auth/multi-factor-auth-required`?Ni._fromErrorAndOperation(e,n,t,r):n})}function Fi(e){return new Set(e.map(({providerId:e})=>e).filter(e=>!!e))}async function Ii(e,t,n=!1){let r=await I(e,t._linkToIdToken(e.auth,await e.getIdToken()),n);return Ai._forOperation(e,`link`,r)}async function Li(e,t,n){await $n(t);let r=Fi(t.providerData),i=e===!1?`provider-already-linked`:`no-such-provider`;A(r.has(n)===e,t.auth,i)}async function Ri(e,t,n=!1){let{auth:r}=e;if(y(r.app))return Promise.reject(k(r));let i=`reauthenticate`;try{let a=await I(e,Pi(r,i,t,e),n);A(a.idToken,r,`internal-error`);let o=Jn(a.idToken);A(o,r,`internal-error`);let{sub:s}=o;return A(e.uid===s,r,`user-mismatch`),Ai._forOperation(e,i,a)}catch(e){throw e?.code===`auth/user-not-found`&&D(r,`user-mismatch`),e}}async function zi(e,t,n=!1){if(y(e.app))return Promise.reject(k(e));let r=`signIn`,i=await Pi(e,r,t),a=await Ai._fromIdTokenResponse(e,r,i);return n||await e._updateCurrentUser(a.user),a}async function Bi(e,t){return zi(B(e),t)}async function Vi(e,t){let n=v(e);return await Li(!1,n,t.providerId),Ii(n,t)}function Hi(e,t,n){A(n.url?.length>0,e,`invalid-continue-uri`),A(n.dynamicLinkDomain===void 0||n.dynamicLinkDomain.length>0,e,`invalid-dynamic-link-domain`),A(n.linkDomain===void 0||n.linkDomain.length>0,e,`invalid-hosting-link-domain`),t.continueUrl=n.url,t.dynamicLinkDomain=n.dynamicLinkDomain,t.linkDomain=n.linkDomain,t.canHandleCodeInApp=n.handleCodeInApp,n.iOS&&(A(n.iOS.bundleId.length>0,e,`missing-ios-bundle-id`),t.iOSBundleId=n.iOS.bundleId),n.android&&(A(n.android.packageName.length>0,e,`missing-android-pkg-name`),t.androidInstallApp=n.android.installApp,t.androidMinimumVersionCode=n.android.minimumVersion,t.androidPackageName=n.android.packageName)}async function Ui(e,t,n){let r=B(e),i={requestType:`EMAIL_SIGNIN`,email:t,clientType:`CLIENT_TYPE_WEB`};function a(e,t){A(t.handleCodeInApp,r,`argument-error`),t&&Hi(r,e,t)}a(i,n),await V(r,i,`getOobCode`,si,`EMAIL_PASSWORD_PROVIDER`)}function Wi(e,t){return xi.parseLink(t)?.operation===`EMAIL_SIGNIN`}async function Gi(e,t){return P(e,`POST`,`/v1/accounts:createAuthUri`,N(e,t))}async function Ki(e,t){let n={identifier:t,continueUri:Cn()?Sn():`http://localhost`},{signinMethods:r}=await Gi(v(e),n);return r||[]}async function qi(e,t){return P(e,`POST`,`/v1/accounts:update`,t)}async function Ji(e,{displayName:t,photoURL:n}){if(t===void 0&&n===void 0)return;let r=v(e),i={idToken:await r.getIdToken(),displayName:t,photoUrl:n,returnSecureToken:!0},a=await I(r,qi(r.auth,i));r.displayName=a.displayName||null,r.photoURL=a.photoUrl||null;let o=r.providerData.find(({providerId:e})=>e===`password`);o&&(o.displayName=r.displayName,o.photoURL=r.photoURL),await r._updateTokensIfNecessary(a)}function Yi(e){if(!e)return null;let{providerId:t}=e,n=e.rawUserInfo?JSON.parse(e.rawUserInfo):{},r=e.isNewUser||e.kind===`identitytoolkit#SignupNewUserResponse`;if(!t&&e?.idToken){let t=Jn(e.idToken)?.firebase?.sign_in_provider;if(t)return new U(r,t!==`anonymous`&&t!==`custom`?t:null)}if(!t)return null;switch(t){case`facebook.com`:return new Zi(r,n);case`github.com`:return new Qi(r,n);case`google.com`:return new $i(r,n);case`twitter.com`:return new ea(r,n,e.screenName||null);case`custom`:case`anonymous`:return new U(r,null);default:return new U(r,t,n)}}var U=class{constructor(e,t,n={}){this.isNewUser=e,this.providerId=t,this.profile=n}},Xi=class extends U{constructor(e,t,n,r){super(e,t,n),this.username=r}},Zi=class extends U{constructor(e,t){super(e,`facebook.com`,t)}},Qi=class extends Xi{constructor(e,t){super(e,`github.com`,t,typeof t?.login==`string`?t?.login:null)}},$i=class extends U{constructor(e,t){super(e,`google.com`,t)}},ea=class extends Xi{constructor(e,t,n){super(e,`twitter.com`,t,n)}};
3function ta(e){let{user:t,_tokenResponse:n}=e;return t.isAnonymous&&!n?{providerId:null,isNewUser:!1,profile:null}:Yi(n)}function na(e,t,n,r){return v(e).onIdTokenChanged(t,n,r)}function ra(e,t,n){return v(e).beforeAuthStateChanged(t,n)}function ia(e,t,n,r){return v(e).onAuthStateChanged(t,n,r)}function aa(e){return v(e).signOut()}async function oa(e){return v(e).delete()}function sa(e,t){return P(e,`POST`,`/v2/accounts/mfaEnrollment:start`,N(e,t))}function ca(e,t){return P(e,`POST`,`/v2/accounts/mfaEnrollment:finalize`,N(e,t))}function la(e,t){return P(e,`POST`,`/v2/accounts/mfaEnrollment:start`,N(e,t))}function ua(e,t){return P(e,`POST`,`/v2/accounts/mfaEnrollment:finalize`,N(e,t))}var da=`__sak`,fa=class{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(da,`1`),this.storage.removeItem(da),Promise.resolve(!0)):Promise.resolve(!1)}catch{return Promise.resolve(!1)}}_set(e,t){return this.storage.setItem(e,JSON.stringify(t)),Promise.resolve()}_get(e){let t=this.storage.getItem(e);return Promise.resolve(t?JSON.parse(t):null)}_remove(e){return this.storage.removeItem(e),Promise.resolve()}get storage(){return this.storageRetriever()}},pa=1e3,ma=10,ha=class extends fa{constructor(){super(()=>window.localStorage,`LOCAL`),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=Sr(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(let t of Object.keys(this.listeners)){let n=this.storage.getItem(t),r=this.localCache[t];n!==r&&e(t,r,n)}}onStorageEvent(e,t=!1){if(!e.key){this.forAllChangedKeys((e,t,n)=>{this.notifyListeners(e,n)});return}let n=e.key;t?this.detachListener():this.stopPolling();let r=()=>{let e=this.storage.getItem(n);!t&&this.localCache[n]===e||this.notifyListeners(n,e)},i=this.storage.getItem(n);xr()&&i!==e.newValue&&e.newValue!==e.oldValue?setTimeout(r,ma):r()}notifyListeners(e,t){this.localCache[e]=t;let n=this.listeners[e];if(n)for(let e of Array.from(n))e(t&&JSON.parse(t))}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,n)=>{this.onStorageEvent(new StorageEvent(`storage`,{key:e,oldValue:t,newValue:n}),!0)})},pa)}stopPolling(){this.pollTimer&&=(clearInterval(this.pollTimer),null)}attachListener(){window.addEventListener(`storage`,this.boundEventHandler)}detachListener(){window.removeEventListener(`storage`,this.boundEventHandler)}_addListener(e,t){Object.keys(this.listeners).length===0&&(this.fallbackToPolling?this.startPolling():this.attachListener()),this.listeners[e]||(this.listeners[e]=new Set,this.localCache[e]=this.storage.getItem(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),this.listeners[e].size===0&&delete this.listeners[e]),Ob
3ject.keys(this.listeners).length===0&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){let t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}};ha.type=`LOCAL`;var ga=ha,_a=1e3;function va(e){let t=e.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`),n=RegExp(`${t}=([^;]+)`);return document.cookie.match(n)?.[1]??null}function ya(e){return`${window.location.protocol===`http:`?`__dev_`:`__HOST-`}FIREBASE_${e.split(`:`)[3]}`}var ba=class{constructor(){this.type=`COOKIE`,this.listenerUnsubscribes=new Map}_getFinalTarget(e){let t=new URL(`${window.location.origin}/__cookies__`);return t.searchParams.set(`finalTarget`,e),t}async _isAvailable(){return typeof isSecureContext==`boolean`&&!isSecureContext||typeof navigator>`u`||typeof document>`u`?!1:navigator.cookieEnabled??!0}async _set(e,t){}async _get(e){if(!this._isAvailable())return null;let t=ya(e);return window.cookieStore?(await window.cookieStore.get(t))?.value:va(t)}async _remove(e){if(!this._isAvailable()||!await this._get(e))return;let t=ya(e);document.cookie=`${t}=;Max-Age=34560000;Partitioned;Secure;SameSite=Strict;Path=/;Priority=High`,await fetch(`/__cookies__`,{method:`DELETE`}).catch(()=>void 0)}_addListener(e,t){if(!this._isAvailable())return;let n=ya(e);if(window.cookieStore){let e=(e=>{let r=e.changed.find(e=>e.name===n);r&&t(r.value),e.deleted.find(e=>e.name===n)&&t(null)});return this.listenerUnsubscribes.set(t,()=>window.cookieStore.removeEventListener(`change`,e)),window.cookieStore.addEventListener(`change`,e)}let r=va(n),i=setInterval(()=>{let e=va(n);e!==r&&(t(e),r=e)},_a);this.listenerUnsubscribes.set(t,()=>clearInterval(i))}_removeListener(e,t){let n=this.listenerUnsubscribes.get(t);n&&(n(),this.listenerUnsubscribes.delete(t))}};ba.type=`COOKIE`;var xa=class extends fa{constructor(){super(()=>window.sessionStorage,`SESSION`)}_addListener(e,t){}_removeListener(e,t){}};xa.type=`SESSION`;var Sa=xa;function Ca(e){return Promise.all(e.map(async e=>{try{return{fulfilled:!0,value:await e}}catch(e){return{fulfilled:!1,reason:e}}}))}var wa=class e{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(t){let n=this.receivers.find(e=>e.isListeningto(t));if(n)return n;let r=new e(t);return this.receivers.push(r),r}isListeningto(e){return this.eventTarget===e}async handleEvent(e){let t=e,{eventId:n,eventType:r,data:i}=t.data,a=this.handlersMap[r];if(!a?.size)return;t.ports[0].postMessage({status:`ack`,eventId:n,eventType:r});let o=await Ca(Array.from(a).map(async e=>e(t.origin,i)));t.ports[0].postMessage({status:`done`,eventId:n,eventType:r,response:o})}_subscribe(e,t){Object.keys(this.handlersMap).length===0&&this.eventTarget.addEventListener(`message`,this.boundEventHandler),this.handlersMap[e]||(this.handlersMap[e]=new Set),this.handlersMap[e].add(t)}_unsubscribe(e,t){this.handlersMap[e]&&t&&this.handlersMap[e].delete(t),(!t||this.handlersMap[e].size===0)&&delete this.handlersMap[e],Object.keys(this.handlersMap).length===0&&this.eventTarget.removeEventListener(`message`,this.boundEventHandler)}};wa.receivers=[];function Ta(e=``,t=10){let n=``;for(let e=0;e<t;e++)n+=Math.floor(Math.random()*10);return e+n}var Ea=class{constructor(e){this.target=e,this.handlers=new Set}removeMessageHandler(e){e.messageChannel&&(e.messageChannel.port1.removeEventListener(`message`,e.onMessage),e.messageChannel.port1.close()),this.handlers.delete(e)}async _send(e,t,n=50){let r=typeof MessageChannel<`u`?new MessageChannel:null;if(!r)throw Error(`connection_unavailable`);let i,a;return new Promise((o,s)=>{let c=Ta(``,20);r.port1.start();let l=setTimeout(()=>{s(Error(`unsupported_event`))},n);a={messageChannel:r,onMessage(e){let t=e;if(t.data.eventId===c)switch(t.data.status){case`ack`:clearTimeout(l),i=setTimeout(()=>{s(Error(`timeout`))},3e3);break;case`done`:clearTimeout(i),o(t.data.response);break;default:clearTimeout(l),clearTimeout(i),s(Error(`invalid_response`));break}}},this.handlers.add(a),r.port1.addEventListener(`message`,a.onMessage),this.target.postMessage({eventType:e,eventId:c,data:t},[r.port2])}).finally(()=>{a&&this.removeMessageHandler(a)})}};function W(){return window}
3function Da(e){W().location.href=e}function Oa(){return W().WorkerGlobalScope!==void 0&&typeof W().importScripts==`function`}async function ka(){if(!navigator?.serviceWorker)return null;try{return(await navigator.serviceWorker.ready).active}catch{return null}}function Aa(){return navigator?.serviceWorker?.controller||null}function ja(){return Oa()?self:null}var Ma=`firebaseLocalStorageDb`,Na=1,Pa=`firebaseLocalStorage`,Fa=`fbase_key`,Ia=class{constructor(e){this.request=e}toPromise(){return new Promise((e,t)=>{this.request.addEventListener(`success`,()=>{e(this.request.result)}),this.request.addEventListener(`error`,()=>{t(this.request.error)})})}};function La(e,t){return e.transaction([Pa],t?`readwrite`:`readonly`).objectStore(Pa)}function Ra(){return new Ia(indexedDB.deleteDatabase(Ma)).toPromise()}function za(){let e=indexedDB.open(Ma,Na);return new Promise((t,n)=>{e.addEventListener(`error`,()=>{n(e.error)}),e.addEventListener(`upgradeneeded`,()=>{let t=e.result;try{t.createObjectStore(Pa,{keyPath:Fa})}catch(e){n(e)}}),e.addEventListener(`success`,async()=>{let n=e.result;n.objectStoreNames.contains(Pa)?t(n):(n.close(),await Ra(),t(await za()))})})}async function Ba(e,t,n){return new Ia(La(e,!0).put({[Fa]:t,value:n})).toPromise()}async function Va(e,t){let n=await new Ia(La(e,!1).get(t)).toPromise();return n===void 0?null:n.value}function Ha(e,t){return new Ia(La(e,!0).delete(t)).toPromise()}var Ua=800,Wa=3,Ga=class{constructor(){this.type=`LOCAL`,this._shouldAllowMigration=!0,this.listeners={},this.localCache={},this.pollTimer=null,this.pendingWrites=0,this.receiver=null,this.sender=null,this.serviceWorkerReceiverAvailable=!1,this.activeServiceWorker=null,this._workerInitializationPromise=this.initializeServiceWorkerMessaging().then(()=>{},()=>{})}async _openDb(){return this.db||=await za(),this.db}async _withRetries(e){let t=0;for(;;)try{return await e(await this._openDb())}catch(e){if(t++>Wa)throw e;this.db&&=(this.db.close(),void 0)}}async initializeServiceWorkerMessaging(){return Oa()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=wa._getInstance(ja()),this.receiver._subscribe(`keyChanged`,async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe(`ping`,async(e,t)=>[`keyChanged`])}async initializeSender(){if(this.activeServiceWorker=await ka(),!this.activeServiceWorker)return;this.sender=new Ea(this.activeServiceWorker);let e=await this.sender._send(`ping`,{},800);e&&e[0]?.fulfilled&&e[0]?.value.includes(`keyChanged`)&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){if(!(!this.sender||!this.activeServiceWorker||Aa()!==this.activeServiceWorker))try{await this.sender._send(`keyChanged`,{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch{}}async _isAvailable(){try{if(!indexedDB)return!1;let e=await za();return await Ba(e,da,`1`),await Ha(e,da),!0}catch{}return!1}async _withPendingWrite(e){this.pendingWrites++;try{await e()}finally{this.pendingWrites--}}async _set(e,t){return this._withPendingWrite(async()=>(await this._withRetries(n=>Ba(n,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){let t=await this._withRetries(t=>Va(t,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>Ha(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){let e=await this._withRetries(e=>new Ia(La(e,!1).getAll()).toPromise());if(!e||this.pendingWrites!==0)return[];let t=[],n=new Set;if(e.length!==0)for(let{fbase_key:r,value:i}of e)n.add(r),JSON.stringify(this.localCache[r])!==JSON.stringify(i)&&(this.notifyListeners(r,i),t.push(r));for(let e of Object.keys(this.localCache))this.localCache[e]&&!n.has(e)&&(this.notifyListeners(e,null),t.push(e));return t}notifyListeners(e,t){this.localCache[e]=t;let n=this.listeners[e];if(n)for(let e of Array.from(n))e(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),Ua)}stopPolling(){this.pollTimer&&=(clearInterval(this.pollTimer),null)}_addListener(e,t){Object.keys(this.listeners).length===0&&this.startPolling(),this.listeners[e]||(this.listeners[e]=new Set,this._get(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),this.listeners[e].size===0&&delete this.listeners[e]),Ob
3ject.keys(this.listeners).length===0&&this.stopPolling()}};Ga.type=`LOCAL`;var Ka=Ga;function qa(e,t){return P(e,`POST`,`/v2/accounts/mfaSignIn:start`,N(e,t))}function Ja(e,t){return P(e,`POST`,`/v2/accounts/mfaSignIn:finalize`,N(e,t))}function Ya(e,t){return P(e,`POST`,`/v2/accounts/mfaSignIn:finalize`,N(e,t))}var Xa=Ir(`rcb`),Za=new Dn(3e4,6e4),Qa=class{constructor(){this.hostLanguage=``,this.counter=0,this.librarySeparatelyLoaded=!!W().grecaptcha?.render}load(e,t=``){return A($a(t),e,`argument-error`),this.shouldResolveImmediately(t)&&Rn(W().grecaptcha)?Promise.resolve(W().grecaptcha):new Promise((n,r)=>{let i=W().setTimeout(()=>{r(O(e,`network-request-failed`))},Za.get());W()[Xa]=()=>{W().clearTimeout(i),delete W()[Xa];let a=W().grecaptcha;if(!a||!Rn(a)){r(O(e,`internal-error`));return}let o=a.render;a.render=(e,t)=>{let n=o(e,t);return this.counter++,n},this.hostLanguage=t,n(a)},Mr(`${Nr()}?${b({onload:Xa,render:`explicit`,hl:t})}`).catch(()=>{clearTimeout(i),r(O(e,`internal-error`))})})}clearedOneInstance(){this.counter--}shouldResolveImmediately(e){return!!W().grecaptcha?.render&&(e===this.hostLanguage||this.counter>0||this.librarySeparatelyLoaded)}};function $a(e){return e.length<=6&&/^\s*[a-zA-Z0-9\-]*\s*$/.test(e)}var eo=class{async load(e){return new Br(e)}clearedOneInstance(){}},to=`recaptcha`,no={theme:`light`,type:`image`},ro=class{constructor(e,t,n={...no}){this.parameters=n,this.type=to,this.destroyed=!1,this.widgetId=null,this.tokenChangeListeners=new Set,this.renderPromise=null,this.recaptcha=null,this.auth=B(e),this.isInvisible=this.parameters.size===`invisible`,A(typeof document<`u`,this.auth,`operation-not-supported-in-this-environment`);let r=typeof t==`string`?document.getElementById(t):t;A(r,this.auth,`argument-error`),this.container=r,this.parameters.callback=this.makeTokenCallback(this.parameters.callback),this._recaptchaLoader=this.auth.settings.appVerificationDisabledForTesting?new eo:new Qa,this.validateStartingState()}async verify(){this.assertNotDestroyed();let e=await this.render(),t=this.getAssertedRecaptcha();return t.getResponse(e)||new Promise(n=>{let r=e=>{e&&(this.tokenChangeListeners.delete(r),n(e))};this.tokenChangeListeners.add(r),this.isInvisible&&t.execute(e)})}render(){try{this.assertNotDestroyed()}catch(e){return Promise.reject(e)}return this.renderPromise||=this.makeRenderPromise().catch(e=>{throw this.renderPromise=null,e}),this.renderPromise}_reset(){this.assertNotDestroyed(),this.widgetId!==null&&this.getAssertedRecaptcha().reset(this.widgetId)}clear(){this.assertNotDestroyed(),this.destroyed=!0,this._recaptchaLoader.clearedOneInstance(),this.isInvisible||this.container.childNodes.forEach(e=>{this.container.removeChild(e)})}validateStartingState(){A(!this.parameters.sitekey,this.auth,`argument-error`),A(this.isInvisible||!this.container.hasChildNodes(),this.auth,`argument-error`),A(typeof document<`u`,this.auth,`operation-not-supported-in-this-environment`)}makeTokenCallback(e){return t=>{if(this.tokenChangeListeners.forEach(e=>e(t)),typeof e==`function`)e(t);else if(typeof e==`string`){let n=W()[e];typeof n==`function`&&n(t)}}}assertNotDestroyed(){A(!this.destroyed,this.auth,`internal-error`)}async makeRenderPromise(){if(await this.init(),!this.widgetId){let e=this.container;if(!this.isInvisible){let t=document.createElement(`div`);e.appendChild(t),e=t}this.widgetId=this.getAssertedRecaptcha().render(e,this.parameters)}return this.widgetId}
3async init(){A(Cn()&&!Oa(),this.auth,`internal-error`),await io(),this.recaptcha=await this._recaptchaLoader.load(this.auth,this.auth.languageCode||void 0);let e=await Vn(this.auth);A(e,this.auth,`internal-error`),this.parameters.sitekey=e}getAssertedRecaptcha(){return A(this.recaptcha,this.auth,`internal-error`),this.recaptcha}};function io(){let e=null;return new Promise(t=>{if(document.readyState===`complete`){t();return}e=()=>t(),window.addEventListener(`load`,e)}).catch(t=>{throw e&&window.removeEventListener(`load`,e),t})}var ao=class{constructor(e,t){this.verificationId=e,this.onConfirmation=t}confirm(e){let t=vi._fromVerification(this.verificationId,e);return this.onConfirmation(t)}};async function oo(e,t,n){if(y(e.app))return Promise.reject(k(e));let r=B(e);return new ao(await so(r,t,v(n)),e=>Bi(r,e))}async function so(e,t,n){if(!e._getRecaptchaConfig())try{await Yr(e)}catch{console.log(`Failed to initialize reCAPTCHA Enterprise config. Triggering the reCAPTCHA v2 verification.`)}try{let r;if(r=typeof t==`string`?{phoneNumber:t}:t,`session`in r){let t=r.session;if(`phoneNumber`in r)return A(t.type===`enroll`,e,`internal-error`),(await V(e,{idToken:t.credential,phoneEnrollmentInfo:{phoneNumber:r.phoneNumber,clientType:`CLIENT_TYPE_WEB`}},`mfaSmsEnrollment`,async(e,t)=>t.phoneEnrollmentInfo.captchaResponse===Kr?(A(n?.type===to,e,`argument-error`),sa(e,await co(e,t,n))):sa(e,t),`PHONE_PROVIDER`).catch(e=>Promise.reject(e))).phoneSessionInfo.sessionInfo;{A(t.type===`signin`,e,`internal-error`);let i=r.multiFactorHint?.uid||r.multiFactorUid;return A(i,e,`missing-multi-factor-info`),(await V(e,{mfaPendingCredential:t.credential,mfaEnrollmentId:i,phoneSignInInfo:{clientType:`CLIENT_TYPE_WEB`}},`mfaSmsSignIn`,async(e,t)=>t.phoneSignInInfo.captchaResponse===Kr?(A(n?.type===to,e,`argument-error`),qa(e,await co(e,t,n))):qa(e,t),`PHONE_PROVIDER`).catch(e=>Promise.reject(e))).phoneResponseInfo.sessionInfo}}else return(await V(e,{phoneNumber:r.phoneNumber,clientType:`CLIENT_TYPE_WEB`},`sendVerificationCode`,async(e,t)=>t.captchaResponse===Kr?(A(n?.type===to,e,`argument-error`),pi(e,await co(e,t,n))):pi(e,t),`PHONE_PROVIDER`).catch(e=>Promise.reject(e))).sessionInfo}finally{n?._reset()}}async function co(e,t,n){A(n.type===to,e,`argument-error`);let r=await n.verify();A(typeof r==`string`,e,`argument-error`);let i={...t};if(`phoneEnrollmentInfo`in i){let e=i.phoneEnrollmentInfo.phoneNumber,t=i.phoneEnrollmentInfo.captchaResponse,n=i.phoneEnrollmentInfo.clientType,a=i.phoneEnrollmentInfo.recaptchaVersion;return Object.assign(i,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:r,captchaResponse:t,clientType:n,recaptchaVersion:a}}),i}else if(`phoneSignInInfo`in i){let e=i.phoneSignInInfo.captchaResponse,t=i.phoneSignInInfo.clientType,n=i.phoneSignInInfo.recaptchaVersion;return Object.assign(i,{phoneSignInInfo:{recaptchaToken:r,captchaResponse:e,clientType:t,recaptchaVersion:n}}),i}else return Object.assign(i,{recaptchaToken:r}),i}var lo=class e{constructor(t){this.providerId=e.PROVIDER_ID,this.auth=B(t)}verifyPhoneNumber(e,t){return so(this.auth,e,v(t))}static credential(e,t){return vi._fromVerification(e,t)}static credentialFromResult(t){let n=t;return e.credentialFromTaggedObject(n)}static credentialFromError(t){return e.credentialFromTaggedObject(t.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{phoneNumber:t,temporaryProof:n}=e;return t&&n?vi._fromTokenResponse(t,n):null}};lo.PROVIDER_ID=`phone`,lo.PHONE_SIGN_IN_METHOD=`phone`;function uo(e,t){return t?z(t):(A(e._popupRedirectResolver,e,`argument-error`),e._popupRedirectResolver)}var fo=class extends ri{constructor(e){super(`custom`,`custom`),this.params=e}_getIdTokenResponse(e){return H(e,this._buildIdpRequest())}_linkToIdToken(e,t){return H(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return H(e,this._buildIdpRequest())}_buildIdpRequest(e){let t={requestUri:this.params.requestUri,sessionId:this.params.sessionId,postBody:this.params.postBody,tenantId:this.params.tenantId,pendingToken:this.params.pendingToken,returnSecureToken:!0,returnIdpCredential:!0};return e&&(t.idToken=e),t}};function po(e){return zi(e.auth,new fo(e),e.bypassAuthState)}function mo(e){let{auth:t,user:n}=e;return A(n,t,`internal-error`),Ri(n,new fo(e),e.bypassAuthState)}async function ho(e){let{auth:t,user:n}=e;return A(n,t,`internal-error`),Ii(n,new fo(e),e.bypassAuthState)}var go=class{constructor(e,t,n,r,i=!1){this.auth=e,this.resolver=n,this.user=r,this.bypassAuthState=i,this.pendingPromise=null,this.eventManager=null,this.filter=Array.isArray(t)?t:[t]}execute(){return new Promise(async(e,t)=>{this.pendingPromise={resolve:e,reject:t};try{this.eventManager=await this.resolver._initialize(this.auth),await this.onExecution(),this.eventManager.registerConsumer(this)}catch(e){this.reject(e)}})}async onAuthEvent(e){let{urlResponse:t,sessionId:n,postBody:r,tenantId:i,error:a,type:o}=e;if(a){this.reject(a);return}let s={auth:this.auth,requestUri:t,sessionId:n,tenantId:i||void 0,postBody:r||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(o)(s))}catch(e){this.reject(e)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case`signInViaPopup`:case`signInViaRedirect`:return po;case`linkViaPopup`:case`linkViaRedirect`:return ho;case`reauthViaPopup`:case`reauthViaRedirect`:return mo;default:D(this.auth,`internal-error`)}}resolve(e){M(this.pendingPromise,`Pending promise was never set`),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){M(this.pendingPromise,`Pending promise was never set`),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}},_o=new Dn(2e3,1e4);async function vo(e,t,n){if(y(e.app))return Promise.reject(O(e,`operation-not-supported-in-this-environment`));let r=B(e);return bn(e,t,Ci),new bo(r,`signInViaPopup`,t,uo(r,n)).executeNotNull()}async function yo(e,t,n){let r=v(e);bn(r.auth,t,Ci);let i=uo(r.auth,n);return new bo(r.auth,`linkViaPopup`,t,i,r).executeNotNull()}var bo=class e extends go{constructor(t,n,r,i,a){super(t,n,i,a),this.provider=r,this.authWindow=null,this.pollId=null,e.currentPopupAction&&e.currentPopupAction.cancel(),e.currentPopupAction=this}async executeNotNull(){let e=await this.execute();return A(e,this.auth,`internal-error`),e}async onExecution(){M(this.filter.length===1,`Popup operations only handle one event`);let e=Ta();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],e),this.authWindow.associatedEvent=e,this.resolver._originValidation(this.auth).catch(e=>{this.reject(e)}),this.resolver._isIframeWebStorageSupported(this.auth,e=>{e||this.reject(O(this.auth,`web-storage-unsupported`))}),this.pollUserCancellation()}get eventId(){return this.authWindow?.associatedEvent||null}cancel(){this.reject(O(this.auth,`cancelled-popup-request`))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,e.currentPopupAction=null}pollUserCancellation(){let e=()=>{if(this.authWindow?.window?.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(O(this.auth,`popup-closed-by-user`))},8e3);return}this.pollId=window.setTimeout(e,_o.get())};e()}};bo.currentPopupAction=null;var xo=`pendingRedirect`,So=new Map,Co=class extends go{constructor(e,t,n=!1){super(e,[`signInViaRedirect`,`linkViaRedirect`,`reauthViaRedirect`,`unknown`],t,void 0,n),this.eventId=null}async execute(){let e=So.get(this.auth._key());if(!e){try{let t=await wo(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(t)}catch(t){e=()=>Promise.reject(t)}So.set(this.auth._key(),e)}return this.bypassAuthState||So.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if(e.type===`signInViaRedirect`)return super.onAuthEvent(e);
3if(e.type===`unknown`){this.resolve(null);return}if(e.eventId){let t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}};async function wo(e,t){let n=Do(t),r=Eo(e);if(!await r._isAvailable())return!1;let i=await r._get(n)===`true`;return await r._remove(n),i}function To(e,t){So.set(e._key(),t)}function Eo(e){return z(e._redirectPersistence)}function Do(e){return lr(xo,e.config.apiKey,e.name)}async function Oo(e,t,n=!1){if(y(e.app))return Promise.reject(k(e));let r=B(e),i=await new Co(r,uo(r,t),n).execute();return i&&!n&&(delete i.user._redirectEventId,await r._persistUserIfCurrent(i.user),await r._setRedirectUser(null,t)),i}var ko=600*1e3,Ao=class{constructor(e){this.auth=e,this.cachedEventUids=new Set,this.consumers=new Set,this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1,this.lastProcessedEventTime=Date.now()}registerConsumer(e){this.consumers.add(e),this.queuedRedirectEvent&&this.isEventForConsumer(this.queuedRedirectEvent,e)&&(this.sendToConsumer(this.queuedRedirectEvent,e),this.saveEventToCache(this.queuedRedirectEvent),this.queuedRedirectEvent=null)}unregisterConsumer(e){this.consumers.delete(e)}onEvent(e){if(this.hasEventBeenHandled(e))return!1;let t=!1;return this.consumers.forEach(n=>{this.isEventForConsumer(e,n)&&(t=!0,this.sendToConsumer(e,n),this.saveEventToCache(e))}),this.hasHandledPotentialRedirect||!No(e)?t:(this.hasHandledPotentialRedirect=!0,t||=(this.queuedRedirectEvent=e,!0),t)}sendToConsumer(e,t){if(e.error&&!Mo(e)){let n=e.error.code?.split(`auth/`)[1]||`internal-error`;t.onError(O(this.auth,n))}else t.onAuthEvent(e)}isEventForConsumer(e,t){let n=t.eventId===null||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&n}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=ko&&this.cachedEventUids.clear(),this.cachedEventUids.has(jo(e))}saveEventToCache(e){this.cachedEventUids.add(jo(e)),this.lastProcessedEventTime=Date.now()}};function jo(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join(`-`)}function Mo({type:e,error:t}){return e===`unknown`&&t?.code===`auth/no-auth-event`}function No(e){switch(e.type){case`signInViaRedirect`:case`linkViaRedirect`:case`reauthViaRedirect`:return!0;case`unknown`:return Mo(e);default:return!1}}async function Po(e,t={}){return P(e,`GET`,`/v1/projects`,t)}var Fo=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,Io=/^https?/;async function Lo(e){if(e.config.emulator)return;let{authorizedDomains:t}=await Po(e);for(let e of t)try{if(Ro(e))return}catch{}D(e,`unauthorized-domain`)}function Ro(e){let t=Sn(),{protocol:n,hostname:r}=new URL(t);if(e.startsWith(`chrome-extension://`)){let i=new URL(e);return i.hostname===``&&r===``?n===`chrome-extension:`&&e.replace(`chrome-extension://`,``)===t.replace(`chrome-extension://`,``):n===`chrome-extension:`&&i.hostname===r}if(!Io.test(n))return!1;if(Fo.test(e))return r===e;let i=e.replace(/\./g,`\\.`);return RegExp(`^(.+\\.`+i+`|`+i+`)$`,`i`).test(r)}var zo=new Dn(3e4,6e4);function Bo(){let e=W().___jsl;if(e?.H){for(let t of Object.keys(e.H))if(e.H[t].r=e.H[t].r||[],e.H[t].L=e.H[t].L||[],e.H[t].r=[...e.H[t].L],e.CP)for(let t=0;t<e.CP.length;t++)e.CP[t]=null}}function Vo(e){return new Promise((t,n)=>{function r(){Bo(),gapi.load(`gapi.iframes`,{callback:()=>{t(gapi.iframes.getContext())},ontimeout:()=>{Bo(),n(O(e,`network-request-failed`))},timeout:zo.get()})}if(W().gapi?.iframes?.Iframe)t(gapi.iframes.getContext());else if(W().gapi?.load)r();else{let t=Ir(`iframefcb`);return W()[t]=()=>{gapi.load?r():n(O(e,`network-request-failed`))},Mr(`${Fr()}?onload=${t}`).catch(e=>n(e))}}).catch(e=>{throw Ho=null,e})}var Ho=null;function Uo(e){return Ho||=Vo(e),Ho}var Wo=new Dn(5e3,15e3),Go=`__/auth/iframe`,Ko=`emulator/auth/iframe`,qo={style:{position:`absolute`,top:`-100px`,width:`1px`,height:`1px`},"aria-hidden":`true`,tabindex:`-1`},Jo=new Map([[`identitytoolkit.googleapis.com`,`p`],[`staging-identitytoolkit.sandbox.googleapis.com`,`s`],[`test-identitytoolkit.sandbox.googleapis.com`,`t`]]);function Yo(e){let t=e.config;A(t.authDomain,e,`auth-domain-config-required`);let n=t.emulator?On(t,Ko):`https://${e.config.authDomain}/${Go}
3`,r={apiKey:t.apiKey,appName:e.name,v:c},i=Jo.get(e.config.apiHost);i&&(r.eid=i);let a=e._getFrameworks();return a.length&&(r.fw=a.join(`,`)),`${n}?${b(r).slice(1)}`}async function Xo(e){let t=await Uo(e),n=W().gapi;return A(n,e,`internal-error`),t.open({where:document.body,url:Yo(e),messageHandlersFilter:n.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:qo,dontclear:!0},t=>new Promise(async(n,r)=>{await t.restyle({setHideOnLeave:!1});let i=O(e,`network-request-failed`),a=W().setTimeout(()=>{r(i)},Wo.get());function o(){W().clearTimeout(a),n(t)}t.ping(o).then(o,()=>{r(i)})}))}var Zo={location:`yes`,resizable:`yes`,statusbar:`yes`,toolbar:`no`},Qo=500,$o=600,es=`_blank`,ts=`http://localhost`,ns=class{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch{}}};function rs(e,t,n,r=Qo,a=$o){let o=Math.max((window.screen.availHeight-a)/2,0).toString(),s=Math.max((window.screen.availWidth-r)/2,0).toString(),c=``,l={...Zo,width:r.toString(),height:a.toString(),top:o,left:s},u=i().toLowerCase();n&&(c=mr(u)?es:n),fr(u)&&(t||=ts,l.scrollbars=`yes`);let d=Object.entries(l).reduce((e,[t,n])=>`${e}${t}=${n},`,``);if(br(u)&&c!==`_self`)return is(t||``,c),new ns(null);let f=window.open(t||``,c,d);A(f,e,`popup-blocked`);try{f.focus()}catch{}return new ns(f)}function is(e,t){let n=document.createElement(`a`);n.href=e,n.target=t;let r=document.createEvent(`MouseEvent`);r.initMouseEvent(`click`,!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),n.dispatchEvent(r)}var as=`__/auth/handler`,os=`emulator/auth/handler`,ss=`fac`;async function cs(e,t,n,r,i,a){A(e.config.authDomain,e,`auth-domain-config-required`),A(e.config.apiKey,e,`invalid-api-key`);let o={apiKey:e.config.apiKey,appName:e.name,authType:n,redirectUrl:r,v:c,eventId:i};if(t instanceof Ci){t.setDefaultLanguage(e.languageCode),o.providerId=t.providerId||``,Ae(t.getCustomParameters())||(o.customParameters=JSON.stringify(t.getCustomParameters()));for(let[e,t]of Object.entries(a||{}))o[e]=t}if(t instanceof wi){let e=t.getScopes().filter(e=>e!==``);e.length>0&&(o.scopes=e.join(`,`))}e.tenantId&&(o.tid=e.tenantId);let s=o;for(let e of Object.keys(s))s[e]===void 0&&delete s[e];let l=await e._getAppCheckToken(),u=l?`#${ss}=${encodeURIComponent(l)}`:``;return`${ls(e)}?${b(s).slice(1)}${u}`}function ls({config:e}){return e.emulator?On(e,os):`https://${e.authDomain}/${as}`}var us=`webStorageSupport`,ds=class{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=Sa,this._completeRedirectFn=Oo,this._overrideRedirectResult=To}async _openPopup(e,t,n,r){return M(this.eventManagers[e._key()]?.manager,`_initialize() not called before _openPopup()`),rs(e,await cs(e,t,n,Sn(),r),Ta())}async _openRedirect(e,t,n,r){return await this._originValidation(e),Da(await cs(e,t,n,Sn(),r)),new Promise(()=>{})}_initialize(e){let t=e._key();if(this.eventManagers[t]){let{manager:e,promise:n}=this.eventManagers[t];return e?Promise.resolve(e):(M(n,`If manager is not set, promise should be`),n)}let n=this.initAndGetManager(e);return this.eventManagers[t]={promise:n},n.catch(()=>{delete this.eventManagers[t]}),n}async initAndGetManager(e){let t=await Xo(e),n=new Ao(e);return t.register(`authEvent`,t=>(A(t?.authEvent,e,`invalid-auth-event`),{status:n.onEvent(t.authEvent)?`ACK`:`ERROR`}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:n},this.iframes[e._key()]=t,n}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(us,{type:us},n=>{let r=n?.[0]?.[us];r!==void 0&&t(!!r),D(e,`internal-error`)},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){let t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=Lo(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return Sr()||pr()||yr()}},fs=class{constructor(e){this.factorId=e}_process(e,t,n){switch(t.type){case`enroll`:return this._finalizeEnroll(e,t.credential,n);case`signin`:return this._finalizeSignIn(e,t.credential);default:return j(`unexpected MultiFactorSessionType`)}}}
3,ps=class e extends fs{constructor(e){super(`phone`),this.credential=e}static _fromCredential(t){return new e(t)}_finalizeEnroll(e,t,n){return ca(e,{idToken:t,displayName:n,phoneVerificationInfo:this.credential._makeVerificationRequest()})}_finalizeSignIn(e,t){return Ja(e,{mfaPendingCredential:t,phoneVerificationInfo:this.credential._makeVerificationRequest()})}},ms=class{constructor(){}static assertion(e){return ps._fromCredential(e)}};ms.FACTOR_ID=`phone`;var hs=class{static assertionForEnrollment(e,t){return gs._fromSecret(e,t)}static assertionForSignIn(e,t){return gs._fromEnrollmentId(e,t)}static async generateSecret(e){let t=e;A(t.user?.auth!==void 0,`internal-error`);let n=await la(t.user.auth,{idToken:t.credential,totpEnrollmentInfo:{}});return _s._fromStartTotpMfaEnrollmentResponse(n,t.user.auth)}};hs.FACTOR_ID=`totp`;var gs=class e extends fs{constructor(e,t,n){super(`totp`),this.otp=e,this.enrollmentId=t,this.secret=n}static _fromSecret(t,n){return new e(n,void 0,t)}static _fromEnrollmentId(t,n){return new e(n,t)}async _finalizeEnroll(e,t,n){return A(this.secret!==void 0,e,`argument-error`),ua(e,{idToken:t,displayName:n,totpVerificationInfo:this.secret._makeTotpVerificationInfo(this.otp)})}async _finalizeSignIn(e,t){A(this.enrollmentId!==void 0&&this.otp!==void 0,e,`argument-error`);let n={verificationCode:this.otp};return Ya(e,{mfaPendingCredential:t,mfaEnrollmentId:this.enrollmentId,totpVerificationInfo:n})}},_s=class e{constructor(e,t,n,r,i,a,o){this.sessionInfo=a,this.auth=o,this.secretKey=e,this.hashingAlgorithm=t,this.codeLength=n,this.codeIntervalSeconds=r,this.enrollmentCompletionDeadline=i}static _fromStartTotpMfaEnrollmentResponse(t,n){return new e(t.totpSessionInfo.sharedSecretKey,t.totpSessionInfo.hashingAlgorithm,t.totpSessionInfo.verificationCodeLength,t.totpSessionInfo.periodSec,new Date(t.totpSessionInfo.finalizeEnrollmentTime).toUTCString(),t.totpSessionInfo.sessionInfo,n)}_makeTotpVerificationInfo(e){return{sessionInfo:this.sessionInfo,verificationCode:e}}generateQrCodeUrl(e,t){let n=!1;return(vs(e)||vs(t))&&(n=!0),n&&(vs(e)&&(e=this.auth.currentUser?.email||`unknownuser`),vs(t)&&(t=this.auth.name)),`otpauth://totp/${t}:${e}?secret=${this.secretKey}&issuer=${t}&algorithm=${this.hashingAlgorithm}&digits=${this.codeLength}`}};function vs(e){return e===void 0||e?.length===0}var ys=`@firebase/auth`,bs=`1.12.1`,xs=class{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){return this.assertAuthConfigured(),this.auth.currentUser?.uid||null}async getToken(e){return this.assertAuthConfigured(),await this.auth._initializationPromise,this.auth.currentUser?{accessToken:await this.auth.currentUser.getIdToken(e)}:null}addAuthTokenListener(e){if(this.assertAuthConfigured(),this.internalListeners.has(e))return;let t=this.auth.onIdTokenChanged(t=>{e(t?.stsTokenManager.accessToken||null)});this.internalListeners.set(e,t),this.updateProactiveRefresh()}removeAuthTokenListener(e){this.assertAuthConfigured();let t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){A(this.auth._initializationPromise,`dependent-sdk-initialized-before-auth`)}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}};function Ss(e){switch(e){case`Node`:return`node`;case`ReactNative`:return`rn`;case`Worker`:return`webworker`;case`Cordova`:return`cordova`;case`WebExtension`:return`web-extension`;default:return}}function Cs(e){a(new h(`auth`,(t,{options:n})=>{let r=t.getProvider(`app`).getImmediate(),i=t.getProvider(`heartbeat`),a=t.getProvider(`app-check-internal`),{apiKey:o,authDomain:s}=r.options;A(o&&!o.includes(`:`),`invalid-api-key`,{appName:r.name});let c=new Or(r,i,a,{apiKey:o,authDomain:s,clientPlatform:e,apiHost:`identitytoolkit.googleapis.com`,tokenApiHost:`securetoken.googleapis.com`,apiScheme:`https`,sdkClientVersion:Cr(e)});return Zr(c,n),c},`PUBLIC`).setInstantiationMode(`EXPLICIT`).setInstanceCreatedCallback((e,t,n)=>{e.getProvider(`auth-internal`).initialize()})),a(new h(`auth-internal`,e=>(e=>new xs(e))(B(e.getProvider(`auth`).getImmediate())),`PRIVATE`).setInstantiationMode(`EXPLICIT`)),g(ys,bs,Ss(e)),g(ys,bs,`esm2020`)}var ws=le(`authIdTokenMaxAge`)||300,Ts=null,Es=e=>async t=>{let n=t&&await t.getIdTokenResult(),r=n&&(new Date().getTime()-Date.parse(n.issuedAtTime))/1e3;if(r&&r>ws)return;let i=n?.token;
3Ts!==i&&(Ts=i,await fetch(e,{method:i?`POST`:`DELETE`,headers:i?{Authorization:`Bearer ${i}`}:{}}))};function Ds(e=we()){let t=_(e,`auth`);if(t.isInitialized())return t.getImmediate();let n=Xr(e,{popupRedirectResolver:ds,persistence:[Ka,ga,Sa]}),r=le(`authTokenSyncURL`);if(r&&typeof isSecureContext==`boolean`&&isSecureContext){let e=new URL(r,location.origin);if(location.origin===e.origin){let t=Es(e.toString());ra(n,t,()=>t(n.currentUser)),na(n,e=>t(e))}}let i=ee(`auth`);return i&&Qr(n,`http://${i}`),n}function Os(){return document.getElementsByTagName(`head`)?.[0]??document}jr({loadJS(e){return new Promise((t,n)=>{let r=document.createElement(`script`);r.setAttribute(`src`,e),r.onload=t,r.onerror=e=>{let t=O(`internal-error`);t.customData=e,n(t)},r.type=`text/javascript`,r.charset=`UTF-8`,Os().appendChild(r)})},gapiScript:`https://apis.google.com/js/api.js`,recaptchaV2Script:`https://www.google.com/recaptcha/api.js`,recaptchaEnterpriseScript:`https://www.google.com/recaptcha/enterprise.js?render=`}),Cs(`Browser`);function ks(e,t){e.src=t}var As=e=>{var t,n,r,i=`The Google Maps JavaScript API`,a=`google`,o=`importLibrary`,s=`__ib__`,c=document,l=window,u=l[a]||(l[a]={}),d=u.maps||={},f=new Set,p=new URLSearchParams,ee=()=>t||=new Promise(async(o,l)=>{for(r in await(n=c.createElement(`script`)),p.set(`libraries`,[...f]+``),e)p.set(r.replace(/[A-Z]/g,e=>`_`+e[0].toLowerCase()),e[r]);p.set(`callback`,a+`.maps.`+s),ks(n,`https://maps.googleapis.com/maps/api/js?`+p),d[s]=o,n.onerror=()=>t=l(Error(i+` could not load.`)),n.nonce=c.querySelector(`script[nonce]`)?.nonce||``,c.head.append(n)});d[o]?console.warn(i+` only loads once. Ignoring:`,e):d[o]=(e,...t)=>f.add(e)&&ee().then(()=>d[o](e,...t))},js=e=>`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`,Ms=e=>`The google.maps.importLibrary() function is already defined, and @googlemaps/js-api-loader will use the existing function instead of overwriting it. The options passed to setOptions (${JSON.stringify(e)}) will be ignored.`,Ns=!1;function Ps(e){if(Ns){js(e);return}Is(e),Ns=!0}async function Fs(e){if(!window?.google?.maps?.importLibrary)throw Error(`google.maps.importLibrary is not installed.`);return await google.maps.importLibrary(e)}function Is(e){let t=!!window.google?.maps?.importLibrary;t&&Ms(e),t||As(e)}var Ls=`@firebase/installations`,Rs=`0.6.20`,zs=1e4,Bs=`w:${Rs}`,Vs=`FIS_v2`,Hs=`https://firebaseinstallations.googleapis.com/v1`,Us=3600*1e3,G=new S(`installations`,`Installations`,{"missing-app-config-values":`Missing App configuration value: "{$valueName}"`,"not-registered":`Firebase Installation is not registered.`,"installation-not-found":`Firebase Installation not found.`,"request-failed":`{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"`,"app-offline":`Could not process request. Application offline.`,"delete-pending-registration":`Can't delete installation while there is a pending registration request.`});function Ws(e){return e instanceof o&&e.code.includes(`request-failed`)}function Gs({projectId:e}){return`${Hs}/projects/${e}/installations`}function Ks(e){return{token:e.token,requestStatus:2,expiresIn:Zs(e.expiresIn),creationTime:Date.now()}}async function qs(e,t){let n=(await t.json()).error;return G.create(`request-failed`,{requestName:e,serverCode:n.code,serverMessage:n.message,serverStatus:n.status})}function Js({apiKey:e}){return new Headers({"Content-Type":`application/json`,Accept:`application/json`,"x-goog-api-key":e})}function Ys(e,{refreshToken:t}){let n=Js(e);return n.append(`Authorization`,Qs(t)),n}async function Xs(e){let t=await e();return t.status>=500&&t.status<600?e():t}function Zs(e){return Number(e.replace(`s`,`000`))}function Qs(e){return`${Vs} ${e}`}async function $s({appConfig:e,heartbeatServiceProvider:t},{fid:n}){let r=Gs(e),i=Js(e),a=t.getImmediate({optional:!0});if(a){let e=await a.getHeartbeatsHeader();e&&i.append(`x-firebase-client`,e)}let o={fid:n,authVersion:Vs,appId:e.appId,sdkVersion:Bs},s={method:`POST`,headers:i,body:JSON.stringify(o)},c=await Xs(()=>fetch(r,s));if(c.ok){let e=await c.json();return{fid:e.fid||n,registrationStatus:2,refreshToken:e.refreshToken,authToken:Ks(e.authToken)}}else throw await qs(`Create Installation`,c)}function ec(e){return new Promise(t=>{setTimeout(t,e)})}function tc(e){return btoa(String.fromCharCode(...e)).replace(/\+/g,`-`).replace(/\//g,`_`)}var nc=/^[cdef][\w-]{21}$/,rc=``;function ic(){try{let e=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(e),e[0]=112+e[0]%16;let t=ac(e);return nc.test(t)?t:rc}catch{return rc}}function ac(e){return tc(e).substr(0,22)}function oc(e){return`${e.appName}!${e.appId}`}var sc=new Map;function cc(e,t){let n=oc(e);lc(n,t),uc(n,t)}function lc(e,t){let n=sc.get(e);if(n)for(let e of n)e(t)}function uc(e,t){let n=dc();n&&n.postMessage({key:e,fid:t}),fc()}var K=null;function dc(){return!K&&`BroadcastChannel`in self&&(K=new BroadcastChannel(`[Firebase] FID Change`),K.onmessage=e=>{lc(e.data.key,e.data.fid)}),K}function fc(){sc.size===0&&K&&(K.close(),K=null)}var pc=`firebase-installations-database`,mc=1,q=`firebase-installations-store`,hc=null;function gc(){return hc||=ne(pc,mc,{upgrade:(e,t)=>{switch(t){case 0:e.createObjectStore(q)}}}),hc}async function _c(e,t){let n=oc(e),r=(await gc()).transaction(q,`readwrite`),i=r.objectStore(q),a=await i.get(n);return await i.put(t,n),await r.done,(!a||a.fid!==t.fid)&&cc(e,t.fid),t}async function vc(e){let t=oc(e),n=(await gc()).transaction(q,`readwrite`);await n.objectStore(q).delete(t),await n.done}async function yc(e,t){let n=oc(e),r=(await gc()).transaction(q,`readwrite`),i=r.objectStore(q),a=await i.get(n),o=t(a);return o===void 0?await i.delete(n):await i.put(o,n),await r.done,o&&(!a||a.fid!==o.fid)&&cc(e,o.fid),o}async function bc(e){let t,n=await yc(e.appConfig,n=>{let r=Sc(e,xc(n));return t=r.registrationPromise,r.installationEntry});return n.fid===rc?{installationEntry:await t}:{installationEntry:n,registrationPromise:t}}function xc(e){return Ec(e||{fid:ic(),registrationStatus:0})}function Sc(e,t){if(t.registrationStatus===0){if(!navigator.onLine)return{installationEntry:t,registrationPromise:Promise.reject(G.create(`app-offline`))};let n={fid:t.fid,registrationStatus:1,registrationTime:Date.now()};return{installationEntry:n,registrationPromise:Cc(e,n)}}else if(t.registrationStatus===1)return{installationEntry:t,registrationPromise:wc(e)};else return{installationEntry:t}}async function Cc(e,t){try{let n=await $s(e,t);return _c(e.appConfig,n)}catch(n){throw Ws(n)&&n.customData.serverCode===409?await vc(e.appConfig):await _c(e.appConfig,{fid:t.fid,registrationStatus:0}),n}}async function wc(e){let t=await Tc(e.appConfig);for(;t.registrationStatus===1;)await ec(100),t=await Tc(e.appConfig);if(t.registrationStatus===0){let{installationEntry:t,registrationPromise:n}=await bc(e);return n||t}return t}function Tc(e){return yc(e,e=>{if(!e)throw G.create(`installation-not-found`);return Ec(e)})}function Ec(e){return Dc(e)?{fid:e.fid,registrationStatus:0}:e}function Dc(e){return e.registrationStatus===1&&e.registrationTime+zs<Date.now()}async function Oc({appConfig:e,heartbeatServiceProvider:t},n){let r=kc(e,n),i=Ys(e,n),a=t.getImmediate({optional:!0});if(a){let e=await a.getHeartbeatsHeader();e&&i.append(`x-firebase-client`,e)}let o={installation:{sdkVersion:Bs,appId:e.appId}},s={method:`POST`,headers:i,body:JSON.stringify(o)},c=await Xs(()=>fetch(r,s));if(c.ok)return Ks(await c.json());throw await qs(`Generate Auth Token`,c)}function kc(e,{fid:t}){return`${Gs(e)}/${t}/authTokens:generate`}async function Ac(e,t=!1){let n,r=await yc(e.appConfig,r=>{if(!Pc(r))throw G.create(`not-registered`);let i=r.authToken;if(!t&&Fc(i))return r;if(i.requestStatus===1)return n=jc(e,t),r;{if(!navigator.onLine)throw G.create(`app-offline`);let t=Lc(r);return n=Nc(e,t),t}});return n?await n:r.authToken}async function jc(e,t){let n=await Mc(e.appConfig);for(;n.authToken.requestStatus===1;)await ec(100),n=await Mc(e.appConfig);let r=n.authToken;return r.requestStatus===0?Ac(e,t):r}function Mc(e){return yc(e,e=>{if(!Pc(e))throw G.create(`not-registered`);let t=e.authToken;return Rc(t)?{...e,authToken:{requestStatus:0}}:e})}async function Nc(e,t){try{let n=await Oc(e,t),r={...t,authToken:n};return await _c(e.appConfig,r),n}catch(n){if(Ws(n)&&(n.customData.serverCode===401||n.customData.serverCode===404))await vc(e.appConfig);else{let n={...t,authToken:{requestStatus:0}};await _c(e.appConfig,n)}throw n}}function Pc(e){return e!==void 0&&e.registrationStatus===2}function Fc(e){return e.requestStatus===2&&!Ic(e)}function Ic(e){let t=Date.now();
3return t<e.creationTime||e.creationTime+e.expiresIn<t+Us}function Lc(e){let t={requestStatus:1,requestTime:Date.now()};return{...e,authToken:t}}function Rc(e){return e.requestStatus===1&&e.requestTime+zs<Date.now()}async function zc(e){let t=e,{installationEntry:n,registrationPromise:r}=await bc(t);return r?r.catch(console.error):Ac(t).catch(console.error),n.fid}async function Bc(e,t=!1){let n=e;return await Vc(n),(await Ac(n,t)).token}async function Vc(e){let{registrationPromise:t}=await bc(e);t&&await t}function Hc(e){if(!e||!e.options)throw Uc(`App Configuration`);if(!e.name)throw Uc(`App Name`);for(let t of[`projectId`,`apiKey`,`appId`])if(!e.options[t])throw Uc(t);return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}}function Uc(e){return G.create(`missing-app-config-values`,{valueName:e})}var Wc=`installations`,Gc=`installations-internal`,Kc=e=>{let t=e.getProvider(`app`).getImmediate();return{app:t,appConfig:Hc(t),heartbeatServiceProvider:_(t,`heartbeat`),_delete:()=>Promise.resolve()}},qc=e=>{let t=_(e.getProvider(`app`).getImmediate(),Wc).getImmediate();return{getId:()=>zc(t),getToken:e=>Bc(t,e)}};function Jc(){a(new h(Wc,Kc,`PUBLIC`)),a(new h(Gc,qc,`PRIVATE`))}Jc(),g(Ls,Rs),g(Ls,Rs,`esm2020`);var Yc=`analytics`,Xc=`firebase_id`,Zc=`origin`,Qc=60*1e3,$c=`https://firebase.googleapis.com/v1alpha/projects/-/apps/{app-id}/webConfig`,el=`https://www.googletagmanager.com/gtag/js`,J=new p(`@firebase/analytics`),Y=new S(`analytics`,`Analytics`,{"already-exists":`A Firebase Analytics instance with the appId {$id} already exists. Only one Firebase Analytics instance can be created for each appId.`,"already-initialized":`initializeAnalytics() cannot be called again with different options than those it was initially called with. It can be called again with the same options to return the existing instance, or getAnalytics() can be used to get a reference to the already-initialized instance.`,"already-initialized-settings":`Firebase Analytics has already been initialized.settings() must be called before initializing any Analytics instanceor it will have no effect.`,"interop-component-reg-failed":`Firebase Analytics Interop Component failed to instantiate: {$reason}`,"invalid-analytics-context":`Firebase Analytics is not supported in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}`,"indexeddb-unavailable":`IndexedDB unavailable or restricted in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}`,"fetch-throttle":`The config fetch request timed out while in an exponential backoff state. Unix timestamp in milliseconds when fetch request throttling ends: {$throttleEndTimeMillis}.`,"config-fetch-failed":`Dynamic config fetch failed: [{$httpStatus}] {$responseMessage}`,"no-api-key":`The "apiKey" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid API key.`,"no-app-id":`The "appId" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid app ID.`,"no-client-id":`The "client_id" field is empty.`,"invalid-gtag-resource":`Trusted Types detected an invalid gtag resource: {$gtagURL}.`});function tl(e){if(!e.startsWith(el)){let t=Y.create(`invalid-gtag-resource`,{gtagURL:e});return J.warn(t.message),``}return e}function nl(e){return Promise.all(e.map(e=>e.catch(e=>e)))}function rl(e,t){let n;return window.trustedTypes&&(n=window.trustedTypes.createPolicy(e,t)),n}function il(e,t){let n=rl(`firebase-js-sdk-policy`,{createScriptURL:tl}),r=document.createElement(`script`),i=`${el}?l=${e}&id=${t}`;r.src=n?n?.createScriptURL(i):i,r.async=!0,document.head.appendChild(r)}function al(e){let t=[];return Array.isArray(window[e])?t=window[e]:window[e]=t,t}async function ol(e,t,n,r,i,a){let o=r[i];try{if(o)await t[o];else{let e=(await nl(n)).find(e=>e.measurementId===i);e&&await t[e.appId]}}catch(e){J.error(e)}e(`config`,i,a)}async function sl(e,t,n,r,i){try{let a=[];if(i&&i.send_to){let e=i.send_to;Array.isArray(e)||(e=[e]);let r=await nl(n);for(let n of e){let e=r.find(e=>e.measurementId===n),i=e&&t[e.appId];if(i)a.push(i);else{a=[];break}}}a.length===0&&(a=Object.values(t)),await Promise.all(a),e(`event`,r,i||{})}catch(e){J.error(e)}}function cl(e,t,n,r){async function i(i,...a){try{if(i===`event`){let[r,i]=a;await sl(e,t,n,r,i)}else if(i===`config`){let[i,o]=a;await ol(e,t,n,r,i,o)}else if(i===`consent`){let[t,n]=a;e(`consent`,t,n)}else if(i===`get`){let[t,n,r]=a;e(`get`,t,n,r)}else if(i===`set`){let[t]=a;e(`set`,t)}else e(i,...a)}catch(e){J.error(e)}}return i}function ll(e,t,n,r,i){let a=function(...e){window[r].push(arguments)};return window[i]&&typeof window[i]==`function`&&(a=window[i]),window[i]=cl(a,e,t,n),{gtagCore:a,wrappedGtag:window[i]}}function ul(e){let t=window.document.getElementsByTagName(`script`);for(let n of Object.values(t))if(n.src&&n.src.includes(el)&&n.src.includes(e))return n;return null}var dl=30,fl=1e3,pl=new class{constructor(e={},t=fl){this.throttleMetadata=e,this.intervalMillis=t}getThrottleMetadata(e){return this.throttleMetadata[e]}setThrottleMetadata(e,t){this.throttleMetadata[e]=t}deleteThrottleMetadata(e){delete this.throttleMetadata[e]}};function ml(e){return new Headers({Accept:`application/json`,"x-goog-api-key":e})}async function hl(e){let{appId:t,apiKey:n}=e,r={method:`GET`,headers:ml(n)},i=$c.replace(`{app-id}`,t),a=await fetch(i,r);if(a.status!==200&&a.status!==304){let e=``;try{let t=await a.json();t.error?.message&&(e=t.error.message)}catch{}throw Y.create(`config-fetch-failed`,{httpStatus:a.status,responseMessage:e})}return a.json()}
3async function gl(e,t=pl,n){let{appId:r,apiKey:i,measurementId:a}=e.options;if(!r)throw Y.create(`no-app-id`);if(!i){if(a)return{measurementId:a,appId:r};throw Y.create(`no-api-key`)}let o=t.getThrottleMetadata(r)||{backoffCount:0,throttleEndTimeMillis:Date.now()},s=new bl;return setTimeout(async()=>{s.abort()},n===void 0?Qc:n),_l({appId:r,apiKey:i,measurementId:a},o,s,t)}async function _l(e,{throttleEndTimeMillis:t,backoffCount:n},r,i=pl){let{appId:a,measurementId:o}=e;try{await vl(r,t)}catch(e){if(o)return J.warn(`Timed out fetching this Firebase app's measurement ID from the server. Falling back to the measurement ID ${o} provided in the "measurementId" field in the local Firebase config. [${e?.message}]`),{appId:a,measurementId:o};throw e}try{let t=await hl(e);return i.deleteThrottleMetadata(a),t}catch(t){let s=t;if(!yl(s)){if(i.deleteThrottleMetadata(a),o)return J.warn(`Failed to fetch this Firebase app's measurement ID from the server. Falling back to the measurement ID ${o} provided in the "measurementId" field in the local Firebase config. [${s?.message}]`),{appId:a,measurementId:o};throw t}let c=Number(s?.customData?.httpStatus)===503?ce(n,i.intervalMillis,dl):ce(n,i.intervalMillis),l={throttleEndTimeMillis:Date.now()+c,backoffCount:n+1};return i.setThrottleMetadata(a,l),J.debug(`Calling attemptFetch again in ${c} millis`),_l(e,l,r,i)}}function vl(e,t){return new Promise((n,r)=>{let i=Math.max(t-Date.now(),0),a=setTimeout(n,i);e.addEventListener(()=>{clearTimeout(a),r(Y.create(`fetch-throttle`,{throttleEndTimeMillis:t}))})})}function yl(e){if(!(e instanceof o)||!e.customData)return!1;let t=Number(e.customData.httpStatus);return t===429||t===500||t===503||t===504}var bl=class{constructor(){this.listeners=[]}addEventListener(e){this.listeners.push(e)}abort(){this.listeners.forEach(e=>e())}},xl;async function Sl(e,t,n,r,i){if(i&&i.global){e(`event`,n,r);return}else{let i=await t;e(`event`,n,{...r,send_to:i})}}async function Cl(e,t,n,r){if(r&&r.global)return e(`set`,{user_id:n}),Promise.resolve();e(`config`,await t,{update:!0,user_id:n})}async function wl(e,t,n,r){if(r&&r.global){let t={};for(let e of Object.keys(n))t[`user_properties.${e}`]=n[e];return e(`set`,t),Promise.resolve()}else e(`config`,await t,{update:!0,user_properties:n})}var Tl;function El(e){Tl=e}function Dl(e){xl=e}async function Ol(){if(me())try{await xe()}catch(e){return J.warn(Y.create(`indexeddb-unavailable`,{errorInfo:e?.toString()}).message),!1}else return J.warn(Y.create(`indexeddb-unavailable`,{errorInfo:`IndexedDB is not available in this environment.`}).message),!1;return!0}async function kl(e,t,n,r,i,a,o){let s=gl(e);s.then(t=>{n[t.measurementId]=t.appId,e.options.measurementId&&t.measurementId!==e.options.measurementId&&J.warn(`The measurement ID in the local Firebase config (${e.options.measurementId}) does not match the measurement ID fetched from the server (${t.measurementId}). To ensure analytics events are always sent to the correct Analytics property, update the measurement ID field in the local config or remove it from the local config.`)}).catch(e=>J.error(e)),t.push(s);let c=Ol().then(e=>{if(e)return r.getId()}),[l,u]=await Promise.all([s,c]);ul(a)||il(a,l.measurementId),Tl&&(i(`consent`,`default`,Tl),El(void 0)),i(`js`,new Date);let d=o?.config??{};return d[Zc]=`firebase`,d.update=!0,u!=null&&(d[Xc]=u),i(`config`,l.measurementId,d),xl&&(i(`set`,xl),Dl(void 0)),l.measurementId}var Al=class{constructor(e){this.app=e}_delete(){return delete X[this.app.options.appId],Promise.resolve()}},X={},jl=[],Ml={},Nl=`dataLayer`,Pl=`gtag`,Fl,Il,Ll=!1;function Rl(){let e=[];
3if(be()&&e.push(`This is a browser extension environment.`),se()||e.push(`Cookies are not available.`),e.length>0){let t=e.map((e,t)=>`(${t+1}) ${e}`).join(` `),n=Y.create(`invalid-analytics-context`,{errorInfo:t});J.warn(n.message)}}function zl(e,t,n){Rl();let r=e.options.appId;if(!r)throw Y.create(`no-app-id`);if(!e.options.apiKey)if(e.options.measurementId)J.warn(`The "apiKey" field is empty in the local Firebase config. This is needed to fetch the latest measurement ID for this Firebase app. Falling back to the measurement ID ${e.options.measurementId} provided in the "measurementId" field in the local Firebase config.`);else throw Y.create(`no-api-key`);if(X[r]!=null)throw Y.create(`already-exists`,{id:r});if(!Ll){al(Nl);let{wrappedGtag:e,gtagCore:t}=ll(X,jl,Ml,Nl,Pl);Il=e,Fl=t,Ll=!0}return X[r]=kl(e,jl,Ml,t,Fl,Nl,n),new Al(e)}function Bl(e=we()){e=v(e);let t=_(e,Yc);return t.isInitialized()?t.getImmediate():Vl(e)}function Vl(e,t={}){let n=_(e,Yc);if(n.isInitialized()){let e=n.getImmediate();if(m(t,n.getOptions()))return e;throw Y.create(`already-initialized`)}return n.initialize({options:t})}function Hl(e,t,n){e=v(e),Cl(Il,X[e.app.options.appId],t,n).catch(e=>J.error(e))}function Ul(e,t,n){e=v(e),wl(Il,X[e.app.options.appId],t,n).catch(e=>J.error(e))}function Z(e,t,n,r){e=v(e),Sl(Il,X[e.app.options.appId],t,n,r).catch(e=>J.error(e))}var Wl=`@firebase/analytics`,Gl=`0.10.20`;function Kl(){a(new h(Yc,(e,{options:t})=>zl(e.getProvider(`app`).getImmediate(),e.getProvider(`installations-internal`).getImmediate(),t),`PUBLIC`)),a(new h(`analytics-internal`,e,`PRIVATE`)),g(Wl,Gl),g(Wl,Gl,`esm2020`);function e(e){try{let t=e.getProvider(Yc).getImmediate();return{logEvent:(e,n,r)=>Z(t,e,n,r),setUserProperties:(e,n)=>Ul(t,e,n)}}catch(e){throw Y.create(`interop-component-reg-failed`,{reason:e})}}}Kl(),n();var ql=`isimcha-apps-01-dev`,Jl=`/2b5d0cc8-d1bf-4e15-8ce5-cf2e8143425e/64dd420b-5fb3-4711-8903-b03df7d86218.json`,Yl=`/2b5d0cc8-d1bf-4e15-8ce5-cf2e8143425e/23a048a0-015f-5377-b756-ea77ffcdbde3.json`,Xl=`VITE_`,Zl=()=>{try{return{BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1}}catch{return}},Ql=e=>{let n=Zl()?.[e];if(n!==void 0)return String(n);if(t!==void 0)return{}[e]},$l=()=>{let e=Zl();return typeof e?.PROD==`boolean`?e.PROD:t!==void 0},eu=class e{constructor(t){this._payload={path1:Jl,path2:Yl},this._prod=!1;let n=e.getFromEnv(`${Xl}DEV`);this._prod=n?n!==`true`:$l(),this._settings=t}static async Instance(){return this._instance||=new e(await e.load()),this._instance}get prod(){return this._prod}get settings(){return this._settings?this._settings:(console.error(`_settings is undefined`),console.debug(`_settings:`,this._settings),new e({}))}get databaseId(){return this._settings.google?.firebase?.databaseId||(console.error(`databaseId is undefined`),``)}get firebaseOptions(){return this._settings.google?.firebase?.config||(console.error(`firebaseOptions is undefined`),console.debug(`Settings:`,this._settings),{})}get mapsAPIKey(){return this._settings.google?.maps?.api_key||(console.error(`mapsAPIKey is undefined`),``)}get urlShortener(){return this._settings.url_shortener?this._settings.url_shortener:(console.error(`URL Shortener Settings are undefined`),{provider:``,domain:``,url:``,path:``,api_key:``})}get algoliaAPIKey(){return this._settings.algolia?.api_key||(console.error(`algoliaAPIKey is undefined`),``)}get algoliaApplicationId(){return this._settings.algolia?.application_id||(console.error(`algoliaApplicationId is undefined`),``)}get amazonCognitoId(){return this._settings.amazon?.cognito?.identity_pool_id||(console.error(`amazonCognitoId is undefined`),``)}get googleAnalyticsTag(){return this._settings.google?.google_analytics?.ga_tag||(console.error(`Google Analytics Tag is undefined`),``)}get recaptchaSiteKey(){return this._settings.google?.recaptcha.site_key||(console.error(`ReCaptcha site key is undefined`),``)}get amazonCognitoRegion(){return this._settings.amazon?.cognito?.region||(console.error(`amazonCognitoRegion is undefined`),``)}get sponsorFeatureFlag(){return this._settings.feature?.sponsored_study||(console.error(`sponsorFeatureFlag is undefined`),``)}get websocketUrl(){return this._settings.websocket_server?.url||(console.error(`websocketUrl is undefined`),``)}static getFromEnv(e){let t=Ql(e);
3return t===void 0?(console.error(`Error! Environment variable %s is not set. Using empty string.`,e),``):t}static async load(){let t=e.getFromEnv(`${Xl}DEV`);return(t?t!==`true`:$l())?e.loadUrl(Yl):{application_url:e.getFromEnv(`VITE_URL`),google:{maps:{api_key:e.getFromEnv(`VITE_GOOGLE_MAPS_API_KEY`)},firebase:{databaseId:ql,config:JSON.parse(e.getFromEnv(`VITE_FIREBASE_CONFIG`)||`{}`)},google_analytics:{ga_tag:e.getFromEnv(`VITE_GOOGLE_ANALYTICS_TAG`)},recaptcha:{site_key:e.getFromEnv(`VITE_RECAPTCHA_SITE_KEY`)}},url_shortener:{provider:`Kutt`,domain:e.getFromEnv(`VITE_URL_SHORTENER_DOMAIN_STAGING`),path:`/api/v2/links/`,api_key:e.getFromEnv(`VITE_URL_SHORTENER_API_KEY_STAGING`)},websocket_server:{url:e.getFromEnv(`VITE_WEBSOCKET_URL`)},algolia:{api_key:e.getFromEnv(`VITE_ALGOLIA_SEARCH`),application_id:e.getFromEnv(`VITE_ALGOLIA_APPLICATION_ID`)},amazon:{cognito:{identity_pool_id:e.getFromEnv(`VITE_AMAZON_COGNITO_IDENTITY_POOL_ID`),region:e.getFromEnv(`VITE_AMAZON_COGNITO_IDENTITY_POOL_ID`).split(`:`)[0]}}}}static async loadUrl(e){try{let t=await fetch(e,{method:`GET`,headers:{Accept:`application/json`}}).then(e=>e.json());if(!(`data`in t))return console.error(`'data' is not in JSON response`),console.debug(t),{};let n=window.atob(window.atob(t.data).split(``).reverse().join(``));return JSON.parse(n)}catch(e){return console.error(e),{}}}},tu=class{constructor(e){this._uid=e.uid,this._firstName=e.firstName,this.phoneNumber=e.phoneNumber||``,this.phoneVerified=e.phoneVerified,this.emailAddress=e.emailAddress||``,this.isAnonymous=e.isAnonymous,this.isDeleted=e.isDeleted===void 0?!1:e.isDeleted,this.createdAt=e.createdAt||new Date,this.modifiedAt=e.createdAt||new Date,this.inUserTesting=e.inUserTesting||!1,this.userOrg=e.userOrg||``,this.userPreferences=e.userPreferences??{notifyByEmail:!1,notifyBySMS:!1},this.acceptedPrivacyPolicy=e.acceptedPrivacyPolicy??!1}get uid(){return this._uid}get firstName(){return this._firstName}set firstName(e){this.firstName=e,this.modifiedAt=new Date}},nu={toFirestore(e){return{firstName:e.firstName,phoneNumber:e.phoneNumber,phoneVerified:e.phoneVerified,emailAddress:e.emailAddress,uid:e.uid,isAnonymous:e.isAnonymous,isDeleted:e.isDeleted,createdAt:e.createdAt,modifiedAt:e.modifiedAt,inUserTesting:e.inUserTesting,userOrg:e.userOrg,userPreferences:e.userPreferences,acceptedPrivacyPolicy:e.acceptedPrivacyPolicy}},fromFirestore(e,t){let n=e.data(t);return new tu({firstName:n.firstName,phoneNumber:n.phoneNumber,phoneVerified:n.phoneVerified,emailAddress:n.emailAddress,uid:n.uid,isAnonymous:n.isAnonymous,isDeleted:n.isDeleted,createdAt:n.createdAt,modifiedAt:n.modifiedAt,inUserTesting:n.inUserTesting,userOrg:n.userOrg,userPreferences:n.userPreferences,acceptedPrivacyPolicy:n.acceptedPrivacyPolicy})}};async function ru(e){return(await ve(x($(),`userProfile`,e))).exists()}async function iu(e){let t=$(),n=new tu(e);await he(x(t,`userProfile`,e.uid).withConverter(nu),n)}async function au(e,t){return iu({uid:e.uid,firstName:e.displayName||``,phoneNumber:e.phoneNumber||``,phoneVerified:!1,emailAddress:e.email||``,isAnonymous:e.isAnonymous,...t})}async function ou(e,t){await Ie(x($(),`userProfile`,e).withConverter(nu),{userPreferences:t,modifiedAt:new Date})}async function su(e){await Ie(x($(),`userProfile`,e).withConverter(nu),{acceptedPrivacyPolicy:!0,modifiedAt:new Date})}var cu=class{constructor(e){this.uid=e.uid,this.isAnonymous=e.isAnonymous,this.nctID=e.nctID,this.isProxy=e.isProxy,this.searchLogId=e.searchLogId,this.conditions=e.conditions,this.createdAt=e.createdAt||new Date,e.searchLog&&(this.searchLog=e.searchLog),this.sessionId=e.sessionId}};function lu(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}var uu={toFirestore(e){return lu({uid:e.uid,isAnonymous:e.isAnonymous,nctID:e.nctID,isProxy:e.isProxy,searchLogId:e.searchLogId,searchLog:e.searchLog,conditions:e.conditions,createdAt:e.createdAt,sessionId:e.sessionId})},fromFirestore(e,t){let n=e.data(t);return new cu({uid:n.uid,isAnonymous:n.isAnonymous,nctID:n.nctID,isProxy:n.isProxy,searchLogId:n.searchLogId,searchLog:n.searchLog,conditions:n.conditions,createdAt:n.createdAt,sessionId:n.sessionId})}},du=e(r(),1);function fu(){let e=Re(),t=(0,du.useCallback)(e=>{Z(Q,`page_view`,{page_path:e})},[]);return(0,du.useEffect)(()=>{t(e.pathname)},[e,t]),{logScreenView:t}}function pu(e){Z(Q,`login`,{method:e})}function mu(e){Z(Q,`sign_up`,{method:e})}function hu(e,t,n){Z(Q,`share`,{method:e,content_type:t,item_id:n})}function gu(e){Z(Q,`add_to_cart`,{items:[{item_id:e,item_name:e}]})}function _u(e,t){Z(Q,`item_purchase`,{items:[{item_id:e,item_name:e}],transaction_id:t})}function vu(e){Z(Q,`view_promotion`,{promotion_name:`Sponsored Study`,items:[{item_id:e,item_name:e}]})}function yu(e,t,n){Z(Q,`filter_update`,{dimension:e,value:t,method:n})}function bu(e){Z(Q,`view_item`,{items:e.map((e,t)=>({item_id:e,item_name:e,item_index:t}))})}function xu(e,t){Z(Q,`select_item`,{action:t,items:[{item_id:e}]})}function Su(e){Z(Q,`read_aloud`,{item_id:e})}function Cu(e){let t=De.get();t===null&&(t=`{}`);let n=JSON.parse(t);n[e]=Date.now(),De.set(JSON.stringify(n))}async function wu(e,t,n){Cu(t);let r=s($(),`activityLog`);return n===void 0?ge(r,{uid:e,event:t,timestamp:new Date}).catch(e=>{console.error(e)}):ge(r,{uid:e,event:t,details:n,timestamp:new Date}).catch(e=>{console.error(e)})}async function Tu(e){wu(e.uid,`saveStudy`);let t=$(),n=new cu(e);return he(x(t,`userProfile`,e.uid,`savedStudies`,e.nctID).withConverter(uu),n).then(t=>(gu(e.nctID),t))}async function Eu(e,t){Te(x($(),`userProfile`,t,`savedStudies`,e))}async function Du(e,t){return he(x($(),`userProfile`,t,`trialFinderRecommendations`,e),{dismissed:!0},{merge:!0})}async function Ou(e){wu(e.uid,`contactStudy`);let t=$(),n=new cu(e);return ge(s(t,`trialFinderStudiesContact`).withConverter(uu),n).then(t=>(_u(e.nctID,t.id),t))}async function ku(e,t){wu(e,`enrollStudy`);let n=$();if((await Ne(Le(s(n,`trialFinderStudy`),ie(`nctId`,`==`,t)))).data().count<1)throw Error(`Study is not in database`);return he(x(n,`userProfile`,e,`enrolledStudies`,t),{nctID:t,enrolledAt:new Date})}async function Au(e,t){return Te(x($(),`userProfile`,e,`enrolledStudies`,t))}n();var ju=await eu.Instance(),Mu=te(ju.firebaseOptions),Nu=Ds(Mu),Q=Bl(Mu),Pu=dn(Mu);Jt(Mu,{provider:new Gt(ju.recaptchaSiteKey),isTokenAutoRefreshEnabled:!0});var Fu=e=>{try{let t={BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1}?.[e];if(t!==void 0)return String(t)}catch{}if(t!==void 0){let t={}[e];if(t!==void 0)return String(t)}};(()=>{let e=Fu(`VITE_USE_FUNCTIONS_EMULATOR`);return e===`true`||e===`1`})()&&fn(Pu,Fu(`VITE_FUNCTIONS_EMULATOR_HOST`)??`127.0.0.1`,Number(Fu(`VITE_FUNCTIONS_EMULATOR_PORT`)??5001)),l(Mu,{ignoreUndefinedProperties:!0,localCache:fe({tabManager:Fe()})});function $(){return ae()}Ps({key:ju.mapsAPIKey});async function Iu(){let e=Fs(`places`),t=Fs(`geocoding`);return Promise.all([e,t])}Nu.onAuthStateChanged(e=>{e===null?Hl(Q,null):Hl(Q,e.uid)}),Nu.onAuthStateChanged(async e=>{if(e&&(console.debug(`User signed in:`,e.uid),e.getIdToken().then(async e=>{document.cookie=`session=${e};path=/;max-age=${3600*24*60}`})),e&&!e.isAnonymous){let t=Se.get();if(t){let[n,r]=t.split(`-`);if(n&&r){try{n===`save`?await Tu({nctID:r,uid:e.uid,isAnonymous:e.isAnonymous}):n===`contact`?await Ou({nctID:r,uid:e.uid,isAnonymous:e.isAnonymous}):n===`enroll`&&await ku(e.uid,r),pe.set(t)}catch(e){console.error(e)}Se.clear()}}}});
3export{ro as A,Mi as B,su as C,Si as D,eu as E,Vi as F,Ji as G,oo as H,yo as I,ia as L,Ki as M,ta as N,Ei as O,Wi as P,na as R,ou as S,ru as T,vo as U,Bi as V,aa as W,fu as _,Eu as a,uu as b,Tu as c,yu as d,pu as f,mu as g,hu as h,Ou as i,oa as j,lo as k,Au as l,xu as m,$ as n,Du as o,Su as p,Iu as r,ku as s,Nu as t,wu as u,vu as v,nu as w,au as x,bu as y,Ui as z}; 4//# sourceMappingURL=firebase-B36mBqgE.js.map
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.