@entropic-bond/firebase 1.13.7 → 1.13.9
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(xe,Jn){typeof exports=="object"&&typeof module<"u"?Jn(exports):typeof define=="function"&&define.amd?define(["exports"],Jn):(xe=typeof globalThis<"u"?globalThis:xe||self,Jn(xe["entropic-bond-firebase"]={}))})(this,function(xe){"use strict";const Jn=()=>{};/**
|
|
2
2
|
* @license
|
|
3
3
|
* Copyright 2017 Google LLC
|
|
4
4
|
*
|
|
@@ -13,22 +13,7 @@
|
|
|
13
13
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
|
-
|
|
17
|
-
* @license
|
|
18
|
-
* Copyright 2017 Google LLC
|
|
19
|
-
*
|
|
20
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
21
|
-
* you may not use this file except in compliance with the License.
|
|
22
|
-
* You may obtain a copy of the License at
|
|
23
|
-
*
|
|
24
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
25
|
-
*
|
|
26
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
27
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
28
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
29
|
-
* See the License for the specific language governing permissions and
|
|
30
|
-
* limitations under the License.
|
|
31
|
-
*/const un=function(n){const e=[];let t=0;for(let r=0;r<n.length;r++){let s=n.charCodeAt(r);s<128?e[t++]=s:s<2048?(e[t++]=s>>6|192,e[t++]=s&63|128):(s&64512)===55296&&r+1<n.length&&(n.charCodeAt(r+1)&64512)===56320?(s=65536+((s&1023)<<10)+(n.charCodeAt(++r)&1023),e[t++]=s>>18|240,e[t++]=s>>12&63|128,e[t++]=s>>6&63|128,e[t++]=s&63|128):(e[t++]=s>>12|224,e[t++]=s>>6&63|128,e[t++]=s&63|128)}return e},yf=function(n){const e=[];let t=0,r=0;for(;t<n.length;){const s=n[t++];if(s<128)e[r++]=String.fromCharCode(s);else if(s>191&&s<224){const i=n[t++];e[r++]=String.fromCharCode((s&31)<<6|i&63)}else if(s>239&&s<365){const i=n[t++],a=n[t++],c=n[t++],l=((s&7)<<18|(i&63)<<12|(a&63)<<6|c&63)-65536;e[r++]=String.fromCharCode(55296+(l>>10)),e[r++]=String.fromCharCode(56320+(l&1023))}else{const i=n[t++],a=n[t++];e[r++]=String.fromCharCode((s&15)<<12|(i&63)<<6|a&63)}}return e.join("")},za={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 s=0;s<n.length;s+=3){const i=n[s],a=s+1<n.length,c=a?n[s+1]:0,l=s+2<n.length,d=l?n[s+2]:0,p=i>>2,g=(i&3)<<4|c>>4;let v=(c&15)<<2|d>>6,R=d&63;l||(R=64,a||(v=64)),r.push(t[p],t[g],t[v],t[R])}return r.join("")},encodeString(n,e){return this.HAS_NATIVE_SUPPORT&&!e?btoa(n):this.encodeByteArray(un(n),e)},decodeString(n,e){return this.HAS_NATIVE_SUPPORT&&!e?atob(n):yf(this.decodeStringToByteArray(n,e))},decodeStringToByteArray(n,e){this.init_();const t=e?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let s=0;s<n.length;){const i=t[n.charAt(s++)],c=s<n.length?t[n.charAt(s)]:0;++s;const d=s<n.length?t[n.charAt(s)]:64;++s;const g=s<n.length?t[n.charAt(s)]:64;if(++s,i==null||c==null||d==null||g==null)throw new vf;const v=i<<2|c>>4;if(r.push(v),d!==64){const R=c<<4&240|d>>2;if(r.push(R),g!==64){const C=d<<6&192|g;r.push(C)}}}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 vf extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const Ef=function(n){const e=un(n);return za.encodeByteArray(e,!0)},Gr=function(n){return Ef(n).replace(/\./g,"")},Ha=function(n){try{return za.decodeString(n,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};/**
|
|
16
|
+
*/const ic=function(n){const e=[];let t=0;for(let r=0;r<n.length;r++){let s=n.charCodeAt(r);s<128?e[t++]=s:s<2048?(e[t++]=s>>6|192,e[t++]=s&63|128):(s&64512)===55296&&r+1<n.length&&(n.charCodeAt(r+1)&64512)===56320?(s=65536+((s&1023)<<10)+(n.charCodeAt(++r)&1023),e[t++]=s>>18|240,e[t++]=s>>12&63|128,e[t++]=s>>6&63|128,e[t++]=s&63|128):(e[t++]=s>>12|224,e[t++]=s>>6&63|128,e[t++]=s&63|128)}return e},np=function(n){const e=[];let t=0,r=0;for(;t<n.length;){const s=n[t++];if(s<128)e[r++]=String.fromCharCode(s);else if(s>191&&s<224){const i=n[t++];e[r++]=String.fromCharCode((s&31)<<6|i&63)}else if(s>239&&s<365){const i=n[t++],a=n[t++],c=n[t++],l=((s&7)<<18|(i&63)<<12|(a&63)<<6|c&63)-65536;e[r++]=String.fromCharCode(55296+(l>>10)),e[r++]=String.fromCharCode(56320+(l&1023))}else{const i=n[t++],a=n[t++];e[r++]=String.fromCharCode((s&15)<<12|(i&63)<<6|a&63)}}return e.join("")},oc={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 s=0;s<n.length;s+=3){const i=n[s],a=s+1<n.length,c=a?n[s+1]:0,l=s+2<n.length,d=l?n[s+2]:0,f=i>>2,m=(i&3)<<4|c>>4;let v=(c&15)<<2|d>>6,R=d&63;l||(R=64,a||(v=64)),r.push(t[f],t[m],t[v],t[R])}return r.join("")},encodeString(n,e){return this.HAS_NATIVE_SUPPORT&&!e?btoa(n):this.encodeByteArray(ic(n),e)},decodeString(n,e){return this.HAS_NATIVE_SUPPORT&&!e?atob(n):np(this.decodeStringToByteArray(n,e))},decodeStringToByteArray(n,e){this.init_();const t=e?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let s=0;s<n.length;){const i=t[n.charAt(s++)],c=s<n.length?t[n.charAt(s)]:0;++s;const d=s<n.length?t[n.charAt(s)]:64;++s;const m=s<n.length?t[n.charAt(s)]:64;if(++s,i==null||c==null||d==null||m==null)throw new rp;const v=i<<2|c>>4;if(r.push(v),d!==64){const R=c<<4&240|d>>2;if(r.push(R),m!==64){const S=d<<6&192|m;r.push(S)}}}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 rp extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const sp=function(n){const e=ic(n);return oc.encodeByteArray(e,!0)},Jr=function(n){return sp(n).replace(/\./g,"")},ac=function(n){try{return oc.decodeString(n,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};/**
|
|
32
17
|
* @license
|
|
33
18
|
* Copyright 2022 Google LLC
|
|
34
19
|
*
|
|
@@ -43,7 +28,7 @@
|
|
|
43
28
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
44
29
|
* See the License for the specific language governing permissions and
|
|
45
30
|
* limitations under the License.
|
|
46
|
-
*/function
|
|
31
|
+
*/function ip(){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
32
|
* @license
|
|
48
33
|
* Copyright 2022 Google LLC
|
|
49
34
|
*
|
|
@@ -58,7 +43,7 @@
|
|
|
58
43
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
59
44
|
* See the License for the specific language governing permissions and
|
|
60
45
|
* limitations under the License.
|
|
61
|
-
*/const
|
|
46
|
+
*/const op=()=>ip().__FIREBASE_DEFAULTS__,ap=()=>{if(typeof process>"u"||typeof process.env>"u")return;const n=process.env.__FIREBASE_DEFAULTS__;if(n)return JSON.parse(n)},cp=()=>{if(typeof document>"u")return;let n;try{n=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const e=n&&ac(n[1]);return e&&JSON.parse(e)},Zr=()=>{try{return Jn()||op()||ap()||cp()}catch(n){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${n}`);return}},cc=n=>{var e,t;return(t=(e=Zr())===null||e===void 0?void 0:e.emulatorHosts)===null||t===void 0?void 0:t[n]},Li=n=>{const e=cc(n);if(!e)return;const t=e.lastIndexOf(":");if(t<=0||t+1===e.length)throw new Error(`Invalid host ${e} with no separate hostname and port!`);const r=parseInt(e.substring(t+1),10);return e[0]==="["?[e.substring(1,t-1),r]:[e.substring(0,t),r]},uc=()=>{var n;return(n=Zr())===null||n===void 0?void 0:n.config},lc=n=>{var e;return(e=Zr())===null||e===void 0?void 0:e[`_${n}`]};/**
|
|
62
47
|
* @license
|
|
63
48
|
* Copyright 2017 Google LLC
|
|
64
49
|
*
|
|
@@ -73,7 +58,7 @@
|
|
|
73
58
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
74
59
|
* See the License for the specific language governing permissions and
|
|
75
60
|
* limitations under the License.
|
|
76
|
-
*/class
|
|
61
|
+
*/class up{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
62
|
* @license
|
|
78
63
|
* Copyright 2021 Google LLC
|
|
79
64
|
*
|
|
@@ -88,7 +73,7 @@
|
|
|
88
73
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
89
74
|
* See the License for the specific language governing permissions and
|
|
90
75
|
* limitations under the License.
|
|
91
|
-
*/function
|
|
76
|
+
*/function hc(n,e){if(n.uid)throw new Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');const t={alg:"none",type:"JWT"},r=e||"demo-project",s=n.iat||0,i=n.sub||n.user_id;if(!i)throw new Error("mockUserToken must contain 'sub' or 'user_id' field!");const a=Object.assign({iss:`https://securetoken.google.com/${r}`,aud:r,iat:s,exp:s+3600,auth_time:s,sub:i,user_id:i,firebase:{sign_in_provider:"custom",identities:{}}},n);return[Jr(JSON.stringify(t)),Jr(JSON.stringify(a)),""].join(".")}/**
|
|
92
77
|
* @license
|
|
93
78
|
* Copyright 2017 Google LLC
|
|
94
79
|
*
|
|
@@ -103,7 +88,7 @@
|
|
|
103
88
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
104
89
|
* See the License for the specific language governing permissions and
|
|
105
90
|
* limitations under the License.
|
|
106
|
-
*/function Ee(){return typeof navigator<"u"&&typeof navigator.userAgent=="string"?navigator.userAgent:""}function
|
|
91
|
+
*/function Ee(){return typeof navigator<"u"&&typeof navigator.userAgent=="string"?navigator.userAgent:""}function lp(){return typeof window<"u"&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(Ee())}function hp(){var n;const e=(n=Zr())===null||n===void 0?void 0:n.forceEnvironment;if(e==="node")return!0;if(e==="browser")return!1;try{return Object.prototype.toString.call(global.process)==="[object process]"}catch{return!1}}function dp(){return typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"}function fp(){const n=typeof chrome=="object"?chrome.runtime:typeof browser=="object"?browser.runtime:void 0;return typeof n=="object"&&n.id!==void 0}function pp(){return typeof navigator=="object"&&navigator.product==="ReactNative"}function mp(){const n=Ee();return n.indexOf("MSIE ")>=0||n.indexOf("Trident/")>=0}function gp(){return!hp()&&!!navigator.userAgent&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")}function _p(){try{return typeof indexedDB=="object"}catch{return!1}}function yp(){return new Promise((n,e)=>{try{let t=!0;const r="validate-browser-context-for-indexeddb-analytics-module",s=self.indexedDB.open(r);s.onsuccess=()=>{s.result.close(),t||self.indexedDB.deleteDatabase(r),n(!0)},s.onupgradeneeded=()=>{t=!1},s.onerror=()=>{var i;e(((i=s.error)===null||i===void 0?void 0:i.message)||"")}}catch(t){e(t)}})}/**
|
|
107
92
|
* @license
|
|
108
93
|
* Copyright 2017 Google LLC
|
|
109
94
|
*
|
|
@@ -118,7 +103,7 @@
|
|
|
118
103
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
119
104
|
* See the License for the specific language governing permissions and
|
|
120
105
|
* limitations under the License.
|
|
121
|
-
*/const
|
|
106
|
+
*/const vp="FirebaseError";class ze extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=vp,Object.setPrototypeOf(this,ze.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,Zn.prototype.create)}}class Zn{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},s=`${this.service}/${e}`,i=this.errors[e],a=i?Ep(i,r):"Error",c=`${this.serviceName}: ${a} (${s}).`;return new ze(s,c,r)}}function Ep(n,e){return n.replace(Tp,(t,r)=>{const s=e[r];return s!=null?String(s):`<${r}?>`})}const Tp=/\{\$([^}]+)}/g;function wp(n){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e))return!1;return!0}function Qt(n,e){if(n===e)return!0;const t=Object.keys(n),r=Object.keys(e);for(const s of t){if(!r.includes(s))return!1;const i=n[s],a=e[s];if(dc(i)&&dc(a)){if(!Qt(i,a))return!1}else if(i!==a)return!1}for(const s of r)if(!t.includes(s))return!1;return!0}function dc(n){return n!==null&&typeof n=="object"}/**
|
|
122
107
|
* @license
|
|
123
108
|
* Copyright 2017 Google LLC
|
|
124
109
|
*
|
|
@@ -133,7 +118,7 @@
|
|
|
133
118
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
134
119
|
* See the License for the specific language governing permissions and
|
|
135
120
|
* limitations under the License.
|
|
136
|
-
*/function
|
|
121
|
+
*/function er(n){const e=[];for(const[t,r]of Object.entries(n))Array.isArray(r)?r.forEach(s=>{e.push(encodeURIComponent(t)+"="+encodeURIComponent(s))}):e.push(encodeURIComponent(t)+"="+encodeURIComponent(r));return e.length?"&"+e.join("&"):""}function tr(n){const e={};return n.replace(/^\?/,"").split("&").forEach(r=>{if(r){const[s,i]=r.split("=");e[decodeURIComponent(s)]=decodeURIComponent(i)}}),e}function nr(n){const e=n.indexOf("?");if(!e)return"";const t=n.indexOf("#",e);return n.substring(e,t>0?t:void 0)}function Ip(n,e){const t=new Ap(n,e);return t.subscribe.bind(t)}class Ap{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 s;if(e===void 0&&t===void 0&&r===void 0)throw new Error("Missing Observer.");Rp(e,["next","error","complete"])?s=e:s={next:e,error:t,complete:r},s.next===void 0&&(s.next=Mi),s.error===void 0&&(s.error=Mi),s.complete===void 0&&(s.complete=Mi);const i=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?s.error(this.finalError):s.complete()}catch{}}),this.observers.push(s),i}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 Rp(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 Mi(){}/**
|
|
137
122
|
* @license
|
|
138
123
|
* Copyright 2021 Google LLC
|
|
139
124
|
*
|
|
@@ -148,7 +133,7 @@
|
|
|
148
133
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
149
134
|
* See the License for the specific language governing permissions and
|
|
150
135
|
* limitations under the License.
|
|
151
|
-
*/function
|
|
136
|
+
*/function X(n){return n&&n._delegate?n._delegate:n}class ht{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}/**
|
|
152
137
|
* @license
|
|
153
138
|
* Copyright 2019 Google LLC
|
|
154
139
|
*
|
|
@@ -163,7 +148,7 @@
|
|
|
163
148
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
164
149
|
* See the License for the specific language governing permissions and
|
|
165
150
|
* limitations under the License.
|
|
166
|
-
*/const
|
|
151
|
+
*/const Xt="[DEFAULT]";/**
|
|
167
152
|
* @license
|
|
168
153
|
* Copyright 2019 Google LLC
|
|
169
154
|
*
|
|
@@ -178,7 +163,7 @@
|
|
|
178
163
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
179
164
|
* See the License for the specific language governing permissions and
|
|
180
165
|
* limitations under the License.
|
|
181
|
-
*/class
|
|
166
|
+
*/class bp{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 up;if(this.instancesDeferred.set(t,r),this.isInitialized(t)||this.shouldAutoInitialize())try{const s=this.getOrInitializeService({instanceIdentifier:t});s&&r.resolve(s)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e==null?void 0:e.identifier),s=(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(i){if(s)return null;throw i}else{if(s)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(Sp(e))try{this.getOrInitializeService({instanceIdentifier:Xt})}catch{}for(const[t,r]of this.instancesDeferred.entries()){const s=this.normalizeInstanceIdentifier(t);try{const i=this.getOrInitializeService({instanceIdentifier:s});r.resolve(i)}catch{}}}}clearInstance(e=Xt){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=Xt){return this.instances.has(e)}getOptions(e=Xt){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 s=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[i,a]of this.instancesDeferred.entries()){const c=this.normalizeInstanceIdentifier(i);r===c&&a.resolve(s)}return s}onInit(e,t){var r;const s=this.normalizeInstanceIdentifier(t),i=(r=this.onInitCallbacks.get(s))!==null&&r!==void 0?r:new Set;i.add(e),this.onInitCallbacks.set(s,i);const a=this.instances.get(s);return a&&e(a,s),()=>{i.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const s of r)try{s(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:Pp(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=Xt){return this.component?this.component.multipleInstances?e:Xt:e}shouldAutoInitialize(){return!!this.component&&this.component.instantiationMode!=="EXPLICIT"}}function Pp(n){return n===Xt?void 0:n}function Sp(n){return n.instantiationMode==="EAGER"}/**
|
|
182
167
|
* @license
|
|
183
168
|
* Copyright 2019 Google LLC
|
|
184
169
|
*
|
|
@@ -193,7 +178,7 @@
|
|
|
193
178
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
194
179
|
* See the License for the specific language governing permissions and
|
|
195
180
|
* limitations under the License.
|
|
196
|
-
*/class
|
|
181
|
+
*/class Cp{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 bp(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}/**
|
|
197
182
|
* @license
|
|
198
183
|
* Copyright 2017 Google LLC
|
|
199
184
|
*
|
|
@@ -208,7 +193,7 @@
|
|
|
208
193
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
209
194
|
* See the License for the specific language governing permissions and
|
|
210
195
|
* limitations under the License.
|
|
211
|
-
*/var
|
|
196
|
+
*/var z;(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"})(z||(z={}));const kp={debug:z.DEBUG,verbose:z.VERBOSE,info:z.INFO,warn:z.WARN,error:z.ERROR,silent:z.SILENT},Np=z.INFO,Dp={[z.DEBUG]:"log",[z.VERBOSE]:"log",[z.INFO]:"info",[z.WARN]:"warn",[z.ERROR]:"error"},Op=(n,e,...t)=>{if(e<n.logLevel)return;const r=new Date().toISOString(),s=Dp[e];if(s)console[s](`[${r}] ${n.name}:`,...t);else throw new Error(`Attempted to log a message with an invalid logType (value: ${e})`)};class Ui{constructor(e){this.name=e,this._logLevel=Np,this._logHandler=Op,this._userLogHandler=null}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in z))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel=typeof e=="string"?kp[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,z.DEBUG,...e),this._logHandler(this,z.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,z.VERBOSE,...e),this._logHandler(this,z.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,z.INFO,...e),this._logHandler(this,z.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,z.WARN,...e),this._logHandler(this,z.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,z.ERROR,...e),this._logHandler(this,z.ERROR,...e)}}const Vp=(n,e)=>e.some(t=>n instanceof t);let fc,pc;function Lp(){return fc||(fc=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Mp(){return pc||(pc=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const mc=new WeakMap,xi=new WeakMap,gc=new WeakMap,Fi=new WeakMap,Bi=new WeakMap;function Up(n){const e=new Promise((t,r)=>{const s=()=>{n.removeEventListener("success",i),n.removeEventListener("error",a)},i=()=>{t(Rt(n.result)),s()},a=()=>{r(n.error),s()};n.addEventListener("success",i),n.addEventListener("error",a)});return e.then(t=>{t instanceof IDBCursor&&mc.set(t,n)}).catch(()=>{}),Bi.set(e,n),e}function xp(n){if(xi.has(n))return;const e=new Promise((t,r)=>{const s=()=>{n.removeEventListener("complete",i),n.removeEventListener("error",a),n.removeEventListener("abort",a)},i=()=>{t(),s()},a=()=>{r(n.error||new DOMException("AbortError","AbortError")),s()};n.addEventListener("complete",i),n.addEventListener("error",a),n.addEventListener("abort",a)});xi.set(n,e)}let ji={get(n,e,t){if(n instanceof IDBTransaction){if(e==="done")return xi.get(n);if(e==="objectStoreNames")return n.objectStoreNames||gc.get(n);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return Rt(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 Fp(n){ji=n(ji)}function Bp(n){return n===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...t){const r=n.call(qi(this),e,...t);return gc.set(r,e.sort?e.sort():[e]),Rt(r)}:Mp().includes(n)?function(...e){return n.apply(qi(this),e),Rt(mc.get(this))}:function(...e){return Rt(n.apply(qi(this),e))}}function jp(n){return typeof n=="function"?Bp(n):(n instanceof IDBTransaction&&xp(n),Vp(n,Lp())?new Proxy(n,ji):n)}function Rt(n){if(n instanceof IDBRequest)return Up(n);if(Fi.has(n))return Fi.get(n);const e=jp(n);return e!==n&&(Fi.set(n,e),Bi.set(e,n)),e}const qi=n=>Bi.get(n);function qp(n,e,{blocked:t,upgrade:r,blocking:s,terminated:i}={}){const a=indexedDB.open(n,e),c=Rt(a);return r&&a.addEventListener("upgradeneeded",l=>{r(Rt(a.result),l.oldVersion,l.newVersion,Rt(a.transaction),l)}),t&&a.addEventListener("blocked",l=>t(l.oldVersion,l.newVersion,l)),c.then(l=>{i&&l.addEventListener("close",()=>i()),s&&l.addEventListener("versionchange",d=>s(d.oldVersion,d.newVersion,d))}).catch(()=>{}),c}const $p=["get","getKey","getAll","getAllKeys","count"],Hp=["put","add","delete","clear"],$i=new Map;function _c(n,e){if(!(n instanceof IDBDatabase&&!(e in n)&&typeof e=="string"))return;if($i.get(e))return $i.get(e);const t=e.replace(/FromIndex$/,""),r=e!==t,s=Hp.includes(t);if(!(t in(r?IDBIndex:IDBObjectStore).prototype)||!(s||$p.includes(t)))return;const i=async function(a,...c){const l=this.transaction(a,s?"readwrite":"readonly");let d=l.store;return r&&(d=d.index(c.shift())),(await Promise.all([d[t](...c),s&&l.done]))[0]};return $i.set(e,i),i}Fp(n=>({...n,get:(e,t,r)=>_c(e,t)||n.get(e,t,r),has:(e,t)=>!!_c(e,t)||n.has(e,t)}));/**
|
|
212
197
|
* @license
|
|
213
198
|
* Copyright 2019 Google LLC
|
|
214
199
|
*
|
|
@@ -223,7 +208,7 @@
|
|
|
223
208
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
224
209
|
* See the License for the specific language governing permissions and
|
|
225
210
|
* limitations under the License.
|
|
226
|
-
*/class
|
|
211
|
+
*/class zp{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(t=>{if(Wp(t)){const r=t.getImmediate();return`${r.library}/${r.version}`}else return null}).filter(t=>t).join(" ")}}function Wp(n){const e=n.getComponent();return(e==null?void 0:e.type)==="VERSION"}const Hi="@firebase/app",yc="0.11.2";/**
|
|
227
212
|
* @license
|
|
228
213
|
* Copyright 2019 Google LLC
|
|
229
214
|
*
|
|
@@ -238,7 +223,7 @@
|
|
|
238
223
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
239
224
|
* See the License for the specific language governing permissions and
|
|
240
225
|
* limitations under the License.
|
|
241
|
-
*/const
|
|
226
|
+
*/const dt=new Ui("@firebase/app"),Gp="@firebase/app-compat",Kp="@firebase/analytics-compat",Qp="@firebase/analytics",Xp="@firebase/app-check-compat",Yp="@firebase/app-check",Jp="@firebase/auth",Zp="@firebase/auth-compat",em="@firebase/database",tm="@firebase/data-connect",nm="@firebase/database-compat",rm="@firebase/functions",sm="@firebase/functions-compat",im="@firebase/installations",om="@firebase/installations-compat",am="@firebase/messaging",cm="@firebase/messaging-compat",um="@firebase/performance",lm="@firebase/performance-compat",hm="@firebase/remote-config",dm="@firebase/remote-config-compat",fm="@firebase/storage",pm="@firebase/storage-compat",mm="@firebase/firestore",gm="@firebase/vertexai",_m="@firebase/firestore-compat",ym="firebase",vm="11.4.0";/**
|
|
242
227
|
* @license
|
|
243
228
|
* Copyright 2019 Google LLC
|
|
244
229
|
*
|
|
@@ -253,7 +238,7 @@
|
|
|
253
238
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
254
239
|
* See the License for the specific language governing permissions and
|
|
255
240
|
* limitations under the License.
|
|
256
|
-
*/const
|
|
241
|
+
*/const zi="[DEFAULT]",Em={[Hi]:"fire-core",[Gp]:"fire-core-compat",[Qp]:"fire-analytics",[Kp]:"fire-analytics-compat",[Yp]:"fire-app-check",[Xp]:"fire-app-check-compat",[Jp]:"fire-auth",[Zp]:"fire-auth-compat",[em]:"fire-rtdb",[tm]:"fire-data-connect",[nm]:"fire-rtdb-compat",[rm]:"fire-fn",[sm]:"fire-fn-compat",[im]:"fire-iid",[om]:"fire-iid-compat",[am]:"fire-fcm",[cm]:"fire-fcm-compat",[um]:"fire-perf",[lm]:"fire-perf-compat",[hm]:"fire-rc",[dm]:"fire-rc-compat",[fm]:"fire-gcs",[pm]:"fire-gcs-compat",[mm]:"fire-fst",[_m]:"fire-fst-compat",[gm]:"fire-vertex","fire-js":"fire-js",[ym]:"fire-js-all"};/**
|
|
257
242
|
* @license
|
|
258
243
|
* Copyright 2019 Google LLC
|
|
259
244
|
*
|
|
@@ -268,7 +253,7 @@
|
|
|
268
253
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
269
254
|
* See the License for the specific language governing permissions and
|
|
270
255
|
* limitations under the License.
|
|
271
|
-
*/const
|
|
256
|
+
*/const es=new Map,Tm=new Map,Wi=new Map;function vc(n,e){try{n.container.addComponent(e)}catch(t){dt.debug(`Component ${e.name} failed to register with FirebaseApp ${n.name}`,t)}}function bt(n){const e=n.name;if(Wi.has(e))return dt.debug(`There were multiple attempts to register component ${e}.`),!1;Wi.set(e,n);for(const t of es.values())vc(t,n);for(const t of Tm.values())vc(t,n);return!0}function rr(n,e){const t=n.container.getProvider("heartbeat").getImmediate({optional:!0});return t&&t.triggerHeartbeat(),n.container.getProvider(e)}function Te(n){return n==null?!1:n.settings!==void 0}/**
|
|
272
257
|
* @license
|
|
273
258
|
* Copyright 2019 Google LLC
|
|
274
259
|
*
|
|
@@ -283,7 +268,7 @@
|
|
|
283
268
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
284
269
|
* See the License for the specific language governing permissions and
|
|
285
270
|
* limitations under the License.
|
|
286
|
-
*/const
|
|
271
|
+
*/const wm={"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","server-app-deleted":"Firebase Server App has been 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}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."},Pt=new Zn("app","Firebase",wm);/**
|
|
287
272
|
* @license
|
|
288
273
|
* Copyright 2019 Google LLC
|
|
289
274
|
*
|
|
@@ -298,7 +283,7 @@
|
|
|
298
283
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
299
284
|
* See the License for the specific language governing permissions and
|
|
300
285
|
* limitations under the License.
|
|
301
|
-
*/class
|
|
286
|
+
*/class Im{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 ht("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 Pt.create("app-deleted",{appName:this._name})}}/**
|
|
302
287
|
* @license
|
|
303
288
|
* Copyright 2019 Google LLC
|
|
304
289
|
*
|
|
@@ -313,7 +298,7 @@
|
|
|
313
298
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
314
299
|
* See the License for the specific language governing permissions and
|
|
315
300
|
* limitations under the License.
|
|
316
|
-
*/const
|
|
301
|
+
*/const Yt=vm;function Ec(n,e={}){let t=n;typeof e!="object"&&(e={name:e});const r=Object.assign({name:zi,automaticDataCollectionEnabled:!1},e),s=r.name;if(typeof s!="string"||!s)throw Pt.create("bad-app-name",{appName:String(s)});if(t||(t=uc()),!t)throw Pt.create("no-options");const i=es.get(s);if(i){if(Qt(t,i.options)&&Qt(r,i.config))return i;throw Pt.create("duplicate-app",{appName:s})}const a=new Cp(s);for(const l of Wi.values())a.addComponent(l);const c=new Im(t,r,a);return es.set(s,c),c}function ts(n=zi){const e=es.get(n);if(!e&&n===zi&&uc())return Ec();if(!e)throw Pt.create("no-app",{appName:n});return e}function qe(n,e,t){var r;let s=(r=Em[n])!==null&&r!==void 0?r:n;t&&(s+=`-${t}`);const i=s.match(/\s|\//),a=e.match(/\s|\//);if(i||a){const c=[`Unable to register library "${s}" with version "${e}":`];i&&c.push(`library name "${s}" contains illegal characters (whitespace or "/")`),i&&a&&c.push("and"),a&&c.push(`version name "${e}" contains illegal characters (whitespace or "/")`),dt.warn(c.join(" "));return}bt(new ht(`${s}-version`,()=>({library:s,version:e}),"VERSION"))}/**
|
|
317
302
|
* @license
|
|
318
303
|
* Copyright 2021 Google LLC
|
|
319
304
|
*
|
|
@@ -328,7 +313,7 @@
|
|
|
328
313
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
329
314
|
* See the License for the specific language governing permissions and
|
|
330
315
|
* limitations under the License.
|
|
331
|
-
*/const
|
|
316
|
+
*/const Am="firebase-heartbeat-database",Rm=1,sr="firebase-heartbeat-store";let Gi=null;function Tc(){return Gi||(Gi=qp(Am,Rm,{upgrade:(n,e)=>{switch(e){case 0:try{n.createObjectStore(sr)}catch(t){console.warn(t)}}}}).catch(n=>{throw Pt.create("idb-open",{originalErrorMessage:n.message})})),Gi}async function bm(n){try{const t=(await Tc()).transaction(sr),r=await t.objectStore(sr).get(Ic(n));return await t.done,r}catch(e){if(e instanceof ze)dt.warn(e.message);else{const t=Pt.create("idb-get",{originalErrorMessage:e==null?void 0:e.message});dt.warn(t.message)}}}async function wc(n,e){try{const r=(await Tc()).transaction(sr,"readwrite");await r.objectStore(sr).put(e,Ic(n)),await r.done}catch(t){if(t instanceof ze)dt.warn(t.message);else{const r=Pt.create("idb-set",{originalErrorMessage:t==null?void 0:t.message});dt.warn(r.message)}}}function Ic(n){return`${n.name}!${n.options.appId}`}/**
|
|
332
317
|
* @license
|
|
333
318
|
* Copyright 2021 Google LLC
|
|
334
319
|
*
|
|
@@ -343,7 +328,7 @@
|
|
|
343
328
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
344
329
|
* See the License for the specific language governing permissions and
|
|
345
330
|
* limitations under the License.
|
|
346
|
-
*/const
|
|
331
|
+
*/const Pm=1024,Sm=30;class Cm{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Nm(t),this._heartbeatsCachePromise=this._storage.read().then(r=>(this._heartbeatsCache=r,r))}async triggerHeartbeat(){var e,t;try{const s=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),i=Ac();if(((e=this._heartbeatsCache)===null||e===void 0?void 0:e.heartbeats)==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,((t=this._heartbeatsCache)===null||t===void 0?void 0:t.heartbeats)==null)||this._heartbeatsCache.lastSentHeartbeatDate===i||this._heartbeatsCache.heartbeats.some(a=>a.date===i))return;if(this._heartbeatsCache.heartbeats.push({date:i,agent:s}),this._heartbeatsCache.heartbeats.length>Sm){const a=Dm(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(a,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(r){dt.warn(r)}}async getHeartbeatsHeader(){var e;try{if(this._heartbeatsCache===null&&await this._heartbeatsCachePromise,((e=this._heartbeatsCache)===null||e===void 0?void 0:e.heartbeats)==null||this._heartbeatsCache.heartbeats.length===0)return"";const t=Ac(),{heartbeatsToSend:r,unsentEntries:s}=km(this._heartbeatsCache.heartbeats),i=Jr(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,s.length>0?(this._heartbeatsCache.heartbeats=s,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),i}catch(t){return dt.warn(t),""}}}function Ac(){return new Date().toISOString().substring(0,10)}function km(n,e=Pm){const t=[];let r=n.slice();for(const s of n){const i=t.find(a=>a.agent===s.agent);if(i){if(i.dates.push(s.date),Rc(t)>e){i.dates.pop();break}}else if(t.push({agent:s.agent,dates:[s.date]}),Rc(t)>e){t.pop();break}r=r.slice(1)}return{heartbeatsToSend:t,unsentEntries:r}}class Nm{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return _p()?yp().then(()=>!0).catch(()=>!1):!1}async read(){if(await this._canUseIndexedDBPromise){const t=await bm(this.app);return t!=null&&t.heartbeats?t:{heartbeats:[]}}else return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const s=await this.read();return wc(this.app,{lastSentHeartbeatDate:(t=e.lastSentHeartbeatDate)!==null&&t!==void 0?t:s.lastSentHeartbeatDate,heartbeats:e.heartbeats})}else return}async add(e){var t;if(await this._canUseIndexedDBPromise){const s=await this.read();return wc(this.app,{lastSentHeartbeatDate:(t=e.lastSentHeartbeatDate)!==null&&t!==void 0?t:s.lastSentHeartbeatDate,heartbeats:[...s.heartbeats,...e.heartbeats]})}else return}}function Rc(n){return Jr(JSON.stringify({version:2,heartbeats:n})).length}function Dm(n){if(n.length===0)return-1;let e=0,t=n[0].date;for(let r=1;r<n.length;r++)n[r].date<t&&(t=n[r].date,e=r);return e}/**
|
|
347
332
|
* @license
|
|
348
333
|
* Copyright 2019 Google LLC
|
|
349
334
|
*
|
|
@@ -358,29 +343,29 @@
|
|
|
358
343
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
359
344
|
* See the License for the specific language governing permissions and
|
|
360
345
|
* limitations under the License.
|
|
361
|
-
*/function
|
|
346
|
+
*/function Om(n){bt(new ht("platform-logger",e=>new zp(e),"PRIVATE")),bt(new ht("heartbeat",e=>new Cm(e),"PRIVATE")),qe(Hi,yc,n),qe(Hi,yc,"esm2017"),qe("fire-js","")}Om("");var bc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};/** @license
|
|
362
347
|
Copyright The Closure Library Authors.
|
|
363
348
|
SPDX-License-Identifier: Apache-2.0
|
|
364
|
-
*/var
|
|
349
|
+
*/var St,Pc;(function(){var n;/** @license
|
|
365
350
|
|
|
366
351
|
Copyright The Closure Library Authors.
|
|
367
352
|
SPDX-License-Identifier: Apache-2.0
|
|
368
|
-
*/function e(T,m){function _(){}_.prototype=m.prototype,T.D=m.prototype,T.prototype=new _,T.prototype.constructor=T,T.C=function(E,w,A){for(var y=Array(arguments.length-2),vt=2;vt<arguments.length;vt++)y[vt-2]=arguments[vt];return m.prototype[w].apply(E,y)}}function t(){this.blockSize=-1}function r(){this.blockSize=-1,this.blockSize=64,this.g=Array(4),this.B=Array(this.blockSize),this.o=this.h=0,this.s()}e(r,t),r.prototype.s=function(){this.g[0]=1732584193,this.g[1]=4023233417,this.g[2]=2562383102,this.g[3]=271733878,this.o=this.h=0};function s(T,m,_){_||(_=0);var E=Array(16);if(typeof m=="string")for(var w=0;16>w;++w)E[w]=m.charCodeAt(_++)|m.charCodeAt(_++)<<8|m.charCodeAt(_++)<<16|m.charCodeAt(_++)<<24;else for(w=0;16>w;++w)E[w]=m[_++]|m[_++]<<8|m[_++]<<16|m[_++]<<24;m=T.g[0],_=T.g[1],w=T.g[2];var A=T.g[3],y=m+(A^_&(w^A))+E[0]+3614090360&4294967295;m=_+(y<<7&4294967295|y>>>25),y=A+(w^m&(_^w))+E[1]+3905402710&4294967295,A=m+(y<<12&4294967295|y>>>20),y=w+(_^A&(m^_))+E[2]+606105819&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(m^w&(A^m))+E[3]+3250441966&4294967295,_=w+(y<<22&4294967295|y>>>10),y=m+(A^_&(w^A))+E[4]+4118548399&4294967295,m=_+(y<<7&4294967295|y>>>25),y=A+(w^m&(_^w))+E[5]+1200080426&4294967295,A=m+(y<<12&4294967295|y>>>20),y=w+(_^A&(m^_))+E[6]+2821735955&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(m^w&(A^m))+E[7]+4249261313&4294967295,_=w+(y<<22&4294967295|y>>>10),y=m+(A^_&(w^A))+E[8]+1770035416&4294967295,m=_+(y<<7&4294967295|y>>>25),y=A+(w^m&(_^w))+E[9]+2336552879&4294967295,A=m+(y<<12&4294967295|y>>>20),y=w+(_^A&(m^_))+E[10]+4294925233&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(m^w&(A^m))+E[11]+2304563134&4294967295,_=w+(y<<22&4294967295|y>>>10),y=m+(A^_&(w^A))+E[12]+1804603682&4294967295,m=_+(y<<7&4294967295|y>>>25),y=A+(w^m&(_^w))+E[13]+4254626195&4294967295,A=m+(y<<12&4294967295|y>>>20),y=w+(_^A&(m^_))+E[14]+2792965006&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(m^w&(A^m))+E[15]+1236535329&4294967295,_=w+(y<<22&4294967295|y>>>10),y=m+(w^A&(_^w))+E[1]+4129170786&4294967295,m=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(m^_))+E[6]+3225465664&4294967295,A=m+(y<<9&4294967295|y>>>23),y=w+(m^_&(A^m))+E[11]+643717713&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^m&(w^A))+E[0]+3921069994&4294967295,_=w+(y<<20&4294967295|y>>>12),y=m+(w^A&(_^w))+E[5]+3593408605&4294967295,m=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(m^_))+E[10]+38016083&4294967295,A=m+(y<<9&4294967295|y>>>23),y=w+(m^_&(A^m))+E[15]+3634488961&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^m&(w^A))+E[4]+3889429448&4294967295,_=w+(y<<20&4294967295|y>>>12),y=m+(w^A&(_^w))+E[9]+568446438&4294967295,m=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(m^_))+E[14]+3275163606&4294967295,A=m+(y<<9&4294967295|y>>>23),y=w+(m^_&(A^m))+E[3]+4107603335&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^m&(w^A))+E[8]+1163531501&4294967295,_=w+(y<<20&4294967295|y>>>12),y=m+(w^A&(_^w))+E[13]+2850285829&4294967295,m=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(m^_))+E[2]+4243563512&4294967295,A=m+(y<<9&4294967295|y>>>23),y=w+(m^_&(A^m))+E[7]+1735328473&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^m&(w^A))+E[12]+2368359562&4294967295,_=w+(y<<20&4294967295|y>>>12),y=m+(_^w^A)+E[5]+4294588738&4294967295,m=_+(y<<4&4294967295|y>>>28),y=A+(m^_^w)+E[8]+2272392833&4294967295,A=m+(y<<11&4294967295|y>>>21),y=w+(A^m^_)+E[11]+1839030562&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^m)+E[14]+4259657740&4294967295,_=w+(y<<23&4294967295|y>>>9),y=m+(_^w^A)+E[1]+2763975236&4294967295,m=_+(y<<4&4294967295|y>>>28),y=A+(m^_^w)+E[4]+1272893353&4294967295,A=m+(y<<11&4294967295|y>>>21),y=w+(A^m^_)+E[7]+4139469664&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^m)+E[10]+3200236656&4294967295,_=w+(y<<23&4294967295|y>>>9),y=m+(_^w^A)+E[13]+681279174&4294967295,m=_+(y<<4&4294967295|y>>>28),y=A+(m^_^w)+E[0]+3936430074&4294967295,A=m+(y<<11&4294967295|y>>>21),y=w+(A^m^_)+E[3]+3572445317&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^m)+E[6]+76029189&4294967295,_=w+(y<<23&4294967295|y>>>9),y=m+(_^w^A)+E[9]+3654602809&4294967295,m=_+(y<<4&4294967295|y>>>28),y=A+(m^_^w)+E[12]+3873151461&4294967295,A=m+(y<<11&4294967295|y>>>21),y=w+(A^m^_)+E[15]+530742520&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^m)+E[2]+3299628645&4294967295,_=w+(y<<23&4294967295|y>>>9),y=m+(w^(_|~A))+E[0]+4096336452&4294967295,m=_+(y<<6&4294967295|y>>>26),y=A+(_^(m|~w))+E[7]+1126891415&4294967295,A=m+(y<<10&4294967295|y>>>22),y=w+(m^(A|~_))+E[14]+2878612391&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~m))+E[5]+4237533241&4294967295,_=w+(y<<21&4294967295|y>>>11),y=m+(w^(_|~A))+E[12]+1700485571&4294967295,m=_+(y<<6&4294967295|y>>>26),y=A+(_^(m|~w))+E[3]+2399980690&4294967295,A=m+(y<<10&4294967295|y>>>22),y=w+(m^(A|~_))+E[10]+4293915773&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~m))+E[1]+2240044497&4294967295,_=w+(y<<21&4294967295|y>>>11),y=m+(w^(_|~A))+E[8]+1873313359&4294967295,m=_+(y<<6&4294967295|y>>>26),y=A+(_^(m|~w))+E[15]+4264355552&4294967295,A=m+(y<<10&4294967295|y>>>22),y=w+(m^(A|~_))+E[6]+2734768916&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~m))+E[13]+1309151649&4294967295,_=w+(y<<21&4294967295|y>>>11),y=m+(w^(_|~A))+E[4]+4149444226&4294967295,m=_+(y<<6&4294967295|y>>>26),y=A+(_^(m|~w))+E[11]+3174756917&4294967295,A=m+(y<<10&4294967295|y>>>22),y=w+(m^(A|~_))+E[2]+718787259&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~m))+E[9]+3951481745&4294967295,T.g[0]=T.g[0]+m&4294967295,T.g[1]=T.g[1]+(w+(y<<21&4294967295|y>>>11))&4294967295,T.g[2]=T.g[2]+w&4294967295,T.g[3]=T.g[3]+A&4294967295}r.prototype.u=function(T,m){m===void 0&&(m=T.length);for(var _=m-this.blockSize,E=this.B,w=this.h,A=0;A<m;){if(w==0)for(;A<=_;)s(this,T,A),A+=this.blockSize;if(typeof T=="string"){for(;A<m;)if(E[w++]=T.charCodeAt(A++),w==this.blockSize){s(this,E),w=0;break}}else for(;A<m;)if(E[w++]=T[A++],w==this.blockSize){s(this,E),w=0;break}}this.h=w,this.o+=m},r.prototype.v=function(){var T=Array((56>this.h?this.blockSize:2*this.blockSize)-this.h);T[0]=128;for(var m=1;m<T.length-8;++m)T[m]=0;var _=8*this.o;for(m=T.length-8;m<T.length;++m)T[m]=_&255,_/=256;for(this.u(T),T=Array(16),m=_=0;4>m;++m)for(var E=0;32>E;E+=8)T[_++]=this.g[m]>>>E&255;return T};function i(T,m){var _=c;return Object.prototype.hasOwnProperty.call(_,T)?_[T]:_[T]=m(T)}function a(T,m){this.h=m;for(var _=[],E=!0,w=T.length-1;0<=w;w--){var A=T[w]|0;E&&A==m||(_[w]=A,E=!1)}this.g=_}var c={};function l(T){return-128<=T&&128>T?i(T,function(m){return new a([m|0],0>m?-1:0)}):new a([T|0],0>T?-1:0)}function d(T){if(isNaN(T)||!isFinite(T))return g;if(0>T)return S(d(-T));for(var m=[],_=1,E=0;T>=_;E++)m[E]=T/_|0,_*=4294967296;return new a(m,0)}function p(T,m){if(T.length==0)throw Error("number format error: empty string");if(m=m||10,2>m||36<m)throw Error("radix out of range: "+m);if(T.charAt(0)=="-")return S(p(T.substring(1),m));if(0<=T.indexOf("-"))throw Error('number format error: interior "-" character');for(var _=d(Math.pow(m,8)),E=g,w=0;w<T.length;w+=8){var A=Math.min(8,T.length-w),y=parseInt(T.substring(w,w+A),m);8>A?(A=d(Math.pow(m,A)),E=E.j(A).add(d(y))):(E=E.j(_),E=E.add(d(y)))}return E}var g=l(0),v=l(1),R=l(16777216);n=a.prototype,n.m=function(){if(N(this))return-S(this).m();for(var T=0,m=1,_=0;_<this.g.length;_++){var E=this.i(_);T+=(0<=E?E:4294967296+E)*m,m*=4294967296}return T},n.toString=function(T){if(T=T||10,2>T||36<T)throw Error("radix out of range: "+T);if(C(this))return"0";if(N(this))return"-"+S(this).toString(T);for(var m=d(Math.pow(T,6)),_=this,E="";;){var w=z(_,m).g;_=U(_,w.j(m));var A=((0<_.g.length?_.g[0]:_.h)>>>0).toString(T);if(_=w,C(_))return A+E;for(;6>A.length;)A="0"+A;E=A+E}},n.i=function(T){return 0>T?0:T<this.g.length?this.g[T]:this.h};function C(T){if(T.h!=0)return!1;for(var m=0;m<T.g.length;m++)if(T.g[m]!=0)return!1;return!0}function N(T){return T.h==-1}n.l=function(T){return T=U(this,T),N(T)?-1:C(T)?0:1};function S(T){for(var m=T.g.length,_=[],E=0;E<m;E++)_[E]=~T.g[E];return new a(_,~T.h).add(v)}n.abs=function(){return N(this)?S(this):this},n.add=function(T){for(var m=Math.max(this.g.length,T.g.length),_=[],E=0,w=0;w<=m;w++){var A=E+(this.i(w)&65535)+(T.i(w)&65535),y=(A>>>16)+(this.i(w)>>>16)+(T.i(w)>>>16);E=y>>>16,A&=65535,y&=65535,_[w]=y<<16|A}return new a(_,_[_.length-1]&-2147483648?-1:0)};function U(T,m){return T.add(S(m))}n.j=function(T){if(C(this)||C(T))return g;if(N(this))return N(T)?S(this).j(S(T)):S(S(this).j(T));if(N(T))return S(this.j(S(T)));if(0>this.l(R)&&0>T.l(R))return d(this.m()*T.m());for(var m=this.g.length+T.g.length,_=[],E=0;E<2*m;E++)_[E]=0;for(E=0;E<this.g.length;E++)for(var w=0;w<T.g.length;w++){var A=this.i(E)>>>16,y=this.i(E)&65535,vt=T.i(w)>>>16,Cr=T.i(w)&65535;_[2*E+2*w]+=y*Cr,$(_,2*E+2*w),_[2*E+2*w+1]+=A*Cr,$(_,2*E+2*w+1),_[2*E+2*w+1]+=y*vt,$(_,2*E+2*w+1),_[2*E+2*w+2]+=A*vt,$(_,2*E+2*w+2)}for(E=0;E<m;E++)_[E]=_[2*E+1]<<16|_[2*E];for(E=m;E<2*m;E++)_[E]=0;return new a(_,0)};function $(T,m){for(;(T[m]&65535)!=T[m];)T[m+1]+=T[m]>>>16,T[m]&=65535,m++}function x(T,m){this.g=T,this.h=m}function z(T,m){if(C(m))throw Error("division by zero");if(C(T))return new x(g,g);if(N(T))return m=z(S(T),m),new x(S(m.g),S(m.h));if(N(m))return m=z(T,S(m)),new x(S(m.g),m.h);if(30<T.g.length){if(N(T)||N(m))throw Error("slowDivide_ only works with positive integers.");for(var _=v,E=m;0>=E.l(T);)_=le(_),E=le(E);var w=J(_,1),A=J(E,1);for(E=J(E,2),_=J(_,2);!C(E);){var y=A.add(E);0>=y.l(T)&&(w=w.add(_),A=y),E=J(E,1),_=J(_,1)}return m=U(T,w.j(m)),new x(w,m)}for(w=g;0<=T.l(m);){for(_=Math.max(1,Math.floor(T.m()/m.m())),E=Math.ceil(Math.log(_)/Math.LN2),E=48>=E?1:Math.pow(2,E-48),A=d(_),y=A.j(m);N(y)||0<y.l(T);)_-=E,A=d(_),y=A.j(m);C(A)&&(A=v),w=w.add(A),T=U(T,y)}return new x(w,T)}n.A=function(T){return z(this,T).h},n.and=function(T){for(var m=Math.max(this.g.length,T.g.length),_=[],E=0;E<m;E++)_[E]=this.i(E)&T.i(E);return new a(_,this.h&T.h)},n.or=function(T){for(var m=Math.max(this.g.length,T.g.length),_=[],E=0;E<m;E++)_[E]=this.i(E)|T.i(E);return new a(_,this.h|T.h)},n.xor=function(T){for(var m=Math.max(this.g.length,T.g.length),_=[],E=0;E<m;E++)_[E]=this.i(E)^T.i(E);return new a(_,this.h^T.h)};function le(T){for(var m=T.g.length+1,_=[],E=0;E<m;E++)_[E]=T.i(E)<<1|T.i(E-1)>>>31;return new a(_,T.h)}function J(T,m){var _=m>>5;m%=32;for(var E=T.g.length-_,w=[],A=0;A<E;A++)w[A]=0<m?T.i(A+_)>>>m|T.i(A+_+1)<<32-m:T.i(A+_);return new a(w,T.h)}r.prototype.digest=r.prototype.v,r.prototype.reset=r.prototype.s,r.prototype.update=r.prototype.u,hc=r,a.prototype.add=a.prototype.add,a.prototype.multiply=a.prototype.j,a.prototype.modulo=a.prototype.A,a.prototype.compare=a.prototype.l,a.prototype.toNumber=a.prototype.m,a.prototype.toString=a.prototype.toString,a.prototype.getBits=a.prototype.i,a.fromNumber=d,a.fromString=p,$t=a}).apply(typeof lc<"u"?lc:typeof self<"u"?self:typeof window<"u"?window:{});var Jr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};/** @license
|
|
353
|
+
*/function e(T,g){function _(){}_.prototype=g.prototype,T.D=g.prototype,T.prototype=new _,T.prototype.constructor=T,T.C=function(E,w,A){for(var y=Array(arguments.length-2),wt=2;wt<arguments.length;wt++)y[wt-2]=arguments[wt];return g.prototype[w].apply(E,y)}}function t(){this.blockSize=-1}function r(){this.blockSize=-1,this.blockSize=64,this.g=Array(4),this.B=Array(this.blockSize),this.o=this.h=0,this.s()}e(r,t),r.prototype.s=function(){this.g[0]=1732584193,this.g[1]=4023233417,this.g[2]=2562383102,this.g[3]=271733878,this.o=this.h=0};function s(T,g,_){_||(_=0);var E=Array(16);if(typeof g=="string")for(var w=0;16>w;++w)E[w]=g.charCodeAt(_++)|g.charCodeAt(_++)<<8|g.charCodeAt(_++)<<16|g.charCodeAt(_++)<<24;else for(w=0;16>w;++w)E[w]=g[_++]|g[_++]<<8|g[_++]<<16|g[_++]<<24;g=T.g[0],_=T.g[1],w=T.g[2];var A=T.g[3],y=g+(A^_&(w^A))+E[0]+3614090360&4294967295;g=_+(y<<7&4294967295|y>>>25),y=A+(w^g&(_^w))+E[1]+3905402710&4294967295,A=g+(y<<12&4294967295|y>>>20),y=w+(_^A&(g^_))+E[2]+606105819&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(g^w&(A^g))+E[3]+3250441966&4294967295,_=w+(y<<22&4294967295|y>>>10),y=g+(A^_&(w^A))+E[4]+4118548399&4294967295,g=_+(y<<7&4294967295|y>>>25),y=A+(w^g&(_^w))+E[5]+1200080426&4294967295,A=g+(y<<12&4294967295|y>>>20),y=w+(_^A&(g^_))+E[6]+2821735955&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(g^w&(A^g))+E[7]+4249261313&4294967295,_=w+(y<<22&4294967295|y>>>10),y=g+(A^_&(w^A))+E[8]+1770035416&4294967295,g=_+(y<<7&4294967295|y>>>25),y=A+(w^g&(_^w))+E[9]+2336552879&4294967295,A=g+(y<<12&4294967295|y>>>20),y=w+(_^A&(g^_))+E[10]+4294925233&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(g^w&(A^g))+E[11]+2304563134&4294967295,_=w+(y<<22&4294967295|y>>>10),y=g+(A^_&(w^A))+E[12]+1804603682&4294967295,g=_+(y<<7&4294967295|y>>>25),y=A+(w^g&(_^w))+E[13]+4254626195&4294967295,A=g+(y<<12&4294967295|y>>>20),y=w+(_^A&(g^_))+E[14]+2792965006&4294967295,w=A+(y<<17&4294967295|y>>>15),y=_+(g^w&(A^g))+E[15]+1236535329&4294967295,_=w+(y<<22&4294967295|y>>>10),y=g+(w^A&(_^w))+E[1]+4129170786&4294967295,g=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(g^_))+E[6]+3225465664&4294967295,A=g+(y<<9&4294967295|y>>>23),y=w+(g^_&(A^g))+E[11]+643717713&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^g&(w^A))+E[0]+3921069994&4294967295,_=w+(y<<20&4294967295|y>>>12),y=g+(w^A&(_^w))+E[5]+3593408605&4294967295,g=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(g^_))+E[10]+38016083&4294967295,A=g+(y<<9&4294967295|y>>>23),y=w+(g^_&(A^g))+E[15]+3634488961&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^g&(w^A))+E[4]+3889429448&4294967295,_=w+(y<<20&4294967295|y>>>12),y=g+(w^A&(_^w))+E[9]+568446438&4294967295,g=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(g^_))+E[14]+3275163606&4294967295,A=g+(y<<9&4294967295|y>>>23),y=w+(g^_&(A^g))+E[3]+4107603335&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^g&(w^A))+E[8]+1163531501&4294967295,_=w+(y<<20&4294967295|y>>>12),y=g+(w^A&(_^w))+E[13]+2850285829&4294967295,g=_+(y<<5&4294967295|y>>>27),y=A+(_^w&(g^_))+E[2]+4243563512&4294967295,A=g+(y<<9&4294967295|y>>>23),y=w+(g^_&(A^g))+E[7]+1735328473&4294967295,w=A+(y<<14&4294967295|y>>>18),y=_+(A^g&(w^A))+E[12]+2368359562&4294967295,_=w+(y<<20&4294967295|y>>>12),y=g+(_^w^A)+E[5]+4294588738&4294967295,g=_+(y<<4&4294967295|y>>>28),y=A+(g^_^w)+E[8]+2272392833&4294967295,A=g+(y<<11&4294967295|y>>>21),y=w+(A^g^_)+E[11]+1839030562&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^g)+E[14]+4259657740&4294967295,_=w+(y<<23&4294967295|y>>>9),y=g+(_^w^A)+E[1]+2763975236&4294967295,g=_+(y<<4&4294967295|y>>>28),y=A+(g^_^w)+E[4]+1272893353&4294967295,A=g+(y<<11&4294967295|y>>>21),y=w+(A^g^_)+E[7]+4139469664&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^g)+E[10]+3200236656&4294967295,_=w+(y<<23&4294967295|y>>>9),y=g+(_^w^A)+E[13]+681279174&4294967295,g=_+(y<<4&4294967295|y>>>28),y=A+(g^_^w)+E[0]+3936430074&4294967295,A=g+(y<<11&4294967295|y>>>21),y=w+(A^g^_)+E[3]+3572445317&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^g)+E[6]+76029189&4294967295,_=w+(y<<23&4294967295|y>>>9),y=g+(_^w^A)+E[9]+3654602809&4294967295,g=_+(y<<4&4294967295|y>>>28),y=A+(g^_^w)+E[12]+3873151461&4294967295,A=g+(y<<11&4294967295|y>>>21),y=w+(A^g^_)+E[15]+530742520&4294967295,w=A+(y<<16&4294967295|y>>>16),y=_+(w^A^g)+E[2]+3299628645&4294967295,_=w+(y<<23&4294967295|y>>>9),y=g+(w^(_|~A))+E[0]+4096336452&4294967295,g=_+(y<<6&4294967295|y>>>26),y=A+(_^(g|~w))+E[7]+1126891415&4294967295,A=g+(y<<10&4294967295|y>>>22),y=w+(g^(A|~_))+E[14]+2878612391&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~g))+E[5]+4237533241&4294967295,_=w+(y<<21&4294967295|y>>>11),y=g+(w^(_|~A))+E[12]+1700485571&4294967295,g=_+(y<<6&4294967295|y>>>26),y=A+(_^(g|~w))+E[3]+2399980690&4294967295,A=g+(y<<10&4294967295|y>>>22),y=w+(g^(A|~_))+E[10]+4293915773&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~g))+E[1]+2240044497&4294967295,_=w+(y<<21&4294967295|y>>>11),y=g+(w^(_|~A))+E[8]+1873313359&4294967295,g=_+(y<<6&4294967295|y>>>26),y=A+(_^(g|~w))+E[15]+4264355552&4294967295,A=g+(y<<10&4294967295|y>>>22),y=w+(g^(A|~_))+E[6]+2734768916&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~g))+E[13]+1309151649&4294967295,_=w+(y<<21&4294967295|y>>>11),y=g+(w^(_|~A))+E[4]+4149444226&4294967295,g=_+(y<<6&4294967295|y>>>26),y=A+(_^(g|~w))+E[11]+3174756917&4294967295,A=g+(y<<10&4294967295|y>>>22),y=w+(g^(A|~_))+E[2]+718787259&4294967295,w=A+(y<<15&4294967295|y>>>17),y=_+(A^(w|~g))+E[9]+3951481745&4294967295,T.g[0]=T.g[0]+g&4294967295,T.g[1]=T.g[1]+(w+(y<<21&4294967295|y>>>11))&4294967295,T.g[2]=T.g[2]+w&4294967295,T.g[3]=T.g[3]+A&4294967295}r.prototype.u=function(T,g){g===void 0&&(g=T.length);for(var _=g-this.blockSize,E=this.B,w=this.h,A=0;A<g;){if(w==0)for(;A<=_;)s(this,T,A),A+=this.blockSize;if(typeof T=="string"){for(;A<g;)if(E[w++]=T.charCodeAt(A++),w==this.blockSize){s(this,E),w=0;break}}else for(;A<g;)if(E[w++]=T[A++],w==this.blockSize){s(this,E),w=0;break}}this.h=w,this.o+=g},r.prototype.v=function(){var T=Array((56>this.h?this.blockSize:2*this.blockSize)-this.h);T[0]=128;for(var g=1;g<T.length-8;++g)T[g]=0;var _=8*this.o;for(g=T.length-8;g<T.length;++g)T[g]=_&255,_/=256;for(this.u(T),T=Array(16),g=_=0;4>g;++g)for(var E=0;32>E;E+=8)T[_++]=this.g[g]>>>E&255;return T};function i(T,g){var _=c;return Object.prototype.hasOwnProperty.call(_,T)?_[T]:_[T]=g(T)}function a(T,g){this.h=g;for(var _=[],E=!0,w=T.length-1;0<=w;w--){var A=T[w]|0;E&&A==g||(_[w]=A,E=!1)}this.g=_}var c={};function l(T){return-128<=T&&128>T?i(T,function(g){return new a([g|0],0>g?-1:0)}):new a([T|0],0>T?-1:0)}function d(T){if(isNaN(T)||!isFinite(T))return m;if(0>T)return k(d(-T));for(var g=[],_=1,E=0;T>=_;E++)g[E]=T/_|0,_*=4294967296;return new a(g,0)}function f(T,g){if(T.length==0)throw Error("number format error: empty string");if(g=g||10,2>g||36<g)throw Error("radix out of range: "+g);if(T.charAt(0)=="-")return k(f(T.substring(1),g));if(0<=T.indexOf("-"))throw Error('number format error: interior "-" character');for(var _=d(Math.pow(g,8)),E=m,w=0;w<T.length;w+=8){var A=Math.min(8,T.length-w),y=parseInt(T.substring(w,w+A),g);8>A?(A=d(Math.pow(g,A)),E=E.j(A).add(d(y))):(E=E.j(_),E=E.add(d(y)))}return E}var m=l(0),v=l(1),R=l(16777216);n=a.prototype,n.m=function(){if(N(this))return-k(this).m();for(var T=0,g=1,_=0;_<this.g.length;_++){var E=this.i(_);T+=(0<=E?E:4294967296+E)*g,g*=4294967296}return T},n.toString=function(T){if(T=T||10,2>T||36<T)throw Error("radix out of range: "+T);if(S(this))return"0";if(N(this))return"-"+k(this).toString(T);for(var g=d(Math.pow(T,6)),_=this,E="";;){var w=H(_,g).g;_=U(_,w.j(g));var A=((0<_.g.length?_.g[0]:_.h)>>>0).toString(T);if(_=w,S(_))return A+E;for(;6>A.length;)A="0"+A;E=A+E}},n.i=function(T){return 0>T?0:T<this.g.length?this.g[T]:this.h};function S(T){if(T.h!=0)return!1;for(var g=0;g<T.g.length;g++)if(T.g[g]!=0)return!1;return!0}function N(T){return T.h==-1}n.l=function(T){return T=U(this,T),N(T)?-1:S(T)?0:1};function k(T){for(var g=T.g.length,_=[],E=0;E<g;E++)_[E]=~T.g[E];return new a(_,~T.h).add(v)}n.abs=function(){return N(this)?k(this):this},n.add=function(T){for(var g=Math.max(this.g.length,T.g.length),_=[],E=0,w=0;w<=g;w++){var A=E+(this.i(w)&65535)+(T.i(w)&65535),y=(A>>>16)+(this.i(w)>>>16)+(T.i(w)>>>16);E=y>>>16,A&=65535,y&=65535,_[w]=y<<16|A}return new a(_,_[_.length-1]&-2147483648?-1:0)};function U(T,g){return T.add(k(g))}n.j=function(T){if(S(this)||S(T))return m;if(N(this))return N(T)?k(this).j(k(T)):k(k(this).j(T));if(N(T))return k(this.j(k(T)));if(0>this.l(R)&&0>T.l(R))return d(this.m()*T.m());for(var g=this.g.length+T.g.length,_=[],E=0;E<2*g;E++)_[E]=0;for(E=0;E<this.g.length;E++)for(var w=0;w<T.g.length;w++){var A=this.i(E)>>>16,y=this.i(E)&65535,wt=T.i(w)>>>16,Lr=T.i(w)&65535;_[2*E+2*w]+=y*Lr,$(_,2*E+2*w),_[2*E+2*w+1]+=A*Lr,$(_,2*E+2*w+1),_[2*E+2*w+1]+=y*wt,$(_,2*E+2*w+1),_[2*E+2*w+2]+=A*wt,$(_,2*E+2*w+2)}for(E=0;E<g;E++)_[E]=_[2*E+1]<<16|_[2*E];for(E=g;E<2*g;E++)_[E]=0;return new a(_,0)};function $(T,g){for(;(T[g]&65535)!=T[g];)T[g+1]+=T[g]>>>16,T[g]&=65535,g++}function x(T,g){this.g=T,this.h=g}function H(T,g){if(S(g))throw Error("division by zero");if(S(T))return new x(m,m);if(N(T))return g=H(k(T),g),new x(k(g.g),k(g.h));if(N(g))return g=H(T,k(g)),new x(k(g.g),g.h);if(30<T.g.length){if(N(T)||N(g))throw Error("slowDivide_ only works with positive integers.");for(var _=v,E=g;0>=E.l(T);)_=he(_),E=he(E);var w=J(_,1),A=J(E,1);for(E=J(E,2),_=J(_,2);!S(E);){var y=A.add(E);0>=y.l(T)&&(w=w.add(_),A=y),E=J(E,1),_=J(_,1)}return g=U(T,w.j(g)),new x(w,g)}for(w=m;0<=T.l(g);){for(_=Math.max(1,Math.floor(T.m()/g.m())),E=Math.ceil(Math.log(_)/Math.LN2),E=48>=E?1:Math.pow(2,E-48),A=d(_),y=A.j(g);N(y)||0<y.l(T);)_-=E,A=d(_),y=A.j(g);S(A)&&(A=v),w=w.add(A),T=U(T,y)}return new x(w,T)}n.A=function(T){return H(this,T).h},n.and=function(T){for(var g=Math.max(this.g.length,T.g.length),_=[],E=0;E<g;E++)_[E]=this.i(E)&T.i(E);return new a(_,this.h&T.h)},n.or=function(T){for(var g=Math.max(this.g.length,T.g.length),_=[],E=0;E<g;E++)_[E]=this.i(E)|T.i(E);return new a(_,this.h|T.h)},n.xor=function(T){for(var g=Math.max(this.g.length,T.g.length),_=[],E=0;E<g;E++)_[E]=this.i(E)^T.i(E);return new a(_,this.h^T.h)};function he(T){for(var g=T.g.length+1,_=[],E=0;E<g;E++)_[E]=T.i(E)<<1|T.i(E-1)>>>31;return new a(_,T.h)}function J(T,g){var _=g>>5;g%=32;for(var E=T.g.length-_,w=[],A=0;A<E;A++)w[A]=0<g?T.i(A+_)>>>g|T.i(A+_+1)<<32-g:T.i(A+_);return new a(w,T.h)}r.prototype.digest=r.prototype.v,r.prototype.reset=r.prototype.s,r.prototype.update=r.prototype.u,Pc=r,a.prototype.add=a.prototype.add,a.prototype.multiply=a.prototype.j,a.prototype.modulo=a.prototype.A,a.prototype.compare=a.prototype.l,a.prototype.toNumber=a.prototype.m,a.prototype.toString=a.prototype.toString,a.prototype.getBits=a.prototype.i,a.fromNumber=d,a.fromString=f,St=a}).apply(typeof bc<"u"?bc:typeof self<"u"?self:typeof window<"u"?window:{});var ns=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};/** @license
|
|
369
354
|
Copyright The Closure Library Authors.
|
|
370
355
|
SPDX-License-Identifier: Apache-2.0
|
|
371
|
-
*/var
|
|
356
|
+
*/var Sc,ir,Cc,rs,Ki,kc,Nc,Dc;(function(){var n,e=typeof Object.defineProperties=="function"?Object.defineProperty:function(o,u,h){return o==Array.prototype||o==Object.prototype||(o[u]=h.value),o};function t(o){o=[typeof globalThis=="object"&&globalThis,o,typeof window=="object"&&window,typeof self=="object"&&self,typeof ns=="object"&&ns];for(var u=0;u<o.length;++u){var h=o[u];if(h&&h.Math==Math)return h}throw Error("Cannot find global object")}var r=t(this);function s(o,u){if(u)e:{var h=r;o=o.split(".");for(var p=0;p<o.length-1;p++){var I=o[p];if(!(I in h))break e;h=h[I]}o=o[o.length-1],p=h[o],u=u(p),u!=p&&u!=null&&e(h,o,{configurable:!0,writable:!0,value:u})}}function i(o,u){o instanceof String&&(o+="");var h=0,p=!1,I={next:function(){if(!p&&h<o.length){var b=h++;return{value:u(b,o[b]),done:!1}}return p=!0,{done:!0,value:void 0}}};return I[Symbol.iterator]=function(){return I},I}s("Array.prototype.values",function(o){return o||function(){return i(this,function(u,h){return h})}});/** @license
|
|
372
357
|
|
|
373
358
|
Copyright The Closure Library Authors.
|
|
374
359
|
SPDX-License-Identifier: Apache-2.0
|
|
375
|
-
*/var a=a||{},c=this||self;function l(o){var u=typeof o;return u=u!="object"?u:o?Array.isArray(o)?"array":u:"null",u=="array"||u=="object"&&typeof o.length=="number"}function d(o){var u=typeof o;return u=="object"&&o!=null||u=="function"}function p(o,u,h){return o.call.apply(o.bind,arguments)}function g(o,u,h){if(!o)throw Error();if(2<arguments.length){var f=Array.prototype.slice.call(arguments,2);return function(){var I=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(I,f),o.apply(u,I)}}return function(){return o.apply(u,arguments)}}function v(o,u,h){return v=Function.prototype.bind&&Function.prototype.bind.toString().indexOf("native code")!=-1?p:g,v.apply(null,arguments)}function R(o,u){var h=Array.prototype.slice.call(arguments,1);return function(){var f=h.slice();return f.push.apply(f,arguments),o.apply(this,f)}}function C(o,u){function h(){}h.prototype=u.prototype,o.aa=u.prototype,o.prototype=new h,o.prototype.constructor=o,o.Qb=function(f,I,b){for(var D=Array(arguments.length-2),Z=2;Z<arguments.length;Z++)D[Z-2]=arguments[Z];return u.prototype[I].apply(f,D)}}function N(o){const u=o.length;if(0<u){const h=Array(u);for(let f=0;f<u;f++)h[f]=o[f];return h}return[]}function S(o,u){for(let h=1;h<arguments.length;h++){const f=arguments[h];if(l(f)){const I=o.length||0,b=f.length||0;o.length=I+b;for(let D=0;D<b;D++)o[I+D]=f[D]}else o.push(f)}}class U{constructor(u,h){this.i=u,this.j=h,this.h=0,this.g=null}get(){let u;return 0<this.h?(this.h--,u=this.g,this.g=u.next,u.next=null):u=this.i(),u}}function $(o){return/^[\s\xa0]*$/.test(o)}function x(){var o=c.navigator;return o&&(o=o.userAgent)?o:""}function z(o){return z[" "](o),o}z[" "]=function(){};var le=x().indexOf("Gecko")!=-1&&!(x().toLowerCase().indexOf("webkit")!=-1&&x().indexOf("Edge")==-1)&&!(x().indexOf("Trident")!=-1||x().indexOf("MSIE")!=-1)&&x().indexOf("Edge")==-1;function J(o,u,h){for(const f in o)u.call(h,o[f],f,o)}function T(o,u){for(const h in o)u.call(void 0,o[h],h,o)}function m(o){const u={};for(const h in o)u[h]=o[h];return u}const _="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function E(o,u){let h,f;for(let I=1;I<arguments.length;I++){f=arguments[I];for(h in f)o[h]=f[h];for(let b=0;b<_.length;b++)h=_[b],Object.prototype.hasOwnProperty.call(f,h)&&(o[h]=f[h])}}function w(o){var u=1;o=o.split(":");const h=[];for(;0<u&&o.length;)h.push(o.shift()),u--;return o.length&&h.push(o.join(":")),h}function A(o){c.setTimeout(()=>{throw o},0)}function y(){var o=Ea;let u=null;return o.g&&(u=o.g,o.g=o.g.next,o.g||(o.h=null),u.next=null),u}class vt{constructor(){this.h=this.g=null}add(u,h){const f=Cr.get();f.set(u,h),this.h?this.h.next=f:this.g=f,this.h=f}}var Cr=new U(()=>new kw,o=>o.reset());class kw{constructor(){this.next=this.g=this.h=null}set(u,h){this.h=u,this.g=h,this.next=null}reset(){this.next=this.g=this.h=null}}let kr,Nr=!1,Ea=new vt,gd=()=>{const o=c.Promise.resolve(void 0);kr=()=>{o.then(Nw)}};var Nw=()=>{for(var o;o=y();){try{o.h.call(o.g)}catch(h){A(h)}var u=Cr;u.j(o),100>u.h&&(u.h++,o.next=u.g,u.g=o)}Nr=!1};function Ut(){this.s=this.s,this.C=this.C}Ut.prototype.s=!1,Ut.prototype.ma=function(){this.s||(this.s=!0,this.N())},Ut.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()};function Ae(o,u){this.type=o,this.g=this.target=u,this.defaultPrevented=!1}Ae.prototype.h=function(){this.defaultPrevented=!0};var Dw=function(){if(!c.addEventListener||!Object.defineProperty)return!1;var o=!1,u=Object.defineProperty({},"passive",{get:function(){o=!0}});try{const h=()=>{};c.addEventListener("test",h,u),c.removeEventListener("test",h,u)}catch{}return o}();function Dr(o,u){if(Ae.call(this,o?o.type:""),this.relatedTarget=this.g=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=0,this.key="",this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.pointerId=0,this.pointerType="",this.i=null,o){var h=this.type=o.type,f=o.changedTouches&&o.changedTouches.length?o.changedTouches[0]:null;if(this.target=o.target||o.srcElement,this.g=u,u=o.relatedTarget){if(le){e:{try{z(u.nodeName);var I=!0;break e}catch{}I=!1}I||(u=null)}}else h=="mouseover"?u=o.fromElement:h=="mouseout"&&(u=o.toElement);this.relatedTarget=u,f?(this.clientX=f.clientX!==void 0?f.clientX:f.pageX,this.clientY=f.clientY!==void 0?f.clientY:f.pageY,this.screenX=f.screenX||0,this.screenY=f.screenY||0):(this.clientX=o.clientX!==void 0?o.clientX:o.pageX,this.clientY=o.clientY!==void 0?o.clientY:o.pageY,this.screenX=o.screenX||0,this.screenY=o.screenY||0),this.button=o.button,this.key=o.key||"",this.ctrlKey=o.ctrlKey,this.altKey=o.altKey,this.shiftKey=o.shiftKey,this.metaKey=o.metaKey,this.pointerId=o.pointerId||0,this.pointerType=typeof o.pointerType=="string"?o.pointerType:Ow[o.pointerType]||"",this.state=o.state,this.i=o,o.defaultPrevented&&Dr.aa.h.call(this)}}C(Dr,Ae);var Ow={2:"touch",3:"pen",4:"mouse"};Dr.prototype.h=function(){Dr.aa.h.call(this);var o=this.i;o.preventDefault?o.preventDefault():o.returnValue=!1};var si="closure_listenable_"+(1e6*Math.random()|0),Vw=0;function Lw(o,u,h,f,I){this.listener=o,this.proxy=null,this.src=u,this.type=h,this.capture=!!f,this.ha=I,this.key=++Vw,this.da=this.fa=!1}function ii(o){o.da=!0,o.listener=null,o.proxy=null,o.src=null,o.ha=null}function oi(o){this.src=o,this.g={},this.h=0}oi.prototype.add=function(o,u,h,f,I){var b=o.toString();o=this.g[b],o||(o=this.g[b]=[],this.h++);var D=wa(o,u,f,I);return-1<D?(u=o[D],h||(u.fa=!1)):(u=new Lw(u,this.src,b,!!f,I),u.fa=h,o.push(u)),u};function Ta(o,u){var h=u.type;if(h in o.g){var f=o.g[h],I=Array.prototype.indexOf.call(f,u,void 0),b;(b=0<=I)&&Array.prototype.splice.call(f,I,1),b&&(ii(u),o.g[h].length==0&&(delete o.g[h],o.h--))}}function wa(o,u,h,f){for(var I=0;I<o.length;++I){var b=o[I];if(!b.da&&b.listener==u&&b.capture==!!h&&b.ha==f)return I}return-1}var Ia="closure_lm_"+(1e6*Math.random()|0),Aa={};function _d(o,u,h,f,I){if(Array.isArray(u)){for(var b=0;b<u.length;b++)_d(o,u[b],h,f,I);return null}return h=Ed(h),o&&o[si]?o.K(u,h,d(f)?!!f.capture:!!f,I):Mw(o,u,h,!1,f,I)}function Mw(o,u,h,f,I,b){if(!u)throw Error("Invalid event type");var D=d(I)?!!I.capture:!!I,Z=ba(o);if(Z||(o[Ia]=Z=new oi(o)),h=Z.add(u,h,f,D,b),h.proxy)return h;if(f=Uw(),h.proxy=f,f.src=o,f.listener=h,o.addEventListener)Dw||(I=D),I===void 0&&(I=!1),o.addEventListener(u.toString(),f,I);else if(o.attachEvent)o.attachEvent(vd(u.toString()),f);else if(o.addListener&&o.removeListener)o.addListener(f);else throw Error("addEventListener and attachEvent are unavailable.");return h}function Uw(){function o(h){return u.call(o.src,o.listener,h)}const u=xw;return o}function yd(o,u,h,f,I){if(Array.isArray(u))for(var b=0;b<u.length;b++)yd(o,u[b],h,f,I);else f=d(f)?!!f.capture:!!f,h=Ed(h),o&&o[si]?(o=o.i,u=String(u).toString(),u in o.g&&(b=o.g[u],h=wa(b,h,f,I),-1<h&&(ii(b[h]),Array.prototype.splice.call(b,h,1),b.length==0&&(delete o.g[u],o.h--)))):o&&(o=ba(o))&&(u=o.g[u.toString()],o=-1,u&&(o=wa(u,h,f,I)),(h=-1<o?u[o]:null)&&Ra(h))}function Ra(o){if(typeof o!="number"&&o&&!o.da){var u=o.src;if(u&&u[si])Ta(u.i,o);else{var h=o.type,f=o.proxy;u.removeEventListener?u.removeEventListener(h,f,o.capture):u.detachEvent?u.detachEvent(vd(h),f):u.addListener&&u.removeListener&&u.removeListener(f),(h=ba(u))?(Ta(h,o),h.h==0&&(h.src=null,u[Ia]=null)):ii(o)}}}function vd(o){return o in Aa?Aa[o]:Aa[o]="on"+o}function xw(o,u){if(o.da)o=!0;else{u=new Dr(u,this);var h=o.listener,f=o.ha||o.src;o.fa&&Ra(o),o=h.call(f,u)}return o}function ba(o){return o=o[Ia],o instanceof oi?o:null}var Pa="__closure_events_fn_"+(1e9*Math.random()>>>0);function Ed(o){return typeof o=="function"?o:(o[Pa]||(o[Pa]=function(u){return o.handleEvent(u)}),o[Pa])}function Re(){Ut.call(this),this.i=new oi(this),this.M=this,this.F=null}C(Re,Ut),Re.prototype[si]=!0,Re.prototype.removeEventListener=function(o,u,h,f){yd(this,o,u,h,f)};function Ce(o,u){var h,f=o.F;if(f)for(h=[];f;f=f.F)h.push(f);if(o=o.M,f=u.type||u,typeof u=="string")u=new Ae(u,o);else if(u instanceof Ae)u.target=u.target||o;else{var I=u;u=new Ae(f,o),E(u,I)}if(I=!0,h)for(var b=h.length-1;0<=b;b--){var D=u.g=h[b];I=ai(D,f,!0,u)&&I}if(D=u.g=o,I=ai(D,f,!0,u)&&I,I=ai(D,f,!1,u)&&I,h)for(b=0;b<h.length;b++)D=u.g=h[b],I=ai(D,f,!1,u)&&I}Re.prototype.N=function(){if(Re.aa.N.call(this),this.i){var o=this.i,u;for(u in o.g){for(var h=o.g[u],f=0;f<h.length;f++)ii(h[f]);delete o.g[u],o.h--}}this.F=null},Re.prototype.K=function(o,u,h,f){return this.i.add(String(o),u,!1,h,f)},Re.prototype.L=function(o,u,h,f){return this.i.add(String(o),u,!0,h,f)};function ai(o,u,h,f){if(u=o.i.g[String(u)],!u)return!0;u=u.concat();for(var I=!0,b=0;b<u.length;++b){var D=u[b];if(D&&!D.da&&D.capture==h){var Z=D.listener,ve=D.ha||D.src;D.fa&&Ta(o.i,D),I=Z.call(ve,f)!==!1&&I}}return I&&!f.defaultPrevented}function Td(o,u,h){if(typeof o=="function")h&&(o=v(o,h));else if(o&&typeof o.handleEvent=="function")o=v(o.handleEvent,o);else throw Error("Invalid listener argument");return 2147483647<Number(u)?-1:c.setTimeout(o,u||0)}function wd(o){o.g=Td(()=>{o.g=null,o.i&&(o.i=!1,wd(o))},o.l);const u=o.h;o.h=null,o.m.apply(null,u)}class Fw extends Ut{constructor(u,h){super(),this.m=u,this.l=h,this.h=null,this.i=!1,this.g=null}j(u){this.h=arguments,this.g?this.i=!0:wd(this)}N(){super.N(),this.g&&(c.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function Or(o){Ut.call(this),this.h=o,this.g={}}C(Or,Ut);var Id=[];function Ad(o){J(o.g,function(u,h){this.g.hasOwnProperty(h)&&Ra(u)},o),o.g={}}Or.prototype.N=function(){Or.aa.N.call(this),Ad(this)},Or.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var Sa=c.JSON.stringify,Bw=c.JSON.parse,jw=class{stringify(o){return c.JSON.stringify(o,void 0)}parse(o){return c.JSON.parse(o,void 0)}};function Ca(){}Ca.prototype.h=null;function Rd(o){return o.h||(o.h=o.i())}function bd(){}var Vr={OPEN:"a",kb:"b",Ja:"c",wb:"d"};function ka(){Ae.call(this,"d")}C(ka,Ae);function Na(){Ae.call(this,"c")}C(Na,Ae);var sn={},Pd=null;function ci(){return Pd=Pd||new Re}sn.La="serverreachability";function Sd(o){Ae.call(this,sn.La,o)}C(Sd,Ae);function Lr(o){const u=ci();Ce(u,new Sd(u))}sn.STAT_EVENT="statevent";function Cd(o,u){Ae.call(this,sn.STAT_EVENT,o),this.stat=u}C(Cd,Ae);function ke(o){const u=ci();Ce(u,new Cd(u,o))}sn.Ma="timingevent";function kd(o,u){Ae.call(this,sn.Ma,o),this.size=u}C(kd,Ae);function Mr(o,u){if(typeof o!="function")throw Error("Fn must not be null and must be a function");return c.setTimeout(function(){o()},u)}function Ur(){this.g=!0}Ur.prototype.xa=function(){this.g=!1};function qw(o,u,h,f,I,b){o.info(function(){if(o.g)if(b)for(var D="",Z=b.split("&"),ve=0;ve<Z.length;ve++){var Q=Z[ve].split("=");if(1<Q.length){var be=Q[0];Q=Q[1];var Pe=be.split("_");D=2<=Pe.length&&Pe[1]=="type"?D+(be+"="+Q+"&"):D+(be+"=redacted&")}}else D=null;else D=b;return"XMLHTTP REQ ("+f+") [attempt "+I+"]: "+u+`
|
|
360
|
+
*/var a=a||{},c=this||self;function l(o){var u=typeof o;return u=u!="object"?u:o?Array.isArray(o)?"array":u:"null",u=="array"||u=="object"&&typeof o.length=="number"}function d(o){var u=typeof o;return u=="object"&&o!=null||u=="function"}function f(o,u,h){return o.call.apply(o.bind,arguments)}function m(o,u,h){if(!o)throw Error();if(2<arguments.length){var p=Array.prototype.slice.call(arguments,2);return function(){var I=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(I,p),o.apply(u,I)}}return function(){return o.apply(u,arguments)}}function v(o,u,h){return v=Function.prototype.bind&&Function.prototype.bind.toString().indexOf("native code")!=-1?f:m,v.apply(null,arguments)}function R(o,u){var h=Array.prototype.slice.call(arguments,1);return function(){var p=h.slice();return p.push.apply(p,arguments),o.apply(this,p)}}function S(o,u){function h(){}h.prototype=u.prototype,o.aa=u.prototype,o.prototype=new h,o.prototype.constructor=o,o.Qb=function(p,I,b){for(var D=Array(arguments.length-2),Z=2;Z<arguments.length;Z++)D[Z-2]=arguments[Z];return u.prototype[I].apply(p,D)}}function N(o){const u=o.length;if(0<u){const h=Array(u);for(let p=0;p<u;p++)h[p]=o[p];return h}return[]}function k(o,u){for(let h=1;h<arguments.length;h++){const p=arguments[h];if(l(p)){const I=o.length||0,b=p.length||0;o.length=I+b;for(let D=0;D<b;D++)o[I+D]=p[D]}else o.push(p)}}class U{constructor(u,h){this.i=u,this.j=h,this.h=0,this.g=null}get(){let u;return 0<this.h?(this.h--,u=this.g,this.g=u.next,u.next=null):u=this.i(),u}}function $(o){return/^[\s\xa0]*$/.test(o)}function x(){var o=c.navigator;return o&&(o=o.userAgent)?o:""}function H(o){return H[" "](o),o}H[" "]=function(){};var he=x().indexOf("Gecko")!=-1&&!(x().toLowerCase().indexOf("webkit")!=-1&&x().indexOf("Edge")==-1)&&!(x().indexOf("Trident")!=-1||x().indexOf("MSIE")!=-1)&&x().indexOf("Edge")==-1;function J(o,u,h){for(const p in o)u.call(h,o[p],p,o)}function T(o,u){for(const h in o)u.call(void 0,o[h],h,o)}function g(o){const u={};for(const h in o)u[h]=o[h];return u}const _="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function E(o,u){let h,p;for(let I=1;I<arguments.length;I++){p=arguments[I];for(h in p)o[h]=p[h];for(let b=0;b<_.length;b++)h=_[b],Object.prototype.hasOwnProperty.call(p,h)&&(o[h]=p[h])}}function w(o){var u=1;o=o.split(":");const h=[];for(;0<u&&o.length;)h.push(o.shift()),u--;return o.length&&h.push(o.join(":")),h}function A(o){c.setTimeout(()=>{throw o},0)}function y(){var o=La;let u=null;return o.g&&(u=o.g,o.g=o.g.next,o.g||(o.h=null),u.next=null),u}class wt{constructor(){this.h=this.g=null}add(u,h){const p=Lr.get();p.set(u,h),this.h?this.h.next=p:this.g=p,this.h=p}}var Lr=new U(()=>new PI,o=>o.reset());class PI{constructor(){this.next=this.g=this.h=null}set(u,h){this.h=u,this.g=h,this.next=null}reset(){this.next=this.g=this.h=null}}let Mr,Ur=!1,La=new wt,ef=()=>{const o=c.Promise.resolve(void 0);Mr=()=>{o.then(SI)}};var SI=()=>{for(var o;o=y();){try{o.h.call(o.g)}catch(h){A(h)}var u=Lr;u.j(o),100>u.h&&(u.h++,o.next=u.g,u.g=o)}Ur=!1};function zt(){this.s=this.s,this.C=this.C}zt.prototype.s=!1,zt.prototype.ma=function(){this.s||(this.s=!0,this.N())},zt.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()};function Re(o,u){this.type=o,this.g=this.target=u,this.defaultPrevented=!1}Re.prototype.h=function(){this.defaultPrevented=!0};var CI=function(){if(!c.addEventListener||!Object.defineProperty)return!1;var o=!1,u=Object.defineProperty({},"passive",{get:function(){o=!0}});try{const h=()=>{};c.addEventListener("test",h,u),c.removeEventListener("test",h,u)}catch{}return o}();function xr(o,u){if(Re.call(this,o?o.type:""),this.relatedTarget=this.g=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=0,this.key="",this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.pointerId=0,this.pointerType="",this.i=null,o){var h=this.type=o.type,p=o.changedTouches&&o.changedTouches.length?o.changedTouches[0]:null;if(this.target=o.target||o.srcElement,this.g=u,u=o.relatedTarget){if(he){e:{try{H(u.nodeName);var I=!0;break e}catch{}I=!1}I||(u=null)}}else h=="mouseover"?u=o.fromElement:h=="mouseout"&&(u=o.toElement);this.relatedTarget=u,p?(this.clientX=p.clientX!==void 0?p.clientX:p.pageX,this.clientY=p.clientY!==void 0?p.clientY:p.pageY,this.screenX=p.screenX||0,this.screenY=p.screenY||0):(this.clientX=o.clientX!==void 0?o.clientX:o.pageX,this.clientY=o.clientY!==void 0?o.clientY:o.pageY,this.screenX=o.screenX||0,this.screenY=o.screenY||0),this.button=o.button,this.key=o.key||"",this.ctrlKey=o.ctrlKey,this.altKey=o.altKey,this.shiftKey=o.shiftKey,this.metaKey=o.metaKey,this.pointerId=o.pointerId||0,this.pointerType=typeof o.pointerType=="string"?o.pointerType:kI[o.pointerType]||"",this.state=o.state,this.i=o,o.defaultPrevented&&xr.aa.h.call(this)}}S(xr,Re);var kI={2:"touch",3:"pen",4:"mouse"};xr.prototype.h=function(){xr.aa.h.call(this);var o=this.i;o.preventDefault?o.preventDefault():o.returnValue=!1};var gi="closure_listenable_"+(1e6*Math.random()|0),NI=0;function DI(o,u,h,p,I){this.listener=o,this.proxy=null,this.src=u,this.type=h,this.capture=!!p,this.ha=I,this.key=++NI,this.da=this.fa=!1}function _i(o){o.da=!0,o.listener=null,o.proxy=null,o.src=null,o.ha=null}function yi(o){this.src=o,this.g={},this.h=0}yi.prototype.add=function(o,u,h,p,I){var b=o.toString();o=this.g[b],o||(o=this.g[b]=[],this.h++);var D=Ua(o,u,p,I);return-1<D?(u=o[D],h||(u.fa=!1)):(u=new DI(u,this.src,b,!!p,I),u.fa=h,o.push(u)),u};function Ma(o,u){var h=u.type;if(h in o.g){var p=o.g[h],I=Array.prototype.indexOf.call(p,u,void 0),b;(b=0<=I)&&Array.prototype.splice.call(p,I,1),b&&(_i(u),o.g[h].length==0&&(delete o.g[h],o.h--))}}function Ua(o,u,h,p){for(var I=0;I<o.length;++I){var b=o[I];if(!b.da&&b.listener==u&&b.capture==!!h&&b.ha==p)return I}return-1}var xa="closure_lm_"+(1e6*Math.random()|0),Fa={};function tf(o,u,h,p,I){if(Array.isArray(u)){for(var b=0;b<u.length;b++)tf(o,u[b],h,p,I);return null}return h=sf(h),o&&o[gi]?o.K(u,h,d(p)?!!p.capture:!1,I):OI(o,u,h,!1,p,I)}function OI(o,u,h,p,I,b){if(!u)throw Error("Invalid event type");var D=d(I)?!!I.capture:!!I,Z=ja(o);if(Z||(o[xa]=Z=new yi(o)),h=Z.add(u,h,p,D,b),h.proxy)return h;if(p=VI(),h.proxy=p,p.src=o,p.listener=h,o.addEventListener)CI||(I=D),I===void 0&&(I=!1),o.addEventListener(u.toString(),p,I);else if(o.attachEvent)o.attachEvent(rf(u.toString()),p);else if(o.addListener&&o.removeListener)o.addListener(p);else throw Error("addEventListener and attachEvent are unavailable.");return h}function VI(){function o(h){return u.call(o.src,o.listener,h)}const u=LI;return o}function nf(o,u,h,p,I){if(Array.isArray(u))for(var b=0;b<u.length;b++)nf(o,u[b],h,p,I);else p=d(p)?!!p.capture:!!p,h=sf(h),o&&o[gi]?(o=o.i,u=String(u).toString(),u in o.g&&(b=o.g[u],h=Ua(b,h,p,I),-1<h&&(_i(b[h]),Array.prototype.splice.call(b,h,1),b.length==0&&(delete o.g[u],o.h--)))):o&&(o=ja(o))&&(u=o.g[u.toString()],o=-1,u&&(o=Ua(u,h,p,I)),(h=-1<o?u[o]:null)&&Ba(h))}function Ba(o){if(typeof o!="number"&&o&&!o.da){var u=o.src;if(u&&u[gi])Ma(u.i,o);else{var h=o.type,p=o.proxy;u.removeEventListener?u.removeEventListener(h,p,o.capture):u.detachEvent?u.detachEvent(rf(h),p):u.addListener&&u.removeListener&&u.removeListener(p),(h=ja(u))?(Ma(h,o),h.h==0&&(h.src=null,u[xa]=null)):_i(o)}}}function rf(o){return o in Fa?Fa[o]:Fa[o]="on"+o}function LI(o,u){if(o.da)o=!0;else{u=new xr(u,this);var h=o.listener,p=o.ha||o.src;o.fa&&Ba(o),o=h.call(p,u)}return o}function ja(o){return o=o[xa],o instanceof yi?o:null}var qa="__closure_events_fn_"+(1e9*Math.random()>>>0);function sf(o){return typeof o=="function"?o:(o[qa]||(o[qa]=function(u){return o.handleEvent(u)}),o[qa])}function be(){zt.call(this),this.i=new yi(this),this.M=this,this.F=null}S(be,zt),be.prototype[gi]=!0,be.prototype.removeEventListener=function(o,u,h,p){nf(this,o,u,h,p)};function ke(o,u){var h,p=o.F;if(p)for(h=[];p;p=p.F)h.push(p);if(o=o.M,p=u.type||u,typeof u=="string")u=new Re(u,o);else if(u instanceof Re)u.target=u.target||o;else{var I=u;u=new Re(p,o),E(u,I)}if(I=!0,h)for(var b=h.length-1;0<=b;b--){var D=u.g=h[b];I=vi(D,p,!0,u)&&I}if(D=u.g=o,I=vi(D,p,!0,u)&&I,I=vi(D,p,!1,u)&&I,h)for(b=0;b<h.length;b++)D=u.g=h[b],I=vi(D,p,!1,u)&&I}be.prototype.N=function(){if(be.aa.N.call(this),this.i){var o=this.i,u;for(u in o.g){for(var h=o.g[u],p=0;p<h.length;p++)_i(h[p]);delete o.g[u],o.h--}}this.F=null},be.prototype.K=function(o,u,h,p){return this.i.add(String(o),u,!1,h,p)},be.prototype.L=function(o,u,h,p){return this.i.add(String(o),u,!0,h,p)};function vi(o,u,h,p){if(u=o.i.g[String(u)],!u)return!0;u=u.concat();for(var I=!0,b=0;b<u.length;++b){var D=u[b];if(D&&!D.da&&D.capture==h){var Z=D.listener,ve=D.ha||D.src;D.fa&&Ma(o.i,D),I=Z.call(ve,p)!==!1&&I}}return I&&!p.defaultPrevented}function of(o,u,h){if(typeof o=="function")h&&(o=v(o,h));else if(o&&typeof o.handleEvent=="function")o=v(o.handleEvent,o);else throw Error("Invalid listener argument");return 2147483647<Number(u)?-1:c.setTimeout(o,u||0)}function af(o){o.g=of(()=>{o.g=null,o.i&&(o.i=!1,af(o))},o.l);const u=o.h;o.h=null,o.m.apply(null,u)}class MI extends zt{constructor(u,h){super(),this.m=u,this.l=h,this.h=null,this.i=!1,this.g=null}j(u){this.h=arguments,this.g?this.i=!0:af(this)}N(){super.N(),this.g&&(c.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function Fr(o){zt.call(this),this.h=o,this.g={}}S(Fr,zt);var cf=[];function uf(o){J(o.g,function(u,h){this.g.hasOwnProperty(h)&&Ba(u)},o),o.g={}}Fr.prototype.N=function(){Fr.aa.N.call(this),uf(this)},Fr.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var $a=c.JSON.stringify,UI=c.JSON.parse,xI=class{stringify(o){return c.JSON.stringify(o,void 0)}parse(o){return c.JSON.parse(o,void 0)}};function Ha(){}Ha.prototype.h=null;function lf(o){return o.h||(o.h=o.i())}function hf(){}var Br={OPEN:"a",kb:"b",Ja:"c",wb:"d"};function za(){Re.call(this,"d")}S(za,Re);function Wa(){Re.call(this,"c")}S(Wa,Re);var dn={},df=null;function Ei(){return df=df||new be}dn.La="serverreachability";function ff(o){Re.call(this,dn.La,o)}S(ff,Re);function jr(o){const u=Ei();ke(u,new ff(u))}dn.STAT_EVENT="statevent";function pf(o,u){Re.call(this,dn.STAT_EVENT,o),this.stat=u}S(pf,Re);function Ne(o){const u=Ei();ke(u,new pf(u,o))}dn.Ma="timingevent";function mf(o,u){Re.call(this,dn.Ma,o),this.size=u}S(mf,Re);function qr(o,u){if(typeof o!="function")throw Error("Fn must not be null and must be a function");return c.setTimeout(function(){o()},u)}function $r(){this.g=!0}$r.prototype.xa=function(){this.g=!1};function FI(o,u,h,p,I,b){o.info(function(){if(o.g)if(b)for(var D="",Z=b.split("&"),ve=0;ve<Z.length;ve++){var Q=Z[ve].split("=");if(1<Q.length){var Pe=Q[0];Q=Q[1];var Se=Pe.split("_");D=2<=Se.length&&Se[1]=="type"?D+(Pe+"="+Q+"&"):D+(Pe+"=redacted&")}}else D=null;else D=b;return"XMLHTTP REQ ("+p+") [attempt "+I+"]: "+u+`
|
|
376
361
|
`+h+`
|
|
377
|
-
`+D})}function
|
|
362
|
+
`+D})}function BI(o,u,h,p,I,b,D){o.info(function(){return"XMLHTTP RESP ("+p+") [ attempt "+I+"]: "+u+`
|
|
378
363
|
`+h+`
|
|
379
|
-
`+b+" "+D})}function
|
|
380
|
-
`,h);return f==-1?Oa:(h=Number(u.substring(h,f)),isNaN(h)?Od:(f+=1,f+h>u.length?Oa:(u=u.slice(f,f+h),o.C=f+h,u)))}xt.prototype.cancel=function(){this.J=!0,on(this)};function hi(o){o.S=Date.now()+o.I,Md(o,o.I)}function Md(o,u){if(o.B!=null)throw Error("WatchDog timer not null");o.B=Mr(v(o.ba,o),u)}function La(o){o.B&&(c.clearTimeout(o.B),o.B=null)}xt.prototype.ba=function(){this.B=null;const o=Date.now();0<=o-this.S?(zw(this.i,this.A),this.L!=2&&(Lr(),ke(17)),on(this),this.s=2,xr(this)):Md(this,this.S-o)};function xr(o){o.j.G==0||o.J||uf(o.j,o)}function on(o){La(o);var u=o.M;u&&typeof u.ma=="function"&&u.ma(),o.M=null,Ad(o.U),o.g&&(u=o.g,o.g=null,u.abort(),u.ma())}function Ma(o,u){try{var h=o.j;if(h.G!=0&&(h.g==o||Ua(h.h,o))){if(!o.K&&Ua(h.h,o)&&h.G==3){try{var f=h.Da.g.parse(u)}catch{f=null}if(Array.isArray(f)&&f.length==3){var I=f;if(I[0]==0){e:if(!h.u){if(h.g)if(h.g.F+3e3<o.F)vi(h),_i(h);else break e;ja(h),ke(18)}}else h.za=I[1],0<h.za-h.T&&37500>I[2]&&h.F&&h.v==0&&!h.C&&(h.C=Mr(v(h.Za,h),6e3));if(1>=Fd(h.h)&&h.ca){try{h.ca()}catch{}h.ca=void 0}}else cn(h,11)}else if((o.K||h.g==o)&&vi(h),!$(u))for(I=h.Da.g.parse(u),u=0;u<I.length;u++){let Q=I[u];if(h.T=Q[0],Q=Q[1],h.G==2)if(Q[0]=="c"){h.K=Q[1],h.ia=Q[2];const be=Q[3];be!=null&&(h.la=be,h.j.info("VER="+h.la));const Pe=Q[4];Pe!=null&&(h.Aa=Pe,h.j.info("SVER="+h.Aa));const jn=Q[5];jn!=null&&typeof jn=="number"&&0<jn&&(f=1.5*jn,h.L=f,h.j.info("backChannelRequestTimeoutMs_="+f)),f=h;const Ye=o.g;if(Ye){const Ti=Ye.g?Ye.g.getResponseHeader("X-Client-Wire-Protocol"):null;if(Ti){var b=f.h;b.g||Ti.indexOf("spdy")==-1&&Ti.indexOf("quic")==-1&&Ti.indexOf("h2")==-1||(b.j=b.l,b.g=new Set,b.h&&(xa(b,b.h),b.h=null))}if(f.D){const $a=Ye.g?Ye.g.getResponseHeader("X-HTTP-Session-Id"):null;$a&&(f.ya=$a,ne(f.I,f.D,$a))}}h.G=3,h.l&&h.l.ua(),h.ba&&(h.R=Date.now()-o.F,h.j.info("Handshake RTT: "+h.R+"ms")),f=h;var D=o;if(f.qa=df(f,f.J?f.ia:null,f.W),D.K){Bd(f.h,D);var Z=D,ve=f.L;ve&&(Z.I=ve),Z.B&&(La(Z),hi(Z)),f.g=D}else af(f);0<h.i.length&&yi(h)}else Q[0]!="stop"&&Q[0]!="close"||cn(h,7);else h.G==3&&(Q[0]=="stop"||Q[0]=="close"?Q[0]=="stop"?cn(h,7):Ba(h):Q[0]!="noop"&&h.l&&h.l.ta(Q),h.v=0)}}Lr(4)}catch{}}var Gw=class{constructor(o,u){this.g=o,this.map=u}};function Ud(o){this.l=o||10,c.PerformanceNavigationTiming?(o=c.performance.getEntriesByType("navigation"),o=0<o.length&&(o[0].nextHopProtocol=="hq"||o[0].nextHopProtocol=="h2")):o=!!(c.chrome&&c.chrome.loadTimes&&c.chrome.loadTimes()&&c.chrome.loadTimes().wasFetchedViaSpdy),this.j=o?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}function xd(o){return o.h?!0:o.g?o.g.size>=o.j:!1}function Fd(o){return o.h?1:o.g?o.g.size:0}function Ua(o,u){return o.h?o.h==u:o.g?o.g.has(u):!1}function xa(o,u){o.g?o.g.add(u):o.h=u}function Bd(o,u){o.h&&o.h==u?o.h=null:o.g&&o.g.has(u)&&o.g.delete(u)}Ud.prototype.cancel=function(){if(this.i=jd(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&this.g.size!==0){for(const o of this.g.values())o.cancel();this.g.clear()}};function jd(o){if(o.h!=null)return o.i.concat(o.h.D);if(o.g!=null&&o.g.size!==0){let u=o.i;for(const h of o.g.values())u=u.concat(h.D);return u}return N(o.i)}function Kw(o){if(o.V&&typeof o.V=="function")return o.V();if(typeof Map<"u"&&o instanceof Map||typeof Set<"u"&&o instanceof Set)return Array.from(o.values());if(typeof o=="string")return o.split("");if(l(o)){for(var u=[],h=o.length,f=0;f<h;f++)u.push(o[f]);return u}u=[],h=0;for(f in o)u[h++]=o[f];return u}function Qw(o){if(o.na&&typeof o.na=="function")return o.na();if(!o.V||typeof o.V!="function"){if(typeof Map<"u"&&o instanceof Map)return Array.from(o.keys());if(!(typeof Set<"u"&&o instanceof Set)){if(l(o)||typeof o=="string"){var u=[];o=o.length;for(var h=0;h<o;h++)u.push(h);return u}u=[],h=0;for(const f in o)u[h++]=f;return u}}}function qd(o,u){if(o.forEach&&typeof o.forEach=="function")o.forEach(u,void 0);else if(l(o)||typeof o=="string")Array.prototype.forEach.call(o,u,void 0);else for(var h=Qw(o),f=Kw(o),I=f.length,b=0;b<I;b++)u.call(void 0,f[b],h&&h[b],o)}var $d=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function Yw(o,u){if(o){o=o.split("&");for(var h=0;h<o.length;h++){var f=o[h].indexOf("="),I=null;if(0<=f){var b=o[h].substring(0,f);I=o[h].substring(f+1)}else b=o[h];u(b,I?decodeURIComponent(I.replace(/\+/g," ")):"")}}}function an(o){if(this.g=this.o=this.j="",this.s=null,this.m=this.l="",this.h=!1,o instanceof an){this.h=o.h,di(this,o.j),this.o=o.o,this.g=o.g,fi(this,o.s),this.l=o.l;var u=o.i,h=new jr;h.i=u.i,u.g&&(h.g=new Map(u.g),h.h=u.h),zd(this,h),this.m=o.m}else o&&(u=String(o).match($d))?(this.h=!1,di(this,u[1]||"",!0),this.o=Fr(u[2]||""),this.g=Fr(u[3]||"",!0),fi(this,u[4]),this.l=Fr(u[5]||"",!0),zd(this,u[6]||"",!0),this.m=Fr(u[7]||"")):(this.h=!1,this.i=new jr(null,this.h))}an.prototype.toString=function(){var o=[],u=this.j;u&&o.push(Br(u,Hd,!0),":");var h=this.g;return(h||u=="file")&&(o.push("//"),(u=this.o)&&o.push(Br(u,Hd,!0),"@"),o.push(encodeURIComponent(String(h)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),h=this.s,h!=null&&o.push(":",String(h))),(h=this.l)&&(this.g&&h.charAt(0)!="/"&&o.push("/"),o.push(Br(h,h.charAt(0)=="/"?Zw:Jw,!0))),(h=this.i.toString())&&o.push("?",h),(h=this.m)&&o.push("#",Br(h,tI)),o.join("")};function Et(o){return new an(o)}function di(o,u,h){o.j=h?Fr(u,!0):u,o.j&&(o.j=o.j.replace(/:$/,""))}function fi(o,u){if(u){if(u=Number(u),isNaN(u)||0>u)throw Error("Bad port number "+u);o.s=u}else o.s=null}function zd(o,u,h){u instanceof jr?(o.i=u,nI(o.i,o.h)):(h||(u=Br(u,eI)),o.i=new jr(u,o.h))}function ne(o,u,h){o.i.set(u,h)}function pi(o){return ne(o,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),o}function Fr(o,u){return o?u?decodeURI(o.replace(/%25/g,"%2525")):decodeURIComponent(o):""}function Br(o,u,h){return typeof o=="string"?(o=encodeURI(o).replace(u,Xw),h&&(o=o.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),o):null}function Xw(o){return o=o.charCodeAt(0),"%"+(o>>4&15).toString(16)+(o&15).toString(16)}var Hd=/[#\/\?@]/g,Jw=/[#\?:]/g,Zw=/[#\?]/g,eI=/[#\?@]/g,tI=/#/g;function jr(o,u){this.h=this.g=null,this.i=o||null,this.j=!!u}function Ft(o){o.g||(o.g=new Map,o.h=0,o.i&&Yw(o.i,function(u,h){o.add(decodeURIComponent(u.replace(/\+/g," ")),h)}))}n=jr.prototype,n.add=function(o,u){Ft(this),this.i=null,o=Fn(this,o);var h=this.g.get(o);return h||this.g.set(o,h=[]),h.push(u),this.h+=1,this};function Wd(o,u){Ft(o),u=Fn(o,u),o.g.has(u)&&(o.i=null,o.h-=o.g.get(u).length,o.g.delete(u))}function Gd(o,u){return Ft(o),u=Fn(o,u),o.g.has(u)}n.forEach=function(o,u){Ft(this),this.g.forEach(function(h,f){h.forEach(function(I){o.call(u,I,f,this)},this)},this)},n.na=function(){Ft(this);const o=Array.from(this.g.values()),u=Array.from(this.g.keys()),h=[];for(let f=0;f<u.length;f++){const I=o[f];for(let b=0;b<I.length;b++)h.push(u[f])}return h},n.V=function(o){Ft(this);let u=[];if(typeof o=="string")Gd(this,o)&&(u=u.concat(this.g.get(Fn(this,o))));else{o=Array.from(this.g.values());for(let h=0;h<o.length;h++)u=u.concat(o[h])}return u},n.set=function(o,u){return Ft(this),this.i=null,o=Fn(this,o),Gd(this,o)&&(this.h-=this.g.get(o).length),this.g.set(o,[u]),this.h+=1,this},n.get=function(o,u){return o?(o=this.V(o),0<o.length?String(o[0]):u):u};function Kd(o,u,h){Wd(o,u),0<h.length&&(o.i=null,o.g.set(Fn(o,u),N(h)),o.h+=h.length)}n.toString=function(){if(this.i)return this.i;if(!this.g)return"";const o=[],u=Array.from(this.g.keys());for(var h=0;h<u.length;h++){var f=u[h];const b=encodeURIComponent(String(f)),D=this.V(f);for(f=0;f<D.length;f++){var I=b;D[f]!==""&&(I+="="+encodeURIComponent(String(D[f]))),o.push(I)}}return this.i=o.join("&")};function Fn(o,u){return u=String(u),o.j&&(u=u.toLowerCase()),u}function nI(o,u){u&&!o.j&&(Ft(o),o.i=null,o.g.forEach(function(h,f){var I=f.toLowerCase();f!=I&&(Wd(this,f),Kd(this,I,h))},o)),o.j=u}function rI(o,u){const h=new Ur;if(c.Image){const f=new Image;f.onload=R(Bt,h,"TestLoadImage: loaded",!0,u,f),f.onerror=R(Bt,h,"TestLoadImage: error",!1,u,f),f.onabort=R(Bt,h,"TestLoadImage: abort",!1,u,f),f.ontimeout=R(Bt,h,"TestLoadImage: timeout",!1,u,f),c.setTimeout(function(){f.ontimeout&&f.ontimeout()},1e4),f.src=o}else u(!1)}function sI(o,u){const h=new Ur,f=new AbortController,I=setTimeout(()=>{f.abort(),Bt(h,"TestPingServer: timeout",!1,u)},1e4);fetch(o,{signal:f.signal}).then(b=>{clearTimeout(I),b.ok?Bt(h,"TestPingServer: ok",!0,u):Bt(h,"TestPingServer: server error",!1,u)}).catch(()=>{clearTimeout(I),Bt(h,"TestPingServer: error",!1,u)})}function Bt(o,u,h,f,I){try{I&&(I.onload=null,I.onerror=null,I.onabort=null,I.ontimeout=null),f(h)}catch{}}function iI(){this.g=new jw}function oI(o,u,h){const f=h||"";try{qd(o,function(I,b){let D=I;d(I)&&(D=Sa(I)),u.push(f+b+"="+encodeURIComponent(D))})}catch(I){throw u.push(f+"type="+encodeURIComponent("_badmap")),I}}function qr(o){this.l=o.Ub||null,this.j=o.eb||!1}C(qr,Ca),qr.prototype.g=function(){return new mi(this.l,this.j)},qr.prototype.i=function(o){return function(){return o}}({});function mi(o,u){Re.call(this),this.D=o,this.o=u,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.u=new Headers,this.h=null,this.B="GET",this.A="",this.g=!1,this.v=this.j=this.l=null}C(mi,Re),n=mi.prototype,n.open=function(o,u){if(this.readyState!=0)throw this.abort(),Error("Error reopening a connection");this.B=o,this.A=u,this.readyState=1,zr(this)},n.send=function(o){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.g=!0;const u={headers:this.u,method:this.B,credentials:this.m,cache:void 0};o&&(u.body=o),(this.D||c).fetch(new Request(this.A,u)).then(this.Sa.bind(this),this.ga.bind(this))},n.abort=function(){this.response=this.responseText="",this.u=new Headers,this.status=0,this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),1<=this.readyState&&this.g&&this.readyState!=4&&(this.g=!1,$r(this)),this.readyState=0},n.Sa=function(o){if(this.g&&(this.l=o,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=o.headers,this.readyState=2,zr(this)),this.g&&(this.readyState=3,zr(this),this.g)))if(this.responseType==="arraybuffer")o.arrayBuffer().then(this.Qa.bind(this),this.ga.bind(this));else if(typeof c.ReadableStream<"u"&&"body"in o){if(this.j=o.body.getReader(),this.o){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.v=new TextDecoder;Qd(this)}else o.text().then(this.Ra.bind(this),this.ga.bind(this))};function Qd(o){o.j.read().then(o.Pa.bind(o)).catch(o.ga.bind(o))}n.Pa=function(o){if(this.g){if(this.o&&o.value)this.response.push(o.value);else if(!this.o){var u=o.value?o.value:new Uint8Array(0);(u=this.v.decode(u,{stream:!o.done}))&&(this.response=this.responseText+=u)}o.done?$r(this):zr(this),this.readyState==3&&Qd(this)}},n.Ra=function(o){this.g&&(this.response=this.responseText=o,$r(this))},n.Qa=function(o){this.g&&(this.response=o,$r(this))},n.ga=function(){this.g&&$r(this)};function $r(o){o.readyState=4,o.l=null,o.j=null,o.v=null,zr(o)}n.setRequestHeader=function(o,u){this.u.append(o,u)},n.getResponseHeader=function(o){return this.h&&this.h.get(o.toLowerCase())||""},n.getAllResponseHeaders=function(){if(!this.h)return"";const o=[],u=this.h.entries();for(var h=u.next();!h.done;)h=h.value,o.push(h[0]+": "+h[1]),h=u.next();return o.join(`\r
|
|
381
|
-
`)};function
|
|
382
|
-
`}),u}function
|
|
383
|
-
`);for(let
|
|
364
|
+
`+b+" "+D})}function Wn(o,u,h,p){o.info(function(){return"XMLHTTP TEXT ("+u+"): "+qI(o,h)+(p?" "+p:"")})}function jI(o,u){o.info(function(){return"TIMEOUT: "+u})}$r.prototype.info=function(){};function qI(o,u){if(!o.g)return u;if(!u)return null;try{var h=JSON.parse(u);if(h){for(o=0;o<h.length;o++)if(Array.isArray(h[o])){var p=h[o];if(!(2>p.length)){var I=p[1];if(Array.isArray(I)&&!(1>I.length)){var b=I[0];if(b!="noop"&&b!="stop"&&b!="close")for(var D=1;D<I.length;D++)I[D]=""}}}}return $a(h)}catch{return u}}var Ti={NO_ERROR:0,gb:1,tb:2,sb:3,nb:4,rb:5,ub:6,Ia:7,TIMEOUT:8,xb:9},gf={lb:"complete",Hb:"success",Ja:"error",Ia:"abort",zb:"ready",Ab:"readystatechange",TIMEOUT:"timeout",vb:"incrementaldata",yb:"progress",ob:"downloadprogress",Pb:"uploadprogress"},Ga;function wi(){}S(wi,Ha),wi.prototype.g=function(){return new XMLHttpRequest},wi.prototype.i=function(){return{}},Ga=new wi;function Wt(o,u,h,p){this.j=o,this.i=u,this.l=h,this.R=p||1,this.U=new Fr(this),this.I=45e3,this.H=null,this.o=!1,this.m=this.A=this.v=this.L=this.F=this.S=this.B=null,this.D=[],this.g=null,this.C=0,this.s=this.u=null,this.X=-1,this.J=!1,this.O=0,this.M=null,this.W=this.K=this.T=this.P=!1,this.h=new _f}function _f(){this.i=null,this.g="",this.h=!1}var yf={},Ka={};function Qa(o,u,h){o.L=1,o.v=bi(It(u)),o.m=h,o.P=!0,vf(o,null)}function vf(o,u){o.F=Date.now(),Ii(o),o.A=It(o.v);var h=o.A,p=o.R;Array.isArray(p)||(p=[String(p)]),Of(h.i,"t",p),o.C=0,h=o.j.J,o.h=new _f,o.g=Yf(o.j,h?u:null,!o.m),0<o.O&&(o.M=new MI(v(o.Y,o,o.g),o.O)),u=o.U,h=o.g,p=o.ca;var I="readystatechange";Array.isArray(I)||(I&&(cf[0]=I.toString()),I=cf);for(var b=0;b<I.length;b++){var D=tf(h,I[b],p||u.handleEvent,!1,u.h||u);if(!D)break;u.g[D.key]=D}u=o.H?g(o.H):{},o.m?(o.u||(o.u="POST"),u["Content-Type"]="application/x-www-form-urlencoded",o.g.ea(o.A,o.u,o.m,u)):(o.u="GET",o.g.ea(o.A,o.u,null,u)),jr(),FI(o.i,o.u,o.A,o.l,o.R,o.m)}Wt.prototype.ca=function(o){o=o.target;const u=this.M;u&&At(o)==3?u.j():this.Y(o)},Wt.prototype.Y=function(o){try{if(o==this.g)e:{const Se=At(this.g);var u=this.g.Ba();const Qn=this.g.Z();if(!(3>Se)&&(Se!=3||this.g&&(this.h.h||this.g.oa()||Bf(this.g)))){this.J||Se!=4||u==7||(u==8||0>=Qn?jr(3):jr(2)),Xa(this);var h=this.g.Z();this.X=h;t:if(Ef(this)){var p=Bf(this.g);o="";var I=p.length,b=At(this.g)==4;if(!this.h.i){if(typeof TextDecoder>"u"){fn(this),Hr(this);var D="";break t}this.h.i=new c.TextDecoder}for(u=0;u<I;u++)this.h.h=!0,o+=this.h.i.decode(p[u],{stream:!(b&&u==I-1)});p.length=0,this.h.g+=o,this.C=0,D=this.h.g}else D=this.g.oa();if(this.o=h==200,BI(this.i,this.u,this.A,this.l,this.R,Se,h),this.o){if(this.T&&!this.K){t:{if(this.g){var Z,ve=this.g;if((Z=ve.g?ve.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!$(Z)){var Q=Z;break t}}Q=null}if(h=Q)Wn(this.i,this.l,h,"Initial handshake response via X-HTTP-Initial-Response"),this.K=!0,Ya(this,h);else{this.o=!1,this.s=3,Ne(12),fn(this),Hr(this);break e}}if(this.P){h=!0;let Je;for(;!this.J&&this.C<D.length;)if(Je=$I(this,D),Je==Ka){Se==4&&(this.s=4,Ne(14),h=!1),Wn(this.i,this.l,null,"[Incomplete Response]");break}else if(Je==yf){this.s=4,Ne(15),Wn(this.i,this.l,D,"[Invalid Chunk]"),h=!1;break}else Wn(this.i,this.l,Je,null),Ya(this,Je);if(Ef(this)&&this.C!=0&&(this.h.g=this.h.g.slice(this.C),this.C=0),Se!=4||D.length!=0||this.h.h||(this.s=1,Ne(16),h=!1),this.o=this.o&&h,!h)Wn(this.i,this.l,D,"[Invalid Chunked Response]"),fn(this),Hr(this);else if(0<D.length&&!this.W){this.W=!0;var Pe=this.j;Pe.g==this&&Pe.ba&&!Pe.M&&(Pe.j.info("Great, no buffering proxy detected. Bytes received: "+D.length),rc(Pe),Pe.M=!0,Ne(11))}}else Wn(this.i,this.l,D,null),Ya(this,D);Se==4&&fn(this),this.o&&!this.J&&(Se==4?Gf(this.j,this):(this.o=!1,Ii(this)))}else oA(this.g),h==400&&0<D.indexOf("Unknown SID")?(this.s=3,Ne(12)):(this.s=0,Ne(13)),fn(this),Hr(this)}}}catch{}finally{}};function Ef(o){return o.g?o.u=="GET"&&o.L!=2&&o.j.Ca:!1}function $I(o,u){var h=o.C,p=u.indexOf(`
|
|
365
|
+
`,h);return p==-1?Ka:(h=Number(u.substring(h,p)),isNaN(h)?yf:(p+=1,p+h>u.length?Ka:(u=u.slice(p,p+h),o.C=p+h,u)))}Wt.prototype.cancel=function(){this.J=!0,fn(this)};function Ii(o){o.S=Date.now()+o.I,Tf(o,o.I)}function Tf(o,u){if(o.B!=null)throw Error("WatchDog timer not null");o.B=qr(v(o.ba,o),u)}function Xa(o){o.B&&(c.clearTimeout(o.B),o.B=null)}Wt.prototype.ba=function(){this.B=null;const o=Date.now();0<=o-this.S?(jI(this.i,this.A),this.L!=2&&(jr(),Ne(17)),fn(this),this.s=2,Hr(this)):Tf(this,this.S-o)};function Hr(o){o.j.G==0||o.J||Gf(o.j,o)}function fn(o){Xa(o);var u=o.M;u&&typeof u.ma=="function"&&u.ma(),o.M=null,uf(o.U),o.g&&(u=o.g,o.g=null,u.abort(),u.ma())}function Ya(o,u){try{var h=o.j;if(h.G!=0&&(h.g==o||Ja(h.h,o))){if(!o.K&&Ja(h.h,o)&&h.G==3){try{var p=h.Da.g.parse(u)}catch{p=null}if(Array.isArray(p)&&p.length==3){var I=p;if(I[0]==0){e:if(!h.u){if(h.g)if(h.g.F+3e3<o.F)Di(h),ki(h);else break e;nc(h),Ne(18)}}else h.za=I[1],0<h.za-h.T&&37500>I[2]&&h.F&&h.v==0&&!h.C&&(h.C=qr(v(h.Za,h),6e3));if(1>=Af(h.h)&&h.ca){try{h.ca()}catch{}h.ca=void 0}}else mn(h,11)}else if((o.K||h.g==o)&&Di(h),!$(u))for(I=h.Da.g.parse(u),u=0;u<I.length;u++){let Q=I[u];if(h.T=Q[0],Q=Q[1],h.G==2)if(Q[0]=="c"){h.K=Q[1],h.ia=Q[2];const Pe=Q[3];Pe!=null&&(h.la=Pe,h.j.info("VER="+h.la));const Se=Q[4];Se!=null&&(h.Aa=Se,h.j.info("SVER="+h.Aa));const Qn=Q[5];Qn!=null&&typeof Qn=="number"&&0<Qn&&(p=1.5*Qn,h.L=p,h.j.info("backChannelRequestTimeoutMs_="+p)),p=h;const Je=o.g;if(Je){const Vi=Je.g?Je.g.getResponseHeader("X-Client-Wire-Protocol"):null;if(Vi){var b=p.h;b.g||Vi.indexOf("spdy")==-1&&Vi.indexOf("quic")==-1&&Vi.indexOf("h2")==-1||(b.j=b.l,b.g=new Set,b.h&&(Za(b,b.h),b.h=null))}if(p.D){const sc=Je.g?Je.g.getResponseHeader("X-HTTP-Session-Id"):null;sc&&(p.ya=sc,ne(p.I,p.D,sc))}}h.G=3,h.l&&h.l.ua(),h.ba&&(h.R=Date.now()-o.F,h.j.info("Handshake RTT: "+h.R+"ms")),p=h;var D=o;if(p.qa=Xf(p,p.J?p.ia:null,p.W),D.K){Rf(p.h,D);var Z=D,ve=p.L;ve&&(Z.I=ve),Z.B&&(Xa(Z),Ii(Z)),p.g=D}else zf(p);0<h.i.length&&Ni(h)}else Q[0]!="stop"&&Q[0]!="close"||mn(h,7);else h.G==3&&(Q[0]=="stop"||Q[0]=="close"?Q[0]=="stop"?mn(h,7):tc(h):Q[0]!="noop"&&h.l&&h.l.ta(Q),h.v=0)}}jr(4)}catch{}}var HI=class{constructor(o,u){this.g=o,this.map=u}};function wf(o){this.l=o||10,c.PerformanceNavigationTiming?(o=c.performance.getEntriesByType("navigation"),o=0<o.length&&(o[0].nextHopProtocol=="hq"||o[0].nextHopProtocol=="h2")):o=!!(c.chrome&&c.chrome.loadTimes&&c.chrome.loadTimes()&&c.chrome.loadTimes().wasFetchedViaSpdy),this.j=o?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}function If(o){return o.h?!0:o.g?o.g.size>=o.j:!1}function Af(o){return o.h?1:o.g?o.g.size:0}function Ja(o,u){return o.h?o.h==u:o.g?o.g.has(u):!1}function Za(o,u){o.g?o.g.add(u):o.h=u}function Rf(o,u){o.h&&o.h==u?o.h=null:o.g&&o.g.has(u)&&o.g.delete(u)}wf.prototype.cancel=function(){if(this.i=bf(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&this.g.size!==0){for(const o of this.g.values())o.cancel();this.g.clear()}};function bf(o){if(o.h!=null)return o.i.concat(o.h.D);if(o.g!=null&&o.g.size!==0){let u=o.i;for(const h of o.g.values())u=u.concat(h.D);return u}return N(o.i)}function zI(o){if(o.V&&typeof o.V=="function")return o.V();if(typeof Map<"u"&&o instanceof Map||typeof Set<"u"&&o instanceof Set)return Array.from(o.values());if(typeof o=="string")return o.split("");if(l(o)){for(var u=[],h=o.length,p=0;p<h;p++)u.push(o[p]);return u}u=[],h=0;for(p in o)u[h++]=o[p];return u}function WI(o){if(o.na&&typeof o.na=="function")return o.na();if(!o.V||typeof o.V!="function"){if(typeof Map<"u"&&o instanceof Map)return Array.from(o.keys());if(!(typeof Set<"u"&&o instanceof Set)){if(l(o)||typeof o=="string"){var u=[];o=o.length;for(var h=0;h<o;h++)u.push(h);return u}u=[],h=0;for(const p in o)u[h++]=p;return u}}}function Pf(o,u){if(o.forEach&&typeof o.forEach=="function")o.forEach(u,void 0);else if(l(o)||typeof o=="string")Array.prototype.forEach.call(o,u,void 0);else for(var h=WI(o),p=zI(o),I=p.length,b=0;b<I;b++)u.call(void 0,p[b],h&&h[b],o)}var Sf=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function GI(o,u){if(o){o=o.split("&");for(var h=0;h<o.length;h++){var p=o[h].indexOf("="),I=null;if(0<=p){var b=o[h].substring(0,p);I=o[h].substring(p+1)}else b=o[h];u(b,I?decodeURIComponent(I.replace(/\+/g," ")):"")}}}function pn(o){if(this.g=this.o=this.j="",this.s=null,this.m=this.l="",this.h=!1,o instanceof pn){this.h=o.h,Ai(this,o.j),this.o=o.o,this.g=o.g,Ri(this,o.s),this.l=o.l;var u=o.i,h=new Gr;h.i=u.i,u.g&&(h.g=new Map(u.g),h.h=u.h),Cf(this,h),this.m=o.m}else o&&(u=String(o).match(Sf))?(this.h=!1,Ai(this,u[1]||"",!0),this.o=zr(u[2]||""),this.g=zr(u[3]||"",!0),Ri(this,u[4]),this.l=zr(u[5]||"",!0),Cf(this,u[6]||"",!0),this.m=zr(u[7]||"")):(this.h=!1,this.i=new Gr(null,this.h))}pn.prototype.toString=function(){var o=[],u=this.j;u&&o.push(Wr(u,kf,!0),":");var h=this.g;return(h||u=="file")&&(o.push("//"),(u=this.o)&&o.push(Wr(u,kf,!0),"@"),o.push(encodeURIComponent(String(h)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),h=this.s,h!=null&&o.push(":",String(h))),(h=this.l)&&(this.g&&h.charAt(0)!="/"&&o.push("/"),o.push(Wr(h,h.charAt(0)=="/"?XI:QI,!0))),(h=this.i.toString())&&o.push("?",h),(h=this.m)&&o.push("#",Wr(h,JI)),o.join("")};function It(o){return new pn(o)}function Ai(o,u,h){o.j=h?zr(u,!0):u,o.j&&(o.j=o.j.replace(/:$/,""))}function Ri(o,u){if(u){if(u=Number(u),isNaN(u)||0>u)throw Error("Bad port number "+u);o.s=u}else o.s=null}function Cf(o,u,h){u instanceof Gr?(o.i=u,ZI(o.i,o.h)):(h||(u=Wr(u,YI)),o.i=new Gr(u,o.h))}function ne(o,u,h){o.i.set(u,h)}function bi(o){return ne(o,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),o}function zr(o,u){return o?u?decodeURI(o.replace(/%25/g,"%2525")):decodeURIComponent(o):""}function Wr(o,u,h){return typeof o=="string"?(o=encodeURI(o).replace(u,KI),h&&(o=o.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),o):null}function KI(o){return o=o.charCodeAt(0),"%"+(o>>4&15).toString(16)+(o&15).toString(16)}var kf=/[#\/\?@]/g,QI=/[#\?:]/g,XI=/[#\?]/g,YI=/[#\?@]/g,JI=/#/g;function Gr(o,u){this.h=this.g=null,this.i=o||null,this.j=!!u}function Gt(o){o.g||(o.g=new Map,o.h=0,o.i&&GI(o.i,function(u,h){o.add(decodeURIComponent(u.replace(/\+/g," ")),h)}))}n=Gr.prototype,n.add=function(o,u){Gt(this),this.i=null,o=Gn(this,o);var h=this.g.get(o);return h||this.g.set(o,h=[]),h.push(u),this.h+=1,this};function Nf(o,u){Gt(o),u=Gn(o,u),o.g.has(u)&&(o.i=null,o.h-=o.g.get(u).length,o.g.delete(u))}function Df(o,u){return Gt(o),u=Gn(o,u),o.g.has(u)}n.forEach=function(o,u){Gt(this),this.g.forEach(function(h,p){h.forEach(function(I){o.call(u,I,p,this)},this)},this)},n.na=function(){Gt(this);const o=Array.from(this.g.values()),u=Array.from(this.g.keys()),h=[];for(let p=0;p<u.length;p++){const I=o[p];for(let b=0;b<I.length;b++)h.push(u[p])}return h},n.V=function(o){Gt(this);let u=[];if(typeof o=="string")Df(this,o)&&(u=u.concat(this.g.get(Gn(this,o))));else{o=Array.from(this.g.values());for(let h=0;h<o.length;h++)u=u.concat(o[h])}return u},n.set=function(o,u){return Gt(this),this.i=null,o=Gn(this,o),Df(this,o)&&(this.h-=this.g.get(o).length),this.g.set(o,[u]),this.h+=1,this},n.get=function(o,u){return o?(o=this.V(o),0<o.length?String(o[0]):u):u};function Of(o,u,h){Nf(o,u),0<h.length&&(o.i=null,o.g.set(Gn(o,u),N(h)),o.h+=h.length)}n.toString=function(){if(this.i)return this.i;if(!this.g)return"";const o=[],u=Array.from(this.g.keys());for(var h=0;h<u.length;h++){var p=u[h];const b=encodeURIComponent(String(p)),D=this.V(p);for(p=0;p<D.length;p++){var I=b;D[p]!==""&&(I+="="+encodeURIComponent(String(D[p]))),o.push(I)}}return this.i=o.join("&")};function Gn(o,u){return u=String(u),o.j&&(u=u.toLowerCase()),u}function ZI(o,u){u&&!o.j&&(Gt(o),o.i=null,o.g.forEach(function(h,p){var I=p.toLowerCase();p!=I&&(Nf(this,p),Of(this,I,h))},o)),o.j=u}function eA(o,u){const h=new $r;if(c.Image){const p=new Image;p.onload=R(Kt,h,"TestLoadImage: loaded",!0,u,p),p.onerror=R(Kt,h,"TestLoadImage: error",!1,u,p),p.onabort=R(Kt,h,"TestLoadImage: abort",!1,u,p),p.ontimeout=R(Kt,h,"TestLoadImage: timeout",!1,u,p),c.setTimeout(function(){p.ontimeout&&p.ontimeout()},1e4),p.src=o}else u(!1)}function tA(o,u){const h=new $r,p=new AbortController,I=setTimeout(()=>{p.abort(),Kt(h,"TestPingServer: timeout",!1,u)},1e4);fetch(o,{signal:p.signal}).then(b=>{clearTimeout(I),b.ok?Kt(h,"TestPingServer: ok",!0,u):Kt(h,"TestPingServer: server error",!1,u)}).catch(()=>{clearTimeout(I),Kt(h,"TestPingServer: error",!1,u)})}function Kt(o,u,h,p,I){try{I&&(I.onload=null,I.onerror=null,I.onabort=null,I.ontimeout=null),p(h)}catch{}}function nA(){this.g=new xI}function rA(o,u,h){const p=h||"";try{Pf(o,function(I,b){let D=I;d(I)&&(D=$a(I)),u.push(p+b+"="+encodeURIComponent(D))})}catch(I){throw u.push(p+"type="+encodeURIComponent("_badmap")),I}}function Pi(o){this.l=o.Ub||null,this.j=o.eb||!1}S(Pi,Ha),Pi.prototype.g=function(){return new Si(this.l,this.j)},Pi.prototype.i=function(o){return function(){return o}}({});function Si(o,u){be.call(this),this.D=o,this.o=u,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.u=new Headers,this.h=null,this.B="GET",this.A="",this.g=!1,this.v=this.j=this.l=null}S(Si,be),n=Si.prototype,n.open=function(o,u){if(this.readyState!=0)throw this.abort(),Error("Error reopening a connection");this.B=o,this.A=u,this.readyState=1,Qr(this)},n.send=function(o){if(this.readyState!=1)throw this.abort(),Error("need to call open() first. ");this.g=!0;const u={headers:this.u,method:this.B,credentials:this.m,cache:void 0};o&&(u.body=o),(this.D||c).fetch(new Request(this.A,u)).then(this.Sa.bind(this),this.ga.bind(this))},n.abort=function(){this.response=this.responseText="",this.u=new Headers,this.status=0,this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),1<=this.readyState&&this.g&&this.readyState!=4&&(this.g=!1,Kr(this)),this.readyState=0},n.Sa=function(o){if(this.g&&(this.l=o,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=o.headers,this.readyState=2,Qr(this)),this.g&&(this.readyState=3,Qr(this),this.g)))if(this.responseType==="arraybuffer")o.arrayBuffer().then(this.Qa.bind(this),this.ga.bind(this));else if(typeof c.ReadableStream<"u"&&"body"in o){if(this.j=o.body.getReader(),this.o){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.v=new TextDecoder;Vf(this)}else o.text().then(this.Ra.bind(this),this.ga.bind(this))};function Vf(o){o.j.read().then(o.Pa.bind(o)).catch(o.ga.bind(o))}n.Pa=function(o){if(this.g){if(this.o&&o.value)this.response.push(o.value);else if(!this.o){var u=o.value?o.value:new Uint8Array(0);(u=this.v.decode(u,{stream:!o.done}))&&(this.response=this.responseText+=u)}o.done?Kr(this):Qr(this),this.readyState==3&&Vf(this)}},n.Ra=function(o){this.g&&(this.response=this.responseText=o,Kr(this))},n.Qa=function(o){this.g&&(this.response=o,Kr(this))},n.ga=function(){this.g&&Kr(this)};function Kr(o){o.readyState=4,o.l=null,o.j=null,o.v=null,Qr(o)}n.setRequestHeader=function(o,u){this.u.append(o,u)},n.getResponseHeader=function(o){return this.h&&this.h.get(o.toLowerCase())||""},n.getAllResponseHeaders=function(){if(!this.h)return"";const o=[],u=this.h.entries();for(var h=u.next();!h.done;)h=h.value,o.push(h[0]+": "+h[1]),h=u.next();return o.join(`\r
|
|
366
|
+
`)};function Qr(o){o.onreadystatechange&&o.onreadystatechange.call(o)}Object.defineProperty(Si.prototype,"withCredentials",{get:function(){return this.m==="include"},set:function(o){this.m=o?"include":"same-origin"}});function Lf(o){let u="";return J(o,function(h,p){u+=p,u+=":",u+=h,u+=`\r
|
|
367
|
+
`}),u}function ec(o,u,h){e:{for(p in h){var p=!1;break e}p=!0}p||(h=Lf(h),typeof o=="string"?h!=null&&encodeURIComponent(String(h)):ne(o,u,h))}function ie(o){be.call(this),this.headers=new Map,this.o=o||null,this.h=!1,this.v=this.g=null,this.D="",this.m=0,this.l="",this.j=this.B=this.u=this.A=!1,this.I=null,this.H="",this.J=!1}S(ie,be);var sA=/^https?$/i,iA=["POST","PUT"];n=ie.prototype,n.Ha=function(o){this.J=o},n.ea=function(o,u,h,p){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.D+"; newUri="+o);u=u?u.toUpperCase():"GET",this.D=o,this.l="",this.m=0,this.A=!1,this.h=!0,this.g=this.o?this.o.g():Ga.g(),this.v=this.o?lf(this.o):lf(Ga),this.g.onreadystatechange=v(this.Ea,this);try{this.B=!0,this.g.open(u,String(o),!0),this.B=!1}catch(b){Mf(this,b);return}if(o=h||"",h=new Map(this.headers),p)if(Object.getPrototypeOf(p)===Object.prototype)for(var I in p)h.set(I,p[I]);else if(typeof p.keys=="function"&&typeof p.get=="function")for(const b of p.keys())h.set(b,p.get(b));else throw Error("Unknown input type for opt_headers: "+String(p));p=Array.from(h.keys()).find(b=>b.toLowerCase()=="content-type"),I=c.FormData&&o instanceof c.FormData,!(0<=Array.prototype.indexOf.call(iA,u,void 0))||p||I||h.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");for(const[b,D]of h)this.g.setRequestHeader(b,D);this.H&&(this.g.responseType=this.H),"withCredentials"in this.g&&this.g.withCredentials!==this.J&&(this.g.withCredentials=this.J);try{Ff(this),this.u=!0,this.g.send(o),this.u=!1}catch(b){Mf(this,b)}};function Mf(o,u){o.h=!1,o.g&&(o.j=!0,o.g.abort(),o.j=!1),o.l=u,o.m=5,Uf(o),Ci(o)}function Uf(o){o.A||(o.A=!0,ke(o,"complete"),ke(o,"error"))}n.abort=function(o){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.m=o||7,ke(this,"complete"),ke(this,"abort"),Ci(this))},n.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),Ci(this,!0)),ie.aa.N.call(this)},n.Ea=function(){this.s||(this.B||this.u||this.j?xf(this):this.bb())},n.bb=function(){xf(this)};function xf(o){if(o.h&&typeof a<"u"&&(!o.v[1]||At(o)!=4||o.Z()!=2)){if(o.u&&At(o)==4)of(o.Ea,0,o);else if(ke(o,"readystatechange"),At(o)==4){o.h=!1;try{const D=o.Z();e:switch(D){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var u=!0;break e;default:u=!1}var h;if(!(h=u)){var p;if(p=D===0){var I=String(o.D).match(Sf)[1]||null;!I&&c.self&&c.self.location&&(I=c.self.location.protocol.slice(0,-1)),p=!sA.test(I?I.toLowerCase():"")}h=p}if(h)ke(o,"complete"),ke(o,"success");else{o.m=6;try{var b=2<At(o)?o.g.statusText:""}catch{b=""}o.l=b+" ["+o.Z()+"]",Uf(o)}}finally{Ci(o)}}}}function Ci(o,u){if(o.g){Ff(o);const h=o.g,p=o.v[0]?()=>{}:null;o.g=null,o.v=null,u||ke(o,"ready");try{h.onreadystatechange=p}catch{}}}function Ff(o){o.I&&(c.clearTimeout(o.I),o.I=null)}n.isActive=function(){return!!this.g};function At(o){return o.g?o.g.readyState:0}n.Z=function(){try{return 2<At(this)?this.g.status:-1}catch{return-1}},n.oa=function(){try{return this.g?this.g.responseText:""}catch{return""}},n.Oa=function(o){if(this.g){var u=this.g.responseText;return o&&u.indexOf(o)==0&&(u=u.substring(o.length)),UI(u)}};function Bf(o){try{if(!o.g)return null;if("response"in o.g)return o.g.response;switch(o.H){case"":case"text":return o.g.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in o.g)return o.g.mozResponseArrayBuffer}return null}catch{return null}}function oA(o){const u={};o=(o.g&&2<=At(o)&&o.g.getAllResponseHeaders()||"").split(`\r
|
|
368
|
+
`);for(let p=0;p<o.length;p++){if($(o[p]))continue;var h=w(o[p]);const I=h[0];if(h=h[1],typeof h!="string")continue;h=h.trim();const b=u[I]||[];u[I]=b,b.push(h)}T(u,function(p){return p.join(", ")})}n.Ba=function(){return this.m},n.Ka=function(){return typeof this.l=="string"?this.l:String(this.l)};function Xr(o,u,h){return h&&h.internalChannelParams&&h.internalChannelParams[o]||u}function jf(o){this.Aa=0,this.i=[],this.j=new $r,this.ia=this.qa=this.I=this.W=this.g=this.ya=this.D=this.H=this.m=this.S=this.o=null,this.Ya=this.U=0,this.Va=Xr("failFast",!1,o),this.F=this.C=this.u=this.s=this.l=null,this.X=!0,this.za=this.T=-1,this.Y=this.v=this.B=0,this.Ta=Xr("baseRetryDelayMs",5e3,o),this.cb=Xr("retryDelaySeedMs",1e4,o),this.Wa=Xr("forwardChannelMaxRetries",2,o),this.wa=Xr("forwardChannelRequestTimeoutMs",2e4,o),this.pa=o&&o.xmlHttpFactory||void 0,this.Xa=o&&o.Tb||void 0,this.Ca=o&&o.useFetchStreams||!1,this.L=void 0,this.J=o&&o.supportsCrossDomainXhr||!1,this.K="",this.h=new wf(o&&o.concurrentRequestLimit),this.Da=new nA,this.P=o&&o.fastHandshake||!1,this.O=o&&o.encodeInitMessageHeaders||!1,this.P&&this.O&&(this.O=!1),this.Ua=o&&o.Rb||!1,o&&o.xa&&this.j.xa(),o&&o.forceLongPolling&&(this.X=!1),this.ba=!this.P&&this.X&&o&&o.detectBufferingProxy||!1,this.ja=void 0,o&&o.longPollingTimeout&&0<o.longPollingTimeout&&(this.ja=o.longPollingTimeout),this.ca=void 0,this.R=0,this.M=!1,this.ka=this.A=null}n=jf.prototype,n.la=8,n.G=1,n.connect=function(o,u,h,p){Ne(0),this.W=o,this.H=u||{},h&&p!==void 0&&(this.H.OSID=h,this.H.OAID=p),this.F=this.X,this.I=Xf(this,null,this.W),Ni(this)};function tc(o){if(qf(o),o.G==3){var u=o.U++,h=It(o.I);if(ne(h,"SID",o.K),ne(h,"RID",u),ne(h,"TYPE","terminate"),Yr(o,h),u=new Wt(o,o.j,u),u.L=2,u.v=bi(It(h)),h=!1,c.navigator&&c.navigator.sendBeacon)try{h=c.navigator.sendBeacon(u.v.toString(),"")}catch{}!h&&c.Image&&(new Image().src=u.v,h=!0),h||(u.g=Yf(u.j,null),u.g.ea(u.v)),u.F=Date.now(),Ii(u)}Qf(o)}function ki(o){o.g&&(rc(o),o.g.cancel(),o.g=null)}function qf(o){ki(o),o.u&&(c.clearTimeout(o.u),o.u=null),Di(o),o.h.cancel(),o.s&&(typeof o.s=="number"&&c.clearTimeout(o.s),o.s=null)}function Ni(o){if(!If(o.h)&&!o.s){o.s=!0;var u=o.Ga;Mr||ef(),Ur||(Mr(),Ur=!0),La.add(u,o),o.B=0}}function aA(o,u){return Af(o.h)>=o.h.j-(o.s?1:0)?!1:o.s?(o.i=u.D.concat(o.i),!0):o.G==1||o.G==2||o.B>=(o.Va?0:o.Wa)?!1:(o.s=qr(v(o.Ga,o,u),Kf(o,o.B)),o.B++,!0)}n.Ga=function(o){if(this.s)if(this.s=null,this.G==1){if(!o){this.U=Math.floor(1e5*Math.random()),o=this.U++;const I=new Wt(this,this.j,o);let b=this.o;if(this.S&&(b?(b=g(b),E(b,this.S)):b=this.S),this.m!==null||this.O||(I.H=b,b=null),this.P)e:{for(var u=0,h=0;h<this.i.length;h++){t:{var p=this.i[h];if("__data__"in p.map&&(p=p.map.__data__,typeof p=="string")){p=p.length;break t}p=void 0}if(p===void 0)break;if(u+=p,4096<u){u=h;break e}if(u===4096||h===this.i.length-1){u=h+1;break e}}u=1e3}else u=1e3;u=Hf(this,I,u),h=It(this.I),ne(h,"RID",o),ne(h,"CVER",22),this.D&&ne(h,"X-HTTP-Session-Id",this.D),Yr(this,h),b&&(this.O?u="headers="+encodeURIComponent(String(Lf(b)))+"&"+u:this.m&&ec(h,this.m,b)),Za(this.h,I),this.Ua&&ne(h,"TYPE","init"),this.P?(ne(h,"$req",u),ne(h,"SID","null"),I.T=!0,Qa(I,h,null)):Qa(I,h,u),this.G=2}}else this.G==3&&(o?$f(this,o):this.i.length==0||If(this.h)||$f(this))};function $f(o,u){var h;u?h=u.l:h=o.U++;const p=It(o.I);ne(p,"SID",o.K),ne(p,"RID",h),ne(p,"AID",o.T),Yr(o,p),o.m&&o.o&&ec(p,o.m,o.o),h=new Wt(o,o.j,h,o.B+1),o.m===null&&(h.H=o.o),u&&(o.i=u.D.concat(o.i)),u=Hf(o,h,1e3),h.I=Math.round(.5*o.wa)+Math.round(.5*o.wa*Math.random()),Za(o.h,h),Qa(h,p,u)}function Yr(o,u){o.H&&J(o.H,function(h,p){ne(u,p,h)}),o.l&&Pf({},function(h,p){ne(u,p,h)})}function Hf(o,u,h){h=Math.min(o.i.length,h);var p=o.l?v(o.l.Na,o.l,o):null;e:{var I=o.i;let b=-1;for(;;){const D=["count="+h];b==-1?0<h?(b=I[0].g,D.push("ofs="+b)):b=0:D.push("ofs="+b);let Z=!0;for(let ve=0;ve<h;ve++){let Q=I[ve].g;const Pe=I[ve].map;if(Q-=b,0>Q)b=Math.max(0,I[ve].g-100),Z=!1;else try{rA(Pe,D,"req"+Q+"_")}catch{p&&p(Pe)}}if(Z){p=D.join("&");break e}}}return o=o.i.splice(0,h),u.D=o,p}function zf(o){if(!o.g&&!o.u){o.Y=1;var u=o.Fa;Mr||ef(),Ur||(Mr(),Ur=!0),La.add(u,o),o.v=0}}function nc(o){return o.g||o.u||3<=o.v?!1:(o.Y++,o.u=qr(v(o.Fa,o),Kf(o,o.v)),o.v++,!0)}n.Fa=function(){if(this.u=null,Wf(this),this.ba&&!(this.M||this.g==null||0>=this.R)){var o=2*this.R;this.j.info("BP detection timer enabled: "+o),this.A=qr(v(this.ab,this),o)}},n.ab=function(){this.A&&(this.A=null,this.j.info("BP detection timeout reached."),this.j.info("Buffering proxy detected and switch to long-polling!"),this.F=!1,this.M=!0,Ne(10),ki(this),Wf(this))};function rc(o){o.A!=null&&(c.clearTimeout(o.A),o.A=null)}function Wf(o){o.g=new Wt(o,o.j,"rpc",o.Y),o.m===null&&(o.g.H=o.o),o.g.O=0;var u=It(o.qa);ne(u,"RID","rpc"),ne(u,"SID",o.K),ne(u,"AID",o.T),ne(u,"CI",o.F?"0":"1"),!o.F&&o.ja&&ne(u,"TO",o.ja),ne(u,"TYPE","xmlhttp"),Yr(o,u),o.m&&o.o&&ec(u,o.m,o.o),o.L&&(o.g.I=o.L);var h=o.g;o=o.ia,h.L=1,h.v=bi(It(u)),h.m=null,h.P=!0,vf(h,o)}n.Za=function(){this.C!=null&&(this.C=null,ki(this),nc(this),Ne(19))};function Di(o){o.C!=null&&(c.clearTimeout(o.C),o.C=null)}function Gf(o,u){var h=null;if(o.g==u){Di(o),rc(o),o.g=null;var p=2}else if(Ja(o.h,u))h=u.D,Rf(o.h,u),p=1;else return;if(o.G!=0){if(u.o)if(p==1){h=u.m?u.m.length:0,u=Date.now()-u.F;var I=o.B;p=Ei(),ke(p,new mf(p,h)),Ni(o)}else zf(o);else if(I=u.s,I==3||I==0&&0<u.X||!(p==1&&aA(o,u)||p==2&&nc(o)))switch(h&&0<h.length&&(u=o.h,u.i=u.i.concat(h)),I){case 1:mn(o,5);break;case 4:mn(o,10);break;case 3:mn(o,6);break;default:mn(o,2)}}}function Kf(o,u){let h=o.Ta+Math.floor(Math.random()*o.cb);return o.isActive()||(h*=2),h*u}function mn(o,u){if(o.j.info("Error code "+u),u==2){var h=v(o.fb,o),p=o.Xa;const I=!p;p=new pn(p||"//www.google.com/images/cleardot.gif"),c.location&&c.location.protocol=="http"||Ai(p,"https"),bi(p),I?eA(p.toString(),h):tA(p.toString(),h)}else Ne(2);o.G=0,o.l&&o.l.sa(u),Qf(o),qf(o)}n.fb=function(o){o?(this.j.info("Successfully pinged google.com"),Ne(2)):(this.j.info("Failed to ping google.com"),Ne(1))};function Qf(o){if(o.G=0,o.ka=[],o.l){const u=bf(o.h);(u.length!=0||o.i.length!=0)&&(k(o.ka,u),k(o.ka,o.i),o.h.i.length=0,N(o.i),o.i.length=0),o.l.ra()}}function Xf(o,u,h){var p=h instanceof pn?It(h):new pn(h);if(p.g!="")u&&(p.g=u+"."+p.g),Ri(p,p.s);else{var I=c.location;p=I.protocol,u=u?u+"."+I.hostname:I.hostname,I=+I.port;var b=new pn(null);p&&Ai(b,p),u&&(b.g=u),I&&Ri(b,I),h&&(b.l=h),p=b}return h=o.D,u=o.ya,h&&u&&ne(p,h,u),ne(p,"VER",o.la),Yr(o,p),p}function Yf(o,u,h){if(u&&!o.J)throw Error("Can't create secondary domain capable XhrIo object.");return u=o.Ca&&!o.pa?new ie(new Pi({eb:h})):new ie(o.pa),u.Ha(o.J),u}n.isActive=function(){return!!this.l&&this.l.isActive(this)};function Jf(){}n=Jf.prototype,n.ua=function(){},n.ta=function(){},n.sa=function(){},n.ra=function(){},n.isActive=function(){return!0},n.Na=function(){};function Oi(){}Oi.prototype.g=function(o,u){return new je(o,u)};function je(o,u){be.call(this),this.g=new jf(u),this.l=o,this.h=u&&u.messageUrlParams||null,o=u&&u.messageHeaders||null,u&&u.clientProtocolHeaderRequired&&(o?o["X-Client-Protocol"]="webchannel":o={"X-Client-Protocol":"webchannel"}),this.g.o=o,o=u&&u.initMessageHeaders||null,u&&u.messageContentType&&(o?o["X-WebChannel-Content-Type"]=u.messageContentType:o={"X-WebChannel-Content-Type":u.messageContentType}),u&&u.va&&(o?o["X-WebChannel-Client-Profile"]=u.va:o={"X-WebChannel-Client-Profile":u.va}),this.g.S=o,(o=u&&u.Sb)&&!$(o)&&(this.g.m=o),this.v=u&&u.supportsCrossDomainXhr||!1,this.u=u&&u.sendRawJson||!1,(u=u&&u.httpSessionIdParam)&&!$(u)&&(this.g.D=u,o=this.h,o!==null&&u in o&&(o=this.h,u in o&&delete o[u])),this.j=new Kn(this)}S(je,be),je.prototype.m=function(){this.g.l=this.j,this.v&&(this.g.J=!0),this.g.connect(this.l,this.h||void 0)},je.prototype.close=function(){tc(this.g)},je.prototype.o=function(o){var u=this.g;if(typeof o=="string"){var h={};h.__data__=o,o=h}else this.u&&(h={},h.__data__=$a(o),o=h);u.i.push(new HI(u.Ya++,o)),u.G==3&&Ni(u)},je.prototype.N=function(){this.g.l=null,delete this.j,tc(this.g),delete this.g,je.aa.N.call(this)};function Zf(o){za.call(this),o.__headers__&&(this.headers=o.__headers__,this.statusCode=o.__status__,delete o.__headers__,delete o.__status__);var u=o.__sm__;if(u){e:{for(const h in u){o=h;break e}o=void 0}(this.i=o)&&(o=this.i,u=u!==null&&o in u?u[o]:void 0),this.data=u}else this.data=o}S(Zf,za);function ep(){Wa.call(this),this.status=1}S(ep,Wa);function Kn(o){this.g=o}S(Kn,Jf),Kn.prototype.ua=function(){ke(this.g,"a")},Kn.prototype.ta=function(o){ke(this.g,new Zf(o))},Kn.prototype.sa=function(o){ke(this.g,new ep)},Kn.prototype.ra=function(){ke(this.g,"b")},Oi.prototype.createWebChannel=Oi.prototype.g,je.prototype.send=je.prototype.o,je.prototype.open=je.prototype.m,je.prototype.close=je.prototype.close,Dc=function(){return new Oi},Nc=function(){return Ei()},kc=dn,Ki={mb:0,pb:1,qb:2,Jb:3,Ob:4,Lb:5,Mb:6,Kb:7,Ib:8,Nb:9,PROXY:10,NOPROXY:11,Gb:12,Cb:13,Db:14,Bb:15,Eb:16,Fb:17,ib:18,hb:19,jb:20},Ti.NO_ERROR=0,Ti.TIMEOUT=8,Ti.HTTP_ERROR=6,rs=Ti,gf.COMPLETE="complete",Cc=gf,hf.EventType=Br,Br.OPEN="a",Br.CLOSE="b",Br.ERROR="c",Br.MESSAGE="d",be.prototype.listen=be.prototype.K,ir=hf,ie.prototype.listenOnce=ie.prototype.L,ie.prototype.getLastError=ie.prototype.Ka,ie.prototype.getLastErrorCode=ie.prototype.Ba,ie.prototype.getStatus=ie.prototype.Z,ie.prototype.getResponseJson=ie.prototype.Oa,ie.prototype.getResponseText=ie.prototype.oa,ie.prototype.send=ie.prototype.ea,ie.prototype.setWithCredentials=ie.prototype.Ha,Sc=ie}).apply(typeof ns<"u"?ns:typeof self<"u"?self:typeof window<"u"?window:{});const Oc="@firebase/firestore",Vc="4.7.9";/**
|
|
384
369
|
* @license
|
|
385
370
|
* Copyright 2017 Google LLC
|
|
386
371
|
*
|
|
@@ -395,7 +380,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
395
380
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
396
381
|
* See the License for the specific language governing permissions and
|
|
397
382
|
* limitations under the License.
|
|
398
|
-
*/class
|
|
383
|
+
*/class we{constructor(e){this.uid=e}isAuthenticated(){return this.uid!=null}toKey(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"}isEqual(e){return e.uid===this.uid}}we.UNAUTHENTICATED=new we(null),we.GOOGLE_CREDENTIALS=new we("google-credentials-uid"),we.FIRST_PARTY=new we("first-party-uid"),we.MOCK_USER=new we("mock-user");/**
|
|
399
384
|
* @license
|
|
400
385
|
* Copyright 2017 Google LLC
|
|
401
386
|
*
|
|
@@ -410,7 +395,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
410
395
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
411
396
|
* See the License for the specific language governing permissions and
|
|
412
397
|
* limitations under the License.
|
|
413
|
-
*/let
|
|
398
|
+
*/let gn="11.4.0";/**
|
|
414
399
|
* @license
|
|
415
400
|
* Copyright 2017 Google LLC
|
|
416
401
|
*
|
|
@@ -425,7 +410,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
425
410
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
426
411
|
* See the License for the specific language governing permissions and
|
|
427
412
|
* limitations under the License.
|
|
428
|
-
*/const
|
|
413
|
+
*/const Jt=new Ui("@firebase/firestore");function _n(){return Jt.logLevel}function V(n,...e){if(Jt.logLevel<=z.DEBUG){const t=e.map(Qi);Jt.debug(`Firestore (${gn}): ${n}`,...t)}}function ft(n,...e){if(Jt.logLevel<=z.ERROR){const t=e.map(Qi);Jt.error(`Firestore (${gn}): ${n}`,...t)}}function yn(n,...e){if(Jt.logLevel<=z.WARN){const t=e.map(Qi);Jt.warn(`Firestore (${gn}): ${n}`,...t)}}function Qi(n){if(typeof n=="string")return n;try{/**
|
|
429
414
|
* @license
|
|
430
415
|
* Copyright 2020 Google LLC
|
|
431
416
|
*
|
|
@@ -455,7 +440,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
455
440
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
456
441
|
* See the License for the specific language governing permissions and
|
|
457
442
|
* limitations under the License.
|
|
458
|
-
*/function F(n="Unexpected state"){const e=`FIRESTORE (${
|
|
443
|
+
*/function F(n="Unexpected state"){const e=`FIRESTORE (${gn}) INTERNAL ASSERTION FAILED: `+n;throw ft(e),new Error(e)}function Y(n,e){n||F()}function B(n,e){return n}/**
|
|
459
444
|
* @license
|
|
460
445
|
* Copyright 2017 Google LLC
|
|
461
446
|
*
|
|
@@ -470,7 +455,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
470
455
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
471
456
|
* See the License for the specific language governing permissions and
|
|
472
457
|
* limitations under the License.
|
|
473
|
-
*/const P={OK:"ok",CANCELLED:"cancelled",UNKNOWN:"unknown",INVALID_ARGUMENT:"invalid-argument",DEADLINE_EXCEEDED:"deadline-exceeded",NOT_FOUND:"not-found",ALREADY_EXISTS:"already-exists",PERMISSION_DENIED:"permission-denied",UNAUTHENTICATED:"unauthenticated",RESOURCE_EXHAUSTED:"resource-exhausted",FAILED_PRECONDITION:"failed-precondition",ABORTED:"aborted",OUT_OF_RANGE:"out-of-range",UNIMPLEMENTED:"unimplemented",INTERNAL:"internal",UNAVAILABLE:"unavailable",DATA_LOSS:"data-loss"};class O extends
|
|
458
|
+
*/const P={OK:"ok",CANCELLED:"cancelled",UNKNOWN:"unknown",INVALID_ARGUMENT:"invalid-argument",DEADLINE_EXCEEDED:"deadline-exceeded",NOT_FOUND:"not-found",ALREADY_EXISTS:"already-exists",PERMISSION_DENIED:"permission-denied",UNAUTHENTICATED:"unauthenticated",RESOURCE_EXHAUSTED:"resource-exhausted",FAILED_PRECONDITION:"failed-precondition",ABORTED:"aborted",OUT_OF_RANGE:"out-of-range",UNIMPLEMENTED:"unimplemented",INTERNAL:"internal",UNAVAILABLE:"unavailable",DATA_LOSS:"data-loss"};class O extends ze{constructor(e,t){super(e,t),this.code=e,this.message=t,this.toString=()=>`${this.name}: [code=${this.code}]: ${this.message}`}}/**
|
|
474
459
|
* @license
|
|
475
460
|
* Copyright 2017 Google LLC
|
|
476
461
|
*
|
|
@@ -485,7 +470,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
485
470
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
486
471
|
* See the License for the specific language governing permissions and
|
|
487
472
|
* limitations under the License.
|
|
488
|
-
*/class
|
|
473
|
+
*/class Ze{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}/**
|
|
489
474
|
* @license
|
|
490
475
|
* Copyright 2017 Google LLC
|
|
491
476
|
*
|
|
@@ -500,7 +485,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
500
485
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
501
486
|
* See the License for the specific language governing permissions and
|
|
502
487
|
* limitations under the License.
|
|
503
|
-
*/class
|
|
488
|
+
*/class Lc{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization",`Bearer ${e}`)}}class Vm{getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable(()=>t(we.UNAUTHENTICATED))}shutdown(){}}class Lm{constructor(e){this.token=e,this.changeListener=null}getToken(){return Promise.resolve(this.token)}invalidateToken(){}start(e,t){this.changeListener=t,e.enqueueRetryable(()=>t(this.token.user))}shutdown(){this.changeListener=null}}class Mm{constructor(e){this.t=e,this.currentUser=we.UNAUTHENTICATED,this.i=0,this.forceRefresh=!1,this.auth=null}start(e,t){Y(this.o===void 0);let r=this.i;const s=l=>this.i!==r?(r=this.i,t(l)):Promise.resolve();let i=new Ze;this.o=()=>{this.i++,this.currentUser=this.u(),i.resolve(),i=new Ze,e.enqueueRetryable(()=>s(this.currentUser))};const a=()=>{const l=i;e.enqueueRetryable(async()=>{await l.promise,await s(this.currentUser)})},c=l=>{V("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=l,this.o&&(this.auth.addAuthTokenListener(this.o),a())};this.t.onInit(l=>c(l)),setTimeout(()=>{if(!this.auth){const l=this.t.getImmediate({optional:!0});l?c(l):(V("FirebaseAuthCredentialsProvider","Auth not yet detected"),i.resolve(),i=new Ze)}},0),a()}getToken(){const e=this.i,t=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(t).then(r=>this.i!==e?(V("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):r?(Y(typeof r.accessToken=="string"),new Lc(r.accessToken,this.currentUser)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.auth&&this.o&&this.auth.removeAuthTokenListener(this.o),this.o=void 0}u(){const e=this.auth&&this.auth.getUid();return Y(e===null||typeof e=="string"),new we(e)}}class Um{constructor(e,t,r){this.l=e,this.h=t,this.P=r,this.type="FirstParty",this.user=we.FIRST_PARTY,this.T=new Map}I(){return this.P?this.P():null}get headers(){this.T.set("X-Goog-AuthUser",this.l);const e=this.I();return e&&this.T.set("Authorization",e),this.h&&this.T.set("X-Goog-Iam-Authorization-Token",this.h),this.T}}class xm{constructor(e,t,r){this.l=e,this.h=t,this.P=r}getToken(){return Promise.resolve(new Um(this.l,this.h,this.P))}start(e,t){e.enqueueRetryable(()=>t(we.FIRST_PARTY))}shutdown(){}invalidateToken(){}}class Mc{constructor(e){this.value=e,this.type="AppCheck",this.headers=new Map,e&&e.length>0&&this.headers.set("x-firebase-appcheck",this.value)}}class Fm{constructor(e,t){this.A=t,this.forceRefresh=!1,this.appCheck=null,this.R=null,this.V=null,Te(e)&&e.settings.appCheckToken&&(this.V=e.settings.appCheckToken)}start(e,t){Y(this.o===void 0);const r=i=>{i.error!=null&&V("FirebaseAppCheckTokenProvider",`Error getting App Check token; using placeholder token instead. Error: ${i.error.message}`);const a=i.token!==this.R;return this.R=i.token,V("FirebaseAppCheckTokenProvider",`Received ${a?"new":"existing"} token.`),a?t(i.token):Promise.resolve()};this.o=i=>{e.enqueueRetryable(()=>r(i))};const s=i=>{V("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=i,this.o&&this.appCheck.addTokenListener(this.o)};this.A.onInit(i=>s(i)),setTimeout(()=>{if(!this.appCheck){const i=this.A.getImmediate({optional:!0});i?s(i):V("FirebaseAppCheckTokenProvider","AppCheck not yet detected")}},0)}getToken(){if(this.V)return Promise.resolve(new Mc(this.V));const e=this.forceRefresh;return this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then(t=>t?(Y(typeof t.token=="string"),this.R=t.token,new Mc(t.token)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.appCheck&&this.o&&this.appCheck.removeTokenListener(this.o),this.o=void 0}}/**
|
|
504
489
|
* @license
|
|
505
490
|
* Copyright 2020 Google LLC
|
|
506
491
|
*
|
|
@@ -515,7 +500,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
515
500
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
516
501
|
* See the License for the specific language governing permissions and
|
|
517
502
|
* limitations under the License.
|
|
518
|
-
*/function
|
|
503
|
+
*/function Bm(n){const e=typeof self<"u"&&(self.crypto||self.msCrypto),t=new Uint8Array(n);if(e&&typeof e.getRandomValues=="function")e.getRandomValues(t);else for(let r=0;r<n;r++)t[r]=Math.floor(256*Math.random());return t}/**
|
|
519
504
|
* @license
|
|
520
505
|
* Copyright 2017 Google LLC
|
|
521
506
|
*
|
|
@@ -530,7 +515,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
530
515
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
531
516
|
* See the License for the specific language governing permissions and
|
|
532
517
|
* limitations under the License.
|
|
533
|
-
*/class
|
|
518
|
+
*/class Uc{static newId(){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=62*Math.floor(4.129032258064516);let r="";for(;r.length<20;){const s=Bm(40);for(let i=0;i<s.length;++i)r.length<20&&s[i]<t&&(r+=e.charAt(s[i]%62))}return r}}function G(n,e){return n<e?-1:n>e?1:0}function vn(n,e,t){return n.length===e.length&&n.every((r,s)=>t(r,e[s]))}/**
|
|
534
519
|
* @license
|
|
535
520
|
* Copyright 2017 Google LLC
|
|
536
521
|
*
|
|
@@ -545,7 +530,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
545
530
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
546
531
|
* See the License for the specific language governing permissions and
|
|
547
532
|
* limitations under the License.
|
|
548
|
-
*/class ue{constructor(e,t){if(this.seconds=e,this.nanoseconds=t,t<0)throw new O(P.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(t>=1e9)throw new O(P.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(e
|
|
533
|
+
*/const xc=-62135596800,Fc=1e6;class ue{static now(){return ue.fromMillis(Date.now())}static fromDate(e){return ue.fromMillis(e.getTime())}static fromMillis(e){const t=Math.floor(e/1e3),r=Math.floor((e-1e3*t)*Fc);return new ue(t,r)}constructor(e,t){if(this.seconds=e,this.nanoseconds=t,t<0)throw new O(P.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(t>=1e9)throw new O(P.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(e<xc)throw new O(P.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e);if(e>=253402300800)throw new O(P.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/Fc}_compareTo(e){return this.seconds===e.seconds?G(this.nanoseconds,e.nanoseconds):G(this.seconds,e.seconds)}isEqual(e){return e.seconds===this.seconds&&e.nanoseconds===this.nanoseconds}toString(){return"Timestamp(seconds="+this.seconds+", nanoseconds="+this.nanoseconds+")"}toJSON(){return{seconds:this.seconds,nanoseconds:this.nanoseconds}}valueOf(){const e=this.seconds-xc;return String(e).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}}/**
|
|
549
534
|
* @license
|
|
550
535
|
* Copyright 2017 Google LLC
|
|
551
536
|
*
|
|
@@ -560,7 +545,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
560
545
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
561
546
|
* See the License for the specific language governing permissions and
|
|
562
547
|
* limitations under the License.
|
|
563
|
-
*/class
|
|
548
|
+
*/class j{static fromTimestamp(e){return new j(e)}static min(){return new j(new ue(0,0))}static max(){return new j(new ue(253402300799,999999999))}constructor(e){this.timestamp=e}compareTo(e){return this.timestamp._compareTo(e.timestamp)}isEqual(e){return this.timestamp.isEqual(e.timestamp)}toMicroseconds(){return 1e6*this.timestamp.seconds+this.timestamp.nanoseconds/1e3}toString(){return"SnapshotVersion("+this.timestamp.toString()+")"}toTimestamp(){return this.timestamp}}/**
|
|
564
549
|
* @license
|
|
565
550
|
* Copyright 2017 Google LLC
|
|
566
551
|
*
|
|
@@ -575,7 +560,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
575
560
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
576
561
|
* See the License for the specific language governing permissions and
|
|
577
562
|
* limitations under the License.
|
|
578
|
-
*/class
|
|
563
|
+
*/const Bc="__name__";class et{constructor(e,t,r){t===void 0?t=0:t>e.length&&F(),r===void 0?r=e.length-t:r>e.length-t&&F(),this.segments=e,this.offset=t,this.len=r}get length(){return this.len}isEqual(e){return et.comparator(this,e)===0}child(e){const t=this.segments.slice(this.offset,this.limit());return e instanceof et?e.forEach(r=>{t.push(r)}):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return e=e===void 0?1:e,this.construct(this.segments,this.offset+e,this.length-e)}popLast(){return this.construct(this.segments,this.offset,this.length-1)}firstSegment(){return this.segments[this.offset]}lastSegment(){return this.get(this.length-1)}get(e){return this.segments[this.offset+e]}isEmpty(){return this.length===0}isPrefixOf(e){if(e.length<this.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}isImmediateParentOf(e){if(this.length+1!==e.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}forEach(e){for(let t=this.offset,r=this.limit();t<r;t++)e(this.segments[t])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(e,t){const r=Math.min(e.length,t.length);for(let s=0;s<r;s++){const i=et.compareSegments(e.get(s),t.get(s));if(i!==0)return i}return Math.sign(e.length-t.length)}static compareSegments(e,t){const r=et.isNumericId(e),s=et.isNumericId(t);return r&&!s?-1:!r&&s?1:r&&s?et.extractNumericId(e).compare(et.extractNumericId(t)):e<t?-1:e>t?1:0}static isNumericId(e){return e.startsWith("__id")&&e.endsWith("__")}static extractNumericId(e){return St.fromString(e.substring(4,e.length-2))}}class ee extends et{construct(e,t,r){return new ee(e,t,r)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...e){const t=[];for(const r of e){if(r.indexOf("//")>=0)throw new O(P.INVALID_ARGUMENT,`Invalid segment (${r}). Paths must not contain // in them.`);t.push(...r.split("/").filter(s=>s.length>0))}return new ee(t)}static emptyPath(){return new ee([])}}const jm=/^[_a-zA-Z][_a-zA-Z0-9]*$/;class me extends et{construct(e,t,r){return new me(e,t,r)}static isValidIdentifier(e){return jm.test(e)}canonicalString(){return this.toArray().map(e=>(e=e.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),me.isValidIdentifier(e)||(e="`"+e+"`"),e)).join(".")}toString(){return this.canonicalString()}isKeyField(){return this.length===1&&this.get(0)===Bc}static keyField(){return new me([Bc])}static fromServerFormat(e){const t=[];let r="",s=0;const i=()=>{if(r.length===0)throw new O(P.INVALID_ARGUMENT,`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);t.push(r),r=""};let a=!1;for(;s<e.length;){const c=e[s];if(c==="\\"){if(s+1===e.length)throw new O(P.INVALID_ARGUMENT,"Path has trailing escape character: "+e);const l=e[s+1];if(l!=="\\"&&l!=="."&&l!=="`")throw new O(P.INVALID_ARGUMENT,"Path has invalid escape sequence: "+e);r+=l,s+=2}else c==="`"?(a=!a,s++):c!=="."||a?(r+=c,s++):(i(),s++)}if(i(),a)throw new O(P.INVALID_ARGUMENT,"Unterminated ` in path: "+e);return new me(t)}static emptyPath(){return new me([])}}/**
|
|
579
564
|
* @license
|
|
580
565
|
* Copyright 2017 Google LLC
|
|
581
566
|
*
|
|
@@ -590,7 +575,22 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
590
575
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
591
576
|
* See the License for the specific language governing permissions and
|
|
592
577
|
* limitations under the License.
|
|
593
|
-
*/class L{constructor(e){this.path=e}static fromPath(e){return new L(ee.fromString(e))}static fromName(e){return new L(ee.fromString(e).popFirst(5))}static empty(){return new L(ee.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(e){return this.path.length>=2&&this.path.get(this.path.length-2)===e}getCollectionGroup(){return this.path.get(this.path.length-2)}getCollectionPath(){return this.path.popLast()}isEqual(e){return e!==null&&ee.comparator(this.path,e.path)===0}toString(){return this.path.toString()}static comparator(e,t){return ee.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(e){return new L(new ee(e.slice()))}}
|
|
578
|
+
*/class L{constructor(e){this.path=e}static fromPath(e){return new L(ee.fromString(e))}static fromName(e){return new L(ee.fromString(e).popFirst(5))}static empty(){return new L(ee.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(e){return this.path.length>=2&&this.path.get(this.path.length-2)===e}getCollectionGroup(){return this.path.get(this.path.length-2)}getCollectionPath(){return this.path.popLast()}isEqual(e){return e!==null&&ee.comparator(this.path,e.path)===0}toString(){return this.path.toString()}static comparator(e,t){return ee.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(e){return new L(new ee(e.slice()))}}/**
|
|
579
|
+
* @license
|
|
580
|
+
* Copyright 2021 Google LLC
|
|
581
|
+
*
|
|
582
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
583
|
+
* you may not use this file except in compliance with the License.
|
|
584
|
+
* You may obtain a copy of the License at
|
|
585
|
+
*
|
|
586
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
587
|
+
*
|
|
588
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
589
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
590
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
591
|
+
* See the License for the specific language governing permissions and
|
|
592
|
+
* limitations under the License.
|
|
593
|
+
*/const or=-1;function qm(n,e){const t=n.toTimestamp().seconds,r=n.toTimestamp().nanoseconds+1,s=j.fromTimestamp(r===1e9?new ue(t+1,0):new ue(t,r));return new Ct(s,L.empty(),e)}function $m(n){return new Ct(n.readTime,n.key,or)}class Ct{constructor(e,t,r){this.readTime=e,this.documentKey=t,this.largestBatchId=r}static min(){return new Ct(j.min(),L.empty(),or)}static max(){return new Ct(j.max(),L.empty(),or)}}function Hm(n,e){let t=n.readTime.compareTo(e.readTime);return t!==0?t:(t=L.comparator(n.documentKey,e.documentKey),t!==0?t:G(n.largestBatchId,e.largestBatchId))}/**
|
|
594
594
|
* @license
|
|
595
595
|
* Copyright 2020 Google LLC
|
|
596
596
|
*
|
|
@@ -605,7 +605,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
605
605
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
606
606
|
* See the License for the specific language governing permissions and
|
|
607
607
|
* limitations under the License.
|
|
608
|
-
*/const
|
|
608
|
+
*/const zm="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.";class Wm{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach(e=>e())}}/**
|
|
609
609
|
* @license
|
|
610
610
|
* Copyright 2017 Google LLC
|
|
611
611
|
*
|
|
@@ -620,7 +620,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
620
620
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
621
621
|
* See the License for the specific language governing permissions and
|
|
622
622
|
* limitations under the License.
|
|
623
|
-
*/async function
|
|
623
|
+
*/async function En(n){if(n.code!==P.FAILED_PRECONDITION||n.message!==zm)throw n;V("LocalStore","Unexpectedly lost primary lease")}/**
|
|
624
624
|
* @license
|
|
625
625
|
* Copyright 2017 Google LLC
|
|
626
626
|
*
|
|
@@ -635,7 +635,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
635
635
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
636
636
|
* See the License for the specific language governing permissions and
|
|
637
637
|
* limitations under the License.
|
|
638
|
-
*/class
|
|
638
|
+
*/class C{constructor(e){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(t=>{this.isDone=!0,this.result=t,this.nextCallback&&this.nextCallback(t)},t=>{this.isDone=!0,this.error=t,this.catchCallback&&this.catchCallback(t)})}catch(e){return this.next(void 0,e)}next(e,t){return this.callbackAttached&&F(),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(t,this.error):this.wrapSuccess(e,this.result):new C((r,s)=>{this.nextCallback=i=>{this.wrapSuccess(e,i).next(r,s)},this.catchCallback=i=>{this.wrapFailure(t,i).next(r,s)}})}toPromise(){return new Promise((e,t)=>{this.next(e,t)})}wrapUserFunction(e){try{const t=e();return t instanceof C?t:C.resolve(t)}catch(t){return C.reject(t)}}wrapSuccess(e,t){return e?this.wrapUserFunction(()=>e(t)):C.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction(()=>e(t)):C.reject(t)}static resolve(e){return new C((t,r)=>{t(e)})}static reject(e){return new C((t,r)=>{r(e)})}static waitFor(e){return new C((t,r)=>{let s=0,i=0,a=!1;e.forEach(c=>{++s,c.next(()=>{++i,a&&i===s&&t()},l=>r(l))}),a=!0,i===s&&t()})}static or(e){let t=C.resolve(!1);for(const r of e)t=t.next(s=>s?C.resolve(s):r());return t}static forEach(e,t){const r=[];return e.forEach((s,i)=>{r.push(t.call(this,s,i))}),this.waitFor(r)}static mapArray(e,t){return new C((r,s)=>{const i=e.length,a=new Array(i);let c=0;for(let l=0;l<i;l++){const d=l;t(e[d]).next(f=>{a[d]=f,++c,c===i&&r(a)},f=>s(f))}})}static doWhile(e,t){return new C((r,s)=>{const i=()=>{e()===!0?t().next(()=>{i()},s):r()};i()})}}function Gm(n){const e=n.match(/Android ([\d.]+)/i),t=e?e[1].split(".").slice(0,2).join("."):"-1";return Number(t)}function Tn(n){return n.name==="IndexedDbTransactionError"}/**
|
|
639
639
|
* @license
|
|
640
640
|
* Copyright 2018 Google LLC
|
|
641
641
|
*
|
|
@@ -650,7 +650,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
650
650
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
651
651
|
* See the License for the specific language governing permissions and
|
|
652
652
|
* limitations under the License.
|
|
653
|
-
*/class
|
|
653
|
+
*/class ss{constructor(e,t){this.previousValue=e,t&&(t.sequenceNumberHandler=r=>this.oe(r),this._e=r=>t.writeSequenceNumber(r))}oe(e){return this.previousValue=Math.max(e,this.previousValue),this.previousValue}next(){const e=++this.previousValue;return this._e&&this._e(e),e}}ss.ae=-1;/**
|
|
654
654
|
* @license
|
|
655
655
|
* Copyright 2017 Google LLC
|
|
656
656
|
*
|
|
@@ -665,7 +665,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
665
665
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
666
666
|
* See the License for the specific language governing permissions and
|
|
667
667
|
* limitations under the License.
|
|
668
|
-
*/function
|
|
668
|
+
*/const Xi=-1;function is(n){return n==null}function os(n){return n===0&&1/n==-1/0}function Km(n){return typeof n=="number"&&Number.isInteger(n)&&!os(n)&&n<=Number.MAX_SAFE_INTEGER&&n>=Number.MIN_SAFE_INTEGER}/**
|
|
669
669
|
* @license
|
|
670
670
|
* Copyright 2017 Google LLC
|
|
671
671
|
*
|
|
@@ -680,7 +680,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
680
680
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
681
681
|
* See the License for the specific language governing permissions and
|
|
682
682
|
* limitations under the License.
|
|
683
|
-
*/
|
|
683
|
+
*/const jc="";function Qm(n){let e="";for(let t=0;t<n.length;t++)e.length>0&&(e=qc(e)),e=Xm(n.get(t),e);return qc(e)}function Xm(n,e){let t=e;const r=n.length;for(let s=0;s<r;s++){const i=n.charAt(s);switch(i){case"\0":t+="";break;case jc:t+="";break;default:t+=i}}return t}function qc(n){return n+jc+""}/**
|
|
684
684
|
* @license
|
|
685
685
|
* Copyright 2017 Google LLC
|
|
686
686
|
*
|
|
@@ -695,7 +695,37 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
695
695
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
696
696
|
* See the License for the specific language governing permissions and
|
|
697
697
|
* limitations under the License.
|
|
698
|
-
*/
|
|
698
|
+
*/function $c(n){let e=0;for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&e++;return e}function kt(n,e){for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&e(t,n[t])}function Ym(n,e){const t=[];for(const r in n)Object.prototype.hasOwnProperty.call(n,r)&&t.push(e(n[r],r,n));return t}function Hc(n){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e))return!1;return!0}/**
|
|
699
|
+
* @license
|
|
700
|
+
* Copyright 2017 Google LLC
|
|
701
|
+
*
|
|
702
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
703
|
+
* you may not use this file except in compliance with the License.
|
|
704
|
+
* You may obtain a copy of the License at
|
|
705
|
+
*
|
|
706
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
707
|
+
*
|
|
708
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
709
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
710
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
711
|
+
* See the License for the specific language governing permissions and
|
|
712
|
+
* limitations under the License.
|
|
713
|
+
*/class re{constructor(e,t){this.comparator=e,this.root=t||ge.EMPTY}insert(e,t){return new re(this.comparator,this.root.insert(e,t,this.comparator).copy(null,null,ge.BLACK,null,null))}remove(e){return new re(this.comparator,this.root.remove(e,this.comparator).copy(null,null,ge.BLACK,null,null))}get(e){let t=this.root;for(;!t.isEmpty();){const r=this.comparator(e,t.key);if(r===0)return t.value;r<0?t=t.left:r>0&&(t=t.right)}return null}indexOf(e){let t=0,r=this.root;for(;!r.isEmpty();){const s=this.comparator(e,r.key);if(s===0)return t+r.left.size;s<0?r=r.left:(t+=r.left.size+1,r=r.right)}return-1}isEmpty(){return this.root.isEmpty()}get size(){return this.root.size}minKey(){return this.root.minKey()}maxKey(){return this.root.maxKey()}inorderTraversal(e){return this.root.inorderTraversal(e)}forEach(e){this.inorderTraversal((t,r)=>(e(t,r),!1))}toString(){const e=[];return this.inorderTraversal((t,r)=>(e.push(`${t}:${r}`),!1)),`{${e.join(", ")}}`}reverseTraversal(e){return this.root.reverseTraversal(e)}getIterator(){return new as(this.root,null,this.comparator,!1)}getIteratorFrom(e){return new as(this.root,e,this.comparator,!1)}getReverseIterator(){return new as(this.root,null,this.comparator,!0)}getReverseIteratorFrom(e){return new as(this.root,e,this.comparator,!0)}}class as{constructor(e,t,r,s){this.isReverse=s,this.nodeStack=[];let i=1;for(;!e.isEmpty();)if(i=t?r(e.key,t):1,t&&s&&(i*=-1),i<0)e=this.isReverse?e.left:e.right;else{if(i===0){this.nodeStack.push(e);break}this.nodeStack.push(e),e=this.isReverse?e.right:e.left}}getNext(){let e=this.nodeStack.pop();const t={key:e.key,value:e.value};if(this.isReverse)for(e=e.left;!e.isEmpty();)this.nodeStack.push(e),e=e.right;else for(e=e.right;!e.isEmpty();)this.nodeStack.push(e),e=e.left;return t}hasNext(){return this.nodeStack.length>0}peek(){if(this.nodeStack.length===0)return null;const e=this.nodeStack[this.nodeStack.length-1];return{key:e.key,value:e.value}}}class ge{constructor(e,t,r,s,i){this.key=e,this.value=t,this.color=r??ge.RED,this.left=s??ge.EMPTY,this.right=i??ge.EMPTY,this.size=this.left.size+1+this.right.size}copy(e,t,r,s,i){return new ge(e??this.key,t??this.value,r??this.color,s??this.left,i??this.right)}isEmpty(){return!1}inorderTraversal(e){return this.left.inorderTraversal(e)||e(this.key,this.value)||this.right.inorderTraversal(e)}reverseTraversal(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)}min(){return this.left.isEmpty()?this:this.left.min()}minKey(){return this.min().key}maxKey(){return this.right.isEmpty()?this.key:this.right.maxKey()}insert(e,t,r){let s=this;const i=r(e,s.key);return s=i<0?s.copy(null,null,null,s.left.insert(e,t,r),null):i===0?s.copy(null,t,null,null,null):s.copy(null,null,null,null,s.right.insert(e,t,r)),s.fixUp()}removeMin(){if(this.left.isEmpty())return ge.EMPTY;let e=this;return e.left.isRed()||e.left.left.isRed()||(e=e.moveRedLeft()),e=e.copy(null,null,null,e.left.removeMin(),null),e.fixUp()}remove(e,t){let r,s=this;if(t(e,s.key)<0)s.left.isEmpty()||s.left.isRed()||s.left.left.isRed()||(s=s.moveRedLeft()),s=s.copy(null,null,null,s.left.remove(e,t),null);else{if(s.left.isRed()&&(s=s.rotateRight()),s.right.isEmpty()||s.right.isRed()||s.right.left.isRed()||(s=s.moveRedRight()),t(e,s.key)===0){if(s.right.isEmpty())return ge.EMPTY;r=s.right.min(),s=s.copy(r.key,r.value,null,null,s.right.removeMin())}s=s.copy(null,null,null,null,s.right.remove(e,t))}return s.fixUp()}isRed(){return this.color}fixUp(){let e=this;return e.right.isRed()&&!e.left.isRed()&&(e=e.rotateLeft()),e.left.isRed()&&e.left.left.isRed()&&(e=e.rotateRight()),e.left.isRed()&&e.right.isRed()&&(e=e.colorFlip()),e}moveRedLeft(){let e=this.colorFlip();return e.right.left.isRed()&&(e=e.copy(null,null,null,null,e.right.rotateRight()),e=e.rotateLeft(),e=e.colorFlip()),e}moveRedRight(){let e=this.colorFlip();return e.left.left.isRed()&&(e=e.rotateRight(),e=e.colorFlip()),e}rotateLeft(){const e=this.copy(null,null,ge.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)}rotateRight(){const e=this.copy(null,null,ge.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)}colorFlip(){const e=this.left.copy(null,null,!this.left.color,null,null),t=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,t)}checkMaxDepth(){const e=this.check();return Math.pow(2,e)<=this.size+1}check(){if(this.isRed()&&this.left.isRed()||this.right.isRed())throw F();const e=this.left.check();if(e!==this.right.check())throw F();return e+(this.isRed()?0:1)}}ge.EMPTY=null,ge.RED=!0,ge.BLACK=!1,ge.EMPTY=new class{constructor(){this.size=0}get key(){throw F()}get value(){throw F()}get color(){throw F()}get left(){throw F()}get right(){throw F()}copy(e,t,r,s,i){return this}insert(e,t,r){return new ge(e,t)}remove(e,t){return this}isEmpty(){return!0}inorderTraversal(e){return!1}reverseTraversal(e){return!1}minKey(){return null}maxKey(){return null}isRed(){return!1}checkMaxDepth(){return!0}check(){return 0}};/**
|
|
714
|
+
* @license
|
|
715
|
+
* Copyright 2017 Google LLC
|
|
716
|
+
*
|
|
717
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
718
|
+
* you may not use this file except in compliance with the License.
|
|
719
|
+
* You may obtain a copy of the License at
|
|
720
|
+
*
|
|
721
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
722
|
+
*
|
|
723
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
724
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
725
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
726
|
+
* See the License for the specific language governing permissions and
|
|
727
|
+
* limitations under the License.
|
|
728
|
+
*/class le{constructor(e){this.comparator=e,this.data=new re(this.comparator)}has(e){return this.data.get(e)!==null}first(){return this.data.minKey()}last(){return this.data.maxKey()}get size(){return this.data.size}indexOf(e){return this.data.indexOf(e)}forEach(e){this.data.inorderTraversal((t,r)=>(e(t),!1))}forEachInRange(e,t){const r=this.data.getIteratorFrom(e[0]);for(;r.hasNext();){const s=r.getNext();if(this.comparator(s.key,e[1])>=0)return;t(s.key)}}forEachWhile(e,t){let r;for(r=t!==void 0?this.data.getIteratorFrom(t):this.data.getIterator();r.hasNext();)if(!e(r.getNext().key))return}firstAfterOrEqual(e){const t=this.data.getIteratorFrom(e);return t.hasNext()?t.getNext().key:null}getIterator(){return new zc(this.data.getIterator())}getIteratorFrom(e){return new zc(this.data.getIteratorFrom(e))}add(e){return this.copy(this.data.remove(e).insert(e,!0))}delete(e){return this.has(e)?this.copy(this.data.remove(e)):this}isEmpty(){return this.data.isEmpty()}unionWith(e){let t=this;return t.size<e.size&&(t=e,e=this),e.forEach(r=>{t=t.add(r)}),t}isEqual(e){if(!(e instanceof le)||this.size!==e.size)return!1;const t=this.data.getIterator(),r=e.data.getIterator();for(;t.hasNext();){const s=t.getNext().key,i=r.getNext().key;if(this.comparator(s,i)!==0)return!1}return!0}toArray(){const e=[];return this.forEach(t=>{e.push(t)}),e}toString(){const e=[];return this.forEach(t=>e.push(t)),"SortedSet("+e.toString()+")"}copy(e){const t=new le(this.comparator);return t.data=e,t}}class zc{constructor(e){this.iter=e}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}}/**
|
|
699
729
|
* @license
|
|
700
730
|
* Copyright 2020 Google LLC
|
|
701
731
|
*
|
|
@@ -710,7 +740,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
710
740
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
711
741
|
* See the License for the specific language governing permissions and
|
|
712
742
|
* limitations under the License.
|
|
713
|
-
*/class
|
|
743
|
+
*/class Fe{constructor(e){this.fields=e,e.sort(me.comparator)}static empty(){return new Fe([])}unionWith(e){let t=new le(me.comparator);for(const r of this.fields)t=t.add(r);for(const r of e)t=t.add(r);return new Fe(t.toArray())}covers(e){for(const t of this.fields)if(t.isPrefixOf(e))return!0;return!1}isEqual(e){return vn(this.fields,e.fields,(t,r)=>t.isEqual(r))}}/**
|
|
714
744
|
* @license
|
|
715
745
|
* Copyright 2023 Google LLC
|
|
716
746
|
*
|
|
@@ -725,7 +755,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
725
755
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
726
756
|
* See the License for the specific language governing permissions and
|
|
727
757
|
* limitations under the License.
|
|
728
|
-
*/class
|
|
758
|
+
*/class Wc extends Error{constructor(){super(...arguments),this.name="Base64DecodeError"}}/**
|
|
729
759
|
* @license
|
|
730
760
|
* Copyright 2020 Google LLC
|
|
731
761
|
*
|
|
@@ -740,7 +770,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
740
770
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
741
771
|
* See the License for the specific language governing permissions and
|
|
742
772
|
* limitations under the License.
|
|
743
|
-
*/class _e{constructor(e){this.binaryString=e}static fromBase64String(e){const t=function(s){try{return atob(s)}catch(i){throw typeof DOMException<"u"&&i instanceof DOMException?new
|
|
773
|
+
*/class _e{constructor(e){this.binaryString=e}static fromBase64String(e){const t=function(s){try{return atob(s)}catch(i){throw typeof DOMException<"u"&&i instanceof DOMException?new Wc("Invalid base64 string: "+i):i}}(e);return new _e(t)}static fromUint8Array(e){const t=function(s){let i="";for(let a=0;a<s.length;++a)i+=String.fromCharCode(s[a]);return i}(e);return new _e(t)}[Symbol.iterator](){let e=0;return{next:()=>e<this.binaryString.length?{value:this.binaryString.charCodeAt(e++),done:!1}:{value:void 0,done:!0}}}toBase64(){return function(t){return btoa(t)}(this.binaryString)}toUint8Array(){return function(t){const r=new Uint8Array(t.length);for(let s=0;s<t.length;s++)r[s]=t.charCodeAt(s);return r}(this.binaryString)}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return G(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}_e.EMPTY_BYTE_STRING=new _e("");const Jm=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function Nt(n){if(Y(!!n),typeof n=="string"){let e=0;const t=Jm.exec(n);if(Y(!!t),t[1]){let s=t[1];s=(s+"000000000").substr(0,9),e=Number(s)}const r=new Date(n);return{seconds:Math.floor(r.getTime()/1e3),nanos:e}}return{seconds:oe(n.seconds),nanos:oe(n.nanos)}}function oe(n){return typeof n=="number"?n:typeof n=="string"?Number(n):0}function Dt(n){return typeof n=="string"?_e.fromBase64String(n):_e.fromUint8Array(n)}/**
|
|
744
774
|
* @license
|
|
745
775
|
* Copyright 2020 Google LLC
|
|
746
776
|
*
|
|
@@ -755,7 +785,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
755
785
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
756
786
|
* See the License for the specific language governing permissions and
|
|
757
787
|
* limitations under the License.
|
|
758
|
-
*/function
|
|
788
|
+
*/const Gc="server_timestamp",Kc="__type__",Qc="__previous_value__",Xc="__local_write_time__";function cs(n){var e,t;return((t=(((e=n==null?void 0:n.mapValue)===null||e===void 0?void 0:e.fields)||{})[Kc])===null||t===void 0?void 0:t.stringValue)===Gc}function us(n){const e=n.mapValue.fields[Qc];return cs(e)?us(e):e}function ar(n){const e=Nt(n.mapValue.fields[Xc].timestampValue);return new ue(e.seconds,e.nanos)}/**
|
|
759
789
|
* @license
|
|
760
790
|
* Copyright 2017 Google LLC
|
|
761
791
|
*
|
|
@@ -770,7 +800,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
770
800
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
771
801
|
* See the License for the specific language governing permissions and
|
|
772
802
|
* limitations under the License.
|
|
773
|
-
*/class
|
|
803
|
+
*/class Zm{constructor(e,t,r,s,i,a,c,l,d){this.databaseId=e,this.appId=t,this.persistenceKey=r,this.host=s,this.ssl=i,this.forceLongPolling=a,this.autoDetectLongPolling=c,this.longPollingOptions=l,this.useFetchStreams=d}}const ls="(default)";class cr{constructor(e,t){this.projectId=e,this.database=t||ls}static empty(){return new cr("","")}get isDefaultDatabase(){return this.database===ls}isEqual(e){return e instanceof cr&&e.projectId===this.projectId&&e.database===this.database}}/**
|
|
774
804
|
* @license
|
|
775
805
|
* Copyright 2020 Google LLC
|
|
776
806
|
*
|
|
@@ -785,7 +815,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
785
815
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
786
816
|
* See the License for the specific language governing permissions and
|
|
787
817
|
* limitations under the License.
|
|
788
|
-
*/const
|
|
818
|
+
*/const Yc="__type__",eg="__max__",hs={mapValue:{}},Jc="__vector__",ds="value";function Ot(n){return"nullValue"in n?0:"booleanValue"in n?1:"integerValue"in n||"doubleValue"in n?2:"timestampValue"in n?3:"stringValue"in n?5:"bytesValue"in n?6:"referenceValue"in n?7:"geoPointValue"in n?8:"arrayValue"in n?9:"mapValue"in n?cs(n)?4:ng(n)?9007199254740991:tg(n)?10:11:F()}function tt(n,e){if(n===e)return!0;const t=Ot(n);if(t!==Ot(e))return!1;switch(t){case 0:case 9007199254740991:return!0;case 1:return n.booleanValue===e.booleanValue;case 4:return ar(n).isEqual(ar(e));case 3:return function(s,i){if(typeof s.timestampValue=="string"&&typeof i.timestampValue=="string"&&s.timestampValue.length===i.timestampValue.length)return s.timestampValue===i.timestampValue;const a=Nt(s.timestampValue),c=Nt(i.timestampValue);return a.seconds===c.seconds&&a.nanos===c.nanos}(n,e);case 5:return n.stringValue===e.stringValue;case 6:return function(s,i){return Dt(s.bytesValue).isEqual(Dt(i.bytesValue))}(n,e);case 7:return n.referenceValue===e.referenceValue;case 8:return function(s,i){return oe(s.geoPointValue.latitude)===oe(i.geoPointValue.latitude)&&oe(s.geoPointValue.longitude)===oe(i.geoPointValue.longitude)}(n,e);case 2:return function(s,i){if("integerValue"in s&&"integerValue"in i)return oe(s.integerValue)===oe(i.integerValue);if("doubleValue"in s&&"doubleValue"in i){const a=oe(s.doubleValue),c=oe(i.doubleValue);return a===c?os(a)===os(c):isNaN(a)&&isNaN(c)}return!1}(n,e);case 9:return vn(n.arrayValue.values||[],e.arrayValue.values||[],tt);case 10:case 11:return function(s,i){const a=s.mapValue.fields||{},c=i.mapValue.fields||{};if($c(a)!==$c(c))return!1;for(const l in a)if(a.hasOwnProperty(l)&&(c[l]===void 0||!tt(a[l],c[l])))return!1;return!0}(n,e);default:return F()}}function ur(n,e){return(n.values||[]).find(t=>tt(t,e))!==void 0}function wn(n,e){if(n===e)return 0;const t=Ot(n),r=Ot(e);if(t!==r)return G(t,r);switch(t){case 0:case 9007199254740991:return 0;case 1:return G(n.booleanValue,e.booleanValue);case 2:return function(i,a){const c=oe(i.integerValue||i.doubleValue),l=oe(a.integerValue||a.doubleValue);return c<l?-1:c>l?1:c===l?0:isNaN(c)?isNaN(l)?0:-1:1}(n,e);case 3:return Zc(n.timestampValue,e.timestampValue);case 4:return Zc(ar(n),ar(e));case 5:return G(n.stringValue,e.stringValue);case 6:return function(i,a){const c=Dt(i),l=Dt(a);return c.compareTo(l)}(n.bytesValue,e.bytesValue);case 7:return function(i,a){const c=i.split("/"),l=a.split("/");for(let d=0;d<c.length&&d<l.length;d++){const f=G(c[d],l[d]);if(f!==0)return f}return G(c.length,l.length)}(n.referenceValue,e.referenceValue);case 8:return function(i,a){const c=G(oe(i.latitude),oe(a.latitude));return c!==0?c:G(oe(i.longitude),oe(a.longitude))}(n.geoPointValue,e.geoPointValue);case 9:return eu(n.arrayValue,e.arrayValue);case 10:return function(i,a){var c,l,d,f;const m=i.fields||{},v=a.fields||{},R=(c=m[ds])===null||c===void 0?void 0:c.arrayValue,S=(l=v[ds])===null||l===void 0?void 0:l.arrayValue,N=G(((d=R==null?void 0:R.values)===null||d===void 0?void 0:d.length)||0,((f=S==null?void 0:S.values)===null||f===void 0?void 0:f.length)||0);return N!==0?N:eu(R,S)}(n.mapValue,e.mapValue);case 11:return function(i,a){if(i===hs.mapValue&&a===hs.mapValue)return 0;if(i===hs.mapValue)return 1;if(a===hs.mapValue)return-1;const c=i.fields||{},l=Object.keys(c),d=a.fields||{},f=Object.keys(d);l.sort(),f.sort();for(let m=0;m<l.length&&m<f.length;++m){const v=G(l[m],f[m]);if(v!==0)return v;const R=wn(c[l[m]],d[f[m]]);if(R!==0)return R}return G(l.length,f.length)}(n.mapValue,e.mapValue);default:throw F()}}function Zc(n,e){if(typeof n=="string"&&typeof e=="string"&&n.length===e.length)return G(n,e);const t=Nt(n),r=Nt(e),s=G(t.seconds,r.seconds);return s!==0?s:G(t.nanos,r.nanos)}function eu(n,e){const t=n.values||[],r=e.values||[];for(let s=0;s<t.length&&s<r.length;++s){const i=wn(t[s],r[s]);if(i)return i}return G(t.length,r.length)}function In(n){return Yi(n)}function Yi(n){return"nullValue"in n?"null":"booleanValue"in n?""+n.booleanValue:"integerValue"in n?""+n.integerValue:"doubleValue"in n?""+n.doubleValue:"timestampValue"in n?function(t){const r=Nt(t);return`time(${r.seconds},${r.nanos})`}(n.timestampValue):"stringValue"in n?n.stringValue:"bytesValue"in n?function(t){return Dt(t).toBase64()}(n.bytesValue):"referenceValue"in n?function(t){return L.fromName(t).toString()}(n.referenceValue):"geoPointValue"in n?function(t){return`geo(${t.latitude},${t.longitude})`}(n.geoPointValue):"arrayValue"in n?function(t){let r="[",s=!0;for(const i of t.values||[])s?s=!1:r+=",",r+=Yi(i);return r+"]"}(n.arrayValue):"mapValue"in n?function(t){const r=Object.keys(t.fields||{}).sort();let s="{",i=!0;for(const a of r)i?i=!1:s+=",",s+=`${a}:${Yi(t.fields[a])}`;return s+"}"}(n.mapValue):F()}function fs(n){switch(Ot(n)){case 0:case 1:return 4;case 2:return 8;case 3:case 8:return 16;case 4:const e=us(n);return e?16+fs(e):16;case 5:return 2*n.stringValue.length;case 6:return Dt(n.bytesValue).approximateByteSize();case 7:return n.referenceValue.length;case 9:return function(r){return(r.values||[]).reduce((s,i)=>s+fs(i),0)}(n.arrayValue);case 10:case 11:return function(r){let s=0;return kt(r.fields,(i,a)=>{s+=i.length+fs(a)}),s}(n.mapValue);default:throw F()}}function ps(n,e){return{referenceValue:`projects/${n.projectId}/databases/${n.database}/documents/${e.path.canonicalString()}`}}function Ji(n){return!!n&&"integerValue"in n}function Zi(n){return!!n&&"arrayValue"in n}function tu(n){return!!n&&"nullValue"in n}function nu(n){return!!n&&"doubleValue"in n&&isNaN(Number(n.doubleValue))}function ms(n){return!!n&&"mapValue"in n}function tg(n){var e,t;return((t=(((e=n==null?void 0:n.mapValue)===null||e===void 0?void 0:e.fields)||{})[Yc])===null||t===void 0?void 0:t.stringValue)===Jc}function lr(n){if(n.geoPointValue)return{geoPointValue:Object.assign({},n.geoPointValue)};if(n.timestampValue&&typeof n.timestampValue=="object")return{timestampValue:Object.assign({},n.timestampValue)};if(n.mapValue){const e={mapValue:{fields:{}}};return kt(n.mapValue.fields,(t,r)=>e.mapValue.fields[t]=lr(r)),e}if(n.arrayValue){const e={arrayValue:{values:[]}};for(let t=0;t<(n.arrayValue.values||[]).length;++t)e.arrayValue.values[t]=lr(n.arrayValue.values[t]);return e}return Object.assign({},n)}function ng(n){return(((n.mapValue||{}).fields||{}).__type__||{}).stringValue===eg}/**
|
|
789
819
|
* @license
|
|
790
820
|
* Copyright 2017 Google LLC
|
|
791
821
|
*
|
|
@@ -800,7 +830,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
800
830
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
801
831
|
* See the License for the specific language governing permissions and
|
|
802
832
|
* limitations under the License.
|
|
803
|
-
*/class
|
|
833
|
+
*/class De{constructor(e){this.value=e}static empty(){return new De({mapValue:{}})}field(e){if(e.isEmpty())return this.value;{let t=this.value;for(let r=0;r<e.length-1;++r)if(t=(t.mapValue.fields||{})[e.get(r)],!ms(t))return null;return t=(t.mapValue.fields||{})[e.lastSegment()],t||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=lr(t)}setAll(e){let t=me.emptyPath(),r={},s=[];e.forEach((a,c)=>{if(!t.isImmediateParentOf(c)){const l=this.getFieldsMap(t);this.applyChanges(l,r,s),r={},s=[],t=c.popLast()}a?r[c.lastSegment()]=lr(a):s.push(c.lastSegment())});const i=this.getFieldsMap(t);this.applyChanges(i,r,s)}delete(e){const t=this.field(e.popLast());ms(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return tt(this.value,e.value)}getFieldsMap(e){let t=this.value;t.mapValue.fields||(t.mapValue={fields:{}});for(let r=0;r<e.length;++r){let s=t.mapValue.fields[e.get(r)];ms(s)&&s.mapValue.fields||(s={mapValue:{fields:{}}},t.mapValue.fields[e.get(r)]=s),t=s}return t.mapValue.fields}applyChanges(e,t,r){kt(t,(s,i)=>e[s]=i);for(const s of r)delete e[s]}clone(){return new De(lr(this.value))}}function ru(n){const e=[];return kt(n.fields,(t,r)=>{const s=new me([t]);if(ms(r)){const i=ru(r.mapValue).fields;if(i.length===0)e.push(s);else for(const a of i)e.push(s.child(a))}else e.push(s)}),new Fe(e)}/**
|
|
804
834
|
* @license
|
|
805
835
|
* Copyright 2017 Google LLC
|
|
806
836
|
*
|
|
@@ -815,7 +845,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
815
845
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
816
846
|
* See the License for the specific language governing permissions and
|
|
817
847
|
* limitations under the License.
|
|
818
|
-
*/class
|
|
848
|
+
*/class Ie{constructor(e,t,r,s,i,a,c){this.key=e,this.documentType=t,this.version=r,this.readTime=s,this.createTime=i,this.data=a,this.documentState=c}static newInvalidDocument(e){return new Ie(e,0,j.min(),j.min(),j.min(),De.empty(),0)}static newFoundDocument(e,t,r,s){return new Ie(e,1,t,j.min(),r,s,0)}static newNoDocument(e,t){return new Ie(e,2,t,j.min(),j.min(),De.empty(),0)}static newUnknownDocument(e,t){return new Ie(e,3,t,j.min(),j.min(),De.empty(),2)}convertToFoundDocument(e,t){return!this.createTime.isEqual(j.min())||this.documentType!==2&&this.documentType!==0||(this.createTime=e),this.version=e,this.documentType=1,this.data=t,this.documentState=0,this}convertToNoDocument(e){return this.version=e,this.documentType=2,this.data=De.empty(),this.documentState=0,this}convertToUnknownDocument(e){return this.version=e,this.documentType=3,this.data=De.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=j.min(),this}setReadTime(e){return this.readTime=e,this}get hasLocalMutations(){return this.documentState===1}get hasCommittedMutations(){return this.documentState===2}get hasPendingWrites(){return this.hasLocalMutations||this.hasCommittedMutations}isValidDocument(){return this.documentType!==0}isFoundDocument(){return this.documentType===1}isNoDocument(){return this.documentType===2}isUnknownDocument(){return this.documentType===3}isEqual(e){return e instanceof Ie&&this.key.isEqual(e.key)&&this.version.isEqual(e.version)&&this.documentType===e.documentType&&this.documentState===e.documentState&&this.data.isEqual(e.data)}mutableCopy(){return new Ie(this.key,this.documentType,this.version,this.readTime,this.createTime,this.data.clone(),this.documentState)}toString(){return`Document(${this.key}, ${this.version}, ${JSON.stringify(this.data.value)}, {createTime: ${this.createTime}}), {documentType: ${this.documentType}}), {documentState: ${this.documentState}})`}}/**
|
|
819
849
|
* @license
|
|
820
850
|
* Copyright 2022 Google LLC
|
|
821
851
|
*
|
|
@@ -830,7 +860,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
830
860
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
831
861
|
* See the License for the specific language governing permissions and
|
|
832
862
|
* limitations under the License.
|
|
833
|
-
*/class
|
|
863
|
+
*/class An{constructor(e,t){this.position=e,this.inclusive=t}}function su(n,e,t){let r=0;for(let s=0;s<n.position.length;s++){const i=e[s],a=n.position[s];if(i.field.isKeyField()?r=L.comparator(L.fromName(a.referenceValue),t.key):r=wn(a,t.data.field(i.field)),i.dir==="desc"&&(r*=-1),r!==0)break}return r}function iu(n,e){if(n===null)return e===null;if(e===null||n.inclusive!==e.inclusive||n.position.length!==e.position.length)return!1;for(let t=0;t<n.position.length;t++)if(!tt(n.position[t],e.position[t]))return!1;return!0}/**
|
|
834
864
|
* @license
|
|
835
865
|
* Copyright 2022 Google LLC
|
|
836
866
|
*
|
|
@@ -845,7 +875,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
845
875
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
846
876
|
* See the License for the specific language governing permissions and
|
|
847
877
|
* limitations under the License.
|
|
848
|
-
*/class
|
|
878
|
+
*/class hr{constructor(e,t="asc"){this.field=e,this.dir=t}}function rg(n,e){return n.dir===e.dir&&n.field.isEqual(e.field)}/**
|
|
849
879
|
* @license
|
|
850
880
|
* Copyright 2022 Google LLC
|
|
851
881
|
*
|
|
@@ -860,7 +890,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
860
890
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
861
891
|
* See the License for the specific language governing permissions and
|
|
862
892
|
* limitations under the License.
|
|
863
|
-
*/class
|
|
893
|
+
*/class ou{}class ae extends ou{constructor(e,t,r){super(),this.field=e,this.op=t,this.value=r}static create(e,t,r){return e.isKeyField()?t==="in"||t==="not-in"?this.createKeyFieldInFilter(e,t,r):new ig(e,t,r):t==="array-contains"?new cg(e,r):t==="in"?new ug(e,r):t==="not-in"?new lg(e,r):t==="array-contains-any"?new hg(e,r):new ae(e,t,r)}static createKeyFieldInFilter(e,t,r){return t==="in"?new og(e,r):new ag(e,r)}matches(e){const t=e.data.field(this.field);return this.op==="!="?t!==null&&this.matchesComparison(wn(t,this.value)):t!==null&&Ot(this.value)===Ot(t)&&this.matchesComparison(wn(t,this.value))}matchesComparison(e){switch(this.op){case"<":return e<0;case"<=":return e<=0;case"==":return e===0;case"!=":return e!==0;case">":return e>0;case">=":return e>=0;default:return F()}}isInequality(){return["<","<=",">",">=","!=","not-in"].indexOf(this.op)>=0}getFlattenedFilters(){return[this]}getFilters(){return[this]}}class We extends ou{constructor(e,t){super(),this.filters=e,this.op=t,this.ce=null}static create(e,t){return new We(e,t)}matches(e){return au(this)?this.filters.find(t=>!t.matches(e))===void 0:this.filters.find(t=>t.matches(e))!==void 0}getFlattenedFilters(){return this.ce!==null||(this.ce=this.filters.reduce((e,t)=>e.concat(t.getFlattenedFilters()),[])),this.ce}getFilters(){return Object.assign([],this.filters)}}function au(n){return n.op==="and"}function cu(n){return sg(n)&&au(n)}function sg(n){for(const e of n.filters)if(e instanceof We)return!1;return!0}function eo(n){if(n instanceof ae)return n.field.canonicalString()+n.op.toString()+In(n.value);if(cu(n))return n.filters.map(e=>eo(e)).join(",");{const e=n.filters.map(t=>eo(t)).join(",");return`${n.op}(${e})`}}function uu(n,e){return n instanceof ae?function(r,s){return s instanceof ae&&r.op===s.op&&r.field.isEqual(s.field)&&tt(r.value,s.value)}(n,e):n instanceof We?function(r,s){return s instanceof We&&r.op===s.op&&r.filters.length===s.filters.length?r.filters.reduce((i,a,c)=>i&&uu(a,s.filters[c]),!0):!1}(n,e):void F()}function lu(n){return n instanceof ae?function(t){return`${t.field.canonicalString()} ${t.op} ${In(t.value)}`}(n):n instanceof We?function(t){return t.op.toString()+" {"+t.getFilters().map(lu).join(" ,")+"}"}(n):"Filter"}class ig extends ae{constructor(e,t,r){super(e,t,r),this.key=L.fromName(r.referenceValue)}matches(e){const t=L.comparator(e.key,this.key);return this.matchesComparison(t)}}class og extends ae{constructor(e,t){super(e,"in",t),this.keys=hu("in",t)}matches(e){return this.keys.some(t=>t.isEqual(e.key))}}class ag extends ae{constructor(e,t){super(e,"not-in",t),this.keys=hu("not-in",t)}matches(e){return!this.keys.some(t=>t.isEqual(e.key))}}function hu(n,e){var t;return(((t=e.arrayValue)===null||t===void 0?void 0:t.values)||[]).map(r=>L.fromName(r.referenceValue))}class cg extends ae{constructor(e,t){super(e,"array-contains",t)}matches(e){const t=e.data.field(this.field);return Zi(t)&&ur(t.arrayValue,this.value)}}class ug extends ae{constructor(e,t){super(e,"in",t)}matches(e){const t=e.data.field(this.field);return t!==null&&ur(this.value.arrayValue,t)}}class lg extends ae{constructor(e,t){super(e,"not-in",t)}matches(e){if(ur(this.value.arrayValue,{nullValue:"NULL_VALUE"}))return!1;const t=e.data.field(this.field);return t!==null&&!ur(this.value.arrayValue,t)}}class hg extends ae{constructor(e,t){super(e,"array-contains-any",t)}matches(e){const t=e.data.field(this.field);return!(!Zi(t)||!t.arrayValue.values)&&t.arrayValue.values.some(r=>ur(this.value.arrayValue,r))}}/**
|
|
864
894
|
* @license
|
|
865
895
|
* Copyright 2019 Google LLC
|
|
866
896
|
*
|
|
@@ -875,7 +905,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
875
905
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
876
906
|
* See the License for the specific language governing permissions and
|
|
877
907
|
* limitations under the License.
|
|
878
|
-
*/class
|
|
908
|
+
*/class dg{constructor(e,t=null,r=[],s=[],i=null,a=null,c=null){this.path=e,this.collectionGroup=t,this.orderBy=r,this.filters=s,this.limit=i,this.startAt=a,this.endAt=c,this.le=null}}function du(n,e=null,t=[],r=[],s=null,i=null,a=null){return new dg(n,e,t,r,s,i,a)}function to(n){const e=B(n);if(e.le===null){let t=e.path.canonicalString();e.collectionGroup!==null&&(t+="|cg:"+e.collectionGroup),t+="|f:",t+=e.filters.map(r=>eo(r)).join(","),t+="|ob:",t+=e.orderBy.map(r=>function(i){return i.field.canonicalString()+i.dir}(r)).join(","),is(e.limit)||(t+="|l:",t+=e.limit),e.startAt&&(t+="|lb:",t+=e.startAt.inclusive?"b:":"a:",t+=e.startAt.position.map(r=>In(r)).join(",")),e.endAt&&(t+="|ub:",t+=e.endAt.inclusive?"a:":"b:",t+=e.endAt.position.map(r=>In(r)).join(",")),e.le=t}return e.le}function no(n,e){if(n.limit!==e.limit||n.orderBy.length!==e.orderBy.length)return!1;for(let t=0;t<n.orderBy.length;t++)if(!rg(n.orderBy[t],e.orderBy[t]))return!1;if(n.filters.length!==e.filters.length)return!1;for(let t=0;t<n.filters.length;t++)if(!uu(n.filters[t],e.filters[t]))return!1;return n.collectionGroup===e.collectionGroup&&!!n.path.isEqual(e.path)&&!!iu(n.startAt,e.startAt)&&iu(n.endAt,e.endAt)}function ro(n){return L.isDocumentKey(n.path)&&n.collectionGroup===null&&n.filters.length===0}/**
|
|
879
909
|
* @license
|
|
880
910
|
* Copyright 2017 Google LLC
|
|
881
911
|
*
|
|
@@ -890,7 +920,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
890
920
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
891
921
|
* See the License for the specific language governing permissions and
|
|
892
922
|
* limitations under the License.
|
|
893
|
-
*/class
|
|
923
|
+
*/class Zt{constructor(e,t=null,r=[],s=[],i=null,a="F",c=null,l=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=r,this.filters=s,this.limit=i,this.limitType=a,this.startAt=c,this.endAt=l,this.he=null,this.Pe=null,this.Te=null,this.startAt,this.endAt}}function fg(n,e,t,r,s,i,a,c){return new Zt(n,e,t,r,s,i,a,c)}function gs(n){return new Zt(n)}function fu(n){return n.filters.length===0&&n.limit===null&&n.startAt==null&&n.endAt==null&&(n.explicitOrderBy.length===0||n.explicitOrderBy.length===1&&n.explicitOrderBy[0].field.isKeyField())}function so(n){return n.collectionGroup!==null}function Rn(n){const e=B(n);if(e.he===null){e.he=[];const t=new Set;for(const i of e.explicitOrderBy)e.he.push(i),t.add(i.field.canonicalString());const r=e.explicitOrderBy.length>0?e.explicitOrderBy[e.explicitOrderBy.length-1].dir:"asc";(function(a){let c=new le(me.comparator);return a.filters.forEach(l=>{l.getFlattenedFilters().forEach(d=>{d.isInequality()&&(c=c.add(d.field))})}),c})(e).forEach(i=>{t.has(i.canonicalString())||i.isKeyField()||e.he.push(new hr(i,r))}),t.has(me.keyField().canonicalString())||e.he.push(new hr(me.keyField(),r))}return e.he}function nt(n){const e=B(n);return e.Pe||(e.Pe=pu(e,Rn(n))),e.Pe}function pg(n){const e=B(n);return e.Te||(e.Te=pu(e,n.explicitOrderBy)),e.Te}function pu(n,e){if(n.limitType==="F")return du(n.path,n.collectionGroup,e,n.filters,n.limit,n.startAt,n.endAt);{e=e.map(s=>{const i=s.dir==="desc"?"asc":"desc";return new hr(s.field,i)});const t=n.endAt?new An(n.endAt.position,n.endAt.inclusive):null,r=n.startAt?new An(n.startAt.position,n.startAt.inclusive):null;return du(n.path,n.collectionGroup,e,n.filters,n.limit,t,r)}}function io(n,e){const t=n.filters.concat([e]);return new Zt(n.path,n.collectionGroup,n.explicitOrderBy.slice(),t,n.limit,n.limitType,n.startAt,n.endAt)}function _s(n,e,t){return new Zt(n.path,n.collectionGroup,n.explicitOrderBy.slice(),n.filters.slice(),e,t,n.startAt,n.endAt)}function ys(n,e){return no(nt(n),nt(e))&&n.limitType===e.limitType}function mu(n){return`${to(nt(n))}|lt:${n.limitType}`}function bn(n){return`Query(target=${function(t){let r=t.path.canonicalString();return t.collectionGroup!==null&&(r+=" collectionGroup="+t.collectionGroup),t.filters.length>0&&(r+=`, filters: [${t.filters.map(s=>lu(s)).join(", ")}]`),is(t.limit)||(r+=", limit: "+t.limit),t.orderBy.length>0&&(r+=`, orderBy: [${t.orderBy.map(s=>function(a){return`${a.field.canonicalString()} (${a.dir})`}(s)).join(", ")}]`),t.startAt&&(r+=", startAt: ",r+=t.startAt.inclusive?"b:":"a:",r+=t.startAt.position.map(s=>In(s)).join(",")),t.endAt&&(r+=", endAt: ",r+=t.endAt.inclusive?"a:":"b:",r+=t.endAt.position.map(s=>In(s)).join(",")),`Target(${r})`}(nt(n))}; limitType=${n.limitType})`}function vs(n,e){return e.isFoundDocument()&&function(r,s){const i=s.key.path;return r.collectionGroup!==null?s.key.hasCollectionId(r.collectionGroup)&&r.path.isPrefixOf(i):L.isDocumentKey(r.path)?r.path.isEqual(i):r.path.isImmediateParentOf(i)}(n,e)&&function(r,s){for(const i of Rn(r))if(!i.field.isKeyField()&&s.data.field(i.field)===null)return!1;return!0}(n,e)&&function(r,s){for(const i of r.filters)if(!i.matches(s))return!1;return!0}(n,e)&&function(r,s){return!(r.startAt&&!function(a,c,l){const d=su(a,c,l);return a.inclusive?d<=0:d<0}(r.startAt,Rn(r),s)||r.endAt&&!function(a,c,l){const d=su(a,c,l);return a.inclusive?d>=0:d>0}(r.endAt,Rn(r),s))}(n,e)}function mg(n){return n.collectionGroup||(n.path.length%2==1?n.path.lastSegment():n.path.get(n.path.length-2))}function gu(n){return(e,t)=>{let r=!1;for(const s of Rn(n)){const i=gg(s,e,t);if(i!==0)return i;r=r||s.field.isKeyField()}return 0}}function gg(n,e,t){const r=n.field.isKeyField()?L.comparator(e.key,t.key):function(i,a,c){const l=a.data.field(i),d=c.data.field(i);return l!==null&&d!==null?wn(l,d):F()}(n.field,e,t);switch(n.dir){case"asc":return r;case"desc":return-1*r;default:return F()}}/**
|
|
894
924
|
* @license
|
|
895
925
|
* Copyright 2017 Google LLC
|
|
896
926
|
*
|
|
@@ -905,7 +935,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
905
935
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
906
936
|
* See the License for the specific language governing permissions and
|
|
907
937
|
* limitations under the License.
|
|
908
|
-
*/class
|
|
938
|
+
*/class en{constructor(e,t){this.mapKeyFn=e,this.equalsFn=t,this.inner={},this.innerSize=0}get(e){const t=this.mapKeyFn(e),r=this.inner[t];if(r!==void 0){for(const[s,i]of r)if(this.equalsFn(s,e))return i}}has(e){return this.get(e)!==void 0}set(e,t){const r=this.mapKeyFn(e),s=this.inner[r];if(s===void 0)return this.inner[r]=[[e,t]],void this.innerSize++;for(let i=0;i<s.length;i++)if(this.equalsFn(s[i][0],e))return void(s[i]=[e,t]);s.push([e,t]),this.innerSize++}delete(e){const t=this.mapKeyFn(e),r=this.inner[t];if(r===void 0)return!1;for(let s=0;s<r.length;s++)if(this.equalsFn(r[s][0],e))return r.length===1?delete this.inner[t]:r.splice(s,1),this.innerSize--,!0;return!1}forEach(e){kt(this.inner,(t,r)=>{for(const[s,i]of r)e(s,i)})}isEmpty(){return Hc(this.inner)}size(){return this.innerSize}}/**
|
|
909
939
|
* @license
|
|
910
940
|
* Copyright 2017 Google LLC
|
|
911
941
|
*
|
|
@@ -920,7 +950,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
920
950
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
921
951
|
* See the License for the specific language governing permissions and
|
|
922
952
|
* limitations under the License.
|
|
923
|
-
*/const
|
|
953
|
+
*/const _g=new re(L.comparator);function pt(){return _g}const _u=new re(L.comparator);function dr(...n){let e=_u;for(const t of n)e=e.insert(t.key,t);return e}function yu(n){let e=_u;return n.forEach((t,r)=>e=e.insert(t,r.overlayedDocument)),e}function tn(){return fr()}function vu(){return fr()}function fr(){return new en(n=>n.toString(),(n,e)=>n.isEqual(e))}const yg=new re(L.comparator),vg=new le(L.comparator);function W(...n){let e=vg;for(const t of n)e=e.add(t);return e}const Eg=new le(G);function Tg(){return Eg}/**
|
|
924
954
|
* @license
|
|
925
955
|
* Copyright 2020 Google LLC
|
|
926
956
|
*
|
|
@@ -935,7 +965,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
935
965
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
936
966
|
* See the License for the specific language governing permissions and
|
|
937
967
|
* limitations under the License.
|
|
938
|
-
*/function
|
|
968
|
+
*/function oo(n,e){if(n.useProto3Json){if(isNaN(e))return{doubleValue:"NaN"};if(e===1/0)return{doubleValue:"Infinity"};if(e===-1/0)return{doubleValue:"-Infinity"}}return{doubleValue:os(e)?"-0":e}}function Eu(n){return{integerValue:""+n}}function wg(n,e){return Km(e)?Eu(e):oo(n,e)}/**
|
|
939
969
|
* @license
|
|
940
970
|
* Copyright 2018 Google LLC
|
|
941
971
|
*
|
|
@@ -950,7 +980,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
950
980
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
951
981
|
* See the License for the specific language governing permissions and
|
|
952
982
|
* limitations under the License.
|
|
953
|
-
*/class
|
|
983
|
+
*/class Es{constructor(){this._=void 0}}function Ig(n,e,t){return n instanceof Ts?function(s,i){const a={fields:{[Kc]:{stringValue:Gc},[Xc]:{timestampValue:{seconds:s.seconds,nanos:s.nanoseconds}}}};return i&&cs(i)&&(i=us(i)),i&&(a.fields[Qc]=i),{mapValue:a}}(t,e):n instanceof pr?wu(n,e):n instanceof mr?Iu(n,e):function(s,i){const a=Tu(s,i),c=Au(a)+Au(s.Ie);return Ji(a)&&Ji(s.Ie)?Eu(c):oo(s.serializer,c)}(n,e)}function Ag(n,e,t){return n instanceof pr?wu(n,e):n instanceof mr?Iu(n,e):t}function Tu(n,e){return n instanceof ws?function(r){return Ji(r)||function(i){return!!i&&"doubleValue"in i}(r)}(e)?e:{integerValue:0}:null}class Ts extends Es{}class pr extends Es{constructor(e){super(),this.elements=e}}function wu(n,e){const t=Ru(e);for(const r of n.elements)t.some(s=>tt(s,r))||t.push(r);return{arrayValue:{values:t}}}class mr extends Es{constructor(e){super(),this.elements=e}}function Iu(n,e){let t=Ru(e);for(const r of n.elements)t=t.filter(s=>!tt(s,r));return{arrayValue:{values:t}}}class ws extends Es{constructor(e,t){super(),this.serializer=e,this.Ie=t}}function Au(n){return oe(n.integerValue||n.doubleValue)}function Ru(n){return Zi(n)&&n.arrayValue.values?n.arrayValue.values.slice():[]}function Rg(n,e){return n.field.isEqual(e.field)&&function(r,s){return r instanceof pr&&s instanceof pr||r instanceof mr&&s instanceof mr?vn(r.elements,s.elements,tt):r instanceof ws&&s instanceof ws?tt(r.Ie,s.Ie):r instanceof Ts&&s instanceof Ts}(n.transform,e.transform)}class bg{constructor(e,t){this.version=e,this.transformResults=t}}class $e{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new $e}static exists(e){return new $e(void 0,e)}static updateTime(e){return new $e(e)}get isNone(){return this.updateTime===void 0&&this.exists===void 0}isEqual(e){return this.exists===e.exists&&(this.updateTime?!!e.updateTime&&this.updateTime.isEqual(e.updateTime):!e.updateTime)}}function Is(n,e){return n.updateTime!==void 0?e.isFoundDocument()&&e.version.isEqual(n.updateTime):n.exists===void 0||n.exists===e.isFoundDocument()}class As{}function bu(n,e){if(!n.hasLocalMutations||e&&e.fields.length===0)return null;if(e===null)return n.isNoDocument()?new Rs(n.key,$e.none()):new _r(n.key,n.data,$e.none());{const t=n.data,r=De.empty();let s=new le(me.comparator);for(let i of e.fields)if(!s.has(i)){let a=t.field(i);a===null&&i.length>1&&(i=i.popLast(),a=t.field(i)),a===null?r.delete(i):r.set(i,a),s=s.add(i)}return new Vt(n.key,r,new Fe(s.toArray()),$e.none())}}function Pg(n,e,t){n instanceof _r?function(s,i,a){const c=s.value.clone(),l=Cu(s.fieldTransforms,i,a.transformResults);c.setAll(l),i.convertToFoundDocument(a.version,c).setHasCommittedMutations()}(n,e,t):n instanceof Vt?function(s,i,a){if(!Is(s.precondition,i))return void i.convertToUnknownDocument(a.version);const c=Cu(s.fieldTransforms,i,a.transformResults),l=i.data;l.setAll(Su(s)),l.setAll(c),i.convertToFoundDocument(a.version,l).setHasCommittedMutations()}(n,e,t):function(s,i,a){i.convertToNoDocument(a.version).setHasCommittedMutations()}(0,e,t)}function gr(n,e,t,r){return n instanceof _r?function(i,a,c,l){if(!Is(i.precondition,a))return c;const d=i.value.clone(),f=ku(i.fieldTransforms,l,a);return d.setAll(f),a.convertToFoundDocument(a.version,d).setHasLocalMutations(),null}(n,e,t,r):n instanceof Vt?function(i,a,c,l){if(!Is(i.precondition,a))return c;const d=ku(i.fieldTransforms,l,a),f=a.data;return f.setAll(Su(i)),f.setAll(d),a.convertToFoundDocument(a.version,f).setHasLocalMutations(),c===null?null:c.unionWith(i.fieldMask.fields).unionWith(i.fieldTransforms.map(m=>m.field))}(n,e,t,r):function(i,a,c){return Is(i.precondition,a)?(a.convertToNoDocument(a.version).setHasLocalMutations(),null):c}(n,e,t)}function Sg(n,e){let t=null;for(const r of n.fieldTransforms){const s=e.data.field(r.field),i=Tu(r.transform,s||null);i!=null&&(t===null&&(t=De.empty()),t.set(r.field,i))}return t||null}function Pu(n,e){return n.type===e.type&&!!n.key.isEqual(e.key)&&!!n.precondition.isEqual(e.precondition)&&!!function(r,s){return r===void 0&&s===void 0||!(!r||!s)&&vn(r,s,(i,a)=>Rg(i,a))}(n.fieldTransforms,e.fieldTransforms)&&(n.type===0?n.value.isEqual(e.value):n.type!==1||n.data.isEqual(e.data)&&n.fieldMask.isEqual(e.fieldMask))}class _r extends As{constructor(e,t,r,s=[]){super(),this.key=e,this.value=t,this.precondition=r,this.fieldTransforms=s,this.type=0}getFieldMask(){return null}}class Vt extends As{constructor(e,t,r,s,i=[]){super(),this.key=e,this.data=t,this.fieldMask=r,this.precondition=s,this.fieldTransforms=i,this.type=1}getFieldMask(){return this.fieldMask}}function Su(n){const e=new Map;return n.fieldMask.fields.forEach(t=>{if(!t.isEmpty()){const r=n.data.field(t);e.set(t,r)}}),e}function Cu(n,e,t){const r=new Map;Y(n.length===t.length);for(let s=0;s<t.length;s++){const i=n[s],a=i.transform,c=e.data.field(i.field);r.set(i.field,Ag(a,c,t[s]))}return r}function ku(n,e,t){const r=new Map;for(const s of n){const i=s.transform,a=t.data.field(s.field);r.set(s.field,Ig(i,a,e))}return r}class Rs extends As{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}class Cg extends As{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}}/**
|
|
954
984
|
* @license
|
|
955
985
|
* Copyright 2017 Google LLC
|
|
956
986
|
*
|
|
@@ -965,7 +995,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
965
995
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
966
996
|
* See the License for the specific language governing permissions and
|
|
967
997
|
* limitations under the License.
|
|
968
|
-
*/class
|
|
998
|
+
*/class kg{constructor(e,t,r,s){this.batchId=e,this.localWriteTime=t,this.baseMutations=r,this.mutations=s}applyToRemoteDocument(e,t){const r=t.mutationResults;for(let s=0;s<this.mutations.length;s++){const i=this.mutations[s];i.key.isEqual(e.key)&&Pg(i,e,r[s])}}applyToLocalView(e,t){for(const r of this.baseMutations)r.key.isEqual(e.key)&&(t=gr(r,e,t,this.localWriteTime));for(const r of this.mutations)r.key.isEqual(e.key)&&(t=gr(r,e,t,this.localWriteTime));return t}applyToLocalDocumentSet(e,t){const r=vu();return this.mutations.forEach(s=>{const i=e.get(s.key),a=i.overlayedDocument;let c=this.applyToLocalView(a,i.mutatedFields);c=t.has(s.key)?null:c;const l=bu(a,c);l!==null&&r.set(s.key,l),a.isValidDocument()||a.convertToNoDocument(j.min())}),r}keys(){return this.mutations.reduce((e,t)=>e.add(t.key),W())}isEqual(e){return this.batchId===e.batchId&&vn(this.mutations,e.mutations,(t,r)=>Pu(t,r))&&vn(this.baseMutations,e.baseMutations,(t,r)=>Pu(t,r))}}class ao{constructor(e,t,r,s){this.batch=e,this.commitVersion=t,this.mutationResults=r,this.docVersions=s}static from(e,t,r){Y(e.mutations.length===r.length);let s=function(){return yg}();const i=e.mutations;for(let a=0;a<i.length;a++)s=s.insert(i[a].key,r[a].version);return new ao(e,t,r,s)}}/**
|
|
969
999
|
* @license
|
|
970
1000
|
* Copyright 2022 Google LLC
|
|
971
1001
|
*
|
|
@@ -980,7 +1010,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
980
1010
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
981
1011
|
* See the License for the specific language governing permissions and
|
|
982
1012
|
* limitations under the License.
|
|
983
|
-
*/class
|
|
1013
|
+
*/class Ng{constructor(e,t){this.largestBatchId=e,this.mutation=t}getKey(){return this.mutation.key}isEqual(e){return e!==null&&this.mutation===e.mutation}toString(){return`Overlay{
|
|
984
1014
|
largestBatchId: ${this.largestBatchId},
|
|
985
1015
|
mutation: ${this.mutation.toString()}
|
|
986
1016
|
}`}}/**
|
|
@@ -998,7 +1028,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
998
1028
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
999
1029
|
* See the License for the specific language governing permissions and
|
|
1000
1030
|
* limitations under the License.
|
|
1001
|
-
*/class
|
|
1031
|
+
*/class Dg{constructor(e,t,r){this.alias=e,this.aggregateType=t,this.fieldPath=r}}/**
|
|
1002
1032
|
* @license
|
|
1003
1033
|
* Copyright 2017 Google LLC
|
|
1004
1034
|
*
|
|
@@ -1013,7 +1043,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1013
1043
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1014
1044
|
* See the License for the specific language governing permissions and
|
|
1015
1045
|
* limitations under the License.
|
|
1016
|
-
*/class
|
|
1046
|
+
*/class Og{constructor(e,t){this.count=e,this.unchangedNames=t}}/**
|
|
1017
1047
|
* @license
|
|
1018
1048
|
* Copyright 2017 Google LLC
|
|
1019
1049
|
*
|
|
@@ -1028,7 +1058,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1028
1058
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1029
1059
|
* See the License for the specific language governing permissions and
|
|
1030
1060
|
* limitations under the License.
|
|
1031
|
-
*/var ce,
|
|
1061
|
+
*/var ce,K;function Vg(n){switch(n){case P.OK:return F();case P.CANCELLED:case P.UNKNOWN:case P.DEADLINE_EXCEEDED:case P.RESOURCE_EXHAUSTED:case P.INTERNAL:case P.UNAVAILABLE:case P.UNAUTHENTICATED:return!1;case P.INVALID_ARGUMENT:case P.NOT_FOUND:case P.ALREADY_EXISTS:case P.PERMISSION_DENIED:case P.FAILED_PRECONDITION:case P.ABORTED:case P.OUT_OF_RANGE:case P.UNIMPLEMENTED:case P.DATA_LOSS:return!0;default:return F()}}function Nu(n){if(n===void 0)return ft("GRPC error has no .code"),P.UNKNOWN;switch(n){case ce.OK:return P.OK;case ce.CANCELLED:return P.CANCELLED;case ce.UNKNOWN:return P.UNKNOWN;case ce.DEADLINE_EXCEEDED:return P.DEADLINE_EXCEEDED;case ce.RESOURCE_EXHAUSTED:return P.RESOURCE_EXHAUSTED;case ce.INTERNAL:return P.INTERNAL;case ce.UNAVAILABLE:return P.UNAVAILABLE;case ce.UNAUTHENTICATED:return P.UNAUTHENTICATED;case ce.INVALID_ARGUMENT:return P.INVALID_ARGUMENT;case ce.NOT_FOUND:return P.NOT_FOUND;case ce.ALREADY_EXISTS:return P.ALREADY_EXISTS;case ce.PERMISSION_DENIED:return P.PERMISSION_DENIED;case ce.FAILED_PRECONDITION:return P.FAILED_PRECONDITION;case ce.ABORTED:return P.ABORTED;case ce.OUT_OF_RANGE:return P.OUT_OF_RANGE;case ce.UNIMPLEMENTED:return P.UNIMPLEMENTED;case ce.DATA_LOSS:return P.DATA_LOSS;default:return F()}}(K=ce||(ce={}))[K.OK=0]="OK",K[K.CANCELLED=1]="CANCELLED",K[K.UNKNOWN=2]="UNKNOWN",K[K.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",K[K.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",K[K.NOT_FOUND=5]="NOT_FOUND",K[K.ALREADY_EXISTS=6]="ALREADY_EXISTS",K[K.PERMISSION_DENIED=7]="PERMISSION_DENIED",K[K.UNAUTHENTICATED=16]="UNAUTHENTICATED",K[K.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",K[K.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",K[K.ABORTED=10]="ABORTED",K[K.OUT_OF_RANGE=11]="OUT_OF_RANGE",K[K.UNIMPLEMENTED=12]="UNIMPLEMENTED",K[K.INTERNAL=13]="INTERNAL",K[K.UNAVAILABLE=14]="UNAVAILABLE",K[K.DATA_LOSS=15]="DATA_LOSS";/**
|
|
1032
1062
|
* @license
|
|
1033
1063
|
* Copyright 2023 Google LLC
|
|
1034
1064
|
*
|
|
@@ -1043,7 +1073,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1043
1073
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1044
1074
|
* See the License for the specific language governing permissions and
|
|
1045
1075
|
* limitations under the License.
|
|
1046
|
-
*/function
|
|
1076
|
+
*/function Lg(){return new TextEncoder}/**
|
|
1047
1077
|
* @license
|
|
1048
1078
|
* Copyright 2022 Google LLC
|
|
1049
1079
|
*
|
|
@@ -1058,7 +1088,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1058
1088
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1059
1089
|
* See the License for the specific language governing permissions and
|
|
1060
1090
|
* limitations under the License.
|
|
1061
|
-
*/const
|
|
1091
|
+
*/const Mg=new St([4294967295,4294967295],0);function Du(n){const e=Lg().encode(n),t=new Pc;return t.update(e),new Uint8Array(t.digest())}function Ou(n){const e=new DataView(n.buffer),t=e.getUint32(0,!0),r=e.getUint32(4,!0),s=e.getUint32(8,!0),i=e.getUint32(12,!0);return[new St([t,r],0),new St([s,i],0)]}class co{constructor(e,t,r){if(this.bitmap=e,this.padding=t,this.hashCount=r,t<0||t>=8)throw new yr(`Invalid padding: ${t}`);if(r<0)throw new yr(`Invalid hash count: ${r}`);if(e.length>0&&this.hashCount===0)throw new yr(`Invalid hash count: ${r}`);if(e.length===0&&t!==0)throw new yr(`Invalid padding when bitmap length is 0: ${t}`);this.Ee=8*e.length-t,this.de=St.fromNumber(this.Ee)}Ae(e,t,r){let s=e.add(t.multiply(St.fromNumber(r)));return s.compare(Mg)===1&&(s=new St([s.getBits(0),s.getBits(1)],0)),s.modulo(this.de).toNumber()}Re(e){return!!(this.bitmap[Math.floor(e/8)]&1<<e%8)}mightContain(e){if(this.Ee===0)return!1;const t=Du(e),[r,s]=Ou(t);for(let i=0;i<this.hashCount;i++){const a=this.Ae(r,s,i);if(!this.Re(a))return!1}return!0}static create(e,t,r){const s=e%8==0?0:8-e%8,i=new Uint8Array(Math.ceil(e/8)),a=new co(i,s,t);return r.forEach(c=>a.insert(c)),a}insert(e){if(this.Ee===0)return;const t=Du(e),[r,s]=Ou(t);for(let i=0;i<this.hashCount;i++){const a=this.Ae(r,s,i);this.Ve(a)}}Ve(e){const t=Math.floor(e/8),r=e%8;this.bitmap[t]|=1<<r}}class yr extends Error{constructor(){super(...arguments),this.name="BloomFilterError"}}/**
|
|
1062
1092
|
* @license
|
|
1063
1093
|
* Copyright 2017 Google LLC
|
|
1064
1094
|
*
|
|
@@ -1073,7 +1103,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1073
1103
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1074
1104
|
* See the License for the specific language governing permissions and
|
|
1075
1105
|
* limitations under the License.
|
|
1076
|
-
*/class
|
|
1106
|
+
*/class bs{constructor(e,t,r,s,i){this.snapshotVersion=e,this.targetChanges=t,this.targetMismatches=r,this.documentUpdates=s,this.resolvedLimboDocuments=i}static createSynthesizedRemoteEventForCurrentChange(e,t,r){const s=new Map;return s.set(e,vr.createSynthesizedTargetChangeForCurrentChange(e,t,r)),new bs(j.min(),s,new re(G),pt(),W())}}class vr{constructor(e,t,r,s,i){this.resumeToken=e,this.current=t,this.addedDocuments=r,this.modifiedDocuments=s,this.removedDocuments=i}static createSynthesizedTargetChangeForCurrentChange(e,t,r){return new vr(r,t,W(),W(),W())}}/**
|
|
1077
1107
|
* @license
|
|
1078
1108
|
* Copyright 2017 Google LLC
|
|
1079
1109
|
*
|
|
@@ -1088,7 +1118,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1088
1118
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1089
1119
|
* See the License for the specific language governing permissions and
|
|
1090
1120
|
* limitations under the License.
|
|
1091
|
-
*/class ys{constructor(e,t,r,s){this.Re=e,this.removedTargetIds=t,this.key=r,this.Ve=s}}class ou{constructor(e,t){this.targetId=e,this.me=t}}class au{constructor(e,t,r=_e.EMPTY_BYTE_STRING,s=null){this.state=e,this.targetIds=t,this.resumeToken=r,this.cause=s}}class cu{constructor(){this.fe=0,this.ge=lu(),this.pe=_e.EMPTY_BYTE_STRING,this.ye=!1,this.we=!0}get current(){return this.ye}get resumeToken(){return this.pe}get Se(){return this.fe!==0}get be(){return this.we}De(e){e.approximateByteSize()>0&&(this.we=!0,this.pe=e)}ve(){let e=H(),t=H(),r=H();return this.ge.forEach((s,i)=>{switch(i){case 0:e=e.add(s);break;case 2:t=t.add(s);break;case 1:r=r.add(s);break;default:F()}}),new fr(this.pe,this.ye,e,t,r)}Ce(){this.we=!1,this.ge=lu()}Fe(e,t){this.we=!0,this.ge=this.ge.insert(e,t)}Me(e){this.we=!0,this.ge=this.ge.remove(e)}xe(){this.fe+=1}Oe(){this.fe-=1,X(this.fe>=0)}Ne(){this.we=!0,this.ye=!0}}class Qm{constructor(e){this.Le=e,this.Be=new Map,this.ke=ht(),this.qe=uu(),this.Qe=new re(K)}Ke(e){for(const t of e.Re)e.Ve&&e.Ve.isFoundDocument()?this.$e(t,e.Ve):this.Ue(t,e.key,e.Ve);for(const t of e.removedTargetIds)this.Ue(t,e.key,e.Ve)}We(e){this.forEachTarget(e,t=>{const r=this.Ge(t);switch(e.state){case 0:this.ze(t)&&r.De(e.resumeToken);break;case 1:r.Oe(),r.Se||r.Ce(),r.De(e.resumeToken);break;case 2:r.Oe(),r.Se||this.removeTarget(t);break;case 3:this.ze(t)&&(r.Ne(),r.De(e.resumeToken));break;case 4:this.ze(t)&&(this.je(t),r.De(e.resumeToken));break;default:F()}})}forEachTarget(e,t){e.targetIds.length>0?e.targetIds.forEach(t):this.Be.forEach((r,s)=>{this.ze(s)&&t(s)})}He(e){const t=e.targetId,r=e.me.count,s=this.Je(t);if(s){const i=s.target;if(Hi(i))if(r===0){const a=new L(i.path);this.Ue(t,a,we.newNoDocument(a,q.min()))}else X(r===1);else{const a=this.Ye(t);if(a!==r){const c=this.Ze(e),l=c?this.Xe(c,e,a):1;if(l!==0){this.je(t);const d=l===2?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch";this.Qe=this.Qe.insert(t,d)}}}}}Ze(e){const t=e.me.unchangedNames;if(!t||!t.bits)return null;const{bits:{bitmap:r="",padding:s=0},hashCount:i=0}=t;let a,c;try{a=Wt(r).toUint8Array()}catch(l){if(l instanceof Ac)return hn("Decoding the base64 bloom filter in existence filter failed ("+l.message+"); ignoring the bloom filter and falling back to full re-query."),null;throw l}try{c=new Yi(a,s,i)}catch(l){return hn(l instanceof dr?"BloomFilter error: ":"Applying bloom filter failed: ",l),null}return c.Ie===0?null:c}Xe(e,t,r){return t.me.count===r-this.nt(e,t.targetId)?0:2}nt(e,t){const r=this.Le.getRemoteKeysForTarget(t);let s=0;return r.forEach(i=>{const a=this.Le.tt(),c=`projects/${a.projectId}/databases/${a.database}/documents/${i.path.canonicalString()}`;e.mightContain(c)||(this.Ue(t,i,null),s++)}),s}rt(e){const t=new Map;this.Be.forEach((i,a)=>{const c=this.Je(a);if(c){if(i.current&&Hi(c.target)){const l=new L(c.target.path);this.ke.get(l)!==null||this.it(a,l)||this.Ue(a,l,we.newNoDocument(l,e))}i.be&&(t.set(a,i.ve()),i.Ce())}});let r=H();this.qe.forEach((i,a)=>{let c=!0;a.forEachWhile(l=>{const d=this.Je(l);return!d||d.purpose==="TargetPurposeLimboResolution"||(c=!1,!1)}),c&&(r=r.add(i))}),this.ke.forEach((i,a)=>a.setReadTime(e));const s=new _s(e,t,this.Qe,this.ke,r);return this.ke=ht(),this.qe=uu(),this.Qe=new re(K),s}$e(e,t){if(!this.ze(e))return;const r=this.it(e,t.key)?2:0;this.Ge(e).Fe(t.key,r),this.ke=this.ke.insert(t.key,t),this.qe=this.qe.insert(t.key,this.st(t.key).add(e))}Ue(e,t,r){if(!this.ze(e))return;const s=this.Ge(e);this.it(e,t)?s.Fe(t,1):s.Me(t),this.qe=this.qe.insert(t,this.st(t).delete(e)),r&&(this.ke=this.ke.insert(t,r))}removeTarget(e){this.Be.delete(e)}Ye(e){const t=this.Ge(e).ve();return this.Le.getRemoteKeysForTarget(e).size+t.addedDocuments.size-t.removedDocuments.size}xe(e){this.Ge(e).xe()}Ge(e){let t=this.Be.get(e);return t||(t=new cu,this.Be.set(e,t)),t}st(e){let t=this.qe.get(e);return t||(t=new ge(K),this.qe=this.qe.insert(e,t)),t}ze(e){const t=this.Je(e)!==null;return t||V("WatchChangeAggregator","Detected inactive target",e),t}Je(e){const t=this.Be.get(e);return t&&t.Se?null:this.Le.ot(e)}je(e){this.Be.set(e,new cu),this.Le.getRemoteKeysForTarget(e).forEach(t=>{this.Ue(e,t,null)})}it(e,t){return this.Le.getRemoteKeysForTarget(e).has(t)}}function uu(){return new re(L.comparator)}function lu(){return new re(L.comparator)}const Ym={asc:"ASCENDING",desc:"DESCENDING"},Xm={"<":"LESS_THAN","<=":"LESS_THAN_OR_EQUAL",">":"GREATER_THAN",">=":"GREATER_THAN_OR_EQUAL","==":"EQUAL","!=":"NOT_EQUAL","array-contains":"ARRAY_CONTAINS",in:"IN","not-in":"NOT_IN","array-contains-any":"ARRAY_CONTAINS_ANY"},Jm={and:"AND",or:"OR"};class Zm{constructor(e,t){this.databaseId=e,this.useProto3Json=t}}function Xi(n,e){return n.useProto3Json||es(e)?e:{value:e}}function vs(n,e){return n.useProto3Json?`${new Date(1e3*e.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")}.${("000000000"+e.nanoseconds).slice(-9)}Z`:{seconds:""+e.seconds,nanos:e.nanoseconds}}function hu(n,e){return n.useProto3Json?e.toBase64():e.toUint8Array()}function eg(n,e){return vs(n,e.toTimestamp())}function et(n){return X(!!n),q.fromTimestamp(function(t){const r=bt(t);return new ue(r.seconds,r.nanos)}(n))}function Ji(n,e){return Zi(n,e).canonicalString()}function Zi(n,e){const t=function(s){return new ee(["projects",s.projectId,"databases",s.database])}(n).child("documents");return e===void 0?t:t.child(e)}function du(n){const e=ee.fromString(n);return X(vu(e)),e}function eo(n,e){return Ji(n.databaseId,e.path)}function to(n,e){const t=du(e);if(t.get(1)!==n.databaseId.projectId)throw new O(P.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+t.get(1)+" vs "+n.databaseId.projectId);if(t.get(3)!==n.databaseId.database)throw new O(P.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+t.get(3)+" vs "+n.databaseId.database);return new L(pu(t))}function fu(n,e){return Ji(n.databaseId,e)}function tg(n){const e=du(n);return e.length===4?ee.emptyPath():pu(e)}function no(n){return new ee(["projects",n.databaseId.projectId,"databases",n.databaseId.database]).canonicalString()}function pu(n){return X(n.length>4&&n.get(4)==="documents"),n.popFirst(5)}function mu(n,e,t){return{name:eo(n,e),fields:t.value.mapValue.fields}}function ng(n,e){let t;if("targetChange"in e){e.targetChange;const r=function(d){return d==="NO_CHANGE"?0:d==="ADD"?1:d==="REMOVE"?2:d==="CURRENT"?3:d==="RESET"?4:F()}(e.targetChange.targetChangeType||"NO_CHANGE"),s=e.targetChange.targetIds||[],i=function(d,p){return d.useProto3Json?(X(p===void 0||typeof p=="string"),_e.fromBase64String(p||"")):(X(p===void 0||p instanceof Buffer||p instanceof Uint8Array),_e.fromUint8Array(p||new Uint8Array))}(n,e.targetChange.resumeToken),a=e.targetChange.cause,c=a&&function(d){const p=d.code===void 0?P.UNKNOWN:ru(d.code);return new O(p,d.message||"")}(a);t=new au(r,s,i,c||null)}else if("documentChange"in e){e.documentChange;const r=e.documentChange;r.document,r.document.name,r.document.updateTime;const s=to(n,r.document.name),i=et(r.document.updateTime),a=r.document.createTime?et(r.document.createTime):q.min(),c=new Ne({mapValue:{fields:r.document.fields}}),l=we.newFoundDocument(s,i,a,c),d=r.targetIds||[],p=r.removedTargetIds||[];t=new ys(d,p,l.key,l)}else if("documentDelete"in e){e.documentDelete;const r=e.documentDelete;r.document;const s=to(n,r.document),i=r.readTime?et(r.readTime):q.min(),a=we.newNoDocument(s,i),c=r.removedTargetIds||[];t=new ys([],c,a.key,a)}else if("documentRemove"in e){e.documentRemove;const r=e.documentRemove;r.document;const s=to(n,r.document),i=r.removedTargetIds||[];t=new ys([],i,s,null)}else{if(!("filter"in e))return F();{e.filter;const r=e.filter;r.targetId;const{count:s=0,unchangedNames:i}=r,a=new Hm(s,i),c=r.targetId;t=new ou(c,a)}}return t}function rg(n,e){let t;if(e instanceof hr)t={update:mu(n,e.key,e.value)};else if(e instanceof gs)t={delete:eo(n,e.key)};else if(e instanceof Pt)t={update:mu(n,e.key,e.data),updateMask:dg(e.fieldMask)};else{if(!(e instanceof jm))return F();t={verify:eo(n,e.key)}}return e.fieldTransforms.length>0&&(t.updateTransforms=e.fieldTransforms.map(r=>function(i,a){const c=a.transform;if(c instanceof ds)return{fieldPath:a.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(c instanceof cr)return{fieldPath:a.field.canonicalString(),appendMissingElements:{values:c.elements}};if(c instanceof ur)return{fieldPath:a.field.canonicalString(),removeAllFromArray:{values:c.elements}};if(c instanceof fs)return{fieldPath:a.field.canonicalString(),increment:c.Pe};throw F()}(0,r))),e.precondition.isNone||(t.currentDocument=function(s,i){return i.updateTime!==void 0?{updateTime:eg(s,i.updateTime)}:i.exists!==void 0?{exists:i.exists}:F()}(n,e.precondition)),t}function sg(n,e){return n&&n.length>0?(X(e!==void 0),n.map(t=>function(s,i){let a=s.updateTime?et(s.updateTime):et(i);return a.isEqual(q.min())&&(a=et(i)),new xm(a,s.transformResults||[])}(t,e))):[]}function ig(n,e){return{documents:[fu(n,e.path)]}}function gu(n,e){const t={structuredQuery:{}},r=e.path;let s;e.collectionGroup!==null?(s=r,t.structuredQuery.from=[{collectionId:e.collectionGroup,allDescendants:!0}]):(s=r.popLast(),t.structuredQuery.from=[{collectionId:r.lastSegment()}]),t.parent=fu(n,s);const i=function(d){if(d.length!==0)return yu(ze.create(d,"and"))}(e.filters);i&&(t.structuredQuery.where=i);const a=function(d){if(d.length!==0)return d.map(p=>function(v){return{field:St(v.field),direction:ug(v.dir)}}(p))}(e.orderBy);a&&(t.structuredQuery.orderBy=a);const c=Xi(n,e.limit);return c!==null&&(t.structuredQuery.limit=c),e.startAt&&(t.structuredQuery.startAt=function(d){return{before:d.inclusive,values:d.position}}(e.startAt)),e.endAt&&(t.structuredQuery.endAt=function(d){return{before:!d.inclusive,values:d.position}}(e.endAt)),{_t:t,parent:s}}function og(n,e,t,r){const{_t:s,parent:i}=gu(n,e),a={},c=[];let l=0;return t.forEach(d=>{const p="aggregate_"+l++;a[p]=d.alias,d.aggregateType==="count"?c.push({alias:p,count:{}}):d.aggregateType==="avg"?c.push({alias:p,avg:{field:St(d.fieldPath)}}):d.aggregateType==="sum"&&c.push({alias:p,sum:{field:St(d.fieldPath)}})}),{request:{structuredAggregationQuery:{aggregations:c,structuredQuery:s.structuredQuery},parent:s.parent},ut:a,parent:i}}function ag(n){let e=tg(n.parent);const t=n.structuredQuery,r=t.from?t.from.length:0;let s=null;if(r>0){X(r===1);const p=t.from[0];p.allDescendants?s=p.collectionId:e=e.child(p.collectionId)}let i=[];t.where&&(i=function(g){const v=_u(g);return v instanceof ze&&Vc(v)?v.getFilters():[v]}(t.where));let a=[];t.orderBy&&(a=function(g){return g.map(v=>function(C){return new ir(vn(C.field),function(S){switch(S){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}}(C.direction))}(v))}(t.orderBy));let c=null;t.limit&&(c=function(g){let v;return v=typeof g=="object"?g.value:g,es(v)?null:v}(t.limit));let l=null;t.startAt&&(l=function(g){const v=!!g.before,R=g.values||[];return new mn(R,v)}(t.startAt));let d=null;return t.endAt&&(d=function(g){const v=!g.before,R=g.values||[];return new mn(R,v)}(t.endAt)),Rm(e,s,a,i,c,"F",l,d)}function cg(n,e){const t=function(s){switch(s){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return F()}}(e.purpose);return t==null?null:{"goog-listen-tags":t}}function _u(n){return n.unaryFilter!==void 0?function(t){switch(t.unaryFilter.op){case"IS_NAN":const r=vn(t.unaryFilter.field);return ae.create(r,"==",{doubleValue:NaN});case"IS_NULL":const s=vn(t.unaryFilter.field);return ae.create(s,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":const i=vn(t.unaryFilter.field);return ae.create(i,"!=",{doubleValue:NaN});case"IS_NOT_NULL":const a=vn(t.unaryFilter.field);return ae.create(a,"!=",{nullValue:"NULL_VALUE"});default:return F()}}(n):n.fieldFilter!==void 0?function(t){return ae.create(vn(t.fieldFilter.field),function(s){switch(s){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";default:return F()}}(t.fieldFilter.op),t.fieldFilter.value)}(n):n.compositeFilter!==void 0?function(t){return ze.create(t.compositeFilter.filters.map(r=>_u(r)),function(s){switch(s){case"AND":return"and";case"OR":return"or";default:return F()}}(t.compositeFilter.op))}(n):F()}function ug(n){return Ym[n]}function lg(n){return Xm[n]}function hg(n){return Jm[n]}function St(n){return{fieldPath:n.canonicalString()}}function vn(n){return pe.fromServerFormat(n.fieldPath)}function yu(n){return n instanceof ae?function(t){if(t.op==="=="){if(Sc(t.value))return{unaryFilter:{field:St(t.field),op:"IS_NAN"}};if(Pc(t.value))return{unaryFilter:{field:St(t.field),op:"IS_NULL"}}}else if(t.op==="!="){if(Sc(t.value))return{unaryFilter:{field:St(t.field),op:"IS_NOT_NAN"}};if(Pc(t.value))return{unaryFilter:{field:St(t.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:St(t.field),op:lg(t.op),value:t.value}}}(n):n instanceof ze?function(t){const r=t.getFilters().map(s=>yu(s));return r.length===1?r[0]:{compositeFilter:{op:hg(t.op),filters:r}}}(n):F()}function dg(n){const e=[];return n.fields.forEach(t=>e.push(t.canonicalString())),{fieldPaths:e}}function vu(n){return n.length>=4&&n.get(0)==="projects"&&n.get(2)==="databases"}/**
|
|
1121
|
+
*/class Ps{constructor(e,t,r,s){this.me=e,this.removedTargetIds=t,this.key=r,this.fe=s}}class Vu{constructor(e,t){this.targetId=e,this.ge=t}}class Lu{constructor(e,t,r=_e.EMPTY_BYTE_STRING,s=null){this.state=e,this.targetIds=t,this.resumeToken=r,this.cause=s}}class Mu{constructor(){this.pe=0,this.ye=Uu(),this.we=_e.EMPTY_BYTE_STRING,this.be=!1,this.Se=!0}get current(){return this.be}get resumeToken(){return this.we}get De(){return this.pe!==0}get ve(){return this.Se}Ce(e){e.approximateByteSize()>0&&(this.Se=!0,this.we=e)}Fe(){let e=W(),t=W(),r=W();return this.ye.forEach((s,i)=>{switch(i){case 0:e=e.add(s);break;case 2:t=t.add(s);break;case 1:r=r.add(s);break;default:F()}}),new vr(this.we,this.be,e,t,r)}Me(){this.Se=!1,this.ye=Uu()}xe(e,t){this.Se=!0,this.ye=this.ye.insert(e,t)}Oe(e){this.Se=!0,this.ye=this.ye.remove(e)}Ne(){this.pe+=1}Be(){this.pe-=1,Y(this.pe>=0)}Le(){this.Se=!0,this.be=!0}}class Ug{constructor(e){this.ke=e,this.qe=new Map,this.Qe=pt(),this.$e=Ss(),this.Ke=Ss(),this.Ue=new re(G)}We(e){for(const t of e.me)e.fe&&e.fe.isFoundDocument()?this.Ge(t,e.fe):this.ze(t,e.key,e.fe);for(const t of e.removedTargetIds)this.ze(t,e.key,e.fe)}je(e){this.forEachTarget(e,t=>{const r=this.He(t);switch(e.state){case 0:this.Je(t)&&r.Ce(e.resumeToken);break;case 1:r.Be(),r.De||r.Me(),r.Ce(e.resumeToken);break;case 2:r.Be(),r.De||this.removeTarget(t);break;case 3:this.Je(t)&&(r.Le(),r.Ce(e.resumeToken));break;case 4:this.Je(t)&&(this.Ye(t),r.Ce(e.resumeToken));break;default:F()}})}forEachTarget(e,t){e.targetIds.length>0?e.targetIds.forEach(t):this.qe.forEach((r,s)=>{this.Je(s)&&t(s)})}Ze(e){const t=e.targetId,r=e.ge.count,s=this.Xe(t);if(s){const i=s.target;if(ro(i))if(r===0){const a=new L(i.path);this.ze(t,a,Ie.newNoDocument(a,j.min()))}else Y(r===1);else{const a=this.et(t);if(a!==r){const c=this.tt(e),l=c?this.nt(c,e,a):1;if(l!==0){this.Ye(t);const d=l===2?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch";this.Ue=this.Ue.insert(t,d)}}}}}tt(e){const t=e.ge.unchangedNames;if(!t||!t.bits)return null;const{bits:{bitmap:r="",padding:s=0},hashCount:i=0}=t;let a,c;try{a=Dt(r).toUint8Array()}catch(l){if(l instanceof Wc)return yn("Decoding the base64 bloom filter in existence filter failed ("+l.message+"); ignoring the bloom filter and falling back to full re-query."),null;throw l}try{c=new co(a,s,i)}catch(l){return yn(l instanceof yr?"BloomFilter error: ":"Applying bloom filter failed: ",l),null}return c.Ee===0?null:c}nt(e,t,r){return t.ge.count===r-this.st(e,t.targetId)?0:2}st(e,t){const r=this.ke.getRemoteKeysForTarget(t);let s=0;return r.forEach(i=>{const a=this.ke.it(),c=`projects/${a.projectId}/databases/${a.database}/documents/${i.path.canonicalString()}`;e.mightContain(c)||(this.ze(t,i,null),s++)}),s}ot(e){const t=new Map;this.qe.forEach((i,a)=>{const c=this.Xe(a);if(c){if(i.current&&ro(c.target)){const l=new L(c.target.path);this._t(l).has(a)||this.ut(a,l)||this.ze(a,l,Ie.newNoDocument(l,e))}i.ve&&(t.set(a,i.Fe()),i.Me())}});let r=W();this.Ke.forEach((i,a)=>{let c=!0;a.forEachWhile(l=>{const d=this.Xe(l);return!d||d.purpose==="TargetPurposeLimboResolution"||(c=!1,!1)}),c&&(r=r.add(i))}),this.Qe.forEach((i,a)=>a.setReadTime(e));const s=new bs(e,t,this.Ue,this.Qe,r);return this.Qe=pt(),this.$e=Ss(),this.Ke=Ss(),this.Ue=new re(G),s}Ge(e,t){if(!this.Je(e))return;const r=this.ut(e,t.key)?2:0;this.He(e).xe(t.key,r),this.Qe=this.Qe.insert(t.key,t),this.$e=this.$e.insert(t.key,this._t(t.key).add(e)),this.Ke=this.Ke.insert(t.key,this.ct(t.key).add(e))}ze(e,t,r){if(!this.Je(e))return;const s=this.He(e);this.ut(e,t)?s.xe(t,1):s.Oe(t),this.Ke=this.Ke.insert(t,this.ct(t).delete(e)),this.Ke=this.Ke.insert(t,this.ct(t).add(e)),r&&(this.Qe=this.Qe.insert(t,r))}removeTarget(e){this.qe.delete(e)}et(e){const t=this.He(e).Fe();return this.ke.getRemoteKeysForTarget(e).size+t.addedDocuments.size-t.removedDocuments.size}Ne(e){this.He(e).Ne()}He(e){let t=this.qe.get(e);return t||(t=new Mu,this.qe.set(e,t)),t}ct(e){let t=this.Ke.get(e);return t||(t=new le(G),this.Ke=this.Ke.insert(e,t)),t}_t(e){let t=this.$e.get(e);return t||(t=new le(G),this.$e=this.$e.insert(e,t)),t}Je(e){const t=this.Xe(e)!==null;return t||V("WatchChangeAggregator","Detected inactive target",e),t}Xe(e){const t=this.qe.get(e);return t&&t.De?null:this.ke.lt(e)}Ye(e){this.qe.set(e,new Mu),this.ke.getRemoteKeysForTarget(e).forEach(t=>{this.ze(e,t,null)})}ut(e,t){return this.ke.getRemoteKeysForTarget(e).has(t)}}function Ss(){return new re(L.comparator)}function Uu(){return new re(L.comparator)}const xg={asc:"ASCENDING",desc:"DESCENDING"},Fg={"<":"LESS_THAN","<=":"LESS_THAN_OR_EQUAL",">":"GREATER_THAN",">=":"GREATER_THAN_OR_EQUAL","==":"EQUAL","!=":"NOT_EQUAL","array-contains":"ARRAY_CONTAINS",in:"IN","not-in":"NOT_IN","array-contains-any":"ARRAY_CONTAINS_ANY"},Bg={and:"AND",or:"OR"};class jg{constructor(e,t){this.databaseId=e,this.useProto3Json=t}}function uo(n,e){return n.useProto3Json||is(e)?e:{value:e}}function Cs(n,e){return n.useProto3Json?`${new Date(1e3*e.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")}.${("000000000"+e.nanoseconds).slice(-9)}Z`:{seconds:""+e.seconds,nanos:e.nanoseconds}}function xu(n,e){return n.useProto3Json?e.toBase64():e.toUint8Array()}function qg(n,e){return Cs(n,e.toTimestamp())}function rt(n){return Y(!!n),j.fromTimestamp(function(t){const r=Nt(t);return new ue(r.seconds,r.nanos)}(n))}function lo(n,e){return ho(n,e).canonicalString()}function ho(n,e){const t=function(s){return new ee(["projects",s.projectId,"databases",s.database])}(n).child("documents");return e===void 0?t:t.child(e)}function Fu(n){const e=ee.fromString(n);return Y(Wu(e)),e}function fo(n,e){return lo(n.databaseId,e.path)}function po(n,e){const t=Fu(e);if(t.get(1)!==n.databaseId.projectId)throw new O(P.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+t.get(1)+" vs "+n.databaseId.projectId);if(t.get(3)!==n.databaseId.database)throw new O(P.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+t.get(3)+" vs "+n.databaseId.database);return new L(ju(t))}function Bu(n,e){return lo(n.databaseId,e)}function $g(n){const e=Fu(n);return e.length===4?ee.emptyPath():ju(e)}function mo(n){return new ee(["projects",n.databaseId.projectId,"databases",n.databaseId.database]).canonicalString()}function ju(n){return Y(n.length>4&&n.get(4)==="documents"),n.popFirst(5)}function qu(n,e,t){return{name:fo(n,e),fields:t.value.mapValue.fields}}function Hg(n,e){let t;if("targetChange"in e){e.targetChange;const r=function(d){return d==="NO_CHANGE"?0:d==="ADD"?1:d==="REMOVE"?2:d==="CURRENT"?3:d==="RESET"?4:F()}(e.targetChange.targetChangeType||"NO_CHANGE"),s=e.targetChange.targetIds||[],i=function(d,f){return d.useProto3Json?(Y(f===void 0||typeof f=="string"),_e.fromBase64String(f||"")):(Y(f===void 0||f instanceof Buffer||f instanceof Uint8Array),_e.fromUint8Array(f||new Uint8Array))}(n,e.targetChange.resumeToken),a=e.targetChange.cause,c=a&&function(d){const f=d.code===void 0?P.UNKNOWN:Nu(d.code);return new O(f,d.message||"")}(a);t=new Lu(r,s,i,c||null)}else if("documentChange"in e){e.documentChange;const r=e.documentChange;r.document,r.document.name,r.document.updateTime;const s=po(n,r.document.name),i=rt(r.document.updateTime),a=r.document.createTime?rt(r.document.createTime):j.min(),c=new De({mapValue:{fields:r.document.fields}}),l=Ie.newFoundDocument(s,i,a,c),d=r.targetIds||[],f=r.removedTargetIds||[];t=new Ps(d,f,l.key,l)}else if("documentDelete"in e){e.documentDelete;const r=e.documentDelete;r.document;const s=po(n,r.document),i=r.readTime?rt(r.readTime):j.min(),a=Ie.newNoDocument(s,i),c=r.removedTargetIds||[];t=new Ps([],c,a.key,a)}else if("documentRemove"in e){e.documentRemove;const r=e.documentRemove;r.document;const s=po(n,r.document),i=r.removedTargetIds||[];t=new Ps([],i,s,null)}else{if(!("filter"in e))return F();{e.filter;const r=e.filter;r.targetId;const{count:s=0,unchangedNames:i}=r,a=new Og(s,i),c=r.targetId;t=new Vu(c,a)}}return t}function zg(n,e){let t;if(e instanceof _r)t={update:qu(n,e.key,e.value)};else if(e instanceof Rs)t={delete:fo(n,e.key)};else if(e instanceof Vt)t={update:qu(n,e.key,e.data),updateMask:e_(e.fieldMask)};else{if(!(e instanceof Cg))return F();t={verify:fo(n,e.key)}}return e.fieldTransforms.length>0&&(t.updateTransforms=e.fieldTransforms.map(r=>function(i,a){const c=a.transform;if(c instanceof Ts)return{fieldPath:a.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(c instanceof pr)return{fieldPath:a.field.canonicalString(),appendMissingElements:{values:c.elements}};if(c instanceof mr)return{fieldPath:a.field.canonicalString(),removeAllFromArray:{values:c.elements}};if(c instanceof ws)return{fieldPath:a.field.canonicalString(),increment:c.Ie};throw F()}(0,r))),e.precondition.isNone||(t.currentDocument=function(s,i){return i.updateTime!==void 0?{updateTime:qg(s,i.updateTime)}:i.exists!==void 0?{exists:i.exists}:F()}(n,e.precondition)),t}function Wg(n,e){return n&&n.length>0?(Y(e!==void 0),n.map(t=>function(s,i){let a=s.updateTime?rt(s.updateTime):rt(i);return a.isEqual(j.min())&&(a=rt(i)),new bg(a,s.transformResults||[])}(t,e))):[]}function Gg(n,e){return{documents:[Bu(n,e.path)]}}function $u(n,e){const t={structuredQuery:{}},r=e.path;let s;e.collectionGroup!==null?(s=r,t.structuredQuery.from=[{collectionId:e.collectionGroup,allDescendants:!0}]):(s=r.popLast(),t.structuredQuery.from=[{collectionId:r.lastSegment()}]),t.parent=Bu(n,s);const i=function(d){if(d.length!==0)return zu(We.create(d,"and"))}(e.filters);i&&(t.structuredQuery.where=i);const a=function(d){if(d.length!==0)return d.map(f=>function(v){return{field:Lt(v.field),direction:Yg(v.dir)}}(f))}(e.orderBy);a&&(t.structuredQuery.orderBy=a);const c=uo(n,e.limit);return c!==null&&(t.structuredQuery.limit=c),e.startAt&&(t.structuredQuery.startAt=function(d){return{before:d.inclusive,values:d.position}}(e.startAt)),e.endAt&&(t.structuredQuery.endAt=function(d){return{before:!d.inclusive,values:d.position}}(e.endAt)),{ht:t,parent:s}}function Kg(n,e,t,r){const{ht:s,parent:i}=$u(n,e),a={},c=[];let l=0;return t.forEach(d=>{const f="aggregate_"+l++;a[f]=d.alias,d.aggregateType==="count"?c.push({alias:f,count:{}}):d.aggregateType==="avg"?c.push({alias:f,avg:{field:Lt(d.fieldPath)}}):d.aggregateType==="sum"&&c.push({alias:f,sum:{field:Lt(d.fieldPath)}})}),{request:{structuredAggregationQuery:{aggregations:c,structuredQuery:s.structuredQuery},parent:s.parent},Pt:a,parent:i}}function Qg(n){let e=$g(n.parent);const t=n.structuredQuery,r=t.from?t.from.length:0;let s=null;if(r>0){Y(r===1);const f=t.from[0];f.allDescendants?s=f.collectionId:e=e.child(f.collectionId)}let i=[];t.where&&(i=function(m){const v=Hu(m);return v instanceof We&&cu(v)?v.getFilters():[v]}(t.where));let a=[];t.orderBy&&(a=function(m){return m.map(v=>function(S){return new hr(Pn(S.field),function(k){switch(k){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}}(S.direction))}(v))}(t.orderBy));let c=null;t.limit&&(c=function(m){let v;return v=typeof m=="object"?m.value:m,is(v)?null:v}(t.limit));let l=null;t.startAt&&(l=function(m){const v=!!m.before,R=m.values||[];return new An(R,v)}(t.startAt));let d=null;return t.endAt&&(d=function(m){const v=!m.before,R=m.values||[];return new An(R,v)}(t.endAt)),fg(e,s,a,i,c,"F",l,d)}function Xg(n,e){const t=function(s){switch(s){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return F()}}(e.purpose);return t==null?null:{"goog-listen-tags":t}}function Hu(n){return n.unaryFilter!==void 0?function(t){switch(t.unaryFilter.op){case"IS_NAN":const r=Pn(t.unaryFilter.field);return ae.create(r,"==",{doubleValue:NaN});case"IS_NULL":const s=Pn(t.unaryFilter.field);return ae.create(s,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":const i=Pn(t.unaryFilter.field);return ae.create(i,"!=",{doubleValue:NaN});case"IS_NOT_NULL":const a=Pn(t.unaryFilter.field);return ae.create(a,"!=",{nullValue:"NULL_VALUE"});default:return F()}}(n):n.fieldFilter!==void 0?function(t){return ae.create(Pn(t.fieldFilter.field),function(s){switch(s){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";default:return F()}}(t.fieldFilter.op),t.fieldFilter.value)}(n):n.compositeFilter!==void 0?function(t){return We.create(t.compositeFilter.filters.map(r=>Hu(r)),function(s){switch(s){case"AND":return"and";case"OR":return"or";default:return F()}}(t.compositeFilter.op))}(n):F()}function Yg(n){return xg[n]}function Jg(n){return Fg[n]}function Zg(n){return Bg[n]}function Lt(n){return{fieldPath:n.canonicalString()}}function Pn(n){return me.fromServerFormat(n.fieldPath)}function zu(n){return n instanceof ae?function(t){if(t.op==="=="){if(nu(t.value))return{unaryFilter:{field:Lt(t.field),op:"IS_NAN"}};if(tu(t.value))return{unaryFilter:{field:Lt(t.field),op:"IS_NULL"}}}else if(t.op==="!="){if(nu(t.value))return{unaryFilter:{field:Lt(t.field),op:"IS_NOT_NAN"}};if(tu(t.value))return{unaryFilter:{field:Lt(t.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:Lt(t.field),op:Jg(t.op),value:t.value}}}(n):n instanceof We?function(t){const r=t.getFilters().map(s=>zu(s));return r.length===1?r[0]:{compositeFilter:{op:Zg(t.op),filters:r}}}(n):F()}function e_(n){const e=[];return n.fields.forEach(t=>e.push(t.canonicalString())),{fieldPaths:e}}function Wu(n){return n.length>=4&&n.get(0)==="projects"&&n.get(2)==="databases"}/**
|
|
1092
1122
|
* @license
|
|
1093
1123
|
* Copyright 2017 Google LLC
|
|
1094
1124
|
*
|
|
@@ -1103,7 +1133,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1103
1133
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1104
1134
|
* See the License for the specific language governing permissions and
|
|
1105
1135
|
* limitations under the License.
|
|
1106
|
-
*/class
|
|
1136
|
+
*/class Mt{constructor(e,t,r,s,i=j.min(),a=j.min(),c=_e.EMPTY_BYTE_STRING,l=null){this.target=e,this.targetId=t,this.purpose=r,this.sequenceNumber=s,this.snapshotVersion=i,this.lastLimboFreeSnapshotVersion=a,this.resumeToken=c,this.expectedCount=l}withSequenceNumber(e){return new Mt(this.target,this.targetId,this.purpose,e,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,this.expectedCount)}withResumeToken(e,t){return new Mt(this.target,this.targetId,this.purpose,this.sequenceNumber,t,this.lastLimboFreeSnapshotVersion,e,null)}withExpectedCount(e){return new Mt(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,e)}withLastLimboFreeSnapshotVersion(e){return new Mt(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,e,this.resumeToken,this.expectedCount)}}/**
|
|
1107
1137
|
* @license
|
|
1108
1138
|
* Copyright 2017 Google LLC
|
|
1109
1139
|
*
|
|
@@ -1118,7 +1148,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1118
1148
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1119
1149
|
* See the License for the specific language governing permissions and
|
|
1120
1150
|
* limitations under the License.
|
|
1121
|
-
*/class
|
|
1151
|
+
*/class t_{constructor(e){this.Tt=e}}function n_(n){const e=Qg({parent:n.parent,structuredQuery:n.structuredQuery});return n.limitType==="LAST"?_s(e,e.limit,"L"):e}/**
|
|
1122
1152
|
* @license
|
|
1123
1153
|
* Copyright 2019 Google LLC
|
|
1124
1154
|
*
|
|
@@ -1133,7 +1163,22 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1133
1163
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1134
1164
|
* See the License for the specific language governing permissions and
|
|
1135
1165
|
* limitations under the License.
|
|
1136
|
-
*/class
|
|
1166
|
+
*/class r_{constructor(){this.Tn=new s_}addToCollectionParentIndex(e,t){return this.Tn.add(t),C.resolve()}getCollectionParents(e,t){return C.resolve(this.Tn.getEntries(t))}addFieldIndex(e,t){return C.resolve()}deleteFieldIndex(e,t){return C.resolve()}deleteAllFieldIndexes(e){return C.resolve()}createTargetIndexes(e,t){return C.resolve()}getDocumentsMatchingTarget(e,t){return C.resolve(null)}getIndexType(e,t){return C.resolve(0)}getFieldIndexes(e,t){return C.resolve([])}getNextCollectionGroupToUpdate(e){return C.resolve(null)}getMinOffset(e,t){return C.resolve(Ct.min())}getMinOffsetFromCollectionGroup(e,t){return C.resolve(Ct.min())}updateCollectionGroup(e,t,r){return C.resolve()}updateIndexEntries(e,t){return C.resolve()}}class s_{constructor(){this.index={}}add(e){const t=e.lastSegment(),r=e.popLast(),s=this.index[t]||new le(ee.comparator),i=!s.has(r);return this.index[t]=s.add(r),i}has(e){const t=e.lastSegment(),r=e.popLast(),s=this.index[t];return s&&s.has(r)}getEntries(e){return(this.index[e]||new le(ee.comparator)).toArray()}}/**
|
|
1167
|
+
* @license
|
|
1168
|
+
* Copyright 2018 Google LLC
|
|
1169
|
+
*
|
|
1170
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1171
|
+
* you may not use this file except in compliance with the License.
|
|
1172
|
+
* You may obtain a copy of the License at
|
|
1173
|
+
*
|
|
1174
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1175
|
+
*
|
|
1176
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1177
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1178
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1179
|
+
* See the License for the specific language governing permissions and
|
|
1180
|
+
* limitations under the License.
|
|
1181
|
+
*/const Gu={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0},Ku=41943040;class Oe{static withCacheSize(e){return new Oe(e,Oe.DEFAULT_COLLECTION_PERCENTILE,Oe.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}constructor(e,t,r){this.cacheSizeCollectionThreshold=e,this.percentileToCollect=t,this.maximumSequenceNumbersToCollect=r}}/**
|
|
1137
1182
|
* @license
|
|
1138
1183
|
* Copyright 2017 Google LLC
|
|
1139
1184
|
*
|
|
@@ -1148,7 +1193,42 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1148
1193
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1149
1194
|
* See the License for the specific language governing permissions and
|
|
1150
1195
|
* limitations under the License.
|
|
1151
|
-
*/
|
|
1196
|
+
*/Oe.DEFAULT_COLLECTION_PERCENTILE=10,Oe.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,Oe.DEFAULT=new Oe(Ku,Oe.DEFAULT_COLLECTION_PERCENTILE,Oe.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),Oe.DISABLED=new Oe(-1,0,0);/**
|
|
1197
|
+
* @license
|
|
1198
|
+
* Copyright 2017 Google LLC
|
|
1199
|
+
*
|
|
1200
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1201
|
+
* you may not use this file except in compliance with the License.
|
|
1202
|
+
* You may obtain a copy of the License at
|
|
1203
|
+
*
|
|
1204
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1205
|
+
*
|
|
1206
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1207
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1208
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1209
|
+
* See the License for the specific language governing permissions and
|
|
1210
|
+
* limitations under the License.
|
|
1211
|
+
*/class Sn{constructor(e){this.$n=e}next(){return this.$n+=2,this.$n}static Kn(){return new Sn(0)}static Un(){return new Sn(-1)}}/**
|
|
1212
|
+
* @license
|
|
1213
|
+
* Copyright 2020 Google LLC
|
|
1214
|
+
*
|
|
1215
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1216
|
+
* you may not use this file except in compliance with the License.
|
|
1217
|
+
* You may obtain a copy of the License at
|
|
1218
|
+
*
|
|
1219
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1220
|
+
*
|
|
1221
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1222
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1223
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1224
|
+
* See the License for the specific language governing permissions and
|
|
1225
|
+
* limitations under the License.
|
|
1226
|
+
*/const Qu="LruGarbageCollector",i_=1048576;function Xu([n,e],[t,r]){const s=G(n,t);return s===0?G(e,r):s}class o_{constructor(e){this.Hn=e,this.buffer=new le(Xu),this.Jn=0}Yn(){return++this.Jn}Zn(e){const t=[e,this.Yn()];if(this.buffer.size<this.Hn)this.buffer=this.buffer.add(t);else{const r=this.buffer.last();Xu(t,r)<0&&(this.buffer=this.buffer.delete(r).add(t))}}get maxValue(){return this.buffer.last()[0]}}class a_{constructor(e,t,r){this.garbageCollector=e,this.asyncQueue=t,this.localStore=r,this.Xn=null}start(){this.garbageCollector.params.cacheSizeCollectionThreshold!==-1&&this.er(6e4)}stop(){this.Xn&&(this.Xn.cancel(),this.Xn=null)}get started(){return this.Xn!==null}er(e){V(Qu,`Garbage collection scheduled in ${e}ms`),this.Xn=this.asyncQueue.enqueueAfterDelay("lru_garbage_collection",e,async()=>{this.Xn=null;try{await this.localStore.collectGarbage(this.garbageCollector)}catch(t){Tn(t)?V(Qu,"Ignoring IndexedDB error during garbage collection: ",t):await En(t)}await this.er(3e5)})}}class c_{constructor(e,t){this.tr=e,this.params=t}calculateTargetCount(e,t){return this.tr.nr(e).next(r=>Math.floor(t/100*r))}nthSequenceNumber(e,t){if(t===0)return C.resolve(ss.ae);const r=new o_(t);return this.tr.forEachTarget(e,s=>r.Zn(s.sequenceNumber)).next(()=>this.tr.rr(e,s=>r.Zn(s))).next(()=>r.maxValue)}removeTargets(e,t,r){return this.tr.removeTargets(e,t,r)}removeOrphanedDocuments(e,t){return this.tr.removeOrphanedDocuments(e,t)}collect(e,t){return this.params.cacheSizeCollectionThreshold===-1?(V("LruGarbageCollector","Garbage collection skipped; disabled"),C.resolve(Gu)):this.getCacheSize(e).next(r=>r<this.params.cacheSizeCollectionThreshold?(V("LruGarbageCollector",`Garbage collection skipped; Cache size ${r} is lower than threshold ${this.params.cacheSizeCollectionThreshold}`),Gu):this.ir(e,t))}getCacheSize(e){return this.tr.getCacheSize(e)}ir(e,t){let r,s,i,a,c,l,d;const f=Date.now();return this.calculateTargetCount(e,this.params.percentileToCollect).next(m=>(m>this.params.maximumSequenceNumbersToCollect?(V("LruGarbageCollector",`Capping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from ${m}`),s=this.params.maximumSequenceNumbersToCollect):s=m,a=Date.now(),this.nthSequenceNumber(e,s))).next(m=>(r=m,c=Date.now(),this.removeTargets(e,r,t))).next(m=>(i=m,l=Date.now(),this.removeOrphanedDocuments(e,r))).next(m=>(d=Date.now(),_n()<=z.DEBUG&&V("LruGarbageCollector",`LRU Garbage Collection
|
|
1227
|
+
Counted targets in ${a-f}ms
|
|
1228
|
+
Determined least recently used ${s} in `+(c-a)+`ms
|
|
1229
|
+
Removed ${i} targets in `+(l-c)+`ms
|
|
1230
|
+
Removed ${m} documents in `+(d-l)+`ms
|
|
1231
|
+
Total Duration: ${d-f}ms`),C.resolve({didRun:!0,sequenceNumbersCollected:s,targetsRemoved:i,documentsRemoved:m})))}}function u_(n,e){return new c_(n,e)}/**
|
|
1152
1232
|
* @license
|
|
1153
1233
|
* Copyright 2017 Google LLC
|
|
1154
1234
|
*
|
|
@@ -1163,7 +1243,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1163
1243
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1164
1244
|
* See the License for the specific language governing permissions and
|
|
1165
1245
|
* limitations under the License.
|
|
1166
|
-
*/class
|
|
1246
|
+
*/class l_{constructor(){this.changes=new en(e=>e.toString(),(e,t)=>e.isEqual(t)),this.changesApplied=!1}addEntry(e){this.assertNotApplied(),this.changes.set(e.key,e)}removeEntry(e,t){this.assertNotApplied(),this.changes.set(e,Ie.newInvalidDocument(e).setReadTime(t))}getEntry(e,t){this.assertNotApplied();const r=this.changes.get(t);return r!==void 0?C.resolve(r):this.getFromCache(e,t)}getEntries(e,t){return this.getAllFromCache(e,t)}apply(e){return this.assertNotApplied(),this.changesApplied=!0,this.applyChanges(e)}assertNotApplied(){}}/**
|
|
1167
1247
|
* @license
|
|
1168
1248
|
* Copyright 2017 Google LLC
|
|
1169
1249
|
*
|
|
@@ -1193,7 +1273,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1193
1273
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1194
1274
|
* See the License for the specific language governing permissions and
|
|
1195
1275
|
* limitations under the License.
|
|
1196
|
-
*/class
|
|
1276
|
+
*/class h_{constructor(e,t){this.overlayedDocument=e,this.mutatedFields=t}}/**
|
|
1197
1277
|
* @license
|
|
1198
1278
|
* Copyright 2017 Google LLC
|
|
1199
1279
|
*
|
|
@@ -1208,7 +1288,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1208
1288
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1209
1289
|
* See the License for the specific language governing permissions and
|
|
1210
1290
|
* limitations under the License.
|
|
1211
|
-
*/class
|
|
1291
|
+
*/class d_{constructor(e,t,r,s){this.remoteDocumentCache=e,this.mutationQueue=t,this.documentOverlayCache=r,this.indexManager=s}getDocument(e,t){let r=null;return this.documentOverlayCache.getOverlay(e,t).next(s=>(r=s,this.remoteDocumentCache.getEntry(e,t))).next(s=>(r!==null&&gr(r.mutation,s,Fe.empty(),ue.now()),s))}getDocuments(e,t){return this.remoteDocumentCache.getEntries(e,t).next(r=>this.getLocalViewOfDocuments(e,r,W()).next(()=>r))}getLocalViewOfDocuments(e,t,r=W()){const s=tn();return this.populateOverlays(e,s,t).next(()=>this.computeViews(e,t,s,r).next(i=>{let a=dr();return i.forEach((c,l)=>{a=a.insert(c,l.overlayedDocument)}),a}))}getOverlayedDocuments(e,t){const r=tn();return this.populateOverlays(e,r,t).next(()=>this.computeViews(e,t,r,W()))}populateOverlays(e,t,r){const s=[];return r.forEach(i=>{t.has(i)||s.push(i)}),this.documentOverlayCache.getOverlays(e,s).next(i=>{i.forEach((a,c)=>{t.set(a,c)})})}computeViews(e,t,r,s){let i=pt();const a=fr(),c=function(){return fr()}();return t.forEach((l,d)=>{const f=r.get(d.key);s.has(d.key)&&(f===void 0||f.mutation instanceof Vt)?i=i.insert(d.key,d):f!==void 0?(a.set(d.key,f.mutation.getFieldMask()),gr(f.mutation,d,f.mutation.getFieldMask(),ue.now())):a.set(d.key,Fe.empty())}),this.recalculateAndSaveOverlays(e,i).next(l=>(l.forEach((d,f)=>a.set(d,f)),t.forEach((d,f)=>{var m;return c.set(d,new h_(f,(m=a.get(d))!==null&&m!==void 0?m:null))}),c))}recalculateAndSaveOverlays(e,t){const r=fr();let s=new re((a,c)=>a-c),i=W();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(e,t).next(a=>{for(const c of a)c.keys().forEach(l=>{const d=t.get(l);if(d===null)return;let f=r.get(l)||Fe.empty();f=c.applyToLocalView(d,f),r.set(l,f);const m=(s.get(c.batchId)||W()).add(l);s=s.insert(c.batchId,m)})}).next(()=>{const a=[],c=s.getReverseIterator();for(;c.hasNext();){const l=c.getNext(),d=l.key,f=l.value,m=vu();f.forEach(v=>{if(!i.has(v)){const R=bu(t.get(v),r.get(v));R!==null&&m.set(v,R),i=i.add(v)}}),a.push(this.documentOverlayCache.saveOverlays(e,d,m))}return C.waitFor(a)}).next(()=>r)}recalculateAndSaveOverlaysForDocumentKeys(e,t){return this.remoteDocumentCache.getEntries(e,t).next(r=>this.recalculateAndSaveOverlays(e,r))}getDocumentsMatchingQuery(e,t,r,s){return function(a){return L.isDocumentKey(a.path)&&a.collectionGroup===null&&a.filters.length===0}(t)?this.getDocumentsMatchingDocumentQuery(e,t.path):so(t)?this.getDocumentsMatchingCollectionGroupQuery(e,t,r,s):this.getDocumentsMatchingCollectionQuery(e,t,r,s)}getNextDocuments(e,t,r,s){return this.remoteDocumentCache.getAllFromCollectionGroup(e,t,r,s).next(i=>{const a=s-i.size>0?this.documentOverlayCache.getOverlaysForCollectionGroup(e,t,r.largestBatchId,s-i.size):C.resolve(tn());let c=or,l=i;return a.next(d=>C.forEach(d,(f,m)=>(c<m.largestBatchId&&(c=m.largestBatchId),i.get(f)?C.resolve():this.remoteDocumentCache.getEntry(e,f).next(v=>{l=l.insert(f,v)}))).next(()=>this.populateOverlays(e,d,i)).next(()=>this.computeViews(e,l,d,W())).next(f=>({batchId:c,changes:yu(f)})))})}getDocumentsMatchingDocumentQuery(e,t){return this.getDocument(e,new L(t)).next(r=>{let s=dr();return r.isFoundDocument()&&(s=s.insert(r.key,r)),s})}getDocumentsMatchingCollectionGroupQuery(e,t,r,s){const i=t.collectionGroup;let a=dr();return this.indexManager.getCollectionParents(e,i).next(c=>C.forEach(c,l=>{const d=function(m,v){return new Zt(v,null,m.explicitOrderBy.slice(),m.filters.slice(),m.limit,m.limitType,m.startAt,m.endAt)}(t,l.child(i));return this.getDocumentsMatchingCollectionQuery(e,d,r,s).next(f=>{f.forEach((m,v)=>{a=a.insert(m,v)})})}).next(()=>a))}getDocumentsMatchingCollectionQuery(e,t,r,s){let i;return this.documentOverlayCache.getOverlaysForCollection(e,t.path,r.largestBatchId).next(a=>(i=a,this.remoteDocumentCache.getDocumentsMatchingQuery(e,t,r,i,s))).next(a=>{i.forEach((l,d)=>{const f=d.getKey();a.get(f)===null&&(a=a.insert(f,Ie.newInvalidDocument(f)))});let c=dr();return a.forEach((l,d)=>{const f=i.get(l);f!==void 0&&gr(f.mutation,d,Fe.empty(),ue.now()),vs(t,d)&&(c=c.insert(l,d))}),c})}}/**
|
|
1212
1292
|
* @license
|
|
1213
1293
|
* Copyright 2020 Google LLC
|
|
1214
1294
|
*
|
|
@@ -1223,7 +1303,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1223
1303
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1224
1304
|
* See the License for the specific language governing permissions and
|
|
1225
1305
|
* limitations under the License.
|
|
1226
|
-
*/class
|
|
1306
|
+
*/class f_{constructor(e){this.serializer=e,this.dr=new Map,this.Ar=new Map}getBundleMetadata(e,t){return C.resolve(this.dr.get(t))}saveBundleMetadata(e,t){return this.dr.set(t.id,function(s){return{id:s.id,version:s.version,createTime:rt(s.createTime)}}(t)),C.resolve()}getNamedQuery(e,t){return C.resolve(this.Ar.get(t))}saveNamedQuery(e,t){return this.Ar.set(t.name,function(s){return{name:s.name,query:n_(s.bundledQuery),readTime:rt(s.readTime)}}(t)),C.resolve()}}/**
|
|
1227
1307
|
* @license
|
|
1228
1308
|
* Copyright 2022 Google LLC
|
|
1229
1309
|
*
|
|
@@ -1238,7 +1318,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1238
1318
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1239
1319
|
* See the License for the specific language governing permissions and
|
|
1240
1320
|
* limitations under the License.
|
|
1241
|
-
*/class
|
|
1321
|
+
*/class p_{constructor(){this.overlays=new re(L.comparator),this.Rr=new Map}getOverlay(e,t){return C.resolve(this.overlays.get(t))}getOverlays(e,t){const r=tn();return C.forEach(t,s=>this.getOverlay(e,s).next(i=>{i!==null&&r.set(s,i)})).next(()=>r)}saveOverlays(e,t,r){return r.forEach((s,i)=>{this.Et(e,t,i)}),C.resolve()}removeOverlaysForBatchId(e,t,r){const s=this.Rr.get(r);return s!==void 0&&(s.forEach(i=>this.overlays=this.overlays.remove(i)),this.Rr.delete(r)),C.resolve()}getOverlaysForCollection(e,t,r){const s=tn(),i=t.length+1,a=new L(t.child("")),c=this.overlays.getIteratorFrom(a);for(;c.hasNext();){const l=c.getNext().value,d=l.getKey();if(!t.isPrefixOf(d.path))break;d.path.length===i&&l.largestBatchId>r&&s.set(l.getKey(),l)}return C.resolve(s)}getOverlaysForCollectionGroup(e,t,r,s){let i=new re((d,f)=>d-f);const a=this.overlays.getIterator();for(;a.hasNext();){const d=a.getNext().value;if(d.getKey().getCollectionGroup()===t&&d.largestBatchId>r){let f=i.get(d.largestBatchId);f===null&&(f=tn(),i=i.insert(d.largestBatchId,f)),f.set(d.getKey(),d)}}const c=tn(),l=i.getIterator();for(;l.hasNext()&&(l.getNext().value.forEach((d,f)=>c.set(d,f)),!(c.size()>=s)););return C.resolve(c)}Et(e,t,r){const s=this.overlays.get(r.key);if(s!==null){const a=this.Rr.get(s.largestBatchId).delete(r.key);this.Rr.set(s.largestBatchId,a)}this.overlays=this.overlays.insert(r.key,new Ng(t,r));let i=this.Rr.get(t);i===void 0&&(i=W(),this.Rr.set(t,i)),this.Rr.set(t,i.add(r.key))}}/**
|
|
1242
1322
|
* @license
|
|
1243
1323
|
* Copyright 2024 Google LLC
|
|
1244
1324
|
*
|
|
@@ -1253,7 +1333,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1253
1333
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1254
1334
|
* See the License for the specific language governing permissions and
|
|
1255
1335
|
* limitations under the License.
|
|
1256
|
-
*/class
|
|
1336
|
+
*/class m_{constructor(){this.sessionToken=_e.EMPTY_BYTE_STRING}getSessionToken(e){return C.resolve(this.sessionToken)}setSessionToken(e,t){return this.sessionToken=t,C.resolve()}}/**
|
|
1257
1337
|
* @license
|
|
1258
1338
|
* Copyright 2017 Google LLC
|
|
1259
1339
|
*
|
|
@@ -1268,7 +1348,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1268
1348
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1269
1349
|
* See the License for the specific language governing permissions and
|
|
1270
1350
|
* limitations under the License.
|
|
1271
|
-
*/class
|
|
1351
|
+
*/class go{constructor(){this.Vr=new le(de.mr),this.gr=new le(de.pr)}isEmpty(){return this.Vr.isEmpty()}addReference(e,t){const r=new de(e,t);this.Vr=this.Vr.add(r),this.gr=this.gr.add(r)}yr(e,t){e.forEach(r=>this.addReference(r,t))}removeReference(e,t){this.wr(new de(e,t))}br(e,t){e.forEach(r=>this.removeReference(r,t))}Sr(e){const t=new L(new ee([])),r=new de(t,e),s=new de(t,e+1),i=[];return this.gr.forEachInRange([r,s],a=>{this.wr(a),i.push(a.key)}),i}Dr(){this.Vr.forEach(e=>this.wr(e))}wr(e){this.Vr=this.Vr.delete(e),this.gr=this.gr.delete(e)}vr(e){const t=new L(new ee([])),r=new de(t,e),s=new de(t,e+1);let i=W();return this.gr.forEachInRange([r,s],a=>{i=i.add(a.key)}),i}containsKey(e){const t=new de(e,0),r=this.Vr.firstAfterOrEqual(t);return r!==null&&e.isEqual(r.key)}}class de{constructor(e,t){this.key=e,this.Cr=t}static mr(e,t){return L.comparator(e.key,t.key)||G(e.Cr,t.Cr)}static pr(e,t){return G(e.Cr,t.Cr)||L.comparator(e.key,t.key)}}/**
|
|
1272
1352
|
* @license
|
|
1273
1353
|
* Copyright 2017 Google LLC
|
|
1274
1354
|
*
|
|
@@ -1283,7 +1363,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1283
1363
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1284
1364
|
* See the License for the specific language governing permissions and
|
|
1285
1365
|
* limitations under the License.
|
|
1286
|
-
*/class
|
|
1366
|
+
*/class g_{constructor(e,t){this.indexManager=e,this.referenceDelegate=t,this.mutationQueue=[],this.Fr=1,this.Mr=new le(de.mr)}checkEmpty(e){return C.resolve(this.mutationQueue.length===0)}addMutationBatch(e,t,r,s){const i=this.Fr;this.Fr++,this.mutationQueue.length>0&&this.mutationQueue[this.mutationQueue.length-1];const a=new kg(i,t,r,s);this.mutationQueue.push(a);for(const c of s)this.Mr=this.Mr.add(new de(c.key,i)),this.indexManager.addToCollectionParentIndex(e,c.key.path.popLast());return C.resolve(a)}lookupMutationBatch(e,t){return C.resolve(this.Or(t))}getNextMutationBatchAfterBatchId(e,t){const r=t+1,s=this.Nr(r),i=s<0?0:s;return C.resolve(this.mutationQueue.length>i?this.mutationQueue[i]:null)}getHighestUnacknowledgedBatchId(){return C.resolve(this.mutationQueue.length===0?Xi:this.Fr-1)}getAllMutationBatches(e){return C.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(e,t){const r=new de(t,0),s=new de(t,Number.POSITIVE_INFINITY),i=[];return this.Mr.forEachInRange([r,s],a=>{const c=this.Or(a.Cr);i.push(c)}),C.resolve(i)}getAllMutationBatchesAffectingDocumentKeys(e,t){let r=new le(G);return t.forEach(s=>{const i=new de(s,0),a=new de(s,Number.POSITIVE_INFINITY);this.Mr.forEachInRange([i,a],c=>{r=r.add(c.Cr)})}),C.resolve(this.Br(r))}getAllMutationBatchesAffectingQuery(e,t){const r=t.path,s=r.length+1;let i=r;L.isDocumentKey(i)||(i=i.child(""));const a=new de(new L(i),0);let c=new le(G);return this.Mr.forEachWhile(l=>{const d=l.key.path;return!!r.isPrefixOf(d)&&(d.length===s&&(c=c.add(l.Cr)),!0)},a),C.resolve(this.Br(c))}Br(e){const t=[];return e.forEach(r=>{const s=this.Or(r);s!==null&&t.push(s)}),t}removeMutationBatch(e,t){Y(this.Lr(t.batchId,"removed")===0),this.mutationQueue.shift();let r=this.Mr;return C.forEach(t.mutations,s=>{const i=new de(s.key,t.batchId);return r=r.delete(i),this.referenceDelegate.markPotentiallyOrphaned(e,s.key)}).next(()=>{this.Mr=r})}qn(e){}containsKey(e,t){const r=new de(t,0),s=this.Mr.firstAfterOrEqual(r);return C.resolve(t.isEqual(s&&s.key))}performConsistencyCheck(e){return this.mutationQueue.length,C.resolve()}Lr(e,t){return this.Nr(e)}Nr(e){return this.mutationQueue.length===0?0:e-this.mutationQueue[0].batchId}Or(e){const t=this.Nr(e);return t<0||t>=this.mutationQueue.length?null:this.mutationQueue[t]}}/**
|
|
1287
1367
|
* @license
|
|
1288
1368
|
* Copyright 2017 Google LLC
|
|
1289
1369
|
*
|
|
@@ -1298,7 +1378,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1298
1378
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1299
1379
|
* See the License for the specific language governing permissions and
|
|
1300
1380
|
* limitations under the License.
|
|
1301
|
-
*/class
|
|
1381
|
+
*/class __{constructor(e){this.kr=e,this.docs=function(){return new re(L.comparator)}(),this.size=0}setIndexManager(e){this.indexManager=e}addEntry(e,t){const r=t.key,s=this.docs.get(r),i=s?s.size:0,a=this.kr(t);return this.docs=this.docs.insert(r,{document:t.mutableCopy(),size:a}),this.size+=a-i,this.indexManager.addToCollectionParentIndex(e,r.path.popLast())}removeEntry(e){const t=this.docs.get(e);t&&(this.docs=this.docs.remove(e),this.size-=t.size)}getEntry(e,t){const r=this.docs.get(t);return C.resolve(r?r.document.mutableCopy():Ie.newInvalidDocument(t))}getEntries(e,t){let r=pt();return t.forEach(s=>{const i=this.docs.get(s);r=r.insert(s,i?i.document.mutableCopy():Ie.newInvalidDocument(s))}),C.resolve(r)}getDocumentsMatchingQuery(e,t,r,s){let i=pt();const a=t.path,c=new L(a.child("__id-9223372036854775808__")),l=this.docs.getIteratorFrom(c);for(;l.hasNext();){const{key:d,value:{document:f}}=l.getNext();if(!a.isPrefixOf(d.path))break;d.path.length>a.length+1||Hm($m(f),r)<=0||(s.has(f.key)||vs(t,f))&&(i=i.insert(f.key,f.mutableCopy()))}return C.resolve(i)}getAllFromCollectionGroup(e,t,r,s){F()}qr(e,t){return C.forEach(this.docs,r=>t(r))}newChangeBuffer(e){return new y_(this)}getSize(e){return C.resolve(this.size)}}class y_ extends l_{constructor(e){super(),this.Ir=e}applyChanges(e){const t=[];return this.changes.forEach((r,s)=>{s.isValidDocument()?t.push(this.Ir.addEntry(e,s)):this.Ir.removeEntry(r)}),C.waitFor(t)}getFromCache(e,t){return this.Ir.getEntry(e,t)}getAllFromCache(e,t){return this.Ir.getEntries(e,t)}}/**
|
|
1302
1382
|
* @license
|
|
1303
1383
|
* Copyright 2017 Google LLC
|
|
1304
1384
|
*
|
|
@@ -1313,7 +1393,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1313
1393
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1314
1394
|
* See the License for the specific language governing permissions and
|
|
1315
1395
|
* limitations under the License.
|
|
1316
|
-
*/class
|
|
1396
|
+
*/class v_{constructor(e){this.persistence=e,this.Qr=new en(t=>to(t),no),this.lastRemoteSnapshotVersion=j.min(),this.highestTargetId=0,this.$r=0,this.Kr=new go,this.targetCount=0,this.Ur=Sn.Kn()}forEachTarget(e,t){return this.Qr.forEach((r,s)=>t(s)),C.resolve()}getLastRemoteSnapshotVersion(e){return C.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(e){return C.resolve(this.$r)}allocateTargetId(e){return this.highestTargetId=this.Ur.next(),C.resolve(this.highestTargetId)}setTargetsMetadata(e,t,r){return r&&(this.lastRemoteSnapshotVersion=r),t>this.$r&&(this.$r=t),C.resolve()}zn(e){this.Qr.set(e.target,e);const t=e.targetId;t>this.highestTargetId&&(this.Ur=new Sn(t),this.highestTargetId=t),e.sequenceNumber>this.$r&&(this.$r=e.sequenceNumber)}addTargetData(e,t){return this.zn(t),this.targetCount+=1,C.resolve()}updateTargetData(e,t){return this.zn(t),C.resolve()}removeTargetData(e,t){return this.Qr.delete(t.target),this.Kr.Sr(t.targetId),this.targetCount-=1,C.resolve()}removeTargets(e,t,r){let s=0;const i=[];return this.Qr.forEach((a,c)=>{c.sequenceNumber<=t&&r.get(c.targetId)===null&&(this.Qr.delete(a),i.push(this.removeMatchingKeysForTargetId(e,c.targetId)),s++)}),C.waitFor(i).next(()=>s)}getTargetCount(e){return C.resolve(this.targetCount)}getTargetData(e,t){const r=this.Qr.get(t)||null;return C.resolve(r)}addMatchingKeys(e,t,r){return this.Kr.yr(t,r),C.resolve()}removeMatchingKeys(e,t,r){this.Kr.br(t,r);const s=this.persistence.referenceDelegate,i=[];return s&&t.forEach(a=>{i.push(s.markPotentiallyOrphaned(e,a))}),C.waitFor(i)}removeMatchingKeysForTargetId(e,t){return this.Kr.Sr(t),C.resolve()}getMatchingKeysForTargetId(e,t){const r=this.Kr.vr(t);return C.resolve(r)}containsKey(e,t){return C.resolve(this.Kr.containsKey(t))}}/**
|
|
1317
1397
|
* @license
|
|
1318
1398
|
* Copyright 2017 Google LLC
|
|
1319
1399
|
*
|
|
@@ -1328,7 +1408,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1328
1408
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1329
1409
|
* See the License for the specific language governing permissions and
|
|
1330
1410
|
* limitations under the License.
|
|
1331
|
-
*/class
|
|
1411
|
+
*/class Yu{constructor(e,t){this.Wr={},this.overlays={},this.Gr=new ss(0),this.zr=!1,this.zr=!0,this.jr=new m_,this.referenceDelegate=e(this),this.Hr=new v_(this),this.indexManager=new r_,this.remoteDocumentCache=function(s){return new __(s)}(r=>this.referenceDelegate.Jr(r)),this.serializer=new t_(t),this.Yr=new f_(this.serializer)}start(){return Promise.resolve()}shutdown(){return this.zr=!1,Promise.resolve()}get started(){return this.zr}setDatabaseDeletedListener(){}setNetworkEnabled(){}getIndexManager(e){return this.indexManager}getDocumentOverlayCache(e){let t=this.overlays[e.toKey()];return t||(t=new p_,this.overlays[e.toKey()]=t),t}getMutationQueue(e,t){let r=this.Wr[e.toKey()];return r||(r=new g_(t,this.referenceDelegate),this.Wr[e.toKey()]=r),r}getGlobalsCache(){return this.jr}getTargetCache(){return this.Hr}getRemoteDocumentCache(){return this.remoteDocumentCache}getBundleCache(){return this.Yr}runTransaction(e,t,r){V("MemoryPersistence","Starting transaction:",e);const s=new E_(this.Gr.next());return this.referenceDelegate.Zr(),r(s).next(i=>this.referenceDelegate.Xr(s).next(()=>i)).toPromise().then(i=>(s.raiseOnCommittedEvent(),i))}ei(e,t){return C.or(Object.values(this.Wr).map(r=>()=>r.containsKey(e,t)))}}class E_ extends Wm{constructor(e){super(),this.currentSequenceNumber=e}}class _o{constructor(e){this.persistence=e,this.ti=new go,this.ni=null}static ri(e){return new _o(e)}get ii(){if(this.ni)return this.ni;throw F()}addReference(e,t,r){return this.ti.addReference(r,t),this.ii.delete(r.toString()),C.resolve()}removeReference(e,t,r){return this.ti.removeReference(r,t),this.ii.add(r.toString()),C.resolve()}markPotentiallyOrphaned(e,t){return this.ii.add(t.toString()),C.resolve()}removeTarget(e,t){this.ti.Sr(t.targetId).forEach(s=>this.ii.add(s.toString()));const r=this.persistence.getTargetCache();return r.getMatchingKeysForTargetId(e,t.targetId).next(s=>{s.forEach(i=>this.ii.add(i.toString()))}).next(()=>r.removeTargetData(e,t))}Zr(){this.ni=new Set}Xr(e){const t=this.persistence.getRemoteDocumentCache().newChangeBuffer();return C.forEach(this.ii,r=>{const s=L.fromPath(r);return this.si(e,s).next(i=>{i||t.removeEntry(s,j.min())})}).next(()=>(this.ni=null,t.apply(e)))}updateLimboDocument(e,t){return this.si(e,t).next(r=>{r?this.ii.delete(t.toString()):this.ii.add(t.toString())})}Jr(e){return 0}si(e,t){return C.or([()=>C.resolve(this.ti.containsKey(t)),()=>this.persistence.getTargetCache().containsKey(e,t),()=>this.persistence.ei(e,t)])}}class ks{constructor(e,t){this.persistence=e,this.oi=new en(r=>Qm(r.path),(r,s)=>r.isEqual(s)),this.garbageCollector=u_(this,t)}static ri(e,t){return new ks(e,t)}Zr(){}Xr(e){return C.resolve()}forEachTarget(e,t){return this.persistence.getTargetCache().forEachTarget(e,t)}nr(e){const t=this.sr(e);return this.persistence.getTargetCache().getTargetCount(e).next(r=>t.next(s=>r+s))}sr(e){let t=0;return this.rr(e,r=>{t++}).next(()=>t)}rr(e,t){return C.forEach(this.oi,(r,s)=>this.ar(e,r,s).next(i=>i?C.resolve():t(s)))}removeTargets(e,t,r){return this.persistence.getTargetCache().removeTargets(e,t,r)}removeOrphanedDocuments(e,t){let r=0;const s=this.persistence.getRemoteDocumentCache(),i=s.newChangeBuffer();return s.qr(e,a=>this.ar(e,a,t).next(c=>{c||(r++,i.removeEntry(a,j.min()))})).next(()=>i.apply(e)).next(()=>r)}markPotentiallyOrphaned(e,t){return this.oi.set(t,e.currentSequenceNumber),C.resolve()}removeTarget(e,t){const r=t.withSequenceNumber(e.currentSequenceNumber);return this.persistence.getTargetCache().updateTargetData(e,r)}addReference(e,t,r){return this.oi.set(r,e.currentSequenceNumber),C.resolve()}removeReference(e,t,r){return this.oi.set(r,e.currentSequenceNumber),C.resolve()}updateLimboDocument(e,t){return this.oi.set(t,e.currentSequenceNumber),C.resolve()}Jr(e){let t=e.key.toString().length;return e.isFoundDocument()&&(t+=fs(e.data.value)),t}ar(e,t,r){return C.or([()=>this.persistence.ei(e,t),()=>this.persistence.getTargetCache().containsKey(e,t),()=>{const s=this.oi.get(t);return C.resolve(s!==void 0&&s>r)}])}getCacheSize(e){return this.persistence.getRemoteDocumentCache().getSize(e)}}/**
|
|
1332
1412
|
* @license
|
|
1333
1413
|
* Copyright 2017 Google LLC
|
|
1334
1414
|
*
|
|
@@ -1343,7 +1423,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1343
1423
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1344
1424
|
* See the License for the specific language governing permissions and
|
|
1345
1425
|
* limitations under the License.
|
|
1346
|
-
*/class
|
|
1426
|
+
*/class yo{constructor(e,t,r,s){this.targetId=e,this.fromCache=t,this.Hi=r,this.Ji=s}static Yi(e,t){let r=W(),s=W();for(const i of t.docChanges)switch(i.type){case 0:r=r.add(i.doc.key);break;case 1:s=s.add(i.doc.key)}return new yo(e,t.fromCache,r,s)}}/**
|
|
1347
1427
|
* @license
|
|
1348
1428
|
* Copyright 2023 Google LLC
|
|
1349
1429
|
*
|
|
@@ -1358,7 +1438,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1358
1438
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1359
1439
|
* See the License for the specific language governing permissions and
|
|
1360
1440
|
* limitations under the License.
|
|
1361
|
-
*/class
|
|
1441
|
+
*/class T_{constructor(){this._documentReadCount=0}get documentReadCount(){return this._documentReadCount}incrementDocumentReadCount(e){this._documentReadCount+=e}}/**
|
|
1362
1442
|
* @license
|
|
1363
1443
|
* Copyright 2019 Google LLC
|
|
1364
1444
|
*
|
|
@@ -1373,7 +1453,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1373
1453
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1374
1454
|
* See the License for the specific language governing permissions and
|
|
1375
1455
|
* limitations under the License.
|
|
1376
|
-
*/class
|
|
1456
|
+
*/class w_{constructor(){this.Zi=!1,this.Xi=!1,this.es=100,this.ts=function(){return gp()?8:Gm(Ee())>0?6:4}()}initialize(e,t){this.ns=e,this.indexManager=t,this.Zi=!0}getDocumentsMatchingQuery(e,t,r,s){const i={result:null};return this.rs(e,t).next(a=>{i.result=a}).next(()=>{if(!i.result)return this.ss(e,t,s,r).next(a=>{i.result=a})}).next(()=>{if(i.result)return;const a=new T_;return this._s(e,t,a).next(c=>{if(i.result=c,this.Xi)return this.us(e,t,a,c.size)})}).next(()=>i.result)}us(e,t,r,s){return r.documentReadCount<this.es?(_n()<=z.DEBUG&&V("QueryEngine","SDK will not create cache indexes for query:",bn(t),"since it only creates cache indexes for collection contains","more than or equal to",this.es,"documents"),C.resolve()):(_n()<=z.DEBUG&&V("QueryEngine","Query:",bn(t),"scans",r.documentReadCount,"local documents and returns",s,"documents as results."),r.documentReadCount>this.ts*s?(_n()<=z.DEBUG&&V("QueryEngine","The SDK decides to create cache indexes for query:",bn(t),"as using cache indexes may help improve performance."),this.indexManager.createTargetIndexes(e,nt(t))):C.resolve())}rs(e,t){if(fu(t))return C.resolve(null);let r=nt(t);return this.indexManager.getIndexType(e,r).next(s=>s===0?null:(t.limit!==null&&s===1&&(t=_s(t,null,"F"),r=nt(t)),this.indexManager.getDocumentsMatchingTarget(e,r).next(i=>{const a=W(...i);return this.ns.getDocuments(e,a).next(c=>this.indexManager.getMinOffset(e,r).next(l=>{const d=this.cs(t,c);return this.ls(t,d,a,l.readTime)?this.rs(e,_s(t,null,"F")):this.hs(e,d,t,l)}))})))}ss(e,t,r,s){return fu(t)||s.isEqual(j.min())?C.resolve(null):this.ns.getDocuments(e,r).next(i=>{const a=this.cs(t,i);return this.ls(t,a,r,s)?C.resolve(null):(_n()<=z.DEBUG&&V("QueryEngine","Re-using previous result from %s to execute query: %s",s.toString(),bn(t)),this.hs(e,a,t,qm(s,or)).next(c=>c))})}cs(e,t){let r=new le(gu(e));return t.forEach((s,i)=>{vs(e,i)&&(r=r.add(i))}),r}ls(e,t,r,s){if(e.limit===null)return!1;if(r.size!==t.size)return!0;const i=e.limitType==="F"?t.last():t.first();return!!i&&(i.hasPendingWrites||i.version.compareTo(s)>0)}_s(e,t,r){return _n()<=z.DEBUG&&V("QueryEngine","Using full collection scan to execute query:",bn(t)),this.ns.getDocumentsMatchingQuery(e,t,Ct.min(),r)}hs(e,t,r,s){return this.ns.getDocumentsMatchingQuery(e,r,s).next(i=>(t.forEach(a=>{i=i.insert(a.key,a)}),i))}}/**
|
|
1377
1457
|
* @license
|
|
1378
1458
|
* Copyright 2020 Google LLC
|
|
1379
1459
|
*
|
|
@@ -1388,7 +1468,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1388
1468
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1389
1469
|
* See the License for the specific language governing permissions and
|
|
1390
1470
|
* limitations under the License.
|
|
1391
|
-
*/class
|
|
1471
|
+
*/const vo="LocalStore",I_=3e8;class A_{constructor(e,t,r,s){this.persistence=e,this.Ps=t,this.serializer=s,this.Ts=new re(G),this.Is=new en(i=>to(i),no),this.Es=new Map,this.ds=e.getRemoteDocumentCache(),this.Hr=e.getTargetCache(),this.Yr=e.getBundleCache(),this.As(r)}As(e){this.documentOverlayCache=this.persistence.getDocumentOverlayCache(e),this.indexManager=this.persistence.getIndexManager(e),this.mutationQueue=this.persistence.getMutationQueue(e,this.indexManager),this.localDocuments=new d_(this.ds,this.mutationQueue,this.documentOverlayCache,this.indexManager),this.ds.setIndexManager(this.indexManager),this.Ps.initialize(this.localDocuments,this.indexManager)}collectGarbage(e){return this.persistence.runTransaction("Collect garbage","readwrite-primary",t=>e.collect(t,this.Ts))}}function R_(n,e,t,r){return new A_(n,e,t,r)}async function Ju(n,e){const t=B(n);return await t.persistence.runTransaction("Handle user change","readonly",r=>{let s;return t.mutationQueue.getAllMutationBatches(r).next(i=>(s=i,t.As(e),t.mutationQueue.getAllMutationBatches(r))).next(i=>{const a=[],c=[];let l=W();for(const d of s){a.push(d.batchId);for(const f of d.mutations)l=l.add(f.key)}for(const d of i){c.push(d.batchId);for(const f of d.mutations)l=l.add(f.key)}return t.localDocuments.getDocuments(r,l).next(d=>({Rs:d,removedBatchIds:a,addedBatchIds:c}))})})}function b_(n,e){const t=B(n);return t.persistence.runTransaction("Acknowledge batch","readwrite-primary",r=>{const s=e.batch.keys(),i=t.ds.newChangeBuffer({trackRemovals:!0});return function(c,l,d,f){const m=d.batch,v=m.keys();let R=C.resolve();return v.forEach(S=>{R=R.next(()=>f.getEntry(l,S)).next(N=>{const k=d.docVersions.get(S);Y(k!==null),N.version.compareTo(k)<0&&(m.applyToRemoteDocument(N,d),N.isValidDocument()&&(N.setReadTime(d.commitVersion),f.addEntry(N)))})}),R.next(()=>c.mutationQueue.removeMutationBatch(l,m))}(t,r,e,i).next(()=>i.apply(r)).next(()=>t.mutationQueue.performConsistencyCheck(r)).next(()=>t.documentOverlayCache.removeOverlaysForBatchId(r,s,e.batch.batchId)).next(()=>t.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(r,function(c){let l=W();for(let d=0;d<c.mutationResults.length;++d)c.mutationResults[d].transformResults.length>0&&(l=l.add(c.batch.mutations[d].key));return l}(e))).next(()=>t.localDocuments.getDocuments(r,s))})}function Zu(n){const e=B(n);return e.persistence.runTransaction("Get last remote snapshot version","readonly",t=>e.Hr.getLastRemoteSnapshotVersion(t))}function P_(n,e){const t=B(n),r=e.snapshotVersion;let s=t.Ts;return t.persistence.runTransaction("Apply remote event","readwrite-primary",i=>{const a=t.ds.newChangeBuffer({trackRemovals:!0});s=t.Ts;const c=[];e.targetChanges.forEach((f,m)=>{const v=s.get(m);if(!v)return;c.push(t.Hr.removeMatchingKeys(i,f.removedDocuments,m).next(()=>t.Hr.addMatchingKeys(i,f.addedDocuments,m)));let R=v.withSequenceNumber(i.currentSequenceNumber);e.targetMismatches.get(m)!==null?R=R.withResumeToken(_e.EMPTY_BYTE_STRING,j.min()).withLastLimboFreeSnapshotVersion(j.min()):f.resumeToken.approximateByteSize()>0&&(R=R.withResumeToken(f.resumeToken,r)),s=s.insert(m,R),function(N,k,U){return N.resumeToken.approximateByteSize()===0||k.snapshotVersion.toMicroseconds()-N.snapshotVersion.toMicroseconds()>=I_?!0:U.addedDocuments.size+U.modifiedDocuments.size+U.removedDocuments.size>0}(v,R,f)&&c.push(t.Hr.updateTargetData(i,R))});let l=pt(),d=W();if(e.documentUpdates.forEach(f=>{e.resolvedLimboDocuments.has(f)&&c.push(t.persistence.referenceDelegate.updateLimboDocument(i,f))}),c.push(S_(i,a,e.documentUpdates).next(f=>{l=f.Vs,d=f.fs})),!r.isEqual(j.min())){const f=t.Hr.getLastRemoteSnapshotVersion(i).next(m=>t.Hr.setTargetsMetadata(i,i.currentSequenceNumber,r));c.push(f)}return C.waitFor(c).next(()=>a.apply(i)).next(()=>t.localDocuments.getLocalViewOfDocuments(i,l,d)).next(()=>l)}).then(i=>(t.Ts=s,i))}function S_(n,e,t){let r=W(),s=W();return t.forEach(i=>r=r.add(i)),e.getEntries(n,r).next(i=>{let a=pt();return t.forEach((c,l)=>{const d=i.get(c);l.isFoundDocument()!==d.isFoundDocument()&&(s=s.add(c)),l.isNoDocument()&&l.version.isEqual(j.min())?(e.removeEntry(c,l.readTime),a=a.insert(c,l)):!d.isValidDocument()||l.version.compareTo(d.version)>0||l.version.compareTo(d.version)===0&&d.hasPendingWrites?(e.addEntry(l),a=a.insert(c,l)):V(vo,"Ignoring outdated watch update for ",c,". Current version:",d.version," Watch version:",l.version)}),{Vs:a,fs:s}})}function C_(n,e){const t=B(n);return t.persistence.runTransaction("Get next mutation batch","readonly",r=>(e===void 0&&(e=Xi),t.mutationQueue.getNextMutationBatchAfterBatchId(r,e)))}function k_(n,e){const t=B(n);return t.persistence.runTransaction("Allocate target","readwrite",r=>{let s;return t.Hr.getTargetData(r,e).next(i=>i?(s=i,C.resolve(s)):t.Hr.allocateTargetId(r).next(a=>(s=new Mt(e,a,"TargetPurposeListen",r.currentSequenceNumber),t.Hr.addTargetData(r,s).next(()=>s))))}).then(r=>{const s=t.Ts.get(r.targetId);return(s===null||r.snapshotVersion.compareTo(s.snapshotVersion)>0)&&(t.Ts=t.Ts.insert(r.targetId,r),t.Is.set(e,r.targetId)),r})}async function Eo(n,e,t){const r=B(n),s=r.Ts.get(e),i=t?"readwrite":"readwrite-primary";try{t||await r.persistence.runTransaction("Release target",i,a=>r.persistence.referenceDelegate.removeTarget(a,s))}catch(a){if(!Tn(a))throw a;V(vo,`Failed to update sequence numbers for target ${e}: ${a}`)}r.Ts=r.Ts.remove(e),r.Is.delete(s.target)}function el(n,e,t){const r=B(n);let s=j.min(),i=W();return r.persistence.runTransaction("Execute query","readwrite",a=>function(l,d,f){const m=B(l),v=m.Is.get(f);return v!==void 0?C.resolve(m.Ts.get(v)):m.Hr.getTargetData(d,f)}(r,a,nt(e)).next(c=>{if(c)return s=c.lastLimboFreeSnapshotVersion,r.Hr.getMatchingKeysForTargetId(a,c.targetId).next(l=>{i=l})}).next(()=>r.Ps.getDocumentsMatchingQuery(a,e,t?s:j.min(),t?i:W())).next(c=>(N_(r,mg(e),c),{documents:c,gs:i})))}function N_(n,e,t){let r=n.Es.get(e)||j.min();t.forEach((s,i)=>{i.readTime.compareTo(r)>0&&(r=i.readTime)}),n.Es.set(e,r)}class tl{constructor(){this.activeTargetIds=Tg()}Ds(e){this.activeTargetIds=this.activeTargetIds.add(e)}vs(e){this.activeTargetIds=this.activeTargetIds.delete(e)}Ss(){const e={activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()};return JSON.stringify(e)}}class D_{constructor(){this.ho=new tl,this.Po={},this.onlineStateHandler=null,this.sequenceNumberHandler=null}addPendingMutation(e){}updateMutationState(e,t,r){}addLocalQueryTarget(e,t=!0){return t&&this.ho.Ds(e),this.Po[e]||"not-current"}updateQueryState(e,t,r){this.Po[e]=t}removeLocalQueryTarget(e){this.ho.vs(e)}isLocalQueryTarget(e){return this.ho.activeTargetIds.has(e)}clearQueryState(e){delete this.Po[e]}getAllActiveQueryTargets(){return this.ho.activeTargetIds}isActiveQueryTarget(e){return this.ho.activeTargetIds.has(e)}start(){return this.ho=new tl,Promise.resolve()}handleUserChange(e,t,r){}setOnlineState(e){}shutdown(){}writeSequenceNumber(e){}notifyBundleLoaded(e){}}/**
|
|
1392
1472
|
* @license
|
|
1393
1473
|
* Copyright 2019 Google LLC
|
|
1394
1474
|
*
|
|
@@ -1403,7 +1483,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1403
1483
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1404
1484
|
* See the License for the specific language governing permissions and
|
|
1405
1485
|
* limitations under the License.
|
|
1406
|
-
*/class
|
|
1486
|
+
*/class O_{To(e){}shutdown(){}}/**
|
|
1407
1487
|
* @license
|
|
1408
1488
|
* Copyright 2019 Google LLC
|
|
1409
1489
|
*
|
|
@@ -1418,7 +1498,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1418
1498
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1419
1499
|
* See the License for the specific language governing permissions and
|
|
1420
1500
|
* limitations under the License.
|
|
1421
|
-
*/class
|
|
1501
|
+
*/const nl="ConnectivityMonitor";class rl{constructor(){this.Io=()=>this.Eo(),this.Ao=()=>this.Ro(),this.Vo=[],this.mo()}To(e){this.Vo.push(e)}shutdown(){window.removeEventListener("online",this.Io),window.removeEventListener("offline",this.Ao)}mo(){window.addEventListener("online",this.Io),window.addEventListener("offline",this.Ao)}Eo(){V(nl,"Network connectivity changed: AVAILABLE");for(const e of this.Vo)e(0)}Ro(){V(nl,"Network connectivity changed: UNAVAILABLE");for(const e of this.Vo)e(1)}static D(){return typeof window<"u"&&window.addEventListener!==void 0&&window.removeEventListener!==void 0}}/**
|
|
1422
1502
|
* @license
|
|
1423
1503
|
* Copyright 2023 Google LLC
|
|
1424
1504
|
*
|
|
@@ -1433,7 +1513,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1433
1513
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1434
1514
|
* See the License for the specific language governing permissions and
|
|
1435
1515
|
* limitations under the License.
|
|
1436
|
-
*/let
|
|
1516
|
+
*/let Ns=null;function To(){return Ns===null?Ns=function(){return 268435456+Math.round(2147483648*Math.random())}():Ns++,"0x"+Ns.toString(16)}/**
|
|
1437
1517
|
* @license
|
|
1438
1518
|
* Copyright 2020 Google LLC
|
|
1439
1519
|
*
|
|
@@ -1448,7 +1528,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1448
1528
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1449
1529
|
* See the License for the specific language governing permissions and
|
|
1450
1530
|
* limitations under the License.
|
|
1451
|
-
*/const
|
|
1531
|
+
*/const wo="RestConnection",V_={BatchGetDocuments:"batchGet",Commit:"commit",RunQuery:"runQuery",RunAggregationQuery:"runAggregationQuery"};class L_{get fo(){return!1}constructor(e){this.databaseInfo=e,this.databaseId=e.databaseId;const t=e.ssl?"https":"http",r=encodeURIComponent(this.databaseId.projectId),s=encodeURIComponent(this.databaseId.database);this.po=t+"://"+e.host,this.yo=`projects/${r}/databases/${s}`,this.wo=this.databaseId.database===ls?`project_id=${r}`:`project_id=${r}&database_id=${s}`}bo(e,t,r,s,i){const a=To(),c=this.So(e,t.toUriEncodedString());V(wo,`Sending RPC '${e}' ${a}:`,c,r);const l={"google-cloud-resource-prefix":this.yo,"x-goog-request-params":this.wo};return this.Do(l,s,i),this.vo(e,c,l,r).then(d=>(V(wo,`Received RPC '${e}' ${a}: `,d),d),d=>{throw yn(wo,`RPC '${e}' ${a} failed with error: `,d,"url: ",c,"request:",r),d})}Co(e,t,r,s,i,a){return this.bo(e,t,r,s,i)}Do(e,t,r){e["X-Goog-Api-Client"]=function(){return"gl-js/ fire/"+gn}(),e["Content-Type"]="text/plain",this.databaseInfo.appId&&(e["X-Firebase-GMPID"]=this.databaseInfo.appId),t&&t.headers.forEach((s,i)=>e[i]=s),r&&r.headers.forEach((s,i)=>e[i]=s)}So(e,t){const r=V_[e];return`${this.po}/v1/${t}:${r}`}terminate(){}}/**
|
|
1452
1532
|
* @license
|
|
1453
1533
|
* Copyright 2017 Google LLC
|
|
1454
1534
|
*
|
|
@@ -1463,7 +1543,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1463
1543
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1464
1544
|
* See the License for the specific language governing permissions and
|
|
1465
1545
|
* limitations under the License.
|
|
1466
|
-
*/class
|
|
1546
|
+
*/class M_{constructor(e){this.Fo=e.Fo,this.Mo=e.Mo}xo(e){this.Oo=e}No(e){this.Bo=e}Lo(e){this.ko=e}onMessage(e){this.qo=e}close(){this.Mo()}send(e){this.Fo(e)}Qo(){this.Oo()}$o(){this.Bo()}Ko(e){this.ko(e)}Uo(e){this.qo(e)}}/**
|
|
1467
1547
|
* @license
|
|
1468
1548
|
* Copyright 2017 Google LLC
|
|
1469
1549
|
*
|
|
@@ -1478,7 +1558,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1478
1558
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1479
1559
|
* See the License for the specific language governing permissions and
|
|
1480
1560
|
* limitations under the License.
|
|
1481
|
-
*/const
|
|
1561
|
+
*/const Ae="WebChannelConnection";class U_ extends L_{constructor(e){super(e),this.forceLongPolling=e.forceLongPolling,this.autoDetectLongPolling=e.autoDetectLongPolling,this.useFetchStreams=e.useFetchStreams,this.longPollingOptions=e.longPollingOptions}vo(e,t,r,s){const i=To();return new Promise((a,c)=>{const l=new Sc;l.setWithCredentials(!0),l.listenOnce(Cc.COMPLETE,()=>{try{switch(l.getLastErrorCode()){case rs.NO_ERROR:const f=l.getResponseJson();V(Ae,`XHR for RPC '${e}' ${i} received:`,JSON.stringify(f)),a(f);break;case rs.TIMEOUT:V(Ae,`RPC '${e}' ${i} timed out`),c(new O(P.DEADLINE_EXCEEDED,"Request time out"));break;case rs.HTTP_ERROR:const m=l.getStatus();if(V(Ae,`RPC '${e}' ${i} failed with status:`,m,"response text:",l.getResponseText()),m>0){let v=l.getResponseJson();Array.isArray(v)&&(v=v[0]);const R=v==null?void 0:v.error;if(R&&R.status&&R.message){const S=function(k){const U=k.toLowerCase().replace(/_/g,"-");return Object.values(P).indexOf(U)>=0?U:P.UNKNOWN}(R.status);c(new O(S,R.message))}else c(new O(P.UNKNOWN,"Server responded with status "+l.getStatus()))}else c(new O(P.UNAVAILABLE,"Connection failed."));break;default:F()}}finally{V(Ae,`RPC '${e}' ${i} completed.`)}});const d=JSON.stringify(s);V(Ae,`RPC '${e}' ${i} sending request:`,s),l.send(t,"POST",d,r,15)})}Wo(e,t,r){const s=To(),i=[this.po,"/","google.firestore.v1.Firestore","/",e,"/channel"],a=Dc(),c=Nc(),l={httpSessionIdParam:"gsessionid",initMessageHeaders:{},messageUrlParams:{database:`projects/${this.databaseId.projectId}/databases/${this.databaseId.database}`},sendRawJson:!0,supportsCrossDomainXhr:!0,internalChannelParams:{forwardChannelRequestTimeoutMs:6e5},forceLongPolling:this.forceLongPolling,detectBufferingProxy:this.autoDetectLongPolling},d=this.longPollingOptions.timeoutSeconds;d!==void 0&&(l.longPollingTimeout=Math.round(1e3*d)),this.useFetchStreams&&(l.useFetchStreams=!0),this.Do(l.initMessageHeaders,t,r),l.encodeInitMessageHeaders=!0;const f=i.join("");V(Ae,`Creating RPC '${e}' stream ${s}: ${f}`,l);const m=a.createWebChannel(f,l);let v=!1,R=!1;const S=new M_({Fo:k=>{R?V(Ae,`Not sending because RPC '${e}' stream ${s} is closed:`,k):(v||(V(Ae,`Opening RPC '${e}' stream ${s} transport.`),m.open(),v=!0),V(Ae,`RPC '${e}' stream ${s} sending:`,k),m.send(k))},Mo:()=>m.close()}),N=(k,U,$)=>{k.listen(U,x=>{try{$(x)}catch(H){setTimeout(()=>{throw H},0)}})};return N(m,ir.EventType.OPEN,()=>{R||(V(Ae,`RPC '${e}' stream ${s} transport opened.`),S.Qo())}),N(m,ir.EventType.CLOSE,()=>{R||(R=!0,V(Ae,`RPC '${e}' stream ${s} transport closed`),S.Ko())}),N(m,ir.EventType.ERROR,k=>{R||(R=!0,yn(Ae,`RPC '${e}' stream ${s} transport errored:`,k),S.Ko(new O(P.UNAVAILABLE,"The operation could not be completed")))}),N(m,ir.EventType.MESSAGE,k=>{var U;if(!R){const $=k.data[0];Y(!!$);const x=$,H=(x==null?void 0:x.error)||((U=x[0])===null||U===void 0?void 0:U.error);if(H){V(Ae,`RPC '${e}' stream ${s} received error:`,H);const he=H.status;let J=function(_){const E=ce[_];if(E!==void 0)return Nu(E)}(he),T=H.message;J===void 0&&(J=P.INTERNAL,T="Unknown error status: "+he+" with message "+H.message),R=!0,S.Ko(new O(J,T)),m.close()}else V(Ae,`RPC '${e}' stream ${s} received:`,$),S.Uo($)}}),N(c,kc.STAT_EVENT,k=>{k.stat===Ki.PROXY?V(Ae,`RPC '${e}' stream ${s} detected buffering proxy`):k.stat===Ki.NOPROXY&&V(Ae,`RPC '${e}' stream ${s} detected no buffering proxy`)}),setTimeout(()=>{S.$o()},0),S}}function Io(){return typeof document<"u"?document:null}/**
|
|
1482
1562
|
* @license
|
|
1483
1563
|
* Copyright 2020 Google LLC
|
|
1484
1564
|
*
|
|
@@ -1493,7 +1573,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1493
1573
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1494
1574
|
* See the License for the specific language governing permissions and
|
|
1495
1575
|
* limitations under the License.
|
|
1496
|
-
*/function
|
|
1576
|
+
*/function Ds(n){return new jg(n,!0)}/**
|
|
1497
1577
|
* @license
|
|
1498
1578
|
* Copyright 2017 Google LLC
|
|
1499
1579
|
*
|
|
@@ -1508,7 +1588,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1508
1588
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1509
1589
|
* See the License for the specific language governing permissions and
|
|
1510
1590
|
* limitations under the License.
|
|
1511
|
-
*/class
|
|
1591
|
+
*/class sl{constructor(e,t,r=1e3,s=1.5,i=6e4){this.Ti=e,this.timerId=t,this.Go=r,this.zo=s,this.jo=i,this.Ho=0,this.Jo=null,this.Yo=Date.now(),this.reset()}reset(){this.Ho=0}Zo(){this.Ho=this.jo}Xo(e){this.cancel();const t=Math.floor(this.Ho+this.e_()),r=Math.max(0,Date.now()-this.Yo),s=Math.max(0,t-r);s>0&&V("ExponentialBackoff",`Backing off for ${s} ms (base delay: ${this.Ho} ms, delay with jitter: ${t} ms, last attempt: ${r} ms ago)`),this.Jo=this.Ti.enqueueAfterDelay(this.timerId,s,()=>(this.Yo=Date.now(),e())),this.Ho*=this.zo,this.Ho<this.Go&&(this.Ho=this.Go),this.Ho>this.jo&&(this.Ho=this.jo)}t_(){this.Jo!==null&&(this.Jo.skipDelay(),this.Jo=null)}cancel(){this.Jo!==null&&(this.Jo.cancel(),this.Jo=null)}e_(){return(Math.random()-.5)*this.Ho}}/**
|
|
1512
1592
|
* @license
|
|
1513
1593
|
* Copyright 2017 Google LLC
|
|
1514
1594
|
*
|
|
@@ -1523,7 +1603,7 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1523
1603
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1524
1604
|
* See the License for the specific language governing permissions and
|
|
1525
1605
|
* limitations under the License.
|
|
1526
|
-
*/class
|
|
1606
|
+
*/const il="PersistentStream";class ol{constructor(e,t,r,s,i,a,c,l){this.Ti=e,this.n_=r,this.r_=s,this.connection=i,this.authCredentialsProvider=a,this.appCheckCredentialsProvider=c,this.listener=l,this.state=0,this.i_=0,this.s_=null,this.o_=null,this.stream=null,this.__=0,this.a_=new sl(e,t)}u_(){return this.state===1||this.state===5||this.c_()}c_(){return this.state===2||this.state===3}start(){this.__=0,this.state!==4?this.auth():this.l_()}async stop(){this.u_()&&await this.close(0)}h_(){this.state=0,this.a_.reset()}P_(){this.c_()&&this.s_===null&&(this.s_=this.Ti.enqueueAfterDelay(this.n_,6e4,()=>this.T_()))}I_(e){this.E_(),this.stream.send(e)}async T_(){if(this.c_())return this.close(0)}E_(){this.s_&&(this.s_.cancel(),this.s_=null)}d_(){this.o_&&(this.o_.cancel(),this.o_=null)}async close(e,t){this.E_(),this.d_(),this.a_.cancel(),this.i_++,e!==4?this.a_.reset():t&&t.code===P.RESOURCE_EXHAUSTED?(ft(t.toString()),ft("Using maximum backoff delay to prevent overloading the backend."),this.a_.Zo()):t&&t.code===P.UNAUTHENTICATED&&this.state!==3&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),this.stream!==null&&(this.A_(),this.stream.close(),this.stream=null),this.state=e,await this.listener.Lo(t)}A_(){}auth(){this.state=1;const e=this.R_(this.i_),t=this.i_;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then(([r,s])=>{this.i_===t&&this.V_(r,s)},r=>{e(()=>{const s=new O(P.UNKNOWN,"Fetching auth token failed: "+r.message);return this.m_(s)})})}V_(e,t){const r=this.R_(this.i_);this.stream=this.f_(e,t),this.stream.xo(()=>{r(()=>this.listener.xo())}),this.stream.No(()=>{r(()=>(this.state=2,this.o_=this.Ti.enqueueAfterDelay(this.r_,1e4,()=>(this.c_()&&(this.state=3),Promise.resolve())),this.listener.No()))}),this.stream.Lo(s=>{r(()=>this.m_(s))}),this.stream.onMessage(s=>{r(()=>++this.__==1?this.g_(s):this.onNext(s))})}l_(){this.state=5,this.a_.Xo(async()=>{this.state=0,this.start()})}m_(e){return V(il,`close with error: ${e}`),this.stream=null,this.close(4,e)}R_(e){return t=>{this.Ti.enqueueAndForget(()=>this.i_===e?t():(V(il,"stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve()))}}}class x_ extends ol{constructor(e,t,r,s,i,a){super(e,"listen_stream_connection_backoff","listen_stream_idle","health_check_timeout",t,r,s,a),this.serializer=i}f_(e,t){return this.connection.Wo("Listen",e,t)}g_(e){return this.onNext(e)}onNext(e){this.a_.reset();const t=Hg(this.serializer,e),r=function(i){if(!("targetChange"in i))return j.min();const a=i.targetChange;return a.targetIds&&a.targetIds.length?j.min():a.readTime?rt(a.readTime):j.min()}(e);return this.listener.p_(t,r)}y_(e){const t={};t.database=mo(this.serializer),t.addTarget=function(i,a){let c;const l=a.target;if(c=ro(l)?{documents:Gg(i,l)}:{query:$u(i,l).ht},c.targetId=a.targetId,a.resumeToken.approximateByteSize()>0){c.resumeToken=xu(i,a.resumeToken);const d=uo(i,a.expectedCount);d!==null&&(c.expectedCount=d)}else if(a.snapshotVersion.compareTo(j.min())>0){c.readTime=Cs(i,a.snapshotVersion.toTimestamp());const d=uo(i,a.expectedCount);d!==null&&(c.expectedCount=d)}return c}(this.serializer,e);const r=Xg(this.serializer,e);r&&(t.labels=r),this.I_(t)}w_(e){const t={};t.database=mo(this.serializer),t.removeTarget=e,this.I_(t)}}class F_ extends ol{constructor(e,t,r,s,i,a){super(e,"write_stream_connection_backoff","write_stream_idle","health_check_timeout",t,r,s,a),this.serializer=i}get b_(){return this.__>0}start(){this.lastStreamToken=void 0,super.start()}A_(){this.b_&&this.S_([])}f_(e,t){return this.connection.Wo("Write",e,t)}g_(e){return Y(!!e.streamToken),this.lastStreamToken=e.streamToken,Y(!e.writeResults||e.writeResults.length===0),this.listener.D_()}onNext(e){Y(!!e.streamToken),this.lastStreamToken=e.streamToken,this.a_.reset();const t=Wg(e.writeResults,e.commitTime),r=rt(e.commitTime);return this.listener.v_(r,t)}C_(){const e={};e.database=mo(this.serializer),this.I_(e)}S_(e){const t={streamToken:this.lastStreamToken,writes:e.map(r=>zg(this.serializer,r))};this.I_(t)}}/**
|
|
1527
1607
|
* @license
|
|
1528
1608
|
* Copyright 2017 Google LLC
|
|
1529
1609
|
*
|
|
@@ -1538,8 +1618,8 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1538
1618
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1539
1619
|
* See the License for the specific language governing permissions and
|
|
1540
1620
|
* limitations under the License.
|
|
1541
|
-
*/class
|
|
1542
|
-
This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.`;this.
|
|
1621
|
+
*/class B_{}class j_ extends B_{constructor(e,t,r,s){super(),this.authCredentials=e,this.appCheckCredentials=t,this.connection=r,this.serializer=s,this.F_=!1}M_(){if(this.F_)throw new O(P.FAILED_PRECONDITION,"The client has already been terminated.")}bo(e,t,r,s){return this.M_(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([i,a])=>this.connection.bo(e,ho(t,r),s,i,a)).catch(i=>{throw i.name==="FirebaseError"?(i.code===P.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),i):new O(P.UNKNOWN,i.toString())})}Co(e,t,r,s,i){return this.M_(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([a,c])=>this.connection.Co(e,ho(t,r),s,a,c,i)).catch(a=>{throw a.name==="FirebaseError"?(a.code===P.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),a):new O(P.UNKNOWN,a.toString())})}terminate(){this.F_=!0,this.connection.terminate()}}class q_{constructor(e,t){this.asyncQueue=e,this.onlineStateHandler=t,this.state="Unknown",this.x_=0,this.O_=null,this.N_=!0}B_(){this.x_===0&&(this.L_("Unknown"),this.O_=this.asyncQueue.enqueueAfterDelay("online_state_timeout",1e4,()=>(this.O_=null,this.k_("Backend didn't respond within 10 seconds."),this.L_("Offline"),Promise.resolve())))}q_(e){this.state==="Online"?this.L_("Unknown"):(this.x_++,this.x_>=1&&(this.Q_(),this.k_(`Connection failed 1 times. Most recent error: ${e.toString()}`),this.L_("Offline")))}set(e){this.Q_(),this.x_=0,e==="Online"&&(this.N_=!1),this.L_(e)}L_(e){e!==this.state&&(this.state=e,this.onlineStateHandler(e))}k_(e){const t=`Could not reach Cloud Firestore backend. ${e}
|
|
1622
|
+
This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.`;this.N_?(ft(t),this.N_=!1):V("OnlineStateTracker",t)}Q_(){this.O_!==null&&(this.O_.cancel(),this.O_=null)}}/**
|
|
1543
1623
|
* @license
|
|
1544
1624
|
* Copyright 2017 Google LLC
|
|
1545
1625
|
*
|
|
@@ -1554,7 +1634,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1554
1634
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1555
1635
|
* See the License for the specific language governing permissions and
|
|
1556
1636
|
* limitations under the License.
|
|
1557
|
-
*/class
|
|
1637
|
+
*/const nn="RemoteStore";class $_{constructor(e,t,r,s,i){this.localStore=e,this.datastore=t,this.asyncQueue=r,this.remoteSyncer={},this.K_=[],this.U_=new Map,this.W_=new Set,this.G_=[],this.z_=i,this.z_.To(a=>{r.enqueueAndForget(async()=>{rn(this)&&(V(nn,"Restarting streams for network reachability change."),await async function(l){const d=B(l);d.W_.add(4),await Er(d),d.j_.set("Unknown"),d.W_.delete(4),await Os(d)}(this))})}),this.j_=new q_(r,s)}}async function Os(n){if(rn(n))for(const e of n.G_)await e(!0)}async function Er(n){for(const e of n.G_)await e(!1)}function al(n,e){const t=B(n);t.U_.has(e.targetId)||(t.U_.set(e.targetId,e),Po(t)?bo(t):Cn(t).c_()&&Ro(t,e))}function Ao(n,e){const t=B(n),r=Cn(t);t.U_.delete(e),r.c_()&&cl(t,e),t.U_.size===0&&(r.c_()?r.P_():rn(t)&&t.j_.set("Unknown"))}function Ro(n,e){if(n.H_.Ne(e.targetId),e.resumeToken.approximateByteSize()>0||e.snapshotVersion.compareTo(j.min())>0){const t=n.remoteSyncer.getRemoteKeysForTarget(e.targetId).size;e=e.withExpectedCount(t)}Cn(n).y_(e)}function cl(n,e){n.H_.Ne(e),Cn(n).w_(e)}function bo(n){n.H_=new Ug({getRemoteKeysForTarget:e=>n.remoteSyncer.getRemoteKeysForTarget(e),lt:e=>n.U_.get(e)||null,it:()=>n.datastore.serializer.databaseId}),Cn(n).start(),n.j_.B_()}function Po(n){return rn(n)&&!Cn(n).u_()&&n.U_.size>0}function rn(n){return B(n).W_.size===0}function ul(n){n.H_=void 0}async function H_(n){n.j_.set("Online")}async function z_(n){n.U_.forEach((e,t)=>{Ro(n,e)})}async function W_(n,e){ul(n),Po(n)?(n.j_.q_(e),bo(n)):n.j_.set("Unknown")}async function G_(n,e,t){if(n.j_.set("Online"),e instanceof Lu&&e.state===2&&e.cause)try{await async function(s,i){const a=i.cause;for(const c of i.targetIds)s.U_.has(c)&&(await s.remoteSyncer.rejectListen(c,a),s.U_.delete(c),s.H_.removeTarget(c))}(n,e)}catch(r){V(nn,"Failed to remove targets %s: %s ",e.targetIds.join(","),r),await Vs(n,r)}else if(e instanceof Ps?n.H_.We(e):e instanceof Vu?n.H_.Ze(e):n.H_.je(e),!t.isEqual(j.min()))try{const r=await Zu(n.localStore);t.compareTo(r)>=0&&await function(i,a){const c=i.H_.ot(a);return c.targetChanges.forEach((l,d)=>{if(l.resumeToken.approximateByteSize()>0){const f=i.U_.get(d);f&&i.U_.set(d,f.withResumeToken(l.resumeToken,a))}}),c.targetMismatches.forEach((l,d)=>{const f=i.U_.get(l);if(!f)return;i.U_.set(l,f.withResumeToken(_e.EMPTY_BYTE_STRING,f.snapshotVersion)),cl(i,l);const m=new Mt(f.target,l,d,f.sequenceNumber);Ro(i,m)}),i.remoteSyncer.applyRemoteEvent(c)}(n,t)}catch(r){V(nn,"Failed to raise snapshot:",r),await Vs(n,r)}}async function Vs(n,e,t){if(!Tn(e))throw e;n.W_.add(1),await Er(n),n.j_.set("Offline"),t||(t=()=>Zu(n.localStore)),n.asyncQueue.enqueueRetryable(async()=>{V(nn,"Retrying IndexedDB access"),await t(),n.W_.delete(1),await Os(n)})}function ll(n,e){return e().catch(t=>Vs(n,t,e))}async function Ls(n){const e=B(n),t=Ut(e);let r=e.K_.length>0?e.K_[e.K_.length-1].batchId:Xi;for(;K_(e);)try{const s=await C_(e.localStore,r);if(s===null){e.K_.length===0&&t.P_();break}r=s.batchId,Q_(e,s)}catch(s){await Vs(e,s)}hl(e)&&dl(e)}function K_(n){return rn(n)&&n.K_.length<10}function Q_(n,e){n.K_.push(e);const t=Ut(n);t.c_()&&t.b_&&t.S_(e.mutations)}function hl(n){return rn(n)&&!Ut(n).u_()&&n.K_.length>0}function dl(n){Ut(n).start()}async function X_(n){Ut(n).C_()}async function Y_(n){const e=Ut(n);for(const t of n.K_)e.S_(t.mutations)}async function J_(n,e,t){const r=n.K_.shift(),s=ao.from(r,e,t);await ll(n,()=>n.remoteSyncer.applySuccessfulWrite(s)),await Ls(n)}async function Z_(n,e){e&&Ut(n).b_&&await async function(r,s){if(function(a){return Vg(a)&&a!==P.ABORTED}(s.code)){const i=r.K_.shift();Ut(r).h_(),await ll(r,()=>r.remoteSyncer.rejectFailedWrite(i.batchId,s)),await Ls(r)}}(n,e),hl(n)&&dl(n)}async function fl(n,e){const t=B(n);t.asyncQueue.verifyOperationInProgress(),V(nn,"RemoteStore received new credentials");const r=rn(t);t.W_.add(3),await Er(t),r&&t.j_.set("Unknown"),await t.remoteSyncer.handleCredentialChange(e),t.W_.delete(3),await Os(t)}async function ey(n,e){const t=B(n);e?(t.W_.delete(2),await Os(t)):e||(t.W_.add(2),await Er(t),t.j_.set("Unknown"))}function Cn(n){return n.J_||(n.J_=function(t,r,s){const i=B(t);return i.M_(),new x_(r,i.connection,i.authCredentials,i.appCheckCredentials,i.serializer,s)}(n.datastore,n.asyncQueue,{xo:H_.bind(null,n),No:z_.bind(null,n),Lo:W_.bind(null,n),p_:G_.bind(null,n)}),n.G_.push(async e=>{e?(n.J_.h_(),Po(n)?bo(n):n.j_.set("Unknown")):(await n.J_.stop(),ul(n))})),n.J_}function Ut(n){return n.Y_||(n.Y_=function(t,r,s){const i=B(t);return i.M_(),new F_(r,i.connection,i.authCredentials,i.appCheckCredentials,i.serializer,s)}(n.datastore,n.asyncQueue,{xo:()=>Promise.resolve(),No:X_.bind(null,n),Lo:Z_.bind(null,n),D_:Y_.bind(null,n),v_:J_.bind(null,n)}),n.G_.push(async e=>{e?(n.Y_.h_(),await Ls(n)):(await n.Y_.stop(),n.K_.length>0&&(V(nn,`Stopping write stream with ${n.K_.length} pending writes`),n.K_=[]))})),n.Y_}/**
|
|
1558
1638
|
* @license
|
|
1559
1639
|
* Copyright 2017 Google LLC
|
|
1560
1640
|
*
|
|
@@ -1569,7 +1649,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1569
1649
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1570
1650
|
* See the License for the specific language governing permissions and
|
|
1571
1651
|
* limitations under the License.
|
|
1572
|
-
*/class
|
|
1652
|
+
*/class So{constructor(e,t,r,s,i){this.asyncQueue=e,this.timerId=t,this.targetTimeMs=r,this.op=s,this.removalCallback=i,this.deferred=new Ze,this.then=this.deferred.promise.then.bind(this.deferred.promise),this.deferred.promise.catch(a=>{})}get promise(){return this.deferred.promise}static createAndSchedule(e,t,r,s,i){const a=Date.now()+r,c=new So(e,t,a,s,i);return c.start(r),c}start(e){this.timerHandle=setTimeout(()=>this.handleDelayElapsed(),e)}skipDelay(){return this.handleDelayElapsed()}cancel(e){this.timerHandle!==null&&(this.clearTimeout(),this.deferred.reject(new O(P.CANCELLED,"Operation cancelled"+(e?": "+e:""))))}handleDelayElapsed(){this.asyncQueue.enqueueAndForget(()=>this.timerHandle!==null?(this.clearTimeout(),this.op().then(e=>this.deferred.resolve(e))):Promise.resolve())}clearTimeout(){this.timerHandle!==null&&(this.removalCallback(this),clearTimeout(this.timerHandle),this.timerHandle=null)}}function Co(n,e){if(ft("AsyncQueue",`${e}: ${n}`),Tn(n))return new O(P.UNAVAILABLE,`${e}: ${n}`);throw n}/**
|
|
1573
1653
|
* @license
|
|
1574
1654
|
* Copyright 2017 Google LLC
|
|
1575
1655
|
*
|
|
@@ -1584,10 +1664,10 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1584
1664
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1585
1665
|
* See the License for the specific language governing permissions and
|
|
1586
1666
|
* limitations under the License.
|
|
1587
|
-
*/class
|
|
1667
|
+
*/class kn{static emptySet(e){return new kn(e.comparator)}constructor(e){this.comparator=e?(t,r)=>e(t,r)||L.comparator(t.key,r.key):(t,r)=>L.comparator(t.key,r.key),this.keyedMap=dr(),this.sortedSet=new re(this.comparator)}has(e){return this.keyedMap.get(e)!=null}get(e){return this.keyedMap.get(e)}first(){return this.sortedSet.minKey()}last(){return this.sortedSet.maxKey()}isEmpty(){return this.sortedSet.isEmpty()}indexOf(e){const t=this.keyedMap.get(e);return t?this.sortedSet.indexOf(t):-1}get size(){return this.sortedSet.size}forEach(e){this.sortedSet.inorderTraversal((t,r)=>(e(t),!1))}add(e){const t=this.delete(e.key);return t.copy(t.keyedMap.insert(e.key,e),t.sortedSet.insert(e,null))}delete(e){const t=this.get(e);return t?this.copy(this.keyedMap.remove(e),this.sortedSet.remove(t)):this}isEqual(e){if(!(e instanceof kn)||this.size!==e.size)return!1;const t=this.sortedSet.getIterator(),r=e.sortedSet.getIterator();for(;t.hasNext();){const s=t.getNext().key,i=r.getNext().key;if(!s.isEqual(i))return!1}return!0}toString(){const e=[];return this.forEach(t=>{e.push(t.toString())}),e.length===0?"DocumentSet ()":`DocumentSet (
|
|
1588
1668
|
`+e.join(`
|
|
1589
1669
|
`)+`
|
|
1590
|
-
)`}copy(e,t){const r=new
|
|
1670
|
+
)`}copy(e,t){const r=new kn;return r.comparator=this.comparator,r.keyedMap=e,r.sortedSet=t,r}}/**
|
|
1591
1671
|
* @license
|
|
1592
1672
|
* Copyright 2017 Google LLC
|
|
1593
1673
|
*
|
|
@@ -1602,7 +1682,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1602
1682
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1603
1683
|
* See the License for the specific language governing permissions and
|
|
1604
1684
|
* limitations under the License.
|
|
1605
|
-
*/class
|
|
1685
|
+
*/class pl{constructor(){this.Z_=new re(L.comparator)}track(e){const t=e.doc.key,r=this.Z_.get(t);r?e.type!==0&&r.type===3?this.Z_=this.Z_.insert(t,e):e.type===3&&r.type!==1?this.Z_=this.Z_.insert(t,{type:r.type,doc:e.doc}):e.type===2&&r.type===2?this.Z_=this.Z_.insert(t,{type:2,doc:e.doc}):e.type===2&&r.type===0?this.Z_=this.Z_.insert(t,{type:0,doc:e.doc}):e.type===1&&r.type===0?this.Z_=this.Z_.remove(t):e.type===1&&r.type===2?this.Z_=this.Z_.insert(t,{type:1,doc:r.doc}):e.type===0&&r.type===1?this.Z_=this.Z_.insert(t,{type:2,doc:e.doc}):F():this.Z_=this.Z_.insert(t,e)}X_(){const e=[];return this.Z_.inorderTraversal((t,r)=>{e.push(r)}),e}}class Nn{constructor(e,t,r,s,i,a,c,l,d){this.query=e,this.docs=t,this.oldDocs=r,this.docChanges=s,this.mutatedKeys=i,this.fromCache=a,this.syncStateChanged=c,this.excludesMetadataChanges=l,this.hasCachedResults=d}static fromInitialDocuments(e,t,r,s,i){const a=[];return t.forEach(c=>{a.push({type:0,doc:c})}),new Nn(e,t,kn.emptySet(t),a,r,s,!0,!1,i)}get hasPendingWrites(){return!this.mutatedKeys.isEmpty()}isEqual(e){if(!(this.fromCache===e.fromCache&&this.hasCachedResults===e.hasCachedResults&&this.syncStateChanged===e.syncStateChanged&&this.mutatedKeys.isEqual(e.mutatedKeys)&&ys(this.query,e.query)&&this.docs.isEqual(e.docs)&&this.oldDocs.isEqual(e.oldDocs)))return!1;const t=this.docChanges,r=e.docChanges;if(t.length!==r.length)return!1;for(let s=0;s<t.length;s++)if(t[s].type!==r[s].type||!t[s].doc.isEqual(r[s].doc))return!1;return!0}}/**
|
|
1606
1686
|
* @license
|
|
1607
1687
|
* Copyright 2017 Google LLC
|
|
1608
1688
|
*
|
|
@@ -1617,7 +1697,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1617
1697
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1618
1698
|
* See the License for the specific language governing permissions and
|
|
1619
1699
|
* limitations under the License.
|
|
1620
|
-
*/class
|
|
1700
|
+
*/class ty{constructor(){this.ea=void 0,this.ta=[]}na(){return this.ta.some(e=>e.ra())}}class ny{constructor(){this.queries=ml(),this.onlineState="Unknown",this.ia=new Set}terminate(){(function(t,r){const s=B(t),i=s.queries;s.queries=ml(),i.forEach((a,c)=>{for(const l of c.ta)l.onError(r)})})(this,new O(P.ABORTED,"Firestore shutting down"))}}function ml(){return new en(n=>mu(n),ys)}async function ko(n,e){const t=B(n);let r=3;const s=e.query;let i=t.queries.get(s);i?!i.na()&&e.ra()&&(r=2):(i=new ty,r=e.ra()?0:1);try{switch(r){case 0:i.ea=await t.onListen(s,!0);break;case 1:i.ea=await t.onListen(s,!1);break;case 2:await t.onFirstRemoteStoreListen(s)}}catch(a){const c=Co(a,`Initialization of query '${bn(e.query)}' failed`);return void e.onError(c)}t.queries.set(s,i),i.ta.push(e),e.sa(t.onlineState),i.ea&&e.oa(i.ea)&&Do(t)}async function No(n,e){const t=B(n),r=e.query;let s=3;const i=t.queries.get(r);if(i){const a=i.ta.indexOf(e);a>=0&&(i.ta.splice(a,1),i.ta.length===0?s=e.ra()?0:1:!i.na()&&e.ra()&&(s=2))}switch(s){case 0:return t.queries.delete(r),t.onUnlisten(r,!0);case 1:return t.queries.delete(r),t.onUnlisten(r,!1);case 2:return t.onLastRemoteStoreUnlisten(r);default:return}}function ry(n,e){const t=B(n);let r=!1;for(const s of e){const i=s.query,a=t.queries.get(i);if(a){for(const c of a.ta)c.oa(s)&&(r=!0);a.ea=s}}r&&Do(t)}function sy(n,e,t){const r=B(n),s=r.queries.get(e);if(s)for(const i of s.ta)i.onError(t);r.queries.delete(e)}function Do(n){n.ia.forEach(e=>{e.next()})}var Oo,gl;(gl=Oo||(Oo={}))._a="default",gl.Cache="cache";class Vo{constructor(e,t,r){this.query=e,this.aa=t,this.ua=!1,this.ca=null,this.onlineState="Unknown",this.options=r||{}}oa(e){if(!this.options.includeMetadataChanges){const r=[];for(const s of e.docChanges)s.type!==3&&r.push(s);e=new Nn(e.query,e.docs,e.oldDocs,r,e.mutatedKeys,e.fromCache,e.syncStateChanged,!0,e.hasCachedResults)}let t=!1;return this.ua?this.la(e)&&(this.aa.next(e),t=!0):this.ha(e,this.onlineState)&&(this.Pa(e),t=!0),this.ca=e,t}onError(e){this.aa.error(e)}sa(e){this.onlineState=e;let t=!1;return this.ca&&!this.ua&&this.ha(this.ca,e)&&(this.Pa(this.ca),t=!0),t}ha(e,t){if(!e.fromCache||!this.ra())return!0;const r=t!=="Offline";return(!this.options.Ta||!r)&&(!e.docs.isEmpty()||e.hasCachedResults||t==="Offline")}la(e){if(e.docChanges.length>0)return!0;const t=this.ca&&this.ca.hasPendingWrites!==e.hasPendingWrites;return!(!e.syncStateChanged&&!t)&&this.options.includeMetadataChanges===!0}Pa(e){e=Nn.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache,e.hasCachedResults),this.ua=!0,this.aa.next(e)}ra(){return this.options.source!==Oo.Cache}}/**
|
|
1621
1701
|
* @license
|
|
1622
1702
|
* Copyright 2017 Google LLC
|
|
1623
1703
|
*
|
|
@@ -1632,7 +1712,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1632
1712
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1633
1713
|
* See the License for the specific language governing permissions and
|
|
1634
1714
|
* limitations under the License.
|
|
1635
|
-
*/class Uu{constructor(e){this.key=e}}class xu{constructor(e){this.key=e}}class l_{constructor(e,t){this.query=e,this.Ta=t,this.Ea=null,this.hasCachedResults=!1,this.current=!1,this.da=H(),this.mutatedKeys=H(),this.Aa=qc(e),this.Ra=new wn(this.Aa)}get Va(){return this.Ta}ma(e,t){const r=t?t.fa:new Vu,s=t?t.Ra:this.Ra;let i=t?t.mutatedKeys:this.mutatedKeys,a=s,c=!1;const l=this.query.limitType==="F"&&s.size===this.query.limit?s.last():null,d=this.query.limitType==="L"&&s.size===this.query.limit?s.first():null;if(e.inorderTraversal((p,g)=>{const v=s.get(p),R=ls(this.query,g)?g:null,C=!!v&&this.mutatedKeys.has(v.key),N=!!R&&(R.hasLocalMutations||this.mutatedKeys.has(R.key)&&R.hasCommittedMutations);let S=!1;v&&R?v.data.isEqual(R.data)?C!==N&&(r.track({type:3,doc:R}),S=!0):this.ga(v,R)||(r.track({type:2,doc:R}),S=!0,(l&&this.Aa(R,l)>0||d&&this.Aa(R,d)<0)&&(c=!0)):!v&&R?(r.track({type:0,doc:R}),S=!0):v&&!R&&(r.track({type:1,doc:v}),S=!0,(l||d)&&(c=!0)),S&&(R?(a=a.add(R),i=N?i.add(p):i.delete(p)):(a=a.delete(p),i=i.delete(p)))}),this.query.limit!==null)for(;a.size>this.query.limit;){const p=this.query.limitType==="F"?a.last():a.first();a=a.delete(p.key),i=i.delete(p.key),r.track({type:1,doc:p})}return{Ra:a,fa:r,ns:c,mutatedKeys:i}}ga(e,t){return e.hasLocalMutations&&t.hasCommittedMutations&&!t.hasLocalMutations}applyChanges(e,t,r,s){const i=this.Ra;this.Ra=e.Ra,this.mutatedKeys=e.mutatedKeys;const a=e.fa.G_();a.sort((p,g)=>function(R,C){const N=S=>{switch(S){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return F()}};return N(R)-N(C)}(p.type,g.type)||this.Aa(p.doc,g.doc)),this.pa(r),s=s!=null&&s;const c=t&&!s?this.ya():[],l=this.da.size===0&&this.current&&!s?1:0,d=l!==this.Ea;return this.Ea=l,a.length!==0||d?{snapshot:new In(this.query,e.Ra,i,a,e.mutatedKeys,l===0,d,!1,!!r&&r.resumeToken.approximateByteSize()>0),wa:c}:{wa:c}}Z_(e){return this.current&&e==="Offline"?(this.current=!1,this.applyChanges({Ra:this.Ra,fa:new Vu,mutatedKeys:this.mutatedKeys,ns:!1},!1)):{wa:[]}}Sa(e){return!this.Ta.has(e)&&!!this.Ra.has(e)&&!this.Ra.get(e).hasLocalMutations}pa(e){e&&(e.addedDocuments.forEach(t=>this.Ta=this.Ta.add(t)),e.modifiedDocuments.forEach(t=>{}),e.removedDocuments.forEach(t=>this.Ta=this.Ta.delete(t)),this.current=e.current)}ya(){if(!this.current)return[];const e=this.da;this.da=H(),this.Ra.forEach(r=>{this.Sa(r.key)&&(this.da=this.da.add(r.key))});const t=[];return e.forEach(r=>{this.da.has(r)||t.push(new xu(r))}),this.da.forEach(r=>{e.has(r)||t.push(new Uu(r))}),t}ba(e){this.Ta=e.Ts,this.da=H();const t=this.ma(e.documents);return this.applyChanges(t,!0)}Da(){return In.fromInitialDocuments(this.query,this.Ra,this.mutatedKeys,this.Ea===0,this.hasCachedResults)}}class h_{constructor(e,t,r){this.query=e,this.targetId=t,this.view=r}}class d_{constructor(e){this.key=e,this.va=!1}}class f_{constructor(e,t,r,s,i,a){this.localStore=e,this.remoteStore=t,this.eventManager=r,this.sharedClientState=s,this.currentUser=i,this.maxConcurrentLimboResolutions=a,this.Ca={},this.Fa=new yn(c=>jc(c),us),this.Ma=new Map,this.xa=new Set,this.Oa=new re(L.comparator),this.Na=new Map,this.La=new ro,this.Ba={},this.ka=new Map,this.qa=En.kn(),this.onlineState="Unknown",this.Qa=void 0}get isPrimaryClient(){return this.Qa===!0}}async function p_(n,e,t=!0){const r=Wu(n);let s;const i=r.Fa.get(e);return i?(r.sharedClientState.addLocalQueryTarget(i.targetId),s=i.view.Da()):s=await Fu(r,e,t,!0),s}async function m_(n,e){const t=Wu(n);await Fu(t,e,!0,!1)}async function Fu(n,e,t,r){const s=await Ug(n.localStore,Ze(e)),i=s.targetId,a=n.sharedClientState.addLocalQueryTarget(i,t);let c;return r&&(c=await g_(n,e,i,a==="current",s.resumeToken)),n.isPrimaryClient&&t&&Pu(n.remoteStore,s),c}async function g_(n,e,t,r,s){n.Ka=(g,v,R)=>async function(N,S,U,$){let x=S.view.ma(U);x.ns&&(x=await wu(N.localStore,S.query,!1).then(({documents:T})=>S.view.ma(T,x)));const z=$&&$.targetChanges.get(S.targetId),le=$&&$.targetMismatches.get(S.targetId)!=null,J=S.view.applyChanges(x,N.isPrimaryClient,z,le);return Hu(N,S.targetId,J.wa),J.snapshot}(n,g,v,R);const i=await wu(n.localStore,e,!0),a=new l_(e,i.Ts),c=a.ma(i.documents),l=fr.createSynthesizedTargetChangeForCurrentChange(t,r&&n.onlineState!=="Offline",s),d=a.applyChanges(c,n.isPrimaryClient,l);Hu(n,t,d.wa);const p=new h_(e,t,a);return n.Fa.set(e,p),n.Ma.has(t)?n.Ma.get(t).push(e):n.Ma.set(t,[e]),d.snapshot}async function __(n,e,t){const r=B(n),s=r.Fa.get(e),i=r.Ma.get(s.targetId);if(i.length>1)return r.Ma.set(s.targetId,i.filter(a=>!us(a,e))),void r.Fa.delete(e);r.isPrimaryClient?(r.sharedClientState.removeLocalQueryTarget(s.targetId),r.sharedClientState.isActiveQueryTarget(s.targetId)||await oo(r.localStore,s.targetId,!1).then(()=>{r.sharedClientState.clearQueryState(s.targetId),t&&uo(r.remoteStore,s.targetId),To(r,s.targetId)}).catch(Zn)):(To(r,s.targetId),await oo(r.localStore,s.targetId,!0))}async function y_(n,e){const t=B(n),r=t.Fa.get(e),s=t.Ma.get(r.targetId);t.isPrimaryClient&&s.length===1&&(t.sharedClientState.removeLocalQueryTarget(r.targetId),uo(t.remoteStore,r.targetId))}async function v_(n,e,t){const r=b_(n);try{const s=await function(a,c){const l=B(a),d=ue.now(),p=c.reduce((R,C)=>R.add(C.key),H());let g,v;return l.persistence.runTransaction("Locally write mutations","readwrite",R=>{let C=ht(),N=H();return l.cs.getEntries(R,p).next(S=>{C=S,C.forEach((U,$)=>{$.isValidDocument()||(N=N.add(U))})}).next(()=>l.localDocuments.getOverlayedDocuments(R,C)).next(S=>{g=S;const U=[];for(const $ of c){const x=Bm($,g.get($.key).overlayedDocument);x!=null&&U.push(new Pt($.key,x,Cc(x.value.mapValue),je.exists(!0)))}return l.mutationQueue.addMutationBatch(R,d,U,c)}).next(S=>{v=S;const U=S.applyToLocalDocumentSet(g,N);return l.documentOverlayCache.saveOverlays(R,S.batchId,U)})}).then(()=>({batchId:v.batchId,changes:zc(g)}))}(r.localStore,e);r.sharedClientState.addPendingMutation(s.batchId),function(a,c,l){let d=a.Ba[a.currentUser.toKey()];d||(d=new re(K)),d=d.insert(c,l),a.Ba[a.currentUser.toKey()]=d}(r,s.batchId,t),await mr(r,s.changes),await As(r.remoteStore)}catch(s){const i=mo(s,"Failed to persist write");t.reject(i)}}async function Bu(n,e){const t=B(n);try{const r=await Vg(t.localStore,e);e.targetChanges.forEach((s,i)=>{const a=t.Na.get(i);a&&(X(s.addedDocuments.size+s.modifiedDocuments.size+s.removedDocuments.size<=1),s.addedDocuments.size>0?a.va=!0:s.modifiedDocuments.size>0?X(a.va):s.removedDocuments.size>0&&(X(a.va),a.va=!1))}),await mr(t,r,e)}catch(r){await Zn(r)}}function ju(n,e,t){const r=B(n);if(r.isPrimaryClient&&t===0||!r.isPrimaryClient&&t===1){const s=[];r.Fa.forEach((i,a)=>{const c=a.view.Z_(e);c.snapshot&&s.push(c.snapshot)}),function(a,c){const l=B(a);l.onlineState=c;let d=!1;l.queries.forEach((p,g)=>{for(const v of g.j_)v.Z_(c)&&(d=!0)}),d&&yo(l)}(r.eventManager,e),s.length&&r.Ca.d_(s),r.onlineState=e,r.isPrimaryClient&&r.sharedClientState.setOnlineState(e)}}async function E_(n,e,t){const r=B(n);r.sharedClientState.updateQueryState(e,"rejected",t);const s=r.Na.get(e),i=s&&s.key;if(i){let a=new re(L.comparator);a=a.insert(i,we.newNoDocument(i,q.min()));const c=H().add(i),l=new _s(q.min(),new Map,new re(K),a,c);await Bu(r,l),r.Oa=r.Oa.remove(i),r.Na.delete(e),wo(r)}else await oo(r.localStore,e,!1).then(()=>To(r,e,t)).catch(Zn)}async function T_(n,e){const t=B(n),r=e.batch.batchId;try{const s=await Og(t.localStore,e);$u(t,r,null),qu(t,r),t.sharedClientState.updateMutationState(r,"acknowledged"),await mr(t,s)}catch(s){await Zn(s)}}async function w_(n,e,t){const r=B(n);try{const s=await function(a,c){const l=B(a);return l.persistence.runTransaction("Reject batch","readwrite-primary",d=>{let p;return l.mutationQueue.lookupMutationBatch(d,c).next(g=>(X(g!==null),p=g.keys(),l.mutationQueue.removeMutationBatch(d,g))).next(()=>l.mutationQueue.performConsistencyCheck(d)).next(()=>l.documentOverlayCache.removeOverlaysForBatchId(d,p,c)).next(()=>l.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(d,p)).next(()=>l.localDocuments.getDocuments(d,p))})}(r.localStore,e);$u(r,e,t),qu(r,e),r.sharedClientState.updateMutationState(e,"rejected",t),await mr(r,s)}catch(s){await Zn(s)}}function qu(n,e){(n.ka.get(e)||[]).forEach(t=>{t.resolve()}),n.ka.delete(e)}function $u(n,e,t){const r=B(n);let s=r.Ba[r.currentUser.toKey()];if(s){const i=s.get(e);i&&(t?i.reject(t):i.resolve(),s=s.remove(e)),r.Ba[r.currentUser.toKey()]=s}}function To(n,e,t=null){n.sharedClientState.removeLocalQueryTarget(e);for(const r of n.Ma.get(e))n.Fa.delete(r),t&&n.Ca.$a(r,t);n.Ma.delete(e),n.isPrimaryClient&&n.La.gr(e).forEach(r=>{n.La.containsKey(r)||zu(n,r)})}function zu(n,e){n.xa.delete(e.path.canonicalString());const t=n.Oa.get(e);t!==null&&(uo(n.remoteStore,t),n.Oa=n.Oa.remove(e),n.Na.delete(t),wo(n))}function Hu(n,e,t){for(const r of t)r instanceof Uu?(n.La.addReference(r.key,e),I_(n,r)):r instanceof xu?(V("SyncEngine","Document no longer in limbo: "+r.key),n.La.removeReference(r.key,e),n.La.containsKey(r.key)||zu(n,r.key)):F()}function I_(n,e){const t=e.key,r=t.path.canonicalString();n.Oa.get(t)||n.xa.has(r)||(V("SyncEngine","New document in limbo: "+t),n.xa.add(r),wo(n))}function wo(n){for(;n.xa.size>0&&n.Oa.size<n.maxConcurrentLimboResolutions;){const e=n.xa.values().next().value;n.xa.delete(e);const t=new L(ee.fromString(e)),r=n.qa.next();n.Na.set(r,new d_(t)),n.Oa=n.Oa.insert(t,r),Pu(n.remoteStore,new Ct(Ze(as(t.path)),r,"TargetPurposeLimboResolution",Ui.oe))}}async function mr(n,e,t){const r=B(n),s=[],i=[],a=[];r.Fa.isEmpty()||(r.Fa.forEach((c,l)=>{a.push(r.Ka(l,e,t).then(d=>{var p;if((d||t)&&r.isPrimaryClient){const g=d?!d.fromCache:(p=t==null?void 0:t.targetChanges.get(l.targetId))===null||p===void 0?void 0:p.current;r.sharedClientState.updateQueryState(l.targetId,g?"current":"not-current")}if(d){s.push(d);const g=io.Wi(l.targetId,d);i.push(g)}}))}),await Promise.all(a),r.Ca.d_(s),await async function(l,d){const p=B(l);try{await p.persistence.runTransaction("notifyLocalViewChanges","readwrite",g=>k.forEach(d,v=>k.forEach(v.$i,R=>p.persistence.referenceDelegate.addReference(g,v.targetId,R)).next(()=>k.forEach(v.Ui,R=>p.persistence.referenceDelegate.removeReference(g,v.targetId,R)))))}catch(g){if(!er(g))throw g;V("LocalStore","Failed to update sequence numbers: "+g)}for(const g of d){const v=g.targetId;if(!g.fromCache){const R=p.os.get(v),C=R.snapshotVersion,N=R.withLastLimboFreeSnapshotVersion(C);p.os=p.os.insert(v,N)}}}(r.localStore,i))}async function A_(n,e){const t=B(n);if(!t.currentUser.isEqual(e)){V("SyncEngine","User change. New user:",e.toKey());const r=await Eu(t.localStore,e);t.currentUser=e,function(i,a){i.ka.forEach(c=>{c.forEach(l=>{l.reject(new O(P.CANCELLED,a))})}),i.ka.clear()}(t,"'waitForPendingWrites' promise is rejected due to a user change."),t.sharedClientState.handleUserChange(e,r.removedBatchIds,r.addedBatchIds),await mr(t,r.hs)}}function R_(n,e){const t=B(n),r=t.Na.get(e);if(r&&r.va)return H().add(r.key);{let s=H();const i=t.Ma.get(e);if(!i)return s;for(const a of i){const c=t.Fa.get(a);s=s.unionWith(c.view.Va)}return s}}function Wu(n){const e=B(n);return e.remoteStore.remoteSyncer.applyRemoteEvent=Bu.bind(null,e),e.remoteStore.remoteSyncer.getRemoteKeysForTarget=R_.bind(null,e),e.remoteStore.remoteSyncer.rejectListen=E_.bind(null,e),e.Ca.d_=c_.bind(null,e.eventManager),e.Ca.$a=u_.bind(null,e.eventManager),e}function b_(n){const e=B(n);return e.remoteStore.remoteSyncer.applySuccessfulWrite=T_.bind(null,e),e.remoteStore.remoteSyncer.rejectFailedWrite=w_.bind(null,e),e}class Gu{constructor(){this.synchronizeTabs=!1}async initialize(e){this.serializer=Ts(e.databaseInfo.databaseId),this.sharedClientState=this.createSharedClientState(e),this.persistence=this.createPersistence(e),await this.persistence.start(),this.localStore=this.createLocalStore(e),this.gcScheduler=this.createGarbageCollectionScheduler(e,this.localStore),this.indexBackfillerScheduler=this.createIndexBackfillerScheduler(e,this.localStore)}createGarbageCollectionScheduler(e,t){return null}createIndexBackfillerScheduler(e,t){return null}createLocalStore(e){return Dg(this.persistence,new kg,e.initialUser,this.serializer)}createPersistence(e){return new Pg(so.Zr,this.serializer)}createSharedClientState(e){return new Fg}async terminate(){var e,t;(e=this.gcScheduler)===null||e===void 0||e.stop(),(t=this.indexBackfillerScheduler)===null||t===void 0||t.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}}class P_{async initialize(e,t){this.localStore||(this.localStore=e.localStore,this.sharedClientState=e.sharedClientState,this.datastore=this.createDatastore(t),this.remoteStore=this.createRemoteStore(t),this.eventManager=this.createEventManager(t),this.syncEngine=this.createSyncEngine(t,!e.synchronizeTabs),this.sharedClientState.onlineStateHandler=r=>ju(this.syncEngine,r,1),this.remoteStore.remoteSyncer.handleCredentialChange=A_.bind(null,this.syncEngine),await i_(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(e){return function(){return new a_}()}createDatastore(e){const t=Ts(e.databaseInfo.databaseId),r=function(i){return new $g(i)}(e.databaseInfo);return function(i,a,c,l){return new Wg(i,a,c,l)}(e.authCredentials,e.appCheckCredentials,r,t)}createRemoteStore(e){return function(r,s,i,a,c){return new Kg(r,s,i,a,c)}(this.localStore,this.datastore,e.asyncQueue,t=>ju(this.syncEngine,t,0),function(){return Au.D()?new Au:new Bg}())}createSyncEngine(e,t){return function(s,i,a,c,l,d,p){const g=new f_(s,i,a,c,l,d);return p&&(g.Qa=!0),g}(this.localStore,this.remoteStore,this.eventManager,this.sharedClientState,e.initialUser,e.maxConcurrentLimboResolutions,t)}async terminate(){var e,t;await async function(s){const i=B(s);V("RemoteStore","RemoteStore shutting down."),i.L_.add(5),await pr(i),i.k_.shutdown(),i.q_.set("Unknown")}(this.remoteStore),(e=this.datastore)===null||e===void 0||e.terminate(),(t=this.eventManager)===null||t===void 0||t.terminate()}}/**
|
|
1715
|
+
*/class _l{constructor(e){this.key=e}}class yl{constructor(e){this.key=e}}class iy{constructor(e,t){this.query=e,this.fa=t,this.ga=null,this.hasCachedResults=!1,this.current=!1,this.pa=W(),this.mutatedKeys=W(),this.ya=gu(e),this.wa=new kn(this.ya)}get ba(){return this.fa}Sa(e,t){const r=t?t.Da:new pl,s=t?t.wa:this.wa;let i=t?t.mutatedKeys:this.mutatedKeys,a=s,c=!1;const l=this.query.limitType==="F"&&s.size===this.query.limit?s.last():null,d=this.query.limitType==="L"&&s.size===this.query.limit?s.first():null;if(e.inorderTraversal((f,m)=>{const v=s.get(f),R=vs(this.query,m)?m:null,S=!!v&&this.mutatedKeys.has(v.key),N=!!R&&(R.hasLocalMutations||this.mutatedKeys.has(R.key)&&R.hasCommittedMutations);let k=!1;v&&R?v.data.isEqual(R.data)?S!==N&&(r.track({type:3,doc:R}),k=!0):this.va(v,R)||(r.track({type:2,doc:R}),k=!0,(l&&this.ya(R,l)>0||d&&this.ya(R,d)<0)&&(c=!0)):!v&&R?(r.track({type:0,doc:R}),k=!0):v&&!R&&(r.track({type:1,doc:v}),k=!0,(l||d)&&(c=!0)),k&&(R?(a=a.add(R),i=N?i.add(f):i.delete(f)):(a=a.delete(f),i=i.delete(f)))}),this.query.limit!==null)for(;a.size>this.query.limit;){const f=this.query.limitType==="F"?a.last():a.first();a=a.delete(f.key),i=i.delete(f.key),r.track({type:1,doc:f})}return{wa:a,Da:r,ls:c,mutatedKeys:i}}va(e,t){return e.hasLocalMutations&&t.hasCommittedMutations&&!t.hasLocalMutations}applyChanges(e,t,r,s){const i=this.wa;this.wa=e.wa,this.mutatedKeys=e.mutatedKeys;const a=e.Da.X_();a.sort((f,m)=>function(R,S){const N=k=>{switch(k){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return F()}};return N(R)-N(S)}(f.type,m.type)||this.ya(f.doc,m.doc)),this.Ca(r),s=s!=null&&s;const c=t&&!s?this.Fa():[],l=this.pa.size===0&&this.current&&!s?1:0,d=l!==this.ga;return this.ga=l,a.length!==0||d?{snapshot:new Nn(this.query,e.wa,i,a,e.mutatedKeys,l===0,d,!1,!!r&&r.resumeToken.approximateByteSize()>0),Ma:c}:{Ma:c}}sa(e){return this.current&&e==="Offline"?(this.current=!1,this.applyChanges({wa:this.wa,Da:new pl,mutatedKeys:this.mutatedKeys,ls:!1},!1)):{Ma:[]}}xa(e){return!this.fa.has(e)&&!!this.wa.has(e)&&!this.wa.get(e).hasLocalMutations}Ca(e){e&&(e.addedDocuments.forEach(t=>this.fa=this.fa.add(t)),e.modifiedDocuments.forEach(t=>{}),e.removedDocuments.forEach(t=>this.fa=this.fa.delete(t)),this.current=e.current)}Fa(){if(!this.current)return[];const e=this.pa;this.pa=W(),this.wa.forEach(r=>{this.xa(r.key)&&(this.pa=this.pa.add(r.key))});const t=[];return e.forEach(r=>{this.pa.has(r)||t.push(new yl(r))}),this.pa.forEach(r=>{e.has(r)||t.push(new _l(r))}),t}Oa(e){this.fa=e.gs,this.pa=W();const t=this.Sa(e.documents);return this.applyChanges(t,!0)}Na(){return Nn.fromInitialDocuments(this.query,this.wa,this.mutatedKeys,this.ga===0,this.hasCachedResults)}}const Lo="SyncEngine";class oy{constructor(e,t,r){this.query=e,this.targetId=t,this.view=r}}class ay{constructor(e){this.key=e,this.Ba=!1}}class cy{constructor(e,t,r,s,i,a){this.localStore=e,this.remoteStore=t,this.eventManager=r,this.sharedClientState=s,this.currentUser=i,this.maxConcurrentLimboResolutions=a,this.La={},this.ka=new en(c=>mu(c),ys),this.qa=new Map,this.Qa=new Set,this.$a=new re(L.comparator),this.Ka=new Map,this.Ua=new go,this.Wa={},this.Ga=new Map,this.za=Sn.Un(),this.onlineState="Unknown",this.ja=void 0}get isPrimaryClient(){return this.ja===!0}}async function uy(n,e,t=!0){const r=bl(n);let s;const i=r.ka.get(e);return i?(r.sharedClientState.addLocalQueryTarget(i.targetId),s=i.view.Na()):s=await vl(r,e,t,!0),s}async function ly(n,e){const t=bl(n);await vl(t,e,!0,!1)}async function vl(n,e,t,r){const s=await k_(n.localStore,nt(e)),i=s.targetId,a=n.sharedClientState.addLocalQueryTarget(i,t);let c;return r&&(c=await hy(n,e,i,a==="current",s.resumeToken)),n.isPrimaryClient&&t&&al(n.remoteStore,s),c}async function hy(n,e,t,r,s){n.Ha=(m,v,R)=>async function(N,k,U,$){let x=k.view.Sa(U);x.ls&&(x=await el(N.localStore,k.query,!1).then(({documents:T})=>k.view.Sa(T,x)));const H=$&&$.targetChanges.get(k.targetId),he=$&&$.targetMismatches.get(k.targetId)!=null,J=k.view.applyChanges(x,N.isPrimaryClient,H,he);return Rl(N,k.targetId,J.Ma),J.snapshot}(n,m,v,R);const i=await el(n.localStore,e,!0),a=new iy(e,i.gs),c=a.Sa(i.documents),l=vr.createSynthesizedTargetChangeForCurrentChange(t,r&&n.onlineState!=="Offline",s),d=a.applyChanges(c,n.isPrimaryClient,l);Rl(n,t,d.Ma);const f=new oy(e,t,a);return n.ka.set(e,f),n.qa.has(t)?n.qa.get(t).push(e):n.qa.set(t,[e]),d.snapshot}async function dy(n,e,t){const r=B(n),s=r.ka.get(e),i=r.qa.get(s.targetId);if(i.length>1)return r.qa.set(s.targetId,i.filter(a=>!ys(a,e))),void r.ka.delete(e);r.isPrimaryClient?(r.sharedClientState.removeLocalQueryTarget(s.targetId),r.sharedClientState.isActiveQueryTarget(s.targetId)||await Eo(r.localStore,s.targetId,!1).then(()=>{r.sharedClientState.clearQueryState(s.targetId),t&&Ao(r.remoteStore,s.targetId),Mo(r,s.targetId)}).catch(En)):(Mo(r,s.targetId),await Eo(r.localStore,s.targetId,!0))}async function fy(n,e){const t=B(n),r=t.ka.get(e),s=t.qa.get(r.targetId);t.isPrimaryClient&&s.length===1&&(t.sharedClientState.removeLocalQueryTarget(r.targetId),Ao(t.remoteStore,r.targetId))}async function py(n,e,t){const r=Ty(n);try{const s=await function(a,c){const l=B(a),d=ue.now(),f=c.reduce((R,S)=>R.add(S.key),W());let m,v;return l.persistence.runTransaction("Locally write mutations","readwrite",R=>{let S=pt(),N=W();return l.ds.getEntries(R,f).next(k=>{S=k,S.forEach((U,$)=>{$.isValidDocument()||(N=N.add(U))})}).next(()=>l.localDocuments.getOverlayedDocuments(R,S)).next(k=>{m=k;const U=[];for(const $ of c){const x=Sg($,m.get($.key).overlayedDocument);x!=null&&U.push(new Vt($.key,x,ru(x.value.mapValue),$e.exists(!0)))}return l.mutationQueue.addMutationBatch(R,d,U,c)}).next(k=>{v=k;const U=k.applyToLocalDocumentSet(m,N);return l.documentOverlayCache.saveOverlays(R,k.batchId,U)})}).then(()=>({batchId:v.batchId,changes:yu(m)}))}(r.localStore,e);r.sharedClientState.addPendingMutation(s.batchId),function(a,c,l){let d=a.Wa[a.currentUser.toKey()];d||(d=new re(G)),d=d.insert(c,l),a.Wa[a.currentUser.toKey()]=d}(r,s.batchId,t),await Tr(r,s.changes),await Ls(r.remoteStore)}catch(s){const i=Co(s,"Failed to persist write");t.reject(i)}}async function El(n,e){const t=B(n);try{const r=await P_(t.localStore,e);e.targetChanges.forEach((s,i)=>{const a=t.Ka.get(i);a&&(Y(s.addedDocuments.size+s.modifiedDocuments.size+s.removedDocuments.size<=1),s.addedDocuments.size>0?a.Ba=!0:s.modifiedDocuments.size>0?Y(a.Ba):s.removedDocuments.size>0&&(Y(a.Ba),a.Ba=!1))}),await Tr(t,r,e)}catch(r){await En(r)}}function Tl(n,e,t){const r=B(n);if(r.isPrimaryClient&&t===0||!r.isPrimaryClient&&t===1){const s=[];r.ka.forEach((i,a)=>{const c=a.view.sa(e);c.snapshot&&s.push(c.snapshot)}),function(a,c){const l=B(a);l.onlineState=c;let d=!1;l.queries.forEach((f,m)=>{for(const v of m.ta)v.sa(c)&&(d=!0)}),d&&Do(l)}(r.eventManager,e),s.length&&r.La.p_(s),r.onlineState=e,r.isPrimaryClient&&r.sharedClientState.setOnlineState(e)}}async function my(n,e,t){const r=B(n);r.sharedClientState.updateQueryState(e,"rejected",t);const s=r.Ka.get(e),i=s&&s.key;if(i){let a=new re(L.comparator);a=a.insert(i,Ie.newNoDocument(i,j.min()));const c=W().add(i),l=new bs(j.min(),new Map,new re(G),a,c);await El(r,l),r.$a=r.$a.remove(i),r.Ka.delete(e),Uo(r)}else await Eo(r.localStore,e,!1).then(()=>Mo(r,e,t)).catch(En)}async function gy(n,e){const t=B(n),r=e.batch.batchId;try{const s=await b_(t.localStore,e);Il(t,r,null),wl(t,r),t.sharedClientState.updateMutationState(r,"acknowledged"),await Tr(t,s)}catch(s){await En(s)}}async function _y(n,e,t){const r=B(n);try{const s=await function(a,c){const l=B(a);return l.persistence.runTransaction("Reject batch","readwrite-primary",d=>{let f;return l.mutationQueue.lookupMutationBatch(d,c).next(m=>(Y(m!==null),f=m.keys(),l.mutationQueue.removeMutationBatch(d,m))).next(()=>l.mutationQueue.performConsistencyCheck(d)).next(()=>l.documentOverlayCache.removeOverlaysForBatchId(d,f,c)).next(()=>l.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(d,f)).next(()=>l.localDocuments.getDocuments(d,f))})}(r.localStore,e);Il(r,e,t),wl(r,e),r.sharedClientState.updateMutationState(e,"rejected",t),await Tr(r,s)}catch(s){await En(s)}}function wl(n,e){(n.Ga.get(e)||[]).forEach(t=>{t.resolve()}),n.Ga.delete(e)}function Il(n,e,t){const r=B(n);let s=r.Wa[r.currentUser.toKey()];if(s){const i=s.get(e);i&&(t?i.reject(t):i.resolve(),s=s.remove(e)),r.Wa[r.currentUser.toKey()]=s}}function Mo(n,e,t=null){n.sharedClientState.removeLocalQueryTarget(e);for(const r of n.qa.get(e))n.ka.delete(r),t&&n.La.Ja(r,t);n.qa.delete(e),n.isPrimaryClient&&n.Ua.Sr(e).forEach(r=>{n.Ua.containsKey(r)||Al(n,r)})}function Al(n,e){n.Qa.delete(e.path.canonicalString());const t=n.$a.get(e);t!==null&&(Ao(n.remoteStore,t),n.$a=n.$a.remove(e),n.Ka.delete(t),Uo(n))}function Rl(n,e,t){for(const r of t)r instanceof _l?(n.Ua.addReference(r.key,e),yy(n,r)):r instanceof yl?(V(Lo,"Document no longer in limbo: "+r.key),n.Ua.removeReference(r.key,e),n.Ua.containsKey(r.key)||Al(n,r.key)):F()}function yy(n,e){const t=e.key,r=t.path.canonicalString();n.$a.get(t)||n.Qa.has(r)||(V(Lo,"New document in limbo: "+t),n.Qa.add(r),Uo(n))}function Uo(n){for(;n.Qa.size>0&&n.$a.size<n.maxConcurrentLimboResolutions;){const e=n.Qa.values().next().value;n.Qa.delete(e);const t=new L(ee.fromString(e)),r=n.za.next();n.Ka.set(r,new ay(t)),n.$a=n.$a.insert(t,r),al(n.remoteStore,new Mt(nt(gs(t.path)),r,"TargetPurposeLimboResolution",ss.ae))}}async function Tr(n,e,t){const r=B(n),s=[],i=[],a=[];r.ka.isEmpty()||(r.ka.forEach((c,l)=>{a.push(r.Ha(l,e,t).then(d=>{var f;if((d||t)&&r.isPrimaryClient){const m=d?!d.fromCache:(f=t==null?void 0:t.targetChanges.get(l.targetId))===null||f===void 0?void 0:f.current;r.sharedClientState.updateQueryState(l.targetId,m?"current":"not-current")}if(d){s.push(d);const m=yo.Yi(l.targetId,d);i.push(m)}}))}),await Promise.all(a),r.La.p_(s),await async function(l,d){const f=B(l);try{await f.persistence.runTransaction("notifyLocalViewChanges","readwrite",m=>C.forEach(d,v=>C.forEach(v.Hi,R=>f.persistence.referenceDelegate.addReference(m,v.targetId,R)).next(()=>C.forEach(v.Ji,R=>f.persistence.referenceDelegate.removeReference(m,v.targetId,R)))))}catch(m){if(!Tn(m))throw m;V(vo,"Failed to update sequence numbers: "+m)}for(const m of d){const v=m.targetId;if(!m.fromCache){const R=f.Ts.get(v),S=R.snapshotVersion,N=R.withLastLimboFreeSnapshotVersion(S);f.Ts=f.Ts.insert(v,N)}}}(r.localStore,i))}async function vy(n,e){const t=B(n);if(!t.currentUser.isEqual(e)){V(Lo,"User change. New user:",e.toKey());const r=await Ju(t.localStore,e);t.currentUser=e,function(i,a){i.Ga.forEach(c=>{c.forEach(l=>{l.reject(new O(P.CANCELLED,a))})}),i.Ga.clear()}(t,"'waitForPendingWrites' promise is rejected due to a user change."),t.sharedClientState.handleUserChange(e,r.removedBatchIds,r.addedBatchIds),await Tr(t,r.Rs)}}function Ey(n,e){const t=B(n),r=t.Ka.get(e);if(r&&r.Ba)return W().add(r.key);{let s=W();const i=t.qa.get(e);if(!i)return s;for(const a of i){const c=t.ka.get(a);s=s.unionWith(c.view.ba)}return s}}function bl(n){const e=B(n);return e.remoteStore.remoteSyncer.applyRemoteEvent=El.bind(null,e),e.remoteStore.remoteSyncer.getRemoteKeysForTarget=Ey.bind(null,e),e.remoteStore.remoteSyncer.rejectListen=my.bind(null,e),e.La.p_=ry.bind(null,e.eventManager),e.La.Ja=sy.bind(null,e.eventManager),e}function Ty(n){const e=B(n);return e.remoteStore.remoteSyncer.applySuccessfulWrite=gy.bind(null,e),e.remoteStore.remoteSyncer.rejectFailedWrite=_y.bind(null,e),e}class Ms{constructor(){this.kind="memory",this.synchronizeTabs=!1}async initialize(e){this.serializer=Ds(e.databaseInfo.databaseId),this.sharedClientState=this.Za(e),this.persistence=this.Xa(e),await this.persistence.start(),this.localStore=this.eu(e),this.gcScheduler=this.tu(e,this.localStore),this.indexBackfillerScheduler=this.nu(e,this.localStore)}tu(e,t){return null}nu(e,t){return null}eu(e){return R_(this.persistence,new w_,e.initialUser,this.serializer)}Xa(e){return new Yu(_o.ri,this.serializer)}Za(e){return new D_}async terminate(){var e,t;(e=this.gcScheduler)===null||e===void 0||e.stop(),(t=this.indexBackfillerScheduler)===null||t===void 0||t.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}}Ms.provider={build:()=>new Ms};class wy extends Ms{constructor(e){super(),this.cacheSizeBytes=e}tu(e,t){Y(this.persistence.referenceDelegate instanceof ks);const r=this.persistence.referenceDelegate.garbageCollector;return new a_(r,e.asyncQueue,t)}Xa(e){const t=this.cacheSizeBytes!==void 0?Oe.withCacheSize(this.cacheSizeBytes):Oe.DEFAULT;return new Yu(r=>ks.ri(r,t),this.serializer)}}class xo{async initialize(e,t){this.localStore||(this.localStore=e.localStore,this.sharedClientState=e.sharedClientState,this.datastore=this.createDatastore(t),this.remoteStore=this.createRemoteStore(t),this.eventManager=this.createEventManager(t),this.syncEngine=this.createSyncEngine(t,!e.synchronizeTabs),this.sharedClientState.onlineStateHandler=r=>Tl(this.syncEngine,r,1),this.remoteStore.remoteSyncer.handleCredentialChange=vy.bind(null,this.syncEngine),await ey(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(e){return function(){return new ny}()}createDatastore(e){const t=Ds(e.databaseInfo.databaseId),r=function(i){return new U_(i)}(e.databaseInfo);return function(i,a,c,l){return new j_(i,a,c,l)}(e.authCredentials,e.appCheckCredentials,r,t)}createRemoteStore(e){return function(r,s,i,a,c){return new $_(r,s,i,a,c)}(this.localStore,this.datastore,e.asyncQueue,t=>Tl(this.syncEngine,t,0),function(){return rl.D()?new rl:new O_}())}createSyncEngine(e,t){return function(s,i,a,c,l,d,f){const m=new cy(s,i,a,c,l,d);return f&&(m.ja=!0),m}(this.localStore,this.remoteStore,this.eventManager,this.sharedClientState,e.initialUser,e.maxConcurrentLimboResolutions,t)}async terminate(){var e,t;await async function(s){const i=B(s);V(nn,"RemoteStore shutting down."),i.W_.add(5),await Er(i),i.z_.shutdown(),i.j_.set("Unknown")}(this.remoteStore),(e=this.datastore)===null||e===void 0||e.terminate(),(t=this.eventManager)===null||t===void 0||t.terminate()}}xo.provider={build:()=>new xo};/**
|
|
1636
1716
|
* @license
|
|
1637
1717
|
* Copyright 2020 Google LLC
|
|
1638
1718
|
*
|
|
@@ -1662,7 +1742,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1662
1742
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1663
1743
|
* See the License for the specific language governing permissions and
|
|
1664
1744
|
* limitations under the License.
|
|
1665
|
-
*/class
|
|
1745
|
+
*/class Fo{constructor(e){this.observer=e,this.muted=!1}next(e){this.muted||this.observer.next&&this.iu(this.observer.next,e)}error(e){this.muted||(this.observer.error?this.iu(this.observer.error,e):ft("Uncaught Error in snapshot listener:",e.toString()))}su(){this.muted=!0}iu(e,t){setTimeout(()=>{this.muted||e(t)},0)}}/**
|
|
1666
1746
|
* @license
|
|
1667
1747
|
* Copyright 2017 Google LLC
|
|
1668
1748
|
*
|
|
@@ -1677,7 +1757,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1677
1757
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1678
1758
|
* See the License for the specific language governing permissions and
|
|
1679
1759
|
* limitations under the License.
|
|
1680
|
-
*/class
|
|
1760
|
+
*/const xt="FirestoreClient";class Iy{constructor(e,t,r,s,i){this.authCredentials=e,this.appCheckCredentials=t,this.asyncQueue=r,this.databaseInfo=s,this.user=we.UNAUTHENTICATED,this.clientId=Uc.newId(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this._uninitializedComponentsProvider=i,this.authCredentials.start(r,async a=>{V(xt,"Received user=",a.uid),await this.authCredentialListener(a),this.user=a}),this.appCheckCredentials.start(r,a=>(V(xt,"Received new app check token=",a),this.appCheckCredentialListener(a,this.user)))}get configuration(){return{asyncQueue:this.asyncQueue,databaseInfo:this.databaseInfo,clientId:this.clientId,authCredentials:this.authCredentials,appCheckCredentials:this.appCheckCredentials,initialUser:this.user,maxConcurrentLimboResolutions:100}}setCredentialChangeListener(e){this.authCredentialListener=e}setAppCheckTokenChangeListener(e){this.appCheckCredentialListener=e}terminate(){this.asyncQueue.enterRestrictedMode();const e=new Ze;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted(async()=>{try{this._onlineComponents&&await this._onlineComponents.terminate(),this._offlineComponents&&await this._offlineComponents.terminate(),this.authCredentials.shutdown(),this.appCheckCredentials.shutdown(),e.resolve()}catch(t){const r=Co(t,"Failed to shutdown persistence");e.reject(r)}}),e.promise}}async function Bo(n,e){n.asyncQueue.verifyOperationInProgress(),V(xt,"Initializing OfflineComponentProvider");const t=n.configuration;await e.initialize(t);let r=t.initialUser;n.setCredentialChangeListener(async s=>{r.isEqual(s)||(await Ju(e.localStore,s),r=s)}),e.persistence.setDatabaseDeletedListener(()=>n.terminate()),n._offlineComponents=e}async function Pl(n,e){n.asyncQueue.verifyOperationInProgress();const t=await Ay(n);V(xt,"Initializing OnlineComponentProvider"),await e.initialize(t,n.configuration),n.setCredentialChangeListener(r=>fl(e.remoteStore,r)),n.setAppCheckTokenChangeListener((r,s)=>fl(e.remoteStore,s)),n._onlineComponents=e}async function Ay(n){if(!n._offlineComponents)if(n._uninitializedComponentsProvider){V(xt,"Using user provided OfflineComponentProvider");try{await Bo(n,n._uninitializedComponentsProvider._offline)}catch(e){const t=e;if(!function(s){return s.name==="FirebaseError"?s.code===P.FAILED_PRECONDITION||s.code===P.UNIMPLEMENTED:!(typeof DOMException<"u"&&s instanceof DOMException)||s.code===22||s.code===20||s.code===11}(t))throw t;yn("Error using user provided cache. Falling back to memory cache: "+t),await Bo(n,new Ms)}}else V(xt,"Using default OfflineComponentProvider"),await Bo(n,new wy(void 0));return n._offlineComponents}async function jo(n){return n._onlineComponents||(n._uninitializedComponentsProvider?(V(xt,"Using user provided OnlineComponentProvider"),await Pl(n,n._uninitializedComponentsProvider._online)):(V(xt,"Using default OnlineComponentProvider"),await Pl(n,new xo))),n._onlineComponents}function Ry(n){return jo(n).then(e=>e.syncEngine)}function by(n){return jo(n).then(e=>e.datastore)}async function Us(n){const e=await jo(n),t=e.eventManager;return t.onListen=uy.bind(null,e.syncEngine),t.onUnlisten=dy.bind(null,e.syncEngine),t.onFirstRemoteStoreListen=ly.bind(null,e.syncEngine),t.onLastRemoteStoreUnlisten=fy.bind(null,e.syncEngine),t}function Py(n,e,t={}){const r=new Ze;return n.asyncQueue.enqueueAndForget(async()=>function(i,a,c,l,d){const f=new Fo({next:v=>{f.su(),a.enqueueAndForget(()=>No(i,m));const R=v.docs.has(c);!R&&v.fromCache?d.reject(new O(P.UNAVAILABLE,"Failed to get document because the client is offline.")):R&&v.fromCache&&l&&l.source==="server"?d.reject(new O(P.UNAVAILABLE,'Failed to get document from server. (However, this document does exist in the local cache. Run again without setting source to "server" to retrieve the cached document.)')):d.resolve(v)},error:v=>d.reject(v)}),m=new Vo(gs(c.path),f,{includeMetadataChanges:!0,Ta:!0});return ko(i,m)}(await Us(n),n.asyncQueue,e,t,r)),r.promise}function Sy(n,e,t={}){const r=new Ze;return n.asyncQueue.enqueueAndForget(async()=>function(i,a,c,l,d){const f=new Fo({next:v=>{f.su(),a.enqueueAndForget(()=>No(i,m)),v.fromCache&&l.source==="server"?d.reject(new O(P.UNAVAILABLE,'Failed to get documents from server. (However, these documents may exist in the local cache. Run again without setting source to "server" to retrieve the cached documents.)')):d.resolve(v)},error:v=>d.reject(v)}),m=new Vo(c,f,{includeMetadataChanges:!0,Ta:!0});return ko(i,m)}(await Us(n),n.asyncQueue,e,t,r)),r.promise}function Cy(n,e,t){const r=new Ze;return n.asyncQueue.enqueueAndForget(async()=>{try{const s=await by(n);r.resolve(async function(a,c,l){var d;const f=B(a),{request:m,Pt:v,parent:R}=Kg(f.serializer,pg(c),l);f.connection.fo||delete m.parent;const S=(await f.Co("RunAggregationQuery",f.serializer.databaseId,R,m,1)).filter(k=>!!k.result);Y(S.length===1);const N=(d=S[0].result)===null||d===void 0?void 0:d.aggregateFields;return Object.keys(N).reduce((k,U)=>(k[v[U]]=N[U],k),{})}(s,e,t))}catch(s){r.reject(s)}}),r.promise}/**
|
|
1681
1761
|
* @license
|
|
1682
1762
|
* Copyright 2023 Google LLC
|
|
1683
1763
|
*
|
|
@@ -1692,7 +1772,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1692
1772
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1693
1773
|
* See the License for the specific language governing permissions and
|
|
1694
1774
|
* limitations under the License.
|
|
1695
|
-
*/function
|
|
1775
|
+
*/function Sl(n){const e={};return n.timeoutSeconds!==void 0&&(e.timeoutSeconds=n.timeoutSeconds),e}/**
|
|
1696
1776
|
* @license
|
|
1697
1777
|
* Copyright 2020 Google LLC
|
|
1698
1778
|
*
|
|
@@ -1707,7 +1787,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1707
1787
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1708
1788
|
* See the License for the specific language governing permissions and
|
|
1709
1789
|
* limitations under the License.
|
|
1710
|
-
*/const
|
|
1790
|
+
*/const Cl=new Map;/**
|
|
1711
1791
|
* @license
|
|
1712
1792
|
* Copyright 2017 Google LLC
|
|
1713
1793
|
*
|
|
@@ -1722,7 +1802,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1722
1802
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1723
1803
|
* See the License for the specific language governing permissions and
|
|
1724
1804
|
* limitations under the License.
|
|
1725
|
-
*/function
|
|
1805
|
+
*/function kl(n,e,t){if(!t)throw new O(P.INVALID_ARGUMENT,`Function ${n}() cannot be called with an empty ${e}.`)}function ky(n,e,t,r){if(e===!0&&r===!0)throw new O(P.INVALID_ARGUMENT,`${n} and ${t} cannot be used together.`)}function Nl(n){if(!L.isDocumentKey(n))throw new O(P.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${n} has ${n.length}.`)}function Dl(n){if(L.isDocumentKey(n))throw new O(P.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${n} has ${n.length}.`)}function xs(n){if(n===void 0)return"undefined";if(n===null)return"null";if(typeof n=="string")return n.length>20&&(n=`${n.substring(0,20)}...`),JSON.stringify(n);if(typeof n=="number"||typeof n=="boolean")return""+n;if(typeof n=="object"){if(n instanceof Array)return"an array";{const e=function(r){return r.constructor?r.constructor.name:null}(n);return e?`a custom ${e} object`:"an object"}}return typeof n=="function"?"a function":F()}function Ge(n,e){if("_delegate"in n&&(n=n._delegate),!(n instanceof e)){if(e.name===n.constructor.name)throw new O(P.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");{const t=xs(n);throw new O(P.INVALID_ARGUMENT,`Expected type '${e.name}', but it was: ${t}`)}}return n}function Ny(n,e){if(e<=0)throw new O(P.INVALID_ARGUMENT,`Function ${n}() requires a positive number, but it was: ${e}.`)}/**
|
|
1726
1806
|
* @license
|
|
1727
1807
|
* Copyright 2020 Google LLC
|
|
1728
1808
|
*
|
|
@@ -1737,7 +1817,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1737
1817
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1738
1818
|
* See the License for the specific language governing permissions and
|
|
1739
1819
|
* limitations under the License.
|
|
1740
|
-
*/class
|
|
1820
|
+
*/const Ol="firestore.googleapis.com",Vl=!0;class Ll{constructor(e){var t,r;if(e.host===void 0){if(e.ssl!==void 0)throw new O(P.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host=Ol,this.ssl=Vl}else this.host=e.host,this.ssl=(t=e.ssl)!==null&&t!==void 0?t:Vl;if(this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,this.localCache=e.localCache,e.cacheSizeBytes===void 0)this.cacheSizeBytes=Ku;else{if(e.cacheSizeBytes!==-1&&e.cacheSizeBytes<i_)throw new O(P.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}ky("experimentalForceLongPolling",e.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",e.experimentalAutoDetectLongPolling),this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalForceLongPolling?this.experimentalAutoDetectLongPolling=!1:e.experimentalAutoDetectLongPolling===void 0?this.experimentalAutoDetectLongPolling=!0:this.experimentalAutoDetectLongPolling=!!e.experimentalAutoDetectLongPolling,this.experimentalLongPollingOptions=Sl((r=e.experimentalLongPollingOptions)!==null&&r!==void 0?r:{}),function(i){if(i.timeoutSeconds!==void 0){if(isNaN(i.timeoutSeconds))throw new O(P.INVALID_ARGUMENT,`invalid long polling timeout: ${i.timeoutSeconds} (must not be NaN)`);if(i.timeoutSeconds<5)throw new O(P.INVALID_ARGUMENT,`invalid long polling timeout: ${i.timeoutSeconds} (minimum allowed value is 5)`);if(i.timeoutSeconds>30)throw new O(P.INVALID_ARGUMENT,`invalid long polling timeout: ${i.timeoutSeconds} (maximum allowed value is 30)`)}}(this.experimentalLongPollingOptions),this.useFetchStreams=!!e.useFetchStreams}isEqual(e){return this.host===e.host&&this.ssl===e.ssl&&this.credentials===e.credentials&&this.cacheSizeBytes===e.cacheSizeBytes&&this.experimentalForceLongPolling===e.experimentalForceLongPolling&&this.experimentalAutoDetectLongPolling===e.experimentalAutoDetectLongPolling&&function(r,s){return r.timeoutSeconds===s.timeoutSeconds}(this.experimentalLongPollingOptions,e.experimentalLongPollingOptions)&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams}}class Fs{constructor(e,t,r,s){this._authCredentials=e,this._appCheckCredentials=t,this._databaseId=r,this._app=s,this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new Ll({}),this._settingsFrozen=!1,this._emulatorOptions={},this._terminateTask="notTerminated"}get app(){if(!this._app)throw new O(P.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this._app}get _initialized(){return this._settingsFrozen}get _terminated(){return this._terminateTask!=="notTerminated"}_setSettings(e){if(this._settingsFrozen)throw new O(P.FAILED_PRECONDITION,"Firestore has already been started and its settings can no longer be changed. You can only modify settings before calling any other methods on a Firestore object.");this._settings=new Ll(e),this._emulatorOptions=e.emulatorOptions||{},e.credentials!==void 0&&(this._authCredentials=function(r){if(!r)return new Vm;switch(r.type){case"firstParty":return new xm(r.sessionIndex||"0",r.iamToken||null,r.authTokenFactory||null);case"provider":return r.client;default:throw new O(P.INVALID_ARGUMENT,"makeAuthCredentialsProvider failed due to invalid credential type")}}(e.credentials))}_getSettings(){return this._settings}_getEmulatorOptions(){return this._emulatorOptions}_freezeSettings(){return this._settingsFrozen=!0,this._settings}_delete(){return this._terminateTask==="notTerminated"&&(this._terminateTask=this._terminate()),this._terminateTask}async _restart(){this._terminateTask==="notTerminated"?await this._terminate():this._terminateTask="notTerminated"}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){return function(t){const r=Cl.get(t);r&&(V("ComponentProvider","Removing Datastore"),Cl.delete(t),r.terminate())}(this),Promise.resolve()}}function Ml(n,e,t,r={}){var s;const i=(n=Ge(n,Fs))._getSettings(),a=Object.assign(Object.assign({},i),{emulatorOptions:n._getEmulatorOptions()}),c=`${e}:${t}`;i.host!==Ol&&i.host!==c&&yn("Host has been set in both settings() and connectFirestoreEmulator(), emulator host will be used.");const l=Object.assign(Object.assign({},i),{host:c,ssl:!1,emulatorOptions:r});if(!Qt(l,a)&&(n._setSettings(l),r.mockUserToken)){let d,f;if(typeof r.mockUserToken=="string")d=r.mockUserToken,f=we.MOCK_USER;else{d=hc(r.mockUserToken,(s=n._app)===null||s===void 0?void 0:s.options.projectId);const m=r.mockUserToken.sub||r.mockUserToken.user_id;if(!m)throw new O(P.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");f=new we(m)}n._authCredentials=new Lm(new Lc(d,f))}}/**
|
|
1741
1821
|
* @license
|
|
1742
1822
|
* Copyright 2020 Google LLC
|
|
1743
1823
|
*
|
|
@@ -1752,7 +1832,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1752
1832
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1753
1833
|
* See the License for the specific language governing permissions and
|
|
1754
1834
|
* limitations under the License.
|
|
1755
|
-
*/class
|
|
1835
|
+
*/class st{constructor(e,t,r){this.converter=t,this._query=r,this.type="query",this.firestore=e}withConverter(e){return new st(this.firestore,e,this._query)}}class Ve{constructor(e,t,r){this.converter=t,this._key=r,this.type="document",this.firestore=e}get _path(){return this._key.path}get id(){return this._key.path.lastSegment()}get path(){return this._key.path.canonicalString()}get parent(){return new Ft(this.firestore,this.converter,this._key.path.popLast())}withConverter(e){return new Ve(this.firestore,e,this._key)}}class Ft extends st{constructor(e,t,r){super(e,t,gs(r)),this._path=r,this.type="collection"}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){const e=this._path.popLast();return e.isEmpty()?null:new Ve(this.firestore,null,new L(e))}withConverter(e){return new Ft(this.firestore,e,this._path)}}function Ul(n,e,...t){if(n=X(n),kl("collection","path",e),n instanceof Fs){const r=ee.fromString(e,...t);return Dl(r),new Ft(n,null,r)}{if(!(n instanceof Ve||n instanceof Ft))throw new O(P.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");const r=n._path.child(ee.fromString(e,...t));return Dl(r),new Ft(n.firestore,null,r)}}function Bs(n,e,...t){if(n=X(n),arguments.length===1&&(e=Uc.newId()),kl("doc","path",e),n instanceof Fs){const r=ee.fromString(e,...t);return Nl(r),new Ve(n,null,new L(r))}{if(!(n instanceof Ve||n instanceof Ft))throw new O(P.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");const r=n._path.child(ee.fromString(e,...t));return Nl(r),new Ve(n.firestore,n instanceof Ft?n.converter:null,new L(r))}}/**
|
|
1756
1836
|
* @license
|
|
1757
1837
|
* Copyright 2020 Google LLC
|
|
1758
1838
|
*
|
|
@@ -1767,8 +1847,8 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1767
1847
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1768
1848
|
* See the License for the specific language governing permissions and
|
|
1769
1849
|
* limitations under the License.
|
|
1770
|
-
*/class
|
|
1771
|
-
`+a.stack),c}(r);throw
|
|
1850
|
+
*/const xl="AsyncQueue";class Fl{constructor(e=Promise.resolve()){this.Vu=[],this.mu=!1,this.fu=[],this.gu=null,this.pu=!1,this.yu=!1,this.wu=[],this.a_=new sl(this,"async_queue_retry"),this.bu=()=>{const r=Io();r&&V(xl,"Visibility state changed to "+r.visibilityState),this.a_.t_()},this.Su=e;const t=Io();t&&typeof t.addEventListener=="function"&&t.addEventListener("visibilitychange",this.bu)}get isShuttingDown(){return this.mu}enqueueAndForget(e){this.enqueue(e)}enqueueAndForgetEvenWhileRestricted(e){this.Du(),this.vu(e)}enterRestrictedMode(e){if(!this.mu){this.mu=!0,this.yu=e||!1;const t=Io();t&&typeof t.removeEventListener=="function"&&t.removeEventListener("visibilitychange",this.bu)}}enqueue(e){if(this.Du(),this.mu)return new Promise(()=>{});const t=new Ze;return this.vu(()=>this.mu&&this.yu?Promise.resolve():(e().then(t.resolve,t.reject),t.promise)).then(()=>t.promise)}enqueueRetryable(e){this.enqueueAndForget(()=>(this.Vu.push(e),this.Cu()))}async Cu(){if(this.Vu.length!==0){try{await this.Vu[0](),this.Vu.shift(),this.a_.reset()}catch(e){if(!Tn(e))throw e;V(xl,"Operation failed with retryable error: "+e)}this.Vu.length>0&&this.a_.Xo(()=>this.Cu())}}vu(e){const t=this.Su.then(()=>(this.pu=!0,e().catch(r=>{this.gu=r,this.pu=!1;const s=function(a){let c=a.message||"";return a.stack&&(c=a.stack.includes(a.message)?a.stack:a.message+`
|
|
1851
|
+
`+a.stack),c}(r);throw ft("INTERNAL UNHANDLED ERROR: ",s),r}).then(r=>(this.pu=!1,r))));return this.Su=t,t}enqueueAfterDelay(e,t,r){this.Du(),this.wu.indexOf(e)>-1&&(t=0);const s=So.createAndSchedule(this,e,t,r,i=>this.Fu(i));return this.fu.push(s),s}Du(){this.gu&&F()}verifyOperationInProgress(){}async Mu(){let e;do e=this.Su,await e;while(e!==this.Su)}xu(e){for(const t of this.fu)if(t.timerId===e)return!0;return!1}Ou(e){return this.Mu().then(()=>{this.fu.sort((t,r)=>t.targetTimeMs-r.targetTimeMs);for(const t of this.fu)if(t.skipDelay(),e!=="all"&&t.timerId===e)break;return this.Mu()})}Nu(e){this.wu.push(e)}Fu(e){const t=this.fu.indexOf(e);this.fu.splice(t,1)}}function Bl(n){return function(t,r){if(typeof t!="object"||t===null)return!1;const s=t;for(const i of r)if(i in s&&typeof s[i]=="function")return!0;return!1}(n,["next","error","complete"])}class Bt extends Fs{constructor(e,t,r,s){super(e,t,r,s),this.type="firestore",this._queue=new Fl,this._persistenceKey=(s==null?void 0:s.name)||"[DEFAULT]"}async _terminate(){if(this._firestoreClient){const e=this._firestoreClient.terminate();this._queue=new Fl(e),this._firestoreClient=void 0,await e}}}function Dy(n,e){const t=typeof n=="object"?n:ts(),r=typeof n=="string"?n:ls,s=rr(t,"firestore").getImmediate({identifier:r});if(!s._initialized){const i=Li("firestore");i&&Ml(s,...i)}return s}function Dn(n){if(n._terminated)throw new O(P.FAILED_PRECONDITION,"The client has already been terminated.");return n._firestoreClient||Oy(n),n._firestoreClient}function Oy(n){var e,t,r;const s=n._freezeSettings(),i=function(c,l,d,f){return new Zm(c,l,d,f.host,f.ssl,f.experimentalForceLongPolling,f.experimentalAutoDetectLongPolling,Sl(f.experimentalLongPollingOptions),f.useFetchStreams)}(n._databaseId,((e=n._app)===null||e===void 0?void 0:e.options.appId)||"",n._persistenceKey,s);n._componentsProvider||!((t=s.localCache)===null||t===void 0)&&t._offlineComponentProvider&&(!((r=s.localCache)===null||r===void 0)&&r._onlineComponentProvider)&&(n._componentsProvider={_offline:s.localCache._offlineComponentProvider,_online:s.localCache._onlineComponentProvider}),n._firestoreClient=new Iy(n._authCredentials,n._appCheckCredentials,n._queue,i,n._componentsProvider&&function(c){const l=c==null?void 0:c._online.build();return{_offline:c==null?void 0:c._offline.build(l),_online:l}}(n._componentsProvider))}/**
|
|
1772
1852
|
* @license
|
|
1773
1853
|
* Copyright 2020 Google LLC
|
|
1774
1854
|
*
|
|
@@ -1798,7 +1878,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1798
1878
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1799
1879
|
* See the License for the specific language governing permissions and
|
|
1800
1880
|
* limitations under the License.
|
|
1801
|
-
*/class
|
|
1881
|
+
*/class Vy{constructor(e="count",t){this._internalFieldPath=t,this.type="AggregateField",this.aggregateType=e}}class Ly{constructor(e,t,r){this._userDataWriter=t,this._data=r,this.type="AggregateQuerySnapshot",this.query=e}data(){return this._userDataWriter.convertObjectMap(this._data)}}/**
|
|
1802
1882
|
* @license
|
|
1803
1883
|
* Copyright 2020 Google LLC
|
|
1804
1884
|
*
|
|
@@ -1813,7 +1893,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1813
1893
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1814
1894
|
* See the License for the specific language governing permissions and
|
|
1815
1895
|
* limitations under the License.
|
|
1816
|
-
*/class
|
|
1896
|
+
*/class On{constructor(e){this._byteString=e}static fromBase64String(e){try{return new On(_e.fromBase64String(e))}catch(t){throw new O(P.INVALID_ARGUMENT,"Failed to construct data from Base64 string: "+t)}}static fromUint8Array(e){return new On(_e.fromUint8Array(e))}toBase64(){return this._byteString.toBase64()}toUint8Array(){return this._byteString.toUint8Array()}toString(){return"Bytes(base64: "+this.toBase64()+")"}isEqual(e){return this._byteString.isEqual(e._byteString)}}/**
|
|
1817
1897
|
* @license
|
|
1818
1898
|
* Copyright 2020 Google LLC
|
|
1819
1899
|
*
|
|
@@ -1828,7 +1908,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1828
1908
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1829
1909
|
* See the License for the specific language governing permissions and
|
|
1830
1910
|
* limitations under the License.
|
|
1831
|
-
*/class
|
|
1911
|
+
*/class js{constructor(...e){for(let t=0;t<e.length;++t)if(e[t].length===0)throw new O(P.INVALID_ARGUMENT,"Invalid field name at argument $(i + 1). Field names must not be empty.");this._internalPath=new me(e)}isEqual(e){return this._internalPath.isEqual(e._internalPath)}}/**
|
|
1832
1912
|
* @license
|
|
1833
1913
|
* Copyright 2020 Google LLC
|
|
1834
1914
|
*
|
|
@@ -1843,7 +1923,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1843
1923
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1844
1924
|
* See the License for the specific language governing permissions and
|
|
1845
1925
|
* limitations under the License.
|
|
1846
|
-
*/class
|
|
1926
|
+
*/class qo{constructor(e){this._methodName=e}}/**
|
|
1847
1927
|
* @license
|
|
1848
1928
|
* Copyright 2017 Google LLC
|
|
1849
1929
|
*
|
|
@@ -1858,7 +1938,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1858
1938
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1859
1939
|
* See the License for the specific language governing permissions and
|
|
1860
1940
|
* limitations under the License.
|
|
1861
|
-
*/class
|
|
1941
|
+
*/class $o{constructor(e,t){if(!isFinite(e)||e<-90||e>90)throw new O(P.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(t)||t<-180||t>180)throw new O(P.INVALID_ARGUMENT,"Longitude must be a number between -180 and 180, but was: "+t);this._lat=e,this._long=t}get latitude(){return this._lat}get longitude(){return this._long}isEqual(e){return this._lat===e._lat&&this._long===e._long}toJSON(){return{latitude:this._lat,longitude:this._long}}_compareTo(e){return G(this._lat,e._lat)||G(this._long,e._long)}}/**
|
|
1862
1942
|
* @license
|
|
1863
1943
|
* Copyright 2024 Google LLC
|
|
1864
1944
|
*
|
|
@@ -1873,7 +1953,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1873
1953
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1874
1954
|
* See the License for the specific language governing permissions and
|
|
1875
1955
|
* limitations under the License.
|
|
1876
|
-
*/class
|
|
1956
|
+
*/class Ho{constructor(e){this._values=(e||[]).map(t=>t)}toArray(){return this._values.map(e=>e)}isEqual(e){return function(r,s){if(r.length!==s.length)return!1;for(let i=0;i<r.length;++i)if(r[i]!==s[i])return!1;return!0}(this._values,e._values)}}/**
|
|
1877
1957
|
* @license
|
|
1878
1958
|
* Copyright 2017 Google LLC
|
|
1879
1959
|
*
|
|
@@ -1888,7 +1968,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1888
1968
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1889
1969
|
* See the License for the specific language governing permissions and
|
|
1890
1970
|
* limitations under the License.
|
|
1891
|
-
*/const
|
|
1971
|
+
*/const My=/^__.*__$/;class Uy{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return this.fieldMask!==null?new Vt(e,this.data,this.fieldMask,t,this.fieldTransforms):new _r(e,this.data,t,this.fieldTransforms)}}class jl{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return new Vt(e,this.data,this.fieldMask,t,this.fieldTransforms)}}function ql(n){switch(n){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw F()}}class zo{constructor(e,t,r,s,i,a){this.settings=e,this.databaseId=t,this.serializer=r,this.ignoreUndefinedProperties=s,i===void 0&&this.Bu(),this.fieldTransforms=i||[],this.fieldMask=a||[]}get path(){return this.settings.path}get Lu(){return this.settings.Lu}ku(e){return new zo(Object.assign(Object.assign({},this.settings),e),this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}qu(e){var t;const r=(t=this.path)===null||t===void 0?void 0:t.child(e),s=this.ku({path:r,Qu:!1});return s.$u(e),s}Ku(e){var t;const r=(t=this.path)===null||t===void 0?void 0:t.child(e),s=this.ku({path:r,Qu:!1});return s.Bu(),s}Uu(e){return this.ku({path:void 0,Qu:!0})}Wu(e){return $s(e,this.settings.methodName,this.settings.Gu||!1,this.path,this.settings.zu)}contains(e){return this.fieldMask.find(t=>e.isPrefixOf(t))!==void 0||this.fieldTransforms.find(t=>e.isPrefixOf(t.field))!==void 0}Bu(){if(this.path)for(let e=0;e<this.path.length;e++)this.$u(this.path.get(e))}$u(e){if(e.length===0)throw this.Wu("Document fields must not be empty");if(ql(this.Lu)&&My.test(e))throw this.Wu('Document fields cannot begin and end with "__"')}}class xy{constructor(e,t,r){this.databaseId=e,this.ignoreUndefinedProperties=t,this.serializer=r||Ds(e)}ju(e,t,r,s=!1){return new zo({Lu:e,methodName:t,zu:r,path:me.emptyPath(),Qu:!1,Gu:s},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}}function Wo(n){const e=n._freezeSettings(),t=Ds(n._databaseId);return new xy(n._databaseId,!!e.ignoreUndefinedProperties,t)}function Fy(n,e,t,r,s,i={}){const a=n.ju(i.merge||i.mergeFields?2:0,e,t,s);Go("Data must be an object, but it was:",a,r);const c=Hl(r,a);let l,d;if(i.merge)l=new Fe(a.fieldMask),d=a.fieldTransforms;else if(i.mergeFields){const f=[];for(const m of i.mergeFields){const v=Ko(e,m,t);if(!a.contains(v))throw new O(P.INVALID_ARGUMENT,`Field '${v}' is specified in your field mask but missing from your input data.`);Wl(f,v)||f.push(v)}l=new Fe(f),d=a.fieldTransforms.filter(m=>l.covers(m.field))}else l=null,d=a.fieldTransforms;return new Uy(new De(c),l,d)}class qs extends qo{_toFieldTransform(e){if(e.Lu!==2)throw e.Lu===1?e.Wu(`${this._methodName}() can only appear at the top level of your update data`):e.Wu(`${this._methodName}() cannot be used with set() unless you pass {merge:true}`);return e.fieldMask.push(e.path),null}isEqual(e){return e instanceof qs}}function By(n,e,t,r){const s=n.ju(1,e,t);Go("Data must be an object, but it was:",s,r);const i=[],a=De.empty();kt(r,(l,d)=>{const f=Qo(e,l,t);d=X(d);const m=s.Ku(f);if(d instanceof qs)i.push(f);else{const v=wr(d,m);v!=null&&(i.push(f),a.set(f,v))}});const c=new Fe(i);return new jl(a,c,s.fieldTransforms)}function jy(n,e,t,r,s,i){const a=n.ju(1,e,t),c=[Ko(e,r,t)],l=[s];if(i.length%2!=0)throw new O(P.INVALID_ARGUMENT,`Function ${e}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let v=0;v<i.length;v+=2)c.push(Ko(e,i[v])),l.push(i[v+1]);const d=[],f=De.empty();for(let v=c.length-1;v>=0;--v)if(!Wl(d,c[v])){const R=c[v];let S=l[v];S=X(S);const N=a.Ku(R);if(S instanceof qs)d.push(R);else{const k=wr(S,N);k!=null&&(d.push(R),f.set(R,k))}}const m=new Fe(d);return new jl(f,m,a.fieldTransforms)}function $l(n,e,t,r=!1){return wr(t,n.ju(r?4:3,e))}function wr(n,e){if(zl(n=X(n)))return Go("Unsupported field value:",e,n),Hl(n,e);if(n instanceof qo)return function(r,s){if(!ql(s.Lu))throw s.Wu(`${r._methodName}() can only be used with update() and set()`);if(!s.path)throw s.Wu(`${r._methodName}() is not currently supported inside arrays`);const i=r._toFieldTransform(s);i&&s.fieldTransforms.push(i)}(n,e),null;if(n===void 0&&e.ignoreUndefinedProperties)return null;if(e.path&&e.fieldMask.push(e.path),n instanceof Array){if(e.settings.Qu&&e.Lu!==4)throw e.Wu("Nested arrays are not supported");return function(r,s){const i=[];let a=0;for(const c of r){let l=wr(c,s.Uu(a));l==null&&(l={nullValue:"NULL_VALUE"}),i.push(l),a++}return{arrayValue:{values:i}}}(n,e)}return function(r,s){if((r=X(r))===null)return{nullValue:"NULL_VALUE"};if(typeof r=="number")return wg(s.serializer,r);if(typeof r=="boolean")return{booleanValue:r};if(typeof r=="string")return{stringValue:r};if(r instanceof Date){const i=ue.fromDate(r);return{timestampValue:Cs(s.serializer,i)}}if(r instanceof ue){const i=new ue(r.seconds,1e3*Math.floor(r.nanoseconds/1e3));return{timestampValue:Cs(s.serializer,i)}}if(r instanceof $o)return{geoPointValue:{latitude:r.latitude,longitude:r.longitude}};if(r instanceof On)return{bytesValue:xu(s.serializer,r._byteString)};if(r instanceof Ve){const i=s.databaseId,a=r.firestore._databaseId;if(!a.isEqual(i))throw s.Wu(`Document reference is for database ${a.projectId}/${a.database} but should be for database ${i.projectId}/${i.database}`);return{referenceValue:lo(r.firestore._databaseId||s.databaseId,r._key.path)}}if(r instanceof Ho)return function(a,c){return{mapValue:{fields:{[Yc]:{stringValue:Jc},[ds]:{arrayValue:{values:a.toArray().map(d=>{if(typeof d!="number")throw c.Wu("VectorValues must only contain numeric values.");return oo(c.serializer,d)})}}}}}}(r,s);throw s.Wu(`Unsupported field value: ${xs(r)}`)}(n,e)}function Hl(n,e){const t={};return Hc(n)?e.path&&e.path.length>0&&e.fieldMask.push(e.path):kt(n,(r,s)=>{const i=wr(s,e.qu(r));i!=null&&(t[r]=i)}),{mapValue:{fields:t}}}function zl(n){return!(typeof n!="object"||n===null||n instanceof Array||n instanceof Date||n instanceof ue||n instanceof $o||n instanceof On||n instanceof Ve||n instanceof qo||n instanceof Ho)}function Go(n,e,t){if(!zl(t)||!function(s){return typeof s=="object"&&s!==null&&(Object.getPrototypeOf(s)===Object.prototype||Object.getPrototypeOf(s)===null)}(t)){const r=xs(t);throw r==="an object"?e.Wu(n+" a custom object"):e.Wu(n+" "+r)}}function Ko(n,e,t){if((e=X(e))instanceof js)return e._internalPath;if(typeof e=="string")return Qo(n,e);throw $s("Field path arguments must be of type string or ",n,!1,void 0,t)}const qy=new RegExp("[~\\*/\\[\\]]");function Qo(n,e,t){if(e.search(qy)>=0)throw $s(`Invalid field path (${e}). Paths must not contain '~', '*', '/', '[', or ']'`,n,!1,void 0,t);try{return new js(...e.split("."))._internalPath}catch{throw $s(`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,n,!1,void 0,t)}}function $s(n,e,t,r,s){const i=r&&!r.isEmpty(),a=s!==void 0;let c=`Function ${e}() called with invalid data`;t&&(c+=" (via `toFirestore()`)"),c+=". ";let l="";return(i||a)&&(l+=" (found",i&&(l+=` in field ${r}`),a&&(l+=` in document ${s}`),l+=")"),new O(P.INVALID_ARGUMENT,c+n+l)}function Wl(n,e){return n.some(t=>t.isEqual(e))}/**
|
|
1892
1972
|
* @license
|
|
1893
1973
|
* Copyright 2020 Google LLC
|
|
1894
1974
|
*
|
|
@@ -1903,7 +1983,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1903
1983
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1904
1984
|
* See the License for the specific language governing permissions and
|
|
1905
1985
|
* limitations under the License.
|
|
1906
|
-
*/class
|
|
1986
|
+
*/class Xo{constructor(e,t,r,s,i){this._firestore=e,this._userDataWriter=t,this._key=r,this._document=s,this._converter=i}get id(){return this._key.path.lastSegment()}get ref(){return new Ve(this._firestore,this._converter,this._key)}exists(){return this._document!==null}data(){if(this._document){if(this._converter){const e=new $y(this._firestore,this._userDataWriter,this._key,this._document,null);return this._converter.fromFirestore(e)}return this._userDataWriter.convertValue(this._document.data.value)}}get(e){if(this._document){const t=this._document.data.field(Hs("DocumentSnapshot.get",e));if(t!==null)return this._userDataWriter.convertValue(t)}}}class $y extends Xo{data(){return super.data()}}function Hs(n,e){return typeof e=="string"?Qo(n,e):e instanceof js?e._internalPath:e._delegate._internalPath}/**
|
|
1907
1987
|
* @license
|
|
1908
1988
|
* Copyright 2020 Google LLC
|
|
1909
1989
|
*
|
|
@@ -1918,7 +1998,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1918
1998
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1919
1999
|
* See the License for the specific language governing permissions and
|
|
1920
2000
|
* limitations under the License.
|
|
1921
|
-
*/function
|
|
2001
|
+
*/function Gl(n){if(n.limitType==="L"&&n.explicitOrderBy.length===0)throw new O(P.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}class Yo{}class zs extends Yo{}function Kl(n,e,...t){let r=[];e instanceof Yo&&r.push(e),r=r.concat(t),function(i){const a=i.filter(l=>l instanceof Vn).length,c=i.filter(l=>l instanceof Ir).length;if(a>1||a>0&&c>0)throw new O(P.INVALID_ARGUMENT,"InvalidQuery. When using composite filters, you cannot use more than one filter at the top level. Consider nesting the multiple filters within an `and(...)` statement. For example: change `query(query, where(...), or(...))` to `query(query, and(where(...), or(...)))`.")}(r);for(const s of r)n=s._apply(n);return n}class Ir extends zs{constructor(e,t,r){super(),this._field=e,this._op=t,this._value=r,this.type="where"}static _create(e,t,r){return new Ir(e,t,r)}_apply(e){const t=this._parse(e);return Zl(e._query,t),new st(e.firestore,e.converter,io(e._query,t))}_parse(e){const t=Wo(e.firestore);return function(i,a,c,l,d,f,m){let v;if(d.isKeyField()){if(f==="array-contains"||f==="array-contains-any")throw new O(P.INVALID_ARGUMENT,`Invalid Query. You can't perform '${f}' queries on documentId().`);if(f==="in"||f==="not-in"){Jl(m,f);const S=[];for(const N of m)S.push(Yl(l,i,N));v={arrayValue:{values:S}}}else v=Yl(l,i,m)}else f!=="in"&&f!=="not-in"&&f!=="array-contains-any"||Jl(m,f),v=$l(c,a,m,f==="in"||f==="not-in");return ae.create(d,f,v)}(e._query,"where",t,e.firestore._databaseId,this._field,this._op,this._value)}}function Ql(n,e,t){const r=e,s=Hs("where",n);return Ir._create(s,r,t)}class Vn extends Yo{constructor(e,t){super(),this.type=e,this._queryConstraints=t}static _create(e,t){return new Vn(e,t)}_parse(e){const t=this._queryConstraints.map(r=>r._parse(e)).filter(r=>r.getFilters().length>0);return t.length===1?t[0]:We.create(t,this._getOperator())}_apply(e){const t=this._parse(e);return t.getFilters().length===0?e:(function(s,i){let a=s;const c=i.getFlattenedFilters();for(const l of c)Zl(a,l),a=io(a,l)}(e._query,t),new st(e.firestore,e.converter,io(e._query,t)))}_getQueryConstraints(){return this._queryConstraints}_getOperator(){return this.type==="and"?"and":"or"}}function Hy(...n){return n.forEach(e=>eh("or",e)),Vn._create("or",n)}function zy(...n){return n.forEach(e=>eh("and",e)),Vn._create("and",n)}class Jo extends zs{constructor(e,t){super(),this._field=e,this._direction=t,this.type="orderBy"}static _create(e,t){return new Jo(e,t)}_apply(e){const t=function(s,i,a){if(s.startAt!==null)throw new O(P.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(s.endAt!==null)throw new O(P.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");return new hr(i,a)}(e._query,this._field,this._direction);return new st(e.firestore,e.converter,function(s,i){const a=s.explicitOrderBy.concat([i]);return new Zt(s.path,s.collectionGroup,a,s.filters.slice(),s.limit,s.limitType,s.startAt,s.endAt)}(e._query,t))}}function Wy(n,e="asc"){const t=e,r=Hs("orderBy",n);return Jo._create(r,t)}class Zo extends zs{constructor(e,t,r){super(),this.type=e,this._limit=t,this._limitType=r}static _create(e,t,r){return new Zo(e,t,r)}_apply(e){return new st(e.firestore,e.converter,_s(e._query,this._limit,this._limitType))}}function Xl(n){return Ny("limit",n),Zo._create("limit",n,"F")}class ea extends zs{constructor(e,t,r){super(),this.type=e,this._docOrFields=t,this._inclusive=r}static _create(e,t,r){return new ea(e,t,r)}_apply(e){const t=Ky(e,this.type,this._docOrFields,this._inclusive);return new st(e.firestore,e.converter,function(s,i){return new Zt(s.path,s.collectionGroup,s.explicitOrderBy.slice(),s.filters.slice(),s.limit,s.limitType,i,s.endAt)}(e._query,t))}}function Gy(...n){return ea._create("startAfter",n,!1)}function Ky(n,e,t,r){if(t[0]=X(t[0]),t[0]instanceof Xo)return function(i,a,c,l,d){if(!l)throw new O(P.NOT_FOUND,`Can't use a DocumentSnapshot that doesn't exist for ${c}().`);const f=[];for(const m of Rn(i))if(m.field.isKeyField())f.push(ps(a,l.key));else{const v=l.data.field(m.field);if(cs(v))throw new O(P.INVALID_ARGUMENT,'Invalid query. You are trying to start or end a query using a document for which the field "'+m.field+'" is an uncommitted server timestamp. (Since the value of this field is unknown, you cannot start/end a query with it.)');if(v===null){const R=m.field.canonicalString();throw new O(P.INVALID_ARGUMENT,`Invalid query. You are trying to start or end a query using a document for which the field '${R}' (used as the orderBy) does not exist.`)}f.push(v)}return new An(f,d)}(n._query,n.firestore._databaseId,e,t[0]._document,r);{const s=Wo(n.firestore);return function(a,c,l,d,f,m){const v=a.explicitOrderBy;if(f.length>v.length)throw new O(P.INVALID_ARGUMENT,`Too many arguments provided to ${d}(). The number of arguments must be less than or equal to the number of orderBy() clauses`);const R=[];for(let S=0;S<f.length;S++){const N=f[S];if(v[S].field.isKeyField()){if(typeof N!="string")throw new O(P.INVALID_ARGUMENT,`Invalid query. Expected a string for document ID in ${d}(), but got a ${typeof N}`);if(!so(a)&&N.indexOf("/")!==-1)throw new O(P.INVALID_ARGUMENT,`Invalid query. When querying a collection and ordering by documentId(), the value passed to ${d}() must be a plain document ID, but '${N}' contains a slash.`);const k=a.path.child(ee.fromString(N));if(!L.isDocumentKey(k))throw new O(P.INVALID_ARGUMENT,`Invalid query. When querying a collection group and ordering by documentId(), the value passed to ${d}() must result in a valid document path, but '${k}' is not because it contains an odd number of segments.`);const U=new L(k);R.push(ps(c,U))}else{const k=$l(l,d,N);R.push(k)}}return new An(R,m)}(n._query,n.firestore._databaseId,s,e,t,r)}}function Yl(n,e,t){if(typeof(t=X(t))=="string"){if(t==="")throw new O(P.INVALID_ARGUMENT,"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");if(!so(e)&&t.indexOf("/")!==-1)throw new O(P.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${t}' contains a '/' character.`);const r=e.path.child(ee.fromString(t));if(!L.isDocumentKey(r))throw new O(P.INVALID_ARGUMENT,`Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${r}' is not because it has an odd number of segments (${r.length}).`);return ps(n,new L(r))}if(t instanceof Ve)return ps(n,t._key);throw new O(P.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${xs(t)}.`)}function Jl(n,e){if(!Array.isArray(n)||n.length===0)throw new O(P.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${e.toString()}' filters.`)}function Zl(n,e){const t=function(s,i){for(const a of s)for(const c of a.getFlattenedFilters())if(i.indexOf(c.op)>=0)return c.op;return null}(n.filters,function(s){switch(s){case"!=":return["!=","not-in"];case"array-contains-any":case"in":return["not-in"];case"not-in":return["array-contains-any","in","not-in","!="];default:return[]}}(e.op));if(t!==null)throw t===e.op?new O(P.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${e.op.toString()}' filter.`):new O(P.INVALID_ARGUMENT,`Invalid query. You cannot use '${e.op.toString()}' filters with '${t.toString()}' filters.`)}function eh(n,e){if(!(e instanceof Ir||e instanceof Vn))throw new O(P.INVALID_ARGUMENT,`Function ${n}() requires AppliableConstraints created with a call to 'where(...)', 'or(...)', or 'and(...)'.`)}class Qy{convertValue(e,t="none"){switch(Ot(e)){case 0:return null;case 1:return e.booleanValue;case 2:return oe(e.integerValue||e.doubleValue);case 3:return this.convertTimestamp(e.timestampValue);case 4:return this.convertServerTimestamp(e,t);case 5:return e.stringValue;case 6:return this.convertBytes(Dt(e.bytesValue));case 7:return this.convertReference(e.referenceValue);case 8:return this.convertGeoPoint(e.geoPointValue);case 9:return this.convertArray(e.arrayValue,t);case 11:return this.convertObject(e.mapValue,t);case 10:return this.convertVectorValue(e.mapValue);default:throw F()}}convertObject(e,t){return this.convertObjectMap(e.fields,t)}convertObjectMap(e,t="none"){const r={};return kt(e,(s,i)=>{r[s]=this.convertValue(i,t)}),r}convertVectorValue(e){var t,r,s;const i=(s=(r=(t=e.fields)===null||t===void 0?void 0:t[ds].arrayValue)===null||r===void 0?void 0:r.values)===null||s===void 0?void 0:s.map(a=>oe(a.doubleValue));return new Ho(i)}convertGeoPoint(e){return new $o(oe(e.latitude),oe(e.longitude))}convertArray(e,t){return(e.values||[]).map(r=>this.convertValue(r,t))}convertServerTimestamp(e,t){switch(t){case"previous":const r=us(e);return r==null?null:this.convertValue(r,t);case"estimate":return this.convertTimestamp(ar(e));default:return null}}convertTimestamp(e){const t=Nt(e);return new ue(t.seconds,t.nanos)}convertDocumentKey(e,t){const r=ee.fromString(e);Y(Wu(r));const s=new cr(r.get(1),r.get(3)),i=new L(r.popFirst(5));return s.isEqual(t)||ft(`Document ${i} contains a document reference within a different database (${s.projectId}/${s.database}) which is not supported. It will be treated as a reference in the current database (${t.projectId}/${t.database}) instead.`),i}}/**
|
|
1922
2002
|
* @license
|
|
1923
2003
|
* Copyright 2020 Google LLC
|
|
1924
2004
|
*
|
|
@@ -1933,7 +2013,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1933
2013
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1934
2014
|
* See the License for the specific language governing permissions and
|
|
1935
2015
|
* limitations under the License.
|
|
1936
|
-
*/function
|
|
2016
|
+
*/function Xy(n,e,t){let r;return r=n?t&&(t.merge||t.mergeFields)?n.toFirestore(e,t):n.toFirestore(e):e,r}function Yy(){return new Vy("count")}/**
|
|
1937
2017
|
* @license
|
|
1938
2018
|
* Copyright 2020 Google LLC
|
|
1939
2019
|
*
|
|
@@ -1948,7 +2028,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1948
2028
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1949
2029
|
* See the License for the specific language governing permissions and
|
|
1950
2030
|
* limitations under the License.
|
|
1951
|
-
*/class
|
|
2031
|
+
*/class Ar{constructor(e,t){this.hasPendingWrites=e,this.fromCache=t}isEqual(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache}}class th extends Xo{constructor(e,t,r,s,i,a){super(e,t,r,s,a),this._firestore=e,this._firestoreImpl=e,this.metadata=i}exists(){return super.exists()}data(e={}){if(this._document){if(this._converter){const t=new Ws(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null);return this._converter.fromFirestore(t,e)}return this._userDataWriter.convertValue(this._document.data.value,e.serverTimestamps)}}get(e,t={}){if(this._document){const r=this._document.data.field(Hs("DocumentSnapshot.get",e));if(r!==null)return this._userDataWriter.convertValue(r,t.serverTimestamps)}}}class Ws extends th{data(e={}){return super.data(e)}}class nh{constructor(e,t,r,s){this._firestore=e,this._userDataWriter=t,this._snapshot=s,this.metadata=new Ar(s.hasPendingWrites,s.fromCache),this.query=r}get docs(){const e=[];return this.forEach(t=>e.push(t)),e}get size(){return this._snapshot.docs.size}get empty(){return this.size===0}forEach(e,t){this._snapshot.docs.forEach(r=>{e.call(t,new Ws(this._firestore,this._userDataWriter,r.key,r,new Ar(this._snapshot.mutatedKeys.has(r.key),this._snapshot.fromCache),this.query.converter))})}docChanges(e={}){const t=!!e.includeMetadataChanges;if(t&&this._snapshot.excludesMetadataChanges)throw new O(P.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===t||(this._cachedChanges=function(s,i){if(s._snapshot.oldDocs.isEmpty()){let a=0;return s._snapshot.docChanges.map(c=>{const l=new Ws(s._firestore,s._userDataWriter,c.doc.key,c.doc,new Ar(s._snapshot.mutatedKeys.has(c.doc.key),s._snapshot.fromCache),s.query.converter);return c.doc,{type:"added",doc:l,oldIndex:-1,newIndex:a++}})}{let a=s._snapshot.oldDocs;return s._snapshot.docChanges.filter(c=>i||c.type!==3).map(c=>{const l=new Ws(s._firestore,s._userDataWriter,c.doc.key,c.doc,new Ar(s._snapshot.mutatedKeys.has(c.doc.key),s._snapshot.fromCache),s.query.converter);let d=-1,f=-1;return c.type!==0&&(d=a.indexOf(c.doc.key),a=a.delete(c.doc.key)),c.type!==1&&(a=a.add(c.doc),f=a.indexOf(c.doc.key)),{type:Jy(c.type),doc:l,oldIndex:d,newIndex:f}})}}(this,t),this._cachedChangesIncludeMetadataChanges=t),this._cachedChanges}}function Jy(n){switch(n){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return F()}}/**
|
|
1952
2032
|
* @license
|
|
1953
2033
|
* Copyright 2020 Google LLC
|
|
1954
2034
|
*
|
|
@@ -1963,7 +2043,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1963
2043
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1964
2044
|
* See the License for the specific language governing permissions and
|
|
1965
2045
|
* limitations under the License.
|
|
1966
|
-
*/function
|
|
2046
|
+
*/function Zy(n){n=Ge(n,Ve);const e=Ge(n.firestore,Bt);return Py(Dn(e),n._key).then(t=>ih(e,n,t))}class Gs extends Qy{constructor(e){super(),this.firestore=e}convertBytes(e){return new On(e)}convertReference(e){const t=this.convertDocumentKey(e,this.firestore._databaseId);return new Ve(this.firestore,null,t)}}function ev(n){n=Ge(n,st);const e=Ge(n.firestore,Bt),t=Dn(e),r=new Gs(e);return Gl(n._query),Sy(t,n._query).then(s=>new nh(e,r,n,s))}function tv(n){return sh(Ge(n.firestore,Bt),[new Rs(n._key,$e.none())])}function rh(n,...e){var t,r,s;n=X(n);let i={includeMetadataChanges:!1,source:"default"},a=0;typeof e[a]!="object"||Bl(e[a])||(i=e[a],a++);const c={includeMetadataChanges:i.includeMetadataChanges,source:i.source};if(Bl(e[a])){const m=e[a];e[a]=(t=m.next)===null||t===void 0?void 0:t.bind(m),e[a+1]=(r=m.error)===null||r===void 0?void 0:r.bind(m),e[a+2]=(s=m.complete)===null||s===void 0?void 0:s.bind(m)}let l,d,f;if(n instanceof Ve)d=Ge(n.firestore,Bt),f=gs(n._key.path),l={next:m=>{e[a]&&e[a](ih(d,n,m))},error:e[a+1],complete:e[a+2]};else{const m=Ge(n,st);d=Ge(m.firestore,Bt),f=m._query;const v=new Gs(d);l={next:R=>{e[a]&&e[a](new nh(d,v,m,R))},error:e[a+1],complete:e[a+2]},Gl(n._query)}return function(v,R,S,N){const k=new Fo(N),U=new Vo(R,k,S);return v.asyncQueue.enqueueAndForget(async()=>ko(await Us(v),U)),()=>{k.su(),v.asyncQueue.enqueueAndForget(async()=>No(await Us(v),U))}}(Dn(d),f,c,l)}function sh(n,e){return function(r,s){const i=new Ze;return r.asyncQueue.enqueueAndForget(async()=>py(await Ry(r),s,i)),i.promise}(Dn(n),e)}function ih(n,e,t){const r=t.docs.get(e._key),s=new Gs(n);return new th(n,s,e._key,r,new Ar(t.hasPendingWrites,t.fromCache),e.converter)}/**
|
|
1967
2047
|
* @license
|
|
1968
2048
|
* Copyright 2022 Google LLC
|
|
1969
2049
|
*
|
|
@@ -1978,7 +2058,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1978
2058
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1979
2059
|
* See the License for the specific language governing permissions and
|
|
1980
2060
|
* limitations under the License.
|
|
1981
|
-
*/function
|
|
2061
|
+
*/function nv(n){return rv(n,{count:Yy()})}function rv(n,e){const t=Ge(n.firestore,Bt),r=Dn(t),s=Ym(e,(i,a)=>new Dg(a,i.aggregateType,i._internalFieldPath));return Cy(r,n._query,s).then(i=>function(c,l,d){const f=new Gs(c);return new Ly(l,f,d)}(t,n,i))}/**
|
|
1982
2062
|
* @license
|
|
1983
2063
|
* Copyright 2020 Google LLC
|
|
1984
2064
|
*
|
|
@@ -1993,7 +2073,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
1993
2073
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1994
2074
|
* See the License for the specific language governing permissions and
|
|
1995
2075
|
* limitations under the License.
|
|
1996
|
-
*/class
|
|
2076
|
+
*/class sv{constructor(e,t){this._firestore=e,this._commitHandler=t,this._mutations=[],this._committed=!1,this._dataReader=Wo(e)}set(e,t,r){this._verifyNotCommitted();const s=ta(e,this._firestore),i=Xy(s.converter,t,r),a=Fy(this._dataReader,"WriteBatch.set",s._key,i,s.converter!==null,r);return this._mutations.push(a.toMutation(s._key,$e.none())),this}update(e,t,r,...s){this._verifyNotCommitted();const i=ta(e,this._firestore);let a;return a=typeof(t=X(t))=="string"||t instanceof js?jy(this._dataReader,"WriteBatch.update",i._key,t,r,s):By(this._dataReader,"WriteBatch.update",i._key,t),this._mutations.push(a.toMutation(i._key,$e.exists(!0))),this}delete(e){this._verifyNotCommitted();const t=ta(e,this._firestore);return this._mutations=this._mutations.concat(new Rs(t._key,$e.none())),this}commit(){return this._verifyNotCommitted(),this._committed=!0,this._mutations.length>0?this._commitHandler(this._mutations):Promise.resolve()}_verifyNotCommitted(){if(this._committed)throw new O(P.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")}}function ta(n,e){if((n=X(n)).firestore!==e)throw new O(P.INVALID_ARGUMENT,"Provided document reference is from a different Firestore instance.");return n}/**
|
|
1997
2077
|
* @license
|
|
1998
2078
|
* Copyright 2020 Google LLC
|
|
1999
2079
|
*
|
|
@@ -2008,13 +2088,13 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2008
2088
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2009
2089
|
* See the License for the specific language governing permissions and
|
|
2010
2090
|
* limitations under the License.
|
|
2011
|
-
*/function
|
|
2091
|
+
*/function iv(n){return Dn(n=Ge(n,Bt)),new sv(n,e=>sh(n,e))}(function(e,t=!0){(function(s){gn=s})(Yt),bt(new ht("firestore",(r,{instanceIdentifier:s,options:i})=>{const a=r.getProvider("app").getImmediate(),c=new Bt(new Mm(r.getProvider("auth-internal")),new Fm(a,r.getProvider("app-check-internal")),function(d,f){if(!Object.prototype.hasOwnProperty.apply(d.options,["projectId"]))throw new O(P.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');return new cr(d.options.projectId,f)}(a,s),a);return i=Object.assign({useFetchStreams:t},i),c._setSettings(i),c},"PUBLIC").setMultipleInstances(!0)),qe(Oc,Vc,e),qe(Oc,Vc,"esm2017")})();class oh{constructor(){this.subscribers=new Set}subscribe(e){return this.subscribers.add(e),()=>this.unsubscribe(e)}unsubscribe(e){this.subscribers.delete(e)}notify(e){this.subscribers.forEach(t=>t(e))}get subscribersCount(){return this.subscribers.size}}const ye=[];for(let n=0;n<256;++n)ye.push((n+256).toString(16).slice(1));function ov(n,e=0){return(ye[n[e+0]]+ye[n[e+1]]+ye[n[e+2]]+ye[n[e+3]]+"-"+ye[n[e+4]]+ye[n[e+5]]+"-"+ye[n[e+6]]+ye[n[e+7]]+"-"+ye[n[e+8]]+ye[n[e+9]]+"-"+ye[n[e+10]]+ye[n[e+11]]+ye[n[e+12]]+ye[n[e+13]]+ye[n[e+14]]+ye[n[e+15]]).toLowerCase()}let na;const av=new Uint8Array(16);function cv(){if(!na){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");na=crypto.getRandomValues.bind(crypto)}return na(av)}const uv=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ah={randomUUID:uv};function lv(n,e,t){var r;if(ah.randomUUID&&!n)return ah.randomUUID();n=n||{};const s=n.random??((r=n.rng)==null?void 0:r.call(n))??cv();if(s.length<16)throw new Error("Random bytes length must be >= 16");return s[6]=s[6]&15|64,s[8]=s[8]&63|128,ov(s)}var hv=Object.defineProperty,dv=(n,e,t,r)=>{for(var s=void 0,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=a(e,t,s)||s);return s&&hv(e,t,s),s},fe;const ch=(fe=class{static registerFactory(n,e,t){this._factoryMap[n]={factory:e,annotation:t}}static classFactory(n){if(!n)throw new Error("You should provide a class name.");if(!this._factoryMap[n])throw new Error(`You should register class ${n} prior to use.`);return this._factoryMap[n].factory}static registeredClasses(){return Object.keys(this._factoryMap)}static classesExtending(n){return Object.entries(this._factoryMap).filter(([,e])=>new e.factory instanceof n).map(([e])=>e)}static annotations(n){if(n instanceof fe?n=n.className:typeof n=="string"||(n=new n().className),!this._factoryMap[n])throw new Error(`You should register class ${n} prior to use.`);return this._factoryMap[n].annotation}constructor(n=lv()){this._id=n}get className(){return this.__className}setId(n){this._id=n}get id(){return this._id}afterDeserialize(){}beforeSerialize(){}getPersistentProperties(){return this._persistentProperties?this._persistentProperties.map(n=>({...n,name:n.name.slice(1)})):[]}getPropInfo(n){const e=this.getPersistentProperties().find(t=>t.name===n);if(!e)throw new Error(`Property "${n}" has not been registered.`);return e}isRequired(n){return this.getPropInfo(n).validator!=null}isPropValueValid(n){const e=this.getPropInfo(n);return e.validator?e.validator(this[e.name],e,this):!0}clone(n){const e=n.toObject();return delete e.id,this.fromObject(e)}fromObject(n){return this.fromObj(n),this.afterDeserialize(),this}fromObj(n){return this._persistentProperties?(this._persistentProperties.forEach(e=>{const t=this.removeUnderscore(e),r=n[t];r!=null&&(this[e.name]=this.fromDeepObject(r))}),this):this}toObject(){const n={},e=this.toObj(n);return this.pushDocument(n,this.className,e),{...e,__rootCollections:n}}toObj(n){if(!this._persistentProperties)return{};this.beforeSerialize();const e={};if(!this.className)throw new Error("You should register this class prior to streaming it.");return this._persistentProperties.forEach(t=>{const r=this[t.name],s=this.removeUnderscore(t);r!=null&&(t.isReference?e[s]=this.toReferenceObj(t,n):e[s]=this.toDeepObj(r,n),t.searchableArray&&(e[fe.searchableArrayNameFor(s)]=r.map(i=>i.id)))}),e.__className=this.className,e}static searchableArrayNameFor(n){return`__${n}_searchable`}fromDeepObject(n){if(n==null)return n;if(Array.isArray(n))return n.map(e=>this.fromDeepObject(e));if(n.__documentReference){const e=n,t=fe.createInstance(e);return t.__documentReference=n.__documentReference,t}if(n.__className)return fe.createInstance(n);if(typeof n=="object"){const e={};return Object.entries(n).forEach(([t,r])=>e[t]=this.fromDeepObject(r)),e}return n}toDeepObj(n,e){if(n!=null){if(Array.isArray(n))return n.map(t=>this.toDeepObj(t,e));if(n.__documentReference)return n;if(n instanceof fe)return n.toObj(e);if(typeof n=="object"){const t={};return Object.entries(n).forEach(([r,s])=>t[r]=this.toDeepObj(s,e)),t}return n}}static collectionPath(n,e){let t;return typeof e.storeInCollection=="function"?t=e.storeInCollection(n,e):t=e.storeInCollection??n.className,t}toReferenceObj(n,e){var t;const r=this[n.name];return Array.isArray(r)?r.map(s=>{var i;return n.isPureReference||this.pushDocument(e,fe.collectionPath(s,n),s),this.buildRefObject(s,fe.collectionPath(s,n),(i=n.cachedPropsConfig)==null?void 0:i.cachedProps)}):(n.isPureReference||this.pushDocument(e,fe.collectionPath(r,n),r),this.buildRefObject(r,fe.collectionPath(r,n),(t=n.cachedPropsConfig)==null?void 0:t.cachedProps))}buildRefObject(n,e,t){const r=t==null?void 0:t.reduce((s,i)=>(n[i]!==void 0&&(s[i]=n[i]),s),{});return{id:n.id,__className:n.className||n.__className,__documentReference:{storedInCollection:e},...r}}pushDocument(n,e,t){if("__documentReference"in t&&t.__documentReference)return;n[e]||(n[e]=[]);const r=this.toDeepObj(t,n);n[e].push(r)}removeUnderscore(n){return n.name.slice(1)}static createReference(n){const e=fe.createInstance(n);return e.__documentReference=n.__documentReference||{storedInCollection:e.className},e}static createInstance(n){if(typeof n=="string")return new(fe.classFactory(n));try{return new(fe.classFactory(n.__className))().fromObject(n)}catch(e){const t=Object.entries(n).filter(([r,s])=>s!=null&&typeof s!="function").map(([r,s])=>`${r}: ${s}`).join(`,
|
|
2012
2092
|
`);throw new Error(`${e}
|
|
2013
2093
|
-----> Class name not found in object:
|
|
2014
2094
|
{
|
|
2015
2095
|
${t}
|
|
2016
2096
|
}
|
|
2017
|
-
`)}}static propInfo(n,e){return de.createInstance(n).getPropInfo(e)}static getSystemRegisteredReferencesWithCachedProps(){return de.registeredClasses().reduce((n,e)=>{const t=de.createInstance(e).getPersistentProperties().filter(r=>{var s;return(s=r.cachedPropsConfig)==null?void 0:s.cachedProps});return t.length>0&&(n[e]=t),n},{})}},de._factoryMap={},de);yy([Pn],bl.prototype,"_id");let fe=bl;function Pn(n,e){return vy()(n,e)}function vy(n){return function(e,t){Object.getOwnPropertyDescriptor(e,"_persistentProperties")||(e._persistentProperties?e._persistentProperties=[...e._persistentProperties]:e._persistentProperties=[]);const r=e._persistentProperties.find(s=>s.name===t);r?Object.assign(r,n):e._persistentProperties.push({name:t,...n})}}function Ey(n,e){return t=>{fe.registerFactory(n,t,e),t.prototype.__className=n}}const Pl=class _f{constructor(e,t,r){if(r){if(!(t instanceof fe))throw new Error(_f.error.persistentNeedForSubCollection);this.collectionName=`${t.className}/${t.id}/${r}`}else this.collectionName=t instanceof fe?t.className:t;this._stream=e}findById(e,t){return new Promise((r,s)=>{this._stream.findById(e,this.collectionName).then(i=>{i?(t?t.fromObject(i):t=fe.createInstance(i),r(t)):r(void 0)}).catch(i=>s(i))})}save(e){const t=e.toObject();return this.collectionName!==t.__className&&(t.__rootCollections[this.collectionName]=t.__rootCollections[t.__className],delete t.__rootCollections[t.__className]),new Promise((r,s)=>{this._stream.save(t.__rootCollections).then(()=>r()).catch(i=>s(i))})}delete(e){return new Promise((t,r)=>{this._stream.delete(e,this.collectionName).then(()=>t()).catch(s=>r(s))})}find(){return new Ty(this)}query(e={},t){if(t){const r=t instanceof fe?t.className:t;e.operations||(e.operations=[]),e.operations.push({property:"__className",operator:"==",value:r})}return this.mapToInstance(()=>this._stream.find(this.preprocessQueryObject(e),this.collectionName))}count(e){return this._stream.count(e,this.collectionName)}next(e){return this.mapToInstance(()=>this._stream.next(e))}onDocumentChange(e,t){return this._stream.onDocumentChange(this.collectionName,e,r=>t(this.toPersistentChangeObject(r)))}onCollectionChange(e,t){return this._stream.onCollectionChange(e.getQueryObject(),this.collectionName,r=>t(this.toPersistentChangeObject(r)))}toPersistentChangeObject(e){return{...e,before:e.before&&fe.createInstance(e.before),after:e.after&&fe.createInstance(e.after)}}mapToInstance(e){return new Promise((t,r)=>{e().then(s=>t(s.map(i=>fe.createInstance(i)))).catch(s=>r(s))})}preprocessQueryObject(e){var t;if(Object.values(e).length===0)return e;const r=((t=e.operations)==null?void 0:t.map(s=>{const i=s.value[0]??s.value;return Xt.isArrayOperator(s.operator)&&i instanceof fe?{property:fe.searchableArrayNameFor(s.property),operator:s.operator,value:Array.isArray(s.value)?s.value.map(a=>a.id):i.id,aggregate:s.aggregate}:{property:s.property,operator:s.operator,value:s.value instanceof fe?{id:s.value.id}:s.value,aggregate:s.aggregate}}))??[];return{...e,operations:r}}};Pl.error={persistentNeedForSubCollection:"The document parameter for a sub-collection should be a Persistent instace",invalidQueryOrder:"Cannot add where calls after or calls"};let Us=Pl;class Ty{constructor(e){this.queryObject={operations:[]},this.model=e}where(e,t,r,s){var i,a,c;if((a=(i=this.queryObject.operations)==null?void 0:i.at(-1))!=null&&a.aggregate&&!s)throw new Error(Us.error.invalidQueryOrder);return(c=this.queryObject.operations)==null||c.push({property:e,operator:t,value:r,aggregate:s}),this}whereDeepProp(e,t,r,s){var i,a,c;if((a=(i=this.queryObject.operations)==null?void 0:i.at(-1))!=null&&a.aggregate&&!s)throw new Error(Us.error.invalidQueryOrder);const l=e.split(".");let d={},p=l.length>1?d:r;return l.slice(1).forEach((g,v)=>{d[g]=v<l.length-2?{}:r,d=d[g]}),(c=this.queryObject.operations)==null||c.push({property:l[0],operator:t,value:p,aggregate:s}),this}and(e,t,r){return this.where(e,t,r)}andDeepProp(e,t,r){return this.whereDeepProp(e,t,r)}or(e,t,r){return this.where(e,t,r,!0)}orDeepProp(e,t,r){return this.whereDeepProp(e,t,r,!0)}instanceOf(e){var t;const r=e instanceof fe?e.className:e;return(t=this.queryObject.operations)==null||t.push({property:"__className",operator:"==",value:r}),this}get(e){return e&&(this.queryObject.limit=e),this.model.query(this.queryObject)}limit(e){return this.queryObject.limit=e,this}orderBy(e,t="asc"){return this.queryObject.sort={propertyName:e,order:t},this}orderByDeepProp(e,t="asc"){return this.queryObject.sort={propertyName:e,order:t},this}count(){return this.model.count(this.queryObject)}getQueryObject(){return this.queryObject}}const Sl=class qn{constructor(){}static useDataSource(e){this._dataSource=e}static get dataSource(){return qn._dataSource}static getModel(e){if(!qn._dataSource)throw new Error(this.error.shouldBeRegistered);return new Us(qn._dataSource,e)}static getModelForSubCollection(e,t){if(!qn._dataSource)throw new Error(this.error.shouldBeRegistered);return new Us(qn._dataSource,e,t)}static async populate(e){if(!e)return;const t=async r=>{const s=r;if(!s.__documentReference)return r;const i=await this.getModel(s.__documentReference.storedInCollection).findById(s.id,r);return i&&(i.__documentReference=void 0),i};return Array.isArray(e)?(await Promise.all(e.map(r=>t(r)))).filter(r=>r):t(e)}static isPopulated(e){return Array.isArray(e)?e.reduce((t,r)=>t&&r.__documentReference===void 0,!0):e.__documentReference===void 0}};Sl.error={shouldBeRegistered:"You should register a data source before using the data Store."};let wy=Sl;class Xt{installCachedPropsUpdaters(e={}){Xt.onUpdate=e.onUpdate;const t=fe.getSystemRegisteredReferencesWithCachedProps(),r={};Object.entries(t).forEach(([i,a])=>{a.forEach(c=>{const l=fe.collectionPath(fe.createInstance(i),c);r[l]||(r[l]=[]),r[l].push({prop:c,collectionPropOwner:i})})});const s=[];return Object.entries(r).forEach(([i,a])=>{const c=this.subscribeToDocumentChangeListerner(i,l=>Xt.onDocumentChange(l,a));if(c)s.push(c);else if(e.noThrowOnNonImplementedListener)throw new Error("The method documentChangeListerner has not been implemented in the concrete data source")}),s}subscribeToDocumentChangeListerner(e,t){}static toPropertyPathOperations(e){return e?e.map(t=>{if(Xt.isArrayOperator(t.operator)&&t.value[0]instanceof fe)return{property:fe.searchableArrayNameFor(t.property),operator:t.operator,value:t.value.map(i=>i.id),aggregate:t.aggregate};const[r,s]=this.toPropertyPathValue(t.value);return{property:`${String(t.property)}${r?"."+r:""}`,operator:t.operator,value:s,aggregate:t.aggregate}}):[]}static isArrayOperator(e){return e==="containsAny"||e==="contains"}static toPropertyPathValue(e){if(typeof e=="object"&&!Array.isArray(e)){const t=Object.keys(e)[0],[r,s]=this.toPropertyPathValue(e[t]);return[`${t}${r?"."+r:""}`,s]}else return[void 0,e]}static async onDocumentChange(e,t){if(e.before)return t.map(async r=>{var s,i;const a=wy.getModel(r.collectionPropOwner);let c=a.find();(i=(s=r.prop.cachedPropsConfig)==null?void 0:s.cachedProps)==null||i.forEach(d=>{var p,g;const v=(p=e.before)==null?void 0:p[d],R=(g=e.after)==null?void 0:g[d];v!==R&&(c=c.orDeepProp(`${r.prop.name}.${d}`,"==",v))});const l=await c.get();return Promise.all([l.map(async d=>{var p,g;(g=(p=r.prop.cachedPropsConfig)==null?void 0:p.cachedProps)==null||g.forEach(async v=>{var R,C,N;const S=(R=e.before)==null?void 0:R[v],U=(C=e.after)==null?void 0:C[v];S!==U&&(d[`_${r.prop.name}`][`_${v}`]=U,await a.save(d),(N=this.onUpdate)==null||N.call(this,d,r.prop))})})])})}}const Cl=class $n{static registerCloudStorage(e,t){$n._cloudStorageFactoryMap[e]=t}static createInstance(e){const t=$n._cloudStorageFactoryMap[e];if(!t)throw new Error(`You should register the ${e} cloud storage provider prior to use it`);return t()}get className(){return this.__className}static useCloudStorage(e){$n._defaultCloudStorage=e}static get defaultCloudStorage(){if(!$n._defaultCloudStorage)throw new Error("You should define a default cloud storage provider prior to use it");return $n._defaultCloudStorage}};Cl._cloudStorageFactoryMap={};let Sn=Cl;function kl(n,e){return Sn.registerCloudStorage(n,e),t=>{t.prototype.__className=n}}var Iy=(n,e,t,r)=>{for(var s=e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=a(s)||s);return s};let jo=class extends Sn{constructor(n=""){super(),this._simulateDelay=0,this._pendingPromises=[],this.mockFileSystem={},this._pathToMockFiles=n}simulateDelay(n){return this._simulateDelay=n,this}resolveWithDelay(n){if(this._simulateDelay<=0)return Promise.resolve(n);const e=new Promise(t=>{setTimeout(()=>t(n),this._simulateDelay)});return this._pendingPromises.push(e),e.finally(()=>this._pendingPromises=this._pendingPromises.filter(t=>t===e)),e}save(n,e){const t=n;this._onProgress&&this._onProgress(0,100),this.mockFileSystem[n]=JSON.stringify(e),this._onProgress&&this._onProgress(100,100);const r=e instanceof File?e.name:t;return this.resolveWithDelay(r)}uploadControl(){return{resume:()=>{},pause:()=>{},cancel:()=>{},onProgress:n=>this._onProgress=n}}getUrl(n){return Promise.resolve(this._pathToMockFiles+n)}delete(n){return delete this.mockFileSystem[n],this.resolveWithDelay()}};jo=Iy([kl("MockCloudStorage",()=>new jo)],jo);var Ay=Object.defineProperty,Ry=Object.getOwnPropertyDescriptor,Cn=(n,e,t,r)=>{for(var s=r>1?void 0:r?Ry(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(r?a(e,t,s):a(s))||s);return r&&s&&Ay(e,t,s),s};let Jt=class extends fe{constructor(){super(...arguments),this._onChange=new Al}async save({data:n,fileName:e,progress:t,cloudStorageProvider:r}={}){const s=n||this._pendingData;s&&(this._reference&&await this.delete(),this.provider=r||Sn.defaultCloudStorage,this._originalFileName=e||(s instanceof File?s.name:void 0),this._reference=await this.provider.save(this.id,s,t),this._url=await this.provider.getUrl(this._reference),this._pendingData=void 0,this._onChange.notify({event:0,storedFile:this}))}uploadControl(){return this.provider.uploadControl()}async delete(){if(!this._reference)throw new Error("Cannot delete a not stored file");await this.provider.delete(this._reference),this._reference=void 0,this._url=void 0,this._onChange.notify({event:2,storedFile:this})}set provider(n){this._provider=n,this._cloudStorageProviderName=n.className}get provider(){if(!this._provider)try{this._provider=Sn.createInstance(this._cloudStorageProviderName)}catch{this._provider=Sn.defaultCloudStorage}return this._provider}get url(){return this._url}get mimeType(){return this._mimeType}setDataToStore(n){return this._pendingData=n,this._originalFileName=n instanceof File?n.name:void 0,this._mimeType=n instanceof Blob?n.type:void 0,this._onChange.notify({event:1,pendingData:n,storedFile:this}),this}get originalFileName(){return this._originalFileName}onChange(n){return this._onChange.subscribe(n)}};Cn([Pn],Jt.prototype,"_reference",2),Cn([Pn],Jt.prototype,"_url",2),Cn([Pn],Jt.prototype,"_cloudStorageProviderName",2),Cn([Pn],Jt.prototype,"_originalFileName",2),Cn([Pn],Jt.prototype,"_mimeType",2),Jt=Cn([Ey("StoredFile")],Jt);class Nl{}const Dl=class Ve extends Nl{constructor(){if(super(),this._onAuthStateChange=new Al,!Ve._authService)throw new Error(Ve.error.shouldBeRegistered);Ve._authService.onAuthStateChange(e=>this.authStateChanged(e))}static useAuthService(e){Ve._authService!=e&&(Ve._authService=e,this._instance=void 0)}static get instance(){return this._instance||(this._instance=new this)}signUp(e){return Ve._authService.signUp(e)}login(e){return Ve._authService.login(e)}logout(){return Ve._authService.logout()}resetEmailPassword(e){return Ve._authService.resetEmailPassword(e)}resendVerificationEmail(e,t,r){return Ve._authService.resendVerificationEmail(e,t,r)}refreshToken(){return Ve._authService.refreshToken()}onAuthStateChange(e){return this._onAuthStateChange.subscribe(e)}removeAuthStateChange(e){this._onAuthStateChange.unsubscribe(e)}linkAdditionalProvider(e){return Ve._authService.linkAdditionalProvider(e)}unlinkProvider(e){return Ve._authService.unlinkProvider(e)}authStateChanged(e){this._onAuthStateChange.notify(e)}};Dl.error={shouldBeRegistered:"You should register an auth service before using Auth."},Dl._instance=void 0;function xs(n){return n?n.replace(/([-_ ][\w])/g,e=>e.toUpperCase().replace("-","").replace("_","").replace(" ","")):""}var by="firebase",Py="10.13.2";/**
|
|
2097
|
+
`)}}static propInfo(n,e){return fe.createInstance(n).getPropInfo(e)}static getSystemRegisteredReferencesWithCachedProps(){return fe.registeredClasses().reduce((n,e)=>{const t=fe.createInstance(e).getPersistentProperties().filter(r=>{var s;return(s=r.cachedPropsConfig)==null?void 0:s.cachedProps});return t.length>0&&(n[e]=t),n},{})}},fe._factoryMap={},fe);dv([Ln],ch.prototype,"_id");let pe=ch;function Ln(n,e){return fv()(n,e)}function fv(n){return function(e,t){Object.getOwnPropertyDescriptor(e,"_persistentProperties")||(e._persistentProperties?e._persistentProperties=[...e._persistentProperties]:e._persistentProperties=[]);const r=e._persistentProperties.find(s=>s.name===t);r?Object.assign(r,n):e._persistentProperties.push({name:t,...n})}}function pv(n,e){return t=>{pe.registerFactory(n,t,e),t.prototype.__className=n}}const uh=class tp{constructor(e,t,r){if(r){if(!(t instanceof pe))throw new Error(tp.error.persistentNeedForSubCollection);this.collectionName=`${t.className}/${t.id}/${r}`}else this.collectionName=t instanceof pe?t.className:t;this._stream=e}findById(e,t){return new Promise((r,s)=>{this._stream.findById(e,this.collectionName).then(i=>{i?(t?t.fromObject(i):t=pe.createInstance(i),r(t)):r(void 0)}).catch(i=>s(i))})}save(e){const t=e.toObject();return this.collectionName!==t.__className&&(t.__rootCollections[this.collectionName]=t.__rootCollections[t.__className],delete t.__rootCollections[t.__className]),new Promise((r,s)=>{this._stream.save(t.__rootCollections).then(()=>r()).catch(i=>s(i))})}delete(e){return new Promise((t,r)=>{this._stream.delete(e,this.collectionName).then(()=>t()).catch(s=>r(s))})}find(){return new mv(this)}query(e={},t){if(t){const r=t instanceof pe?t.className:t;e.operations||(e.operations=[]),e.operations.push({property:"__className",operator:"==",value:r})}return this.mapToInstance(()=>this._stream.find(this.preprocessQueryObject(e),this.collectionName))}count(e){return this._stream.count(e,this.collectionName)}next(e){return this.mapToInstance(()=>this._stream.next(e))}onDocumentChange(e,t){return this._stream.onDocumentChange(this.collectionName,e,r=>t(this.toPersistentChangeObject(r)))}onCollectionChange(e,t){return this._stream.onCollectionChange(e.getQueryObject(),this.collectionName,r=>t(this.toPersistentChangeObject(r)))}toPersistentChangeObject(e){return{...e,before:e.before&&pe.createInstance(e.before),after:e.after&&pe.createInstance(e.after)}}mapToInstance(e){return new Promise((t,r)=>{e().then(s=>t(s.map(i=>pe.createInstance(i)))).catch(s=>r(s))})}preprocessQueryObject(e){var t;if(Object.values(e).length===0)return e;const r=((t=e.operations)==null?void 0:t.map(s=>{const i=s.value[0]??s.value;return sn.isArrayOperator(s.operator)&&i instanceof pe?{property:pe.searchableArrayNameFor(s.property),operator:s.operator,value:Array.isArray(s.value)?s.value.map(a=>a.id):i.id,aggregate:s.aggregate}:{property:s.property,operator:s.operator,value:s.value instanceof pe?{id:s.value.id}:s.value,aggregate:s.aggregate}}))??[];return{...e,operations:r}}};uh.error={persistentNeedForSubCollection:"The document parameter for a sub-collection should be a Persistent instace",invalidQueryOrder:"Cannot add where calls after or calls"};let Ks=uh;class mv{constructor(e){this.queryObject={operations:[]},this.model=e}where(e,t,r,s){var i,a,c;if((a=(i=this.queryObject.operations)==null?void 0:i.at(-1))!=null&&a.aggregate&&!s)throw new Error(Ks.error.invalidQueryOrder);return(c=this.queryObject.operations)==null||c.push({property:e,operator:t,value:r,aggregate:s}),this}whereDeepProp(e,t,r,s){var i,a,c;if((a=(i=this.queryObject.operations)==null?void 0:i.at(-1))!=null&&a.aggregate&&!s)throw new Error(Ks.error.invalidQueryOrder);const l=e.split(".");let d={},f=l.length>1?d:r;return l.slice(1).forEach((m,v)=>{d[m]=v<l.length-2?{}:r,d=d[m]}),(c=this.queryObject.operations)==null||c.push({property:l[0],operator:t,value:f,aggregate:s}),this}and(e,t,r){return this.where(e,t,r)}andDeepProp(e,t,r){return this.whereDeepProp(e,t,r)}or(e,t,r){return this.where(e,t,r,!0)}orDeepProp(e,t,r){return this.whereDeepProp(e,t,r,!0)}instanceOf(e){var t;const r=e instanceof pe?e.className:e;return(t=this.queryObject.operations)==null||t.push({property:"__className",operator:"==",value:r}),this}get(e){return e&&(this.queryObject.limit=e),this.model.query(this.queryObject)}limit(e){return this.queryObject.limit=e,this}orderBy(e,t="asc"){return this.queryObject.sort={propertyName:e,order:t},this}orderByDeepProp(e,t="asc"){return this.queryObject.sort={propertyName:e,order:t},this}count(){return this.model.count(this.queryObject)}getQueryObject(){return this.queryObject}}const lh=class Xn{constructor(){}static useDataSource(e){this._dataSource=e}static get dataSource(){return Xn._dataSource}static getModel(e){if(!Xn._dataSource)throw new Error(this.error.shouldBeRegistered);return new Ks(Xn._dataSource,e)}static getModelForSubCollection(e,t){if(!Xn._dataSource)throw new Error(this.error.shouldBeRegistered);return new Ks(Xn._dataSource,e,t)}static async populate(e){if(!e)return;const t=async r=>{const s=r;if(!s.__documentReference)return r;const i=await this.getModel(s.__documentReference.storedInCollection).findById(s.id,r);return i&&(i.__documentReference=void 0),i};return Array.isArray(e)?(await Promise.all(e.map(r=>t(r)))).filter(r=>r):t(e)}static isPopulated(e){return Array.isArray(e)?e.reduce((t,r)=>t&&r.__documentReference===void 0,!0):e.__documentReference===void 0}};lh.error={shouldBeRegistered:"You should register a data source before using the data Store."};let gv=lh;class sn{installCachedPropsUpdaters(e={}){sn.onUpdate=e.onUpdate;const t=pe.getSystemRegisteredReferencesWithCachedProps(),r={};Object.entries(t).forEach(([i,a])=>{a.forEach(c=>{const l=pe.collectionPath(pe.createInstance(i),c);r[l]||(r[l]=[]),r[l].push({prop:c,collectionPropOwner:i})})});const s=[];return Object.entries(r).forEach(([i,a])=>{const c=this.subscribeToDocumentChangeListerner(i,l=>sn.processDocumentChange(l,a));if(c)s.push(c);else if(e.noThrowOnNonImplementedListener)throw new Error("The method documentChangeListerner has not been implemented in the concrete data source")}),s}subscribeToDocumentChangeListerner(e,t){}static toPropertyPathOperations(e){return e?e.map(t=>{if(sn.isArrayOperator(t.operator)&&t.value[0]instanceof pe)return{property:pe.searchableArrayNameFor(t.property),operator:t.operator,value:t.value.map(i=>i.id),aggregate:t.aggregate};const[r,s]=this.toPropertyPathValue(t.value);return{property:`${String(t.property)}${r?"."+r:""}`,operator:t.operator,value:s,aggregate:t.aggregate}}):[]}static isArrayOperator(e){return e==="containsAny"||e==="contains"}static toPropertyPathValue(e){if(typeof e=="object"&&!Array.isArray(e)){const t=Object.keys(e)[0],[r,s]=this.toPropertyPathValue(e[t]);return[`${t}${r?"."+r:""}`,s]}else return[void 0,e]}static async processDocumentChange(e,t){if(e.before)return t.map(async r=>{var s,i;const a=gv.getModel(r.collectionPropOwner);let c=a.find();(i=(s=r.prop.cachedPropsConfig)==null?void 0:s.cachedProps)==null||i.forEach(d=>{var f,m;const v=(f=e.before)==null?void 0:f[d],R=(m=e.after)==null?void 0:m[d];v!==R&&(c=c.orDeepProp(`${r.prop.name}.${d}`,"==",v))});const l=await c.get();return Promise.all([l.map(async d=>{var f,m;(m=(f=r.prop.cachedPropsConfig)==null?void 0:f.cachedProps)==null||m.forEach(async v=>{var R,S,N;const k=(R=e.before)==null?void 0:R[v],U=(S=e.after)==null?void 0:S[v];k!==U&&(d[`_${r.prop.name}`][`_${v}`]=U,await a.save(d),(N=this.onUpdate)==null||N.call(this,d,r.prop))})})])})}}const hh=class Yn{static registerCloudStorage(e,t){Yn._cloudStorageFactoryMap[e]=t}static createInstance(e){const t=Yn._cloudStorageFactoryMap[e];if(!t)throw new Error(`You should register the ${e} cloud storage provider prior to use it`);return t()}get className(){return this.__className}static useCloudStorage(e){Yn._defaultCloudStorage=e}static get defaultCloudStorage(){if(!Yn._defaultCloudStorage)throw new Error("You should define a default cloud storage provider prior to use it");return Yn._defaultCloudStorage}};hh._cloudStorageFactoryMap={};let Mn=hh;function dh(n,e){return Mn.registerCloudStorage(n,e),t=>{t.prototype.__className=n}}var _v=(n,e,t,r)=>{for(var s=e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=a(s)||s);return s};let ra=class extends Mn{constructor(n=""){super(),this._simulateDelay=0,this._pendingPromises=[],this.mockFileSystem={},this._pathToMockFiles=n}simulateDelay(n){return this._simulateDelay=n,this}resolveWithDelay(n){if(this._simulateDelay<=0)return Promise.resolve(n);const e=new Promise(t=>{setTimeout(()=>t(n),this._simulateDelay)});return this._pendingPromises.push(e),e.finally(()=>this._pendingPromises=this._pendingPromises.filter(t=>t===e)),e}save(n,e){const t=n;this._onProgress&&this._onProgress(0,100),this.mockFileSystem[n]=JSON.stringify(e),this._onProgress&&this._onProgress(100,100);const r=e instanceof File?e.name:t;return this.resolveWithDelay(r)}uploadControl(){return{resume:()=>{},pause:()=>{},cancel:()=>{},onProgress:n=>this._onProgress=n}}getUrl(n){return Promise.resolve(this._pathToMockFiles+n)}delete(n){return delete this.mockFileSystem[n],this.resolveWithDelay()}};ra=_v([dh("MockCloudStorage",()=>new ra)],ra);var yv=Object.defineProperty,vv=Object.getOwnPropertyDescriptor,Un=(n,e,t,r)=>{for(var s=r>1?void 0:r?vv(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=(r?a(e,t,s):a(s))||s);return r&&s&&yv(e,t,s),s};let on=class extends pe{constructor(){super(...arguments),this._onChange=new oh}async save({data:n,fileName:e,progress:t,cloudStorageProvider:r}={}){const s=n||this._pendingData;s&&(this._reference&&await this.delete(),this.provider=r||Mn.defaultCloudStorage,this._originalFileName=e||(s instanceof File?s.name:void 0),this._reference=await this.provider.save(this.id,s,t),this._url=await this.provider.getUrl(this._reference),this._pendingData=void 0,this._onChange.notify({event:0,storedFile:this}))}uploadControl(){return this.provider.uploadControl()}async delete(){if(!this._reference)throw new Error("Cannot delete a not stored file");await this.provider.delete(this._reference),this._reference=void 0,this._url=void 0,this._onChange.notify({event:2,storedFile:this})}set provider(n){this._provider=n,this._cloudStorageProviderName=n.className}get provider(){if(!this._provider)try{this._provider=Mn.createInstance(this._cloudStorageProviderName)}catch{this._provider=Mn.defaultCloudStorage}return this._provider}get url(){return this._url}get mimeType(){return this._mimeType}setDataToStore(n){return this._pendingData=n,this._originalFileName=n instanceof File?n.name:void 0,this._mimeType=n instanceof Blob?n.type:void 0,this._onChange.notify({event:1,pendingData:n,storedFile:this}),this}get originalFileName(){return this._originalFileName}onChange(n){return this._onChange.subscribe(n)}};Un([Ln],on.prototype,"_reference",2),Un([Ln],on.prototype,"_url",2),Un([Ln],on.prototype,"_cloudStorageProviderName",2),Un([Ln],on.prototype,"_originalFileName",2),Un([Ln],on.prototype,"_mimeType",2),on=Un([pv("StoredFile")],on);class fh{}const ph=class Ue extends fh{constructor(){if(super(),this._onAuthStateChange=new oh,!Ue._authService)throw new Error(Ue.error.shouldBeRegistered);Ue._authService.onAuthStateChange(e=>this.authStateChanged(e))}static useAuthService(e){Ue._authService!=e&&(Ue._authService=e,this._instance=void 0)}static get instance(){return this._instance||(this._instance=new this)}signUp(e){return Ue._authService.signUp(e)}login(e){return Ue._authService.login(e)}logout(){return Ue._authService.logout()}resetEmailPassword(e){return Ue._authService.resetEmailPassword(e)}resendVerificationEmail(e,t,r){return Ue._authService.resendVerificationEmail(e,t,r)}refreshToken(){return Ue._authService.refreshToken()}onAuthStateChange(e){return this._onAuthStateChange.subscribe(e)}removeAuthStateChange(e){this._onAuthStateChange.unsubscribe(e)}linkAdditionalProvider(e){return Ue._authService.linkAdditionalProvider(e)}unlinkProvider(e){return Ue._authService.unlinkProvider(e)}authStateChanged(e){this._onAuthStateChange.notify(e)}};ph.error={shouldBeRegistered:"You should register an auth service before using Auth."},ph._instance=void 0;function Qs(n){return n?n.replace(/([-_ ][\w])/g,e=>e.toUpperCase().replace("-","").replace("_","").replace(" ","")):""}var Ev="firebase",Tv="11.4.0";/**
|
|
2018
2098
|
* @license
|
|
2019
2099
|
* Copyright 2020 Google LLC
|
|
2020
2100
|
*
|
|
@@ -2029,7 +2109,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2029
2109
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2030
2110
|
* See the License for the specific language governing permissions and
|
|
2031
2111
|
* limitations under the License.
|
|
2032
|
-
*/
|
|
2112
|
+
*/qe(Ev,Tv,"app");function sa(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 s=0,r=Object.getOwnPropertySymbols(n);s<r.length;s++)e.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(n,r[s])&&(t[r[s]]=n[r[s]]);return t}typeof SuppressedError=="function"&&SuppressedError;function mh(){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 wv=mh,gh=new Zn("auth","Firebase",mh());/**
|
|
2033
2113
|
* @license
|
|
2034
2114
|
* Copyright 2020 Google LLC
|
|
2035
2115
|
*
|
|
@@ -2044,7 +2124,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2044
2124
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2045
2125
|
* See the License for the specific language governing permissions and
|
|
2046
2126
|
* limitations under the License.
|
|
2047
|
-
*/const
|
|
2127
|
+
*/const Xs=new Ui("@firebase/auth");function Iv(n,...e){Xs.logLevel<=z.WARN&&Xs.warn(`Auth (${Yt}): ${n}`,...e)}function Ys(n,...e){Xs.logLevel<=z.ERROR&&Xs.error(`Auth (${Yt}): ${n}`,...e)}/**
|
|
2048
2128
|
* @license
|
|
2049
2129
|
* Copyright 2020 Google LLC
|
|
2050
2130
|
*
|
|
@@ -2059,7 +2139,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2059
2139
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2060
2140
|
* See the License for the specific language governing permissions and
|
|
2061
2141
|
* limitations under the License.
|
|
2062
|
-
*/function
|
|
2142
|
+
*/function He(n,...e){throw oa(n,...e)}function Ke(n,...e){return oa(n,...e)}function ia(n,e,t){const r=Object.assign(Object.assign({},wv()),{[e]:t});return new Zn("auth","Firebase",r).create(e,{appName:n.name})}function it(n){return ia(n,"operation-not-supported-in-this-environment","Operations that alter the current user are not supported in conjunction with FirebaseServerApp")}function _h(n,e,t){const r=t;if(!(e instanceof r))throw r.name!==e.constructor.name&&He(n,"argument-error"),ia(n,"argument-error",`Type of ${e.constructor.name} does not match expected instance.Did you pass a reference from a different Auth SDK?`)}function oa(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 gh.create(n,...e)}function M(n,e,...t){if(!n)throw oa(e,...t)}function mt(n){const e="INTERNAL ASSERTION FAILED: "+n;throw Ys(e),new Error(e)}function gt(n,e){n||mt(e)}/**
|
|
2063
2143
|
* @license
|
|
2064
2144
|
* Copyright 2020 Google LLC
|
|
2065
2145
|
*
|
|
@@ -2074,7 +2154,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2074
2154
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2075
2155
|
* See the License for the specific language governing permissions and
|
|
2076
2156
|
* limitations under the License.
|
|
2077
|
-
*/function
|
|
2157
|
+
*/function aa(){var n;return typeof self<"u"&&((n=self.location)===null||n===void 0?void 0:n.href)||""}function Av(){return yh()==="http:"||yh()==="https:"}function yh(){var n;return typeof self<"u"&&((n=self.location)===null||n===void 0?void 0:n.protocol)||null}/**
|
|
2078
2158
|
* @license
|
|
2079
2159
|
* Copyright 2020 Google LLC
|
|
2080
2160
|
*
|
|
@@ -2089,7 +2169,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2089
2169
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2090
2170
|
* See the License for the specific language governing permissions and
|
|
2091
2171
|
* limitations under the License.
|
|
2092
|
-
*/function
|
|
2172
|
+
*/function Rv(){return typeof navigator<"u"&&navigator&&"onLine"in navigator&&typeof navigator.onLine=="boolean"&&(Av()||fp()||"connection"in navigator)?navigator.onLine:!0}function bv(){if(typeof navigator>"u")return null;const n=navigator;return n.languages&&n.languages[0]||n.language||null}/**
|
|
2093
2173
|
* @license
|
|
2094
2174
|
* Copyright 2020 Google LLC
|
|
2095
2175
|
*
|
|
@@ -2104,7 +2184,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2104
2184
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2105
2185
|
* See the License for the specific language governing permissions and
|
|
2106
2186
|
* limitations under the License.
|
|
2107
|
-
*/class
|
|
2187
|
+
*/class Rr{constructor(e,t){this.shortDelay=e,this.longDelay=t,gt(t>e,"Short delay should be less than long delay!"),this.isMobile=lp()||pp()}get(){return Rv()?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}}/**
|
|
2108
2188
|
* @license
|
|
2109
2189
|
* Copyright 2020 Google LLC
|
|
2110
2190
|
*
|
|
@@ -2119,7 +2199,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2119
2199
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2120
2200
|
* See the License for the specific language governing permissions and
|
|
2121
2201
|
* limitations under the License.
|
|
2122
|
-
*/function
|
|
2202
|
+
*/function ca(n,e){gt(n.emulator,"Emulator should always be set here");const{url:t}=n.emulator;return e?`${t}${e.startsWith("/")?e.slice(1):e}`:t}/**
|
|
2123
2203
|
* @license
|
|
2124
2204
|
* Copyright 2020 Google LLC
|
|
2125
2205
|
*
|
|
@@ -2134,7 +2214,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2134
2214
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2135
2215
|
* See the License for the specific language governing permissions and
|
|
2136
2216
|
* limitations under the License.
|
|
2137
|
-
*/class
|
|
2217
|
+
*/class vh{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;mt("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;mt("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;mt("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}}/**
|
|
2138
2218
|
* @license
|
|
2139
2219
|
* Copyright 2020 Google LLC
|
|
2140
2220
|
*
|
|
@@ -2149,7 +2229,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2149
2229
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2150
2230
|
* See the License for the specific language governing permissions and
|
|
2151
2231
|
* limitations under the License.
|
|
2152
|
-
*/const
|
|
2232
|
+
*/const Pv={CREDENTIAL_MISMATCH:"custom-token-mismatch",MISSING_CUSTOM_TOKEN:"internal-error",INVALID_IDENTIFIER:"invalid-email",MISSING_CONTINUE_URI:"internal-error",INVALID_PASSWORD:"wrong-password",MISSING_PASSWORD:"missing-password",INVALID_LOGIN_CREDENTIALS:"invalid-credential",EMAIL_EXISTS:"email-already-in-use",PASSWORD_LOGIN_DISABLED:"operation-not-allowed",INVALID_IDP_RESPONSE:"invalid-credential",INVALID_PENDING_TOKEN:"invalid-credential",FEDERATED_USER_ID_ALREADY_LINKED:"credential-already-in-use",MISSING_REQ_TYPE:"internal-error",EMAIL_NOT_FOUND:"user-not-found",RESET_PASSWORD_EXCEED_LIMIT:"too-many-requests",EXPIRED_OOB_CODE:"expired-action-code",INVALID_OOB_CODE:"invalid-action-code",MISSING_OOB_CODE:"internal-error",CREDENTIAL_TOO_OLD_LOGIN_AGAIN:"requires-recent-login",INVALID_ID_TOKEN:"invalid-user-token",TOKEN_EXPIRED:"user-token-expired",USER_NOT_FOUND:"user-token-expired",TOO_MANY_ATTEMPTS_TRY_LATER:"too-many-requests",PASSWORD_DOES_NOT_MEET_REQUIREMENTS:"password-does-not-meet-requirements",INVALID_CODE:"invalid-verification-code",INVALID_SESSION_INFO:"invalid-verification-id",INVALID_TEMPORARY_PROOF:"invalid-credential",MISSING_SESSION_INFO:"missing-verification-id",SESSION_EXPIRED:"code-expired",MISSING_ANDROID_PACKAGE_NAME:"missing-android-pkg-name",UNAUTHORIZED_DOMAIN:"unauthorized-continue-uri",INVALID_OAUTH_CLIENT_ID:"invalid-oauth-client-id",ADMIN_ONLY_OPERATION:"admin-restricted-operation",INVALID_MFA_PENDING_CREDENTIAL:"invalid-multi-factor-session",MFA_ENROLLMENT_NOT_FOUND:"multi-factor-info-not-found",MISSING_MFA_ENROLLMENT_ID:"missing-multi-factor-info",MISSING_MFA_PENDING_CREDENTIAL:"missing-multi-factor-session",SECOND_FACTOR_EXISTS:"second-factor-already-in-use",SECOND_FACTOR_LIMIT_EXCEEDED:"maximum-second-factor-count-exceeded",BLOCKING_FUNCTION_ERROR_RESPONSE:"internal-error",RECAPTCHA_NOT_ENABLED:"recaptcha-not-enabled",MISSING_RECAPTCHA_TOKEN:"missing-recaptcha-token",INVALID_RECAPTCHA_TOKEN:"invalid-recaptcha-token",INVALID_RECAPTCHA_ACTION:"invalid-recaptcha-action",MISSING_CLIENT_TYPE:"missing-client-type",MISSING_RECAPTCHA_VERSION:"missing-recaptcha-version",INVALID_RECAPTCHA_VERSION:"invalid-recaptcha-version",INVALID_REQ_TYPE:"invalid-req-type"};/**
|
|
2153
2233
|
* @license
|
|
2154
2234
|
* Copyright 2020 Google LLC
|
|
2155
2235
|
*
|
|
@@ -2164,7 +2244,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2164
2244
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2165
2245
|
* See the License for the specific language governing permissions and
|
|
2166
2246
|
* limitations under the License.
|
|
2167
|
-
*/const
|
|
2247
|
+
*/const Sv=new Rr(3e4,6e4);function _t(n,e){return n.tenantId&&!e.tenantId?Object.assign(Object.assign({},e),{tenantId:n.tenantId}):e}async function Qe(n,e,t,r,s={}){return Eh(n,s,async()=>{let i={},a={};r&&(e==="GET"?a=r:i={body:JSON.stringify(r)});const c=er(Object.assign({key:n.config.apiKey},a)).slice(1),l=await n._getAdditionalHeaders();l["Content-Type"]="application/json",n.languageCode&&(l["X-Firebase-Locale"]=n.languageCode);const d=Object.assign({method:e,headers:l},i);return dp()||(d.referrerPolicy="no-referrer"),vh.fetch()(Th(n,n.config.apiHost,t,c),d)})}async function Eh(n,e,t){n._canInitEmulator=!1;const r=Object.assign(Object.assign({},Pv),e);try{const s=new kv(n),i=await Promise.race([t(),s.promise]);s.clearNetworkTimeout();const a=await i.json();if("needConfirmation"in a)throw Js(n,"account-exists-with-different-credential",a);if(i.ok&&!("errorMessage"in a))return a;{const c=i.ok?a.errorMessage:a.error.message,[l,d]=c.split(" : ");if(l==="FEDERATED_USER_ID_ALREADY_LINKED")throw Js(n,"credential-already-in-use",a);if(l==="EMAIL_EXISTS")throw Js(n,"email-already-in-use",a);if(l==="USER_DISABLED")throw Js(n,"user-disabled",a);const f=r[l]||l.toLowerCase().replace(/[_\s]+/g,"-");if(d)throw ia(n,f,d);He(n,f)}}catch(s){if(s instanceof ze)throw s;He(n,"network-request-failed",{message:String(s)})}}async function br(n,e,t,r,s={}){const i=await Qe(n,e,t,r,s);return"mfaPendingCredential"in i&&He(n,"multi-factor-auth-required",{_serverResponse:i}),i}function Th(n,e,t,r){const s=`${e}${t}?${r}`;return n.config.emulator?ca(n.config,s):`${n.config.apiScheme}://${s}`}function Cv(n){switch(n){case"ENFORCE":return"ENFORCE";case"AUDIT":return"AUDIT";case"OFF":return"OFF";default:return"ENFORCEMENT_STATE_UNSPECIFIED"}}class kv{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((t,r)=>{this.timer=setTimeout(()=>r(Ke(this.auth,"network-request-failed")),Sv.get())})}}function Js(n,e,t){const r={appName:n.name};t.email&&(r.email=t.email),t.phoneNumber&&(r.phoneNumber=t.phoneNumber);const s=Ke(n,e,r);return s.customData._tokenResponse=t,s}function wh(n){return n!==void 0&&n.enterprise!==void 0}class Nv{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 Cv(t.enforcementState);return null}isProviderEnabled(e){return this.getProviderEnforcementState(e)==="ENFORCE"||this.getProviderEnforcementState(e)==="AUDIT"}isAnyProviderEnabled(){return this.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")||this.isProviderEnabled("PHONE_PROVIDER")}}async function Dv(n,e){return Qe(n,"GET","/v2/recaptchaConfig",_t(n,e))}/**
|
|
2168
2248
|
* @license
|
|
2169
2249
|
* Copyright 2020 Google LLC
|
|
2170
2250
|
*
|
|
@@ -2179,7 +2259,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2179
2259
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2180
2260
|
* See the License for the specific language governing permissions and
|
|
2181
2261
|
* limitations under the License.
|
|
2182
|
-
*/async function
|
|
2262
|
+
*/async function Ov(n,e){return Qe(n,"POST","/v1/accounts:delete",e)}async function Vv(n,e){return Qe(n,"POST","/v1/accounts:update",e)}async function Ih(n,e){return Qe(n,"POST","/v1/accounts:lookup",e)}/**
|
|
2183
2263
|
* @license
|
|
2184
2264
|
* Copyright 2020 Google LLC
|
|
2185
2265
|
*
|
|
@@ -2194,7 +2274,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2194
2274
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2195
2275
|
* See the License for the specific language governing permissions and
|
|
2196
2276
|
* limitations under the License.
|
|
2197
|
-
*/function
|
|
2277
|
+
*/function Pr(n){if(n)try{const e=new Date(Number(n));if(!isNaN(e.getTime()))return e.toUTCString()}catch{}}async function Lv(n,e=!1){const t=X(n),r=await t.getIdToken(e),s=la(r);M(s&&s.exp&&s.auth_time&&s.iat,t.auth,"internal-error");const i=typeof s.firebase=="object"?s.firebase:void 0,a=i==null?void 0:i.sign_in_provider;return{claims:s,token:r,authTime:Pr(ua(s.auth_time)),issuedAtTime:Pr(ua(s.iat)),expirationTime:Pr(ua(s.exp)),signInProvider:a||null,signInSecondFactor:(i==null?void 0:i.sign_in_second_factor)||null}}function ua(n){return Number(n)*1e3}function la(n){const[e,t,r]=n.split(".");if(e===void 0||t===void 0||r===void 0)return Ys("JWT malformed, contained fewer than 3 sections"),null;try{const s=ac(t);return s?JSON.parse(s):(Ys("Failed to decode base64 JWT payload"),null)}catch(s){return Ys("Caught error parsing JWT payload as JSON",s==null?void 0:s.toString()),null}}function Ah(n){const e=la(n);return M(e,"internal-error"),M(typeof e.exp<"u","internal-error"),M(typeof e.iat<"u","internal-error"),Number(e.exp)-Number(e.iat)}/**
|
|
2198
2278
|
* @license
|
|
2199
2279
|
* Copyright 2020 Google LLC
|
|
2200
2280
|
*
|
|
@@ -2209,7 +2289,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2209
2289
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2210
2290
|
* See the License for the specific language governing permissions and
|
|
2211
2291
|
* limitations under the License.
|
|
2212
|
-
*/async function
|
|
2292
|
+
*/async function xn(n,e,t=!1){if(t)return e;try{return await e}catch(r){throw r instanceof ze&&Mv(r)&&n.auth.currentUser===n&&await n.auth.signOut(),r}}function Mv({code:n}){return n==="auth/user-disabled"||n==="auth/user-token-expired"}/**
|
|
2213
2293
|
* @license
|
|
2214
2294
|
* Copyright 2020 Google LLC
|
|
2215
2295
|
*
|
|
@@ -2224,7 +2304,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2224
2304
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2225
2305
|
* See the License for the specific language governing permissions and
|
|
2226
2306
|
* limitations under the License.
|
|
2227
|
-
*/class
|
|
2307
|
+
*/class Uv{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 s=((t=this.user.stsTokenManager.expirationTime)!==null&&t!==void 0?t:0)-Date.now()-3e5;return Math.max(0,s)}}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()}}/**
|
|
2228
2308
|
* @license
|
|
2229
2309
|
* Copyright 2020 Google LLC
|
|
2230
2310
|
*
|
|
@@ -2239,7 +2319,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2239
2319
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2240
2320
|
* See the License for the specific language governing permissions and
|
|
2241
2321
|
* limitations under the License.
|
|
2242
|
-
*/class
|
|
2322
|
+
*/class ha{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=Pr(this.lastLoginAt),this.creationTime=Pr(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}/**
|
|
2243
2323
|
* @license
|
|
2244
2324
|
* Copyright 2019 Google LLC
|
|
2245
2325
|
*
|
|
@@ -2254,7 +2334,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2254
2334
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2255
2335
|
* See the License for the specific language governing permissions and
|
|
2256
2336
|
* limitations under the License.
|
|
2257
|
-
*/async function
|
|
2337
|
+
*/async function Sr(n){var e;const t=n.auth,r=await n.getIdToken(),s=await xn(n,Ih(t,{idToken:r}));M(s==null?void 0:s.users.length,t,"internal-error");const i=s.users[0];n._notifyReloadListener(i);const a=!((e=i.providerUserInfo)===null||e===void 0)&&e.length?Rh(i.providerUserInfo):[],c=Fv(n.providerData,a),l=n.isAnonymous,d=!(n.email&&i.passwordHash)&&!(c!=null&&c.length),f=l?d:!1,m={uid:i.localId,displayName:i.displayName||null,photoURL:i.photoUrl||null,email:i.email||null,emailVerified:i.emailVerified||!1,phoneNumber:i.phoneNumber||null,tenantId:i.tenantId||null,providerData:c,metadata:new ha(i.createdAt,i.lastLoginAt),isAnonymous:f};Object.assign(n,m)}async function xv(n){const e=X(n);await Sr(e),await e.auth._persistUserIfCurrent(e),e.auth._notifyListenersIfCurrent(e)}function Fv(n,e){return[...n.filter(r=>!e.some(s=>s.providerId===r.providerId)),...e]}function Rh(n){return n.map(e=>{var{providerId:t}=e,r=sa(e,["providerId"]);return{providerId:t,uid:r.rawId||"",displayName:r.displayName||null,email:r.email||null,phoneNumber:r.phoneNumber||null,photoURL:r.photoUrl||null}})}/**
|
|
2258
2338
|
* @license
|
|
2259
2339
|
* Copyright 2020 Google LLC
|
|
2260
2340
|
*
|
|
@@ -2269,7 +2349,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2269
2349
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2270
2350
|
* See the License for the specific language governing permissions and
|
|
2271
2351
|
* limitations under the License.
|
|
2272
|
-
*/async function
|
|
2352
|
+
*/async function Bv(n,e){const t=await Eh(n,{},async()=>{const r=er({grant_type:"refresh_token",refresh_token:e}).slice(1),{tokenApiHost:s,apiKey:i}=n.config,a=Th(n,s,"/v1/token",`key=${i}`),c=await n._getAdditionalHeaders();return c["Content-Type"]="application/x-www-form-urlencoded",vh.fetch()(a,{method:"POST",headers:c,body:r})});return{accessToken:t.access_token,expiresIn:t.expires_in,refreshToken:t.refresh_token}}async function jv(n,e){return Qe(n,"POST","/v2/accounts:revokeToken",_t(n,e))}/**
|
|
2273
2353
|
* @license
|
|
2274
2354
|
* Copyright 2020 Google LLC
|
|
2275
2355
|
*
|
|
@@ -2284,7 +2364,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2284
2364
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2285
2365
|
* See the License for the specific language governing permissions and
|
|
2286
2366
|
* limitations under the License.
|
|
2287
|
-
*/class
|
|
2367
|
+
*/class Fn{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){M(e.idToken,"internal-error"),M(typeof e.idToken<"u","internal-error"),M(typeof e.refreshToken<"u","internal-error");const t="expiresIn"in e&&typeof e.expiresIn<"u"?Number(e.expiresIn):Ah(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){M(e.length!==0,"internal-error");const t=Ah(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return!t&&this.accessToken&&!this.isExpired?this.accessToken:(M(this.refreshToken,e,"user-token-expired"),this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null)}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){const{accessToken:r,refreshToken:s,expiresIn:i}=await Bv(e,t);this.updateTokensAndExpiration(r,s,Number(i))}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:s,expirationTime:i}=t,a=new Fn;return r&&(M(typeof r=="string","internal-error",{appName:e}),a.refreshToken=r),s&&(M(typeof s=="string","internal-error",{appName:e}),a.accessToken=s),i&&(M(typeof i=="number","internal-error",{appName:e}),a.expirationTime=i),a}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 Fn,this.toJSON())}_performRefresh(){return mt("not implemented")}}/**
|
|
2288
2368
|
* @license
|
|
2289
2369
|
* Copyright 2020 Google LLC
|
|
2290
2370
|
*
|
|
@@ -2299,7 +2379,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2299
2379
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2300
2380
|
* See the License for the specific language governing permissions and
|
|
2301
2381
|
* limitations under the License.
|
|
2302
|
-
*/function
|
|
2382
|
+
*/function jt(n,e){M(typeof n=="string"||typeof n>"u","internal-error",{appName:e})}class yt{constructor(e){var{uid:t,auth:r,stsTokenManager:s}=e,i=sa(e,["uid","auth","stsTokenManager"]);this.providerId="firebase",this.proactiveRefresh=new Uv(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=t,this.auth=r,this.stsTokenManager=s,this.accessToken=s.accessToken,this.displayName=i.displayName||null,this.email=i.email||null,this.emailVerified=i.emailVerified||!1,this.phoneNumber=i.phoneNumber||null,this.photoURL=i.photoURL||null,this.isAnonymous=i.isAnonymous||!1,this.tenantId=i.tenantId||null,this.providerData=i.providerData?[...i.providerData]:[],this.metadata=new ha(i.createdAt||void 0,i.lastLoginAt||void 0)}async getIdToken(e){const t=await xn(this,this.stsTokenManager.getToken(this.auth,e));return M(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return Lv(this,e)}reload(){return xv(this)}_assign(e){this!==e&&(M(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 yt(Object.assign(Object.assign({},this),{auth:e,stsTokenManager:this.stsTokenManager._clone()}));return t.metadata._copy(this.metadata),t}_onReload(e){M(!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 Sr(this),await this.auth._persistUserIfCurrent(this),r&&this.auth._notifyListenersIfCurrent(this)}async delete(){if(Te(this.auth.app))return Promise.reject(it(this.auth));const e=await this.getIdToken();return await xn(this,Ov(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,s,i,a,c,l,d,f;const m=(r=t.displayName)!==null&&r!==void 0?r:void 0,v=(s=t.email)!==null&&s!==void 0?s:void 0,R=(i=t.phoneNumber)!==null&&i!==void 0?i:void 0,S=(a=t.photoURL)!==null&&a!==void 0?a:void 0,N=(c=t.tenantId)!==null&&c!==void 0?c:void 0,k=(l=t._redirectEventId)!==null&&l!==void 0?l:void 0,U=(d=t.createdAt)!==null&&d!==void 0?d:void 0,$=(f=t.lastLoginAt)!==null&&f!==void 0?f:void 0,{uid:x,emailVerified:H,isAnonymous:he,providerData:J,stsTokenManager:T}=t;M(x&&T,e,"internal-error");const g=Fn.fromJSON(this.name,T);M(typeof x=="string",e,"internal-error"),jt(m,e.name),jt(v,e.name),M(typeof H=="boolean",e,"internal-error"),M(typeof he=="boolean",e,"internal-error"),jt(R,e.name),jt(S,e.name),jt(N,e.name),jt(k,e.name),jt(U,e.name),jt($,e.name);const _=new yt({uid:x,auth:e,email:v,emailVerified:H,displayName:m,isAnonymous:he,photoURL:S,phoneNumber:R,tenantId:N,stsTokenManager:g,createdAt:U,lastLoginAt:$});return J&&Array.isArray(J)&&(_.providerData=J.map(E=>Object.assign({},E))),k&&(_._redirectEventId=k),_}static async _fromIdTokenResponse(e,t,r=!1){const s=new Fn;s.updateFromServerResponse(t);const i=new yt({uid:t.localId,auth:e,stsTokenManager:s,isAnonymous:r});return await Sr(i),i}static async _fromGetAccountInfoResponse(e,t,r){const s=t.users[0];M(s.localId!==void 0,"internal-error");const i=s.providerUserInfo!==void 0?Rh(s.providerUserInfo):[],a=!(s.email&&s.passwordHash)&&!(i!=null&&i.length),c=new Fn;c.updateFromIdToken(r);const l=new yt({uid:s.localId,auth:e,stsTokenManager:c,isAnonymous:a}),d={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:i,metadata:new ha(s.createdAt,s.lastLoginAt),isAnonymous:!(s.email&&s.passwordHash)&&!(i!=null&&i.length)};return Object.assign(l,d),l}}/**
|
|
2303
2383
|
* @license
|
|
2304
2384
|
* Copyright 2020 Google LLC
|
|
2305
2385
|
*
|
|
@@ -2314,7 +2394,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2314
2394
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2315
2395
|
* See the License for the specific language governing permissions and
|
|
2316
2396
|
* limitations under the License.
|
|
2317
|
-
*/const
|
|
2397
|
+
*/const bh=new Map;function vt(n){gt(n instanceof Function,"Expected a class definition");let e=bh.get(n);return e?(gt(e instanceof n,"Instance stored in cache mismatched with class"),e):(e=new n,bh.set(n,e),e)}/**
|
|
2318
2398
|
* @license
|
|
2319
2399
|
* Copyright 2019 Google LLC
|
|
2320
2400
|
*
|
|
@@ -2329,7 +2409,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2329
2409
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2330
2410
|
* See the License for the specific language governing permissions and
|
|
2331
2411
|
* limitations under the License.
|
|
2332
|
-
*/class
|
|
2412
|
+
*/class Ph{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){}}Ph.type="NONE";const Sh=Ph;/**
|
|
2333
2413
|
* @license
|
|
2334
2414
|
* Copyright 2019 Google LLC
|
|
2335
2415
|
*
|
|
@@ -2344,7 +2424,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2344
2424
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2345
2425
|
* See the License for the specific language governing permissions and
|
|
2346
2426
|
* limitations under the License.
|
|
2347
|
-
*/function
|
|
2427
|
+
*/function Zs(n,e,t){return`firebase:${n}:${e}:${t}`}class Bn{constructor(e,t,r){this.persistence=e,this.auth=t,this.userKey=r;const{config:s,name:i}=this.auth;this.fullUserKey=Zs(this.userKey,s.apiKey,i),this.fullPersistenceKey=Zs("persistence",s.apiKey,i),this.boundEventHandler=t._onStorageEvent.bind(t),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}setCurrentUser(e){return this.persistence._set(this.fullUserKey,e.toJSON())}async getCurrentUser(){const e=await this.persistence._get(this.fullUserKey);return e?yt._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 Bn(vt(Sh),e,r);const s=(await Promise.all(t.map(async d=>{if(await d._isAvailable())return d}))).filter(d=>d);let i=s[0]||vt(Sh);const a=Zs(r,e.config.apiKey,e.name);let c=null;for(const d of t)try{const f=await d._get(a);if(f){const m=yt._fromJSON(e,f);d!==i&&(c=m),i=d;break}}catch{}const l=s.filter(d=>d._shouldAllowMigration);return!i._shouldAllowMigration||!l.length?new Bn(i,e,r):(i=l[0],c&&await i._set(a,c.toJSON()),await Promise.all(t.map(async d=>{if(d!==i)try{await d._remove(a)}catch{}})),new Bn(i,e,r))}}/**
|
|
2348
2428
|
* @license
|
|
2349
2429
|
* Copyright 2020 Google LLC
|
|
2350
2430
|
*
|
|
@@ -2359,7 +2439,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2359
2439
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2360
2440
|
* See the License for the specific language governing permissions and
|
|
2361
2441
|
* limitations under the License.
|
|
2362
|
-
*/function
|
|
2442
|
+
*/function Ch(n){const e=n.toLowerCase();if(e.includes("opera/")||e.includes("opr/")||e.includes("opios/"))return"Opera";if(Oh(e))return"IEMobile";if(e.includes("msie")||e.includes("trident/"))return"IE";if(e.includes("edge/"))return"Edge";if(kh(e))return"Firefox";if(e.includes("silk/"))return"Silk";if(Lh(e))return"Blackberry";if(Mh(e))return"Webos";if(Nh(e))return"Safari";if((e.includes("chrome/")||Dh(e))&&!e.includes("edge/"))return"Chrome";if(Vh(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 kh(n=Ee()){return/firefox\//i.test(n)}function Nh(n=Ee()){const e=n.toLowerCase();return e.includes("safari/")&&!e.includes("chrome/")&&!e.includes("crios/")&&!e.includes("android")}function Dh(n=Ee()){return/crios\//i.test(n)}function Oh(n=Ee()){return/iemobile/i.test(n)}function Vh(n=Ee()){return/android/i.test(n)}function Lh(n=Ee()){return/blackberry/i.test(n)}function Mh(n=Ee()){return/webos/i.test(n)}function da(n=Ee()){return/iphone|ipad|ipod/i.test(n)||/macintosh/i.test(n)&&/mobile/i.test(n)}function qv(n=Ee()){var e;return da(n)&&!!(!((e=window.navigator)===null||e===void 0)&&e.standalone)}function $v(){return mp()&&document.documentMode===10}function Uh(n=Ee()){return da(n)||Vh(n)||Mh(n)||Lh(n)||/windows phone/i.test(n)||Oh(n)}/**
|
|
2363
2443
|
* @license
|
|
2364
2444
|
* Copyright 2020 Google LLC
|
|
2365
2445
|
*
|
|
@@ -2374,7 +2454,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2374
2454
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2375
2455
|
* See the License for the specific language governing permissions and
|
|
2376
2456
|
* limitations under the License.
|
|
2377
|
-
*/function
|
|
2457
|
+
*/function xh(n,e=[]){let t;switch(n){case"Browser":t=Ch(Ee());break;case"Worker":t=`${Ch(Ee())}-${n}`;break;default:t=n}const r=e.length?e.join(","):"FirebaseCore-web";return`${t}/JsCore/${Yt}/${r}`}/**
|
|
2378
2458
|
* @license
|
|
2379
2459
|
* Copyright 2022 Google LLC
|
|
2380
2460
|
*
|
|
@@ -2389,7 +2469,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2389
2469
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2390
2470
|
* See the License for the specific language governing permissions and
|
|
2391
2471
|
* limitations under the License.
|
|
2392
|
-
*/class
|
|
2472
|
+
*/class Hv{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){const r=i=>new Promise((a,c)=>{try{const l=e(i);a(l)}catch(l){c(l)}});r.onAbort=t,this.queue.push(r);const s=this.queue.length-1;return()=>{this.queue[s]=()=>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 s of t)try{s()}catch{}throw this.auth._errorFactory.create("login-blocked",{originalMessage:r==null?void 0:r.message})}}}/**
|
|
2393
2473
|
* @license
|
|
2394
2474
|
* Copyright 2023 Google LLC
|
|
2395
2475
|
*
|
|
@@ -2404,7 +2484,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2404
2484
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2405
2485
|
* See the License for the specific language governing permissions and
|
|
2406
2486
|
* limitations under the License.
|
|
2407
|
-
*/async function
|
|
2487
|
+
*/async function zv(n,e={}){return Qe(n,"GET","/v2/passwordPolicy",_t(n,e))}/**
|
|
2408
2488
|
* @license
|
|
2409
2489
|
* Copyright 2023 Google LLC
|
|
2410
2490
|
*
|
|
@@ -2419,7 +2499,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2419
2499
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2420
2500
|
* See the License for the specific language governing permissions and
|
|
2421
2501
|
* limitations under the License.
|
|
2422
|
-
*/const
|
|
2502
|
+
*/const Wv=6;class Gv{constructor(e){var t,r,s,i;const a=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=(t=a.minPasswordLength)!==null&&t!==void 0?t:Wv,a.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=a.maxPasswordLength),a.containsLowercaseCharacter!==void 0&&(this.customStrengthOptions.containsLowercaseLetter=a.containsLowercaseCharacter),a.containsUppercaseCharacter!==void 0&&(this.customStrengthOptions.containsUppercaseLetter=a.containsUppercaseCharacter),a.containsNumericCharacter!==void 0&&(this.customStrengthOptions.containsNumericCharacter=a.containsNumericCharacter),a.containsNonAlphanumericCharacter!==void 0&&(this.customStrengthOptions.containsNonAlphanumericCharacter=a.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,this.enforcementState==="ENFORCEMENT_STATE_UNSPECIFIED"&&(this.enforcementState="OFF"),this.allowedNonAlphanumericCharacters=(s=(r=e.allowedNonAlphanumericCharacters)===null||r===void 0?void 0:r.join(""))!==null&&s!==void 0?s:"",this.forceUpgradeOnSignin=(i=e.forceUpgradeOnSignin)!==null&&i!==void 0?i:!1,this.schemaVersion=e.schemaVersion}validatePassword(e){var t,r,s,i,a,c;const l={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,l),this.validatePasswordCharacterOptions(e,l),l.isValid&&(l.isValid=(t=l.meetsMinPasswordLength)!==null&&t!==void 0?t:!0),l.isValid&&(l.isValid=(r=l.meetsMaxPasswordLength)!==null&&r!==void 0?r:!0),l.isValid&&(l.isValid=(s=l.containsLowercaseLetter)!==null&&s!==void 0?s:!0),l.isValid&&(l.isValid=(i=l.containsUppercaseLetter)!==null&&i!==void 0?i:!0),l.isValid&&(l.isValid=(a=l.containsNumericCharacter)!==null&&a!==void 0?a:!0),l.isValid&&(l.isValid=(c=l.containsNonAlphanumericCharacter)!==null&&c!==void 0?c:!0),l}validatePasswordLengthOptions(e,t){const r=this.customStrengthOptions.minPasswordLength,s=this.customStrengthOptions.maxPasswordLength;r&&(t.meetsMinPasswordLength=e.length>=r),s&&(t.meetsMaxPasswordLength=e.length<=s)}validatePasswordCharacterOptions(e,t){this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);let r;for(let s=0;s<e.length;s++)r=e.charAt(s),this.updatePasswordCharacterOptionsStatuses(t,r>="a"&&r<="z",r>="A"&&r<="Z",r>="0"&&r<="9",this.allowedNonAlphanumericCharacters.includes(r))}updatePasswordCharacterOptionsStatuses(e,t,r,s,i){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||(e.containsLowercaseLetter=t)),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||(e.containsUppercaseLetter=r)),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||(e.containsNumericCharacter=s)),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||(e.containsNonAlphanumericCharacter=i))}}/**
|
|
2423
2503
|
* @license
|
|
2424
2504
|
* Copyright 2020 Google LLC
|
|
2425
2505
|
*
|
|
@@ -2434,7 +2514,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2434
2514
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2435
2515
|
* See the License for the specific language governing permissions and
|
|
2436
2516
|
* limitations under the License.
|
|
2437
|
-
*/class
|
|
2517
|
+
*/class Kv{constructor(e,t,r,s){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=r,this.config=s,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new Fh(this),this.idTokenSubscription=new Fh(this),this.beforeStateQueue=new Hv(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=gh,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=s.sdkClientVersion}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=vt(t)),this._initializationPromise=this.queue(async()=>{var r,s;if(!this._deleted&&(this.persistenceManager=await Bn.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=((s=this.currentUser)===null||s===void 0?void 0:s.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 initializeCurrentUserFromIdToken(e){try{const t=await Ih(this,{idToken:e}),r=await yt._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(r)}catch(t){console.warn("FirebaseServerApp could not login user with provided authIdToken: ",t),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){var t;if(Te(this.app)){const a=this.app.settings.authIdToken;return a?new Promise(c=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(a).then(c,c))}):this.directlySetCurrentUser(null)}const r=await this.assertedPersistence.getCurrentUser();let s=r,i=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();const a=(t=this.redirectUser)===null||t===void 0?void 0:t._redirectEventId,c=s==null?void 0:s._redirectEventId,l=await this.tryRedirectSignIn(e);(!a||a===c)&&(l!=null&&l.user)&&(s=l.user,i=!0)}if(!s)return this.directlySetCurrentUser(null);if(!s._redirectEventId){if(i)try{await this.beforeStateQueue.runMiddleware(s)}catch(a){s=r,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(a))}return s?this.reloadAndSetCurrentUserOrClear(s):this.directlySetCurrentUser(null)}return M(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===s._redirectEventId?this.directlySetCurrentUser(s):this.reloadAndSetCurrentUserOrClear(s)}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 Sr(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=bv()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if(Te(this.app))return Promise.reject(it(this));const t=e?X(e):null;return t&&M(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&&M(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 Te(this.app)?Promise.reject(it(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return Te(this.app)?Promise.reject(it(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(vt(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 zv(this),t=new Gv(e);this.tenantId===null?this._projectPasswordPolicy=t:this._tenantPasswordPolicies[this.tenantId]=t}_getPersistence(){return this.assertedPersistence.persistence.type}_updateErrorMap(e){this._errorFactory=new Zn("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)}})}async revokeAccessToken(e){if(this.currentUser){const t=await this.currentUser.getIdToken(),r={providerId:"apple.com",tokenType:"ACCESS_TOKEN",token:e,idToken:t};this.tenantId!=null&&(r.tenantId=this.tenantId),await jv(this,r)}}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&&vt(e)||this._popupRedirectResolver;M(t,this,"argument-error"),this.redirectPersistenceManager=await Bn.create(this,[vt(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,s){if(this._deleted)return()=>{};const i=typeof t=="function"?t:t.next.bind(t);let a=!1;const c=this._isInitialized?Promise.resolve():this._initializationPromise;if(M(c,this,"internal-error"),c.then(()=>{a||i(this.currentUser)}),typeof t=="function"){const l=e.addObserver(t,r,s);return()=>{a=!0,l()}}else{const l=e.addObserver(t);return()=>{a=!0,l()}}}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 M(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=xh(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 s=await this._getAppCheckToken();return s&&(t["X-Firebase-AppCheck"]=s),t}async _getAppCheckToken(){var e;if(Te(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;const t=await((e=this.appCheckServiceProvider.getImmediate({optional:!0}))===null||e===void 0?void 0:e.getToken());return t!=null&&t.error&&Iv(`Error while retrieving App Check token: ${t.error}`),t==null?void 0:t.token}}function ot(n){return X(n)}class Fh{constructor(e){this.auth=e,this.observer=null,this.addObserver=Ip(t=>this.observer=t)}get next(){return M(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}/**
|
|
2438
2518
|
* @license
|
|
2439
2519
|
* Copyright 2020 Google LLC
|
|
2440
2520
|
*
|
|
@@ -2449,7 +2529,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2449
2529
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2450
2530
|
* See the License for the specific language governing permissions and
|
|
2451
2531
|
* limitations under the License.
|
|
2452
|
-
*/let
|
|
2532
|
+
*/let ei={async loadJS(){throw new Error("Unable to load external scripts")},recaptchaV2Script:"",recaptchaEnterpriseScript:"",gapiScript:""};function Qv(n){ei=n}function Bh(n){return ei.loadJS(n)}function Xv(){return ei.recaptchaEnterpriseScript}function Yv(){return ei.gapiScript}function Jv(n){return`__${n}${Math.floor(Math.random()*1e6)}`}class Zv{constructor(){this.enterprise=new eE}ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class eE{ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}const tE="recaptcha-enterprise",jh="NO_RECAPTCHA";class nE{constructor(e){this.type=tE,this.auth=ot(e)}async verify(e="verify",t=!1){async function r(i){if(!t){if(i.tenantId==null&&i._agentRecaptchaConfig!=null)return i._agentRecaptchaConfig.siteKey;if(i.tenantId!=null&&i._tenantRecaptchaConfigs[i.tenantId]!==void 0)return i._tenantRecaptchaConfigs[i.tenantId].siteKey}return new Promise(async(a,c)=>{Dv(i,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}).then(l=>{if(l.recaptchaKey===void 0)c(new Error("recaptcha Enterprise site key undefined"));else{const d=new Nv(l);return i.tenantId==null?i._agentRecaptchaConfig=d:i._tenantRecaptchaConfigs[i.tenantId]=d,a(d.siteKey)}}).catch(l=>{c(l)})})}function s(i,a,c){const l=window.grecaptcha;wh(l)?l.enterprise.ready(()=>{l.enterprise.execute(i,{action:e}).then(d=>{a(d)}).catch(()=>{a(jh)})}):c(Error("No reCAPTCHA enterprise script loaded."))}return this.auth.settings.appVerificationDisabledForTesting?new Zv().execute("siteKey",{action:"verify"}):new Promise((i,a)=>{r(this.auth).then(c=>{if(!t&&wh(window.grecaptcha))s(c,i,a);else{if(typeof window>"u"){a(new Error("RecaptchaVerifier is only supported in browser"));return}let l=Xv();l.length!==0&&(l+=c),Bh(l).then(()=>{s(c,i,a)}).catch(d=>{a(d)})}}).catch(c=>{a(c)})})}}async function qh(n,e,t,r=!1,s=!1){const i=new nE(n);let a;if(s)a=jh;else try{a=await i.verify(t)}catch{a=await i.verify(t,!0)}const c=Object.assign({},e);if(t==="mfaSmsEnrollment"||t==="mfaSmsSignIn"){if("phoneEnrollmentInfo"in c){const l=c.phoneEnrollmentInfo.phoneNumber,d=c.phoneEnrollmentInfo.recaptchaToken;Object.assign(c,{phoneEnrollmentInfo:{phoneNumber:l,recaptchaToken:d,captchaResponse:a,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}else if("phoneSignInInfo"in c){const l=c.phoneSignInInfo.recaptchaToken;Object.assign(c,{phoneSignInInfo:{recaptchaToken:l,captchaResponse:a,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}return c}return r?Object.assign(c,{captchaResp:a}):Object.assign(c,{captchaResponse:a}),Object.assign(c,{clientType:"CLIENT_TYPE_WEB"}),Object.assign(c,{recaptchaVersion:"RECAPTCHA_ENTERPRISE"}),c}async function ti(n,e,t,r,s){var i;if(!((i=n._getRecaptchaConfig())===null||i===void 0)&&i.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")){const a=await qh(n,e,t,t==="getOobCode");return r(n,a)}else return r(n,e).catch(async a=>{if(a.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 c=await qh(n,e,t,t==="getOobCode");return r(n,c)}else return Promise.reject(a)})}/**
|
|
2453
2533
|
* @license
|
|
2454
2534
|
* Copyright 2020 Google LLC
|
|
2455
2535
|
*
|
|
@@ -2464,7 +2544,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2464
2544
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2465
2545
|
* See the License for the specific language governing permissions and
|
|
2466
2546
|
* limitations under the License.
|
|
2467
|
-
*/function
|
|
2547
|
+
*/function rE(n,e){const t=rr(n,"auth");if(t.isInitialized()){const s=t.getImmediate(),i=t.getOptions();if(Qt(i,e??{}))return s;He(s,"already-initialized")}return t.initialize({options:e})}function sE(n,e){const t=(e==null?void 0:e.persistence)||[],r=(Array.isArray(t)?t:[t]).map(vt);e!=null&&e.errorMap&&n._updateErrorMap(e.errorMap),n._initializeWithPersistence(r,e==null?void 0:e.popupRedirectResolver)}function $h(n,e,t){const r=ot(n);M(/^https?:\/\//.test(e),r,"invalid-emulator-scheme");const s=!1,i=Hh(e),{host:a,port:c}=iE(e),l=c===null?"":`:${c}`,d={url:`${i}//${a}${l}/`},f=Object.freeze({host:a,port:c,protocol:i.replace(":",""),options:Object.freeze({disableWarnings:s})});if(!r._canInitEmulator){M(r.config.emulator&&r.emulatorConfig,r,"emulator-config-failed"),M(Qt(d,r.config.emulator)&&Qt(f,r.emulatorConfig),r,"emulator-config-failed");return}r.config.emulator=d,r.emulatorConfig=f,r.settings.appVerificationDisabledForTesting=!0,oE()}function Hh(n){const e=n.indexOf(":");return e<0?"":n.substr(0,e+1)}function iE(n){const e=Hh(n),t=/(\/\/)?([^?#/]+)/.exec(n.substr(e.length));if(!t)return{host:"",port:null};const r=t[2].split("@").pop()||"",s=/^(\[[^\]]+\])(:|$)/.exec(r);if(s){const i=s[1];return{host:i,port:zh(r.substr(i.length+1))}}else{const[i,a]=r.split(":");return{host:i,port:zh(a)}}}function zh(n){if(!n)return null;const e=Number(n);return isNaN(e)?null:e}function oE(){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())}/**
|
|
2468
2548
|
* @license
|
|
2469
2549
|
* Copyright 2020 Google LLC
|
|
2470
2550
|
*
|
|
@@ -2479,7 +2559,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2479
2559
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2480
2560
|
* See the License for the specific language governing permissions and
|
|
2481
2561
|
* limitations under the License.
|
|
2482
|
-
*/class
|
|
2562
|
+
*/class fa{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return mt("not implemented")}_getIdTokenResponse(e){return mt("not implemented")}_linkToIdToken(e,t){return mt("not implemented")}_getReauthenticationResolver(e){return mt("not implemented")}}async function aE(n,e){return Qe(n,"POST","/v1/accounts:signUp",e)}/**
|
|
2483
2563
|
* @license
|
|
2484
2564
|
* Copyright 2020 Google LLC
|
|
2485
2565
|
*
|
|
@@ -2494,7 +2574,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2494
2574
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2495
2575
|
* See the License for the specific language governing permissions and
|
|
2496
2576
|
* limitations under the License.
|
|
2497
|
-
*/async function
|
|
2577
|
+
*/async function cE(n,e){return br(n,"POST","/v1/accounts:signInWithPassword",_t(n,e))}async function Wh(n,e){return Qe(n,"POST","/v1/accounts:sendOobCode",_t(n,e))}async function uE(n,e){return Wh(n,e)}async function lE(n,e){return Wh(n,e)}/**
|
|
2498
2578
|
* @license
|
|
2499
2579
|
* Copyright 2020 Google LLC
|
|
2500
2580
|
*
|
|
@@ -2509,7 +2589,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2509
2589
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2510
2590
|
* See the License for the specific language governing permissions and
|
|
2511
2591
|
* limitations under the License.
|
|
2512
|
-
*/async function
|
|
2592
|
+
*/async function hE(n,e){return br(n,"POST","/v1/accounts:signInWithEmailLink",_t(n,e))}async function dE(n,e){return br(n,"POST","/v1/accounts:signInWithEmailLink",_t(n,e))}/**
|
|
2513
2593
|
* @license
|
|
2514
2594
|
* Copyright 2020 Google LLC
|
|
2515
2595
|
*
|
|
@@ -2524,7 +2604,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2524
2604
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2525
2605
|
* See the License for the specific language governing permissions and
|
|
2526
2606
|
* limitations under the License.
|
|
2527
|
-
*/class
|
|
2607
|
+
*/class Cr extends fa{constructor(e,t,r,s=null){super("password",r),this._email=e,this._password=t,this._tenantId=s}static _fromEmailAndPassword(e,t){return new Cr(e,t,"password")}static _fromEmailAndCode(e,t,r=null){return new Cr(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 ti(e,t,"signInWithPassword",cE);case"emailLink":return hE(e,{email:this._email,oobCode:this._password});default:He(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":const r={idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"};return ti(e,r,"signUpPassword",aE);case"emailLink":return dE(e,{idToken:t,email:this._email,oobCode:this._password});default:He(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}/**
|
|
2528
2608
|
* @license
|
|
2529
2609
|
* Copyright 2020 Google LLC
|
|
2530
2610
|
*
|
|
@@ -2539,7 +2619,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2539
2619
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2540
2620
|
* See the License for the specific language governing permissions and
|
|
2541
2621
|
* limitations under the License.
|
|
2542
|
-
*/async function
|
|
2622
|
+
*/async function jn(n,e){return br(n,"POST","/v1/accounts:signInWithIdp",_t(n,e))}/**
|
|
2543
2623
|
* @license
|
|
2544
2624
|
* Copyright 2020 Google LLC
|
|
2545
2625
|
*
|
|
@@ -2554,7 +2634,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2554
2634
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2555
2635
|
* See the License for the specific language governing permissions and
|
|
2556
2636
|
* limitations under the License.
|
|
2557
|
-
*/const
|
|
2637
|
+
*/const fE="http://localhost";class an extends fa{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){const t=new an(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):He("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:s}=t,i=sa(t,["providerId","signInMethod"]);if(!r||!s)return null;const a=new an(r,s);return a.idToken=i.idToken||void 0,a.accessToken=i.accessToken||void 0,a.secret=i.secret,a.nonce=i.nonce,a.pendingToken=i.pendingToken||null,a}_getIdTokenResponse(e){const t=this.buildRequest();return jn(e,t)}_linkToIdToken(e,t){const r=this.buildRequest();return r.idToken=t,jn(e,r)}_getReauthenticationResolver(e){const t=this.buildRequest();return t.autoCreate=!1,jn(e,t)}buildRequest(){const e={requestUri:fE,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=er(t)}return e}}/**
|
|
2558
2638
|
* @license
|
|
2559
2639
|
* Copyright 2020 Google LLC
|
|
2560
2640
|
*
|
|
@@ -2569,7 +2649,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2569
2649
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2570
2650
|
* See the License for the specific language governing permissions and
|
|
2571
2651
|
* limitations under the License.
|
|
2572
|
-
*/function
|
|
2652
|
+
*/function pE(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 mE(n){const e=tr(nr(n)).link,t=e?tr(nr(e)).deep_link_id:null,r=tr(nr(n)).deep_link_id;return(r?tr(nr(r)).link:null)||r||t||e||n}class pa{constructor(e){var t,r,s,i,a,c;const l=tr(nr(e)),d=(t=l.apiKey)!==null&&t!==void 0?t:null,f=(r=l.oobCode)!==null&&r!==void 0?r:null,m=pE((s=l.mode)!==null&&s!==void 0?s:null);M(d&&f&&m,"argument-error"),this.apiKey=d,this.operation=m,this.code=f,this.continueUrl=(i=l.continueUrl)!==null&&i!==void 0?i:null,this.languageCode=(a=l.languageCode)!==null&&a!==void 0?a:null,this.tenantId=(c=l.tenantId)!==null&&c!==void 0?c:null}static parseLink(e){const t=mE(e);try{return new pa(t)}catch{return null}}}/**
|
|
2573
2653
|
* @license
|
|
2574
2654
|
* Copyright 2020 Google LLC
|
|
2575
2655
|
*
|
|
@@ -2584,7 +2664,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2584
2664
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2585
2665
|
* See the License for the specific language governing permissions and
|
|
2586
2666
|
* limitations under the License.
|
|
2587
|
-
*/class
|
|
2667
|
+
*/class qn{constructor(){this.providerId=qn.PROVIDER_ID}static credential(e,t){return Cr._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){const r=pa.parseLink(t);return M(r,"argument-error"),Cr._fromEmailAndCode(e,r.code,r.tenantId)}}qn.PROVIDER_ID="password",qn.EMAIL_PASSWORD_SIGN_IN_METHOD="password",qn.EMAIL_LINK_SIGN_IN_METHOD="emailLink";/**
|
|
2588
2668
|
* @license
|
|
2589
2669
|
* Copyright 2020 Google LLC
|
|
2590
2670
|
*
|
|
@@ -2599,7 +2679,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2599
2679
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2600
2680
|
* See the License for the specific language governing permissions and
|
|
2601
2681
|
* limitations under the License.
|
|
2602
|
-
*/class
|
|
2682
|
+
*/class ni{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}}/**
|
|
2603
2683
|
* @license
|
|
2604
2684
|
* Copyright 2019 Google LLC
|
|
2605
2685
|
*
|
|
@@ -2614,7 +2694,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2614
2694
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2615
2695
|
* See the License for the specific language governing permissions and
|
|
2616
2696
|
* limitations under the License.
|
|
2617
|
-
*/class
|
|
2697
|
+
*/class kr extends ni{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}/**
|
|
2618
2698
|
* @license
|
|
2619
2699
|
* Copyright 2020 Google LLC
|
|
2620
2700
|
*
|
|
@@ -2629,7 +2709,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2629
2709
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2630
2710
|
* See the License for the specific language governing permissions and
|
|
2631
2711
|
* limitations under the License.
|
|
2632
|
-
*/class
|
|
2712
|
+
*/class at extends kr{constructor(){super("facebook.com")}static credential(e){return an._fromParams({providerId:at.PROVIDER_ID,signInMethod:at.FACEBOOK_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return at.credentialFromTaggedObject(e)}static credentialFromError(e){return at.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return at.credential(e.oauthAccessToken)}catch{return null}}}at.FACEBOOK_SIGN_IN_METHOD="facebook.com",at.PROVIDER_ID="facebook.com";/**
|
|
2633
2713
|
* @license
|
|
2634
2714
|
* Copyright 2020 Google LLC
|
|
2635
2715
|
*
|
|
@@ -2644,7 +2724,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2644
2724
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2645
2725
|
* See the License for the specific language governing permissions and
|
|
2646
2726
|
* limitations under the License.
|
|
2647
|
-
*/class
|
|
2727
|
+
*/class ct extends kr{constructor(){super("google.com"),this.addScope("profile")}static credential(e,t){return an._fromParams({providerId:ct.PROVIDER_ID,signInMethod:ct.GOOGLE_SIGN_IN_METHOD,idToken:e,accessToken:t})}static credentialFromResult(e){return ct.credentialFromTaggedObject(e)}static credentialFromError(e){return ct.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;const{oauthIdToken:t,oauthAccessToken:r}=e;if(!t&&!r)return null;try{return ct.credential(t,r)}catch{return null}}}ct.GOOGLE_SIGN_IN_METHOD="google.com",ct.PROVIDER_ID="google.com";/**
|
|
2648
2728
|
* @license
|
|
2649
2729
|
* Copyright 2020 Google LLC
|
|
2650
2730
|
*
|
|
@@ -2659,7 +2739,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2659
2739
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2660
2740
|
* See the License for the specific language governing permissions and
|
|
2661
2741
|
* limitations under the License.
|
|
2662
|
-
*/class
|
|
2742
|
+
*/class qt extends kr{constructor(){super("github.com")}static credential(e){return an._fromParams({providerId:qt.PROVIDER_ID,signInMethod:qt.GITHUB_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return qt.credentialFromTaggedObject(e)}static credentialFromError(e){return qt.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return qt.credential(e.oauthAccessToken)}catch{return null}}}qt.GITHUB_SIGN_IN_METHOD="github.com",qt.PROVIDER_ID="github.com";/**
|
|
2663
2743
|
* @license
|
|
2664
2744
|
* Copyright 2020 Google LLC
|
|
2665
2745
|
*
|
|
@@ -2674,7 +2754,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2674
2754
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2675
2755
|
* See the License for the specific language governing permissions and
|
|
2676
2756
|
* limitations under the License.
|
|
2677
|
-
*/class
|
|
2757
|
+
*/class Xe extends kr{constructor(){super("twitter.com")}static credential(e,t){return an._fromParams({providerId:Xe.PROVIDER_ID,signInMethod:Xe.TWITTER_SIGN_IN_METHOD,oauthToken:e,oauthTokenSecret:t})}static credentialFromResult(e){return Xe.credentialFromTaggedObject(e)}static credentialFromError(e){return Xe.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;const{oauthAccessToken:t,oauthTokenSecret:r}=e;if(!t||!r)return null;try{return Xe.credential(t,r)}catch{return null}}}Xe.TWITTER_SIGN_IN_METHOD="twitter.com",Xe.PROVIDER_ID="twitter.com";/**
|
|
2678
2758
|
* @license
|
|
2679
2759
|
* Copyright 2020 Google LLC
|
|
2680
2760
|
*
|
|
@@ -2689,7 +2769,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2689
2769
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2690
2770
|
* See the License for the specific language governing permissions and
|
|
2691
2771
|
* limitations under the License.
|
|
2692
|
-
*/async function
|
|
2772
|
+
*/async function Gh(n,e){return br(n,"POST","/v1/accounts:signUp",_t(n,e))}/**
|
|
2693
2773
|
* @license
|
|
2694
2774
|
* Copyright 2020 Google LLC
|
|
2695
2775
|
*
|
|
@@ -2704,7 +2784,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2704
2784
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2705
2785
|
* See the License for the specific language governing permissions and
|
|
2706
2786
|
* limitations under the License.
|
|
2707
|
-
*/class
|
|
2787
|
+
*/class Et{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,r,s=!1){const i=await yt._fromIdTokenResponse(e,r,s),a=Kh(r);return new Et({user:i,providerId:a,_tokenResponse:r,operationType:t})}static async _forOperation(e,t,r){await e._updateTokensIfNecessary(r,!0);const s=Kh(r);return new Et({user:e,providerId:s,_tokenResponse:r,operationType:t})}}function Kh(n){return n.providerId?n.providerId:"phoneNumber"in n?"phone":null}/**
|
|
2708
2788
|
* @license
|
|
2709
2789
|
* Copyright 2020 Google LLC
|
|
2710
2790
|
*
|
|
@@ -2719,7 +2799,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2719
2799
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2720
2800
|
* See the License for the specific language governing permissions and
|
|
2721
2801
|
* limitations under the License.
|
|
2722
|
-
*/async function
|
|
2802
|
+
*/async function gE(n){var e;if(Te(n.app))return Promise.reject(it(n));const t=ot(n);if(await t._initializationPromise,!((e=t.currentUser)===null||e===void 0)&&e.isAnonymous)return new Et({user:t.currentUser,providerId:null,operationType:"signIn"});const r=await Gh(t,{returnSecureToken:!0}),s=await Et._fromIdTokenResponse(t,"signIn",r,!0);return await t._updateCurrentUser(s.user),s}/**
|
|
2723
2803
|
* @license
|
|
2724
2804
|
* Copyright 2020 Google LLC
|
|
2725
2805
|
*
|
|
@@ -2734,7 +2814,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2734
2814
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2735
2815
|
* See the License for the specific language governing permissions and
|
|
2736
2816
|
* limitations under the License.
|
|
2737
|
-
*/class
|
|
2817
|
+
*/class ri extends ze{constructor(e,t,r,s){var i;super(t.code,t.message),this.operationType=r,this.user=s,Object.setPrototypeOf(this,ri.prototype),this.customData={appName:e.name,tenantId:(i=e.tenantId)!==null&&i!==void 0?i:void 0,_serverResponse:t.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(e,t,r,s){return new ri(e,t,r,s)}}function Qh(n,e,t,r){return(e==="reauthenticate"?t._getReauthenticationResolver(n):t._getIdTokenResponse(n)).catch(i=>{throw i.code==="auth/multi-factor-auth-required"?ri._fromErrorAndOperation(n,i,e,r):i})}/**
|
|
2738
2818
|
* @license
|
|
2739
2819
|
* Copyright 2020 Google LLC
|
|
2740
2820
|
*
|
|
@@ -2749,7 +2829,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2749
2829
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2750
2830
|
* See the License for the specific language governing permissions and
|
|
2751
2831
|
* limitations under the License.
|
|
2752
|
-
*/function
|
|
2832
|
+
*/function Xh(n){return new Set(n.map(({providerId:e})=>e).filter(e=>!!e))}/**
|
|
2753
2833
|
* @license
|
|
2754
2834
|
* Copyright 2019 Google LLC
|
|
2755
2835
|
*
|
|
@@ -2764,7 +2844,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2764
2844
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2765
2845
|
* See the License for the specific language governing permissions and
|
|
2766
2846
|
* limitations under the License.
|
|
2767
|
-
*/async function
|
|
2847
|
+
*/async function _E(n,e){const t=X(n);await vE(!0,t,e);const{providerUserInfo:r}=await Vv(t.auth,{idToken:await t.getIdToken(),deleteProvider:[e]}),s=Xh(r||[]);return t.providerData=t.providerData.filter(i=>s.has(i.providerId)),s.has("phone")||(t.phoneNumber=null),await t.auth._persistUserIfCurrent(t),t}async function yE(n,e,t=!1){const r=await xn(n,e._linkToIdToken(n.auth,await n.getIdToken()),t);return Et._forOperation(n,"link",r)}async function vE(n,e,t){await Sr(e);const r=Xh(e.providerData);M(r.has(t)===n,e.auth,"no-such-provider")}/**
|
|
2768
2848
|
* @license
|
|
2769
2849
|
* Copyright 2019 Google LLC
|
|
2770
2850
|
*
|
|
@@ -2779,7 +2859,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2779
2859
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2780
2860
|
* See the License for the specific language governing permissions and
|
|
2781
2861
|
* limitations under the License.
|
|
2782
|
-
*/async function
|
|
2862
|
+
*/async function EE(n,e,t=!1){const{auth:r}=n;if(Te(r.app))return Promise.reject(it(r));const s="reauthenticate";try{const i=await xn(n,Qh(r,s,e,n),t);M(i.idToken,r,"internal-error");const a=la(i.idToken);M(a,r,"internal-error");const{sub:c}=a;return M(n.uid===c,r,"user-mismatch"),Et._forOperation(n,s,i)}catch(i){throw(i==null?void 0:i.code)==="auth/user-not-found"&&He(r,"user-mismatch"),i}}/**
|
|
2783
2863
|
* @license
|
|
2784
2864
|
* Copyright 2020 Google LLC
|
|
2785
2865
|
*
|
|
@@ -2794,7 +2874,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2794
2874
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2795
2875
|
* See the License for the specific language governing permissions and
|
|
2796
2876
|
* limitations under the License.
|
|
2797
|
-
*/async function
|
|
2877
|
+
*/async function Yh(n,e,t=!1){if(Te(n.app))return Promise.reject(it(n));const r="signIn",s=await Qh(n,r,e),i=await Et._fromIdTokenResponse(n,r,s);return t||await n._updateCurrentUser(i.user),i}async function TE(n,e){return Yh(ot(n),e)}/**
|
|
2798
2878
|
* @license
|
|
2799
2879
|
* Copyright 2020 Google LLC
|
|
2800
2880
|
*
|
|
@@ -2809,7 +2889,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2809
2889
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2810
2890
|
* See the License for the specific language governing permissions and
|
|
2811
2891
|
* limitations under the License.
|
|
2812
|
-
*/function
|
|
2892
|
+
*/function wE(n,e,t){var r;M(((r=t.url)===null||r===void 0?void 0:r.length)>0,n,"invalid-continue-uri"),M(typeof t.dynamicLinkDomain>"u"||t.dynamicLinkDomain.length>0,n,"invalid-dynamic-link-domain"),M(typeof t.linkDomain>"u"||t.linkDomain.length>0,n,"invalid-hosting-link-domain"),e.continueUrl=t.url,e.dynamicLinkDomain=t.dynamicLinkDomain,e.linkDomain=t.linkDomain,e.canHandleCodeInApp=t.handleCodeInApp,t.iOS&&(M(t.iOS.bundleId.length>0,n,"missing-ios-bundle-id"),e.iOSBundleId=t.iOS.bundleId),t.android&&(M(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)}/**
|
|
2813
2893
|
* @license
|
|
2814
2894
|
* Copyright 2020 Google LLC
|
|
2815
2895
|
*
|
|
@@ -2824,7 +2904,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2824
2904
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2825
2905
|
* See the License for the specific language governing permissions and
|
|
2826
2906
|
* limitations under the License.
|
|
2827
|
-
*/async function
|
|
2907
|
+
*/async function Jh(n){const e=ot(n);e._getPasswordPolicyInternal()&&await e._updatePasswordPolicy()}async function IE(n,e,t){const r=ot(n);await ti(r,{requestType:"PASSWORD_RESET",email:e,clientType:"CLIENT_TYPE_WEB"},"getOobCode",lE)}async function AE(n,e,t){if(Te(n.app))return Promise.reject(it(n));const r=ot(n),a=await ti(r,{returnSecureToken:!0,email:e,password:t,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",Gh).catch(l=>{throw l.code==="auth/password-does-not-meet-requirements"&&Jh(n),l}),c=await Et._fromIdTokenResponse(r,"signIn",a);return await r._updateCurrentUser(c.user),c}function Zh(n,e,t){return Te(n.app)?Promise.reject(it(n)):TE(X(n),qn.credential(e,t)).catch(async r=>{throw r.code==="auth/password-does-not-meet-requirements"&&Jh(n),r})}async function ed(n,e){const t=X(n),s={requestType:"VERIFY_EMAIL",idToken:await n.getIdToken()};e&&wE(t.auth,s,e);const{email:i}=await uE(t.auth,s);i!==n.email&&await n.reload()}/**
|
|
2828
2908
|
* @license
|
|
2829
2909
|
* Copyright 2020 Google LLC
|
|
2830
2910
|
*
|
|
@@ -2839,7 +2919,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2839
2919
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2840
2920
|
* See the License for the specific language governing permissions and
|
|
2841
2921
|
* limitations under the License.
|
|
2842
|
-
*/async function
|
|
2922
|
+
*/async function RE(n,e){return Qe(n,"POST","/v1/accounts:update",e)}/**
|
|
2843
2923
|
* @license
|
|
2844
2924
|
* Copyright 2020 Google LLC
|
|
2845
2925
|
*
|
|
@@ -2854,7 +2934,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2854
2934
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2855
2935
|
* See the License for the specific language governing permissions and
|
|
2856
2936
|
* limitations under the License.
|
|
2857
|
-
*/async function
|
|
2937
|
+
*/async function bE(n,{displayName:e,photoURL:t}){if(e===void 0&&t===void 0)return;const r=X(n),i={idToken:await r.getIdToken(),displayName:e,photoUrl:t,returnSecureToken:!0},a=await xn(r,RE(r.auth,i));r.displayName=a.displayName||null,r.photoURL=a.photoUrl||null;const c=r.providerData.find(({providerId:l})=>l==="password");c&&(c.displayName=r.displayName,c.photoURL=r.photoURL),await r._updateTokensIfNecessary(a)}function PE(n,e,t,r){return X(n).onIdTokenChanged(e,t,r)}function SE(n,e,t){return X(n).beforeAuthStateChanged(e,t)}const si="__sak";/**
|
|
2858
2938
|
* @license
|
|
2859
2939
|
* Copyright 2019 Google LLC
|
|
2860
2940
|
*
|
|
@@ -2869,7 +2949,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2869
2949
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2870
2950
|
* See the License for the specific language governing permissions and
|
|
2871
2951
|
* limitations under the License.
|
|
2872
|
-
*/class
|
|
2952
|
+
*/class td{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(si,"1"),this.storage.removeItem(si),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()}}/**
|
|
2873
2953
|
* @license
|
|
2874
2954
|
* Copyright 2020 Google LLC
|
|
2875
2955
|
*
|
|
@@ -2884,7 +2964,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2884
2964
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2885
2965
|
* See the License for the specific language governing permissions and
|
|
2886
2966
|
* limitations under the License.
|
|
2887
|
-
*/const
|
|
2967
|
+
*/const CE=1e3,kE=10;class nd extends td{constructor(){super(()=>window.localStorage,"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=Uh(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(const t of Object.keys(this.listeners)){const r=this.storage.getItem(t),s=this.localCache[t];r!==s&&e(t,s,r)}}onStorageEvent(e,t=!1){if(!e.key){this.forAllChangedKeys((a,c,l)=>{this.notifyListeners(a,l)});return}const r=e.key;t?this.detachListener():this.stopPolling();const s=()=>{const a=this.storage.getItem(r);!t&&this.localCache[r]===a||this.notifyListeners(r,a)},i=this.storage.getItem(r);$v()&&i!==e.newValue&&e.newValue!==e.oldValue?setTimeout(s,kE):s()}notifyListeners(e,t){this.localCache[e]=t;const r=this.listeners[e];if(r)for(const s of Array.from(r))s(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)})},CE)}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]}}nd.type="LOCAL";const NE=nd;/**
|
|
2888
2968
|
* @license
|
|
2889
2969
|
* Copyright 2020 Google LLC
|
|
2890
2970
|
*
|
|
@@ -2899,7 +2979,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2899
2979
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2900
2980
|
* See the License for the specific language governing permissions and
|
|
2901
2981
|
* limitations under the License.
|
|
2902
|
-
*/class
|
|
2982
|
+
*/class rd extends td{constructor(){super(()=>window.sessionStorage,"SESSION")}_addListener(e,t){}_removeListener(e,t){}}rd.type="SESSION";const sd=rd;/**
|
|
2903
2983
|
* @license
|
|
2904
2984
|
* Copyright 2019 Google LLC
|
|
2905
2985
|
*
|
|
@@ -2914,7 +2994,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2914
2994
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2915
2995
|
* See the License for the specific language governing permissions and
|
|
2916
2996
|
* limitations under the License.
|
|
2917
|
-
*/function
|
|
2997
|
+
*/function DE(n){return Promise.all(n.map(async e=>{try{return{fulfilled:!0,value:await e}}catch(t){return{fulfilled:!1,reason:t}}}))}/**
|
|
2918
2998
|
* @license
|
|
2919
2999
|
* Copyright 2019 Google LLC
|
|
2920
3000
|
*
|
|
@@ -2929,7 +3009,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2929
3009
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2930
3010
|
* See the License for the specific language governing permissions and
|
|
2931
3011
|
* limitations under the License.
|
|
2932
|
-
*/class
|
|
3012
|
+
*/class ii{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(e){const t=this.receivers.find(s=>s.isListeningto(e));if(t)return t;const r=new ii(e);return this.receivers.push(r),r}isListeningto(e){return this.eventTarget===e}async handleEvent(e){const t=e,{eventId:r,eventType:s,data:i}=t.data,a=this.handlersMap[s];if(!(a!=null&&a.size))return;t.ports[0].postMessage({status:"ack",eventId:r,eventType:s});const c=Array.from(a).map(async d=>d(t.origin,i)),l=await DE(c);t.ports[0].postMessage({status:"done",eventId:r,eventType:s,response:l})}_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)}}ii.receivers=[];/**
|
|
2933
3013
|
* @license
|
|
2934
3014
|
* Copyright 2020 Google LLC
|
|
2935
3015
|
*
|
|
@@ -2944,7 +3024,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2944
3024
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2945
3025
|
* See the License for the specific language governing permissions and
|
|
2946
3026
|
* limitations under the License.
|
|
2947
|
-
*/function
|
|
3027
|
+
*/function ma(n="",e=10){let t="";for(let r=0;r<e;r++)t+=Math.floor(Math.random()*10);return n+t}/**
|
|
2948
3028
|
* @license
|
|
2949
3029
|
* Copyright 2019 Google LLC
|
|
2950
3030
|
*
|
|
@@ -2959,7 +3039,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2959
3039
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2960
3040
|
* See the License for the specific language governing permissions and
|
|
2961
3041
|
* limitations under the License.
|
|
2962
|
-
*/class
|
|
3042
|
+
*/class OE{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 s=typeof MessageChannel<"u"?new MessageChannel:null;if(!s)throw new Error("connection_unavailable");let i,a;return new Promise((c,l)=>{const d=ma("",20);s.port1.start();const f=setTimeout(()=>{l(new Error("unsupported_event"))},r);a={messageChannel:s,onMessage(m){const v=m;if(v.data.eventId===d)switch(v.data.status){case"ack":clearTimeout(f),i=setTimeout(()=>{l(new Error("timeout"))},3e3);break;case"done":clearTimeout(i),c(v.data.response);break;default:clearTimeout(f),clearTimeout(i),l(new Error("invalid_response"));break}}},this.handlers.add(a),s.port1.addEventListener("message",a.onMessage),this.target.postMessage({eventType:e,eventId:d,data:t},[s.port2])}).finally(()=>{a&&this.removeMessageHandler(a)})}}/**
|
|
2963
3043
|
* @license
|
|
2964
3044
|
* Copyright 2020 Google LLC
|
|
2965
3045
|
*
|
|
@@ -2974,7 +3054,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2974
3054
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2975
3055
|
* See the License for the specific language governing permissions and
|
|
2976
3056
|
* limitations under the License.
|
|
2977
|
-
*/function
|
|
3057
|
+
*/function ut(){return window}function VE(n){ut().location.href=n}/**
|
|
2978
3058
|
* @license
|
|
2979
3059
|
* Copyright 2020 Google LLC.
|
|
2980
3060
|
*
|
|
@@ -2989,7 +3069,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
2989
3069
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2990
3070
|
* See the License for the specific language governing permissions and
|
|
2991
3071
|
* limitations under the License.
|
|
2992
|
-
*/function
|
|
3072
|
+
*/function id(){return typeof ut().WorkerGlobalScope<"u"&&typeof ut().importScripts=="function"}async function LE(){if(!(navigator!=null&&navigator.serviceWorker))return null;try{return(await navigator.serviceWorker.ready).active}catch{return null}}function ME(){var n;return((n=navigator==null?void 0:navigator.serviceWorker)===null||n===void 0?void 0:n.controller)||null}function UE(){return id()?self:null}/**
|
|
2993
3073
|
* @license
|
|
2994
3074
|
* Copyright 2019 Google LLC
|
|
2995
3075
|
*
|
|
@@ -3004,7 +3084,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3004
3084
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3005
3085
|
* See the License for the specific language governing permissions and
|
|
3006
3086
|
* limitations under the License.
|
|
3007
|
-
*/const
|
|
3087
|
+
*/const od="firebaseLocalStorageDb",xE=1,oi="firebaseLocalStorage",ad="fbase_key";class Nr{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 ai(n,e){return n.transaction([oi],e?"readwrite":"readonly").objectStore(oi)}function FE(){const n=indexedDB.deleteDatabase(od);return new Nr(n).toPromise()}function ga(){const n=indexedDB.open(od,xE);return new Promise((e,t)=>{n.addEventListener("error",()=>{t(n.error)}),n.addEventListener("upgradeneeded",()=>{const r=n.result;try{r.createObjectStore(oi,{keyPath:ad})}catch(s){t(s)}}),n.addEventListener("success",async()=>{const r=n.result;r.objectStoreNames.contains(oi)?e(r):(r.close(),await FE(),e(await ga()))})})}async function cd(n,e,t){const r=ai(n,!0).put({[ad]:e,value:t});return new Nr(r).toPromise()}async function BE(n,e){const t=ai(n,!1).get(e),r=await new Nr(t).toPromise();return r===void 0?null:r.value}function ud(n,e){const t=ai(n,!0).delete(e);return new Nr(t).toPromise()}const jE=800,qE=3;class ld{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 ga(),this.db)}async _withRetries(e){let t=0;for(;;)try{const r=await this._openDb();return await e(r)}catch(r){if(t++>qE)throw r;this.db&&(this.db.close(),this.db=void 0)}}async initializeServiceWorkerMessaging(){return id()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=ii._getInstance(UE()),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 LE(),!this.activeServiceWorker)return;this.sender=new OE(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||ME()!==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 ga();return await cd(e,si,"1"),await ud(e,si),!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=>cd(r,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){const t=await this._withRetries(r=>BE(r,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>ud(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){const e=await this._withRetries(s=>{const i=ai(s,!1).getAll();return new Nr(i).toPromise()});if(!e)return[];if(this.pendingWrites!==0)return[];const t=[],r=new Set;if(e.length!==0)for(const{fbase_key:s,value:i}of e)r.add(s),JSON.stringify(this.localCache[s])!==JSON.stringify(i)&&(this.notifyListeners(s,i),t.push(s));for(const s of Object.keys(this.localCache))this.localCache[s]&&!r.has(s)&&(this.notifyListeners(s,null),t.push(s));return t}notifyListeners(e,t){this.localCache[e]=t;const r=this.listeners[e];if(r)for(const s of Array.from(r))s(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),jE)}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()}}ld.type="LOCAL";const $E=ld;new Rr(3e4,6e4);/**
|
|
3008
3088
|
* @license
|
|
3009
3089
|
* Copyright 2021 Google LLC
|
|
3010
3090
|
*
|
|
@@ -3019,7 +3099,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3019
3099
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3020
3100
|
* See the License for the specific language governing permissions and
|
|
3021
3101
|
* limitations under the License.
|
|
3022
|
-
*/function
|
|
3102
|
+
*/function _a(n,e){return e?vt(e):(M(n._popupRedirectResolver,n,"argument-error"),n._popupRedirectResolver)}/**
|
|
3023
3103
|
* @license
|
|
3024
3104
|
* Copyright 2019 Google LLC
|
|
3025
3105
|
*
|
|
@@ -3034,7 +3114,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3034
3114
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3035
3115
|
* See the License for the specific language governing permissions and
|
|
3036
3116
|
* limitations under the License.
|
|
3037
|
-
*/class
|
|
3117
|
+
*/class ya extends fa{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return jn(e,this._buildIdpRequest())}_linkToIdToken(e,t){return jn(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return jn(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 HE(n){return Yh(n.auth,new ya(n),n.bypassAuthState)}function zE(n){const{auth:e,user:t}=n;return M(t,e,"internal-error"),EE(t,new ya(n),n.bypassAuthState)}async function WE(n){const{auth:e,user:t}=n;return M(t,e,"internal-error"),yE(t,new ya(n),n.bypassAuthState)}/**
|
|
3038
3118
|
* @license
|
|
3039
3119
|
* Copyright 2020 Google LLC
|
|
3040
3120
|
*
|
|
@@ -3049,7 +3129,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3049
3129
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3050
3130
|
* See the License for the specific language governing permissions and
|
|
3051
3131
|
* limitations under the License.
|
|
3052
|
-
*/class
|
|
3132
|
+
*/class hd{constructor(e,t,r,s,i=!1){this.auth=e,this.resolver=r,this.user=s,this.bypassAuthState=i,this.pendingPromise=null,this.eventManager=null,this.filter=Array.isArray(t)?t:[t]}execute(){return new Promise(async(e,t)=>{this.pendingPromise={resolve:e,reject:t};try{this.eventManager=await this.resolver._initialize(this.auth),await this.onExecution(),this.eventManager.registerConsumer(this)}catch(r){this.reject(r)}})}async onAuthEvent(e){const{urlResponse:t,sessionId:r,postBody:s,tenantId:i,error:a,type:c}=e;if(a){this.reject(a);return}const l={auth:this.auth,requestUri:t,sessionId:r,tenantId:i||void 0,postBody:s||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(c)(l))}catch(d){this.reject(d)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return HE;case"linkViaPopup":case"linkViaRedirect":return WE;case"reauthViaPopup":case"reauthViaRedirect":return zE;default:He(this.auth,"internal-error")}}resolve(e){gt(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){gt(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()}}/**
|
|
3053
3133
|
* @license
|
|
3054
3134
|
* Copyright 2020 Google LLC
|
|
3055
3135
|
*
|
|
@@ -3064,7 +3144,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3064
3144
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3065
3145
|
* See the License for the specific language governing permissions and
|
|
3066
3146
|
* limitations under the License.
|
|
3067
|
-
*/const
|
|
3147
|
+
*/const GE=new Rr(2e3,1e4);async function va(n,e,t){if(Te(n.app))return Promise.reject(Ke(n,"operation-not-supported-in-this-environment"));const r=ot(n);_h(n,e,ni);const s=_a(r,t);return new $t(r,"signInViaPopup",e,s).executeNotNull()}async function dd(n,e,t){const r=X(n);_h(r.auth,e,ni);const s=_a(r.auth,t);return new $t(r.auth,"linkViaPopup",e,s,r).executeNotNull()}class $t extends hd{constructor(e,t,r,s,i){super(e,t,s,i),this.provider=r,this.authWindow=null,this.pollId=null,$t.currentPopupAction&&$t.currentPopupAction.cancel(),$t.currentPopupAction=this}async executeNotNull(){const e=await this.execute();return M(e,this.auth,"internal-error"),e}async onExecution(){gt(this.filter.length===1,"Popup operations only handle one event");const e=ma();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(Ke(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(Ke(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,$t.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(Ke(this.auth,"popup-closed-by-user"))},8e3);return}this.pollId=window.setTimeout(e,GE.get())};e()}}$t.currentPopupAction=null;/**
|
|
3068
3148
|
* @license
|
|
3069
3149
|
* Copyright 2020 Google LLC
|
|
3070
3150
|
*
|
|
@@ -3079,7 +3159,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3079
3159
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3080
3160
|
* See the License for the specific language governing permissions and
|
|
3081
3161
|
* limitations under the License.
|
|
3082
|
-
*/const
|
|
3162
|
+
*/const KE="pendingRedirect",ci=new Map;class QE extends hd{constructor(e,t,r=!1){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,r),this.eventId=null}async execute(){let e=ci.get(this.auth._key());if(!e){try{const r=await XE(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(r)}catch(t){e=()=>Promise.reject(t)}ci.set(this.auth._key(),e)}return this.bypassAuthState||ci.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 XE(n,e){const t=ZE(e),r=JE(n);if(!await r._isAvailable())return!1;const s=await r._get(t)==="true";return await r._remove(t),s}function YE(n,e){ci.set(n._key(),e)}function JE(n){return vt(n._redirectPersistence)}function ZE(n){return Zs(KE,n.config.apiKey,n.name)}async function eT(n,e,t=!1){if(Te(n.app))return Promise.reject(it(n));const r=ot(n),s=_a(r,e),a=await new QE(r,s,t).execute();return a&&!t&&(delete a.user._redirectEventId,await r._persistUserIfCurrent(a.user),await r._setRedirectUser(null,e)),a}/**
|
|
3083
3163
|
* @license
|
|
3084
3164
|
* Copyright 2020 Google LLC
|
|
3085
3165
|
*
|
|
@@ -3094,7 +3174,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3094
3174
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3095
3175
|
* See the License for the specific language governing permissions and
|
|
3096
3176
|
* limitations under the License.
|
|
3097
|
-
*/const
|
|
3177
|
+
*/const tT=10*60*1e3;class nT{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||!rT(e)||(this.hasHandledPotentialRedirect=!0,t||(this.queuedRedirectEvent=e,t=!0)),t}sendToConsumer(e,t){var r;if(e.error&&!pd(e)){const s=((r=e.error.code)===null||r===void 0?void 0:r.split("auth/")[1])||"internal-error";t.onError(Ke(this.auth,s))}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>=tT&&this.cachedEventUids.clear(),this.cachedEventUids.has(fd(e))}saveEventToCache(e){this.cachedEventUids.add(fd(e)),this.lastProcessedEventTime=Date.now()}}function fd(n){return[n.type,n.eventId,n.sessionId,n.tenantId].filter(e=>e).join("-")}function pd({type:n,error:e}){return n==="unknown"&&(e==null?void 0:e.code)==="auth/no-auth-event"}function rT(n){switch(n.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return!0;case"unknown":return pd(n);default:return!1}}/**
|
|
3098
3178
|
* @license
|
|
3099
3179
|
* Copyright 2020 Google LLC
|
|
3100
3180
|
*
|
|
@@ -3109,7 +3189,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3109
3189
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3110
3190
|
* See the License for the specific language governing permissions and
|
|
3111
3191
|
* limitations under the License.
|
|
3112
|
-
*/async function
|
|
3192
|
+
*/async function sT(n,e={}){return Qe(n,"GET","/v1/projects",e)}/**
|
|
3113
3193
|
* @license
|
|
3114
3194
|
* Copyright 2020 Google LLC
|
|
3115
3195
|
*
|
|
@@ -3124,7 +3204,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3124
3204
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3125
3205
|
* See the License for the specific language governing permissions and
|
|
3126
3206
|
* limitations under the License.
|
|
3127
|
-
*/const
|
|
3207
|
+
*/const iT=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,oT=/^https?/;async function aT(n){if(n.config.emulator)return;const{authorizedDomains:e}=await sT(n);for(const t of e)try{if(cT(t))return}catch{}He(n,"unauthorized-domain")}function cT(n){const e=aa(),{protocol:t,hostname:r}=new URL(e);if(n.startsWith("chrome-extension://")){const a=new URL(n);return a.hostname===""&&r===""?t==="chrome-extension:"&&n.replace("chrome-extension://","")===e.replace("chrome-extension://",""):t==="chrome-extension:"&&a.hostname===r}if(!oT.test(t))return!1;if(iT.test(n))return r===n;const s=n.replace(/\./g,"\\.");return new RegExp("^(.+\\."+s+"|"+s+")$","i").test(r)}/**
|
|
3128
3208
|
* @license
|
|
3129
3209
|
* Copyright 2020 Google LLC.
|
|
3130
3210
|
*
|
|
@@ -3139,7 +3219,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3139
3219
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3140
3220
|
* See the License for the specific language governing permissions and
|
|
3141
3221
|
* limitations under the License.
|
|
3142
|
-
*/const
|
|
3222
|
+
*/const uT=new Rr(3e4,6e4);function md(){const n=ut().___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 lT(n){return new Promise((e,t)=>{var r,s,i;function a(){md(),gapi.load("gapi.iframes",{callback:()=>{e(gapi.iframes.getContext())},ontimeout:()=>{md(),t(Ke(n,"network-request-failed"))},timeout:uT.get()})}if(!((s=(r=ut().gapi)===null||r===void 0?void 0:r.iframes)===null||s===void 0)&&s.Iframe)e(gapi.iframes.getContext());else if(!((i=ut().gapi)===null||i===void 0)&&i.load)a();else{const c=Jv("iframefcb");return ut()[c]=()=>{gapi.load?a():t(Ke(n,"network-request-failed"))},Bh(`${Yv()}?onload=${c}`).catch(l=>t(l))}}).catch(e=>{throw ui=null,e})}let ui=null;function hT(n){return ui=ui||lT(n),ui}/**
|
|
3143
3223
|
* @license
|
|
3144
3224
|
* Copyright 2020 Google LLC.
|
|
3145
3225
|
*
|
|
@@ -3154,7 +3234,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3154
3234
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3155
3235
|
* See the License for the specific language governing permissions and
|
|
3156
3236
|
* limitations under the License.
|
|
3157
|
-
*/const
|
|
3237
|
+
*/const dT=new Rr(5e3,15e3),fT="__/auth/iframe",pT="emulator/auth/iframe",mT={style:{position:"absolute",top:"-100px",width:"1px",height:"1px"},"aria-hidden":"true",tabindex:"-1"},gT=new Map([["identitytoolkit.googleapis.com","p"],["staging-identitytoolkit.sandbox.googleapis.com","s"],["test-identitytoolkit.sandbox.googleapis.com","t"]]);function _T(n){const e=n.config;M(e.authDomain,n,"auth-domain-config-required");const t=e.emulator?ca(e,pT):`https://${n.config.authDomain}/${fT}`,r={apiKey:e.apiKey,appName:n.name,v:Yt},s=gT.get(n.config.apiHost);s&&(r.eid=s);const i=n._getFrameworks();return i.length&&(r.fw=i.join(",")),`${t}?${er(r).slice(1)}`}async function yT(n){const e=await hT(n),t=ut().gapi;return M(t,n,"internal-error"),e.open({where:document.body,url:_T(n),messageHandlersFilter:t.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:mT,dontclear:!0},r=>new Promise(async(s,i)=>{await r.restyle({setHideOnLeave:!1});const a=Ke(n,"network-request-failed"),c=ut().setTimeout(()=>{i(a)},dT.get());function l(){ut().clearTimeout(c),s(r)}r.ping(l).then(l,()=>{i(a)})}))}/**
|
|
3158
3238
|
* @license
|
|
3159
3239
|
* Copyright 2020 Google LLC.
|
|
3160
3240
|
*
|
|
@@ -3169,7 +3249,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3169
3249
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3170
3250
|
* See the License for the specific language governing permissions and
|
|
3171
3251
|
* limitations under the License.
|
|
3172
|
-
*/const
|
|
3252
|
+
*/const vT={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"},ET=500,TT=600,wT="_blank",IT="http://localhost";class gd{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch{}}}function AT(n,e,t,r=ET,s=TT){const i=Math.max((window.screen.availHeight-s)/2,0).toString(),a=Math.max((window.screen.availWidth-r)/2,0).toString();let c="";const l=Object.assign(Object.assign({},vT),{width:r.toString(),height:s.toString(),top:i,left:a}),d=Ee().toLowerCase();t&&(c=Dh(d)?wT:t),kh(d)&&(e=e||IT,l.scrollbars="yes");const f=Object.entries(l).reduce((v,[R,S])=>`${v}${R}=${S},`,"");if(qv(d)&&c!=="_self")return RT(e||"",c),new gd(null);const m=window.open(e||"",c,f);M(m,n,"popup-blocked");try{m.focus()}catch{}return new gd(m)}function RT(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)}/**
|
|
3173
3253
|
* @license
|
|
3174
3254
|
* Copyright 2021 Google LLC
|
|
3175
3255
|
*
|
|
@@ -3184,7 +3264,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3184
3264
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3185
3265
|
* See the License for the specific language governing permissions and
|
|
3186
3266
|
* limitations under the License.
|
|
3187
|
-
*/const
|
|
3267
|
+
*/const bT="__/auth/handler",PT="emulator/auth/handler",ST=encodeURIComponent("fac");async function _d(n,e,t,r,s,i){M(n.config.authDomain,n,"auth-domain-config-required"),M(n.config.apiKey,n,"invalid-api-key");const a={apiKey:n.config.apiKey,appName:n.name,authType:t,redirectUrl:r,v:Yt,eventId:s};if(e instanceof ni){e.setDefaultLanguage(n.languageCode),a.providerId=e.providerId||"",wp(e.getCustomParameters())||(a.customParameters=JSON.stringify(e.getCustomParameters()));for(const[f,m]of Object.entries({}))a[f]=m}if(e instanceof kr){const f=e.getScopes().filter(m=>m!=="");f.length>0&&(a.scopes=f.join(","))}n.tenantId&&(a.tid=n.tenantId);const c=a;for(const f of Object.keys(c))c[f]===void 0&&delete c[f];const l=await n._getAppCheckToken(),d=l?`#${ST}=${encodeURIComponent(l)}`:"";return`${CT(n)}?${er(c).slice(1)}${d}`}function CT({config:n}){return n.emulator?ca(n,PT):`https://${n.authDomain}/${bT}`}/**
|
|
3188
3268
|
* @license
|
|
3189
3269
|
* Copyright 2020 Google LLC
|
|
3190
3270
|
*
|
|
@@ -3199,7 +3279,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3199
3279
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3200
3280
|
* See the License for the specific language governing permissions and
|
|
3201
3281
|
* limitations under the License.
|
|
3202
|
-
*/const
|
|
3282
|
+
*/const Ea="webStorageSupport";class kT{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=sd,this._completeRedirectFn=eT,this._overrideRedirectResult=YE}async _openPopup(e,t,r,s){var i;gt((i=this.eventManagers[e._key()])===null||i===void 0?void 0:i.manager,"_initialize() not called before _openPopup()");const a=await _d(e,t,r,aa(),s);return AT(e,a,ma())}async _openRedirect(e,t,r,s){await this._originValidation(e);const i=await _d(e,t,r,aa(),s);return VE(i),new Promise(()=>{})}_initialize(e){const t=e._key();if(this.eventManagers[t]){const{manager:s,promise:i}=this.eventManagers[t];return s?Promise.resolve(s):(gt(i,"If manager is not set, promise should be"),i)}const r=this.initAndGetManager(e);return this.eventManagers[t]={promise:r},r.catch(()=>{delete this.eventManagers[t]}),r}async initAndGetManager(e){const t=await yT(e),r=new nT(e);return t.register("authEvent",s=>(M(s==null?void 0:s.authEvent,e,"invalid-auth-event"),{status:r.onEvent(s.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(Ea,{type:Ea},s=>{var i;const a=(i=s==null?void 0:s[0])===null||i===void 0?void 0:i[Ea];a!==void 0&&t(!!a),He(e,"internal-error")},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){const t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=aT(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return Uh()||Nh()||da()}}const NT=kT;var yd="@firebase/auth",vd="1.9.1";/**
|
|
3203
3283
|
* @license
|
|
3204
3284
|
* Copyright 2020 Google LLC
|
|
3205
3285
|
*
|
|
@@ -3214,7 +3294,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3214
3294
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3215
3295
|
* See the License for the specific language governing permissions and
|
|
3216
3296
|
* limitations under the License.
|
|
3217
|
-
*/class
|
|
3297
|
+
*/class DT{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(){M(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}/**
|
|
3218
3298
|
* @license
|
|
3219
3299
|
* Copyright 2020 Google LLC
|
|
3220
3300
|
*
|
|
@@ -3229,7 +3309,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3229
3309
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3230
3310
|
* See the License for the specific language governing permissions and
|
|
3231
3311
|
* limitations under the License.
|
|
3232
|
-
*/function
|
|
3312
|
+
*/function OT(n){switch(n){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";case"WebExtension":return"web-extension";default:return}}function VT(n){bt(new ht("auth",(e,{options:t})=>{const r=e.getProvider("app").getImmediate(),s=e.getProvider("heartbeat"),i=e.getProvider("app-check-internal"),{apiKey:a,authDomain:c}=r.options;M(a&&!a.includes(":"),"invalid-api-key",{appName:r.name});const l={apiKey:a,authDomain:c,clientPlatform:n,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:xh(n)},d=new Kv(r,s,i,l);return sE(d,t),d},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,r)=>{e.getProvider("auth-internal").initialize()})),bt(new ht("auth-internal",e=>{const t=ot(e.getProvider("auth").getImmediate());return(r=>new DT(r))(t)},"PRIVATE").setInstantiationMode("EXPLICIT")),qe(yd,vd,OT(n)),qe(yd,vd,"esm2017")}/**
|
|
3233
3313
|
* @license
|
|
3234
3314
|
* Copyright 2021 Google LLC
|
|
3235
3315
|
*
|
|
@@ -3244,7 +3324,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3244
3324
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3245
3325
|
* See the License for the specific language governing permissions and
|
|
3246
3326
|
* limitations under the License.
|
|
3247
|
-
*/const
|
|
3327
|
+
*/const LT=5*60,MT=lc("authIdTokenMaxAge")||LT;let Ed=null;const UT=n=>async e=>{const t=e&&await e.getIdTokenResult(),r=t&&(new Date().getTime()-Date.parse(t.issuedAtTime))/1e3;if(r&&r>MT)return;const s=t==null?void 0:t.token;Ed!==s&&(Ed=s,await fetch(n,{method:s?"POST":"DELETE",headers:s?{Authorization:`Bearer ${s}`}:{}}))};function xT(n=ts()){const e=rr(n,"auth");if(e.isInitialized())return e.getImmediate();const t=rE(n,{popupRedirectResolver:NT,persistence:[$E,NE,sd]}),r=lc("authTokenSyncURL");if(r&&typeof isSecureContext=="boolean"&&isSecureContext){const i=new URL(r,location.origin);if(location.origin===i.origin){const a=UT(i.toString());SE(t,a,()=>a(t.currentUser)),PE(t,c=>a(c))}}const s=cc("auth");return s&&$h(t,`http://${s}`),t}function FT(){var n,e;return(e=(n=document.getElementsByTagName("head"))===null||n===void 0?void 0:n[0])!==null&&e!==void 0?e:document}Qv({loadJS(n){return new Promise((e,t)=>{const r=document.createElement("script");r.setAttribute("src",n),r.onload=e,r.onerror=s=>{const i=Ke("internal-error");i.customData=s,t(i)},r.type="text/javascript",r.charset="UTF-8",FT().appendChild(r)})},gapiScript:"https://apis.google.com/js/api.js",recaptchaV2Script:"https://www.google.com/recaptcha/api.js",recaptchaEnterpriseScript:"https://www.google.com/recaptcha/enterprise.js?render="}),VT("Browser");/**
|
|
3248
3328
|
* @license
|
|
3249
3329
|
* Copyright 2017 Google LLC
|
|
3250
3330
|
*
|
|
@@ -3259,7 +3339,7 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3259
3339
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3260
3340
|
* See the License for the specific language governing permissions and
|
|
3261
3341
|
* limitations under the License.
|
|
3262
|
-
*/const
|
|
3342
|
+
*/const Td="firebasestorage.googleapis.com",wd="storageBucket",BT=2*60*1e3,jT=10*60*1e3,qT=1e3;/**
|
|
3263
3343
|
* @license
|
|
3264
3344
|
* Copyright 2017 Google LLC
|
|
3265
3345
|
*
|
|
@@ -3274,8 +3354,8 @@ This typically indicates that your device does not have a healthy Internet conne
|
|
|
3274
3354
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3275
3355
|
* See the License for the specific language governing permissions and
|
|
3276
3356
|
* limitations under the License.
|
|
3277
|
-
*/class se extends
|
|
3278
|
-
${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(function(n){n.UNKNOWN="unknown",n.OBJECT_NOT_FOUND="object-not-found",n.BUCKET_NOT_FOUND="bucket-not-found",n.PROJECT_NOT_FOUND="project-not-found",n.QUOTA_EXCEEDED="quota-exceeded",n.UNAUTHENTICATED="unauthenticated",n.UNAUTHORIZED="unauthorized",n.UNAUTHORIZED_APP="unauthorized-app",n.RETRY_LIMIT_EXCEEDED="retry-limit-exceeded",n.INVALID_CHECKSUM="invalid-checksum",n.CANCELED="canceled",n.INVALID_EVENT_NAME="invalid-event-name",n.INVALID_URL="invalid-url",n.INVALID_DEFAULT_BUCKET="invalid-default-bucket",n.NO_DEFAULT_BUCKET="no-default-bucket",n.CANNOT_SLICE_BLOB="cannot-slice-blob",n.SERVER_FILE_WRONG_SIZE="server-file-wrong-size",n.NO_DOWNLOAD_URL="no-download-url",n.INVALID_ARGUMENT="invalid-argument",n.INVALID_ARGUMENT_COUNT="invalid-argument-count",n.APP_DELETED="app-deleted",n.INVALID_ROOT_OPERATION="invalid-root-operation",n.INVALID_FORMAT="invalid-format",n.INTERNAL_ERROR="internal-error",n.UNSUPPORTED_ENVIRONMENT="unsupported-environment"})(te||(te={}));function
|
|
3357
|
+
*/class se extends ze{constructor(e,t,r=0){super(Ta(e),`Firebase Storage: ${t} (${Ta(e)})`),this.status_=r,this.customData={serverResponse:null},this._baseMessage=this.message,Object.setPrototypeOf(this,se.prototype)}get status(){return this.status_}set status(e){this.status_=e}_codeEquals(e){return Ta(e)===this.code}get serverResponse(){return this.customData.serverResponse}set serverResponse(e){this.customData.serverResponse=e,this.customData.serverResponse?this.message=`${this._baseMessage}
|
|
3358
|
+
${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(function(n){n.UNKNOWN="unknown",n.OBJECT_NOT_FOUND="object-not-found",n.BUCKET_NOT_FOUND="bucket-not-found",n.PROJECT_NOT_FOUND="project-not-found",n.QUOTA_EXCEEDED="quota-exceeded",n.UNAUTHENTICATED="unauthenticated",n.UNAUTHORIZED="unauthorized",n.UNAUTHORIZED_APP="unauthorized-app",n.RETRY_LIMIT_EXCEEDED="retry-limit-exceeded",n.INVALID_CHECKSUM="invalid-checksum",n.CANCELED="canceled",n.INVALID_EVENT_NAME="invalid-event-name",n.INVALID_URL="invalid-url",n.INVALID_DEFAULT_BUCKET="invalid-default-bucket",n.NO_DEFAULT_BUCKET="no-default-bucket",n.CANNOT_SLICE_BLOB="cannot-slice-blob",n.SERVER_FILE_WRONG_SIZE="server-file-wrong-size",n.NO_DOWNLOAD_URL="no-download-url",n.INVALID_ARGUMENT="invalid-argument",n.INVALID_ARGUMENT_COUNT="invalid-argument-count",n.APP_DELETED="app-deleted",n.INVALID_ROOT_OPERATION="invalid-root-operation",n.INVALID_FORMAT="invalid-format",n.INTERNAL_ERROR="internal-error",n.UNSUPPORTED_ENVIRONMENT="unsupported-environment"})(te||(te={}));function Ta(n){return"storage/"+n}function wa(){const n="An unknown error occurred, please check the error payload for server response.";return new se(te.UNKNOWN,n)}function $T(n){return new se(te.OBJECT_NOT_FOUND,"Object '"+n+"' does not exist.")}function HT(n){return new se(te.QUOTA_EXCEEDED,"Quota for bucket '"+n+"' exceeded, please view quota on https://firebase.google.com/pricing/.")}function zT(){const n="User is not authenticated, please authenticate using Firebase Authentication and try again.";return new se(te.UNAUTHENTICATED,n)}function WT(){return new se(te.UNAUTHORIZED_APP,"This app does not have permission to access Firebase Storage on this project.")}function GT(n){return new se(te.UNAUTHORIZED,"User does not have permission to access '"+n+"'.")}function Id(){return new se(te.RETRY_LIMIT_EXCEEDED,"Max retry time for operation exceeded, please try again.")}function Ad(){return new se(te.CANCELED,"User canceled the upload/download.")}function KT(n){return new se(te.INVALID_URL,"Invalid URL '"+n+"'.")}function QT(n){return new se(te.INVALID_DEFAULT_BUCKET,"Invalid default bucket '"+n+"'.")}function XT(){return new se(te.NO_DEFAULT_BUCKET,"No default bucket found. Did you set the '"+wd+"' property when initializing the app?")}function Rd(){return new se(te.CANNOT_SLICE_BLOB,"Cannot slice blob for upload. Please retry the upload.")}function YT(){return new se(te.SERVER_FILE_WRONG_SIZE,"Server recorded incorrect upload file size, please retry the upload.")}function JT(){return new se(te.NO_DOWNLOAD_URL,"The given file does not have any download URLs.")}function ZT(n){return new se(te.UNSUPPORTED_ENVIRONMENT,`${n} is missing. Make sure to install the required polyfills. See https://firebase.google.com/docs/web/environments-js-sdk#polyfills for more information.`)}function Ia(n){return new se(te.INVALID_ARGUMENT,n)}function bd(){return new se(te.APP_DELETED,"The Firebase app was deleted.")}function ew(n){return new se(te.INVALID_ROOT_OPERATION,"The operation '"+n+"' cannot be performed on a root reference, create a non-root reference using child, such as .child('file.png').")}function Dr(n,e){return new se(te.INVALID_FORMAT,"String does not match format '"+n+"': "+e)}function Or(n){throw new se(te.INTERNAL_ERROR,"Internal error: "+n)}/**
|
|
3279
3359
|
* @license
|
|
3280
3360
|
* Copyright 2017 Google LLC
|
|
3281
3361
|
*
|
|
@@ -3290,7 +3370,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
|
|
|
3290
3370
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3291
3371
|
* See the License for the specific language governing permissions and
|
|
3292
3372
|
* limitations under the License.
|
|
3293
|
-
*/class
|
|
3373
|
+
*/class Be{constructor(e,t){this.bucket=e,this.path_=t}get path(){return this.path_}get isRoot(){return this.path.length===0}fullServerUrl(){const e=encodeURIComponent;return"/b/"+e(this.bucket)+"/o/"+e(this.path)}bucketOnlyServerUrl(){return"/b/"+encodeURIComponent(this.bucket)+"/o"}static makeFromBucketSpec(e,t){let r;try{r=Be.makeFromUrl(e,t)}catch{return new Be(e,"")}if(r.path==="")return r;throw QT(e)}static makeFromUrl(e,t){let r=null;const s="([A-Za-z0-9.\\-_]+)";function i(H){H.path.charAt(H.path.length-1)==="/"&&(H.path_=H.path_.slice(0,-1))}const a="(/(.*))?$",c=new RegExp("^gs://"+s+a,"i"),l={bucket:1,path:3};function d(H){H.path_=decodeURIComponent(H.path)}const f="v[A-Za-z0-9_]+",m=t.replace(/[.]/g,"\\."),v="(/([^?#]*).*)?$",R=new RegExp(`^https?://${m}/${f}/b/${s}/o${v}`,"i"),S={bucket:1,path:3},N=t===Td?"(?:storage.googleapis.com|storage.cloud.google.com)":t,k="([^?#]*)",U=new RegExp(`^https?://${N}/${s}/${k}`,"i"),x=[{regex:c,indices:l,postModify:i},{regex:R,indices:S,postModify:d},{regex:U,indices:{bucket:1,path:2},postModify:d}];for(let H=0;H<x.length;H++){const he=x[H],J=he.regex.exec(e);if(J){const T=J[he.indices.bucket];let g=J[he.indices.path];g||(g=""),r=new Be(T,g),he.postModify(r);break}}if(r==null)throw KT(e);return r}}class tw{constructor(e){this.promise_=Promise.reject(e)}getPromise(){return this.promise_}cancel(e=!1){}}/**
|
|
3294
3374
|
* @license
|
|
3295
3375
|
* Copyright 2017 Google LLC
|
|
3296
3376
|
*
|
|
@@ -3305,7 +3385,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
|
|
|
3305
3385
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3306
3386
|
* See the License for the specific language governing permissions and
|
|
3307
3387
|
* limitations under the License.
|
|
3308
|
-
*/function
|
|
3388
|
+
*/function nw(n,e,t){let r=1,s=null,i=null,a=!1,c=0;function l(){return c===2}let d=!1;function f(...k){d||(d=!0,e.apply(null,k))}function m(k){s=setTimeout(()=>{s=null,n(R,l())},k)}function v(){i&&clearTimeout(i)}function R(k,...U){if(d){v();return}if(k){v(),f.call(null,k,...U);return}if(l()||a){v(),f.call(null,k,...U);return}r<64&&(r*=2);let x;c===1?(c=2,x=0):x=(r+Math.random())*1e3,m(x)}let S=!1;function N(k){S||(S=!0,v(),!d&&(s!==null?(k||(c=2),clearTimeout(s),m(0)):k||(c=1)))}return m(0),i=setTimeout(()=>{a=!0,N(!0)},t),N}function rw(n){n(!1)}/**
|
|
3309
3389
|
* @license
|
|
3310
3390
|
* Copyright 2017 Google LLC
|
|
3311
3391
|
*
|
|
@@ -3320,7 +3400,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
|
|
|
3320
3400
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3321
3401
|
* See the License for the specific language governing permissions and
|
|
3322
3402
|
* limitations under the License.
|
|
3323
|
-
*/function
|
|
3403
|
+
*/function sw(n){return n!==void 0}function iw(n){return typeof n=="function"}function ow(n){return typeof n=="object"&&!Array.isArray(n)}function li(n){return typeof n=="string"||n instanceof String}function Pd(n){return Aa()&&n instanceof Blob}function Aa(){return typeof Blob<"u"}function Sd(n,e,t,r){if(r<e)throw Ia(`Invalid value for '${n}'. Expected ${e} or greater.`);if(r>t)throw Ia(`Invalid value for '${n}'. Expected ${t} or less.`)}/**
|
|
3324
3404
|
* @license
|
|
3325
3405
|
* Copyright 2017 Google LLC
|
|
3326
3406
|
*
|
|
@@ -3335,7 +3415,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
|
|
|
3335
3415
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3336
3416
|
* See the License for the specific language governing permissions and
|
|
3337
3417
|
* limitations under the License.
|
|
3338
|
-
*/function
|
|
3418
|
+
*/function $n(n,e,t){let r=e;return t==null&&(r=`https://${e}`),`${t}://${r}/v0${n}`}function Cd(n){const e=encodeURIComponent;let t="?";for(const r in n)if(n.hasOwnProperty(r)){const s=e(r)+"="+e(n[r]);t=t+s+"&"}return t=t.slice(0,-1),t}var cn;(function(n){n[n.NO_ERROR=0]="NO_ERROR",n[n.NETWORK_ERROR=1]="NETWORK_ERROR",n[n.ABORT=2]="ABORT"})(cn||(cn={}));/**
|
|
3339
3419
|
* @license
|
|
3340
3420
|
* Copyright 2022 Google LLC
|
|
3341
3421
|
*
|
|
@@ -3350,7 +3430,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
|
|
|
3350
3430
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3351
3431
|
* See the License for the specific language governing permissions and
|
|
3352
3432
|
* limitations under the License.
|
|
3353
|
-
*/function
|
|
3433
|
+
*/function kd(n,e){const t=n>=500&&n<600,s=[408,429].indexOf(n)!==-1,i=e.indexOf(n)!==-1;return t||s||i}/**
|
|
3354
3434
|
* @license
|
|
3355
3435
|
* Copyright 2017 Google LLC
|
|
3356
3436
|
*
|
|
@@ -3365,7 +3445,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
|
|
|
3365
3445
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3366
3446
|
* See the License for the specific language governing permissions and
|
|
3367
3447
|
* limitations under the License.
|
|
3368
|
-
*/class
|
|
3448
|
+
*/class aw{constructor(e,t,r,s,i,a,c,l,d,f,m,v=!0){this.url_=e,this.method_=t,this.headers_=r,this.body_=s,this.successCodes_=i,this.additionalRetryCodes_=a,this.callback_=c,this.errorCallback_=l,this.timeout_=d,this.progressCallback_=f,this.connectionFactory_=m,this.retry=v,this.pendingConnection_=null,this.backoffId_=null,this.canceled_=!1,this.appDelete_=!1,this.promise_=new Promise((R,S)=>{this.resolve_=R,this.reject_=S,this.start_()})}start_(){const e=(r,s)=>{if(s){r(!1,new hi(!1,null,!0));return}const i=this.connectionFactory_();this.pendingConnection_=i;const a=c=>{const l=c.loaded,d=c.lengthComputable?c.total:-1;this.progressCallback_!==null&&this.progressCallback_(l,d)};this.progressCallback_!==null&&i.addUploadProgressListener(a),i.send(this.url_,this.method_,this.body_,this.headers_).then(()=>{this.progressCallback_!==null&&i.removeUploadProgressListener(a),this.pendingConnection_=null;const c=i.getErrorCode()===cn.NO_ERROR,l=i.getStatus();if(!c||kd(l,this.additionalRetryCodes_)&&this.retry){const f=i.getErrorCode()===cn.ABORT;r(!1,new hi(!1,null,f));return}const d=this.successCodes_.indexOf(l)!==-1;r(!0,new hi(d,i))})},t=(r,s)=>{const i=this.resolve_,a=this.reject_,c=s.connection;if(s.wasSuccessCode)try{const l=this.callback_(c,c.getResponse());sw(l)?i(l):i()}catch(l){a(l)}else if(c!==null){const l=wa();l.serverResponse=c.getErrorText(),this.errorCallback_?a(this.errorCallback_(c,l)):a(l)}else if(s.canceled){const l=this.appDelete_?bd():Ad();a(l)}else{const l=Id();a(l)}};this.canceled_?t(!1,new hi(!1,null,!0)):this.backoffId_=nw(e,t,this.timeout_)}getPromise(){return this.promise_}cancel(e){this.canceled_=!0,this.appDelete_=e||!1,this.backoffId_!==null&&rw(this.backoffId_),this.pendingConnection_!==null&&this.pendingConnection_.abort()}}class hi{constructor(e,t,r){this.wasSuccessCode=e,this.connection=t,this.canceled=!!r}}function cw(n,e){e!==null&&e.length>0&&(n.Authorization="Firebase "+e)}function uw(n,e){n["X-Firebase-Storage-Version"]="webjs/"+(e??"AppManager")}function lw(n,e){e&&(n["X-Firebase-GMPID"]=e)}function hw(n,e){e!==null&&(n["X-Firebase-AppCheck"]=e)}function dw(n,e,t,r,s,i,a=!0){const c=Cd(n.urlParams),l=n.url+c,d=Object.assign({},n.headers);return lw(d,e),cw(d,t),uw(d,i),hw(d,r),new aw(l,n.method,d,n.body,n.successCodes,n.additionalRetryCodes,n.handler,n.errorHandler,n.timeout,n.progressCallback,s,a)}/**
|
|
3369
3449
|
* @license
|
|
3370
3450
|
* Copyright 2017 Google LLC
|
|
3371
3451
|
*
|
|
@@ -3380,7 +3460,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
|
|
|
3380
3460
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3381
3461
|
* See the License for the specific language governing permissions and
|
|
3382
3462
|
* limitations under the License.
|
|
3383
|
-
*/function
|
|
3463
|
+
*/function fw(){return typeof BlobBuilder<"u"?BlobBuilder:typeof WebKitBlobBuilder<"u"?WebKitBlobBuilder:void 0}function pw(...n){const e=fw();if(e!==void 0){const t=new e;for(let r=0;r<n.length;r++)t.append(n[r]);return t.getBlob()}else{if(Aa())return new Blob(n);throw new se(te.UNSUPPORTED_ENVIRONMENT,"This browser doesn't seem to support creating Blobs")}}function mw(n,e,t){return n.webkitSlice?n.webkitSlice(e,t):n.mozSlice?n.mozSlice(e,t):n.slice?n.slice(e,t):null}/**
|
|
3384
3464
|
* @license
|
|
3385
3465
|
* Copyright 2021 Google LLC
|
|
3386
3466
|
*
|
|
@@ -3395,7 +3475,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
|
|
|
3395
3475
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3396
3476
|
* See the License for the specific language governing permissions and
|
|
3397
3477
|
* limitations under the License.
|
|
3398
|
-
*/function
|
|
3478
|
+
*/function gw(n){if(typeof atob>"u")throw ZT("base-64");return atob(n)}/**
|
|
3399
3479
|
* @license
|
|
3400
3480
|
* Copyright 2017 Google LLC
|
|
3401
3481
|
*
|
|
@@ -3410,7 +3490,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
|
|
|
3410
3490
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3411
3491
|
* See the License for the specific language governing permissions and
|
|
3412
3492
|
* limitations under the License.
|
|
3413
|
-
*/const
|
|
3493
|
+
*/const lt={RAW:"raw",BASE64:"base64",BASE64URL:"base64url",DATA_URL:"data_url"};class Ra{constructor(e,t){this.data=e,this.contentType=t||null}}function _w(n,e){switch(n){case lt.RAW:return new Ra(Nd(e));case lt.BASE64:case lt.BASE64URL:return new Ra(Dd(n,e));case lt.DATA_URL:return new Ra(vw(e),Ew(e))}throw wa()}function Nd(n){const e=[];for(let t=0;t<n.length;t++){let r=n.charCodeAt(t);if(r<=127)e.push(r);else if(r<=2047)e.push(192|r>>6,128|r&63);else if((r&64512)===55296)if(!(t<n.length-1&&(n.charCodeAt(t+1)&64512)===56320))e.push(239,191,189);else{const i=r,a=n.charCodeAt(++t);r=65536|(i&1023)<<10|a&1023,e.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|r&63)}else(r&64512)===56320?e.push(239,191,189):e.push(224|r>>12,128|r>>6&63,128|r&63)}return new Uint8Array(e)}function yw(n){let e;try{e=decodeURIComponent(n)}catch{throw Dr(lt.DATA_URL,"Malformed data URL.")}return Nd(e)}function Dd(n,e){switch(n){case lt.BASE64:{const s=e.indexOf("-")!==-1,i=e.indexOf("_")!==-1;if(s||i)throw Dr(n,"Invalid character '"+(s?"-":"_")+"' found: is it base64url encoded?");break}case lt.BASE64URL:{const s=e.indexOf("+")!==-1,i=e.indexOf("/")!==-1;if(s||i)throw Dr(n,"Invalid character '"+(s?"+":"/")+"' found: is it base64 encoded?");e=e.replace(/-/g,"+").replace(/_/g,"/");break}}let t;try{t=gw(e)}catch(s){throw s.message.includes("polyfill")?s:Dr(n,"Invalid character found")}const r=new Uint8Array(t.length);for(let s=0;s<t.length;s++)r[s]=t.charCodeAt(s);return r}class Od{constructor(e){this.base64=!1,this.contentType=null;const t=e.match(/^data:([^,]+)?,/);if(t===null)throw Dr(lt.DATA_URL,"Must be formatted 'data:[<mediatype>][;base64],<data>");const r=t[1]||null;r!=null&&(this.base64=Tw(r,";base64"),this.contentType=this.base64?r.substring(0,r.length-7):r),this.rest=e.substring(e.indexOf(",")+1)}}function vw(n){const e=new Od(n);return e.base64?Dd(lt.BASE64,e.rest):yw(e.rest)}function Ew(n){return new Od(n).contentType}function Tw(n,e){return n.length>=e.length?n.substring(n.length-e.length)===e:!1}/**
|
|
3414
3494
|
* @license
|
|
3415
3495
|
* Copyright 2017 Google LLC
|
|
3416
3496
|
*
|
|
@@ -3425,7 +3505,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
|
|
|
3425
3505
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3426
3506
|
* See the License for the specific language governing permissions and
|
|
3427
3507
|
* limitations under the License.
|
|
3428
|
-
*/class
|
|
3508
|
+
*/class Ht{constructor(e,t){let r=0,s="";Pd(e)?(this.data_=e,r=e.size,s=e.type):e instanceof ArrayBuffer?(t?this.data_=new Uint8Array(e):(this.data_=new Uint8Array(e.byteLength),this.data_.set(new Uint8Array(e))),r=this.data_.length):e instanceof Uint8Array&&(t?this.data_=e:(this.data_=new Uint8Array(e.length),this.data_.set(e)),r=e.length),this.size_=r,this.type_=s}size(){return this.size_}type(){return this.type_}slice(e,t){if(Pd(this.data_)){const r=this.data_,s=mw(r,e,t);return s===null?null:new Ht(s)}else{const r=new Uint8Array(this.data_.buffer,e,t-e);return new Ht(r,!0)}}static getBlob(...e){if(Aa()){const t=e.map(r=>r instanceof Ht?r.data_:r);return new Ht(pw.apply(null,t))}else{const t=e.map(a=>li(a)?_w(lt.RAW,a).data:a.data_);let r=0;t.forEach(a=>{r+=a.byteLength});const s=new Uint8Array(r);let i=0;return t.forEach(a=>{for(let c=0;c<a.length;c++)s[i++]=a[c]}),new Ht(s,!0)}}uploadData(){return this.data_}}/**
|
|
3429
3509
|
* @license
|
|
3430
3510
|
* Copyright 2017 Google LLC
|
|
3431
3511
|
*
|
|
@@ -3440,7 +3520,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
|
|
|
3440
3520
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3441
3521
|
* See the License for the specific language governing permissions and
|
|
3442
3522
|
* limitations under the License.
|
|
3443
|
-
*/function
|
|
3523
|
+
*/function Vd(n){let e;try{e=JSON.parse(n)}catch{return null}return ow(e)?e:null}/**
|
|
3444
3524
|
* @license
|
|
3445
3525
|
* Copyright 2017 Google LLC
|
|
3446
3526
|
*
|
|
@@ -3455,7 +3535,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
|
|
|
3455
3535
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3456
3536
|
* See the License for the specific language governing permissions and
|
|
3457
3537
|
* limitations under the License.
|
|
3458
|
-
*/function
|
|
3538
|
+
*/function ww(n){if(n.length===0)return null;const e=n.lastIndexOf("/");return e===-1?"":n.slice(0,e)}function Iw(n,e){const t=e.split("/").filter(r=>r.length>0).join("/");return n.length===0?t:n+"/"+t}function Ld(n){const e=n.lastIndexOf("/",n.length-2);return e===-1?n:n.slice(e+1)}/**
|
|
3459
3539
|
* @license
|
|
3460
3540
|
* Copyright 2017 Google LLC
|
|
3461
3541
|
*
|
|
@@ -3470,7 +3550,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
|
|
|
3470
3550
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3471
3551
|
* See the License for the specific language governing permissions and
|
|
3472
3552
|
* limitations under the License.
|
|
3473
|
-
*/function
|
|
3553
|
+
*/function Aw(n,e){return e}class Ce{constructor(e,t,r,s){this.server=e,this.local=t||e,this.writable=!!r,this.xform=s||Aw}}let di=null;function Rw(n){return!li(n)||n.length<2?n:Ld(n)}function Md(){if(di)return di;const n=[];n.push(new Ce("bucket")),n.push(new Ce("generation")),n.push(new Ce("metageneration")),n.push(new Ce("name","fullPath",!0));function e(i,a){return Rw(a)}const t=new Ce("name");t.xform=e,n.push(t);function r(i,a){return a!==void 0?Number(a):a}const s=new Ce("size");return s.xform=r,n.push(s),n.push(new Ce("timeCreated")),n.push(new Ce("updated")),n.push(new Ce("md5Hash",null,!0)),n.push(new Ce("cacheControl",null,!0)),n.push(new Ce("contentDisposition",null,!0)),n.push(new Ce("contentEncoding",null,!0)),n.push(new Ce("contentLanguage",null,!0)),n.push(new Ce("contentType",null,!0)),n.push(new Ce("metadata","customMetadata",!0)),di=n,di}function bw(n,e){function t(){const r=n.bucket,s=n.fullPath,i=new Be(r,s);return e._makeStorageReference(i)}Object.defineProperty(n,"ref",{get:t})}function Pw(n,e,t){const r={};r.type="file";const s=t.length;for(let i=0;i<s;i++){const a=t[i];r[a.local]=a.xform(r,e[a.server])}return bw(r,n),r}function Ud(n,e,t){const r=Vd(e);return r===null?null:Pw(n,r,t)}function Sw(n,e,t,r){const s=Vd(e);if(s===null||!li(s.downloadTokens))return null;const i=s.downloadTokens;if(i.length===0)return null;const a=encodeURIComponent;return i.split(",").map(d=>{const f=n.bucket,m=n.fullPath,v="/b/"+a(f)+"/o/"+a(m),R=$n(v,t,r),S=Cd({alt:"media",token:d});return R+S})[0]}function xd(n,e){const t={},r=e.length;for(let s=0;s<r;s++){const i=e[s];i.writable&&(t[i.server]=n[i.local])}return JSON.stringify(t)}class un{constructor(e,t,r,s){this.url=e,this.method=t,this.handler=r,this.timeout=s,this.urlParams={},this.headers={},this.body=null,this.errorHandler=null,this.progressCallback=null,this.successCodes=[200],this.additionalRetryCodes=[]}}/**
|
|
3474
3554
|
* @license
|
|
3475
3555
|
* Copyright 2017 Google LLC
|
|
3476
3556
|
*
|
|
@@ -3485,15 +3565,15 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}}var te;(funct
|
|
|
3485
3565
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3486
3566
|
* See the License for the specific language governing permissions and
|
|
3487
3567
|
* limitations under the License.
|
|
3488
|
-
*/function
|
|
3568
|
+
*/function Tt(n){if(!n)throw wa()}function ba(n,e){function t(r,s){const i=Ud(n,s,e);return Tt(i!==null),i}return t}function Cw(n,e){function t(r,s){const i=Ud(n,s,e);return Tt(i!==null),Sw(i,s,n.host,n._protocol)}return t}function Vr(n){function e(t,r){let s;return t.getStatus()===401?t.getErrorText().includes("Firebase App Check token is invalid")?s=WT():s=zT():t.getStatus()===402?s=HT(n.bucket):t.getStatus()===403?s=GT(n.path):s=r,s.status=t.getStatus(),s.serverResponse=r.serverResponse,s}return e}function Pa(n){const e=Vr(n);function t(r,s){let i=e(r,s);return r.getStatus()===404&&(i=$T(n.path)),i.serverResponse=s.serverResponse,i}return t}function kw(n,e,t){const r=e.fullServerUrl(),s=$n(r,n.host,n._protocol),i="GET",a=n.maxOperationRetryTime,c=new un(s,i,ba(n,t),a);return c.errorHandler=Pa(e),c}function Nw(n,e,t){const r=e.fullServerUrl(),s=$n(r,n.host,n._protocol),i="GET",a=n.maxOperationRetryTime,c=new un(s,i,Cw(n,t),a);return c.errorHandler=Pa(e),c}function Dw(n,e){const t=e.fullServerUrl(),r=$n(t,n.host,n._protocol),s="DELETE",i=n.maxOperationRetryTime;function a(l,d){}const c=new un(r,s,a,i);return c.successCodes=[200,204],c.errorHandler=Pa(e),c}function Ow(n,e){return n&&n.contentType||e&&e.type()||"application/octet-stream"}function Fd(n,e,t){const r=Object.assign({},t);return r.fullPath=n.path,r.size=e.size(),r.contentType||(r.contentType=Ow(null,e)),r}function Vw(n,e,t,r,s){const i=e.bucketOnlyServerUrl(),a={"X-Goog-Upload-Protocol":"multipart"};function c(){let x="";for(let H=0;H<2;H++)x=x+Math.random().toString().slice(2);return x}const l=c();a["Content-Type"]="multipart/related; boundary="+l;const d=Fd(e,r,s),f=xd(d,t),m="--"+l+`\r
|
|
3489
3569
|
Content-Type: application/json; charset=utf-8\r
|
|
3490
3570
|
\r
|
|
3491
|
-
`+
|
|
3571
|
+
`+f+`\r
|
|
3492
3572
|
--`+l+`\r
|
|
3493
3573
|
Content-Type: `+d.contentType+`\r
|
|
3494
3574
|
\r
|
|
3495
3575
|
`,v=`\r
|
|
3496
|
-
--`+l+"--",R=
|
|
3576
|
+
--`+l+"--",R=Ht.getBlob(m,r,v);if(R===null)throw Rd();const S={name:d.fullPath},N=$n(i,n.host,n._protocol),k="POST",U=n.maxUploadRetryTime,$=new un(N,k,ba(n,t),U);return $.urlParams=S,$.headers=a,$.body=R.uploadData(),$.errorHandler=Vr(e),$}class fi{constructor(e,t,r,s){this.current=e,this.total=t,this.finalized=!!r,this.metadata=s||null}}function Sa(n,e){let t=null;try{t=n.getResponseHeader("X-Goog-Upload-Status")}catch{Tt(!1)}return Tt(!!t&&(e||["active"]).indexOf(t)!==-1),t}function Lw(n,e,t,r,s){const i=e.bucketOnlyServerUrl(),a=Fd(e,r,s),c={name:a.fullPath},l=$n(i,n.host,n._protocol),d="POST",f={"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":`${r.size()}`,"X-Goog-Upload-Header-Content-Type":a.contentType,"Content-Type":"application/json; charset=utf-8"},m=xd(a,t),v=n.maxUploadRetryTime;function R(N){Sa(N);let k;try{k=N.getResponseHeader("X-Goog-Upload-URL")}catch{Tt(!1)}return Tt(li(k)),k}const S=new un(l,d,R,v);return S.urlParams=c,S.headers=f,S.body=m,S.errorHandler=Vr(e),S}function Mw(n,e,t,r){const s={"X-Goog-Upload-Command":"query"};function i(d){const f=Sa(d,["active","final"]);let m=null;try{m=d.getResponseHeader("X-Goog-Upload-Size-Received")}catch{Tt(!1)}m||Tt(!1);const v=Number(m);return Tt(!isNaN(v)),new fi(v,r.size(),f==="final")}const a="POST",c=n.maxUploadRetryTime,l=new un(t,a,i,c);return l.headers=s,l.errorHandler=Vr(e),l}const Bd=256*1024;function Uw(n,e,t,r,s,i,a,c){const l=new fi(0,0);if(a?(l.current=a.current,l.total=a.total):(l.current=0,l.total=r.size()),r.size()!==l.total)throw YT();const d=l.total-l.current;let f=d;s>0&&(f=Math.min(f,s));const m=l.current,v=m+f;let R="";f===0?R="finalize":d===f?R="upload, finalize":R="upload";const S={"X-Goog-Upload-Command":R,"X-Goog-Upload-Offset":`${l.current}`},N=r.slice(m,v);if(N===null)throw Rd();function k(H,he){const J=Sa(H,["active","final"]),T=l.current+f,g=r.size();let _;return J==="final"?_=ba(e,i)(H,he):_=null,new fi(T,g,J==="final",_)}const U="POST",$=e.maxUploadRetryTime,x=new un(t,U,k,$);return x.headers=S,x.body=N.uploadData(),x.progressCallback=c||null,x.errorHandler=Vr(n),x}const Le={RUNNING:"running",PAUSED:"paused",SUCCESS:"success",CANCELED:"canceled",ERROR:"error"};function Ca(n){switch(n){case"running":case"pausing":case"canceling":return Le.RUNNING;case"paused":return Le.PAUSED;case"success":return Le.SUCCESS;case"canceled":return Le.CANCELED;case"error":return Le.ERROR;default:return Le.ERROR}}/**
|
|
3497
3577
|
* @license
|
|
3498
3578
|
* Copyright 2017 Google LLC
|
|
3499
3579
|
*
|
|
@@ -3508,7 +3588,7 @@ Content-Type: `+d.contentType+`\r
|
|
|
3508
3588
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3509
3589
|
* See the License for the specific language governing permissions and
|
|
3510
3590
|
* limitations under the License.
|
|
3511
|
-
*/class
|
|
3591
|
+
*/class xw{constructor(e,t,r){if(iw(e)||t!=null||r!=null)this.next=e,this.error=t??void 0,this.complete=r??void 0;else{const i=e;this.next=i.next,this.error=i.error,this.complete=i.complete}}}/**
|
|
3512
3592
|
* @license
|
|
3513
3593
|
* Copyright 2017 Google LLC
|
|
3514
3594
|
*
|
|
@@ -3523,7 +3603,7 @@ Content-Type: `+d.contentType+`\r
|
|
|
3523
3603
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3524
3604
|
* See the License for the specific language governing permissions and
|
|
3525
3605
|
* limitations under the License.
|
|
3526
|
-
*/function
|
|
3606
|
+
*/function Hn(n){return(...e)=>{Promise.resolve().then(()=>n(...e))}}class Fw{constructor(){this.sent_=!1,this.xhr_=new XMLHttpRequest,this.initXhr(),this.errorCode_=cn.NO_ERROR,this.sendPromise_=new Promise(e=>{this.xhr_.addEventListener("abort",()=>{this.errorCode_=cn.ABORT,e()}),this.xhr_.addEventListener("error",()=>{this.errorCode_=cn.NETWORK_ERROR,e()}),this.xhr_.addEventListener("load",()=>{e()})})}send(e,t,r,s){if(this.sent_)throw Or("cannot .send() more than once");if(this.sent_=!0,this.xhr_.open(t,e,!0),s!==void 0)for(const i in s)s.hasOwnProperty(i)&&this.xhr_.setRequestHeader(i,s[i].toString());return r!==void 0?this.xhr_.send(r):this.xhr_.send(),this.sendPromise_}getErrorCode(){if(!this.sent_)throw Or("cannot .getErrorCode() before sending");return this.errorCode_}getStatus(){if(!this.sent_)throw Or("cannot .getStatus() before sending");try{return this.xhr_.status}catch{return-1}}getResponse(){if(!this.sent_)throw Or("cannot .getResponse() before sending");return this.xhr_.response}getErrorText(){if(!this.sent_)throw Or("cannot .getErrorText() before sending");return this.xhr_.statusText}abort(){this.xhr_.abort()}getResponseHeader(e){return this.xhr_.getResponseHeader(e)}addUploadProgressListener(e){this.xhr_.upload!=null&&this.xhr_.upload.addEventListener("progress",e)}removeUploadProgressListener(e){this.xhr_.upload!=null&&this.xhr_.upload.removeEventListener("progress",e)}}class Bw extends Fw{initXhr(){this.xhr_.responseType="text"}}function ln(){return new Bw}/**
|
|
3527
3607
|
* @license
|
|
3528
3608
|
* Copyright 2017 Google LLC
|
|
3529
3609
|
*
|
|
@@ -3538,7 +3618,7 @@ Content-Type: `+d.contentType+`\r
|
|
|
3538
3618
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3539
3619
|
* See the License for the specific language governing permissions and
|
|
3540
3620
|
* limitations under the License.
|
|
3541
|
-
*/class
|
|
3621
|
+
*/class jw{isExponentialBackoffExpired(){return this.sleepTime>this.maxSleepTime}constructor(e,t,r=null){this._transferred=0,this._needToFetchStatus=!1,this._needToFetchMetadata=!1,this._observers=[],this._error=void 0,this._uploadUrl=void 0,this._request=void 0,this._chunkMultiplier=1,this._resolve=void 0,this._reject=void 0,this._ref=e,this._blob=t,this._metadata=r,this._mappings=Md(),this._resumable=this._shouldDoResumable(this._blob),this._state="running",this._errorHandler=s=>{if(this._request=void 0,this._chunkMultiplier=1,s._codeEquals(te.CANCELED))this._needToFetchStatus=!0,this.completeTransitions_();else{const i=this.isExponentialBackoffExpired();if(kd(s.status,[]))if(i)s=Id();else{this.sleepTime=Math.max(this.sleepTime*2,qT),this._needToFetchStatus=!0,this.completeTransitions_();return}this._error=s,this._transition("error")}},this._metadataErrorHandler=s=>{this._request=void 0,s._codeEquals(te.CANCELED)?this.completeTransitions_():(this._error=s,this._transition("error"))},this.sleepTime=0,this.maxSleepTime=this._ref.storage.maxUploadRetryTime,this._promise=new Promise((s,i)=>{this._resolve=s,this._reject=i,this._start()}),this._promise.then(null,()=>{})}_makeProgressCallback(){const e=this._transferred;return t=>this._updateProgress(e+t)}_shouldDoResumable(e){return e.size()>256*1024}_start(){this._state==="running"&&this._request===void 0&&(this._resumable?this._uploadUrl===void 0?this._createResumable():this._needToFetchStatus?this._fetchStatus():this._needToFetchMetadata?this._fetchMetadata():this.pendingTimeout=setTimeout(()=>{this.pendingTimeout=void 0,this._continueUpload()},this.sleepTime):this._oneShotUpload())}_resolveToken(e){Promise.all([this._ref.storage._getAuthToken(),this._ref.storage._getAppCheckToken()]).then(([t,r])=>{switch(this._state){case"running":e(t,r);break;case"canceling":this._transition("canceled");break;case"pausing":this._transition("paused");break}})}_createResumable(){this._resolveToken((e,t)=>{const r=Lw(this._ref.storage,this._ref._location,this._mappings,this._blob,this._metadata),s=this._ref.storage._makeRequest(r,ln,e,t);this._request=s,s.getPromise().then(i=>{this._request=void 0,this._uploadUrl=i,this._needToFetchStatus=!1,this.completeTransitions_()},this._errorHandler)})}_fetchStatus(){const e=this._uploadUrl;this._resolveToken((t,r)=>{const s=Mw(this._ref.storage,this._ref._location,e,this._blob),i=this._ref.storage._makeRequest(s,ln,t,r);this._request=i,i.getPromise().then(a=>{a=a,this._request=void 0,this._updateProgress(a.current),this._needToFetchStatus=!1,a.finalized&&(this._needToFetchMetadata=!0),this.completeTransitions_()},this._errorHandler)})}_continueUpload(){const e=Bd*this._chunkMultiplier,t=new fi(this._transferred,this._blob.size()),r=this._uploadUrl;this._resolveToken((s,i)=>{let a;try{a=Uw(this._ref._location,this._ref.storage,r,this._blob,e,this._mappings,t,this._makeProgressCallback())}catch(l){this._error=l,this._transition("error");return}const c=this._ref.storage._makeRequest(a,ln,s,i,!1);this._request=c,c.getPromise().then(l=>{this._increaseMultiplier(),this._request=void 0,this._updateProgress(l.current),l.finalized?(this._metadata=l.metadata,this._transition("success")):this.completeTransitions_()},this._errorHandler)})}_increaseMultiplier(){Bd*this._chunkMultiplier*2<32*1024*1024&&(this._chunkMultiplier*=2)}_fetchMetadata(){this._resolveToken((e,t)=>{const r=kw(this._ref.storage,this._ref._location,this._mappings),s=this._ref.storage._makeRequest(r,ln,e,t);this._request=s,s.getPromise().then(i=>{this._request=void 0,this._metadata=i,this._transition("success")},this._metadataErrorHandler)})}_oneShotUpload(){this._resolveToken((e,t)=>{const r=Vw(this._ref.storage,this._ref._location,this._mappings,this._blob,this._metadata),s=this._ref.storage._makeRequest(r,ln,e,t);this._request=s,s.getPromise().then(i=>{this._request=void 0,this._metadata=i,this._updateProgress(this._blob.size()),this._transition("success")},this._errorHandler)})}_updateProgress(e){const t=this._transferred;this._transferred=e,this._transferred!==t&&this._notifyObservers()}_transition(e){if(this._state!==e)switch(e){case"canceling":case"pausing":this._state=e,this._request!==void 0?this._request.cancel():this.pendingTimeout&&(clearTimeout(this.pendingTimeout),this.pendingTimeout=void 0,this.completeTransitions_());break;case"running":const t=this._state==="paused";this._state=e,t&&(this._notifyObservers(),this._start());break;case"paused":this._state=e,this._notifyObservers();break;case"canceled":this._error=Ad(),this._state=e,this._notifyObservers();break;case"error":this._state=e,this._notifyObservers();break;case"success":this._state=e,this._notifyObservers();break}}completeTransitions_(){switch(this._state){case"pausing":this._transition("paused");break;case"canceling":this._transition("canceled");break;case"running":this._start();break}}get snapshot(){const e=Ca(this._state);return{bytesTransferred:this._transferred,totalBytes:this._blob.size(),state:e,metadata:this._metadata,task:this,ref:this._ref}}on(e,t,r,s){const i=new xw(t||void 0,r||void 0,s||void 0);return this._addObserver(i),()=>{this._removeObserver(i)}}then(e,t){return this._promise.then(e,t)}catch(e){return this.then(null,e)}_addObserver(e){this._observers.push(e),this._notifyObserver(e)}_removeObserver(e){const t=this._observers.indexOf(e);t!==-1&&this._observers.splice(t,1)}_notifyObservers(){this._finishPromise(),this._observers.slice().forEach(t=>{this._notifyObserver(t)})}_finishPromise(){if(this._resolve!==void 0){let e=!0;switch(Ca(this._state)){case Le.SUCCESS:Hn(this._resolve.bind(null,this.snapshot))();break;case Le.CANCELED:case Le.ERROR:const t=this._reject;Hn(t.bind(null,this._error))();break;default:e=!1;break}e&&(this._resolve=void 0,this._reject=void 0)}}_notifyObserver(e){switch(Ca(this._state)){case Le.RUNNING:case Le.PAUSED:e.next&&Hn(e.next.bind(e,this.snapshot))();break;case Le.SUCCESS:e.complete&&Hn(e.complete.bind(e))();break;case Le.CANCELED:case Le.ERROR:e.error&&Hn(e.error.bind(e,this._error))();break;default:e.error&&Hn(e.error.bind(e,this._error))()}}resume(){const e=this._state==="paused"||this._state==="pausing";return e&&this._transition("running"),e}pause(){const e=this._state==="running";return e&&this._transition("pausing"),e}cancel(){const e=this._state==="running"||this._state==="pausing";return e&&this._transition("canceling"),e}}/**
|
|
3542
3622
|
* @license
|
|
3543
3623
|
* Copyright 2019 Google LLC
|
|
3544
3624
|
*
|
|
@@ -3553,7 +3633,7 @@ Content-Type: `+d.contentType+`\r
|
|
|
3553
3633
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3554
3634
|
* See the License for the specific language governing permissions and
|
|
3555
3635
|
* limitations under the License.
|
|
3556
|
-
*/class
|
|
3636
|
+
*/class hn{constructor(e,t){this._service=e,t instanceof Be?this._location=t:this._location=Be.makeFromUrl(t,e.host)}toString(){return"gs://"+this._location.bucket+"/"+this._location.path}_newRef(e,t){return new hn(e,t)}get root(){const e=new Be(this._location.bucket,"");return this._newRef(this._service,e)}get bucket(){return this._location.bucket}get fullPath(){return this._location.path}get name(){return Ld(this._location.path)}get storage(){return this._service}get parent(){const e=ww(this._location.path);if(e===null)return null;const t=new Be(this._location.bucket,e);return new hn(this._service,t)}_throwIfRoot(e){if(this._location.path==="")throw ew(e)}}function qw(n,e,t){return n._throwIfRoot("uploadBytesResumable"),new jw(n,new Ht(e),t)}function $w(n){n._throwIfRoot("getDownloadURL");const e=Nw(n.storage,n._location,Md());return n.storage.makeRequestWithTokens(e,ln).then(t=>{if(t===null)throw JT();return t})}function Hw(n){n._throwIfRoot("deleteObject");const e=Dw(n.storage,n._location);return n.storage.makeRequestWithTokens(e,ln)}function zw(n,e){const t=Iw(n._location.path,e),r=new Be(n._location.bucket,t);return new hn(n.storage,r)}/**
|
|
3557
3637
|
* @license
|
|
3558
3638
|
* Copyright 2017 Google LLC
|
|
3559
3639
|
*
|
|
@@ -3568,7 +3648,7 @@ Content-Type: `+d.contentType+`\r
|
|
|
3568
3648
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3569
3649
|
* See the License for the specific language governing permissions and
|
|
3570
3650
|
* limitations under the License.
|
|
3571
|
-
*/function
|
|
3651
|
+
*/function Ww(n){return/^[A-Za-z]+:\/\//.test(n)}function Gw(n,e){return new hn(n,e)}function jd(n,e){if(n instanceof ka){const t=n;if(t._bucket==null)throw XT();const r=new hn(t,t._bucket);return e!=null?jd(r,e):r}else return e!==void 0?zw(n,e):n}function Kw(n,e){if(e&&Ww(e)){if(n instanceof ka)return Gw(n,e);throw Ia("To use ref(service, url), the first argument must be a Storage instance.")}else return jd(n,e)}function qd(n,e){const t=e==null?void 0:e[wd];return t==null?null:Be.makeFromBucketSpec(t,n)}function Qw(n,e,t,r={}){n.host=`${e}:${t}`,n._protocol="http";const{mockUserToken:s}=r;s&&(n._overrideAuthToken=typeof s=="string"?s:hc(s,n.app.options.projectId))}class ka{constructor(e,t,r,s,i){this.app=e,this._authProvider=t,this._appCheckProvider=r,this._url=s,this._firebaseVersion=i,this._bucket=null,this._host=Td,this._protocol="https",this._appId=null,this._deleted=!1,this._maxOperationRetryTime=BT,this._maxUploadRetryTime=jT,this._requests=new Set,s!=null?this._bucket=Be.makeFromBucketSpec(s,this._host):this._bucket=qd(this._host,this.app.options)}get host(){return this._host}set host(e){this._host=e,this._url!=null?this._bucket=Be.makeFromBucketSpec(this._url,e):this._bucket=qd(e,this.app.options)}get maxUploadRetryTime(){return this._maxUploadRetryTime}set maxUploadRetryTime(e){Sd("time",0,Number.POSITIVE_INFINITY,e),this._maxUploadRetryTime=e}get maxOperationRetryTime(){return this._maxOperationRetryTime}set maxOperationRetryTime(e){Sd("time",0,Number.POSITIVE_INFINITY,e),this._maxOperationRetryTime=e}async _getAuthToken(){if(this._overrideAuthToken)return this._overrideAuthToken;const e=this._authProvider.getImmediate({optional:!0});if(e){const t=await e.getToken();if(t!==null)return t.accessToken}return null}async _getAppCheckToken(){if(Te(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;const e=this._appCheckProvider.getImmediate({optional:!0});return e?(await e.getToken()).token:null}_delete(){return this._deleted||(this._deleted=!0,this._requests.forEach(e=>e.cancel()),this._requests.clear()),Promise.resolve()}_makeStorageReference(e){return new hn(this,e)}_makeRequest(e,t,r,s,i=!0){if(this._deleted)return new tw(bd());{const a=dw(e,this._appId,r,s,t,this._firebaseVersion,i);return this._requests.add(a),a.getPromise().then(()=>this._requests.delete(a),()=>this._requests.delete(a)),a}}async makeRequestWithTokens(e,t){const[r,s]=await Promise.all([this._getAuthToken(),this._getAppCheckToken()]);return this._makeRequest(e,t,r,s).getPromise()}}const $d="@firebase/storage",Hd="0.13.7";/**
|
|
3572
3652
|
* @license
|
|
3573
3653
|
* Copyright 2020 Google LLC
|
|
3574
3654
|
*
|
|
@@ -3583,7 +3663,7 @@ Content-Type: `+d.contentType+`\r
|
|
|
3583
3663
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3584
3664
|
* See the License for the specific language governing permissions and
|
|
3585
3665
|
* limitations under the License.
|
|
3586
|
-
*/const
|
|
3666
|
+
*/const zd="storage";function Xw(n,e,t){return n=X(n),qw(n,e,t)}function Yw(n){return n=X(n),$w(n)}function Jw(n){return n=X(n),Hw(n)}function Na(n,e){return n=X(n),Kw(n,e)}function Zw(n=ts(),e){n=X(n);const r=rr(n,zd).getImmediate({identifier:e}),s=Li("storage");return s&&Wd(r,...s),r}function Wd(n,e,t,r={}){Qw(n,e,t,r)}function eI(n,{instanceIdentifier:e}){const t=n.getProvider("app").getImmediate(),r=n.getProvider("auth-internal"),s=n.getProvider("app-check-internal");return new ka(t,r,s,e,Yt)}function tI(){bt(new ht(zd,eI,"PUBLIC").setMultipleInstances(!0)),qe($d,Hd,""),qe($d,Hd,"esm2017")}tI();/**
|
|
3587
3667
|
* @license
|
|
3588
3668
|
* Copyright 2017 Google LLC
|
|
3589
3669
|
*
|
|
@@ -3598,7 +3678,7 @@ Content-Type: `+d.contentType+`\r
|
|
|
3598
3678
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3599
3679
|
* See the License for the specific language governing permissions and
|
|
3600
3680
|
* limitations under the License.
|
|
3601
|
-
*/const
|
|
3681
|
+
*/const nI="type.googleapis.com/google.protobuf.Int64Value",rI="type.googleapis.com/google.protobuf.UInt64Value";function Gd(n,e){const t={};for(const r in n)n.hasOwnProperty(r)&&(t[r]=e(n[r]));return t}function pi(n){if(n==null)return null;if(n instanceof Number&&(n=n.valueOf()),typeof n=="number"&&isFinite(n)||n===!0||n===!1||Object.prototype.toString.call(n)==="[object String]")return n;if(n instanceof Date)return n.toISOString();if(Array.isArray(n))return n.map(e=>pi(e));if(typeof n=="function"||typeof n=="object")return Gd(n,e=>pi(e));throw new Error("Data cannot be encoded in JSON: "+n)}function zn(n){if(n==null)return n;if(n["@type"])switch(n["@type"]){case nI:case rI:{const e=Number(n.value);if(isNaN(e))throw new Error("Data cannot be decoded from JSON: "+n);return e}default:throw new Error("Data cannot be decoded from JSON: "+n)}return Array.isArray(n)?n.map(e=>zn(e)):typeof n=="function"||typeof n=="object"?Gd(n,e=>zn(e)):n}/**
|
|
3602
3682
|
* @license
|
|
3603
3683
|
* Copyright 2020 Google LLC
|
|
3604
3684
|
*
|
|
@@ -3613,7 +3693,7 @@ Content-Type: `+d.contentType+`\r
|
|
|
3613
3693
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3614
3694
|
* See the License for the specific language governing permissions and
|
|
3615
3695
|
* limitations under the License.
|
|
3616
|
-
*/const
|
|
3696
|
+
*/const Da="functions";/**
|
|
3617
3697
|
* @license
|
|
3618
3698
|
* Copyright 2017 Google LLC
|
|
3619
3699
|
*
|
|
@@ -3628,7 +3708,7 @@ Content-Type: `+d.contentType+`\r
|
|
|
3628
3708
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3629
3709
|
* See the License for the specific language governing permissions and
|
|
3630
3710
|
* limitations under the License.
|
|
3631
|
-
*/const
|
|
3711
|
+
*/const Kd={OK:"ok",CANCELLED:"cancelled",UNKNOWN:"unknown",INVALID_ARGUMENT:"invalid-argument",DEADLINE_EXCEEDED:"deadline-exceeded",NOT_FOUND:"not-found",ALREADY_EXISTS:"already-exists",PERMISSION_DENIED:"permission-denied",UNAUTHENTICATED:"unauthenticated",RESOURCE_EXHAUSTED:"resource-exhausted",FAILED_PRECONDITION:"failed-precondition",ABORTED:"aborted",OUT_OF_RANGE:"out-of-range",UNIMPLEMENTED:"unimplemented",INTERNAL:"internal",UNAVAILABLE:"unavailable",DATA_LOSS:"data-loss"};class Me extends ze{constructor(e,t,r){super(`${Da}/${e}`,t||""),this.details=r,Object.setPrototypeOf(this,Me.prototype)}}function sI(n){if(n>=200&&n<300)return"ok";switch(n){case 0:return"internal";case 400:return"invalid-argument";case 401:return"unauthenticated";case 403:return"permission-denied";case 404:return"not-found";case 409:return"aborted";case 429:return"resource-exhausted";case 499:return"cancelled";case 500:return"internal";case 501:return"unimplemented";case 503:return"unavailable";case 504:return"deadline-exceeded"}return"unknown"}function mi(n,e){let t=sI(n),r=t,s;try{const i=e&&e.error;if(i){const a=i.status;if(typeof a=="string"){if(!Kd[a])return new Me("internal","internal");t=Kd[a],r=a}const c=i.message;typeof c=="string"&&(r=c),s=i.details,s!==void 0&&(s=zn(s))}}catch{}return t==="ok"?null:new Me(t,r,s)}/**
|
|
3632
3712
|
* @license
|
|
3633
3713
|
* Copyright 2017 Google LLC
|
|
3634
3714
|
*
|
|
@@ -3643,7 +3723,7 @@ Content-Type: `+d.contentType+`\r
|
|
|
3643
3723
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3644
3724
|
* See the License for the specific language governing permissions and
|
|
3645
3725
|
* limitations under the License.
|
|
3646
|
-
*/class
|
|
3726
|
+
*/class iI{constructor(e,t,r,s){this.app=e,this.auth=null,this.messaging=null,this.appCheck=null,this.serverAppAppCheckToken=null,Te(e)&&e.settings.appCheckToken&&(this.serverAppAppCheckToken=e.settings.appCheckToken),this.auth=t.getImmediate({optional:!0}),this.messaging=r.getImmediate({optional:!0}),this.auth||t.get().then(i=>this.auth=i,()=>{}),this.messaging||r.get().then(i=>this.messaging=i,()=>{}),this.appCheck||s==null||s.get().then(i=>this.appCheck=i,()=>{})}async getAuthToken(){if(this.auth)try{const e=await this.auth.getToken();return e==null?void 0:e.accessToken}catch{return}}async getMessagingToken(){if(!(!this.messaging||!("Notification"in self)||Notification.permission!=="granted"))try{return await this.messaging.getToken()}catch{return}}async getAppCheckToken(e){if(this.serverAppAppCheckToken)return this.serverAppAppCheckToken;if(this.appCheck){const t=e?await this.appCheck.getLimitedUseToken():await this.appCheck.getToken();return t.error?null:t.token}return null}async getContext(e){const t=await this.getAuthToken(),r=await this.getMessagingToken(),s=await this.getAppCheckToken(e);return{authToken:t,messagingToken:r,appCheckToken:s}}}/**
|
|
3647
3727
|
* @license
|
|
3648
3728
|
* Copyright 2017 Google LLC
|
|
3649
3729
|
*
|
|
@@ -3658,7 +3738,8 @@ Content-Type: `+d.contentType+`\r
|
|
|
3658
3738
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3659
3739
|
* See the License for the specific language governing permissions and
|
|
3660
3740
|
* limitations under the License.
|
|
3661
|
-
*/const
|
|
3741
|
+
*/const Oa="us-central1",oI=/^data: (.*?)(?:\n|$)/;function aI(n){let e=null;return{promise:new Promise((t,r)=>{e=setTimeout(()=>{r(new Me("deadline-exceeded","deadline-exceeded"))},n)}),cancel:()=>{e&&clearTimeout(e)}}}class cI{constructor(e,t,r,s,i=Oa,a=(...c)=>fetch(...c)){this.app=e,this.fetchImpl=a,this.emulatorOrigin=null,this.contextProvider=new iI(e,t,r,s),this.cancelAllRequests=new Promise(c=>{this.deleteService=()=>Promise.resolve(c())});try{const c=new URL(i);this.customDomain=c.origin+(c.pathname==="/"?"":c.pathname),this.region=Oa}catch{this.customDomain=null,this.region=i}}_delete(){return this.deleteService()}_url(e){const t=this.app.options.projectId;return this.emulatorOrigin!==null?`${this.emulatorOrigin}/${t}/${this.region}/${e}`:this.customDomain!==null?`${this.customDomain}/${e}`:`https://${this.region}-${t}.cloudfunctions.net/${e}`}}function uI(n,e,t){n.emulatorOrigin=`http://${e}:${t}`}function lI(n,e,t){const r=s=>dI(n,e,s,{});return r.stream=(s,i)=>pI(n,e,s,i),r}async function hI(n,e,t,r){t["Content-Type"]="application/json";let s;try{s=await r(n,{method:"POST",body:JSON.stringify(e),headers:t})}catch{return{status:0,json:null}}let i=null;try{i=await s.json()}catch{}return{status:s.status,json:i}}async function Qd(n,e){const t={},r=await n.contextProvider.getContext(e.limitedUseAppCheckTokens);return r.authToken&&(t.Authorization="Bearer "+r.authToken),r.messagingToken&&(t["Firebase-Instance-ID-Token"]=r.messagingToken),r.appCheckToken!==null&&(t["X-Firebase-AppCheck"]=r.appCheckToken),t}function dI(n,e,t,r){const s=n._url(e);return fI(n,s,t,r)}async function fI(n,e,t,r){t=pi(t);const s={data:t},i=await Qd(n,r),a=r.timeout||7e4,c=aI(a),l=await Promise.race([hI(e,s,i,n.fetchImpl),c.promise,n.cancelAllRequests]);if(c.cancel(),!l)throw new Me("cancelled","Firebase Functions instance was deleted.");const d=mi(l.status,l.json);if(d)throw d;if(!l.json)throw new Me("internal","Response is not valid JSON object.");let f=l.json.data;if(typeof f>"u"&&(f=l.json.result),typeof f>"u")throw new Me("internal","Response is missing data field.");return{data:zn(f)}}function pI(n,e,t,r){const s=n._url(e);return mI(n,s,t,r||{})}async function mI(n,e,t,r){var s;t=pi(t);const i={data:t},a=await Qd(n,r);a["Content-Type"]="application/json",a.Accept="text/event-stream";let c;try{c=await n.fetchImpl(e,{method:"POST",body:JSON.stringify(i),headers:a,signal:r==null?void 0:r.signal})}catch(R){if(R instanceof Error&&R.name==="AbortError"){const N=new Me("cancelled","Request was cancelled.");return{data:Promise.reject(N),stream:{[Symbol.asyncIterator](){return{next(){return Promise.reject(N)}}}}}}const S=mi(0,null);return{data:Promise.reject(S),stream:{[Symbol.asyncIterator](){return{next(){return Promise.reject(S)}}}}}}let l,d;const f=new Promise((R,S)=>{l=R,d=S});(s=r==null?void 0:r.signal)===null||s===void 0||s.addEventListener("abort",()=>{const R=new Me("cancelled","Request was cancelled.");d(R)});const m=c.body.getReader(),v=gI(m,l,d,r==null?void 0:r.signal);return{stream:{[Symbol.asyncIterator](){const R=v.getReader();return{async next(){const{value:S,done:N}=await R.read();return{value:S,done:N}},async return(){return await R.cancel(),{done:!0,value:void 0}}}}},data:f}}function gI(n,e,t,r){const s=(a,c)=>{const l=a.match(oI);if(!l)return;const d=l[1];try{const f=JSON.parse(d);if("result"in f){e(zn(f.result));return}if("message"in f){c.enqueue(zn(f.message));return}if("error"in f){const m=mi(0,f);c.error(m),t(m);return}}catch(f){if(f instanceof Me){c.error(f),t(f);return}}},i=new TextDecoder;return new ReadableStream({start(a){let c="";return l();async function l(){if(r!=null&&r.aborted){const d=new Me("cancelled","Request was cancelled");return a.error(d),t(d),Promise.resolve()}try{const{value:d,done:f}=await n.read();if(f){c.trim()&&s(c.trim(),a),a.close();return}if(r!=null&&r.aborted){const v=new Me("cancelled","Request was cancelled");a.error(v),t(v),await n.cancel();return}c+=i.decode(d,{stream:!0});const m=c.split(`
|
|
3742
|
+
`);c=m.pop()||"";for(const v of m)v.trim()&&s(v.trim(),a);return l()}catch(d){const f=d instanceof Me?d:mi(0,null);a.error(f),t(f)}}},cancel(){return n.cancel()}})}const Xd="@firebase/functions",Yd="0.12.3";/**
|
|
3662
3743
|
* @license
|
|
3663
3744
|
* Copyright 2019 Google LLC
|
|
3664
3745
|
*
|
|
@@ -3673,7 +3754,7 @@ Content-Type: `+d.contentType+`\r
|
|
|
3673
3754
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3674
3755
|
* See the License for the specific language governing permissions and
|
|
3675
3756
|
* limitations under the License.
|
|
3676
|
-
*/const
|
|
3757
|
+
*/const _I="auth-internal",yI="app-check-internal",vI="messaging-internal";function EI(n){const e=(t,{instanceIdentifier:r})=>{const s=t.getProvider("app").getImmediate(),i=t.getProvider(_I),a=t.getProvider(vI),c=t.getProvider(yI);return new cI(s,i,a,c,r)};bt(new ht(Da,e,"PUBLIC").setMultipleInstances(!0)),qe(Xd,Yd,n),qe(Xd,Yd,"esm2017")}/**
|
|
3677
3758
|
* @license
|
|
3678
3759
|
* Copyright 2020 Google LLC
|
|
3679
3760
|
*
|
|
@@ -3688,5 +3769,5 @@ Content-Type: `+d.contentType+`\r
|
|
|
3688
3769
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3689
3770
|
* See the License for the specific language governing permissions and
|
|
3690
3771
|
* limitations under the License.
|
|
3691
|
-
*/function
|
|
3772
|
+
*/function TI(n=ts(),e=Oa){const r=rr(X(n),Da).getImmediate({identifier:e}),s=Li("functions");return s&&Jd(r,...s),r}function Jd(n,e,t){uI(X(n),e,t)}function wI(n,e,t){return lI(X(n),e)}EI();const Ye=class Ye{static setFirebaseConfig(e){Ye._firebaseConfig=e}static useEmulator(e){this._emulatorConfig={...Ye.defaultEmulatorConfig,emulate:!0,...e}}static get emulator(){return this._emulatorConfig}constructor(){if(!Ye._firebaseConfig)throw new Error("You should set a firebase config object before using Firebase");this._firebaseApp=Ec(Ye._firebaseConfig)}static get instance(){return this._instance||(this._instance=new Ye)}firestore(){return Dy(this._firebaseApp)}storage(){return Zw(this._firebaseApp)}auth(){return xT(this._firebaseApp)}functions(){return TI(this._firebaseApp,Ye._region)}static setRegion(e){this._region=e}};Ye.defaultEmulatorConfig={host:"localhost",firestorePort:8080,storagePort:9199,authPort:9099,functionsPort:5001,emulate:!1},Ye._emulatorConfig=Ye.defaultEmulatorConfig;let q=Ye;class II extends sn{constructor(e){var t;if(super(),this._lastLimit=0,e&&q.useEmulator(e),(t=q.emulator)!=null&&t.emulate){const{host:r,firestorePort:s}=q.emulator;Ml(q.instance.firestore(),r,s)}}findById(e,t){const r=q.instance.firestore();return new Promise(async s=>{try{const i=await Zy(Bs(r,t,e));s(i.data())}catch(i){return console.log(i),null}})}save(e){const t=q.instance.firestore(),r=iv(t);return Object.entries(e).forEach(([s,i])=>{i==null||i.forEach(a=>{const c=Bs(t,s,a.id);r.set(c,a)})}),r.commit()}find(e,t){const r=this.queryObjectToQueryConstraints(e,t);return this.getFromQuery(r)}async count(e,t){const r=this.queryObjectToQueryConstraints(e,t);return(await nv(r)).data().count}delete(e,t){const r=q.instance.firestore();return tv(Bs(r,t,e))}next(e){if(!this._lastConstraints||!this._lastCollectionName)throw new Error("You should perform a query prior to using method next");const t=q.instance.firestore();this._lastLimit=e||this._lastLimit;const r=this._lastConstraints.nonFilterConstraints.concat(Xl(this._lastLimit),Gy(this._lastDocRetrieved));return this.getFromQuery(Kl(Ul(t,this._lastCollectionName),...r))}onCollectionChange(e,t,r){const s=this.queryObjectToQueryConstraints(e,t);return rh(s,i=>{i.docChanges().forEach(a=>{r({type:a.type==="added"?"create":a.type==="modified"?"update":"delete",after:a.doc.data(),before:void 0,params:{}})})})}onDocumentChange(e,t,r){const s=q.instance.firestore();return rh(Bs(s,e,t),i=>{r({type:"update",before:void 0,after:i.data(),params:{}})})}queryObjectToQueryConstraints(e,t){var c;const r=q.instance.firestore(),s=[],i=[],a=[];return sn.toPropertyPathOperations(e.operations).forEach(l=>{const d=this.toFirebaseOperator(l.operator);l.aggregate?i.push(Ql(l.property,d,l.value)):s.push(Ql(l.property,d,l.value))}),(c=e.sort)!=null&&c.propertyName&&a.push(Wy(e.sort.propertyName,e.sort.order)),this._lastConstraints={orConstraints:i,andConstraints:s,nonFilterConstraints:a},this._lastCollectionName=t,e.limit&&(this._lastLimit=e.limit,a.push(Xl(e.limit))),Kl(Ul(r,t),Hy(...i,zy(...s)),...a)}toFirebaseOperator(e){switch(e){case"==":case"!=":case"<":case"<=":case">":case">=":return e;case"contains":return"array-contains";case"containsAny":return"array-contains-any";default:return e}}getFromQuery(e){return new Promise(async t=>{const r=await ev(e);this._lastDocRetrieved=r.docs[r.docs.length-1],t(r.docs.map(s=>s.data()))})}}var AI=Object.getOwnPropertyDescriptor,RI=(n,e,t,r)=>{for(var s=r>1?void 0:r?AI(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(s=a(s)||s);return s};xe.FirebaseCloudStorage=class extends Mn{constructor(e){var t;if(super(),e&&q.useEmulator(e),(t=q.emulator)!=null&&t.emulate){const{host:r,storagePort:s}=q.emulator;Wd(q.instance.storage(),r,s)}}save(e,t,r){const s=q.instance.storage();return new Promise((i,a)=>{if(this._uploadTask=Xw(Na(s,e),t),r)var c=this._uploadTask.on("state_changed",l=>{r(l.bytesTransferred,l.totalBytes)},null,()=>c());this._uploadTask.then(()=>i(e)).catch(l=>a(l))})}getUrl(e){if(!e)return Promise.reject("needs a reference");const t=q.instance.storage();return Yw(Na(t,e))}uploadControl(){if(!this._uploadTask)throw new Error("You should call save() before uploadControl()");return{cancel:()=>{var e;return(e=this._uploadTask)==null?void 0:e.cancel()},pause:()=>{var e;return(e=this._uploadTask)==null?void 0:e.pause()},resume:()=>{var e;return(e=this._uploadTask)==null?void 0:e.resume()},onProgress:e=>{var t;return(t=this._uploadTask)==null?void 0:t.on("state_changed",r=>{e&&e(r.bytesTransferred,r.totalBytes)})}}}delete(e){const t=q.instance.storage();return Jw(Na(t,e))}},xe.FirebaseCloudStorage=RI([dh("FirebaseCloudStorage",()=>new xe.FirebaseCloudStorage)],xe.FirebaseCloudStorage);const Zd={twitter:()=>new Xe,facebook:()=>new at,google:()=>new ct};class Va extends fh{constructor(e){var t;if(super(),this.credentialProviders={},e&&q.useEmulator(e),(t=q.emulator)!=null&&t.emulate){const{host:r,authPort:s}=q.emulator;if(!r||!s)throw new Error("You should define a host and an auth emulator port to use the emulator");$h(q.instance.auth(),`http://${r}:${s}`)}this.registerCredentialProviders()}signUp(e){const{authProvider:t,verificationLink:r}=e;return t.slice(0,5)==="email"?new Promise(async(s,i)=>{try{const a=this.credentialProviders["email-sign-up"];if(!a)throw new Error(`The provider ${t} is not registered`);const c=await a(e);e.name&&await bE(c.user,{displayName:e.name}),r&&await ed(c.user,{url:r}),s(await this.toUserCredentials(c.user))}catch(a){i({code:Qs(a.code.slice(5)),message:a.message})}}):this.login(e)}login(e){const{authProvider:t}=e;return new Promise(async(r,s)=>{try{const i=this.credentialProviders[t];if(!i)throw new Error(`The provider ${t} is not registered`);const a=await i(e);r(await this.toUserCredentials(a.user))}catch(i){s({code:i.code===400?"missingPassword":Qs(i.code.slice(5)),message:i.message})}})}logout(){return q.instance.auth().signOut()}resetEmailPassword(e){return new Promise(async(t,r)=>{try{await IE(q.instance.auth(),e),t()}catch(s){r({code:Qs(s.code.slice(5)),message:s.message})}})}resendVerificationEmail(e,t,r){return new Promise(async(s,i)=>{try{await Zh(q.instance.auth(),e,t);const a=q.instance.auth().currentUser;if(!a){i({code:"userNotFound",message:"There is no logged in user"});return}await ed(a,{url:r}),s()}catch(a){i({code:Qs(a.code.slice(5)),message:r})}})}refreshToken(){var e;return(e=q.instance.auth().currentUser)==null?void 0:e.getIdToken(!0)}onAuthStateChange(e){q.instance.auth().onAuthStateChanged(async t=>{e(t?await this.toUserCredentials(t):void 0)})}linkAdditionalProvider(e){const t=Zd[e](),r=q.instance.auth().currentUser;if(!r)throw new Error("There is no logged in user");return dd(r,t)}unlinkProvider(e){const{currentUser:t}=q.instance.auth();if(!t)throw new Error("There is no logged in user");return t.providerData,_E(t,Zd[e]().providerId)}async toUserCredentials(e){if(!e)throw new Error("The user in user credentials is not defined");const t=(await e.getIdTokenResult()).claims;return Va.convertCredentials(e,t)}static convertCredentials(e,t){return{id:e.uid,email:e.email??"",name:e.displayName??void 0,pictureUrl:e.photoURL??void 0,phoneNumber:e.phoneNumber??void 0,emailVerified:e.emailVerified,customData:{...t},lastLogin:Date.now(),creationDate:e.metadata.creationTime?new Date(e.metadata.creationTime).getTime():void 0}}registerCredentialProvider(e,t){this.credentialProviders[e]=t}registerCredentialProviders(){this.registerCredentialProvider("email-sign-up",e=>{if(!e.email||!e.password)throw new Error("Email and password are required");return AE(q.instance.auth(),e.email,e.password)}),this.registerCredentialProvider("email",e=>{if(!e.email||!e.password)throw new Error("Email and password are required");return Zh(q.instance.auth(),e.email,e.password)}),this.registerCredentialProvider("google",()=>va(q.instance.auth(),new ct)),this.registerCredentialProvider("facebook",()=>va(q.instance.auth(),new at)),this.registerCredentialProvider("twitter",()=>va(q.instance.auth(),new Xe)),this.registerCredentialProvider("link-twitter",()=>{const e=q.instance.auth().currentUser;if(!e)throw new Error("There is no logged in user");return dd(e,new Xe)}),this.registerCredentialProvider("anonymous",()=>gE(q.instance.auth()))}}class bI{constructor(e,t){var r;if(e&&q.setRegion(e),t&&q.useEmulator(t),(r=q.emulator)!=null&&r.emulate){const{host:s,functionsPort:i}=q.emulator;Jd(q.instance.functions(),s,i)}}retrieveFunction(e){return wI(q.instance.functions(),e)}async callFunction(e,t){return(await e(t)).data}}xe.FirebaseAuth=Va,xe.FirebaseCloudFunctions=bI,xe.FirebaseDatasource=II,xe.FirebaseHelper=q,Object.defineProperty(xe,Symbol.toStringTag,{value:"Module"})});
|
|
3692
3773
|
//# sourceMappingURL=entropic-bond-firebase.umd.cjs.map
|