@laboratoria/sdk-js 6.1.0-beta.1 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/laboratoria-sdk-es.js +823 -780
 - package/dist/laboratoria-sdk-umd.js +91 -91
 - package/package.json +3 -3
 
| 
         @@ -28,7 +28,7 @@ 
     | 
|
| 
       28 
28 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       29 
29 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       30 
30 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       31 
     | 
    
         
            -
             */const ie=function(n){const e=[];let t=0;for(let r=0;r<n.length;r++){let i=n.charCodeAt(r);i<128?e[t++]=i:i<2048?(e[t++]=i>>6|192,e[t++]=i&63|128):(i&64512)===55296&&r+1<n.length&&(n.charCodeAt(r+1)&64512)===56320?(i=65536+((i&1023)<<10)+(n.charCodeAt(++r)&1023),e[t++]=i>>18|240,e[t++]=i>>12&63|128,e[t++]=i>>6&63|128,e[t++]=i&63|128):(e[t++]=i>>12|224,e[t++]=i>>6&63|128,e[t++]=i&63|128)}return e}, 
     | 
| 
      
 31 
     | 
    
         
            +
             */const ie=function(n){const e=[];let t=0;for(let r=0;r<n.length;r++){let i=n.charCodeAt(r);i<128?e[t++]=i:i<2048?(e[t++]=i>>6|192,e[t++]=i&63|128):(i&64512)===55296&&r+1<n.length&&(n.charCodeAt(r+1)&64512)===56320?(i=65536+((i&1023)<<10)+(n.charCodeAt(++r)&1023),e[t++]=i>>18|240,e[t++]=i>>12&63|128,e[t++]=i>>6&63|128,e[t++]=i&63|128):(e[t++]=i>>12|224,e[t++]=i>>6&63|128,e[t++]=i&63|128)}return e},Un=function(n){const e=[];let t=0,r=0;for(;t<n.length;){const i=n[t++];if(i<128)e[r++]=String.fromCharCode(i);else if(i>191&&i<224){const s=n[t++];e[r++]=String.fromCharCode((i&31)<<6|s&63)}else if(i>239&&i<365){const s=n[t++],o=n[t++],c=n[t++],a=((i&7)<<18|(s&63)<<12|(o&63)<<6|c&63)-65536;e[r++]=String.fromCharCode(55296+(a>>10)),e[r++]=String.fromCharCode(56320+(a&1023))}else{const s=n[t++],o=n[t++];e[r++]=String.fromCharCode((i&15)<<12|(s&63)<<6|o&63)}}return e.join("")},gt={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:typeof atob=="function",encodeByteArray(n,e){if(!Array.isArray(n))throw Error("encodeByteArray takes an array as a parameter");this.init_();const t=e?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let i=0;i<n.length;i+=3){const s=n[i],o=i+1<n.length,c=o?n[i+1]:0,a=i+2<n.length,u=a?n[i+2]:0,_=s>>2,v=(s&3)<<4|c>>4;let A=(c&15)<<2|u>>6,P=u&63;a||(P=64,o||(A=64)),r.push(t[_],t[v],t[A],t[P])}return r.join("")},encodeString(n,e){return this.HAS_NATIVE_SUPPORT&&!e?btoa(n):this.encodeByteArray(ie(n),e)},decodeString(n,e){return this.HAS_NATIVE_SUPPORT&&!e?atob(n):Un(this.decodeStringToByteArray(n,e))},decodeStringToByteArray(n,e){this.init_();const t=e?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let i=0;i<n.length;){const s=t[n.charAt(i++)],c=i<n.length?t[n.charAt(i)]:0;++i;const u=i<n.length?t[n.charAt(i)]:64;++i;const v=i<n.length?t[n.charAt(i)]:64;if(++i,s==null||c==null||u==null||v==null)throw new jn;const A=s<<2|c>>4;if(r.push(A),u!==64){const P=c<<4&240|u>>2;if(r.push(P),v!==64){const N=u<<6&192|v;r.push(N)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let n=0;n<this.ENCODED_VALS.length;n++)this.byteToCharMap_[n]=this.ENCODED_VALS.charAt(n),this.charToByteMap_[this.byteToCharMap_[n]]=n,this.byteToCharMapWebSafe_[n]=this.ENCODED_VALS_WEBSAFE.charAt(n),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[n]]=n,n>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(n)]=n,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(n)]=n)}}};class jn extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const Fn=function(n){const e=ie(n);return gt.encodeByteArray(e,!0)},mt=function(n){return Fn(n).replace(/\./g,"")},yt=function(n){try{return gt.decodeString(n,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};/**
         
     | 
| 
       32 
32 
     | 
    
         
             
             * @license
         
     | 
| 
       33 
33 
     | 
    
         
             
             * Copyright 2022 Google LLC
         
     | 
| 
       34 
34 
     | 
    
         
             
             *
         
     | 
| 
         @@ -43,7 +43,7 @@ 
     | 
|
| 
       43 
43 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       44 
44 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       45 
45 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       46 
     | 
    
         
            -
             */function  
     | 
| 
      
 46 
     | 
    
         
            +
             */function Bn(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}/**
         
     | 
| 
       47 
47 
     | 
    
         
             
             * @license
         
     | 
| 
       48 
48 
     | 
    
         
             
             * Copyright 2022 Google LLC
         
     | 
| 
       49 
49 
     | 
    
         
             
             *
         
     | 
| 
         @@ -58,7 +58,7 @@ 
     | 
|
| 
       58 
58 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       59 
59 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       60 
60 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       61 
     | 
    
         
            -
             */const  
     | 
| 
      
 61 
     | 
    
         
            +
             */const Hn=()=>Bn().__FIREBASE_DEFAULTS__,Vn=()=>{if(typeof process>"u"||typeof process.env>"u")return;const n=process.env.__FIREBASE_DEFAULTS__;if(n)return JSON.parse(n)},Wn=()=>{if(typeof document>"u")return;let n;try{n=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const e=n&&yt(n[1]);return e&&JSON.parse(e)},We=()=>{try{return Hn()||Vn()||Wn()}catch(n){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${n}`);return}},xn=n=>{var e,t;return(t=(e=We())===null||e===void 0?void 0:e.emulatorHosts)===null||t===void 0?void 0:t[n]},_t=()=>{var n;return(n=We())===null||n===void 0?void 0:n.config},bt=n=>{var e;return(e=We())===null||e===void 0?void 0:e[`_${n}`]};/**
         
     | 
| 
       62 
62 
     | 
    
         
             
             * @license
         
     | 
| 
       63 
63 
     | 
    
         
             
             * Copyright 2017 Google LLC
         
     | 
| 
       64 
64 
     | 
    
         
             
             *
         
     | 
| 
         @@ -73,7 +73,7 @@ 
     | 
|
| 
       73 
73 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       74 
74 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       75 
75 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       76 
     | 
    
         
            -
             */class  
     | 
| 
      
 76 
     | 
    
         
            +
             */class zn{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),typeof e=="function"&&(this.promise.catch(()=>{}),e.length===1?e(t):e(t,r))}}}/**
         
     | 
| 
       77 
77 
     | 
    
         
             
             * @license
         
     | 
| 
       78 
78 
     | 
    
         
             
             * Copyright 2017 Google LLC
         
     | 
| 
       79 
79 
     | 
    
         
             
             *
         
     | 
| 
         @@ -88,7 +88,7 @@ 
     | 
|
| 
       88 
88 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       89 
89 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       90 
90 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       91 
     | 
    
         
            -
             */function R(){return typeof navigator<"u"&&typeof navigator.userAgent=="string"?navigator.userAgent:""}function  
     | 
| 
      
 91 
     | 
    
         
            +
             */function R(){return typeof navigator<"u"&&typeof navigator.userAgent=="string"?navigator.userAgent:""}function qn(){return typeof window<"u"&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(R())}function Jn(){const n=typeof chrome=="object"?chrome.runtime:typeof browser=="object"?browser.runtime:void 0;return typeof n=="object"&&n.id!==void 0}function Gn(){return typeof navigator=="object"&&navigator.product==="ReactNative"}function Kn(){const n=R();return n.indexOf("MSIE ")>=0||n.indexOf("Trident/")>=0}function Yn(){try{return typeof indexedDB=="object"}catch{return!1}}function Qn(){return new Promise((n,e)=>{try{let t=!0;const r="validate-browser-context-for-indexeddb-analytics-module",i=self.indexedDB.open(r);i.onsuccess=()=>{i.result.close(),t||self.indexedDB.deleteDatabase(r),n(!0)},i.onupgradeneeded=()=>{t=!1},i.onerror=()=>{var s;e(((s=i.error)===null||s===void 0?void 0:s.message)||"")}}catch(t){e(t)}})}/**
         
     | 
| 
       92 
92 
     | 
    
         
             
             * @license
         
     | 
| 
       93 
93 
     | 
    
         
             
             * Copyright 2017 Google LLC
         
     | 
| 
       94 
94 
     | 
    
         
             
             *
         
     | 
| 
         @@ -103,7 +103,7 @@ 
     | 
|
| 
       103 
103 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       104 
104 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       105 
105 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       106 
     | 
    
         
            -
             */const  
     | 
| 
      
 106 
     | 
    
         
            +
             */const Xn="FirebaseError";class H extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=Xn,Object.setPrototypeOf(this,H.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,he.prototype.create)}}class he{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},i=`${this.service}/${e}`,s=this.errors[e],o=s?Zn(s,r):"Error",c=`${this.serviceName}: ${o} (${i}).`;return new H(i,c,r)}}function Zn(n,e){return n.replace(er,(t,r)=>{const i=e[r];return i!=null?String(i):`<${r}?>`})}const er=/\{\$([^}]+)}/g;function tr(n){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e))return!1;return!0}function Se(n,e){if(n===e)return!0;const t=Object.keys(n),r=Object.keys(e);for(const i of t){if(!r.includes(i))return!1;const s=n[i],o=e[i];if(vt(s)&&vt(o)){if(!Se(s,o))return!1}else if(s!==o)return!1}for(const i of r)if(!t.includes(i))return!1;return!0}function vt(n){return n!==null&&typeof n=="object"}/**
         
     | 
| 
       107 
107 
     | 
    
         
             
             * @license
         
     | 
| 
       108 
108 
     | 
    
         
             
             * Copyright 2017 Google LLC
         
     | 
| 
       109 
109 
     | 
    
         
             
             *
         
     | 
| 
         @@ -118,7 +118,7 @@ 
     | 
|
| 
       118 
118 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       119 
119 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       120 
120 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       121 
     | 
    
         
            -
             */function fe(n){const e=[];for(const[t,r]of Object.entries(n))Array.isArray(r)?r.forEach(i=>{e.push(encodeURIComponent(t)+"="+encodeURIComponent(i))}):e.push(encodeURIComponent(t)+"="+encodeURIComponent(r));return e.length?"&"+e.join("&"):""}function pe(n){const e={};return n.replace(/^\?/,"").split("&").forEach(r=>{if(r){const[i,s]=r.split("=");e[decodeURIComponent(i)]=decodeURIComponent(s)}}),e}function ge(n){const e=n.indexOf("?");if(!e)return"";const t=n.indexOf("#",e);return n.substring(e,t>0?t:void 0)}function  
     | 
| 
      
 121 
     | 
    
         
            +
             */function fe(n){const e=[];for(const[t,r]of Object.entries(n))Array.isArray(r)?r.forEach(i=>{e.push(encodeURIComponent(t)+"="+encodeURIComponent(i))}):e.push(encodeURIComponent(t)+"="+encodeURIComponent(r));return e.length?"&"+e.join("&"):""}function pe(n){const e={};return n.replace(/^\?/,"").split("&").forEach(r=>{if(r){const[i,s]=r.split("=");e[decodeURIComponent(i)]=decodeURIComponent(s)}}),e}function ge(n){const e=n.indexOf("?");if(!e)return"";const t=n.indexOf("#",e);return n.substring(e,t>0?t:void 0)}function nr(n,e){const t=new rr(n,e);return t.subscribe.bind(t)}class rr{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(()=>{e(this)}).catch(r=>{this.error(r)})}next(e){this.forEachObserver(t=>{t.next(e)})}error(e){this.forEachObserver(t=>{t.error(e)}),this.close(e)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,r){let i;if(e===void 0&&t===void 0&&r===void 0)throw new Error("Missing Observer.");ir(e,["next","error","complete"])?i=e:i={next:e,error:t,complete:r},i.next===void 0&&(i.next=xe),i.error===void 0&&(i.error=xe),i.complete===void 0&&(i.complete=xe);const s=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?i.error(this.finalError):i.complete()}catch{}}),this.observers.push(i),s}unsubscribeOne(e){this.observers===void 0||this.observers[e]===void 0||(delete this.observers[e],this.observerCount-=1,this.observerCount===0&&this.onNoObservers!==void 0&&this.onNoObservers(this))}forEachObserver(e){if(!this.finalized)for(let t=0;t<this.observers.length;t++)this.sendOne(t,e)}sendOne(e,t){this.task.then(()=>{if(this.observers!==void 0&&this.observers[e]!==void 0)try{t(this.observers[e])}catch(r){typeof console<"u"&&console.error&&console.error(r)}})}close(e){this.finalized||(this.finalized=!0,e!==void 0&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function ir(n,e){if(typeof n!="object"||n===null)return!1;for(const t of e)if(t in n&&typeof n[t]=="function")return!0;return!1}function xe(){}/**
         
     | 
| 
       122 
122 
     | 
    
         
             
             * @license
         
     | 
| 
       123 
123 
     | 
    
         
             
             * Copyright 2021 Google LLC
         
     | 
| 
       124 
124 
     | 
    
         
             
             *
         
     | 
| 
         @@ -163,7 +163,7 @@ 
     | 
|
| 
       163 
163 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       164 
164 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       165 
165 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       166 
     | 
    
         
            -
             */class  
     | 
| 
      
 166 
     | 
    
         
            +
             */class sr{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const r=new zn;if(this.instancesDeferred.set(t,r),this.isInitialized(t)||this.shouldAutoInitialize())try{const i=this.getOrInitializeService({instanceIdentifier:t});i&&r.resolve(i)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e==null?void 0:e.identifier),i=(t=e==null?void 0:e.optional)!==null&&t!==void 0?t:!1;if(this.isInitialized(r)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:r})}catch(s){if(i)return null;throw s}else{if(i)return null;throw Error(`Service ${this.name} is not available`)}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,!!this.shouldAutoInitialize()){if(ar(e))try{this.getOrInitializeService({instanceIdentifier:Q})}catch{}for(const[t,r]of this.instancesDeferred.entries()){const i=this.normalizeInstanceIdentifier(t);try{const s=this.getOrInitializeService({instanceIdentifier:i});r.resolve(s)}catch{}}}}clearInstance(e=Q){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter(t=>"INTERNAL"in t).map(t=>t.INTERNAL.delete()),...e.filter(t=>"_delete"in t).map(t=>t._delete())])}isComponentSet(){return this.component!=null}isInitialized(e=Q){return this.instances.has(e)}getOptions(e=Q){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const i=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[s,o]of this.instancesDeferred.entries()){const c=this.normalizeInstanceIdentifier(s);r===c&&o.resolve(i)}return i}onInit(e,t){var r;const i=this.normalizeInstanceIdentifier(t),s=(r=this.onInitCallbacks.get(i))!==null&&r!==void 0?r:new Set;s.add(e),this.onInitCallbacks.set(i,s);const o=this.instances.get(i);return o&&e(o,i),()=>{s.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const i of r)try{i(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:or(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=Q){return this.component?this.component.multipleInstances?e:Q:e}shouldAutoInitialize(){return!!this.component&&this.component.instantiationMode!=="EXPLICIT"}}function or(n){return n===Q?void 0:n}function ar(n){return n.instantiationMode==="EAGER"}/**
         
     | 
| 
       167 
167 
     | 
    
         
             
             * @license
         
     | 
| 
       168 
168 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       169 
169 
     | 
    
         
             
             *
         
     | 
| 
         @@ -178,7 +178,7 @@ 
     | 
|
| 
       178 
178 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       179 
179 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       180 
180 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       181 
     | 
    
         
            -
             */class  
     | 
| 
      
 181 
     | 
    
         
            +
             */class cr{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new sr(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}/**
         
     | 
| 
       182 
182 
     | 
    
         
             
             * @license
         
     | 
| 
       183 
183 
     | 
    
         
             
             * Copyright 2017 Google LLC
         
     | 
| 
       184 
184 
     | 
    
         
             
             *
         
     | 
| 
         @@ -193,7 +193,7 @@ 
     | 
|
| 
       193 
193 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       194 
194 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       195 
195 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       196 
     | 
    
         
            -
             */var T;(function(n){n[n.DEBUG=0]="DEBUG",n[n.VERBOSE=1]="VERBOSE",n[n.INFO=2]="INFO",n[n.WARN=3]="WARN",n[n.ERROR=4]="ERROR",n[n.SILENT=5]="SILENT"})(T||(T={}));const  
     | 
| 
      
 196 
     | 
    
         
            +
             */var T;(function(n){n[n.DEBUG=0]="DEBUG",n[n.VERBOSE=1]="VERBOSE",n[n.INFO=2]="INFO",n[n.WARN=3]="WARN",n[n.ERROR=4]="ERROR",n[n.SILENT=5]="SILENT"})(T||(T={}));const lr={debug:T.DEBUG,verbose:T.VERBOSE,info:T.INFO,warn:T.WARN,error:T.ERROR,silent:T.SILENT},dr=T.INFO,ur={[T.DEBUG]:"log",[T.VERBOSE]:"log",[T.INFO]:"info",[T.WARN]:"warn",[T.ERROR]:"error"},hr=(n,e,...t)=>{if(e<n.logLevel)return;const r=new Date().toISOString(),i=ur[e];if(i)console[i](`[${r}]  ${n.name}:`,...t);else throw new Error(`Attempted to log a message with an invalid logType (value: ${e})`)};class It{constructor(e){this.name=e,this._logLevel=dr,this._logHandler=hr,this._userLogHandler=null}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in T))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel=typeof e=="string"?lr[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if(typeof e!="function")throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,T.DEBUG,...e),this._logHandler(this,T.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,T.VERBOSE,...e),this._logHandler(this,T.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,T.INFO,...e),this._logHandler(this,T.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,T.WARN,...e),this._logHandler(this,T.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,T.ERROR,...e),this._logHandler(this,T.ERROR,...e)}}const fr=(n,e)=>e.some(t=>n instanceof t);let wt,Et;function pr(){return wt||(wt=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function gr(){return Et||(Et=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Tt=new WeakMap,ze=new WeakMap,At=new WeakMap,qe=new WeakMap,Je=new WeakMap;function mr(n){const e=new Promise((t,r)=>{const i=()=>{n.removeEventListener("success",s),n.removeEventListener("error",o)},s=()=>{t(V(n.result)),i()},o=()=>{r(n.error),i()};n.addEventListener("success",s),n.addEventListener("error",o)});return e.then(t=>{t instanceof IDBCursor&&Tt.set(t,n)}).catch(()=>{}),Je.set(e,n),e}function yr(n){if(ze.has(n))return;const e=new Promise((t,r)=>{const i=()=>{n.removeEventListener("complete",s),n.removeEventListener("error",o),n.removeEventListener("abort",o)},s=()=>{t(),i()},o=()=>{r(n.error||new DOMException("AbortError","AbortError")),i()};n.addEventListener("complete",s),n.addEventListener("error",o),n.addEventListener("abort",o)});ze.set(n,e)}let Ge={get(n,e,t){if(n instanceof IDBTransaction){if(e==="done")return ze.get(n);if(e==="objectStoreNames")return n.objectStoreNames||At.get(n);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return V(n[e])},set(n,e,t){return n[e]=t,!0},has(n,e){return n instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in n}};function _r(n){Ge=n(Ge)}function br(n){return n===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const r=n.call(Ke(this),e,...t);return At.set(r,e.sort?e.sort():[e]),V(r)}:gr().includes(n)?function(...e){return n.apply(Ke(this),e),V(Tt.get(this))}:function(...e){return V(n.apply(Ke(this),e))}}function vr(n){return typeof n=="function"?br(n):(n instanceof IDBTransaction&&yr(n),fr(n,pr())?new Proxy(n,Ge):n)}function V(n){if(n instanceof IDBRequest)return mr(n);if(qe.has(n))return qe.get(n);const e=vr(n);return e!==n&&(qe.set(n,e),Je.set(e,n)),e}const Ke=n=>Je.get(n);function Ir(n,e,{blocked:t,upgrade:r,blocking:i,terminated:s}={}){const o=indexedDB.open(n,e),c=V(o);return r&&o.addEventListener("upgradeneeded",a=>{r(V(o.result),a.oldVersion,a.newVersion,V(o.transaction),a)}),t&&o.addEventListener("blocked",a=>t(a.oldVersion,a.newVersion,a)),c.then(a=>{s&&a.addEventListener("close",()=>s()),i&&a.addEventListener("versionchange",u=>i(u.oldVersion,u.newVersion,u))}).catch(()=>{}),c}const wr=["get","getKey","getAll","getAllKeys","count"],Er=["put","add","delete","clear"],Ye=new Map;function St(n,e){if(!(n instanceof IDBDatabase&&!(e in n)&&typeof e=="string"))return;if(Ye.get(e))return Ye.get(e);const t=e.replace(/FromIndex$/,""),r=e!==t,i=Er.includes(t);if(!(t in(r?IDBIndex:IDBObjectStore).prototype)||!(i||wr.includes(t)))return;const s=async function(o,...c){const a=this.transaction(o,i?"readwrite":"readonly");let u=a.store;return r&&(u=u.index(c.shift())),(await Promise.all([u[t](...c),i&&a.done]))[0]};return Ye.set(e,s),s}_r(n=>({...n,get:(e,t,r)=>St(e,t)||n.get(e,t,r),has:(e,t)=>!!St(e,t)||n.has(e,t)}));/**
         
     | 
| 
       197 
197 
     | 
    
         
             
             * @license
         
     | 
| 
       198 
198 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       199 
199 
     | 
    
         
             
             *
         
     | 
| 
         @@ -208,7 +208,7 @@ 
     | 
|
| 
       208 
208 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       209 
209 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       210 
210 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       211 
     | 
    
         
            -
             */class  
     | 
| 
      
 211 
     | 
    
         
            +
             */class Tr{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(t=>{if(Ar(t)){const r=t.getImmediate();return`${r.library}/${r.version}`}else return null}).filter(t=>t).join(" ")}}function Ar(n){const e=n.getComponent();return(e==null?void 0:e.type)==="VERSION"}const Qe="@firebase/app",Ct="0.9.22";/**
         
     | 
| 
       212 
212 
     | 
    
         
             
             * @license
         
     | 
| 
       213 
213 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       214 
214 
     | 
    
         
             
             *
         
     | 
| 
         @@ -223,7 +223,7 @@ 
     | 
|
| 
       223 
223 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       224 
224 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       225 
225 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       226 
     | 
    
         
            -
             */const X=new  
     | 
| 
      
 226 
     | 
    
         
            +
             */const X=new It("@firebase/app"),Sr="@firebase/app-compat",Cr="@firebase/analytics-compat",Rr="@firebase/analytics",Pr="@firebase/app-check-compat",Or="@firebase/app-check",kr="@firebase/auth",Dr="@firebase/auth-compat",Nr="@firebase/database",Lr="@firebase/database-compat",$r="@firebase/functions",Mr="@firebase/functions-compat",Ur="@firebase/installations",jr="@firebase/installations-compat",Fr="@firebase/messaging",Br="@firebase/messaging-compat",Hr="@firebase/performance",Vr="@firebase/performance-compat",Wr="@firebase/remote-config",xr="@firebase/remote-config-compat",zr="@firebase/storage",qr="@firebase/storage-compat",Jr="@firebase/firestore",Gr="@firebase/firestore-compat",Kr="firebase",Yr="10.5.2";/**
         
     | 
| 
       227 
227 
     | 
    
         
             
             * @license
         
     | 
| 
       228 
228 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       229 
229 
     | 
    
         
             
             *
         
     | 
| 
         @@ -238,7 +238,7 @@ 
     | 
|
| 
       238 
238 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       239 
239 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       240 
240 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       241 
     | 
    
         
            -
             */const  
     | 
| 
      
 241 
     | 
    
         
            +
             */const Xe="[DEFAULT]",Qr={[Qe]:"fire-core",[Sr]:"fire-core-compat",[Rr]:"fire-analytics",[Cr]:"fire-analytics-compat",[Or]:"fire-app-check",[Pr]:"fire-app-check-compat",[kr]:"fire-auth",[Dr]:"fire-auth-compat",[Nr]:"fire-rtdb",[Lr]:"fire-rtdb-compat",[$r]:"fire-fn",[Mr]:"fire-fn-compat",[Ur]:"fire-iid",[jr]:"fire-iid-compat",[Fr]:"fire-fcm",[Br]:"fire-fcm-compat",[Hr]:"fire-perf",[Vr]:"fire-perf-compat",[Wr]:"fire-rc",[xr]:"fire-rc-compat",[zr]:"fire-gcs",[qr]:"fire-gcs-compat",[Jr]:"fire-fst",[Gr]:"fire-fst-compat","fire-js":"fire-js",[Kr]:"fire-js-all"};/**
         
     | 
| 
       242 
242 
     | 
    
         
             
             * @license
         
     | 
| 
       243 
243 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       244 
244 
     | 
    
         
             
             *
         
     | 
| 
         @@ -253,7 +253,7 @@ 
     | 
|
| 
       253 
253 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       254 
254 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       255 
255 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       256 
     | 
    
         
            -
             */const Ce=new Map, 
     | 
| 
      
 256 
     | 
    
         
            +
             */const Ce=new Map,Ze=new Map;function Xr(n,e){try{n.container.addComponent(e)}catch(t){X.debug(`Component ${e.name} failed to register with FirebaseApp ${n.name}`,t)}}function me(n){const e=n.name;if(Ze.has(e))return X.debug(`There were multiple attempts to register component ${e}.`),!1;Ze.set(e,n);for(const t of Ce.values())Xr(t,n);return!0}function Rt(n,e){const t=n.container.getProvider("heartbeat").getImmediate({optional:!0});return t&&t.triggerHeartbeat(),n.container.getProvider(e)}/**
         
     | 
| 
       257 
257 
     | 
    
         
             
             * @license
         
     | 
| 
       258 
258 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       259 
259 
     | 
    
         
             
             *
         
     | 
| 
         @@ -268,7 +268,7 @@ 
     | 
|
| 
       268 
268 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       269 
269 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       270 
270 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       271 
     | 
    
         
            -
             */const  
     | 
| 
      
 271 
     | 
    
         
            +
             */const Zr={"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}."},W=new he("app","Firebase",Zr);/**
         
     | 
| 
       272 
272 
     | 
    
         
             
             * @license
         
     | 
| 
       273 
273 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       274 
274 
     | 
    
         
             
             *
         
     | 
| 
         @@ -283,7 +283,7 @@ 
     | 
|
| 
       283 
283 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       284 
284 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       285 
285 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       286 
     | 
    
         
            -
             */class  
     | 
| 
      
 286 
     | 
    
         
            +
             */class ei{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new se("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw W.create("app-deleted",{appName:this._name})}}/**
         
     | 
| 
       287 
287 
     | 
    
         
             
             * @license
         
     | 
| 
       288 
288 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       289 
289 
     | 
    
         
             
             *
         
     | 
| 
         @@ -298,7 +298,7 @@ 
     | 
|
| 
       298 
298 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       299 
299 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       300 
300 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       301 
     | 
    
         
            -
             */const ye= 
     | 
| 
      
 301 
     | 
    
         
            +
             */const ye=Yr;function Pt(n,e={}){let t=n;typeof e!="object"&&(e={name:e});const r=Object.assign({name:Xe,automaticDataCollectionEnabled:!1},e),i=r.name;if(typeof i!="string"||!i)throw W.create("bad-app-name",{appName:String(i)});if(t||(t=_t()),!t)throw W.create("no-options");const s=Ce.get(i);if(s){if(Se(t,s.options)&&Se(r,s.config))return s;throw W.create("duplicate-app",{appName:i})}const o=new cr(i);for(const a of Ze.values())o.addComponent(a);const c=new ei(t,r,o);return Ce.set(i,c),c}function ti(n=Xe){const e=Ce.get(n);if(!e&&n===Xe&&_t())return Pt();if(!e)throw W.create("no-app",{appName:n});return e}function oe(n,e,t){var r;let i=(r=Qr[n])!==null&&r!==void 0?r:n;t&&(i+=`-${t}`);const s=i.match(/\s|\//),o=e.match(/\s|\//);if(s||o){const c=[`Unable to register library "${i}" with version "${e}":`];s&&c.push(`library name "${i}" contains illegal characters (whitespace or "/")`),s&&o&&c.push("and"),o&&c.push(`version name "${e}" contains illegal characters (whitespace or "/")`),X.warn(c.join(" "));return}me(new se(`${i}-version`,()=>({library:i,version:e}),"VERSION"))}/**
         
     | 
| 
       302 
302 
     | 
    
         
             
             * @license
         
     | 
| 
       303 
303 
     | 
    
         
             
             * Copyright 2021 Google LLC
         
     | 
| 
       304 
304 
     | 
    
         
             
             *
         
     | 
| 
         @@ -313,7 +313,7 @@ 
     | 
|
| 
       313 
313 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       314 
314 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       315 
315 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       316 
     | 
    
         
            -
             */const  
     | 
| 
      
 316 
     | 
    
         
            +
             */const ni="firebase-heartbeat-database",ri=1,_e="firebase-heartbeat-store";let et=null;function Ot(){return et||(et=Ir(ni,ri,{upgrade:(n,e)=>{switch(e){case 0:n.createObjectStore(_e)}}}).catch(n=>{throw W.create("idb-open",{originalErrorMessage:n.message})})),et}async function ii(n){try{return await(await Ot()).transaction(_e).objectStore(_e).get(Dt(n))}catch(e){if(e instanceof H)X.warn(e.message);else{const t=W.create("idb-get",{originalErrorMessage:e==null?void 0:e.message});X.warn(t.message)}}}async function kt(n,e){try{const r=(await Ot()).transaction(_e,"readwrite");await r.objectStore(_e).put(e,Dt(n)),await r.done}catch(t){if(t instanceof H)X.warn(t.message);else{const r=W.create("idb-set",{originalErrorMessage:t==null?void 0:t.message});X.warn(r.message)}}}function Dt(n){return`${n.name}!${n.options.appId}`}/**
         
     | 
| 
       317 
317 
     | 
    
         
             
             * @license
         
     | 
| 
       318 
318 
     | 
    
         
             
             * Copyright 2021 Google LLC
         
     | 
| 
       319 
319 
     | 
    
         
             
             *
         
     | 
| 
         @@ -328,7 +328,7 @@ 
     | 
|
| 
       328 
328 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       329 
329 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       330 
330 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       331 
     | 
    
         
            -
             */const  
     | 
| 
      
 331 
     | 
    
         
            +
             */const si=1024,oi=30*24*60*60*1e3;class ai{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new li(t),this._heartbeatsCachePromise=this._storage.read().then(r=>(this._heartbeatsCache=r,r))}async triggerHeartbeat(){const t=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),r=Nt();if(this._heartbeatsCache===null&&(this._heartbeatsCache=await this._heartbeatsCachePromise),!(this._heartbeatsCache.lastSentHeartbeatDate===r||this._heartbeatsCache.heartbeats.some(i=>i.date===r)))return this._heartbeatsCache.heartbeats.push({date:r,agent:t}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter(i=>{const s=new Date(i.date).valueOf();return Date.now()-s<=oi}),this._storage.overwrite(this._heartbeatsCache)}async getHeartbeatsHeader(){if(this._heartbeatsCache===null&&await this._heartbeatsCachePromise,this._heartbeatsCache===null||this._heartbeatsCache.heartbeats.length===0)return"";const e=Nt(),{heartbeatsToSend:t,unsentEntries:r}=ci(this._heartbeatsCache.heartbeats),i=mt(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,r.length>0?(this._heartbeatsCache.heartbeats=r,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),i}}function Nt(){return new Date().toISOString().substring(0,10)}function ci(n,e=si){const t=[];let r=n.slice();for(const i of n){const s=t.find(o=>o.agent===i.agent);if(s){if(s.dates.push(i.date),Lt(t)>e){s.dates.pop();break}}else if(t.push({agent:i.agent,dates:[i.date]}),Lt(t)>e){t.pop();break}r=r.slice(1)}return{heartbeatsToSend:t,unsentEntries:r}}class li{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return Yn()?Qn().then(()=>!0).catch(()=>!1):!1}async read(){return await this._canUseIndexedDBPromise?await ii(this.app)||{heartbeats:[]}:{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const i=await this.read();return kt(this.app,{lastSentHeartbeatDate:(t=e.lastSentHeartbeatDate)!==null&&t!==void 0?t:i.lastSentHeartbeatDate,heartbeats:e.heartbeats})}else return}async add(e){var t;if(await this._canUseIndexedDBPromise){const i=await this.read();return kt(this.app,{lastSentHeartbeatDate:(t=e.lastSentHeartbeatDate)!==null&&t!==void 0?t:i.lastSentHeartbeatDate,heartbeats:[...i.heartbeats,...e.heartbeats]})}else return}}function Lt(n){return mt(JSON.stringify({version:2,heartbeats:n})).length}/**
         
     | 
| 
       332 
332 
     | 
    
         
             
             * @license
         
     | 
| 
       333 
333 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       334 
334 
     | 
    
         
             
             *
         
     | 
| 
         @@ -343,7 +343,7 @@ 
     | 
|
| 
       343 
343 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       344 
344 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       345 
345 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       346 
     | 
    
         
            -
             */function  
     | 
| 
      
 346 
     | 
    
         
            +
             */function di(n){me(new se("platform-logger",e=>new Tr(e),"PRIVATE")),me(new se("heartbeat",e=>new ai(e),"PRIVATE")),oe(Qe,Ct,n),oe(Qe,Ct,"esm2017"),oe("fire-js","")}di("");var ui="firebase",hi="10.5.2";/**
         
     | 
| 
       347 
347 
     | 
    
         
             
             * @license
         
     | 
| 
       348 
348 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       349 
349 
     | 
    
         
             
             *
         
     | 
| 
         @@ -358,7 +358,7 @@ 
     | 
|
| 
       358 
358 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       359 
359 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       360 
360 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       361 
     | 
    
         
            -
             */oe( 
     | 
| 
      
 361 
     | 
    
         
            +
             */oe(ui,hi,"app");function tt(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(t[r[i]]=n[r[i]]);return t}typeof SuppressedError=="function"&&SuppressedError;function $t(){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."}}const fi=$t,Mt=new he("auth","Firebase",$t());/**
         
     | 
| 
       362 
362 
     | 
    
         
             
             * @license
         
     | 
| 
       363 
363 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       364 
364 
     | 
    
         
             
             *
         
     | 
| 
         @@ -373,7 +373,7 @@ 
     | 
|
| 
       373 
373 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       374 
374 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       375 
375 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       376 
     | 
    
         
            -
             */const Re=new  
     | 
| 
      
 376 
     | 
    
         
            +
             */const Re=new It("@firebase/auth");function pi(n,...e){Re.logLevel<=T.WARN&&Re.warn(`Auth (${ye}): ${n}`,...e)}function Pe(n,...e){Re.logLevel<=T.ERROR&&Re.error(`Auth (${ye}): ${n}`,...e)}/**
         
     | 
| 
       377 
377 
     | 
    
         
             
             * @license
         
     | 
| 
       378 
378 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       379 
379 
     | 
    
         
             
             *
         
     | 
| 
         @@ -388,7 +388,7 @@ 
     | 
|
| 
       388 
388 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       389 
389 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       390 
390 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       391 
     | 
    
         
            -
             */function  
     | 
| 
      
 391 
     | 
    
         
            +
             */function D(n,...e){throw nt(n,...e)}function L(n,...e){return nt(n,...e)}function gi(n,e,t){const r=Object.assign(Object.assign({},fi()),{[e]:t});return new he("auth","Firebase",r).create(e,{appName:n.name})}function nt(n,...e){if(typeof n!="string"){const t=e[0],r=[...e.slice(1)];return r[0]&&(r[0].appName=n.name),n._errorFactory.create(t,...r)}return Mt.create(n,...e)}function y(n,e,...t){if(!n)throw nt(e,...t)}function j(n){const e="INTERNAL ASSERTION FAILED: "+n;throw Pe(e),new Error(e)}function F(n,e){n||j(e)}/**
         
     | 
| 
       392 
392 
     | 
    
         
             
             * @license
         
     | 
| 
       393 
393 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       394 
394 
     | 
    
         
             
             *
         
     | 
| 
         @@ -403,7 +403,7 @@ 
     | 
|
| 
       403 
403 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       404 
404 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       405 
405 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       406 
     | 
    
         
            -
             */function  
     | 
| 
      
 406 
     | 
    
         
            +
             */function rt(){var n;return typeof self<"u"&&((n=self.location)===null||n===void 0?void 0:n.href)||""}function mi(){return Ut()==="http:"||Ut()==="https:"}function Ut(){var n;return typeof self<"u"&&((n=self.location)===null||n===void 0?void 0:n.protocol)||null}/**
         
     | 
| 
       407 
407 
     | 
    
         
             
             * @license
         
     | 
| 
       408 
408 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       409 
409 
     | 
    
         
             
             *
         
     | 
| 
         @@ -418,7 +418,7 @@ 
     | 
|
| 
       418 
418 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       419 
419 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       420 
420 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       421 
     | 
    
         
            -
             */function  
     | 
| 
      
 421 
     | 
    
         
            +
             */function yi(){return typeof navigator<"u"&&navigator&&"onLine"in navigator&&typeof navigator.onLine=="boolean"&&(mi()||Jn()||"connection"in navigator)?navigator.onLine:!0}function _i(){if(typeof navigator>"u")return null;const n=navigator;return n.languages&&n.languages[0]||n.language||null}/**
         
     | 
| 
       422 
422 
     | 
    
         
             
             * @license
         
     | 
| 
       423 
423 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       424 
424 
     | 
    
         
             
             *
         
     | 
| 
         @@ -433,7 +433,7 @@ 
     | 
|
| 
       433 
433 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       434 
434 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       435 
435 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       436 
     | 
    
         
            -
             */class be{constructor(e,t){this.shortDelay=e,this.longDelay=t, 
     | 
| 
      
 436 
     | 
    
         
            +
             */class be{constructor(e,t){this.shortDelay=e,this.longDelay=t,F(t>e,"Short delay should be less than long delay!"),this.isMobile=qn()||Gn()}get(){return yi()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}}/**
         
     | 
| 
       437 
437 
     | 
    
         
             
             * @license
         
     | 
| 
       438 
438 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       439 
439 
     | 
    
         
             
             *
         
     | 
| 
         @@ -448,7 +448,7 @@ 
     | 
|
| 
       448 
448 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       449 
449 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       450 
450 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       451 
     | 
    
         
            -
             */function  
     | 
| 
      
 451 
     | 
    
         
            +
             */function it(n,e){F(n.emulator,"Emulator should always be set here");const{url:t}=n.emulator;return e?`${t}${e.startsWith("/")?e.slice(1):e}`:t}/**
         
     | 
| 
       452 
452 
     | 
    
         
             
             * @license
         
     | 
| 
       453 
453 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       454 
454 
     | 
    
         
             
             *
         
     | 
| 
         @@ -463,7 +463,7 @@ 
     | 
|
| 
       463 
463 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       464 
464 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       465 
465 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       466 
     | 
    
         
            -
             */class  
     | 
| 
      
 466 
     | 
    
         
            +
             */class jt{static initialize(e,t,r){this.fetchImpl=e,t&&(this.headersImpl=t),r&&(this.responseImpl=r)}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 FetchProvider.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")}}/**
         
     | 
| 
       467 
467 
     | 
    
         
             
             * @license
         
     | 
| 
       468 
468 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       469 
469 
     | 
    
         
             
             *
         
     | 
| 
         @@ -478,7 +478,7 @@ 
     | 
|
| 
       478 
478 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       479 
479 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       480 
480 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       481 
     | 
    
         
            -
             */const  
     | 
| 
      
 481 
     | 
    
         
            +
             */const bi={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",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:"invalid-recaptcha-version",INVALID_REQ_TYPE:"invalid-req-type"};/**
         
     | 
| 
       482 
482 
     | 
    
         
             
             * @license
         
     | 
| 
       483 
483 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       484 
484 
     | 
    
         
             
             *
         
     | 
| 
         @@ -493,7 +493,7 @@ 
     | 
|
| 
       493 
493 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       494 
494 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       495 
495 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       496 
     | 
    
         
            -
             */const  
     | 
| 
      
 496 
     | 
    
         
            +
             */const vi=new be(3e4,6e4);function Z(n,e){return n.tenantId&&!e.tenantId?Object.assign(Object.assign({},e),{tenantId:n.tenantId}):e}async function x(n,e,t,r,i={}){return Ft(n,i,async()=>{let s={},o={};r&&(e==="GET"?o=r:s={body:JSON.stringify(r)});const c=fe(Object.assign({key:n.config.apiKey},o)).slice(1),a=await n._getAdditionalHeaders();return a["Content-Type"]="application/json",n.languageCode&&(a["X-Firebase-Locale"]=n.languageCode),jt.fetch()(Bt(n,n.config.apiHost,t,c),Object.assign({method:e,headers:a,referrerPolicy:"no-referrer"},s))})}async function Ft(n,e,t){n._canInitEmulator=!1;const r=Object.assign(Object.assign({},bi),e);try{const i=new wi(n),s=await Promise.race([t(),i.promise]);i.clearNetworkTimeout();const o=await s.json();if("needConfirmation"in o)throw ke(n,"account-exists-with-different-credential",o);if(s.ok&&!("errorMessage"in o))return o;{const c=s.ok?o.errorMessage:o.error.message,[a,u]=c.split(" : ");if(a==="FEDERATED_USER_ID_ALREADY_LINKED")throw ke(n,"credential-already-in-use",o);if(a==="EMAIL_EXISTS")throw ke(n,"email-already-in-use",o);if(a==="USER_DISABLED")throw ke(n,"user-disabled",o);const _=r[a]||a.toLowerCase().replace(/[_\s]+/g,"-");if(u)throw gi(n,_,u);D(n,_)}}catch(i){if(i instanceof H)throw i;D(n,"network-request-failed",{message:String(i)})}}async function Oe(n,e,t,r,i={}){const s=await x(n,e,t,r,i);return"mfaPendingCredential"in s&&D(n,"multi-factor-auth-required",{_serverResponse:s}),s}function Bt(n,e,t,r){const i=`${e}${t}?${r}`;return n.config.emulator?it(n.config,i):`${n.config.apiScheme}://${i}`}function Ii(n){switch(n){case"ENFORCE":return"ENFORCE";case"AUDIT":return"AUDIT";case"OFF":return"OFF";default:return"ENFORCEMENT_STATE_UNSPECIFIED"}}class wi{constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((t,r)=>{this.timer=setTimeout(()=>r(L(this.auth,"network-request-failed")),vi.get())})}clearNetworkTimeout(){clearTimeout(this.timer)}}function ke(n,e,t){const r={appName:n.name};t.email&&(r.email=t.email),t.phoneNumber&&(r.phoneNumber=t.phoneNumber);const i=L(n,e,r);return i.customData._tokenResponse=t,i}function Ht(n){return n!==void 0&&n.enterprise!==void 0}class Ei{constructor(e){if(this.siteKey="",this.recaptchaEnforcementState=[],e.recaptchaKey===void 0)throw new 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(const t of this.recaptchaEnforcementState)if(t.provider&&t.provider===e)return Ii(t.enforcementState);return null}isProviderEnabled(e){return this.getProviderEnforcementState(e)==="ENFORCE"||this.getProviderEnforcementState(e)==="AUDIT"}}async function Ti(n,e){return x(n,"GET","/v2/recaptchaConfig",Z(n,e))}/**
         
     | 
| 
       497 
497 
     | 
    
         
             
             * @license
         
     | 
| 
       498 
498 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       499 
499 
     | 
    
         
             
             *
         
     | 
| 
         @@ -508,7 +508,7 @@ 
     | 
|
| 
       508 
508 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       509 
509 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       510 
510 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       511 
     | 
    
         
            -
             */async function  
     | 
| 
      
 511 
     | 
    
         
            +
             */async function Ai(n,e){return x(n,"POST","/v1/accounts:delete",e)}async function Si(n,e){return x(n,"POST","/v1/accounts:lookup",e)}/**
         
     | 
| 
       512 
512 
     | 
    
         
             
             * @license
         
     | 
| 
       513 
513 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       514 
514 
     | 
    
         
             
             *
         
     | 
| 
         @@ -523,7 +523,7 @@ 
     | 
|
| 
       523 
523 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       524 
524 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       525 
525 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       526 
     | 
    
         
            -
             */function ve(n){if(n)try{const e=new Date(Number(n));if(!isNaN(e.getTime()))return e.toUTCString()}catch{}}async function  
     | 
| 
      
 526 
     | 
    
         
            +
             */function ve(n){if(n)try{const e=new Date(Number(n));if(!isNaN(e.getTime()))return e.toUTCString()}catch{}}async function Ci(n,e=!1){const t=U(n),r=await t.getIdToken(e),i=ot(r);y(i&&i.exp&&i.auth_time&&i.iat,t.auth,"internal-error");const s=typeof i.firebase=="object"?i.firebase:void 0,o=s==null?void 0:s.sign_in_provider;return{claims:i,token:r,authTime:ve(st(i.auth_time)),issuedAtTime:ve(st(i.iat)),expirationTime:ve(st(i.exp)),signInProvider:o||null,signInSecondFactor:(s==null?void 0:s.sign_in_second_factor)||null}}function st(n){return Number(n)*1e3}function ot(n){const[e,t,r]=n.split(".");if(e===void 0||t===void 0||r===void 0)return Pe("JWT malformed, contained fewer than 3 sections"),null;try{const i=yt(t);return i?JSON.parse(i):(Pe("Failed to decode base64 JWT payload"),null)}catch(i){return Pe("Caught error parsing JWT payload as JSON",i==null?void 0:i.toString()),null}}function Ri(n){const e=ot(n);return y(e,"internal-error"),y(typeof e.exp<"u","internal-error"),y(typeof e.iat<"u","internal-error"),Number(e.exp)-Number(e.iat)}/**
         
     | 
| 
       527 
527 
     | 
    
         
             
             * @license
         
     | 
| 
       528 
528 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       529 
529 
     | 
    
         
             
             *
         
     | 
| 
         @@ -538,7 +538,7 @@ 
     | 
|
| 
       538 
538 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       539 
539 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       540 
540 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       541 
     | 
    
         
            -
             */async function Ie(n,e,t=!1){if(t)return e;try{return await e}catch(r){throw r instanceof H&& 
     | 
| 
      
 541 
     | 
    
         
            +
             */async function Ie(n,e,t=!1){if(t)return e;try{return await e}catch(r){throw r instanceof H&&Pi(r)&&n.auth.currentUser===n&&await n.auth.signOut(),r}}function Pi({code:n}){return n==="auth/user-disabled"||n==="auth/user-token-expired"}/**
         
     | 
| 
       542 
542 
     | 
    
         
             
             * @license
         
     | 
| 
       543 
543 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       544 
544 
     | 
    
         
             
             *
         
     | 
| 
         @@ -553,7 +553,7 @@ 
     | 
|
| 
       553 
553 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       554 
554 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       555 
555 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       556 
     | 
    
         
            -
             */class  
     | 
| 
      
 556 
     | 
    
         
            +
             */class Oi{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){var t;if(e){const r=this.errorBackoff;return this.errorBackoff=Math.min(this.errorBackoff*2,96e4),r}else{this.errorBackoff=3e4;const i=((t=this.user.stsTokenManager.expirationTime)!==null&&t!==void 0?t:0)-Date.now()-3e5;return Math.max(0,i)}}schedule(e=!1){if(!this.isRunning)return;const t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){try{await this.user.getIdToken(!0)}catch(e){(e==null?void 0:e.code)==="auth/network-request-failed"&&this.schedule(!0);return}this.schedule()}}/**
         
     | 
| 
       557 
557 
     | 
    
         
             
             * @license
         
     | 
| 
       558 
558 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       559 
559 
     | 
    
         
             
             *
         
     | 
| 
         @@ -568,7 +568,7 @@ 
     | 
|
| 
       568 
568 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       569 
569 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       570 
570 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       571 
     | 
    
         
            -
             */class  
     | 
| 
      
 571 
     | 
    
         
            +
             */class Vt{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=ve(this.lastLoginAt),this.creationTime=ve(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}/**
         
     | 
| 
       572 
572 
     | 
    
         
             
             * @license
         
     | 
| 
       573 
573 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       574 
574 
     | 
    
         
             
             *
         
     | 
| 
         @@ -583,7 +583,7 @@ 
     | 
|
| 
       583 
583 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       584 
584 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       585 
585 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       586 
     | 
    
         
            -
             */async function  
     | 
| 
      
 586 
     | 
    
         
            +
             */async function De(n){var e;const t=n.auth,r=await n.getIdToken(),i=await Ie(n,Si(t,{idToken:r}));y(i==null?void 0:i.users.length,t,"internal-error");const s=i.users[0];n._notifyReloadListener(s);const o=!((e=s.providerUserInfo)===null||e===void 0)&&e.length?Ni(s.providerUserInfo):[],c=Di(n.providerData,o),a=n.isAnonymous,u=!(n.email&&s.passwordHash)&&!(c!=null&&c.length),_=a?u:!1,v={uid:s.localId,displayName:s.displayName||null,photoURL:s.photoUrl||null,email:s.email||null,emailVerified:s.emailVerified||!1,phoneNumber:s.phoneNumber||null,tenantId:s.tenantId||null,providerData:c,metadata:new Vt(s.createdAt,s.lastLoginAt),isAnonymous:_};Object.assign(n,v)}async function ki(n){const e=U(n);await De(e),await e.auth._persistUserIfCurrent(e),e.auth._notifyListenersIfCurrent(e)}function Di(n,e){return[...n.filter(r=>!e.some(i=>i.providerId===r.providerId)),...e]}function Ni(n){return n.map(e=>{var{providerId:t}=e,r=tt(e,["providerId"]);return{providerId:t,uid:r.rawId||"",displayName:r.displayName||null,email:r.email||null,phoneNumber:r.phoneNumber||null,photoURL:r.photoUrl||null}})}/**
         
     | 
| 
       587 
587 
     | 
    
         
             
             * @license
         
     | 
| 
       588 
588 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       589 
589 
     | 
    
         
             
             *
         
     | 
| 
         @@ -598,7 +598,7 @@ 
     | 
|
| 
       598 
598 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       599 
599 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       600 
600 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       601 
     | 
    
         
            -
             */async function  
     | 
| 
      
 601 
     | 
    
         
            +
             */async function Li(n,e){const t=await Ft(n,{},async()=>{const r=fe({grant_type:"refresh_token",refresh_token:e}).slice(1),{tokenApiHost:i,apiKey:s}=n.config,o=Bt(n,i,"/v1/token",`key=${s}`),c=await n._getAdditionalHeaders();return c["Content-Type"]="application/x-www-form-urlencoded",jt.fetch()(o,{method:"POST",headers:c,body:r})});return{accessToken:t.access_token,expiresIn:t.expires_in,refreshToken:t.refresh_token}}/**
         
     | 
| 
       602 
602 
     | 
    
         
             
             * @license
         
     | 
| 
       603 
603 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       604 
604 
     | 
    
         
             
             *
         
     | 
| 
         @@ -613,7 +613,7 @@ 
     | 
|
| 
       613 
613 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       614 
614 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       615 
615 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       616 
     | 
    
         
            -
             */class we{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){y(e.idToken,"internal-error"),y(typeof e.idToken<"u","internal-error"),y(typeof e.refreshToken<"u","internal-error");const t="expiresIn"in e&&typeof e.expiresIn<"u"?Number(e.expiresIn): 
     | 
| 
      
 616 
     | 
    
         
            +
             */class we{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){y(e.idToken,"internal-error"),y(typeof e.idToken<"u","internal-error"),y(typeof e.refreshToken<"u","internal-error");const t="expiresIn"in e&&typeof e.expiresIn<"u"?Number(e.expiresIn):Ri(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}async getToken(e,t=!1){return y(!this.accessToken||this.refreshToken,e,"user-token-expired"),!t&&this.accessToken&&!this.isExpired?this.accessToken:this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){const{accessToken:r,refreshToken:i,expiresIn:s}=await Li(e,t);this.updateTokensAndExpiration(r,i,Number(s))}updateTokensAndExpiration(e,t,r){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+r*1e3}static fromJSON(e,t){const{refreshToken:r,accessToken:i,expirationTime:s}=t,o=new we;return r&&(y(typeof r=="string","internal-error",{appName:e}),o.refreshToken=r),i&&(y(typeof i=="string","internal-error",{appName:e}),o.accessToken=i),s&&(y(typeof s=="number","internal-error",{appName:e}),o.expirationTime=s),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 we,this.toJSON())}_performRefresh(){return j("not implemented")}}/**
         
     | 
| 
       617 
617 
     | 
    
         
             
             * @license
         
     | 
| 
       618 
618 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       619 
619 
     | 
    
         
             
             *
         
     | 
| 
         @@ -628,7 +628,7 @@ 
     | 
|
| 
       628 
628 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       629 
629 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       630 
630 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       631 
     | 
    
         
            -
             */function  
     | 
| 
      
 631 
     | 
    
         
            +
             */function z(n,e){y(typeof n=="string"||typeof n>"u","internal-error",{appName:e})}class ee{constructor(e){var{uid:t,auth:r,stsTokenManager:i}=e,s=tt(e,["uid","auth","stsTokenManager"]);this.providerId="firebase",this.proactiveRefresh=new Oi(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=t,this.auth=r,this.stsTokenManager=i,this.accessToken=i.accessToken,this.displayName=s.displayName||null,this.email=s.email||null,this.emailVerified=s.emailVerified||!1,this.phoneNumber=s.phoneNumber||null,this.photoURL=s.photoURL||null,this.isAnonymous=s.isAnonymous||!1,this.tenantId=s.tenantId||null,this.providerData=s.providerData?[...s.providerData]:[],this.metadata=new Vt(s.createdAt||void 0,s.lastLoginAt||void 0)}async getIdToken(e){const t=await Ie(this,this.stsTokenManager.getToken(this.auth,e));return y(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return Ci(this,e)}reload(){return ki(this)}_assign(e){this!==e&&(y(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(t=>Object.assign({},t)),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(e){const t=new ee(Object.assign(Object.assign({},this),{auth:e,stsTokenManager:this.stsTokenManager._clone()}));return t.metadata._copy(this.metadata),t}_onReload(e){y(!this.reloadListener,this.auth,"internal-error"),this.reloadListener=e,this.reloadUserInfo&&(this._notifyReloadListener(this.reloadUserInfo),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 r=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),r=!0),t&&await De(this),await this.auth._persistUserIfCurrent(this),r&&this.auth._notifyListenersIfCurrent(this)}async delete(){const e=await this.getIdToken();return await Ie(this,Ai(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return Object.assign(Object.assign({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=>Object.assign({},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(e,t){var r,i,s,o,c,a,u,_;const v=(r=t.displayName)!==null&&r!==void 0?r:void 0,A=(i=t.email)!==null&&i!==void 0?i:void 0,P=(s=t.phoneNumber)!==null&&s!==void 0?s:void 0,N=(o=t.photoURL)!==null&&o!==void 0?o:void 0,b=(c=t.tenantId)!==null&&c!==void 0?c:void 0,I=(a=t._redirectEventId)!==null&&a!==void 0?a:void 0,M=(u=t.createdAt)!==null&&u!==void 0?u:void 0,C=(_=t.lastLoginAt)!==null&&_!==void 0?_:void 0,{uid:re,emailVerified:Y,isAnonymous:l,providerData:m,stsTokenManager:d}=t;y(re&&d,e,"internal-error");const w=we.fromJSON(this.name,d);y(typeof re=="string",e,"internal-error"),z(v,e.name),z(A,e.name),y(typeof Y=="boolean",e,"internal-error"),y(typeof l=="boolean",e,"internal-error"),z(P,e.name),z(N,e.name),z(b,e.name),z(I,e.name),z(M,e.name),z(C,e.name);const E=new ee({uid:re,auth:e,email:A,emailVerified:Y,displayName:v,isAnonymous:l,photoURL:N,phoneNumber:P,tenantId:b,stsTokenManager:w,createdAt:M,lastLoginAt:C});return m&&Array.isArray(m)&&(E.providerData=m.map(S=>Object.assign({},S))),I&&(E._redirectEventId=I),E}static async _fromIdTokenResponse(e,t,r=!1){const i=new we;i.updateFromServerResponse(t);const s=new ee({uid:t.localId,auth:e,stsTokenManager:i,isAnonymous:r});return await De(s),s}}/**
         
     | 
| 
       632 
632 
     | 
    
         
             
             * @license
         
     | 
| 
       633 
633 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       634 
634 
     | 
    
         
             
             *
         
     | 
| 
         @@ -643,7 +643,7 @@ 
     | 
|
| 
       643 
643 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       644 
644 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       645 
645 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       646 
     | 
    
         
            -
             */const  
     | 
| 
      
 646 
     | 
    
         
            +
             */const Wt=new Map;function B(n){F(n instanceof Function,"Expected a class definition");let e=Wt.get(n);return e?(F(e instanceof n,"Instance stored in cache mismatched with class"),e):(e=new n,Wt.set(n,e),e)}/**
         
     | 
| 
       647 
647 
     | 
    
         
             
             * @license
         
     | 
| 
       648 
648 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       649 
649 
     | 
    
         
             
             *
         
     | 
| 
         @@ -658,7 +658,7 @@ 
     | 
|
| 
       658 
658 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       659 
659 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       660 
660 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       661 
     | 
    
         
            -
             */class  
     | 
| 
      
 661 
     | 
    
         
            +
             */class xt{constructor(){this.type="NONE",this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){const t=this.storage[e];return t===void 0?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}}xt.type="NONE";const zt=xt;/**
         
     | 
| 
       662 
662 
     | 
    
         
             
             * @license
         
     | 
| 
       663 
663 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       664 
664 
     | 
    
         
             
             *
         
     | 
| 
         @@ -673,7 +673,7 @@ 
     | 
|
| 
       673 
673 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       674 
674 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       675 
675 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       676 
     | 
    
         
            -
             */function  
     | 
| 
      
 676 
     | 
    
         
            +
             */function Ne(n,e,t){return`firebase:${n}:${e}:${t}`}class ae{constructor(e,t,r){this.persistence=e,this.auth=t,this.userKey=r;const{config:i,name:s}=this.auth;this.fullUserKey=Ne(this.userKey,i.apiKey,s),this.fullPersistenceKey=Ne("persistence",i.apiKey,s),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(){const e=await this.persistence._get(this.fullUserKey);return e?ee._fromJSON(this.auth,e):null}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;const 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(e,t,r="authUser"){if(!t.length)return new ae(B(zt),e,r);const i=(await Promise.all(t.map(async u=>{if(await u._isAvailable())return u}))).filter(u=>u);let s=i[0]||B(zt);const o=Ne(r,e.config.apiKey,e.name);let c=null;for(const u of t)try{const _=await u._get(o);if(_){const v=ee._fromJSON(e,_);u!==s&&(c=v),s=u;break}}catch{}const a=i.filter(u=>u._shouldAllowMigration);return!s._shouldAllowMigration||!a.length?new ae(s,e,r):(s=a[0],c&&await s._set(o,c.toJSON()),await Promise.all(t.map(async u=>{if(u!==s)try{await u._remove(o)}catch{}})),new ae(s,e,r))}}/**
         
     | 
| 
       677 
677 
     | 
    
         
             
             * @license
         
     | 
| 
       678 
678 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       679 
679 
     | 
    
         
             
             *
         
     | 
| 
         @@ -688,7 +688,7 @@ 
     | 
|
| 
       688 
688 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       689 
689 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       690 
690 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       691 
     | 
    
         
            -
             */function  
     | 
| 
      
 691 
     | 
    
         
            +
             */function qt(n){const e=n.toLowerCase();if(e.includes("opera/")||e.includes("opr/")||e.includes("opios/"))return"Opera";if(Kt(e))return"IEMobile";if(e.includes("msie")||e.includes("trident/"))return"IE";if(e.includes("edge/"))return"Edge";if(Jt(e))return"Firefox";if(e.includes("silk/"))return"Silk";if(Qt(e))return"Blackberry";if(Xt(e))return"Webos";if(at(e))return"Safari";if((e.includes("chrome/")||Gt(e))&&!e.includes("edge/"))return"Chrome";if(Yt(e))return"Android";{const t=/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/,r=n.match(t);if((r==null?void 0:r.length)===2)return r[1]}return"Other"}function Jt(n=R()){return/firefox\//i.test(n)}function at(n=R()){const e=n.toLowerCase();return e.includes("safari/")&&!e.includes("chrome/")&&!e.includes("crios/")&&!e.includes("android")}function Gt(n=R()){return/crios\//i.test(n)}function Kt(n=R()){return/iemobile/i.test(n)}function Yt(n=R()){return/android/i.test(n)}function Qt(n=R()){return/blackberry/i.test(n)}function Xt(n=R()){return/webos/i.test(n)}function Le(n=R()){return/iphone|ipad|ipod/i.test(n)||/macintosh/i.test(n)&&/mobile/i.test(n)}function $i(n=R()){var e;return Le(n)&&!!(!((e=window.navigator)===null||e===void 0)&&e.standalone)}function Mi(){return Kn()&&document.documentMode===10}function Zt(n=R()){return Le(n)||Yt(n)||Xt(n)||Qt(n)||/windows phone/i.test(n)||Kt(n)}function Ui(){try{return!!(window&&window!==window.top)}catch{return!1}}/**
         
     | 
| 
       692 
692 
     | 
    
         
             
             * @license
         
     | 
| 
       693 
693 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       694 
694 
     | 
    
         
             
             *
         
     | 
| 
         @@ -703,7 +703,7 @@ 
     | 
|
| 
       703 
703 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       704 
704 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       705 
705 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       706 
     | 
    
         
            -
             */function  
     | 
| 
      
 706 
     | 
    
         
            +
             */function en(n,e=[]){let t;switch(n){case"Browser":t=qt(R());break;case"Worker":t=`${qt(R())}-${n}`;break;default:t=n}const r=e.length?e.join(","):"FirebaseCore-web";return`${t}/JsCore/${ye}/${r}`}/**
         
     | 
| 
       707 
707 
     | 
    
         
             
             * @license
         
     | 
| 
       708 
708 
     | 
    
         
             
             * Copyright 2022 Google LLC
         
     | 
| 
       709 
709 
     | 
    
         
             
             *
         
     | 
| 
         @@ -718,7 +718,7 @@ 
     | 
|
| 
       718 
718 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       719 
719 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       720 
720 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       721 
     | 
    
         
            -
             */class  
     | 
| 
      
 721 
     | 
    
         
            +
             */class ji{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){const r=s=>new Promise((o,c)=>{try{const a=e(s);o(a)}catch(a){c(a)}});r.onAbort=t,this.queue.push(r);const i=this.queue.length-1;return()=>{this.queue[i]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;const t=[];try{for(const r of this.queue)await r(e),r.onAbort&&t.push(r.onAbort)}catch(r){t.reverse();for(const i of t)try{i()}catch{}throw this.auth._errorFactory.create("login-blocked",{originalMessage:r==null?void 0:r.message})}}}/**
         
     | 
| 
       722 
722 
     | 
    
         
             
             * @license
         
     | 
| 
       723 
723 
     | 
    
         
             
             * Copyright 2023 Google LLC
         
     | 
| 
       724 
724 
     | 
    
         
             
             *
         
     | 
| 
         @@ -748,7 +748,7 @@ 
     | 
|
| 
       748 
748 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       749 
749 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       750 
750 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       751 
     | 
    
         
            -
             */const  
     | 
| 
      
 751 
     | 
    
         
            +
             */const Bi=6;class Hi{constructor(e){var t,r,i,s;const o=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=(t=o.minPasswordLength)!==null&&t!==void 0?t:Bi,o.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=o.maxPasswordLength),o.containsLowercaseCharacter!==void 0&&(this.customStrengthOptions.containsLowercaseLetter=o.containsLowercaseCharacter),o.containsUppercaseCharacter!==void 0&&(this.customStrengthOptions.containsUppercaseLetter=o.containsUppercaseCharacter),o.containsNumericCharacter!==void 0&&(this.customStrengthOptions.containsNumericCharacter=o.containsNumericCharacter),o.containsNonAlphanumericCharacter!==void 0&&(this.customStrengthOptions.containsNonAlphanumericCharacter=o.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,this.enforcementState==="ENFORCEMENT_STATE_UNSPECIFIED"&&(this.enforcementState="OFF"),this.allowedNonAlphanumericCharacters=(i=(r=e.allowedNonAlphanumericCharacters)===null||r===void 0?void 0:r.join(""))!==null&&i!==void 0?i:"",this.forceUpgradeOnSignin=(s=e.forceUpgradeOnSignin)!==null&&s!==void 0?s:!1,this.schemaVersion=e.schemaVersion}validatePassword(e){var t,r,i,s,o,c;const a={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,a),this.validatePasswordCharacterOptions(e,a),a.isValid&&(a.isValid=(t=a.meetsMinPasswordLength)!==null&&t!==void 0?t:!0),a.isValid&&(a.isValid=(r=a.meetsMaxPasswordLength)!==null&&r!==void 0?r:!0),a.isValid&&(a.isValid=(i=a.containsLowercaseLetter)!==null&&i!==void 0?i:!0),a.isValid&&(a.isValid=(s=a.containsUppercaseLetter)!==null&&s!==void 0?s:!0),a.isValid&&(a.isValid=(o=a.containsNumericCharacter)!==null&&o!==void 0?o:!0),a.isValid&&(a.isValid=(c=a.containsNonAlphanumericCharacter)!==null&&c!==void 0?c:!0),a}validatePasswordLengthOptions(e,t){const r=this.customStrengthOptions.minPasswordLength,i=this.customStrengthOptions.maxPasswordLength;r&&(t.meetsMinPasswordLength=e.length>=r),i&&(t.meetsMaxPasswordLength=e.length<=i)}validatePasswordCharacterOptions(e,t){this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);let r;for(let i=0;i<e.length;i++)r=e.charAt(i),this.updatePasswordCharacterOptionsStatuses(t,r>="a"&&r<="z",r>="A"&&r<="Z",r>="0"&&r<="9",this.allowedNonAlphanumericCharacters.includes(r))}updatePasswordCharacterOptionsStatuses(e,t,r,i,s){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||(e.containsLowercaseLetter=t)),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||(e.containsUppercaseLetter=r)),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||(e.containsNumericCharacter=i)),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||(e.containsNonAlphanumericCharacter=s))}}/**
         
     | 
| 
       752 
752 
     | 
    
         
             
             * @license
         
     | 
| 
       753 
753 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       754 
754 
     | 
    
         
             
             *
         
     | 
| 
         @@ -763,7 +763,7 @@ 
     | 
|
| 
       763 
763 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       764 
764 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       765 
765 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       766 
     | 
    
         
            -
             */class  
     | 
| 
      
 766 
     | 
    
         
            +
             */class Vi{constructor(e,t,r,i){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=r,this.config=i,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new tn(this),this.idTokenSubscription=new tn(this),this.beforeStateQueue=new ji(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=Mt,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this._projectPasswordPolicy=null,this._tenantPasswordPolicies={},this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=i.sdkClientVersion}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=B(t)),this._initializationPromise=this.queue(async()=>{var r,i;if(!this._deleted&&(this.persistenceManager=await ae.create(this,e),!this._deleted)){if(!((r=this._popupRedirectResolver)===null||r===void 0)&&r._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch{}await this.initializeCurrentUser(t),this.lastNotifiedUid=((i=this.currentUser)===null||i===void 0?void 0:i.uid)||null,!this._deleted&&(this._isInitialized=!0)}}),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;const 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 initializeCurrentUser(e){var t;const r=await this.assertedPersistence.getCurrentUser();let i=r,s=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();const o=(t=this.redirectUser)===null||t===void 0?void 0:t._redirectEventId,c=i==null?void 0:i._redirectEventId,a=await this.tryRedirectSignIn(e);(!o||o===c)&&(a!=null&&a.user)&&(i=a.user,s=!0)}if(!i)return this.directlySetCurrentUser(null);if(!i._redirectEventId){if(s)try{await this.beforeStateQueue.runMiddleware(i)}catch(o){i=r,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(o))}return i?this.reloadAndSetCurrentUserOrClear(i):this.directlySetCurrentUser(null)}return y(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===i._redirectEventId?this.directlySetCurrentUser(i):this.reloadAndSetCurrentUserOrClear(i)}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 De(e)}catch(t){if((t==null?void 0:t.code)!=="auth/network-request-failed")return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=_i()}async _delete(){this._deleted=!0}async updateCurrentUser(e){const t=e?U(e):null;return t&&y(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&&y(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 await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0)}setPersistence(e){return this.queue(async()=>{await this.assertedPersistence.setPersistence(B(e))})}_getRecaptchaConfig(){return this.tenantId==null?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();const t=this._getPasswordPolicyInternal();return t.schemaVersion!==this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION?Promise.reject(this._errorFactory.create("unsupported-password-policy-schema-version",{})):t.validatePassword(e)}_getPasswordPolicyInternal(){return this.tenantId===null?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){const e=await Fi(this),t=new Hi(e);this.tenantId===null?this._projectPasswordPolicy=t:this._tenantPasswordPolicies[this.tenantId]=t}_getPersistence(){return this.assertedPersistence.persistence.type}_updateErrorMap(e){this._errorFactory=new he("auth","Firebase",e())}onAuthStateChanged(e,t,r){return this.registerStateListener(this.authStateSubscription,e,t,r)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,r){return this.registerStateListener(this.idTokenSubscription,e,t,r)}authStateReady(){return new Promise((e,t)=>{if(this.currentUser)e();else{const r=this.onAuthStateChanged(()=>{r(),e()},t)}})}toJSON(){var e;return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:(e=this._currentUser)===null||e===void 0?void 0:e.toJSON()}}async _setRedirectUser(e,t){const r=await this.getOrInitRedirectPersistenceManager(t);return e===null?r.removeCurrentUser():r.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){const t=e&&B(e)||this._popupRedirectResolver;y(t,this,"argument-error"),this.redirectPersistenceManager=await ae.create(this,[B(t._redirectPersistence)],"redirectUser"),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){var t,r;return this._isInitialized&&await this.queue(async()=>{}),((t=this._currentUser)===null||t===void 0?void 0:t._redirectEventId)===e?this._currentUser:((r=this.redirectUser)===null||r===void 0?void 0:r._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(){var e,t;if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);const r=(t=(e=this.currentUser)===null||e===void 0?void 0:e.uid)!==null&&t!==void 0?t:null;this.lastNotifiedUid!==r&&(this.lastNotifiedUid=r,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,r,i){if(this._deleted)return()=>{};const s=typeof t=="function"?t:t.next.bind(t);let o=!1;const c=this._isInitialized?Promise.resolve():this._initializationPromise;if(y(c,this,"internal-error"),c.then(()=>{o||s(this.currentUser)}),typeof t=="function"){const a=e.addObserver(t,r,i);return()=>{o=!0,a()}}else{const a=e.addObserver(t);return()=>{o=!0,a()}}}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 y(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=en(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){var e;const t={"X-Client-Version":this.clientVersion};this.app.options.appId&&(t["X-Firebase-gmpid"]=this.app.options.appId);const r=await((e=this.heartbeatServiceProvider.getImmediate({optional:!0}))===null||e===void 0?void 0:e.getHeartbeatsHeader());r&&(t["X-Firebase-Client"]=r);const i=await this._getAppCheckToken();return i&&(t["X-Firebase-AppCheck"]=i),t}async _getAppCheckToken(){var e;const t=await((e=this.appCheckServiceProvider.getImmediate({optional:!0}))===null||e===void 0?void 0:e.getToken());return t!=null&&t.error&&pi(`Error while retrieving App Check token: ${t.error}`),t==null?void 0:t.token}}function te(n){return U(n)}class tn{constructor(e){this.auth=e,this.observer=null,this.addObserver=nr(t=>this.observer=t)}get next(){return y(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}/**
         
     | 
| 
       767 
767 
     | 
    
         
             
             * @license
         
     | 
| 
       768 
768 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       769 
769 
     | 
    
         
             
             *
         
     | 
| 
         @@ -778,7 +778,7 @@ 
     | 
|
| 
       778 
778 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       779 
779 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       780 
780 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       781 
     | 
    
         
            -
             */function  
     | 
| 
      
 781 
     | 
    
         
            +
             */function Wi(){var n,e;return(e=(n=document.getElementsByTagName("head"))===null||n===void 0?void 0:n[0])!==null&&e!==void 0?e:document}function nn(n){return new Promise((e,t)=>{const r=document.createElement("script");r.setAttribute("src",n),r.onload=e,r.onerror=i=>{const s=L("internal-error");s.customData=i,t(s)},r.type="text/javascript",r.charset="UTF-8",Wi().appendChild(r)})}function xi(n){return`__${n}${Math.floor(Math.random()*1e6)}`}const zi="https://www.google.com/recaptcha/enterprise.js?render=",qi="recaptcha-enterprise",Ji="NO_RECAPTCHA";class Gi{constructor(e){this.type=qi,this.auth=te(e)}async verify(e="verify",t=!1){async function r(s){if(!t){if(s.tenantId==null&&s._agentRecaptchaConfig!=null)return s._agentRecaptchaConfig.siteKey;if(s.tenantId!=null&&s._tenantRecaptchaConfigs[s.tenantId]!==void 0)return s._tenantRecaptchaConfigs[s.tenantId].siteKey}return new Promise(async(o,c)=>{Ti(s,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}).then(a=>{if(a.recaptchaKey===void 0)c(new Error("recaptcha Enterprise site key undefined"));else{const u=new Ei(a);return s.tenantId==null?s._agentRecaptchaConfig=u:s._tenantRecaptchaConfigs[s.tenantId]=u,o(u.siteKey)}}).catch(a=>{c(a)})})}function i(s,o,c){const a=window.grecaptcha;Ht(a)?a.enterprise.ready(()=>{a.enterprise.execute(s,{action:e}).then(u=>{o(u)}).catch(()=>{o(Ji)})}):c(Error("No reCAPTCHA enterprise script loaded."))}return new Promise((s,o)=>{r(this.auth).then(c=>{if(!t&&Ht(window.grecaptcha))i(c,s,o);else{if(typeof window>"u"){o(new Error("RecaptchaVerifier is only supported in browser"));return}nn(zi+c).then(()=>{i(c,s,o)}).catch(a=>{o(a)})}}).catch(c=>{o(c)})})}}async function rn(n,e,t,r=!1){const i=new Gi(n);let s;try{s=await i.verify(t)}catch{s=await i.verify(t,!0)}const o=Object.assign({},e);return r?Object.assign(o,{captchaResp:s}):Object.assign(o,{captchaResponse:s}),Object.assign(o,{clientType:"CLIENT_TYPE_WEB"}),Object.assign(o,{recaptchaVersion:"RECAPTCHA_ENTERPRISE"}),o}async function sn(n,e,t,r){var i;if(!((i=n._getRecaptchaConfig())===null||i===void 0)&&i.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")){const s=await rn(n,e,t,t==="getOobCode");return r(n,s)}else return r(n,e).catch(async s=>{if(s.code==="auth/missing-recaptcha-token"){console.log(`${t} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`);const o=await rn(n,e,t,t==="getOobCode");return r(n,o)}else return Promise.reject(s)})}/**
         
     | 
| 
       782 
782 
     | 
    
         
             
             * @license
         
     | 
| 
       783 
783 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       784 
784 
     | 
    
         
             
             *
         
     | 
| 
         @@ -793,7 +793,7 @@ 
     | 
|
| 
       793 
793 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       794 
794 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       795 
795 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       796 
     | 
    
         
            -
             */function  
     | 
| 
      
 796 
     | 
    
         
            +
             */function Ki(n,e){const t=Rt(n,"auth");if(t.isInitialized()){const i=t.getImmediate(),s=t.getOptions();if(Se(s,e??{}))return i;D(i,"already-initialized")}return t.initialize({options:e})}function Yi(n,e){const t=(e==null?void 0:e.persistence)||[],r=(Array.isArray(t)?t:[t]).map(B);e!=null&&e.errorMap&&n._updateErrorMap(e.errorMap),n._initializeWithPersistence(r,e==null?void 0:e.popupRedirectResolver)}function Qi(n,e,t){const r=te(n);y(r._canInitEmulator,r,"emulator-config-failed"),y(/^https?:\/\//.test(e),r,"invalid-emulator-scheme");const i=!!(t!=null&&t.disableWarnings),s=on(e),{host:o,port:c}=Xi(e),a=c===null?"":`:${c}`;r.config.emulator={url:`${s}//${o}${a}/`},r.settings.appVerificationDisabledForTesting=!0,r.emulatorConfig=Object.freeze({host:o,port:c,protocol:s.replace(":",""),options:Object.freeze({disableWarnings:i})}),i||Zi()}function on(n){const e=n.indexOf(":");return e<0?"":n.substr(0,e+1)}function Xi(n){const e=on(n),t=/(\/\/)?([^?#/]+)/.exec(n.substr(e.length));if(!t)return{host:"",port:null};const r=t[2].split("@").pop()||"",i=/^(\[[^\]]+\])(:|$)/.exec(r);if(i){const s=i[1];return{host:s,port:an(r.substr(s.length+1))}}else{const[s,o]=r.split(":");return{host:s,port:an(o)}}}function an(n){if(!n)return null;const e=Number(n);return isNaN(e)?null:e}function Zi(){function n(){const 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",n):n())}/**
         
     | 
| 
       797 
797 
     | 
    
         
             
             * @license
         
     | 
| 
       798 
798 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       799 
799 
     | 
    
         
             
             *
         
     | 
| 
         @@ -808,7 +808,7 @@ 
     | 
|
| 
       808 
808 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       809 
809 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       810 
810 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       811 
     | 
    
         
            -
             */class  
     | 
| 
      
 811 
     | 
    
         
            +
             */class ct{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 es(n,e){return x(n,"POST","/v1/accounts:update",e)}/**
         
     | 
| 
       812 
812 
     | 
    
         
             
             * @license
         
     | 
| 
       813 
813 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       814 
814 
     | 
    
         
             
             *
         
     | 
| 
         @@ -823,7 +823,7 @@ 
     | 
|
| 
       823 
823 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       824 
824 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       825 
825 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       826 
     | 
    
         
            -
             */async function  
     | 
| 
      
 826 
     | 
    
         
            +
             */async function ts(n,e){return Oe(n,"POST","/v1/accounts:signInWithPassword",Z(n,e))}async function ns(n,e){return x(n,"POST","/v1/accounts:sendOobCode",Z(n,e))}async function rs(n,e){return ns(n,e)}/**
         
     | 
| 
       827 
827 
     | 
    
         
             
             * @license
         
     | 
| 
       828 
828 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       829 
829 
     | 
    
         
             
             *
         
     | 
| 
         @@ -838,7 +838,7 @@ 
     | 
|
| 
       838 
838 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       839 
839 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       840 
840 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       841 
     | 
    
         
            -
             */async function  
     | 
| 
      
 841 
     | 
    
         
            +
             */async function is(n,e){return Oe(n,"POST","/v1/accounts:signInWithEmailLink",Z(n,e))}async function ss(n,e){return Oe(n,"POST","/v1/accounts:signInWithEmailLink",Z(n,e))}/**
         
     | 
| 
       842 
842 
     | 
    
         
             
             * @license
         
     | 
| 
       843 
843 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       844 
844 
     | 
    
         
             
             *
         
     | 
| 
         @@ -853,7 +853,7 @@ 
     | 
|
| 
       853 
853 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       854 
854 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       855 
855 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       856 
     | 
    
         
            -
             */class Ee extends  
     | 
| 
      
 856 
     | 
    
         
            +
             */class Ee extends ct{constructor(e,t,r,i=null){super("password",r),this._email=e,this._password=t,this._tenantId=i}static _fromEmailAndPassword(e,t){return new Ee(e,t,"password")}static _fromEmailAndCode(e,t,r=null){return new Ee(e,t,"emailLink",r)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){const t=typeof e=="string"?JSON.parse(e):e;if(t!=null&&t.email&&(t!=null&&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":const t={returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"};return sn(e,t,"signInWithPassword",ts);case"emailLink":return is(e,{email:this._email,oobCode:this._password});default:D(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":return es(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password});case"emailLink":return ss(e,{idToken:t,email:this._email,oobCode:this._password});default:D(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}/**
         
     | 
| 
       857 
857 
     | 
    
         
             
             * @license
         
     | 
| 
       858 
858 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       859 
859 
     | 
    
         
             
             *
         
     | 
| 
         @@ -883,7 +883,7 @@ 
     | 
|
| 
       883 
883 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       884 
884 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       885 
885 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       886 
     | 
    
         
            -
             */const  
     | 
| 
      
 886 
     | 
    
         
            +
             */const os="http://localhost";class ne extends ct{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){const t=new ne(e.providerId,e.signInMethod);return e.idToken||e.accessToken?(e.idToken&&(t.idToken=e.idToken),e.accessToken&&(t.accessToken=e.accessToken),e.nonce&&!e.pendingToken&&(t.nonce=e.nonce),e.pendingToken&&(t.pendingToken=e.pendingToken)):e.oauthToken&&e.oauthTokenSecret?(t.accessToken=e.oauthToken,t.secret=e.oauthTokenSecret):D("argument-error"),t}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(e){const t=typeof e=="string"?JSON.parse(e):e,{providerId:r,signInMethod:i}=t,s=tt(t,["providerId","signInMethod"]);if(!r||!i)return null;const o=new ne(r,i);return o.idToken=s.idToken||void 0,o.accessToken=s.accessToken||void 0,o.secret=s.secret,o.nonce=s.nonce,o.pendingToken=s.pendingToken||null,o}_getIdTokenResponse(e){const t=this.buildRequest();return ce(e,t)}_linkToIdToken(e,t){const r=this.buildRequest();return r.idToken=t,ce(e,r)}_getReauthenticationResolver(e){const t=this.buildRequest();return t.autoCreate=!1,ce(e,t)}buildRequest(){const e={requestUri:os,returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{const 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=fe(t)}return e}}/**
         
     | 
| 
       887 
887 
     | 
    
         
             
             * @license
         
     | 
| 
       888 
888 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       889 
889 
     | 
    
         
             
             *
         
     | 
| 
         @@ -898,7 +898,7 @@ 
     | 
|
| 
       898 
898 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       899 
899 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       900 
900 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       901 
     | 
    
         
            -
             */function  
     | 
| 
      
 901 
     | 
    
         
            +
             */function as(n){switch(n){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 cs(n){const e=pe(ge(n)).link,t=e?pe(ge(e)).deep_link_id:null,r=pe(ge(n)).deep_link_id;return(r?pe(ge(r)).link:null)||r||t||e||n}class lt{constructor(e){var t,r,i,s,o,c;const a=pe(ge(e)),u=(t=a.apiKey)!==null&&t!==void 0?t:null,_=(r=a.oobCode)!==null&&r!==void 0?r:null,v=as((i=a.mode)!==null&&i!==void 0?i:null);y(u&&_&&v,"argument-error"),this.apiKey=u,this.operation=v,this.code=_,this.continueUrl=(s=a.continueUrl)!==null&&s!==void 0?s:null,this.languageCode=(o=a.languageCode)!==null&&o!==void 0?o:null,this.tenantId=(c=a.tenantId)!==null&&c!==void 0?c:null}static parseLink(e){const t=cs(e);try{return new lt(t)}catch{return null}}}/**
         
     | 
| 
       902 
902 
     | 
    
         
             
             * @license
         
     | 
| 
       903 
903 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       904 
904 
     | 
    
         
             
             *
         
     | 
| 
         @@ -913,7 +913,7 @@ 
     | 
|
| 
       913 
913 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       914 
914 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       915 
915 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       916 
     | 
    
         
            -
             */class le{constructor(){this.providerId=le.PROVIDER_ID}static credential(e,t){return Ee._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){const r= 
     | 
| 
      
 916 
     | 
    
         
            +
             */class le{constructor(){this.providerId=le.PROVIDER_ID}static credential(e,t){return Ee._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){const r=lt.parseLink(t);return y(r,"argument-error"),Ee._fromEmailAndCode(e,r.code,r.tenantId)}}le.PROVIDER_ID="password",le.EMAIL_PASSWORD_SIGN_IN_METHOD="password",le.EMAIL_LINK_SIGN_IN_METHOD="emailLink";/**
         
     | 
| 
       917 
917 
     | 
    
         
             
             * @license
         
     | 
| 
       918 
918 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       919 
919 
     | 
    
         
             
             *
         
     | 
| 
         @@ -928,7 +928,7 @@ 
     | 
|
| 
       928 
928 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       929 
929 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       930 
930 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       931 
     | 
    
         
            -
             */class  
     | 
| 
      
 931 
     | 
    
         
            +
             */class cn{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}}/**
         
     | 
| 
       932 
932 
     | 
    
         
             
             * @license
         
     | 
| 
       933 
933 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       934 
934 
     | 
    
         
             
             *
         
     | 
| 
         @@ -943,7 +943,7 @@ 
     | 
|
| 
       943 
943 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       944 
944 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       945 
945 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       946 
     | 
    
         
            -
             */class Te extends  
     | 
| 
      
 946 
     | 
    
         
            +
             */class Te extends cn{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}/**
         
     | 
| 
       947 
947 
     | 
    
         
             
             * @license
         
     | 
| 
       948 
948 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       949 
949 
     | 
    
         
             
             *
         
     | 
| 
         @@ -958,7 +958,7 @@ 
     | 
|
| 
       958 
958 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       959 
959 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       960 
960 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       961 
     | 
    
         
            -
             */class  
     | 
| 
      
 961 
     | 
    
         
            +
             */class q extends Te{constructor(){super("facebook.com")}static credential(e){return ne._fromParams({providerId:q.PROVIDER_ID,signInMethod:q.FACEBOOK_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return q.credentialFromTaggedObject(e)}static credentialFromError(e){return q.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return q.credential(e.oauthAccessToken)}catch{return null}}}q.FACEBOOK_SIGN_IN_METHOD="facebook.com",q.PROVIDER_ID="facebook.com";/**
         
     | 
| 
       962 
962 
     | 
    
         
             
             * @license
         
     | 
| 
       963 
963 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       964 
964 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1018,7 +1018,7 @@ 
     | 
|
| 
       1018 
1018 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1019 
1019 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1020 
1020 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1021 
     | 
    
         
            -
             */class de{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,r,i=!1){const s=await ee._fromIdTokenResponse(e,r,i),o= 
     | 
| 
      
 1021 
     | 
    
         
            +
             */class de{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,r,i=!1){const s=await ee._fromIdTokenResponse(e,r,i),o=ln(r);return new de({user:s,providerId:o,_tokenResponse:r,operationType:t})}static async _forOperation(e,t,r){await e._updateTokensIfNecessary(r,!0);const i=ln(r);return new de({user:e,providerId:i,_tokenResponse:r,operationType:t})}}function ln(n){return n.providerId?n.providerId:"phoneNumber"in n?"phone":null}/**
         
     | 
| 
       1022 
1022 
     | 
    
         
             
             * @license
         
     | 
| 
       1023 
1023 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1024 
1024 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1033,7 +1033,7 @@ 
     | 
|
| 
       1033 
1033 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1034 
1034 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1035 
1035 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1036 
     | 
    
         
            -
             */class  
     | 
| 
      
 1036 
     | 
    
         
            +
             */class $e extends H{constructor(e,t,r,i){var s;super(t.code,t.message),this.operationType=r,this.user=i,Object.setPrototypeOf(this,$e.prototype),this.customData={appName:e.name,tenantId:(s=e.tenantId)!==null&&s!==void 0?s:void 0,_serverResponse:t.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(e,t,r,i){return new $e(e,t,r,i)}}function dn(n,e,t,r){return(e==="reauthenticate"?t._getReauthenticationResolver(n):t._getIdTokenResponse(n)).catch(s=>{throw s.code==="auth/multi-factor-auth-required"?$e._fromErrorAndOperation(n,s,e,r):s})}async function ls(n,e,t=!1){const r=await Ie(n,e._linkToIdToken(n.auth,await n.getIdToken()),t);return de._forOperation(n,"link",r)}/**
         
     | 
| 
       1037 
1037 
     | 
    
         
             
             * @license
         
     | 
| 
       1038 
1038 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       1039 
1039 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1048,7 +1048,7 @@ 
     | 
|
| 
       1048 
1048 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1049 
1049 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1050 
1050 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1051 
     | 
    
         
            -
             */async function  
     | 
| 
      
 1051 
     | 
    
         
            +
             */async function ds(n,e,t=!1){const{auth:r}=n,i="reauthenticate";try{const s=await Ie(n,dn(r,i,e,n),t);y(s.idToken,r,"internal-error");const o=ot(s.idToken);y(o,r,"internal-error");const{sub:c}=o;return y(n.uid===c,r,"user-mismatch"),de._forOperation(n,i,s)}catch(s){throw(s==null?void 0:s.code)==="auth/user-not-found"&&D(r,"user-mismatch"),s}}/**
         
     | 
| 
       1052 
1052 
     | 
    
         
             
             * @license
         
     | 
| 
       1053 
1053 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1054 
1054 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1063,7 +1063,7 @@ 
     | 
|
| 
       1063 
1063 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1064 
1064 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1065 
1065 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1066 
     | 
    
         
            -
             */async function  
     | 
| 
      
 1066 
     | 
    
         
            +
             */async function un(n,e,t=!1){const r="signIn",i=await dn(n,r,e),s=await de._fromIdTokenResponse(n,r,i);return t||await n._updateCurrentUser(s.user),s}async function us(n,e){return un(te(n),e)}/**
         
     | 
| 
       1067 
1067 
     | 
    
         
             
             * @license
         
     | 
| 
       1068 
1068 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1069 
1069 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1078,7 +1078,7 @@ 
     | 
|
| 
       1078 
1078 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1079 
1079 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1080 
1080 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1081 
     | 
    
         
            -
             */function  
     | 
| 
      
 1081 
     | 
    
         
            +
             */function hs(n,e,t){var r;y(((r=t.url)===null||r===void 0?void 0:r.length)>0,n,"invalid-continue-uri"),y(typeof t.dynamicLinkDomain>"u"||t.dynamicLinkDomain.length>0,n,"invalid-dynamic-link-domain"),e.continueUrl=t.url,e.dynamicLinkDomain=t.dynamicLinkDomain,e.canHandleCodeInApp=t.handleCodeInApp,t.iOS&&(y(t.iOS.bundleId.length>0,n,"missing-ios-bundle-id"),e.iOSBundleId=t.iOS.bundleId),t.android&&(y(t.android.packageName.length>0,n,"missing-android-pkg-name"),e.androidInstallApp=t.android.installApp,e.androidMinimumVersionCode=t.android.minimumVersion,e.androidPackageName=t.android.packageName)}/**
         
     | 
| 
       1082 
1082 
     | 
    
         
             
             * @license
         
     | 
| 
       1083 
1083 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1084 
1084 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1093,7 +1093,7 @@ 
     | 
|
| 
       1093 
1093 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1094 
1094 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1095 
1095 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1096 
     | 
    
         
            -
             */async function  
     | 
| 
      
 1096 
     | 
    
         
            +
             */async function fs(n){const e=te(n);e._getPasswordPolicyInternal()&&await e._updatePasswordPolicy()}async function ps(n,e,t){const r=te(n),i={requestType:"PASSWORD_RESET",email:e,clientType:"CLIENT_TYPE_WEB"};t&&hs(r,i,t),await sn(r,i,"getOobCode",rs)}function gs(n,e,t){return us(U(n),le.credential(e,t)).catch(async r=>{throw r.code==="auth/password-does-not-meet-requirements"&&fs(n),r})}function ms(n,e,t,r){return U(n).onIdTokenChanged(e,t,r)}function ys(n,e,t){return U(n).beforeAuthStateChanged(e,t)}function _s(n,e,t,r){return U(n).onAuthStateChanged(e,t,r)}function bs(n){return U(n).signOut()}const Me="__sak";/**
         
     | 
| 
       1097 
1097 
     | 
    
         
             
             * @license
         
     | 
| 
       1098 
1098 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       1099 
1099 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1108,7 +1108,7 @@ 
     | 
|
| 
       1108 
1108 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1109 
1109 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1110 
1110 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1111 
     | 
    
         
            -
             */class  
     | 
| 
      
 1111 
     | 
    
         
            +
             */class hn{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(Me,"1"),this.storage.removeItem(Me),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){const 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()}}/**
         
     | 
| 
       1112 
1112 
     | 
    
         
             
             * @license
         
     | 
| 
       1113 
1113 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1114 
1114 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1123,7 +1123,7 @@ 
     | 
|
| 
       1123 
1123 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1124 
1124 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1125 
1125 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1126 
     | 
    
         
            -
             */function  
     | 
| 
      
 1126 
     | 
    
         
            +
             */function vs(){const n=R();return at(n)||Le(n)}const Is=1e3,ws=10;class fn extends hn{constructor(){super(()=>window.localStorage,"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.safariLocalStorageNotSynced=vs()&&Ui(),this.fallbackToPolling=Zt(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(const t of Object.keys(this.listeners)){const r=this.storage.getItem(t),i=this.localCache[t];r!==i&&e(t,i,r)}}onStorageEvent(e,t=!1){if(!e.key){this.forAllChangedKeys((o,c,a)=>{this.notifyListeners(o,a)});return}const r=e.key;if(t?this.detachListener():this.stopPolling(),this.safariLocalStorageNotSynced){const o=this.storage.getItem(r);if(e.newValue!==o)e.newValue!==null?this.storage.setItem(r,e.newValue):this.storage.removeItem(r);else if(this.localCache[r]===e.newValue&&!t)return}const i=()=>{const o=this.storage.getItem(r);!t&&this.localCache[r]===o||this.notifyListeners(r,o)},s=this.storage.getItem(r);Mi()&&s!==e.newValue&&e.newValue!==e.oldValue?setTimeout(i,ws):i()}notifyListeners(e,t){this.localCache[e]=t;const r=this.listeners[e];if(r)for(const i of Array.from(r))i(t&&JSON.parse(t))}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,r)=>{this.onStorageEvent(new StorageEvent("storage",{key:e,oldValue:t,newValue:r}),!0)})},Is)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),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]),Object.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){const t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}}fn.type="LOCAL";const Es=fn;/**
         
     | 
| 
       1127 
1127 
     | 
    
         
             
             * @license
         
     | 
| 
       1128 
1128 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1129 
1129 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1138,7 +1138,7 @@ 
     | 
|
| 
       1138 
1138 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1139 
1139 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1140 
1140 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1141 
     | 
    
         
            -
             */class  
     | 
| 
      
 1141 
     | 
    
         
            +
             */class pn extends hn{constructor(){super(()=>window.sessionStorage,"SESSION")}_addListener(e,t){}_removeListener(e,t){}}pn.type="SESSION";const gn=pn;/**
         
     | 
| 
       1142 
1142 
     | 
    
         
             
             * @license
         
     | 
| 
       1143 
1143 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       1144 
1144 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1153,7 +1153,7 @@ 
     | 
|
| 
       1153 
1153 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1154 
1154 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1155 
1155 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1156 
     | 
    
         
            -
             */function  
     | 
| 
      
 1156 
     | 
    
         
            +
             */function Ts(n){return Promise.all(n.map(async e=>{try{return{fulfilled:!0,value:await e}}catch(t){return{fulfilled:!1,reason:t}}}))}/**
         
     | 
| 
       1157 
1157 
     | 
    
         
             
             * @license
         
     | 
| 
       1158 
1158 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       1159 
1159 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1168,7 +1168,7 @@ 
     | 
|
| 
       1168 
1168 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1169 
1169 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1170 
1170 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1171 
     | 
    
         
            -
             */class  
     | 
| 
      
 1171 
     | 
    
         
            +
             */class Ue{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(e){const t=this.receivers.find(i=>i.isListeningto(e));if(t)return t;const r=new Ue(e);return this.receivers.push(r),r}isListeningto(e){return this.eventTarget===e}async handleEvent(e){const t=e,{eventId:r,eventType:i,data:s}=t.data,o=this.handlersMap[i];if(!(o!=null&&o.size))return;t.ports[0].postMessage({status:"ack",eventId:r,eventType:i});const c=Array.from(o).map(async u=>u(t.origin,s)),a=await Ts(c);t.ports[0].postMessage({status:"done",eventId:r,eventType:i,response:a})}_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)}}Ue.receivers=[];/**
         
     | 
| 
       1172 
1172 
     | 
    
         
             
             * @license
         
     | 
| 
       1173 
1173 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1174 
1174 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1183,7 +1183,7 @@ 
     | 
|
| 
       1183 
1183 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1184 
1184 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1185 
1185 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1186 
     | 
    
         
            -
             */function  
     | 
| 
      
 1186 
     | 
    
         
            +
             */function dt(n="",e=10){let t="";for(let r=0;r<e;r++)t+=Math.floor(Math.random()*10);return n+t}/**
         
     | 
| 
       1187 
1187 
     | 
    
         
             
             * @license
         
     | 
| 
       1188 
1188 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       1189 
1189 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1198,7 +1198,7 @@ 
     | 
|
| 
       1198 
1198 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1199 
1199 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1200 
1200 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1201 
     | 
    
         
            -
             */class  
     | 
| 
      
 1201 
     | 
    
         
            +
             */class As{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,r=50){const i=typeof MessageChannel<"u"?new MessageChannel:null;if(!i)throw new Error("connection_unavailable");let s,o;return new Promise((c,a)=>{const u=dt("",20);i.port1.start();const _=setTimeout(()=>{a(new Error("unsupported_event"))},r);o={messageChannel:i,onMessage(v){const A=v;if(A.data.eventId===u)switch(A.data.status){case"ack":clearTimeout(_),s=setTimeout(()=>{a(new Error("timeout"))},3e3);break;case"done":clearTimeout(s),c(A.data.response);break;default:clearTimeout(_),clearTimeout(s),a(new Error("invalid_response"));break}}},this.handlers.add(o),i.port1.addEventListener("message",o.onMessage),this.target.postMessage({eventType:e,eventId:u,data:t},[i.port2])}).finally(()=>{o&&this.removeMessageHandler(o)})}}/**
         
     | 
| 
       1202 
1202 
     | 
    
         
             
             * @license
         
     | 
| 
       1203 
1203 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1204 
1204 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1213,7 +1213,7 @@ 
     | 
|
| 
       1213 
1213 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1214 
1214 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1215 
1215 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1216 
     | 
    
         
            -
             */function $(){return window}function  
     | 
| 
      
 1216 
     | 
    
         
            +
             */function $(){return window}function Ss(n){$().location.href=n}/**
         
     | 
| 
       1217 
1217 
     | 
    
         
             
             * @license
         
     | 
| 
       1218 
1218 
     | 
    
         
             
             * Copyright 2020 Google LLC.
         
     | 
| 
       1219 
1219 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1228,7 +1228,7 @@ 
     | 
|
| 
       1228 
1228 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1229 
1229 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1230 
1230 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1231 
     | 
    
         
            -
             */function  
     | 
| 
      
 1231 
     | 
    
         
            +
             */function mn(){return typeof $().WorkerGlobalScope<"u"&&typeof $().importScripts=="function"}async function Cs(){if(!(navigator!=null&&navigator.serviceWorker))return null;try{return(await navigator.serviceWorker.ready).active}catch{return null}}function Rs(){var n;return((n=navigator==null?void 0:navigator.serviceWorker)===null||n===void 0?void 0:n.controller)||null}function Ps(){return mn()?self:null}/**
         
     | 
| 
       1232 
1232 
     | 
    
         
             
             * @license
         
     | 
| 
       1233 
1233 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       1234 
1234 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1243,7 +1243,7 @@ 
     | 
|
| 
       1243 
1243 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1244 
1244 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1245 
1245 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1246 
     | 
    
         
            -
             */const  
     | 
| 
      
 1246 
     | 
    
         
            +
             */const yn="firebaseLocalStorageDb",Os=1,je="firebaseLocalStorage",_n="fbase_key";class Ae{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 Fe(n,e){return n.transaction([je],e?"readwrite":"readonly").objectStore(je)}function ks(){const n=indexedDB.deleteDatabase(yn);return new Ae(n).toPromise()}function ut(){const n=indexedDB.open(yn,Os);return new Promise((e,t)=>{n.addEventListener("error",()=>{t(n.error)}),n.addEventListener("upgradeneeded",()=>{const r=n.result;try{r.createObjectStore(je,{keyPath:_n})}catch(i){t(i)}}),n.addEventListener("success",async()=>{const r=n.result;r.objectStoreNames.contains(je)?e(r):(r.close(),await ks(),e(await ut()))})})}async function bn(n,e,t){const r=Fe(n,!0).put({[_n]:e,value:t});return new Ae(r).toPromise()}async function Ds(n,e){const t=Fe(n,!1).get(e),r=await new Ae(t).toPromise();return r===void 0?null:r.value}function vn(n,e){const t=Fe(n,!0).delete(e);return new Ae(t).toPromise()}const Ns=800,Ls=3;class In{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?this.db:(this.db=await ut(),this.db)}async _withRetries(e){let t=0;for(;;)try{const r=await this._openDb();return await e(r)}catch(r){if(t++>Ls)throw r;this.db&&(this.db.close(),this.db=void 0)}}async initializeServiceWorkerMessaging(){return mn()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=Ue._getInstance(Ps()),this.receiver._subscribe("keyChanged",async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe("ping",async(e,t)=>["keyChanged"])}async initializeSender(){var e,t;if(this.activeServiceWorker=await Cs(),!this.activeServiceWorker)return;this.sender=new As(this.activeServiceWorker);const r=await this.sender._send("ping",{},800);r&&!((e=r[0])===null||e===void 0)&&e.fulfilled&&!((t=r[0])===null||t===void 0)&&t.value.includes("keyChanged")&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){if(!(!this.sender||!this.activeServiceWorker||Rs()!==this.activeServiceWorker))try{await this.sender._send("keyChanged",{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch{}}async _isAvailable(){try{if(!indexedDB)return!1;const e=await ut();return await bn(e,Me,"1"),await vn(e,Me),!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(r=>bn(r,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){const t=await this._withRetries(r=>Ds(r,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>vn(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){const e=await this._withRetries(i=>{const s=Fe(i,!1).getAll();return new Ae(s).toPromise()});if(!e)return[];if(this.pendingWrites!==0)return[];const t=[],r=new Set;for(const{fbase_key:i,value:s}of e)r.add(i),JSON.stringify(this.localCache[i])!==JSON.stringify(s)&&(this.notifyListeners(i,s),t.push(i));for(const i of Object.keys(this.localCache))this.localCache[i]&&!r.has(i)&&(this.notifyListeners(i,null),t.push(i));return t}notifyListeners(e,t){this.localCache[e]=t;const r=this.listeners[e];if(r)for(const i of Array.from(r))i(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),Ns)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),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]),Object.keys(this.listeners).length===0&&this.stopPolling()}}In.type="LOCAL";const $s=In;new be(3e4,6e4);/**
         
     | 
| 
       1247 
1247 
     | 
    
         
             
             * @license
         
     | 
| 
       1248 
1248 
     | 
    
         
             
             * Copyright 2021 Google LLC
         
     | 
| 
       1249 
1249 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1258,7 +1258,7 @@ 
     | 
|
| 
       1258 
1258 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1259 
1259 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1260 
1260 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1261 
     | 
    
         
            -
             */function  
     | 
| 
      
 1261 
     | 
    
         
            +
             */function Ms(n,e){return e?B(e):(y(n._popupRedirectResolver,n,"argument-error"),n._popupRedirectResolver)}/**
         
     | 
| 
       1262 
1262 
     | 
    
         
             
             * @license
         
     | 
| 
       1263 
1263 
     | 
    
         
             
             * Copyright 2019 Google LLC
         
     | 
| 
       1264 
1264 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1273,7 +1273,7 @@ 
     | 
|
| 
       1273 
1273 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1274 
1274 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1275 
1275 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1276 
     | 
    
         
            -
             */class  
     | 
| 
      
 1276 
     | 
    
         
            +
             */class ht extends ct{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return ce(e,this._buildIdpRequest())}_linkToIdToken(e,t){return ce(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return ce(e,this._buildIdpRequest())}_buildIdpRequest(e){const 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 Us(n){return un(n.auth,new ht(n),n.bypassAuthState)}function js(n){const{auth:e,user:t}=n;return y(t,e,"internal-error"),ds(t,new ht(n),n.bypassAuthState)}async function Fs(n){const{auth:e,user:t}=n;return y(t,e,"internal-error"),ls(t,new ht(n),n.bypassAuthState)}/**
         
     | 
| 
       1277 
1277 
     | 
    
         
             
             * @license
         
     | 
| 
       1278 
1278 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1279 
1279 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1288,7 +1288,7 @@ 
     | 
|
| 
       1288 
1288 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1289 
1289 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1290 
1290 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1291 
     | 
    
         
            -
             */class  
     | 
| 
      
 1291 
     | 
    
         
            +
             */class wn{constructor(e,t,r,i,s=!1){this.auth=e,this.resolver=r,this.user=i,this.bypassAuthState=s,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(r){this.reject(r)}})}async onAuthEvent(e){const{urlResponse:t,sessionId:r,postBody:i,tenantId:s,error:o,type:c}=e;if(o){this.reject(o);return}const a={auth:this.auth,requestUri:t,sessionId:r,tenantId:s||void 0,postBody:i||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(c)(a))}catch(u){this.reject(u)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return Us;case"linkViaPopup":case"linkViaRedirect":return Fs;case"reauthViaPopup":case"reauthViaRedirect":return js;default:D(this.auth,"internal-error")}}resolve(e){F(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){F(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()}}/**
         
     | 
| 
       1292 
1292 
     | 
    
         
             
             * @license
         
     | 
| 
       1293 
1293 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1294 
1294 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1303,7 +1303,7 @@ 
     | 
|
| 
       1303 
1303 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1304 
1304 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1305 
1305 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1306 
     | 
    
         
            -
             */const  
     | 
| 
      
 1306 
     | 
    
         
            +
             */const Bs=new be(2e3,1e4);class ue extends wn{constructor(e,t,r,i,s){super(e,t,i,s),this.provider=r,this.authWindow=null,this.pollId=null,ue.currentPopupAction&&ue.currentPopupAction.cancel(),ue.currentPopupAction=this}async executeNotNull(){const e=await this.execute();return y(e,this.auth,"internal-error"),e}async onExecution(){F(this.filter.length===1,"Popup operations only handle one event");const e=dt();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],e),this.authWindow.associatedEvent=e,this.resolver._originValidation(this.auth).catch(t=>{this.reject(t)}),this.resolver._isIframeWebStorageSupported(this.auth,t=>{t||this.reject(L(this.auth,"web-storage-unsupported"))}),this.pollUserCancellation()}get eventId(){var e;return((e=this.authWindow)===null||e===void 0?void 0:e.associatedEvent)||null}cancel(){this.reject(L(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,ue.currentPopupAction=null}pollUserCancellation(){const e=()=>{var t,r;if(!((r=(t=this.authWindow)===null||t===void 0?void 0:t.window)===null||r===void 0)&&r.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(L(this.auth,"popup-closed-by-user"))},8e3);return}this.pollId=window.setTimeout(e,Bs.get())};e()}}ue.currentPopupAction=null;/**
         
     | 
| 
       1307 
1307 
     | 
    
         
             
             * @license
         
     | 
| 
       1308 
1308 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1309 
1309 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1318,7 +1318,7 @@ 
     | 
|
| 
       1318 
1318 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1319 
1319 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1320 
1320 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1321 
     | 
    
         
            -
             */const  
     | 
| 
      
 1321 
     | 
    
         
            +
             */const Hs="pendingRedirect",Be=new Map;class Vs extends wn{constructor(e,t,r=!1){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,r),this.eventId=null}async execute(){let e=Be.get(this.auth._key());if(!e){try{const r=await Ws(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(r)}catch(t){e=()=>Promise.reject(t)}Be.set(this.auth._key(),e)}return this.bypassAuthState||Be.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if(e.type==="signInViaRedirect")return super.onAuthEvent(e);if(e.type==="unknown"){this.resolve(null);return}if(e.eventId){const t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}}async function Ws(n,e){const t=qs(e),r=zs(n);if(!await r._isAvailable())return!1;const i=await r._get(t)==="true";return await r._remove(t),i}function xs(n,e){Be.set(n._key(),e)}function zs(n){return B(n._redirectPersistence)}function qs(n){return Ne(Hs,n.config.apiKey,n.name)}async function Js(n,e,t=!1){const r=te(n),i=Ms(r,e),o=await new Vs(r,i,t).execute();return o&&!t&&(delete o.user._redirectEventId,await r._persistUserIfCurrent(o.user),await r._setRedirectUser(null,e)),o}/**
         
     | 
| 
       1322 
1322 
     | 
    
         
             
             * @license
         
     | 
| 
       1323 
1323 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1324 
1324 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1333,7 +1333,7 @@ 
     | 
|
| 
       1333 
1333 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1334 
1334 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1335 
1335 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1336 
     | 
    
         
            -
             */const  
     | 
| 
      
 1336 
     | 
    
         
            +
             */const Gs=10*60*1e3;class Ks{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(r=>{this.isEventForConsumer(e,r)&&(t=!0,this.sendToConsumer(e,r),this.saveEventToCache(e))}),this.hasHandledPotentialRedirect||!Ys(e)||(this.hasHandledPotentialRedirect=!0,t||(this.queuedRedirectEvent=e,t=!0)),t}sendToConsumer(e,t){var r;if(e.error&&!Tn(e)){const i=((r=e.error.code)===null||r===void 0?void 0:r.split("auth/")[1])||"internal-error";t.onError(L(this.auth,i))}else t.onAuthEvent(e)}isEventForConsumer(e,t){const r=t.eventId===null||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&r}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=Gs&&this.cachedEventUids.clear(),this.cachedEventUids.has(En(e))}saveEventToCache(e){this.cachedEventUids.add(En(e)),this.lastProcessedEventTime=Date.now()}}function En(n){return[n.type,n.eventId,n.sessionId,n.tenantId].filter(e=>e).join("-")}function Tn({type:n,error:e}){return n==="unknown"&&(e==null?void 0:e.code)==="auth/no-auth-event"}function Ys(n){switch(n.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return!0;case"unknown":return Tn(n);default:return!1}}/**
         
     | 
| 
       1337 
1337 
     | 
    
         
             
             * @license
         
     | 
| 
       1338 
1338 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1339 
1339 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1348,7 +1348,7 @@ 
     | 
|
| 
       1348 
1348 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1349 
1349 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1350 
1350 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1351 
     | 
    
         
            -
             */async function  
     | 
| 
      
 1351 
     | 
    
         
            +
             */async function Qs(n,e={}){return x(n,"GET","/v1/projects",e)}/**
         
     | 
| 
       1352 
1352 
     | 
    
         
             
             * @license
         
     | 
| 
       1353 
1353 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1354 
1354 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1363,7 +1363,7 @@ 
     | 
|
| 
       1363 
1363 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1364 
1364 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1365 
1365 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1366 
     | 
    
         
            -
             */const  
     | 
| 
      
 1366 
     | 
    
         
            +
             */const Xs=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,Zs=/^https?/;async function eo(n){if(n.config.emulator)return;const{authorizedDomains:e}=await Qs(n);for(const t of e)try{if(to(t))return}catch{}D(n,"unauthorized-domain")}function to(n){const e=rt(),{protocol:t,hostname:r}=new URL(e);if(n.startsWith("chrome-extension://")){const o=new URL(n);return o.hostname===""&&r===""?t==="chrome-extension:"&&n.replace("chrome-extension://","")===e.replace("chrome-extension://",""):t==="chrome-extension:"&&o.hostname===r}if(!Zs.test(t))return!1;if(Xs.test(n))return r===n;const i=n.replace(/\./g,"\\.");return new RegExp("^(.+\\."+i+"|"+i+")$","i").test(r)}/**
         
     | 
| 
       1367 
1367 
     | 
    
         
             
             * @license
         
     | 
| 
       1368 
1368 
     | 
    
         
             
             * Copyright 2020 Google LLC.
         
     | 
| 
       1369 
1369 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1378,7 +1378,7 @@ 
     | 
|
| 
       1378 
1378 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1379 
1379 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1380 
1380 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1381 
     | 
    
         
            -
             */const  
     | 
| 
      
 1381 
     | 
    
         
            +
             */const no=new be(3e4,6e4);function An(){const n=$().___jsl;if(n!=null&&n.H){for(const e of Object.keys(n.H))if(n.H[e].r=n.H[e].r||[],n.H[e].L=n.H[e].L||[],n.H[e].r=[...n.H[e].L],n.CP)for(let t=0;t<n.CP.length;t++)n.CP[t]=null}}function ro(n){return new Promise((e,t)=>{var r,i,s;function o(){An(),gapi.load("gapi.iframes",{callback:()=>{e(gapi.iframes.getContext())},ontimeout:()=>{An(),t(L(n,"network-request-failed"))},timeout:no.get()})}if(!((i=(r=$().gapi)===null||r===void 0?void 0:r.iframes)===null||i===void 0)&&i.Iframe)e(gapi.iframes.getContext());else if(!((s=$().gapi)===null||s===void 0)&&s.load)o();else{const c=xi("iframefcb");return $()[c]=()=>{gapi.load?o():t(L(n,"network-request-failed"))},nn(`https://apis.google.com/js/api.js?onload=${c}`).catch(a=>t(a))}}).catch(e=>{throw He=null,e})}let He=null;function io(n){return He=He||ro(n),He}/**
         
     | 
| 
       1382 
1382 
     | 
    
         
             
             * @license
         
     | 
| 
       1383 
1383 
     | 
    
         
             
             * Copyright 2020 Google LLC.
         
     | 
| 
       1384 
1384 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1393,7 +1393,7 @@ 
     | 
|
| 
       1393 
1393 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1394 
1394 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1395 
1395 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1396 
     | 
    
         
            -
             */const  
     | 
| 
      
 1396 
     | 
    
         
            +
             */const so=new be(5e3,15e3),oo="__/auth/iframe",ao="emulator/auth/iframe",co={style:{position:"absolute",top:"-100px",width:"1px",height:"1px"},"aria-hidden":"true",tabindex:"-1"},lo=new Map([["identitytoolkit.googleapis.com","p"],["staging-identitytoolkit.sandbox.googleapis.com","s"],["test-identitytoolkit.sandbox.googleapis.com","t"]]);function uo(n){const e=n.config;y(e.authDomain,n,"auth-domain-config-required");const t=e.emulator?it(e,ao):`https://${n.config.authDomain}/${oo}`,r={apiKey:e.apiKey,appName:n.name,v:ye},i=lo.get(n.config.apiHost);i&&(r.eid=i);const s=n._getFrameworks();return s.length&&(r.fw=s.join(",")),`${t}?${fe(r).slice(1)}`}async function ho(n){const e=await io(n),t=$().gapi;return y(t,n,"internal-error"),e.open({where:document.body,url:uo(n),messageHandlersFilter:t.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:co,dontclear:!0},r=>new Promise(async(i,s)=>{await r.restyle({setHideOnLeave:!1});const o=L(n,"network-request-failed"),c=$().setTimeout(()=>{s(o)},so.get());function a(){$().clearTimeout(c),i(r)}r.ping(a).then(a,()=>{s(o)})}))}/**
         
     | 
| 
       1397 
1397 
     | 
    
         
             
             * @license
         
     | 
| 
       1398 
1398 
     | 
    
         
             
             * Copyright 2020 Google LLC.
         
     | 
| 
       1399 
1399 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1408,7 +1408,7 @@ 
     | 
|
| 
       1408 
1408 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1409 
1409 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1410 
1410 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1411 
     | 
    
         
            -
             */const  
     | 
| 
      
 1411 
     | 
    
         
            +
             */const fo={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"},po=500,go=600,mo="_blank",yo="http://localhost";class Sn{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch{}}}function _o(n,e,t,r=po,i=go){const s=Math.max((window.screen.availHeight-i)/2,0).toString(),o=Math.max((window.screen.availWidth-r)/2,0).toString();let c="";const a=Object.assign(Object.assign({},fo),{width:r.toString(),height:i.toString(),top:s,left:o}),u=R().toLowerCase();t&&(c=Gt(u)?mo:t),Jt(u)&&(e=e||yo,a.scrollbars="yes");const _=Object.entries(a).reduce((A,[P,N])=>`${A}${P}=${N},`,"");if($i(u)&&c!=="_self")return bo(e||"",c),new Sn(null);const v=window.open(e||"",c,_);y(v,n,"popup-blocked");try{v.focus()}catch{}return new Sn(v)}function bo(n,e){const t=document.createElement("a");t.href=n,t.target=e;const r=document.createEvent("MouseEvent");r.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),t.dispatchEvent(r)}/**
         
     | 
| 
       1412 
1412 
     | 
    
         
             
             * @license
         
     | 
| 
       1413 
1413 
     | 
    
         
             
             * Copyright 2021 Google LLC
         
     | 
| 
       1414 
1414 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1423,7 +1423,7 @@ 
     | 
|
| 
       1423 
1423 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1424 
1424 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1425 
1425 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1426 
     | 
    
         
            -
             */const  
     | 
| 
      
 1426 
     | 
    
         
            +
             */const vo="__/auth/handler",Io="emulator/auth/handler",wo=encodeURIComponent("fac");async function Cn(n,e,t,r,i,s){y(n.config.authDomain,n,"auth-domain-config-required"),y(n.config.apiKey,n,"invalid-api-key");const o={apiKey:n.config.apiKey,appName:n.name,authType:t,redirectUrl:r,v:ye,eventId:i};if(e instanceof cn){e.setDefaultLanguage(n.languageCode),o.providerId=e.providerId||"",tr(e.getCustomParameters())||(o.customParameters=JSON.stringify(e.getCustomParameters()));for(const[_,v]of Object.entries(s||{}))o[_]=v}if(e instanceof Te){const _=e.getScopes().filter(v=>v!=="");_.length>0&&(o.scopes=_.join(","))}n.tenantId&&(o.tid=n.tenantId);const c=o;for(const _ of Object.keys(c))c[_]===void 0&&delete c[_];const a=await n._getAppCheckToken(),u=a?`#${wo}=${encodeURIComponent(a)}`:"";return`${Eo(n)}?${fe(c).slice(1)}${u}`}function Eo({config:n}){return n.emulator?it(n,Io):`https://${n.authDomain}/${vo}`}/**
         
     | 
| 
       1427 
1427 
     | 
    
         
             
             * @license
         
     | 
| 
       1428 
1428 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1429 
1429 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1438,7 +1438,7 @@ 
     | 
|
| 
       1438 
1438 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1439 
1439 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1440 
1440 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1441 
     | 
    
         
            -
             */const  
     | 
| 
      
 1441 
     | 
    
         
            +
             */const ft="webStorageSupport";class To{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=gn,this._completeRedirectFn=Js,this._overrideRedirectResult=xs}async _openPopup(e,t,r,i){var s;F((s=this.eventManagers[e._key()])===null||s===void 0?void 0:s.manager,"_initialize() not called before _openPopup()");const o=await Cn(e,t,r,rt(),i);return _o(e,o,dt())}async _openRedirect(e,t,r,i){await this._originValidation(e);const s=await Cn(e,t,r,rt(),i);return Ss(s),new Promise(()=>{})}_initialize(e){const t=e._key();if(this.eventManagers[t]){const{manager:i,promise:s}=this.eventManagers[t];return i?Promise.resolve(i):(F(s,"If manager is not set, promise should be"),s)}const r=this.initAndGetManager(e);return this.eventManagers[t]={promise:r},r.catch(()=>{delete this.eventManagers[t]}),r}async initAndGetManager(e){const t=await ho(e),r=new Ks(e);return t.register("authEvent",i=>(y(i==null?void 0:i.authEvent,e,"invalid-auth-event"),{status:r.onEvent(i.authEvent)?"ACK":"ERROR"}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:r},this.iframes[e._key()]=t,r}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(ft,{type:ft},i=>{var s;const o=(s=i==null?void 0:i[0])===null||s===void 0?void 0:s[ft];o!==void 0&&t(!!o),D(e,"internal-error")},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){const t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=eo(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return Zt()||at()||Le()}}const Ao=To;var Rn="@firebase/auth",Pn="1.3.2";/**
         
     | 
| 
       1442 
1442 
     | 
    
         
             
             * @license
         
     | 
| 
       1443 
1443 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1444 
1444 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1453,7 +1453,7 @@ 
     | 
|
| 
       1453 
1453 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1454 
1454 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1455 
1455 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1456 
     | 
    
         
            -
             */class  
     | 
| 
      
 1456 
     | 
    
         
            +
             */class So{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){var e;return this.assertAuthConfigured(),((e=this.auth.currentUser)===null||e===void 0?void 0:e.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;const t=this.auth.onIdTokenChanged(r=>{e((r==null?void 0:r.stsTokenManager.accessToken)||null)});this.internalListeners.set(e,t),this.updateProactiveRefresh()}removeAuthTokenListener(e){this.assertAuthConfigured();const t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){y(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}/**
         
     | 
| 
       1457 
1457 
     | 
    
         
             
             * @license
         
     | 
| 
       1458 
1458 
     | 
    
         
             
             * Copyright 2020 Google LLC
         
     | 
| 
       1459 
1459 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1468,7 +1468,7 @@ 
     | 
|
| 
       1468 
1468 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1469 
1469 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1470 
1470 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1471 
     | 
    
         
            -
             */function  
     | 
| 
      
 1471 
     | 
    
         
            +
             */function Co(n){switch(n){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";default:return}}function Ro(n){me(new se("auth",(e,{options:t})=>{const r=e.getProvider("app").getImmediate(),i=e.getProvider("heartbeat"),s=e.getProvider("app-check-internal"),{apiKey:o,authDomain:c}=r.options;y(o&&!o.includes(":"),"invalid-api-key",{appName:r.name});const a={apiKey:o,authDomain:c,clientPlatform:n,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:en(n)},u=new Vi(r,i,s,a);return Yi(u,t),u},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,r)=>{e.getProvider("auth-internal").initialize()})),me(new se("auth-internal",e=>{const t=te(e.getProvider("auth").getImmediate());return(r=>new So(r))(t)},"PRIVATE").setInstantiationMode("EXPLICIT")),oe(Rn,Pn,Co(n)),oe(Rn,Pn,"esm2017")}/**
         
     | 
| 
       1472 
1472 
     | 
    
         
             
             * @license
         
     | 
| 
       1473 
1473 
     | 
    
         
             
             * Copyright 2021 Google LLC
         
     | 
| 
       1474 
1474 
     | 
    
         
             
             *
         
     | 
| 
         @@ -1483,4 +1483,4 @@ 
     | 
|
| 
       1483 
1483 
     | 
    
         
             
             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
       1484 
1484 
     | 
    
         
             
             * See the License for the specific language governing permissions and
         
     | 
| 
       1485 
1485 
     | 
    
         
             
             * limitations under the License.
         
     | 
| 
       1486 
     | 
    
         
            -
             */const Co=5*60,Ro=Et("authIdTokenMaxAge")||Co;let Nn=null;const Po=n=>async e=>{const t=e&&await e.getIdTokenResult(),r=t&&(new Date().getTime()-Date.parse(t.issuedAtTime))/1e3;if(r&&r>Ro)return;const i=t==null?void 0:t.token;Nn!==i&&(Nn=i,await fetch(n,{method:i?"POST":"DELETE",headers:i?{Authorization:`Bearer ${i}`}:{}}))};function Oo(n=ri()){const e=Nt(n,"auth");if(e.isInitialized())return e.getImmediate();const t=Yi(n,{popupRedirectResolver:Eo,persistence:[Ds,Is,yn]}),r=Et("authTokenSyncURL");if(r){const s=Po(r);gs(t,s,()=>s(t.currentUser)),ps(t,o=>s(o))}const i=zn("auth");return i&&Xi(t,`http://${i}`),t}So("Browser");var ko=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function No(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Dn={exports:{}};(function(n){(function(e){function t(l,m){var d=(l&65535)+(m&65535),w=(l>>16)+(m>>16)+(d>>16);return w<<16|d&65535}function r(l,m){return l<<m|l>>>32-m}function i(l,m,d,w,E,S){return t(r(t(t(m,l),t(w,S)),E),d)}function s(l,m,d,w,E,S,O){return i(m&d|~m&w,l,m,E,S,O)}function o(l,m,d,w,E,S,O){return i(m&w|d&~w,l,m,E,S,O)}function c(l,m,d,w,E,S,O){return i(m^d^w,l,m,E,S,O)}function a(l,m,d,w,E,S,O){return i(d^(m|~w),l,m,E,S,O)}function u(l,m){l[m>>5]|=128<<m%32,l[(m+64>>>9<<4)+14]=m;var d,w,E,S,O,h=1732584193,f=-271733879,p=-1732584194,g=271733878;for(d=0;d<l.length;d+=16)w=h,E=f,S=p,O=g,h=s(h,f,p,g,l[d],7,-680876936),g=s(g,h,f,p,l[d+1],12,-389564586),p=s(p,g,h,f,l[d+2],17,606105819),f=s(f,p,g,h,l[d+3],22,-1044525330),h=s(h,f,p,g,l[d+4],7,-176418897),g=s(g,h,f,p,l[d+5],12,1200080426),p=s(p,g,h,f,l[d+6],17,-1473231341),f=s(f,p,g,h,l[d+7],22,-45705983),h=s(h,f,p,g,l[d+8],7,1770035416),g=s(g,h,f,p,l[d+9],12,-1958414417),p=s(p,g,h,f,l[d+10],17,-42063),f=s(f,p,g,h,l[d+11],22,-1990404162),h=s(h,f,p,g,l[d+12],7,1804603682),g=s(g,h,f,p,l[d+13],12,-40341101),p=s(p,g,h,f,l[d+14],17,-1502002290),f=s(f,p,g,h,l[d+15],22,1236535329),h=o(h,f,p,g,l[d+1],5,-165796510),g=o(g,h,f,p,l[d+6],9,-1069501632),p=o(p,g,h,f,l[d+11],14,643717713),f=o(f,p,g,h,l[d],20,-373897302),h=o(h,f,p,g,l[d+5],5,-701558691),g=o(g,h,f,p,l[d+10],9,38016083),p=o(p,g,h,f,l[d+15],14,-660478335),f=o(f,p,g,h,l[d+4],20,-405537848),h=o(h,f,p,g,l[d+9],5,568446438),g=o(g,h,f,p,l[d+14],9,-1019803690),p=o(p,g,h,f,l[d+3],14,-187363961),f=o(f,p,g,h,l[d+8],20,1163531501),h=o(h,f,p,g,l[d+13],5,-1444681467),g=o(g,h,f,p,l[d+2],9,-51403784),p=o(p,g,h,f,l[d+7],14,1735328473),f=o(f,p,g,h,l[d+12],20,-1926607734),h=c(h,f,p,g,l[d+5],4,-378558),g=c(g,h,f,p,l[d+8],11,-2022574463),p=c(p,g,h,f,l[d+11],16,1839030562),f=c(f,p,g,h,l[d+14],23,-35309556),h=c(h,f,p,g,l[d+1],4,-1530992060),g=c(g,h,f,p,l[d+4],11,1272893353),p=c(p,g,h,f,l[d+7],16,-155497632),f=c(f,p,g,h,l[d+10],23,-1094730640),h=c(h,f,p,g,l[d+13],4,681279174),g=c(g,h,f,p,l[d],11,-358537222),p=c(p,g,h,f,l[d+3],16,-722521979),f=c(f,p,g,h,l[d+6],23,76029189),h=c(h,f,p,g,l[d+9],4,-640364487),g=c(g,h,f,p,l[d+12],11,-421815835),p=c(p,g,h,f,l[d+15],16,530742520),f=c(f,p,g,h,l[d+2],23,-995338651),h=a(h,f,p,g,l[d],6,-198630844),g=a(g,h,f,p,l[d+7],10,1126891415),p=a(p,g,h,f,l[d+14],15,-1416354905),f=a(f,p,g,h,l[d+5],21,-57434055),h=a(h,f,p,g,l[d+12],6,1700485571),g=a(g,h,f,p,l[d+3],10,-1894986606),p=a(p,g,h,f,l[d+10],15,-1051523),f=a(f,p,g,h,l[d+1],21,-2054922799),h=a(h,f,p,g,l[d+8],6,1873313359),g=a(g,h,f,p,l[d+15],10,-30611744),p=a(p,g,h,f,l[d+6],15,-1560198380),f=a(f,p,g,h,l[d+13],21,1309151649),h=a(h,f,p,g,l[d+4],6,-145523070),g=a(g,h,f,p,l[d+11],10,-1120210379),p=a(p,g,h,f,l[d+2],15,718787259),f=a(f,p,g,h,l[d+9],21,-343485551),h=t(h,w),f=t(f,E),p=t(p,S),g=t(g,O);return[h,f,p,g]}function _(l){var m,d="",w=l.length*32;for(m=0;m<w;m+=8)d+=String.fromCharCode(l[m>>5]>>>m%32&255);return d}function v(l){var m,d=[];for(d[(l.length>>2)-1]=void 0,m=0;m<d.length;m+=1)d[m]=0;var w=l.length*8;for(m=0;m<w;m+=8)d[m>>5]|=(l.charCodeAt(m/8)&255)<<m%32;return d}function A(l){return _(u(v(l),l.length*8))}function P(l,m){var d,w=v(l),E=[],S=[],O;for(E[15]=S[15]=void 0,w.length>16&&(w=u(w,l.length*8)),d=0;d<16;d+=1)E[d]=w[d]^909522486,S[d]=w[d]^1549556828;return O=u(E.concat(v(m)),512+m.length*8),_(u(S.concat(O),512+128))}function D(l){var m="0123456789abcdef",d="",w,E;for(E=0;E<l.length;E+=1)w=l.charCodeAt(E),d+=m.charAt(w>>>4&15)+m.charAt(w&15);return d}function b(l){return unescape(encodeURIComponent(l))}function I(l){return A(b(l))}function M(l){return D(I(l))}function C(l,m){return P(b(l),b(m))}function re(l,m){return D(C(l,m))}function Y(l,m,d){return m?d?C(m,l):re(m,l):d?I(l):M(l)}n.exports?n.exports=Y:e.md5=Y})(ko)})(Dn);var Do=Dn.exports;const Lo=No(Do),_t=(n,e)=>async(t,r={})=>{const i=e?await e.getIdToken():null,s=await fetch(`${n}${t}`,{mode:"cors",...r,headers:{...i&&{authorization:`Bearer ${i}`},...r.body&&{"content-type":"application/json"},...r.headers},...r.body&&{body:JSON.stringify(r.body)}}),o=await s.json();if(s.status>202)throw Object.assign(new Error((o==null?void 0:o.message)||`HTTP Error ${s.status}`),{status:s.status,code:o==null?void 0:o.code,body:o});return o},$o=n=>{const e=n.properties||{},t=n.inputProps||Object.keys(e),r=(i,s)=>{const o=e[i]||{};if([null,void 0].includes(s))return o.isRequired?{id:"value-missing-validation-error"}:void 0;if(o.enum)return o.enum.includes(s)?void 0:{id:"enum-validation-error",values:{enum:o.enum,value:s}};switch(o.type){case"integer":if(o.isScalar&&(typeof s!="number"||Number.isNaN(s)))return{id:"invalid-number-validation-error"};break;case"date":break;case"boolean":break;case"json":case"string":default:if(o.isRequired&&!s)return{id:"value-missing-validation-error"};break}};return{validate:i=>t.reduce((s,o)=>{const c=r(o,i[o]);return c?{...s,[o]:c}:s},{}),validateAttr:r}},Mo=(n={})=>Object.keys(n).length?`?q=${JSON.stringify(n)}`:"",Uo=n=>[...n].reduce((e,t)=>t===t.toUpperCase()?`${e}-${t.toLowerCase()}`:`${e}${t}`,""),jo=n=>`${n[0].toLowerCase()}${n.slice(1)}`,Bo=n=>{const e=Uo(n);return(t,r)=>`/${e}${t?`/${encodeURIComponent(t)}`:""}${Mo(r)}`},Ln=(n,e)=>{const t=Array.isArray(e.inputProps);return Object.keys(n).reduce((r,i)=>{if(t&&!e.inputProps.includes(i))return r;const{isRef:s,isScalar:o,isRequired:c}=e.properties[i]||{};return s&&o&&!c&&n[i]===null?r:{...r,[i]:n[i]}},{})},Fo=({primaryKey:n,properties:e,...t})=>({primaryKey:n||"id",properties:Object.keys(e||{}).reduce((r,i)=>{var v,A;const s=e[i]||{},{type:o,isScalar:c,isRequired:a,isRef:u=!1}=typeof s.type=="string"?s.type==="array"?s.enum?{type:"string",isScalar:!1,isRequired:!1}:(v=s.items)!=null&&v.$ref?{type:s.items.$ref.split("/").pop(),isScalar:!1,isRequired:!1,isRef:!0}:{type:(A=s.items)==null?void 0:A.type,isScalar:!1,isRequired:!1}:{type:s.format==="date-time"?"date":s.type,isScalar:!0,isRequired:!0}:Array.isArray(s.type)?s.type.length===2?{type:s.format==="date-time"?"date":s.type[0],isScalar:!0,isRequired:!1}:{type:"json",isScalar:!0,isRequired:s.type.includes("null")}:s.$ref?{type:s.$ref.split("/").pop(),isScalar:!0,isRequired:!0,isRef:!0}:{type:s.anyOf[0].$ref.split("/").pop(),isScalar:!0,isRequired:!1,isRef:!0},_=s.inputType||(o==="integer"?"number":o);return{...r,[i]:{...e[i],type:o,isScalar:c,isRequired:typeof s.isRequired=="boolean"?s.isRequired:a,isRef:u,inputType:_}}},{}),...t}),Ho=(n,e,t,r={},i={})=>{const s=Fo(r),{primaryKey:o,properties:c}=s,a=$o(s),u=Bo(t),_=(...b)=>_t(n,e.authUser)(...b),v=({data:b,...I})=>_(u(null,I),{method:"POST",body:Ln(b,s)}),A=({data:b,...I})=>{const{where:M,...C}=I;return _(u(M[o],C),{method:"PUT",body:Ln(b,s)})},P=b=>{if(!b)return b;const I=Object.keys(b).reduce((M,C)=>{var E;const re=c[C]||{},{type:Y,isScalar:l,isRef:m,format:d,items:w}=re;if(m){const S=jo(Y);return l?{...M,[C]:i[S].parse(b[C])}:{...M,[C]:typeof((E=i[S])==null?void 0:E.parse)=="function"?b[C].map(O=>i[S].parse(O)):b[C]}}return{...M,[C]:Y==="date"&&b[C]?new Date(b[C]):b[C]}},{});return typeof s.parse=="function"?s.parse(I):I},D=Object.keys(c||{}).reduce((b,I)=>c[I].isRef&&c[I].isScalar&&c[I].isRequired?Object.assign(b,{all:b.all.concat(I),oneToOne:b.oneToOne.concat(I),requiredOneToOne:b.requiredOneToOne.concat(I)}):c[I].isRef&&c[I].isScalar?Object.assign(b,{all:b.all.concat(I),oneToOne:b.oneToOne.concat(I),optionalOneToOne:b.optionalOneToOne.concat(I)}):c[I].isRef?Object.assign(b,{all:b.all.concat(I),oneToMany:b.oneToMany.concat(I)}):b,{all:[],oneToOne:[],requiredOneToOne:[],optionalOneToOne:[],oneToMany:[]});return{get schema(){return s},get relations(){return D},parse:P,validateAttr:a.validateAttr,validate:a.validate,findMany:b=>_(u(null,b)).then(I=>I.map(P)),findById:(b,I)=>_(u(b,I)).then(P),create:v,update:A,upsert:b=>b.where[o]?A({where:b.where,data:b.update}):v({data:b.create}),delete:b=>_(u(b),{method:"DELETE"}),stats:()=>_(u("_stats"))}},Vo=(n,e,t)=>Object.keys(t.properties).reduce((r,i)=>{const s=t.properties[i].$ref.split("/").pop();return Object.assign(r,{[i]:Ho(n,e,t.definitions[s].plural||`${i}s`,t.definitions[s],r)})},{}),Wo=(n,e)=>Object.keys(n.definitions).reduce((t,r)=>({...t,[r]:e[r]?{...n.definitions[r],...e[r],properties:Object.keys(n.definitions[r].properties).reduce((i,s)=>({...i,[s]:{...n.definitions[r].properties[s],...(e[r].properties||{})[s]}}),e[r].properties||{})}:n.definitions[r]}),{}),$n={$schema:"http://json-schema.org/draft-07/schema#",definitions:{Country:{type:"object",properties:{code:{type:"string"},name:{type:"string"},incomeFilter:{type:["integer","null"]},canApply:{type:"boolean",default:!1},capital:{type:"array",items:{type:"string"}},timeZone:{type:["string","null"]},flag:{type:["string","null"]},currency:{anyOf:[{$ref:"#/definitions/Currency"},{type:"null"}]},contracts:{type:"array",items:{$ref:"#/definitions/Contract"}},users:{type:"array",items:{$ref:"#/definitions/User"}},applications:{type:"array",items:{$ref:"#/definitions/Application"}},applicationNationalities:{type:"array",items:{$ref:"#/definitions/Application"}},educationLevels:{type:"array",items:{$ref:"#/definitions/EducationLevel"}},universities:{type:"array",items:{$ref:"#/definitions/University"}},companies:{type:"array",items:{$ref:"#/definitions/Company"}},jobs:{type:"array",items:{$ref:"#/definitions/Job"}}}},Currency:{type:"object",properties:{code:{type:"string"},name:{type:"string"},symbol:{type:"string"},countries:{type:"array",items:{$ref:"#/definitions/Country"}}}},User:{type:"object",properties:{uid:{type:"string"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},email:{type:"string"},firstName:{type:"string"},lastName:{type:["string","null"]},role:{type:["string","null"],enum:["staff","manager","finance","admin"]},disabled:{type:"boolean",default:!1},lang:{type:["string","null"],enum:["en","es","pt"]},referralSource:{type:["string","null"],enum:["word_of_mouth","codigo_m","social","google","print","tv","radio","other"]},identifiesAsFemale:{type:["boolean","null"]},dateOfBirth:{type:["string","null"],format:"date-time"},identificationNumber:{type:["string","null"]},mobileNumber:{type:["string","null"]},github:{type:["string","null"]},linkedin:{type:["string","null"]},bio:{type:["string","null"]},country:{anyOf:[{$ref:"#/definitions/Country"},{type:"null"}]},signupCohort:{anyOf:[{$ref:"#/definitions/Cohort"},{type:"null"}]},applications:{type:"array",items:{$ref:"#/definitions/Application"}},contractsAsCheckPilot:{type:"array",items:{$ref:"#/definitions/Contract"}},contracts:{type:"array",items:{$ref:"#/definitions/Contract"}},dropouts:{type:"array",items:{$ref:"#/definitions/Dropout"}},gigs:{type:"array",items:{$ref:"#/definitions/Gig"}},messages:{type:"array",items:{$ref:"#/definitions/Message"}},students:{type:"array",items:{$ref:"#/definitions/Student"}},activityLog:{type:"array",items:{$ref:"#/definitions/ActivityLogEntry"}},authoredActivityLog:{type:"array",items:{$ref:"#/definitions/ActivityLogEntry"}},jobReviews:{type:"array",items:{$ref:"#/definitions/JobReview"}},jobApplications:{type:"array",items:{$ref:"#/definitions/JobApplication"}},studentProjecTeamMembers:{type:"array",items:{$ref:"#/definitions/StudentProjecTeamMember"}}}},Track:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},name:{type:"string"},programs:{type:"array",items:{$ref:"#/definitions/Program"}},crawlerQueries:{type:"array",items:{$ref:"#/definitions/CrawlerQuery"}},jobProfileTypes:{type:"array",items:{$ref:"#/definitions/JobProfileType"}}}},Program:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},name:{type:"string"},description:{type:["string","null"]},langs:{type:"array",enum:["en","es","pt"]},hidden:{type:"boolean",default:!1},track:{$ref:"#/definitions/Track"},cohorts:{type:"array",items:{$ref:"#/definitions/Cohort"}},stages:{type:"array",items:{$ref:"#/definitions/Stage"}}}},Stage:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},name:{type:"string"},order:{type:"integer"},program:{$ref:"#/definitions/Program"},cohorts:{type:"array",items:{$ref:"#/definitions/Cohort"}}}},Cohort:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},lang:{type:["string","null"],enum:["en","es","pt"]},start:{type:"string",format:"date-time"},end:{type:"string",format:"date-time"},timeZone:{type:["string","null"]},startTime:{type:["string","null"]},endTime:{type:["string","null"]},legacySlug:{type:"string"},vacancies:{type:["integer","null"]},admissionStart:{type:["string","null"],format:"date-time"},admissionEnd:{type:["string","null"],format:"date-time"},admissionCountries:{type:"array",items:{type:"string"}},placementStart:{type:["string","null"],format:"date-time"},placementDuration:{type:["integer","null"]},program:{$ref:"#/definitions/Program"},stage:{$ref:"#/definitions/Stage"},applications:{type:"array",items:{$ref:"#/definitions/Application"}},links:{type:"array",items:{$ref:"#/definitions/CohortLink"}},dropouts:{type:"array",items:{$ref:"#/definitions/Dropout"}},gigs:{type:"array",items:{$ref:"#/definitions/Gig"}},students:{type:"array",items:{$ref:"#/definitions/Student"}},signupUsers:{type:"array",items:{$ref:"#/definitions/User"}},activityLog:{type:"array",items:{$ref:"#/definitions/ActivityLogEntry"}},jobApplications:{type:"array",items:{$ref:"#/definitions/JobApplication"}},studentProjects:{type:"array",items:{$ref:"#/definitions/StudentProject"}}}},Student:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},legacyStudentCode:{type:["string","null"]},cohort:{$ref:"#/definitions/Cohort"},user:{$ref:"#/definitions/User"}}},CohortLink:{type:"object",properties:{id:{type:"integer"},url:{type:"string"},visibility:{type:"string",enum:["public","members","staff","team","admin"]},cohort:{$ref:"#/definitions/Cohort"}}},Dropout:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},date:{type:"string",format:"date-time"},reasonDetail:{type:["string","null"]},notes:{type:["string","null"]},staffSad:{type:"boolean"},covidRelated:{type:["boolean","null"]},reason:{type:"string",enum:["dropout","noShow","invitedToLeave","changeCohort"]},completedProjects:{type:"integer"},lastProject:{type:["string","null"]},cohort:{$ref:"#/definitions/Cohort"},user:{$ref:"#/definitions/User"}}},IscedLevel:{type:"object",properties:{id:{type:"integer"},label:{type:"string"},educationLevels:{type:"array",items:{$ref:"#/definitions/EducationLevel"}}}},EducationLevel:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},lang:{type:"string",enum:["en","es","pt"]},label:{type:"string"},country:{$ref:"#/definitions/Country"},iscedLevel:{$ref:"#/definitions/IscedLevel"},applications:{type:"array",items:{$ref:"#/definitions/Application"}}}},University:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},lang:{type:"string",enum:["en","es","pt"]},name:{type:"string"},filter:{type:"boolean"},country:{$ref:"#/definitions/Country"},applications:{type:"array",items:{$ref:"#/definitions/Application"}}}},Application:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},dateOfBirth:{type:"string",format:"date-time"},isAllowedToWork:{type:"boolean"},hasValidIdDocument:{type:"boolean"},locality:{type:["number","string","boolean","object","array","null"]},householdSize:{type:"integer"},children:{type:"integer"},householdIncome:{type:"integer"},racialIdentity:{type:["string","null"]},schoolType:{type:["string","null"],enum:["private","public","other","subsidized","mixed"]},educationSubject:{type:["string","null"],enum:["design_and_media","software_engineering","engineering","management_and_business","languages","science","health","social_sciences","arts","comms_and_advertising","education","cooking","tourism","economics_and_accounting","law","other"]},isStudying:{type:"boolean"},englishLevel:{type:["string","null"],enum:["NO","A1","A2","B1","B2","C1","C2"]},workStatus:{type:"string",enum:["never","not_now","yes"]},isLookingForWork:{type:["boolean","null"]},monthsLookingForWork:{type:["integer","null"]},monthsUnemployed:{type:["integer","null"]},workRole:{type:["string","null"],enum:["waitress","promoter","manager","cashier","intern","operative","call_center","receptionist","sales_agent","assistant","professional","technical","consultant","other"]},freelance:{type:["boolean","null"]},workFormal:{type:["boolean","null"]},workIncome:{type:["integer","null"]},failedFilters:{type:"array",items:{type:"string"}},bypassFilters:{type:"boolean",default:!1},isReady:{type:"boolean",default:!1},isReturningApplicant:{type:["boolean","null"]},legacyAdmissionCohortSlug:{type:["string","null"]},cohort:{$ref:"#/definitions/Cohort"},user:{$ref:"#/definitions/User"},country:{$ref:"#/definitions/Country"},nationality:{$ref:"#/definitions/Country"},educationLevel:{$ref:"#/definitions/EducationLevel"},university:{anyOf:[{$ref:"#/definitions/University"},{type:"null"}]},challengeAssignments:{type:"array",items:{$ref:"#/definitions/ApplicationChallengeAssignment"}}}},ApplicationChallenge:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},slug:{type:"string"},version:{type:"string"},trackId:{type:"integer"},langs:{type:"array",enum:["en","es","pt"]},json:{type:"string"},archived:{type:"boolean",default:!1},assignments:{type:"array",items:{$ref:"#/definitions/ApplicationChallengeAssignment"}}}},ApplicationChallengeAssignment:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},application:{$ref:"#/definitions/Application"},challenge:{$ref:"#/definitions/ApplicationChallenge"}}},ActivityLogEntry:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},type:{type:"string",enum:["challenge","application_filter","application_filter_bypass","application_cohort_change","project_assessment","project_assessment_request"]},data:{type:["number","string","boolean","object","array","null"]},path:{type:"string"},author:{$ref:"#/definitions/User"},user:{$ref:"#/definitions/User"},cohort:{$ref:"#/definitions/Cohort"}}},StudentProject:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},projectSlug:{type:"string"},projectVersion:{type:"string"},cohort:{$ref:"#/definitions/Cohort"},links:{type:"array",items:{$ref:"#/definitions/StudentProjectLink"}},team:{type:"array",items:{$ref:"#/definitions/StudentProjecTeamMember"}}}},StudentProjecTeamMember:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},studentProject:{$ref:"#/definitions/StudentProject"},user:{$ref:"#/definitions/User"}}},StudentProjectLink:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},url:{type:"string"},studentProject:{$ref:"#/definitions/StudentProject"}}},Contract:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},isEmployment:{type:"boolean"},feeAmount:{type:"integer"},hoursPerWeek:{type:"integer"},start:{type:"string",format:"date-time"},end:{type:["string","null"],format:"date-time"},isTrial:{type:"boolean",default:!1},source:{type:["string","null"],enum:["graduate","referral","jazzhr","web","linkedin","other"]},checkPilot:{anyOf:[{$ref:"#/definitions/User"},{type:"null"}]},country:{$ref:"#/definitions/Country"},user:{$ref:"#/definitions/User"},gigs:{type:"array",items:{$ref:"#/definitions/Gig"}}}},Gig:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},role:{type:"string",enum:["bm","pdc","js","ux"]},hoursPerWeek:{type:"integer"},start:{type:"string",format:"date-time"},end:{type:["string","null"],format:"date-time"},cohort:{$ref:"#/definitions/Cohort"},contract:{$ref:"#/definitions/Contract"},user:{$ref:"#/definitions/User"}}},Message:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},key:{type:"string"},from:{type:"string"},to:{type:"string"},transport:{type:"string",enum:["mandrill","slack"]},status:{type:"string",default:"PENDING",enum:["PENDING","QUEUED","ERROR","SENT"]},data:{type:["number","string","boolean","object","array","null"]},taskInfo:{type:["number","string","boolean","object","array","null"]},user:{anyOf:[{$ref:"#/definitions/User"},{type:"null"}]},logs:{type:"array",items:{$ref:"#/definitions/MessageLog"}}}},MessageLog:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},statusText:{type:["string","null"]},message:{$ref:"#/definitions/Message"}}},Industry:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},companies:{type:"array",items:{$ref:"#/definitions/Company"}}}},Company:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},source:{type:"string"},sourceId:{type:"string"},name:{type:"string"},size:{type:["string","null"],enum:["A_2_10","B_11_50","C_51_200","D_201_500","E_501_1000","F_1001_5000","G_5001_10000","H_10001_plus"]},data:{type:["number","string","boolean","object","array","null"]},web:{type:["string","null"]},twitter:{type:["string","null"]},github:{type:["string","null"]},facebook:{type:["string","null"]},country:{anyOf:[{$ref:"#/definitions/Country"},{type:"null"}]},industry:{anyOf:[{$ref:"#/definitions/Industry"},{type:"null"}]},jobs:{type:"array",items:{$ref:"#/definitions/Job"}},categories:{type:"array",enum:["Tech_Consultancy","Digital_Transformation","Agency","Startups","High_tech","Traditional_Consulting"]}}},Job:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},source:{type:"string"},sourceId:{type:"string"},title:{type:"string"},publishedAt:{type:"string",format:"date-time"},modality:{type:"string"},publicUrl:{type:["string","null"]},location:{type:["string","null"]},data:{type:["number","string","boolean","object","array","null"]},description:{type:["string","null"]},descriptionHTML:{type:["string","null"]},functions:{type:["string","null"]},functionsHTML:{type:["string","null"]},seniority:{type:["string","null"]},remote:{type:["boolean","null"]},remoteOption:{type:["string","null"],enum:["remote_for_now","locally_remote","fully_remote","no_remote","mixed"]},lang:{type:["string","null"],enum:["en","es","pt"]},maxSalary:{type:["integer","null"]},minSalary:{type:["integer","null"]},tags:{type:"array",items:{type:"string"}},company:{$ref:"#/definitions/Company"},country:{anyOf:[{$ref:"#/definitions/Country"},{type:"null"}]},reviews:{type:"array",items:{$ref:"#/definitions/JobReview"}},applications:{type:"array",items:{$ref:"#/definitions/JobApplication"}},crawlerQueries:{type:"array",items:{$ref:"#/definitions/JobCrawlerQuery"}},crawlerLocations:{type:"array",items:{$ref:"#/definitions/JobCrawlerLocation"}}}},JobProfileType:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},learningObjectives:{type:["number","string","boolean","object","array","null"]},track:{anyOf:[{$ref:"#/definitions/Track"},{type:"null"}]},reviews:{type:"array",items:{$ref:"#/definitions/JobReviewProfileType"}}}},JobReview:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},isValid:{type:"boolean"},invalidReason:{type:["string","null"],enum:["unrelated","experience","qualifications","other"]},comment:{type:["string","null"]},author:{$ref:"#/definitions/User"},job:{$ref:"#/definitions/Job"},profileTypes:{type:"array",items:{$ref:"#/definitions/JobReviewProfileType"}}}},JobReviewProfileType:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},review:{$ref:"#/definitions/JobReview"},profileType:{$ref:"#/definitions/JobProfileType"}}},JobApplication:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},status:{type:"string",default:"pending",enum:["pending","applied","interview","challenge","followup","hired","not_hired"]},hireDate:{type:["string","null"],format:"date-time"},jobStartDate:{type:["string","null"],format:"date-time"},netSalary:{type:["integer","null"]},grossSalary:{type:["integer","null"]},currency:{type:["string","null"]},job:{$ref:"#/definitions/Job"},user:{$ref:"#/definitions/User"},cohort:{anyOf:[{$ref:"#/definitions/Cohort"},{type:"null"}]}}},CrawlerQuery:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},query:{type:"string"},enabled:{type:"boolean",default:!0},track:{$ref:"#/definitions/Track"},jobs:{type:"array",items:{$ref:"#/definitions/JobCrawlerQuery"}}}},JobCrawlerQuery:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},job:{$ref:"#/definitions/Job"},query:{$ref:"#/definitions/CrawlerQuery"}}},CrawlerLocation:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},enabled:{type:"boolean",default:!0},jobs:{type:"array",items:{$ref:"#/definitions/JobCrawlerLocation"}}}},JobCrawlerLocation:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},job:{$ref:"#/definitions/Job"},location:{$ref:"#/definitions/CrawlerLocation"}}}},type:"object",properties:{country:{$ref:"#/definitions/Country"},currency:{$ref:"#/definitions/Currency"},user:{$ref:"#/definitions/User"},track:{$ref:"#/definitions/Track"},program:{$ref:"#/definitions/Program"},stage:{$ref:"#/definitions/Stage"},cohort:{$ref:"#/definitions/Cohort"},student:{$ref:"#/definitions/Student"},cohortLink:{$ref:"#/definitions/CohortLink"},dropout:{$ref:"#/definitions/Dropout"},iscedLevel:{$ref:"#/definitions/IscedLevel"},educationLevel:{$ref:"#/definitions/EducationLevel"},university:{$ref:"#/definitions/University"},application:{$ref:"#/definitions/Application"},applicationChallenge:{$ref:"#/definitions/ApplicationChallenge"},applicationChallengeAssignment:{$ref:"#/definitions/ApplicationChallengeAssignment"},activityLogEntry:{$ref:"#/definitions/ActivityLogEntry"},studentProject:{$ref:"#/definitions/StudentProject"},studentProjecTeamMember:{$ref:"#/definitions/StudentProjecTeamMember"},studentProjectLink:{$ref:"#/definitions/StudentProjectLink"},contract:{$ref:"#/definitions/Contract"},gig:{$ref:"#/definitions/Gig"},message:{$ref:"#/definitions/Message"},messageLog:{$ref:"#/definitions/MessageLog"},industry:{$ref:"#/definitions/Industry"},company:{$ref:"#/definitions/Company"},job:{$ref:"#/definitions/Job"},jobProfileType:{$ref:"#/definitions/JobProfileType"},jobReview:{$ref:"#/definitions/JobReview"},jobReviewProfileType:{$ref:"#/definitions/JobReviewProfileType"},jobApplication:{$ref:"#/definitions/JobApplication"},crawlerQuery:{$ref:"#/definitions/CrawlerQuery"},jobCrawlerQuery:{$ref:"#/definitions/JobCrawlerQuery"},crawlerLocation:{$ref:"#/definitions/CrawlerLocation"},jobCrawlerLocation:{$ref:"#/definitions/JobCrawlerLocation"}}},Mn=24*(60*60*1e3),xo={Country:{primaryKey:"code",plural:"countries",searchProps:["code","name","timeZone"],getOptionLabel:({code:n,name:e})=>`${n} / ${e}`},ActivityLogEntry:{plural:"activityLog"},User:{primaryKey:"uid",inputProps:["firstName","lastName","email","password","lang","identifiesAsFemale","dateOfBirth","country","identificationNumber","mobileNumber","github","linkedin","bio","role","signupCohort","disabled","referralSource"],searchProps:["firstName","lastName","email"],getOptionLabel:({firstName:n,lastName:e,email:t})=>`${n} ${e} (${t})`,properties:{email:{inputType:"email"},lastName:{isRequired:!0},mobileNumber:{inputType:"phone"},bio:{inputType:"textarea"}},parse:n=>{const e=n.github?`https://github.com/${n.github}.png?size=`:`https://www.gravatar.com/avatar/${Lo(n.email)}?s=`;return{...n,fullName:`${n.firstName||""}${n.lastName?` ${n.lastName}`:""}`,avatar:t=>`${e}${t}`,isStaff:["staff","manager","finance","admin"].includes(n.role),isManager:["manager","finance","admin"].includes(n.role),isFinance:["finance","admin"].includes(n.role),isAdmin:n.role==="admin"}}},Track:{searchProps:["name"]},Program:{searchProps:["name"]},Stage:{searchProps:["name"]},Cohort:{inputProps:["program","stage","lang","name","start","end","timeZone","startTime","endTime","vacancies","admissionStart","admissionEnd","placementStart","admissionCountries"],searchProps:["name"],getOptionLabel:({id:n,name:e,stage:t})=>`${e}${t?` - ${t.name}`:""} (id: ${n})`,properties:{},parse:n=>{var s,o;const e=Date.now();let t;if(n.placementStart){const c=n.placementDuration||270;new Date(+n.placementStart+c*24*60*60*1e3)<e?t="placement_ended":n.placementStart<e&&(t="placement_started")}!t&&n.end<e&&(t="ended"),!t&&n.start<e&&(t="started");const r=n.admissionEnd?+n.admissionEnd+Mn:!1;!t&&r&&r<e&&(t="admission_ended"),!t&&n.admissionStart&&n.admissionStart<e&&(t="admission_started"),!t&&n.admissionStart&&n.admissionEnd&&(t="planned"),t||(t="draft");const i=n.start>e&&n.vacancies?n.vacancies:((s=n._count)==null?void 0:s.students)||((o=n.students)==null?void 0:o.length)||0;return{...n,status:t,size:i}}},Student:{inputProps:["cohort","user"],searchProps:[]},Dropout:{inputProps:["cohort","user","date","reason","reasonDetail","lastProject","completedProjects","notes","staffSad","covidRelated"],searchProps:["user.uid","user.firstName","user.lastName","user.email","cohort.name"]},Contract:{inputProps:["user","country","isEmployment","feeAmount","hoursPerWeek","start","end","isTrial","checkPilot","source"],searchProps:["user.firstName","user.lastName","user.email"],getOptionLabel:({id:n,user:e})=>`${e==null?void 0:e.firstName} (id: ${n})`},Gig:{inputProps:["cohort","user","contract","role","hoursPerWeek","start","end"]},Application:{inputProps:["user","cohort","dateOfBirth","country","locality","nationality","isAllowedToWork","hasValidIdDocument","householdSize","children","householdIncome","racialIdentity","educationLevel","schoolType","educationSubject","university","isStudying","englishLevel","workStatus","isLookingForWork","monthsLookingForWork","monthsUnemployed","workRole","freelance","workFormal","workIncome","isReady","bypassFilters"],properties:{locality:{isRequired:!0},englishLevel:{isRequired:!0},isReady:{isRequired:!1},bypassFilters:{isRequired:!1}},parse:n=>{var i,s,o;const e=typeof n.hasFailedFilters=="boolean"?n.hasFailedFilters:typeof((i=n.failedFilters)==null?void 0:i.length)=="number"?n.failedFilters.length>0:void 0;if(!((s=n.cohort)!=null&&s.admissionEnd)||typeof e>"u")return n;const t=Date.now();let r;return n.isReady?r="ready":e&&!n.bypassFilters?r="rejected":n.createdAt<t-90*Mn?r="expired":((o=n.cohort)==null?void 0:o.status)!=="admission_started"?r="admission_ended":r="active",{...n,status:r}}},IscedLevel:{parse:n=>{const e=Math.floor(n.id/10);return{...n,level:e,completed:e*10<n.id}}},EducationLevel:{searchProps:["label"]},University:{plural:"universities",searchProps:["name"]},Company:{plural:"companies"},CrawlerQuery:{plural:"crawlerQueries"},JobCrawlerQuery:{plural:"jobCrawlerQueries"}},qo=(n,e)=>({...Vo(n,e,{...$n,definitions:Wo($n,xo)}),gcpLog:{getEntries:async t=>await _t(n,e.authUser)(`/gcp-logs?q=${JSON.stringify(t)}`)}}),zo=(n,e)=>{const t=_t(n,e.authUser);return{project:{findMany:(r={})=>t(`/projects?q=${JSON.stringify(r)}`),findBySlug:(r,i={})=>t(`/projects/${r}?q=${JSON.stringify(i)}`)},topic:{findMany:(r={})=>t(`/topics?q=${JSON.stringify(r)}`),findBySlug:(r,i={})=>t(`/topics/${r}?q=${JSON.stringify(i)}`)},learningObjective:{findMany:(r={})=>t(`/learning-objectives?q=${JSON.stringify(r)}`)}}},We=n=>n>9?`${n}`:`0${n}`,Un=n=>`${We(n.getUTCDate())}/${We(n.getUTCMonth()+1)}/${n.getUTCFullYear()}`,jn=n=>`${We(n.getUTCHours())}:${We(n.getUTCMinutes())}:${n.getUTCSeconds()} UTC`,Jo=n=>`${Un(n)} ${jn(n)}`,Go={es:"es-ES",pt:"pt-BR"},Ko=(n,e="es",t=!1)=>new Intl.DateTimeFormat(Go[e],{...t&&{year:"numeric"},month:"long",day:"numeric",timeZone:"UTC"}).format(new Date(n)),Yo=(n,e)=>{let t=e.getFullYear()-n.getFullYear();const r=e.getMonth()-n.getMonth();return(r<0||r===0&&e.getDate()<n.getDate())&&t--,t},Qo=(n,e,t)=>new Intl.NumberFormat(`${n}-${e}`,{currency:t}),Xo=(n,e,t,r)=>Qo(e,t,r).format(n),Zo=n=>parseInt(n.replace(/[,\.]/g,""),10),ea=n=>{try{return JSON.parse(window.localStorage.getItem(n))}catch{return null}},ta=({firebaseApiKey:n="AIzaSyAXbaEbpq8NOfn0r8mIrcoHvoGRkJThwdc",firebaseProject:e="laboratoria-la",coreApiUrl:t="https://us-central1-outpost-272720.cloudfunctions.net/core-api"}={})=>{const r=Dt({apiKey:n,authDomain:`${e}.firebaseapp.com`,databaseURL:`https://${e}.firebaseio.com`,projectId:e}),i=Oo(r),s={authUser:void 0,user:void 0},o=qo(t,s);return{...zo(t,s),...o,auth:{onChange:u=>ms(i,_=>{if(!_)return Object.assign(s,{authUser:null,user:null}),u(s);Object.assign(s,{authUser:_}),o.user.findById(_.uid).then(v=>{Object.assign(s,{user:v}),u(s)}).catch(v=>{console.error(v),Object.assign(s,{authUser:null,user:null}),u(s)})}),signIn:(u,_)=>fs(i,u,_),signOut:()=>ys(i),sendPasswordResetEmail:u=>hs(i,u)},firebaseApp:r}};k.createApp=ta,k.formatCurrency=Xo,k.formatDate=Un,k.formatDateTime=Jo,k.formatMonth=Ko,k.formatTime=jn,k.getAgeAt=Yo,k.loadFromLocalStorage=ea,k.parseCurrency=Zo,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
         
     | 
| 
      
 1486 
     | 
    
         
            +
             */const Po=5*60,Oo=bt("authIdTokenMaxAge")||Po;let On=null;const ko=n=>async e=>{const t=e&&await e.getIdTokenResult(),r=t&&(new Date().getTime()-Date.parse(t.issuedAtTime))/1e3;if(r&&r>Oo)return;const i=t==null?void 0:t.token;On!==i&&(On=i,await fetch(n,{method:i?"POST":"DELETE",headers:i?{Authorization:`Bearer ${i}`}:{}}))};function Do(n=ti()){const e=Rt(n,"auth");if(e.isInitialized())return e.getImmediate();const t=Ki(n,{popupRedirectResolver:Ao,persistence:[$s,Es,gn]}),r=bt("authTokenSyncURL");if(r){const s=ko(r);ys(t,s,()=>s(t.currentUser)),ms(t,o=>s(o))}const i=xn("auth");return i&&Qi(t,`http://${i}`),t}Ro("Browser");var No=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Lo(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var kn={exports:{}};(function(n){(function(e){function t(l,m){var d=(l&65535)+(m&65535),w=(l>>16)+(m>>16)+(d>>16);return w<<16|d&65535}function r(l,m){return l<<m|l>>>32-m}function i(l,m,d,w,E,S){return t(r(t(t(m,l),t(w,S)),E),d)}function s(l,m,d,w,E,S,O){return i(m&d|~m&w,l,m,E,S,O)}function o(l,m,d,w,E,S,O){return i(m&w|d&~w,l,m,E,S,O)}function c(l,m,d,w,E,S,O){return i(m^d^w,l,m,E,S,O)}function a(l,m,d,w,E,S,O){return i(d^(m|~w),l,m,E,S,O)}function u(l,m){l[m>>5]|=128<<m%32,l[(m+64>>>9<<4)+14]=m;var d,w,E,S,O,h=1732584193,f=-271733879,p=-1732584194,g=271733878;for(d=0;d<l.length;d+=16)w=h,E=f,S=p,O=g,h=s(h,f,p,g,l[d],7,-680876936),g=s(g,h,f,p,l[d+1],12,-389564586),p=s(p,g,h,f,l[d+2],17,606105819),f=s(f,p,g,h,l[d+3],22,-1044525330),h=s(h,f,p,g,l[d+4],7,-176418897),g=s(g,h,f,p,l[d+5],12,1200080426),p=s(p,g,h,f,l[d+6],17,-1473231341),f=s(f,p,g,h,l[d+7],22,-45705983),h=s(h,f,p,g,l[d+8],7,1770035416),g=s(g,h,f,p,l[d+9],12,-1958414417),p=s(p,g,h,f,l[d+10],17,-42063),f=s(f,p,g,h,l[d+11],22,-1990404162),h=s(h,f,p,g,l[d+12],7,1804603682),g=s(g,h,f,p,l[d+13],12,-40341101),p=s(p,g,h,f,l[d+14],17,-1502002290),f=s(f,p,g,h,l[d+15],22,1236535329),h=o(h,f,p,g,l[d+1],5,-165796510),g=o(g,h,f,p,l[d+6],9,-1069501632),p=o(p,g,h,f,l[d+11],14,643717713),f=o(f,p,g,h,l[d],20,-373897302),h=o(h,f,p,g,l[d+5],5,-701558691),g=o(g,h,f,p,l[d+10],9,38016083),p=o(p,g,h,f,l[d+15],14,-660478335),f=o(f,p,g,h,l[d+4],20,-405537848),h=o(h,f,p,g,l[d+9],5,568446438),g=o(g,h,f,p,l[d+14],9,-1019803690),p=o(p,g,h,f,l[d+3],14,-187363961),f=o(f,p,g,h,l[d+8],20,1163531501),h=o(h,f,p,g,l[d+13],5,-1444681467),g=o(g,h,f,p,l[d+2],9,-51403784),p=o(p,g,h,f,l[d+7],14,1735328473),f=o(f,p,g,h,l[d+12],20,-1926607734),h=c(h,f,p,g,l[d+5],4,-378558),g=c(g,h,f,p,l[d+8],11,-2022574463),p=c(p,g,h,f,l[d+11],16,1839030562),f=c(f,p,g,h,l[d+14],23,-35309556),h=c(h,f,p,g,l[d+1],4,-1530992060),g=c(g,h,f,p,l[d+4],11,1272893353),p=c(p,g,h,f,l[d+7],16,-155497632),f=c(f,p,g,h,l[d+10],23,-1094730640),h=c(h,f,p,g,l[d+13],4,681279174),g=c(g,h,f,p,l[d],11,-358537222),p=c(p,g,h,f,l[d+3],16,-722521979),f=c(f,p,g,h,l[d+6],23,76029189),h=c(h,f,p,g,l[d+9],4,-640364487),g=c(g,h,f,p,l[d+12],11,-421815835),p=c(p,g,h,f,l[d+15],16,530742520),f=c(f,p,g,h,l[d+2],23,-995338651),h=a(h,f,p,g,l[d],6,-198630844),g=a(g,h,f,p,l[d+7],10,1126891415),p=a(p,g,h,f,l[d+14],15,-1416354905),f=a(f,p,g,h,l[d+5],21,-57434055),h=a(h,f,p,g,l[d+12],6,1700485571),g=a(g,h,f,p,l[d+3],10,-1894986606),p=a(p,g,h,f,l[d+10],15,-1051523),f=a(f,p,g,h,l[d+1],21,-2054922799),h=a(h,f,p,g,l[d+8],6,1873313359),g=a(g,h,f,p,l[d+15],10,-30611744),p=a(p,g,h,f,l[d+6],15,-1560198380),f=a(f,p,g,h,l[d+13],21,1309151649),h=a(h,f,p,g,l[d+4],6,-145523070),g=a(g,h,f,p,l[d+11],10,-1120210379),p=a(p,g,h,f,l[d+2],15,718787259),f=a(f,p,g,h,l[d+9],21,-343485551),h=t(h,w),f=t(f,E),p=t(p,S),g=t(g,O);return[h,f,p,g]}function _(l){var m,d="",w=l.length*32;for(m=0;m<w;m+=8)d+=String.fromCharCode(l[m>>5]>>>m%32&255);return d}function v(l){var m,d=[];for(d[(l.length>>2)-1]=void 0,m=0;m<d.length;m+=1)d[m]=0;var w=l.length*8;for(m=0;m<w;m+=8)d[m>>5]|=(l.charCodeAt(m/8)&255)<<m%32;return d}function A(l){return _(u(v(l),l.length*8))}function P(l,m){var d,w=v(l),E=[],S=[],O;for(E[15]=S[15]=void 0,w.length>16&&(w=u(w,l.length*8)),d=0;d<16;d+=1)E[d]=w[d]^909522486,S[d]=w[d]^1549556828;return O=u(E.concat(v(m)),512+m.length*8),_(u(S.concat(O),512+128))}function N(l){var m="0123456789abcdef",d="",w,E;for(E=0;E<l.length;E+=1)w=l.charCodeAt(E),d+=m.charAt(w>>>4&15)+m.charAt(w&15);return d}function b(l){return unescape(encodeURIComponent(l))}function I(l){return A(b(l))}function M(l){return N(I(l))}function C(l,m){return P(b(l),b(m))}function re(l,m){return N(C(l,m))}function Y(l,m,d){return m?d?C(m,l):re(m,l):d?I(l):M(l)}n.exports?n.exports=Y:e.md5=Y})(No)})(kn);var $o=kn.exports;const Mo=Lo($o),pt=(n,e)=>async(t,r={})=>{const i=e?await e.getIdToken():null,s=await fetch(`${n}${t}`,{mode:"cors",...r,headers:{...i&&{authorization:`Bearer ${i}`},...r.body&&{"content-type":"application/json"},...r.headers},...r.body&&{body:JSON.stringify(r.body)}}),o=await s.json();if(s.status>202)throw Object.assign(new Error((o==null?void 0:o.message)||`HTTP Error ${s.status}`),{status:s.status,code:o==null?void 0:o.code,body:o});return o},Uo=n=>{const e=n.properties||{},t=n.inputProps||Object.keys(e),r=(i,s)=>{const o=e[i]||{};if([null,void 0].includes(s))return o.isRequired?{id:"value-missing-validation-error"}:void 0;if(o.enum)return o.enum.includes(s)?void 0:{id:"enum-validation-error",values:{enum:o.enum,value:s}};switch(o.type){case"integer":if(o.isScalar&&(typeof s!="number"||Number.isNaN(s)))return{id:"invalid-number-validation-error"};break;case"date":break;case"boolean":break;case"json":case"string":default:if(o.isRequired&&!s)return{id:"value-missing-validation-error"};break}};return{validate:i=>t.reduce((s,o)=>{const c=r(o,i[o]);return c?{...s,[o]:c}:s},{}),validateAttr:r}},jo=(n={})=>Object.keys(n).length?`?q=${JSON.stringify(n)}`:"",Fo=n=>[...n].reduce((e,t)=>t===t.toUpperCase()?`${e}-${t.toLowerCase()}`:`${e}${t}`,""),Bo=n=>`${n[0].toLowerCase()}${n.slice(1)}`,Ho=n=>{const e=Fo(n);return(t,r)=>`/${e}${t?`/${encodeURIComponent(t)}`:""}${jo(r)}`},Dn=(n,e)=>{const t=Array.isArray(e.inputProps);return Object.keys(n).reduce((r,i)=>{if(t&&!e.inputProps.includes(i))return r;const{isRef:s,isScalar:o,isRequired:c}=e.properties[i]||{};return s&&o&&!c&&n[i]===null?r:{...r,[i]:n[i]}},{})},Vo=({primaryKey:n,properties:e,...t})=>({primaryKey:n||"id",properties:Object.keys(e||{}).reduce((r,i)=>{var v,A;const s=e[i]||{},{type:o,isScalar:c,isRequired:a,isRef:u=!1}=typeof s.type=="string"?s.type==="array"?s.enum?{type:"string",isScalar:!1,isRequired:!1}:(v=s.items)!=null&&v.$ref?{type:s.items.$ref.split("/").pop(),isScalar:!1,isRequired:!1,isRef:!0}:{type:(A=s.items)==null?void 0:A.type,isScalar:!1,isRequired:!1}:{type:s.format==="date-time"?"date":s.type,isScalar:!0,isRequired:!0}:Array.isArray(s.type)?s.type.length===2?{type:s.format==="date-time"?"date":s.type[0],isScalar:!0,isRequired:!1}:{type:"json",isScalar:!0,isRequired:s.type.includes("null")}:s.$ref?{type:s.$ref.split("/").pop(),isScalar:!0,isRequired:!0,isRef:!0}:{type:s.anyOf[0].$ref.split("/").pop(),isScalar:!0,isRequired:!1,isRef:!0},_=s.inputType||(o==="integer"?"number":o);return{...r,[i]:{...e[i],type:o,isScalar:c,isRequired:typeof s.isRequired=="boolean"?s.isRequired:a,isRef:u,inputType:_}}},{}),...t}),Wo=(n,e,t,r={},i={})=>{const s=Vo(r),{primaryKey:o,properties:c}=s,a=Uo(s),u=Ho(t),_=(...b)=>pt(n,e.authUser)(...b),v=({data:b,...I})=>_(u(null,I),{method:"POST",body:Dn(b,s)}),A=({data:b,...I})=>{const{where:M,...C}=I;return _(u(M[o],C),{method:"PUT",body:Dn(b,s)})},P=b=>{if(!b)return b;const I=Object.keys(b).reduce((M,C)=>{var E;const re=c[C]||{},{type:Y,isScalar:l,isRef:m,format:d,items:w}=re;if(m){const S=Bo(Y);return l?{...M,[C]:i[S].parse(b[C])}:{...M,[C]:typeof((E=i[S])==null?void 0:E.parse)=="function"?b[C].map(O=>i[S].parse(O)):b[C]}}return{...M,[C]:Y==="date"&&b[C]?new Date(b[C]):b[C]}},{});return typeof s.parse=="function"?s.parse(I):I},N=Object.keys(c||{}).reduce((b,I)=>c[I].isRef&&c[I].isScalar&&c[I].isRequired?Object.assign(b,{all:b.all.concat(I),oneToOne:b.oneToOne.concat(I),requiredOneToOne:b.requiredOneToOne.concat(I)}):c[I].isRef&&c[I].isScalar?Object.assign(b,{all:b.all.concat(I),oneToOne:b.oneToOne.concat(I),optionalOneToOne:b.optionalOneToOne.concat(I)}):c[I].isRef?Object.assign(b,{all:b.all.concat(I),oneToMany:b.oneToMany.concat(I)}):b,{all:[],oneToOne:[],requiredOneToOne:[],optionalOneToOne:[],oneToMany:[]});return{get schema(){return s},get relations(){return N},parse:P,validateAttr:a.validateAttr,validate:a.validate,findMany:b=>_(u(null,b)).then(I=>I.map(P)),findById:(b,I)=>_(u(b,I)).then(P),create:v,update:A,upsert:b=>b.where[o]?A({where:b.where,data:b.update}):v({data:b.create}),delete:b=>_(u(b),{method:"DELETE"}),stats:()=>_(u("_stats"))}},xo=(n,e,t)=>Object.keys(t.properties).reduce((r,i)=>{const s=t.properties[i].$ref.split("/").pop();return Object.assign(r,{[i]:Wo(n,e,t.definitions[s].plural||`${i}s`,t.definitions[s],r)})},{}),zo=(n,e)=>Object.keys(n.definitions).reduce((t,r)=>({...t,[r]:e[r]?{...n.definitions[r],...e[r],properties:Object.keys(n.definitions[r].properties).reduce((i,s)=>({...i,[s]:{...n.definitions[r].properties[s],...(e[r].properties||{})[s]}}),e[r].properties||{})}:n.definitions[r]}),{}),Nn={$schema:"http://json-schema.org/draft-07/schema#",definitions:{Country:{type:"object",properties:{code:{type:"string"},name:{type:"string"},incomeFilter:{type:["integer","null"]},canApply:{type:"boolean",default:!1},capital:{type:"array",items:{type:"string"}},timeZone:{type:["string","null"]},flag:{type:["string","null"]},currency:{anyOf:[{$ref:"#/definitions/Currency"},{type:"null"}]},contracts:{type:"array",items:{$ref:"#/definitions/Contract"}},users:{type:"array",items:{$ref:"#/definitions/User"}},applications:{type:"array",items:{$ref:"#/definitions/Application"}},applicationNationalities:{type:"array",items:{$ref:"#/definitions/Application"}},educationLevels:{type:"array",items:{$ref:"#/definitions/EducationLevel"}},universities:{type:"array",items:{$ref:"#/definitions/University"}},companies:{type:"array",items:{$ref:"#/definitions/Company"}},jobs:{type:"array",items:{$ref:"#/definitions/Job"}}}},Currency:{type:"object",properties:{code:{type:"string"},name:{type:"string"},symbol:{type:"string"},countries:{type:"array",items:{$ref:"#/definitions/Country"}}}},User:{type:"object",properties:{uid:{type:"string"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},email:{type:"string"},firstName:{type:"string"},lastName:{type:["string","null"]},role:{type:["string","null"],enum:["staff","manager","finance","admin"]},disabled:{type:"boolean",default:!1},lang:{type:["string","null"],enum:["en","es","pt"]},referralSource:{type:["string","null"],enum:["word_of_mouth","codigo_m","social","google","print","tv","radio","other"]},identifiesAsFemale:{type:["boolean","null"]},dateOfBirth:{type:["string","null"],format:"date-time"},identificationNumber:{type:["string","null"]},mobileNumber:{type:["string","null"]},github:{type:["string","null"]},linkedin:{type:["string","null"]},bio:{type:["string","null"]},country:{anyOf:[{$ref:"#/definitions/Country"},{type:"null"}]},signupCohort:{anyOf:[{$ref:"#/definitions/Cohort"},{type:"null"}]},applications:{type:"array",items:{$ref:"#/definitions/Application"}},contractsAsCheckPilot:{type:"array",items:{$ref:"#/definitions/Contract"}},contracts:{type:"array",items:{$ref:"#/definitions/Contract"}},dropouts:{type:"array",items:{$ref:"#/definitions/Dropout"}},gigs:{type:"array",items:{$ref:"#/definitions/Gig"}},messages:{type:"array",items:{$ref:"#/definitions/Message"}},students:{type:"array",items:{$ref:"#/definitions/Student"}},activityLog:{type:"array",items:{$ref:"#/definitions/ActivityLogEntry"}},authoredActivityLog:{type:"array",items:{$ref:"#/definitions/ActivityLogEntry"}},jobReviews:{type:"array",items:{$ref:"#/definitions/JobReview"}},jobApplications:{type:"array",items:{$ref:"#/definitions/JobApplication"}},studentProjecTeamMembers:{type:"array",items:{$ref:"#/definitions/StudentProjecTeamMember"}}}},Track:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},name:{type:"string"},programs:{type:"array",items:{$ref:"#/definitions/Program"}},crawlerQueries:{type:"array",items:{$ref:"#/definitions/CrawlerQuery"}},jobProfileTypes:{type:"array",items:{$ref:"#/definitions/JobProfileType"}}}},Program:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},name:{type:"string"},description:{type:["string","null"]},langs:{type:"array",enum:["en","es","pt"]},hidden:{type:"boolean",default:!1},track:{$ref:"#/definitions/Track"},cohorts:{type:"array",items:{$ref:"#/definitions/Cohort"}},stages:{type:"array",items:{$ref:"#/definitions/Stage"}}}},Stage:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},name:{type:"string"},order:{type:"integer"},program:{$ref:"#/definitions/Program"},cohorts:{type:"array",items:{$ref:"#/definitions/Cohort"}}}},Cohort:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},lang:{type:["string","null"],enum:["en","es","pt"]},start:{type:"string",format:"date-time"},end:{type:"string",format:"date-time"},timeZone:{type:["string","null"]},startTime:{type:["string","null"]},endTime:{type:["string","null"]},legacySlug:{type:"string"},vacancies:{type:["integer","null"]},admissionStart:{type:["string","null"],format:"date-time"},admissionEnd:{type:["string","null"],format:"date-time"},admissionCountries:{type:"array",items:{type:"string"}},placementStart:{type:["string","null"],format:"date-time"},placementDuration:{type:["integer","null"]},program:{$ref:"#/definitions/Program"},stage:{$ref:"#/definitions/Stage"},applications:{type:"array",items:{$ref:"#/definitions/Application"}},links:{type:"array",items:{$ref:"#/definitions/CohortLink"}},dropouts:{type:"array",items:{$ref:"#/definitions/Dropout"}},gigs:{type:"array",items:{$ref:"#/definitions/Gig"}},students:{type:"array",items:{$ref:"#/definitions/Student"}},signupUsers:{type:"array",items:{$ref:"#/definitions/User"}},activityLog:{type:"array",items:{$ref:"#/definitions/ActivityLogEntry"}},jobApplications:{type:"array",items:{$ref:"#/definitions/JobApplication"}},studentProjects:{type:"array",items:{$ref:"#/definitions/StudentProject"}}}},Student:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},legacyStudentCode:{type:["string","null"]},cohort:{$ref:"#/definitions/Cohort"},user:{$ref:"#/definitions/User"}}},CohortLink:{type:"object",properties:{id:{type:"integer"},url:{type:"string"},visibility:{type:"string",enum:["public","members","staff","team","admin"]},cohort:{$ref:"#/definitions/Cohort"}}},Dropout:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},date:{type:"string",format:"date-time"},reasonDetail:{type:["string","null"]},notes:{type:["string","null"]},staffSad:{type:"boolean"},covidRelated:{type:["boolean","null"]},reason:{type:"string",enum:["dropout","noShow","invitedToLeave","changeCohort"]},completedProjects:{type:"integer"},lastProject:{type:["string","null"]},cohort:{$ref:"#/definitions/Cohort"},user:{$ref:"#/definitions/User"}}},IscedLevel:{type:"object",properties:{id:{type:"integer"},label:{type:"string"},educationLevels:{type:"array",items:{$ref:"#/definitions/EducationLevel"}}}},EducationLevel:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},lang:{type:"string",enum:["en","es","pt"]},label:{type:"string"},country:{$ref:"#/definitions/Country"},iscedLevel:{$ref:"#/definitions/IscedLevel"},applications:{type:"array",items:{$ref:"#/definitions/Application"}}}},University:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},lang:{type:"string",enum:["en","es","pt"]},name:{type:"string"},filter:{type:"boolean"},country:{$ref:"#/definitions/Country"},applications:{type:"array",items:{$ref:"#/definitions/Application"}}}},Application:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},dateOfBirth:{type:"string",format:"date-time"},isAllowedToWork:{type:"boolean"},hasValidIdDocument:{type:"boolean"},locality:{type:["number","string","boolean","object","array","null"]},householdSize:{type:"integer"},children:{type:"integer"},householdIncome:{type:"integer"},racialIdentity:{type:["string","null"]},schoolType:{type:["string","null"],enum:["private","public","other","subsidized","mixed"]},educationSubject:{type:["string","null"],enum:["design_and_media","software_engineering","engineering","management_and_business","languages","science","health","social_sciences","arts","comms_and_advertising","education","cooking","tourism","economics_and_accounting","law","other"]},isStudying:{type:"boolean"},englishLevel:{type:["string","null"],enum:["NO","A1","A2","B1","B2","C1","C2"]},workStatus:{type:"string",enum:["never","not_now","yes"]},isLookingForWork:{type:["boolean","null"]},monthsLookingForWork:{type:["integer","null"]},monthsUnemployed:{type:["integer","null"]},workRole:{type:["string","null"],enum:["waitress","promoter","manager","cashier","intern","operative","call_center","receptionist","sales_agent","assistant","professional","technical","consultant","other"]},freelance:{type:["boolean","null"]},workFormal:{type:["boolean","null"]},workIncome:{type:["integer","null"]},failedFilters:{type:"array",items:{type:"string"}},bypassFilters:{type:"boolean",default:!1},isReady:{type:"boolean",default:!1},isReturningApplicant:{type:["boolean","null"]},legacyAdmissionCohortSlug:{type:["string","null"]},cohort:{$ref:"#/definitions/Cohort"},user:{$ref:"#/definitions/User"},country:{$ref:"#/definitions/Country"},nationality:{$ref:"#/definitions/Country"},educationLevel:{$ref:"#/definitions/EducationLevel"},university:{anyOf:[{$ref:"#/definitions/University"},{type:"null"}]},challengeAssignments:{type:"array",items:{$ref:"#/definitions/ApplicationChallengeAssignment"}}}},ApplicationChallenge:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},slug:{type:"string"},version:{type:"string"},trackId:{type:"integer"},langs:{type:"array",enum:["en","es","pt"]},json:{type:"string"},archived:{type:"boolean",default:!1},assignments:{type:"array",items:{$ref:"#/definitions/ApplicationChallengeAssignment"}}}},ApplicationChallengeAssignment:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},application:{$ref:"#/definitions/Application"},challenge:{$ref:"#/definitions/ApplicationChallenge"}}},ActivityLogEntry:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},type:{type:"string",enum:["challenge","application_filter","application_filter_bypass","application_cohort_change","project_assessment","project_assessment_request"]},data:{type:["number","string","boolean","object","array","null"]},path:{type:"string"},author:{$ref:"#/definitions/User"},user:{$ref:"#/definitions/User"},cohort:{$ref:"#/definitions/Cohort"}}},StudentProject:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},projectSlug:{type:"string"},projectVersion:{type:"string"},cohort:{$ref:"#/definitions/Cohort"},links:{type:"array",items:{$ref:"#/definitions/StudentProjectLink"}},team:{type:"array",items:{$ref:"#/definitions/StudentProjecTeamMember"}}}},StudentProjecTeamMember:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},studentProject:{$ref:"#/definitions/StudentProject"},user:{$ref:"#/definitions/User"}}},StudentProjectLink:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},url:{type:"string"},studentProject:{$ref:"#/definitions/StudentProject"}}},Contract:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},isEmployment:{type:"boolean"},feeAmount:{type:"integer"},hoursPerWeek:{type:"integer"},start:{type:"string",format:"date-time"},end:{type:["string","null"],format:"date-time"},isTrial:{type:"boolean",default:!1},source:{type:["string","null"],enum:["graduate","referral","jazzhr","web","linkedin","other"]},checkPilot:{anyOf:[{$ref:"#/definitions/User"},{type:"null"}]},country:{$ref:"#/definitions/Country"},user:{$ref:"#/definitions/User"},gigs:{type:"array",items:{$ref:"#/definitions/Gig"}}}},Gig:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:"string"},role:{type:"string",enum:["bm","pdc","js","ux"]},hoursPerWeek:{type:"integer"},start:{type:"string",format:"date-time"},end:{type:["string","null"],format:"date-time"},cohort:{$ref:"#/definitions/Cohort"},contract:{$ref:"#/definitions/Contract"},user:{$ref:"#/definitions/User"}}},Message:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},key:{type:"string"},from:{type:"string"},to:{type:"string"},transport:{type:"string",enum:["mandrill","slack"]},status:{type:"string",default:"PENDING",enum:["PENDING","QUEUED","ERROR","SENT"]},data:{type:["number","string","boolean","object","array","null"]},taskInfo:{type:["number","string","boolean","object","array","null"]},user:{anyOf:[{$ref:"#/definitions/User"},{type:"null"}]},logs:{type:"array",items:{$ref:"#/definitions/MessageLog"}}}},MessageLog:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},statusText:{type:["string","null"]},message:{$ref:"#/definitions/Message"}}},Industry:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},companies:{type:"array",items:{$ref:"#/definitions/Company"}}}},Company:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},source:{type:"string"},sourceId:{type:"string"},name:{type:"string"},size:{type:["string","null"],enum:["A_2_10","B_11_50","C_51_200","D_201_500","E_501_1000","F_1001_5000","G_5001_10000","H_10001_plus"]},data:{type:["number","string","boolean","object","array","null"]},web:{type:["string","null"]},twitter:{type:["string","null"]},github:{type:["string","null"]},facebook:{type:["string","null"]},country:{anyOf:[{$ref:"#/definitions/Country"},{type:"null"}]},industry:{anyOf:[{$ref:"#/definitions/Industry"},{type:"null"}]},jobs:{type:"array",items:{$ref:"#/definitions/Job"}},categories:{type:"array",enum:["Tech_Consultancy","Digital_Transformation","Agency","Startups","High_tech","Traditional_Consulting"]}}},Job:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},source:{type:"string"},sourceId:{type:"string"},title:{type:"string"},publishedAt:{type:"string",format:"date-time"},modality:{type:"string"},publicUrl:{type:["string","null"]},location:{type:["string","null"]},data:{type:["number","string","boolean","object","array","null"]},description:{type:["string","null"]},descriptionHTML:{type:["string","null"]},functions:{type:["string","null"]},functionsHTML:{type:["string","null"]},seniority:{type:["string","null"]},remote:{type:["boolean","null"]},remoteOption:{type:["string","null"],enum:["remote_for_now","locally_remote","fully_remote","no_remote","mixed"]},lang:{type:["string","null"],enum:["en","es","pt"]},maxSalary:{type:["integer","null"]},minSalary:{type:["integer","null"]},tags:{type:"array",items:{type:"string"}},company:{$ref:"#/definitions/Company"},country:{anyOf:[{$ref:"#/definitions/Country"},{type:"null"}]},reviews:{type:"array",items:{$ref:"#/definitions/JobReview"}},applications:{type:"array",items:{$ref:"#/definitions/JobApplication"}},crawlerQueries:{type:"array",items:{$ref:"#/definitions/JobCrawlerQuery"}},crawlerLocations:{type:"array",items:{$ref:"#/definitions/JobCrawlerLocation"}}}},JobProfileType:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},learningObjectives:{type:["number","string","boolean","object","array","null"]},track:{anyOf:[{$ref:"#/definitions/Track"},{type:"null"}]},reviews:{type:"array",items:{$ref:"#/definitions/JobReviewProfileType"}}}},JobReview:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},isValid:{type:"boolean"},invalidReason:{type:["string","null"],enum:["unrelated","experience","qualifications","other"]},comment:{type:["string","null"]},author:{$ref:"#/definitions/User"},job:{$ref:"#/definitions/Job"},profileTypes:{type:"array",items:{$ref:"#/definitions/JobReviewProfileType"}}}},JobReviewProfileType:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},review:{$ref:"#/definitions/JobReview"},profileType:{$ref:"#/definitions/JobProfileType"}}},JobApplication:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},status:{type:"string",default:"pending",enum:["pending","applied","interview","challenge","followup","hired","not_hired"]},hireDate:{type:["string","null"],format:"date-time"},jobStartDate:{type:["string","null"],format:"date-time"},netSalary:{type:["integer","null"]},grossSalary:{type:["integer","null"]},currency:{type:["string","null"]},job:{$ref:"#/definitions/Job"},user:{$ref:"#/definitions/User"},cohort:{anyOf:[{$ref:"#/definitions/Cohort"},{type:"null"}]}}},CrawlerQuery:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},query:{type:"string"},enabled:{type:"boolean",default:!0},track:{$ref:"#/definitions/Track"},jobs:{type:"array",items:{$ref:"#/definitions/JobCrawlerQuery"}}}},JobCrawlerQuery:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},job:{$ref:"#/definitions/Job"},query:{$ref:"#/definitions/CrawlerQuery"}}},CrawlerLocation:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},name:{type:"string"},enabled:{type:"boolean",default:!0},jobs:{type:"array",items:{$ref:"#/definitions/JobCrawlerLocation"}}}},JobCrawlerLocation:{type:"object",properties:{id:{type:"integer"},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"},createdBy:{type:["string","null"]},job:{$ref:"#/definitions/Job"},location:{$ref:"#/definitions/CrawlerLocation"}}}},type:"object",properties:{country:{$ref:"#/definitions/Country"},currency:{$ref:"#/definitions/Currency"},user:{$ref:"#/definitions/User"},track:{$ref:"#/definitions/Track"},program:{$ref:"#/definitions/Program"},stage:{$ref:"#/definitions/Stage"},cohort:{$ref:"#/definitions/Cohort"},student:{$ref:"#/definitions/Student"},cohortLink:{$ref:"#/definitions/CohortLink"},dropout:{$ref:"#/definitions/Dropout"},iscedLevel:{$ref:"#/definitions/IscedLevel"},educationLevel:{$ref:"#/definitions/EducationLevel"},university:{$ref:"#/definitions/University"},application:{$ref:"#/definitions/Application"},applicationChallenge:{$ref:"#/definitions/ApplicationChallenge"},applicationChallengeAssignment:{$ref:"#/definitions/ApplicationChallengeAssignment"},activityLogEntry:{$ref:"#/definitions/ActivityLogEntry"},studentProject:{$ref:"#/definitions/StudentProject"},studentProjecTeamMember:{$ref:"#/definitions/StudentProjecTeamMember"},studentProjectLink:{$ref:"#/definitions/StudentProjectLink"},contract:{$ref:"#/definitions/Contract"},gig:{$ref:"#/definitions/Gig"},message:{$ref:"#/definitions/Message"},messageLog:{$ref:"#/definitions/MessageLog"},industry:{$ref:"#/definitions/Industry"},company:{$ref:"#/definitions/Company"},job:{$ref:"#/definitions/Job"},jobProfileType:{$ref:"#/definitions/JobProfileType"},jobReview:{$ref:"#/definitions/JobReview"},jobReviewProfileType:{$ref:"#/definitions/JobReviewProfileType"},jobApplication:{$ref:"#/definitions/JobApplication"},crawlerQuery:{$ref:"#/definitions/CrawlerQuery"},jobCrawlerQuery:{$ref:"#/definitions/JobCrawlerQuery"},crawlerLocation:{$ref:"#/definitions/CrawlerLocation"},jobCrawlerLocation:{$ref:"#/definitions/JobCrawlerLocation"}}},Ln=24*(60*60*1e3),qo={Country:{primaryKey:"code",plural:"countries",searchProps:["code","name","timeZone"],getOptionLabel:({code:n,name:e})=>`${n} / ${e}`},ActivityLogEntry:{plural:"activityLog"},User:{primaryKey:"uid",inputProps:["firstName","lastName","email","password","lang","identifiesAsFemale","dateOfBirth","country","identificationNumber","mobileNumber","github","linkedin","bio","role","signupCohort","disabled","referralSource"],searchProps:["firstName","lastName","email"],getOptionLabel:({firstName:n,lastName:e,email:t})=>`${n} ${e} (${t})`,properties:{email:{inputType:"email"},lastName:{isRequired:!0},mobileNumber:{inputType:"phone"},bio:{inputType:"textarea"}},parse:n=>{const e=n.github?`https://github.com/${n.github}.png?size=`:`https://www.gravatar.com/avatar/${Mo(n.email)}?s=`;return{...n,fullName:`${n.firstName||""}${n.lastName?` ${n.lastName}`:""}`,avatar:t=>`${e}${t}`,isStaff:["staff","manager","finance","admin"].includes(n.role),isManager:["manager","finance","admin"].includes(n.role),isFinance:["finance","admin"].includes(n.role),isAdmin:n.role==="admin"}}},Track:{searchProps:["name"]},Program:{searchProps:["name"]},Stage:{searchProps:["name"]},Cohort:{inputProps:["program","stage","lang","name","start","end","timeZone","startTime","endTime","vacancies","admissionStart","admissionEnd","placementStart","admissionCountries"],searchProps:["name"],getOptionLabel:({id:n,name:e,stage:t})=>`${e}${t?` - ${t.name}`:""} (id: ${n})`,properties:{},parse:n=>{var s,o;const e=Date.now();let t;if(n.placementStart){const c=n.placementDuration||270;new Date(+n.placementStart+c*24*60*60*1e3)<e?t="placement_ended":n.placementStart<e&&(t="placement_started")}!t&&n.end<e&&(t="ended"),!t&&n.start<e&&(t="started");const r=n.admissionEnd?+n.admissionEnd+Ln:!1;!t&&r&&r<e&&(t="admission_ended"),!t&&n.admissionStart&&n.admissionStart<e&&(t="admission_started"),!t&&n.admissionStart&&n.admissionEnd&&(t="planned"),t||(t="draft");const i=n.start>e&&n.vacancies?n.vacancies:((s=n._count)==null?void 0:s.students)||((o=n.students)==null?void 0:o.length)||0;return{...n,status:t,size:i}}},Student:{inputProps:["cohort","user"],searchProps:[]},Dropout:{inputProps:["cohort","user","date","reason","reasonDetail","lastProject","completedProjects","notes","staffSad","covidRelated"],searchProps:["user.uid","user.firstName","user.lastName","user.email","cohort.name"]},Contract:{inputProps:["user","country","isEmployment","feeAmount","hoursPerWeek","start","end","isTrial","checkPilot","source"],searchProps:["user.firstName","user.lastName","user.email"],getOptionLabel:({id:n,user:e})=>`${e==null?void 0:e.firstName} (id: ${n})`},Gig:{inputProps:["cohort","user","contract","role","hoursPerWeek","start","end"]},Application:{inputProps:["user","cohort","dateOfBirth","country","locality","nationality","isAllowedToWork","hasValidIdDocument","householdSize","children","householdIncome","racialIdentity","educationLevel","schoolType","educationSubject","university","isStudying","englishLevel","workStatus","isLookingForWork","monthsLookingForWork","monthsUnemployed","workRole","freelance","workFormal","workIncome","isReady","bypassFilters"],properties:{locality:{isRequired:!0},englishLevel:{isRequired:!0},isReady:{isRequired:!1},bypassFilters:{isRequired:!1}},parse:n=>{var i,s,o;const e=typeof n.hasFailedFilters=="boolean"?n.hasFailedFilters:typeof((i=n.failedFilters)==null?void 0:i.length)=="number"?n.failedFilters.length>0:void 0;if(!((s=n.cohort)!=null&&s.admissionEnd)||typeof e>"u")return n;const t=Date.now();let r;return n.isReady?r="ready":e&&!n.bypassFilters?r="rejected":n.createdAt<t-90*Ln?r="expired":((o=n.cohort)==null?void 0:o.status)!=="admission_started"?r="admission_ended":r="active",{...n,status:r}}},IscedLevel:{parse:n=>{const e=Math.floor(n.id/10);return{...n,level:e,completed:e*10<n.id}}},EducationLevel:{searchProps:["label"]},University:{plural:"universities",searchProps:["name"]},Company:{plural:"companies"},CrawlerQuery:{plural:"crawlerQueries"},JobCrawlerQuery:{plural:"jobCrawlerQueries"}},Jo=(n,e)=>({...xo(n,e,{...Nn,definitions:zo(Nn,qo)}),gcpLog:{getEntries:async t=>await pt(n,e.authUser)(`/gcp-logs?q=${JSON.stringify(t)}`)}}),Go=(n,e)=>{const t=pt(n,e.authUser);return{project:{findMany:(r={})=>t(`/projects?q=${JSON.stringify(r)}`),findBySlug:(r,i={})=>t(`/projects/${r}?q=${JSON.stringify(i)}`)},topic:{findMany:(r={})=>t(`/topics?q=${JSON.stringify(r)}`),findBySlug:(r,i={})=>t(`/topics/${r}?q=${JSON.stringify(i)}`)},learningObjective:{findMany:(r={})=>t(`/learning-objectives?q=${JSON.stringify(r)}`)}}},Ve=n=>n>9?`${n}`:`0${n}`,$n=n=>`${Ve(n.getUTCDate())}/${Ve(n.getUTCMonth()+1)}/${n.getUTCFullYear()}`,Mn=n=>`${Ve(n.getUTCHours())}:${Ve(n.getUTCMinutes())}:${n.getUTCSeconds()} UTC`,Ko=n=>`${$n(n)} ${Mn(n)}`,Yo={es:"es-ES",pt:"pt-BR"},Qo=(n,e="es",t=!1)=>new Intl.DateTimeFormat(Yo[e],{...t&&{year:"numeric"},month:"long",day:"numeric",timeZone:"UTC"}).format(new Date(n)),Xo=(n,e)=>{let t=e.getFullYear()-n.getFullYear();const r=e.getMonth()-n.getMonth();return(r<0||r===0&&e.getDate()<n.getDate())&&t--,t},Zo=(n,e,t)=>new Intl.NumberFormat(`${n}-${e}`,{currency:t}),ea=(n,e,t,r)=>Zo(e,t,r).format(n),ta=n=>parseInt(n.replace(/[,\.]/g,""),10),na=n=>{try{return JSON.parse(window.localStorage.getItem(n))}catch{return null}},ra=({firebaseApiKey:n="AIzaSyAXbaEbpq8NOfn0r8mIrcoHvoGRkJThwdc",firebaseProject:e="laboratoria-la",coreApiUrl:t="https://us-central1-outpost-272720.cloudfunctions.net/core-api"}={})=>{const r=Pt({apiKey:n,authDomain:`${e}.firebaseapp.com`,databaseURL:`https://${e}.firebaseio.com`,projectId:e}),i=Do(r),s={authUser:void 0,user:void 0},o=Jo(t,s);return{...Go(t,s),...o,auth:{onChange:u=>_s(i,_=>{if(!_)return Object.assign(s,{authUser:null,user:null}),u(s);Object.assign(s,{authUser:_}),o.user.findById(_.uid).then(v=>{Object.assign(s,{user:v}),u(s)}).catch(v=>{console.error(v),Object.assign(s,{authUser:null,user:null}),u(s)})}),signIn:(u,_)=>gs(i,u,_),signOut:()=>bs(i),sendPasswordResetEmail:u=>ps(i,u)},firebaseApp:r}};k.createApp=ra,k.formatCurrency=ea,k.formatDate=$n,k.formatDateTime=Ko,k.formatMonth=Qo,k.formatTime=Mn,k.getAgeAt=Xo,k.loadFromLocalStorage=na,k.parseCurrency=ta,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
         
     |