alphana-sdk 1.0.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -33
- package/dist/alphana-sdk.global.js +23 -1
- package/dist/index.d.mts +212 -6
- package/dist/index.d.ts +212 -6
- package/dist/index.js +22 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +22 -2
- package/dist/index.mjs.map +1 -1
- package/dist/react/index.d.mts +228 -6
- package/dist/react/index.d.ts +228 -6
- package/dist/react/index.js +23 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +23 -1
- package/dist/react/index.mjs.map +1 -1
- package/package.json +3 -2
package/dist/react/index.js
CHANGED
|
@@ -1,2 +1,24 @@
|
|
|
1
|
-
"use strict";var b=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var j=(r,t)=>{for(var e in t)b(r,e,{get:t[e],enumerable:!0})},z=(r,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of A(t))!B.call(r,n)&&n!==e&&b(r,n,{get:()=>t[n],enumerable:!(i=V(t,n))||i.enumerable});return r};var W=r=>z(b({},"__esModule",{value:!0}),r);var q={};j(q,{UserTrackerProvider:()=>L,useFeatureFlagEnabled:()=>M,useFeatureFlags:()=>P,useHeatmapData:()=>D,usePageView:()=>F,usePageViews:()=>U,useTimeSpent:()=>N,useTracker:()=>O});module.exports=W(q);var w=require("react");var S="__ut_vid__";function l(){return typeof crypto!="undefined"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{let t=Math.random()*16|0;return(r==="x"?t:t&3|8).toString(16)})}function I(){if(typeof localStorage=="undefined")return l();try{let r=localStorage.getItem(S);if(r)return r;let t=l();return localStorage.setItem(S,t),t}catch(r){return l()}}var C="__ut_last_pv_path__",H="__ut_last_pv_entry_ms__";function R(r){if(typeof sessionStorage=="undefined")return null;try{return sessionStorage.getItem(r)}catch(t){return null}}function x(r,t){if(typeof sessionStorage!="undefined")try{sessionStorage.setItem(r,t)}catch(e){}}function K(r,t){x(C,r),x(H,String(t))}function Y(){if(typeof performance=="undefined")return;let t=performance.getEntriesByType("navigation")[0];if(t!=null&&t.type)return t.type;let e=performance.navigation;if((e==null?void 0:e.type)===2)return"back_forward"}var u=class u{constructor({emit:t,sessionId:e}){this.previousPath="";this.originalPushState=null;this.originalReplaceState=null;this.pageEntryTime=0;this.handlePopState=()=>{this.handleNavigation()};this.emit=t,this.sessionId=e}init(){let t=window.location.pathname+window.location.search;Y()==="back_forward"&&this.tryEmitMpaHistoryTraversalUturn(t),this.recordPageView(t),window.addEventListener("popstate",this.handlePopState),this.originalPushState=history.pushState.bind(history);let e=this.originalPushState;history.pushState=(n,s,a)=>{e(n,s,a),this.handleNavigation()},this.originalReplaceState=history.replaceState.bind(history);let i=this.originalReplaceState;history.replaceState=(n,s,a)=>{i(n,s,a),this.handleNavigation()}}destroy(){window.removeEventListener("popstate",this.handlePopState),this.originalPushState&&(history.pushState=this.originalPushState),this.originalReplaceState&&(history.replaceState=this.originalReplaceState)}tryEmitMpaHistoryTraversalUturn(t){let e=R(C),i=R(H),n=i?Number(i):0;if(!e||!Number.isFinite(n)||n<=0||e===t)return;let s=Date.now()-n;s<0||s>u.UTURN_THRESHOLD_MS||this.emitUturn(e,t,s)}handleNavigation(){let t=window.location.pathname+window.location.search;if(t!==this.previousPath){if(this.previousPath&&this.pageEntryTime>0){let e=Date.now()-this.pageEntryTime;e<=u.UTURN_THRESHOLD_MS&&this.emitUturn(this.previousPath,t,e)}this.recordPageView(t)}}emitUturn(t,e,i){this.emit({type:"uturn",data:{fromPath:t,toPath:e,timeOnPageMs:i,timestamp:Date.now(),sessionId:this.sessionId}})}recordPageView(t){this.previousPath=t,this.pageEntryTime=Date.now(),K(t,this.pageEntryTime),this.emit({type:"pageview",data:{path:t,title:document.title,timestamp:Date.now(),sessionId:this.sessionId,referrer:document.referrer||void 0}}),window.dispatchEvent(new CustomEvent("tracker:navigate",{detail:{path:t,title:document.title}}))}};u.UTURN_THRESHOLD_MS=5e3;var p=u;var g=class{constructor({emit:t,sessionId:e}){this.currentPath="";this.startTime=0;this.tracking=!1;this.handleNavigate=t=>{this.stopTracking(),this.currentPath=t.detail.path,this.startTracking()};this.handleVisibilityChange=()=>{document.hidden?this.stopTracking():this.startTracking()};this.handleUnload=()=>{this.stopTracking()};this.emit=t,this.sessionId=e}init(){this.currentPath=window.location.pathname+window.location.search,this.startTracking(),window.addEventListener("tracker:navigate",this.handleNavigate),document.addEventListener("visibilitychange",this.handleVisibilityChange),window.addEventListener("beforeunload",this.handleUnload),window.addEventListener("pagehide",this.handleUnload)}destroy(){this.stopTracking(),window.removeEventListener("tracker:navigate",this.handleNavigate),document.removeEventListener("visibilitychange",this.handleVisibilityChange),window.removeEventListener("beforeunload",this.handleUnload),window.removeEventListener("pagehide",this.handleUnload)}startTracking(){this.startTime=Date.now(),this.tracking=!0}stopTracking(){if(!this.tracking||!this.currentPath)return;let t=Date.now()-this.startTime;if(t<100){this.tracking=!1;return}this.emit({type:"timespent",data:{path:this.currentPath,duration:t,sessionId:this.sessionId,timestamp:Date.now()}}),this.tracking=!1}};function k(r,t){let e=0;return(...i)=>{let n=Date.now();n-e>=t&&(e=n,r(...i))}}var c=class c{constructor({emit:t,sessionId:e,sampleRate:i=.3,maxPoints:n=2e3,allowedPaths:s}){this.currentPath="";this.pointCounts={};this.recentClicks=[];this.handleMouseMove=t=>{if(Math.random()>this.sampleRate)return;let e=document.documentElement.scrollWidth,i=document.documentElement.scrollHeight,n=t.clientY+window.scrollY;this.recordPoint({x:t.clientX,y:n,xPct:e>0?t.clientX/e*100:0,yPct:i>0?n/i*100:0,pw:e,ph:i,type:"move"})};this.handleClick=t=>{if(Date.now()-this.lastTouchTime<500)return;let e=document.documentElement.scrollWidth,i=document.documentElement.scrollHeight,n=t.clientY+window.scrollY,s=this.getClickTarget(t);this.recordPoint({x:t.clientX,y:n,xPct:e>0?t.clientX/e*100:0,yPct:i>0?n/i*100:0,pw:e,ph:i,type:"click",...s?{target:s}:{}}),this.checkRageClick(t.clientX,n,this.currentPath)};this.lastTouchTime=0;this.handleTouchEnd=t=>{let e=t.changedTouches[0];if(!e)return;let i=document.documentElement.scrollWidth,n=document.documentElement.scrollHeight,s=e.clientY+window.scrollY;this.lastTouchTime=Date.now(),this.recordPoint({x:e.clientX,y:s,xPct:i>0?e.clientX/i*100:0,yPct:n>0?s/n*100:0,pw:i,ph:n,type:"click"}),this.checkRageClick(e.clientX,s,this.currentPath)};this.handleScroll=()=>{if(Math.random()>this.sampleRate)return;let t=document.documentElement.scrollWidth,e=document.documentElement.scrollHeight,i=window.innerWidth,n=window.scrollX,s=window.scrollY,a=n+i/2;this.recordPoint({x:i/2,y:s,xPct:t>0?a/t*100:50,yPct:e>0?s/e*100:0,pw:t,ph:e,type:"scroll"})};this.handleNavigate=t=>{this.currentPath=t.detail.path};this.emit=t,this.sessionId=e,this.sampleRate=i,this.maxPoints=n,this.allowedPaths=s&&s.length>0?new Set(s):null,this.throttledMouseMove=k(this.handleMouseMove,50),this.throttledScroll=k(this.handleScroll,100)}init(){this.currentPath=window.location.pathname+window.location.search,document.addEventListener("mousemove",this.throttledMouseMove),document.addEventListener("click",this.handleClick),document.addEventListener("touchend",this.handleTouchEnd,{passive:!0}),window.addEventListener("scroll",this.throttledScroll,{passive:!0}),window.addEventListener("tracker:navigate",this.handleNavigate)}destroy(){document.removeEventListener("mousemove",this.throttledMouseMove),document.removeEventListener("click",this.handleClick),document.removeEventListener("touchend",this.handleTouchEnd),window.removeEventListener("scroll",this.throttledScroll),window.removeEventListener("tracker:navigate",this.handleNavigate)}canRecord(){var t;return this.allowedPaths!==null&&!this.allowedPaths.has(this.currentPath)?!1:((t=this.pointCounts[this.currentPath])!=null?t:0)<this.maxPoints}recordPoint(t){var e;this.canRecord()&&(this.pointCounts[this.currentPath]=((e=this.pointCounts[this.currentPath])!=null?e:0)+1,this.emit({type:"heatmap",data:{...t,path:this.currentPath,timestamp:Date.now()}}))}getClickTarget(t){var n,s,a,d;let e=t.target;return e&&(e.getAttribute("aria-label")||((n=e.closest("[aria-label]"))==null?void 0:n.getAttribute("aria-label"))||e.getAttribute("data-track-label")||e.getAttribute("id")||(e instanceof HTMLButtonElement||e instanceof HTMLAnchorElement?(s=e.innerText)==null?void 0:s.trim().slice(0,60):(d=(a=e.closest("button, a"))==null?void 0:a.textContent)==null?void 0:d.trim().slice(0,60)))||void 0}checkRageClick(t,e,i){let n=Date.now();this.recentClicks=this.recentClicks.filter(a=>n-a.t<c.RAGE_WINDOW_MS),this.recentClicks.push({x:t,y:e,t:n});let s=this.recentClicks.filter(a=>Math.hypot(a.x-t,a.y-e)<=c.RAGE_RADIUS_PX);s.length>=c.RAGE_THRESHOLD&&(this.emit({type:"rageclik",data:{path:i,x:t,y:e,count:s.length,timestamp:n,sessionId:this.sessionId}}),this.recentClicks=[])}};c.RAGE_THRESHOLD=3,c.RAGE_WINDOW_MS=1e3,c.RAGE_RADIUS_PX=50;var v=c;var f=class{constructor(t){this.prevOnError=null;this.prevOnUnhandledRejection=null;this.initialized=!1;try{let e=new URL(t.endpoint),i=e.pathname.replace(/\/$/,"").split("/");i.pop(),e.pathname=i.join("/")||"/",this.endpoint=e.toString().replace(/\/$/,"")}catch(e){this.endpoint=t.endpoint}this.sessionId=t.sessionId,this.appId=t.appId,this.authHeaders=t.secretKey?{Authorization:`Bearer ${t.secretKey}`}:{}}init(){typeof window=="undefined"||this.initialized||(this.origInfo=console.info.bind(console),this.origWarn=console.warn.bind(console),this.origError=console.error.bind(console),console.info=(...t)=>{this.origInfo(...t),this.send("info",this.format(t))},console.warn=(...t)=>{this.origWarn(...t),this.send("warn",this.format(t))},console.error=(...t)=>{this.origError(...t);let[e]=t,i=e instanceof Error?e.stack:void 0;this.send("error",this.format(t),{stack:i})},this.prevOnError=window.onerror,window.onerror=(t,e,i,n,s)=>(this.send("error",String(t),{stack:s==null?void 0:s.stack,meta:{src:e,line:i,col:n}}),typeof this.prevOnError=="function"?this.prevOnError(t,e,i,n,s):!1),this.prevOnUnhandledRejection=t=>{let e=t.reason,i=e instanceof Error?e.message:String(e!=null?e:"Unhandled promise rejection");this.send("error",i,{stack:e instanceof Error?e.stack:void 0})},window.addEventListener("unhandledrejection",this.prevOnUnhandledRejection),this.initialized=!0)}destroy(){this.initialized&&(console.info=this.origInfo,console.warn=this.origWarn,console.error=this.origError,window.onerror=this.prevOnError,this.prevOnUnhandledRejection&&window.removeEventListener("unhandledrejection",this.prevOnUnhandledRejection),this.initialized=!1)}capture(t,e,i){this.send(t,e,i)}format(t){return t.map(e=>{if(e instanceof Error)return e.message;if(typeof e=="object")try{return JSON.stringify(e)}catch(i){return String(e)}return String(e)}).join(" ")}send(t,e,i){let n={sessionId:this.sessionId,...this.appId?{appId:this.appId}:{},level:t,message:e,url:typeof window!="undefined"?window.location.href:void 0,stack:i==null?void 0:i.stack,meta:i==null?void 0:i.meta,timestamp:Date.now()},s=`${this.endpoint}/logs/ingest`,a=JSON.stringify(n);fetch(s,{method:"POST",headers:{"Content-Type":"application/json",...this.authHeaders},body:a,keepalive:!0}).catch(d=>{this.origError&&this.origError("[user-tracker] Failed to send log:",d)})}};var $="https://api.alphana.ir/api/events",X={endpoint:$,trackNavigation:!0,trackTime:!0,trackHeatmap:!0,trackLogs:!0,mouseSampleRate:.3,maxHeatmapPoints:2e3,batchSize:20,flushInterval:5e3},m=class{constructor(t={}){this.initialized=!1;this.subscribers=new Set;this.queue=[];this.flushTimer=null;this.heartbeatTimer=null;this.userProperties={};this.flags={};this.flagSubscribers=new Set;this.handleVisibilityChange=()=>{document.visibilityState==="hidden"&&(this.queue.length>0&&this.flushBeacon(),this.sendDeactivate())};this.handlePageHide=()=>{this.queue.length>0&&this.flushBeacon(),this.sendDeactivate()};this.handleNavigate=t=>{};var e;this.cfg={...X,...t};try{new URL(this.cfg.endpoint)}catch(i){throw new Error(`[alpha-tracker] Invalid endpoint URL: "${this.cfg.endpoint}"`)}this.session={id:(e=t.sessionId)!=null?e:l(),visitorId:I(),startedAt:Date.now(),pageViews:[],timeSpent:{},heatmap:{}}}init(){if(typeof window=="undefined"||this.initialized)return this;let t=this.emit.bind(this),{id:e}=this.session;return this.cfg.trackNavigation&&(this.navigation=new p({emit:t,sessionId:e}),this.navigation.init()),this.cfg.trackTime&&(this.time=new g({emit:t,sessionId:e}),this.time.init()),this.cfg.trackHeatmap&&(this.heatmap=new v({emit:t,sessionId:e,sampleRate:this.cfg.mouseSampleRate,maxPoints:this.cfg.maxHeatmapPoints,allowedPaths:this.cfg.heatmapPages}),this.heatmap.init()),this.cfg.endpoint&&(this.flushTimer=setInterval(()=>{this.queue.length>0&&this.flushQueue()},this.cfg.flushInterval),window.addEventListener("visibilitychange",this.handleVisibilityChange),window.addEventListener("pagehide",this.handlePageHide),this.heartbeatTimer=setInterval(()=>{document.visibilityState!=="hidden"&&this.sendHeartbeat()},3e4),this.cfg.trackLogs&&(this.logCapture=new f({endpoint:this.cfg.endpoint,sessionId:this.session.id,secretKey:this.cfg.secretKey,appId:this.cfg.appId}),this.logCapture.init())),this.initialized=!0,this.fetchFlags(),this}destroy(){var t,e,i,n;this.flushTimer!==null&&(clearInterval(this.flushTimer),this.flushTimer=null),this.heartbeatTimer!==null&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),typeof window!="undefined"&&(window.removeEventListener("visibilitychange",this.handleVisibilityChange),window.removeEventListener("pagehide",this.handlePageHide)),(t=this.navigation)==null||t.destroy(),(e=this.time)==null||e.destroy(),(i=this.heatmap)==null||i.destroy(),(n=this.logCapture)==null||n.destroy(),typeof window!="undefined"&&window.removeEventListener("tracker:navigate",this.handleNavigate),this.queue.length>0&&this.cfg.endpoint&&this.flushBeacon(),this.initialized=!1}async sendHeartbeat(){if(!this.cfg.endpoint)return;let t=`${this.cfg.endpoint}/heartbeat`,e=this.cfg.secretKey?{Authorization:`Bearer ${this.cfg.secretKey}`}:{},i=JSON.stringify({sessionId:this.session.id,visitorId:this.session.visitorId,path:typeof window!="undefined"?window.location.pathname:"/",active:!0,...this.cfg.appId?{appId:this.cfg.appId}:{}});try{await fetch(t,{method:"POST",headers:{"Content-Type":"application/json",...e},body:i,keepalive:!0})}catch(n){}}sendDeactivate(){if(!this.cfg.endpoint)return;let t=`${this.cfg.endpoint}/heartbeat`,e=this.cfg.secretKey?{Authorization:`Bearer ${this.cfg.secretKey}`}:{},i=JSON.stringify({sessionId:this.session.id,path:typeof window!="undefined"?window.location.pathname:"/",active:!1,...this.cfg.appId?{appId:this.cfg.appId}:{}});typeof navigator!="undefined"&&navigator.sendBeacon?navigator.sendBeacon(t,new Blob([i],{type:"application/json"})):fetch(t,{method:"POST",headers:{"Content-Type":"application/json",...e},body:i,keepalive:!0}).catch(()=>{})}emit(t){var e,i,n;switch(t.type){case"pageview":this.session.pageViews.push(t.data);break;case"timespent":{let s=(e=this.session.timeSpent[t.data.path])!=null?e:0;this.session.timeSpent[t.data.path]=s+t.data.duration;break}case"heatmap":{let s=t.data.path;this.session.heatmap[s]||(this.session.heatmap[s]=[]);let a=this.session.heatmap[s];a.length<this.cfg.maxHeatmapPoints&&a.push(t.data);break}case"rageclik":case"uturn":break}this.subscribers.forEach(s=>s(t)),(n=(i=this.cfg).onEvent)==null||n.call(i,t),this.cfg.endpoint&&(this.queue.push(t),this.queue.length>=this.cfg.batchSize&&this.flushQueue())}subscribe(t){return this.subscribers.add(t),()=>this.subscribers.delete(t)}trackPageView(t){let e=t!=null?t:typeof window!="undefined"?window.location.pathname+window.location.search:"/";this.emit({type:"pageview",data:{path:e,title:typeof document!="undefined"?document.title:"",timestamp:Date.now(),sessionId:this.session.id,referrer:typeof document!="undefined"&&document.referrer||void 0}}),typeof window!="undefined"&&window.dispatchEvent(new CustomEvent("tracker:navigate",{detail:{path:e,title:document.title}}))}identify(t){this.userProperties={...this.userProperties,...t},this.fetchFlags()}getFlags(){return{...this.flags}}isFeatureEnabled(t){return this.flags[t]===!0}onFlagsChange(t){return this.flagSubscribers.add(t),()=>this.flagSubscribers.delete(t)}async fetchFlags(){if(!this.cfg.endpoint||!this.cfg.secretKey)return;let t=this.cfg.endpoint.replace(/\/events$/,"")+"/feature-flags/evaluate";try{let e=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.cfg.secretKey}`},body:JSON.stringify({userProperties:this.userProperties})});if(!e.ok)return;let i=await e.json();this.flags=i,this.flagSubscribers.forEach(n=>n({...this.flags}))}catch(e){}}getSession(){return this.session}getPageViews(){return[...this.session.pageViews]}getTimeSpent(){return{...this.session.timeSpent}}getHeatmapData(t){var e;return t!==void 0?[...(e=this.session.heatmap[t])!=null?e:[]]:Object.entries(this.session.heatmap).reduce((i,[n,s])=>(i[n]=[...s],i),{})}flush(){this.flushQueue()}async flushQueue(){if(this.queue.length===0)return;let t=this.queue.splice(0);await this.sendBatch(t)}flushBeacon(){if(this.queue.length===0)return;let t=this.queue.splice(0),e=`${this.cfg.endpoint}/batch`,i=new Blob([this.buildBatchBody(t)],{type:"application/json"});typeof navigator!="undefined"&&navigator.sendBeacon?navigator.sendBeacon(e,i):this.sendBatch(t)}buildBatchBody(t){return JSON.stringify({...this.cfg.appId?{appId:this.cfg.appId}:{},visitorId:this.session.visitorId,events:t.map(e=>({sessionId:this.session.id,type:e.type,data:e.data}))})}async sendBatch(t){let e=`${this.cfg.endpoint}/batch`,i=this.cfg.secretKey?{Authorization:`Bearer ${this.cfg.secretKey}`}:{};try{await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",...i},body:this.buildBatchBody(t),keepalive:!0})}catch(n){}}};var y=require("react"),E=(0,y.createContext)(null);function h(){return(0,y.useContext)(E)}var _=require("react/jsx-runtime");function L({config:r={},children:t}){let e=(0,w.useRef)(null);return e.current===null&&(e.current=new m(r)),(0,w.useEffect)(()=>{let i=e.current;return i.init(),()=>i.destroy()},[]),(0,_.jsx)(E.Provider,{value:e.current,children:t})}var o=require("react");function O(){return h()}function F(r){let t=h();(0,o.useEffect)(()=>{t&&r!==void 0&&t.trackPageView(r)},[r])}function D(r,t=500){let e=h(),[i,n]=(0,o.useState)([]),s=(0,o.useRef)(!1);return(0,o.useEffect)(()=>{if(!e)return;let a=r!=null?r:typeof window!="undefined"?window.location.pathname:"/",d=()=>{n(e.getHeatmapData(a)),s.current=!1};return d(),e.subscribe(T=>{T.type==="heatmap"&&T.data.path===a&&(s.current||(s.current=!0,setTimeout(d,t)))})},[e,r]),i}function U(){let r=h(),[t,e]=(0,o.useState)([]);return(0,o.useEffect)(()=>r?(e(r.getPageViews()),r.subscribe(n=>{n.type==="pageview"&&e(r.getPageViews())})):void 0,[r]),t}function N(){let r=h(),[t,e]=(0,o.useState)({});return(0,o.useEffect)(()=>r?(e(r.getTimeSpent()),r.subscribe(n=>{n.type==="timespent"&&e(r.getTimeSpent())})):void 0,[r]),t}function P(){let r=h(),[t,e]=(0,o.useState)(()=>{var i;return(i=r==null?void 0:r.getFlags())!=null?i:{}});return(0,o.useEffect)(()=>{if(!r)return;e(r.getFlags());let i=r.onFlagsChange(e);return r.fetchFlags(),i},[r]),t}function M(r){return P()[r]===!0}0&&(module.exports={UserTrackerProvider,useFeatureFlagEnabled,useFeatureFlags,useHeatmapData,usePageView,usePageViews,useTimeSpent,useTracker});
|
|
1
|
+
"use strict";var dt=Object.defineProperty;var Dr=Object.getOwnPropertyDescriptor;var Wr=Object.getOwnPropertyNames;var Br=Object.prototype.hasOwnProperty;var _r=(t,e)=>{for(var r in e)dt(t,r,{get:e[r],enumerable:!0})},Vr=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Wr(e))!Br.call(t,n)&&n!==r&&dt(t,n,{get:()=>e[n],enumerable:!(i=Dr(e,n))||i.enumerable});return t};var Ur=t=>Vr(dt({},"__esModule",{value:!0}),t);var Yi={};_r(Yi,{UserTrackerProvider:()=>wr,useAbTests:()=>ct,useAbVariant:()=>Fr,useFeatureFlagEnabled:()=>Lr,useFeatureFlags:()=>Nt,useHeatmapData:()=>Rr,useIsAbVariant:()=>Pr,usePageView:()=>Tr,usePageViews:()=>Er,useTimeSpent:()=>Or,useTrackGoal:()=>Mr,useTrackJourneyStep:()=>Nr,useTrackRevenue:()=>xr,useTracker:()=>kr});module.exports=Ur(Yi);var at=require("react");function ut(t){return t.replace(/\/events\/?$/,"")}var Ot="__ut_vid__";function Te(){return typeof crypto!="undefined"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function Lt(){if(typeof localStorage=="undefined")return Te();try{let t=localStorage.getItem(Ot);if(t)return t;let e=Te();return localStorage.setItem(Ot,e),e}catch(t){return Te()}}function A(t){if(!t)return t;let e=t.indexOf("?"),r=e>=0?t.slice(0,e):t,i=e>=0?t.slice(e):"",n=r;for(let a=0;a<5;a++)try{let s=decodeURIComponent(n);if(s===n)break;n=s}catch(s){break}let o=i;for(let a=0;a<5;a++)try{let s=decodeURIComponent(o);if(s===o)break;o=s}catch(s){break}return n+o}var Dt="__ut_last_pv_path__",Wt="__ut_last_pv_entry_ms__";function Ft(t){if(typeof sessionStorage=="undefined")return null;try{return sessionStorage.getItem(t)}catch(e){return null}}function Pt(t,e){if(typeof sessionStorage!="undefined")try{sessionStorage.setItem(t,e)}catch(r){}}function Gr(t,e){Pt(Dt,t),Pt(Wt,String(e))}function Hr(){if(typeof performance=="undefined")return;let e=performance.getEntriesByType("navigation")[0];if(e!=null&&e.type)return e.type;let r=performance.navigation;if((r==null?void 0:r.type)===2)return"back_forward"}var Re=class Re{constructor({emit:e,sessionId:r}){this.previousPath="";this.originalPushState=null;this.originalReplaceState=null;this.pageEntryTime=0;this.handlePopState=()=>{this.handleNavigation()};this.emit=e,this.sessionId=r}init(){let e=A(window.location.pathname+window.location.search);Hr()==="back_forward"&&this.tryEmitMpaHistoryTraversalUturn(e),this.recordPageView(e),window.addEventListener("popstate",this.handlePopState),this.originalPushState=history.pushState.bind(history);let r=this.originalPushState;history.pushState=(n,o,a)=>{r(n,o,a),this.handleNavigation()},this.originalReplaceState=history.replaceState.bind(history);let i=this.originalReplaceState;history.replaceState=(n,o,a)=>{i(n,o,a),this.handleNavigation()}}destroy(){window.removeEventListener("popstate",this.handlePopState),this.originalPushState&&(history.pushState=this.originalPushState),this.originalReplaceState&&(history.replaceState=this.originalReplaceState)}tryEmitMpaHistoryTraversalUturn(e){let r=Ft(Dt),i=Ft(Wt),n=i?Number(i):0;if(!r||!Number.isFinite(n)||n<=0||A(r)===e)return;let o=Date.now()-n;o<0||o>Re.UTURN_THRESHOLD_MS||this.emitUturn(A(r),e,o)}handleNavigation(){let e=A(window.location.pathname+window.location.search);if(e!==this.previousPath){if(this.previousPath&&this.pageEntryTime>0){let r=Date.now()-this.pageEntryTime;r<=Re.UTURN_THRESHOLD_MS&&this.emitUturn(this.previousPath,e,r)}this.recordPageView(e)}}emitUturn(e,r,i){this.emit({type:"uturn",data:{fromPath:e,toPath:r,timeOnPageMs:i,timestamp:Date.now(),sessionId:this.sessionId}})}recordPageView(e){let r=A(e);this.previousPath=r,this.pageEntryTime=Date.now(),Gr(r,this.pageEntryTime),this.emit({type:"pageview",data:{path:r,title:document.title,timestamp:Date.now(),sessionId:this.sessionId,referrer:document.referrer||void 0}}),window.dispatchEvent(new CustomEvent("tracker:navigate",{detail:{path:r,title:document.title}}))}};Re.UTURN_THRESHOLD_MS=5e3;var Fe=Re;var Pe=class{constructor({emit:e,sessionId:r}){this.currentPath="";this.startTime=0;this.tracking=!1;this.handleNavigate=e=>{this.stopTracking(),this.currentPath=A(e.detail.path),this.startTracking()};this.handleVisibilityChange=()=>{document.hidden?this.stopTracking():this.startTracking()};this.handleUnload=()=>{this.stopTracking()};this.emit=e,this.sessionId=r}init(){this.currentPath=A(window.location.pathname+window.location.search),this.startTracking(),window.addEventListener("tracker:navigate",this.handleNavigate),document.addEventListener("visibilitychange",this.handleVisibilityChange),window.addEventListener("beforeunload",this.handleUnload),window.addEventListener("pagehide",this.handleUnload)}destroy(){this.stopTracking(),window.removeEventListener("tracker:navigate",this.handleNavigate),document.removeEventListener("visibilitychange",this.handleVisibilityChange),window.removeEventListener("beforeunload",this.handleUnload),window.removeEventListener("pagehide",this.handleUnload)}startTracking(){this.startTime=Date.now(),this.tracking=!0}stopTracking(){if(!this.tracking||!this.currentPath)return;let e=Date.now()-this.startTime;if(e<100){this.tracking=!1;return}this.emit({type:"timespent",data:{path:this.currentPath,duration:e,sessionId:this.sessionId,timestamp:Date.now()}}),this.tracking=!1}};function ht(t,e){let r=0;return(...i)=>{let n=Date.now();n-r>=e&&(r=n,t(...i))}}var le=class le{constructor({emit:e,sessionId:r,sampleRate:i=.3,maxPoints:n=2e3,allowedPaths:o}){this.currentPath="";this.pointCounts={};this.recentClicks=[];this.handleMouseMove=e=>{if(Math.random()>this.sampleRate)return;let r=document.documentElement.scrollWidth,i=document.documentElement.scrollHeight,n=e.clientY+window.scrollY;this.recordPoint({x:e.clientX,y:n,xPct:r>0?e.clientX/r*100:0,yPct:i>0?n/i*100:0,pw:r,ph:i,type:"move"})};this.handleClick=e=>{if(Date.now()-this.lastTouchTime<500)return;let r=document.documentElement.scrollWidth,i=document.documentElement.scrollHeight,n=e.clientY+window.scrollY,o=this.getClickTarget(e);this.recordPoint({x:e.clientX,y:n,xPct:r>0?e.clientX/r*100:0,yPct:i>0?n/i*100:0,pw:r,ph:i,type:"click",...o?{target:o}:{}}),this.checkRageClick(e.clientX,n,this.currentPath)};this.lastTouchTime=0;this.handleTouchEnd=e=>{let r=e.changedTouches[0];if(!r)return;let i=document.documentElement.scrollWidth,n=document.documentElement.scrollHeight,o=r.clientY+window.scrollY;this.lastTouchTime=Date.now(),this.recordPoint({x:r.clientX,y:o,xPct:i>0?r.clientX/i*100:0,yPct:n>0?o/n*100:0,pw:i,ph:n,type:"click"}),this.checkRageClick(r.clientX,o,this.currentPath)};this.handleScroll=()=>{if(Math.random()>this.sampleRate)return;let e=document.documentElement.scrollWidth,r=document.documentElement.scrollHeight,i=window.innerWidth,n=window.scrollX,o=window.scrollY,a=n+i/2;this.recordPoint({x:i/2,y:o,xPct:e>0?a/e*100:50,yPct:r>0?o/r*100:0,pw:e,ph:r,type:"scroll"})};this.handleNavigate=e=>{this.currentPath=A(e.detail.path)};this.emit=e,this.sessionId=r,this.sampleRate=i,this.maxPoints=n,this.allowedPaths=o&&o.length>0?new Set(o.map(a=>A(a))):null,this.throttledMouseMove=ht(this.handleMouseMove,50),this.throttledScroll=ht(this.handleScroll,100)}init(){this.currentPath=A(window.location.pathname+window.location.search),document.addEventListener("mousemove",this.throttledMouseMove),document.addEventListener("click",this.handleClick),document.addEventListener("touchend",this.handleTouchEnd,{passive:!0}),window.addEventListener("scroll",this.throttledScroll,{passive:!0}),window.addEventListener("tracker:navigate",this.handleNavigate)}destroy(){document.removeEventListener("mousemove",this.throttledMouseMove),document.removeEventListener("click",this.handleClick),document.removeEventListener("touchend",this.handleTouchEnd),window.removeEventListener("scroll",this.throttledScroll),window.removeEventListener("tracker:navigate",this.handleNavigate)}canRecord(){var e;return this.allowedPaths!==null&&!this.allowedPaths.has(this.currentPath)?!1:((e=this.pointCounts[this.currentPath])!=null?e:0)<this.maxPoints}recordPoint(e){var r;this.canRecord()&&(this.pointCounts[this.currentPath]=((r=this.pointCounts[this.currentPath])!=null?r:0)+1,this.emit({type:"heatmap",data:{...e,path:this.currentPath,timestamp:Date.now()}}))}getClickTarget(e){var n,o,a,s;let r=e.target;return r&&(r.getAttribute("aria-label")||((n=r.closest("[aria-label]"))==null?void 0:n.getAttribute("aria-label"))||r.getAttribute("data-track-label")||r.getAttribute("id")||(r instanceof HTMLButtonElement||r instanceof HTMLAnchorElement?(o=r.innerText)==null?void 0:o.trim().slice(0,60):(s=(a=r.closest("button, a"))==null?void 0:a.textContent)==null?void 0:s.trim().slice(0,60)))||void 0}checkRageClick(e,r,i){let n=Date.now();this.recentClicks=this.recentClicks.filter(a=>n-a.t<le.RAGE_WINDOW_MS),this.recentClicks.push({x:e,y:r,t:n});let o=this.recentClicks.filter(a=>Math.hypot(a.x-e,a.y-r)<=le.RAGE_RADIUS_PX);o.length>=le.RAGE_THRESHOLD&&(this.emit({type:"rageclik",data:{path:i,x:e,y:r,count:o.length,timestamp:n,sessionId:this.sessionId}}),this.recentClicks=[])}};le.RAGE_THRESHOLD=3,le.RAGE_WINDOW_MS=1e3,le.RAGE_RADIUS_PX=50;var De=le;var We=class{constructor(e){this.prevOnError=null;this.prevOnUnhandledRejection=null;this.initialized=!1;try{let r=new URL(e.endpoint),i=r.pathname.replace(/\/$/,"").split("/");i.pop(),r.pathname=i.join("/")||"/",this.endpoint=r.toString().replace(/\/$/,"")}catch(r){this.endpoint=e.endpoint}this.sessionId=e.sessionId,this.appId=e.appId,this.authHeaders=e.secretKey?{Authorization:`Bearer ${e.secretKey}`}:{}}init(){typeof window=="undefined"||this.initialized||(this.origInfo=console.info.bind(console),this.origWarn=console.warn.bind(console),this.origError=console.error.bind(console),console.info=(...e)=>{this.origInfo(...e),this.send("info",this.format(e))},console.warn=(...e)=>{this.origWarn(...e),this.send("warn",this.format(e))},console.error=(...e)=>{this.origError(...e);let[r]=e,i=r instanceof Error?r.stack:void 0;this.send("error",this.format(e),{stack:i})},this.prevOnError=window.onerror,window.onerror=(e,r,i,n,o)=>(this.send("error",String(e),{stack:o==null?void 0:o.stack,meta:{src:r,line:i,col:n}}),typeof this.prevOnError=="function"?this.prevOnError(e,r,i,n,o):!1),this.prevOnUnhandledRejection=e=>{let r=e.reason,i=r instanceof Error?r.message:String(r!=null?r:"Unhandled promise rejection");this.send("error",i,{stack:r instanceof Error?r.stack:void 0})},window.addEventListener("unhandledrejection",this.prevOnUnhandledRejection),this.initialized=!0)}destroy(){this.initialized&&(console.info=this.origInfo,console.warn=this.origWarn,console.error=this.origError,window.onerror=this.prevOnError,this.prevOnUnhandledRejection&&window.removeEventListener("unhandledrejection",this.prevOnUnhandledRejection),this.initialized=!1)}capture(e,r,i){this.send(e,r,i)}format(e){return e.map(r=>{if(r instanceof Error)return r.message;if(typeof r=="object")try{return JSON.stringify(r)}catch(i){return String(r)}return String(r)}).join(" ")}send(e,r,i){let n={sessionId:this.sessionId,...this.appId?{appId:this.appId}:{},level:e,message:r,url:typeof window!="undefined"?window.location.href:void 0,stack:i==null?void 0:i.stack,meta:i==null?void 0:i.meta,timestamp:Date.now()},o=`${this.endpoint}/logs/ingest`,a=JSON.stringify(n);fetch(o,{method:"POST",headers:{"Content-Type":"application/json",...this.authHeaders},body:a,keepalive:!0}).catch(s=>{this.origError&&this.origError("[user-tracker] Failed to send log:",s)})}};var F;(function(t){t[t.Document=0]="Document",t[t.DocumentType=1]="DocumentType",t[t.Element=2]="Element",t[t.Text=3]="Text",t[t.CDATA=4]="CDATA",t[t.Comment=5]="Comment"})(F||(F={}));function Zr(t){return t.nodeType===t.ELEMENT_NODE}function ge(t){var e=t==null?void 0:t.host;return(e==null?void 0:e.shadowRoot)===t}function pe(t){return Object.prototype.toString.call(t)==="[object ShadowRoot]"}function Kr(t){return t.includes(" background-clip: text;")&&!t.includes(" -webkit-background-clip: text;")&&(t=t.replace(" background-clip: text;"," -webkit-background-clip: text; background-clip: text;")),t}function pt(t){try{var e=t.rules||t.cssRules;return e?Kr(Array.from(e).map(ft).join("")):null}catch(r){return null}}function ft(t){var e=t.cssText;if(zr(t))try{e=pt(t.styleSheet)||e}catch(r){}return e}function zr(t){return"styleSheet"in t}var Vt=(function(){function t(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}return t.prototype.getId=function(e){var r;if(!e)return-1;var i=(r=this.getMeta(e))===null||r===void 0?void 0:r.id;return i!=null?i:-1},t.prototype.getNode=function(e){return this.idNodeMap.get(e)||null},t.prototype.getIds=function(){return Array.from(this.idNodeMap.keys())},t.prototype.getMeta=function(e){return this.nodeMetaMap.get(e)||null},t.prototype.removeNodeFromMap=function(e){var r=this,i=this.getId(e);this.idNodeMap.delete(i),e.childNodes&&e.childNodes.forEach(function(n){return r.removeNodeFromMap(n)})},t.prototype.has=function(e){return this.idNodeMap.has(e)},t.prototype.hasNode=function(e){return this.nodeMetaMap.has(e)},t.prototype.add=function(e,r){var i=r.id;this.idNodeMap.set(i,e),this.nodeMetaMap.set(e,r)},t.prototype.replace=function(e,r){var i=this.getNode(e);if(i){var n=this.nodeMetaMap.get(i);n&&this.nodeMetaMap.set(r,n)}this.idNodeMap.set(e,r)},t.prototype.reset=function(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap},t})();function Ut(){return new Vt}function xe(t){var e=t.maskInputOptions,r=t.tagName,i=t.type,n=t.value,o=t.maskInputFn,a=n||"";return(e[r.toLowerCase()]||e[i])&&(o?a=o(a):a="*".repeat(a.length)),a}var Bt="__rrweb_original__";function Yr(t){var e=t.getContext("2d");if(!e)return!0;for(var r=50,i=0;i<t.width;i+=r)for(var n=0;n<t.height;n+=r){var o=e.getImageData,a=Bt in o?o[Bt]:o,s=new Uint32Array(a.call(e,i,n,Math.min(r,t.width-i),Math.min(r,t.height-n)).data.buffer);if(s.some(function(c){return c!==0}))return!1}return!0}var Jr=1,jr=new RegExp("[^a-z0-9-_:]"),fe=-2;function gt(){return Jr++}function Qr(t){if(t instanceof HTMLFormElement)return"form";var e=t.tagName.toLowerCase().trim();return jr.test(e)?"div":e}function Xr(t){return t.cssRules?Array.from(t.cssRules).map(function(e){return e.cssText||""}).join(""):""}function qr(t){var e="";return t.indexOf("//")>-1?e=t.split("/").slice(0,3).join("/"):e=t.split("/")[0],e=e.split("?")[0],e}var Ce,_t,$r=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,ei=/^(?!www\.|(?:http|ftp)s?:\/\/|[A-Za-z]:\\|\/\/|#).*/,ti=/^(data:)([^,]*),(.*)/i;function Be(t,e){return(t||"").replace($r,function(r,i,n,o,a,s){var c=n||a||s,l=i||o||"";if(!c)return r;if(!ei.test(c)||ti.test(c))return"url(".concat(l).concat(c).concat(l,")");if(c[0]==="/")return"url(".concat(l).concat(qr(e)+c).concat(l,")");var d=e.split("/"),u=c.split("/");d.pop();for(var p=0,f=u;p<f.length;p++){var h=f[p];h!=="."&&(h===".."?d.pop():d.push(h))}return"url(".concat(l).concat(d.join("/")).concat(l,")")})}var ri=/^[^ \t\n\r\u000c]+/,ii=/^[, \t\n\r\u000c]+/;function ni(t,e){if(e.trim()==="")return e;var r=0;function i(l){var d,u=l.exec(e.substring(r));return u?(d=u[0],r+=d.length,d):""}for(var n=[];i(ii),!(r>=e.length);){var o=i(ri);if(o.slice(-1)===",")o=be(t,o.substring(0,o.length-1)),n.push(o);else{var a="";o=be(t,o);for(var s=!1;;){var c=e.charAt(r);if(c===""){n.push((o+a).trim());break}else if(s)c===")"&&(s=!1);else if(c===","){r+=1,n.push((o+a).trim());break}else c==="("&&(s=!0);a+=c,r+=1}}}return n.join(", ")}function be(t,e){if(!e||e.trim()==="")return e;var r=t.createElement("a");return r.href=e,r.href}function oi(t){return!!(t.tagName==="svg"||t.ownerSVGElement)}function mt(){var t=document.createElement("a");return t.href="",t.href}function vt(t,e,r,i){return r==="src"||r==="href"&&i&&!(e==="use"&&i[0]==="#")||r==="xlink:href"&&i&&i[0]!=="#"||r==="background"&&i&&(e==="table"||e==="td"||e==="th")?be(t,i):r==="srcset"&&i?ni(t,i):r==="style"&&i?Be(i,mt()):e==="object"&&r==="data"&&i?be(t,i):i}function si(t,e,r){if(typeof e=="string"){if(t.classList.contains(e))return!0}else for(var i=t.classList.length;i--;){var n=t.classList[i];if(e.test(n))return!0}return r?t.matches(r):!1}function Ee(t,e,r){if(!t)return!1;if(t.nodeType!==t.ELEMENT_NODE)return r?Ee(t.parentNode,e,r):!1;for(var i=t.classList.length;i--;){var n=t.classList[i];if(e.test(n))return!0}return r?Ee(t.parentNode,e,r):!1}function yt(t,e,r){var i=t.nodeType===t.ELEMENT_NODE?t:t.parentElement;if(i===null)return!1;if(typeof e=="string"){if(i.classList.contains(e)||i.closest(".".concat(e)))return!0}else if(Ee(i,e,!0))return!0;return!!(r&&(i.matches(r)||i.closest(r)))}function ai(t,e,r){var i=t.contentWindow;if(i){var n=!1,o;try{o=i.document.readyState}catch(c){return}if(o!=="complete"){var a=setTimeout(function(){n||(e(),n=!0)},r);t.addEventListener("load",function(){clearTimeout(a),n=!0,e()});return}var s="about:blank";if(i.location.href!==s||t.src===s||t.src==="")return setTimeout(e,0),t.addEventListener("load",e);t.addEventListener("load",e)}}function ci(t,e,r){var i=!1,n;try{n=t.sheet}catch(a){return}if(!n){var o=setTimeout(function(){i||(e(),i=!0)},r);t.addEventListener("load",function(){clearTimeout(o),i=!0,e()})}}function li(t,e){var r=e.doc,i=e.mirror,n=e.blockClass,o=e.blockSelector,a=e.maskTextClass,s=e.maskTextSelector,c=e.inlineStylesheet,l=e.maskInputOptions,d=l===void 0?{}:l,u=e.maskTextFn,p=e.maskInputFn,f=e.dataURLOptions,h=f===void 0?{}:f,v=e.inlineImages,C=e.recordCanvas,y=e.keepIframeSrcFn,g=e.newlyAddedElement,m=g===void 0?!1:g,k=di(r,i);switch(t.nodeType){case t.DOCUMENT_NODE:return t.compatMode!=="CSS1Compat"?{type:F.Document,childNodes:[],compatMode:t.compatMode}:{type:F.Document,childNodes:[]};case t.DOCUMENT_TYPE_NODE:return{type:F.DocumentType,name:t.name,publicId:t.publicId,systemId:t.systemId,rootId:k};case t.ELEMENT_NODE:return hi(t,{doc:r,blockClass:n,blockSelector:o,inlineStylesheet:c,maskInputOptions:d,maskInputFn:p,dataURLOptions:h,inlineImages:v,recordCanvas:C,keepIframeSrcFn:y,newlyAddedElement:m,rootId:k});case t.TEXT_NODE:return ui(t,{maskTextClass:a,maskTextSelector:s,maskTextFn:u,rootId:k});case t.CDATA_SECTION_NODE:return{type:F.CDATA,textContent:"",rootId:k};case t.COMMENT_NODE:return{type:F.Comment,textContent:t.textContent||"",rootId:k};default:return!1}}function di(t,e){if(e.hasNode(t)){var r=e.getId(t);return r===1?void 0:r}}function ui(t,e){var r,i=e.maskTextClass,n=e.maskTextSelector,o=e.maskTextFn,a=e.rootId,s=t.parentNode&&t.parentNode.tagName,c=t.textContent,l=s==="STYLE"?!0:void 0,d=s==="SCRIPT"?!0:void 0;if(l&&c){try{t.nextSibling||t.previousSibling||!((r=t.parentNode.sheet)===null||r===void 0)&&r.cssRules&&(c=Xr(t.parentNode.sheet))}catch(u){console.warn("Cannot get CSS styles from text's parentNode. Error: ".concat(u),t)}c=Be(c,mt())}return d&&(c="SCRIPT_PLACEHOLDER"),!l&&!d&&c&&yt(t,i,n)&&(c=o?o(c):c.replace(/[\S]/g,"*")),{type:F.Text,textContent:c||"",isStyle:l,rootId:a}}function hi(t,e){for(var r=e.doc,i=e.blockClass,n=e.blockSelector,o=e.inlineStylesheet,a=e.maskInputOptions,s=a===void 0?{}:a,c=e.maskInputFn,l=e.dataURLOptions,d=l===void 0?{}:l,u=e.inlineImages,p=e.recordCanvas,f=e.keepIframeSrcFn,h=e.newlyAddedElement,v=h===void 0?!1:h,C=e.rootId,y=si(t,i,n),g=Qr(t),m={},k=t.attributes.length,B=0;B<k;B++){var P=t.attributes[B];m[P.name]=vt(r,g,P.name,P.value)}if(g==="link"&&o){var D=Array.from(r.styleSheets).find(function(J){return J.href===t.href}),T=null;D&&(T=pt(D)),T&&(delete m.rel,delete m.href,m._cssText=Be(T,D.href))}if(g==="style"&&t.sheet&&!(t.innerText||t.textContent||"").trim().length){var T=pt(t.sheet);T&&(m._cssText=Be(T,mt()))}if(g==="input"||g==="textarea"||g==="select"){var K=t.value,z=t.checked;m.type!=="radio"&&m.type!=="checkbox"&&m.type!=="submit"&&m.type!=="button"&&K?m.value=xe({type:m.type,tagName:g,value:K,maskInputOptions:s,maskInputFn:c}):z&&(m.checked=z)}if(g==="option"&&(t.selected&&!s.select?m.selected=!0:delete m.selected),g==="canvas"&&p){if(t.__context==="2d")Yr(t)||(m.rr_dataURL=t.toDataURL(d.type,d.quality));else if(!("__context"in t)){var Q=t.toDataURL(d.type,d.quality),X=document.createElement("canvas");X.width=t.width,X.height=t.height;var q=X.toDataURL(d.type,d.quality);Q!==q&&(m.rr_dataURL=Q)}}if(g==="img"&&u){Ce||(Ce=r.createElement("canvas"),_t=Ce.getContext("2d"));var O=t,Y=O.crossOrigin;O.crossOrigin="anonymous";var $=function(){try{Ce.width=O.naturalWidth,Ce.height=O.naturalHeight,_t.drawImage(O,0,0),m.rr_dataURL=Ce.toDataURL(d.type,d.quality)}catch(J){console.warn("Cannot inline img src=".concat(O.currentSrc,"! Error: ").concat(J))}Y?m.crossOrigin=Y:O.removeAttribute("crossorigin")};O.complete&&O.naturalWidth!==0?$():O.onload=$}if((g==="audio"||g==="video")&&(m.rr_mediaState=t.paused?"paused":"played",m.rr_mediaCurrentTime=t.currentTime),v||(t.scrollLeft&&(m.rr_scrollLeft=t.scrollLeft),t.scrollTop&&(m.rr_scrollTop=t.scrollTop)),y){var ne=t.getBoundingClientRect(),se=ne.width,G=ne.height;m={class:m.class,rr_width:"".concat(se,"px"),rr_height:"".concat(G,"px")}}return g==="iframe"&&!f(m.src)&&(t.contentDocument||(m.rr_src=m.src),delete m.src),{type:F.Element,tagName:g,attributes:m,childNodes:[],isSVG:oi(t)||void 0,needBlock:y,rootId:C}}function R(t){return t===void 0?"":t.toLowerCase()}function pi(t,e){if(e.comment&&t.type===F.Comment)return!0;if(t.type===F.Element){if(e.script&&(t.tagName==="script"||t.tagName==="link"&&t.attributes.rel==="preload"&&t.attributes.as==="script"||t.tagName==="link"&&t.attributes.rel==="prefetch"&&typeof t.attributes.href=="string"&&t.attributes.href.endsWith(".js")))return!0;if(e.headFavicon&&(t.tagName==="link"&&t.attributes.rel==="shortcut icon"||t.tagName==="meta"&&(R(t.attributes.name).match(/^msapplication-tile(image|color)$/)||R(t.attributes.name)==="application-name"||R(t.attributes.rel)==="icon"||R(t.attributes.rel)==="apple-touch-icon"||R(t.attributes.rel)==="shortcut icon")))return!0;if(t.tagName==="meta"){if(e.headMetaDescKeywords&&R(t.attributes.name).match(/^description|keywords$/))return!0;if(e.headMetaSocial&&(R(t.attributes.property).match(/^(og|twitter|fb):/)||R(t.attributes.name).match(/^(og|twitter):/)||R(t.attributes.name)==="pinterest"))return!0;if(e.headMetaRobots&&(R(t.attributes.name)==="robots"||R(t.attributes.name)==="googlebot"||R(t.attributes.name)==="bingbot"))return!0;if(e.headMetaHttpEquiv&&t.attributes["http-equiv"]!==void 0)return!0;if(e.headMetaAuthorship&&(R(t.attributes.name)==="author"||R(t.attributes.name)==="generator"||R(t.attributes.name)==="framework"||R(t.attributes.name)==="publisher"||R(t.attributes.name)==="progid"||R(t.attributes.property).match(/^article:/)||R(t.attributes.property).match(/^product:/)))return!0;if(e.headMetaVerification&&(R(t.attributes.name)==="google-site-verification"||R(t.attributes.name)==="yandex-verification"||R(t.attributes.name)==="csrf-token"||R(t.attributes.name)==="p:domain_verify"||R(t.attributes.name)==="verify-v1"||R(t.attributes.name)==="verification"||R(t.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function he(t,e){var r=e.doc,i=e.mirror,n=e.blockClass,o=e.blockSelector,a=e.maskTextClass,s=e.maskTextSelector,c=e.skipChild,l=c===void 0?!1:c,d=e.inlineStylesheet,u=d===void 0?!0:d,p=e.maskInputOptions,f=p===void 0?{}:p,h=e.maskTextFn,v=e.maskInputFn,C=e.slimDOMOptions,y=e.dataURLOptions,g=y===void 0?{}:y,m=e.inlineImages,k=m===void 0?!1:m,B=e.recordCanvas,P=B===void 0?!1:B,D=e.onSerialize,T=e.onIframeLoad,K=e.iframeLoadTimeout,z=K===void 0?5e3:K,Q=e.onStylesheetLoad,X=e.stylesheetLoadTimeout,q=X===void 0?5e3:X,O=e.keepIframeSrcFn,Y=O===void 0?function(){return!1}:O,$=e.newlyAddedElement,ne=$===void 0?!1:$,se=e.preserveWhiteSpace,G=se===void 0?!0:se,J=li(t,{doc:r,mirror:i,blockClass:n,blockSelector:o,maskTextClass:a,maskTextSelector:s,inlineStylesheet:u,maskInputOptions:f,maskTextFn:h,maskInputFn:v,dataURLOptions:g,inlineImages:k,recordCanvas:P,keepIframeSrcFn:Y,newlyAddedElement:ne});if(!J)return console.warn(t,"not serialized"),null;var ce;i.hasNode(t)?ce=i.getId(t):pi(J,C)||!G&&J.type===F.Text&&!J.isStyle&&!J.textContent.replace(/^\s+|\s+$/gm,"").length?ce=fe:ce=gt();var N=Object.assign(J,{id:ce});if(i.add(t,N),ce===fe)return null;D&&D(t);var ee=!l;if(N.type===F.Element){ee=ee&&!N.needBlock,delete N.needBlock;var oe=t.shadowRoot;oe&&pe(oe)&&(N.isShadowHost=!0)}if((N.type===F.Document||N.type===F.Element)&&ee){C.headWhitespace&&N.type===F.Element&&N.tagName==="head"&&(G=!1);for(var Ie={doc:r,mirror:i,blockClass:n,blockSelector:o,maskTextClass:a,maskTextSelector:s,skipChild:l,inlineStylesheet:u,maskInputOptions:f,maskTextFn:h,maskInputFn:v,slimDOMOptions:C,dataURLOptions:g,inlineImages:k,recordCanvas:P,preserveWhiteSpace:G,onSerialize:D,onIframeLoad:T,iframeLoadTimeout:z,onStylesheetLoad:Q,stylesheetLoadTimeout:q,keepIframeSrcFn:Y},I=0,_=Array.from(t.childNodes);I<_.length;I++){var H=_[I],E=he(H,Ie);E&&N.childNodes.push(E)}if(Zr(t)&&t.shadowRoot)for(var j=0,w=Array.from(t.shadowRoot.childNodes);j<w.length;j++){var H=w[j],E=he(H,Ie);E&&(pe(t.shadowRoot)&&(E.isShadow=!0),N.childNodes.push(E))}}return t.parentNode&&ge(t.parentNode)&&pe(t.parentNode)&&(N.isShadow=!0),N.type===F.Element&&N.tagName==="iframe"&&ai(t,function(){var Z=t.contentDocument;if(Z&&T){var ke=he(Z,{doc:Z,mirror:i,blockClass:n,blockSelector:o,maskTextClass:a,maskTextSelector:s,skipChild:!1,inlineStylesheet:u,maskInputOptions:f,maskTextFn:h,maskInputFn:v,slimDOMOptions:C,dataURLOptions:g,inlineImages:k,recordCanvas:P,preserveWhiteSpace:G,onSerialize:D,onIframeLoad:T,iframeLoadTimeout:z,onStylesheetLoad:Q,stylesheetLoadTimeout:q,keepIframeSrcFn:Y});ke&&T(t,ke)}},z),N.type===F.Element&&N.tagName==="link"&&N.attributes.rel==="stylesheet"&&ci(t,function(){if(Q){var Z=he(t,{doc:r,mirror:i,blockClass:n,blockSelector:o,maskTextClass:a,maskTextSelector:s,skipChild:!1,inlineStylesheet:u,maskInputOptions:f,maskTextFn:h,maskInputFn:v,slimDOMOptions:C,dataURLOptions:g,inlineImages:k,recordCanvas:P,preserveWhiteSpace:G,onSerialize:D,onIframeLoad:T,iframeLoadTimeout:z,onStylesheetLoad:Q,stylesheetLoadTimeout:q,keepIframeSrcFn:Y});Z&&Q(t,Z)}},q),N}function Gt(t,e){var r=e||{},i=r.mirror,n=i===void 0?new Vt:i,o=r.blockClass,a=o===void 0?"rr-block":o,s=r.blockSelector,c=s===void 0?null:s,l=r.maskTextClass,d=l===void 0?"rr-mask":l,u=r.maskTextSelector,p=u===void 0?null:u,f=r.inlineStylesheet,h=f===void 0?!0:f,v=r.inlineImages,C=v===void 0?!1:v,y=r.recordCanvas,g=y===void 0?!1:y,m=r.maskAllInputs,k=m===void 0?!1:m,B=r.maskTextFn,P=r.maskInputFn,D=r.slimDOM,T=D===void 0?!1:D,K=r.dataURLOptions,z=r.preserveWhiteSpace,Q=r.onSerialize,X=r.onIframeLoad,q=r.iframeLoadTimeout,O=r.onStylesheetLoad,Y=r.stylesheetLoadTimeout,$=r.keepIframeSrcFn,ne=$===void 0?function(){return!1}:$,se=k===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:k===!1?{password:!0}:k,G=T===!0||T==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:T==="all",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:T===!1?{}:T;return he(t,{doc:t,mirror:n,blockClass:a,blockSelector:c,maskTextClass:d,maskTextSelector:p,skipChild:!1,inlineStylesheet:h,maskInputOptions:se,maskTextFn:B,maskInputFn:P,slimDOMOptions:G,dataURLOptions:K,inlineImages:C,recordCanvas:g,preserveWhiteSpace:z,onSerialize:Q,onIframeLoad:X,iframeLoadTimeout:q,onStylesheetLoad:O,stylesheetLoadTimeout:Y,keepIframeSrcFn:ne,newlyAddedElement:!1})}var fi=/([^\\]):hover/,cn=new RegExp(fi.source,"g");function W(t,e,r=document){let i={capture:!0,passive:!0};return r.addEventListener(t,e,i),()=>r.removeEventListener(t,e,i)}var Se=`Please stop import mirror directly. Instead of that,\r
|
|
2
|
+
now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
|
|
3
|
+
or you can use record.mirror to access the mirror instance during recording.`,Ht={map:{},getId(){return console.error(Se),-1},getNode(){return console.error(Se),null},removeNodeFromMap(){console.error(Se)},has(){return console.error(Se),!1},reset(){console.error(Se)}};typeof window!="undefined"&&window.Proxy&&window.Reflect&&(Ht=new Proxy(Ht,{get(t,e,r){return e==="map"&&console.error(Se),Reflect.get(t,e,r)}}));function we(t,e,r={}){let i=null,n=0;return function(...o){let a=Date.now();!n&&r.leading===!1&&(n=a);let s=e-(a-n),c=this;s<=0||s>e?(i&&(clearTimeout(i),i=null),n=a,t.apply(c,o)):!i&&r.trailing!==!1&&(i=setTimeout(()=>{n=r.leading===!1?0:Date.now(),i=null,t.apply(c,o)},s))}}function me(t,e,r,i,n=window){let o=n.Object.getOwnPropertyDescriptor(t,e);return n.Object.defineProperty(t,e,i?r:{set(a){setTimeout(()=>{r.set.call(this,a)},0),o&&o.set&&o.set.call(this,a)}}),()=>me(t,e,o||{},!0)}function te(t,e,r){try{if(!(e in t))return()=>{};let i=t[e],n=r(i);return typeof n=="function"&&(n.prototype=n.prototype||{},Object.defineProperties(n,{__rrweb_original__:{enumerable:!1,value:i}})),t[e]=n,()=>{t[e]=i}}catch(i){return()=>{}}}function Ve(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Ue(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function x(t,e,r,i){if(!t)return!1;let n=t.nodeType===t.ELEMENT_NODE?t:t.parentElement;if(!n)return!1;if(typeof e=="string"){if(n.classList.contains(e)||i&&n.closest("."+e)!==null)return!0}else if(Ee(n,e,i))return!0;return!!(r&&(t.matches(r)||i&&n.closest(r)!==null))}function Zt(t,e){return e.getId(t)!==-1}function Ge(t,e){return e.getId(t)===fe}function It(t,e){if(ge(t))return!1;let r=e.getId(t);return e.has(r)?t.parentNode&&t.parentNode.nodeType===t.DOCUMENT_NODE?!1:t.parentNode?It(t.parentNode,e):!0:!0}function Ct(t){return!!t.changedTouches}function Kt(t=window){"NodeList"in t&&!t.NodeList.prototype.forEach&&(t.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in t&&!t.DOMTokenList.prototype.forEach&&(t.DOMTokenList.prototype.forEach=Array.prototype.forEach),Node.prototype.contains||(Node.prototype.contains=(...e)=>{let r=e[0];if(!(0 in e))throw new TypeError("1 argument is required");do if(this===r)return!0;while(r=r&&r.parentNode);return!1})}function He(t,e){return!!(t.nodeName==="IFRAME"&&e.getMeta(t))}function Ze(t,e){return!!(t.nodeName==="LINK"&&t.nodeType===t.ELEMENT_NODE&&t.getAttribute&&t.getAttribute("rel")==="stylesheet"&&e.getMeta(t))}function Ke(t){return!!(t!=null&&t.shadowRoot)}var _e=class{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map}getId(e){var r;return(r=this.styleIDMap.get(e))!==null&&r!==void 0?r:-1}has(e){return this.styleIDMap.has(e)}add(e,r){if(this.has(e))return this.getId(e);let i;return r===void 0?i=this.id++:i=r,this.styleIDMap.set(e,i),this.idStyleMap.set(i,e),i}getStyle(e){return this.idStyleMap.get(e)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};var S=(t=>(t[t.DomContentLoaded=0]="DomContentLoaded",t[t.Load=1]="Load",t[t.FullSnapshot=2]="FullSnapshot",t[t.IncrementalSnapshot=3]="IncrementalSnapshot",t[t.Meta=4]="Meta",t[t.Custom=5]="Custom",t[t.Plugin=6]="Plugin",t))(S||{}),b=(t=>(t[t.Mutation=0]="Mutation",t[t.MouseMove=1]="MouseMove",t[t.MouseInteraction=2]="MouseInteraction",t[t.Scroll=3]="Scroll",t[t.ViewportResize=4]="ViewportResize",t[t.Input=5]="Input",t[t.TouchMove=6]="TouchMove",t[t.MediaInteraction=7]="MediaInteraction",t[t.StyleSheetRule=8]="StyleSheetRule",t[t.CanvasMutation=9]="CanvasMutation",t[t.Font=10]="Font",t[t.Log=11]="Log",t[t.Drag=12]="Drag",t[t.StyleDeclaration=13]="StyleDeclaration",t[t.Selection=14]="Selection",t[t.AdoptedStyleSheet=15]="AdoptedStyleSheet",t))(b||{}),ze=(t=>(t[t.MouseUp=0]="MouseUp",t[t.MouseDown=1]="MouseDown",t[t.Click=2]="Click",t[t.ContextMenu=3]="ContextMenu",t[t.DblClick=4]="DblClick",t[t.Focus=5]="Focus",t[t.Blur=6]="Blur",t[t.TouchStart=7]="TouchStart",t[t.TouchMove_Departed=8]="TouchMove_Departed",t[t.TouchEnd=9]="TouchEnd",t[t.TouchCancel=10]="TouchCancel",t))(ze||{}),ae=(t=>(t[t["2D"]=0]="2D",t[t.WebGL=1]="WebGL",t[t.WebGL2=2]="WebGL2",t))(ae||{});function zt(t){return"__ln"in t}var bt=class{constructor(){this.length=0,this.head=null}get(e){if(e>=this.length)throw new Error("Position outside of list range");let r=this.head;for(let i=0;i<e;i++)r=(r==null?void 0:r.next)||null;return r}addNode(e){let r={value:e,previous:null,next:null};if(e.__ln=r,e.previousSibling&&zt(e.previousSibling)){let i=e.previousSibling.__ln.next;r.next=i,r.previous=e.previousSibling.__ln,e.previousSibling.__ln.next=r,i&&(i.previous=r)}else if(e.nextSibling&&zt(e.nextSibling)&&e.nextSibling.__ln.previous){let i=e.nextSibling.__ln.previous;r.previous=i,r.next=e.nextSibling.__ln,e.nextSibling.__ln.previous=r,i&&(i.next=r)}else this.head&&(this.head.previous=r),r.next=this.head,this.head=r;this.length++}removeNode(e){let r=e.__ln;this.head&&(r.previous?(r.previous.next=r.next,r.next&&(r.next.previous=r.previous)):(this.head=r.next,this.head&&(this.head.previous=null)),e.__ln&&delete e.__ln,this.length--)}},Yt=(t,e)=>`${t}@${e}`,Ye=class{constructor(){this.frozen=!1,this.locked=!1,this.texts=[],this.attributes=[],this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=e=>{e.forEach(this.processMutation),this.emit()},this.emit=()=>{if(this.frozen||this.locked)return;let e=[],r=new bt,i=s=>{let c=s,l=fe;for(;l===fe;)c=c&&c.nextSibling,l=c&&this.mirror.getId(c);return l},n=s=>{var c,l,d,u;let p=null;((l=(c=s.getRootNode)===null||c===void 0?void 0:c.call(s))===null||l===void 0?void 0:l.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&s.getRootNode().host&&(p=s.getRootNode().host);let f=p;for(;((u=(d=f==null?void 0:f.getRootNode)===null||d===void 0?void 0:d.call(f))===null||u===void 0?void 0:u.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&f.getRootNode().host;)f=f.getRootNode().host;let h=!this.doc.contains(s)&&(!f||!this.doc.contains(f));if(!s.parentNode||h)return;let v=ge(s.parentNode)?this.mirror.getId(p):this.mirror.getId(s.parentNode),C=i(s);if(v===-1||C===-1)return r.addNode(s);let y=he(s,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:g=>{He(g,this.mirror)&&this.iframeManager.addIframe(g),Ze(g,this.mirror)&&this.stylesheetManager.trackLinkElement(g),Ke(s)&&this.shadowDomManager.addShadowRoot(s.shadowRoot,this.doc)},onIframeLoad:(g,m)=>{this.iframeManager.attachIframe(g,m),this.shadowDomManager.observeAttachShadow(g)},onStylesheetLoad:(g,m)=>{this.stylesheetManager.attachLinkElement(g,m)}});y&&e.push({parentId:v,nextId:C,node:y})};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let s of Array.from(this.movedSet.values()))Jt(this.removes,s,this.mirror)&&!this.movedSet.has(s.parentNode)||n(s);for(let s of Array.from(this.addedSet.values()))!jt(this.droppedSet,s)&&!Jt(this.removes,s,this.mirror)||jt(this.movedSet,s)?n(s):this.droppedSet.add(s);let o=null;for(;r.length;){let s=null;if(o){let c=this.mirror.getId(o.value.parentNode),l=i(o.value);c!==-1&&l!==-1&&(s=o)}if(!s)for(let c=r.length-1;c>=0;c--){let l=r.get(c);if(l){let d=this.mirror.getId(l.value.parentNode);if(i(l.value)===-1)continue;if(d!==-1){s=l;break}else{let p=l.value;if(p.parentNode&&p.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let f=p.parentNode.host;if(this.mirror.getId(f)!==-1){s=l;break}}}}}if(!s){for(;r.head;)r.removeNode(r.head.value);break}o=s.previous,r.removeNode(s.value),n(s.value)}let a={texts:this.texts.map(s=>({id:this.mirror.getId(s.node),value:s.value})).filter(s=>this.mirror.has(s.id)),attributes:this.attributes.map(s=>({id:this.mirror.getId(s.node),attributes:s.attributes})).filter(s=>this.mirror.has(s.id)),removes:this.removes,adds:e};!a.texts.length&&!a.attributes.length&&!a.removes.length&&!a.adds.length||(this.texts=[],this.attributes=[],this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(a))},this.processMutation=e=>{if(!Ge(e.target,this.mirror))switch(e.type){case"characterData":{let r=e.target.textContent;!x(e.target,this.blockClass,this.blockSelector,!1)&&r!==e.oldValue&&this.texts.push({value:yt(e.target,this.maskTextClass,this.maskTextSelector)&&r?this.maskTextFn?this.maskTextFn(r):r.replace(/[\S]/g,"*"):r,node:e.target});break}case"attributes":{let r=e.target,i=e.target.getAttribute(e.attributeName);if(e.attributeName==="value"&&(i=xe({maskInputOptions:this.maskInputOptions,tagName:e.target.tagName,type:e.target.getAttribute("type"),value:i,maskInputFn:this.maskInputFn})),x(e.target,this.blockClass,this.blockSelector,!1)||i===e.oldValue)return;let n=this.attributes.find(o=>o.node===e.target);if(r.tagName==="IFRAME"&&e.attributeName==="src"&&!this.keepIframeSrcFn(i))if(!r.contentDocument)e.attributeName="rr_src";else return;if(n||(n={node:e.target,attributes:{}},this.attributes.push(n)),e.attributeName==="style"){let o=this.doc.createElement("span");e.oldValue&&o.setAttribute("style",e.oldValue),(n.attributes.style===void 0||n.attributes.style===null)&&(n.attributes.style={});let a=n.attributes.style;for(let s of Array.from(r.style)){let c=r.style.getPropertyValue(s),l=r.style.getPropertyPriority(s);(c!==o.style.getPropertyValue(s)||l!==o.style.getPropertyPriority(s))&&(l===""?a[s]=c:a[s]=[c,l])}for(let s of Array.from(o.style))r.style.getPropertyValue(s)===""&&(a[s]=!1)}else n.attributes[e.attributeName]=vt(this.doc,r.tagName,e.attributeName,i);break}case"childList":{if(x(e.target,this.blockClass,this.blockSelector,!0))return;e.addedNodes.forEach(r=>this.genAdds(r,e.target)),e.removedNodes.forEach(r=>{let i=this.mirror.getId(r),n=ge(e.target)?this.mirror.getId(e.target.host):this.mirror.getId(e.target);x(e.target,this.blockClass,this.blockSelector,!1)||Ge(r,this.mirror)||!Zt(r,this.mirror)||(this.addedSet.has(r)?(St(this.addedSet,r),this.droppedSet.add(r)):this.addedSet.has(e.target)&&i===-1||It(e.target,this.mirror)||(this.movedSet.has(r)&&this.movedMap[Yt(i,n)]?St(this.movedSet,r):this.removes.push({parentId:n,id:i,isShadow:ge(e.target)&&pe(e.target)?!0:void 0})),this.mapRemoves.push(r))});break}}},this.genAdds=(e,r)=>{if(this.mirror.hasNode(e)){if(Ge(e,this.mirror))return;this.movedSet.add(e);let i=null;r&&this.mirror.hasNode(r)&&(i=this.mirror.getId(r)),i&&i!==-1&&(this.movedMap[Yt(this.mirror.getId(e),i)]=!0)}else this.addedSet.add(e),this.droppedSet.delete(e);x(e,this.blockClass,this.blockSelector,!1)||e.childNodes.forEach(i=>this.genAdds(i))}}init(e){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager"].forEach(r=>{this[r]=e[r]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}};function St(t,e){t.delete(e),e.childNodes.forEach(r=>St(t,r))}function Jt(t,e,r){return t.length===0?!1:Qt(t,e,r)}function Qt(t,e,r){let{parentNode:i}=e;if(!i)return!1;let n=r.getId(i);return t.some(o=>o.id===n)?!0:Qt(t,i,r)}function jt(t,e){return t.size===0?!1:Xt(t,e)}function Xt(t,e){let{parentNode:r}=e;return r?t.has(r)?!0:Xt(t,r):!1}var ue=[],er=typeof CSSGroupingRule!="undefined",tr=typeof CSSMediaRule!="undefined",rr=typeof CSSSupportsRule!="undefined",ir=typeof CSSConditionRule!="undefined";function Me(t){try{if("composedPath"in t){let e=t.composedPath();if(e.length)return e[0]}else if("path"in t&&t.path.length)return t.path[0];return t.target}catch(e){return t.target}}function wt(t,e){var r,i;let n=new Ye;ue.push(n),n.init(t);let o=window.MutationObserver||window.__rrMutationObserver,a=(i=(r=window==null?void 0:window.Zone)===null||r===void 0?void 0:r.__symbol__)===null||i===void 0?void 0:i.call(r,"MutationObserver");a&&window[a]&&(o=window[a]);let s=new o(n.processMutations.bind(n));return s.observe(e,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),s}function gi({mousemoveCb:t,sampling:e,doc:r,mirror:i}){if(e.mousemove===!1)return()=>{};let n=typeof e.mousemove=="number"?e.mousemove:50,o=typeof e.mousemoveCallback=="number"?e.mousemoveCallback:500,a=[],s,c=we(u=>{let p=Date.now()-s;t(a.map(f=>(f.timeOffset-=p,f)),u),a=[],s=null},o),l=we(u=>{let p=Me(u),{clientX:f,clientY:h}=Ct(u)?u.changedTouches[0]:u;s||(s=Date.now()),a.push({x:f,y:h,id:i.getId(p),timeOffset:Date.now()-s}),c(typeof DragEvent!="undefined"&&u instanceof DragEvent?b.Drag:u instanceof MouseEvent?b.MouseMove:b.TouchMove)},n,{trailing:!1}),d=[W("mousemove",l,r),W("touchmove",l,r),W("drag",l,r)];return()=>{d.forEach(u=>u())}}function mi({mouseInteractionCb:t,doc:e,mirror:r,blockClass:i,blockSelector:n,sampling:o}){if(o.mouseInteraction===!1)return()=>{};let a=o.mouseInteraction===!0||o.mouseInteraction===void 0?{}:o.mouseInteraction,s=[],c=l=>d=>{let u=Me(d);if(x(u,i,n,!0))return;let p=Ct(d)?d.changedTouches[0]:d;if(!p)return;let f=r.getId(u),{clientX:h,clientY:v}=p;t({type:ze[l],id:f,x:h,y:v})};return Object.keys(ze).filter(l=>Number.isNaN(Number(l))&&!l.endsWith("_Departed")&&a[l]!==!1).forEach(l=>{let d=l.toLowerCase(),u=c(l);s.push(W(d,u,e))}),()=>{s.forEach(l=>l())}}function At({scrollCb:t,doc:e,mirror:r,blockClass:i,blockSelector:n,sampling:o}){let a=we(s=>{let c=Me(s);if(!c||x(c,i,n,!0))return;let l=r.getId(c);if(c===e){let d=e.scrollingElement||e.documentElement;t({id:l,x:d.scrollLeft,y:d.scrollTop})}else t({id:l,x:c.scrollLeft,y:c.scrollTop})},o.scroll||100);return W("scroll",a,e)}function vi({viewportResizeCb:t}){let e=-1,r=-1,i=we(()=>{let n=Ve(),o=Ue();(e!==n||r!==o)&&(t({width:Number(o),height:Number(n)}),e=n,r=o)},200);return W("resize",i,window)}function qt(t,e){let r=Object.assign({},t);return e||delete r.userTriggered,r}var yi=["INPUT","TEXTAREA","SELECT"],$t=new WeakMap;function Ii({inputCb:t,doc:e,mirror:r,blockClass:i,blockSelector:n,ignoreClass:o,maskInputOptions:a,maskInputFn:s,sampling:c,userTriggeredOnInput:l}){function d(y){let g=Me(y),m=y.isTrusted;if(g&&g.tagName==="OPTION"&&(g=g.parentElement),!g||!g.tagName||yi.indexOf(g.tagName)<0||x(g,i,n,!0))return;let k=g.type;if(g.classList.contains(o))return;let B=g.value,P=!1;k==="radio"||k==="checkbox"?P=g.checked:(a[g.tagName.toLowerCase()]||a[k])&&(B=xe({maskInputOptions:a,tagName:g.tagName,type:k,value:B,maskInputFn:s})),u(g,qt({text:B,isChecked:P,userTriggered:m},l));let D=g.name;k==="radio"&&D&&P&&e.querySelectorAll(`input[type="radio"][name="${D}"]`).forEach(T=>{T!==g&&u(T,qt({text:T.value,isChecked:!P,userTriggered:!1},l))})}function u(y,g){let m=$t.get(y);if(!m||m.text!==g.text||m.isChecked!==g.isChecked){$t.set(y,g);let k=r.getId(y);t(Object.assign(Object.assign({},g),{id:k}))}}let f=(c.input==="last"?["change"]:["input","change"]).map(y=>W(y,d,e)),h=e.defaultView;if(!h)return()=>{f.forEach(y=>y())};let v=h.Object.getOwnPropertyDescriptor(h.HTMLInputElement.prototype,"value"),C=[[h.HTMLInputElement.prototype,"value"],[h.HTMLInputElement.prototype,"checked"],[h.HTMLSelectElement.prototype,"value"],[h.HTMLTextAreaElement.prototype,"value"],[h.HTMLSelectElement.prototype,"selectedIndex"],[h.HTMLOptionElement.prototype,"selected"]];return v&&v.set&&f.push(...C.map(y=>me(y[0],y[1],{set(){d({target:this})}},!1,h))),()=>{f.forEach(y=>y())}}function Je(t){let e=[];function r(i,n){if(er&&i.parentRule instanceof CSSGroupingRule||tr&&i.parentRule instanceof CSSMediaRule||rr&&i.parentRule instanceof CSSSupportsRule||ir&&i.parentRule instanceof CSSConditionRule){let a=Array.from(i.parentRule.cssRules).indexOf(i);n.unshift(a)}else if(i.parentStyleSheet){let a=Array.from(i.parentStyleSheet.cssRules).indexOf(i);n.unshift(a)}return n}return r(t,e)}function de(t,e,r){let i,n;return t?(t.ownerNode?i=e.getId(t.ownerNode):n=r.getId(t),{styleId:n,id:i}):{}}function Ci({styleSheetRuleCb:t,mirror:e,stylesheetManager:r},{win:i}){let n=i.CSSStyleSheet.prototype.insertRule;i.CSSStyleSheet.prototype.insertRule=function(d,u){let{id:p,styleId:f}=de(this,e,r.styleMirror);return(p&&p!==-1||f&&f!==-1)&&t({id:p,styleId:f,adds:[{rule:d,index:u}]}),n.apply(this,[d,u])};let o=i.CSSStyleSheet.prototype.deleteRule;i.CSSStyleSheet.prototype.deleteRule=function(d){let{id:u,styleId:p}=de(this,e,r.styleMirror);return(u&&u!==-1||p&&p!==-1)&&t({id:u,styleId:p,removes:[{index:d}]}),o.apply(this,[d])};let a;i.CSSStyleSheet.prototype.replace&&(a=i.CSSStyleSheet.prototype.replace,i.CSSStyleSheet.prototype.replace=function(d){let{id:u,styleId:p}=de(this,e,r.styleMirror);return(u&&u!==-1||p&&p!==-1)&&t({id:u,styleId:p,replace:d}),a.apply(this,[d])});let s;i.CSSStyleSheet.prototype.replaceSync&&(s=i.CSSStyleSheet.prototype.replaceSync,i.CSSStyleSheet.prototype.replaceSync=function(d){let{id:u,styleId:p}=de(this,e,r.styleMirror);return(u&&u!==-1||p&&p!==-1)&&t({id:u,styleId:p,replaceSync:d}),s.apply(this,[d])});let c={};er?c.CSSGroupingRule=i.CSSGroupingRule:(tr&&(c.CSSMediaRule=i.CSSMediaRule),ir&&(c.CSSConditionRule=i.CSSConditionRule),rr&&(c.CSSSupportsRule=i.CSSSupportsRule));let l={};return Object.entries(c).forEach(([d,u])=>{l[d]={insertRule:u.prototype.insertRule,deleteRule:u.prototype.deleteRule},u.prototype.insertRule=function(p,f){let{id:h,styleId:v}=de(this.parentStyleSheet,e,r.styleMirror);return(h&&h!==-1||v&&v!==-1)&&t({id:h,styleId:v,adds:[{rule:p,index:[...Je(this),f||0]}]}),l[d].insertRule.apply(this,[p,f])},u.prototype.deleteRule=function(p){let{id:f,styleId:h}=de(this.parentStyleSheet,e,r.styleMirror);return(f&&f!==-1||h&&h!==-1)&&t({id:f,styleId:h,removes:[{index:[...Je(this),p]}]}),l[d].deleteRule.apply(this,[p])}}),()=>{i.CSSStyleSheet.prototype.insertRule=n,i.CSSStyleSheet.prototype.deleteRule=o,a&&(i.CSSStyleSheet.prototype.replace=a),s&&(i.CSSStyleSheet.prototype.replaceSync=s),Object.entries(c).forEach(([d,u])=>{u.prototype.insertRule=l[d].insertRule,u.prototype.deleteRule=l[d].deleteRule})}}function kt({mirror:t,stylesheetManager:e},r){var i,n,o;let a=null;r.nodeName==="#document"?a=t.getId(r):a=t.getId(r.host);let s=r.nodeName==="#document"?(i=r.defaultView)===null||i===void 0?void 0:i.Document:(o=(n=r.ownerDocument)===null||n===void 0?void 0:n.defaultView)===null||o===void 0?void 0:o.ShadowRoot,c=Object.getOwnPropertyDescriptor(s==null?void 0:s.prototype,"adoptedStyleSheets");return a===null||a===-1||!s||!c?()=>{}:(Object.defineProperty(r,"adoptedStyleSheets",{configurable:c.configurable,enumerable:c.enumerable,get(){var l;return(l=c.get)===null||l===void 0?void 0:l.call(this)},set(l){var d;let u=(d=c.set)===null||d===void 0?void 0:d.call(this,l);if(a!==null&&a!==-1)try{e.adoptStyleSheets(l,a)}catch(p){}return u}}),()=>{Object.defineProperty(r,"adoptedStyleSheets",{configurable:c.configurable,enumerable:c.enumerable,get:c.get,set:c.set})})}function bi({styleDeclarationCb:t,mirror:e,ignoreCSSAttributes:r,stylesheetManager:i},{win:n}){let o=n.CSSStyleDeclaration.prototype.setProperty;n.CSSStyleDeclaration.prototype.setProperty=function(s,c,l){var d;if(r.has(s))return o.apply(this,[s,c,l]);let{id:u,styleId:p}=de((d=this.parentRule)===null||d===void 0?void 0:d.parentStyleSheet,e,i.styleMirror);return(u&&u!==-1||p&&p!==-1)&&t({id:u,styleId:p,set:{property:s,value:c,priority:l},index:Je(this.parentRule)}),o.apply(this,[s,c,l])};let a=n.CSSStyleDeclaration.prototype.removeProperty;return n.CSSStyleDeclaration.prototype.removeProperty=function(s){var c;if(r.has(s))return a.apply(this,[s]);let{id:l,styleId:d}=de((c=this.parentRule)===null||c===void 0?void 0:c.parentStyleSheet,e,i.styleMirror);return(l&&l!==-1||d&&d!==-1)&&t({id:l,styleId:d,remove:{property:s},index:Je(this.parentRule)}),a.apply(this,[s])},()=>{n.CSSStyleDeclaration.prototype.setProperty=o,n.CSSStyleDeclaration.prototype.removeProperty=a}}function Si({mediaInteractionCb:t,blockClass:e,blockSelector:r,mirror:i,sampling:n}){let o=s=>we(c=>{let l=Me(c);if(!l||x(l,e,r,!0))return;let{currentTime:d,volume:u,muted:p,playbackRate:f}=l;t({type:s,id:i.getId(l),currentTime:d,volume:u,muted:p,playbackRate:f})},n.media||500),a=[W("play",o(0)),W("pause",o(1)),W("seeked",o(2)),W("volumechange",o(3)),W("ratechange",o(4))];return()=>{a.forEach(s=>s())}}function wi({fontCb:t,doc:e}){let r=e.defaultView;if(!r)return()=>{};let i=[],n=new WeakMap,o=r.FontFace;r.FontFace=function(c,l,d){let u=new o(c,l,d);return n.set(u,{family:c,buffer:typeof l!="string",descriptors:d,fontSource:typeof l=="string"?l:JSON.stringify(Array.from(new Uint8Array(l)))}),u};let a=te(e.fonts,"add",function(s){return function(c){return setTimeout(()=>{let l=n.get(c);l&&(t(l),n.delete(c))},0),s.apply(this,[c])}});return i.push(()=>{r.FontFace=o}),i.push(a),()=>{i.forEach(s=>s())}}function Ai(t){let{doc:e,mirror:r,blockClass:i,blockSelector:n,selectionCb:o}=t,a=!0,s=()=>{let c=e.getSelection();if(!c||a&&(c!=null&&c.isCollapsed))return;a=c.isCollapsed||!1;let l=[],d=c.rangeCount||0;for(let u=0;u<d;u++){let p=c.getRangeAt(u),{startContainer:f,startOffset:h,endContainer:v,endOffset:C}=p;x(f,i,n,!0)||x(v,i,n,!0)||l.push({start:r.getId(f),startOffset:h,end:r.getId(v),endOffset:C})}o({ranges:l})};return s(),W("selectionchange",s)}function ki(t,e){let{mutationCb:r,mousemoveCb:i,mouseInteractionCb:n,scrollCb:o,viewportResizeCb:a,inputCb:s,mediaInteractionCb:c,styleSheetRuleCb:l,styleDeclarationCb:d,canvasMutationCb:u,fontCb:p,selectionCb:f}=t;t.mutationCb=(...h)=>{e.mutation&&e.mutation(...h),r(...h)},t.mousemoveCb=(...h)=>{e.mousemove&&e.mousemove(...h),i(...h)},t.mouseInteractionCb=(...h)=>{e.mouseInteraction&&e.mouseInteraction(...h),n(...h)},t.scrollCb=(...h)=>{e.scroll&&e.scroll(...h),o(...h)},t.viewportResizeCb=(...h)=>{e.viewportResize&&e.viewportResize(...h),a(...h)},t.inputCb=(...h)=>{e.input&&e.input(...h),s(...h)},t.mediaInteractionCb=(...h)=>{e.mediaInteaction&&e.mediaInteaction(...h),c(...h)},t.styleSheetRuleCb=(...h)=>{e.styleSheetRule&&e.styleSheetRule(...h),l(...h)},t.styleDeclarationCb=(...h)=>{e.styleDeclaration&&e.styleDeclaration(...h),d(...h)},t.canvasMutationCb=(...h)=>{e.canvasMutation&&e.canvasMutation(...h),u(...h)},t.fontCb=(...h)=>{e.font&&e.font(...h),p(...h)},t.selectionCb=(...h)=>{e.selection&&e.selection(...h),f(...h)}}function nr(t,e={}){let r=t.doc.defaultView;if(!r)return()=>{};ki(t,e);let i=wt(t,t.doc),n=gi(t),o=mi(t),a=At(t),s=vi(t),c=Ii(t),l=Si(t),d=Ci(t,{win:r}),u=kt(t,t.doc),p=bi(t,{win:r}),f=t.collectFonts?wi(t):()=>{},h=Ai(t),v=[];for(let C of t.plugins)v.push(C.observer(C.callback,r,C.options));return()=>{ue.forEach(C=>C.reset()),i.disconnect(),n(),o(),a(),s(),c(),l(),d(),u(),p(),f(),h(),v.forEach(C=>C())}}var Ne=class{constructor(e){this.generateIdFn=e,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(e,r,i,n){let o=i||this.getIdToRemoteIdMap(e),a=n||this.getRemoteIdToIdMap(e),s=o.get(r);return s||(s=this.generateIdFn(),o.set(r,s),a.set(s,r)),s}getIds(e,r){let i=this.getIdToRemoteIdMap(e),n=this.getRemoteIdToIdMap(e);return r.map(o=>this.getId(e,o,i,n))}getRemoteId(e,r,i){let n=i||this.getRemoteIdToIdMap(e);if(typeof r!="number")return r;let o=n.get(r);return o||-1}getRemoteIds(e,r){let i=this.getRemoteIdToIdMap(e);return r.map(n=>this.getRemoteId(e,n,i))}reset(e){if(!e){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(e),this.iframeRemoteIdToIdMap.delete(e)}getIdToRemoteIdMap(e){let r=this.iframeIdToRemoteIdMap.get(e);return r||(r=new Map,this.iframeIdToRemoteIdMap.set(e,r)),r}getRemoteIdToIdMap(e){let r=this.iframeRemoteIdToIdMap.get(e);return r||(r=new Map,this.iframeRemoteIdToIdMap.set(e,r)),r}};var je=class{constructor(e){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new Ne(gt),this.mutationCb=e.mutationCb,this.wrappedEmit=e.wrappedEmit,this.stylesheetManager=e.stylesheetManager,this.recordCrossOriginIframes=e.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Ne(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=e.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(e){this.iframes.set(e,!0),e.contentWindow&&this.crossOriginIframeMap.set(e.contentWindow,e)}addLoadListener(e){this.loadListener=e}attachIframe(e,r){var i;this.mutationCb({adds:[{parentId:this.mirror.getId(e),nextId:null,node:r}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),(i=this.loadListener)===null||i===void 0||i.call(this,e),e.contentDocument&&e.contentDocument.adoptedStyleSheets&&e.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(e.contentDocument.adoptedStyleSheets,this.mirror.getId(e.contentDocument))}handleMessage(e){if(e.data.type==="rrweb"){if(!e.source)return;let i=this.crossOriginIframeMap.get(e.source);if(!i)return;let n=this.transformCrossOriginEvent(i,e.data.event);n&&this.wrappedEmit(n,e.data.isCheckout)}}transformCrossOriginEvent(e,r){var i;switch(r.type){case S.FullSnapshot:return this.crossOriginIframeMirror.reset(e),this.crossOriginIframeStyleMirror.reset(e),this.replaceIdOnNode(r.data.node,e),{timestamp:r.timestamp,type:S.IncrementalSnapshot,data:{source:b.Mutation,adds:[{parentId:this.mirror.getId(e),nextId:null,node:r.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}};case S.Meta:case S.Load:case S.DomContentLoaded:return!1;case S.Plugin:return r;case S.Custom:return this.replaceIds(r.data.payload,e,["id","parentId","previousId","nextId"]),r;case S.IncrementalSnapshot:switch(r.data.source){case b.Mutation:return r.data.adds.forEach(n=>{this.replaceIds(n,e,["parentId","nextId","previousId"]),this.replaceIdOnNode(n.node,e)}),r.data.removes.forEach(n=>{this.replaceIds(n,e,["parentId","id"])}),r.data.attributes.forEach(n=>{this.replaceIds(n,e,["id"])}),r.data.texts.forEach(n=>{this.replaceIds(n,e,["id"])}),r;case b.Drag:case b.TouchMove:case b.MouseMove:return r.data.positions.forEach(n=>{this.replaceIds(n,e,["id"])}),r;case b.ViewportResize:return!1;case b.MediaInteraction:case b.MouseInteraction:case b.Scroll:case b.CanvasMutation:case b.Input:return this.replaceIds(r.data,e,["id"]),r;case b.StyleSheetRule:case b.StyleDeclaration:return this.replaceIds(r.data,e,["id"]),this.replaceStyleIds(r.data,e,["styleId"]),r;case b.Font:return r;case b.Selection:return r.data.ranges.forEach(n=>{this.replaceIds(n,e,["start","end"])}),r;case b.AdoptedStyleSheet:return this.replaceIds(r.data,e,["id"]),this.replaceStyleIds(r.data,e,["styleIds"]),(i=r.data.styles)===null||i===void 0||i.forEach(n=>{this.replaceStyleIds(n,e,["styleId"])}),r}}}replace(e,r,i,n){for(let o of n)!Array.isArray(r[o])&&typeof r[o]!="number"||(Array.isArray(r[o])?r[o]=e.getIds(i,r[o]):r[o]=e.getId(i,r[o]));return r}replaceIds(e,r,i){return this.replace(this.crossOriginIframeMirror,e,r,i)}replaceStyleIds(e,r,i){return this.replace(this.crossOriginIframeStyleMirror,e,r,i)}replaceIdOnNode(e,r){this.replaceIds(e,r,["id"]),"childNodes"in e&&e.childNodes.forEach(i=>{this.replaceIdOnNode(i,r)})}};var Qe=class{constructor(e){this.shadowDoms=new WeakSet,this.restorePatches=[],this.mutationCb=e.mutationCb,this.scrollCb=e.scrollCb,this.bypassOptions=e.bypassOptions,this.mirror=e.mirror;let r=this;this.restorePatches.push(te(Element.prototype,"attachShadow",function(i){return function(n){let o=i.call(this,n);return this.shadowRoot&&r.addShadowRoot(this.shadowRoot,this.ownerDocument),o}}))}addShadowRoot(e,r){pe(e)&&(this.shadowDoms.has(e)||(this.shadowDoms.add(e),wt(Object.assign(Object.assign({},this.bypassOptions),{doc:r,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this}),e),At(Object.assign(Object.assign({},this.bypassOptions),{scrollCb:this.scrollCb,doc:e,mirror:this.mirror})),setTimeout(()=>{e.adoptedStyleSheets&&e.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(e.adoptedStyleSheets,this.mirror.getId(e.host)),kt({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},e)},0)))}observeAttachShadow(e){if(e.contentWindow){let r=this;this.restorePatches.push(te(e.contentWindow.HTMLElement.prototype,"attachShadow",function(i){return function(n){let o=i.call(this,n);return this.shadowRoot&&r.addShadowRoot(this.shadowRoot,e.contentDocument),o}}))}}reset(){this.restorePatches.forEach(e=>e()),this.shadowDoms=new WeakSet}};function or(t,e){var r={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(t);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(t,i[n])&&(r[i[n]]=t[i[n]]);return r}function sr(t,e,r,i){function n(o){return o instanceof r?o:new r(function(a){a(o)})}return new(r||(r=Promise))(function(o,a){function s(d){try{l(i.next(d))}catch(u){a(u)}}function c(d){try{l(i.throw(d))}catch(u){a(u)}}function l(d){d.done?o(d.value):n(d.value).then(s,c)}l((i=i.apply(t,e||[])).next())})}var Ae="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ti=typeof Uint8Array=="undefined"?[]:new Uint8Array(256);for(Oe=0;Oe<Ae.length;Oe++)Ti[Ae.charCodeAt(Oe)]=Oe;var Oe,ar=function(t){var e=new Uint8Array(t),r,i=e.length,n="";for(r=0;r<i;r+=3)n+=Ae[e[r]>>2],n+=Ae[(e[r]&3)<<4|e[r+1]>>4],n+=Ae[(e[r+1]&15)<<2|e[r+2]>>6],n+=Ae[e[r+2]&63];return i%3===2?n=n.substring(0,n.length-1)+"=":i%3===1&&(n=n.substring(0,n.length-2)+"=="),n};var cr=new Map;function Ri(t,e){let r=cr.get(t);return r||(r=new Map,cr.set(t,r)),r.has(e)||r.set(e,[]),r.get(e)}var Tt=(t,e,r)=>{if(!t||!(lr(t,e)||typeof t=="object"))return;let i=t.constructor.name,n=Ri(r,i),o=n.indexOf(t);return o===-1&&(o=n.length,n.push(t)),o};function Xe(t,e,r){if(t instanceof Array)return t.map(i=>Xe(i,e,r));if(t===null)return t;if(t instanceof Float32Array||t instanceof Float64Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Int16Array||t instanceof Int8Array||t instanceof Uint8ClampedArray)return{rr_type:t.constructor.name,args:[Object.values(t)]};if(t instanceof ArrayBuffer){let i=t.constructor.name,n=ar(t);return{rr_type:i,base64:n}}else{if(t instanceof DataView)return{rr_type:t.constructor.name,args:[Xe(t.buffer,e,r),t.byteOffset,t.byteLength]};if(t instanceof HTMLImageElement){let i=t.constructor.name,{src:n}=t;return{rr_type:i,src:n}}else if(t instanceof HTMLCanvasElement){let i="HTMLImageElement",n=t.toDataURL();return{rr_type:i,src:n}}else{if(t instanceof ImageData)return{rr_type:t.constructor.name,args:[Xe(t.data,e,r),t.width,t.height]};if(lr(t,e)||typeof t=="object"){let i=t.constructor.name,n=Tt(t,e,r);return{rr_type:i,index:n}}}}return t}var qe=(t,e,r)=>[...t].map(i=>Xe(i,e,r)),lr=(t,e)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(n=>typeof e[n]=="function").find(n=>t instanceof e[n]);function dr(t,e,r,i){let n=[],o=Object.getOwnPropertyNames(e.CanvasRenderingContext2D.prototype);for(let a of o)try{if(typeof e.CanvasRenderingContext2D.prototype[a]!="function")continue;let s=te(e.CanvasRenderingContext2D.prototype,a,function(c){return function(...l){return x(this.canvas,r,i,!0)||setTimeout(()=>{let d=qe([...l],e,this);t(this.canvas,{type:ae["2D"],property:a,args:d})},0),c.apply(this,l)}});n.push(s)}catch(s){let c=me(e.CanvasRenderingContext2D.prototype,a,{set(l){t(this.canvas,{type:ae["2D"],property:a,args:[l],setter:!0})}});n.push(c)}return()=>{n.forEach(a=>a())}}function Rt(t,e,r){let i=[];try{let n=te(t.HTMLCanvasElement.prototype,"getContext",function(o){return function(a,...s){return x(this,e,r,!0)||"__context"in this||(this.__context=a),o.apply(this,[a,...s])}});i.push(n)}catch(n){console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{i.forEach(n=>n())}}function ur(t,e,r,i,n,o,a){let s=[],c=Object.getOwnPropertyNames(t);for(let l of c)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(l))try{if(typeof t[l]!="function")continue;let d=te(t,l,function(u){return function(...p){let f=u.apply(this,p);if(Tt(f,a,this),!x(this.canvas,i,n,!0)){let h=qe([...p],a,this),v={type:e,property:l,args:h};r(this.canvas,v)}return f}});s.push(d)}catch(d){let u=me(t,l,{set(p){r(this.canvas,{type:e,property:l,args:[p],setter:!0})}});s.push(u)}return s}function hr(t,e,r,i,n){let o=[];return o.push(...ur(e.WebGLRenderingContext.prototype,ae.WebGL,t,r,i,n,e)),typeof e.WebGL2RenderingContext!="undefined"&&o.push(...ur(e.WebGL2RenderingContext.prototype,ae.WebGL2,t,r,i,n,e)),()=>{o.forEach(a=>a())}}var Et=null;try{pr=typeof module!="undefined"&&typeof module.require=="function"&&module.require("worker_threads")||typeof __non_webpack_require__=="function"&&__non_webpack_require__("worker_threads")||typeof require=="function"&&require("worker_threads"),Et=pr.Worker}catch(t){}var pr;function Ei(t,e){return Buffer.from(t,"base64").toString(e?"utf16":"utf8")}function fr(t,e,r){var i=e===void 0?null:e,n=r===void 0?!1:r,o=Ei(t,n),a=o.indexOf(`
|
|
4
|
+
`,10)+1,s=o.substring(a)+(i?"//# sourceMappingURL="+i:"");return function(l){return new Et(s,Object.assign({},l,{eval:!0}))}}function xi(t,e){var r=atob(t);if(e){for(var i=new Uint8Array(r.length),n=0,o=r.length;n<o;++n)i[n]=r.charCodeAt(n);return String.fromCharCode.apply(null,new Uint16Array(i.buffer))}return r}function Mi(t,e,r){var i=e===void 0?null:e,n=r===void 0?!1:r,o=xi(t,n),a=o.indexOf(`
|
|
5
|
+
`,10)+1,s=o.substring(a)+(i?"//# sourceMappingURL="+i:""),c=new Blob([s],{type:"application/javascript"});return URL.createObjectURL(c)}function gr(t,e,r){var i;return function(o){return i=i||Mi(t,e,r),new Worker(i,o)}}var Ni=Object.prototype.toString.call(typeof process!="undefined"?process:0)==="[object process]";function mr(){return Ni}function vr(t,e,r){return mr()?fr(t,e,r):gr(t,e,r)}var yr=vr("Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KDQogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLg0KDQogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgNCiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkNCiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsDQogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NDQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1INCiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SDQogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLw0KDQogICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikgew0KICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH0NCiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7DQogICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvclsidGhyb3ciXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9DQogICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfQ0KICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpOw0KICAgICAgICB9KTsNCiAgICB9CgogICAgLyoKICAgICAqIGJhc2U2NC1hcnJheWJ1ZmZlciAxLjAuMSA8aHR0cHM6Ly9naXRodWIuY29tL25pa2xhc3ZoL2Jhc2U2NC1hcnJheWJ1ZmZlcj4KICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBOaWtsYXMgdm9uIEhlcnR6ZW4gPGh0dHBzOi8vaGVydHplbi5jb20+CiAgICAgKiBSZWxlYXNlZCB1bmRlciBNSVQgTGljZW5zZQogICAgICovCiAgICB2YXIgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7CiAgICAvLyBVc2UgYSBsb29rdXAgdGFibGUgdG8gZmluZCB0aGUgaW5kZXguCiAgICB2YXIgbG9va3VwID0gdHlwZW9mIFVpbnQ4QXJyYXkgPT09ICd1bmRlZmluZWQnID8gW10gOiBuZXcgVWludDhBcnJheSgyNTYpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFycy5sZW5ndGg7IGkrKykgewogICAgICAgIGxvb2t1cFtjaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7CiAgICB9CiAgICB2YXIgZW5jb2RlID0gZnVuY3Rpb24gKGFycmF5YnVmZmVyKSB7CiAgICAgICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlidWZmZXIpLCBpLCBsZW4gPSBieXRlcy5sZW5ndGgsIGJhc2U2NCA9ICcnOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkgKz0gMykgewogICAgICAgICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaV0gPj4gMl07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1soKGJ5dGVzW2ldICYgMykgPDwgNCkgfCAoYnl0ZXNbaSArIDFdID4+IDQpXTsKICAgICAgICAgICAgYmFzZTY0ICs9IGNoYXJzWygoYnl0ZXNbaSArIDFdICYgMTUpIDw8IDIpIHwgKGJ5dGVzW2kgKyAyXSA+PiA2KV07CiAgICAgICAgICAgIGJhc2U2NCArPSBjaGFyc1tieXRlc1tpICsgMl0gJiA2M107CiAgICAgICAgfQogICAgICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgJz0nOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgJz09JzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGJhc2U2NDsKICAgIH07CgogICAgY29uc3QgbGFzdEJsb2JNYXAgPSBuZXcgTWFwKCk7DQogICAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gbmV3IE1hcCgpOw0KICAgIGZ1bmN0aW9uIGdldFRyYW5zcGFyZW50QmxvYkZvcih3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucykgew0KICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkgew0KICAgICAgICAgICAgY29uc3QgaWQgPSBgJHt3aWR0aH0tJHtoZWlnaHR9YDsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgaWYgKHRyYW5zcGFyZW50QmxvYk1hcC5oYXMoaWQpKQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNwYXJlbnRCbG9iTWFwLmdldChpZCk7DQogICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsNCiAgICAgICAgICAgICAgICBvZmZzY3JlZW4uZ2V0Q29udGV4dCgnMmQnKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0geWllbGQgYmxvYi5hcnJheUJ1ZmZlcigpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7DQogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gYmFzZTY0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICB9DQogICAgY29uc3Qgd29ya2VyID0gc2VsZjsNCiAgICB3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHsNCiAgICAgICAgICAgIGlmICgnT2Zmc2NyZWVuQ2FudmFzJyBpbiBnbG9iYWxUaGlzKSB7DQogICAgICAgICAgICAgICAgY29uc3QgeyBpZCwgYml0bWFwLCB3aWR0aCwgaGVpZ2h0LCBkYXRhVVJMT3B0aW9ucyB9ID0gZS5kYXRhOw0KICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zKTsNCiAgICAgICAgICAgICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOw0KICAgICAgICAgICAgICAgIGNvbnN0IGN0eCA9IG9mZnNjcmVlbi5nZXRDb250ZXh0KCcyZCcpOw0KICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoYml0bWFwLCAwLCAwKTsNCiAgICAgICAgICAgICAgICBiaXRtYXAuY2xvc2UoKTsNCiAgICAgICAgICAgICAgICBjb25zdCBibG9iID0geWllbGQgb2Zmc2NyZWVuLmNvbnZlcnRUb0Jsb2IoZGF0YVVSTE9wdGlvbnMpOw0KICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBibG9iLnR5cGU7DQogICAgICAgICAgICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSB5aWVsZCBibG9iLmFycmF5QnVmZmVyKCk7DQogICAgICAgICAgICAgICAgY29uc3QgYmFzZTY0ID0gZW5jb2RlKGFycmF5QnVmZmVyKTsNCiAgICAgICAgICAgICAgICBpZiAoIWxhc3RCbG9iTWFwLmhhcyhpZCkgJiYgKHlpZWxkIHRyYW5zcGFyZW50QmFzZTY0KSA9PT0gYmFzZTY0KSB7DQogICAgICAgICAgICAgICAgICAgIGxhc3RCbG9iTWFwLnNldChpZCwgYmFzZTY0KTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtlci5wb3N0TWVzc2FnZSh7IGlkIH0pOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7DQogICAgICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgaWQsDQogICAgICAgICAgICAgICAgICAgIHR5cGUsDQogICAgICAgICAgICAgICAgICAgIGJhc2U2NCwNCiAgICAgICAgICAgICAgICAgICAgd2lkdGgsDQogICAgICAgICAgICAgICAgICAgIGhlaWdodCwNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfTsKCn0pKCk7Cgo=",null,!1);var $e=class{constructor(e){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.frozen=!1,this.locked=!1,this.processMutation=(c,l)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(c)||this.pendingCanvasMutations.set(c,[]),this.pendingCanvasMutations.get(c).push(l)};let{sampling:r="all",win:i,blockClass:n,blockSelector:o,recordCanvas:a,dataURLOptions:s}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,a&&r==="all"&&this.initCanvasMutationObserver(i,n,o),a&&typeof r=="number"&&this.initCanvasFPSObserver(r,i,n,o,{dataURLOptions:s})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(e,r,i,n,o){let a=Rt(r,i,n),s=new Map,c=new yr;c.onmessage=h=>{let{id:v}=h.data;if(s.set(v,!1),!("base64"in h.data))return;let{base64:C,type:y,width:g,height:m}=h.data;this.mutationCb({id:v,type:ae["2D"],commands:[{property:"clearRect",args:[0,0,g,m]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:C}],type:y}]},0,0]}]})};let l=1e3/e,d=0,u,p=()=>{let h=[];return r.document.querySelectorAll("canvas").forEach(v=>{x(v,i,n,!0)||h.push(v)}),h},f=h=>{if(d&&h-d<l){u=requestAnimationFrame(f);return}d=h,p().forEach(v=>sr(this,void 0,void 0,function*(){var C;let y=this.mirror.getId(v);if(s.get(y))return;if(s.set(y,!0),["webgl","webgl2"].includes(v.__context)){let m=v.getContext(v.__context);((C=m==null?void 0:m.getContextAttributes())===null||C===void 0?void 0:C.preserveDrawingBuffer)===!1&&(m==null||m.clear(m.COLOR_BUFFER_BIT))}let g=yield createImageBitmap(v);c.postMessage({id:y,bitmap:g,width:v.width,height:v.height,dataURLOptions:o.dataURLOptions},[g])})),u=requestAnimationFrame(f)};u=requestAnimationFrame(f),this.resetObservers=()=>{a(),cancelAnimationFrame(u)}}initCanvasMutationObserver(e,r,i){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let n=Rt(e,r,i),o=dr(this.processMutation.bind(this),e,r,i),a=hr(this.processMutation.bind(this),e,r,i,this.mirror);this.resetObservers=()=>{n(),o(),a()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let e=r=>{this.rafStamps.latestId=r,requestAnimationFrame(e)};requestAnimationFrame(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,r)=>{let i=this.mirror.getId(r);this.flushPendingCanvasMutationFor(r,i)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(e,r){if(this.frozen||this.locked)return;let i=this.pendingCanvasMutations.get(e);if(!i||r===-1)return;let n=i.map(a=>or(a,["type"])),{type:o}=i[0];this.mutationCb({id:r,type:o,commands:n}),this.pendingCanvasMutations.delete(e)}};var et=class{constructor(e){this.trackedLinkElements=new WeakSet,this.styleMirror=new _e,this.mutationCb=e.mutationCb,this.adoptedStyleSheetCb=e.adoptedStyleSheetCb}attachLinkElement(e,r){"_cssText"in r.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:r.id,attributes:r.attributes}]}),this.trackLinkElement(e)}trackLinkElement(e){this.trackedLinkElements.has(e)||(this.trackedLinkElements.add(e),this.trackStylesheetInLinkElement(e))}adoptStyleSheets(e,r){if(e.length===0)return;let i={id:r,styleIds:[]},n=[];for(let o of e){let a;if(this.styleMirror.has(o))a=this.styleMirror.getId(o);else{a=this.styleMirror.add(o);let s=Array.from(o.rules||CSSRule);n.push({styleId:a,rules:s.map((c,l)=>({rule:ft(c),index:l}))})}i.styleIds.push(a)}n.length>0&&(i.styles=n),this.adoptedStyleSheetCb(i)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(e){}};function L(t){return Object.assign(Object.assign({},t),{timestamp:Date.now()})}var M,tt,xt,rt=!1,re=Ut();function ve(t={}){let{emit:e,checkoutEveryNms:r,checkoutEveryNth:i,blockClass:n="rr-block",blockSelector:o=null,ignoreClass:a="rr-ignore",maskTextClass:s="rr-mask",maskTextSelector:c=null,inlineStylesheet:l=!0,maskAllInputs:d,maskInputOptions:u,slimDOMOptions:p,maskInputFn:f,maskTextFn:h,hooks:v,packFn:C,sampling:y={},dataURLOptions:g={},mousemoveWait:m,recordCanvas:k=!1,recordCrossOriginIframes:B=!1,userTriggeredOnInput:P=!1,collectFonts:D=!1,inlineImages:T=!1,plugins:K,keepIframeSrcFn:z=()=>!1,ignoreCSSAttributes:Q=new Set([])}=t,X=B?window.parent===window:!0,q=!1;if(!X)try{window.parent.document,q=!1}catch(I){q=!0}if(X&&!e)throw new Error("emit function is required");m!==void 0&&y.mousemove===void 0&&(y.mousemove=m),re.reset();let O=d===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,password:!0}:u!==void 0?u:{password:!0},Y=p===!0||p==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:p==="all",headMetaDescKeywords:p==="all"}:p||{};Kt();let $,ne=0,se=I=>{for(let _ of K||[])_.eventProcessor&&(I=_.eventProcessor(I));return C&&(I=C(I)),I};M=(I,_)=>{var H;if(!((H=ue[0])===null||H===void 0)&&H.isFrozen()&&I.type!==S.FullSnapshot&&!(I.type===S.IncrementalSnapshot&&I.data.source===b.Mutation)&&ue.forEach(E=>E.unfreeze()),X)e==null||e(se(I),_);else if(q){let E={type:"rrweb",event:se(I),isCheckout:_};window.parent.postMessage(E,"*")}if(I.type===S.FullSnapshot)$=I,ne=0;else if(I.type===S.IncrementalSnapshot){if(I.data.source===b.Mutation&&I.data.isAttachIframe)return;ne++;let E=i&&ne>=i,j=r&&I.timestamp-$.timestamp>r;(E||j)&&tt(!0)}};let G=I=>{M(L({type:S.IncrementalSnapshot,data:Object.assign({source:b.Mutation},I)}))},J=I=>M(L({type:S.IncrementalSnapshot,data:Object.assign({source:b.Scroll},I)})),ce=I=>M(L({type:S.IncrementalSnapshot,data:Object.assign({source:b.CanvasMutation},I)})),N=I=>M(L({type:S.IncrementalSnapshot,data:Object.assign({source:b.AdoptedStyleSheet},I)})),ee=new et({mutationCb:G,adoptedStyleSheetCb:N}),oe=new je({mirror:re,mutationCb:G,stylesheetManager:ee,recordCrossOriginIframes:B,wrappedEmit:M});for(let I of K||[])I.getMirror&&I.getMirror({nodeMirror:re,crossOriginIframeMirror:oe.crossOriginIframeMirror,crossOriginIframeStyleMirror:oe.crossOriginIframeStyleMirror});xt=new $e({recordCanvas:k,mutationCb:ce,win:window,blockClass:n,blockSelector:o,mirror:re,sampling:y.canvas,dataURLOptions:g});let Ie=new Qe({mutationCb:G,scrollCb:J,bypassOptions:{blockClass:n,blockSelector:o,maskTextClass:s,maskTextSelector:c,inlineStylesheet:l,maskInputOptions:O,dataURLOptions:g,maskTextFn:h,maskInputFn:f,recordCanvas:k,inlineImages:T,sampling:y,slimDOMOptions:Y,iframeManager:oe,stylesheetManager:ee,canvasManager:xt,keepIframeSrcFn:z},mirror:re});tt=(I=!1)=>{var _,H,E,j,w,Z;M(L({type:S.Meta,data:{href:window.location.href,width:Ue(),height:Ve()}}),I),ee.reset(),ue.forEach(V=>V.lock());let ke=Gt(document,{mirror:re,blockClass:n,blockSelector:o,maskTextClass:s,maskTextSelector:c,inlineStylesheet:l,maskAllInputs:O,maskTextFn:h,slimDOM:Y,dataURLOptions:g,recordCanvas:k,inlineImages:T,onSerialize:V=>{He(V,re)&&oe.addIframe(V),Ze(V,re)&&ee.trackLinkElement(V),Ke(V)&&Ie.addShadowRoot(V.shadowRoot,document)},onIframeLoad:(V,lt)=>{oe.attachIframe(V,lt),Ie.observeAttachShadow(V)},onStylesheetLoad:(V,lt)=>{ee.attachLinkElement(V,lt)},keepIframeSrcFn:z});if(!ke)return console.warn("Failed to snapshot the document");M(L({type:S.FullSnapshot,data:{node:ke,initialOffset:{left:window.pageXOffset!==void 0?window.pageXOffset:(document==null?void 0:document.documentElement.scrollLeft)||((H=(_=document==null?void 0:document.body)===null||_===void 0?void 0:_.parentElement)===null||H===void 0?void 0:H.scrollLeft)||((E=document==null?void 0:document.body)===null||E===void 0?void 0:E.scrollLeft)||0,top:window.pageYOffset!==void 0?window.pageYOffset:(document==null?void 0:document.documentElement.scrollTop)||((w=(j=document==null?void 0:document.body)===null||j===void 0?void 0:j.parentElement)===null||w===void 0?void 0:w.scrollTop)||((Z=document==null?void 0:document.body)===null||Z===void 0?void 0:Z.scrollTop)||0}}})),ue.forEach(V=>V.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&ee.adoptStyleSheets(document.adoptedStyleSheets,re.getId(document))};try{let I=[];I.push(W("DOMContentLoaded",()=>{M(L({type:S.DomContentLoaded,data:{}}))}));let _=E=>{var j;return nr({mutationCb:G,mousemoveCb:(w,Z)=>M(L({type:S.IncrementalSnapshot,data:{source:Z,positions:w}})),mouseInteractionCb:w=>M(L({type:S.IncrementalSnapshot,data:Object.assign({source:b.MouseInteraction},w)})),scrollCb:J,viewportResizeCb:w=>M(L({type:S.IncrementalSnapshot,data:Object.assign({source:b.ViewportResize},w)})),inputCb:w=>M(L({type:S.IncrementalSnapshot,data:Object.assign({source:b.Input},w)})),mediaInteractionCb:w=>M(L({type:S.IncrementalSnapshot,data:Object.assign({source:b.MediaInteraction},w)})),styleSheetRuleCb:w=>M(L({type:S.IncrementalSnapshot,data:Object.assign({source:b.StyleSheetRule},w)})),styleDeclarationCb:w=>M(L({type:S.IncrementalSnapshot,data:Object.assign({source:b.StyleDeclaration},w)})),canvasMutationCb:ce,fontCb:w=>M(L({type:S.IncrementalSnapshot,data:Object.assign({source:b.Font},w)})),selectionCb:w=>{M(L({type:S.IncrementalSnapshot,data:Object.assign({source:b.Selection},w)}))},blockClass:n,ignoreClass:a,maskTextClass:s,maskTextSelector:c,maskInputOptions:O,inlineStylesheet:l,sampling:y,recordCanvas:k,inlineImages:T,userTriggeredOnInput:P,collectFonts:D,doc:E,maskInputFn:f,maskTextFn:h,keepIframeSrcFn:z,blockSelector:o,slimDOMOptions:Y,dataURLOptions:g,mirror:re,iframeManager:oe,stylesheetManager:ee,shadowDomManager:Ie,canvasManager:xt,ignoreCSSAttributes:Q,plugins:((j=K==null?void 0:K.filter(w=>w.observer))===null||j===void 0?void 0:j.map(w=>({observer:w.observer,options:w.options,callback:Z=>M(L({type:S.Plugin,data:{plugin:w.name,payload:Z}}))})))||[]},v)};oe.addLoadListener(E=>{I.push(_(E.contentDocument))});let H=()=>{tt(),I.push(_(document)),rt=!0};return document.readyState==="interactive"||document.readyState==="complete"?H():I.push(W("load",()=>{M(L({type:S.Load,data:{}})),H()},window)),()=>{I.forEach(E=>E()),rt=!1}}catch(I){console.warn(I)}}ve.addCustomEvent=(t,e)=>{if(!rt)throw new Error("please add custom event after start recording");M(L({type:S.Custom,data:{tag:t,payload:e}}))};ve.freezePage=()=>{ue.forEach(t=>t.freeze())};ve.takeFullSnapshot=t=>{if(!rt)throw new Error("please take full snapshot after start recording");tt(t)};ve.mirror=re;var it=class{constructor(e){this.opts=e;this.seq=0;this.buffer=[];this.stopRecording=null;this.flushTimer=null}start(){var e,r;typeof document=="undefined"||this.stopRecording||(this.stopRecording=(r=ve({emit:i=>{this.buffer.push(i),this.buffer.length>=this.opts.maxEventsPerBatch&&this.flush()},checkoutEveryNms:(e=this.opts.checkoutEveryNms)!=null?e:6e5}))!=null?r:null,this.flushTimer=setInterval(()=>{this.buffer.length>0&&this.flush()},this.opts.flushIntervalMs))}flush(){if(this.buffer.length===0)return;let e=this.buffer.splice(0,this.buffer.length);this.opts.emit({type:"session_replay",data:{seq:this.seq++,events:e}})}destroy(){var e;this.flushTimer!==null&&(clearInterval(this.flushTimer),this.flushTimer=null),this.flush(),(e=this.stopRecording)==null||e.call(this),this.stopRecording=null}};var Ir="1.0.2";function Cr(t){var r,i;let e=t.toLowerCase();return/ipad|tablet|(android(?!.*mobile))/i.test(e)?"tablet":/mobile|android|iphone|ipod|windows phone/i.test(e)?"mobile":typeof navigator!="undefined"&&navigator.maxTouchPoints>0&&typeof window!="undefined"&&((i=(r=window.matchMedia)==null?void 0:r.call(window,"(pointer: coarse)"))==null?void 0:i.matches)&&/macintosh|mac os x/i.test(e)?"tablet":"desktop"}function Oi(t){return/windows/i.test(t)?"Windows":/android/i.test(t)?"Android":/iphone|ipad|ipod/i.test(t)?"iOS":/mac os x|macintosh/i.test(t)?"macOS":/linux/i.test(t)?"Linux":"Other"}function Li(t){return/edg\//i.test(t)?"Edge":/opr\/|opera/i.test(t)?"Opera":/chrome\/[0-9]/i.test(t)&&!/chromium/i.test(t)?"Chrome":/firefox\/[0-9]/i.test(t)?"Firefox":/safari\/[0-9]/i.test(t)&&!/chrome/i.test(t)?"Safari":"Other"}function Fi(){let e=navigator.userAgentData;return e?{mobile:e.mobile,platform:e.platform}:{}}function Pi(t,e){var i;let r=((i=e.platform)!=null?i:"").toLowerCase();return r==="ios"||r==="ipados"||r==="android"?e.mobile?"mobile":"tablet":e.mobile===!0?"mobile":Cr(t)}function br(t){var s,c,l,d,u,p,f,h,v,C,y,g;if(typeof window=="undefined"||typeof navigator=="undefined")return{sessionId:t,timestamp:Date.now(),device:"desktop",os:"Other",browser:"Other",language:"",languages:[],colorScheme:"",screenWidth:0,screenHeight:0,viewportWidth:0,viewportHeight:0,devicePixelRatio:1,timeZone:"",sdkVersion:Ir};let e=navigator.userAgent||"",r=Fi(),i=r.mobile!==void 0||r.platform?Pi(e,r):Cr(e),n="";(c=(s=window.matchMedia)==null?void 0:s.call(window,"(prefers-color-scheme: dark)"))!=null&&c.matches?n="dark":(d=(l=window.matchMedia)==null?void 0:l.call(window,"(prefers-color-scheme: light)"))!=null&&d.matches&&(n="light");let o="";try{o=(u=Intl.DateTimeFormat().resolvedOptions().timeZone)!=null?u:""}catch(m){o=""}let a=typeof navigator.languages!="undefined"&&navigator.languages.length?[...navigator.languages]:navigator.language?[navigator.language]:[];return{sessionId:t,timestamp:Date.now(),device:i,os:Oi(e),browser:Li(e),language:navigator.language||"",languages:a,colorScheme:n,screenWidth:(f=(p=window.screen)==null?void 0:p.width)!=null?f:0,screenHeight:(v=(h=window.screen)==null?void 0:h.height)!=null?v:0,viewportWidth:(C=window.innerWidth)!=null?C:0,viewportHeight:(y=window.innerHeight)!=null?y:0,devicePixelRatio:(g=window.devicePixelRatio)!=null?g:1,timeZone:o,sdkVersion:Ir}}var Di="https://api.alphana.ir/api/events",Wi={endpoint:Di,trackNavigation:!0,trackTime:!0,trackHeatmap:!0,trackLogs:!0,mouseSampleRate:.1,maxHeatmapPoints:2e3,batchSize:20,flushInterval:5e3,sessionReplay:!1,sessionReplayCheckoutEveryNms:6e5,sessionReplayMaxEventsPerBatch:48,sessionReplayFlushIntervalMs:4e3},Le="__alphana_first_touch__",nt="__alphana_last_touch__",Bi={utm_source:"source",utm_medium:"medium",utm_campaign:"campaign",utm_term:"term",utm_content:"content"},_i=["gclid","fbclid","ttclid","msclkid"];function Vi(t){if(typeof localStorage=="undefined")return null;try{return localStorage.getItem(t)}catch(e){return null}}function Ui(t,e){if(typeof localStorage!="undefined")try{localStorage.setItem(t,e)}catch(r){}}function ye(t){let e=Vi(t);if(e)try{let r=JSON.parse(e);return typeof r.landingPage=="string"&&typeof r.capturedAt=="number"?r:void 0}catch(r){return}}function Sr(t,e){Ui(t,JSON.stringify(e))}function Gi(t){if(t)try{return new URL(t).hostname.replace(/^www\./,"").toLowerCase()}catch(e){return}}function Hi(){return typeof window=="undefined"?new URLSearchParams:new URLSearchParams(window.location.search)}function Zi(t){var r;let e={};for(let[i,n]of Object.entries(Bi)){let o=(r=t.get(i))==null?void 0:r.trim();o&&(e[n]=o)}return Object.keys(e).length>0?e:void 0}function Ki(t){var r;let e={};for(let i of _i){let n=(r=t.get(i))==null?void 0:r.trim();n&&(e[i]=n)}return Object.keys(e).length>0?e:void 0}function zi(t){switch(t.type){case"pageview":return{type:"pageview",data:{...t.data,path:A(t.data.path)}};case"timespent":return{type:"timespent",data:{...t.data,path:A(t.data.path)}};case"heatmap":return{type:"heatmap",data:{...t.data,path:A(t.data.path)}};case"rageclik":return{type:"rageclik",data:{...t.data,path:A(t.data.path)}};case"uturn":return{type:"uturn",data:{...t.data,fromPath:A(t.data.fromPath),toPath:A(t.data.toPath)}};case"identify":return t;case"revenue":return t;case"goal":return{type:"goal",data:{...t.data,path:A(t.data.path)}};case"journey_step":return{type:"journey_step",data:{...t.data,path:A(t.data.path)}};case"client_context":return t;case"session_replay":return t;default:return t}}var ot=class{constructor(e={}){this.initialized=!1;this.subscribers=new Set;this.queue=[];this.flushTimer=null;this.heartbeatTimer=null;this.userProperties={};this.flags={};this.flagSubscribers=new Set;this.abVariants={};this.abTestSubscribers=new Set;this.handleVisibilityChange=()=>{document.visibilityState==="hidden"&&(this.queue.length>0&&this.flushBeacon(),this.sendDeactivate())};this.handlePageHide=()=>{this.queue.length>0&&this.flushBeacon(),this.sendDeactivate()};this.handleNavigate=e=>{};var r;this.cfg={...Wi,...e};try{new URL(this.cfg.endpoint)}catch(i){throw new Error(`[alpha-tracker] Invalid endpoint URL: "${this.cfg.endpoint}"`)}this.session={id:(r=e.sessionId)!=null?r:Te(),visitorId:Lt(),startedAt:Date.now(),pageViews:[],timeSpent:{},heatmap:{},userProperties:{},attribution:{firstTouch:ye(Le),lastTouch:ye(nt)}}}updateAttributionForPageView(e,r){let i=Hi(),n=Zi(i),o=Ki(i),a=ye(Le),c=!!(n||o||r)?{landingPage:e,referrer:r,referrerHost:Gi(r),utm:n,clickIds:o,capturedAt:Date.now()}:void 0;!a&&c&&Sr(Le,c),c&&Sr(nt,c);let l={firstTouch:ye(Le),lastTouch:ye(nt)};return this.session.attribution=l,l}currentAttribution(){let e={firstTouch:ye(Le),lastTouch:ye(nt)};return this.session.attribution=e,e}init(){if(typeof window=="undefined"||this.initialized)return this;let e=this.emit.bind(this),{id:r}=this.session;return e({type:"client_context",data:br(r)}),this.cfg.trackNavigation&&(this.navigation=new Fe({emit:e,sessionId:r}),this.navigation.init()),this.cfg.trackTime&&(this.time=new Pe({emit:e,sessionId:r}),this.time.init()),this.cfg.trackHeatmap&&(this.heatmap=new De({emit:e,sessionId:r,sampleRate:this.cfg.mouseSampleRate,maxPoints:this.cfg.maxHeatmapPoints,allowedPaths:this.cfg.heatmapPages}),this.heatmap.init()),this.cfg.sessionReplay&&(this.sessionReplay=new it({emit:e,checkoutEveryNms:this.cfg.sessionReplayCheckoutEveryNms,maxEventsPerBatch:this.cfg.sessionReplayMaxEventsPerBatch,flushIntervalMs:this.cfg.sessionReplayFlushIntervalMs}),this.sessionReplay.start()),this.cfg.endpoint&&(this.flushTimer=setInterval(()=>{this.queue.length>0&&this.flushQueue()},this.cfg.flushInterval),window.addEventListener("visibilitychange",this.handleVisibilityChange),window.addEventListener("pagehide",this.handlePageHide),this.heartbeatTimer=setInterval(()=>{document.visibilityState!=="hidden"&&this.sendHeartbeat()},3e4),this.cfg.trackLogs&&(this.logCapture=new We({endpoint:this.cfg.endpoint,sessionId:this.session.id,secretKey:this.cfg.secretKey,appId:this.cfg.appId}),this.logCapture.init())),this.initialized=!0,this.fetchFlags(),this.fetchAbTests(),this}destroy(){var e,r,i,n,o;this.flushTimer!==null&&(clearInterval(this.flushTimer),this.flushTimer=null),this.heartbeatTimer!==null&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),typeof window!="undefined"&&(window.removeEventListener("visibilitychange",this.handleVisibilityChange),window.removeEventListener("pagehide",this.handlePageHide)),(e=this.navigation)==null||e.destroy(),(r=this.time)==null||r.destroy(),(i=this.heatmap)==null||i.destroy(),(n=this.sessionReplay)==null||n.destroy(),this.sessionReplay=void 0,(o=this.logCapture)==null||o.destroy(),typeof window!="undefined"&&window.removeEventListener("tracker:navigate",this.handleNavigate),this.queue.length>0&&this.cfg.endpoint&&this.flushBeacon(),this.initialized=!1}async sendHeartbeat(){if(!this.cfg.endpoint)return;let e=`${this.cfg.endpoint}/heartbeat`,r=this.cfg.secretKey?{Authorization:`Bearer ${this.cfg.secretKey}`}:{},i=JSON.stringify({sessionId:this.session.id,visitorId:this.session.visitorId,path:A(typeof window!="undefined"?window.location.pathname+window.location.search:"/"),active:!0,...this.cfg.appId?{appId:this.cfg.appId}:{}});try{await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",...r},body:i,keepalive:!0})}catch(n){}}sendDeactivate(){if(!this.cfg.endpoint)return;let e=`${this.cfg.endpoint}/heartbeat`,r=this.cfg.secretKey?{Authorization:`Bearer ${this.cfg.secretKey}`}:{},i=JSON.stringify({sessionId:this.session.id,visitorId:this.session.visitorId,path:A(typeof window!="undefined"?window.location.pathname+window.location.search:"/"),active:!1,...this.cfg.appId?{appId:this.cfg.appId}:{}});typeof navigator!="undefined"&&navigator.sendBeacon?navigator.sendBeacon(e,new Blob([i],{type:"application/json"})):fetch(e,{method:"POST",headers:{"Content-Type":"application/json",...r},body:i,keepalive:!0}).catch(()=>{})}emit(e){var r,i,n,o;if(e=zi(e),e.type==="pageview"){let a=this.updateAttributionForPageView(e.data.path,e.data.referrer);e={type:"pageview",data:{...e.data,utm:(r=a.lastTouch)==null?void 0:r.utm,attribution:a}}}switch(e.type){case"pageview":this.session.pageViews.push(e.data);break;case"timespent":{let a=(i=this.session.timeSpent[e.data.path])!=null?i:0;this.session.timeSpent[e.data.path]=a+e.data.duration;break}case"heatmap":{let a=e.data.path;this.session.heatmap[a]||(this.session.heatmap[a]=[]);let s=this.session.heatmap[a];s.length<this.cfg.maxHeatmapPoints&&s.push(e.data);break}case"rageclik":case"uturn":case"identify":case"revenue":case"goal":case"journey_step":case"client_context":case"session_replay":break}this.subscribers.forEach(a=>a(e)),(o=(n=this.cfg).onEvent)==null||o.call(n,e),this.cfg.endpoint&&(this.queue.push(e),this.queue.length>=this.cfg.batchSize&&this.flushQueue())}subscribe(e){return this.subscribers.add(e),()=>this.subscribers.delete(e)}trackPageView(e){let r=A(e!=null?e:typeof window!="undefined"?window.location.pathname+window.location.search:"/");this.emit({type:"pageview",data:{path:r,title:typeof document!="undefined"?document.title:"",timestamp:Date.now(),sessionId:this.session.id,referrer:typeof document!="undefined"&&document.referrer||void 0}}),typeof window!="undefined"&&window.dispatchEvent(new CustomEvent("tracker:navigate",{detail:{path:r,title:document.title}}))}trackRevenue(e){var r,i;this.emit({type:"revenue",data:{...e,eventName:(r=e.eventName)!=null?r:"purchase",status:(i=e.status)!=null?i:"paid",sessionId:this.session.id,visitorId:this.session.visitorId,timestamp:Date.now(),attribution:this.currentAttribution()}})}trackGoal(e){let r=A(typeof window!="undefined"?window.location.pathname+window.location.search:"/");this.emit({type:"goal",data:{...e,sessionId:this.session.id,visitorId:this.session.visitorId,path:r,timestamp:Date.now()}})}trackJourneyStep(e){var i;let r=A((i=e.path)!=null?i:typeof window!="undefined"?window.location.pathname+window.location.search:"/");this.emit({type:"journey_step",data:{...e,path:r,sessionId:this.session.id,visitorId:this.session.visitorId,timestamp:Date.now()}})}identify(e){this.userProperties={...this.userProperties,...e},this.session.userProperties={...this.userProperties},this.emit({type:"identify",data:{properties:{...this.userProperties},visitorId:this.session.visitorId,timestamp:Date.now()}}),this.fetchFlags()}getFlags(){return{...this.flags}}isFeatureEnabled(e){return this.flags[e]===!0}onFlagsChange(e){return this.flagSubscribers.add(e),()=>this.flagSubscribers.delete(e)}async fetchFlags(){if(!this.cfg.endpoint||!this.cfg.secretKey)return;let e=ut(this.cfg.endpoint)+"/feature-flags/evaluate";try{let r=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.cfg.secretKey}`},body:JSON.stringify({userProperties:this.userProperties})});if(!r.ok)return;let i=await r.json();this.flags=i,this.flagSubscribers.forEach(n=>n({...this.flags}))}catch(r){}}getAbVariants(){return{...this.abVariants}}getAbVariant(e){let r=this.abVariants[e];return r!=null?r:null}isAbVariant(e,r){return this.abVariants[e]===r}onAbTestsChange(e){return this.abTestSubscribers.add(e),()=>this.abTestSubscribers.delete(e)}async fetchAbTests(e){if(!this.cfg.endpoint||!this.cfg.secretKey)return;let r=ut(this.cfg.endpoint)+"/ab-tests/evaluate";try{let i={visitorId:this.session.visitorId};e!=null&&e.length&&(i.keys=e);let n=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.cfg.secretKey}`},body:JSON.stringify(i)});if(!n.ok)return;let o=await n.json();this.abVariants=e!=null&&e.length?{...this.abVariants,...o}:{...o},this.abTestSubscribers.forEach(a=>a({...this.abVariants}))}catch(i){}}getSession(){return this.session}getPageViews(){return[...this.session.pageViews]}getTimeSpent(){return{...this.session.timeSpent}}getHeatmapData(e){var r;return e!==void 0?[...(r=this.session.heatmap[e])!=null?r:[]]:Object.entries(this.session.heatmap).reduce((i,[n,o])=>(i[n]=[...o],i),{})}flush(){this.flushQueue()}async flushQueue(){if(this.queue.length===0)return;let e=this.queue.splice(0);await this.sendBatch(e)}flushBeacon(){if(this.queue.length===0)return;let e=this.queue.splice(0),r=`${this.cfg.endpoint}/batch`,i=new Blob([this.buildBatchBody(e)],{type:"application/json"});typeof navigator!="undefined"&&navigator.sendBeacon?navigator.sendBeacon(r,i):this.sendBatch(e)}buildBatchBody(e){return JSON.stringify({...this.cfg.appId?{appId:this.cfg.appId}:{},visitorId:this.session.visitorId,events:e.map(r=>({sessionId:this.session.id,type:r.type,data:r.data}))})}async sendBatch(e){let r=`${this.cfg.endpoint}/batch`,i=this.cfg.secretKey?{Authorization:`Bearer ${this.cfg.secretKey}`}:{};try{await fetch(r,{method:"POST",headers:{"Content-Type":"application/json",...i},body:this.buildBatchBody(e),keepalive:!0})}catch(n){}}};var st=require("react"),Mt=(0,st.createContext)(null);function ie(){return(0,st.useContext)(Mt)}var Ar=require("react/jsx-runtime");function wr({config:t={},children:e}){let r=(0,at.useRef)(null);return r.current===null&&(r.current=new ot(t)),(0,at.useEffect)(()=>{let i=r.current;return i.init(),()=>i.destroy()},[]),(0,Ar.jsx)(Mt.Provider,{value:r.current,children:e})}var U=require("react");function kr(){return ie()}function Tr(t){let e=ie();(0,U.useEffect)(()=>{e&&t!==void 0&&e.trackPageView(t)},[t])}function Rr(t,e=500){let r=ie(),[i,n]=(0,U.useState)([]),o=(0,U.useRef)(!1);return(0,U.useEffect)(()=>{if(!r)return;let a=A(t!=null?t:typeof window!="undefined"?window.location.pathname+window.location.search:"/"),s=()=>{n(r.getHeatmapData(a)),o.current=!1};return s(),r.subscribe(l=>{l.type==="heatmap"&&A(l.data.path)===a&&(o.current||(o.current=!0,setTimeout(s,e)))})},[r,t]),i}function Er(){let t=ie(),[e,r]=(0,U.useState)([]);return(0,U.useEffect)(()=>t?(r(t.getPageViews()),t.subscribe(n=>{n.type==="pageview"&&r(t.getPageViews())})):void 0,[t]),e}function xr(){let t=ie();return e=>{t==null||t.trackRevenue(e)}}function Mr(){let t=ie();return e=>{t==null||t.trackGoal(e)}}function Nr(){let t=ie();return e=>{t==null||t.trackJourneyStep(e)}}function Or(){let t=ie(),[e,r]=(0,U.useState)({});return(0,U.useEffect)(()=>t?(r(t.getTimeSpent()),t.subscribe(n=>{n.type==="timespent"&&r(t.getTimeSpent())})):void 0,[t]),e}function Nt(){let t=ie(),[e,r]=(0,U.useState)(()=>{var i;return(i=t==null?void 0:t.getFlags())!=null?i:{}});return(0,U.useEffect)(()=>{if(!t)return;r(t.getFlags());let i=t.onFlagsChange(r);return t.fetchFlags(),i},[t]),e}function Lr(t){return Nt()[t]===!0}function ct(){let t=ie(),[e,r]=(0,U.useState)(()=>{var i;return(i=t==null?void 0:t.getAbVariants())!=null?i:{}});return(0,U.useEffect)(()=>{if(!t)return;r(t.getAbVariants());let i=t.onAbTestsChange(r);return t.fetchAbTests(),i},[t]),e}function Fr(t){let r=ct()[t];return r!=null?r:null}function Pr(t,e){return ct()[t]===e}0&&(module.exports={UserTrackerProvider,useAbTests,useAbVariant,useFeatureFlagEnabled,useFeatureFlags,useHeatmapData,useIsAbVariant,usePageView,usePageViews,useTimeSpent,useTrackGoal,useTrackJourneyStep,useTrackRevenue,useTracker});
|
|
6
|
+
/*! Bundled license information:
|
|
7
|
+
|
|
8
|
+
rrweb/es/rrweb/ext/tslib/tslib.es6.js:
|
|
9
|
+
(*! *****************************************************************************
|
|
10
|
+
Copyright (c) Microsoft Corporation.
|
|
11
|
+
|
|
12
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
13
|
+
purpose with or without fee is hereby granted.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
16
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
17
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
18
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
19
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
20
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
21
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
22
|
+
***************************************************************************** *)
|
|
23
|
+
*/
|
|
2
24
|
//# sourceMappingURL=index.js.map
|