1(()=>{"use strict";var e={596(){try{self["workbox:cacheable-response:7.4.0"]&&_()}catch(e){}},295(){try{self["workbox:core:7.4.0"]&&_()}catch(e){}},229(){try{self["workbox:expiration:7.4.0"]&&_()}catch(e){}},740(){try{self["workbox:precaching:7.4.0"]&&_()}catch(e){}},130(){try{self["workbox:routing:7.4.0"]&&_()}catch(e){}},205(){try{self["workbox:strategies:7.4.0"]&&_()}catch(e){}}},t={};function s(n){var a=t[n];if(void 0!==a)return a.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,s),r.exports}s(295);const n=function(e){let t=e;for(var s=arguments.length,n=new Array(s>1?s-1:0),a=1;a<s;a++)n[a-1]=arguments[a];return n.length>0&&(t+=" :: ".concat(JSON.stringify(n))),t};class a extends Error{constructor(e,t){super(n(e,t)),this.name=e,this.details=t}}const r={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!==typeof registration?registration.scope:""},i=e=>[r.prefix,e,r.suffix].filter(e=>e&&e.length>0).join("-"),o=e=>e||i(r.precache),c=e=>e||i(r.runtime);function l(e,t){const s=t();return e.waitUntil(s),s}s(740);function h(e){if(!e)throw new a("add-to-cache-list-unexpected-type",{entry:e});if("string"===typeof e){const t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}const{revision:t,url:s}=e;if(!s)throw new a("add-to-cache-list-unexpected-type",{entry:e});if(!t){const e=new URL(s,location.href);return{cacheKey:e.href,url:e.href}}const n=new URL(s,location.href),r=new URL(s,location.href);return n.searchParams.set("__WB_REVISION__",t),{cacheKey:n.href,url:r.href}}class u{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async e=>{let{request:t,state:s}=e;s&&(s.originalRequest=t)},this.cachedResponseWillBeUsed=async e=>{let{event:t,state:s,cachedResponse:n}=e;if("install"===t.type&&s&&s.originalRequest&&s.originalRequest instanceof Request){const e=s.originalRequest.url;n?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return n}}}class d{constructor(e){let{precacheController:t}=e;this.cacheKeyWillBeUsed=async e=>{let{request:t,params:s}=e;const n=(null===s||void 0===s?void 0:s.cacheKey)||this._precacheController.getCacheKeyForURL(t.url);return n?new Request(n,{headers:t.headers}):t},this._precacheController=t}}let f;async function p(e,t){let s=null;if(e.url){s=new URL(e.url).origin}if(s!==self.location.origin)throw new a("cross-origin-copy-response",{origin:s});const n=e.clone(),r={headers:new Headers(n.headers),status:n.status,statusText:n.statusText},i=t?t(r):r,o=function(){if(void 0===f){const t=new Response("");if("body"in t)try{new Response(t.body),f=!0}catch(e){f=!1}f=!1}return f}()?n.body:await n.blob();return new Response(o,i)}const g=e=>new URL(String(e),location.href).href.replace(new RegExp("^".concat(location.origin)),"");function w(e,t){const s=new URL(e);for(const n of t)s.searchParams.delete(n);return s.href}class m{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}const y=new Set;function v(e){return new Promise(t=>setTimeout(t,e))}s(205);function b(e){return"string"===typeof e?new Request(e):e}class R{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new m,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const s of this._plugins)this._pluginStateMap.set(s,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let s=b(e);if("navigate"===s.mode&&t instanceof FetchEvent&&t.preloadResponse){const e=await t.preloadResponse;if(e)return e}const n=this.hasCallback("fetchDidFail")?s.clone():null;try{for(const e of this.iterateCallbacks("requestWillFetch"))s=await e({request:s.clone(),event:t})}catch(i){if(i instanceof Error)throw new a("plugin-error-request-will-fetch",{thrownErrorMessage:i.message})}const r=s.clone();try{let e;e=await fetch(s,"navigate"===s.mode?void 0:this._strategy.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))e=await s({event:t,request:r,response:e});return e}catch(o){throw n&&await this.runCallbacks("fetchDidFail",{error:o,event:t,originalRequest:n.clone(),request:r.clone()}),o}}async fetchAndCachePut(e){const t=await this.fetch(e),s=t.clone();return this.waitUntil(this.cachePut(e,s)),t}async cacheMatch(e){const t=b(e);let s;const{cacheName:n,matchOptions:a}=this._strategy,r=await this.getCacheKey(t,"read"),i=Object.assign(Object.assign({},a),{cacheName:n});s=await caches.match(r,i);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await o({cacheName:n,matchOptions:a,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(e,t){const s=b(e);await v(0);const n=await this.getCacheKey(s,"write");if(!t)throw new a("cache-put-with-no-response",{url:g(n.url)});const r=await this._ensureResponseSafeToCache(t);if(!r)return!1;const{cacheName:i,matchOptions:o}=this._strategy,c=await self.caches.open(i),l=this.hasCallback("cacheDidUpdate"),h=l?await async function(e,t,s,n){const a=w(t.url,s);if(t.url===a)return e.match(t,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),i=await e.keys(t,r);for(const o of i)if(a===w(o.url,s))return e.match(o,n)}(c,n.clone(),["__WB_REVISION__"],o):null;try{await c.put(n,l?r.clone():r)}catch(u){if(u instanceof Error)throw"QuotaExceededError"===u.name&&await async function(){for(const e of y)await e()}(),u}for(const a of this.iterateCallbacks("cacheDidUpdate"))await a({cacheName:i,oldResponse:h,newResponse:r.clone(),request:n,event:this.event});return!0}async getCacheKey(e,t){const s="".concat(e.url," | ").concat(t);if(!this._cacheKeys[s]){let n=e;for(const e of this.iterateCallbacks("cacheKeyWillBeUsed"))n=b(await e({mode:t,request:n,event:this.event,params:this.params}));this._cacheKeys[s]=n}return this._cacheKeys[s]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const s of this.iterateCallbacks(e))await s(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if("function"===typeof t[e]){const s=this._pluginStateMap.get(t),n=n=>{const a=Object.assign(Object.assign({},n),{state:s});return t[e](a)};yield n}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){for(;this._extendLifetimePromises.length;){const e=this._extendLifetimePromises.splice(0),t=(await Promise.allSettled(e)).find(e=>"rejected"===e.status);if(t)throw t.reason}}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,s=!1;for(const n of this.iterateCallbacks("cacheWillUpdate"))if(t=await n({request:this.request,response:t,event:this.event})||void 0,s=!0,!t)break;return s||t&&200!==t.status&&(t=void 0),t}}class x{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.cacheName=c(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});
1const t=e.event,s="string"===typeof e.request?new Request(e.request):e.request,n="params"in e?e.params:void 0,a=new R(this,{event:t,request:s,params:n}),r=this._getResponse(a,s,t);return[r,this._awaitComplete(r,a,s,t)]}async _getResponse(e,t,s){let n;await e.runCallbacks("handlerWillStart",{event:s,request:t});try{if(n=await this._handle(t,e),!n||"error"===n.type)throw new a("no-response",{url:t.url})}catch(r){if(r instanceof Error)for(const a of e.iterateCallbacks("handlerDidError"))if(n=await a({error:r,event:s,request:t}),n)break;if(!n)throw r}for(const a of e.iterateCallbacks("handlerWillRespond"))n=await a({event:s,request:t,response:n});return n}async _awaitComplete(e,t,s,n){let a,r;try{a=await e}catch(r){}try{await t.runCallbacks("handlerDidRespond",{event:n,request:s,response:a}),await t.doneWaiting()}catch(i){i instanceof Error&&(r=i)}if(await t.runCallbacks("handlerDidComplete",{event:n,request:s,response:a,error:r}),t.destroy(),r)throw r}}class C extends x{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.cacheName=o(e.cacheName),super(e),this._fallbackToNetwork=!1!==e.fallbackToNetwork,this.plugins.push(C.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const s=await t.cacheMatch(e);return s||(t.event&&"install"===t.event.type?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let s;const n=t.params||{};if(!this._fallbackToNetwork)throw new a("missing-precache-entry",{cacheName:this.cacheName,url:e.url});{0;const a=n.integrity,r=e.integrity,i=!r||r===a;if(s=await t.fetch(new Request(e,{integrity:"no-cors"!==e.mode?r||a:void 0})),a&&i&&"no-cors"!==e.mode){this._useDefaultCacheabilityPluginIfNeeded();await t.cachePut(e,s.clone());0}}return s}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();const s=await t.fetch(e);if(!await t.cachePut(e,s.clone()))throw new a("bad-precaching-response",{url:e.url,status:s.status});return s}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[s,n]of this.plugins.entries())n!==C.copyRedirectedCacheableResponsesPlugin&&(n===C.defaultPrecacheCacheabilityPlugin&&(e=s),n.cacheWillUpdate&&t++);0===t?this.plugins.push(C.defaultPrecacheCacheabilityPlugin):t>1&&null!==e&&this.plugins.splice(e,1)}}C.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate(e){let{response:t}=e;return!t||t.status>=400?null:t}},C.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate(e){let{response:t}=e;return t.redirected?await p(t):t}};class E{constructor(){let{cacheName:e,plugins:t=[],fallbackToNetwork:s=!0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new C({cacheName:o(e),plugins:[...t,new d({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){const t=[];for(const s of e){"string"===typeof s?t.push(s):s&&void 0===s.revision&&t.push(s.url);const{cacheKey:e,url:n}=h(s),r="string"!==typeof s&&s.revision?"reload":"default";if(this._urlsToCacheKeys.has(n)&&this._urlsToCacheKeys.get(n)!==e)throw new a("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(n),secondEntry:e});if("string"!==typeof s&&s.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==s.integrity)throw new a("add-to-cache-list-conflicting-integrities",{url:n});this._cacheKeysToIntegrities.set(e,s.integrity)}if(this._urlsToCacheKeys.set(n,e),this._urlsToCacheModes.set(n,r),t.length>0){const e="Workbox is precaching URLs without revision "+"info: ".concat(t.join(", "),"\nThis is generally NOT safe. ")+"Learn more at https://bit.ly/wb-precache";console.warn(e)}}}install(e){return l(e,async()=>{const t=new u;this.strategy.plugins.push(t);for(const[a,r]of this._urlsToCacheKeys){const t=this._cacheKeysToIntegrities.get(r),s=this._urlsToCacheModes.get(a),n=new Request
1(a,{integrity:t,cache:s,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:r},request:n,event:e}))}const{updatedURLs:s,notUpdatedURLs:n}=t;return{updatedURLs:s,notUpdatedURLs:n}})}activate(e){return l(e,async()=>{const e=await self.caches.open(this.strategy.cacheName),t=await e.keys(),s=new Set(this._urlsToCacheKeys.values()),n=[];for(const a of t)s.has(a.url)||(await e.delete(a),n.push(a.url));return{deletedURLs:n}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){const t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){const t=e instanceof Request?e.url:e,s=this.getCacheKeyForURL(t);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(e){const t=this.getCacheKeyForURL(e);if(!t)throw new a("non-precached-url",{url:e});return s=>(s.request=new Request(e),s.params=Object.assign({cacheKey:t},s.params),this.strategy.handle(s))}}let L;const k=()=>(L||(L=new E),L);s(130);const U=e=>e&&"object"===typeof e?e:{handle:e};class q{constructor(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"GET";this.handler=U(t),this.match=e,this.method=s}setCatchHandler(e){this.catchHandler=U(e)}}class T extends q{constructor(e,t,s){super(t=>{let{url:s}=t;const n=e.exec(s.href);if(n&&(s.origin===location.origin||0===n.index))return n.slice(1)},t,s)}}class D{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener("fetch",e=>{const{request:t}=e,s=this.handleRequest({request:t,event:e});s&&e.respondWith(s)})}addCacheListener(){self.addEventListener("message",e=>{if(e.data&&"CACHE_URLS"===e.data.type){const{payload:t}=e.data;0;const s=Promise.all(t.urlsToCache.map(t=>{"string"===typeof t&&(t=[t]);const s=new Request(...t);return this.handleRequest({request:s,event:e})}));e.waitUntil(s),e.ports&&e.ports[0]&&s.then(()=>e.ports[0].postMessage(!0))}})}handleRequest(e){let{request:t,event:s}=e;const n=new URL(t.url,location.href);if(!n.protocol.startsWith("http"))return void 0;const a=n.origin===location.origin,{params:r,route:i}=this.findMatchingRoute({event:s,request:t,sameOrigin:a,url:n});let o=i&&i.handler;const c=t.method;if(!o&&this._defaultHandlerMap.has(c)&&(o=this._defaultHandlerMap.get(c)),!o)return void 0;let l;try{l=o.handle({url:n,request:t,event:s,params:r})}catch(u){l=Promise.reject(u)}const h=i&&i.catchHandler;return l instanceof Promise&&(this._catchHandler||h)&&(l=l.catch(async e=>{if(h){0;try{return await h.handle({url:n,request:t,event:s,params:r})}catch(a){a instanceof Error&&(e=a)}}if(this._catchHandler)return this._catchHandler.handle({url:n,request:t,event:s});throw e})),l}findMatchingRoute(e){let{url:t,sameOrigin:s,request:n,event:a}=e;const r=this._routes.get(n.method)||[];for(const i of r){let e;const r=i.match({url:t,sameOrigin:s,request:n,event:a});if(r)return e=r,(Array.isArray(e)&&0===e.length||r.constructor===Object&&0===Object.keys(r).length||"boolean"===typeof r)&&(e=void 0),{route:i,params:e}}return{}}setDefaultHandler(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET";this._defaultHandlerMap.set(t,U(e))}setCatchHandler(e){this._catchHandler=U(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new a("unregister-route-but-not-found-with-method",{method:e.method});const t=this._routes.get(e.method).indexOf(e);if(!(t>-1))throw new a("unregister-route-route-not-registered");this._routes.get(e.method).splice(t,1)}}let N;const P=()=>(N||(N=new D,N.addFetchListener(),N.addCacheListener()),N);function S(e,t,s){let n;if("string"===typeof e){const a=new URL(e,location.href);0;n=new q(e=>{let{url:t}=e;return t.href===a.href},t,s)}else if(e instanceof RegExp)n=new T(e,t,s);else if("function"===typeof e)n=new q(e,t,s);else{if(!(e instanceof q))throw new a("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});n=e}return P().registerRoute(n),n}class O extends q{constructor(e,t){super(s=>{let{request:n}=s;
1const a=e.getURLsToCacheKeys();for(const r of function(e){let{ignoreURLParametersMatching:t=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:a}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){const r=new URL(e,location.href);r.hash="",yield r.href;const i=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];for(const s of[...e.searchParams.keys()])t.some(e=>e.test(s))&&e.searchParams.delete(s);return e}(r,t);if(yield i.href,s&&i.pathname.endsWith("/")){const e=new URL(i.href);e.pathname+=s,yield e.href}if(n){const e=new URL(i.href);e.pathname+=".html",yield e.href}if(a){const e=a({url:r});for(const t of e)yield t.href}}()}(n.url,t)){const t=a.get(r);if(t){return{cacheKey:t,integrity:e.getIntegrityForCacheKey(t)}}}},e.strategy)}}const I={cacheWillUpdate:async e=>{let{response:t}=e;return 200===t.status||0===t.status?t:null}};class A extends x{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(e),this.plugins.some(e=>"cacheWillUpdate"in e)||this.plugins.unshift(I),this._networkTimeoutSeconds=e.networkTimeoutSeconds||0}async _handle(e,t){const s=[];const n=[];let r;if(this._networkTimeoutSeconds){const{id:a,promise:i}=this._getTimeoutPromise({request:e,logs:s,handler:t});r=a,n.push(i)}const i=this._getNetworkPromise({timeoutId:r,request:e,logs:s,handler:t});n.push(i);const o=await t.waitUntil((async()=>await t.waitUntil(Promise.race(n))||await i)());if(!o)throw new a("no-response",{url:e.url});return o}_getTimeoutPromise(e){let t,{request:s,logs:n,handler:a}=e;return{promise:new Promise(e=>{t=setTimeout(async()=>{e(await a.cacheMatch(s))},1e3*this._networkTimeoutSeconds)}),id:t}}async _getNetworkPromise(e){let t,s,{timeoutId:n,request:a,logs:r,handler:i}=e;try{s=await i.fetchAndCachePut(a)}catch(o){o instanceof Error&&(t=o)}return n&&clearTimeout(n),!t&&s||(s=await i.cacheMatch(a)),s}}function K(e){e.then(()=>{})}function M(e){return M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},M(e)}function j(e){var t=function(e,t){if("object"!=M(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t||"default");if("object"!=M(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==M(t)?t:t+""}function W(e,t,s){return(t=j(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function B(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)}return s}function F(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?B(Object(s),!0).forEach(function(t){W(e,t,s[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):B(Object(s)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))})}return e}let H,V;const G=new WeakMap,$=new WeakMap,Q=new WeakMap,z=new WeakMap,J=new WeakMap;let Y={get(e,t,s){if(e instanceof IDBTransaction){if("done"===t)return $.get(e);if("objectStoreNames"===t)return e.objectStoreNames||Q.get(e);if("store"===t)return s.objectStoreNames[1]?void 0:s.objectStore(s.objectStoreNames[0])}return ee(e[t])},set:(e,t,s)=>(e[t]=s,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function X(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(V||(V=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(){for(var t=arguments.length,s=new Array(t),n=0;n<t;n++)s[n]=arguments[n];return e.apply(te(this),s),ee(G.get(this))}:function(){for(var t=arguments.length,s=new Array(t),n=0;n<t;n++)s[n]=arguments[n];return ee(e.apply(te(this),s))}:function(t){for(var s=arguments.length,n=new Array(s>1?s-1:0),a=1;a<s;a++)n[a-1]=arguments[a];const r=e.call(te(this),t,...n);return Q.set(r,t.sort?t.sort():[t]),ee(r)}}function Z(e){return"function"===typeof e?X(e):(e instanceof IDBTransaction&&function(e){if($.has(e))return;const t=new Promise((t,s)=>{const n=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",r),e.removeEventListener("abort",r)},a=()=>{t(),n()},r=()=>{s(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",a),e.addEventListener("error",r),e.addEventListener("abort",r)});$.set(e,t)}(e),t=e,(H||(H=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some(e=>t instanceof e)?new Proxy(e,Y):e);var t}function ee(e){if(e instanceof IDBRequest)return function(e){const t=new Promise((t,s)=>{const n=()=>{e.removeEventListener("success",a),e.removeEventListener("error",r)},a=()=>{t(ee(e.result)),n()},r=()=>{s(e.error),n()};e.addEventListener("success",a),e.addEventListener("error",r)});return t.then(t=>{t instanceof IDBCursor&&G.set(t,e)}).catch(()=>{}),J.set(t,e),t}(e);if(z.has(e))return z.get(e);const t=Z(e);return t!==e&&(z.set(e,t),J.set(t,e)),t}const te=e=>J.get(e);const se=["get","getKey","getAll","getAllKeys","count"],ne=["put","add","delete","clear"],ae=new Map;function re(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!==typeof t)return;if(ae.get(t))return ae.get(t);const s=t.replace(/FromIndex$/,""),n=t!==s,a=ne.includes(s);if(!(s in(n?IDBIndex:IDBObjectStore).prototype)||!a&&!se.includes(s))return;const r=async function(e){const t=this.transaction(e,a?"readwrite":"readonly");let r=t.store;for(var i=arguments.length,o=new Array(i>1?i-1:0),c=1;c<i;c++)o[c-1]=arguments[c];
1return n&&(r=r.index(o.shift())),(await Promise.all([r[s](...o),a&&t.done]))[0]};return ae.set(t,r),r}Y=(e=>F(F({},e),{},{get:(t,s,n)=>re(t,s)||e.get(t,s,n),has:(t,s)=>!!re(t,s)||e.has(t,s)}))(Y);s(229);const ie="cache-entries",oe=e=>{const t=new URL(e,location.href);return t.hash="",t.href};class ce{constructor(e){this._db=null,this._cacheName=e}_upgradeDb(e){const t=e.createObjectStore(ie,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&function(e){let{blocked:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=indexedDB.deleteDatabase(e);t&&s.addEventListener("blocked",e=>t(e.oldVersion,e)),ee(s).then(()=>{})}(this._cacheName)}async setTimestamp(e,t){const s={url:e=oe(e),timestamp:t,cacheName:this._cacheName,id:this._getId(e)},n=(await this.getDb()).transaction(ie,"readwrite",{durability:"relaxed"});await n.store.put(s),await n.done}async getTimestamp(e){const t=await this.getDb(),s=await t.get(ie,this._getId(e));return null===s||void 0===s?void 0:s.timestamp}async expireEntries(e,t){const s=await this.getDb();let n=await s.transaction(ie).store.index("timestamp").openCursor(null,"prev");const a=[];let r=0;for(;n;){const s=n.value;s.cacheName===this._cacheName&&(e&&s.timestamp<e||t&&r>=t?a.push(n.value):r++),n=await n.continue()}const i=[];for(const o of a)await s.delete(ie,o.id),i.push(o.url);return i}_getId(e){return this._cacheName+"|"+oe(e)}async getDb(){return this._db||(this._db=await function(e,t){let{blocked:s,upgrade:n,blocking:a,terminated:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=indexedDB.open(e,t),o=ee(i);return n&&i.addEventListener("upgradeneeded",e=>{n(ee(i.result),e.oldVersion,e.newVersion,ee(i.transaction),e)}),s&&i.addEventListener("blocked",e=>s(e.oldVersion,e.newVersion,e)),o.then(e=>{r&&e.addEventListener("close",()=>r()),a&&e.addEventListener("versionchange",e=>a(e.oldVersion,e.newVersion,e))}).catch(()=>{}),o}("workbox-expiration",1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class le{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._isRunning=!1,this._rerunRequested=!1,this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new ce(e)}async expireEntries(){if(this._isRunning)return void(this._rerunRequested=!0);this._isRunning=!0;const e=this._maxAgeSeconds?Date.now()-1e3*this._maxAgeSeconds:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),s=await self.caches.open(this._cacheName);for(const n of t)await s.delete(n,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,K(this.expireEntries()))}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(this._maxAgeSeconds){const t=await this._timestampModel.getTimestamp(e),s=Date.now()-1e3*this._maxAgeSeconds;return void 0===t||t<s}return!1}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}class he{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.cachedResponseWillBeUsed=async e=>{let{event:t,request:s,cacheName:n,cachedResponse:a}=e;if(!a)return null;const r=this._isResponseDateFresh(a),i=this._getCacheExpiration(n);K(i.expireEntries());const o=i.updateTimestamp(s.url);if(t)try{t.waitUntil(o)}catch(c){0}return r?a:null},this.cacheDidUpdate=async e=>{let{cacheName:t,request:s}=e;const n=this._getCacheExpiration(t);await n.updateTimestamp(s.url),await n.expireEntries()},this._config=e,this._maxAgeSeconds=e.maxAgeSeconds,this._cacheExpirations=new Map,e.purgeOnQuotaError&&function(e){y.add(e)}(()=>
1this.deleteCacheAndMetadata())}_getCacheExpiration(e){if(e===c())throw new a("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new le(e,this._config),this._cacheExpirations.set(e,t)),t}_isResponseDateFresh(e){if(!this._maxAgeSeconds)return!0;const t=this._getDateHeaderTimestamp(e);if(null===t)return!0;return t>=Date.now()-1e3*this._maxAgeSeconds}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;const t=e.headers.get("date"),s=new Date(t).getTime();return isNaN(s)?null:s}async deleteCacheAndMetadata(){for(const[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}var ue;s(596);class de{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._statuses=e.statuses,this._headers=e.headers}isResponseCacheable(e){let t=!0;return this._statuses&&(t=this._statuses.includes(e.status)),this._headers&&t&&(t=Object.keys(this._headers).some(t=>e.headers.get(t)===this._headers[t])),t}}class fe{constructor(e){this.cacheWillUpdate=async e=>{let{response:t}=e;return this._cacheableResponse.isResponseCacheable(t)?t:null},this._cacheableResponse=new de(e)}}(function(e){k().precache(e)})([{'revision':'8d38f5d6bb18c9528947dd6119188adf','url':'/index.html'},{'revision':null,'url':'/static/css/163.3424f60e.chunk.css'},{'revision':null,'url':'/static/css/191.cdd1c841.chunk.css'},{'revision':null,'url':'/static/css/253.ec5735fa.chunk.css'},{'revision':null,'url':'/static/css/271.8d414d67.chunk.css'},{'revision':null,'url':'/static/css/29.94525bee.chunk.css'},{'revision':null,'url':'/static/css/290.e5513d10.chunk.css'},{'revision':null,'url':'/static/css/308.fd5e39ed.chunk.css'},{'revision':null,'url':'/static/css/42.7027700a.chunk.css'},{'revision':null,'url':'/static/css/541.e0fdd4a9.chunk.css'},{'revision':null,'url':'/static/css/588.a5044f76.chunk.css'},{'revision':null,'url':'/static/css/640.8e835dfd.chunk.css'},{'revision':null,'url':'/static/css/68.7a6af023.chunk.css'},{'revision':null,'url':'/static/css/686.d0f35f51.chunk.css'},{'revision':null,'url':'/static/css/713.1624a300.chunk.css'},{'revision':null,'url':'/static/css/744.faf6fc76.chunk.css'},{'revision':null,'url':'/static/css/88.7faba432.chunk.css'},{'revision':null,'url':'/static/css/main.729751a2.css'},{'revision':null,'url':'/static/js/163.21d9f31a.chunk.js'},{'revision':null,'url':'/static/js/168.7f16fe9c.chunk.js'},{'revision':null,'url':'/static/js/185.25a95b9f.chunk.js'},{'revision':null,'url':'/static/js/191.c4b63de3.chunk.js'},{'revision':null,'url':'/static/js/228.8bf848e0.chunk.js'},{'revision':null,'url':'/static/js/253.bbf0e594.chunk.js'},{'revision':null,'url':'/static/js/271.d053521c.chunk.js'},{'revision':null,'url':'/static/js/29.8646a5ac.chunk.js'},{'revision':null,'url':'/static/js/290.aae7a35b.chunk.js'},{'revision':null,'url':'/static/js/291.bc9c3c8e.chunk.js'},{'revision':null,'url':'/static/js/308.1a31d047.chunk.js'},{'revision':null,'url':'/static/js/404.47c37675.chunk.js'},{'revision':null,'url':'/static/js/42.47c1cc26.chunk.js'},{'revision':null,'url':'/static/js/442.9be5c0e6.chunk.js'},{'revision':null,'url':'/static/js/444.6fcd9b37.chunk.js'},{'revision':null,'url':'/static/js/541.665c41e9.chunk.js'},{'revision':null,'url':'/static/js/553.a4e7a16a.chunk.js'},{'revision':null,'url':'/static/js/588.92ce959b.chunk.js'},{'revision':null,'url':'/static/js/640.45da6946.chunk.js'},{'revision':null,'url':'/static/js/68.1587c789.chunk.js'},{'revision':null,'url':'/static/js/686.16b489dd.chunk.js'},{'revision':null,'url':'/static/js/713.49f0b8c2.chunk.js'},{'revision':null,'url':'/static/js/744.0bf4ac0d.chunk.js'},{'revision':null,'url':'/static/js/856.9555a577.chunk.js'},{'revision':null,'url':'/static/js/87.ace8d2f7.chunk.js'},{'revision':null,'url':'/static/js/88.476d24a6.chunk.js'},{'revision':null,'url':'/static/js/995.b5bb5771.chunk.js'},{'revision':null,'url':'/static/js/anchor.dedcf40a.js'},{'revision':null,'url':'/static/js/main.e87c3e09.js'},{'revision':null,'url':'/static/js/solana-libs.707246d5.js'},{'revision':null,'url':'/static/js/vendors.b91e87b6.js'},{'revision':null,'url':'/static/media/AvenirNext-Heavy.9dc5ebb3ca2aeae5b8d4.otf'},{'revision':null,'url':'/static/media/gem-rush-art.69803a6f07f47a36731e.webp'},{'revision':null,'url':'/static/media/pause.f10bae7b8adc150ab156.svg'},{'revision':null,'url':'/static/media/play.4e8867d701a53d889f51.svg'},{'revision':null,'url':'/static/media/quickstart_bg.9da669efe784641a97e9.jpg'},{'revision':null,'url':'/static/media/slimerush_bg.d00e8777387bf3e4c288.jpg'},{'revision':null,'url':'/static/media/timer-outline.dfda26e3bebb852c3ac1.svg'},{'revision':null,'url':'/static/media/triple-tile-violet-bg.1dfef1d7755dc04e2228.png'}]),function(e){const t=k();S(new O(t,e))}(ue),self.addEventListener("activate",e=>{const t=o();e.waitUntil(async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"-precache-";const s=(await self.caches.keys()).filter(s=>s.includes(t)&&s.includes(self.registration.scope)&&s!==e);return await Promise.all(s.map(e=>
1self.caches.delete(e))),s}(t).then(e=>{}))}),self.addEventListener("message",e=>{const t=e.data;"SKIP_WAITING"===(null===t||void 0===t?void 0:t.type)&&self.skipWaiting()}),S(/^https:\/\/fonts\.googleapis\.com/,new class extends x{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),this.plugins.some(e=>"cacheWillUpdate"in e)||this.plugins.unshift(I)}async _handle(e,t){const s=t.fetchAndCachePut(e).catch(()=>{});t.waitUntil(s);let n,r=await t.cacheMatch(e);if(r)0;else{0;try{r=await s}catch(i){i instanceof Error&&(n=i)}}if(!r)throw new a("no-response",{url:e.url,error:n});return r}}({cacheName:"google-fonts-stylesheets"})),S(/^https:\/\/fonts\.gstatic\.com/,new class extends x{async _handle(e,t){let s,n=await t.cacheMatch(e);if(n)0;else{0;try{n=await t.fetchAndCachePut(e)}catch(r){r instanceof Error&&(s=r)}0}if(!n)throw new a("no-response",{url:e.url,error:s});return n}}({cacheName:"google-fonts-webfonts",plugins:[new he({maxAgeSeconds:31536e3,maxEntries:30}),new fe({statuses:[0,200]})]})),S(/\.(?:png|jpg|jpeg|svg|gif|webp|ico)$/,new A({cacheName:"images",networkTimeoutSeconds:3,plugins:[new he({maxEntries:100,maxAgeSeconds:604800}),new fe({statuses:[0,200]})]})),S(/^https:\/\/supersize\.miso\.one/,new A({cacheName:"api-cache",networkTimeoutSeconds:10,plugins:[new he({maxEntries:50,maxAgeSeconds:300}),new fe({statuses:[0,200]})]})),S(/helius/,new A({cacheName:"helius-cache",networkTimeoutSeconds:5,plugins:[new he({maxEntries:20,maxAgeSeconds:60}),new fe({statuses:[0,200]})]})),self.addEventListener("push",e=>{console.log("[SW] Push received:",e);const t={url:"/results"};let s={title:"Coins",body:"You have a new notification",icon:"/logo/192.png",badge:"/logo/192.png",tag:"slimecoin-notification",data:t};if(e.data)try{var n,a,r,i;const o=e.data.json();s={title:(null===(n=o.notification)||void 0===n?void 0:n.title)||o.title||s.title,body:(null===(a=o.notification)||void 0===a?void 0:a.body)||o.body||s.body,icon:(null===(r=o.notification)||void 0===r?void 0:r.icon)||o.icon||s.icon,badge:s.badge,tag:o.tag||s.tag,data:{url:(null===(i=o.data)||void 0===i?void 0:i.url)||t.url}}}catch(o){console.error("[SW] Failed to parse push data:",o)}e.waitUntil(self.registration.showNotification(s.title,{body:s.body,icon:s.icon,badge:s.badge,tag:s.tag,data:s.data,requireInteraction:!1}))}),self.addEventListener("notificationclick",e=>{var t;console.log("[SW] Notification clicked:",e),e.notification.close();const s=(null===(t=e.notification.data)||void 0===t?void 0:t.url)||"/results",n=new URL(s,self.location.origin).href;e.waitUntil(self.clients.matchAll({type:"window",includeUncontrolled:!0}).then(e=>{for(const t of e)if(t.url.includes(self.location.origin)&&"focus"in t)return t.navigate(n),t.focus();if(self.clients.openWindow)return self.clients.openWindow(n)}))}),self.addEventListener("activate",e=>{console.log("[SW] Activated"),e.waitUntil(self.clients.claim())})})(); 2//# sourceMappingURL=service-worker.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.