1"use strict";(self["webpackChunkVirtualWineEvents"]=self["webpackChunkVirtualWineEvents"]||[]).push([[949],{1897:function(e,t,a){e.exports=a(4559)},4559:function(e,t,a){var n=a(210),i=n("%TypeError%");e.exports=function(e,t){if(null==e)throw new i(t||"Cannot call method on "+e);return e}},3197:function(e,t,a){var n=a(8180),i=a(2238),r=a(3333),o=a(4444),s=a(8463);a(7578); 2/** 3 * @license 4 * Copyright 2019 Google LLC 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18const c="analytics",l="firebase_id",p="origin",d=6e4,u="https://firebase.googleapis.com/v1alpha/projects/-/apps/{app-id}/webConfig",h="https://www.googletagmanager.com/gtag/js",f=new r.Yd("@firebase/analytics"); 19/** 20 * @license 21 * Copyright 2019 Google LLC 22 * 23 * Licensed under the Apache License, Version 2.0 (the "License"); 24 * you may not use this file except in compliance with the License. 25 * You may obtain a copy of the License at 26 * 27 * http://www.apache.org/licenses/LICENSE-2.0 28 * 29 * Unless required by applicable law or agreed to in writing, software 30 * distributed under the License is distributed on an "AS IS" BASIS, 31 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 32 * See the License for the specific language governing permissions and 33 * limitations under the License. 34 */ 35function m(e){return Promise.all(e.map((e=>e.catch((e=>e)))))}function g(e,t){const a=document.createElement("script");a.src=`${h}?l=${e}&id=${t}`,a.async=!0,document.head.appendChild(a)}function b(e){let t=[];return Array.isArray(window[e])?t=window[e]:window[e]=t,t}async function w(e,t,a,n,i,r){const o=n[i];try{if(o)await t[o];else{const e=await m(a),n=e.find((e=>e.measurementId===i));n&&await t[n.appId]}}catch(s){f.error(s)}e("config",i,r)}async function _(e,t,a,n,i){try{let r=[];if(i&&i["send_to"]){let e=i["send_to"];Array.isArray(e)||(e=[e]);const n=await m(a);for(const a of e){const e=n.find((e=>e.measurementId===a)),i=e&&t[e.appId];if(!i){r=[];break}r.push(i)}}0===r.length&&(r=Object.values(t)),await Promise.all(r),e("event",n,i||{})}catch(r){f.error(r)}}function v(e,t,a,n){async function i(i,r,o){try{"event"===i?await _(e,t,a,r,o):"config"===i?await w(e,t,a,n,r,o):"consent"===i?e("consent","update",o):e("set",r)}catch(s){f.error(s)}}return i}function I(e,t,a,n,i){let r=function(...e){window[n].push(arguments)};return window[i]&&"function"===typeof window[i]&&(r=window[i]),window[i]=v(r,e,t,a),{gtagCore:r,wrappedGtag:window[i]}}function y(e){const t=window.document.getElementsByTagName("script");for(const a of Object.values(t))if(a.src&&a.src.includes(h)&&a.src.includes(e))return a;return null} 36/** 37 * @license 38 * Copyright 2019 Google LLC 39 * 40 * Licensed under the Apache License, Version 2.0 (the "License"); 41 * you may not use this file except in compliance with the License. 42 * You may obtain a copy of the License at 43 * 44 * http://www.apache.org/licenses/LICENSE-2.0 45 * 46 * Unless required by applicable law or agreed to in writing, software 47 * distributed under the License is distributed on an "AS IS" BASIS, 48 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 49 * See the License for the specific language governing permissions and 50 * limitations under the License. 51 */const E={["already-exists"]:"A Firebase Analytics instance with the appId {$id} already exists. Only one Firebase Analytics instance can be created for each appId.",["already-initialized"]:"initializeAnalytics() cannot be called again with different options than those it was initially called with. It can be called again with the same options to return the existing instance, or getAnalytics() can be used to get a reference to the already-intialized instance.",["already-initialized-settings"]:"Firebase Analytics has already been initialized.settings() must be called before initializing any Analytics instanceor it will have no effect.",["interop-component-reg-failed"]:"Firebase Analytics Interop Component failed to instantiate: {$reason}
51",["invalid-analytics-context"]:"Firebase Analytics is not supported in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}",["indexeddb-unavailable"]:"IndexedDB unavailable or restricted in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}",["fetch-throttle"]:"The config fetch request timed out while in an exponential backoff state. Unix timestamp in milliseconds when fetch request throttling ends: {$throttleEndTimeMillis}.",["config-fetch-failed"]:"Dynamic config fetch failed: [{$httpStatus}] {$responseMessage}",["no-api-key"]:'The "apiKey" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid API key.',["no-app-id"]:'The "appId" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid app ID.'},C=new o.LL("analytics","Analytics",E),D=30,A=1e3;class T{constructor(e={},t=A){this.throttleMetadata=e,this.intervalMillis=t}getThrottleMetadata(e){return this.throttleMetadata[e]}setThrottleMetadata(e,t){this.throttleMetadata[e]=t}deleteThrottleMetadata(e){delete this.throttleMetadata[e]}}const N=new T;function P(e){return new Headers({Accept:"application/json","x-goog-api-key":e})}async function S(e){var t;const{appId:a,apiKey:n}=e,i={method:"GET",headers:P(n)},r=u.replace("{app-id}",a),o=await fetch(r,i);if(200!==o.status&&304!==o.status){let e="";try{const a=await o.json();(null===(t=a.error)||void 0===t?void 0:t.message)&&(e=a.error.message)}catch(s){}throw C.create("config-fetch-failed",{httpStatus:o.status,responseMessage:e})}return o.json()}async function O(e,t=N,a){const{appId:n,apiKey:i,measurementId:r}=e.options;if(!n)throw C.create("no-app-id");if(!i){if(r)return{measurementId:r,appId:n};throw C.create("no-api-key")}const o=t.getThrottleMetadata(n)||{backoffCount:0,throttleEndTimeMillis:Date.now()},s=new $;return setTimeout((async()=>{s.abort()}),void 0!==a?a:d),F({appId:n,apiKey:i,measurementId:r},o,s,t)}async function F(e,{throttleEndTimeMillis:t,backoffCount:a},n,i=N){var r;const{appId:s,measurementId:c}=e;try{await L(n,t)}catch(l){if(c)return f.warn(`Timed out fetching this Firebase app's measurement ID from the server. Falling back to the measurement ID ${c} provided in the "measurementId" field in the local Firebase config. [${null===l||void 0===l?void 0:l.message}]`),{appId:s,measurementId:c};throw l}try{const t=await S(e);return i.deleteThrottleMetadata(s),t}catch(l){const t=l;if(!M(t)){if(i.deleteThrottleMetadata(s),c)return f.warn(`Failed to fetch this Firebase app's measurement ID from the server. Falling back to the measurement ID ${c} provided in the "measurementId" field in the local Firebase config. [${null===t||void 0===t?void 0:t.message}]`),{appId:s,measurementId:c};throw l}const p=503===Number(null===(r=null===t||void 0===t?void 0:t.customData)||void 0===r?void 0:r.httpStatus)?(0,o.$s)(a,i.intervalMillis,D):(0,o.$s)(a,i.intervalMillis),d={throttleEndTimeMillis:Date.now()+p,backoffCount:a+1};return i.setThrottleMetadata(s,d),f.debug(`Calling attemptFetch again in ${p} millis`),F(e,d,n,i)}}function L(e,t){return new Promise(((a,n)=>{const i=Math.max(t-Date.now(),0),r=setTimeout(a,i);e.addEventListener((()=>{clearTimeout(r),n(C.create("fetch-throttle",{throttleEndTimeMillis:t}))}))}))}function M(e){if(!(e instanceof o.ZR)||!e.customData)return!1;const t=Number(e.customData["httpStatus"]);return 429===t||500===t||503===t||504===t}class ${constructor(){this.listeners=[]}addEventListener(e){this.listeners.push(e)}abort(){this.listeners.forEach((e=>e()))}} 52/** 53 * @license 54 * Copyright 2019 Google LLC 55 * 56 * Licensed under the Apache License, Version 2.0 (the "License"); 57 * you may not use this file except in compliance with the License. 58 * You may obtain a copy of the License at 59 * 60 * http://www.apache.org/licenses/LICENSE-2.0 61 * 62 * Unless required by applicable law or agreed to in writing, software 63 * distributed under the License is distributed on an "AS IS" BASIS, 64 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 65 * See the License for the specific language governing permissions and 66 * limitations under the License. 67 */let k,R;async function x(e,t,a,n,i){if(i&&i.global)e("event",a,n);else{const i=await t,r=Object.assign(Object.assign({},n),{send_to:i});e("event",a,r)}}async function j(e,t,a,n){if(n&&n.global)return e("set",{screen_name:a}),Promise.resolve();{const n=await t;e("config",n,{update:!0,screen_name:a})}}async function U(e,t,a,n){if(n&&n.global)return e("set",{user_id:a}),Promise.resolve();{const n=await t;e("config",n,{update:!0,user_id:a})}}async function V(e,t,a,n){if(n&&n.global){const t={};for(const e of Object.keys(a))t[`user_properties.${e}`]=a[e];return e("set",t),Promise.resolve()}{const n=await t;e("config",n,{update:!0,user_properties:a})}}async function H(e,t){const a=await e;window[`ga-disable-${a}`]=!t}function B(e){R=e}function z(e){k=e} 68/** 69 * @license 70 * Copyright 2020 Google LLC 71 * 72 * Licensed under the Apache License, Version 2.0 (the "License");
73 * you may not use this file except in compliance with the License. 74 * You may obtain a copy of the License at 75 * 76 * http://www.apache.org/licenses/LICENSE-2.0 77 * 78 * Unless required by applicable law or agreed to in writing, software 79 * distributed under the License is distributed on an "AS IS" BASIS, 80 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 81 * See the License for the specific language governing permissions and 82 * limitations under the License. 83 */async function W(){if(!(0,o.hl)())return f.warn(C.create("indexeddb-unavailable",{errorInfo:"IndexedDB is not available in this environment."}).message),!1;try{await(0,o.eu)()}catch(e){return f.warn(C.create("indexeddb-unavailable",{errorInfo:null===e||void 0===e?void 0:e.toString()}).message),!1}return!0}async function K(e,t,a,n,i,r,o){var s;const c=O(e);c.then((t=>{a[t.measurementId]=t.appId,e.options.measurementId&&t.measurementId!==e.options.measurementId&&f.warn(`The measurement ID in the local Firebase config (${e.options.measurementId}) does not match the measurement ID fetched from the server (${t.measurementId}). To ensure analytics events are always sent to the correct Analytics property, update the measurement ID field in the local config or remove it from the local config.`)})).catch((e=>f.error(e))),t.push(c);const d=W().then((e=>e?n.getId():void 0)),[u,h]=await Promise.all([c,d]);y(r)||g(r,u.measurementId),R&&(i("consent","default",R),B(void 0)),i("js",new Date);const m=null!==(s=null===o||void 0===o?void 0:o.config)&&void 0!==s?s:{};return m[p]="firebase",m.update=!0,null!=h&&(m[l]=h),i("config",u.measurementId,m),k&&(i("set",k),z(void 0)),u.measurementId} 84/** 85 * @license 86 * Copyright 2019 Google LLC 87 * 88 * Licensed under the Apache License, Version 2.0 (the "License"); 89 * you may not use this file except in compliance with the License. 90 * You may obtain a copy of the License at 91 * 92 * http://www.apache.org/licenses/LICENSE-2.0 93 * 94 * Unless required by applicable law or agreed to in writing, software 95 * distributed under the License is distributed on an "AS IS" BASIS, 96 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 97 * See the License for the specific language governing permissions and 98 * limitations under the License. 99 */class Z{constructor(e){this.app=e}_delete(){return delete G[this.app.options.appId],Promise.resolve()}}let G={},Y=[];const q={};let J,X,Q="dataLayer",ee="gtag",te=!1;function ae(e){if(te)throw C.create("already-initialized");e.dataLayerName&&(Q=e.dataLayerName),e.gtagName&&(ee=e.gtagName)}function ne(){const e=[];if((0,o.ru)()&&e.push("This is a browser extension environment."),(0,o.zI)()||e.push("Cookies are not available."),e.length>0){const t=e.map(((e,t)=>`(${t+1}) ${e}`)).join(" "),a=C.create("invalid-analytics-context",{errorInfo:t});f.warn(a.message)}}function ie(e,t,a){ne();const n=e.options.appId;if(!n)throw C.create("no-app-id");if(!e.options.apiKey){if(!e.options.measurementId)throw C.create("no-api-key");f.warn(`The "apiKey" field is empty in the local Firebase config. This is needed to fetch the latest measurement ID for this Firebase app. Falling back to the measurement ID ${e.options.measurementId} provided in the "measurementId" field in the local Firebase config.`)}if(null!=G[n])throw C.create("already-exists",{id:n});if(!te){b(Q);const{wrappedGtag:e,gtagCore:t}=I(G,Y,q,Q,ee);X=e,J=t,te=!0}G[n]=K(e,Y,q,t,J,Q,a);const i=new Z(e);return i}async function re(){if((0,o.ru)())return!1;if(!(0,o.zI)())return!1;if(!(0,o.hl)())return!1;try{const e=await(0,o.eu)();return e}catch(e){return!1}}function oe(e,t,a){e=(0,o.m9)(e),j(X,G[e.app.options.appId],t,a).catch((e=>f.error(e)))}function se(e,t,a){e=(0,o.m9)(e),U(X,G[e.app.options.appId],t,a).catch((e=>f.error(e)))}function ce(e,t,a){e=(0,o.m9)(e),V(X,G[e.app.options.appId],t,a).catch((e=>f.error(e)))}function le(e,t){e=(0,o.m9)(e),H(G[e.app.options.appId],t).catch((e=>f.error(e)))}function pe(e,t,a,n){e=(0,o.m9)(e),x(X,G[e.app.options.appId],t,a,n).catch((e=>f.error(e)))}const de="@firebase/analytics",ue="0.9.1";function he(){function e(e){try{const t=e.getProvider(c).getImmediate();return{logEvent:(e,a,n)=>pe(t,e,a,n)}}catch(t){throw C.create("interop-component-reg-failed",{reason:t})}}(0,i._registerComponent)(new s.wA(c,((e,{options:t})=>{const a=e.getProvider("app").getImmediate(),n=e.getProvider("installations-internal").getImmediate();return ie(a,n,t)}),"PUBLIC")),(0,i._registerComponent)(new s.wA("analytics-internal",e,"PRIVATE")),(0,i.registerVersion)(de,ue),(0,i.registerVersion)(de,ue,"esm2017")}he();const fe="@firebase/analytics-compat",me="0.2.1"; 100/** 101 * @license 102 * Copyright 2020 Google LLC 103 * 104 * Licensed under the Apache License, Version 2.0 (the "License");
105 * you may not use this file except in compliance with the License. 106 * You may obtain a copy of the License at 107 * 108 * http://www.apache.org/licenses/LICENSE-2.0 109 * 110 * Unless required by applicable law or agreed to in writing, software 111 * distributed under the License is distributed on an "AS IS" BASIS, 112 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 113 * See the License for the specific language governing permissions and 114 * limitations under the License. 115 */ 116class ge{constructor(e,t){this.app=e,this._delegate=t}logEvent(e,t,a){pe(this._delegate,e,t,a)}setCurrentScreen(e,t){oe(this._delegate,e,t)}setUserId(e,t){se(this._delegate,e,t)}setUserProperties(e,t){ce(this._delegate,e,t)}setAnalyticsCollectionEnabled(e){le(this._delegate,e)}} 117/** 118 * @license 119 * Copyright 2021 Google LLC 120 * 121 * Licensed under the Apache License, Version 2.0 (the "License"); 122 * you may not use this file except in compliance with the License. 123 * You may obtain a copy of the License at 124 * 125 * http://www.apache.org/licenses/LICENSE-2.0 126 * 127 * Unless required by applicable law or agreed to in writing, software 128 * distributed under the License is distributed on an "AS IS" BASIS, 129 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130 * See the License for the specific language governing permissions and 131 * limitations under the License. 132 */var be;(function(e){e["ADD_SHIPPING_INFO"]="add_shipping_info",e["ADD_PAYMENT_INFO"]="add_payment_info",e["ADD_TO_CART"]="add_to_cart",e["ADD_TO_WISHLIST"]="add_to_wishlist",e["BEGIN_CHECKOUT"]="begin_checkout",e["CHECKOUT_PROGRESS"]="checkout_progress",e["EXCEPTION"]="exception",e["GENERATE_LEAD"]="generate_lead",e["LOGIN"]="login",e["PAGE_VIEW"]="page_view",e["PURCHASE"]="purchase",e["REFUND"]="refund",e["REMOVE_FROM_CART"]="remove_from_cart",e["SCREEN_VIEW"]="screen_view",e["SEARCH"]="search",e["SELECT_CONTENT"]="select_content",e["SELECT_ITEM"]="select_item",e["SELECT_PROMOTION"]="select_promotion",e["SET_CHECKOUT_OPTION"]="set_checkout_option",e["SHARE"]="share",e["SIGN_UP"]="sign_up",e["TIMING_COMPLETE"]="timing_complete",e["VIEW_CART"]="view_cart",e["VIEW_ITEM"]="view_item",e["VIEW_ITEM_LIST"]="view_item_list",e["VIEW_PROMOTION"]="view_promotion",e["VIEW_SEARCH_RESULTS"]="view_search_results"})(be||(be={})); 133/** 134 * @license 135 * Copyright 2021 Google LLC 136 * 137 * Licensed under the Apache License, Version 2.0 (the "License"); 138 * you may not use this file except in compliance with the License. 139 * You may obtain a copy of the License at 140 * 141 * http://www.apache.org/licenses/LICENSE-2.0 142 * 143 * Unless required by applicable law or agreed to in writing, software 144 * distributed under the License is distributed on an "AS IS" BASIS, 145 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 146 * See the License for the specific language governing permissions and 147 * limitations under the License. 148 */ 149const we=e=>{const t=e.getProvider("app-compat").getImmediate(),a=e.getProvider("analytics").getImmediate();return new ge(t,a)};function _e(){const e={Analytics:ge,settings:ae,isSupported:re,EventName:be};n.Z.INTERNAL.registerComponent(new s.wA("analytics-compat",we,"PUBLIC").setServiceProps(e).setMultipleInstances(!0))}_e(),n.Z.registerVersion(fe,me)},8180:function(e,t,a){a.d(t,{Z:function(){return b}});var n=a(4444),i=a(8463),r=a(2238),o=a(3333); 150/** 151 * @license 152 * Copyright 2020 Google LLC 153 * 154 * Licensed under the Apache License, Version 2.0 (the "License"); 155 * you may not use this file except in compliance with the License. 156 * You may obtain a copy of the License at 157 * 158 * http://www.apache.org/licenses/LICENSE-2.0 159 * 160 * Unless required by applicable law or agreed to in writing, software 161 * distributed under the License is distributed on an "AS IS" BASIS, 162 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 163 * See the License for the specific language governing permissions and 164 * limitations under the License. 165 */ 166class s{constructor(e,t){this._delegate=e,this.firebase=t,(0,r._addComponent)(e,new i.wA("app-compat",(()=>this),"PUBLIC")),this.container=e.container}get automaticDataCollectionEnabled(){return this._delegate.automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this._delegate.automaticDataCollectionEnabled=e}get name(){return this._delegate.name}get options(){return this._delegate.options}delete(){return new Promise((e=>{this._delegate.checkDestroyed(),e()})).then((()=>(this.firebase.INTERNAL.removeApp(this.name),(0,r.deleteApp)(this._delegate))))}_getService(e,t=r._DEFAULT_ENTRY_NAME){var a;this._delegate.checkDestroyed();const n=this._delegate.container.getProvider(e);return n.isInitialized()||"EXPLICIT"!==(null===(a=n.getComponent())||void 0===a?void 0:a.instantiationMode)||n.initialize(),n.getImmediate({identifier:t})}_removeServiceInstance(e,t=r._DEFAULT_ENTRY_NAME){this._delegate.container.getProvider(e).
166clearInstance(t)}_addComponent(e){(0,r._addComponent)(this._delegate,e)}_addOrOverwriteComponent(e){(0,r._addOrOverwriteComponent)(this._delegate,e)}toJSON(){return{name:this.name,automaticDataCollectionEnabled:this.automaticDataCollectionEnabled,options:this.options}}} 167/** 168 * @license 169 * Copyright 2019 Google LLC 170 * 171 * Licensed under the Apache License, Version 2.0 (the "License"); 172 * you may not use this file except in compliance with the License. 173 * You may obtain a copy of the License at 174 * 175 * http://www.apache.org/licenses/LICENSE-2.0 176 * 177 * Unless required by applicable law or agreed to in writing, software 178 * distributed under the License is distributed on an "AS IS" BASIS, 179 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 180 * See the License for the specific language governing permissions and 181 * limitations under the License. 182 */const c={["no-app"]:"No Firebase App '{$appName}' has been created - call Firebase App.initializeApp()",["invalid-app-argument"]:"firebase.{$appName}() takes either no argument or a Firebase App instance."},l=new n.LL("app-compat","Firebase",c); 183/** 184 * @license 185 * Copyright 2019 Google LLC 186 * 187 * Licensed under the Apache License, Version 2.0 (the "License"); 188 * you may not use this file except in compliance with the License. 189 * You may obtain a copy of the License at 190 * 191 * http://www.apache.org/licenses/LICENSE-2.0 192 * 193 * Unless required by applicable law or agreed to in writing, software 194 * distributed under the License is distributed on an "AS IS" BASIS, 195 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 196 * See the License for the specific language governing permissions and 197 * limitations under the License. 198 */ 199function p(e){const t={},a={__esModule:!0,initializeApp:s,app:o,registerVersion:r.registerVersion,setLogLevel:r.setLogLevel,onLog:r.onLog,apps:null,SDK_VERSION:r.SDK_VERSION,INTERNAL:{registerComponent:p,removeApp:i,useAsService:d,modularAPIs:r}};function i(e){delete t[e]}function o(e){if(e=e||r._DEFAULT_ENTRY_NAME,!(0,n.r3)(t,e))throw l.create("no-app",{appName:e});return t[e]}function s(i,o={}){const s=r.initializeApp(i,o);if((0,n.r3)(t,s.name))return t[s.name];const c=new e(s,a);return t[s.name]=c,c}function c(){return Object.keys(t).map((e=>t[e]))}function p(t){const i=t.name,s=i.replace("-compat","");if(r._registerComponent(t)&&"PUBLIC"===t.type){const r=(e=o())=>{if("function"!==typeof e[s])throw l.create("invalid-app-argument",{appName:i});return e[s]()};void 0!==t.serviceProps&&(0,n.ZB)(r,t.serviceProps),a[s]=r,e.prototype[s]=function(...e){const a=this._getService.bind(this,i);return a.apply(this,t.multipleInstances?e:[])}}return"PUBLIC"===t.type?a[s]:null}function d(e,t){if("serverAuth"===t)return null;const a=t;return a}return a["default"]=a,Object.defineProperty(a,"apps",{get:c}),o["App"]=e,a} 200/** 201 * @license 202 * Copyright 2019 Google LLC 203 * 204 * Licensed under the Apache License, Version 2.0 (the "License"); 205 * you may not use this file except in compliance with the License. 206 * You may obtain a copy of the License at 207 * 208 * http://www.apache.org/licenses/LICENSE-2.0 209 * 210 * Unless required by applicable law or agreed to in writing, software 211 * distributed under the License is distributed on an "AS IS" BASIS, 212 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 213 * See the License for the specific language governing permissions and 214 * limitations under the License. 215 */function d(){const e=p(s);function t(t){(0,n.ZB)(e,t)}return e.INTERNAL=Object.assign(Object.assign({},e.INTERNAL),{createFirebaseNamespace:d,extendNamespace:t,createSubscribe:n.ne,ErrorFactory:n.LL,deepExtend:n.ZB}),e}const u=d(),h=new o.Yd("@firebase/app-compat"),f="@firebase/app-compat",m="0.2.1"; 216/** 217 * @license 218 * Copyright 2019 Google LLC 219 * 220 * Licensed under the Apache License, Version 2.0 (the "License"); 221 * you may not use this file except in compliance with the License. 222 * You may obtain a copy of the License at 223 * 224 * http://www.apache.org/licenses/LICENSE-2.0 225 * 226 * Unless required by applicable law or agreed to in writing, softw
226are 227 * distributed under the License is distributed on an "AS IS" BASIS, 228 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 229 * See the License for the specific language governing permissions and 230 * limitations under the License. 231 */ 232/** 233 * @license 234 * Copyright 2019 Google LLC 235 * 236 * Licensed under the Apache License, Version 2.0 (the "License"); 237 * you may not use this file except in compliance with the License. 238 * You may obtain a copy of the License at 239 * 240 * http://www.apache.org/licenses/LICENSE-2.0 241 * 242 * Unless required by applicable law or agreed to in writing, software 243 * distributed under the License is distributed on an "AS IS" BASIS, 244 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 245 * See the License for the specific language governing permissions and 246 * limitations under the License. 247 */ 248function g(e){(0,r.registerVersion)(f,m,e)} 249/** 250 * @license 251 * Copyright 2020 Google LLC 252 * 253 * Licensed under the Apache License, Version 2.0 (the "License"); 254 * you may not use this file except in compliance with the License. 255 * You may obtain a copy of the License at 256 * 257 * http://www.apache.org/licenses/LICENSE-2.0 258 * 259 * Unless required by applicable law or agreed to in writing, software 260 * distributed under the License is distributed on an "AS IS" BASIS, 261 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 262 * See the License for the specific language governing permissions and 263 * limitations under the License. 264 */if((0,n.jU)()&&void 0!==self.firebase){h.warn("\n Warning: Firebase is already defined in the global scope. Please make sure\n Firebase library is only loaded once.\n ");const e=self.firebase.SDK_VERSION;e&&e.indexOf("LITE")>=0&&h.warn("\n Warning: You are trying to load Firebase while using Firebase Performance standalone script.\n You should load Firebase Performance with this instance of Firebase to avoid loading duplicate code.\n ")}const b=u;g()},2238:function(e,t,a){a.r(t),a.d(t,{FirebaseError:function(){return r.ZR},SDK_VERSION:function(){return q},_DEFAULT_ENTRY_NAME:function(){return R},_addComponent:function(){return V},_addOrOverwriteComponent:function(){return H},_apps:function(){return j},_clearComponents:function(){return K},_components:function(){return U},_getProvider:function(){return z},_registerComponent:function(){return B},_removeServiceInstance:function(){return W},deleteApp:function(){return ee},getApp:function(){return X},getApps:function(){return Q},initializeApp:function(){return J},onLog:function(){return ae},registerVersion:function(){return te},setLogLevel:function(){return ne}});var n=a(8463),i=a(3333),r=a(4444),o=a(6531); 265/** 266 * @license 267 * Copyright 2019 Google LLC 268 * 269 * Licensed under the Apache License, Version 2.0 (the "License"); 270 * you may not use this file except in compliance with the License. 271 * You may obtain a copy of the License at 272 * 273 * http://www.apache.org/licenses/LICENSE-2.0 274 * 275 * Unless required by applicable law or agreed to in writing, software 276 * distributed under the License is distributed on an "AS IS" BASIS, 277 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 278 * See the License for the specific language governing permissions and 279 * limitations under the License. 280 */ 281class s{constructor(e){this.container=e}getPlatformInfoString(){const e=this.container.getProviders();return e.map((e=>{if(c(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null})).filter((e=>e)).join(" ")}}function c(e){const t=e.getComponent();return"VERSION"===(null===t||void 0===t?void 0:t.type)}const l="@firebase/app",p="0.9.1",d=new i.Yd("@firebase/app"),u="@firebase/app-compat",h="@firebase/analytics-compat",f="@firebase/analytics",m="@firebase/app-check-compat",g="@firebase/app-check",b="@firebase/auth",w="@firebase/auth-compat",_="@firebase/database",v="@firebase/database-compat",I="@firebase/functions",y="@firebase/functions-compat",E="@firebase/installations",C="@firebase/installations-compat",D="@firebase/messaging",A="@firebase/messaging-compat",T="@firebase/performance",N="@firebase/performance-compat",P="@firebase/remote-config",S="@firebase/remote-config-compat",O="@firebase/storage",F="@firebase/storage-compat",L="@firebase/firestore",M="@firebase/firestore-compat",$="firebase",k="9.16.0",R="[DEFAULT]",x={[l]:"fire-core",[u]:"fire-core-compat",[f]:"fire-analytics",[h]:"fire-analytics-compat",[g]:"fire-app-check",[m]:"fire-app-check-compat",[b]:"fire-auth",[w]:"fire-auth-compat",[_]:"fire-rtdb",[v]:"fire-rtdb-compat",[I]:"fire-fn",[y]:"fire-fn-compat",[E]:"fire-iid",[C]:"fire-iid-compat",[D]:"fire-fcm",[A]:"fire-fcm-compat",[T]:"fire-perf",[N]:"fire-perf-compat",[P]:"fire-rc",[S]:"fire-rc-compat",[O]:"fire-g
281cs",[F]:"fire-gcs-compat",[L]:"fire-fst",[M]:"fire-fst-compat","fire-js":"fire-js",[$]:"fire-js-all"},j=new Map,U=new Map;function V(e,t){try{e.container.addComponent(t)}catch(a){d.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,a)}}function H(e,t){e.container.addOrOverwriteComponent(t)}function B(e){const t=e.name;if(U.has(t))return d.debug(`There were multiple attempts to register component ${t}.`),!1;U.set(t,e);for(const a of j.values())V(a,e);return!0}function z(e,t){const a=e.container.getProvider("heartbeat").getImmediate({optional:!0});return a&&a.triggerHeartbeat(),e.container.getProvider(t)}function W(e,t,a=R){z(e,t).clearInstance(a)}function K(){U.clear()} 282/** 283 * @license 284 * Copyright 2019 Google LLC 285 * 286 * Licensed under the Apache License, Version 2.0 (the "License"); 287 * you may not use this file except in compliance with the License. 288 * You may obtain a copy of the License at 289 * 290 * http://www.apache.org/licenses/LICENSE-2.0 291 * 292 * Unless required by applicable law or agreed to in writing, software 293 * distributed under the License is distributed on an "AS IS" BASIS, 294 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 295 * See the License for the specific language governing permissions and 296 * limitations under the License. 297 */const Z={["no-app"]:"No Firebase App '{$appName}' has been created - call Firebase App.initializeApp()",["bad-app-name"]:"Illegal App name: '{$appName}",["duplicate-app"]:"Firebase App named '{$appName}' already exists with different options or config",["app-deleted"]:"Firebase App named '{$appName}' already deleted",["no-options"]:"Need to provide options, when not being deployed to hosting via source.",["invalid-app-argument"]:"firebase.{$appName}() takes either no argument or a Firebase App instance.",["invalid-log-argument"]:"First argument to `onLog` must be null or a function.",["idb-open"]:"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.",["idb-get"]:"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.",["idb-set"]:"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.",["idb-delete"]:"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}."},G=new r.LL("app","Firebase",Z); 298/** 299 * @license 300 * Copyright 2019 Google LLC 301 * 302 * Licensed under the Apache License, Version 2.0 (the "License"); 303 * you may not use this file except in compliance with the License. 304 * You may obtain a copy of the License at 305 * 306 * http://www.apache.org/licenses/LICENSE-2.0 307 * 308 * Unless required by applicable law or agreed to in writing, software 309 * distributed under the License is distributed on an "AS IS" BASIS, 310 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 311 * See the License for the specific language governing permissions and 312 * limitations under the License. 313 */ 314class Y{constructor(e,t,a){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=a,this.container.addComponent(new n.wA("app",(()=>this),"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw G.create("app-deleted",{appName:this._name})}} 315/** 316 * @license 317 * Copyright 2019 Google LLC 318 * 319 * Licensed under the Apache License, Version 2.0 (the "License"); 320 * you may not use this file except in compliance with the License. 321 * You may obtain a copy of the License at 322 * 323 * http://www.apache.org/licenses/LICENSE-2.0 324 * 325 * Unless required by applicable law or agreed to in writing, softw
325are 326 * distributed under the License is distributed on an "AS IS" BASIS, 327 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 328 * See the License for the specific language governing permissions and 329 * limitations under the License. 330 */const q=k;function J(e,t={}){let a=e;if("object"!==typeof t){const e=t;t={name:e}}const i=Object.assign({name:R,automaticDataCollectionEnabled:!1},t),o=i.name;if("string"!==typeof o||!o)throw G.create("bad-app-name",{appName:String(o)});if(a||(a=(0,r.aH)()),!a)throw G.create("no-options");const s=j.get(o);if(s){if((0,r.vZ)(a,s.options)&&(0,r.vZ)(i,s.config))return s;throw G.create("duplicate-app",{appName:o})}const c=new n.H0(o);for(const n of U.values())c.addComponent(n);const l=new Y(a,i,c);return j.set(o,l),l}function X(e=R){const t=j.get(e);if(!t&&e===R)return J();if(!t)throw G.create("no-app",{appName:e});return t}function Q(){return Array.from(j.values())}async function ee(e){const t=e.name;j.has(t)&&(j.delete(t),await Promise.all(e.container.getProviders().map((e=>e.delete()))),e.isDeleted=!0)}function te(e,t,a){var i;let r=null!==(i=x[e])&&void 0!==i?i:e;a&&(r+=`-${a}`);const o=r.match(/\s|\//),s=t.match(/\s|\//);if(o||s){const e=[`Unable to register library "${r}" with version "${t}":`];return o&&e.push(`library name "${r}" contains illegal characters (whitespace or "/")`),o&&s&&e.push("and"),s&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void d.warn(e.join(" "))}B(new n.wA(`${r}-version`,(()=>({library:r,version:t})),"VERSION"))}function ae(e,t){if(null!==e&&"function"!==typeof e)throw G.create("invalid-log-argument");(0,i.Am)(e,t)}function ne(e){(0,i.Ub)(e)} 331/** 332 * @license 333 * Copyright 2021 Google LLC 334 * 335 * Licensed under the Apache License, Version 2.0 (the "License"); 336 * you may not use this file except in compliance with the License. 337 * You may obtain a copy of the License at 338 * 339 * http://www.apache.org/licenses/LICENSE-2.0 340 * 341 * Unless required by applicable law or agreed to in writing, software 342 * distributed under the License is distributed on an "AS IS" BASIS, 343 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 344 * See the License for the specific language governing permissions and 345 * limitations under the License. 346 */const ie="firebase-heartbeat-database",re=1,oe="firebase-heartbeat-store";let se=null;function ce(){return se||(se=(0,o.X3)(ie,re,{upgrade:(e,t)=>{switch(t){case 0:e.createObjectStore(oe)}}}).catch((e=>{throw G.create("idb-open",{originalErrorMessage:e.message})}))),se}async function le(e){try{const t=await ce();return t.transaction(oe).objectStore(oe).get(de(e))}catch(t){if(t instanceof r.ZR)d.warn(t.message);else{const e=G.create("idb-get",{originalErrorMessage:null===t||void 0===t?void 0:t.message});d.warn(e.message)}}}async function pe(e,t){try{const a=await ce(),n=a.transaction(oe,"readwrite"),i=n.objectStore(oe);return await i.put(t,de(e)),n.done}catch(a){if(a instanceof r.ZR)d.warn(a.message);else{const e=G.create("idb-set",{originalErrorMessage:null===a||void 0===a?void 0:a.message});d.warn(e.message)}}}function de(e){return`${e.name}!${e.options.appId}`} 347/** 348 * @license 349 * Copyright 2021 Google LLC 350 * 351 * Licensed under the Apache License, Version 2.0 (the "License"); 352 * you may not use this file except in compliance with the License. 353 * You may obtain a copy of the License at 354 * 355 * http://www.apache.org/licenses/LICENSE-2.0 356 * 357 * Unless required by applicable law or agreed to in writing, software 358 * distributed under the License is distributed on an "AS IS" BASIS, 359 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 360 * See the License for the specific language governing permissions and 361 * limitations under the License. 362 */const ue=1024,he=2592e6;class fe{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new be(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){const e=this.container.getProvider("platform-logger").getImmediate(),t=e.getPlatformInfoString(),a=me();if(null===this._heartbeatsCache&&(this._heartbeatsCache=await this._heartbeatsCachePromise),this._heartbeatsCache.lastSentHeartbeatDate!==a&&!this._heartbeatsCache.heartbeats.some((e=>e.date===a)))return this._heartbeatsCache.heartbeats.push({date:a,agent:t}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter((e=>{const t=new Date(e.date).valueOf(),a=Date.now();return a-t<=he})),this._storage.overwrite(this._heartbeatsCache)}
362async getHeartbeatsHeader(){if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null===this._heartbeatsCache||0===this._heartbeatsCache.heartbeats.length)return"";const e=me(),{heartbeatsToSend:t,unsentEntries:a}=ge(this._heartbeatsCache.heartbeats),n=(0,r.L)(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,a.length>0?(this._heartbeatsCache.heartbeats=a,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),n}}function me(){const e=new Date;return e.toISOString().substring(0,10)}function ge(e,t=ue){const a=[];let n=e.slice();for(const i of e){const e=a.find((e=>e.agent===i.agent));if(e){if(e.dates.push(i.date),we(a)>t){e.dates.pop();break}}else if(a.push({agent:i.agent,dates:[i.date]}),we(a)>t){a.pop();break}n=n.slice(1)}return{heartbeatsToSend:a,unsentEntries:n}}class be{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!(0,r.hl)()&&(0,r.eu)().then((()=>!0)).catch((()=>!1))}async read(){const e=await this._canUseIndexedDBPromise;if(e){const e=await le(this.app);return e||{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;const a=await this._canUseIndexedDBPromise;if(a){const a=await this.read();return pe(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:a.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;const a=await this._canUseIndexedDBPromise;if(a){const a=await this.read();return pe(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:a.lastSentHeartbeatDate,heartbeats:[...a.heartbeats,...e.heartbeats]})}}}function we(e){return(0,r.L)(JSON.stringify({version:2,heartbeats:e})).length} 363/** 364 * @license 365 * Copyright 2019 Google LLC 366 * 367 * Licensed under the Apache License, Version 2.0 (the "License"); 368 * you may not use this file except in compliance with the License. 369 * You may obtain a copy of the License at 370 * 371 * http://www.apache.org/licenses/LICENSE-2.0 372 * 373 * Unless required by applicable law or agreed to in writing, software 374 * distributed under the License is distributed on an "AS IS" BASIS, 375 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 376 * See the License for the specific language governing permissions and 377 * limitations under the License. 378 */function _e(e){B(new n.wA("platform-logger",(e=>new s(e)),"PRIVATE")),B(new n.wA("heartbeat",(e=>new fe(e)),"PRIVATE")),te(l,p,e),te(l,p,"esm2017"),te("fire-js","")}_e("")}}]); 379//# sourceMappingURL=chunk-vendors-00833fa6.299f46c5.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.