1!function(e){var t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,r),s.l=!0,s.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)r.d(n,s,function(t){return e[t]}.bind(null,s));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";function n(e,t){if(null==e)return{};var r,n,s=function(e,t){if(null==e)return{};var r,n,s={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(s[r]=e[r]);return s}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r])}return s}self.addEventListener("install",(e=>{e.waitUntil(self.skipWaiting())})),self.addEventListener("activate",(e=>{e.waitUntil(self.clients.claim())}));let s=0;const i={};self.addEventListener("message",(async e=>{if(!e.data)return;const t=e.data,{id:r,key:s,type:a}=t,o=n(t,["id","key","type"]);if("history"===a&&e.waitUntil(l(e)),"info"===a&&i[s]&&i[s][r]){const e=i[s][r];e.data=o,e.resolve()}if("confirm"===a&&i[s]&&i[s].id===r){i[s].resolve(o.value)}}));const a=(e,t)=>!!/^[23]\d+/.test(e.status)&&!!/id="fusion-app"/.test(t),o=async e=>{const t=await(async e=>{const t=++s;i[t]={};const r=i[t],n=(await clients.matchAll()).map((e=>new Promise((n=>{r[e.id]={client:e,resolve:n,data:{}},e.postMessage({id:e.id,key:t,type:"info"})}))));let a;await Promise.race([new Promise((e=>setTimeout(e,50))),Promise.all(n)]);let o=!1;return Object.keys(r).forEach((t=>{const{client:n,data:{focused:s,url:i,loading:l,unregister:u}}=r[t];u&&(o=!0),l&&(a&&!s||i===e&&(a=n))})),delete i[t],o&&await self.registration.unregister(),a})(e.request.referrer),r=await fetch(e.request),n=r.clone(),o=await r.text();if(t&&a(r,o)){const r=++s,a=await Promise.race([new Promise((e=>setTimeout(e,5e3))),new Promise((n=>{i[r]={id:t.id,resolve:n},t.postMessage({id:t.id,key:r,spa:!0,url:e.request.url,currentUrl:e.request.referrer,html:o})}))]);return delete i[r],a?new Response(null,{status:204,statusText:"SPA link detected"}):n}return n},l=async({data:{url:e},source:t})=>{new URL(e).searchParams.get("logging")&&console.log("Fetching spas:",e);const r=await fetch(e),n=await r.text();a(r,n)?t.postMessage({spa:!0,currentUrl:e,html:n}):t.postMessage({type:"reload",spa:!1})};self.addEventListener("fetch",(async e=>{"navigate"===e.request.mode&&e.request.referrer!==e.request.url&&e.respondWith(o(e))}))}]);
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.