1(function(){'use strict';const UTM_COOKIE_NAME='zf_utm_params';const COOKIE_DAYS=30;const UTM_PARAMS=['utm_source','utm_medium','utm_campaign','utm_term','utm_content'];function getCookie(name){const value=`; ${document.cookie}`;const parts=value.split(`; ${name}=`);if(parts.length===2){return parts.pop().split(';').shift()} 2return null} 3function setCookie(name,value,days){const expires=new Date(Date.now()+days*864e5).toUTCString();document.cookie=`${name}=${encodeURIComponent(value)}; expires=${expires}; path=/; SameSite=Lax`} 4function captureUTMs(){if(getCookie(UTM_COOKIE_NAME)){return} 5const params=new URLSearchParams(window.location.search);const utmData={};UTM_PARAMS.forEach(param=>{if(params.has(param)){utmData[param]=params.get(param)}});if(Object.keys(utmData).length>0){setCookie(UTM_COOKIE_NAME,JSON.stringify(utmData),COOKIE_DAYS);console.log('UTMs captured:',utmData)}} 6captureUTMs()})()
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.