1"use strict";(()=>{e=Object.defineProperty,d=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,u=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},i=(t,n)=>{for(var s in n)e(t,s,{get:n[s],enumerable:!0})},a=(t,n,s,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of c(n))!u.call(t,i)&&i!==s&&e(t,i,{get:()=>n[i],enumerable:!(o=d(n,i))||o.enumerable});return t},r=t=>a(e({},"__esModule",{value:!0}),t),t={},i(t,{getReferrer:()=>v,parseReferrerData:()=>n});function j(e){let s=e.get("ref"),o=e.get("source"),t=e.get("utm_source"),n=e.get("utm_medium"),i=e.get("utm_term"),a=e.get("utm_campaign"),r=e.get("utm_content");return{source:s||o||t||null,medium:n||null,url:window.document.referrer||null,utmSource:t||null,utmMedium:n||null,utmTerm:i||null,utmCampaign:a||null,utmContent:r||null}}function n(e){let t=new URL(e||window.location.href),n=t.searchParams;return t.hash&&t.hash.includes("#/portal")&&(n=new URL(t.href.replace("/#/portal","")).searchParams),j(n)}function m(e){let{source:n,medium:s,url:o}=e,t=n||s||o||null;if(t)try{let e=new URL(t).hostname,n=window.location.hostname;if(e===n)return null}catch{return t}return t}function v(e){let t=n(e);return m(t)}var e,t,o,i,a,r,c,d,u,f=o(()=>{"use strict"}),s=(f(),r(t)),p=s.parseReferrerData,g=s.getReferrer,h="ghost-history",b=1440*60*1e3,l=15;(async function(){try{let a=window.sessionStorage,r=a.getItem(h),s=(new Date).getTime(),e=[];if(r)try{e=JSON.parse(r)}catch(e){console.warn("[Member Attribution] Error while parsing history",e)}let o=e.findIndex(e=>{if(!e.time||typeof e.time!="number")return!1;let t=s-e.time;return!(isNaN(e.time)||t>b)});o>0?e.splice(0,o):o===-1&&(e=[]);let t;try{t=p(window.location.href)}catch(e){console.error("[Member Attribution] Parsing referrer failed",e),t={source:null,medium:null,url:null}}let i={referrerSource:t.source,referrerMedium:t.medium,utmSource:t.utmSource,utmMedium:t.utmMedium,utmCampaign:t.utmCampaign,utmTerm:t.utmTerm,utmContent:t.utmContent},n;try{n=g(window.location.href),!n&&t.url&&(n=t.url)}catch(e){console.error("[Member Attribution] Getting final referrer failed",e),n=t.url}try{let o=new URL(window.location.href),t=o.searchParams;t.get("attribution_id")&&t.get("attribution_type")&&(e.push({time:s,id:t.get("attribution_id"),type:t.get("attribution_type"),...i,referrerUrl:n}),t.delete("attribution_id"),t.delete("attribution_type"),o.search="?"+t.toString(),window.history.replaceState({},"",`${o.pathname}${o.search}${o.hash}`))}catch(e){console.error("[Member Attribution] Parsing attribution from querystring failed",e)}let c=window.location.pathname;
1if(e.length===0||e[e.length-1].path!==c)e.push({path:c,time:s,...i,referrerUrl:n});else if(e.length>0){let t=e[e.length-1];t.time=s,Object.entries(i).forEach(([e,n])=>{n&&(t[e]=n)}),n&&(t.referrerUrl=n)}e.length>l&&(e=e.slice(-l)),a.setItem(h,JSON.stringify(e))}catch(e){console.error("[Member Attribution] Failed with error",e)}})()})()
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.