| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | 
							- /// <reference lib="webworker" />
 
- const sw = self as unknown as ServiceWorkerGlobalScope & {
 
-   __precacheManifest: ({ url: string, revision: string })[];
 
- };
 
- const precacheVersion = sw.__precacheManifest
 
-   .map(p => p.revision)
 
-   .join('');
 
- const precacheFiles = sw.__precacheManifest.map(p => p.url).filter(
 
-   u => /\.(ico)$/.test(u)
 
- );
 
- const ch = () => caches.open(precacheVersion);
 
-  
 
- sw.addEventListener('install', ev => {
 
-   // Do not finish installing until every file in the app has been cached
 
-   ev.waitUntil(
 
-     ch().then(
 
-       cache => cache.addAll(precacheFiles)
 
-     )
 
-   );
 
- });
 
-  
 
- sw.addEventListener('activate', ev => {
 
-   ev.waitUntil(
 
-     caches.keys().then(keys => Promise.all(
 
-       keys.filter(k => k !== precacheVersion).map(
 
-         k => caches.delete(k)
 
-       )
 
-     )).then(() => sw.clients.claim())
 
-   );
 
- });
 
- sw.addEventListener('fetch', ev => {
 
-   ev.respondWith(
 
-     caches.match(ev.request).then(resp => resp || ch().then(c =>
 
-       fetch(ev.request).then(res => c.put(ev.request, res.clone()).then(
 
-         () => res
 
-       ))
 
-     ))
 
-   )
 
- });
 
 
  |