1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,76142,e=>{"use strict";let t,n,r,i;var a,s,o,l,u,c,d=e.i(43476),h=e.i(71645),f=e.i(18566),m=e.i(76277),p=e.i(47167);let g=function(e){let t=[],n=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);i<128?t[n++]=i:(i<2048?t[n++]=i>>6|192:((64512&i)==55296&&r+1<e.length&&(64512&e.charCodeAt(r+1))==56320?(i=65536+((1023&i)<<10)+(1023&e.charCodeAt(++r)),t[n++]=i>>18|240,t[n++]=i>>12&63|128):t[n++]=i>>12|224,t[n++]=i>>6&63|128),t[n++]=63&i|128)}return t},y=function(e){let t=[],n=0,r=0;for(;n<e.length;){let i=e[n++];if(i<128)t[r++]=String.fromCharCode(i);else if(i>191&&i<224){let a=e[n++];t[r++]=String.fromCharCode((31&i)<<6|63&a)}else if(i>239&&i<365){let a=((7&i)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536;t[r++]=String.fromCharCode(55296+(a>>10)),t[r++]=String.fromCharCode(56320+(1023&a))}else{let a=e[n++],s=e[n++];t[r++]=String.fromCharCode((15&i)<<12|(63&a)<<6|63&s)}}return t.join("")},w={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();let n=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let t=0;t<e.length;t+=3){let i=e[t],a=t+1<e.length,s=a?e[t+1]:0,o=t+2<e.length,l=o?e[t+2]:0,u=i>>2,c=(3&i)<<4|s>>4,d=(15&s)<<2|l>>6,h=63&l;!o&&(h=64,a||(d=64)),r.push(n[u],n[c],n[d],n[h])}return r.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(g(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):y(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();let n=t?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let t=0;t<e.length;){let i=n[e.charAt(t++)],a=t<e.length?n[e.charAt(t)]:0,s=++t<e.length?n[e.charAt(t)]:64,o=++t<e.length?n[e.charAt(t)]:64;if(++t,null==i||null==a||null==s||null==o)throw new b;let l=i<<2|a>>4;if(r.push(l),64!==s){let e=a<<4&240|s>>2;if(r.push(e),64!==o){let e=s<<6&192|o;r.push(e)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e<this.ENCODED_VALS.length;e++)this.byteToCharMap_[e]=this.ENCODED_VALS.charAt(e),this.charToByteMap_[this.byteToCharMap_[e]]=e,this.byteToCharMapWebSafe_[e]=this.ENCODED_VALS_WEBSAFE.charAt(e),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[e]]=e,e>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class b extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}let v=function(e){let t=g(e);return w.encodeByteArray(t,!0)},k=function(e){return v(e).replace(/\./g,"")},S=function(e){try{return w.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null},T=()=>(()=>{try{return("u">typeof self?self:"u">typeof window?window:e.g).__FIREBASE_DEFAULTS__||(()=>{if(void 0===p.default||void 0===p.default.env)return;let e=p.default.env.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)})()||(()=>{let e;if("u"<typeof document)return;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(e){return}let t=e&&S(e[1]);return t&&JSON.parse(t)})()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}})()?.config;class x{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(e){return(t,n)=>{t?this.reject(t):this.resolve(n),"function"==typeof e&&(this.promise.catch(()=>{}),1===e.length?e(t):e(t,n))}}}function I(){try{return"object"==typeof indexedDB}catch(e){return!1}}function E(){return new Promise((e,t)=>{try{let n=!0,r="validate-browser-context-for-indexeddb-analytics-module",i=self.indexedDB.open(r);i.onsuccess=()=>{i.result.close(),n||self.indexedDB.deleteDatabase(r),e(!0)},i.onupgradeneeded=()=>{n=!1},i.onerror=()=>{t(i.error?.message||"")}}catch(e){t(e)}})}
1class D extends Error{constructor(e,t,n){super(t),this.code=e,this.customData=n,this.name="FirebaseError",Object.setPrototypeOf(this,D.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,_.prototype.create)}}class _{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e,...t){var n,r;let i=t[0]||{},a=`${this.service}/${e}`,s=this.errors[e],o=s?(n=s,r=i,n.replace(N,(e,t)=>{let n=r[t];return null!=n?String(n):`<${t}?>`})):"Error",l=`${this.serviceName}: ${o} (${a}).`;return new D(a,l,i)}}let N=/\{\$([^}]+)}/g;function C(e,t){if(e===t)return!0;let n=Object.keys(e),r=Object.keys(t);for(let i of n){if(!r.includes(i))return!1;let n=e[i],a=t[i];if(O(n)&&O(a)){if(!C(n,a))return!1}else if(n!==a)return!1}for(let e of r)if(!n.includes(e))return!1;return!0}function O(e){return null!==e&&"object"==typeof e}function M(e){return e&&e._delegate?e._delegate:e}class j{constructor(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}let A="[DEFAULT]";class V{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){let t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){let e=new x;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{let n=this.getOrInitializeService({instanceIdentifier:t});n&&e.resolve(n)}catch(e){}}return this.instancesDeferred.get(t).promise}getImmediate(e){let t=this.normalizeInstanceIdentifier(e?.identifier),n=e?.optional??!1;if(this.isInitialized(t)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:t})}catch(e){if(n)return null;throw e}if(n)return null;throw Error(`Service ${this.name} is not available`)}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if("EAGER"===e.instantiationMode)try{this.getOrInitializeService({instanceIdentifier:A})}catch(e){}for(let[e,t]of this.instancesDeferred.entries()){let n=this.normalizeInstanceIdentifier(e);try{let e=this.getOrInitializeService({instanceIdentifier:n});t.resolve(e)}catch(e){}}}}clearInstance(e=A){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){let e=Array.from(this.instances.values());await Promise.all([...e.filter(e=>"INTERNAL"in e).map(e=>e.INTERNAL.delete()),...e.filter(e=>"_delete"in e).map(e=>e._delete())])}isComponentSet(){return null!=this.component}isInitialized(e=A){return this.instances.has(e)}getOptions(e=A){return this.instancesOptions.get(e)||{}}initialize(e={}){let{options:t={}}=e,n=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(n))throw Error(`${this.name}(${n}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);let r=this.getOrInitializeService({instanceIdentifier:n,options:t});for(let[e,t]of this.instancesDeferred.entries())n===this.normalizeInstanceIdentifier(e)&&t.resolve(r);return r}onInit(e,t){let n=this.normalizeInstanceIdentifier(t),r=this.onInitCallbacks.get(n)??new Set;r.add(e),this.onInitCallbacks.set(n,r);let i=this.instances.get(n);return i&&e(i,n),()=>{r.delete(e)}}invokeOnInitCallbacks(e,t){let n=this.onInitCallbacks.get(t);if(n)for(let r of n)try{r(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){var n;let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:(n=e)===A?void 0:n,options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=A){return this.component?this.component.multipleInstances?e:A:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class F{constructor(e){this.name=e,this.providers=new Map}addComponent(e){let t=this.getProvider(e.name);if(t.isComponentSet())throw Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);let t=new V(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}let $=[];(a=l||(l={}))[a.DEBUG=0]="DEBUG",a[a.VERBOSE=1]="VERBOSE",a[a.INFO=2]="INFO",a[a.WARN=3]="WARN",a[a.ERROR=4]="ERROR",a[a.S
1ILENT=5]="SILENT";let L={debug:l.DEBUG,verbose:l.VERBOSE,info:l.INFO,warn:l.WARN,error:l.ERROR,silent:l.SILENT},P=l.INFO,R={[l.DEBUG]:"log",[l.VERBOSE]:"log",[l.INFO]:"info",[l.WARN]:"warn",[l.ERROR]:"error"},W=(e,t,...n)=>{if(t<e.logLevel)return;let r=new Date().toISOString(),i=R[t];if(i)console[i](`[${r}] ${e.name}:`,...n);else throw Error(`Attempted to log a message with an invalid logType (value: ${t})`)},H=new WeakMap,z=new WeakMap,U=new WeakMap,Z=new WeakMap,B=new WeakMap,q={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return z.get(e);if("objectStoreNames"===t)return e.objectStoreNames||U.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return K(e[t])},set:(e,t,n)=>(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function K(e){if(e instanceof IDBRequest){let t;return(t=new Promise((t,n)=>{let r=()=>{e.removeEventListener("success",i),e.removeEventListener("error",a)},i=()=>{t(K(e.result)),r()},a=()=>{n(e.error),r()};e.addEventListener("success",i),e.addEventListener("error",a)})).then(t=>{t instanceof IDBCursor&&H.set(t,e)}).catch(()=>{}),B.set(t,e),t}if(Z.has(e))return Z.get(e);let r=function(e){if("function"==typeof e)return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(n||(n=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(Y(this),t),K(H.get(this))}:function(...t){return K(e.apply(Y(this),t))}:function(t,...n){let r=e.call(Y(this),t,...n);return U.set(r,t.sort?t.sort():[t]),K(r)};return e instanceof IDBTransaction&&function(e){if(z.has(e))return;let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",a),e.removeEventListener("abort",a)},i=()=>{t(),r()},a=()=>{n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",i),e.addEventListener("error",a),e.addEventListener("abort",a)});z.set(e,t)}(e),(t||(t=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some(t=>e instanceof t)?new Proxy(e,q):e}(e);return r!==e&&(Z.set(e,r),B.set(r,e)),r}let Y=e=>B.get(e);function J(e,t,{blocked:n,upgrade:r,blocking:i,terminated:a}={}){let s=indexedDB.open(e,t),o=K(s);return r&&s.addEventListener("upgradeneeded",e=>{r(K(s.result),e.oldVersion,e.newVersion,K(s.transaction),e)}),n&&s.addEventListener("blocked",e=>n(e.oldVersion,e.newVersion,e)),o.then(e=>{a&&e.addEventListener("close",()=>a()),i&&e.addEventListener("versionchange",e=>i(e.oldVersion,e.newVersion,e))}).catch(()=>{}),o}function G(e,{blocked:t}={}){let n=indexedDB.deleteDatabase(e);return t&&n.addEventListener("blocked",e=>t(e.oldVersion,e)),K(n).then(()=>void 0)}let Q=["get","getKey","getAll","getAllKeys","count"],X=["put","add","delete","clear"],ee=new Map;function et(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(ee.get(t))return ee.get(t);let n=t.replace(/FromIndex$/,""),r=t!==n,i=X.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(i||Q.includes(n)))return;let a=async function(e,...t){let a=this.transaction(e,i?"readwrite":"readonly"),s=a.store;return r&&(s=s.index(t.shift())),(await Promise.all([s[n](...t),i&&a.done]))[0]};return ee.set(t,a),a}q={...i=q,get:(e,t,n)=>et(e,t)||i.get(e,t,n),has:(e,t)=>!!et(e,t)||i.has(e,t)};class en{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{let t;if(t=e.getComponent(),t?.type!=="VERSION")return null;{let t=e.getImmediate();return`${t.library}/${t.version}`}}).filter(e=>e).join(" ")}}let er="@firebase/app",ei="0.15.1",ea=new class{constructor(e){this.name=e,this._logLevel=P,this._logHandler=W,this._userLogHandler=null,$.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in l))throw TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?L[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,l.DEBUG,...e),this._logHandler(this,l.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,l.VERBOSE,...e),this._logHandler(this,l.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,l.INFO,...e),this._logHandler(this,l.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,l.WARN,...e),this._logHandler(this,l.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,l.ERROR,...e),this._logHandler(this,l.ERROR,...e)}}("@firebase/app"),es="[DEFAULT]",eo={[er]:"fire-core","@firebase/app-compat":"fire-core-compat","@firebase/analytics":"fire-analytics","@firebase/analytics-compat":"fire-analytics-compat","@firebase/app-check":"fire-app-check","@firebase/app-check-compat":"fire-app-check-compat","@firebase/auth":"fire-auth","@firebase/auth-compat":"fire-auth-compat","@firebase/database":"fire-rtdb","@firebase/data-connect":"fire-data-connect","@firebase/database-compat":"fire-rtdb-compat","@firebase/functions":"fire-fn","@firebase/functions-compat":"fire-fn-compat","@firebase/installations":"fire-iid","@firebase/installations-compat":"fire-iid-compat","@firebase/messaging":"fire-fcm","@firebase/messaging-compat":"fire-fcm-compat","@firebase/performance":"fire-perf","@firebase/performance-compat":"fire-perf-compat","@firebase/remote-config":"fire-rc","@firebase/remote-config-compat":"fire-rc-compat","@firebase/storage":"fire-gcs","@firebase/storage-compat":"fire-gcs-compat","@firebase/firestore":"fire-fst","@firebase/firestore-compat":"fire-fst-compat","@firebase/ai":"fire-vertex","fire-js":"fire-js",firebase:"fire-js-all"},el=new Map,eu=new Map,ec=new Map;function ed(e,t){try{e.container.addComponent(t)}catch(n){ea.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,n)}}function eh(e){let t=e.name;if(ec.has(t))return ea.debug(`There were multiple attempts to register component ${t}.`),!1;
1for(let n of(ec.set(t,e),el.values()))ed(n,e);for(let t of eu.values())ed(t,e);return!0}function ef(e,t){let n=e.container.getProvider("heartbeat").getImmediate({optional:!0});return n&&n.triggerHeartbeat(),e.container.getProvider(t)}let em=new _("app","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."});class ep{constructor(e,t,n){this._isDeleted=!1,this._options={...e},this._config={...t},this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=n,this.container.addComponent(new j("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 em.create("app-deleted",{appName:this._name})}}function eg(e,t={}){let n=e;"object"!=typeof t&&(t={name:t});let r={name:es,automaticDataCollectionEnabled:!0,...t},i=r.name;if("string"!=typeof i||!i)throw em.create("bad-app-name",{appName:String(i)});if(n||(n=T()),!n)throw em.create("no-options");let a=el.get(i);if(a)if(C(n,a.options)&&C(r,a.config))return a;else throw em.create("duplicate-app",{appName:i});let s=new F(i);for(let e of ec.values())s.addComponent(e);let o=new ep(n,r,s);return el.set(i,o),o}function ey(){return Array.from(el.values())}function ew(e,t,n){let r=eo[e]??e;n&&(r+=`-${n}`);let i=r.match(/\s|\//),a=t.match(/\s|\//);if(i||a){let e=[`Unable to register library "${r}" with version "${t}":`];i&&e.push(`library name "${r}" contains illegal characters (whitespace or "/")`),i&&a&&e.push("and"),a&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),ea.warn(e.join(" "));return}eh(new j(`${r}-version`,()=>({library:r,version:t}),"VERSION"))}let eb="firebase-heartbeat-store",ev=null;function ek(){return ev||(ev=J("firebase-heartbeat-database",1,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(eb)}catch(e){console.warn(e)}}}).catch(e=>{throw em.create("idb-open",{originalErrorMessage:e.message})})),ev}async function eS(e){try{let t=(await ek()).transaction(eb),n=await t.objectStore(eb).get(ex(e));return await t.done,n}catch(e){if(e instanceof D)ea.warn(e.message);else{let t=em.create("idb-get",{originalErrorMessage:e?.message});ea.warn(t.message)}}}async function eT(e,t){try{let n=(await ek()).transaction(eb,"readwrite"),r=n.objectStore(eb);await r.put(t,ex(e)),await n.done}catch(e){if(e instanceof D)ea.warn(e.message);else{let t=em.create("idb-set",{originalErrorMessage:e?.message});ea.warn(t.message)}}}function ex(e){return`${e.name}!${e.options.appId}`}class eI{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new eD(t),this._heartbeatsCachePromise=this._storage.read().then(e=>(this._heartbeatsCache=e,e))}async triggerHeartbeat(){try{let e=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),t=eE();if(this._heartbeatsCache?.heartbeats==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null)||this._heartbeatsCache.lastSentHeartbeatDate===t||this._heartbeatsCache.heartbeats.some(e=>e.date===t))return;if(this._heartbeatsCache.heartbeats.push({date:t,agent:e}),this._heartbeatsCache.heartbeats.length>30){let e=function(e){if(0===e.length)return -1;let t=0,n=e[0].date;for(let r=1;r<e.length;r++)e[r].date<n&&(n=e[r].date,t=r);return t}(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(e,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(e){ea.warn(e)}}async getHeartbeatsHeader(){try{if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null||0===this._heartbeatsCache.heartbeats.length)return"";let e=eE(),{heartbeatsToSend:t,unsentEntries:n}=function(e,t=1024){let n=[],r=e.slice();for(let i of e){let e=n.find(e=>e.agent===i.agent);if(e){if(e.dates.push(i.date),e_(n)>t){e.dates.pop();break}}else if(n.push({agent:i.agent,dates:[i.date]}),e_(n)>t){n.pop();break}r=r.slice(1)}return{heartbeatsToSend:n,unsentEntries:r}}(this._heartbeatsCache.heartbeats),r=k(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),r}catch(e){return ea.warn(e),""}}}function eE(){return new Date().toISOString().substring(0,10)}class eD{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!I()&&E().then(()=>!0).catch(()=>!1)}async read(){if(!await this._canUseIndexedDBPromise)return{heartbeats:[]};{let e=await eS(this.app);return e?.heartbeats?e:{heartbeats:[]}}}async overwrite(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return eT(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return eT(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:[...t.heartbeats,...e.heartbeats]})}}}function e_(e){return k(JSON.stringify({version:2,heartbeats:e})).length}eh(new j("platform-logger",e=>new en(e),"PRIVATE")),eh(new j("heartbeat",e=>new eI(e),"PRIVATE")),ew(er,ei,""),ew(er,ei,"esm2020"),ew("fire-js","");
1let eN="@firebase/installations",eC="0.6.22",eO=`w:${eC}`,eM="FIS_v2",ej=new _("installations","Installations",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"not-registered":"Firebase Installation is not registered.","installation-not-found":"Firebase Installation not found.","request-failed":'{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',"app-offline":"Could not process request. Application offline.","delete-pending-registration":"Can't delete installation while there is a pending registration request."});function eA(e){return e instanceof D&&e.code.includes("request-failed")}function eV({projectId:e}){return`https://firebaseinstallations.googleapis.com/v1/projects/${e}/installations`}function eF(e){return{token:e.token,requestStatus:2,expiresIn:Number(e.expiresIn.replace("s","000")),creationTime:Date.now()}}async function e$(e,t){let n=(await t.json()).error;return ej.create("request-failed",{requestName:e,serverCode:n.code,serverMessage:n.message,serverStatus:n.status})}function eL({apiKey:e}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e})}async function eP(e){let t=await e();return t.status>=500&&t.status<600?e():t}async function eR({appConfig:e,heartbeatServiceProvider:t},{fid:n}){let r=eV(e),i=eL(e),a=t.getImmediate({optional:!0});if(a){let e=await a.getHeartbeatsHeader();e&&i.append("x-firebase-client",e)}let s={method:"POST",headers:i,body:JSON.stringify({fid:n,authVersion:eM,appId:e.appId,sdkVersion:eO})},o=await eP(()=>fetch(r,s));if(o.ok){let e=await o.json();return{fid:e.fid||n,registrationStatus:2,refreshToken:e.refreshToken,authToken:eF(e.authToken)}}throw await e$("Create Installation",o)}function eW(e){return new Promise(t=>{setTimeout(t,e)})}let eH=/^[cdef][\w-]{21}$/;function ez(e){return`${e.appName}!${e.appId}`}let eU=new Map;function eZ(e,t){var n,r;let i,a=ez(e);eB(a,t),n=a,r=t,(i=eK())&&i.postMessage({key:n,fid:r}),eY()}function eB(e,t){let n=eU.get(e);if(n)for(let e of n)e(t)}let eq=null;function eK(){return!eq&&"BroadcastChannel"in self&&((eq=new BroadcastChannel("[Firebase] FID Change")).onmessage=e=>{eB(e.data.key,e.data.fid)}),eq}function eY(){0===eU.size&&eq&&(eq.close(),eq=null)}let eJ="firebase-installations-store",eG=null;function eQ(){return eG||(eG=J("firebase-installations-database",1,{upgrade:(e,t)=>{0===t&&e.createObjectStore(eJ)}})),eG}async function eX(e,t){let n=ez(e),r=(await eQ()).transaction(eJ,"readwrite"),i=r.objectStore(eJ),a=await i.get(n);return await i.put(t,n),await r.done,a&&a.fid===t.fid||eZ(e,t.fid),t}async function e0(e){let t=ez(e),n=(await eQ()).transaction(eJ,"readwrite");await n.objectStore(eJ).delete(t),await n.done}async function e1(e,t){let n=ez(e),r=(await eQ()).transaction(eJ,"readwrite"),i=r.objectStore(eJ),a=await i.get(n),s=t(a);return void 0===s?await i.delete(n):await i.put(s,n),await r.done,s&&(!a||a.fid!==s.fid)&&eZ(e,s.fid),s}async function e2(e){let t,n=await e1(e.appConfig,n=>{let r=function(e,t){if(0===t.registrationStatus){if(!navigator.onLine)return{installationEntry:t,registrationPromise:Promise.reject(ej.create("app-offline"))};let n={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},r=e4(e,n);return{installationEntry:n,registrationPromise:r}}return 1===t.registrationStatus?{installationEntry:t,registrationPromise:e6(e)}:{installationEntry:t}}(e,e5(n||{fid:function(){try{var e;let t=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(t),t[0]=112+t[0]%16;let n=(e=t,btoa(String.fromCharCode(...e)).replace(/\+/g,"-").replace(/\//g,"_").substr(0,22));return eH.test(n)?n:""}catch{return""}}(),registrationStatus:0}));return t=r.registrationPromise,r.installationEntry});return""===n.fid?{installationEntry:await t}:{installationEntry:n,registrationPromise:t}}async function e4(e,t){try{let n=await eR(e,t);return eX(e.appConfig,n)}catch(n){throw eA(n)&&409===n.customData.serverCode?await e0(e.appConfig):await eX(e.appConfig,{fid:t.fid,registrationStatus:0}),n}}async function e6(e){let t=await e3(e.appConfig);for(;1===t.registrationStatus;)await eW(100),t=await e3(e.appConfig);if(0===t.registrationStatus){let{installationEntry:t,registrationPromise:n}=await e2(e);return n||t}return t}function e3(e){return e1(e,e=>{if(!e)throw ej.create("installation-not-found");return e5(e)})}function e5(e){var t;return 1===(t=e).registrationStatus&&t.registrationTime+1e4<Date.now()?{fid:e.fid,registrationStatus:0}:e}async function e7({appConfig:e,heartbeatServiceProvider:t},n){let r=function(e,{fid:t}){return`${eV(e)}/${t}/authTokens:generate`}(e,n),i=function(e,{refreshToken:t}){var n;let r=eL(e);return r.append("Authorization",(n=t,`${eM} ${n}`)),r}(e,n),a=t.getImmediate({optional:!0});if(a){let e=await a.getHeartbeatsHeader();e&&i.append("x-firebase-client",e)}let s={method:"POST",headers:i,body:JSON.stringify({installation:{sdkVersion:eO,appId:e.appId}})},o=await eP(()=>fetch(r,s));if(o.ok)return eF(await o.json());throw await e$("Generate Auth Token",o)}async function e8(e,t=!1){let n,r=await e1(e.appConfig,r=>{var i,a,s;let o;if(!tn(r))throw ej.create("not-registered");let l=r.authToken;if(!t&&2===(i=l).requestStatus&&(a=i,!((o=Date.now())<a.creationTime)&&!(a.creationTime+a.expiresIn<o+36e5)))return r;if(1===l.requestStatus)return n=e9(e,t),r;{let t;if(!navigator.onLine)throw ej.create("app-offline");let i=(s=r,t={requestStatus:1,requestTime:Date.now()},{...s,authToken:t});return n=tt(e,i),i}});return n?await n:r.authToken}async function e9(e,t){let n=await te(e.appConfig);for(;1===n.authToken.requestStatus;)await eW(100),n=await te(e.appConfig);let r=n.authToken;return 0===r.requestStatus?e8(e,t):r}function te(e){return e1(e,e=>{var t;if(!tn(e))throw ej.create("not-registered");return 1===(t=e.authToken).requestStatus&&t.requestTime+1e4<Date.now()?{...e,authToken:{requestStatus:0}}:e})}async function tt(e,t){try{let n=await e7(e,t),r={...t,authToken:n};return await eX(e.appConfig,r),n}catch(n){if(eA(n)&&(401===n.customData.serverCode||404===n.customData.serverCode))await e0(e.appConfig);else{let n={...t,authToken:{requestStatus:0}};await eX(e.appConfig,n)}throw n}}function tn(e){return void 0!==e&&2===e.registrationStatus}async function tr(e){let{installationEntry:t,registrationPromise:n}=await e2(e);return n?n.catch(console.error):e8(e).catch(console.error),t.fid}async function ti(e,t=!1){return await ta(e),(await e8(e,t)).token}async function ta(e){let{registrationPromise:t}=await e2(e);t&&await t}function ts(e){return ej.create("missing-app-config-values",{valueName:e})}let to="installations";eh(new j(to,e=>{let t=e.getProvider("app").getImmediate(),n=function(e){if(!e||!e.options)throw ts("App Configuration");if(!e.name)throw ts("App Name");for(let t of["projectId","apiKey","appId"])if(!e.options[t])throw ts(t);
1return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}}(t),r=ef(t,"heartbeat");return{app:t,appConfig:n,heartbeatServiceProvider:r,_delete:()=>Promise.resolve()}},"PUBLIC")),eh(new j("installations-internal",e=>{let t=ef(e.getProvider("app").getImmediate(),to).getImmediate();return{getId:()=>tr(t),getToken:e=>ti(t,e)}},"PRIVATE")),ew(eN,eC),ew(eN,eC,"esm2020");let tl="BDOU99-h67HcA6JeFXHbSNMu7e2yNNu3RzoMj8TM4W88jITfq7ZmPvIM1Iv-4_l2LxQcYwhqby2xGpWwzjfAnG4",tu="google.c.a.c_id";function tc(e){return btoa(String.fromCharCode(...new Uint8Array(e))).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function td(e){let t="=".repeat((4-e.length%4)%4),n=atob((e+t).replace(/\-/g,"+").replace(/_/g,"/")),r=new Uint8Array(n.length);for(let e=0;e<n.length;++e)r[e]=n.charCodeAt(e);return r}(s=u||(u={}))[s.DATA_MESSAGE=1]="DATA_MESSAGE",s[s.DISPLAY_NOTIFICATION=3]="DISPLAY_NOTIFICATION",(o=c||(c={})).PUSH_RECEIVED="push-received",o.NOTIFICATION_CLICKED="notification-clicked",o.FID_REGISTERED="fid-registered";let th="fcm_token_details_db",tf="fcm_token_object_Store";async function tm(e){if("databases"in indexedDB&&!(await indexedDB.databases()).map(e=>e.name).includes(th))return null;let t=null;return(await J(th,5,{upgrade:async(n,r,i,a)=>{if(r<2||!n.objectStoreNames.contains(tf))return;let s=a.objectStore(tf),o=await s.index("fcmSenderId").get(e);if(await s.clear(),o)if(2===r){if(!o.auth||!o.p256dh||!o.endpoint)return;t={token:o.fcmToken,createTime:o.createTime??Date.now(),subscriptionOptions:{auth:o.auth,p256dh:o.p256dh,endpoint:o.endpoint,swScope:o.swScope,vapidKey:"string"==typeof o.vapidKey?o.vapidKey:tc(o.vapidKey)}}}else 3===r?t={token:o.fcmToken,createTime:o.createTime,subscriptionOptions:{auth:tc(o.auth),p256dh:tc(o.p256dh),endpoint:o.endpoint,swScope:o.swScope,vapidKey:tc(o.vapidKey)}}:4===r&&(t={token:o.fcmToken,createTime:o.createTime,subscriptionOptions:{auth:tc(o.auth),p256dh:tc(o.p256dh),endpoint:o.endpoint,swScope:o.swScope,vapidKey:tc(o.vapidKey)}})}})).close(),await G(th),await G("fcm_vapid_details_db"),await G("undefined"),!function(e){if(!e||!e.subscriptionOptions)return!1;let{subscriptionOptions:t}=e;return"number"==typeof e.createTime&&e.createTime>0&&"string"==typeof e.token&&e.token.length>0&&"string"==typeof t.auth&&t.auth.length>0&&"string"==typeof t.p256dh&&t.p256dh.length>0&&"string"==typeof t.endpoint&&t.endpoint.length>0&&"string"==typeof t.swScope&&t.swScope.length>0&&"string"==typeof t.vapidKey&&t.vapidKey.length>0}(t)?null:t}let tp=new _("messaging","Messaging",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"only-available-in-window":"This method is available in a Window context.","only-available-in-sw":"This method is available in a service worker context.","permission-default":"The notification permission was not granted and dismissed instead.","permission-blocked":"The notification permission was not granted and blocked instead.","unsupported-browser":"This browser doesn't support the API's required to use the Firebase SDK.","indexed-db-unsupported":"This browser doesn't support indexedDb.open() (ex. Safari iFrame, Firefox Private Browsing, etc)","failed-service-worker-registration":"We are unable to register the default service worker. {$browserErrorMessage}","token-subscribe-failed":"A problem occurred while subscribing the user to FCM: {$errorInfo}","token-subscribe-no-token":"FCM returned no token when subscribing the user to push.","fid-registration-failed":"A problem occurred while creating an FCM registration via FID: {$errorInfo}","fid-unregister-failed":"A problem occurred while unregistering the FCM registration via FID: {$errorInfo}","fid-registration-idb-schema-unavailable":"Unable to read or persist FID registration metadata because the messaging IndexedDB schema is unavailable (for example, the database could not be upgraded to the latest version).","token-unsubscribe-failed":"A problem occurred while unsubscribing the user from FCM: {$errorInfo}","token-update-failed":"A problem occurred while updating the user from FCM: {$errorInfo}","token-update-no-token":"FCM returned no token when updating the user to push.","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.","invali
1d-sw-registration":"The input to useServiceWorker() must be a ServiceWorkerRegistration.","invalid-bg-handler":"The input to setBackgroundMessageHandler() must be a function.","invalid-vapid-key":"The public VAPID key must be a string.","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.","invalid-on-registered-handler":"No onRegistered callback handler was provided or registered. Implement onRegistered() before register()."}),tg="firebase-messaging-database",ty="firebase-messaging-store",tw="firebase-messaging-fid-registration-store",tb=null;function tv(e){return{upgrade:(t,n)=>{switch(n){case 0:if(t.createObjectStore(ty),1===e)break;case 1:2===e&&t.createObjectStore(tw)}},blocked:()=>{},blocking:(e,t,n)=>{tb=null,n.target?.close()},terminated:()=>{tb=null}}}function tk(){return tb||(tb=J(tg,2,tv(2)).catch(()=>J(tg,1,tv(1)))),tb}function tS(e,t){return e.objectStoreNames.contains(t)}function tT(e){if(!tS(e,tw))throw tp.create("fid-registration-idb-schema-unavailable")}async function tx(e){let t=function({appConfig:e}){return e.appId}(e),n=await tk(),r=await n.transaction(ty).objectStore(ty).get(t);if(r)return r;{let t=await tm(e.appConfig.senderId);if(t)return await tI(e,t),t}}async function tI(e,t){let n=function({appConfig:e}){return e.appId}(e),r=await tk(),i=[ty],a=tS(r,tw);a&&i.push(tw);let s=r.transaction(i,"readwrite");return await s.objectStore(ty).put(t,n),a&&await s.objectStore(tw).delete(n),await s.done,t}async function tE(e){let t=function({appConfig:e}){return e.appId}(e),n=await tk();return tT(n),await n.transaction(tw).objectStore(tw).get(t)}async function tD(e,t){let n=function({appConfig:e}){return e.appId}(e),r=await tk();tT(r);let i=r.transaction([ty,tw],"readwrite");return await i.objectStore(tw).put(t,n),await i.objectStore(ty).delete(n),await i.done,t}let t_="@firebase/messaging",tN="0.13.0";async function tC(e,t){let n,r={method:"POST",headers:await tL(e),body:JSON.stringify(tP(t,e.appConfig.appName,!1))};try{let t=await fetch(t$(e.appConfig),r);n=await t.json()}catch(e){throw tp.create("token-subscribe-failed",{errorInfo:e?.toString()})}if(n.error){let e=n.error.message;throw tp.create("token-subscribe-failed",{errorInfo:e})}if(!n.token)throw tp.create("token-subscribe-no-token");return n.token}async function tO(e,t){let n,r,i={method:"POST",headers:await tL(e),body:JSON.stringify(tP(t,e.appConfig.appName,!0))};try{n=await tF(()=>fetch(t$(e.appConfig),i),3,1e3)}catch(e){throw tp.create("fid-registration-failed",{errorInfo:e?.toString()})}if(n.ok)return{responseFid:await tM(n)};try{r=await n.json()}catch(e){throw tp.create("fid-registration-failed",{errorInfo:n.statusText})}let a=r.error?.message??n.statusText;throw tp.create("fid-registration-failed",{errorInfo:a})}async function tM(e){let t,n=await e.text();if(!n.trim())throw tp.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response body is empty"});try{t=JSON.parse(n)}catch{throw tp.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response body is not valid JSON"})}let r=t.name;if("string"!=typeof r||0===r.length)throw tp.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response did not include a non-empty name"});var i=r;let a=i.indexOf(tj);if(-1!==a){let e=i.slice(a+tj.length);if(e.length>0)return e}throw tp.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response name is not a valid registration resource name"})}let tj="/registrations/";async function tA(e,t){let n,r={method:"PATCH",headers:await tL(e),body:JSON.stringify(tP(t.subscriptionOptions,e.appConfig.appName,!1))};try{let i=await fetch(`${t$(e.appConfig)}/${t.token}`,r);n=await i.json()}catch(e){throw tp.create("token-update-failed",{errorInfo:e?.toString()})}if(n.error){let e=n.error.message;throw tp.create("token-update-failed",{errorInfo:e})}if(!n.token)throw tp.create("token-update-no-token");return n.token}async function tV(e,t){let n=await tL(e);try{let r=await fetch(`${t$(e.appConfig)}
1/${t}`,{method:"DELETE",headers:n}),i=await r.json();if(i.error){let e=i.error.message;throw tp.create("token-unsubscribe-failed",{errorInfo:e})}}catch(e){throw tp.create("token-unsubscribe-failed",{errorInfo:e?.toString()})}}async function tF(e,t,n){let r;for(let i=0;i<t;i++)try{return await e()}catch(e){if(r=e,i<t-1){let e=n*Math.pow(2,i);await new Promise(t=>setTimeout(t,e))}}throw r}function t$({projectId:e}){return`https://fcmregistrations.googleapis.com/v1/projects/${e}/registrations`}async function tL({appConfig:e,installations:t}){let n=await t.getToken();return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e.apiKey,"x-goog-firebase-installations-auth":`FIS ${n}`})}function tP({p256dh:e,auth:t,endpoint:n,vapidKey:r,swScope:i},a,s){let o={web:{origin:function(e,t){try{if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(e))return new URL(e).host}catch{}try{if("u">typeof self&&self.location?.href)return new URL(e,self.location.origin).host}catch{}return"u">typeof self&&self.location?.host?self.location.host:t}(i,a),endpoint:n,auth:t,p256dh:e}};return s&&(o.fcm_sdk_version=tN),r!==tl&&(o.web.applicationPubKey=r),o}async function tR(e){var t,n;let r,i,a,s,o=await tz(e.swRegistration,e.vapidKey),l={vapidKey:e.vapidKey,swScope:e.swRegistration.scope,endpoint:o.endpoint,auth:tc(o.getKey("auth")),p256dh:tc(o.getKey("p256dh"))},u=await tx(e.firebaseDependencies);if(!u)return tH(e.firebaseDependencies,l);if(t=u.subscriptionOptions,r=(n=l).vapidKey===t.vapidKey,i=n.endpoint===t.endpoint,a=n.auth===t.auth,s=n.p256dh===t.p256dh,r&&i&&a&&s)if(Date.now()>=u.createTime+6048e5)return tW(e,{token:u.token,createTime:Date.now(),subscriptionOptions:l});else return u.token;try{await tV(e.firebaseDependencies,u.token)}catch(e){console.warn(e)}return tH(e.firebaseDependencies,l)}async function tW(e,t){try{let n=await tA(e.firebaseDependencies,t),r={...t,token:n,createTime:Date.now()};return await tI(e.firebaseDependencies,r),n}catch(e){throw e}}async function tH(e,t){let n={token:await tC(e,t),createTime:Date.now(),subscriptionOptions:t};return await tI(e,n),n.token}async function tz(e,t){let n=await e.pushManager.getSubscription();return n||e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:td(t)})}async function tU(e){try{e.swRegistration=await navigator.serviceWorker.register("/firebase-messaging-sw.js",{scope:"/firebase-cloud-messaging-push-scope"}),e.swRegistration.update().catch(()=>{}),await tZ(e.swRegistration)}catch(e){throw tp.create("failed-service-worker-registration",{browserErrorMessage:e?.message})}}async function tZ(e){return new Promise((t,n)=>{let r=setTimeout(()=>n(Error("Service worker not registered after 10000 ms")),1e4),i=e.installing||e.waiting;e.active?(clearTimeout(r),t()):i?i.onstatechange=e=>{e.target?.state==="activated"&&(i.onstatechange=null,clearTimeout(r),t())}:(clearTimeout(r),n(Error("No incoming service worker found.")))})}async function tB(e,t){if(t||e.swRegistration||await tU(e),t||!e.swRegistration){if(!(t instanceof ServiceWorkerRegistration))throw tp.create("invalid-sw-registration");e.swRegistration=t}}async function tq(e,t){t?e.vapidKey=t:e.vapidKey||(e.vapidKey=tl)}async function tK(e,t){let n=await tY(e.swRegistration,e.vapidKey),r={vapidKey:e.vapidKey,swScope:e.swRegistration.scope,endpoint:n.endpoint,auth:tc(n.getKey("auth")),p256dh:tc(n.getKey("p256dh"))},i=e.firebaseDependencies.installations;for(let n=0;n<3;n++){let{responseFid:a}=await tO(e.firebaseDependencies,r);if(a===t)return;n<2&&await i.getToken(!0)}throw tp.create("fid-registration-failed",{errorInfo:"CreateRegistration response FID does not match Firebase Installation ID"})}async function tY(e,t){let n=await e.pushManager.getSubscription();return n||e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:td(t)})}async function tJ(e,t){if(!navigator)throw tp.create("only-available-in-window");if("default"===Notification.permission&&await Notification.requestPermission(),"granted"!==Notification.permission)throw tp.create("permission-blocked");if(!e.onRegisteredHandler)throw tp.create("invalid-on-registered-handler");await tq(e,t?.vapidKey),await tB(e,t?.serviceWorkerRegistration);let n=e._registerNotifyChain.catch(()=>{});return e._registerNotifyChain=n.then(async()=>{let t,n=await e.firebaseDependencies.installations.getId(),r=await tE(e.firebaseDependencies),i=Date.now();if((!r||r.fid!==n||i>=r.lastRegisterTime+6048e5)&&(await tK(e,n),await tD(e.firebaseDependencies,{fid:n,lastRegisterTime:i,vapidKey:e.vapidKey}
1)),!e.onRegisteredHandler)throw tp.create("invalid-on-registered-handler");(t=e.onRegisteredHandler)&&("function"==typeof t?t(n):t.next(n))}),e._registerNotifyChain}function tG(e){var t,n;let r={from:e.from,collapseKey:e.collapse_key,messageId:e.fcmMessageId};return function(e,t){if(!t.notification)return;e.notification={};let n=t.notification.title;n&&(e.notification.title=n);let r=t.notification.body;r&&(e.notification.body=r);let i=t.notification.image;i&&(e.notification.image=i);let a=t.notification.icon;a&&(e.notification.icon=a)}(r,e),t=r,(n=e).data&&(t.data=n.data),function(e,t){if(!t.fcmOptions&&!t.notification?.click_action)return;e.fcmOptions={};let n=t.fcmOptions?.link??t.notification?.click_action;n&&(e.fcmOptions.link=n);let r=t.fcmOptions?.analytics_label;r&&(e.fcmOptions.analyticsLabel=r)}(r,e),r}var tQ="AzSCbw63g1R0nCw85jG8",tX="Iaya3yLKwmgvh7cF0q4";let t0=[];for(let e=0;e<tQ.length;e++)t0.push(tQ.charAt(e)),e<tX.length&&t0.push(tX.charAt(e));function t1(e){return tp.create("missing-app-config-values",{valueName:e})}t0.join("");class t2{constructor(e,t,n){this.deliveryMetricsExportedToBigQueryEnabled=!1,this.onBackgroundMessageHandler=null,this.onMessageHandler=null,this.onRegisteredHandler=null,this.onUnregisteredHandler=null,this._registerNotifyChain=Promise.resolve(),this._fidChangeUnsubscribe=null,this.logEvents=[],this.logQueue={state:"stopped"};const r=function(e){if(!e||!e.options)throw t1("App Configuration Object");if(!e.name)throw t1("App Name");let{options:t}=e;for(let e of["projectId","apiKey","appId","messagingSenderId"])if(!t[e])throw t1(e);return{appName:e.name,projectId:t.projectId,apiKey:t.apiKey,appId:t.appId,senderId:t.messagingSenderId}}(e);this.firebaseDependencies={app:e,appConfig:r,installations:t,analyticsProvider:n}}_delete(){return this._fidChangeUnsubscribe&&(this._fidChangeUnsubscribe(),this._fidChangeUnsubscribe=null),"scheduled"===this.logQueue.state&&clearTimeout(this.logQueue.timerId),this.logQueue={state:"stopped"},Promise.resolve()}}async function t4(e,t){if(!navigator)throw tp.create("only-available-in-window");if("default"===Notification.permission&&await Notification.requestPermission(),"granted"!==Notification.permission)throw tp.create("permission-blocked");return await tq(e,t?.vapidKey),await tB(e,t?.serviceWorkerRegistration),tR(e)}async function t6(e,t,n){let r=function(e){switch(e){case c.NOTIFICATION_CLICKED:return"notification_open";case c.PUSH_RECEIVED:return"notification_foreground";default:throw Error()}}(t);(await e.firebaseDependencies.analyticsProvider.get()).logEvent(r,{message_id:n[tu],message_name:n["google.c.a.c_l"],message_time:n["google.c.a.ts"],message_device_time:Math.floor(Date.now()/1e3)})}async function t3(e,t){let n=t.data;if(!n.isFirebaseMessaging)return;if(e.onMessageHandler&&n.messageType===c.PUSH_RECEIVED&&("function"==typeof e.onMessageHandler?e.onMessageHandler(tG(n)):e.onMessageHandler.next(tG(n))),e.onRegisteredHandler&&n.messageType===c.FID_REGISTERED){let t=n.fid;"function"==typeof e.onRegisteredHandler?e.onRegisteredHandler(t):e.onRegisteredHandler.next(t)}let r=n.data;"object"==typeof r&&r&&tu in r&&"1"===r["google.c.a.e"]&&await t6(e,n.messageType,r)}async function t5(){try{await E()}catch(e){return!1}return"u">typeof window&&I()&&!("u"<typeof navigator)&&!!navigator.cookieEnabled&&"serviceWorker"in navigator&&"PushManager"in window&&"Notification"in window&&"fetch"in window&&ServiceWorkerRegistration.prototype.hasOwnProperty("showNotification")&&PushSubscription.prototype.hasOwnProperty("getKey")}async function t7(e,t){return t4(e=M(e),t)}eh(new j("messaging",e=>{let t=new t2(e.getProvider("app").getImmediate(),e.getProvider("installations-internal").getImmediate(),e.getProvider("analytics-internal"));return navigator.serviceWorker.addEventListener("message",e=>t3(t,e)),t._fidChangeUnsubscribe=function(e,t){let n,r,{appConfig:i}=e;return eK(),n=ez(i),(r=eU.get(n))||(r=new Set,eU.set(n,r)),r.add(t),()=>{let e,n;e=ez(i),(n=eU.get(e))&&(n.delete(t),0===n.size&&eU.delete(e),eY())}}(e.getProvider("installations").getImmediate(),()=>{(async()=>{!t.onRegisteredHandler||await tE(t.firebaseDependencies)&&await tJ(t).catch(()=>{})})()}),t},"PUBLIC")),eh(new j("messaging-internal",e=>{let t=e.getProvider("messaging").getImmediate();return{getToken:e=>t4(t,e),register:e=>tJ(t,e)}},"PRIVATE")),ew(t_,tN),ew(t_,tN,"esm2020"),ew("firebase","12.16.0","app");let t8=ey().length>0?ey()[0]:eg({apiKey:"AIzaSyDMyKzSCIcXv5HSuM-9zYoIhcUKH4EfD0I",authDomain:"hey-chef-93dbc.firebaseapp.com",projectId:"hey-chef-93dbc",storageBucket:"hey-chef-93dbc.firebasestorage.app",messagingSenderId:"146752997944",appId:"1:146752997944:web:6a5a00cdf982b5b4c1f4cd"});async function t9(){return await t5()?function(e=function(e=es){let t=el.get(e);if(!t&&e===es&&T())return eg();if(!t)throw em.create("no-app",{appName:e});return t}()){return t5().then(e=>{if(!e)throw tp.create("unsupported-browser")},e=>{throw tp.create("indexed-db-unsupported")}),ef(M(e),"messaging").getImmediate()}(t8):null}async function ne(){let e,t;if(!("Notification"in window))throw Error("Notifications are not supported in this browser.");
1if(!("serviceWorker"in navigator))throw Error("Service workers are not supported in this browser.");let n=await Notification.requestPermission();if(console.log("Notification permission:",n),"granted"!==n)throw Error("Notification permission was not granted.");let r=await t9();if(!r)throw Error("Firebase Messaging is not supported on this device.");let i=await navigator.serviceWorker.ready;console.log("Service worker used for FCM:",{scope:i.scope,active:i.active?.scriptURL,state:i.active?.state});let a="BJM1QoH4UxDOqdCSIk3Jgd7RVze4MGox2SuCChhM2up3V5jBr4GTbosV8FAGgVjMarIX4gsPPaYuvH6L8-lXzvo";console.log("VAPID key present:",!!a),console.log("VAPID key length:",a?.length);let s=await t7(r,{vapidKey:a,serviceWorkerRegistration:i});if(!s)throw Error("Firebase did not return a notification token.");let o=(e="hey-chef-device-id",(t=window.localStorage.getItem(e))||(t=crypto.randomUUID(),window.localStorage.setItem(e,t)),t);return console.log("FCM token:",s),console.log("FCM token length:",s.length),console.log("Hey Chef device ID:",o),{token:s,deviceId:o}}class nt extends Error{}class nn extends nt{constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}}class nr extends nt{constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}}class ni extends nt{constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}}class na extends nt{}class ns extends nt{constructor(e){super(`Invalid unit ${e}`)}}class no extends nt{}class nl extends nt{constructor(){super("Zone is an abstract class")}}let nu="numeric",nc="short",nd="long",nh={year:nu,month:nu,day:nu},nf={year:nu,month:nc,day:nu},nm={year:nu,month:nc,day:nu,weekday:nc},np={year:nu,month:nd,day:nu},ng={year:nu,month:nd,day:nu,weekday:nd},ny={hour:nu,minute:nu},nw={hour:nu,minute:nu,second:nu},nb={hour:nu,minute:nu,second:nu,timeZoneName:nc},nv={hour:nu,minute:nu,second:nu,timeZoneName:nd},nk={hour:nu,minute:nu,hourCycle:"h23"},nS={hour:nu,minute:nu,second:nu,hourCycle:"h23"},nT={hour:nu,minute:nu,second:nu,hourCycle:"h23",timeZoneName:nc},nx={hour:nu,minute:nu,second:nu,hourCycle:"h23",timeZoneName:nd},nI={year:nu,month:nu,day:nu,hour:nu,minute:nu},nE={year:nu,month:nu,day:nu,hour:nu,minute:nu,second:nu},nD={year:nu,month:nc,day:nu,hour:nu,minute:nu},n_={year:nu,month:nc,day:nu,hour:nu,minute:nu,second:nu},nN={year:nu,month:nc,day:nu,weekday:nc,hour:nu,minute:nu},nC={year:nu,month:nd,day:nu,hour:nu,minute:nu,timeZoneName:nc},nO={year:nu,month:nd,day:nu,hour:nu,minute:nu,second:nu,timeZoneName:nc},nM={year:nu,month:nd,day:nu,weekday:nd,hour:nu,minute:nu,timeZoneName:nd},nj={year:nu,month:nd,day:nu,weekday:nd,hour:nu,minute:nu,second:nu,timeZoneName:nd};class nA{get type(){throw new nl}get name(){throw new nl}get ianaName(){return this.name}get isUniversal(){throw new nl}offsetName(e,t){throw new nl}formatOffset(e,t){throw new nl}offset(e){throw new nl}equals(e){throw new nl}get isValid(){throw new nl}}let nV=null;class nF extends nA{static get instance(){return null===nV&&(nV=new nF),nV}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:t,locale:n}){return rZ(e,t,n)}formatOffset(e,t){return rY(this.offset(e),t)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return"system"===e.type}get isValid(){return!0}}let n$=new Map,nL={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6},nP=new Map;class nR extends nA{static create(e){let t=nP.get(e);return void 0===t&&nP.set(e,t=new nR(e)),t}static resetCache(){nP.clear(),n$.clear()}static isValidSpecifier(e){return this.isValidZone(e)}static isValidZone(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch(e){return!1}}constructor(e){super(),this.zoneName=e,this.valid=nR.isValidZone(e)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(e,{format:t,locale:n}){return rZ(e,t,n,this.name)}formatOffset(e,t){return rY(this.offset(e),t)}offset(e){var t;let n;if(!this.valid)return NaN;let r=new Date(e);if(isNaN(r))return NaN;let i=(t=this.name,void 0===(n=n$.get(t))&&(n=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),n$.set(t,n)),n),[a,s,o,l,u,c,d]=i.formatToParts?function(e,t){let n=e.formatToParts(t),r=[];for(let e=0;e<n.length;e++){let{type:t,value:i}=n[e],a=nL[t];"era"===t?r[a]=i:rx(a)||(r[a]=parseInt(i,10))}return r}(i,r):function(e,t){let n=e.format(t).replace(/\u200E/g,""),[,r,i,a,s,o,l,u]=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(n);return[a,r,i,s,o,l,u]}(i,r);"BC"===l&&(a=-Math.abs(a)+1);let h=rW({year:a,month:s,day:o,hour:24===u?0:u,minute:c,second:d,millisecond:0}),f=+r,m=f%1e3;return(h-(f-=m>=0?m:1e3+m))/6e4}equals(e){return"iana"===e.type&&e.name===this.name}get isValid(){return this.valid}}let nW={},nH=new Map;
1function nz(e,t={}){let n=JSON.stringify([e,t]),r=nH.get(n);return void 0===r&&(r=new Intl.DateTimeFormat(e,t),nH.set(n,r)),r}let nU=new Map,nZ=new Map,nB=null,nq=new Map;function nK(e){let t=nq.get(e);return void 0===t&&(t=new Intl.DateTimeFormat(e).resolvedOptions(),nq.set(e,t)),t}let nY=new Map;function nJ(e,t,n,r){let i=e.listingMode();return"error"===i?null:"en"===i?n(t):r(t)}class nG{constructor(e,t,n){this.padTo=n.padTo||0,this.floor=n.floor||!1;const{padTo:r,floor:i,...a}=n;if(!t||Object.keys(a).length>0){const t={useGrouping:!1,...n};n.padTo>0&&(t.minimumIntegerDigits=n.padTo),this.inf=function(e,t={}){let n=JSON.stringify([e,t]),r=nU.get(n);return void 0===r&&(r=new Intl.NumberFormat(e,t),nU.set(n,r)),r}(e,t)}}format(e){if(!this.inf)return rj(this.floor?Math.floor(e):r$(e,3),this.padTo);{let t=this.floor?Math.floor(e):e;return this.inf.format(t)}}}class nQ{constructor(e,t,n){let r;if(this.opts=n,this.originalZone=void 0,this.opts.timeZone)this.dt=e;else if("fixed"===e.zone.type){const t=-1*(e.offset/60),n=t>=0?`Etc/GMT+${t}`:`Etc/GMT${t}`;0!==e.offset&&nR.create(n).valid?(r=n,this.dt=e):(r="UTC",this.dt=0===e.offset?e:e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone)}else"system"===e.zone.type?this.dt=e:"iana"===e.zone.type?(this.dt=e,r=e.zone.name):(r="UTC",this.dt=e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone);const i={...this.opts};i.timeZone=i.timeZone||r,this.dtf=nz(t,i)}format(){return this.originalZone?this.formatToParts().map(({value:e})=>e).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){let e=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?e.map(e=>{if("timeZoneName"!==e.type)return e;{let t=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...e,value:t}}}):e}resolvedOptions(){return this.dtf.resolvedOptions()}}class nX{constructor(e,t,n){this.opts={style:"long",...n},!t&&rD()&&(this.rtf=function(e,t={}){let{base:n,...r}=t,i=JSON.stringify([e,r]),a=nZ.get(i);return void 0===a&&(a=new Intl.RelativeTimeFormat(e,t),nZ.set(i,a)),a}(e,n))}format(e,t){return this.rtf?this.rtf.format(e,t):function(e,t,n="always",r=!1){let i={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},a=-1===["hours","minutes","seconds"].indexOf(e);if("auto"===n&&a){let n="days"===e;switch(t){case 1:return n?"tomorrow":`next ${i[e][0]}`;case -1:return n?"yesterday":`last ${i[e][0]}`;case 0:return n?"today":`this ${i[e][0]}`}}let s=Object.is(t,-0)||t<0,o=Math.abs(t),l=1===o,u=i[e],c=r?l?u[1]:u[2]||u[1]:l?i[e][0]:e;return s?`${o} ${c} ago`:`in ${o} ${c}`}(t,e,this.opts.numeric,"long"!==this.opts.style)}formatToParts(e,t){return this.rtf?this.rtf.formatToParts(e,t):[]}}let n0={firstDay:1,minimalDays:4,weekend:[6,7]};class n1{static fromOpts(e){return n1.create(e.locale,e.numberingSystem,e.outputCalendar,e.weekSettings,e.defaultToEN)}static create(e,t,n,r,i=!1){let a=e||ru.defaultLocale;return new n1(a||(i?"en-US":nB||(nB=new Intl.DateTimeFormat().resolvedOptions().locale)),t||ru.defaultNumberingSystem,n||ru.defaultOutputCalendar,rO(r)||ru.defaultWeekSettings,a)}static resetCache(){nB=null,nH.clear(),nU.clear(),nZ.clear(),nq.clear(),nY.clear()}static fromObject({locale:e,numberingSystem:t,outputCalendar:n,weekSettings:r}={}){return n1.create(e,t,n,r)}constructor(e,t,n,r,i){const[a,s,o]=function(e){let t=e.indexOf("-x-");-1!==t&&(e=e.substring(0,t));let n=e.indexOf("-u-");if(-1===n)return[e];{let t,r;try{t=nz(e).resolvedOptions(),r=e}catch(a){let i=e.substring(0,n);t=nz(i).resolvedOptions(),r=i}let{numberingSystem:i,calendar:a}=t;return[r,i,a]}}(e);this.locale=a,this.numberingSystem=t||s||null,this.outputCalendar=n||o||null,this.weekSettings=r,this.intl=function(e,t,n){return(n||t)&&(e.includes("-u-")||(e+="-u"),n&&(e+=`-ca-${n}`),t&&(e+=`-nu-${t}`)),e}(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=i,this.fastNumbersCached=null}get fastNumbers(){return null==this.fastNumbersCached&&(this.fastNumbersCached=(!this.numberingSystem||"latn"===this.numberingSystem)&&("latn"===this.numberingSystem||!this.locale||this.locale.startsWith("en")||"latn"===nK(this.locale).numberingSystem)),this.fastNumbersCached}listingMode(){let e=this.isEnglish(),t=(null===this.numberingSystem||"latn"===this.numberingSystem)&&(null===this.outputCalendar||"gregory"===this.outputCalendar);return e&&t?"en":"intl"}clone(e){return e&&0!==Object.getOwnPropertyNames(e).length?n1.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,rO(e.weekSettings)||this.weekSettings,e.defaultToEN||!1):this}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,t=!1){return nJ(this,e,r0,()=>{let n="ja"===this.intl||this.intl.startsWith("ja-"),r=(t&=!n)?{month:e,day:"numeric"}:{month:e},i=t?"format":"standalone";if(!this.monthsCache[i][e]){let t=n?e=>this.dtFormatter(e,r).format():e=>this.extract(e,r,"month");this.monthsCache[i][e]=function(e){let t=[];for(let n=1;n<=12;n++){let r=a$.utc(2009,n,1);t.push(e(r))}return t}(t)}return this.monthsCache[i][e]})}weekdays(e,t=!1){return nJ(this,e,r6,()=>{let n=t?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},r=t?"format":"standalone";return this.weekdaysCache[r][e]||(this.weekdaysCache[r][e]=function(e){let t=[];for(let n=1;n<=7;n++){let r=a$.utc(2016,11,13+n);t.push(e(r))}return t}(e=>this.extract(e,n,"weekday"))),this.weekdaysCache[r][e]})}meridiems(){return nJ(this,void 0,()=>r3,()=>{if(!this.meridiemCache){let e={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[a$.utc(2016,11,13,9),a$.utc(2016,11,13,19)].map(t=>this.extract(t,e,"dayperiod"))}return this.meridiemCache})}eras(e){return nJ(this,e,r9,()=>{let t={era:e};return this.eraCache[e]||(this.eraCache[e]=[a$.utc(-40,1,1),a$.utc(2017,1,1)].map(e=>this.extract(e,t,"era"))),this.eraCache[e]}
1)}extract(e,t,n){let r=this.dtFormatter(e,t).formatToParts().find(e=>e.type.toLowerCase()===n);return r?r.value:null}numberFormatter(e={}){return new nG(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,t={}){return new nQ(e,this.intl,t)}relFormatter(e={}){return new nX(this.intl,this.isEnglish(),e)}listFormatter(e={}){return function(e,t={}){let n=JSON.stringify([e,t]),r=nW[n];return r||(r=new Intl.ListFormat(e,t),nW[n]=r),r}(this.intl,e)}isEnglish(){return"en"===this.locale||"en-us"===this.locale.toLowerCase()||nK(this.intl).locale.startsWith("en-us")}getWeekSettings(){if(this.weekSettings)return this.weekSettings;if(!r_())return n0;var e=this.locale;let t=nY.get(e);if(!t){let n=new Intl.Locale(e);"minimalDays"in(t="getWeekInfo"in n?n.getWeekInfo():n.weekInfo)||(t={...n0,...t}),nY.set(e,t)}return t}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}}let n2=null;class n4 extends nA{static get utcInstance(){return null===n2&&(n2=new n4(0)),n2}static instance(e){return 0===e?n4.utcInstance:new n4(e)}static parseSpecifier(e){if(e){let t=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(t)return new n4(rB(t[1],t[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return 0===this.fixed?"UTC":`UTC${rY(this.fixed,"narrow")}`}get ianaName(){return 0===this.fixed?"Etc/UTC":`Etc/GMT${rY(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,t){return rY(this.fixed,t)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return"fixed"===e.type&&e.fixed===this.fixed}get isValid(){return!0}}class n6 extends nA{constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function n3(e,t){if(rx(e)||null===e)return t;if(e instanceof nA)return e;if("string"==typeof e){let n=e.toLowerCase();return"default"===n?t:"local"===n||"system"===n?nF.instance:"utc"===n||"gmt"===n?n4.utcInstance:n4.parseSpecifier(n)||nR.create(e)}if(rI(e))return n4.instance(e);if("object"==typeof e&&"offset"in e&&"function"==typeof e.offset)return e;else return new n6(e)}let n5={arab:"[Ù -Ù©]",arabext:"[Û°-Û¹]",bali:"[á-á]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[ï¼-ï¼]",gujr:"[૦-૯]",hanidec:"[ã|ä¸|äº|ä¸|å|äº|å
|ä¸|å
«|ä¹]",khmr:"[á -á©]",knda:"[೦-೯]",laoo:"[à»-à»]",limb:"[á¥-á¥]",mlym:"[൦-൯]",mong:"[á -á ]",mymr:"[á-á]",orya:"[à¦-à¯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[à¹-à¹]",tibt:"[༠-༩]",latn:"\\d"},n7={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},n8=n5.hanidec.replace(/[\[|\]]/g,"").split(""),n9=new Map;function re({numberingSystem:e},t=""){let n=e||"latn",r=n9.get(n);void 0===r&&(r=new Map,n9.set(n,r));let i=r.get(t);return void 0===i&&(i=RegExp(`${n5[n]}${t}`),r.set(t,i)),i}let rt=()=>Date.now(),rn="system",rr=null,ri=null,ra=null,rs=60,ro,rl=null;class ru{static get now(){return rt}static set now(e){rt=e}static set defaultZone(e){rn=e}static get defaultZone(){return n3(rn,nF.instance)}static get defaultLocale(){return rr}static set defaultLocale(e){rr=e}static get defaultNumberingSystem(){return ri}static set defaultNumberingSystem(e){ri=e}
1static get defaultOutputCalendar(){return ra}static set defaultOutputCalendar(e){ra=e}static get defaultWeekSettings(){return rl}static set defaultWeekSettings(e){rl=rO(e)}static get twoDigitCutoffYear(){return rs}static set twoDigitCutoffYear(e){rs=e%100}static get throwOnInvalid(){return ro}static set throwOnInvalid(e){ro=e}static resetCaches(){n1.resetCache(),nR.resetCache(),a$.resetCache(),n9.clear()}}class rc{constructor(e,t){this.reason=e,this.explanation=t}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}}let rd=[0,31,59,90,120,151,181,212,243,273,304,334],rh=[0,31,60,91,121,152,182,213,244,274,305,335];function rf(e,t){return new rc("unit out of range",`you specified ${t} (of type ${typeof t}) as a ${e}, which is invalid`)}function rm(e,t,n){let r=new Date(Date.UTC(e,t-1,n));e<100&&e>=0&&r.setUTCFullYear(r.getUTCFullYear()-1900);let i=r.getUTCDay();return 0===i?7:i}function rp(e,t){let n=rL(e)?rh:rd,r=n.findIndex(e=>e<t),i=t-n[r];return{month:r+1,day:i}}function rg(e,t){return(e-t+7)%7+1}function ry(e,t=4,n=1){let{year:r,month:i,day:a}=e,s=a+(rL(r)?rh:rd)[i-1],o=rg(rm(r,i,a),n),l=Math.floor((s-o+14-t)/7),u;return l<1?l=rz(u=r-1,t,n):l>rz(r,t,n)?(u=r+1,l=1):u=r,{weekYear:u,weekNumber:l,weekday:o,...rJ(e)}}function rw(e,t=4,n=1){let{weekYear:r,weekNumber:i,weekday:a}=e,s=rg(rm(r,1,t),n),o=rP(r),l=7*i+a-s-7+t,u;l<1?l+=rP(u=r-1):l>o?(u=r+1,l-=rP(r)):u=r;let{month:c,day:d}=rp(u,l);return{year:u,month:c,day:d,...rJ(e)}}function rb(e){let{year:t,month:n,day:r}=e,i=r+(rL(t)?rh:rd)[n-1];return{year:t,ordinal:i,...rJ(e)}}function rv(e){let{year:t,ordinal:n}=e,{month:r,day:i}=rp(t,n);return{year:t,month:r,day:i,...rJ(e)}}function rk(e,t){if(!(!rx(e.localWeekday)||!rx(e.localWeekNumber)||!rx(e.localWeekYear)))return{minDaysInFirstWeek:4,startOfWeek:1};if(!rx(e.weekday)||!rx(e.weekNumber)||!rx(e.weekYear))throw new na("Cannot mix locale-based week fields with ISO-based week fields");return rx(e.localWeekday)||(e.weekday=e.localWeekday),rx(e.localWeekNumber)||(e.weekNumber=e.localWeekNumber),rx(e.localWeekYear)||(e.weekYear=e.localWeekYear),delete e.localWeekday,delete e.localWeekNumber,delete e.localWeekYear,{minDaysInFirstWeek:t.getMinDaysInFirstWeek(),startOfWeek:t.getStartOfWeek()}}function rS(e){let t=rE(e.year),n=rM(e.month,1,12),r=rM(e.day,1,rR(e.year,e.month));return t?n?!r&&rf("day",e.day):rf("month",e.month):rf("year",e.year)}function rT(e){let{hour:t,minute:n,second:r,millisecond:i}=e,a=rM(t,0,23)||24===t&&0===n&&0===r&&0===i,s=rM(n,0,59),o=rM(r,0,59),l=rM(i,0,999);return a?s?o?!l&&rf("millisecond",i):rf("second",r):rf("minute",n):rf("hour",t)}function rx(e){return void 0===e}function rI(e){return"number"==typeof e}function rE(e){return"number"==typeof e&&e%1==0}function rD(){try{return"u">typeof Intl&&!!Intl.RelativeTimeFormat}catch(e){return!1}}function r_(){try{return"u">typeof Intl&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch(e){return!1}}function rN(e,t,n){if(0!==e.length)return e.reduce((e,r)=>{let i=[t(r),r];return e&&n(e[0],i[0])===e[0]?e:i},null)[1]}function rC(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function rO(e){if(null==e)return null;if("object"!=typeof e)throw new no("Week settings must be an object");if(!rM(e.firstDay,1,7)||!rM(e.minimalDays,1,7)||!Array.isArray(e.weekend)||e.weekend.some(e=>!rM(e,1,7)))throw new no("Invalid week settings");return{firstDay:e.firstDay,minimalDays:e.minimalDays,weekend:Array.from(e.weekend)}}function rM(e,t,n){return rE(e)&&e>=t&&e<=n}function rj(e,t=2){return e<0?"-"+(""+-e).padStart(t,"0"):(""+e).padStart(t,"0")}function rA(e){if(!rx(e)&&null!==e&&""!==e)return parseInt(e,10)}function rV(e){if(!rx(e)&&null!==e&&""!==e)return parseFloat(e)}function rF(e){if(!rx(e)&&null!==e&&""!==e)return Math.floor(1e3*parseFloat("0."+e))}function r$(e,t,n="round"){let r=10**t;switch(n){case"expand":return e>0?Math.ceil(e*r)/r:Math.floor(e*r)/r;case"trunc":return Math.trunc(e*r)/r;case"round":return Math.round(e*r)/r;case"floor":return Math.floor(e*r)/r;case"ceil":return Math.ceil(e*r)/r;default:throw RangeError(`Value rounding ${n} is out of range`)}}function rL(e){return e%4==0&&(e%100!=0||e%400==0)}function rP(e){return rL(e)?366:365}function rR(e,t){var n;let r=(n=t-1)-12*Math.floor(n/12)+1;return 2===r?rL(e+(t-r)/12)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][r-1]}function rW(e){let t=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond);return e.year<100&&e.year>=0&&(t=new Date(t)).setUTCFullYear(e.year,e.month-1,e.day),+t}function rH(e,t,n){return-rg(rm(e,1,t),n)+t-1}function rz(e,t=4,n=1){let r=rH(e,t,n),i=rH(e+1,t,n);return(rP(e)-r+i)/7}function rU(e){return e>99?e:e>ru.twoDigitCutoffYear?1900+e:2e3+e}function rZ(e,t,n,r=null){let i=new Date(e),a={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};r&&(a.timeZone=r);let s={timeZoneName:t,...a},o=new Intl.DateTimeFormat(n,s).formatToParts(i).find(e=>"timezonename"===e.type.toLowerCase());return o?o.value:null}function rB(e,t){let n=parseInt(e,10);Number.isNaN(n)&&(n=0);let r=parseInt(t,10)||0,i=n<0||Object.is(n,-0)?-r:r;return 60*n+i}function rq(e){let t=Number(e);if("boolean"==typeof e||""===e||!Number.isFinite(t))throw new no(`Invalid unit value ${e}`);return t}function rK(e,t){let n={};for(let r in e)if(rC(e,r)){let i=e[r];if(null==i)continue;n[t(r)]=rq(i)}return n}function rY(e,t){let n=Math.trunc(Math.abs(e/60)),r=Math.trunc(Math.abs(e%60)),i=e>=0?"+":"-";switch(t){case"short":return`${i}${rj(n,2)}:${rj(r,2)}`;case"narrow":return`${i}${n}${r>0?`:${r}`:""}`;case"techie":return`${i}${rj(n,2)}${rj(r,2)}`;default:throw RangeError(`Value format ${t} is out of range for property format`)}}function rJ(e){return["hour","minute","second","millisecond"].reduce((t,n)=>(t[n]=e[n],t),{})}let rG=["January","February","March","April","May","June","July","August","September","October","November","December"],rQ=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],rX=["J","F","M","A","M","J","J","A","S","O","N","D"];function r0(e){switch(e){case"narrow":return[...rX];case"short":return[...rQ];case"long":return[...rG];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}
1let r1=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],r2=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],r4=["M","T","W","T","F","S","S"];function r6(e){switch(e){case"narrow":return[...r4];case"short":return[...r2];case"long":return[...r1];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}let r3=["AM","PM"],r5=["Before Christ","Anno Domini"],r7=["BC","AD"],r8=["B","A"];function r9(e){switch(e){case"narrow":return[...r8];case"short":return[...r7];case"long":return[...r5];default:return null}}function ie(e,t){let n="";for(let r of e)r.literal?n+=r.val:n+=t(r.val);return n}let it={D:nh,DD:nf,DDD:np,DDDD:ng,t:ny,tt:nw,ttt:nb,tttt:nv,T:nk,TT:nS,TTT:nT,TTTT:nx,f:nI,ff:nD,fff:nC,ffff:nM,F:nE,FF:n_,FFF:nO,FFFF:nj};class ir{static create(e,t={}){return new ir(e,t)}static parseFormat(e){let t=null,n="",r=!1,i=[];for(let a=0;a<e.length;a++){let s=e.charAt(a);"'"===s?((n.length>0||r)&&i.push({literal:r||/^\s+$/.test(n),val:""===n?"'":n}),t=null,n="",r=!r):r||s===t?n+=s:(n.length>0&&i.push({literal:/^\s+$/.test(n),val:n}),n=s,t=s)}return n.length>0&&i.push({literal:r||/^\s+$/.test(n),val:n}),i}static macroTokenToFormatOpts(e){return it[e]}constructor(e,t){this.opts=t,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,t){return null===this.systemLoc&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,{...this.opts,...t}).format()}dtFormatter(e,t={}){return this.loc.dtFormatter(e,{...this.opts,...t})}formatDateTime(e,t){return this.dtFormatter(e,t).format()}formatDateTimeParts(e,t){return this.dtFormatter(e,t).formatToParts()}formatInterval(e,t){return this.dtFormatter(e.start,t).dtf.formatRange(e.start.toJSDate(),e.end.toJSDate())}resolvedOptions(e,t){return this.dtFormatter(e,t).resolvedOptions()}num(e,t=0,n){if(this.opts.forceSimple)return rj(e,t);let r={...this.opts};return t>0&&(r.padTo=t),n&&(r.signDisplay=n),this.loc.numberFormatter(r).format(e)}formatDateTimeFromString(e,t){let n="en"===this.loc.listingMode(),r=this.loc.outputCalendar&&"gregory"!==this.loc.outputCalendar,i=(t,n)=>this.loc.extract(e,t,n),a=t=>e.isOffsetFixed&&0===e.offset&&t.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,t.format):"",s=(t,r)=>n?r0(t)[e.month-1]:i(r?{month:t}:{month:t,day:"numeric"},"month"),o=(t,r)=>n?r6(t)[e.weekday-1]:i(r?{weekday:t}:{weekday:t,month:"long",day:"numeric"},"weekday"),l=t=>{let n=ir.macroTokenToFormatOpts(t);return n?this.formatWithSystemDefault(e,n):t},u=t=>n?r9(t)[e.year<0?0:1]:i({era:t},"era"),c=t=>{switch(t){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12==0?12:e.hour%12);case"hh":return this.num(e.hour%12==0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return a({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return a({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return a({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return n?r3[e.hour<12?0:1]:i({hour:"numeric",hourCycle:"h12"},"dayperiod");case"d":return r?i({day:"numeric"},"day"):this.num(e.day);case"dd":return r?i({day:"2-digit"},"day"):this.num(e.day,2);case"c":case"E":return this.num(e.weekday);case"ccc":return o("short",!0);case"cccc":return o("long",!0);case"ccccc":return o("narrow",!0);case"EEE":return o("short",!1);case"EEEE":return o("long",!1);case"EEEEE":return o("narrow",!1);case"L":return r?i({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return r?i({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return s("short",!0);case"LLLL":return s("long",!0);case"LLLLL":return s("narrow",!0);case"M":return r?i({month:"numeric"},"month"):this.num(e.month);case"MM":return r?i({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return s("short",!1);case"MMMM":return s("long",!1);case"MMMMM":return s("narrow",!1);case"y":return r?i({year:"numeric"},"year"):this.num(e.year);case"yy":return r?i({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return r?i({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return r?i({year:"numeric"},"year"):this.num(e.year,6);case"G":return u("short");case"GG":return u("long");case"GGGGG":return u("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);
1case"WW":return this.num(e.weekNumber,2);case"n":return this.num(e.localWeekNumber);case"nn":return this.num(e.localWeekNumber,2);case"ii":return this.num(e.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(e.localWeekYear,4);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return l(t)}};return ie(ir.parseFormat(t),c)}formatDurationFromString(e,t){let n="negativeLargestOnly"===this.opts.signMode?-1:1,r=e=>{switch(e[0]){case"S":return"milliseconds";case"s":return"seconds";case"m":return"minutes";case"h":return"hours";case"d":return"days";case"w":return"weeks";case"M":return"months";case"y":return"years";default:return null}},i=(e,t)=>i=>{let a=r(i);if(!a)return i;{let r,s=t.isNegativeDuration&&a!==t.largestUnit?n:1;return r="negativeLargestOnly"===this.opts.signMode&&a!==t.largestUnit?"never":"all"===this.opts.signMode?"always":"auto",this.num(e.get(a)*s,i.length,r)}},a=ir.parseFormat(t),s=a.reduce((e,{literal:t,val:n})=>t?e:e.concat(n),[]),o=e.shiftTo(...s.map(r).filter(e=>e)),l={isNegativeDuration:o<0,largestUnit:Object.keys(o.values)[0]};return ie(a,i(o,l))}}let ii=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function ia(...e){let t=e.reduce((e,t)=>e+t.source,"");return RegExp(`^${t}$`)}function is(...e){return t=>e.reduce(([e,n,r],i)=>{let[a,s,o]=i(t,r);return[{...e,...a},s||n,o]},[{},null,1]).slice(0,2)}function io(e,...t){if(null==e)return[null,null];for(let[n,r]of t){let t=n.exec(e);if(t)return r(t)}return[null,null]}function il(...e){return(t,n)=>{let r,i={};for(r=0;r<e.length;r++)i[e[r]]=rA(t[n+r]);return[i,null,n+r]}}let iu=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,ic=`(?:${iu.source}?(?:\\[(${ii.source})\\])?)?`,id=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,ih=RegExp(`${id.source}${ic}`),im=RegExp(`(?:[Tt]${ih.source})?`),ip=il("weekYear","weekNumber","weekDay"),ig=il("year","ordinal"),iy=RegExp(`${id.source} ?(?:${iu.source}|(${ii.source}))?`),iw=RegExp(`(?: ${iy.source})?`);function ib(e,t,n){let r=e[t];return rx(r)?n:rA(r)}function iv(e,t){return[{hours:ib(e,t,0),minutes:ib(e,t+1,0),seconds:ib(e,t+2,0),milliseconds:rF(e[t+3])},null,t+4]}function ik(e,t){let n=!e[t]&&!e[t+1],r=rB(e[t+1],e[t+2]);return[{},n?null:n4.instance(r),t+3]}function iS(e,t){return[{},e[t]?nR.create(e[t]):null,t+1]}let iT=RegExp(`^T?${id.source}$`),ix=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function iI(e){let[t,n,r,i,a,s,o,l,u]=e,c="-"===t[0],d=l&&"-"===l[0],h=(e,t=!1)=>void 0!==e&&(t||e&&c)?-e:e;return[{years:h(rV(n)),months:h(rV(r)),weeks:h(rV(i)),days:h(rV(a)),hours:h(rV(s)),minutes:h(rV(o)),seconds:h(rV(l),"-0"===l),milliseconds:h(rF(u),d)}]}let iE={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function iD(e,t,n,r,i,a,s){let o={year:2===t.length?rU(rA(t)):rA(t),month:rQ.indexOf(n)+1,day:rA(r),hour:rA(i),minute:rA(a)};return s&&(o.second=rA(s)),e&&(o.weekday=e.length>3?r1.indexOf(e)+1:r2.indexOf(e)+1),o}let i_=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function iN(e){let[,t,n,r,i,a,s,o,l,u,c,d]=e;return[iD(t,i,r,n,a,s,o),new n4(l?iE[l]:u?0:rB(c,d))]}let iC=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,iO=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,iM=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function ij(e){let[,t,n,r,i,a,s,o]=e;return[iD(t,i,r,n,a,s,o),n4.utcInstance]}function iA(e){let[,t,n,r,i,a,s,o]=e;return[iD(t,o,n,r,i,a,s),n4.utcInstance]}let iV=ia(/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,im),iF=ia(/(\d{4})-?W(\d\d)(?:-?(\d))?/,im),i$=ia(/(\d{4})-?(\d{3})/,im),iL=ia(ih),iP=is(function(e,t){return[{year:ib(e,t),month:ib(e,t+1,1),day:ib(e,t+2,1)},null,t+3]},iv,ik,iS),iR=is(ip,iv,ik,iS),iW=is(ig,iv,ik,iS),iH=is(iv,ik,iS),iz=is(iv),iU=ia(/(\d{4}
1)-(\d\d)-(\d\d)/,iw),iZ=ia(iy),iB=is(iv,ik,iS),iq="Invalid Duration",iK={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:6048e5},days:{hours:24,minutes:1440,seconds:86400,milliseconds:864e5},hours:{minutes:60,seconds:3600,milliseconds:36e5},minutes:{seconds:60,milliseconds:6e4},seconds:{milliseconds:1e3}},iY={years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536e3,milliseconds:31536e6},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:78624e5},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592e3,milliseconds:2592e6},...iK},iJ={years:{quarters:4,months:12,weeks:52.1775,days:365.2425,hours:8765.82,minutes:525949.2,seconds:0x1e18558,milliseconds:31556952e3},quarters:{months:3,weeks:13.044375,days:91.310625,hours:2191.455,minutes:131487.3,seconds:7889238,milliseconds:7889238e3},months:{weeks:30.436875/7,days:30.436875,hours:730.485,minutes:43829.1,seconds:2629746,milliseconds:2629746e3},...iK},iG=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],iQ=iG.slice(0).reverse();function iX(e,t,n=!1){return new i4({values:n?t.values:{...e.values,...t.values||{}},loc:e.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||e.conversionAccuracy,matrix:t.matrix||e.matrix})}function i0(e,t){let n=t.milliseconds??0;for(let r of iQ.slice(1))t[r]&&(n+=t[r]*e[r].milliseconds);return n}function i1(e,t){let n=0>i0(e,t)?-1:1;iG.reduceRight((r,i)=>{if(rx(t[i]))return r;if(r){let a=t[r]*n,s=e[i][r],o=Math.floor(a/s);t[i]+=o*n,t[r]-=o*s*n}return i},null),iG.reduce((n,r)=>{if(rx(t[r]))return n;if(n){let i=t[n]%1;t[n]-=i,t[r]+=i*e[n][r]}return r},null)}function i2(e){let t={};for(let[n,r]of Object.entries(e))0!==r&&(t[n]=r);return t}class i4{constructor(e){const t="longterm"===e.conversionAccuracy;let n=t?iJ:iY;e.matrix&&(n=e.matrix),this.values=e.values,this.loc=e.loc||n1.create(),this.conversionAccuracy=t?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=n,this.isLuxonDuration=!0}static fromMillis(e,t){return i4.fromObject({milliseconds:e},t)}static fromObject(e,t={}){if(null==e||"object"!=typeof e)throw new no(`Duration.fromObject: argument expected to be an object, got ${null===e?"null":typeof e}`);return new i4({values:rK(e,i4.normalizeUnit),loc:n1.fromObject(t),conversionAccuracy:t.conversionAccuracy,matrix:t.matrix})}static fromDurationLike(e){if(rI(e))return i4.fromMillis(e);if(i4.isDuration(e))return e;if("object"==typeof e)return i4.fromObject(e);throw new no(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,t){let[n]=io(e,[ix,iI]);return n?i4.fromObject(n,t):i4.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static fromISOTime(e,t){let[n]=io(e,[iT,iz]);return n?i4.fromObject(n,t):i4.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static invalid(e,t=null){if(!e)throw new no("need to specify a reason the Duration is invalid");let n=e instanceof rc?e:new rc(e,t);if(!ru.throwOnInvalid)return new i4({invalid:n});throw new ni(n)}static normalizeUnit(e){let t={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e?e.toLowerCase():e];if(!t)throw new ns(e);return t}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,t={}){let n={...t,floor:!1!==t.round&&!1!==t.floor};return this.isValid?ir.create(this.loc,n).formatDurationFromString(this,e):iq}toHuman(e={}){if(!this.isValid)return iq;let t=!1!==e.showZeros,n=iG.map(n=>{let r=this.values[n];return rx(r)||0===r&&!t?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...e,unit:n.slice(0,-1)}).format(r)}).filter(e=>e);return this.loc.listFormatter({type:"conjunction",style:e.listStyle||"narrow",...e}).format(n)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e="P";return 0!==this.years&&(e+=this.years+"Y"),(0!==this.months||0!==this.quarters)&&(e+=this.months+3*this.quarters+"M"),0!==this.weeks&&(e+=this.weeks+"W"),0!==this.days&&(e+=this.days+"D"),(0!==this.hours||0!==this.minutes||0!==this.seconds||0!==this.milliseconds)&&(e+="T"),0!==this.hours&&(e+=this.hours+"H"),0!==this.minutes&&(e+=this.minutes+"M"),(0!==this.seconds||0!==this.milliseconds)&&(e+=r$(this.seconds+this.milliseconds/1e3,3)+"S"),"P"===e&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;let t=this.toMillis();return t<0||t>=864e5?null:(e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...e,includeOffset:!1},a$.fromMillis(t,{zone:"UTC"}).toISOTime(e))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?i0(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;let t=i4.fromDurationLike(e),n={};for(let e of iG)(rC(t.values,e)||rC(this.values,e))&&(n[e]=t.get(e)+this.get(e));return iX(this,{values:n},!0)}minus(e){if(!this.isValid)return this;let t=i4.fromDurationLike(e);return this.plus(t.negate())}mapUnits(e){if(!this.isValid)return this;let t={};for(let n of Object.keys(this.values))t[n]=rq(e(this.values[n],n));return iX(this,{values:t},!0)}get(e){return this[i4.normalizeUnit(e)]}set(e){return this.isValid?iX(this,{values:{...this.values,...rK(e,i4.normalizeUnit)}}):this}reconfigure({locale:e,numberingSystem:t,conversionAccuracy:n,matrix:r}={}){return iX(this,{loc:this.loc.clone({locale:e,numberingSystem:t}),matrix:r,conversionAccuracy:n})}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;let e=this.toObject();return i1(this.matrix,e),iX(this,{values:e},!0)}rescale(){return this.isValid?iX(this,{values:i2(this.normalize().shiftToAll().toObject())},!0):this}shiftTo(...e){let t;if(!this.isValid||0===e.length)return this;e=e.map(e=>i4.normalizeUnit(e));let n={},r={},i=this.toObject();for(let a of iG)if(e.indexOf(a)>=0){t=a;let e=0;for(let t in r)e+=this.matrix[t][a]*r[t],r[t]=0;rI(i[a])&&(e+=i[a]);let s=Math.trunc(e);n[a]=s,r[a]=(1e3*e-1e3*s)/1e3}else rI(i[a])&&(r[a]=i[a]);for(let e in r)0!==r[e]&&(n[t]+=e===t?r[e]:r[e]/this.matrix[t][e]);return i1(this.matrix,n),iX(this,{values:n},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;let e={};for(let t of Object.keys(this.values))e[t]=0===this.values[t]?0:-this.values[t];return iX(this,{values:e},!0)}removeZeros(){return this.isValid?iX(this,{values:i2(this.values)},!0):this}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return null===this.invalid}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid||!this.loc.equals(e.loc))return!1;for(let r of iG){var t,n;if(t=this.values[r],n=e.values[r],void 0===t||0===t?void 0!==n&&0!==n:t!==n)return!1}return!0}}let i6="Invalid Interval";class i3{constructor(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}
1static invalid(e,t=null){if(!e)throw new no("need to specify a reason the Interval is invalid");let n=e instanceof rc?e:new rc(e,t);if(!ru.throwOnInvalid)return new i3({invalid:n});throw new nr(n)}static fromDateTimes(e,t){var n,r;let i=aL(e),a=aL(t),s=(n=i,r=a,n&&n.isValid?r&&r.isValid?r<n?i3.invalid("end before start",`The end of an interval must be after its start, but you had start=${n.toISO()} and end=${r.toISO()}`):null:i3.invalid("missing or invalid end"):i3.invalid("missing or invalid start"));return null==s?new i3({start:i,end:a}):s}static after(e,t){let n=i4.fromDurationLike(t),r=aL(e);return i3.fromDateTimes(r,r.plus(n))}static before(e,t){let n=i4.fromDurationLike(t),r=aL(e);return i3.fromDateTimes(r.minus(n),r)}static fromISO(e,t){let[n,r]=(e||"").split("/",2);if(n&&r){let e,i,a,s;try{i=(e=a$.fromISO(n,t)).isValid}catch(e){i=!1}try{s=(a=a$.fromISO(r,t)).isValid}catch(e){s=!1}if(i&&s)return i3.fromDateTimes(e,a);if(i){let n=i4.fromISO(r,t);if(n.isValid)return i3.after(e,n)}else if(s){let e=i4.fromISO(n,t);if(e.isValid)return i3.before(a,e)}}return i3.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static isInterval(e){return e&&e.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid&&this.e?this.e.minus(1):null}get isValid(){return null===this.invalidReason}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(e="milliseconds"){return this.isValid?this.toDuration(e).get(e):NaN}count(e="milliseconds",t){let n;if(!this.isValid)return NaN;let r=this.start.startOf(e,t);return Math.floor((n=(n=t?.useLocaleWeeks?this.end.reconfigure({locale:r.locale}):this.end).startOf(e,t)).diff(r,e).get(e))+(n.valueOf()!==this.end.valueOf())}hasSame(e){return!!this.isValid&&(this.isEmpty()||this.e.minus(1).hasSame(this.s,e))}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(e){return!!this.isValid&&this.s>e}isBefore(e){return!!this.isValid&&this.e<=e}contains(e){return!!this.isValid&&this.s<=e&&this.e>e}set({start:e,end:t}={}){return this.isValid?i3.fromDateTimes(e||this.s,t||this.e):this}splitAt(...e){if(!this.isValid)return[];let t=e.map(aL).filter(e=>this.contains(e)).sort((e,t)=>e.toMillis()-t.toMillis()),n=[],{s:r}=this,i=0;for(;r<this.e;){let e=t[i]||this.e,a=+e>+this.e?this.e:e;n.push(i3.fromDateTimes(r,a)),r=a,i+=1}return n}splitBy(e){let t=i4.fromDurationLike(e);if(!this.isValid||!t.isValid||0===t.as("milliseconds"))return[];let{s:n}=this,r=1,i,a=[];for(;n<this.e;){let e=this.start.plus(t.mapUnits(e=>e*r));i=+e>+this.e?this.e:e,a.push(i3.fromDateTimes(n,i)),n=i,r+=1}return a}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s<e.e}abutsStart(e){return!!this.isValid&&+this.e==+e.s}abutsEnd(e){return!!this.isValid&&+e.e==+this.s}engulfs(e){return!!this.isValid&&this.s<=e.s&&this.e>=e.e}equals(e){return!!this.isValid&&!!e.isValid&&this.s.equals(e.s)&&this.e.equals(e.e)}intersection(e){if(!this.isValid)return this;let t=this.s>e.s?this.s:e.s,n=this.e<e.e?this.e:e.e;return t>=n?null:i3.fromDateTimes(t,n)}union(e){if(!this.isValid)return this;let t=this.s<e.s?this.s:e.s,n=this.e>e.e?this.e:e.e;return i3.fromDateTimes(t,n)}static merge(e){let[t,n]=e.sort((e,t)=>e.s-t.s).reduce(([e,t],n)=>t?t.overlaps(n)||t.abutsStart(n)?[e,t.union(n)]:[e.concat([t]),n]:[e,n],[[],null]);return n&&t.push(n),t}static xor(e){let t=null,n=0,r=[],i=e.map(e=>[{time:e.s,type:"s"},{time:e.e,type:"e"}]);for(let e of Array.prototype.concat(...i).sort((e,t)=>e.time-t.time))1===(n+="s"===e.type?1:-1)?t=e.time:(t&&+t!=+e.time&&r.push(i3.fromDateTimes(t,e.time)),t=null);return i3.merge(r)}difference(...e){return i3.xor([this].concat(e)).map(e=>this.intersection(e)).filter(e=>e&&!e.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} â ${this.e.toISO()})`:i6}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}
1toLocaleString(e=nh,t={}){return this.isValid?ir.create(this.s.loc.clone(t),e).formatInterval(this):i6}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:i6}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:i6}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:i6}toFormat(e,{separator:t=" â "}={}){return this.isValid?`${this.s.toFormat(e)}${t}${this.e.toFormat(e)}`:i6}toDuration(e,t){return this.isValid?this.e.diff(this.s,e,t):i4.invalid(this.invalidReason)}mapEndpoints(e){return i3.fromDateTimes(e(this.s),e(this.e))}}class i5{static hasDST(e=ru.defaultZone){let t=a$.now().setZone(e).set({month:12});return!e.isUniversal&&t.offset!==t.set({month:6}).offset}static isValidIANAZone(e){return nR.isValidZone(e)}static normalizeZone(e){return n3(e,ru.defaultZone)}static getStartOfWeek({locale:e=null,locObj:t=null}={}){return(t||n1.create(e)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:e=null,locObj:t=null}={}){return(t||n1.create(e)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:e=null,locObj:t=null}={}){return(t||n1.create(e)).getWeekendDays().slice()}static months(e="long",{locale:t=null,numberingSystem:n=null,locObj:r=null,outputCalendar:i="gregory"}={}){return(r||n1.create(t,n,i)).months(e)}static monthsFormat(e="long",{locale:t=null,numberingSystem:n=null,locObj:r=null,outputCalendar:i="gregory"}={}){return(r||n1.create(t,n,i)).months(e,!0)}static weekdays(e="long",{locale:t=null,numberingSystem:n=null,locObj:r=null}={}){return(r||n1.create(t,n,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:t=null,numberingSystem:n=null,locObj:r=null}={}){return(r||n1.create(t,n,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return n1.create(e).meridiems()}static eras(e="short",{locale:t=null}={}){return n1.create(t,null,"gregory").eras(e)}static features(){return{relative:rD(),localeWeek:r_()}}}function i7(e,t){let n=e=>e.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),r=n(t)-n(e);return Math.floor(i4.fromMillis(r).as("days"))}function i8(e,t=e=>e){return{regex:e,deser:([e])=>t(function(e){let t=parseInt(e,10);if(!isNaN(t))return t;t="";for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(-1!==e[n].search(n5.hanidec))t+=n8.indexOf(e[n]);else for(let e in n7){let[n,i]=n7[e];r>=n&&r<=i&&(t+=r-n)}}return parseInt(t,10)}(e))}}let i9=String.fromCharCode(160),ae=`[ ${i9}]`,at=RegExp(ae,"g");function an(e){return e.replace(/\./g,"\\.?").replace(at,ae)}function ar(e){return e.replace(/\./g,"").replace(at," ").toLowerCase()}function ai(e,t){return null===e?null:{regex:RegExp(e.map(an).join("|")),deser:([n])=>e.findIndex(e=>ar(n)===ar(e))+t}}function aa(e,t){return{regex:e,deser:([,e,t])=>rB(e,t),groups:t}}function as(e){return{regex:e,deser:([e])=>e}}
1let ao={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}},al=null;function au(e,t){return Array.prototype.concat(...e.map(e=>(function(e,t){if(e.literal)return e;let n=ah(ir.macroTokenToFormatOpts(e.val),t);return null==n||n.includes(void 0)?e:n})(e,t)))}class ac{constructor(e,t){if(this.locale=e,this.format=t,this.tokens=au(ir.parseFormat(t),e),this.units=this.tokens.map(t=>{let n,r,i,a,s,o,l,u,c,d,h,f,m;return n=re(e),r=re(e,"{2}"),i=re(e,"{3}"),a=re(e,"{4}"),s=re(e,"{6}"),o=re(e,"{1,2}"),l=re(e,"{1,3}"),u=re(e,"{1,6}"),c=re(e,"{1,9}"),d=re(e,"{2,4}"),h=re(e,"{4,6}"),f=e=>({regex:RegExp(e.val.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")),deser:([e])=>e,literal:!0}),(m=(m=>{if(t.literal)return f(m);switch(m.val){case"G":return ai(e.eras("short"),0);case"GG":return ai(e.eras("long"),0);case"y":return i8(u);case"yy":case"kk":return i8(d,rU);case"yyyy":case"kkkk":return i8(a);case"yyyyy":return i8(h);case"yyyyyy":return i8(s);case"M":case"L":case"d":case"H":case"h":case"m":case"q":case"s":case"W":return i8(o);case"MM":case"LL":case"dd":case"HH":case"hh":case"mm":case"qq":case"ss":case"WW":return i8(r);case"MMM":return ai(e.months("short",!0),1);case"MMMM":return ai(e.months("long",!0),1);case"LLL":return ai(e.months("short",!1),1);case"LLLL":return ai(e.months("long",!1),1);case"o":case"S":return i8(l);case"ooo":case"SSS":return i8(i);case"u":return as(c);case"uu":return as(o);case"uuu":case"E":case"c":return i8(n);case"a":return ai(e.meridiems(),0);case"EEE":return ai(e.weekdays("short",!1),1);case"EEEE":return ai(e.weekdays("long",!1),1);case"ccc":return ai(e.weekdays("short",!0),1);case"cccc":return ai(e.weekdays("long",!0),1);case"Z":case"ZZ":return aa(RegExp(`([+-]${o.source})(?::(${r.source}))?`),2);case"ZZZ":return aa(RegExp(`([+-]${o.source})(${r.source})?`),2);case"z":return as(/[a-z_+-/]{1,256}?/i);case" ":return as(/[^\S\n\r]/);default:return f(m)}})(t)||{invalidReason:"missing Intl.DateTimeFormat.formatToParts support"}).token=t,m}),this.disqualifyingUnit=this.units.find(e=>e.invalidReason),!this.disqualifyingUnit){const[e,t]=function(e){let t=e.map(e=>e.regex).reduce((e,t)=>`${e}(${t.source})`,"");return[`^${t}$`,e]}(this.units);this.regex=RegExp(e,"i"),this.handlers=t}}explainFromTokens(e){if(!this.isValid)return{input:e,tokens:this.tokens,invalidReason:this.invalidReason};{let t,n,[r,i]=function(e,t,n){let r=e.match(t);if(!r)return[r,{}];{let e={},t=1;for(let i in n)if(rC(n,i)){let a=n[i],s=a.groups?a.groups+1:1;!a.literal&&a.token&&(e[a.token.val[0]]=a.deser(r.slice(t,t+s))),t+=s}return[r,e]}}(e,this.regex,this.handlers),[a,s,o]=i?(n=null,rx(i.z)||(n=nR.create(i.z)),rx(i.Z)||(n||(n=new n4(i.Z)),t=i.Z),rx(i.q)||(i.M=(i.q-1)*3+1),rx(i.h)||(i.h<12&&1===i.a?i.h+=12:12===i.h&&0===i.a&&(i.h=0)),0===i.G&&i.y&&(i.y=-i.y),rx(i.u)||(i.S=rF(i.u)),[Object.keys(i).reduce((e,t)=>{let n=(e=>{switch(e){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}})(t);return n&&(e[n]=i[t]),e},{}),n,t]):[null,null,void 0];if(rC(i,"a")&&rC(i,"H"))throw new na("Can't include meridiem when specifying 24-hour format");return{input:e,tokens:this.tokens,regex:this.regex,rawMatches:r,matches:i,result:a,zone:s,specificOffset:o}}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invali
1dReason:null}}function ad(e,t,n){return new ac(e,n).explainFromTokens(t)}function ah(e,t){if(!e)return null;let n=ir.create(t,e).dtFormatter((al||(al=a$.fromMillis(0x16a2e5618e3)),al)),r=n.formatToParts(),i=n.resolvedOptions();return r.map(t=>(function(e,t,n){let{type:r,value:i}=e;if("literal"===r){let e=/^\s+$/.test(i);return{literal:!e,val:e?" ":i}}let a=t[r],s=r;"hour"===r&&(s=null!=t.hour12?t.hour12?"hour12":"hour24":null!=t.hourCycle?"h11"===t.hourCycle||"h12"===t.hourCycle?"hour12":"hour24":n.hour12?"hour12":"hour24");let o=ao[s];if("object"==typeof o&&(o=o[a]),o)return{literal:!1,val:o}})(t,e,i))}let af="Invalid DateTime";function am(e){return new rc("unsupported zone",`the zone "${e.name}" is not supported`)}function ap(e){return null===e.weekData&&(e.weekData=ry(e.c)),e.weekData}function ag(e){return null===e.localWeekData&&(e.localWeekData=ry(e.c,e.loc.getMinDaysInFirstWeek(),e.loc.getStartOfWeek())),e.localWeekData}function ay(e,t){let n={ts:e.ts,zone:e.zone,c:e.c,o:e.o,loc:e.loc,invalid:e.invalid};return new a$({...n,...t,old:n})}function aw(e,t,n){let r=e-60*t*1e3,i=n.offset(r);if(t===i)return[r,t];r-=(i-t)*6e4;let a=n.offset(r);return i===a?[r,i]:[e-60*Math.min(i,a)*1e3,Math.max(i,a)]}function ab(e,t){let n=new Date(e+=60*t*1e3);return{year:n.getUTCFullYear(),month:n.getUTCMonth()+1,day:n.getUTCDate(),hour:n.getUTCHours(),minute:n.getUTCMinutes(),second:n.getUTCSeconds(),millisecond:n.getUTCMilliseconds()}}function av(e,t){let n=e.o,r=e.c.year+Math.trunc(t.years),i=e.c.month+Math.trunc(t.months)+3*Math.trunc(t.quarters),a={...e.c,year:r,month:i,day:Math.min(e.c.day,rR(r,i))+Math.trunc(t.days)+7*Math.trunc(t.weeks)},s=i4.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),[o,l]=aw(rW(a),n,e.zone);return 0!==s&&(o+=s,l=e.zone.offset(o)),{ts:o,o:l}}function ak(e,t,n,r,i,a){let{setZone:s,zone:o}=n;if((!e||0===Object.keys(e).length)&&!t)return a$.invalid(new rc("unparsable",`the input "${i}" can't be parsed as ${r}`));{let r=a$.fromObject(e,{...n,zone:t||o,specificOffset:a});return s?r:r.setZone(o)}}function aS(e,t,n=!0){return e.isValid?ir.create(n1.create("en-US"),{allowZ:n,forceSimple:!0}).formatDateTimeFromString(e,t):null}function aT(e,t,n){let r=e.c.year>9999||e.c.year<0,i="";if(r&&e.c.year>=0&&(i+="+"),i+=rj(e.c.year,r?6:4),"year"===n)return i;if(t){if(i+="-",i+=rj(e.c.month),"month"===n)return i;i+="-"}else if(i+=rj(e.c.month),"month"===n)return i;return i+rj(e.c.day)}function ax(e,t,n,r,i,a,s){let o=!n||0!==e.c.millisecond||0!==e.c.second,l="";switch(s){case"day":case"month":case"year":break;default:if(l+=rj(e.c.hour),"hour"===s)break;if(t){if(l+=":",l+=rj(e.c.minute),"minute"===s)break;o&&(l+=":",l+=rj(e.c.second))}else{if(l+=rj(e.c.minute),"minute"===s)break;o&&(l+=rj(e.c.second))}if("second"===s)break;o&&(!r||0!==e.c.millisecond)&&(l+=".",l+=rj(e.c.millisecond,3))}return i&&(e.isOffsetFixed&&0===e.offset&&!a?l+="Z":e.o<0?(l+="-",l+=rj(Math.trunc(-e.o/60)),l+=":",l+=rj(Math.trunc(-e.o%60))):(l+="+",l+=rj(Math.trunc(e.o/60)),l+=":",l+=rj(Math.trunc(e.o%60)))),a&&(l+="["+e.zone.ianaName+"]"),l}let aI={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},aE={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},aD={ordinal:1,hour:0,minute:0,second:0,millisecond:0},a_=["year","month","day","hour","minute","second","millisecond"],aN=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],aC=["year","ordinal","hour","minute","second","millisecond"];function aO(e){let t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[e.toLowerCase()];if(!t)throw new ns(e);return t}function aM(e){switch(e.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return aO(e)}}function aj(e,t){let n,i,a=n3(t.zone,ru.defaultZone);
1if(!a.isValid)return a$.invalid(am(a));let s=n1.fromObject(t);if(rx(e.year))n=ru.now();else{for(let t of a_)rx(e[t])&&(e[t]=aI[t]);let t=rS(e)||rT(e);if(t)return a$.invalid(t);let s=function(e){if(void 0===r&&(r=ru.now()),"iana"!==e.type)return e.offset(r);let t=e.name,n=aF.get(t);return void 0===n&&(n=e.offset(r),aF.set(t,n)),n}(a);[n,i]=aw(rW(e),s,a)}return new a$({ts:n,zone:a,loc:s,o:i})}function aA(e,t,n){let r=!!rx(n.round)||n.round,i=rx(n.rounding)?"trunc":n.rounding,a=(e,a)=>(e=r$(e,r||n.calendary?0:2,n.calendary?"round":i),t.loc.clone(n).relFormatter(n).format(e,a)),s=r=>n.calendary?t.hasSame(e,r)?0:t.startOf(r).diff(e.startOf(r),r).get(r):t.diff(e,r).get(r);if(n.unit)return a(s(n.unit),n.unit);for(let e of n.units){let t=s(e);if(Math.abs(t)>=1)return a(t,e)}return a(e>t?-0:0,n.units[n.units.length-1])}function aV(e){let t={},n;return e.length>0&&"object"==typeof e[e.length-1]?(t=e[e.length-1],n=Array.from(e).slice(0,e.length-1)):n=Array.from(e),[t,n]}let aF=new Map;class a${constructor(e){const t=e.zone||ru.defaultZone;let n=e.invalid||(Number.isNaN(e.ts)?new rc("invalid input"):null)||(t.isValid?null:am(t));this.ts=rx(e.ts)?ru.now():e.ts;let r=null,i=null;if(!n)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(t))[r,i]=[e.old.c,e.old.o];else{const a=rI(e.o)&&!e.old?e.o:t.offset(this.ts);r=(n=Number.isNaN((r=ab(this.ts,a)).year)?new rc("invalid input"):null)?null:r,i=n?null:a}this._zone=t,this.loc=e.loc||n1.create(),this.invalid=n,this.weekData=null,this.localWeekData=null,this.c=r,this.o=i,this.isLuxonDateTime=!0}static now(){return new a$({})}static local(){let[e,t]=aV(arguments),[n,r,i,a,s,o,l]=t;return aj({year:n,month:r,day:i,hour:a,minute:s,second:o,millisecond:l},e)}static utc(){let[e,t]=aV(arguments),[n,r,i,a,s,o,l]=t;return e.zone=n4.utcInstance,aj({year:n,month:r,day:i,hour:a,minute:s,second:o,millisecond:l},e)}static fromJSDate(e,t={}){let n="[object Date]"===Object.prototype.toString.call(e)?e.valueOf():NaN;if(Number.isNaN(n))return a$.invalid("invalid input");let r=n3(t.zone,ru.defaultZone);return r.isValid?new a$({ts:n,zone:r,loc:n1.fromObject(t)}):a$.invalid(am(r))}static fromMillis(e,t={}){if(rI(e))if(e<-864e13||e>864e13)return a$.invalid("Timestamp out of range");else return new a$({ts:e,zone:n3(t.zone,ru.defaultZone),loc:n1.fromObject(t)});throw new no(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,t={}){if(rI(e))return new a$({ts:1e3*e,zone:n3(t.zone,ru.defaultZone),loc:n1.fromObject(t)});throw new no("fromSeconds requires a numerical input")}static fromObject(e,t={}){var n;let r,i;e=e||{};let a=n3(t.zone,ru.defaultZone);if(!a.isValid)return a$.invalid(am(a));let s=n1.fromObject(t),o=rK(e,aM),{minDaysInFirstWeek:l,startOfWeek:u}=rk(o,s),c=ru.now(),d=rx(t.specificOffset)?a.offset(c):t.specificOffset,h=!rx(o.ordinal),f=!rx(o.year),m=!rx(o.month)||!rx(o.day),p=f||m,g=o.weekYear||o.weekNumber;if((p||h)&&g)throw new na("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(m&&h)throw new na("Can't mix ordinal dates with month/day");let y=g||o.weekday&&!p,w,b,v=ab(c,d);y?(w=aN,b=aE,v=ry(v,l,u)):h?(w=aC,b=aD,v=rb(v)):(w=a_,b=aI);let k=!1;for(let e of w)rx(o[e])?k?o[e]=b[e]:o[e]=v[e]:k=!0;let S=(y?function(e,t=4,n=1){let r=rE(e.weekYear),i=rM(e.weekNumber,1,rz(e.weekYear,t,n)),a=rM(e.weekday,1,7);return r?i?!a&&rf("weekday",e.weekday):rf("week",e.weekNumber):rf("weekYear",e.weekYear)}(o,l,u):h?(r=rE(o.year),i=rM(o.ordinal,1,rP(o.year)),r?!i&&rf("ordinal",o.ordinal):rf("year",o.year)):rS(o))||rT(o);if(S)return a$.invalid(S);let[T,x]=(n=y?rw(o,l,u):h?rv(o):o,aw(rW(n),d,a)),I=new a$({ts:T,zone:a,o:x,loc:s});return o.weekday&&p&&e.weekday!==I.weekday?a$.invalid("mismatched weekday",`you can't specify both a weekday of ${o.weekday} and a date of ${I.toISO()}`):I.isValid?I:a$.invalid(I.invalid)}static fromISO(e,t={}){let[n,r]=io(e,[iV,iP],[iF,iR],[i$,iW],[iL,iH]);return ak(n,r,t,"ISO 8601",e)}static fromRFC2822(e,t={}){let[n,r]=io(e.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim(),[i_,iN]);return ak(n,r,t,"RFC 2822",e)}static fromHTTP(e,t={}){let[n,r]=io(e,[iC,ij],[iO,ij],[iM,iA]);return ak(n,r,t,"HTTP",t)}static fromFormat(e,t,n={}){if(rx(e)||rx(t))throw new no("fromFormat requires an input string and a format");let{locale:r=null,numberingSystem:i=null}=n,[a,s,o,l]=function(e,t,n){let{result:r,zone:i,specificOffset:a,invalidReason:s}=ad(e,t,n);return[r,i,a,s]}(n1.fromOpts({locale:r,numberingSystem:i,defaultToEN:!0}),e,t);
1return l?a$.invalid(l):ak(a,s,n,`format ${t}`,e,o)}static fromString(e,t,n={}){return a$.fromFormat(e,t,n)}static fromSQL(e,t={}){let[n,r]=io(e,[iU,iP],[iZ,iB]);return ak(n,r,t,"SQL",e)}static invalid(e,t=null){if(!e)throw new no("need to specify a reason the DateTime is invalid");let n=e instanceof rc?e:new rc(e,t);if(!ru.throwOnInvalid)return new a$({invalid:n});throw new nn(n)}static isDateTime(e){return e&&e.isLuxonDateTime||!1}static parseFormatForOpts(e,t={}){let n=ah(e,n1.fromObject(t));return n?n.map(e=>e?e.val:null).join(""):null}static expandFormat(e,t={}){return au(ir.parseFormat(e),n1.fromObject(t)).map(e=>e.val).join("")}static resetCache(){r=void 0,aF.clear()}get(e){return this[e]}get isValid(){return null===this.invalid}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?ap(this).weekYear:NaN}get weekNumber(){return this.isValid?ap(this).weekNumber:NaN}get weekday(){return this.isValid?ap(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?ag(this).weekday:NaN}get localWeekNumber(){return this.isValid?ag(this).weekNumber:NaN}get localWeekYear(){return this.isValid?ag(this).weekYear:NaN}get ordinal(){return this.isValid?rb(this.c).ordinal:NaN}get monthShort(){return this.isValid?i5.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?i5.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?i5.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?i5.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return!this.isOffsetFixed&&(this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset)}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let e=rW(this.c),t=this.zone.offset(e-864e5),n=this.zone.offset(e+864e5),r=this.zone.offset(e-6e4*t),i=this.zone.offset(e-6e4*n);if(r===i)return[this];let a=e-6e4*r,s=e-6e4*i,o=ab(a,r),l=ab(s,i);return o.hour===l.hour&&o.minute===l.minute&&o.second===l.second&&o.millisecond===l.millisecond?[ay(this,{ts:a}),ay(this,{ts:s})]:[this]}get isInLeapYear(){return rL(this.year)}get daysInMonth(){return rR(this.year,this.month)}get daysInYear(){return this.isValid?rP(this.year):NaN}get weeksInWeekYear(){return this.isValid?rz(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?rz(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(e={}){let{locale:t,numberingSystem:n,calendar:r}=ir.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:t,numberingSystem:n,outputCalendar:r}}toUTC(e=0,t={}){return this.setZone(n4.instance(e),t)}toLocal(){return this.setZone(ru.defaultZone)}setZone(e,{keepLocalTime:t=!1,keepCalendarTime:n=!1}={}){if((e=n3(e,ru.defaultZone)).equals(this.zone))return this;{if(!e.isValid)return a$.invalid(am(e));let i=this.ts;if(t||n){var r;let t=e.offset(this.ts),n=this.toObject();[i]=(r=e,aw(rW(n),t,r))}return ay(this,{ts:i,zone:e})}}reconfigure({locale:e,numberingSystem:t,outputCalendar:n}={}){return ay(this,{loc:this.loc.clone({locale:e,numberingSystem:t,outputCalendar:n})})}setLocale(e){return this.reconfigure({locale:e})}set(e){var t,n,r;let i;if(!this.isValid)return this;let a=rK(e,aM),{minDaysInFirstWeek:s,startOfWeek:o}=rk(a,this.loc),l=!rx(a.weekYear)||!rx(a.weekNumber)||!rx(a.weekday),u=!rx(a.ordinal),c=!rx(a.year),d=!rx(a.month)||!rx(a.day),h=a.weekYear||a.weekNumber;if((c||d||u)&&h)throw new na("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(d&&u)throw new na("Can't mix ordinal dates with month/day");l?i=rw({...ry(this.c,s,o),...a},s,o):rx(a.ordinal)?(i={...this.toObject(),...a},rx(a.day)&&(i.day=Math.min(rR(i.year,i.month),i.day))):i=rv({...rb(this.c),...a}
1);let[f,m]=(t=i,n=this.o,r=this.zone,aw(rW(t),n,r));return ay(this,{ts:f,o:m})}plus(e){return this.isValid?ay(this,av(this,i4.fromDurationLike(e))):this}minus(e){return this.isValid?ay(this,av(this,i4.fromDurationLike(e).negate())):this}startOf(e,{useLocaleWeeks:t=!1}={}){if(!this.isValid)return this;let n={},r=i4.normalizeUnit(e);switch(r){case"years":n.month=1;case"quarters":case"months":n.day=1;case"weeks":case"days":n.hour=0;case"hours":n.minute=0;case"minutes":n.second=0;case"seconds":n.millisecond=0}if("weeks"===r)if(t){let e=this.loc.getStartOfWeek(),{weekday:t}=this;t<e&&(n.weekNumber=this.weekNumber-1),n.weekday=e}else n.weekday=1;return"quarters"===r&&(n.month=(Math.ceil(this.month/3)-1)*3+1),this.set(n)}endOf(e,t){return this.isValid?this.plus({[e]:1}).startOf(e,t).minus(1):this}toFormat(e,t={}){return this.isValid?ir.create(this.loc.redefaultToEN(t)).formatDateTimeFromString(this,e):af}toLocaleString(e=nh,t={}){return this.isValid?ir.create(this.loc.clone(t),e).formatDateTime(this):af}toLocaleParts(e={}){return this.isValid?ir.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e="extended",suppressSeconds:t=!1,suppressMilliseconds:n=!1,includeOffset:r=!0,extendedZone:i=!1,precision:a="milliseconds"}={}){if(!this.isValid)return null;a=aO(a);let s="extended"===e,o=aT(this,s,a);return a_.indexOf(a)>=3&&(o+="T"),o+=ax(this,s,t,n,r,i,a)}toISODate({format:e="extended",precision:t="day"}={}){return this.isValid?aT(this,"extended"===e,aO(t)):null}toISOWeekDate(){return aS(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:t=!1,includeOffset:n=!0,includePrefix:r=!1,extendedZone:i=!1,format:a="extended",precision:s="milliseconds"}={}){return this.isValid?(s=aO(s),(r&&a_.indexOf(s)>=3?"T":"")+ax(this,"extended"===a,t,e,n,i,s)):null}toRFC2822(){return aS(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return aS(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?aT(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:t=!1,includeOffsetSpace:n=!0}={}){let r="HH:mm:ss.SSS";return(t||e)&&(n&&(r+=" "),t?r+="z":e&&(r+="ZZ")),aS(this,r,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():af}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};let t={...this.c};return e.includeConfig&&(t.outputCalendar=this.outputCalendar,t.numberingSystem=this.loc.numberingSystem,t.locale=this.loc.locale),t}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,t="milliseconds",n={}){if(!this.isValid||!e.isValid)return i4.invalid("created by diffing an invalid DateTime");let r={locale:this.locale,numberingSystem:this.numberingSystem,...n},i=(Array.isArray(t)?t:[t]).map(i4.normalizeUnit),a=e.valueOf()>this.valueOf(),s=function(e,t,n,r){let[i,a,s,o]=function(e,t,n){let r,i,a={},s=e;for(let[o,l]of[["years",(e,t)=>t.year-e.year],["quarters",(e,t)=>t.quarter-e.quarter+(t.year-e.year)*4],["months",(e,t)=>t.month-e.month+(t.year-e.year)*12],["weeks",(e,t)=>{let n=i7(e,t);return(n-n%7)/7}],["days",i7]])n.indexOf(o)>=0&&(r=o,a[o]=l(e,t),(i=s.plus(a))>t?(a[o]--,(e=s.plus(a))>t&&(i=e,a[o]--,e=s.plus(a))):e=i);return[e,a,i,r]}(e,t,n),l=t-i,u=n.filter(e=>["hours","minutes","seconds","milliseconds"].indexOf(e)>=0);0===u.length&&(s<t&&(s=i.plus({[o]:1})),s!==i&&(a[o]=(a[o]||0)+l/(s-i)));let c=i4.fromObject(a,r);return u.length>0?i4.fromMillis(l,r).shiftTo(...u).plus(c):c}(a?this:e,a?e:this,i,r);return a?s.negate():s}diffNow(e="milliseconds",t={}){return this.diff(a$.now(),e,t)}until(e){return this.isValid?i3.fromDateTimes(this,e):this}hasSame(e,t,n){if(!this.isValid)return!1;let r=e.valueOf(),i=this.setZone(e.zone,{keepLocalTime:!0});return i.startOf(t,n)<=r&&r<=i.endOf(t,n)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;let t=e.base||a$.fromObject({},{zone:this.zone}),n=e.padding?this<t?-e.padding:e.padding:0,r=["years","months","days","hours","minutes","seconds"],i=e.unit;return Array.isArray(e.unit)&&(r=e.unit,i=void 0),aA(t,this.plus(n),{...e,numeric:"always",units:r,unit:i})}toRelativeCalendar(e={}){return this.isValid?aA(e.base||a$.fromObject({},{zone:this.zone}),this,{...e,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...e){if(!e.every(a$.isDateTime))throw new no("min requires all arguments be DateTimes");return rN(e,e=>e.valueOf(),Math.min)}static max(...e){if(!e.every(a$.isDateTime))throw new no("max requires all arguments be DateTimes");return rN(e,e=>e.valueOf(),Math.max)}static fromFormatExplain(e,t,n={}){let{locale:r=null,numberingSystem:i=null}=n;return ad(n1.fromOpts({locale:r,numberingSystem:i,defaultToEN:!0}),e,t)}static fromStringExplain(e,t,n={}){return a$.fromFormatExplain(e,t,n)}static buildFormatParser(e,t={}){let{locale:n=null,numberingSystem:r=null}=t;return new ac(n1.fromOpts({locale:n,numberingSystem:r,defaultToEN:!0}),e)}static fromFormatParser(e,t,n={}){if(rx(e)||rx(t))throw new no("fromFormatParser requires an input string and a format parser");let{locale:r=null,numberingSystem:i=null}=n,a=n1.fromOpts({locale:r,numberingSystem:i,defaultToEN:!0});if(!a.equals(t.locale))throw new no(`fromFormatParser called with a locale of ${a}, but the format parser was created for ${t.locale}`);let{result:s,zone:o,specificOffset:l,invalidReason:u}=t.explainFromTokens(e);
1return u?a$.invalid(u):ak(s,o,n,`format ${t.format}`,e,l)}static get DATE_SHORT(){return nh}static get DATE_MED(){return nf}static get DATE_MED_WITH_WEEKDAY(){return nm}static get DATE_FULL(){return np}static get DATE_HUGE(){return ng}static get TIME_SIMPLE(){return ny}static get TIME_WITH_SECONDS(){return nw}static get TIME_WITH_SHORT_OFFSET(){return nb}static get TIME_WITH_LONG_OFFSET(){return nv}static get TIME_24_SIMPLE(){return nk}static get TIME_24_WITH_SECONDS(){return nS}static get TIME_24_WITH_SHORT_OFFSET(){return nT}static get TIME_24_WITH_LONG_OFFSET(){return nx}static get DATETIME_SHORT(){return nI}static get DATETIME_SHORT_WITH_SECONDS(){return nE}static get DATETIME_MED(){return nD}static get DATETIME_MED_WITH_SECONDS(){return n_}static get DATETIME_MED_WITH_WEEKDAY(){return nN}static get DATETIME_FULL(){return nC}static get DATETIME_FULL_WITH_SECONDS(){return nO}static get DATETIME_HUGE(){return nM}static get DATETIME_HUGE_WITH_SECONDS(){return nj}}function aL(e){if(a$.isDateTime(e))return e;if(e&&e.valueOf&&rI(e.valueOf()))return a$.fromJSDate(e);if(e&&"object"==typeof e)return a$.fromObject(e);throw new no(`Unknown datetime argument: ${e}, of type ${typeof e}`)}function aP(e){let[t,n]=e.split(":");return{hour:Number(t),minute:Number(n)}}function aR(e){let t=e.toUTC().toISO();if(!t)throw Error("Could not convert the notification time to ISO format.");return t}function aW({time:e,timezone:t}){let n=a$.now().setZone(t),{hour:r,minute:i}=aP(e),a=n.set({hour:r,minute:i,second:0,millisecond:0});return a<=n&&(a=a.plus({days:1})),aR(a)}function aH({weekday:e,time:t,timezone:n}){let r=a$.now().setZone(n),{hour:i,minute:a}=aP(t),s=(0===e?7:e)-r.weekday;s<0&&(s+=7);let o=r.plus({days:s}).set({hour:i,minute:a,second:0,millisecond:0});return o<=r&&(o=o.plus({weeks:1})),aR(o)}let az={notificationsEnabled:!0,weeklyMealPlanEnabled:!1,weeklyMealPlanDay:0,weeklyMealPlanTime:"17:00",weeklyShoppingEnabled:!1,weeklyShoppingDay:5,weeklyShoppingTime:"16:00",breakfastEnabled:!1,breakfastTime:"09:00",lunchEnabled:!1,lunchTime:"12:00",dinnerEnabled:!1,dinnerTime:"19:00",hydrationEnabled:!1,hydrationIntervalHours:2,hydrationStartTime:"08:00",hydrationEndTime:"20:00",hydrationDays:[1,2,3,4,5]},aU=[{value:0,label:"Sunday",short:"Sun"},{value:1,label:"Monday",short:"Mon"},{value:2,label:"Tuesday",short:"Tue"},{value:3,label:"Wednesday",short:"Wed"},{value:4,label:"Thursday",short:"Thu"},{value:5,label:"Friday",short:"Fri"},{value:6,label:"Saturday",short:"Sat"}];function aZ({title:e,description:t,enabled:n,onEnabledChange:r,children:i}){return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"font-bold text-[#2b1b14]",children:e}),(0,d.jsx)("p",{className:"mt-1 text-sm text-[#6d5549]",children:t})]}),(0,d.jsx)(aq,{checked:n,onChange:r,label:e})]}),n&&(0,d.jsx)("div",{className:"mt-5",children:i})]})}function aB({emoji:e,title:t,enabled:n,time:r,onEnabledChange:i,onTimeChange:a}){return(0,d.jsxs)("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-2xl",children:e}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"font-bold text-[#2b1b14]",children:t}),(0,d.jsx)("p",{className:"text-sm text-[#6d5549]",children:"Remember to eat."})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[n&&(0,d.jsx)("input",{type:"time",value:r,onChange:e=>a(e.target.value),step:60,className:"min-h-12 rounded-2xl border border-[#ead7c8] bg-white px-4 py-3 text-base text-[#2b1b14]","aria-label":`${t} reminder time`}),(0,d.jsx)(aq,{checked:n,onChange:i,label:`${t} reminder`})]})]})}function aq({checked:e,onChange:t,label:n}){return(0,d.jsx)("button",{type:"button",role:"switch","aria-checked":e,"aria-label":n,onClick:()=>t(!e),className:`relative h-8 w-14 shrink-0 rounded-full transition ${e?"bg-[#a63a0a]":"bg-[#d8cbc2]"}`,children:(0,d.jsx)("span",{className:`absolute top-1 h-6 w-6 rounded-full bg-white shadow transition ${e?"left-7":"left-1"}`})})}function aK({label:e,value:t,onChange:n}){return(0,d.jsxs)("label",{className:"block w-full min-w-0 overflow-hidden",children:[(0,d.jsx)("span",{className:"mb-2 block text-sm font-bold text-[#2b1b14]",children:e}),(0,d.jsx)("input",{type:"time",value:t,onChange:e=>n(e.target.value),step:60,className:" block min-h-12 w-full min-w-0 max-w-full appearance-none rounded-2xl border border-[#ead7c8] bg-white px-4 py-3 text-base text-[#2b1b14] [box-sizing:border-box] "})]})}function aY({label:e,value:t,onChange:n,options:r}){return(0,d.jsxs)("label",{className:"block w-full min-w-0 overflow-hidden",children:[(0,d.jsx)("span",{className:"mb-2 block text-sm font-bold text-[#2b1b14]",children:e}),(0,d.jsx)("select",{value:t,onChange:e=>n(e.target.value),className:" block min-h-12 w-full min-w-0 max-w-full appearance-none rounded-2xl border border-[#ead7c8] bg-white px-4 py-3 pr-12 text-base text-[#2b1b14] [box-sizing:border-box] ",children:r.map(e=>(0,d.jsx)("option",{value:e.value,children:e.label},e.value))})]})}e.s(["default",0,function(){let e=(0,f.useRouter)(),[t,n]=(0,h.useState)(az),r=(0,h.useRef)(0),[i,a]=(0,h.useState)(null),[s,o]=(0,h.useState)(!0),[l,u]=(0,h.useState)(!1),[c,p]=(0,h.useState)(!1),[g,y]=(0,h.useState)(""),[w,b]=(0,h.useState)(""),[v,k]=(0,h.useState)(!1),[S,T]=(0,h.useState)(!1),[x,I]=(0,h.useState)("default");async function E(){y("");try{let{data:{user:e}}=await m.supabase.auth.getUser();if(!e)throw Error("Please sign in before enabling notifications.");let{token:t,deviceId:n}=await ne(),r=new Date().toISOString(),{error:i}=await m.supabase.from("push_tokens").upsert({user_id:e.id,device_id:n,token:t,device_name:navigator.platform||"Unknown device",user_agent:navigator.userAgent,is_active:!0,last_seen_at:r,updated_at:r},{onConflict:"user_id,device_id"});if(i)throw i;b(t),k(!0),I("granted"),y("This device is connected to Hey Chef notifications."),console.log("Firebase notification token saved:",t)}catch(e){console.error("Could not connect this device:",e),y(e instanceof Error?e.message:"Could not connect this device to notifications.")}}async function D(){y("Test will send in 5 seconds. Switch to another tab now."),p(!0);try{await new Promise(e=>{window.setTimeout(e,5e3)});let{data:{session:e}}=await m.supabase.auth.getSession();if(!e?.access_token)throw Error("Please sign in before sending a test notification.");let t=await fetch("/api/notifications/test",{method:"POST",headers:{Authorization:`Bearer ${e.access_token}`}}),n=await t.json();if(!t.ok)throw Error(n.error||"Could not send the test notification.");y(`Test sent to ${n.sent} of ${n.devicesFound} connected devices.`)}catch(e){console.error("Test notification error:",e),y(e instanceof Error?e.message:"Could not send the test notification.")}finally{p(!1)}}async function _(t=!1){let i=++r.current;t&&o(!0);try{let{data:{user:t},error:s}=await m.supabase.auth.getUser();if(s)throw s;if(!t)return void e.push("/");a(t.id);let{data:o,error:l}=await m.supabase.from("reminder_settings").select("*").eq("user_id",t.id).maybeSingle();if(l)throw l;if(i!==r.current)return;o&&n({notificationsEnabled:o.notifications_enabled??!0,weeklyMealPlanEnabled:o.weekly_meal_plan_enabled??!1,weeklyMealPlanDay:o.weekly_meal_plan_day??0,weeklyMealPlanTime:o.weekly_meal_plan_time?.slice(0,5)??"17:00",weeklyShoppingEnabled:o.weekly_shopping_enabled??!1,weeklyShoppingDay:o.weekly_shopping_day??5,weeklyShoppingTime:o.weekly_shopping_time?.slice(0,5)??"16:00",breakfastEnabled:o.breakfast_enabled??!1,breakfastTime:o.breakfast_time?.slice(0,5)??"09:00",lunchEnabled:o.lunch_enabled??!1,lunchTime:o.lunch_time?.slice(0,5)??"12:00",dinnerEnabled:o.dinner_enabled??!1,dinnerTime:o.dinner_time?.slice(0,5)??"19:00",hydrationEnabled:o.hydration_enabled??!1,hydrationIntervalHours:o.hydration_interval_hours??2,hydrationStartTime:o.hydration_start_time?.slice(0,5)??"08:00",hydrationEndTime:o.hydration_end_time?.slice(0,5)??"20:00",hydrationDays:o.hydration_days??[1,2,3,4,5]})}catch(e){console.error("Could not load reminder settings:",e),i===r.current&&y("Could not load your reminder settings.")}finally{t&&i===r.current&&o(!1)}}function N(e,t){n(n=>({...n,[e]:t}))}async function C(e){if(!i)throw Error("Please sign in before scheduling reminders.");let t=Intl.DateTimeFormat().resolvedOptions().timeZone,n=[{user_id:i,reminder_type:"weekly_meal_plan",enabled:e.n
1otificationsEnabled&&e.weeklyMealPlanEnabled,next_run_at:aH({weekday:e.weeklyMealPlanDay,time:e.weeklyMealPlanTime,timezone:t}),title:"Plan your week",body:"Take a few minutes to plan your meals for the week.",destination_url:"/planner",updated_at:new Date().toISOString()},{user_id:i,reminder_type:"weekly_shopping",enabled:e.notificationsEnabled&&e.weeklyShoppingEnabled,next_run_at:aH({weekday:e.weeklyShoppingDay,time:e.weeklyShoppingTime,timezone:t}),title:"Shopping list check",body:"Review your shopping list before your next trip.",destination_url:"/shopping",updated_at:new Date().toISOString()},{user_id:i,reminder_type:"breakfast",enabled:e.notificationsEnabled&&e.breakfastEnabled,next_run_at:aW({time:e.breakfastTime,timezone:t}),title:"Time for breakfast!",body:"Donât forget to eat ð",destination_url:"/planner",updated_at:new Date().toISOString()},{user_id:i,reminder_type:"lunch",enabled:e.notificationsEnabled&&e.lunchEnabled,next_run_at:aW({time:e.lunchTime,timezone:t}),title:"Time for lunch!",body:"Donât forget to eat ð",destination_url:"/planner",updated_at:new Date().toISOString()},{user_id:i,reminder_type:"dinner",enabled:e.notificationsEnabled&&e.dinnerEnabled,next_run_at:aW({time:e.dinnerTime,timezone:t}),title:"Time for dinner!",body:"Donât forget to eat ð",destination_url:"/planner",updated_at:new Date().toISOString()},{user_id:i,reminder_type:"hydration",enabled:e.notificationsEnabled&&e.hydrationEnabled,next_run_at:function({intervalHours:e,startTime:t,endTime:n,days:r,timezone:i}){if(0===r.length)throw Error("Hydration reminders require at least one selected day.");let a=a$.now().setZone(i),s=aP(t),o=aP(n);for(let t=0;t<=7;t+=1){var l;let n=a.plus({days:t}),i=7===(l=n.weekday)?0:l;if(!r.includes(i))continue;let u=n.set({hour:s.hour,minute:s.minute,second:0,millisecond:0}),c=n.set({hour:o.hour,minute:o.minute,second:0,millisecond:0});if(t>0||a<u)return aR(u);if(a>=c)continue;let d=u;for(;d<=a;)d=d.plus({hours:e});if(d<=c)return aR(d)}throw Error("Could not calculate the next hydration reminder.")}({intervalHours:e.hydrationIntervalHours,startTime:e.hydrationStartTime,endTime:e.hydrationEndTime,days:e.hydrationDays,timezone:t}),title:"Hydration check",body:"Take a moment to drink some water ð§",destination_url:"/reminders",updated_at:new Date().toISOString()}];console.log("Jobs being sent to Supabase:",n);let{data:r,error:a}=await m.supabase.from("notification_jobs").upsert(n,{onConflict:"user_id,reminder_type"}).select();if(console.log("Notification jobs result:",{data:r,error:a}),a)throw a;if(!r||0===r.length)throw Error("No notification jobs were created.")}async function O(){if(!i)return void y("Please sign in before saving reminders.");if(t.notificationsEnabled&&t.hydrationEnabled&&0===t.hydrationDays.length)return void y("Choose at least one day for hydration reminders.");if(t.notificationsEnabled&&t.hydrationEnabled&&t.hydrationStartTime>=t.hydrationEndTime)return void y("The hydration end time must be later than the start time.");u(!0),y("");try{let{data:e,error:r}=await m.supabase.from("reminder_settings").upsert({user_id:i,notifications_enabled:t.notificationsEnabled,weekly_meal_plan_enabled:t.weeklyMealPlanEnabled,weekly_meal_plan_day:t.weeklyMealPlanDay,weekly_meal_plan_time:t.weeklyMealPlanTime,weekly_shopping_enabled:t.weeklyShoppingEnabled,weekly_shopping_day:t.weeklyShoppingDay,weekly_shopping_time:t.weeklyShoppingTime,breakfast_enabled:t.breakfastEnabled,breakfast_time:t.breakfastTime,lunch_enabled:t.lunchEnabled,lunch_time:t.lunchTime,dinner_enabled:t.dinnerEnabled,dinner_time:t.dinnerTime,hydration_enabled:t.hydrationEnabled,hydration_interval_hours:t.hydrationIntervalHours,hydration_start_time:t.hydrationStartTime,hydration_end_time:t.hydrationEndTime,hydration_days:t.hydrationDays,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,updated_at:new Date().toISOString()},{onConflict:"user_id"}).select("*").single();if(r)throw r;if(!e)throw Error("Reminder settings were not returned after saving.");let a={notificationsEnabled:e.notifications_enabled??!0,weeklyMealPlanEnabled:e.weekly_meal_plan_enabled??!1,weeklyMealPlanDay:e.weekly_meal_plan_day??0,weeklyMealPlanTime:e.weekly_meal_plan_time?.slice(0,5)??"17:00",weeklyShoppingEnabled:e.weekly_shopping_enabled??!1,weeklyShoppingDay:e.weekly_shopping_day??5,weeklyShoppingTime:e.weekly_shopping_time?.slice(0,5)??"16:00",breakfastEnabled:e.breakfast_enabled??!1,breakfastTime:e.breakfast_time?.slice(0,5)??"09:00",lunchEnabled:e.lunch_enabled??!1,lunchTime:e.lunch_time?.slice(0,5)??"12:00",dinnerEnabled:e.dinner_enabled??!1,dinnerTime:e.dinner_time?.slice(0,5)??"19:00",hydrationEnabled:e.hydration_enabled??!1,hydrationIntervalHours:e.hydration_interval_hours??2,hydrationStartTime:e.hydration_start_time?.slice(0,5)??"08:00",hydrationEndTime:e.hydration_end_time?.slice(0,5)??"20:00",hydrationDays:e.hydration_days??[1,2,3,4,5]};n(a),await C(a),y(t.notificationsEnabled?"Your reminder settings were saved.":"All reminders are paused. Your times and choices are still saved.")}catch(e){console.error("Could not save reminder settings:",e),y("Could not save your reminder settings.")}finally{u(!1)}}if((0,h.useEffect)(()=>{_(!0),"Notification"in window?I(Notification.permission):I("unsupported")},[]),(0,h.useEffect)(()=>
1{if(!i)return;let e=m.supabase.channel(`reminder-settings-live-${i}`).on("postgres_changes",{event:"*",schema:"public",table:"reminder_settings",filter:`user_id=eq.${i}`},()=>{console.log("Reminder settings changed in Supabase"),_(!1)}).subscribe(e=>{console.log("Reminder realtime status:",e),"SUBSCRIBED"===e&&_(!1)});function t(){"visible"===document.visibilityState&&_(!1)}return document.addEventListener("visibilitychange",t),window.addEventListener("focus",t),()=>{document.removeEventListener("visibilitychange",t),window.removeEventListener("focus",t),m.supabase.removeChannel(e)}},[i]),(0,h.useEffect)(()=>{!async function(){if(i&&"granted"===x)try{let{token:e,deviceId:t}=await ne();if(!e)return void k(!1);let n=new Date().toISOString(),{error:r}=await m.supabase.from("push_tokens").upsert({user_id:i,device_id:t,token:e,device_name:navigator.platform||"Unknown device",user_agent:navigator.userAgent,is_active:!0,last_seen_at:n,updated_at:n},{onConflict:"user_id,device_id"});if(r)throw r;b(e),k(!0)}catch(e){console.error("Could not restore notification connection:",e),b(""),k(!1)}}()},[i,x]),s)return(0,d.jsx)("main",{className:"min-h-screen bg-[#fffaf5] px-4 py-10",children:(0,d.jsx)("div",{className:"mx-auto max-w-3xl rounded-[2rem] bg-white p-6 shadow-lg",children:(0,d.jsx)("p",{className:"text-[#6d5549]",children:"Loading your reminders..."})})});let M=!t.notificationsEnabled;return(0,d.jsx)("main",{className:"min-h-screen bg-[#f8efe6] px-4 py-8",children:(0,d.jsxs)("div",{className:"mx-auto max-w-3xl",children:[(0,d.jsxs)("div",{className:"mb-6 flex items-center gap-3",children:[(0,d.jsx)("button",{type:"button",onClick:()=>{window.history.length>1?e.back():e.push("/")},className:"flex h-12 w-12 shrink-0 items-center justify-center rounded-full border border-[#ead7c8] bg-white text-2xl font-bold text-[#2b1b14] shadow-sm","aria-label":"Go back",children:"â"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-bold uppercase tracking-[0.2em] text-[#a63a0a]",children:"Hey Chef"}),(0,d.jsx)("h1",{className:"text-3xl font-bold text-[#2b1b14]",children:"Reminders"})]})]}),(0,d.jsxs)("section",{className:"mb-5 rounded-[2rem] border border-[#ead7c8] bg-white p-6 shadow-sm",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{className:"text-xl font-bold text-[#2b1b14]",children:"Hey Chef reminders"}),(0,d.jsx)("p",{className:"mt-1 text-[#6d5549]",children:"Pause every reminder without losing your saved days and times."})]}),(0,d.jsx)(aq,{checked:t.notificationsEnabled,onChange:function(e){n(t=>({...t,notificationsEnabled:e})),y(e?"Hey Chef reminders are active again. Save your settings to keep this change.":"All Hey Chef reminders are paused. Your individual reminder times are still saved.")},label:"Hey Chef reminders"})]}),(0,d.jsx)("p",{className:`mt-4 rounded-2xl p-4 text-sm font-medium ${t.notificationsEnabled?"bg-[#edf7ed] text-[#27632a]":"bg-[#fff4ef] text-[#6d5549]"}`,children:t.notificationsEnabled?"Reminders are active.":"All reminders are paused."})]}),(0,d.jsxs)("section",{className:"mb-5 rounded-[2rem] border border-[#ead7c8] bg-white p-6 shadow-sm",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{className:"text-xl font-bold text-[#2b1b14]",children:"Device notifications"}),(0,d.jsx)("p",{className:"mt-1 text-[#6d5549]",children:"Allow this browser or installed app to show notifications."})]}),(0,d.jsx)("div",{className:"mt-5",children:v?(0,d.jsx)("div",{className:"rounded-2xl bg-[#edf7ed] px-4 py-3 text-sm font-bold text-[#27632a]",children:"â This device is connected"}):(0,d.jsx)("button",{type:"button",onClick:()=>void E(),disabled:"unsupported"===x,className:"w-full rounded-full bg-[#a63a0a] px-5 py-3 font-bold text-white disabled:cursor-not-allowed disabled:opacity-50",children:"granted"===x?"Connect This Device":"Enable Notifications"})}),w&&(0,d.jsx)("button",{type:"button",onClick:()=>void D(),disabled:c,className:"mt-4 w-full rounded-full border border-[#a63a0a] px-4 py-3 text-sm font-bold text-[#a63a0a] disabled:cursor-wait disabled:opacity-60",children:c?"Sending Test...":"Send Test Notification"}),"granted"===x&&(0,d.jsx)("button",{type:"button",onClick:()=>T(e=>!e),className:"mt-4 block w-full text-center text-sm font-bold text-[#a63a0a] underline",children:S?"Hide device instructions":"Turn off device permission completely"}),g&&(0,d.jsx)("div",{className:"mt-4 rounded-2xl border border-[#ead7c8] bg-[#fffaf5] p-4 text-sm text-[#6d5549]",children:g}),"denied"===x&&(0,d.jsxs)("div",{className:"mt-4 rounded-2xl bg-[#fff4ef] p-4 text-sm text-[#6d5549]",children:[(0,d.jsx)("p",{children:"Notifications are blocked in your device or browser settings."}),(0,d.jsx)("button",{type:"button",onClick:()=>T(e=>!e),className:"mt-3 font-bold text-[#a63a0a] underline",children:S?"Hide instructions":"How to change notification permission"})]}),S&&(0,d.jsxs)("div",{className:"mt-4 space-y-3 rounded-2xl border border-[#ead7c8] bg-[#fffaf5] p-4 text-sm leading-6 text-[#6d5549]",children:[(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{className:"text-[#2b1b14]",children:"Hey Chef switch:"})," ","Turn off âHey Chef remindersâ above to pause all reminders while keeping your saved schedule."]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{className:"text-[#2b1b14]",children:"iPhone or iPad:"})," ","Open Settings â Notifications â Hey Chef, then turn off Allow Notifications."]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{className:"text-[#2b1b14]",children:"Android:"})," ","Open Settings â Apps â Hey Chef â Notifications, then turn notifications off."]}),(0,d.jsxs)("p",{children:[(0,d.jsx)("strong",{className:"text-[#2b1b14]",children:"Desktop Chrome:"})," ","Open the site controls beside the web address, choose Site settings, then change Notifications to Block."]})]}),"unsupported"===x&&(0,d.jsx)("p",{className:"mt-4 rounded-2xl bg-[#fff4ef] p-4 text-sm text-[#6d5549]",children:"This browser does not support notifications."})]}),(0,d.jsxs)("div",{className:M?"pointer-events-none select-none opacity-50":"","aria-disabled":M,children:[(0,d.jsxs)("section",{className:"mb-5 rounded-[2rem] border border-[#ead7c8] bg-white p-6 shadow-sm",children:[(0,d.jsxs)("div",{className:"mb-5",children:[(0,d.jsx)("h2",{className:"text-xl font-bold text-[#2b1b14]",children:"Weekly planning"}),(0,d.jsx)("p",{className:"mt-1 text-[#6d5549]",children:"Choose when you want to plan meals and review your shopping list."})]}),(0,d.jsx)(aZ,{title:"Weekly meal-plan reminder",description:"Take a few minutes to plan your meals for the week.",enabled:t.weeklyMealPlanEnabled,onEnabledChange:e=>N("weeklyMealPlanEnabled",e),children:(0,d.jsxs)("div",{className:"grid min-w-0 gap-3 sm:grid-cols-2",children:[(0,d.jsx)(aY,{label:"Day",value:String(t.weeklyMealPlanDay),onChange:e=>N("weeklyMealPlanDay",Number(e)),options:aU.map(e=>({value:String(e.value),label:e.label}))}),(0,d.jsx)(aK,{label:"Time",value:t.weeklyMealPlanTime,onChange:e=>N("weeklyMealPlanTime",e)})]})}),(0,d.jsx)("div",{className:"my-5 border-t border-[#f1e4da]"}),(0,d.jsx)(aZ,{title:"Weekly shopping reminder",description:"Review your list before your next shopping trip.",enabled:t.weeklyShoppingEnabled,onEnabledChange:e=>N("weeklyShoppingEnabled",e),children:(0,d.jsxs)("div",{className:"grid min-w-0 gap-3 sm:grid-cols-2",children:[(0,d.jsx)(aY,{label:"Day",value:String(t.weeklyShoppingDay),onChange:e=>N("weeklyShoppingDay",Number(e)),options:aU.map(e=>({value:String(e.value),label:e.label}))}),(0,d.jsx)(aK,{label:"Time",value:t.weeklyShoppingTime,onChange:e=>N("weeklyShoppingTime",e)}
1)]})})]}),(0,d.jsxs)("section",{className:"mb-5 rounded-[2rem] border border-[#ead7c8] bg-white p-6 shadow-sm",children:[(0,d.jsxs)("div",{className:"mb-5",children:[(0,d.jsx)("h2",{className:"text-xl font-bold text-[#2b1b14]",children:"Meal reminders"}),(0,d.jsx)("p",{className:"mt-1 text-[#6d5549]",children:"Gentle reminders to pause and eat. These do not require a meal to be planned."})]}),(0,d.jsx)(aB,{emoji:"âï¸",title:"Breakfast",enabled:t.breakfastEnabled,time:t.breakfastTime,onEnabledChange:e=>N("breakfastEnabled",e),onTimeChange:e=>N("breakfastTime",e)}),(0,d.jsx)("div",{className:"my-5 border-t border-[#f1e4da]"}),(0,d.jsx)(aB,{emoji:"ð¥",title:"Lunch",enabled:t.lunchEnabled,time:t.lunchTime,onEnabledChange:e=>N("lunchEnabled",e),onTimeChange:e=>N("lunchTime",e)}),(0,d.jsx)("div",{className:"my-5 border-t border-[#f1e4da]"}),(0,d.jsx)(aB,{emoji:"ð²",title:"Dinner",enabled:t.dinnerEnabled,time:t.dinnerTime,onEnabledChange:e=>N("dinnerEnabled",e),onTimeChange:e=>N("dinnerTime",e)})]}),(0,d.jsx)("section",{className:"mb-6 rounded-[2rem] border border-[#ead7c8] bg-white p-6 shadow-sm",children:(0,d.jsx)(aZ,{title:"Hydration reminders",description:"Choose how often Hey Chef should remind you to drink water.",enabled:t.hydrationEnabled,onEnabledChange:e=>N("hydrationEnabled",e),children:(0,d.jsxs)("div",{className:"space-y-5",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"mb-2 block text-sm font-bold text-[#2b1b14]",children:"Remind me every"}),(0,d.jsx)("div",{className:"grid grid-cols-3 gap-2",children:[1,2,3].map(e=>{let n=t.hydrationIntervalHours===e;return(0,d.jsxs)("button",{type:"button",onClick:()=>N("hydrationIntervalHours",e),className:`rounded-2xl border px-3 py-3 text-sm font-bold ${n?"border-[#a63a0a] bg-[#fff4ef] text-[#a63a0a]":"border-[#ead7c8] bg-white text-[#6d5549]"}`,children:[e," ",1===e?"hour":"hours"]},e)})})]}),(0,d.jsxs)("div",{className:"grid min-w-0 gap-3 sm:grid-cols-2",children:[(0,d.jsx)(aK,{label:"Start time",value:t.hydrationStartTime,onChange:e=>N("hydrationStartTime",e)}
1),(0,d.jsx)(aK,{label:"End time",value:t.hydrationEndTime,onChange:e=>N("hydrationEndTime",e)})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"mb-2 text-sm font-bold text-[#2b1b14]",children:"Days"}),(0,d.jsx)("div",{className:"grid grid-cols-4 gap-2 sm:grid-cols-7",children:aU.map(e=>{let r=t.hydrationDays.includes(e.value);return(0,d.jsx)("button",{type:"button",onClick:()=>{var t;return t=e.value,void n(e=>{let n=e.hydrationDays.includes(t);return{...e,hydrationDays:n?e.hydrationDays.filter(e=>e!==t):[...e.hydrationDays,t].sort((e,t)=>e-t)}})},className:`rounded-2xl border px-2 py-3 text-sm font-bold ${r?"border-[#a63a0a] bg-[#a63a0a] text-white":"border-[#ead7c8] bg-white text-[#6d5549]"}`,children:e.short},e.value)})})]})]})})})]}),(0,d.jsx)("button",{type:"button",onClick:()=>void O(),disabled:l,className:"w-full rounded-full bg-[#a63a0a] px-6 py-4 text-lg font-bold text-white shadow-lg disabled:cursor-not-allowed disabled:opacity-60",children:l?"Saving...":"Save Reminder Settings"}),(0,d.jsx)("p",{className:"mt-4 text-center text-sm text-[#6d5549]",children:"Times are saved using your current device time zone."})]})})}],76142)}]);
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.