{"version":3,"sources":["jsdelivr-header.js","/npm/tiny-serviceworker@4.2.2/sw.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,MAAM,QAAU,EACf,KAAO,YACP,QAAU,KACV,KAAO,GACP,MAAQ,GACR,QAAS,EACT,QAAS,EACT,UAAW,EACX,UAAY,IAAmE,KAA3D,EAAI,SAAS,aAAe,EAAI,SAAS,cAE9D,SAAS,IAAK,GACb,QAAQ,IAAI,mBAAkB,IAAI,MAAO,cAAc,IACxD,CAGC,KAAK,iBAAiB,YAAY,GAAM,EAAG,UAAU,OAAO,OAAO,MAAK,IACvE,MAAM,EAAU,EAAK,QAAO,GAAK,IAAM,OACvC,IAAI,EAoCJ,OAlC4B,IAAxB,EAAK,SAAS,MACjB,OAAO,KAAK,MAAM,MAAK,IACtB,IAAI,8DAEG,EAAM,OAAO,SAClB,OAAM,GAAO,IAAI,yCAAyC,EAAI,cAEjE,IAAI,oEAIJ,KAAK,QAAQ,QACb,KAAK,QAAQ,WAAW,MAAK,GAAW,EAAQ,SAAQ,GAAU,EAAO,YAAY,iBAG/D,IAAnB,EAAQ,QACX,IAAI,0CACJ,EAAS,QAAQ,YAEjB,IAAI,uCAAuC,EAAQ,eACnD,EAAS,QAAQ,IAAI,EAAQ,KAAI,IAChC,IAAI,6CAA6C,MACjD,OAAO,OAAO,EAQd,MAIK,CAAM,IACX,OAAM,KAAY,OAErB,KAAK,iBAAiB,WAAW,IAChC,KAAK,cACL,EAAG,WAAU,IAAM,IAAI,yDAA0D,IAGlF,KAAK,iBAAiB,SAAS,IAC9B,MAAM,EAAS,EAAG,QAAQ,OACzB,EAAO,YAAc,KAAK,EAAG,QAAQ,KACrC,EAA0B,IAAjB,MAAM,QAAgB,MAAM,SAAS,IAAI,IAAI,EAAG,QAAQ,KAAK,UACvE,IAAI,EAiCJ,OA/BI,GAAQ,GAAqB,QAAX,IACrB,EAAS,EAAG,YAAY,OAAO,KAAK,MAAM,MAAK,GACvC,EAAM,MAAM,EAAG,SAAS,MAAK,IACnC,MAAM,GAAM,IAAI,MAAO,UACvB,IAAI,EAEJ,QAAe,IAAX,EAAmB,CACtB,MAAM,EAAM,IAAI,IAAI,EAAO,KAC1B,EAAQ,EAAO,QAAQ,IAAI,QAC3B,GAAkB,OAAV,EAAiB,IAAI,KAAK,GAAS,IAAI,MAAQ,UAAmG,IAAvF,QAAQ,EAAO,QAAQ,IAAI,kBAAoB,IAAI,QAAQ,SAAU,KA1EpI,OA4ED,KAAK,SAAS,EAAI,WAAa,EAAO,KACzC,EAAU,EAAO,QAEnB,CAYA,YAVgB,IAAZ,IACH,EAAU,MAAM,EAAG,SAAS,MAAK,IACd,UAAb,EAAI,MAAiC,SAAb,EAAI,MAAmC,MAAf,EAAI,SAAkB,UAAU,EAAI,QAAQ,IAAI,kBAAoB,KACxH,EAAM,IAAI,EAAG,QAAS,EAAI,SAGpB,MAIF,CAAO,MAEb,OAAM,KAAY,MAGf,CAAM","file":"/npm/tiny-serviceworker@4.2.2/sw.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/tiny-serviceworker@4.2.2/sw.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\n\nconst version = 1,\n\tname = `my-app-v${version}`,\n\ttimeout = 1800,\n\turls = [],\n\thosts = [],\n\treload = false,\n\tsafari = true,\n\tannounce = true,\n\tcacheable = arg => (arg.includes(\"no-store\") || arg.includes(\"max-age=0\")) === false;\n\nfunction log (arg) {\n\tconsole.log(`[serviceWorker:${new Date().getTime()}] ${arg}`);\n}\n\nif (safari || (/Version\\/[\\d+\\.]+ Safari/).test(navigator.userAgent) === false) {\n\tself.addEventListener(\"activate\", ev => ev.waitUntil(caches.keys().then(args => {\n\t\tconst invalid = args.filter(i => i !== name);\n\t\tlet result;\n\n\t\tif (args.includes(name) === false) {\n\t\t\tcaches.open(name).then(cache => {\n\t\t\t\tlog(\"type=activate, cached=false, message=\\\"Caching core assets\\\"\");\n\n\t\t\t\treturn cache.addAll(urls);\n\t\t\t}).catch(err => log(`type=error, action=activate, message=\"${err.message}\"`));\n\t\t} else {\n\t\t\tlog(\"type=activate, cached=true, message=\\\"Reusing cached core assets\\\"\");\n\t\t}\n\n\t\tif (announce) {\n\t\t\tself.clients.claim();\n\t\t\tself.clients.matchAll().then(clients => clients.forEach(client => client.postMessage(`version_${version}`)));\n\t\t}\n\n\t\tif (invalid.length === 0) {\n\t\t\tlog(\"type=delete, message=\\\"No stale caches\\\"\");\n\t\t\tresult = Promise.resolve();\n\t\t} else {\n\t\t\tlog(`type=delete, message=\"Stale caches: ${invalid.toString()}\"`);\n\t\t\tresult = Promise.all(invalid.map(i => {\n\t\t\t\tlog(`type=delete, message=\"Deleted stale cache ${i}\"`);\n\t\t\t\tcaches.delete(i);\n\n\t\t\t\tif (reload) {\n\t\t\t\t\tself.clients.claim();\n\t\t\t\t\tself.clients.matchAll().then(clients => clients.forEach(client => {\n\t\t\t\t\t\tlog(\"type=reload, message=\\\"Loading new version of application\\\"\");\n\t\t\t\t\t\tclient.postMessage(\"reload\");\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\n\t\treturn result;\n\t}).catch(() => void 0)));\n\n\tself.addEventListener(\"install\", ev => {\n\t\tself.skipWaiting();\n\t\tev.waitUntil(() => log(\"type=install, message=\\\"New service worker installed\\\"\"));\n\t});\n\n\tself.addEventListener(\"fetch\", ev => {\n\t\tconst method = ev.request.method,\n\t\t\thttp = (/^https?\\:/).test(ev.request.url),\n\t\t\thandle = hosts.length === 0 || hosts.includes(new URL(ev.request.url).hostname);\n\t\tlet result;\n\n\t\tif (http && handle && method === \"GET\") {\n\t\t\tresult = ev.respondWith(caches.open(name).then(cache => {\n\t\t\t\treturn cache.match(ev.request).then(cached => {\n\t\t\t\t\tconst now = new Date().getTime();\n\t\t\t\t\tlet lresult;\n\n\t\t\t\t\tif (cached !== void 0) {\n\t\t\t\t\t\tconst url = new URL(cached.url),\n\t\t\t\t\t\t\tcdate = cached.headers.get(\"date\"),\n\t\t\t\t\t\t\tthen = (cdate !== null ? new Date(cdate) : new Date()).getTime() + Number((cached.headers.get(\"cache-control\") || \"\").replace(/[^\\d]/g, \"\") || timeout) * 1e3;\n\n\t\t\t\t\t\tif (urls.includes(url.pathname) || then > now) {\n\t\t\t\t\t\t\tlresult = cached.clone();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (lresult === void 0) {\n\t\t\t\t\t\tlresult = fetch(ev.request).then(res => {\n\t\t\t\t\t\t\tif ((res.type === \"basic\" || res.type === \"cors\") && res.status === 200 && cacheable(res.headers.get(\"cache-control\") || \"\")) {\n\t\t\t\t\t\t\t\tcache.put(ev.request, res.clone());\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn res;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\treturn lresult;\n\t\t\t\t});\n\t\t\t}).catch(() => void 0));\n\t\t}\n\n\t\treturn result;\n\t});\n}\n"]}