| 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      ))    ))  )});
 |