1class oe{t;o=0;i=[];u(e){if(e.hadRecentInput)return;const a=this.i[0],n=this.i.at(-1);this.o&&a&&n&&e.startTime-n.startTime<1e3&&e.startTime-a.startTime<5e3?(this.o+=e.value,this.i.push(e)):(this.o=e.value,this.i=[e]),this.t?.(e)}}const k=()=>{const t=performance.getEntriesByType("navigation")[0];if(t&&t.responseStart>0&&t.responseStart<performance.now())return t},q=t=>{if(document.readyState==="loading")return"loading";const e=k();if(e){if(t<e.domInteractive)return"loading";if(e.domContentLoadedEventStart===0||t<e.domContentLoadedEventStart)return"dom-interactive";if(e.domComplete===0||t<e.domComplete)return"dom-content-loaded"}return"complete"},De=t=>{const e=t.nodeName;return t.nodeType===1?e.toLowerCase():e.toUpperCase().replace(/^#/,"")},Z=t=>{let e="";try{for(;t?.nodeType!==9;){const a=t,n=a.id?"#"+a.id:[De(a),...Array.from(a.classList).sort()].join(".");if(e.length+n.length>99)return e||n;if(e=e?n+">"+e:n,a.id)break;t=a.parentNode}}catch{}return e},se=new WeakMap;function L(t,e){let a=se.get(e);return a||(a=new WeakMap,se.set(e,a)),a.get(t)||a.set(t,new e),a.get(t)}let ye=-1;const Se=()=>ye,A=t=>{addEventListener("pageshow",e=>{e.persisted&&(ye=e.timeStamp,t(e))},!0)},y=(t,e,a,n)=>{let i,r;return c=>{e.value>=0&&(c||n)&&(r=e.value-(i??0),(r||i===void 0)&&(i=e.value,e.delta=r,e.rating=((s,l)=>s>l[1]?"poor":s>l[0]?"needs-improvement":"good")(e.value,a),t(e)))}},ee=t=>{requestAnimationFrame(()=>requestAnimationFrame(t))},F=()=>k()?.activationStart??0,S=(t,e=-1)=>{const a=k();let n="navigate";return Se()>=0?n="back-forward-cache":a&&(document.prerendering||F()>0?n="prerender":document.wasDiscarded?n="restore":a.type&&(n=a.type.replace(/_/g,"-"))),{name:t,value:e,rating:"good",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:n}},w=(t,e,a={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(t)){const n=new PerformanceObserver(i=>{queueMicrotask(()=>{e(i.getEntries())})});return n.observe({type:t,buffered:!0,...a}),n}}catch{}},te=t=>{let e=!1;return()=>{e||(t(),e=!0)}};let C=-1;const Ee=new Set,ce=()=>document.visibilityState!=="hidden"||document.prerendering?1/0:0,K=t=>{if(document.visibilityState==="hidden"){if(t.type==="visibilitychange")for(const e of Ee)e();isFinite(C)||(C=t.type==="visibilitychange"?t.timeStamp:0,removeEventListener("prerenderingchange",K,!0))}},R=()=>{if(C<0){const t=F();C=(document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").find(a=>a.name==="hidden"&&a.startTime>=t)?.startTime)??ce(),addEventListener("visibilitychange",K,!0),addEventListener("prerenderingchange",K,!0),A(()=>{setTimeout(()=>{C=ce()})})}return{get firstHiddenTime(){return C},onHidden(t){Ee.add(t)}}},W=t=>{document.prerendering?addEventListener("prerenderingchange",t,!0):t()},le=[1800,3e3],be=(t,e={})=>{W(()=>{const a=R();let n,i=S("FCP");const r=w("paint",c=>{for(const s of c)s.name==="first-contentful-paint"&&(r.disconnect(),s.startTime<a.firstHiddenTime&&(i.value=Math.max(s.startTime-F(),0),i.entries.push(s),n(!0)))});r&&(n=y(t,i,le,e.reportAllChanges),A(c=>{i=S("FCP"),n=y(t,i,le,e.reportAllChanges),ee(()=>{i.value=performance.now()-c.timeStamp,n(!0)})}))})},ue=[.1,.25],de=t=>t.find(e=>e.node?.nodeType===1)||t[0],Ce=(t,e={})=>{const a=L(e=Object.assign({},e),oe),n=new WeakMap;a.t=i=>{if(i?.sources?.length){const r=de(i.sources),c=r?.node;if(c){const s=e.generateTarget?.(c)??Z(c);n.set(r,s)}}},((i,r={})=>{const c=R();be(te(()=>{let s,l=S("CLS",0);const g=L(r,oe),f=v=>{for(const o of v)g.u(o);g.o>l.value&&(l.value=g.o,l.entries=g.i,s())},T=w("layout-shift",f);T&&(s=y(i,l,ue,r.reportAllChanges),c.onHidden(()=>{f(T.takeRecords()),s(!0)}),A(()=>{g.o=0,l=S("CLS",0),s=y(i,l,ue,r.reportAllChanges),ee(s)}),setTimeout(s))}))})(i=>{t((r=>{let c={};if(r.entries.length){const s=r.entries.reduce((l,g)=>l.value>g.value?l:g);if(s?.sources?.length){const l=de(s.sources);l&&(c={largestShiftTarget:n.get(l),largestShiftTime:s.startTime,largestShiftValue:s.value,largestShiftSource:l,largestShiftEntry:s,loadState:q(s.startTime)})}}return Object.assign(r,{attribution:c})})(i))},e)},Le=(t,e={})=>{be(a=>{t((n=>{let i={timeToFirstByte:0,firstByteToFCP:n.value,loadState:q(Se())};if(n.entries.length){const r=k(),c=n.entries.at(-1);if(r){const s=r.activationStart||0,l=Math.max(0,r.responseStart-s);i={timeToFirstByte:l,firstByteToFCP:n.value-l,loadState:q(n.entries[0].startTime),navigationEntry:r,fcpEntry:c}}}return Object.assign(n,{attribution:i})})(a))},e)};let Me=0,J=1/0,j=0;const we=t=>{for(const e of t)e.interactionId&&(J=Math.min(J,e.interactionId),j=Math.max(j,e.interactionId),Me=j?(j-J)/7+1:0)};let Q;const me=()=>
1Q?Me:performance.interactionCount??0,ke=()=>{"interactionCount"in performance||Q||(Q=w("event",we,{durationThreshold:0}))};let ge=0;class pe{l=[];h=new Map;m;p;v(){ge=me(),this.l.length=0,this.h.clear()}M(){const e=Math.min(this.l.length-1,Math.floor((me()-ge)/50));return this.l[e]}u(e){if(this.m?.(e),!e.interactionId&&e.entryType!=="first-input")return;const a=this.l.at(-1);let n=this.h.get(e.interactionId);if(n||this.l.length<10||e.duration>a.T){if(n?e.duration>n.T?(n.entries=[e],n.T=e.duration):e.duration===n.T&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],T:e.duration},this.h.set(n.id,n),this.l.push(n)),this.l.sort((i,r)=>r.T-i.T),this.l.length>10){const i=this.l.splice(10);for(const r of i)this.h.delete(r.id)}this.p?.(n)}}}const X=t=>{const e=globalThis.requestIdleCallback||setTimeout,a=globalThis.cancelIdleCallback||clearTimeout;if(document.visibilityState==="hidden")t();else{const n=te(t);let i=-1;const r=()=>{a(i),n()};addEventListener("visibilitychange",r,{once:!0,capture:!0}),i=e(()=>{removeEventListener("visibilitychange",r,{capture:!0}),n()})}},he=[200,500],Ae=(t,e={})=>{const a=L(e=Object.assign({},e),pe);let n=[],i=[],r=0;const c=new WeakMap,s=new WeakMap;let l=!1;const g=()=>{l||(X(f),l=!0)},f=()=>{const o=new Set(a.l.map(m=>c.get(m.entries[0]))),u=i.length-10;i=i.filter((m,p)=>p>=u||o.has(m));const d=new Set;for(const m of i){const p=T(m.startTime,m.processingEnd);for(const E of p)d.add(E)}n=n.filter(m=>m.startTime>r||d.has(m)),l=!1};a.m=o=>{const u=o.startTime+o.duration;let d;r=Math.max(r,o.processingEnd);for(let m=i.length-1;m>=0;m--){const p=i[m];if(Math.abs(u-p.renderTime)<=8){d=p,d.startTime=Math.min(o.startTime,d.startTime),d.processingStart=Math.min(o.processingStart,d.processingStart),d.processingEnd=Math.max(o.processingEnd,d.processingEnd),e.includeProcessedEventEntries!==!1&&d.entries.push(o);break}}d||(d={startTime:o.startTime,processingStart:o.processingStart,processingEnd:o.processingEnd,renderTime:u,entries:e.includeProcessedEventEntries!==!1?[o]:[]},i.push(d)),(o.interactionId||o.entryType==="first-input")&&c.set(o,d),g()},a.p=o=>{if(!s.get(o)){const u=o.entries.find(d=>d.target)?.target;if(u){const d=e.generateTarget?.(u)??Z(u);s.set(o,d)}else{const d=o.entries.find(m=>m.targetSelector)?.targetSelector;d&&s.set(o,d)}}};const T=(o,u)=>{const d=[];for(const m of n)if(!(m.startTime+m.duration<o)){if(m.startTime>u)break;d.push(m)}return d},v=o=>{const u=o.entries[0],d=c.get(u),m=u.processingStart,p=Math.max(u.startTime+u.duration,m),E=Math.min(d.processingEnd,p),I=d.entries.sort((h,M)=>h.processingStart-M.processingStart),x=T(u.startTime,E),H=a.h.get(u.interactionId),D={interactionTarget:s.get(H),interactionType:u.name.startsWith("key")?"keyboard":"pointer",interactionTime:u.startTime,nextPaintTime:p,processedEventEntries:I,longAnimationFrameEntries:x,inputDelay:m-u.startTime,processingDuration:E-m,presentationDelay:p-E,loadState:q(u.startTime),longestScript:void 0,totalScriptDuration:void 0,totalStyleAndLayoutDuration:void 0,totalPaintDuration:void 0,totalUnattributedDuration:void 0};return(h=>{if(!h.longAnimationFrameEntries?.length)return;const M=h.interactionTime,N=h.inputDelay,ne=h.processingDuration;let U,$,V=0,P=0,_=0,z=0;for(const B of h.longAnimationFrameEntries){P=P+B.startTime+B.duration-B.styleAndLayoutStart;for(const b of B.scripts){const ie=b.startTime+b.duration;if(ie<M)continue;const O=ie-Math.max(M,b.startTime),ae=b.duration?O/b.duration*b.forcedStyleAndLayoutDuration:0;V+=O-ae,P+=ae,O>z&&($=b.startTime<M+N?"input-delay":b.startTime>=M+N+ne?"presentation-delay":"processing-duration",U=b,z=O)}}const G=h.longAnimationFrameEntries.at(-1),re=G?G.startTime+G.duration:0;re>=M+N+ne&&(_=h.nextPaintTime-re),U&&$&&(h.longestScript={entry:U,subpart:$,intersectingDuration:z}),h.totalScriptDuration=V,h.totalStyleAndLayoutDuration=P,h.totalPaintDuration=_,h.totalUnattributedDuration=h.nextPaintTime-M-V-P-_})(D),Object.assign(o,{attribution:D})};w("long-animation-frame",o=>{n=n.concat(o),g()}),((o,u={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;const d=R();W(()=>{ke();let m,p=S("INP");const E=L(u,pe),I=H=>{X(()=>{for(const h of H)E.u(h);const D=E.M();D&&D.T!==p.value&&(p.value=D.T,p.entries=D.entries,m())})},x=w("event",I,{durationThreshold:u.durationThreshold??40});m=y(o,p,he,u.reportAllChanges),x&&(x.observe({type:"first-input",buffered:!0}),d.onHidden(()=>{I(x.takeRecords()),m(!0)}),A(()=>{E.v(),p=S("INP"),m=y(o,p,he,u.reportAllChanges)}))})})(o=>{t(v(o))},e)};class fe{m;u(e){this.m?.(e)}}const Te=[2500,4e3],xe=(t,e={})=>{const a=L(e=Object.assign({},e),fe),n=new WeakMap;a.m=i=>{const r=i.element;if(r){const c=e.generateTarget?.(r)??Z(r);n.set(i,c)}else i.id&&n.set(i,`#${i.id}`)},((i,r={})=>{W(()=>{const c=R();let s,l=S("LCP");const g=L(r,fe),f=v=>{r.reportAllChanges||(v=v.slice(-1));for(const o of v)g.u(o),o.startTime<c.firstHiddenTime&&(l.value=Math.max(o.startTime-F(),0),l.entries=[o],s())},T=w("largest-contentful-paint",f);if(T){s=y(i,l,Te,r.reportAllChanges);const v=te(()=>{f(T.takeRecords()),T.disconnect(),s(!0)}),o=u=>{u.isTrusted&&(X(v),removeEventListener(u.type,o,{capture:!0}))};
1for(const u of["keydown","click","visibilitychange"])addEventListener(u,o,{capture:!0});A(u=>{l=S("LCP"),s=y(i,l,Te,r.reportAllChanges),ee(()=>{l.value=performance.now()-u.timeStamp,s(!0)})})}})})(i=>{t((r=>{let c={timeToFirstByte:0,resourceLoadDelay:0,resourceLoadDuration:0,elementRenderDelay:r.value};if(r.entries.length){const s=r.entries.at(-1),l=s.url&&performance.getEntriesByType("resource").find(f=>f.name===s.url);c.target=n.get(s),c.lcpEntry=s,s.url&&(c.url=s.url),l&&(c.lcpResourceEntry=l);const g=k();if(g){const f=g.activationStart||0,T=Math.max(0,g.responseStart-f),v=Math.max(T,l?(l.requestStart||l.startTime)-f:0),o=Math.min(r.value,Math.max(v,l?l.responseEnd-f:0));c={...c,timeToFirstByte:T,resourceLoadDelay:v-T,resourceLoadDuration:o-v,elementRenderDelay:r.value-o,navigationEntry:g}}}return Object.assign(r,{attribution:c})})(i))},e)},ve=[800,1800],Y=t=>{document.prerendering?W(()=>Y(t)):document.readyState!=="complete"?addEventListener("load",()=>Y(t),!0):setTimeout(t)},Pe=(t,e={})=>{((a,n={})=>{let i=S("TTFB"),r=y(a,i,ve,n.reportAllChanges);Y(()=>{const c=k();c&&(i.value=Math.max(c.responseStart-F(),0),i.entries=[c],r(!0),A(()=>{i=S("TTFB",0),r=y(a,i,ve,n.reportAllChanges),r(!0)}))})})(a=>{t((n=>{let i={waitingDuration:0,cacheDuration:0,dnsDuration:0,connectionDuration:0,requestDuration:0};if(n.entries.length){const r=n.entries[0],c=r.activationStart||0,s=Math.max((r.workerStart||r.fetchStart)-c,0),l=Math.max(r.domainLookupStart-c,0),g=Math.max(r.connectStart-c,0),f=Math.max(r.connectEnd-c,0);i={waitingDuration:s,cacheDuration:l-s,dnsDuration:g-l,connectionDuration:f-g,requestDuration:n.value-f,navigationEntry:r}}return Object.assign(n,{attribution:i})})(a))},e)};Ce(console.log);Le(console.log);Ae(console.log);xe(console.log);Pe(console.log);
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.