1"use strict";var callNotificationStatusService=function(e,t,i){var n="/service.php?service="+e+"¬ificationId="+t+"&securityToken="+i;"event.notification.delivered"===e&&(n=`/api/event/notification/delivered?notificationId=${t}&securityToken=${i}`),fetch(n,{credentials:"include"}).then(function(i){i.ok||(console.log("Service ["+e+"] failed for notification ["+t+"]",n),console.log(i))}).catch(function(e){console.log("Fetch failed with error",e)})};const createUrlHandlerPromise=function(e){const t=new URL(e,self.location.origin).href;return clients.matchAll({type:"window",includeUncontrolled:!0}).then(e=>{let i=null;for(let n=0;n<e.length;n++){const o=e[n];if(o.url===t){i=o;break}}return i?i.focus():clients.openWindow(t)})};self.addEventListener("install",function(e){}),self.addEventListener("activate",function(e){}),self.addEventListener("fetch",function(e){"only-if-cached"===e.request.cache&&"same-origin"!==e.request.mode||e.respondWith(caches.match(e.request).then(function(t){return t||fetch(e.request)}))}),self.addEventListener("push",function(e){if(!self.Notification||"granted"!==self.Notification.permission)return;var t={};e.data&&(t=e.data.json());const i=t.title||"",n={body:t.message?t.message:"",icon:t.icon?t.icon:"/images/pwa-push-icon.png",badge:t.badge?t.badge:"/images/pwa-push-badge.png",vibrate:[500,110,500,110,450,110,200,110,170,40,450,110,200,110,170,40,500],requireInteraction:!!t.requireInteraction&&t.requireInteraction,data:t};t.actions&&(n.actions=t.actions),t.tag&&(n.tag=t.tag,n.renew=!t.renew||t.renew),e.waitUntil(self.registration.showNotification(i,n).then(function(e){callNotificationStatusService.call(this,"event.notification.delivered",t.notificationId,t.securityToken)}))}),self.addEventListener("notificationclick",function(e){callNotificationStatusService.call(this,"event.notification.clicked",e.notification.data.notificationId,e.notification.data.securityToken),e.notification.close(),e.notification.data.url&&e.waitUntil(createUrlHandlerPromise.call(this,e.notification.data.url))});
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.