PageSourceSearch

https://www.goglobal.to/_next/static/chunks/2679-82fbf7a72ce64c99.js?dpl=local-build

js goglobal.to collected 2026-10-01 23:43:02 UTC 25,503 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2679],{12679:(t,e,i)=>{function s(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let e=16*Math.random()|0;return("x"===t?e:3&e|8).toString(16)})}function a(){return"sxxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let e=16*Math.random()|0;return("x"===t?e:3&e|8).toString(16)})}function n(t){let e="number"==typeof t?t:parseInt(t||"",10);return!Number.isFinite(e)||e<1?null:Math.min(Math.floor(e),1e6)}function r(t,e,i){let s=e.replace(/^\/+/,"").trim();if(i){let e="localhost"===i||i.startsWith("127.")?"http":"https";return`${e}://${i}/__app/${t}/${s}`}return`datafast://${t}/${s}`}function o(t,e){let i=e.replace(/^\/+/,"").trim(),s=i?`/${i}`:"",a="localhost"===t||t.startsWith("127.")?"http":"https";return`${a}://${t}${s}`}function l(t){return Date.now()-t>18e5}i.d(e,{rT:()=>b});var u=["gclid","gclsrc","wbraid","gbraid","li_fat_id","fbclid","msclkid","ttclid","twclid"];function d(t){return{log:(...e)=>{t&&console.log("[DataFast]",...e)},warn:(...e)=>{t&&console.warn("[DataFast]",...e)},error:(...t)=>{console.error("[DataFast]",...t)}}}var h="datafast_event_queue",c=class{constructor(t){this.queue=[],this.flushTimer=null,this.isFlushing=!1,this.storage=t.storage,this.network=t.network,this.apiUrl=t.apiUrl,this.userAgent=t.userAgent,this.origin=t.origin,this.flushInterval=t.flushInterval??3e4,this.maxQueueSize=t.maxQueueSize??20,this.onFlushError=t.onFlushError,this.onSuccessfulSend=t.onSuccessfulSend}
1async init(){try{let t=await this.storage.getItem(h);if(t){let e=JSON.parse(t);Array.isArray(e)&&(this.queue=e)}}catch{this.queue=[]}this.startFlushTimer(),this.network?.onConnectionChange&&this.network.onConnectionChange(t=>{t&&this.flush()})}async enqueue(t){let e={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,payload:t,timestamp:Date.now(),retries:0};this.queue.push(e),await this.persistQueue(),this.queue.length>=this.maxQueueSize&&this.flush()}async flush(){if(!this.isFlushing&&0!==this.queue.length){if(!this.network||await this.network.isConnected()){for(let t of(this.isFlushing=!0,[...this.queue]))try{await this.sendEvent(t.payload),this.queue=this.queue.filter(e=>e.id!==t.id)}catch(e){t.retries++,t.retries>=3&&(this.queue=this.queue.filter(e=>e.id!==t.id),this.onFlushError&&this.onFlushError(e,t))}await this.persistQueue(),this.isFlushing=!1}}}async sendEvent(t){let e={"Content-Type":"application/json"};this.userAgent&&(e["User-Agent"]=this.userAgent),this.origin&&(e.Origin=this.origin);let i=await fetch(this.apiUrl,{method:"POST",headers:e,body:JSON.stringify(t)});if(!i.ok)throw Error(`HTTP ${i.status}`);let s=null;try{let t=await i.text();t&&(s=JSON.parse(t))}catch{}this.onSuccessfulSend?.(t,s)}async persistQueue(){try{await this.storage.setItem(h,JSON.stringify(this.queue))}catch{}}startFlushTimer(){this.flushTimer&&clearInterval(this.flushTimer),this.flushTimer=setInterval(()=>{this.flush()},this.flushInterval)}async shutdown(){this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=null),await this.flush()}get size(){return this.queue.length}async clear(){this.queue=[],await this.persistQueue()}},g={VISITOR_ID:"datafast_visitor_id",SESSION_ID:"datafast_session_id",SESSION_START:"datafast_session_start",VISITOR_FIRST_SEEN_AT:"datafast_visitor_first_seen_at",VISITOR_SESSION_COUNT:"datafast_visitor_session_count",IGNORE_TRACKING:"datafast_ignore"},f=class{constructor(){this.state={initialized:!1,visitorId:null,sessionId:null,visitorFirstSeenAt:null,visitorSessionNumber:null,sessionStartTime:null,lastScreenName:null,lastPageviewUrl:null,lastPageviewTime:null,config:null,deviceInfo:null},this.queue=null,this.logger=d(!1)}async init(t){if(this.state.initialized)return void this.logger.warn("SDK already initialized");if(!t.appId)throw Error("[DataFast] appId is required");if(!t.domain)throw Error("[DataFast] domain is required");if(!t.storage)throw Error("[DataFast] storage adapter is required");if(!t.platform)throw Error("[DataFast] platform is required");if(this.state.config=t,this.logger=d(t.debug??!1),"true"===await t.storage.getItem(g.IGNORE_TRACKING))return void this.logger.log("Tracking disabled via user opt-out");await this.initVisitorId(),await this.initVisitorMetadata(),await this.initSessionId(),t.cookieless&&this.state.visitorId&&t.onCookielessVisitorId?.(this.state.visitorId);let e=t.apiUrl??"https://datafa.st/api/events",i=function(t){if("web"===t.platform)return;if(t.origin&&t.origin.trim()){let e=t.origin.trim();return/^https?:\/\//i.test(e)?e:`https://${e}`}let e=t.domain;if(/^https?:\/\//i.test(e))return e;let i="localhost"===e||e.startsWith("127.")||e.startsWith("192.168.")||e.startsWith("10.")||e.startsWith("::1");return`${i?"http":"https"}://${e}`}(t),s="web"===t.platform?void 0:function(t,e,i,s){if("ios"===e){let e=i.replace(/\./g,"_");return`Mozilla/5.0 (iPhone; CPU iPhone OS ${e} like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) DataFast/${t} Mobile`}return"android"===e?`Mozilla/5.0 (Linux; Android ${i}; ${s}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36`:`Mozilla/5.0 (compatible; DataFast/${t})`}("1.0.0",t.platform,t.osVersion??"0.0","Unknown");this.queue=new c({storage:t.storage,network:t.network,apiUrl:e,userAgent:s,origin:i,flushInterval:t.flushInterval,maxQueueSize:t.maxQueueSize,onFlushError:(t,e)=>{this.logger.error("Failed to send event:",t,e.payload.type)},onSuccessfulSend:(t,e)=>{this.onEventSendSuccess(e)}}),await this.queue.init(),this.state.initialized=!0,this.logger.log("SDK initialized",{visitorId:this.state.visitorId,sessionId:this.state.sessionId})}async trackScreen(t,e){if(!this.isReady())return;if(!t||"string"!=typeof t)return void this.logger.warn("trackScreen requires a screen name");let i=this.state.config;await this.ensureActiveSession();let s=this.buildBasePayload("pageview",t,e?.href);if(this.state.lastPageviewUrl===s.href&&this.state.lastPageviewTime&&Date.now()-this.state.lastPageviewTime<6e4)return void this.logger.log("Pageview throttled (same URL within 60s):",s.href);let a=null;this.state.lastScreenName?a="web"===i.platform?o(i.domain,this.state.lastScreenName):r(i.platform,this.state.lastScreenName,i.domain):"web"===i.platform&&"undefined"!=typeof document&&document.referrer&&(a=document.referrer),s.referrer=a,await this.queue.enqueue(s),this.state.lastScreenName=t,this.state.lastPageviewUrl=s.href,this.state.lastPageviewTime=Date.now(),this.logger.log("Screen tracked:",t)}async track(t,e){if(!this.isReady())return;if(!(t&&"string"==typeof t&&0!==t.length&&!(t.length>64)&&/^[a-z0-9_:-]+$/.test(t.toLowerCase())))return void this.logger.warn("Invalid event name. Use lowercase alphanumeric with _, -, or :, max 64 chars:",t);let i=function(t){if(!t||"object"!=typeof t||Array.isArray(t))return{};let e={},i=Object.entries(t);if(i.length>
110)return console.warn("[DataFast] Maximum 10 custom properties allowed"),null;for(let[t,s]of i){if("eventName"===t)continue;if(!t||"string"!=typeof t||t.length>64)return console.warn(`[DataFast] Invalid property name: ${t}`),null;if(!/^[a-z0-9_-]+$/i.test(t))return console.warn(`[DataFast] Property name must be alphanumeric with _ or -: ${t}`),null;let i=null==s?"":String(s);i.length>255&&(i=i.substring(0,255)),i=i.replace(/[<>'"&]/g,"").replace(/javascript:/gi,"").replace(/on\w+=/gi,"").trim(),e[t.toLowerCase()]=i}return e}(e??{});if(null===i)return void this.logger.warn("Custom properties validation failed");let s=this.state.lastScreenName??"Unknown";await this.ensureActiveSession();let a=this.buildBasePayload("custom",s);a.extraData={eventName:t.toLowerCase(),...i},await this.queue.enqueue(a),this.logger.log("Event tracked:",t,i)}async identify(t,e){if(!this.isReady())return;if(!t||"string"!=typeof t)return void this.logger.warn("identify requires a user_id");let i=this.state.lastScreenName??"Unknown";await this.ensureActiveSession();let s=this.buildBasePayload("identify",i);s.extraData={user_id:t,name:e?.name??"",image:e?.image??"",...e},await this.queue.enqueue(s),this.logger.log("User identified:",t)}async trackPayment(t){if(!this.isReady())return;if(!("string"==typeof t.email&&t.email.length>0||"string"==typeof t.stripe_session_id&&t.stripe_session_id.length>0||"string"==typeof t.lemonsqueezy_order_id&&t.lemonsqueezy_order_id.length>0||"string"==typeof t.polar_checkout_id&&t.polar_checkout_id.length>0||"string"==typeof t.paddle_transaction_id&&t.paddle_transaction_id.length>0))return void this.logger.warn("trackPayment requires one of: email, stripe_session_id, lemonsqueezy_order_id, polar_checkout_id, paddle_transaction_id");let e=this.state.lastScreenName??"Unknown";await this.ensureActiveSession();let i=this.buildBasePayload("payment",e);i.extraData={...t.email&&{email:t.email},...void 0!==t.amount&&{amount:t.amount},...t.currency&&{currency:t.currency},...t.stripe_session_id&&{stripe_session_id:t.stripe_session_id},...t.lemonsqueezy_order_id&&{lemonsqueezy_order_id:t.lemonsqueezy_order_id},...t.polar_checkout_id&&{polar_checkout_id:t.polar_checkout_id},...t.paddle_transaction_id&&{paddle_transaction_id:t.paddle_transaction_id}},await this.queue.enqueue(i),this.logger.log("Payment tracked")}async trackExternalLink(t,e){if(!this.isReady())return;if(!t||"string"!=typeof t)return void this.logger.warn("trackExternalLink requires a URL");let i=this.state.lastScreenName??"Unknown";await this.ensureActiveSession();let s=this.buildBasePayload("external_link",i);s.extraData={url:t,...e&&{text:e}},await this.queue.enqueue(s),this.logger.log("External link tracked:",t)}async flush(){this.queue&&await this.queue.flush()}async resetSession(){if(!this.state.config)return;let t=a(),e=Date.now();this.state.sessionId=t,this.state.sessionStartTime=e,this.state.visitorSessionNumber=this.state.config.cookieless?0:await this.incrementVisitorSessionNumber(),this.state.lastScreenName=null,this.state.lastPageviewUrl=null,this.state.lastPageviewTime=null,await this.state.config.storage.setItem(g.SESSION_ID,t),await this.state.config.storage.setItem(g.SESSION_START,e.toString()),this.logger.log("Session reset:",t)}async reset(){if(!this.state.config)return;let t=!!this.state.config.cookieless,e=a(),i=Date.now(),n=null;if(t)this.state.visitorId=null,this.state.visitorFirstSeenAt=null,this.state.visitorSessionNumber=null,await this.state.config.storage.removeItem(g.VISITOR_ID),await this.state.config.storage.removeItem(g.VISITOR_FIRST_SEEN_AT),await this.state.config.storage.removeItem(g.VISITOR_SESSION_COUNT),this.state.config.onCookielessVisitorId?.("");else{let t=s();n=t,this.state.visitorId=t,this.state.visitorFirstSeenAt=new Date(i).toISOString(),this.state.visitorSessionNumber=1,await this.state.config.storage.setItem(g.VISITOR_ID,t),await this.state.config.storage.setItem(g.VISITOR_FIRST_SEEN_AT,this.state.visitorFirstSeenAt),await this.state.config.storage.setItem(g.VISITOR_SESSION_COUNT,"1")}this.state.sessionId=e,this.state.sessionStartTime=i,this.state.lastScreenName=null,this.state.lastPageviewUrl=null,this.state.lastPageviewTime=null,await this.state.config.storage.setItem(g.SESSION_ID,e),await this.state.config.storage.setItem(g.SESSION_START,i.toString()),this.queue&&await this.queue.clear(),this.logger.log("Visitor reset:",t?"cookieless":n)}async optOut(){this.state.config&&(await this.state.config.storage.setItem(g.IGNORE_TRACKING,"true"),this.state.initialized=!1,this.queue&&(await this.queue.clear(),await this.queue.shutdown()),this.logger.log("User opted out of tracking"))}async optIn(){this.state.config&&(await this.state.config.storage.removeItem(g.IGNORE_TRACKING),this.logger.log("User opted back into tracking. Call init() to restart."))}setDeviceInfo(t){this.state.deviceInfo={platform:t.platform??this.state.config?.platform??"ios",osVersion:t.osVersion??"0.0",deviceModel:t.deviceModel??"Unknown",appVersion:t.appVersion??this.state.config?.appVersion??"1.0.0",screenWidth:t.screenWidth??0,screenHeight:t.screenHeight??0,viewport:t.viewport??{width:0,height:0},language:t.language??"en",timezone:t.timezone??"UTC"}}getVisitorId(){return this.state.visitorId}getSessionId(){return this.state.sessionId}getVisitorFirstSeenAt(){return this.state.visitorFirstSeenAt}getVisitorSessionNumber(){return this.state.visitorSessionNumber}isInitialized(){return this.state.initialized}isCookieless(){return!!this.state.config?.cookieless}async shutdown(){this.queue&&await this.queue.shutdown(),this.state.initialized=!1}isReady(){return!!this.state.initialized||(this.logger.warn("SDK not initialized. Call init() first."),!1)}async initVisitorId(){var t;let e=this.state.config;if(e.cookieless){let t=await e.storage.getItem(g.VISITOR_ID);this.state.visitorId=t&&t.length>0?t:null;return}let i=await e.storage.getItem(g.VISITOR_ID);i&&(t=i)&&"string"==typeof t&&36===t.length&&/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)||(i=s(),await e.storage.setItem(g.VISITOR_ID,i)),this.state.visitorId=i}async initVisitorMetadata(){let t=this.state.config;if(t.cookieless){this.state.visitorFirstSeenAt=null,this.state.visitorSessionNumber=null;return}let e=await t.storage.getItem(g.VISITOR_FIRST_SEEN_AT);!function(t){if(!t||"string"!=typeof t)return!1;let e=Date.parse(t);return Number.isFinite(e)&&e>0}(e)&&(e=new Date().toISOString(),await t.storage.setItem(g.VISITOR_FIRST_SEEN_AT,e));let i=n(await t.storage.getItem(g.VISITOR_SESSION_COUNT));this.state.visitorFirstSeenAt=e,this.state.visitorSessionNumber=i}async initSessionId(){var t;let e=this.state.config,i=await e.storage.getItem(g.SESSION_ID),s=await e.storage.getItem(g.SESSION_START),n=s?parseInt(s,10):0,r=!i||!((t=i)&&"string"==typeof t&&37===t.length&&/^s[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)),o=!e.cookieless&&l(n);if(r||o){i=a();let t=Date.now();await e.storage.setItem(g.SESSION_ID,i),await e.storage.setItem(g.SESSION_START,t.toString()),this.state.sessionStartTime=t,this.state.visitorSessionNumber=e.cookieless?0:await this.incrementVisitorSessionNumber()}else this.state.sessionStartTime=n,e.cookieless||this.state.visitorSessionNumber||(this.state.visitorSessionNumber=1,await e.storage.setItem(g.VISITOR_SESSION_COUNT,"1"));this.state.sessionId=i}async incrementVisitorSessionNumber(){let t=this.state.config,e=Math.min((n(this.state.visitorSessionNumber??await t.storage.getItem(g.VISITOR_SESSION_COUNT))??0)+1,1e6);return await t.storage.setItem(g.VISITOR_SESSION_COUNT,e.toString()),e}async ensureActiveSession(){let t=this.state.config;if(!this.state.sessionId)return void await this.initSessionId();let e=Date.now();if(!t.cookieless&&l(this.state.sessionStartTime||0)){let i=a();this.state.sessionId=i,this.state.sessionStartTime=e,this.state.visitorSessionNumber=await this.incrementVisitorSessionNumber(),await t.storage.setItem(g.SESSION_ID,i),await t.storage.setItem(g.SESSION_START,e.toString());return}this.state.sessionStartTime=e,await t.storage.setItem(g.SESSION_ID,this.state.sessionId),await t.storage.setItem(g.SESSION_START,e.toString())}async onEventSendSuccess(t){if(!this.state.config?.cookieless||!t||"object"!=typeof t)return;let e=t.visitorId;"string"==typeof e&&e&&(this.state.visitorId=e,await this.state.config.storage.setItem(g.VISITOR_ID,e),this.state.config.onCookielessVisitorId?.(e),this.logger.log("Cookieless visitor id from server",e))}buildBasePayload(t,e,i){let a=this.state.config,n=this.state.deviceInfo,l=i??("web"===a.platform?o(a.domain,e):r(a.platform,e,a.domain)),d="web"===a.platform?function(t){if(t&&"string"==typeof t)try{let e=new URL(t);if("http:"!==e.protocol&&"https:"!==e.protocol)return;let i={};for(let t of u){let s=e.searchParams.get(t);s&&(i[t]=s)}return Object.keys(i).length>0?i:void 0}catch{return}}(l):void 0,h={websiteId:a.appId,domain:a.domain,visitorId:a.cookieless?s():this.state.visitorId,sessionId:this.state.sessionId,visitorFirstSeenAt:a.cookieless?void 0:this.state.visitorFirstSeenAt||void 0,visitorSessionNumber:a.cookieless?0:this.state.visitorSessionNumber||0,href:l,referrer:null,type:t,viewport:n?.viewport??{width:0,height:0},language:n?.language??"en",timezone:n?.timezone??"UTC",screenWidth:n?.screenWidth??0,screenHeight:n?.screenHeight??0,device:n?{platform:n.platform,osVersion:n.osVersion,model:n.deviceModel}:void 0};return a.cookieless&&(h.cookieless=!0),d&&(h.adClickIds=d),h}},m=null;function w(t){let e=(t??("undefined"!=typeof window?window.location.hostname:"")).toLowerCase();return!!e&&!!(["localhost","127.0.0.1","::1"].includes(e)||/^127(\.\d+){0,3}$/.test(e)||/^(\[)?::1?\]?$/.test(e)||e.endsWith(".local")||e.endsWith(".localhost"))}function _(t,e,i,s){let a="";if(i){let t=new Date;t.setTime(t.getTime()+24*i*36e5),a="; expires="+t.toUTCString()}
1let n=t+"="+encodeURIComponent(e)+a+"; path=/";if(!w(window.location.hostname)&&"file:"!==window.location.protocol){let t=window.location.hostname;t===s||t.endsWith("."+s)?n+="; domain=."+s.replace(/^\./,""):n+="; domain=."+t.replace(/^\./,"")}document.cookie=n}var S={datafast_visitor_id:365,datafast_visitor_first_seen_at:365,datafast_visitor_session_count:365,datafast_session_id:1/48,datafast_session_start:1/48},I={datafast_visitor_id:!0,datafast_session_id:!0,datafast_session_start:!0};function v(){return{async getItem(t){try{return localStorage.getItem(t)}catch(t){return console.warn("[DataFast] localStorage.getItem failed:",t),null}},async setItem(t,e){try{localStorage.setItem(t,e)}catch(t){console.warn("[DataFast] localStorage.setItem failed:",t)}},async removeItem(t){try{localStorage.removeItem(t)}catch(t){console.warn("[DataFast] localStorage.removeItem failed:",t)}}}}var p=async()=>{};function y(t,e){return e&&console.warn(`[DataFast] Tracking disabled: ${t}`),{init:p,trackScreen:p,trackPageview:p,track:p,identify:p,trackPayment:p,trackExternalLink:p,flush:p,resetSession:p,reset:p,optOut:p,optIn:p,shutdown:p,setDeviceInfo:t=>{},getVisitorId:()=>null,getSessionId:()=>null,isCookieless:()=>!1,isInitialized:()=>!1,getTrackingParams:()=>({_df_vid:"",_df_sid:""}),buildCrossDomainUrl:t=>t}}var k=null;function T(t){let{pathname:e,search:i,hash:s}=window.location;return`${e}${i}${t?s:""}`}async function b(t){var e;let i,s=t.debug??!1;if(function(){if("undefined"==typeof window||"undefined"==typeof navigator)return!0;try{let t=window.navigator;if(!0===t.webdriver||window.callPhantom||window._phantom||window.__nightmare||!t.userAgent||""===t.userAgent||"undefined"===t.userAgent||t.userAgent.length<5)return!0;let e=t.userAgent.toLowerCase();if(["headlesschrome","phantomjs","selenium","webdriver","puppeteer","playwright"].some(t=>e.includes(t)))return!0;let i=window;if(["__webdriver_evaluate","__selenium_evaluate","__webdriver_script_function","__webdriver_unwrapped","__fxdriver_evaluate","__driver_evaluate","_Selenium_IDE_Recorder","_selenium","calledSelenium","$cdc_asdjflasutopfhvcZLmcfl_"].some(t=>void 0!==i[t]))return!0;let s=document.documentElement;if(s&&(s.getAttribute("webdriver")||s.getAttribute("selenium")||s.getAttribute("driver"))||["python","curl","wget","java/","go-http","node.js","axios","postman"].some(t=>e.includes(t)))return!0}catch{}return!1}())return y("bot detected",s);if(function(){if("undefined"==typeof window)return!1;try{return window!==window.parent}catch{return!0}}()&&!t.allowIframe)return y("inside an iframe",s);if((w()||"undefined"!=typeof window&&"file:"===window.location.protocol)&&!t.allowLocalhost)return y("localhost or file:// protocol",s);let a=t.domain??("undefined"!=typeof window?window.location.hostname:"unknown"),n=t.cookieless??!1,r=function(){try{let t=new URL(window.location.href);return{vid:t.searchParams.get("_df_vid"),sid:t.searchParams.get("_df_sid"),vfs:t.searchParams.get("_df_vfs"),vsn:function(t){let e=parseInt(t||"",10);return!Number.isFinite(e)||e<1?null:Math.min(e,1e6).toString()}(t.searchParams.get("_df_vsn"))}}catch{return{vid:null,sid:null,vfs:null,vsn:null}}}();if(r.vid||r.sid||r.vfs||r.vsn){!n&&(r.vid&&_("datafast_visitor_id",r.vid,365,a),r.sid&&(_("datafast_session_id",r.sid,1/48,a),_("datafast_session_start",Date.now().toString(),1/48,a)),function(t){if(!t)return!1;let e=Date.parse(t);return Number.isFinite(e)&&e>0}(r.vfs)&&_("datafast_visitor_first_seen_at",r.vfs,365,a),r.vsn&&_("datafast_visitor_session_count",r.vsn,365,a));try{let t=new URL(window.location.href);(t.searchParams.has("_df_vid")||t.searchParams.has("_df_sid")||t.searchParams.has("_df_vfs")||t.searchParams.has("_df_vsn"))&&(t.searchParams.delete("_df_vid"),t.searchParams.delete("_df_sid"),t.searchParams.delete("_df_vfs"),t.searchParams.delete("_df_vsn"),window.history.replaceState({},"",t.toString()))}catch{}}try{localStorage.setItem("__datafast_test__","test"),localStorage.removeItem("__datafast_test__"),i=n?function(t){let e=v(),i=new Map;return{async getItem(t){if(t in I){let e=function(t){try{let e=sessionStorage.getItem(t);if(e)return e}catch{}return i.get(t)??null}(t);return e||(i.get(t)??null)}return e.getItem(t)},setItem:async(t,s)=>t in I?void function(t,e){try{sessionStorage.setItem(t,e),i.delete(t)}catch{i.set(t,e)}}(t,s):e.setItem(t,s),removeItem:async t=>t in I?void function(t){try{sessionStorage.removeItem(t)}catch{}i.delete(t)}(t):e.removeItem(t)}}(0):function(t){let e=v();return{async getItem(i){if(i in S){let s=function(t){let e=t+"=",i=document.cookie.split(";");for(let t=0;t<i.length;t++){let s=i[t];for(;" "===s.charAt(0);)s=s.substring(1);if(0===s.indexOf(e))return decodeURIComponent(s.substring(e.length))}return null}(i);if(s)return s;let a=await e.getItem(i);if(a){_(i,a,S[i],t);try{localStorage.removeItem(i)}catch{}}return a}return e.getItem(i)}
1,async setItem(i,s){if(i in S){_(i,s,S[i],t);try{localStorage.removeItem(i)}catch{}return}return e.setItem(i,s)},async removeItem(i){if(i in S){_(i,"",-1,t);try{localStorage.removeItem(i)}catch{}return}return e.removeItem(i)}}}(a)}catch{console.warn("[DataFast] localStorage not available, using in-memory storage"),i=function(){let t=new Map;return{getItem:async e=>t.get(e)??null,async setItem(e,i){t.set(e,i)},async removeItem(e){t.delete(e)}}}()}let o=function(){let t="undefined"==typeof window?{width:0,height:0}:{width:window.innerWidth||0,height:window.innerHeight||0},e="undefined"!=typeof window&&window.screen?{width:window.screen.width||0,height:window.screen.height||0}:{width:0,height:0};return{platform:"web",osVersion:"undefined"==typeof navigator?"Unknown":navigator.userAgent||"Unknown",deviceModel:"Browser",appVersion:"1.0.0",screenWidth:e.width,screenHeight:e.height,viewport:t,language:"undefined"==typeof navigator?"en":navigator.language||"en",timezone:(()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC"}catch{return"UTC"}})()}}(),l=(m||(m=new f),m);await l.init({appId:t.websiteId,domain:a,storage:i,network:{isConnected:async()=>!0,onConnectionChange(t){let e=()=>t(!0),i=()=>t(!1);return window.addEventListener("online",e),window.addEventListener("offline",i),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",i)}}},platform:"web",apiUrl:t.apiUrl,debug:s,flushInterval:t.flushInterval??5e3,maxQueueSize:t.maxQueueSize??10,cookieless:n,onCookielessVisitorId:t.onCookielessVisitorId??(n?t=>{try{let e=window;e.datafast=e.datafast??{},t?e.datafast.visitorId=t:delete e.datafast.visitorId}catch{}}:void 0)}),l.setDeviceInfo(o),function(t){if("undefined"==typeof window)return()=>{};let e=()=>{t({width:window.innerWidth||0,height:window.innerHeight||0})};window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}(t=>{l.setDeviceInfo({...o,viewport:t})}),l.trackPageview=async t=>{if(t)await l.trackScreen(t);else{let t="undefined"!=typeof window?window.location.href:void 0,e="undefined"!=typeof window?window.location.pathname:"/";await l.trackScreen(e,{href:t})}},l.getTrackingParams=()=>l.isCookieless()?{_df_vid:"",_df_sid:"",_df_vfs:"",_df_vsn:""}:{_df_vid:l.getVisitorId()??"",_df_sid:l.getSessionId()??"",_df_vfs:l.getVisitorFirstSeenAt()??"",_df_vsn:l.getVisitorSessionNumber()?.toString()??""},l.buildCrossDomainUrl=t=>{if(l.isCookieless())return t;try{let e=new URL(t),i=l.getVisitorId(),s=l.getSessionId(),a=l.getVisitorFirstSeenAt(),n=l.getVisitorSessionNumber();return i&&e.searchParams.set("_df_vid",i),s&&e.searchParams.set("_df_sid",s),a&&e.searchParams.set("_df_vfs",a),n&&e.searchParams.set("_df_vsn",n.toString()),e.toString()}catch{return t}};let u=(e=t.autoCapturePageviews)?!0===e?{enabled:!0,trackHashChanges:!1,captureInitialPageview:!0,debounceMs:100}:{enabled:e.enabled??!0,trackHashChanges:e.trackHashChanges??!1,captureInitialPageview:e.captureInitialPageview??!0,debounceMs:e.debounceMs??100}:{enabled:!1,trackHashChanges:!1,captureInitialPageview:!0,debounceMs:100};return u.enabled?!function(t,e){if("undefined"==typeof window)return;k&&k();let i=T(e.trackHashChanges),s=null,a=()=>{let s=T(e.trackHashChanges);s!==i&&(i=s,t.trackPageview())},n=()=>{s&&clearTimeout(s),s=setTimeout(a,e.debounceMs)};e.captureInitialPageview&&t.trackPageview();let r=window.history.pushState,o=window.history.replaceState;window.history.pushState=function(...t){r.apply(this,t),n()},window.history.replaceState=function(...t){o.apply(this,t),n()},window.addEventListener("popstate",n),e.trackHashChanges&&window.addEventListener("hashchange",n),k=()=>{s&&clearTimeout(s),window.history.pushState=r,window.history.replaceState=o,window.removeEventListener("popstate",n),e.trackHashChanges&&window.removeEventListener("hashchange",n),k=null}}(l,u):k&&k(),l}}}]);

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.