1var y=Object.defineProperty;var A=(t,e,i)=>e in t?y(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var m=(t,e,i)=>(A(t,typeof e!="symbol"?e+"":e,i),i),f=(t,e,i)=>{if(!e.has(t))throw TypeError("Cannot "+i)};var c=(t,e,i)=>(f(t,e,"read from private field"),i?i.call(t):e.get(t)),u=(t,e,i)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,i)},l=(t,e,i,n)=>(f(t,e,"write to private field"),n?n.call(t,i):e.set(t,i),i);import{c6 as v,c7 as w,G as T,E as p,i as d,bS as E,w as M,l as N,n as H,U as R,c5 as b}from"./index.3ec72d2e.js";import{H as _}from"./harvest-scheduler.67ce376d.js";import{A as C,c as g}from"./aggregate-base.0695104a.js";import{E as L}from"./event-buffer.9a33d263.js";import{a as P}from"./traverse.774c271e.js";import{I as k}from"./agent-constants.7157acc7.js";import{i as I}from"./iframe.6e3aba92.js";import"./shared-context.ae8b129f.js";import"./page-visibility.2f62fa7f.js";import"./info.d5329f52.js";import"./configure.2bbcfbcf.js";const D=t=>{if(!t)return;const e=s=>{try{let r=1;const{tagName:o}=s;for(;s.previousElementSibling;)s.previousElementSibling.tagName===o&&r++,s=s.previousElementSibling;return r}catch{}};let i="",n=e(t);try{for(;t?.tagName;){const{id:s,localName:r}=t;i=[r,s?"#".concat(s):"",i?">".concat(i):""].join(""),t=t.parentNode}}catch{}return i?n?"".concat(i,":nth-of-type(").concat(n,")"):i:void 0};class F{constructor(e,i){this.event=e,this.count=1,this.originMs=Math.floor(e.timeStamp),this.relativeMs=[0],this.selectorPath=i,this.rageClick=void 0}aggregate(e){this.count++,this.relativeMs.push(Math.floor(e.timeStamp-this.originMs)),this.isRageClick()&&(this.rageClick=!0)}isRageClick(){const e=this.relativeMs.length;return this.event.type==="click"&&e>=v&&this.relativeMs[e-1]-this.relativeMs[e-v]<w}}var a,h;class K{constructor(){u(this,a,void 0);u(this,h,"")}get aggregationEvent(){const e=c(this,a);return l(this,h,""),l(this,a,void 0),e}process(e){if(!e)return;const i=O(e),n=U(e,i);if(!!n&&n===c(this,h))c(this,a).aggregate(e);else{const s=c(this,a);return l(this,h,n),l(this,a,new F(e,i)),s}}}a=new WeakMap,h=new WeakMap;function O(t){let e;return T.includes(t.type)||t.target===window?e="window":t.target===document?e="document":e=D(t.target),e}function U(t,e){let i=t.type;return t.type!=="scrollend"&&(i+="-"+e),i}class x extends C{constructor(e){super(e,p),this.eventsPerHarvest=1e3,this.harvestTimeSeconds=e.init.generic_events.harvestTimeSeconds,this.referrerUrl=d&&document.referrer?g(document.referrer):void 0,this.events=new L,this.waitForFlags(["ins"]).then(([i])=>{if(!i){this.blocked=!0,this.deregisterDrain();return}const n=[];e.init.page_action.enabled&&E("api-addPageAction",(s,r,o)=>{this.addEvent({...o,eventType:"PageAction",timestamp:Math.floor(this.agentRef.runtime.timeKeeper.correctRelativeTimestamp(s)),timeSinceLoad:s/1e3,actionName:r,referrerUrl:this.referrerUrl,...d&&{browserWidth:window.document.documentElement?.clientWidth,browserHeight:window.document.documentElement?.clientHeight}})},this.featureName,this.ee),d&&e.init.user_actions.enabled&&(this.userActionAggregator=new K,this.addUserAction=s=>{try{if(s?.event){const{target:r,timeStamp:o,type:S}=s.event;this.addEvent({eventType:"UserAction",timestamp:Math.floor(this.agentRef.runtime.timeKeeper.correctRelativeTimestamp(o)),action:S,actionCount:s.count,actionDuration:s.relativeMs[s.relativeMs.length-1],actionMs:s.relativeMs,rageClick:s.rageClick,target:s.selectorPath,...I(window)&&{iframe:!0},...r?.id&&{targetId:r.id},...r?.tagName&&{targetTag:r.tagName},...r?.type&&{targetType:r.type},...r?.className&&{targetClass:r.className}})}}catch{}},E("ua",s=>{this.addUserAction(this.userActionAggregator.process(s))},this.featureName,this.ee),n.push((s={})=>{s.isFinalHarvest&&this.addUserAction(this.userActionAggregator.aggregationEvent)})),this.harvestScheduler=new _("ins",{onFinished:(...s)=>this.onHarvestFinished(...s)},this),this.harvestScheduler.harvest.on("ins",(...s)=>(n.forEach(r=>r(...s)),this.onHarvestStarted(...s))),this.harvestScheduler.startTimer(this.harvestTimeSeconds,0),this.drain()})}addEvent(e={}){if(!e||!Object.keys(e).length)return;if(!e.eventType){M(44);return}
1for(let s in e){let r=e[s];e[s]=r&&typeof r=="object"?N(r):r}const i={timestamp:Math.floor(this.agentRef.runtime.timeKeeper.correctRelativeTimestamp(H())),pageUrl:g(""+b),currentUrl:g(""+location)},n={...this.agentRef.info.jsAttributes||{},...i,...e};this.events.add(n),this.checkEventLimits()}onHarvestStarted(e){const{userAttributes:i,atts:n}=this.agentRef.info;if(!!this.events.hasData){var s={qs:{ua:i,at:n},body:P({ins:this.events.buffer},this.obfuscator.obfuscateString.bind(this.obfuscator),"string")};return e.retry?this.events.hold():this.events.clear(),s}}onHarvestFinished(e){e&&e?.sent&&e?.retry&&this.events.held.hasData?this.events.unhold():this.events.held.clear()}checkEventLimits(){this.events.bytes>k&&(this.ee.emit(R,["GenericEvents/Harvest/Max/Seen"]),this.harvestScheduler.runHarvest())}}m(x,"featureName",p);export{x as Aggregate};
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.