1 line
40 KiB
JavaScript
1 line
40 KiB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("@firebase/app")):"function"==typeof define&&define.amd?define(["@firebase/app"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).firebase)}(this,(function(e){"use strict";try{(function(){var t=function(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}(e),n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},r=function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function i(e,t,n,r){return new(n=n||Promise)((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):((t=e.value)instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))}function o(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},s={next:a(0),throw:a(1),return:a(2)};return"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,(s=i?[2&s[0],i.value]:s)[0]){case 0:case 1:i=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(i=0<(i=o.trys).length&&i[i.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(6===s[0]&&o.label<i[1]){o.label=i[1],i=s;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(s);break}i[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(a){s=[6,a],r=0}finally{n=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function s(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return{value:(e=e&&r>=e.length?void 0:e)&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function a(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||0<t--)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function u(e,t){for(var n=0,r=t.length,i=e.length;n<r;n++,i++)e[i]=t[n];return e}var c,l=(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(f,c=Error),f);function f(e,t,n){return(t=c.call(this,t)||this).code=e,t.customData=n,t.name="FirebaseError",Object.setPrototypeOf(t,f.prototype),Error.captureStackTrace&&Error.captureStackTrace(t,p.prototype.create),t}var p=(d.prototype.create=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r,i=t[0]||{},o=this.service+"/"+e;e=(e=this.errors[e])?(r=i,e.replace(h,(function(e,t){var n=r[t];return null!=n?String(n):"<"+t+"?>"}))):"Error",e=this.serviceName+": "+e+" ("+o+").";return new l(o,e,i)},d);function d(e,t,n){this.service=e,this.serviceName=t,this.errors=n}var h=/\{\$([^}]+)}/g,g=(v.prototype.setInstantiationMode=function(e){return this.instantiationMode=e,this},v.prototype.setMultipleInstances=function(e){return this.multipleInstances=e,this},v.prototype.setServiceProps=function(e){return this.serviceProps=e,this},v.prototype.setInstanceCreatedCallback=function(e){return this.onInstanceCreated=e,this},v);function v(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}function b(e){return new Promise((function(t,n){e.onsuccess=function(){t(e.result)},e.onerror=function(){n(e.error)}}))}function y(e,t,n){var r,i=new Promise((function(i,o){b(r=e[t].apply(e,n)).then(i,o)}));return i.request=r,i}function w(e,t,n){n.forEach((function(n){Object.defineProperty(e.prototype,n,{get:function(){return this[t][n]},set:function(e){this[t][n]=e}})}))}function m(e,t,n,r){r.forEach((function(r){r in n.prototype&&(e.prototype[r]=function(){return y(this[t],r,arguments)})}))}function k(e,t,n,r){r.forEach((function(r){r in n.prototype&&(e.prototype[r]=function(){return this[t][r].apply(this[t],arguments)})}))}function S(e,t,n,r){r.forEach((function(r){r in n.prototype&&(e.prototype[r]=function(){return e=this[t],(n=y(e,r,arguments)).then((function(e){if(e)return new C(e,n.request)}));var e,n})}))}function I(e){this._index=e}function C(e,t){this._cursor=e,this._request=t}function T(e){this._store=e}function _(e){this._tx=e,this.complete=new Promise((function(t,n){e.oncomplete=function(){t()},e.onerror=function(){n(e.error)},e.onabort=function(){n(e.error)}}))}function P(e,t,n){this._db=e,this.oldVersion=t,this.transaction=new _(n)}function D(e){this._db=e}function j(e,t,n){var r=(t=y(indexedDB,"open",[e,t])).request;return r&&(r.onupgradeneeded=function(e){n&&n(new P(r.result,e.oldVersion,r.transaction))}),t.then((function(e){return new D(e)}))}function O(e){return y(indexedDB,"deleteDatabase",[e])}w(I,"_index",["name","keyPath","multiEntry","unique"]),m(I,"_index",IDBIndex,["get","getKey","getAll","getAllKeys","count"]),S(I,"_index",IDBIndex,["openCursor","openKeyCursor"]),w(C,"_cursor",["direction","key","primaryKey","value"]),m(C,"_cursor",IDBCursor,["update","delete"]),["advance","continue","continuePrimaryKey"].forEach((function(e){e in IDBCursor.prototype&&(C.prototype[e]=function(){var t=this,n=arguments;return Promise.resolve().then((function(){return t._cursor[e].apply(t._cursor,n),b(t._request).then((function(e){if(e)return new C(e,t._request)}))}))})})),T.prototype.createIndex=function(){return new I(this._store.createIndex.apply(this._store,arguments))},T.prototype.index=function(){return new I(this._store.index.apply(this._store,arguments))},w(T,"_store",["name","keyPath","indexNames","autoIncrement"]),m(T,"_store",IDBObjectStore,["put","add","delete","clear","get","getAll","getKey","getAllKeys","count"]),S(T,"_store",IDBObjectStore,["openCursor","openKeyCursor"]),k(T,"_store",IDBObjectStore,["deleteIndex"]),_.prototype.objectStore=function(){return new T(this._tx.objectStore.apply(this._tx,arguments))},w(_,"_tx",["objectStoreNames","mode"]),k(_,"_tx",IDBTransaction,["abort"]),P.prototype.createObjectStore=function(){return new T(this._db.createObjectStore.apply(this._db,arguments))},w(P,"_db",["name","version","objectStoreNames"]),k(P,"_db",IDBDatabase,["deleteObjectStore","close"]),D.prototype.transaction=function(){return new _(this._db.transaction.apply(this._db,arguments))},w(D,"_db",["name","version","objectStoreNames"]),k(D,"_db",IDBDatabase,["close"]),["openCursor","openKeyCursor"].forEach((function(e){[T,I].forEach((function(t){e in t.prototype&&(t.prototype[e.replace("open","iterate")]=function(){var t=(r=arguments,Array.prototype.slice.call(r)),n=t[t.length-1],r=this._store||this._index,i=r[e].apply(r,t.slice(0,-1));i.onsuccess=function(){n(i.result)}})}))})),[I,T].forEach((function(e){e.prototype.getAll||(e.prototype.getAll=function(e,t){var n=this,r=[];return new Promise((function(i){n.iterateCursor(e,(function(e){e?(r.push(e.value),void 0===t||r.length!=t?e.continue():i(r)):i(r)}))}))})}));var E="0.4.32",M="w:"+E,K="FIS_v2",x=((x={})["missing-app-config-values"]='Missing App configuration value: "{$valueName}"',x["not-registered"]="Firebase Installation is not registered.",x["installation-not-found"]="Firebase Installation not found.",x["request-failed"]='{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',x["app-offline"]="Could not process request. Application offline.",x["delete-pending-registration"]="Can't delete installation while there is a pending registration request.",x),N=new p("installations","Installations",x);function A(e){return e instanceof l&&e.code.includes("request-failed")}function q(e){return"https://firebaseinstallations.googleapis.com/v1/projects/"+(e=e.projectId)+"/installations"}function R(e){return{token:e.token,requestStatus:2,expiresIn:(e=e.expiresIn,Number(e.replace("s","000"))),creationTime:Date.now()}}function B(e,t){return i(this,void 0,void 0,(function(){var n;return o(this,(function(r){switch(r.label){case 0:return[4,t.json()];case 1:return n=(n=r.sent()).error,[2,N.create("request-failed",{requestName:e,serverCode:n.code,serverMessage:n.message,serverStatus:n.status})]}}))}))}function L(e){return e=e.apiKey,new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e})}function V(e,t){return t=t.refreshToken,(e=L(e)).append("Authorization",K+" "+t),e}function F(e){return i(this,void 0,void 0,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return[4,e()];case 1:return 500<=(t=n.sent()).status&&t.status<600?[2,e()]:[2,t]}}))}))}function U(e){return new Promise((function(t){setTimeout(t,e)}))}var W=/^[cdef][\w-]{21}$/;function H(){try{var e=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(e),e[0]=112+e[0]%16;var t=function(e){return btoa(String.fromCharCode.apply(String,u([],a(e)))).replace(/\+/g,"-").replace(/\//g,"_")}(e).substr(0,22);return W.test(t)?t:""}catch(e){return""}}function $(e){return e.appName+"!"+e.appId}var G=new Map;function z(e,t){J(e=$(e),t),function(e,t){var n=Z();n&&n.postMessage({key:e,fid:t}),Q()}(e,t)}function J(e,t){var n,r;if(e=G.get(e))try{for(var i=s(e),o=i.next();!o.done;o=i.next())(0,o.value)(t)}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}var Y=null;function Z(){return!Y&&"BroadcastChannel"in self&&((Y=new BroadcastChannel("[Firebase] FID Change")).onmessage=function(e){J(e.data.key,e.data.fid)}),Y}function Q(){0===G.size&&Y&&(Y.close(),Y=null)}var X,ee="firebase-installations-store",te=null;function ne(){return te=te||j("firebase-installations-database",1,(function(e){0===e.oldVersion&&e.createObjectStore(ee)}))}function re(e,t){return i(this,void 0,void 0,(function(){var n,r,i,s;return o(this,(function(o){switch(o.label){case 0:return n=$(e),[4,ne()];case 1:return i=o.sent(),r=i.transaction(ee,"readwrite"),[4,(i=r.objectStore(ee)).get(n)];case 2:return s=o.sent(),[4,i.put(t,n)];case 3:return o.sent(),[4,r.complete];case 4:return o.sent(),s&&s.fid===t.fid||z(e,t.fid),[2,t]}}))}))}function ie(e){return i(this,void 0,void 0,(function(){var t,n;return o(this,(function(r){switch(r.label){case 0:return t=$(e),[4,ne()];case 1:return[4,(n=(n=r.sent()).transaction(ee,"readwrite")).objectStore(ee).delete(t)];case 2:return r.sent(),[4,n.complete];case 3:return r.sent(),[2]}}))}))}function oe(e,t){return i(this,void 0,void 0,(function(){var n,r,i,s,a;return o(this,(function(o){switch(o.label){case 0:return n=$(e),[4,ne()];case 1:return i=o.sent(),r=i.transaction(ee,"readwrite"),[4,(i=r.objectStore(ee)).get(n)];case 2:return s=o.sent(),void 0!==(a=t(s))?[3,4]:[4,i.delete(n)];case 3:return o.sent(),[3,6];case 4:return[4,i.put(a,n)];case 5:o.sent(),o.label=6;case 6:return[4,r.complete];case 7:return o.sent(),!a||s&&s.fid===a.fid||z(e,a.fid),[2,a]}}))}))}function se(e){return i(this,void 0,void 0,(function(){var t,n,r;return o(this,(function(s){switch(s.label){case 0:return[4,oe(e,(function(n){return n=ue(n||{fid:H(),registrationStatus:0}),n=function(e,t){return 0!==t.registrationStatus?1===t.registrationStatus?{installationEntry:t,registrationPromise:function(e){return i(this,void 0,void 0,(function(){var t,n,r;return o(this,(function(i){switch(i.label){case 0:return[4,ae(e)];case 1:t=i.sent(),i.label=2;case 2:return 1!==t.registrationStatus?[3,5]:[4,U(100)];case 3:return i.sent(),[4,ae(e)];case 4:return t=i.sent(),[3,2];case 5:return 0!==t.registrationStatus?[3,7]:[4,se(e)];case 6:return r=i.sent(),n=r.installationEntry,(r=r.registrationPromise)?[2,r]:[2,n];case 7:return[2,t]}}))}))}(e)}:{installationEntry:t}:navigator.onLine?(e=function(e,t){return i(this,void 0,void 0,(function(){var n,r;return o(this,(function(s){switch(s.label){case 0:return s.trys.push([0,2,,7]),[4,function(e,t){var n=t.fid;return i(this,void 0,void 0,(function(){var t,r,i,s,a;return o(this,(function(o){switch(o.label){case 0:return t=q(e),r=L(e),a={fid:n,authVersion:K,appId:e.appId,sdkVersion:M},i={method:"POST",headers:r,body:JSON.stringify(a)},[4,F((function(){return fetch(t,i)}))];case 1:return(s=o.sent()).ok?[4,s.json()]:[3,3];case 2:return[2,{fid:(a=o.sent()).fid||n,registrationStatus:2,refreshToken:a.refreshToken,authToken:R(a.authToken)}];case 3:return[4,B("Create Installation",s)];case 4:throw o.sent()}}))}))}(e,t)];case 1:return n=s.sent(),[2,re(e,n)];case 2:return A(r=s.sent())&&409===r.customData.serverCode?[4,ie(e)]:[3,4];case 3:return s.sent(),[3,6];case 4:return[4,re(e,{fid:t.fid,registrationStatus:0})];case 5:s.sent(),s.label=6;case 6:throw r;case 7:return[2]}}))}))}(e,t={fid:t.fid,registrationStatus:1,registrationTime:Date.now()}),{installationEntry:t,registrationPromise:e}):{installationEntry:t,registrationPromise:Promise.reject(N.create("app-offline"))}}(e,n),t=n.registrationPromise,n.installationEntry}))];case 1:return""!==(n=s.sent()).fid?[3,3]:(r={},[4,t]);case 2:return[2,(r.installationEntry=s.sent(),r)];case 3:return[2,{installationEntry:n,registrationPromise:t}]}}))}))}function ae(e){return oe(e,(function(e){if(!e)throw N.create("installation-not-found");return ue(e)}))}function ue(e){return 1===(t=e).registrationStatus&&t.registrationTime+1e4<Date.now()?{fid:e.fid,registrationStatus:0}:e;var t}function ce(e,t){var n=e.appConfig,r=e.platformLoggerProvider;return i(this,void 0,void 0,(function(){var e,i,s,a,u;return o(this,(function(o){switch(o.label){case 0:return e=function(e,t){return t=t.fid,q(e)+"/"+t+"/authTokens:generate"}(n,t),i=V(n,t),(u=r.getImmediate({optional:!0}))&&i.append("x-firebase-client",u.getPlatformInfoString()),u={installation:{sdkVersion:M}},s={method:"POST",headers:i,body:JSON.stringify(u)},[4,F((function(){return fetch(e,s)}))];case 1:return(a=o.sent()).ok?[4,a.json()]:[3,3];case 2:return[2,R(u=o.sent())];case 3:return[4,B("Generate Auth Token",a)];case 4:throw o.sent()}}))}))}function le(e,t){return void 0===t&&(t=!1),i(this,void 0,void 0,(function(){var n,s,a;return o(this,(function(u){switch(u.label){case 0:return[4,oe(e.appConfig,(function(s){if(!pe(s))throw N.create("not-registered");var a,u=s.authToken;if(t||2!==(a=u).requestStatus||function(e){var t=Date.now();return t<e.creationTime||e.creationTime+e.expiresIn<t+36e5}(a)){if(1===u.requestStatus)return n=function(e,t){return i(this,void 0,void 0,(function(){var n;return o(this,(function(r){switch(r.label){case 0:return[4,fe(e.appConfig)];case 1:n=r.sent(),r.label=2;case 2:return 1!==n.authToken.requestStatus?[3,5]:[4,U(100)];case 3:return r.sent(),[4,fe(e.appConfig)];case 4:return n=r.sent(),[3,2];case 5:return 0===(n=n.authToken).requestStatus?[2,le(e,t)]:[2,n]}}))}))}(e,t),s;if(!navigator.onLine)throw N.create("app-offline");return a=s,u={requestStatus:1,requestTime:Date.now()},u=r(r({},a),{authToken:u}),n=function(e,t){return i(this,void 0,void 0,(function(){var n,i,s;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,3,,8]),[4,ce(e,t)];case 1:return n=o.sent(),s=r(r({},t),{authToken:n}),[4,re(e.appConfig,s)];case 2:return o.sent(),[2,n];case 3:return!A(i=o.sent())||401!==i.customData.serverCode&&404!==i.customData.serverCode?[3,5]:[4,ie(e.appConfig)];case 4:return o.sent(),[3,7];case 5:return s=r(r({},t),{authToken:{requestStatus:0}}),[4,re(e.appConfig,s)];case 6:o.sent(),o.label=7;case 7:throw i;case 8:return[2]}}))}))}(e,u),u}return s}))];case 1:return s=u.sent(),n?[4,n]:[3,3];case 2:return a=u.sent(),[3,4];case 3:a=s.authToken,u.label=4;case 4:return[2,a]}}))}))}function fe(e){return oe(e,(function(e){if(!pe(e))throw N.create("not-registered");var t=e.authToken;return 1===t.requestStatus&&t.requestTime+1e4<Date.now()?r(r({},e),{authToken:{requestStatus:0}}):e}))}function pe(e){return void 0!==e&&2===e.registrationStatus}function de(e,t){return i(this,void 0,void 0,(function(){var n,r,i;return o(this,(function(o){switch(o.label){case 0:return n=function(e,t){return t=t.fid,q(e)+"/"+t}(e,t),i=V(e,t),r={method:"DELETE",headers:i},[4,F((function(){return fetch(n,r)}))];case 1:return(i=o.sent()).ok?[3,3]:[4,B("Delete Installation",i)];case 2:throw o.sent();case 3:return[2]}}))}))}function he(e){return N.create("missing-app-config-values",{valueName:e})}(X=t.default).INTERNAL.registerComponent(new g("installations",(function(e){var t=e.getProvider("app").getImmediate(),n={appConfig:function(e){var t,n;if(!e||!e.options)throw he("App Configuration");if(!e.name)throw he("App Name");try{for(var r=s(["projectId","apiKey","appId"]),i=r.next();!i.done;i=r.next()){var o=i.value;if(!e.options[o])throw he(o)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}}(t),platformLoggerProvider:e.getProvider("platform-logger")};return{app:t,getId:function(){return function(e){return i(this,void 0,void 0,(function(){var t,n;return o(this,(function(r){switch(r.label){case 0:return[4,se(e.appConfig)];case 1:return t=r.sent(),n=t.installationEntry,(t.registrationPromise||le(e)).catch(console.error),[2,n.fid]}}))}))}(n)},getToken:function(e){return function(e,t){return void 0===t&&(t=!1),i(this,void 0,void 0,(function(){return o(this,(function(n){switch(n.label){case 0:return[4,function(e){return i(this,void 0,void 0,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return[4,se(e)];case 1:return(t=n.sent().registrationPromise)?[4,t]:[3,3];case 2:n.sent(),n.label=3;case 3:return[2]}}))}))}(e.appConfig)];case 1:return n.sent(),[4,le(e,t)];case 2:return[2,n.sent().token]}}))}))}(n,e)},delete:function(){return function(e){return i(this,void 0,void 0,(function(){var t,n;return o(this,(function(r){switch(r.label){case 0:return[4,oe(t=e.appConfig,(function(e){if(!e||0!==e.registrationStatus)return e}))];case 1:if(!(n=r.sent()))return[3,6];if(1!==n.registrationStatus)return[3,2];throw N.create("delete-pending-registration");case 2:if(2!==n.registrationStatus)return[3,6];if(navigator.onLine)return[3,3];throw N.create("app-offline");case 3:return[4,de(t,n)];case 4:return r.sent(),[4,ie(t)];case 5:r.sent(),r.label=6;case 6:return[2]}}))}))}(n)},onIdChange:function(e){return function(e,t){var n=e.appConfig;return function(e,t){Z();var n=$(e);(e=G.get(n))||(e=new Set,G.set(n,e)),e.add(t)}(n,t),function(){var e,r,i;r=t,i=$(e=n),(e=G.get(i))&&(e.delete(r),0===e.size&&G.delete(i),Q())}}(n,e)}}}),"PUBLIC")),X.registerVersion("@firebase/installations",E);(x={})["missing-app-config-values"]='Missing App configuration value: "{$valueName}"',x["only-available-in-window"]="This method is available in a Window context.",x["only-available-in-sw"]="This method is available in a service worker context.",x["permission-default"]="The notification permission was not granted and dismissed instead.",x["permission-blocked"]="The notification permission was not granted and blocked instead.",x["unsupported-browser"]="This browser doesn't support the API's required to use the firebase SDK.",x["failed-service-worker-registration"]="We are unable to register the default service worker. {$browserErrorMessage}",x["token-subscribe-failed"]="A problem occurred while subscribing the user to FCM: {$errorInfo}",x["token-subscribe-no-token"]="FCM returned no token when subscribing the user to push.",x["token-unsubscribe-failed"]="A problem occurred while unsubscribing the user from FCM: {$errorInfo}",x["token-update-failed"]="A problem occurred while updating the user from FCM: {$errorInfo}",x["token-update-no-token"]="FCM returned no token when updating the user to push.",x["use-sw-after-get-token"]="The useServiceWorker() method may only be called once and must be called before calling getToken() to ensure your service worker is used.",x["invalid-sw-registration"]="The input to useServiceWorker() must be a ServiceWorkerRegistration.",x["invalid-bg-handler"]="The input to setBackgroundMessageHandler() must be a function.",x["invalid-vapid-key"]="The public VAPID key must be a string.",x["use-vapid-key-after-get-token"]="The usePublicVapidKey() method may only be called once and must be called before calling getToken() to ensure your VAPID key is used.";var ge,ve=new p("messaging","Messaging",x),be="BDOU99-h67HcA6JeFXHbSNMu7e2yNNu3RzoMj8TM4W88jITfq7ZmPvIM1Iv-4_l2LxQcYwhqby2xGpWwzjfAnG4",ye="FCM_MSG",we="google.c.a.c_id";function me(e){return e=new Uint8Array(e),btoa(String.fromCharCode.apply(String,u([],a(e)))).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}(x=ge=ge||{}).PUSH_RECEIVED="push-received",x.NOTIFICATION_CLICKED="notification-clicked";var ke="fcm_token_details_db",Se="fcm_token_object_Store";function Ie(e){return i(this,void 0,void 0,(function(){var t,n=this;return o(this,(function(r){switch(r.label){case 0:return"databases"in indexedDB?[4,indexedDB.databases()]:[3,2];case 1:if(!r.sent().map((function(e){return e.name})).includes(ke))return[2,null];r.label=2;case 2:return t=null,[4,j(ke,5,(function(r){return i(n,void 0,void 0,(function(){var n,i,s;return o(this,(function(o){switch(o.label){case 0:return r.oldVersion<2?[2]:r.objectStoreNames.contains(Se)?[4,(s=r.transaction.objectStore(Se)).index("fcmSenderId").get(e)]:[2];case 1:return n=o.sent(),[4,s.clear()];case 2:if(o.sent(),!n)return[2];if(2===r.oldVersion){if(!(i=n).auth||!i.p256dh||!i.endpoint)return[2];t={token:i.fcmToken,createTime:null!==(s=i.createTime)&&void 0!==s?s:Date.now(),subscriptionOptions:{auth:i.auth,p256dh:i.p256dh,endpoint:i.endpoint,swScope:i.swScope,vapidKey:"string"==typeof i.vapidKey?i.vapidKey:me(i.vapidKey)}}}else(3===r.oldVersion||4===r.oldVersion)&&(t={token:(i=n).fcmToken,createTime:i.createTime,subscriptionOptions:{auth:me(i.auth),p256dh:me(i.p256dh),endpoint:i.endpoint,swScope:i.swScope,vapidKey:me(i.vapidKey)}});return[2]}}))}))}))];case 3:return r.sent().close(),[4,O(ke)];case 4:return r.sent(),[4,O("fcm_vapid_details_db")];case 5:return r.sent(),[4,O("undefined")];case 6:return r.sent(),[2,function(e){if(!e||!e.subscriptionOptions)return!1;var t=e.subscriptionOptions;return"number"==typeof e.createTime&&0<e.createTime&&"string"==typeof e.token&&0<e.token.length&&"string"==typeof t.auth&&0<t.auth.length&&"string"==typeof t.p256dh&&0<t.p256dh.length&&"string"==typeof t.endpoint&&0<t.endpoint.length&&"string"==typeof t.swScope&&0<t.swScope.length&&"string"==typeof t.vapidKey&&0<t.vapidKey.length}(t)?t:null]}}))}))}var Ce="firebase-messaging-store",Te=null;function _e(){return Te=Te||j("firebase-messaging-database",1,(function(e){0===e.oldVersion&&e.createObjectStore(Ce)}))}function Pe(e){return i(this,void 0,void 0,(function(){var t,n;return o(this,(function(r){switch(r.label){case 0:return t=je(e),[4,_e()];case 1:return[4,r.sent().transaction(Ce).objectStore(Ce).get(t)];case 2:return(t=r.sent())?[2,t]:[3,3];case 3:return[4,Ie(e.appConfig.senderId)];case 4:return(n=r.sent())?[4,De(e,n)]:[3,6];case 5:return r.sent(),[2,n];case 6:return[2]}}))}))}function De(e,t){return i(this,void 0,void 0,(function(){var n,r;return o(this,(function(i){switch(i.label){case 0:return n=je(e),[4,_e()];case 1:return[4,(r=(r=i.sent()).transaction(Ce,"readwrite")).objectStore(Ce).put(t,n)];case 2:return i.sent(),[4,r.complete];case 3:return i.sent(),[2,t]}}))}))}function je(e){return e.appConfig.appId}function Oe(e,t){return i(this,void 0,void 0,(function(){var n,r;return o(this,(function(i){switch(i.label){case 0:return[4,Me(e)];case 1:n={method:"DELETE",headers:n=i.sent()},i.label=2;case 2:return i.trys.push([2,5,,6]),[4,fetch(Ee(e.appConfig)+"/"+t,n)];case 3:return[4,i.sent().json()];case 4:if((n=i.sent()).error)throw r=n.error.message,ve.create("token-unsubscribe-failed",{errorInfo:r});return[3,6];case 5:throw r=i.sent(),ve.create("token-unsubscribe-failed",{errorInfo:r});case 6:return[2]}}))}))}function Ee(e){return"https://fcmregistrations.googleapis.com/v1/projects/"+(e=e.projectId)+"/registrations"}function Me(e){var t=e.appConfig,n=e.installations;return i(this,void 0,void 0,(function(){var e;return o(this,(function(r){switch(r.label){case 0:return[4,n.getToken()];case 1:return e=r.sent(),[2,new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":t.apiKey,"x-goog-firebase-installations-auth":"FIS "+e})]}}))}))}function Ke(e){var t=e.p256dh,n=e.auth;t={web:{endpoint:e.endpoint,auth:n,p256dh:t}};return(e=e.vapidKey)!==be&&(t.web.applicationPubKey=e),t}function xe(e,t,n){return i(this,void 0,void 0,(function(){var s,a,u;return o(this,(function(c){switch(c.label){case 0:if("granted"!==Notification.permission)throw ve.create("permission-blocked");return[4,function(e,t){return i(this,void 0,void 0,(function(){var n;return o(this,(function(r){switch(r.label){case 0:return[4,e.pushManager.getSubscription()];case 1:return(n=r.sent())?[2,n]:[2,e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:function(e){e=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/");for(var t=atob(e),n=new Uint8Array(t.length),r=0;r<t.length;++r)n[r]=t.charCodeAt(r);return n}(t)})]}}))}))}(t,n)];case 1:return u=c.sent(),[4,Pe(e)];case 2:return s=c.sent(),a={vapidKey:n,swScope:t.scope,endpoint:u.endpoint,auth:me(u.getKey("auth")),p256dh:me(u.getKey("p256dh"))},s?[3,3]:[2,Ae(e,a)];case 3:if(l=s.subscriptionOptions,f=a.vapidKey===l.vapidKey,p=a.endpoint===l.endpoint,d=a.auth===l.auth,l=a.p256dh===l.p256dh,f&&p&&d&&l)return[3,8];c.label=4;case 4:return c.trys.push([4,6,,7]),[4,Oe(e,s.token)];case 5:return c.sent(),[3,7];case 6:return u=c.sent(),console.warn(u),[3,7];case 7:return[2,Ae(e,a)];case 8:return Date.now()>=s.createTime+6048e5?[2,function(e,t,n){return i(this,void 0,void 0,(function(){var s,a,u;return o(this,(function(c){switch(c.label){case 0:return c.trys.push([0,3,,5]),[4,function(e,t){return i(this,void 0,void 0,(function(){var n,r,i,s;return o(this,(function(o){switch(o.label){case 0:return[4,Me(e)];case 1:n=o.sent(),r=Ke(t.subscriptionOptions),r={method:"PATCH",headers:n,body:JSON.stringify(r)},o.label=2;case 2:return o.trys.push([2,5,,6]),[4,fetch(Ee(e.appConfig)+"/"+t.token,r)];case 3:return[4,o.sent().json()];case 4:return i=o.sent(),[3,6];case 5:throw s=o.sent(),ve.create("token-update-failed",{errorInfo:s});case 6:if(i.error)throw s=i.error.message,ve.create("token-update-failed",{errorInfo:s});if(!i.token)throw ve.create("token-update-no-token");return[2,i.token]}}))}))}(t,e)];case 1:return s=c.sent(),a=r(r({},e),{token:s,createTime:Date.now()}),[4,De(t,a)];case 2:return c.sent(),[2,s];case 3:return u=c.sent(),[4,Ne(t,n)];case 4:throw c.sent(),u;case 5:return[2]}}))}))}({token:s.token,createTime:Date.now(),subscriptionOptions:a},e,t)]:[2,s.token];case 9:return[2]}var l,f,p,d}))}))}function Ne(e,t){return i(this,void 0,void 0,(function(){var n;return o(this,(function(r){switch(r.label){case 0:return[4,Pe(e)];case 1:return(n=r.sent())?[4,Oe(e,n.token)]:[3,4];case 2:return r.sent(),[4,function(e){return i(this,void 0,void 0,(function(){var t,n;return o(this,(function(r){switch(r.label){case 0:return t=je(e),[4,_e()];case 1:return[4,(n=(n=r.sent()).transaction(Ce,"readwrite")).objectStore(Ce).delete(t)];case 2:return r.sent(),[4,n.complete];case 3:return r.sent(),[2]}}))}))}(e)];case 3:r.sent(),r.label=4;case 4:return[4,t.pushManager.getSubscription()];case 5:return(n=r.sent())?[2,n.unsubscribe()]:[2,!0]}}))}))}function Ae(e,t){return i(this,void 0,void 0,(function(){var n;return o(this,(function(r){switch(r.label){case 0:return[4,function(e,t){return i(this,void 0,void 0,(function(){var n,r,i,s;return o(this,(function(o){switch(o.label){case 0:return[4,Me(e)];case 1:n=o.sent(),r=Ke(t),r={method:"POST",headers:n,body:JSON.stringify(r)},o.label=2;case 2:return o.trys.push([2,5,,6]),[4,fetch(Ee(e.appConfig),r)];case 3:return[4,o.sent().json()];case 4:return i=o.sent(),[3,6];case 5:throw s=o.sent(),ve.create("token-subscribe-failed",{errorInfo:s});case 6:if(i.error)throw s=i.error.message,ve.create("token-subscribe-failed",{errorInfo:s});if(!i.token)throw ve.create("token-subscribe-no-token");return[2,i.token]}}))}))}(e,t)];case 1:return n={token:n=r.sent(),createTime:Date.now(),subscriptionOptions:t},[4,De(e,n)];case 2:return r.sent(),[2,n.token]}}))}))}function qe(e){return"object"==typeof e&&e&&we in e}function Re(e){return new Promise((function(t){setTimeout(t,e)}))}var Be=(Object.defineProperty(Le.prototype,"app",{get:function(){return this.firebaseDependencies.app},enumerable:!1,configurable:!0}),Le.prototype.setBackgroundMessageHandler=function(e){if(this.isOnBackgroundMessageUsed=!1,!e||"function"!=typeof e)throw ve.create("invalid-bg-handler");this.bgMessageHandler=e},Le.prototype.onBackgroundMessage=function(e){var t=this;return this.isOnBackgroundMessageUsed=!0,this.bgMessageHandler=e,function(){t.bgMessageHandler=null}},Le.prototype.getToken=function(){var e;return i(this,void 0,void 0,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return this.vapidKey?[3,2]:[4,Pe(this.firebaseDependencies)];case 1:t=n.sent(),this.vapidKey=null!==(e=null===(e=null==t?void 0:t.subscriptionOptions)||void 0===e?void 0:e.vapidKey)&&void 0!==e?e:be,n.label=2;case 2:return[2,xe(this.firebaseDependencies,self.registration,this.vapidKey)]}}))}))},Le.prototype.deleteToken=function(){return Ne(this.firebaseDependencies,self.registration)},Le.prototype.requestPermission=function(){throw ve.create("only-available-in-window")},Le.prototype.usePublicVapidKey=function(e){if(null!==this.vapidKey)throw ve.create("use-vapid-key-after-get-token");if("string"!=typeof e||0===e.length)throw ve.create("invalid-vapid-key");this.vapidKey=e},Le.prototype.useServiceWorker=function(){throw ve.create("only-available-in-window")},Le.prototype.onMessage=function(){throw ve.create("only-available-in-window")},Le.prototype.onTokenRefresh=function(){throw ve.create("only-available-in-window")},Le.prototype.onPush=function(e){return i(this,void 0,void 0,(function(){var t,n,i;return o(this,(function(o){switch(o.label){case 0:return(i=function(e){if(!(e=e.data))return null;try{return e.json()}catch(e){return null}}(e))?[4,Ve()]:(console.debug("FirebaseMessaging: failed to get parsed MessagePayload from the PushEvent. Skip handling the push."),[2]);case 1:return(t=o.sent()).some((function(e){return"visible"===e.visibilityState&&!e.url.startsWith("chrome-extension://")}))?[2,function(e,t){var n,r;t.isFirebaseMessaging=!0,t.messageType=ge.PUSH_RECEIVED;try{for(var i=s(e),o=i.next();!o.done;o=i.next())o.value.postMessage(t)}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}(t,i)]:(n=!1,i.notification?[4,function(e){var t=e.actions,n=Notification.maxActions;return t&&n&&t.length>n&&console.warn("This browser only supports "+n+" actions. The remaining actions will not be displayed."),self.registration.showNotification(null!==(n=e.title)&&void 0!==n?n:"",e)}(((f=r({},(c=i).notification)).data=((l={})[ye]=c,l),f))]:[3,3]);case 2:o.sent(),n=!0,o.label=3;case 3:return!0===n&&!1===this.isOnBackgroundMessageUsed?[2]:(this.bgMessageHandler&&(c=u={from:(a=i).from,collapseKey:a.collapse_key,messageId:a.fcm_message_id},(l=a).notification&&(c.notification={},(f=l.notification.title)&&(c.notification.title=f),(f=l.notification.body)&&(c.notification.body=f),(l=l.notification.image)&&(c.notification.image=l)),c=u,(l=a).data&&(c.data=l.data),c=u,(l=a).fcmOptions&&(c.fcmOptions={},(a=l.fcmOptions.link)&&(c.fcmOptions.link=a),(l=l.fcmOptions.analytics_label)&&(c.fcmOptions.analyticsLabel=l)),i=u,"function"==typeof this.bgMessageHandler?this.bgMessageHandler(i):this.bgMessageHandler.next(i)),[4,Re(1e3)]);case 4:return o.sent(),[2]}var a,u,c,l,f}))}))},Le.prototype.onSubChange=function(e){var t;return i(this,void 0,void 0,(function(){var n;return o(this,(function(r){switch(r.label){case 0:return e.newSubscription?[3,2]:[4,Ne(this.firebaseDependencies,self.registration)];case 1:case 5:return r.sent(),[2];case 2:return[4,Pe(this.firebaseDependencies)];case 3:return n=r.sent(),[4,Ne(this.firebaseDependencies,self.registration)];case 4:return r.sent(),[4,xe(this.firebaseDependencies,self.registration,null!==(t=null===(t=null==n?void 0:n.subscriptionOptions)||void 0===t?void 0:t.vapidKey)&&void 0!==t?t:be)]}}))}))},Le.prototype.onNotificationClick=function(e){var t;return i(this,void 0,void 0,(function(){var n,r,a,u,c;return o(this,(function(l){switch(l.label){case 0:return(n=null===(t=null===(t=e.notification)||void 0===t?void 0:t.data)||void 0===t?void 0:t[ye])?e.action?[2]:(e.stopImmediatePropagation(),e.notification.close(),(r=function(e){var t,n=null!==(t=null===(t=e.fcmOptions)||void 0===t?void 0:t.link)&&void 0!==t?t:null===(n=e.notification)||void 0===n?void 0:n.click_action;return n||(qe(e.data)?self.location.origin:null)}(n))?(a=new URL(r,self.location.href),u=new URL(self.location.origin),a.host!==u.host?[2]:[4,function(e){return i(this,void 0,void 0,(function(){var t,n,r,i,a,u,c;return o(this,(function(o){switch(o.label){case 0:return[4,Ve()];case 1:t=o.sent();try{for(n=s(t),r=n.next();!r.done;r=n.next())if(i=r.value,a=new URL(i.url,self.location.href),e.host===a.host)return[2,i]}catch(o){u={error:o}}finally{try{r&&!r.done&&(c=n.return)&&c.call(n)}finally{if(u)throw u.error}}return[2,null]}}))}))}(a)]):[2]):[2];case 1:return(c=l.sent())?[3,4]:[4,self.clients.openWindow(r)];case 2:return c=l.sent(),[4,Re(3e3)];case 3:return l.sent(),[3,6];case 4:return[4,c.focus()];case 5:c=l.sent(),l.label=6;case 6:return c?(n.messageType=ge.NOTIFICATION_CLICKED,n.isFirebaseMessaging=!0,[2,c.postMessage(n)]):[2]}}))}))},Le);function Le(e){var t=this;this.firebaseDependencies=e,this.isOnBackgroundMessageUsed=null,this.vapidKey=null,this.bgMessageHandler=null,self.addEventListener("push",(function(e){e.waitUntil(t.onPush(e))})),self.addEventListener("pushsubscriptionchange",(function(e){e.waitUntil(t.onSubChange(e))})),self.addEventListener("notificationclick",(function(e){e.waitUntil(t.onNotificationClick(e))}))}function Ve(){return self.clients.matchAll({type:"window",includeUncontrolled:!0})}var Fe=(Object.defineProperty(Ue.prototype,"app",{get:function(){return this.firebaseDependencies.app},enumerable:!1,configurable:!0}),Ue.prototype.messageEventListener=function(e){return i(this,void 0,void 0,(function(){var t,n;return o(this,(function(r){switch(r.label){case 0:return(t=e.data).isFirebaseMessaging?(this.onMessageCallback&&t.messageType===ge.PUSH_RECEIVED&&("function"==typeof this.onMessageCallback?this.onMessageCallback((delete(i=Object.assign({},t)).messageType,delete i.isFirebaseMessaging,i)):this.onMessageCallback.next(Object.assign({},t))),qe(n=t.data)&&"1"===n["google.c.a.e"]?[4,this.logEvent(t.messageType,n)]:[3,2]):[2];case 1:r.sent(),r.label=2;case 2:return[2]}var i}))}))},Ue.prototype.getVapidKey=function(){return this.vapidKey},Ue.prototype.getSwReg=function(){return this.swRegistration},Ue.prototype.getToken=function(e){return i(this,void 0,void 0,(function(){return o(this,(function(t){switch(t.label){case 0:return"default"!==Notification.permission?[3,2]:[4,Notification.requestPermission()];case 1:t.sent(),t.label=2;case 2:if("granted"!==Notification.permission)throw ve.create("permission-blocked");return[4,this.updateVapidKey(null==e?void 0:e.vapidKey)];case 3:return t.sent(),[4,this.updateSwReg(null==e?void 0:e.serviceWorkerRegistration)];case 4:return t.sent(),[2,xe(this.firebaseDependencies,this.swRegistration,this.vapidKey)]}}))}))},Ue.prototype.updateVapidKey=function(e){return i(this,void 0,void 0,(function(){return o(this,(function(t){return e?this.vapidKey=e:this.vapidKey||(this.vapidKey=be),[2]}))}))},Ue.prototype.updateSwReg=function(e){return i(this,void 0,void 0,(function(){return o(this,(function(t){switch(t.label){case 0:return e||this.swRegistration?[3,2]:[4,this.registerDefaultSw()];case 1:t.sent(),t.label=2;case 2:if(!e&&this.swRegistration)return[2];if(!(e instanceof ServiceWorkerRegistration))throw ve.create("invalid-sw-registration");return this.swRegistration=e,[2]}}))}))},Ue.prototype.registerDefaultSw=function(){return i(this,void 0,void 0,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),e=this,[4,navigator.serviceWorker.register("/firebase-messaging-sw.js",{scope:"/firebase-cloud-messaging-push-scope"})];case 1:return e.swRegistration=t.sent(),this.swRegistration.update().catch((function(){})),[3,3];case 2:throw e=t.sent(),ve.create("failed-service-worker-registration",{browserErrorMessage:e.message});case 3:return[2]}}))}))},Ue.prototype.deleteToken=function(){return i(this,void 0,void 0,(function(){return o(this,(function(e){switch(e.label){case 0:return this.swRegistration?[3,2]:[4,this.registerDefaultSw()];case 1:e.sent(),e.label=2;case 2:return[2,Ne(this.firebaseDependencies,this.swRegistration)]}}))}))},Ue.prototype.requestPermission=function(){return i(this,void 0,void 0,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return"granted"===Notification.permission?[2]:[4,Notification.requestPermission()];case 1:if("granted"===(e=t.sent()))return[2];throw"denied"===e?ve.create("permission-blocked"):ve.create("permission-default")}}))}))},Ue.prototype.usePublicVapidKey=function(e){if(null!==this.vapidKey)throw ve.create("use-vapid-key-after-get-token");if("string"!=typeof e||0===e.length)throw ve.create("invalid-vapid-key");this.vapidKey=e},Ue.prototype.useServiceWorker=function(e){if(!(e instanceof ServiceWorkerRegistration))throw ve.create("invalid-sw-registration");if(this.swRegistration)throw ve.create("use-sw-after-get-token");this.swRegistration=e},Ue.prototype.onMessage=function(e){var t=this;return this.onMessageCallback=e,function(){t.onMessageCallback=null}},Ue.prototype.setBackgroundMessageHandler=function(){throw ve.create("only-available-in-sw")},Ue.prototype.onBackgroundMessage=function(){throw ve.create("only-available-in-sw")},Ue.prototype.onTokenRefresh=function(){return function(){}},Ue.prototype.logEvent=function(e,t){return i(this,void 0,void 0,(function(){var n;return o(this,(function(r){switch(r.label){case 0:return n=function(e){switch(e){case ge.NOTIFICATION_CLICKED:return"notification_open";case ge.PUSH_RECEIVED:return"notification_foreground";default:throw new Error}}(e),[4,this.firebaseDependencies.analyticsProvider.get()];case 1:return r.sent().logEvent(n,{message_id:t[we],message_name:t["google.c.a.c_l"],message_time:t["google.c.a.ts"],message_device_time:Math.floor(Date.now()/1e3)}),[2]}}))}))},Ue);function Ue(e){var t=this;this.firebaseDependencies=e,this.vapidKey=null,this.onMessageCallback=null,navigator.serviceWorker.addEventListener("message",(function(e){return t.messageEventListener(e)}))}function We(e){return ve.create("missing-app-config-values",{valueName:e})}function He(){return self&&"ServiceWorkerGlobalScope"in self?"indexedDB"in self&&null!==indexedDB&&"PushManager"in self&&"Notification"in self&&ServiceWorkerRegistration.prototype.hasOwnProperty("showNotification")&&PushSubscription.prototype.hasOwnProperty("getKey"):"indexedDB"in window&&null!==indexedDB&&navigator.cookieEnabled&&"serviceWorker"in navigator&&"PushManager"in window&&"Notification"in window&&"fetch"in window&&ServiceWorkerRegistration.prototype.hasOwnProperty("showNotification")&&PushSubscription.prototype.hasOwnProperty("getKey")}x={isSupported:He},t.default.INTERNAL.registerComponent(new g("messaging",(function(e){var t=e.getProvider("app").getImmediate();e={app:t,appConfig:function(e){var t,n;if(!e||!e.options)throw We("App Configuration Object");if(!e.name)throw We("App Name");var r=e.options;try{for(var i=s(["projectId","apiKey","appId","messagingSenderId"]),o=i.next();!o.done;o=i.next()){var a=o.value;if(!r[a])throw We(a)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}return{appName:e.name,projectId:r.projectId,apiKey:r.apiKey,appId:r.appId,senderId:r.messagingSenderId}}(t),installations:e.getProvider("installations").getImmediate(),analyticsProvider:e.getProvider("analytics-internal")};if(!He())throw ve.create("unsupported-browser");return new(self&&"ServiceWorkerGlobalScope"in self?Be:Fe)(e)}),"PUBLIC").setServiceProps(x))}).apply(this,arguments)}catch(t){throw console.error(t),new Error("Cannot instantiate firebase-messaging.js - be sure to load firebase-app.js first.")}})); |