-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcomponent---src-pages-play-jsx-855d0735f3dcbf922cd5.js.map
1 lines (1 loc) · 340 KB
/
component---src-pages-play-jsx-855d0735f3dcbf922cd5.js.map
1
{"version":3,"file":"component---src-pages-play-jsx-855d0735f3dcbf922cd5.js","mappings":"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","sources":["webpack://kotomusubi/./node_modules/@firebase/util/dist/index.esm2017.js","webpack://kotomusubi/./node_modules/firebase/app/dist/esm/index.esm.js","webpack://kotomusubi/./src/pages/play.jsx","webpack://kotomusubi/./node_modules/idb/build/wrap-idb-value.js","webpack://kotomusubi/./node_modules/idb/build/index.js","webpack://kotomusubi/./node_modules/@firebase/app/dist/esm/index.esm2017.js","webpack://kotomusubi/./node_modules/@firebase/component/dist/esm/index.esm2017.js","webpack://kotomusubi/./node_modules/@firebase/logger/dist/esm/index.esm2017.js","webpack://kotomusubi/./node_modules/@firebase/webchannel-wrapper/dist/esm/index.esm2017.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\r\nconst CONSTANTS = {\r\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\r\n NODE_CLIENT: false,\r\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\r\n NODE_ADMIN: false,\r\n /**\r\n * Firebase SDK Version\r\n */\r\n SDK_VERSION: '${JSCORE_VERSION}'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\r\nconst assert = function (assertion, message) {\r\n if (!assertion) {\r\n throw assertionError(message);\r\n }\r\n};\r\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\r\nconst assertionError = function (message) {\r\n return new Error('Firebase Database (' +\r\n CONSTANTS.SDK_VERSION +\r\n ') INTERNAL ASSERT FAILED: ' +\r\n message);\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst stringToByteArray$1 = function (str) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if ((c & 0xfc00) === 0xd800 &&\r\n i + 1 < str.length &&\r\n (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\r\n // Surrogate Pair\r\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\r\nconst byteArrayToString = function (bytes) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let pos = 0, c = 0;\r\n while (pos < bytes.length) {\r\n const c1 = bytes[pos++];\r\n if (c1 < 128) {\r\n out[c++] = String.fromCharCode(c1);\r\n }\r\n else if (c1 > 191 && c1 < 224) {\r\n const c2 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r\n }\r\n else if (c1 > 239 && c1 < 365) {\r\n // Surrogate Pair\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n const c4 = bytes[pos++];\r\n const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\r\n 0x10000;\r\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\r\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\r\n }\r\n else {\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n }\r\n }\r\n return out.join('');\r\n};\r\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\r\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\r\n// Static lookup maps, lazily populated by init_()\r\nconst base64 = {\r\n /**\r\n * Maps bytes to characters.\r\n */\r\n byteToCharMap_: null,\r\n /**\r\n * Maps characters to bytes.\r\n */\r\n charToByteMap_: null,\r\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\r\n byteToCharMapWebSafe_: null,\r\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\r\n charToByteMapWebSafe_: null,\r\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\r\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\r\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\r\n get ENCODED_VALS() {\r\n return this.ENCODED_VALS_BASE + '+/=';\r\n },\r\n /**\r\n * Our websafe alphabet.\r\n */\r\n get ENCODED_VALS_WEBSAFE() {\r\n return this.ENCODED_VALS_BASE + '-_.';\r\n },\r\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\r\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\r\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeByteArray(input, webSafe) {\r\n if (!Array.isArray(input)) {\r\n throw Error('encodeByteArray takes an array as a parameter');\r\n }\r\n this.init_();\r\n const byteToCharMap = webSafe\r\n ? this.byteToCharMapWebSafe_\r\n : this.byteToCharMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length; i += 3) {\r\n const byte1 = input[i];\r\n const haveByte2 = i + 1 < input.length;\r\n const byte2 = haveByte2 ? input[i + 1] : 0;\r\n const haveByte3 = i + 2 < input.length;\r\n const byte3 = haveByte3 ? input[i + 2] : 0;\r\n const outByte1 = byte1 >> 2;\r\n const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\r\n let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\r\n let outByte4 = byte3 & 0x3f;\r\n if (!haveByte3) {\r\n outByte4 = 64;\r\n if (!haveByte2) {\r\n outByte3 = 64;\r\n }\r\n }\r\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\r\n }\r\n return output.join('');\r\n },\r\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return btoa(input);\r\n }\r\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\r\n decodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return atob(input);\r\n }\r\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\r\n decodeStringToByteArray(input, webSafe) {\r\n this.init_();\r\n const charToByteMap = webSafe\r\n ? this.charToByteMapWebSafe_\r\n : this.charToByteMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length;) {\r\n const byte1 = charToByteMap[input.charAt(i++)];\r\n const haveByte2 = i < input.length;\r\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\r\n ++i;\r\n const haveByte3 = i < input.length;\r\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n const haveByte4 = i < input.length;\r\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\r\n throw new DecodeBase64StringError();\r\n }\r\n const outByte1 = (byte1 << 2) | (byte2 >> 4);\r\n output.push(outByte1);\r\n if (byte3 !== 64) {\r\n const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\r\n output.push(outByte2);\r\n if (byte4 !== 64) {\r\n const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\r\n output.push(outByte3);\r\n }\r\n }\r\n }\r\n return output;\r\n },\r\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\r\n init_() {\r\n if (!this.byteToCharMap_) {\r\n this.byteToCharMap_ = {};\r\n this.charToByteMap_ = {};\r\n this.byteToCharMapWebSafe_ = {};\r\n this.charToByteMapWebSafe_ = {};\r\n // We want quick mappings back and forth, so we precompute two maps.\r\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\r\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\r\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\r\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\r\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\r\n // Be forgiving when decoding and correctly decode both encodings.\r\n if (i >= this.ENCODED_VALS_BASE.length) {\r\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\r\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n/**\r\n * An error encountered while decoding base64 string.\r\n */\r\nclass DecodeBase64StringError extends Error {\r\n constructor() {\r\n super(...arguments);\r\n this.name = 'DecodeBase64StringError';\r\n }\r\n}\r\n/**\r\n * URL-safe base64 encoding\r\n */\r\nconst base64Encode = function (str) {\r\n const utf8Bytes = stringToByteArray$1(str);\r\n return base64.encodeByteArray(utf8Bytes, true);\r\n};\r\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\r\nconst base64urlEncodeWithoutPadding = function (str) {\r\n // Use base64url encoding and remove padding in the end (dot characters).\r\n return base64Encode(str).replace(/\\./g, '');\r\n};\r\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\r\nconst base64Decode = function (str) {\r\n try {\r\n return base64.decodeString(str, true);\r\n }\r\n catch (e) {\r\n console.error('base64Decode failed: ', e);\r\n }\r\n return null;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\r\nfunction deepCopy(value) {\r\n return deepExtend(undefined, value);\r\n}\r\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\r\nfunction deepExtend(target, source) {\r\n if (!(source instanceof Object)) {\r\n return source;\r\n }\r\n switch (source.constructor) {\r\n case Date:\r\n // Treat Dates like scalars; if the target date object had any child\r\n // properties - they will be lost!\r\n const dateValue = source;\r\n return new Date(dateValue.getTime());\r\n case Object:\r\n if (target === undefined) {\r\n target = {};\r\n }\r\n break;\r\n case Array:\r\n // Always copy the array source and overwrite the target.\r\n target = [];\r\n break;\r\n default:\r\n // Not a plain Object - treat it as a scalar.\r\n return source;\r\n }\r\n for (const prop in source) {\r\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\r\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\r\n continue;\r\n }\r\n target[prop] = deepExtend(target[prop], source[prop]);\r\n }\r\n return target;\r\n}\r\nfunction isValidKey(key) {\r\n return key !== '__proto__';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\r\nfunction getGlobal() {\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n if (typeof global !== 'undefined') {\r\n return global;\r\n }\r\n throw new Error('Unable to locate global object.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\r\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\r\nconst getDefaultsFromEnvVariable = () => {\r\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\r\n return;\r\n }\r\n const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\r\n if (defaultsJsonString) {\r\n return JSON.parse(defaultsJsonString);\r\n }\r\n};\r\nconst getDefaultsFromCookie = () => {\r\n if (typeof document === 'undefined') {\r\n return;\r\n }\r\n let match;\r\n try {\r\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\r\n }\r\n catch (e) {\r\n // Some environments such as Angular Universal SSR have a\r\n // `document` object but error on accessing `document.cookie`.\r\n return;\r\n }\r\n const decoded = match && base64Decode(match[1]);\r\n return decoded && JSON.parse(decoded);\r\n};\r\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\r\nconst getDefaults = () => {\r\n try {\r\n return (getDefaultsFromGlobal() ||\r\n getDefaultsFromEnvVariable() ||\r\n getDefaultsFromCookie());\r\n }\r\n catch (e) {\r\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\r\n console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\r\n return;\r\n }\r\n};\r\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHost = (productName) => { var _a, _b; return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName]; };\r\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHostnameAndPort = (productName) => {\r\n const host = getDefaultEmulatorHost(productName);\r\n if (!host) {\r\n return undefined;\r\n }\r\n const separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\r\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\r\n throw new Error(`Invalid host ${host} with no separate hostname and port!`);\r\n }\r\n // eslint-disable-next-line no-restricted-globals\r\n const port = parseInt(host.substring(separatorIndex + 1), 10);\r\n if (host[0] === '[') {\r\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\r\n return [host.substring(1, separatorIndex - 1), port];\r\n }\r\n else {\r\n return [host.substring(0, separatorIndex), port];\r\n }\r\n};\r\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\r\nconst getDefaultAppConfig = () => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config; };\r\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\r\nconst getExperimentalSetting = (name) => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[`_${name}`]; };\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass Deferred {\r\n constructor() {\r\n this.reject = () => { };\r\n this.resolve = () => { };\r\n this.promise = new Promise((resolve, reject) => {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n }\r\n /**\r\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\r\n wrapCallback(callback) {\r\n return (error, value) => {\r\n if (error) {\r\n this.reject(error);\r\n }\r\n else {\r\n this.resolve(value);\r\n }\r\n if (typeof callback === 'function') {\r\n // Attaching noop handler just in case developer wasn't expecting\r\n // promises\r\n this.promise.catch(() => { });\r\n // Some of our callbacks don't expect a value and our own tests\r\n // assert that the parameter length is 1\r\n if (callback.length === 1) {\r\n callback(error);\r\n }\r\n else {\r\n callback(error, value);\r\n }\r\n }\r\n };\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction createMockUserToken(token, projectId) {\r\n if (token.uid) {\r\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\r\n }\r\n // Unsecured JWTs use \"none\" as the algorithm.\r\n const header = {\r\n alg: 'none',\r\n type: 'JWT'\r\n };\r\n const project = projectId || 'demo-project';\r\n const iat = token.iat || 0;\r\n const sub = token.sub || token.user_id;\r\n if (!sub) {\r\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\r\n }\r\n const payload = Object.assign({ \r\n // Set all required fields to decent defaults\r\n iss: `https://securetoken.google.com/${project}`, aud: project, iat, exp: iat + 3600, auth_time: iat, sub, user_id: sub, firebase: {\r\n sign_in_provider: 'custom',\r\n identities: {}\r\n } }, token);\r\n // Unsecured JWTs use the empty string as a signature.\r\n const signature = '';\r\n return [\r\n base64urlEncodeWithoutPadding(JSON.stringify(header)),\r\n base64urlEncodeWithoutPadding(JSON.stringify(payload)),\r\n signature\r\n ].join('.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\r\nfunction getUA() {\r\n if (typeof navigator !== 'undefined' &&\r\n typeof navigator['userAgent'] === 'string') {\r\n return navigator['userAgent'];\r\n }\r\n else {\r\n return '';\r\n }\r\n}\r\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\r\nfunction isMobileCordova() {\r\n return (typeof window !== 'undefined' &&\r\n // @ts-ignore Setting up an broadly applicable index signature for Window\r\n // just to deal with this case would probably be a bad idea.\r\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) &&\r\n /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA()));\r\n}\r\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\r\n// Node detection logic from: https://github.com/iliakan/detect-node/\r\nfunction isNode() {\r\n var _a;\r\n const forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\r\n if (forceEnvironment === 'node') {\r\n return true;\r\n }\r\n else if (forceEnvironment === 'browser') {\r\n return false;\r\n }\r\n try {\r\n return (Object.prototype.toString.call(global.process) === '[object process]');\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * Detect Browser Environment\r\n */\r\nfunction isBrowser() {\r\n return typeof self === 'object' && self.self === self;\r\n}\r\nfunction isBrowserExtension() {\r\n const runtime = typeof chrome === 'object'\r\n ? chrome.runtime\r\n : typeof browser === 'object'\r\n ? browser.runtime\r\n : undefined;\r\n return typeof runtime === 'object' && runtime.id !== undefined;\r\n}\r\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\r\nfunction isReactNative() {\r\n return (typeof navigator === 'object' && navigator['product'] === 'ReactNative');\r\n}\r\n/** Detects Electron apps. */\r\nfunction isElectron() {\r\n return getUA().indexOf('Electron/') >= 0;\r\n}\r\n/** Detects Internet Explorer. */\r\nfunction isIE() {\r\n const ua = getUA();\r\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\r\n}\r\n/** Detects Universal Windows Platform apps. */\r\nfunction isUWP() {\r\n return getUA().indexOf('MSAppHost/') >= 0;\r\n}\r\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\r\nfunction isNodeSdk() {\r\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\r\n}\r\n/** Returns true if we are running in Safari. */\r\nfunction isSafari() {\r\n return (!isNode() &&\r\n navigator.userAgent.includes('Safari') &&\r\n !navigator.userAgent.includes('Chrome'));\r\n}\r\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\r\nfunction isIndexedDBAvailable() {\r\n try {\r\n return typeof indexedDB === 'object';\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\r\nfunction validateIndexedDBOpenable() {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let preExist = true;\r\n const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\r\n const request = self.indexedDB.open(DB_CHECK_NAME);\r\n request.onsuccess = () => {\r\n request.result.close();\r\n // delete database only when it doesn't pre-exist\r\n if (!preExist) {\r\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\r\n }\r\n resolve(true);\r\n };\r\n request.onupgradeneeded = () => {\r\n preExist = false;\r\n };\r\n request.onerror = () => {\r\n var _a;\r\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\r\n };\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n}\r\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\r\nfunction areCookiesEnabled() {\r\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\r\n return false;\r\n }\r\n return true;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // Typescript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map<Err, string> = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory<Err>('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\r\nconst ERROR_NAME = 'FirebaseError';\r\n// Based on code from:\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\r\nclass FirebaseError extends Error {\r\n constructor(\r\n /** The error code for this error. */\r\n code, message, \r\n /** Custom data for this error. */\r\n customData) {\r\n super(message);\r\n this.code = code;\r\n this.customData = customData;\r\n /** The custom name for all FirebaseErrors. */\r\n this.name = ERROR_NAME;\r\n // Fix For ES5\r\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n Object.setPrototypeOf(this, FirebaseError.prototype);\r\n // Maintains proper stack trace for where our error was thrown.\r\n // Only available on V8.\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\r\n }\r\n }\r\n}\r\nclass ErrorFactory {\r\n constructor(service, serviceName, errors) {\r\n this.service = service;\r\n this.serviceName = serviceName;\r\n this.errors = errors;\r\n }\r\n create(code, ...data) {\r\n const customData = data[0] || {};\r\n const fullCode = `${this.service}/${code}`;\r\n const template = this.errors[code];\r\n const message = template ? replaceTemplate(template, customData) : 'Error';\r\n // Service Name: Error message (service/code).\r\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\r\n const error = new FirebaseError(fullCode, fullMessage, customData);\r\n return error;\r\n }\r\n}\r\nfunction replaceTemplate(template, data) {\r\n return template.replace(PATTERN, (_, key) => {\r\n const value = data[key];\r\n return value != null ? String(value) : `<${key}?>`;\r\n });\r\n}\r\nconst PATTERN = /\\{\\$([^}]+)}/g;\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\r\nfunction jsonEval(str) {\r\n return JSON.parse(str);\r\n}\r\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data Javascript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\r\nfunction stringify(data) {\r\n return JSON.stringify(data);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst decode = function (token) {\r\n let header = {}, claims = {}, data = {}, signature = '';\r\n try {\r\n const parts = token.split('.');\r\n header = jsonEval(base64Decode(parts[0]) || '');\r\n claims = jsonEval(base64Decode(parts[1]) || '');\r\n signature = parts[2];\r\n data = claims['d'] || {};\r\n delete claims['d'];\r\n }\r\n catch (e) { }\r\n return {\r\n header,\r\n claims,\r\n data,\r\n signature\r\n };\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidTimestamp = function (token) {\r\n const claims = decode(token).claims;\r\n const now = Math.floor(new Date().getTime() / 1000);\r\n let validSince = 0, validUntil = 0;\r\n if (typeof claims === 'object') {\r\n if (claims.hasOwnProperty('nbf')) {\r\n validSince = claims['nbf'];\r\n }\r\n else if (claims.hasOwnProperty('iat')) {\r\n validSince = claims['iat'];\r\n }\r\n if (claims.hasOwnProperty('exp')) {\r\n validUntil = claims['exp'];\r\n }\r\n else {\r\n // token will expire after 24h by default\r\n validUntil = validSince + 86400;\r\n }\r\n }\r\n return (!!now &&\r\n !!validSince &&\r\n !!validUntil &&\r\n now >= validSince &&\r\n now <= validUntil);\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst issuedAtTime = function (token) {\r\n const claims = decode(token).claims;\r\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\r\n return claims['iat'];\r\n }\r\n return null;\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidFormat = function (token) {\r\n const decoded = decode(token), claims = decoded.claims;\r\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\r\n};\r\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isAdmin = function (token) {\r\n const claims = decode(token).claims;\r\n return typeof claims === 'object' && claims['admin'] === true;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction contains(obj, key) {\r\n return Object.prototype.hasOwnProperty.call(obj, key);\r\n}\r\nfunction safeGet(obj, key) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return obj[key];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nfunction isEmpty(obj) {\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction map(obj, fn, contextObj) {\r\n const res = {};\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n res[key] = fn.call(contextObj, obj[key], key, obj);\r\n }\r\n }\r\n return res;\r\n}\r\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\r\nfunction deepEqual(a, b) {\r\n if (a === b) {\r\n return true;\r\n }\r\n const aKeys = Object.keys(a);\r\n const bKeys = Object.keys(b);\r\n for (const k of aKeys) {\r\n if (!bKeys.includes(k)) {\r\n return false;\r\n }\r\n const aProp = a[k];\r\n const bProp = b[k];\r\n if (isObject(aProp) && isObject(bProp)) {\r\n if (!deepEqual(aProp, bProp)) {\r\n return false;\r\n }\r\n }\r\n else if (aProp !== bProp) {\r\n return false;\r\n }\r\n }\r\n for (const k of bKeys) {\r\n if (!aKeys.includes(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction isObject(thing) {\r\n return thing !== null && typeof thing === 'object';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\r\nfunction promiseWithTimeout(promise, timeInMS = 2000) {\r\n const deferredPromise = new Deferred();\r\n setTimeout(() => deferredPromise.reject('timeout!'), timeInMS);\r\n promise.then(deferredPromise.resolve, deferredPromise.reject);\r\n return deferredPromise.promise;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\r\nfunction querystring(querystringParams) {\r\n const params = [];\r\n for (const [key, value] of Object.entries(querystringParams)) {\r\n if (Array.isArray(value)) {\r\n value.forEach(arrayVal => {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\r\n });\r\n }\r\n else {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\r\n }\r\n }\r\n return params.length ? '&' + params.join('&') : '';\r\n}\r\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\r\nfunction querystringDecode(querystring) {\r\n const obj = {};\r\n const tokens = querystring.replace(/^\\?/, '').split('&');\r\n tokens.forEach(token => {\r\n if (token) {\r\n const [key, value] = token.split('=');\r\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\r\n }\r\n });\r\n return obj;\r\n}\r\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\r\nfunction extractQuerystring(url) {\r\n const queryStart = url.indexOf('?');\r\n if (!queryStart) {\r\n return '';\r\n }\r\n const fragmentStart = url.indexOf('#', queryStart);\r\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\r\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\r\nclass Sha1 {\r\n constructor() {\r\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\r\n this.chain_ = [];\r\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\r\n this.buf_ = [];\r\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\r\n this.W_ = [];\r\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\r\n this.pad_ = [];\r\n /**\r\n * @private {number}\r\n */\r\n this.inbuf_ = 0;\r\n /**\r\n * @private {number}\r\n */\r\n this.total_ = 0;\r\n this.blockSize = 512 / 8;\r\n this.pad_[0] = 128;\r\n for (let i = 1; i < this.blockSize; ++i) {\r\n this.pad_[i] = 0;\r\n }\r\n this.reset();\r\n }\r\n reset() {\r\n this.chain_[0] = 0x67452301;\r\n this.chain_[1] = 0xefcdab89;\r\n this.chain_[2] = 0x98badcfe;\r\n this.chain_[3] = 0x10325476;\r\n this.chain_[4] = 0xc3d2e1f0;\r\n this.inbuf_ = 0;\r\n this.total_ = 0;\r\n }\r\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\r\n compress_(buf, offset) {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n const W = this.W_;\r\n // get 16 big endian words\r\n if (typeof buf === 'string') {\r\n for (let i = 0; i < 16; i++) {\r\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\r\n // have a bug that turns the post-increment ++ operator into pre-increment\r\n // during JIT compilation. We have code that depends heavily on SHA-1 for\r\n // correctness and which is affected by this bug, so I've removed all uses\r\n // of post-increment ++ in which the result value is used. We can revert\r\n // this change once the Safari bug\r\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\r\n // most clients have been updated.\r\n W[i] =\r\n (buf.charCodeAt(offset) << 24) |\r\n (buf.charCodeAt(offset + 1) << 16) |\r\n (buf.charCodeAt(offset + 2) << 8) |\r\n buf.charCodeAt(offset + 3);\r\n offset += 4;\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < 16; i++) {\r\n W[i] =\r\n (buf[offset] << 24) |\r\n (buf[offset + 1] << 16) |\r\n (buf[offset + 2] << 8) |\r\n buf[offset + 3];\r\n offset += 4;\r\n }\r\n }\r\n // expand to 80 words\r\n for (let i = 16; i < 80; i++) {\r\n const t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\r\n W[i] = ((t << 1) | (t >>> 31)) & 0xffffffff;\r\n }\r\n let a = this.chain_[0];\r\n let b = this.chain_[1];\r\n let c = this.chain_[2];\r\n let d = this.chain_[3];\r\n let e = this.chain_[4];\r\n let f, k;\r\n // TODO(user): Try to unroll this loop to speed up the computation.\r\n for (let i = 0; i < 80; i++) {\r\n if (i < 40) {\r\n if (i < 20) {\r\n f = d ^ (b & (c ^ d));\r\n k = 0x5a827999;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0x6ed9eba1;\r\n }\r\n }\r\n else {\r\n if (i < 60) {\r\n f = (b & c) | (d & (b | c));\r\n k = 0x8f1bbcdc;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0xca62c1d6;\r\n }\r\n }\r\n const t = (((a << 5) | (a >>> 27)) + f + e + k + W[i]) & 0xffffffff;\r\n e = d;\r\n d = c;\r\n c = ((b << 30) | (b >>> 2)) & 0xffffffff;\r\n b = a;\r\n a = t;\r\n }\r\n this.chain_[0] = (this.chain_[0] + a) & 0xffffffff;\r\n this.chain_[1] = (this.chain_[1] + b) & 0xffffffff;\r\n this.chain_[2] = (this.chain_[2] + c) & 0xffffffff;\r\n this.chain_[3] = (this.chain_[3] + d) & 0xffffffff;\r\n this.chain_[4] = (this.chain_[4] + e) & 0xffffffff;\r\n }\r\n update(bytes, length) {\r\n // TODO(johnlenz): tighten the function signature and remove this check\r\n if (bytes == null) {\r\n return;\r\n }\r\n if (length === undefined) {\r\n length = bytes.length;\r\n }\r\n const lengthMinusBlock = length - this.blockSize;\r\n let n = 0;\r\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\r\n const buf = this.buf_;\r\n let inbuf = this.inbuf_;\r\n // The outer while loop should execute at most twice.\r\n while (n < length) {\r\n // When we have no data in the block to top up, we can directly process the\r\n // input buffer (assuming it contains sufficient data). This gives ~25%\r\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\r\n // the data is provided in large chunks (or in multiples of 64 bytes).\r\n if (inbuf === 0) {\r\n while (n <= lengthMinusBlock) {\r\n this.compress_(bytes, n);\r\n n += this.blockSize;\r\n }\r\n }\r\n if (typeof bytes === 'string') {\r\n while (n < length) {\r\n buf[inbuf] = bytes.charCodeAt(n);\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n while (n < length) {\r\n buf[inbuf] = bytes[n];\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this.inbuf_ = inbuf;\r\n this.total_ += length;\r\n }\r\n /** @override */\r\n digest() {\r\n const digest = [];\r\n let totalBits = this.total_ * 8;\r\n // Add pad 0x80 0x00*.\r\n if (this.inbuf_ < 56) {\r\n this.update(this.pad_, 56 - this.inbuf_);\r\n }\r\n else {\r\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\r\n }\r\n // Add # bits.\r\n for (let i = this.blockSize - 1; i >= 56; i--) {\r\n this.buf_[i] = totalBits & 255;\r\n totalBits /= 256; // Don't use bit-shifting here!\r\n }\r\n this.compress_(this.buf_);\r\n let n = 0;\r\n for (let i = 0; i < 5; i++) {\r\n for (let j = 24; j >= 0; j -= 8) {\r\n digest[n] = (this.chain_[i] >> j) & 255;\r\n ++n;\r\n }\r\n }\r\n return digest;\r\n }\r\n}\n\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\nfunction createSubscribe(executor, onNoObservers) {\r\n const proxy = new ObserverProxy(executor, onNoObservers);\r\n return proxy.subscribe.bind(proxy);\r\n}\r\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\r\nclass ObserverProxy {\r\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\n constructor(executor, onNoObservers) {\r\n this.observers = [];\r\n this.unsubscribes = [];\r\n this.observerCount = 0;\r\n // Micro-task scheduling by calling task.then().\r\n this.task = Promise.resolve();\r\n this.finalized = false;\r\n this.onNoObservers = onNoObservers;\r\n // Call the executor asynchronously so subscribers that are called\r\n // synchronously after the creation of the subscribe function\r\n // can still receive the very first value generated in the executor.\r\n this.task\r\n .then(() => {\r\n executor(this);\r\n })\r\n .catch(e => {\r\n this.error(e);\r\n });\r\n }\r\n next(value) {\r\n this.forEachObserver((observer) => {\r\n observer.next(value);\r\n });\r\n }\r\n error(error) {\r\n this.forEachObserver((observer) => {\r\n observer.error(error);\r\n });\r\n this.close(error);\r\n }\r\n complete() {\r\n this.forEachObserver((observer) => {\r\n observer.complete();\r\n });\r\n this.close();\r\n }\r\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber sychronously to their\r\n * call to subscribe().\r\n */\r\n subscribe(nextOrObserver, error, complete) {\r\n let observer;\r\n if (nextOrObserver === undefined &&\r\n error === undefined &&\r\n complete === undefined) {\r\n throw new Error('Missing Observer.');\r\n }\r\n // Assemble an Observer object when passed as callback functions.\r\n if (implementsAnyMethods(nextOrObserver, [\r\n 'next',\r\n 'error',\r\n 'complete'\r\n ])) {\r\n observer = nextOrObserver;\r\n }\r\n else {\r\n observer = {\r\n next: nextOrObserver,\r\n error,\r\n complete\r\n };\r\n }\r\n if (observer.next === undefined) {\r\n observer.next = noop;\r\n }\r\n if (observer.error === undefined) {\r\n observer.error = noop;\r\n }\r\n if (observer.complete === undefined) {\r\n observer.complete = noop;\r\n }\r\n const unsub = this.unsubscribeOne.bind(this, this.observers.length);\r\n // Attempt to subscribe to a terminated Observable - we\r\n // just respond to the Observer with the final error or complete\r\n // event.\r\n if (this.finalized) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n try {\r\n if (this.finalError) {\r\n observer.error(this.finalError);\r\n }\r\n else {\r\n observer.complete();\r\n }\r\n }\r\n catch (e) {\r\n // nothing\r\n }\r\n return;\r\n });\r\n }\r\n this.observers.push(observer);\r\n return unsub;\r\n }\r\n // Unsubscribe is synchronous - we guarantee that no events are sent to\r\n // any unsubscribed Observer.\r\n unsubscribeOne(i) {\r\n if (this.observers === undefined || this.observers[i] === undefined) {\r\n return;\r\n }\r\n delete this.observers[i];\r\n this.observerCount -= 1;\r\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\r\n this.onNoObservers(this);\r\n }\r\n }\r\n forEachObserver(fn) {\r\n if (this.finalized) {\r\n // Already closed by previous event....just eat the additional values.\r\n return;\r\n }\r\n // Since sendOne calls asynchronously - there is no chance that\r\n // this.observers will become undefined.\r\n for (let i = 0; i < this.observers.length; i++) {\r\n this.sendOne(i, fn);\r\n }\r\n }\r\n // Call the Observer via one of it's callback function. We are careful to\r\n // confirm that the observe has not been unsubscribed since this asynchronous\r\n // function had been queued.\r\n sendOne(i, fn) {\r\n // Execute the callback asynchronously\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n if (this.observers !== undefined && this.observers[i] !== undefined) {\r\n try {\r\n fn(this.observers[i]);\r\n }\r\n catch (e) {\r\n // Ignore exceptions raised in Observers or missing methods of an\r\n // Observer.\r\n // Log error to console. b/31404806\r\n if (typeof console !== 'undefined' && console.error) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n close(err) {\r\n if (this.finalized) {\r\n return;\r\n }\r\n this.finalized = true;\r\n if (err !== undefined) {\r\n this.finalError = err;\r\n }\r\n // Proxy is no longer needed - garbage collect references\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n this.observers = undefined;\r\n this.onNoObservers = undefined;\r\n });\r\n }\r\n}\r\n/** Turn synchronous function into one called asynchronously. */\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction async(fn, onError) {\r\n return (...args) => {\r\n Promise.resolve(true)\r\n .then(() => {\r\n fn(...args);\r\n })\r\n .catch((error) => {\r\n if (onError) {\r\n onError(error);\r\n }\r\n });\r\n };\r\n}\r\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\r\nfunction implementsAnyMethods(obj, methods) {\r\n if (typeof obj !== 'object' || obj === null) {\r\n return false;\r\n }\r\n for (const method of methods) {\r\n if (method in obj && typeof obj[method] === 'function') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction noop() {\r\n // do nothing\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\r\nconst validateArgCount = function (fnName, minCount, maxCount, argCount) {\r\n let argError;\r\n if (argCount < minCount) {\r\n argError = 'at least ' + minCount;\r\n }\r\n else if (argCount > maxCount) {\r\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\r\n }\r\n if (argError) {\r\n const error = fnName +\r\n ' failed: Was called with ' +\r\n argCount +\r\n (argCount === 1 ? ' argument.' : ' arguments.') +\r\n ' Expects ' +\r\n argError +\r\n '.';\r\n throw new Error(error);\r\n }\r\n};\r\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\r\nfunction errorPrefix(fnName, argName) {\r\n return `${fnName} failed: ${argName} argument `;\r\n}\r\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\r\nfunction validateNamespace(fnName, namespace, optional) {\r\n if (optional && !namespace) {\r\n return;\r\n }\r\n if (typeof namespace !== 'string') {\r\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\r\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\r\n }\r\n}\r\nfunction validateCallback(fnName, argumentName, \r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\ncallback, optional) {\r\n if (optional && !callback) {\r\n return;\r\n }\r\n if (typeof callback !== 'function') {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\r\n }\r\n}\r\nfunction validateContextObject(fnName, argumentName, context, optional) {\r\n if (optional && !context) {\r\n return;\r\n }\r\n if (typeof context !== 'object' || context === null) {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\r\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\r\n// so it's been modified.\r\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\r\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\r\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\r\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\r\n// pair).\r\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\r\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\r\nconst stringToByteArray = function (str) {\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n // Is this the lead surrogate in a surrogate pair?\r\n if (c >= 0xd800 && c <= 0xdbff) {\r\n const high = c - 0xd800; // the high 10 bits.\r\n i++;\r\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\r\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\r\n c = 0x10000 + (high << 10) + low;\r\n }\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if (c < 65536) {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\r\nconst stringLength = function (str) {\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str.charCodeAt(i);\r\n if (c < 128) {\r\n p++;\r\n }\r\n else if (c < 2048) {\r\n p += 2;\r\n }\r\n else if (c >= 0xd800 && c <= 0xdbff) {\r\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\r\n p += 4;\r\n i++; // skip trail surrogate.\r\n }\r\n else {\r\n p += 3;\r\n }\r\n }\r\n return p;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\r\nconst uuidv4 = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\r\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\r\nconst DEFAULT_INTERVAL_MILLIS = 1000;\r\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\r\nconst DEFAULT_BACKOFF_FACTOR = 2;\r\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n * <p>Visible for testing\r\n */\r\nconst MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\r\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n * <p>Visible for testing\r\n */\r\nconst RANDOM_FACTOR = 0.5;\r\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\r\nfunction calculateBackoffMillis(backoffCount, intervalMillis = DEFAULT_INTERVAL_MILLIS, backoffFactor = DEFAULT_BACKOFF_FACTOR) {\r\n // Calculates an exponentially increasing value.\r\n // Deviation: calculates value from count and a constant interval, so we only need to save value\r\n // and count to restore state.\r\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\r\n // A random \"fuzz\" to avoid waves of retries.\r\n // Deviation: randomFactor is required.\r\n const randomWait = Math.round(\r\n // A fraction of the backoff value to add/subtract.\r\n // Deviation: changes multiplication order to improve readability.\r\n RANDOM_FACTOR *\r\n currBaseValue *\r\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\r\n // if we add or subtract.\r\n (Math.random() - 0.5) *\r\n 2);\r\n // Limits backoff to max to avoid effectively permanent backoff.\r\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provide English ordinal letters after a number\r\n */\r\nfunction ordinal(i) {\r\n if (!Number.isFinite(i)) {\r\n return `${i}`;\r\n }\r\n return i + indicator(i);\r\n}\r\nfunction indicator(i) {\r\n i = Math.abs(i);\r\n const cent = i % 100;\r\n if (cent >= 10 && cent <= 20) {\r\n return 'th';\r\n }\r\n const dec = i % 10;\r\n if (dec === 1) {\r\n return 'st';\r\n }\r\n if (dec === 2) {\r\n return 'nd';\r\n }\r\n if (dec === 3) {\r\n return 'rd';\r\n }\r\n return 'th';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction getModularInstance(service) {\r\n if (service && service._delegate) {\r\n return service._delegate;\r\n }\r\n else {\r\n return service;\r\n }\r\n}\n\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };\n//# sourceMappingURL=index.esm2017.js.map\n","import { registerVersion } from '@firebase/app';\nexport * from '@firebase/app';\n\nvar name = \"firebase\";\nvar version = \"10.7.1\";\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nregisterVersion(name, version, 'app');\n//# sourceMappingURL=index.esm.js.map\n","import * as React from 'react';\n\nimport { Seo } from '@/components/seo';\nimport { Layout } from '@/components/layout';\n\nimport { initializeApp } from 'firebase/app';\nimport { getFirestore, addDoc, getDocs, collection } from 'firebase/firestore';\n\nconst firebaseConfig = {\n apiKey: 'AIzaSyBakeOGclhSzZXdiS_9YKbWmXWcA0h5JiM',\n authDomain: 'kotomusubi-4dcd9.firebaseapp.com',\n projectId: 'kotomusubi-4dcd9',\n storageBucket: 'kotomusubi-4dcd9.appspot.com',\n messagingSenderId: '522547548892',\n appId: '1:522547548892:web:e990b1fccc6ab26e4d1a19',\n measurementId: 'G-DJKG0G4399'\n};\n\nconst IndexPage = () => {\n const [isPlaying, setIsPlaying] = React.useState(false); // ゲームプレイ中かどうかのフラグ\n const [time, setTime] = React.useState(70);\n const [question, setQuestion] = React.useState('大祓詞を覚えよう!');\n const [rankingData, setRankingData] = React.useState([]);\n\n React.useEffect(() => {\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = '/css/game.css';\n\n const script1 = document.createElement('script');\n script1.src =\n 'https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js';\n\n script1.onload = () => {\n onLoad();\n };\n\n document.head.appendChild(link);\n document.body.appendChild(script1);\n\n //\n\n const app = initializeApp(firebaseConfig);\n const db = getFirestore(app);\n\n const showRankingData = async () => {\n let data = [];\n\n const docs = await getDocs(collection(db, 'ranking'));\n\n docs.forEach((doc) => {\n const { name, score } = doc.data();\n data.push({ name, score });\n });\n\n data = data.sort((a, b) => (a.score < b.score ? 1 : -1)).slice(0, 10);\n\n setRankingData(data);\n };\n\n showRankingData();\n\n const onLoad = () => {\n const $ = window.$;\n\n //配列に問題文を格納する\n var questionTextList = [\n 'たかまがはらに',\n 'かむずまります',\n 'すめらがむつかむろぎ',\n 'かむろみのみこともちて',\n 'やほよろづのかみたちを',\n 'かむつどへにつどへたまひ',\n 'かむはかりにはかりたまひて',\n 'あがすめみまのみことは',\n 'とよあしはらのみづほのくにを',\n 'やすくにとたひらけくしろしめせと',\n 'ことよさしまつりき'\n ];\n\n var config = {\n fps: 60,\n gameWidth: 960, // ゲーム画面横幅(px)\n gameMsec: 70000, // ゲームの制限時間(ミリ秒)\n isComplete: false, // ゲームがコンプリート状態かどうかのフラグ\n currentQuestionIndex: 0, // 表示する問題文のインデックス\n cloudX: 0, // 雲のX軸位置(px)\n stoneX: 0, // 石のX軸位置(px)\n toriiX: 0 // 鳥居のX軸位置(px)\n };\n\n // 表示するゲームの残り時間(秒)\n var remainTimeSec = Math.floor(config.gameMsec / 1000);\n\n var remainTimeSecTimer; // ゲーム残り時間表示タイマー\n var animationTimer; // 背景アニメーションのタイマー\n\n var backgroundLeft = -130;\n var backgroundCloudWidth = 214;\n var backgroundStep = 3;\n\n // DOM要素 (jQuery)\n var $dogrunImg = $('.dogrun > img');\n var $btnToggle = $('.btn-toggle');\n var $backgroundCloud = $('.background-cloud');\n var $backgroundStone = $('.background-stone');\n var $backgroundTorii = $('.background-torii');\n var $answerForm = $('.answer-form');\n var $answerInput = $('.answer-input');\n var $btnReplay = $('.btn-replay');\n\n /**\n *\n * 関数定義\n *\n */\n\n function postRanking() {\n var name = $answerInput.val();\n\n if (!name) {\n alert('名前を入力してください。');\n return false;\n }\n\n var result = window.confirm(\n '『' + name + '』でランキング登録しますか?'\n );\n\n if (!result) return false;\n\n postRankingData(name, remainTimeSec);\n }\n\n /**\n * Toggle要素をクリックしたときの挙動\n */\n function toggle() {\n if (config.isComplete) {\n postRanking();\n } else if (!isPlaying) {\n // ゲームを開始する\n resetGame();\n startGame();\n } else {\n // ゲームを辞退する\n if (window.confirm('ゲームを辞退します。よろしいですか?')) {\n resetGame();\n }\n }\n }\n\n /**\n * カウントダウンをスタートする\n */\n function startCountdown() {\n remainTimeSecTimer = setInterval(function () {\n setTime(--remainTimeSec);\n if (remainTimeSec < 1) {\n clearInterval(remainTimeSecTimer);\n timeoverGame();\n }\n }, 1000);\n\n setTime(remainTimeSec);\n }\n\n function resetCountdown() {\n clearInterval(remainTimeSecTimer);\n remainTimeSec = Math.floor(config.gameMsec / 1000);\n setTime(remainTimeSec);\n }\n\n function moveAnimation() {\n // 問題正解するたびスピードアップさせる変化率\n var boost = config.currentQuestionIndex * 0.5;\n\n if (config.cloudX < config.gameWidth) {\n config.cloudX += backgroundStep - 2.5 + boost;\n $backgroundCloud.css('left', config.cloudX + 'px');\n } else {\n config.cloudX = backgroundCloudWidth * -1;\n }\n\n if (config.stoneX < config.gameWidth) {\n config.stoneX += backgroundStep + boost;\n $backgroundStone.css('left', config.stoneX + 'px');\n } else {\n config.stoneX = backgroundLeft; //移動したら、元の位置に戻る\n }\n\n // if (config.toriiX < config.gameWidth) {\n // \tconfig.toriiX += backgroundStep - 2 + boost;\n // \t$backgroundTorii.style.left = config.toriiX + 'px';\n // } else {\n // \tconfig.toriiX = backgroundLeft; //移動したら、元の位置に戻る\n // }\n\n animationTimer = setTimeout(moveAnimation, 1000 / config.fps);\n }\n\n /**\n * アニメーションを停止する\n */\n function stopAnimation() {\n clearTimeout(animationTimer);\n }\n\n /**\n * 問題欄に文章を表示する\n */\n function displayQuestion() {\n setQuestion(questionTextList[config.currentQuestionIndex]);\n }\n\n //同一の文章が入力されたとき、次の問題を表示する\n //答えを空欄にする\n //Focus()を実行する\n //送信を中止する\n //1周したら最初の問題を表示させる\n function sendAnswer(e) {\n e.preventDefault();\n\n if (config.isComplete) {\n postRanking();\n return;\n }\n\n var currentQuestion = questionTextList[config.currentQuestionIndex];\n\n if (currentQuestion === $answerInput.val()) {\n // 正解したとき\n config.currentQuestionIndex++;\n\n if (config.currentQuestionIndex >= questionTextList.length) {\n //すべてクリアできたとき\n completeGame();\n return false;\n }\n\n displayQuestion();\n $answerInput.focus();\n }\n\n $answerInput.val('');\n\n return false;\n }\n\n /**\n * ゲームをスタートする\n */\n function startGame() {\n setIsPlaying(true);\n $answerForm.removeClass('disable');\n $answerInput.val('').focus();\n displayQuestion();\n startCountdown();\n moveAnimation();\n // 犬が走る\n $dogrunImg[0].src = '/images/dogrun.gif';\n $btnToggle.addClass('btn-toggle-retire').text('辞退');\n }\n\n /**\n * ゲームをコンプリート\n */\n function completeGame() {\n setIsPlaying(false);\n config.isComplete = true;\n $answerInput.val('');\n clearInterval(remainTimeSecTimer);\n stopAnimation();\n $dogrunImg[0].src = '/images/goal.gif';\n $btnToggle.removeClass('btn-toggle-retire').text('ランキング登録');\n }\n\n /**\n * ゲーム画面をタイムオーバー状態にする\n */\n function timeoverGame() {\n setIsPlaying(false);\n $answerForm.addClass('disable');\n $answerInput.val('').blur();\n stopAnimation();\n $dogrunImg[0].src = '/images/gameover.gif';\n $btnToggle.removeClass('btn-toggle-retire').text('開始');\n }\n\n /**\n * ゲーム画面をリセットする\n */\n function resetGame() {\n setIsPlaying(false);\n config.isComplete = false;\n $answerForm.addClass('disable');\n $answerInput.val('').blur();\n config.currentQuestionIndex = 0; // 問題文を最初からにする\n displayQuestion();\n resetCountdown();\n stopAnimation();\n $dogrunImg[0].src = '/images/taiki.png';\n $btnToggle.removeClass('btn-toggle-retire').text('開始');\n }\n\n /**\n *\n * メイン処理\n *\n */\n\n async function postRankingData(name, score) {\n await addDoc(collection(db, 'ranking'), {\n name: name,\n score: score\n });\n\n $answerInput.val('');\n showRankingData();\n\n $('html, body').animate({\n scrollTop: $('.ranking-title').position().top\n });\n }\n\n $btnToggle.click(toggle);\n $answerForm.submit(sendAnswer);\n\n // 『もう一度挑戦する』ボタンを押すと最上部までスクロールする\n $btnReplay.click(function () {\n resetGame();\n\n $('html, body').animate({\n scrollTop: 0\n });\n });\n\n $(document).keydown(function (e) {\n // スペースキーでゲームスタート/辞退対応\n if (e.keyCode === 32) {\n if (config.isComplete) return false;\n toggle();\n return false;\n }\n });\n };\n\n return () => {\n document.head.removeChild(link);\n document.body.removeChild(script1);\n };\n }, []);\n\n return (\n <Layout>\n <div className='wrapper'>\n <div className='container'>\n <div\n style={{\n position: 'absolute',\n top: 20,\n left: 20,\n color: '#333',\n width: 50,\n height: 50,\n lineHeight: '50px',\n textAlign: 'center',\n fontSize: 30\n }}\n >\n {time}\n </div>\n\n <div\n style={{\n position: 'relative',\n textAlign: 'center',\n height: 80,\n lineHeight: '80px',\n fontSize: 40,\n userSelect: 'none'\n }}\n >\n {question}\n </div>\n\n <div className='game-container'>\n <div className='background background-sun'></div>\n <div className='background background-fuji'></div>\n <div className='background background-cloud'></div>\n <div className='background background-stone'></div>\n <div className='background background-torii'></div>\n\n <div className='dogrun'>\n <img src='/images/taiki.png' />\n </div>\n\n <div className='runway'></div>\n </div>\n\n <form\n /*\n action='javascript:void(0);'\n name='myform'\n */\n className='answer-form disable'\n >\n <input\n type='text'\n size='20'\n name='answer'\n className='answer-input'\n autoComplete='off'\n />\n <input type='submit' value='確定' className='btn-enter' />\n </form>\n\n <button type='button' className='btn-toggle' onClick={() => {}}>\n <p>\n 開始\n <br />\n <small>(スペースキー)</small>\n </p>\n </button>\n </div>\n\n <div className='text-container'>\n <div className='ranking-title'>\n <h1>らんきんぐ</h1>\n </div>\n <div className='rankingNumberOfParticipants'>\n <h2>\n 〜こと結び参加者数\n <span className='total-num'>{rankingData.length}</span>人中〜\n </h2>\n </div>\n\n <table className='ranking-table'>\n <tbody>\n {rankingData.map(({ name, score }, i) => {\n return (\n <tr\n key={i}\n className={`ranking-${\n [0, 1, 2].includes(i) ? 'top' : ''\n }Player`}\n >\n <td\n className={\n i === 0\n ? 'rank--first'\n : i === 1\n ? 'rank--second'\n : i === 2\n ? 'rank--third'\n : ''\n }\n >\n {i + 1}位\n </td>\n <td>{name}</td>\n <td>{score}秒</td>\n </tr>\n );\n })}\n </tbody>\n </table>\n\n <div className='ranking-red-line'></div>\n {/* タイムオーバー */}\n {/*\n <table className=\"ranking-table-timeover\">\n <tr className=\"ranking-Player\">\n <td className=\"timeover\">タイムオーバー</td>\n <td><span className=\"timeover-member\">0</span>人</td>\n </tr>\n </table>\n */}\n {/* もう一度ボタン */}\n <button type='button' className='btn-replay'>\n もう一度挑戦する\n </button>\n </div>\n\n <footer className='footer'>\n <p>\n <small>© 2020 K Shindo</small>\n </p>\n </footer>\n </div>\n </Layout>\n );\n};\n\nexport default IndexPage;\n\nexport const Head = () => {\n return <Seo />;\n};\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n","import { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass PlatformLoggerServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n }\r\n // In initial implementation, this will be called by installations on\r\n // auth token refresh, and installations will send this string.\r\n getPlatformInfoString() {\r\n const providers = this.container.getProviders();\r\n // Loop through providers and get library/version pairs from any that are\r\n // version components.\r\n return providers\r\n .map(provider => {\r\n if (isVersionServiceProvider(provider)) {\r\n const service = provider.getImmediate();\r\n return `${service.library}/${service.version}`;\r\n }\r\n else {\r\n return null;\r\n }\r\n })\r\n .filter(logString => logString)\r\n .join(' ');\r\n }\r\n}\r\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\r\nfunction isVersionServiceProvider(provider) {\r\n const component = provider.getComponent();\r\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\r\n}\n\nconst name$o = \"@firebase/app\";\nconst version$1 = \"0.9.25\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst logger = new Logger('@firebase/app');\n\nconst name$n = \"@firebase/app-compat\";\n\nconst name$m = \"@firebase/analytics-compat\";\n\nconst name$l = \"@firebase/analytics\";\n\nconst name$k = \"@firebase/app-check-compat\";\n\nconst name$j = \"@firebase/app-check\";\n\nconst name$i = \"@firebase/auth\";\n\nconst name$h = \"@firebase/auth-compat\";\n\nconst name$g = \"@firebase/database\";\n\nconst name$f = \"@firebase/database-compat\";\n\nconst name$e = \"@firebase/functions\";\n\nconst name$d = \"@firebase/functions-compat\";\n\nconst name$c = \"@firebase/installations\";\n\nconst name$b = \"@firebase/installations-compat\";\n\nconst name$a = \"@firebase/messaging\";\n\nconst name$9 = \"@firebase/messaging-compat\";\n\nconst name$8 = \"@firebase/performance\";\n\nconst name$7 = \"@firebase/performance-compat\";\n\nconst name$6 = \"@firebase/remote-config\";\n\nconst name$5 = \"@firebase/remote-config-compat\";\n\nconst name$4 = \"@firebase/storage\";\n\nconst name$3 = \"@firebase/storage-compat\";\n\nconst name$2 = \"@firebase/firestore\";\n\nconst name$1 = \"@firebase/firestore-compat\";\n\nconst name = \"firebase\";\nconst version = \"10.7.1\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\r\nconst PLATFORM_LOG_STRING = {\r\n [name$o]: 'fire-core',\r\n [name$n]: 'fire-core-compat',\r\n [name$l]: 'fire-analytics',\r\n [name$m]: 'fire-analytics-compat',\r\n [name$j]: 'fire-app-check',\r\n [name$k]: 'fire-app-check-compat',\r\n [name$i]: 'fire-auth',\r\n [name$h]: 'fire-auth-compat',\r\n [name$g]: 'fire-rtdb',\r\n [name$f]: 'fire-rtdb-compat',\r\n [name$e]: 'fire-fn',\r\n [name$d]: 'fire-fn-compat',\r\n [name$c]: 'fire-iid',\r\n [name$b]: 'fire-iid-compat',\r\n [name$a]: 'fire-fcm',\r\n [name$9]: 'fire-fcm-compat',\r\n [name$8]: 'fire-perf',\r\n [name$7]: 'fire-perf-compat',\r\n [name$6]: 'fire-rc',\r\n [name$5]: 'fire-rc-compat',\r\n [name$4]: 'fire-gcs',\r\n [name$3]: 'fire-gcs-compat',\r\n [name$2]: 'fire-fst',\r\n [name$1]: 'fire-fst-compat',\r\n 'fire-js': 'fire-js',\r\n [name]: 'fire-js-all'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @internal\r\n */\r\nconst _apps = new Map();\r\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst _components = new Map();\r\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\r\nfunction _addComponent(app, component) {\r\n try {\r\n app.container.addComponent(component);\r\n }\r\n catch (e) {\r\n logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\r\n }\r\n}\r\n/**\r\n *\r\n * @internal\r\n */\r\nfunction _addOrOverwriteComponent(app, component) {\r\n app.container.addOrOverwriteComponent(component);\r\n}\r\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\r\nfunction _registerComponent(component) {\r\n const componentName = component.name;\r\n if (_components.has(componentName)) {\r\n logger.debug(`There were multiple attempts to register component ${componentName}.`);\r\n return false;\r\n }\r\n _components.set(componentName, component);\r\n // add the component to existing app instances\r\n for (const app of _apps.values()) {\r\n _addComponent(app, component);\r\n }\r\n return true;\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\r\nfunction _getProvider(app, name) {\r\n const heartbeatController = app.container\r\n .getProvider('heartbeat')\r\n .getImmediate({ optional: true });\r\n if (heartbeatController) {\r\n void heartbeatController.triggerHeartbeat();\r\n }\r\n return app.container.getProvider(name);\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\r\nfunction _removeServiceInstance(app, name, instanceIdentifier = DEFAULT_ENTRY_NAME) {\r\n _getProvider(app, name).clearInstance(instanceIdentifier);\r\n}\r\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\r\nfunction _clearComponents() {\r\n _components.clear();\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst ERRORS = {\r\n [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" +\r\n 'call initializeApp() first',\r\n [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}\",\r\n [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\r\n [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\r\n [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\r\n [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +\r\n 'Firebase App instance.',\r\n [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\r\n [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.'\r\n};\r\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseAppImpl {\r\n constructor(options, config, container) {\r\n this._isDeleted = false;\r\n this._options = Object.assign({}, options);\r\n this._config = Object.assign({}, config);\r\n this._name = config.name;\r\n this._automaticDataCollectionEnabled =\r\n config.automaticDataCollectionEnabled;\r\n this._container = container;\r\n this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\r\n }\r\n get automaticDataCollectionEnabled() {\r\n this.checkDestroyed();\r\n return this._automaticDataCollectionEnabled;\r\n }\r\n set automaticDataCollectionEnabled(val) {\r\n this.checkDestroyed();\r\n this._automaticDataCollectionEnabled = val;\r\n }\r\n get name() {\r\n this.checkDestroyed();\r\n return this._name;\r\n }\r\n get options() {\r\n this.checkDestroyed();\r\n return this._options;\r\n }\r\n get config() {\r\n this.checkDestroyed();\r\n return this._config;\r\n }\r\n get container() {\r\n return this._container;\r\n }\r\n get isDeleted() {\r\n return this._isDeleted;\r\n }\r\n set isDeleted(val) {\r\n this._isDeleted = val;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, { appName: this._name });\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\r\nconst SDK_VERSION = version;\r\nfunction initializeApp(_options, rawConfig = {}) {\r\n let options = _options;\r\n if (typeof rawConfig !== 'object') {\r\n const name = rawConfig;\r\n rawConfig = { name };\r\n }\r\n const config = Object.assign({ name: DEFAULT_ENTRY_NAME, automaticDataCollectionEnabled: false }, rawConfig);\r\n const name = config.name;\r\n if (typeof name !== 'string' || !name) {\r\n throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\r\n appName: String(name)\r\n });\r\n }\r\n options || (options = getDefaultAppConfig());\r\n if (!options) {\r\n throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\r\n }\r\n const existingApp = _apps.get(name);\r\n if (existingApp) {\r\n // return the existing app if options and config deep equal the ones in the existing app.\r\n if (deepEqual(options, existingApp.options) &&\r\n deepEqual(config, existingApp.config)) {\r\n return existingApp;\r\n }\r\n else {\r\n throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, { appName: name });\r\n }\r\n }\r\n const container = new ComponentContainer(name);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseAppImpl(options, config, container);\r\n _apps.set(name, newApp);\r\n return newApp;\r\n}\r\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\r\nfunction getApp(name = DEFAULT_ENTRY_NAME) {\r\n const app = _apps.get(name);\r\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\r\n return initializeApp();\r\n }\r\n if (!app) {\r\n throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, { appName: name });\r\n }\r\n return app;\r\n}\r\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\r\nfunction getApps() {\r\n return Array.from(_apps.values());\r\n}\r\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\r\nasync function deleteApp(app) {\r\n const name = app.name;\r\n if (_apps.has(name)) {\r\n _apps.delete(name);\r\n await Promise.all(app.container\r\n .getProviders()\r\n .map(provider => provider.delete()));\r\n app.isDeleted = true;\r\n }\r\n}\r\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\r\nfunction registerVersion(libraryKeyOrName, version, variant) {\r\n var _a;\r\n // TODO: We can use this check to whitelist strings when/if we set up\r\n // a good whitelist system.\r\n let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\r\n if (variant) {\r\n library += `-${variant}`;\r\n }\r\n const libraryMismatch = library.match(/\\s|\\//);\r\n const versionMismatch = version.match(/\\s|\\//);\r\n if (libraryMismatch || versionMismatch) {\r\n const warning = [\r\n `Unable to register library \"${library}\" with version \"${version}\":`\r\n ];\r\n if (libraryMismatch) {\r\n warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n if (libraryMismatch && versionMismatch) {\r\n warning.push('and');\r\n }\r\n if (versionMismatch) {\r\n warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n logger.warn(warning.join(' '));\r\n return;\r\n }\r\n _registerComponent(new Component(`${library}-version`, () => ({ library, version }), \"VERSION\" /* ComponentType.VERSION */));\r\n}\r\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\r\nfunction onLog(logCallback, options) {\r\n if (logCallback !== null && typeof logCallback !== 'function') {\r\n throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\r\n }\r\n setUserLogHandler(logCallback, options);\r\n}\r\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\r\nfunction setLogLevel(logLevel) {\r\n setLogLevel$1(logLevel);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DB_NAME = 'firebase-heartbeat-database';\r\nconst DB_VERSION = 1;\r\nconst STORE_NAME = 'firebase-heartbeat-store';\r\nlet dbPromise = null;\r\nfunction getDbPromise() {\r\n if (!dbPromise) {\r\n dbPromise = openDB(DB_NAME, DB_VERSION, {\r\n upgrade: (db, oldVersion) => {\r\n // We don't use 'break' in this switch statement, the fall-through\r\n // behavior is what we want, because if there are multiple versions between\r\n // the old version and the current version, we want ALL the migrations\r\n // that correspond to those versions to run, not only the last one.\r\n // eslint-disable-next-line default-case\r\n switch (oldVersion) {\r\n case 0:\r\n db.createObjectStore(STORE_NAME);\r\n }\r\n }\r\n }).catch(e => {\r\n throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\r\n originalErrorMessage: e.message\r\n });\r\n });\r\n }\r\n return dbPromise;\r\n}\r\nasync function readHeartbeatsFromIndexedDB(app) {\r\n try {\r\n const db = await getDbPromise();\r\n const result = await db\r\n .transaction(STORE_NAME)\r\n .objectStore(STORE_NAME)\r\n .get(computeKey(app));\r\n return result;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME, 'readwrite');\r\n const objectStore = tx.objectStore(STORE_NAME);\r\n await objectStore.put(heartbeatObject, computeKey(app));\r\n await tx.done;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nfunction computeKey(app) {\r\n return `${app.name}!${app.options.appId}`;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst MAX_HEADER_BYTES = 1024;\r\n// 30 days\r\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\r\nclass HeartbeatServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\r\n this._heartbeatsCache = null;\r\n const app = this.container.getProvider('app').getImmediate();\r\n this._storage = new HeartbeatStorageImpl(app);\r\n this._heartbeatsCachePromise = this._storage.read().then(result => {\r\n this._heartbeatsCache = result;\r\n return result;\r\n });\r\n }\r\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\r\n async triggerHeartbeat() {\r\n var _a, _b;\r\n const platformLogger = this.container\r\n .getProvider('platform-logger')\r\n .getImmediate();\r\n // This is the \"Firebase user agent\" string from the platform logger\r\n // service, not the browser user agent.\r\n const agent = platformLogger.getPlatformInfoString();\r\n const date = getUTCDateString();\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null) {\r\n this._heartbeatsCache = await this._heartbeatsCachePromise;\r\n // If we failed to construct a heartbeats cache, then return immediately.\r\n if (((_b = this._heartbeatsCache) === null || _b === void 0 ? void 0 : _b.heartbeats) == null) {\r\n return;\r\n }\r\n }\r\n // Do not store a heartbeat if one is already stored for this day\r\n // or if a header has already been sent today.\r\n if (this._heartbeatsCache.lastSentHeartbeatDate === date ||\r\n this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\r\n return;\r\n }\r\n else {\r\n // There is no entry for this date. Create one.\r\n this._heartbeatsCache.heartbeats.push({ date, agent });\r\n }\r\n // Remove entries older than 30 days.\r\n this._heartbeatsCache.heartbeats = this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\r\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\r\n const now = Date.now();\r\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\r\n });\r\n return this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\r\n async getHeartbeatsHeader() {\r\n var _a;\r\n if (this._heartbeatsCache === null) {\r\n await this._heartbeatsCachePromise;\r\n }\r\n // If it's still null or the array is empty, there is no data to send.\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null ||\r\n this._heartbeatsCache.heartbeats.length === 0) {\r\n return '';\r\n }\r\n const date = getUTCDateString();\r\n // Extract as many heartbeats from the cache as will fit under the size limit.\r\n const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\r\n const headerString = base64urlEncodeWithoutPadding(JSON.stringify({ version: 2, heartbeats: heartbeatsToSend }));\r\n // Store last sent date to prevent another being logged/sent for the same day.\r\n this._heartbeatsCache.lastSentHeartbeatDate = date;\r\n if (unsentEntries.length > 0) {\r\n // Store any unsent entries if they exist.\r\n this._heartbeatsCache.heartbeats = unsentEntries;\r\n // This seems more likely than emptying the array (below) to lead to some odd state\r\n // since the cache isn't empty and this will be called again on the next request,\r\n // and is probably safest if we await it.\r\n await this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n else {\r\n this._heartbeatsCache.heartbeats = [];\r\n // Do not wait for this, to reduce latency.\r\n void this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n return headerString;\r\n }\r\n}\r\nfunction getUTCDateString() {\r\n const today = new Date();\r\n // Returns date format 'YYYY-MM-DD'\r\n return today.toISOString().substring(0, 10);\r\n}\r\nfunction extractHeartbeatsForHeader(heartbeatsCache, maxSize = MAX_HEADER_BYTES) {\r\n // Heartbeats grouped by user agent in the standard format to be sent in\r\n // the header.\r\n const heartbeatsToSend = [];\r\n // Single date format heartbeats that are not sent.\r\n let unsentEntries = heartbeatsCache.slice();\r\n for (const singleDateHeartbeat of heartbeatsCache) {\r\n // Look for an existing entry with the same user agent.\r\n const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\r\n if (!heartbeatEntry) {\r\n // If no entry for this user agent exists, create one.\r\n heartbeatsToSend.push({\r\n agent: singleDateHeartbeat.agent,\r\n dates: [singleDateHeartbeat.date]\r\n });\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n // If the header would exceed max size, remove the added heartbeat\r\n // entry and stop adding to the header.\r\n heartbeatsToSend.pop();\r\n break;\r\n }\r\n }\r\n else {\r\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\r\n // If the header would exceed max size, remove the added date\r\n // and stop adding to the header.\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n heartbeatEntry.dates.pop();\r\n break;\r\n }\r\n }\r\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\r\n // quota and the loop breaks early.)\r\n unsentEntries = unsentEntries.slice(1);\r\n }\r\n return {\r\n heartbeatsToSend,\r\n unsentEntries\r\n };\r\n}\r\nclass HeartbeatStorageImpl {\r\n constructor(app) {\r\n this.app = app;\r\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\r\n }\r\n async runIndexedDBEnvironmentCheck() {\r\n if (!isIndexedDBAvailable()) {\r\n return false;\r\n }\r\n else {\r\n return validateIndexedDBOpenable()\r\n .then(() => true)\r\n .catch(() => false);\r\n }\r\n }\r\n /**\r\n * Read all heartbeats.\r\n */\r\n async read() {\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return { heartbeats: [] };\r\n }\r\n else {\r\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\r\n if (idbHeartbeatObject === null || idbHeartbeatObject === void 0 ? void 0 : idbHeartbeatObject.heartbeats) {\r\n return idbHeartbeatObject;\r\n }\r\n else {\r\n return { heartbeats: [] };\r\n }\r\n }\r\n }\r\n // overwrite the storage with the provided heartbeats\r\n async overwrite(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: heartbeatsObject.heartbeats\r\n });\r\n }\r\n }\r\n // add heartbeats\r\n async add(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: [\r\n ...existingHeartbeatsObject.heartbeats,\r\n ...heartbeatsObject.heartbeats\r\n ]\r\n });\r\n }\r\n }\r\n}\r\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\r\nfunction countBytes(heartbeatsCache) {\r\n // base64 has a restricted set of characters, all of which should be 1 byte.\r\n return base64urlEncodeWithoutPadding(\r\n // heartbeatsCache wrapper properties\r\n JSON.stringify({ version: 2, heartbeats: heartbeatsCache })).length;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction registerCoreComponents(variant) {\r\n _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n // Register `app` package.\r\n registerVersion(name$o, version$1, variant);\r\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\r\n registerVersion(name$o, version$1, 'esm2017');\r\n // Register platform SDK identifier (no version).\r\n registerVersion('fire-js', '');\r\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\r\nregisterCoreComponents('');\n\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _registerComponent, _removeServiceInstance, deleteApp, getApp, getApps, initializeApp, onLog, registerVersion, setLogLevel };\n//# sourceMappingURL=index.esm2017.js.map\n","import { Deferred } from '@firebase/util';\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass Component {\r\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\r\n constructor(name, instanceFactory, type) {\r\n this.name = name;\r\n this.instanceFactory = instanceFactory;\r\n this.type = type;\r\n this.multipleInstances = false;\r\n /**\r\n * Properties to be added to the service namespace\r\n */\r\n this.serviceProps = {};\r\n this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\r\n this.onInstanceCreated = null;\r\n }\r\n setInstantiationMode(mode) {\r\n this.instantiationMode = mode;\r\n return this;\r\n }\r\n setMultipleInstances(multipleInstances) {\r\n this.multipleInstances = multipleInstances;\r\n return this;\r\n }\r\n setServiceProps(props) {\r\n this.serviceProps = props;\r\n return this;\r\n }\r\n setInstanceCreatedCallback(callback) {\r\n this.onInstanceCreated = callback;\r\n return this;\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\r\nclass Provider {\r\n constructor(name, container) {\r\n this.name = name;\r\n this.container = container;\r\n this.component = null;\r\n this.instances = new Map();\r\n this.instancesDeferred = new Map();\r\n this.instancesOptions = new Map();\r\n this.onInitCallbacks = new Map();\r\n }\r\n /**\r\n * @param identifier A provider can provide mulitple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\r\n get(identifier) {\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\r\n const deferred = new Deferred();\r\n this.instancesDeferred.set(normalizedIdentifier, deferred);\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n // initialize the service if it can be auto-initialized\r\n try {\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n if (instance) {\r\n deferred.resolve(instance);\r\n }\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception during get(), it should not cause\r\n // a fatal error. We just return the unresolved promise in this case.\r\n }\r\n }\r\n }\r\n return this.instancesDeferred.get(normalizedIdentifier).promise;\r\n }\r\n getImmediate(options) {\r\n var _a;\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\r\n const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n try {\r\n return this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n }\r\n catch (e) {\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n else {\r\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw Error(`Service ${this.name} is not available`);\r\n }\r\n }\r\n }\r\n getComponent() {\r\n return this.component;\r\n }\r\n setComponent(component) {\r\n if (component.name !== this.name) {\r\n throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\r\n }\r\n if (this.component) {\r\n throw Error(`Component for ${this.name} has already been provided`);\r\n }\r\n this.component = component;\r\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\r\n if (!this.shouldAutoInitialize()) {\r\n return;\r\n }\r\n // if the service is eager, initialize the default instance\r\n if (isComponentEager(component)) {\r\n try {\r\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\r\n }\r\n catch (e) {\r\n // when the instance factory for an eager Component throws an exception during the eager\r\n // initialization, it should not cause a fatal error.\r\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\r\n // a fatal error in this case?\r\n }\r\n }\r\n // Create service instances for the pending promises and resolve them\r\n // NOTE: if this.multipleInstances is false, only the default instance will be created\r\n // and all promises with resolve with it regardless of the identifier.\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n try {\r\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n instanceDeferred.resolve(instance);\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception, it should not cause\r\n // a fatal error. We just leave the promise unresolved.\r\n }\r\n }\r\n }\r\n clearInstance(identifier = DEFAULT_ENTRY_NAME) {\r\n this.instancesDeferred.delete(identifier);\r\n this.instancesOptions.delete(identifier);\r\n this.instances.delete(identifier);\r\n }\r\n // app.delete() will call this method on every provider to delete the services\r\n // TODO: should we mark the provider as deleted?\r\n async delete() {\r\n const services = Array.from(this.instances.values());\r\n await Promise.all([\r\n ...services\r\n .filter(service => 'INTERNAL' in service) // legacy services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service.INTERNAL.delete()),\r\n ...services\r\n .filter(service => '_delete' in service) // modularized services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service._delete())\r\n ]);\r\n }\r\n isComponentSet() {\r\n return this.component != null;\r\n }\r\n isInitialized(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instances.has(identifier);\r\n }\r\n getOptions(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instancesOptions.get(identifier) || {};\r\n }\r\n initialize(opts = {}) {\r\n const { options = {} } = opts;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\r\n if (this.isInitialized(normalizedIdentifier)) {\r\n throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\r\n }\r\n if (!this.isComponentSet()) {\r\n throw Error(`Component ${this.name} has not been registered yet`);\r\n }\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier,\r\n options\r\n });\r\n // resolve any pending promise waiting for the service instance\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\r\n instanceDeferred.resolve(instance);\r\n }\r\n }\r\n return instance;\r\n }\r\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\r\n onInit(callback, identifier) {\r\n var _a;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\r\n existingCallbacks.add(callback);\r\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\r\n const existingInstance = this.instances.get(normalizedIdentifier);\r\n if (existingInstance) {\r\n callback(existingInstance, normalizedIdentifier);\r\n }\r\n return () => {\r\n existingCallbacks.delete(callback);\r\n };\r\n }\r\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\r\n invokeOnInitCallbacks(instance, identifier) {\r\n const callbacks = this.onInitCallbacks.get(identifier);\r\n if (!callbacks) {\r\n return;\r\n }\r\n for (const callback of callbacks) {\r\n try {\r\n callback(instance, identifier);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInit callback\r\n }\r\n }\r\n }\r\n getOrInitializeService({ instanceIdentifier, options = {} }) {\r\n let instance = this.instances.get(instanceIdentifier);\r\n if (!instance && this.component) {\r\n instance = this.component.instanceFactory(this.container, {\r\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\r\n options\r\n });\r\n this.instances.set(instanceIdentifier, instance);\r\n this.instancesOptions.set(instanceIdentifier, options);\r\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\r\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\r\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\r\n if (this.component.onInstanceCreated) {\r\n try {\r\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInstanceCreatedCallback\r\n }\r\n }\r\n }\r\n return instance || null;\r\n }\r\n normalizeInstanceIdentifier(identifier = DEFAULT_ENTRY_NAME) {\r\n if (this.component) {\r\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\r\n }\r\n else {\r\n return identifier; // assume multiple instances are supported before the component is provided.\r\n }\r\n }\r\n shouldAutoInitialize() {\r\n return (!!this.component &&\r\n this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */);\r\n }\r\n}\r\n// undefined should be passed to the service factory for the default instance\r\nfunction normalizeIdentifierForFactory(identifier) {\r\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\r\n}\r\nfunction isComponentEager(component) {\r\n return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass ComponentContainer {\r\n constructor(name) {\r\n this.name = name;\r\n this.providers = new Map();\r\n }\r\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\r\n addComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\r\n }\r\n provider.setComponent(component);\r\n }\r\n addOrOverwriteComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n // delete the existing provider from the container, so we can register the new component\r\n this.providers.delete(component.name);\r\n }\r\n this.addComponent(component);\r\n }\r\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\r\n getProvider(name) {\r\n if (this.providers.has(name)) {\r\n return this.providers.get(name);\r\n }\r\n // create a Provider for a service that hasn't registered with Firebase\r\n const provider = new Provider(name, this);\r\n this.providers.set(name, provider);\r\n return provider;\r\n }\r\n getProviders() {\r\n return Array.from(this.providers.values());\r\n }\r\n}\n\nexport { Component, ComponentContainer, Provider };\n//# sourceMappingURL=index.esm2017.js.map\n","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * A container for all of the Logger instances\r\n */\r\nconst instances = [];\r\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\r\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\r\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\r\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\r\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\r\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\r\n})(LogLevel || (LogLevel = {}));\r\nconst levelStringToEnum = {\r\n 'debug': LogLevel.DEBUG,\r\n 'verbose': LogLevel.VERBOSE,\r\n 'info': LogLevel.INFO,\r\n 'warn': LogLevel.WARN,\r\n 'error': LogLevel.ERROR,\r\n 'silent': LogLevel.SILENT\r\n};\r\n/**\r\n * The default log level\r\n */\r\nconst defaultLogLevel = LogLevel.INFO;\r\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\r\nconst ConsoleMethod = {\r\n [LogLevel.DEBUG]: 'log',\r\n [LogLevel.VERBOSE]: 'log',\r\n [LogLevel.INFO]: 'info',\r\n [LogLevel.WARN]: 'warn',\r\n [LogLevel.ERROR]: 'error'\r\n};\r\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\r\nconst defaultLogHandler = (instance, logType, ...args) => {\r\n if (logType < instance.logLevel) {\r\n return;\r\n }\r\n const now = new Date().toISOString();\r\n const method = ConsoleMethod[logType];\r\n if (method) {\r\n console[method](`[${now}] ${instance.name}:`, ...args);\r\n }\r\n else {\r\n throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\r\n }\r\n};\r\nclass Logger {\r\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\r\n constructor(name) {\r\n this.name = name;\r\n /**\r\n * The log level of the given Logger instance.\r\n */\r\n this._logLevel = defaultLogLevel;\r\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\r\n this._logHandler = defaultLogHandler;\r\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\r\n this._userLogHandler = null;\r\n /**\r\n * Capture the current instance for later use\r\n */\r\n instances.push(this);\r\n }\r\n get logLevel() {\r\n return this._logLevel;\r\n }\r\n set logLevel(val) {\r\n if (!(val in LogLevel)) {\r\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\r\n }\r\n this._logLevel = val;\r\n }\r\n // Workaround for setter/getter having to be the same type.\r\n setLogLevel(val) {\r\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\r\n }\r\n get logHandler() {\r\n return this._logHandler;\r\n }\r\n set logHandler(val) {\r\n if (typeof val !== 'function') {\r\n throw new TypeError('Value assigned to `logHandler` must be a function');\r\n }\r\n this._logHandler = val;\r\n }\r\n get userLogHandler() {\r\n return this._userLogHandler;\r\n }\r\n set userLogHandler(val) {\r\n this._userLogHandler = val;\r\n }\r\n /**\r\n * The functions below are all based on the `console` interface\r\n */\r\n debug(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\r\n this._logHandler(this, LogLevel.DEBUG, ...args);\r\n }\r\n log(...args) {\r\n this._userLogHandler &&\r\n this._userLogHandler(this, LogLevel.VERBOSE, ...args);\r\n this._logHandler(this, LogLevel.VERBOSE, ...args);\r\n }\r\n info(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\r\n this._logHandler(this, LogLevel.INFO, ...args);\r\n }\r\n warn(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\r\n this._logHandler(this, LogLevel.WARN, ...args);\r\n }\r\n error(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\r\n this._logHandler(this, LogLevel.ERROR, ...args);\r\n }\r\n}\r\nfunction setLogLevel(level) {\r\n instances.forEach(inst => {\r\n inst.setLogLevel(level);\r\n });\r\n}\r\nfunction setUserLogHandler(logCallback, options) {\r\n for (const instance of instances) {\r\n let customLogLevel = null;\r\n if (options && options.level) {\r\n customLogLevel = levelStringToEnum[options.level];\r\n }\r\n if (logCallback === null) {\r\n instance.userLogHandler = null;\r\n }\r\n else {\r\n instance.userLogHandler = (instance, level, ...args) => {\r\n const message = args\r\n .map(arg => {\r\n if (arg == null) {\r\n return null;\r\n }\r\n else if (typeof arg === 'string') {\r\n return arg;\r\n }\r\n else if (typeof arg === 'number' || typeof arg === 'boolean') {\r\n return arg.toString();\r\n }\r\n else if (arg instanceof Error) {\r\n return arg.message;\r\n }\r\n else {\r\n try {\r\n return JSON.stringify(arg);\r\n }\r\n catch (ignored) {\r\n return null;\r\n }\r\n }\r\n })\r\n .filter(arg => arg)\r\n .join(' ');\r\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\r\n logCallback({\r\n level: LogLevel[level].toLowerCase(),\r\n message,\r\n args,\r\n type: instance.name\r\n });\r\n }\r\n };\r\n }\r\n }\r\n}\n\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };\n//# sourceMappingURL=index.esm2017.js.map\n","var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar esm = {};\n\n/*\n\n Copyright The Closure Library Authors.\n SPDX-License-Identifier: Apache-2.0\n*/\n\nvar k,goog=goog||{},l=commonjsGlobal||self;function aa(a){var b=typeof a;b=\"object\"!=b?b:a?Array.isArray(a)?\"array\":b:\"null\";return \"array\"==b||\"object\"==b&&\"number\"==typeof a.length}function p(a){var b=typeof a;return \"object\"==b&&null!=a||\"function\"==b}function ba(a){return Object.prototype.hasOwnProperty.call(a,ca)&&a[ca]||(a[ca]=++da)}var ca=\"closure_uid_\"+(1E9*Math.random()>>>0),da=0;function ea(a,b,c){return a.call.apply(a.bind,arguments)}\nfunction fa(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var e=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(e,d);return a.apply(b,e)}}return function(){return a.apply(b,arguments)}}function q(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf(\"native code\")?q=ea:q=fa;return q.apply(null,arguments)}\nfunction ha(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();d.push.apply(d,arguments);return a.apply(this,d)}}function r(a,b){function c(){}c.prototype=b.prototype;a.$=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.ac=function(d,e,f){for(var h=Array(arguments.length-2),n=2;n<arguments.length;n++)h[n-2]=arguments[n];return b.prototype[e].apply(d,h)};}function v(){this.s=this.s;this.o=this.o;}var ia=0;v.prototype.s=!1;v.prototype.sa=function(){if(!this.s&&(this.s=!0,this.N(),0!=ia)){ba(this);}};v.prototype.N=function(){if(this.o)for(;this.o.length;)this.o.shift()();};const ka=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if(\"string\"===typeof a)return \"string\"!==typeof b||1!=b.length?-1:a.indexOf(b,0);for(let c=0;c<a.length;c++)if(c in a&&a[c]===b)return c;return -1};function ma(a){const b=a.length;if(0<b){const c=Array(b);for(let d=0;d<b;d++)c[d]=a[d];return c}return []}\nfunction na(a,b){for(let c=1;c<arguments.length;c++){const d=arguments[c];if(aa(d)){const e=a.length||0,f=d.length||0;a.length=e+f;for(let h=0;h<f;h++)a[e+h]=d[h];}else a.push(d);}}function w(a,b){this.type=a;this.g=this.target=b;this.defaultPrevented=!1;}w.prototype.h=function(){this.defaultPrevented=!0;};var oa=function(){if(!l.addEventListener||!Object.defineProperty)return !1;var a=!1,b=Object.defineProperty({},\"passive\",{get:function(){a=!0;}});try{const c=()=>{};l.addEventListener(\"test\",c,b);l.removeEventListener(\"test\",c,b);}catch(c){}return a}();function x(a){return /^[\\s\\xa0]*$/.test(a)}function pa(){var a=l.navigator;return a&&(a=a.userAgent)?a:\"\"}function y(a){return -1!=pa().indexOf(a)}function qa(a){qa[\" \"](a);return a}qa[\" \"]=function(){};function ra(a,b){var c=sa;return Object.prototype.hasOwnProperty.call(c,a)?c[a]:c[a]=b(a)}var ta=y(\"Opera\"),z=y(\"Trident\")||y(\"MSIE\"),ua=y(\"Edge\"),va=ua||z,wa=y(\"Gecko\")&&!(-1!=pa().toLowerCase().indexOf(\"webkit\")&&!y(\"Edge\"))&&!(y(\"Trident\")||y(\"MSIE\"))&&!y(\"Edge\"),xa=-1!=pa().toLowerCase().indexOf(\"webkit\")&&!y(\"Edge\");function ya(){var a=l.document;return a?a.documentMode:void 0}var za;\na:{var Aa=\"\",Ba=function(){var a=pa();if(wa)return /rv:([^\\);]+)(\\)|;)/.exec(a);if(ua)return /Edge\\/([\\d\\.]+)/.exec(a);if(z)return /\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(a);if(xa)return /WebKit\\/(\\S+)/.exec(a);if(ta)return /(?:Version)[ \\/]?(\\S+)/.exec(a)}();Ba&&(Aa=Ba?Ba[1]:\"\");if(z){var Ca=ya();if(null!=Ca&&Ca>parseFloat(Aa)){za=String(Ca);break a}}za=Aa;}var Da;if(l.document&&z){var Ea=ya();Da=Ea?Ea:parseInt(za,10)||void 0;}else Da=void 0;var Fa=Da;function A(a,b){w.call(this,a?a.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;if(a){var c=this.type=a.type,d=a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.g=b;if(b=a.relatedTarget){if(wa){a:{try{qa(b.nodeName);var e=!0;break a}catch(f){}e=\n!1;}e||(b=null);}}else \"mouseover\"==c?b=a.fromElement:\"mouseout\"==c&&(b=a.toElement);this.relatedTarget=b;d?(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0):(this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0);this.button=a.button;this.key=a.key||\"\";this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=\na.shiftKey;this.metaKey=a.metaKey;this.pointerId=a.pointerId||0;this.pointerType=\"string\"===typeof a.pointerType?a.pointerType:Ga[a.pointerType]||\"\";this.state=a.state;this.i=a;a.defaultPrevented&&A.$.h.call(this);}}r(A,w);var Ga={2:\"touch\",3:\"pen\",4:\"mouse\"};A.prototype.h=function(){A.$.h.call(this);var a=this.i;a.preventDefault?a.preventDefault():a.returnValue=!1;};var Ha=\"closure_listenable_\"+(1E6*Math.random()|0);var Ia=0;function Ja(a,b,c,d,e){this.listener=a;this.proxy=null;this.src=b;this.type=c;this.capture=!!d;this.la=e;this.key=++Ia;this.fa=this.ia=!1;}function Ma(a){a.fa=!0;a.listener=null;a.proxy=null;a.src=null;a.la=null;}function Na(a,b,c){for(const d in a)b.call(c,a[d],d,a);}function Oa(a,b){for(const c in a)b.call(void 0,a[c],c,a);}function Pa(a){const b={};for(const c in a)b[c]=a[c];return b}const Qa=\"constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf\".split(\" \");function Ra(a,b){let c,d;for(let e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(let f=0;f<Qa.length;f++)c=Qa[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c]);}}function Sa(a){this.src=a;this.g={};this.h=0;}Sa.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.g[f];a||(a=this.g[f]=[],this.h++);var h=Ta(a,b,d,e);-1<h?(b=a[h],c||(b.ia=!1)):(b=new Ja(b,this.src,f,!!d,e),b.ia=c,a.push(b));return b};function Ua(a,b){var c=b.type;if(c in a.g){var d=a.g[c],e=ka(d,b),f;(f=0<=e)&&Array.prototype.splice.call(d,e,1);f&&(Ma(b),0==a.g[c].length&&(delete a.g[c],a.h--));}}\nfunction Ta(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.fa&&f.listener==b&&f.capture==!!c&&f.la==d)return e}return -1}var Va=\"closure_lm_\"+(1E6*Math.random()|0),Wa={};function Ya(a,b,c,d,e){if(d&&d.once)return Za(a,b,c,d,e);if(Array.isArray(b)){for(var f=0;f<b.length;f++)Ya(a,b[f],c,d,e);return null}c=$a(c);return a&&a[Ha]?a.O(b,c,p(d)?!!d.capture:!!d,e):ab(a,b,c,!1,d,e)}\nfunction ab(a,b,c,d,e,f){if(!b)throw Error(\"Invalid event type\");var h=p(e)?!!e.capture:!!e,n=bb(a);n||(a[Va]=n=new Sa(a));c=n.add(b,c,d,h,f);if(c.proxy)return c;d=cb();c.proxy=d;d.src=a;d.listener=c;if(a.addEventListener)oa||(e=h),void 0===e&&(e=!1),a.addEventListener(b.toString(),d,e);else if(a.attachEvent)a.attachEvent(db(b.toString()),d);else if(a.addListener&&a.removeListener)a.addListener(d);else throw Error(\"addEventListener and attachEvent are unavailable.\");return c}\nfunction cb(){function a(c){return b.call(a.src,a.listener,c)}const b=eb;return a}function Za(a,b,c,d,e){if(Array.isArray(b)){for(var f=0;f<b.length;f++)Za(a,b[f],c,d,e);return null}c=$a(c);return a&&a[Ha]?a.P(b,c,p(d)?!!d.capture:!!d,e):ab(a,b,c,!0,d,e)}\nfunction fb(a,b,c,d,e){if(Array.isArray(b))for(var f=0;f<b.length;f++)fb(a,b[f],c,d,e);else (d=p(d)?!!d.capture:!!d,c=$a(c),a&&a[Ha])?(a=a.i,b=String(b).toString(),b in a.g&&(f=a.g[b],c=Ta(f,c,d,e),-1<c&&(Ma(f[c]),Array.prototype.splice.call(f,c,1),0==f.length&&(delete a.g[b],a.h--)))):a&&(a=bb(a))&&(b=a.g[b.toString()],a=-1,b&&(a=Ta(b,c,d,e)),(c=-1<a?b[a]:null)&&gb(c));}\nfunction gb(a){if(\"number\"!==typeof a&&a&&!a.fa){var b=a.src;if(b&&b[Ha])Ua(b.i,a);else {var c=a.type,d=a.proxy;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent?b.detachEvent(db(c),d):b.addListener&&b.removeListener&&b.removeListener(d);(c=bb(b))?(Ua(c,a),0==c.h&&(c.src=null,b[Va]=null)):Ma(a);}}}function db(a){return a in Wa?Wa[a]:Wa[a]=\"on\"+a}function eb(a,b){if(a.fa)a=!0;else {b=new A(b,this);var c=a.listener,d=a.la||a.src;a.ia&&gb(a);a=c.call(d,b);}return a}\nfunction bb(a){a=a[Va];return a instanceof Sa?a:null}var hb=\"__closure_events_fn_\"+(1E9*Math.random()>>>0);function $a(a){if(\"function\"===typeof a)return a;a[hb]||(a[hb]=function(b){return a.handleEvent(b)});return a[hb]}function B(){v.call(this);this.i=new Sa(this);this.S=this;this.J=null;}r(B,v);B.prototype[Ha]=!0;B.prototype.removeEventListener=function(a,b,c,d){fb(this,a,b,c,d);};\nfunction C(a,b){var c,d=a.J;if(d)for(c=[];d;d=d.J)c.push(d);a=a.S;d=b.type||b;if(\"string\"===typeof b)b=new w(b,a);else if(b instanceof w)b.target=b.target||a;else {var e=b;b=new w(d,a);Ra(b,e);}e=!0;if(c)for(var f=c.length-1;0<=f;f--){var h=b.g=c[f];e=ib(h,d,!0,b)&&e;}h=b.g=a;e=ib(h,d,!0,b)&&e;e=ib(h,d,!1,b)&&e;if(c)for(f=0;f<c.length;f++)h=b.g=c[f],e=ib(h,d,!1,b)&&e;}\nB.prototype.N=function(){B.$.N.call(this);if(this.i){var a=this.i,c;for(c in a.g){for(var d=a.g[c],e=0;e<d.length;e++)Ma(d[e]);delete a.g[c];a.h--;}}this.J=null;};B.prototype.O=function(a,b,c,d){return this.i.add(String(a),b,!1,c,d)};B.prototype.P=function(a,b,c,d){return this.i.add(String(a),b,!0,c,d)};\nfunction ib(a,b,c,d){b=a.i.g[String(b)];if(!b)return !0;b=b.concat();for(var e=!0,f=0;f<b.length;++f){var h=b[f];if(h&&!h.fa&&h.capture==c){var n=h.listener,t=h.la||h.src;h.ia&&Ua(a.i,h);e=!1!==n.call(t,d)&&e;}}return e&&!d.defaultPrevented}var jb=l.JSON.stringify;class kb{constructor(a,b){this.i=a;this.j=b;this.h=0;this.g=null;}get(){let a;0<this.h?(this.h--,a=this.g,this.g=a.next,a.next=null):a=this.i();return a}}function lb(){var a=mb;let b=null;a.g&&(b=a.g,a.g=a.g.next,a.g||(a.h=null),b.next=null);return b}class nb{constructor(){this.h=this.g=null;}add(a,b){const c=ob.get();c.set(a,b);this.h?this.h.next=c:this.g=c;this.h=c;}}var ob=new kb(()=>new pb,a=>a.reset());class pb{constructor(){this.next=this.g=this.h=null;}set(a,b){this.h=a;this.g=b;this.next=null;}reset(){this.next=this.g=this.h=null;}}function qb(a){var b=1;a=a.split(\":\");const c=[];for(;0<b&&a.length;)c.push(a.shift()),b--;a.length&&c.push(a.join(\":\"));return c}function rb(a){l.setTimeout(()=>{throw a;},0);}let sb,tb=!1,mb=new nb,vb=()=>{const a=l.Promise.resolve(void 0);sb=()=>{a.then(ub);};};var ub=()=>{for(var a;a=lb();){try{a.h.call(a.g);}catch(c){rb(c);}var b=ob;b.j(a);100>b.h&&(b.h++,a.next=b.g,b.g=a);}tb=!1;};function wb(a,b){B.call(this);this.h=a||1;this.g=b||l;this.j=q(this.qb,this);this.l=Date.now();}r(wb,B);k=wb.prototype;k.ga=!1;k.T=null;k.qb=function(){if(this.ga){var a=Date.now()-this.l;0<a&&a<.8*this.h?this.T=this.g.setTimeout(this.j,this.h-a):(this.T&&(this.g.clearTimeout(this.T),this.T=null),C(this,\"tick\"),this.ga&&(xb(this),this.start()));}};k.start=function(){this.ga=!0;this.T||(this.T=this.g.setTimeout(this.j,this.h),this.l=Date.now());};\nfunction xb(a){a.ga=!1;a.T&&(a.g.clearTimeout(a.T),a.T=null);}k.N=function(){wb.$.N.call(this);xb(this);delete this.g;};function yb(a,b,c){if(\"function\"===typeof a)c&&(a=q(a,c));else if(a&&\"function\"==typeof a.handleEvent)a=q(a.handleEvent,a);else throw Error(\"Invalid listener argument\");return 2147483647<Number(b)?-1:l.setTimeout(a,b||0)}function zb(a){a.g=yb(()=>{a.g=null;a.i&&(a.i=!1,zb(a));},a.j);const b=a.h;a.h=null;a.m.apply(null,b);}class Ab extends v{constructor(a,b){super();this.m=a;this.j=b;this.h=null;this.i=!1;this.g=null;}l(a){this.h=arguments;this.g?this.i=!0:zb(this);}N(){super.N();this.g&&(l.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null);}}function Bb(a){v.call(this);this.h=a;this.g={};}r(Bb,v);var Cb=[];function Eb(a,b,c,d){Array.isArray(c)||(c&&(Cb[0]=c.toString()),c=Cb);for(var e=0;e<c.length;e++){var f=Ya(b,c[e],d||a.handleEvent,!1,a.h||a);if(!f)break;a.g[f.key]=f;}}function Fb(a){Na(a.g,function(b,c){this.g.hasOwnProperty(c)&&gb(b);},a);a.g={};}Bb.prototype.N=function(){Bb.$.N.call(this);Fb(this);};Bb.prototype.handleEvent=function(){throw Error(\"EventHandler.handleEvent not implemented\");};function Gb(){this.g=!0;}Gb.prototype.Ea=function(){this.g=!1;};function Hb(a,b,c,d,e,f){a.info(function(){if(a.g)if(f){var h=\"\";for(var n=f.split(\"&\"),t=0;t<n.length;t++){var m=n[t].split(\"=\");if(1<m.length){var u=m[0];m=m[1];var L=u.split(\"_\");h=2<=L.length&&\"type\"==L[1]?h+(u+\"=\"+m+\"&\"):h+(u+\"=redacted&\");}}}else h=null;else h=f;return \"XMLHTTP REQ (\"+d+\") [attempt \"+e+\"]: \"+b+\"\\n\"+c+\"\\n\"+h});}\nfunction Ib(a,b,c,d,e,f,h){a.info(function(){return \"XMLHTTP RESP (\"+d+\") [ attempt \"+e+\"]: \"+b+\"\\n\"+c+\"\\n\"+f+\" \"+h});}function D(a,b,c,d){a.info(function(){return \"XMLHTTP TEXT (\"+b+\"): \"+Jb(a,c)+(d?\" \"+d:\"\")});}function Kb(a,b){a.info(function(){return \"TIMEOUT: \"+b});}Gb.prototype.info=function(){};\nfunction Jb(a,b){if(!a.g)return b;if(!b)return null;try{var c=JSON.parse(b);if(c)for(a=0;a<c.length;a++)if(Array.isArray(c[a])){var d=c[a];if(!(2>d.length)){var e=d[1];if(Array.isArray(e)&&!(1>e.length)){var f=e[0];if(\"noop\"!=f&&\"stop\"!=f&&\"close\"!=f)for(var h=1;h<e.length;h++)e[h]=\"\";}}}return jb(c)}catch(n){return b}}var E={},Lb=null;function Mb(){return Lb=Lb||new B}E.Ta=\"serverreachability\";function Nb(a){w.call(this,E.Ta,a);}r(Nb,w);function Ob(a){const b=Mb();C(b,new Nb(b));}E.STAT_EVENT=\"statevent\";function Pb(a,b){w.call(this,E.STAT_EVENT,a);this.stat=b;}r(Pb,w);function F(a){const b=Mb();C(b,new Pb(b,a));}E.Ua=\"timingevent\";function Qb(a,b){w.call(this,E.Ua,a);this.size=b;}r(Qb,w);\nfunction Rb(a,b){if(\"function\"!==typeof a)throw Error(\"Fn must not be null and must be a function\");return l.setTimeout(function(){a();},b)}var Sb={NO_ERROR:0,rb:1,Eb:2,Db:3,yb:4,Cb:5,Fb:6,Qa:7,TIMEOUT:8,Ib:9};var Tb={wb:\"complete\",Sb:\"success\",Ra:\"error\",Qa:\"abort\",Kb:\"ready\",Lb:\"readystatechange\",TIMEOUT:\"timeout\",Gb:\"incrementaldata\",Jb:\"progress\",zb:\"downloadprogress\",$b:\"uploadprogress\"};function Ub(){}Ub.prototype.h=null;function Vb(a){return a.h||(a.h=a.i())}function Wb(){}var Xb={OPEN:\"a\",vb:\"b\",Ra:\"c\",Hb:\"d\"};function Yb(){w.call(this,\"d\");}r(Yb,w);function Zb(){w.call(this,\"c\");}r(Zb,w);var $b;function ac(){}r(ac,Ub);ac.prototype.g=function(){return new XMLHttpRequest};ac.prototype.i=function(){return {}};$b=new ac;function bc(a,b,c,d){this.l=a;this.j=b;this.m=c;this.W=d||1;this.U=new Bb(this);this.P=cc;a=va?125:void 0;this.V=new wb(a);this.I=null;this.i=!1;this.u=this.B=this.A=this.L=this.G=this.Y=this.C=null;this.F=[];this.g=null;this.o=0;this.s=this.v=null;this.ca=-1;this.J=!1;this.O=0;this.M=null;this.ba=this.K=this.aa=this.S=!1;this.h=new dc;}function dc(){this.i=null;this.g=\"\";this.h=!1;}var cc=45E3,ec={},fc={};k=bc.prototype;k.setTimeout=function(a){this.P=a;};\nfunction gc(a,b,c){a.L=1;a.A=hc(G(b));a.u=c;a.S=!0;ic(a,null);}function ic(a,b){a.G=Date.now();jc(a);a.B=G(a.A);var c=a.B,d=a.W;Array.isArray(d)||(d=[String(d)]);kc(c.i,\"t\",d);a.o=0;c=a.l.J;a.h=new dc;a.g=lc(a.l,c?b:null,!a.u);0<a.O&&(a.M=new Ab(q(a.Pa,a,a.g),a.O));Eb(a.U,a.g,\"readystatechange\",a.nb);b=a.I?Pa(a.I):{};a.u?(a.v||(a.v=\"POST\"),b[\"Content-Type\"]=\"application/x-www-form-urlencoded\",a.g.ha(a.B,a.v,a.u,b)):(a.v=\"GET\",a.g.ha(a.B,a.v,null,b));Ob();Hb(a.j,a.v,a.B,a.m,a.W,a.u);}\nk.nb=function(a){a=a.target;const b=this.M;b&&3==H(a)?b.l():this.Pa(a);};\nk.Pa=function(a){try{if(a==this.g)a:{const u=H(this.g);var b=this.g.Ia();const L=this.g.da();if(!(3>u)&&(3!=u||va||this.g&&(this.h.h||this.g.ja()||mc(this.g)))){this.J||4!=u||7==b||(8==b||0>=L?Ob(3):Ob(2));nc(this);var c=this.g.da();this.ca=c;b:if(oc(this)){var d=mc(this.g);a=\"\";var e=d.length,f=4==H(this.g);if(!this.h.i){if(\"undefined\"===typeof TextDecoder){I(this);pc(this);var h=\"\";break b}this.h.i=new l.TextDecoder;}for(b=0;b<e;b++)this.h.h=!0,a+=this.h.i.decode(d[b],{stream:f&&b==e-1});d.length=\n0;this.h.g+=a;this.o=0;h=this.h.g;}else h=this.g.ja();this.i=200==c;Ib(this.j,this.v,this.B,this.m,this.W,u,c);if(this.i){if(this.aa&&!this.K){b:{if(this.g){var n,t=this.g;if((n=t.g?t.g.getResponseHeader(\"X-HTTP-Initial-Response\"):null)&&!x(n)){var m=n;break b}}m=null;}if(c=m)D(this.j,this.m,c,\"Initial handshake response via X-HTTP-Initial-Response\"),this.K=!0,qc(this,c);else {this.i=!1;this.s=3;F(12);I(this);pc(this);break a}}this.S?(rc(this,u,h),va&&this.i&&3==u&&(Eb(this.U,this.V,\"tick\",this.mb),\nthis.V.start())):(D(this.j,this.m,h,null),qc(this,h));4==u&&I(this);this.i&&!this.J&&(4==u?sc(this.l,this):(this.i=!1,jc(this)));}else tc(this.g),400==c&&0<h.indexOf(\"Unknown SID\")?(this.s=3,F(12)):(this.s=0,F(13)),I(this),pc(this);}}}catch(u){}finally{}};function oc(a){return a.g?\"GET\"==a.v&&2!=a.L&&a.l.Ha:!1}\nfunction rc(a,b,c){let d=!0,e;for(;!a.J&&a.o<c.length;)if(e=uc(a,c),e==fc){4==b&&(a.s=4,F(14),d=!1);D(a.j,a.m,null,\"[Incomplete Response]\");break}else if(e==ec){a.s=4;F(15);D(a.j,a.m,c,\"[Invalid Chunk]\");d=!1;break}else D(a.j,a.m,e,null),qc(a,e);oc(a)&&0!=a.o&&(a.h.g=a.h.g.slice(a.o),a.o=0);4!=b||0!=c.length||a.h.h||(a.s=1,F(16),d=!1);a.i=a.i&&d;d?0<c.length&&!a.ba&&(a.ba=!0,b=a.l,b.g==a&&b.ca&&!b.M&&(b.l.info(\"Great, no buffering proxy detected. Bytes received: \"+c.length),vc(b),b.M=!0,F(11))):(D(a.j,\na.m,c,\"[Invalid Chunked Response]\"),I(a),pc(a));}k.mb=function(){if(this.g){var a=H(this.g),b=this.g.ja();this.o<b.length&&(nc(this),rc(this,a,b),this.i&&4!=a&&jc(this));}};function uc(a,b){var c=a.o,d=b.indexOf(\"\\n\",c);if(-1==d)return fc;c=Number(b.substring(c,d));if(isNaN(c))return ec;d+=1;if(d+c>b.length)return fc;b=b.slice(d,d+c);a.o=d+c;return b}k.cancel=function(){this.J=!0;I(this);};function jc(a){a.Y=Date.now()+a.P;wc(a,a.P);}\nfunction wc(a,b){if(null!=a.C)throw Error(\"WatchDog timer not null\");a.C=Rb(q(a.lb,a),b);}function nc(a){a.C&&(l.clearTimeout(a.C),a.C=null);}k.lb=function(){this.C=null;const a=Date.now();0<=a-this.Y?(Kb(this.j,this.B),2!=this.L&&(Ob(),F(17)),I(this),this.s=2,pc(this)):wc(this,this.Y-a);};function pc(a){0==a.l.H||a.J||sc(a.l,a);}function I(a){nc(a);var b=a.M;b&&\"function\"==typeof b.sa&&b.sa();a.M=null;xb(a.V);Fb(a.U);a.g&&(b=a.g,a.g=null,b.abort(),b.sa());}\nfunction qc(a,b){try{var c=a.l;if(0!=c.H&&(c.g==a||xc(c.i,a)))if(!a.K&&xc(c.i,a)&&3==c.H){try{var d=c.Ja.g.parse(b);}catch(m){d=null;}if(Array.isArray(d)&&3==d.length){var e=d;if(0==e[0])a:{if(!c.u){if(c.g)if(c.g.G+3E3<a.G)yc(c),zc(c);else break a;Ac(c);F(18);}}else c.Fa=e[1],0<c.Fa-c.V&&37500>e[2]&&c.G&&0==c.A&&!c.v&&(c.v=Rb(q(c.ib,c),6E3));if(1>=Bc(c.i)&&c.oa){try{c.oa();}catch(m){}c.oa=void 0;}}else J(c,11);}else if((a.K||c.g==a)&&yc(c),!x(b))for(e=c.Ja.g.parse(b),b=0;b<e.length;b++){let m=e[b];c.V=\nm[0];m=m[1];if(2==c.H)if(\"c\"==m[0]){c.K=m[1];c.pa=m[2];const u=m[3];null!=u&&(c.ra=u,c.l.info(\"VER=\"+c.ra));const L=m[4];null!=L&&(c.Ga=L,c.l.info(\"SVER=\"+c.Ga));const Ka=m[5];null!=Ka&&\"number\"===typeof Ka&&0<Ka&&(d=1.5*Ka,c.L=d,c.l.info(\"backChannelRequestTimeoutMs_=\"+d));d=c;const la=a.g;if(la){const La=la.g?la.g.getResponseHeader(\"X-Client-Wire-Protocol\"):null;if(La){var f=d.i;f.g||-1==La.indexOf(\"spdy\")&&-1==La.indexOf(\"quic\")&&-1==La.indexOf(\"h2\")||(f.j=f.l,f.g=new Set,f.h&&(Cc(f,f.h),f.h=null));}if(d.F){const Db=\nla.g?la.g.getResponseHeader(\"X-HTTP-Session-Id\"):null;Db&&(d.Da=Db,K(d.I,d.F,Db));}}c.H=3;c.h&&c.h.Ba();c.ca&&(c.S=Date.now()-a.G,c.l.info(\"Handshake RTT: \"+c.S+\"ms\"));d=c;var h=a;d.wa=Dc(d,d.J?d.pa:null,d.Y);if(h.K){Ec(d.i,h);var n=h,t=d.L;t&&n.setTimeout(t);n.C&&(nc(n),jc(n));d.g=h;}else Fc(d);0<c.j.length&&Gc(c);}else \"stop\"!=m[0]&&\"close\"!=m[0]||J(c,7);else 3==c.H&&(\"stop\"==m[0]||\"close\"==m[0]?\"stop\"==m[0]?J(c,7):Hc(c):\"noop\"!=m[0]&&c.h&&c.h.Aa(m),c.A=0);}Ob(4);}catch(m){}}function Ic(a){if(a.Z&&\"function\"==typeof a.Z)return a.Z();if(\"undefined\"!==typeof Map&&a instanceof Map||\"undefined\"!==typeof Set&&a instanceof Set)return Array.from(a.values());if(\"string\"===typeof a)return a.split(\"\");if(aa(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}b=[];c=0;for(d in a)b[c++]=a[d];return b}\nfunction Jc(a){if(a.ta&&\"function\"==typeof a.ta)return a.ta();if(!a.Z||\"function\"!=typeof a.Z){if(\"undefined\"!==typeof Map&&a instanceof Map)return Array.from(a.keys());if(!(\"undefined\"!==typeof Set&&a instanceof Set)){if(aa(a)||\"string\"===typeof a){var b=[];a=a.length;for(var c=0;c<a;c++)b.push(c);return b}b=[];c=0;for(const d in a)b[c++]=d;return b}}}\nfunction Kc(a,b){if(a.forEach&&\"function\"==typeof a.forEach)a.forEach(b,void 0);else if(aa(a)||\"string\"===typeof a)Array.prototype.forEach.call(a,b,void 0);else for(var c=Jc(a),d=Ic(a),e=d.length,f=0;f<e;f++)b.call(void 0,d[f],c&&c[f],a);}var Lc=RegExp(\"^(?:([^:/?#.]+):)?(?://(?:([^\\\\\\\\/?#]*)@)?([^\\\\\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\\\\\/?#]|$))?([^?#]+)?(?:\\\\?([^#]*))?(?:#([\\\\s\\\\S]*))?$\");function Mc(a,b){if(a){a=a.split(\"&\");for(var c=0;c<a.length;c++){var d=a[c].indexOf(\"=\"),e=null;if(0<=d){var f=a[c].substring(0,d);e=a[c].substring(d+1);}else f=a[c];b(f,e?decodeURIComponent(e.replace(/\\+/g,\" \")):\"\");}}}function M(a){this.g=this.s=this.j=\"\";this.m=null;this.o=this.l=\"\";this.h=!1;if(a instanceof M){this.h=a.h;Nc(this,a.j);this.s=a.s;this.g=a.g;Oc(this,a.m);this.l=a.l;var b=a.i;var c=new Pc;c.i=b.i;b.g&&(c.g=new Map(b.g),c.h=b.h);Qc(this,c);this.o=a.o;}else a&&(b=String(a).match(Lc))?(this.h=!1,Nc(this,b[1]||\"\",!0),this.s=Rc(b[2]||\"\"),this.g=Rc(b[3]||\"\",!0),Oc(this,b[4]),this.l=Rc(b[5]||\"\",!0),Qc(this,b[6]||\"\",!0),this.o=Rc(b[7]||\"\")):(this.h=!1,this.i=new Pc(null,this.h));}\nM.prototype.toString=function(){var a=[],b=this.j;b&&a.push(Sc(b,Tc,!0),\":\");var c=this.g;if(c||\"file\"==b)a.push(\"//\"),(b=this.s)&&a.push(Sc(b,Tc,!0),\"@\"),a.push(encodeURIComponent(String(c)).replace(/%25([0-9a-fA-F]{2})/g,\"%$1\")),c=this.m,null!=c&&a.push(\":\",String(c));if(c=this.l)this.g&&\"/\"!=c.charAt(0)&&a.push(\"/\"),a.push(Sc(c,\"/\"==c.charAt(0)?Uc:Vc,!0));(c=this.i.toString())&&a.push(\"?\",c);(c=this.o)&&a.push(\"#\",Sc(c,Wc));return a.join(\"\")};function G(a){return new M(a)}\nfunction Nc(a,b,c){a.j=c?Rc(b,!0):b;a.j&&(a.j=a.j.replace(/:$/,\"\"));}function Oc(a,b){if(b){b=Number(b);if(isNaN(b)||0>b)throw Error(\"Bad port number \"+b);a.m=b;}else a.m=null;}function Qc(a,b,c){b instanceof Pc?(a.i=b,Xc(a.i,a.h)):(c||(b=Sc(b,Yc)),a.i=new Pc(b,a.h));}function K(a,b,c){a.i.set(b,c);}function hc(a){K(a,\"zx\",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36));return a}\nfunction Rc(a,b){return a?b?decodeURI(a.replace(/%25/g,\"%2525\")):decodeURIComponent(a):\"\"}function Sc(a,b,c){return \"string\"===typeof a?(a=encodeURI(a).replace(b,Zc),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,\"%$1\")),a):null}function Zc(a){a=a.charCodeAt(0);return \"%\"+(a>>4&15).toString(16)+(a&15).toString(16)}var Tc=/[#\\/\\?@]/g,Vc=/[#\\?:]/g,Uc=/[#\\?]/g,Yc=/[#\\?@]/g,Wc=/#/g;function Pc(a,b){this.h=this.g=null;this.i=a||null;this.j=!!b;}\nfunction N(a){a.g||(a.g=new Map,a.h=0,a.i&&Mc(a.i,function(b,c){a.add(decodeURIComponent(b.replace(/\\+/g,\" \")),c);}));}k=Pc.prototype;k.add=function(a,b){N(this);this.i=null;a=O(this,a);var c=this.g.get(a);c||this.g.set(a,c=[]);c.push(b);this.h+=1;return this};function $c(a,b){N(a);b=O(a,b);a.g.has(b)&&(a.i=null,a.h-=a.g.get(b).length,a.g.delete(b));}function ad(a,b){N(a);b=O(a,b);return a.g.has(b)}\nk.forEach=function(a,b){N(this);this.g.forEach(function(c,d){c.forEach(function(e){a.call(b,e,d,this);},this);},this);};k.ta=function(){N(this);const a=Array.from(this.g.values()),b=Array.from(this.g.keys()),c=[];for(let d=0;d<b.length;d++){const e=a[d];for(let f=0;f<e.length;f++)c.push(b[d]);}return c};k.Z=function(a){N(this);let b=[];if(\"string\"===typeof a)ad(this,a)&&(b=b.concat(this.g.get(O(this,a))));else {a=Array.from(this.g.values());for(let c=0;c<a.length;c++)b=b.concat(a[c]);}return b};\nk.set=function(a,b){N(this);this.i=null;a=O(this,a);ad(this,a)&&(this.h-=this.g.get(a).length);this.g.set(a,[b]);this.h+=1;return this};k.get=function(a,b){if(!a)return b;a=this.Z(a);return 0<a.length?String(a[0]):b};function kc(a,b,c){$c(a,b);0<c.length&&(a.i=null,a.g.set(O(a,b),ma(c)),a.h+=c.length);}\nk.toString=function(){if(this.i)return this.i;if(!this.g)return \"\";const a=[],b=Array.from(this.g.keys());for(var c=0;c<b.length;c++){var d=b[c];const f=encodeURIComponent(String(d)),h=this.Z(d);for(d=0;d<h.length;d++){var e=f;\"\"!==h[d]&&(e+=\"=\"+encodeURIComponent(String(h[d])));a.push(e);}}return this.i=a.join(\"&\")};function O(a,b){b=String(b);a.j&&(b=b.toLowerCase());return b}\nfunction Xc(a,b){b&&!a.j&&(N(a),a.i=null,a.g.forEach(function(c,d){var e=d.toLowerCase();d!=e&&($c(this,d),kc(this,e,c));},a));a.j=b;}var bd=class{constructor(a,b){this.g=a;this.map=b;}};function cd(a){this.l=a||dd;l.PerformanceNavigationTiming?(a=l.performance.getEntriesByType(\"navigation\"),a=0<a.length&&(\"hq\"==a[0].nextHopProtocol||\"h2\"==a[0].nextHopProtocol)):a=!!(l.g&&l.g.Ka&&l.g.Ka()&&l.g.Ka().dc);this.j=a?this.l:1;this.g=null;1<this.j&&(this.g=new Set);this.h=null;this.i=[];}var dd=10;function ed(a){return a.h?!0:a.g?a.g.size>=a.j:!1}function Bc(a){return a.h?1:a.g?a.g.size:0}function xc(a,b){return a.h?a.h==b:a.g?a.g.has(b):!1}function Cc(a,b){a.g?a.g.add(b):a.h=b;}\nfunction Ec(a,b){a.h&&a.h==b?a.h=null:a.g&&a.g.has(b)&&a.g.delete(b);}cd.prototype.cancel=function(){this.i=fd(this);if(this.h)this.h.cancel(),this.h=null;else if(this.g&&0!==this.g.size){for(const a of this.g.values())a.cancel();this.g.clear();}};function fd(a){if(null!=a.h)return a.i.concat(a.h.F);if(null!=a.g&&0!==a.g.size){let b=a.i;for(const c of a.g.values())b=b.concat(c.F);return b}return ma(a.i)}var gd=class{stringify(a){return l.JSON.stringify(a,void 0)}parse(a){return l.JSON.parse(a,void 0)}};function hd(){this.g=new gd;}function id(a,b,c){const d=c||\"\";try{Kc(a,function(e,f){let h=e;p(e)&&(h=jb(e));b.push(d+f+\"=\"+encodeURIComponent(h));});}catch(e){throw b.push(d+\"type=\"+encodeURIComponent(\"_badmap\")),e;}}function jd(a,b){const c=new Gb;if(l.Image){const d=new Image;d.onload=ha(kd,c,d,\"TestLoadImage: loaded\",!0,b);d.onerror=ha(kd,c,d,\"TestLoadImage: error\",!1,b);d.onabort=ha(kd,c,d,\"TestLoadImage: abort\",!1,b);d.ontimeout=ha(kd,c,d,\"TestLoadImage: timeout\",!1,b);l.setTimeout(function(){if(d.ontimeout)d.ontimeout();},1E4);d.src=a;}else b(!1);}function kd(a,b,c,d,e){try{b.onload=null,b.onerror=null,b.onabort=null,b.ontimeout=null,e(d);}catch(f){}}function ld(a){this.l=a.ec||null;this.j=a.ob||!1;}r(ld,Ub);ld.prototype.g=function(){return new md(this.l,this.j)};ld.prototype.i=function(a){return function(){return a}}({});function md(a,b){B.call(this);this.F=a;this.u=b;this.m=void 0;this.readyState=nd;this.status=0;this.responseType=this.responseText=this.response=this.statusText=\"\";this.onreadystatechange=null;this.v=new Headers;this.h=null;this.C=\"GET\";this.B=\"\";this.g=!1;this.A=this.j=this.l=null;}r(md,B);var nd=0;k=md.prototype;\nk.open=function(a,b){if(this.readyState!=nd)throw this.abort(),Error(\"Error reopening a connection\");this.C=a;this.B=b;this.readyState=1;od(this);};k.send=function(a){if(1!=this.readyState)throw this.abort(),Error(\"need to call open() first. \");this.g=!0;const b={headers:this.v,method:this.C,credentials:this.m,cache:void 0};a&&(b.body=a);(this.F||l).fetch(new Request(this.B,b)).then(this.$a.bind(this),this.ka.bind(this));};\nk.abort=function(){this.response=this.responseText=\"\";this.v=new Headers;this.status=0;this.j&&this.j.cancel(\"Request was aborted.\").catch(()=>{});1<=this.readyState&&this.g&&4!=this.readyState&&(this.g=!1,pd(this));this.readyState=nd;};\nk.$a=function(a){if(this.g&&(this.l=a,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=a.headers,this.readyState=2,od(this)),this.g&&(this.readyState=3,od(this),this.g)))if(\"arraybuffer\"===this.responseType)a.arrayBuffer().then(this.Ya.bind(this),this.ka.bind(this));else if(\"undefined\"!==typeof l.ReadableStream&&\"body\"in a){this.j=a.body.getReader();if(this.u){if(this.responseType)throw Error('responseType must be empty for \"streamBinaryChunks\" mode responses.');this.response=\n[];}else this.response=this.responseText=\"\",this.A=new TextDecoder;qd(this);}else a.text().then(this.Za.bind(this),this.ka.bind(this));};function qd(a){a.j.read().then(a.Xa.bind(a)).catch(a.ka.bind(a));}k.Xa=function(a){if(this.g){if(this.u&&a.value)this.response.push(a.value);else if(!this.u){var b=a.value?a.value:new Uint8Array(0);if(b=this.A.decode(b,{stream:!a.done}))this.response=this.responseText+=b;}a.done?pd(this):od(this);3==this.readyState&&qd(this);}};\nk.Za=function(a){this.g&&(this.response=this.responseText=a,pd(this));};k.Ya=function(a){this.g&&(this.response=a,pd(this));};k.ka=function(){this.g&&pd(this);};function pd(a){a.readyState=4;a.l=null;a.j=null;a.A=null;od(a);}k.setRequestHeader=function(a,b){this.v.append(a,b);};k.getResponseHeader=function(a){return this.h?this.h.get(a.toLowerCase())||\"\":\"\"};\nk.getAllResponseHeaders=function(){if(!this.h)return \"\";const a=[],b=this.h.entries();for(var c=b.next();!c.done;)c=c.value,a.push(c[0]+\": \"+c[1]),c=b.next();return a.join(\"\\r\\n\")};function od(a){a.onreadystatechange&&a.onreadystatechange.call(a);}Object.defineProperty(md.prototype,\"withCredentials\",{get:function(){return \"include\"===this.m},set:function(a){this.m=a?\"include\":\"same-origin\";}});var rd=l.JSON.parse;function P(a){B.call(this);this.headers=new Map;this.u=a||null;this.h=!1;this.C=this.g=null;this.I=\"\";this.m=0;this.j=\"\";this.l=this.G=this.v=this.F=!1;this.B=0;this.A=null;this.K=sd;this.L=this.M=!1;}r(P,B);var sd=\"\",td=/^https?$/i,ud=[\"POST\",\"PUT\"];k=P.prototype;k.Oa=function(a){this.M=a;};\nk.ha=function(a,b,c,d){if(this.g)throw Error(\"[goog.net.XhrIo] Object is active with another request=\"+this.I+\"; newUri=\"+a);b=b?b.toUpperCase():\"GET\";this.I=a;this.j=\"\";this.m=0;this.F=!1;this.h=!0;this.g=this.u?this.u.g():$b.g();this.C=this.u?Vb(this.u):Vb($b);this.g.onreadystatechange=q(this.La,this);try{this.G=!0,this.g.open(b,String(a),!0),this.G=!1;}catch(f){vd(this,f);return}a=c||\"\";c=new Map(this.headers);if(d)if(Object.getPrototypeOf(d)===Object.prototype)for(var e in d)c.set(e,d[e]);else if(\"function\"===\ntypeof d.keys&&\"function\"===typeof d.get)for(const f of d.keys())c.set(f,d.get(f));else throw Error(\"Unknown input type for opt_headers: \"+String(d));d=Array.from(c.keys()).find(f=>\"content-type\"==f.toLowerCase());e=l.FormData&&a instanceof l.FormData;!(0<=ka(ud,b))||d||e||c.set(\"Content-Type\",\"application/x-www-form-urlencoded;charset=utf-8\");for(const [f,h]of c)this.g.setRequestHeader(f,h);this.K&&(this.g.responseType=this.K);\"withCredentials\"in this.g&&this.g.withCredentials!==this.M&&(this.g.withCredentials=\nthis.M);try{wd(this),0<this.B&&((this.L=xd(this.g))?(this.g.timeout=this.B,this.g.ontimeout=q(this.ua,this)):this.A=yb(this.ua,this.B,this)),this.v=!0,this.g.send(a),this.v=!1;}catch(f){vd(this,f);}};function xd(a){return z&&\"number\"===typeof a.timeout&&void 0!==a.ontimeout}k.ua=function(){\"undefined\"!=typeof goog&&this.g&&(this.j=\"Timed out after \"+this.B+\"ms, aborting\",this.m=8,C(this,\"timeout\"),this.abort(8));};function vd(a,b){a.h=!1;a.g&&(a.l=!0,a.g.abort(),a.l=!1);a.j=b;a.m=5;yd(a);zd(a);}\nfunction yd(a){a.F||(a.F=!0,C(a,\"complete\"),C(a,\"error\"));}k.abort=function(a){this.g&&this.h&&(this.h=!1,this.l=!0,this.g.abort(),this.l=!1,this.m=a||7,C(this,\"complete\"),C(this,\"abort\"),zd(this));};k.N=function(){this.g&&(this.h&&(this.h=!1,this.l=!0,this.g.abort(),this.l=!1),zd(this,!0));P.$.N.call(this);};k.La=function(){this.s||(this.G||this.v||this.l?Ad(this):this.kb());};k.kb=function(){Ad(this);};\nfunction Ad(a){if(a.h&&\"undefined\"!=typeof goog&&(!a.C[1]||4!=H(a)||2!=a.da()))if(a.v&&4==H(a))yb(a.La,0,a);else if(C(a,\"readystatechange\"),4==H(a)){a.h=!1;try{const h=a.da();a:switch(h){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var b=!0;break a;default:b=!1;}var c;if(!(c=b)){var d;if(d=0===h){var e=String(a.I).match(Lc)[1]||null;!e&&l.self&&l.self.location&&(e=l.self.location.protocol.slice(0,-1));d=!td.test(e?e.toLowerCase():\"\");}c=d;}if(c)C(a,\"complete\"),C(a,\"success\");else {a.m=\n6;try{var f=2<H(a)?a.g.statusText:\"\";}catch(n){f=\"\";}a.j=f+\" [\"+a.da()+\"]\";yd(a);}}finally{zd(a);}}}function zd(a,b){if(a.g){wd(a);const c=a.g,d=a.C[0]?()=>{}:null;a.g=null;a.C=null;b||C(a,\"ready\");try{c.onreadystatechange=d;}catch(e){}}}function wd(a){a.g&&a.L&&(a.g.ontimeout=null);a.A&&(l.clearTimeout(a.A),a.A=null);}k.isActive=function(){return !!this.g};function H(a){return a.g?a.g.readyState:0}k.da=function(){try{return 2<H(this)?this.g.status:-1}catch(a){return -1}};\nk.ja=function(){try{return this.g?this.g.responseText:\"\"}catch(a){return \"\"}};k.Wa=function(a){if(this.g){var b=this.g.responseText;a&&0==b.indexOf(a)&&(b=b.substring(a.length));return rd(b)}};function mc(a){try{if(!a.g)return null;if(\"response\"in a.g)return a.g.response;switch(a.K){case sd:case \"text\":return a.g.responseText;case \"arraybuffer\":if(\"mozResponseArrayBuffer\"in a.g)return a.g.mozResponseArrayBuffer}return null}catch(b){return null}}\nfunction tc(a){const b={};a=(a.g&&2<=H(a)?a.g.getAllResponseHeaders()||\"\":\"\").split(\"\\r\\n\");for(let d=0;d<a.length;d++){if(x(a[d]))continue;var c=qb(a[d]);const e=c[0];c=c[1];if(\"string\"!==typeof c)continue;c=c.trim();const f=b[e]||[];b[e]=f;f.push(c);}Oa(b,function(d){return d.join(\", \")});}k.Ia=function(){return this.m};k.Sa=function(){return \"string\"===typeof this.j?this.j:String(this.j)};function Bd(a){let b=\"\";Na(a,function(c,d){b+=d;b+=\":\";b+=c;b+=\"\\r\\n\";});return b}function Cd(a,b,c){a:{for(d in c){var d=!1;break a}d=!0;}d||(c=Bd(c),\"string\"===typeof a?(null!=c&&encodeURIComponent(String(c))):K(a,b,c));}function Dd(a,b,c){return c&&c.internalChannelParams?c.internalChannelParams[a]||b:b}\nfunction Ed(a){this.Ga=0;this.j=[];this.l=new Gb;this.pa=this.wa=this.I=this.Y=this.g=this.Da=this.F=this.na=this.o=this.U=this.s=null;this.fb=this.W=0;this.cb=Dd(\"failFast\",!1,a);this.G=this.v=this.u=this.m=this.h=null;this.aa=!0;this.Fa=this.V=-1;this.ba=this.A=this.C=0;this.ab=Dd(\"baseRetryDelayMs\",5E3,a);this.hb=Dd(\"retryDelaySeedMs\",1E4,a);this.eb=Dd(\"forwardChannelMaxRetries\",2,a);this.xa=Dd(\"forwardChannelRequestTimeoutMs\",2E4,a);this.va=a&&a.xmlHttpFactory||void 0;this.Ha=a&&a.useFetchStreams||\n!1;this.L=void 0;this.J=a&&a.supportsCrossDomainXhr||!1;this.K=\"\";this.i=new cd(a&&a.concurrentRequestLimit);this.Ja=new hd;this.P=a&&a.fastHandshake||!1;this.O=a&&a.encodeInitMessageHeaders||!1;this.P&&this.O&&(this.O=!1);this.bb=a&&a.bc||!1;a&&a.Ea&&this.l.Ea();a&&a.forceLongPolling&&(this.aa=!1);this.ca=!this.P&&this.aa&&a&&a.detectBufferingProxy||!1;this.qa=void 0;a&&a.longPollingTimeout&&0<a.longPollingTimeout&&(this.qa=a.longPollingTimeout);this.oa=void 0;this.S=0;this.M=!1;this.ma=this.B=null;}\nk=Ed.prototype;k.ra=8;k.H=1;function Hc(a){Fd(a);if(3==a.H){var b=a.W++,c=G(a.I);K(c,\"SID\",a.K);K(c,\"RID\",b);K(c,\"TYPE\",\"terminate\");Gd(a,c);b=new bc(a,a.l,b);b.L=2;b.A=hc(G(c));c=!1;if(l.navigator&&l.navigator.sendBeacon)try{c=l.navigator.sendBeacon(b.A.toString(),\"\");}catch(d){}!c&&l.Image&&((new Image).src=b.A,c=!0);c||(b.g=lc(b.l,null),b.g.ha(b.A));b.G=Date.now();jc(b);}Hd(a);}function zc(a){a.g&&(vc(a),a.g.cancel(),a.g=null);}\nfunction Fd(a){zc(a);a.u&&(l.clearTimeout(a.u),a.u=null);yc(a);a.i.cancel();a.m&&(\"number\"===typeof a.m&&l.clearTimeout(a.m),a.m=null);}function Gc(a){if(!ed(a.i)&&!a.m){a.m=!0;var b=a.Na;sb||vb();tb||(sb(),tb=!0);mb.add(b,a);a.C=0;}}function Id(a,b){if(Bc(a.i)>=a.i.j-(a.m?1:0))return !1;if(a.m)return a.j=b.F.concat(a.j),!0;if(1==a.H||2==a.H||a.C>=(a.cb?0:a.eb))return !1;a.m=Rb(q(a.Na,a,b),Jd(a,a.C));a.C++;return !0}\nk.Na=function(a){if(this.m)if(this.m=null,1==this.H){if(!a){this.W=Math.floor(1E5*Math.random());a=this.W++;const e=new bc(this,this.l,a);let f=this.s;this.U&&(f?(f=Pa(f),Ra(f,this.U)):f=this.U);null!==this.o||this.O||(e.I=f,f=null);if(this.P)a:{var b=0;for(var c=0;c<this.j.length;c++){b:{var d=this.j[c];if(\"__data__\"in d.map&&(d=d.map.__data__,\"string\"===typeof d)){d=d.length;break b}d=void 0;}if(void 0===d)break;b+=d;if(4096<b){b=c;break a}if(4096===b||c===this.j.length-1){b=c+1;break a}}b=1E3;}else b=\n1E3;b=Kd(this,e,b);c=G(this.I);K(c,\"RID\",a);K(c,\"CVER\",22);this.F&&K(c,\"X-HTTP-Session-Id\",this.F);Gd(this,c);f&&(this.O?b=\"headers=\"+encodeURIComponent(String(Bd(f)))+\"&\"+b:this.o&&Cd(c,this.o,f));Cc(this.i,e);this.bb&&K(c,\"TYPE\",\"init\");this.P?(K(c,\"$req\",b),K(c,\"SID\",\"null\"),e.aa=!0,gc(e,c,null)):gc(e,c,b);this.H=2;}}else 3==this.H&&(a?Ld(this,a):0==this.j.length||ed(this.i)||Ld(this));};\nfunction Ld(a,b){var c;b?c=b.m:c=a.W++;const d=G(a.I);K(d,\"SID\",a.K);K(d,\"RID\",c);K(d,\"AID\",a.V);Gd(a,d);a.o&&a.s&&Cd(d,a.o,a.s);c=new bc(a,a.l,c,a.C+1);null===a.o&&(c.I=a.s);b&&(a.j=b.F.concat(a.j));b=Kd(a,c,1E3);c.setTimeout(Math.round(.5*a.xa)+Math.round(.5*a.xa*Math.random()));Cc(a.i,c);gc(c,d,b);}function Gd(a,b){a.na&&Na(a.na,function(c,d){K(b,d,c);});a.h&&Kc({},function(c,d){K(b,d,c);});}\nfunction Kd(a,b,c){c=Math.min(a.j.length,c);var d=a.h?q(a.h.Va,a.h,a):null;a:{var e=a.j;let f=-1;for(;;){const h=[\"count=\"+c];-1==f?0<c?(f=e[0].g,h.push(\"ofs=\"+f)):f=0:h.push(\"ofs=\"+f);let n=!0;for(let t=0;t<c;t++){let m=e[t].g;const u=e[t].map;m-=f;if(0>m)f=Math.max(0,e[t].g-100),n=!1;else try{id(u,h,\"req\"+m+\"_\");}catch(L){d&&d(u);}}if(n){d=h.join(\"&\");break a}}}a=a.j.splice(0,c);b.F=a;return d}function Fc(a){if(!a.g&&!a.u){a.ba=1;var b=a.Ma;sb||vb();tb||(sb(),tb=!0);mb.add(b,a);a.A=0;}}\nfunction Ac(a){if(a.g||a.u||3<=a.A)return !1;a.ba++;a.u=Rb(q(a.Ma,a),Jd(a,a.A));a.A++;return !0}k.Ma=function(){this.u=null;Md(this);if(this.ca&&!(this.M||null==this.g||0>=this.S)){var a=2*this.S;this.l.info(\"BP detection timer enabled: \"+a);this.B=Rb(q(this.jb,this),a);}};k.jb=function(){this.B&&(this.B=null,this.l.info(\"BP detection timeout reached.\"),this.l.info(\"Buffering proxy detected and switch to long-polling!\"),this.G=!1,this.M=!0,F(10),zc(this),Md(this));};\nfunction vc(a){null!=a.B&&(l.clearTimeout(a.B),a.B=null);}function Md(a){a.g=new bc(a,a.l,\"rpc\",a.ba);null===a.o&&(a.g.I=a.s);a.g.O=0;var b=G(a.wa);K(b,\"RID\",\"rpc\");K(b,\"SID\",a.K);K(b,\"AID\",a.V);K(b,\"CI\",a.G?\"0\":\"1\");!a.G&&a.qa&&K(b,\"TO\",a.qa);K(b,\"TYPE\",\"xmlhttp\");Gd(a,b);a.o&&a.s&&Cd(b,a.o,a.s);a.L&&a.g.setTimeout(a.L);var c=a.g;a=a.pa;c.L=1;c.A=hc(G(b));c.u=null;c.S=!0;ic(c,a);}k.ib=function(){null!=this.v&&(this.v=null,zc(this),Ac(this),F(19));};\nfunction yc(a){null!=a.v&&(l.clearTimeout(a.v),a.v=null);}function sc(a,b){var c=null;if(a.g==b){yc(a);vc(a);a.g=null;var d=2;}else if(xc(a.i,b))c=b.F,Ec(a.i,b),d=1;else return;if(0!=a.H)if(b.i)if(1==d){c=b.u?b.u.length:0;b=Date.now()-b.G;var e=a.C;d=Mb();C(d,new Qb(d,c));Gc(a);}else Fc(a);else if(e=b.s,3==e||0==e&&0<b.ca||!(1==d&&Id(a,b)||2==d&&Ac(a)))switch(c&&0<c.length&&(b=a.i,b.i=b.i.concat(c)),e){case 1:J(a,5);break;case 4:J(a,10);break;case 3:J(a,6);break;default:J(a,2);}}\nfunction Jd(a,b){let c=a.ab+Math.floor(Math.random()*a.hb);a.isActive()||(c*=2);return c*b}function J(a,b){a.l.info(\"Error code \"+b);if(2==b){var c=null;a.h&&(c=null);var d=q(a.pb,a);c||(c=new M(\"//www.google.com/images/cleardot.gif\"),l.location&&\"http\"==l.location.protocol||Nc(c,\"https\"),hc(c));jd(c.toString(),d);}else F(2);a.H=0;a.h&&a.h.za(b);Hd(a);Fd(a);}k.pb=function(a){a?(this.l.info(\"Successfully pinged google.com\"),F(2)):(this.l.info(\"Failed to ping google.com\"),F(1));};\nfunction Hd(a){a.H=0;a.ma=[];if(a.h){const b=fd(a.i);if(0!=b.length||0!=a.j.length)na(a.ma,b),na(a.ma,a.j),a.i.i.length=0,ma(a.j),a.j.length=0;a.h.ya();}}function Dc(a,b,c){var d=c instanceof M?G(c):new M(c);if(\"\"!=d.g)b&&(d.g=b+\".\"+d.g),Oc(d,d.m);else {var e=l.location;d=e.protocol;b=b?b+\".\"+e.hostname:e.hostname;e=+e.port;var f=new M(null);d&&Nc(f,d);b&&(f.g=b);e&&Oc(f,e);c&&(f.l=c);d=f;}c=a.F;b=a.Da;c&&b&&K(d,c,b);K(d,\"VER\",a.ra);Gd(a,d);return d}\nfunction lc(a,b,c){if(b&&!a.J)throw Error(\"Can't create secondary domain capable XhrIo object.\");b=a.Ha&&!a.va?new P(new ld({ob:c})):new P(a.va);b.Oa(a.J);return b}k.isActive=function(){return !!this.h&&this.h.isActive(this)};function Nd(){}k=Nd.prototype;k.Ba=function(){};k.Aa=function(){};k.za=function(){};k.ya=function(){};k.isActive=function(){return !0};k.Va=function(){};function Od(){if(z&&!(10<=Number(Fa)))throw Error(\"Environmental error: no available transport.\");}Od.prototype.g=function(a,b){return new Q(a,b)};\nfunction Q(a,b){B.call(this);this.g=new Ed(b);this.l=a;this.h=b&&b.messageUrlParams||null;a=b&&b.messageHeaders||null;b&&b.clientProtocolHeaderRequired&&(a?a[\"X-Client-Protocol\"]=\"webchannel\":a={\"X-Client-Protocol\":\"webchannel\"});this.g.s=a;a=b&&b.initMessageHeaders||null;b&&b.messageContentType&&(a?a[\"X-WebChannel-Content-Type\"]=b.messageContentType:a={\"X-WebChannel-Content-Type\":b.messageContentType});b&&b.Ca&&(a?a[\"X-WebChannel-Client-Profile\"]=b.Ca:a={\"X-WebChannel-Client-Profile\":b.Ca});this.g.U=\na;(a=b&&b.cc)&&!x(a)&&(this.g.o=a);this.A=b&&b.supportsCrossDomainXhr||!1;this.v=b&&b.sendRawJson||!1;(b=b&&b.httpSessionIdParam)&&!x(b)&&(this.g.F=b,a=this.h,null!==a&&b in a&&(a=this.h,b in a&&delete a[b]));this.j=new R(this);}r(Q,B);Q.prototype.m=function(){this.g.h=this.j;this.A&&(this.g.J=!0);var a=this.g,b=this.l,c=this.h||void 0;F(0);a.Y=b;a.na=c||{};a.G=a.aa;a.I=Dc(a,null,a.Y);Gc(a);};Q.prototype.close=function(){Hc(this.g);};\nQ.prototype.u=function(a){var b=this.g;if(\"string\"===typeof a){var c={};c.__data__=a;a=c;}else this.v&&(c={},c.__data__=jb(a),a=c);b.j.push(new bd(b.fb++,a));3==b.H&&Gc(b);};Q.prototype.N=function(){this.g.h=null;delete this.j;Hc(this.g);delete this.g;Q.$.N.call(this);};\nfunction Pd(a){Yb.call(this);a.__headers__&&(this.headers=a.__headers__,this.statusCode=a.__status__,delete a.__headers__,delete a.__status__);var b=a.__sm__;if(b){a:{for(const c in b){a=c;break a}a=void 0;}if(this.i=a)a=this.i,b=null!==b&&a in b?b[a]:void 0;this.data=b;}else this.data=a;}r(Pd,Yb);function Qd(){Zb.call(this);this.status=1;}r(Qd,Zb);function R(a){this.g=a;}r(R,Nd);R.prototype.Ba=function(){C(this.g,\"a\");};R.prototype.Aa=function(a){C(this.g,new Pd(a));};\nR.prototype.za=function(a){C(this.g,new Qd());};R.prototype.ya=function(){C(this.g,\"b\");};function Rd(){this.blockSize=-1;}function S(){this.blockSize=-1;this.blockSize=64;this.g=Array(4);this.m=Array(this.blockSize);this.i=this.h=0;this.reset();}r(S,Rd);S.prototype.reset=function(){this.g[0]=1732584193;this.g[1]=4023233417;this.g[2]=2562383102;this.g[3]=271733878;this.i=this.h=0;};\nfunction Sd(a,b,c){c||(c=0);var d=Array(16);if(\"string\"===typeof b)for(var e=0;16>e;++e)d[e]=b.charCodeAt(c++)|b.charCodeAt(c++)<<8|b.charCodeAt(c++)<<16|b.charCodeAt(c++)<<24;else for(e=0;16>e;++e)d[e]=b[c++]|b[c++]<<8|b[c++]<<16|b[c++]<<24;b=a.g[0];c=a.g[1];e=a.g[2];var f=a.g[3];var h=b+(f^c&(e^f))+d[0]+3614090360&4294967295;b=c+(h<<7&4294967295|h>>>25);h=f+(e^b&(c^e))+d[1]+3905402710&4294967295;f=b+(h<<12&4294967295|h>>>20);h=e+(c^f&(b^c))+d[2]+606105819&4294967295;e=f+(h<<17&4294967295|h>>>15);\nh=c+(b^e&(f^b))+d[3]+3250441966&4294967295;c=e+(h<<22&4294967295|h>>>10);h=b+(f^c&(e^f))+d[4]+4118548399&4294967295;b=c+(h<<7&4294967295|h>>>25);h=f+(e^b&(c^e))+d[5]+1200080426&4294967295;f=b+(h<<12&4294967295|h>>>20);h=e+(c^f&(b^c))+d[6]+2821735955&4294967295;e=f+(h<<17&4294967295|h>>>15);h=c+(b^e&(f^b))+d[7]+4249261313&4294967295;c=e+(h<<22&4294967295|h>>>10);h=b+(f^c&(e^f))+d[8]+1770035416&4294967295;b=c+(h<<7&4294967295|h>>>25);h=f+(e^b&(c^e))+d[9]+2336552879&4294967295;f=b+(h<<12&4294967295|\nh>>>20);h=e+(c^f&(b^c))+d[10]+4294925233&4294967295;e=f+(h<<17&4294967295|h>>>15);h=c+(b^e&(f^b))+d[11]+2304563134&4294967295;c=e+(h<<22&4294967295|h>>>10);h=b+(f^c&(e^f))+d[12]+1804603682&4294967295;b=c+(h<<7&4294967295|h>>>25);h=f+(e^b&(c^e))+d[13]+4254626195&4294967295;f=b+(h<<12&4294967295|h>>>20);h=e+(c^f&(b^c))+d[14]+2792965006&4294967295;e=f+(h<<17&4294967295|h>>>15);h=c+(b^e&(f^b))+d[15]+1236535329&4294967295;c=e+(h<<22&4294967295|h>>>10);h=b+(e^f&(c^e))+d[1]+4129170786&4294967295;b=c+(h<<\n5&4294967295|h>>>27);h=f+(c^e&(b^c))+d[6]+3225465664&4294967295;f=b+(h<<9&4294967295|h>>>23);h=e+(b^c&(f^b))+d[11]+643717713&4294967295;e=f+(h<<14&4294967295|h>>>18);h=c+(f^b&(e^f))+d[0]+3921069994&4294967295;c=e+(h<<20&4294967295|h>>>12);h=b+(e^f&(c^e))+d[5]+3593408605&4294967295;b=c+(h<<5&4294967295|h>>>27);h=f+(c^e&(b^c))+d[10]+38016083&4294967295;f=b+(h<<9&4294967295|h>>>23);h=e+(b^c&(f^b))+d[15]+3634488961&4294967295;e=f+(h<<14&4294967295|h>>>18);h=c+(f^b&(e^f))+d[4]+3889429448&4294967295;c=\ne+(h<<20&4294967295|h>>>12);h=b+(e^f&(c^e))+d[9]+568446438&4294967295;b=c+(h<<5&4294967295|h>>>27);h=f+(c^e&(b^c))+d[14]+3275163606&4294967295;f=b+(h<<9&4294967295|h>>>23);h=e+(b^c&(f^b))+d[3]+4107603335&4294967295;e=f+(h<<14&4294967295|h>>>18);h=c+(f^b&(e^f))+d[8]+1163531501&4294967295;c=e+(h<<20&4294967295|h>>>12);h=b+(e^f&(c^e))+d[13]+2850285829&4294967295;b=c+(h<<5&4294967295|h>>>27);h=f+(c^e&(b^c))+d[2]+4243563512&4294967295;f=b+(h<<9&4294967295|h>>>23);h=e+(b^c&(f^b))+d[7]+1735328473&4294967295;\ne=f+(h<<14&4294967295|h>>>18);h=c+(f^b&(e^f))+d[12]+2368359562&4294967295;c=e+(h<<20&4294967295|h>>>12);h=b+(c^e^f)+d[5]+4294588738&4294967295;b=c+(h<<4&4294967295|h>>>28);h=f+(b^c^e)+d[8]+2272392833&4294967295;f=b+(h<<11&4294967295|h>>>21);h=e+(f^b^c)+d[11]+1839030562&4294967295;e=f+(h<<16&4294967295|h>>>16);h=c+(e^f^b)+d[14]+4259657740&4294967295;c=e+(h<<23&4294967295|h>>>9);h=b+(c^e^f)+d[1]+2763975236&4294967295;b=c+(h<<4&4294967295|h>>>28);h=f+(b^c^e)+d[4]+1272893353&4294967295;f=b+(h<<11&4294967295|\nh>>>21);h=e+(f^b^c)+d[7]+4139469664&4294967295;e=f+(h<<16&4294967295|h>>>16);h=c+(e^f^b)+d[10]+3200236656&4294967295;c=e+(h<<23&4294967295|h>>>9);h=b+(c^e^f)+d[13]+681279174&4294967295;b=c+(h<<4&4294967295|h>>>28);h=f+(b^c^e)+d[0]+3936430074&4294967295;f=b+(h<<11&4294967295|h>>>21);h=e+(f^b^c)+d[3]+3572445317&4294967295;e=f+(h<<16&4294967295|h>>>16);h=c+(e^f^b)+d[6]+76029189&4294967295;c=e+(h<<23&4294967295|h>>>9);h=b+(c^e^f)+d[9]+3654602809&4294967295;b=c+(h<<4&4294967295|h>>>28);h=f+(b^c^e)+d[12]+\n3873151461&4294967295;f=b+(h<<11&4294967295|h>>>21);h=e+(f^b^c)+d[15]+530742520&4294967295;e=f+(h<<16&4294967295|h>>>16);h=c+(e^f^b)+d[2]+3299628645&4294967295;c=e+(h<<23&4294967295|h>>>9);h=b+(e^(c|~f))+d[0]+4096336452&4294967295;b=c+(h<<6&4294967295|h>>>26);h=f+(c^(b|~e))+d[7]+1126891415&4294967295;f=b+(h<<10&4294967295|h>>>22);h=e+(b^(f|~c))+d[14]+2878612391&4294967295;e=f+(h<<15&4294967295|h>>>17);h=c+(f^(e|~b))+d[5]+4237533241&4294967295;c=e+(h<<21&4294967295|h>>>11);h=b+(e^(c|~f))+d[12]+1700485571&\n4294967295;b=c+(h<<6&4294967295|h>>>26);h=f+(c^(b|~e))+d[3]+2399980690&4294967295;f=b+(h<<10&4294967295|h>>>22);h=e+(b^(f|~c))+d[10]+4293915773&4294967295;e=f+(h<<15&4294967295|h>>>17);h=c+(f^(e|~b))+d[1]+2240044497&4294967295;c=e+(h<<21&4294967295|h>>>11);h=b+(e^(c|~f))+d[8]+1873313359&4294967295;b=c+(h<<6&4294967295|h>>>26);h=f+(c^(b|~e))+d[15]+4264355552&4294967295;f=b+(h<<10&4294967295|h>>>22);h=e+(b^(f|~c))+d[6]+2734768916&4294967295;e=f+(h<<15&4294967295|h>>>17);h=c+(f^(e|~b))+d[13]+1309151649&\n4294967295;c=e+(h<<21&4294967295|h>>>11);h=b+(e^(c|~f))+d[4]+4149444226&4294967295;b=c+(h<<6&4294967295|h>>>26);h=f+(c^(b|~e))+d[11]+3174756917&4294967295;f=b+(h<<10&4294967295|h>>>22);h=e+(b^(f|~c))+d[2]+718787259&4294967295;e=f+(h<<15&4294967295|h>>>17);h=c+(f^(e|~b))+d[9]+3951481745&4294967295;a.g[0]=a.g[0]+b&4294967295;a.g[1]=a.g[1]+(e+(h<<21&4294967295|h>>>11))&4294967295;a.g[2]=a.g[2]+e&4294967295;a.g[3]=a.g[3]+f&4294967295;}\nS.prototype.j=function(a,b){void 0===b&&(b=a.length);for(var c=b-this.blockSize,d=this.m,e=this.h,f=0;f<b;){if(0==e)for(;f<=c;)Sd(this,a,f),f+=this.blockSize;if(\"string\"===typeof a)for(;f<b;){if(d[e++]=a.charCodeAt(f++),e==this.blockSize){Sd(this,d);e=0;break}}else for(;f<b;)if(d[e++]=a[f++],e==this.blockSize){Sd(this,d);e=0;break}}this.h=e;this.i+=b;};\nS.prototype.l=function(){var a=Array((56>this.h?this.blockSize:2*this.blockSize)-this.h);a[0]=128;for(var b=1;b<a.length-8;++b)a[b]=0;var c=8*this.i;for(b=a.length-8;b<a.length;++b)a[b]=c&255,c/=256;this.j(a);a=Array(16);for(b=c=0;4>b;++b)for(var d=0;32>d;d+=8)a[c++]=this.g[b]>>>d&255;return a};function T(a,b){this.h=b;for(var c=[],d=!0,e=a.length-1;0<=e;e--){var f=a[e]|0;d&&f==b||(c[e]=f,d=!1);}this.g=c;}var sa={};function Td(a){return -128<=a&&128>a?ra(a,function(b){return new T([b|0],0>b?-1:0)}):new T([a|0],0>a?-1:0)}function U(a){if(isNaN(a)||!isFinite(a))return V;if(0>a)return W(U(-a));for(var b=[],c=1,d=0;a>=c;d++)b[d]=a/c|0,c*=Ud;return new T(b,0)}\nfunction Vd(a,b){if(0==a.length)throw Error(\"number format error: empty string\");b=b||10;if(2>b||36<b)throw Error(\"radix out of range: \"+b);if(\"-\"==a.charAt(0))return W(Vd(a.substring(1),b));if(0<=a.indexOf(\"-\"))throw Error('number format error: interior \"-\" character');for(var c=U(Math.pow(b,8)),d=V,e=0;e<a.length;e+=8){var f=Math.min(8,a.length-e),h=parseInt(a.substring(e,e+f),b);8>f?(f=U(Math.pow(b,f)),d=d.R(f).add(U(h))):(d=d.R(c),d=d.add(U(h)));}return d}\nvar Ud=4294967296,V=Td(0),Wd=Td(1),Xd=Td(16777216);k=T.prototype;k.ea=function(){if(X(this))return -W(this).ea();for(var a=0,b=1,c=0;c<this.g.length;c++){var d=this.D(c);a+=(0<=d?d:Ud+d)*b;b*=Ud;}return a};\nk.toString=function(a){a=a||10;if(2>a||36<a)throw Error(\"radix out of range: \"+a);if(Y(this))return \"0\";if(X(this))return \"-\"+W(this).toString(a);for(var b=U(Math.pow(a,6)),c=this,d=\"\";;){var e=Yd(c,b).g;c=Zd(c,e.R(b));var f=((0<c.g.length?c.g[0]:c.h)>>>0).toString(a);c=e;if(Y(c))return f+d;for(;6>f.length;)f=\"0\"+f;d=f+d;}};k.D=function(a){return 0>a?0:a<this.g.length?this.g[a]:this.h};function Y(a){if(0!=a.h)return !1;for(var b=0;b<a.g.length;b++)if(0!=a.g[b])return !1;return !0}\nfunction X(a){return -1==a.h}k.X=function(a){a=Zd(this,a);return X(a)?-1:Y(a)?0:1};function W(a){for(var b=a.g.length,c=[],d=0;d<b;d++)c[d]=~a.g[d];return (new T(c,~a.h)).add(Wd)}k.abs=function(){return X(this)?W(this):this};k.add=function(a){for(var b=Math.max(this.g.length,a.g.length),c=[],d=0,e=0;e<=b;e++){var f=d+(this.D(e)&65535)+(a.D(e)&65535),h=(f>>>16)+(this.D(e)>>>16)+(a.D(e)>>>16);d=h>>>16;f&=65535;h&=65535;c[e]=h<<16|f;}return new T(c,c[c.length-1]&-2147483648?-1:0)};\nfunction Zd(a,b){return a.add(W(b))}\nk.R=function(a){if(Y(this)||Y(a))return V;if(X(this))return X(a)?W(this).R(W(a)):W(W(this).R(a));if(X(a))return W(this.R(W(a)));if(0>this.X(Xd)&&0>a.X(Xd))return U(this.ea()*a.ea());for(var b=this.g.length+a.g.length,c=[],d=0;d<2*b;d++)c[d]=0;for(d=0;d<this.g.length;d++)for(var e=0;e<a.g.length;e++){var f=this.D(d)>>>16,h=this.D(d)&65535,n=a.D(e)>>>16,t=a.D(e)&65535;c[2*d+2*e]+=h*t;$d(c,2*d+2*e);c[2*d+2*e+1]+=f*t;$d(c,2*d+2*e+1);c[2*d+2*e+1]+=h*n;$d(c,2*d+2*e+1);c[2*d+2*e+2]+=f*n;$d(c,2*d+2*e+2);}for(d=\n0;d<b;d++)c[d]=c[2*d+1]<<16|c[2*d];for(d=b;d<2*b;d++)c[d]=0;return new T(c,0)};function $d(a,b){for(;(a[b]&65535)!=a[b];)a[b+1]+=a[b]>>>16,a[b]&=65535,b++;}function ae(a,b){this.g=a;this.h=b;}\nfunction Yd(a,b){if(Y(b))throw Error(\"division by zero\");if(Y(a))return new ae(V,V);if(X(a))return b=Yd(W(a),b),new ae(W(b.g),W(b.h));if(X(b))return b=Yd(a,W(b)),new ae(W(b.g),b.h);if(30<a.g.length){if(X(a)||X(b))throw Error(\"slowDivide_ only works with positive integers.\");for(var c=Wd,d=b;0>=d.X(a);)c=be(c),d=be(d);var e=Z(c,1),f=Z(d,1);d=Z(d,2);for(c=Z(c,2);!Y(d);){var h=f.add(d);0>=h.X(a)&&(e=e.add(c),f=h);d=Z(d,1);c=Z(c,1);}b=Zd(a,e.R(b));return new ae(e,b)}for(e=V;0<=a.X(b);){c=Math.max(1,Math.floor(a.ea()/\nb.ea()));d=Math.ceil(Math.log(c)/Math.LN2);d=48>=d?1:Math.pow(2,d-48);f=U(c);for(h=f.R(b);X(h)||0<h.X(a);)c-=d,f=U(c),h=f.R(b);Y(f)&&(f=Wd);e=e.add(f);a=Zd(a,h);}return new ae(e,a)}k.gb=function(a){return Yd(this,a).h};k.and=function(a){for(var b=Math.max(this.g.length,a.g.length),c=[],d=0;d<b;d++)c[d]=this.D(d)&a.D(d);return new T(c,this.h&a.h)};k.or=function(a){for(var b=Math.max(this.g.length,a.g.length),c=[],d=0;d<b;d++)c[d]=this.D(d)|a.D(d);return new T(c,this.h|a.h)};\nk.xor=function(a){for(var b=Math.max(this.g.length,a.g.length),c=[],d=0;d<b;d++)c[d]=this.D(d)^a.D(d);return new T(c,this.h^a.h)};function be(a){for(var b=a.g.length+1,c=[],d=0;d<b;d++)c[d]=a.D(d)<<1|a.D(d-1)>>>31;return new T(c,a.h)}function Z(a,b){var c=b>>5;b%=32;for(var d=a.g.length-c,e=[],f=0;f<d;f++)e[f]=0<b?a.D(f+c)>>>b|a.D(f+c+1)<<32-b:a.D(f+c);return new T(e,a.h)}Od.prototype.createWebChannel=Od.prototype.g;Q.prototype.send=Q.prototype.u;Q.prototype.open=Q.prototype.m;Q.prototype.close=Q.prototype.close;Sb.NO_ERROR=0;Sb.TIMEOUT=8;Sb.HTTP_ERROR=6;Tb.COMPLETE=\"complete\";Wb.EventType=Xb;Xb.OPEN=\"a\";Xb.CLOSE=\"b\";Xb.ERROR=\"c\";Xb.MESSAGE=\"d\";B.prototype.listen=B.prototype.O;P.prototype.listenOnce=P.prototype.P;P.prototype.getLastError=P.prototype.Sa;P.prototype.getLastErrorCode=P.prototype.Ia;P.prototype.getStatus=P.prototype.da;P.prototype.getResponseJson=P.prototype.Wa;\nP.prototype.getResponseText=P.prototype.ja;P.prototype.send=P.prototype.ha;P.prototype.setWithCredentials=P.prototype.Oa;S.prototype.digest=S.prototype.l;S.prototype.reset=S.prototype.reset;S.prototype.update=S.prototype.j;T.prototype.add=T.prototype.add;T.prototype.multiply=T.prototype.R;T.prototype.modulo=T.prototype.gb;T.prototype.compare=T.prototype.X;T.prototype.toNumber=T.prototype.ea;T.prototype.toString=T.prototype.toString;T.prototype.getBits=T.prototype.D;T.fromNumber=U;T.fromString=Vd;\nvar createWebChannelTransport = esm.createWebChannelTransport=function(){return new Od};var getStatEventTarget = esm.getStatEventTarget=function(){return Mb()};var ErrorCode = esm.ErrorCode=Sb;var EventType = esm.EventType=Tb;var Event = esm.Event=E;var Stat = esm.Stat={xb:0,Ab:1,Bb:2,Ub:3,Zb:4,Wb:5,Xb:6,Vb:7,Tb:8,Yb:9,PROXY:10,NOPROXY:11,Rb:12,Nb:13,Ob:14,Mb:15,Pb:16,Qb:17,tb:18,sb:19,ub:20};var FetchXmlHttpFactory = esm.FetchXmlHttpFactory=ld;var WebChannel = esm.WebChannel=Wb;var XhrIo = esm.XhrIo=P;var Md5 = esm.Md5=S;var Integer = esm.Integer=T;\n\nexport { ErrorCode, Event, EventType, FetchXmlHttpFactory, Integer, Md5, Stat, WebChannel, XhrIo, createWebChannelTransport, esm as default, getStatEventTarget };\n//# sourceMappingURL=index.esm2017.js.map\n"],"names":["stringToByteArray$1","str","out","p","i","length","c","charCodeAt","base64","byteToCharMap_","charToByteMap_","byteToCharMapWebSafe_","charToByteMapWebSafe_","ENCODED_VALS_BASE","ENCODED_VALS","this","ENCODED_VALS_WEBSAFE","HAS_NATIVE_SUPPORT","atob","encodeByteArray","input","webSafe","Array","isArray","Error","init_","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","push","join","encodeString","btoa","decodeString","bytes","pos","c1","String","fromCharCode","c2","u","c3","byteArrayToString","decodeStringToByteArray","charToByteMap","charAt","byte4","DecodeBase64StringError","constructor","super","arguments","name","base64urlEncodeWithoutPadding","utf8Bytes","base64Encode","replace","base64Decode","e","console","error","getDefaultsFromGlobal","self","window","g","getGlobal","__FIREBASE_DEFAULTS__","getDefaults","process","defaultsJsonString","JSON","parse","getDefaultsFromEnvVariable","document","match","cookie","decoded","getDefaultsFromCookie","info","getDefaultEmulatorHostnameAndPort","productName","host","_a","_b","emulatorHosts","getDefaultEmulatorHost","separatorIndex","lastIndexOf","port","parseInt","substring","getDefaultAppConfig","config","Deferred","reject","resolve","promise","Promise","wrapCallback","callback","value","catch","createMockUserToken","token","projectId","uid","project","iat","sub","user_id","payload","Object","assign","iss","aud","exp","auth_time","firebase","sign_in_provider","identities","stringify","alg","type","isIndexedDBAvailable","indexedDB","validateIndexedDBOpenable","preExist","DB_CHECK_NAME","request","open","onsuccess","result","close","deleteDatabase","onupgradeneeded","onerror","message","FirebaseError","code","customData","setPrototypeOf","prototype","captureStackTrace","ErrorFactory","create","service","serviceName","errors","data","fullCode","template","PATTERN","_","key","replaceTemplate","fullMessage","deepEqual","a","b","aKeys","keys","bKeys","k","includes","aProp","bProp","isObject","thing","getModularInstance","_delegate","firebaseConfig","apiKey","authDomain","storageBucket","messagingSenderId","appId","measurementId","IndexPage","isPlaying","setIsPlaying","React","time","setTime","question","setQuestion","rankingData","setRankingData","link","createElement","rel","href","script1","src","onload","onLoad","head","appendChild","body","app","initializeApp","db","getFirestore","showRankingData","async","getDocs","collection","forEach","doc","score","sort","slice","$","remainTimeSecTimer","animationTimer","questionTextList","fps","gameWidth","gameMsec","isComplete","currentQuestionIndex","cloudX","stoneX","toriiX","remainTimeSec","Math","floor","backgroundLeft","backgroundCloudWidth","backgroundStep","$dogrunImg","$btnToggle","$backgroundCloud","$backgroundStone","$answerForm","$answerInput","$btnReplay","postRanking","val","confirm","addDoc","animate","scrollTop","position","top","postRankingData","alert","toggle","resetGame","removeClass","focus","displayQuestion","setInterval","clearInterval","addClass","blur","stopAnimation","text","moveAnimation","boost","css","setTimeout","clearTimeout","click","submit","preventDefault","keydown","keyCode","removeChild","___EmotionJSX","Layout","className","style","left","color","width","height","lineHeight","textAlign","fontSize","userSelect","size","autoComplete","onClick","map","_ref","Head","Seo","instanceOfAny","object","constructors","some","idbProxyableTypes","cursorAdvanceMethods","cursorRequestMap","WeakMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","idbProxyTraps","get","target","prop","receiver","IDBTransaction","objectStoreNames","undefined","objectStore","set","has","wrapFunction","func","IDBDatabase","transaction","IDBCursor","advance","continue","continuePrimaryKey","args","apply","unwrap","storeNames","tx","call","transformCachableValue","done","unlisten","removeEventListener","complete","DOMException","addEventListener","cacheDonePromiseForTransaction","IDBObjectStore","IDBIndex","Proxy","IDBRequest","success","then","promisifyRequest","newValue","readMethods","writeMethods","cachedMethods","Map","getMethod","targetFuncName","useIndex","isWrite","method","storeName","store","index","shift","all","oldTraps","PlatformLoggerServiceImpl","container","getPlatformInfoString","getProviders","provider","component","getComponent","isVersionServiceProvider","getImmediate","library","version","filter","logString","name$o","version$1","logger","DEFAULT_ENTRY_NAME","PLATFORM_LOG_STRING","_apps","_components","_addComponent","addComponent","debug","_registerComponent","componentName","values","_getProvider","heartbeatController","getProvider","optional","triggerHeartbeat","ERRORS","ERROR_FACTORY","FirebaseAppImpl","options","_isDeleted","_options","_config","_name","_automaticDataCollectionEnabled","automaticDataCollectionEnabled","_container","checkDestroyed","isDeleted","appName","SDK_VERSION","rawConfig","existingApp","newApp","getApp","registerVersion","libraryKeyOrName","variant","libraryMismatch","versionMismatch","warning","warn","DB_NAME","DB_VERSION","STORE_NAME","dbPromise","getDbPromise","blocked","upgrade","blocking","terminated","openPromise","event","oldVersion","newVersion","openDB","createObjectStore","originalErrorMessage","writeHeartbeatsToIndexedDB","heartbeatObject","put","computeKey","idbGetError","HeartbeatServiceImpl","_heartbeatsCache","_storage","HeartbeatStorageImpl","_heartbeatsCachePromise","read","agent","date","getUTCDateString","heartbeats","lastSentHeartbeatDate","singleDateHeartbeat","hbTimestamp","Date","valueOf","now","overwrite","getHeartbeatsHeader","heartbeatsToSend","unsentEntries","heartbeatsCache","maxSize","heartbeatEntry","find","hb","dates","countBytes","pop","extractHeartbeatsForHeader","headerString","toISOString","_canUseIndexedDBPromise","runIndexedDBEnvironmentCheck","idbHeartbeatObject","readHeartbeatsFromIndexedDB","heartbeatsObject","existingHeartbeatsObject","add","Component","instanceFactory","multipleInstances","serviceProps","instantiationMode","onInstanceCreated","setInstantiationMode","mode","setMultipleInstances","setServiceProps","props","setInstanceCreatedCallback","Provider","instances","instancesDeferred","instancesOptions","onInitCallbacks","identifier","normalizedIdentifier","normalizeInstanceIdentifier","deferred","isInitialized","shouldAutoInitialize","instance","getOrInitializeService","instanceIdentifier","setComponent","isComponentEager","instanceDeferred","entries","clearInstance","delete","services","from","INTERNAL","_delete","isComponentSet","getOptions","initialize","opts","onInit","existingCallbacks","Set","existingInstance","invokeOnInitCallbacks","callbacks","ComponentContainer","providers","addOrOverwriteComponent","LogLevel","levelStringToEnum","DEBUG","VERBOSE","INFO","WARN","ERROR","SILENT","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","logLevel","Logger","_logLevel","_logHandler","_userLogHandler","TypeError","setLogLevel","logHandler","userLogHandler","log","commonjsGlobal","globalThis","global","esm","goog","l","aa","ca","random","da","ea","bind","fa","d","unshift","q","Function","toString","indexOf","ha","r","ac","f","h","n","v","s","o","sa","N","hasOwnProperty","ka","ma","na","w","defaultPrevented","oa","defineProperty","x","test","pa","navigator","userAgent","y","qa","za","Da","ta","z","ua","va","wa","toLowerCase","xa","ya","documentMode","Aa","Ba","exec","Ca","parseFloat","Ea","Fa","A","relatedTarget","button","screenY","screenX","clientY","clientX","metaKey","shiftKey","altKey","ctrlKey","state","pointerId","pointerType","changedTouches","srcElement","nodeName","fromElement","toElement","pageX","pageY","Ga","returnValue","Ha","Ia","Ja","listener","proxy","capture","la","ia","Ma","Na","Pa","Qa","split","Ra","Sa","Ua","splice","Ta","Va","Wa","Ya","once","Za","$a","O","ab","bb","eb","cb","attachEvent","addListener","removeListener","P","fb","gb","detachEvent","handleEvent","B","S","J","C","ib","concat","t","jb","lb","mb","next","ob","j","pb","reset","qb","rb","sb","tb","vb","ub","wb","xb","ga","T","yb","Number","zb","m","start","Ab","Bb","Cb","Eb","Fb","Gb","D","Jb","E","Lb","Mb","Nb","Ob","Pb","STAT_EVENT","stat","F","Qb","Rb","Sb","NO_ERROR","Db","TIMEOUT","Ib","Tb","Kb","$b","Ub","Vb","Wb","Xb","OPEN","Hb","Yb","Zb","bc","W","U","cc","V","I","L","G","Y","M","ba","K","dc","XMLHttpRequest","ec","fc","gc","hc","ic","jc","kc","lc","nb","oc","rc","uc","qc","vc","pc","isNaN","wc","nc","H","sc","abort","xc","yc","zc","Ac","Bc","ra","Ka","La","getResponseHeader","Cc","Dc","Ec","Fc","Gc","Hc","Kc","Z","Jc","Ic","ja","mc","TextDecoder","decode","stream","getAllResponseHeaders","trim","Oa","tc","cancel","Lc","RegExp","Nc","Oc","Pc","Qc","Rc","$c","Xc","Sc","Yc","abs","decodeURI","decodeURIComponent","encodeURI","Zc","Tc","encodeURIComponent","Uc","Vc","Wc","Mc","ad","bd","cd","dd","PerformanceNavigationTiming","performance","getEntriesByType","nextHopProtocol","ed","fd","clear","gd","hd","id","kd","onabort","ontimeout","ld","md","readyState","nd","status","responseType","responseText","response","statusText","onreadystatechange","Headers","qd","Xa","pd","od","send","headers","credentials","cache","fetch","Request","arrayBuffer","ReadableStream","getReader","Uint8Array","setRequestHeader","append","rd","sd","td","ud","vd","yd","zd","Ad","location","protocol","wd","mozResponseArrayBuffer","Bd","Cd","Dd","internalChannelParams","Ed","xmlHttpFactory","useFetchStreams","supportsCrossDomainXhr","concurrentRequestLimit","fastHandshake","encodeInitMessageHeaders","forceLongPolling","detectBufferingProxy","longPollingTimeout","Fd","Gd","sendBeacon","Image","Hd","Ld","Kd","round","min","max","Jd","Md","Id","isActive","jd","hostname","Nd","Od","Q","messageUrlParams","messageHeaders","clientProtocolHeaderRequired","initMessageHeaders","messageContentType","sendRawJson","httpSessionIdParam","R","Pd","__headers__","statusCode","__status__","__sm__","Qd","blockSize","Sd","toUpperCase","getPrototypeOf","FormData","withCredentials","timeout","xd","kb","__data__","Td","isFinite","Ud","Wd","Xd","X","Zd","$d","ae","Yd","be","ceil","LN2","pow","and","or","xor","createWebChannel","HTTP_ERROR","COMPLETE","EventType","CLOSE","MESSAGE","listen","listenOnce","getLastError","getLastErrorCode","getStatus","getResponseJson","getResponseText","setWithCredentials","digest","update","multiply","modulo","compare","toNumber","getBits","fromNumber","fromString","Vd","createWebChannelTransport","getStatEventTarget","ErrorCode","Event","Stat","PROXY","NOPROXY","WebChannel","FetchXmlHttpFactory","XhrIo","Md5","Integer"],"sourceRoot":""}