1function e(e,t={}){if(typeof window>`u`||typeof document>`u`)return;let n=JSON.stringify({type:e,path:window.location.pathname+window.location.search,referrer:document.referrer||null,clientTimestamp:Date.now(),payload:{title:document.title,language:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,devicePixelRatio:window.devicePixelRatio,...t}});navigator.sendBeacon&&navigator.sendBeacon(`/api/readership`,new Blob([n],{type:`application/json`}))||fetch(`/api/readership`,{method:`POST`,body:n,headers:{"Content-Type":`application/json`},keepalive:!0}).catch(e=>{console.error(`Failed to record readership event`,e)})}export{e as t};
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.