PageSourceSearch

https://www.liber.se/_next/static/chunks/b70b0e6d.84f44a53f4c718e0.js

js liber.se collected 2026-10-02 07:35:50 UTC 96,385 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[119],{47606:(e,t,r)=>{function i(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}function n(e){return function t(r){return 0==arguments.length||i(r)?t:e.apply(this,arguments)}}function s(e){return function t(r,s){switch(arguments.length){case 0:return t;case 1:return i(r)?t:n(function(t){return e(r,t)});default:return i(r)&&i(s)?t:i(r)?n(function(t){return e(t,s)}):i(s)?n(function(t){return e(r,t)}):e(r,s)}}}function o(e){return function t(r,o,a){switch(arguments.length){case 0:return t;case 1:return i(r)?t:s(function(t,i){return e(r,t,i)});case 2:return i(r)&&i(o)?t:i(r)?s(function(t,r){return e(t,o,r)}):i(o)?s(function(t,i){return e(r,t,i)}):n(function(t){return e(r,o,t)});default:return i(r)&&i(o)&&i(a)?t:i(r)&&i(o)?s(function(t,r){return e(t,r,a)}):i(r)&&i(a)?s(function(t,r){return e(t,o,r)}):i(o)&&i(a)?s(function(t,i){return e(r,t,i)}):i(r)?n(function(t){return e(t,o,a)}):i(o)?n(function(t){return e(r,t,a)}):i(a)?n(function(t){return e(r,o,t)}):e(r,o,a)}}}function a(e,t){return Object.prototype.hasOwnProperty.call(t,e)}Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});var l=n(function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});function u(e){return"[object Object]"===Object.prototype.toString.call(e)}let c=Number.isInteger||function(e){return(0|e)===e};var g=function(){function e(){this.map={},this.length=0}return e.prototype.set=function(e,t){var r=this.hash(e),i=this.map[r];i||(this.map[r]=i=[]),i.push([e,t]),this.length+=1},e.prototype.hash=function(e){var t=[];for(var r in e)t.push(Object.prototype.toString.call(e[r]));return t.join()},e.prototype.get=function(e){if(this.length<=180){for(var t in this.map)for(var r=this.map[t],i=0;i<r.length;i+=1){var n=r[i];if(n[0]===e)return n[1]}return}var s=this.hash(e),r=this.map[s];if(r)for(var i=0;i<r.length;i+=1){var n=r[i];if(n[0]===e)return n[1]}},e}(),d=n(function(e){return null!=e&&"function"==typeof e.clone?e.clone():function e(t,r,i){if(i||(i=new g),s=typeof(n=t),null==n||"object"!=s&&"function"!=s)return t;var n,s,o=function(r){var n=i.get(t);if(n)return n;for(var s in i.set(t,r),t)Object.prototype.hasOwnProperty.call(t,s)&&(r[s]=e(t[s],!0,i));return r};switch(l(t)){case"Object":return o(Object.create(Object.getPrototypeOf(t)));case"Array":return o(Array(t.length));case"Date":return new Date(t.valueOf());case"RegExp":return new RegExp(t.source,t.flags?t.flags:(t.global?"g":"")+(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.sticky?"y":"")+(t.unicode?"u":"")+(t.dotAll?"s":""));case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":return t.slice();default:return t}}(e)}),h=o(function(e,t,r){var i,n={};for(i in r=r||{},t=t||{})a(i,t)&&(n[i]=a(i,r)?e(i,t[i],r[i]):t[i]);for(i in r)a(i,r)&&!a(i,n)&&(n[i]=r[i]);return n}),p=o(function e(t,r,i){return h(function(r,i,n){return u(i)&&u(n)?e(t,i,n):t(r,i,n)},r,i)}),f=o(function(e,t,r){return p(function(t,r,i){return e(r,i)},t,r)}),v=s(function(e,t){for(var r=t,i=0;i<e.length;i+=1){if(null==r)return;var n=e[i];r=c(n)?function(e,t){var r=e<0?t.length+e:e;return"[object String]"===Object.prototype.toString.call(t)?t.charAt(r):t[r]}(n,r):r[n]}return r}),y=s(function(e,t){var r={};for(var i in t)e(t[i],i,t)&&(r[i]=t[i]);return r});let m=e=>"function"==typeof e&&!!(e.constructor&&e.call&&e.apply),b=e=>void 0!==e,E=e=>!(e=>null==e)(e),S=(e,t)=>v(t.split("."),e),k=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),I=e=>null!==e&&"[object Object]"===Object.prototype.toString.call(e),T=(e,t)=>{if(!Array.isArray(e)||!Array.isArray(t))return d(t);let r=d(e);return t.forEach((e,t)=>{r[t]=Array.isArray(e)||k(e)?w(r[t],e):e}),r},w=(e,t)=>f(T,e,t),A=e=>I(e)&&Object.keys(e).length>0,P=e=>{let t=y(b,e);return Object.keys(t).forEach(e=>{let r=t[e];I(r)&&(t[e]=P(r))}),t},C=e=>{let t=y(E,e);return Object.keys(t).forEach(e=>{let r=t[e];I(r)&&(t[e]=C(r))}),t},R=e=>{let t=e;if("string"!=typeof e&&!(e=>null==e)(e))try{t=JSON.stringify(e)}catch(e){t=null}return t},O=(e,t,r,i,n)=>{let s={category:e,name:t,properties:r,options:i};return m(n)&&(s.callback=n),m(i)&&(s.category=e,s.name=t,s.properties=r,delete s.options,s.callback=i),m(r)&&(s.category=e,s.name=t,delete s.properties,delete s.options,s.callback=r),m(t)&&(s.category=e,delete s.name,delete s.properties,delete s.options,s.callback=t),m(e)&&(delete s.category,delete s.name,delete s.properties,delete s.options,s.callback=e),I(e)?(delete s.name,delete s.category,s.properties=e,s.options=t):I(t)&&(delete s.name,s.properties=t,s.options=m(r)?null:r),"string"==typeof e&&"string"!=typeof t&&(delete s.category,s.name=e),b(s.category)||delete s.category,b(s.name)||delete s.name,s.properties=s.properties?d(s.properties):{},b(s.options)?s.options=d(s.options):delete s.options,s.properties=w(I(s.properties)?s.properties:{},{name:"string"==typeof s.name?s.name:null,category:"string"==typeof s.category?s.category:null}),s},$=(e,t,r,i)=>{let n={name:e,properties:t,options:r};return m(i)&&(n.callback=i),m(r)&&(n.properties=t,delete n.options,n.callback=r),m(t)&&(delete n.properties,delete n.options,n.callback=t),n.properties=E(n.properties)?d(n.properties):{},b(n.options)?n.options=d(n.options):delete n.options,n},D=(e,t,r,i)=>{let n={userId:e,traits:t,options:r};return m(i)&&(n.callback=i),m(r)&&(n.userId=e,n.traits=t,delete n.options,n.callback=r),m(t)&&(n.userId=e,delete n.traits,delete n.options,n.callback=t),(I(e)||null===e)&&(n.userId=null,n.traits=e,n.options=t),b(n.userId)?n.userId=R(n.userId):delete n.userId,I(n.traits)?n.traits=d(n.traits):delete n.traits,b(n.options)?n.options=d(n.options):delete n.options,n},M=(e,t,r,i)=>{let n={to:e,from:t,options:r};return(m(i)&&(n.callback=i),m(r)&&(n.to=e,n.from=t,delete n.options,n.callback=r),m(t))?(n.to=e,delete n.from,delete n.options,n.callback=t):(I(t)||null===t)&&(n.to=e,delete n.from,n.options=t),m(e)?(delete n.to,delete n.from,delete n.options,n.callback=e):(I(e)||null===e)&&(delete n.to,delete n.from,n.options=e),b(n.to)?n.to=R(n.to):delete n.to,b(n.from)?n.from=R(n.from):delete n.from,b(n.options)?n.options=d(n.options):delete n.options,n},B=(e,t,r,i)=>{let n={groupId:e,traits:t,options:r};return(m(i)&&(n.callback=i),m(r)&&(n.groupId=e,n.traits=t,delete n.options,n.callback=r),m(t)&&(n.groupId=e,delete n.traits,delete n.options,n.callback=t),m(e))?(n.groupId=null,delete n.traits,delete n.options,n.callback=e):(I(e)||null===e)&&(n.groupId=null,n.traits=e,n.options=m(t)?null:t),b(n.groupId)?n.groupId=R(n.groupId):delete n.groupId,n.traits=I(n.traits)?d(n.traits):{},b(n.options)?n.options=d(n.options):delete n.options,n},L="CapabilitiesManager",N="ConfigManager",j="EventManager",x="PluginsManager",_="UserSessionManager",U="ErrorHandler",H="PluginEngine",F="StoreManager",Q="RudderStackApplication",G="AnalyticsCore",z="RudderLabs JavaScript SDK",K="3.5.1",V="RudderJS-Initiated",q="preloadedEventsBuffer",W="ajs_aid",J="ajs_uid",X="ajs_event",Z=1e4,Y=(e="app")=>{globalThis.RudderStackGlobals||(globalThis.RudderStackGlobals={}),globalThis.RudderStackGlobals[e]||(globalThis.RudderStackGlobals[e]={})},ee=(e,t,r="app")=>{Y(r),globalThis.RudderStackGlobals[r][e]=t},et=(e,t)=>{let r={};return e.forEach((i,n)=>{n.startsWith(t)&&(r[n.substring(t.length)]=e.get(n))}),r},er=(e,t)=>{let r,i=e.shift();if(m(t[i])){switch(i){case"page":r=O(...e);break;case"track":r=$(...e);break;case"identify":r=D(...e);break;case"alias":r=M(...e);break;case"group":r=B(...e);break;default:t[i](...e)}r&&t[i](r)}},ei=(e,t)=>`Failed to load the script with the id "${e}" from URL "${t}".`,en=(e,t,r,i)=>{try{return JSON.stringify(e,((e,t,r)=>{let i=[];return function(n,s){if(!t?.includes(n)){let t;if(!(e&&null==(t=s))){if("object"!=typeof s||null===s)return s;for(;i.length>0&&i[i.length-1]!==this;)i.pop();if(i.includes(s))return r?.warn(`JSONStringify:: A circular reference has been detected in the object and the property "${n}" has been dropped from the output.`),"[Circular Reference]";return i.push(s),s}}}})(t,r,i))}catch(e){return i?.warn("Failed to convert the value to a JSON string.",e),null}},es=(e,t)=>{let r=e;return e instanceof Error?r.message=`${t}: ${e.message}`:r=Error(`${t}: ${en(e)}`),r};class eo{hasErrorHandler=!1;constructor(e,t,r=1e4){this.errorHandler=e,this.logger=t,this.timeout=r,this.hasErrorHandler=!!this.errorHandler,this.onError=this.onError.bind(this)}loadJSFile(e){let{url:t,id:r,timeout:i,async:n,callback:s,extraAttributes:o}=e,a=!m(s);((e,t,r,i=!0,n)=>new Promise((s,o)=>{document.getElementById(t)&&o(Error(`A script with the id "${t}" is already loaded. Skipping the loading of this script to prevent conflicts.`));try{let a;(e=>{let t=document.getElementsByTagName("head");if(t.length>0)return t[0]?.insertBefore(e,t[0]?.firstChild);let r=document.getElementsByTagName("script");
1if(r.length>0&&r[0]?.parentNode)return r[0]?.parentNode.insertBefore(e,r[0]);let i=document.createElement("head");i.appendChild(e);let n=document.getElementsByTagName("html")[0];n?.insertBefore(i,n.firstChild)})(((e,t,r=!0,i=null,n=null,s={})=>{let o=document.createElement("script");return o.type="text/javascript",o.onload=i,o.onerror=n,o.src=e,o.id=t,o.async=r,Object.keys(s).forEach(e=>{o.setAttribute(e,s[e])}),o.setAttribute("data-loader","RS_JS_SDK"),o})(e,t,i,()=>{globalThis.clearTimeout(a),s(t)},()=>{globalThis.clearTimeout(a),o(Error(ei(t,e)))},n)),a=globalThis.setTimeout(()=>{o(Error(`A timeout of ${r} ms occurred while trying to load the script with id "${t}" from URL "${e}".`))},r)}catch(r){o(es(r,ei(t,e)))}}))(t,r,i||this.timeout,n,o).then(e=>{a||s(e)}).catch(e=>{this.onError(e),a||s()})}onError(e){if(this.hasErrorHandler)this.errorHandler?.onError(e,"ExternalSrcLoader");else throw e}}var ea=Symbol.for("preact-signals");function el(){if(ed>1)ed--;else{for(var e,t=!1;void 0!==eg;){var r=eg;for(eg=void 0,eh++;void 0!==r;){var i=r.o;if(r.o=void 0,r.f&=-3,!(8&r.f)&&em(r))try{r.c()}catch(r){t||(e=r,t=!0)}r=i}}if(eh=0,ed--,t)throw e}}function eu(e){if(ed>0)return e();ed++;try{return e()}finally{el()}}var ec=void 0,eg=void 0,ed=0,eh=0,ep=0;function ef(e){if(void 0!==ec){var t=e.n;if(void 0===t||t.t!==ec)return t={i:0,S:e,p:ec.s,n:void 0,t:ec,e:void 0,x:void 0,r:t},void 0!==ec.s&&(ec.s.n=t),ec.s=t,e.n=t,32&ec.f&&e.S(t),t;if(-1===t.i)return t.i=0,void 0!==t.n&&(t.n.p=t.p,void 0!==t.p&&(t.p.n=t.n),t.p=ec.s,t.n=void 0,ec.s.n=t,ec.s=t),t}}function ev(e){this.v=e,this.i=0,this.n=void 0,this.t=void 0}function ey(e){return new ev(e)}function em(e){for(var t=e.s;void 0!==t;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function eb(e){for(var t=e.s;void 0!==t;t=t.n){var r=t.S.n;if(void 0!==r&&(t.r=r),t.S.n=t,t.i=-1,void 0===t.n){e.s=t;break}}}function eE(e){for(var t=e.s,r=void 0;void 0!==t;){var i=t.p;-1===t.i?(t.S.U(t),void 0!==i&&(i.n=t.n),void 0!==t.n&&(t.n.p=i)):r=t,t.S.n=t.r,void 0!==t.r&&(t.r=void 0),t=i}e.s=r}function eS(e){ev.call(this,void 0),this.x=e,this.s=void 0,this.g=ep-1,this.f=4}function ek(e){var t=e.u;if(e.u=void 0,"function"==typeof t){ed++;var r=ec;ec=void 0;try{t()}catch(t){throw e.f&=-2,e.f|=8,eI(e),t}finally{ec=r,el()}}}function eI(e){for(var t=e.s;void 0!==t;t=t.n)t.S.U(t);e.x=void 0,e.s=void 0,ek(e)}function eT(e){if(ec!==this)throw Error("Out-of-order effect");eE(this),ec=e,this.f&=-2,8&this.f&&eI(this),el()}function ew(e){this.x=e,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}function eA(e){var t=new ew(e);try{t.c()}catch(e){throw t.d(),e}return t.d.bind(t)}ev.prototype.brand=ea,ev.prototype.h=function(){return!0},ev.prototype.S=function(e){this.t!==e&&void 0===e.e&&(e.x=this.t,void 0!==this.t&&(this.t.e=e),this.t=e)},ev.prototype.U=function(e){if(void 0!==this.t){var t=e.e,r=e.x;void 0!==t&&(t.x=r,e.e=void 0),void 0!==r&&(r.e=t,e.x=void 0),e===this.t&&(this.t=r)}},ev.prototype.subscribe=function(e){var t=this;return eA(function(){var r=t.value,i=ec;ec=void 0;try{e(r)}finally{ec=i}})},ev.prototype.valueOf=function(){return this.value},ev.prototype.toString=function(){return this.value+""},ev.prototype.toJSON=function(){return this.value},ev.prototype.peek=function(){var e=ec;ec=void 0;try{return this.value}finally{ec=e}},Object.defineProperty(ev.prototype,"value",{get:function(){var e=ef(this);return void 0!==e&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(eh>100)throw Error("Cycle detected");this.v=e,this.i++,ep++,ed++;try{for(var t=this.t;void 0!==t;t=t.x)t.t.N()}finally{el()}}}}),(eS.prototype=new ev).h=function(){if(this.f&=-3,1&this.f)return!1;if(32==(36&this.f)||(this.f&=-5,this.g===ep))return!0;if(this.g=ep,this.f|=1,this.i>0&&!em(this))return this.f&=-2,!0;var e=ec;try{eb(this),ec=this;var t=this.x();(16&this.f||this.v!==t||0===this.i)&&(this.v=t,this.f&=-17,this.i++)}catch(e){this.v=e,this.f|=16,this.i++}return ec=e,eE(this),this.f&=-2,!0},eS.prototype.S=function(e){if(void 0===this.t){this.f|=36;for(var t=this.s;void 0!==t;t=t.n)t.S.S(t)}ev.prototype.S.call(this,e)},eS.prototype.U=function(e){if(void 0!==this.t&&(ev.prototype.U.call(this,e),void 0===this.t)){this.f&=-33;for(var t=this.s;void 0!==t;t=t.n)t.S.U(t)}},eS.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var e=this.t;void 0!==e;e=e.x)e.t.N()}},Object.defineProperty(eS.prototype,"value",{get:function(){if(1&this.f)throw Error("Cycle detected");var e=ef(this);if(this.h(),void 0!==e&&(e.i=this.i),16&this.f)throw this.v;return this.v}}),ew.prototype.c=function(){var e=this.S();try{if(8&this.f||void 0===this.x)return;var t=this.x();"function"==typeof t&&(this.u=t)}finally{e()}},ew.prototype.S=function(){if(1&this.f)throw Error("Cycle detected");this.f|=1,this.f&=-9,ek(this),eb(this),ed++;var e=ec;return ec=this,eT.bind(this,e)},ew.prototype.N=function(){2&this.f||(this.f|=2,this.o=eg,eg=this)},ew.prototype.d=function(){this.f|=8,1&this.f||eI(this)};class eP{constructor(){this.items=[]}enqueue(e){this.items.push(e)}dequeue(){return 0===this.items.length?null:this.items.shift()}isEmpty(){return 0===this.items.length}size(){return this.items.length}clear(){this.items=[]}}let eC={LOG:0,INFO:1,DEBUG:2,WARN:3,ERROR:4,NONE:5},eR="ERROR";class eO{constructor(e=eR,t="",r=console){this.minLogLevel=eC[e],this.scope=t,this.logProvider=r}log(...e){this.outputLog("LOG",e)}info(...e){this.outputLog("INFO",e)}debug(...e){this.outputLog("DEBUG",e)}warn(...e){this.outputLog("WARN",e)}error(...e){this.outputLog("ERROR",e)}outputLog(e,t){this.minLogLevel<=eC[e]&&this.logProvider[e.toLowerCase()]?.(...this.formatLogData(t))}setScope(e){this.scope=e||this.scope}setMinLogLevel(e){this.minLogLevel=eC[e],void 0===this.minLogLevel&&(this.minLogLevel=eC[eR])}formatLogData(e){if(Array.isArray(e)&&e.length>0){let t="%c RS SDK";this.scope&&(t=`${t} - ${this.scope}`);let r="string"==typeof e[0]?e[0].trim():"",i=[t=`${t} %c ${r}`,"font-weight: bold; background: black; color: white;","font-weight: normal;"];return"string"!=typeof e[0]&&i.push(e[0]),i.push(...e.slice(1)),i}return e}}let e$=new eO,eD=["localStorage","memoryStorage","cookieStorage","sessionStorage","none"],eM="cookieStorage",eB="Unable to process/parse source configuration response.",eL="Failed to invoke the ready callback",eN="js-integrations",ej="plugins",ex=RegExp("^(https?:\\/\\/)(((([a-zA-Z\\d]([a-zA-Z\\d-]*[a-zA-Z\\d])*)\\.)+[a-zA-Z]{2,}|localhost|((25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9]?)))(\\:\\d+)?(\\/[-a-zA-Z\\d%_.~+]*)*(\\?[;&a-zA-Z\\d%_.~+=-]*)?(\\#[-a-zA-Z\\d_]*)?$"),e_="modern",eU="https://cdn.rudderlabs.com",eH=`${eU}/v3/${e_}/${eN}`,eF=`${eU}/v3/${e_}/${ej}`,eQ="https://api.rudderstack.com",eG="bugsnag",ez={oneTrust:"OneTrustConsentManager",ketch:"KetchConsentManager",custom:"CustomConsentManager"},eK={[eG]:"Bugsnag"},eV={v3:"StorageEncryption",legacy:"StorageEncryptionLegacy"},eq={xhr:"XhrQueue",beacon:"BeaconQueue"},eW=ey(d({logLevel:"ERROR",configUrl:eQ,loadIntegration:!0,sessions:{autoTrack:!0,timeout:18e5}
1,sameSiteCookie:"Lax",polyfillIfRequired:!0,integrations:{All:!0},useBeacon:!1,beaconQueueOptions:{},destinationsQueueOptions:{},queueOptions:{},lockIntegrationsVersion:!1,lockPluginsVersion:!1,uaChTrackLevel:"none",plugins:[],useGlobalIntegrationsConfigInEvents:!1,bufferDataPlaneEventsUntilReady:!1,dataPlaneEventsBufferTimeout:1e4,storage:{encryption:{version:"v3"},migrate:!0},sendAdblockPageOptions:{},useServerSideCookies:!1})),eJ={userId:"",userTraits:{},anonymousId:"",groupId:"",groupTraits:{},initialReferrer:"",initialReferringDomain:"",sessionInfo:{},authToken:null},eX={autoTrack:!0,timeout:18e5},eZ={userId:ey(eJ.userId),userTraits:ey(eJ.userTraits),anonymousId:ey(eJ.anonymousId),groupId:ey(eJ.groupId),groupTraits:ey(eJ.groupTraits),initialReferrer:ey(eJ.initialReferrer),initialReferringDomain:ey(eJ.initialReferringDomain),sessionInfo:ey(eJ.sessionInfo),authToken:ey(eJ.authToken)},eY={isOnline:ey(!0),storage:{isLocalStorageAvailable:ey(!1),isCookieStorageAvailable:ey(!1),isSessionStorageAvailable:ey(!1)},isBeaconAvailable:ey(!1),isLegacyDOM:ey(!1),isUaCHAvailable:ey(!1),isCryptoAvailable:ey(!1),isIE11:ey(!1),isAdBlocked:ey(!1)},e0={isErrorReportingEnabled:ey(!1),isMetricsReportingEnabled:ey(!1),errorReportingProviderPluginName:ey(void 0),isErrorReportingPluginLoaded:ey(!1)},e1=ey(void 0),e2={activeDataplaneUrl:ey(void 0),integrationsCDNPath:ey(eH),pluginsCDNPath:ey(eF),sourceConfigUrl:ey(void 0),status:ey(void 0),initialized:ey(!1),logLevel:ey("ERROR"),loaded:ey(!1),readyCallbacks:ey([]),writeKey:ey(void 0),dataPlaneUrl:ey(void 0)},e6={enabled:ey(!1),initialized:ey(!1),data:ey({}),activeConsentManagerPluginName:ey(void 0),preConsent:ey({enabled:!1}),postConsent:ey({}),resolutionStrategy:ey("and"),provider:ey(void 0),metadata:ey(void 0)},e3={retries:ey(0),dropped:ey(0),sent:ey(0),queued:ey(0),triggered:ey(0)},e4={app:ey({name:z,namespace:"com.rudderlabs.javascript",version:K,installType:"npm"}),traits:ey(null),library:ey({name:z,version:K,snippetVersion:globalThis.RudderSnippetVersion}),userAgent:ey(""),device:ey(null),network:ey(null),os:ey({name:"",version:""}),locale:ey(null),screen:ey({density:0,width:0,height:0,innerWidth:0,innerHeight:0}),"ua-ch":ey(void 0),timezone:ey(void 0)},e5={configuredDestinations:ey([]),activeDestinations:ey([]),loadOnlyIntegrations:ey({}),failedDestinations:ey([]),loadIntegration:ey(!0),initializedDestinations:ey([]),clientDestinationsReady:ey(!1),integrationsConfig:ey({})},e8={toBeProcessedArray:ey([]),readyCallbacksArray:ey([])},e9={ready:ey(!1),loadedPlugins:ey([]),failedPlugins:ey([]),pluginsToLoadFromConfig:ey([]),activePlugins:ey([]),totalPluginsToLoad:ey(0)},e7={encryptionPluginName:ey(void 0),migrate:ey(!1),type:ey(void 0),cookie:ey(void 0),entries:ey({}),trulyAnonymousTracking:ey(!1)},te={isEnabledServerSideCookies:ey(!1),dataServiceUrl:ey(void 0)},tt={...d({capabilities:eY,consents:e6,context:e4,eventBuffer:e8,lifecycle:e2,loadOptions:eW,metrics:e3,nativeDestinations:e5,plugins:e9,reporting:e0,session:eZ,source:e1,storage:e7,serverCookies:te,dataPlaneEvents:{eventsQueuePluginName:ey(void 0),deliveryEnabled:ey(!0)}})};class tr{plugins=[];byName={};cache={};config={throws:!0};constructor(e={},t){this.config={throws:!0,...e},this.logger=t}register(e,t){if(!e.name){let t=`${H}:: Plugin name is missing.`;if(this.config.throws)throw Error(t);this.logger?.error(t,e)}if(this.byName[e.name]){let t,r=(t=e.name,`${H}:: Plugin "${t}" already exists.`);if(this.config.throws)throw Error(r);this.logger?.error(r)}this.cache={},this.plugins=this.plugins.slice();let r=this.plugins.length;this.plugins.forEach((t,i)=>{t.deps?.includes(e.name)&&(r=Math.min(r,i))}),this.plugins.splice(r,0,e),this.byName[e.name]=e,m(e.initialize)&&e.initialize(t)}unregister(e){let t=this.byName[e];if(!t){let t=`${H}:: Plugin "${e}" not found.`;if(this.config.throws)throw Error(t);this.logger?.error(t)}let r=this.plugins.indexOf(t);if(-1===r){let t=`${H}:: Plugin "${e}" not found in plugins but found in byName. This indicates a bug in the plugin engine. Please report this issue to the development team.`;if(this.config.throws)throw Error(t);this.logger?.error(t)}this.cache={},delete this.byName[e],this.plugins=this.plugins.slice(),this.plugins.splice(r,1)}getPlugin(e){return this.byName[e]}getPlugins(e){let t=e??".";return this.cache[t]||(this.cache[t]=this.plugins.filter(e=>{if(e.deps?.some(e=>!this.byName[e])){let t,r=e.deps.filter(e=>!this.byName[e]);return this.logger?.error((t=e.name,`${H}:: Plugin "${t}" could not be loaded because some of its dependencies "${r}" do not exist.`)),!1}return"."===t||!!S(e,t)})),this.cache[t]}processRawPlugins(e){e(this.plugins),this.cache={}}invoke(e,t=!0,...r){let i=e;if(!i)throw Error("Failed to invoke plugin because the extension point name is missing.");let n=i.startsWith("!"),s=this.config.throws??i.endsWith("!");if(!(i=i.replace(/(^!|!$)/g,"")))throw Error("Failed to invoke plugin because the extension point name is invali
1d.");let o=i.split(".");o.pop();let a=o.join(".");return(t?this.getPlugins(i):[this.getPlugins(i)[0]]).map(e=>{let t=S(e,i);if(!m(t)||n)return t;try{return t.apply(S(e,a),r)}catch(n){let t,r;if(s)throw n;this.logger?.error((t=i,r=e.name,`${H}:: Failed to invoke the "${t}" extension point of plugin "${r}".`),n)}return null})}invokeSingle(e,...t){return this.invoke(e,!1,...t)[0]}invokeMultiple(e,...t){return this.invoke(e,!0,...t)}}let ti=new tr({throws:!0},e$),tn="The request failed",ts=[tn];class to{constructor(e,t){this.logger=e,this.pluginEngine=t,this.errorBuffer=new eP,this.attachEffect()}attachEffect(){if(!0===tt.reporting.isErrorReportingPluginLoaded.value)for(;this.errorBuffer.size()>0;)this.errorBuffer.dequeue()}attachErrorListeners(){"addEventListener"in globalThis?(globalThis.addEventListener("error",e=>{this.onError(e,void 0,void 0,void 0,"unhandledException")}),globalThis.addEventListener("unhandledrejection",e=>{this.onError(e,void 0,void 0,void 0,"unhandledPromiseRejection")})):this.logger?.debug("Failed to attach global error listeners.")}init(e){if(this.pluginEngine)try{let t=this.pluginEngine.invokeSingle("errorReporting.init",tt,this.pluginEngine,e,this.logger);t instanceof Promise&&t.then(e=>{this.errReportingClient=e}).catch(e=>{this.logger?.error(`${U}:: Failed to initialize the error reporting plugin.`,e)})}catch(e){this.onError(e,U)}}onError(e,t="",r="",i=!1,n="handled"){let s=(e=>{let t;try{if("string"==typeof e)t=e;else if(e instanceof Error)t=e.message;else if(e instanceof ErrorEvent)t=e.message;else if(e instanceof Event){let r=e.target;if(r&&"script"!==r.localName||r?.dataset&&("RS_JS_SDK"!==r.dataset.loader||"true"!==r.dataset.isnonnativesdk))return"";t=`Error in loading a third-party script from URL ${r?.src} with ID ${r?.id}.`}else t=e.message?e.message:en(e)}catch(e){t=`Unknown error: ${e.message}`}return t})(e);if(!s)return;let o=Error(s=`${t}:: ${r} ${s}`.replace(/ {2,}/g," "));if(e instanceof Error&&(o=Object.create(e,{message:{value:s}})),"handled"===n)if(this.notifyError(o),this.logger){if(this.logger.error(s),i)throw o}else throw o;tt.reporting.isErrorReportingEnabled.value&&tt.reporting.isErrorReportingPluginLoaded.value}leaveBreadcrumb(e){if(this.pluginEngine)try{this.pluginEngine.invokeSingle("errorReporting.breadcrumb",this.pluginEngine,this.errReportingClient,e,this.logger)}catch(e){this.onError(e,U,"errorReporting.breadcrumb")}}notifyError(e){if(this.errReportingClient&&(!e.message||!ts.some(t=>e.message.includes(t))))try{this.pluginEngine?.invokeSingle("errorReporting.notify",this.pluginEngine,this.errReportingClient,e,tt,this.logger)}catch(e){this.logger?.error(`${U}:: Failed to notify the error.`,e)}}}let ta=new to(e$,ti),tl=e=>"cloud"!==e.config.connectionMode||!0===e.config.useNativeSDKToSend||!0===e.config.useNativeSDK,tu=e=>e.filter(tl),tc=["BeaconQueue","Bugsnag","CustomConsentManager","DeviceModeDestinations","DeviceModeTransformation","ErrorReporting","ExternalAnonymousId","GoogleLinker","KetchConsentManager","NativeDestinationQueue","OneTrustConsentManager","StorageEncryption","StorageEncryptionLegacy","StorageMigrator","XhrQueue"],tg={rudderAnalyticsRemotePlugins:{url:()=>Promise.resolve(window.RudderStackGlobals&&window.RudderStackGlobals.app&&window.RudderStackGlobals.app.pluginsCDNPath?""+window.RudderStackGlobals.app.pluginsCDNPath+"/rsa-plugins.js":"https://cdn.rudderlabs.com/v3/modern/plugins/rsa-plugins.js"),format:"esm",from:"vite"}},td=async(e,t)=>{let r="function"==typeof e?await e():e,i=document.createElement("script");i.type="text/javascript",i.onload=t,i.src=r,document.getElementsByTagName("head")[0].appendChild(i)},th=e=>(function e(t,r){let i=Object.assign(t,r);for(let t of Object.keys(i))"object"==typeof i[t]&&"object"==typeof r[t]&&(i[t]=e(i[t],r[t]));return i})({},(globalThis.__federation_shared__||{}).default||{});async function tp(e){let t=tg[e];return t.inited?t.lib:"var"===t.format?new Promise(r=>td(t.url,()=>{t.inited||(t.lib=window[e],t.lib.init(th(t.from)),t.inited=!0),r(t.lib)})):["esm","systemjs"].includes(t.format)?new Promise((e,r)=>{("function"==typeof t.url?t.url:()=>Promise.resolve(t.url))().then(i=>{import(i).then(r=>{if(!t.inited){let e=th(t.from);r.init(e),t.lib=r,t.lib.init(e),t.inited=!0}e(t.lib)}).catch(r)})}):void 0}function tf(e,t){if(!e?.default&&t){let t=Object.create(null);return t.default=e,t.__esModule=!0,t}return e}function tv(e,t){return tp(e).then(e=>e.get(t).then(e=>e()))}
1let ty=e=>{let t={};return e.forEach(e=>{if(tc.includes(e)){let r=(e=>{switch(e){case"BeaconQueue":return()=>tv("rudderAnalyticsRemotePlugins","./BeaconQueue").then(e=>tf(e,!0));case"Bugsnag":return()=>tv("rudderAnalyticsRemotePlugins","./Bugsnag").then(e=>tf(e,!0));case"CustomConsentManager":return()=>tv("rudderAnalyticsRemotePlugins","./CustomConsentManager").then(e=>tf(e,!0));case"DeviceModeDestinations":return()=>tv("rudderAnalyticsRemotePlugins","./DeviceModeDestinations").then(e=>tf(e,!0));case"DeviceModeTransformation":return()=>tv("rudderAnalyticsRemotePlugins","./DeviceModeTransformation").then(e=>tf(e,!0));case"ErrorReporting":return()=>tv("rudderAnalyticsRemotePlugins","./ErrorReporting").then(e=>tf(e,!0));case"ExternalAnonymousId":return()=>tv("rudderAnalyticsRemotePlugins","./ExternalAnonymousId").then(e=>tf(e,!0));case"GoogleLinker":return()=>tv("rudderAnalyticsRemotePlugins","./GoogleLinker").then(e=>tf(e,!0));case"KetchConsentManager":return()=>tv("rudderAnalyticsRemotePlugins","./KetchConsentManager").then(e=>tf(e,!0));case"NativeDestinationQueue":return()=>tv("rudderAnalyticsRemotePlugins","./NativeDestinationQueue").then(e=>tf(e,!0));case"OneTrustConsentManager":return()=>tv("rudderAnalyticsRemotePlugins","./OneTrustConsentManager").then(e=>tf(e,!0));case"StorageEncryption":return()=>tv("rudderAnalyticsRemotePlugins","./StorageEncryption").then(e=>tf(e,!0));case"StorageEncryptionLegacy":return()=>tv("rudderAnalyticsRemotePlugins","./StorageEncryptionLegacy").then(e=>tf(e,!0));case"StorageMigrator":return()=>tv("rudderAnalyticsRemotePlugins","./StorageMigrator").then(e=>tf(e,!0));case"XhrQueue":return()=>tv("rudderAnalyticsRemotePlugins","./XhrQueue").then(e=>tf(e,!0));default:return}})(e);r&&(t[e]=r)}}),t},tm=()=>({}),tb={...tm()};class tE{constructor(e,t,r){this.engine=e,this.errorHandler=t,this.logger=r,this.onError=this.onError.bind(this)}init(){tt.lifecycle.status.value="pluginsLoading",ee("pluginsCDNPath",tt.lifecycle.pluginsCDNPath.value),this.setActivePlugins(),this.registerLocalPlugins(),this.registerRemotePlugins(),this.attachEffects()}attachEffects(){eA(()=>{(0===tt.plugins.activePlugins.value.length||tt.plugins.loadedPlugins.value.length+tt.plugins.failedPlugins.value.length===tt.plugins.totalPluginsToLoad.value)&&eu(()=>{tt.plugins.ready.value=!0,tt.lifecycle.status.value="pluginsReady"})})}getPluginsToLoadBasedOnConfig(){let e=tt.plugins.pluginsToLoadFromConfig.value;return e?([{configurationStatus:()=>b(tt.dataPlaneEvents.eventsQueuePluginName.value),configurationStatusStr:"Data plane events delivery is enabled",activePluginName:tt.dataPlaneEvents.eventsQueuePluginName.value,supportedPlugins:Object.values(eq),shouldAddMissingPlugins:!0},{configurationStatus:()=>b(tt.reporting.errorReportingProviderPluginName.value),configurationStatusStr:"Error reporting is enabled",activePluginName:tt.reporting.errorReportingProviderPluginName.value,basePlugins:["ErrorReporting"],supportedPlugins:Object.values(eK)},{configurationStatus:()=>tu(tt.nativeDestinations.configuredDestinations.value).length>0,configurationStatusStr:"Device mode destinations are connected to the source",supportedPlugins:["DeviceModeDestinations","NativeDestinationQueue"]},{configurationStatus:()=>tu(tt.nativeDestinations.configuredDestinations.value).some(e=>e.shouldApplyDeviceModeTransformation),configurationStatusStr:"Device mode transformations are enabled for at least one destination",supportedPlugins:["DeviceModeTransformation"]},{configurationStatus:()=>b(tt.consents.activeConsentManagerPluginName.value),configurationStatusStr:"Consent management is enabled",activePluginName:tt.consents.activeConsentManagerPluginName.value,supportedPlugins:Object.values(ez)},{configurationStatus:()=>b(tt.storage.encryptionPluginName.value),configurationStatusStr:"Storage encryption is enabled",activePluginName:tt.storage.encryptionPluginName.value,supportedPlugins:Object.values(eV)},{configurationStatus:()=>tt.storage.migrate.value,configurationStatusStr:"Storage migration is enabled",supportedPlugins:["StorageMigrator"]}].forEach(t=>{t.configurationStatus()?(e=e.filter(t.activePluginName?e=>!(e!==t.activePluginName&&t.supportedPlugins.includes(e)):e=>b(e)),this.addMissingPlugins(t,!1,e)):e=e.filter(void 0!==t.basePlugins?e=>!(t.basePlugins.includes(e)||t.supportedPlugins.includes(e)):e=>!t.supportedPlugins.includes(e))}),[...Object.keys(tm()),...e]):[]}addMissingPlugins(e,t,r){let i=e.shouldAddMissingPlugins||t,n=(e.activePluginName?[...e.basePlugins||[],e.activePluginName]:[...e.supp
1ortedPlugins]).filter(e=>!r.includes(e));n.length>0&&(i&&r.push(...n),this.logger?.warn(((e,t,r,i)=>{let n=1===r.length,s=n?` '${r[0]}' plugin was`:` ['${r.join("', '")}'] plugins were`,o=`${e}:: ${t}, but${s} not configured to load.`;return i?`${o} So, ${n?"the plugin":"those plugins"} will be loaded automatically.`:`${o} Ignore if this was intentional. Otherwise, consider adding ${n?"it":"them"} to the 'plugins' load API option.`})(x,e.configurationStatusStr,n,i)))}setActivePlugins(){let e=this.getPluginsToLoadBasedOnConfig(),t=[...Object.keys(tb),...tc],r=[],i=[];e.forEach(e=>{t.includes(e)?r.push(e):i.push(e)}),i.length>0&&this.onError(Error(`Ignoring loading of unknown plugins: ${i.join(",")}. Mandatory plugins: ${Object.keys(tm()).join(",")}. Load option plugins: ${tt.plugins.pluginsToLoadFromConfig.value.join(",")}`)),eu(()=>{tt.plugins.totalPluginsToLoad.value=e.length,tt.plugins.activePlugins.value=r,tt.plugins.failedPlugins.value=i})}registerLocalPlugins(){Object.values(tb).forEach(e=>{m(e)&&tt.plugins.activePlugins.value.includes(e().name)&&this.register([e()])})}registerRemotePlugins(){let e,t={...(e=tt.plugins.activePlugins.value,ty?.(e)||{})};Promise.all(Object.keys(t).map(async e=>{await t[e]().then(e=>this.register([e.default()])).catch(t=>{tt.plugins.failedPlugins.value=[...tt.plugins.failedPlugins.value,e],this.onError(t,e)})})).catch(e=>{this.onError(e)})}invokeMultiple(e,...t){try{return this.engine.invokeMultiple(e,...t)}catch(t){return this.onError(t,e),[]}}invokeSingle(e,...t){try{return this.engine.invokeSingle(e,...t)}catch(t){return this.onError(t,e),null}}register(e){e.forEach(e=>{try{this.engine.register(e,tt)}catch(t){tt.plugins.failedPlugins.value=[...tt.plugins.failedPlugins.value,e.name],this.onError(t)}})}unregisterLocalPlugins(){Object.values(tb).forEach(e=>{try{this.engine.unregister(e().name)}catch(e){this.onError(e)}})}onError(e,t){if(this.errorHandler)this.errorHandler.onError(e,x,t);else throw e}}let tS=(e,t)=>{try{return JSON.parse(e||"")}catch(r){let e=es(r,"Failed to parse response data");if(m(t))t(e);else throw e}},tk={headers:{Accept:"application/json","Content-Type":"application/json;charset=UTF-8"},method:"GET"},tI=(e,t,r)=>{let i=w(tk,t||{});return r&&(i.headers=w(i.headers,{Authorization:r})),i.url=e,i},tT=(e,t=Z,r)=>new Promise((i,n)=>{let s;if(!0===e.sendRawData)s=e.data;else if(null===(s=en(e.data,!1,[],r)))return void n({error:Error("Failed to prepare data for the request."),undefined,options:e});let o=new XMLHttpRequest,a=t=>{n({error:Error(((e,t,r)=>`${e} due to timeout or no connection (${t?t.type:""}) for URL: ${r}.`)(tn,t,e.url)),xhr:o,options:e})};o.ontimeout=a,o.onerror=a,o.onload=()=>{o.status>=200&&o.status<400?i({response:o.responseText,xhr:o,options:e}):(t=>{let r,i,s;n({error:Error((r=o.status,i=o.statusText,s=e.url,`${tn} with status: ${r}, ${i} for URL: ${s}.`)),xhr:o,options:e})})()},o.open(e.method,e.url),!0===e.withCredentials&&(o.withCredentials=!0),o.timeout=t,Object.keys(e.headers).forEach(t=>{e.headers[t]&&o.setRequestHeader(t,e.headers[t])});try{o.send(s)}catch(r){let t;n({error:es(r,(t=e.url,`${tn} for URL: ${t}`)),xhr:o,options:e})}});class tw{hasErrorHandler=!1;constructor(e,t){this.errorHandler=e,this.logger=t,this.hasErrorHandler=!!this.errorHandler,this.onError=this.onError.bind(this)}async getData(e){let{url:t,options:r,timeout:i,isRawResponse:n}=e;try{let e=await tT(tI(t,r,this.basicAuthHeader),i,this.logger);return{data:n?e.response:tS(e.response,this.onError),details:e}}catch(e){return this.onError(e.error??e),{data:void 0,details:e}}}getAsyncData(e){let{callback:t,url:r,options:i,timeout:n,isRawResponse:s}=e,o=!m(t);tT(tI(r,i,this.basicAuthHeader),n,this.logger).then(e=>{o||t(s?e.response:tS(e.response,this.onError),e)}).catch(e=>{this.onError(e.error??e),o||t(void 0,e)})}onError(e){if(this.hasErrorHandler)this.errorHandler?.onError(e,"HttpClient");else throw e}setAuthHeader(e,t=!1){let r,i=t?e:(r=`${e}:`,globalThis.btoa(Array.from(new TextEncoder().encode(r),e=>String.fromCodePoint(e)).join("")));this.basicAuthHeader=`Basic ${i}`}resetAuthHeader(){this.basicAuthHeader=void 0}}let tA=new tw(ta,e$),tP="cookieStorage",tC="localStorage",tR="sessionStorage",tO="memoryStorage",t$="none",tD={userId:"rl_user_id",userTraits:"rl_trait",anonymousId:"rl_anonymous_id",groupId:"rl_group_id",groupTraits:"rl_group_trait",initialReferrer:"rl_page_init_referrer",initialReferringDomain:"rl_page_init_referring_domain",sessionInfo:"rl_session",authToken:"rl_auth_token"},tM="clientDataInCookie",tB="clientDataInLocalStorage",tL="clientDataInSe
1ssionStorage",tN=["userId","userTraits","anonymousId","groupId","groupTraits","initialReferrer","initialReferringDomain","sessionInfo","authToken"],tj={[tP]:tM,[tC]:tB,[tO]:"clientDataInMemory",[tR]:tL},tx=(e,t)=>{try{return encodeURIComponent(e)}catch(e){t?.error("Failed to encode the cookie data.",e);return}},t_=e=>{try{return decodeURIComponent(e)}catch(e){return}},tU=()=>(e=>{let t,r={},i=e.split(/\s*;\s*/);return i[0]&&i.forEach(e=>{let i=(t=e.split("="))[0]?t_(t[0]):void 0;i&&(r[i]=t[1]?t_(t[1]):void 0)}),r})(globalThis.document.cookie),tH=function(e,t,r,i){switch(arguments.length){case 4:case 3:case 2:let n={...r||{}},s=`${tx(e,i)}=${tx(t,i)}`;null===t&&(n.maxage=-1),n.maxage&&(n.expires=new Date(+new Date+n.maxage)),n.path&&(s+=`; path=${n.path}`),n.domain&&(s+=`; domain=${n.domain}`),n.expires&&(s+=`; expires=${n.expires.toUTCString()}`),n.samesite&&(s+=`; samesite=${n.samesite}`),n.secure&&(s+="; secure"),globalThis.document.cookie=s;return;case 1:if(e)return tU()[e];return tU();default:return tU()}},tF=()=>!(e=>null==e)(globalThis.navigator.userAgentData),tQ={URL:()=>!m(globalThis.URL)||!m(globalThis.URLSearchParams),Promise:()=>!m(globalThis.Promise),"Number.isNaN":()=>!m(globalThis.Number.isNaN),"Number.isInteger":()=>!m(globalThis.Number.isInteger),"Array.from":()=>!m(globalThis.Array.from),"Array.prototype.find":()=>!m(globalThis.Array.prototype.find),"Array.prototype.includes":()=>!m(globalThis.Array.prototype.includes),"String.prototype.endsWith":()=>!m(globalThis.String.prototype.endsWith),"String.prototype.startsWith":()=>!m(globalThis.String.prototype.startsWith),"String.prototype.includes":()=>!m(globalThis.String.prototype.includes),"String.prototype.replaceAll":()=>!m(globalThis.String.prototype.replaceAll),"String.fromCodePoint":()=>!m(globalThis.String.fromCodePoint),"Object.entries":()=>!m(globalThis.Object.entries),"Object.values":()=>!m(globalThis.Object.values),"Object.assign":()=>!m(globalThis.Object.assign),"Object.fromEntries":()=>!m(globalThis.Object.fromEntries),"Element.prototype.dataset":()=>!(()=>{let e=globalThis.document.createElement("div");return e.setAttribute("data-a-b","c"),!!e.dataset&&"c"===e.dataset.aB})(),TextEncoder:()=>!m(globalThis.TextEncoder)||!m(globalThis.TextDecoder),requestAnimationFrame:()=>!m(globalThis.requestAnimationFrame)||!m(globalThis.cancelAnimationFrame),CustomEvent:()=>!m(globalThis.CustomEvent),"navigator.sendBeacon":()=>!m(globalThis.navigator.sendBeacon),ArrayBuffer:()=>!m(globalThis.Uint8Array),Set:()=>!m(globalThis.Set),atob:()=>!m(globalThis.atob)},tG=()=>({width:globalThis.screen.width,height:globalThis.screen.height,density:globalThis.devicePixelRatio,innerWidth:globalThis.innerWidth,innerHeight:globalThis.innerHeight}),tz=e=>{let t=["QuotaExceededError","NS_ERROR_DOM_QUOTA_REACHED"].includes(e.name)||[22,1014].includes(e.code);return e instanceof DOMException&&t},tK=(e=tC,t,r)=>{let i,n;try{switch(e){case tO:return!0;case tP:i=t,n="test_rudder_cookie";break;case tC:i=t??globalThis.localStorage,n="test_rudder_ls";break;case tR:i=t??globalThis.sessionStorage,n="test_rudder_ss";break;default:return!1}if(!i)return!1;if(i.setItem(n,"true"),i.getItem(n))return i.removeItem(n),!0;return!1}catch(n){let t=`${L}:: The "${e}" storage type is `,i="unavailable";return tz(n)&&(i="full"),r?.warn(`${t}${i}.`,n),!1}};class tV{static globalSingleton=null;isSupportAvailable=!0;isEnabled=!0;length=0;constructor(e={},t){if(tV.globalSingleton)return tV.globalSingleton;this.options=(()=>{let e=`.${(e=>{let t=(e=>{let t="function"!=typeof globalThis.URL?(e=>{let t=document.createElement("a");return t.href=e,t.hostname})(e):new URL(e).hostname,r=t?.split(".")??[],i=r[r.length-1],n=[];if(4===r.length&&i&&i===parseInt(i,10).toString())return n;if(r.length<=1)return r[0]&&-1!==r[0].indexOf("localhost")?["localhost"]:n;for(let e=r.length-2;e>=0;e-=1)n.push(r.slice(e).join("."));return n})(e);for(let e=0;e<t.length;e+=1){let r=t[e],i="__tld__",n={domain:`${-1!==r.indexOf("localhost")?"":"."}${r}`};if(tH(i,1,n),tH(i))return tH(i,null,n),r}return""})(globalThis.location.href)}`;return{maxage:31536e6,path:"/",domain:e&&"."!==e?e:void 0,samesite:"Lax",enabled:!0}})(),this.logger=t,this.configure(e),tV.globalSingleton=this}configure(e){return this.options=w(this.options??{},e),e.sameDomainCookiesOnly&&delete this.options.domain,this.isSupportAvailable=tK(tP,this,this.logger),this.isEnabled=!!(this.options.enabled&&this.isSupportAvailable),this.options}setItem(e,t){return tH(e,t,this.options,this.logger),this.length=Object.keys(tH()).length,!0}getItem(e){let t=tH(e);return void 0===t?null:t}removeItem(e){let t=this.setItem(e,null);return this.length=Object.keys(tH()).length,t}clear(){}key(e){return this.keys()[e]??null}keys(){return Object.keys(tH())}}class tq{isEnabled=!0;length=0;data={};constructor(e,t){this.options={enabled:!0},this.logger=t,this.configure(e??{})}configure(e){return this.options=w(this.options,e),this.isEnabled=!!this.options.enabled,this.options}setItem(e,t){return this.data[e]=t,this.length=Object.keys(this.data).length,t}getItem(e){return e in this.data?this.data[e]:null}removeItem(e){return e in this.data&&delete this.data[e],this.length=Object.keys(this.data).length,null}clear(){this.data={},this.length=0}key(e){return this.keys()[e]??null}keys(){return Object.keys(this.data)}}let tW=new tq({},e$);"undefined"!=typeof globalThis||("undefined"!=typeof window?window:void 0!==r.g?r.g:"undefined"!=typeof self&&self);var tJ={exports:{}};!function(e,t){e.exports=function(){function e(e){return e=JSON.stringify(e),!!/^\{[\s\S]*\}$/.test(e)}function t(e){if("string"==typeof e)try{return JSON.parse(e)}catch(t){return e}}function r(e){return"[object Function]"===({}).toString.call(e)}var i=function(e){var t="_Is_Incognit";try{e||(e=window.localStorage),e.setItem(t,"yes"),e.removeItem(t)}catch(t){var r={};r._data={},r.setItem=function(e,t){return r._data[e]=String(t)},r.getItem=function(e){return r._data.hasOwnProperty(e)?r._data[e]:void 0},r.removeItem=function(e){return delete r._data[e]},r.clear=function(){return r._data={}},e=r}finally{"yes"===e.getItem(t)&&e.removeItem(t)}return e}();function n(){if(!(this instanceof n))return new n}n.prototype={set:function(t,r){if(t&&!e(t))i.setItem(t,void 0===r||"function"==typeof r?r+"":JSON.stringify(r));else if(e(t))for(var n in t)this.set(n,t[n]);return this},get:function(e){if(void 0===e){var r={};return this.forEach(function(e,t){return r[e]=t}),r}if("?"===e.charAt(0))return this.has(e.substr(1));var n=arguments;if(n.length>1){for(var s={},o=0,a=n.length;o<a;
1o++){var l=t(i.getItem(n[o]));this.has(n[o])&&(s[n[o]]=l)}return s}return t(i.getItem(e))},clear:function(){return i.clear(),this},remove:function(e){var t=this.get(e);return i.removeItem(e),t},has:function(e){return({}).hasOwnProperty.call(this.get(),e)},keys:function(){var e=[];return this.forEach(function(t){e.push(t)}),e},forEach:function(e){for(var t=0,r=i.length;t<r;t++){var n=i.key(t);e(n,this.get(n))}return this},search:function(e){for(var t=this.keys(),r={},i=0,n=t.length;i<n;i++)t[i].indexOf(e)>-1&&(r[t[i]]=this.get(t[i]));return r},len:function(){return i.length}};var s=null;function o(t,i){var a=arguments,l=null;if(s||(s=n()),0===a.length)return s.get();if(1===a.length){if("string"==typeof t)return s.get(t);if(e(t))return s.set(t)}if(2===a.length&&"string"==typeof t){if(!i)return s.remove(t);if(i&&"string"==typeof i)return s.set(t,i);i&&r(i)&&(l=null,l=i(t,s.get(t)),o.set(t,l))}if(2===a.length&&"[object Array]"===Object.prototype.toString.call(t)&&r(i))for(var u=0,c=t.length;u<c;u++)l=i(t[u],s.get(t[u])),o.set(t[u],l);return o}for(var a in n.prototype)o[a]=n.prototype[a];return o}()}(tJ);let tX=function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}(tJ.exports);class tZ{isSupportAvailable=!0;isEnabled=!0;length=0;constructor(e={},t){this.options={enabled:!0},this.logger=t,this.configure(e)}configure(e){return this.options=w(this.options,e),this.isSupportAvailable=tK(tC,this,this.logger),this.isEnabled=!!(this.options.enabled&&this.isSupportAvailable),this.options}setItem(e,t){tX.set(e,t),this.length=tX.len()}getItem(e){let t=tX.get(e);return void 0===t?null:t}removeItem(e){tX.remove(e),this.length=tX.len()}clear(){tX.clear(),this.length=0}key(e){return this.keys()[e]??null}keys(){return tX.keys()}}let tY=new tZ({},e$);class t0{isSupportAvailable=!0;isEnabled=!0;length=0;store=globalThis.sessionStorage;constructor(e={},t){this.options={enabled:!0},this.logger=t,this.configure(e)}configure(e){return this.options=w(this.options,e),this.isSupportAvailable=tK(tR,this,this.logger),this.isEnabled=!!(this.options.enabled&&this.isSupportAvailable),this.options}setItem(e,t){this.store.setItem(e,t),this.length=this.store.length}getItem(e){let t=this.store.getItem(e);return void 0===t?null:t}removeItem(e){this.store.removeItem(e),this.length=this.store.length}clear(){this.store.clear(),this.length=0}key(e){return this.store.key(e)}keys(){let e=[];for(let t=0;t<this.store.length;t+=1){let r=this.store.key(t);null!==r&&e.push(r)}return e}}let t1=new t0({},e$),t2=e=>{switch(e){case tC:return tY;case tR:return t1;case tO:return tW;case tP:return new tV({},e$);default:return tW}};class t6{hasErrorHandler=!1;constructor(e,t,r){this.id=e.id,this.name=e.name,this.isEncrypted=e.isEncrypted??!1,this.validKeys=e.validKeys??{},this.engine=t??t2(tC),this.noKeyValidation=0===Object.keys(this.validKeys).length,this.noCompoundKey=e.noCompoundKey,this.originalEngine=this.engine,this.errorHandler=e.errorHandler??ta,this.hasErrorHandler=!!this.errorHandler,this.logger=e.logger??e$,this.pluginsManager=r}createValidKey(e){let t,{name:r,id:i,validKeys:n,noKeyValidation:s,noCompoundKey:o}=this;return s?o?e:[r,i,e].join("."):(Object.values(n).forEach(n=>{n===e&&(t=o?e:[r,i,e].join("."))}),t)}swapQueueStoreToInMemoryEngine(){let{name:e,id:t,validKeys:r,noCompoundKey:i}=this,n=t2(tO);Object.keys(r).forEach(s=>{let o=this.get(r[s]),a=i?s:[e,t,s].join(".");n.setItem(a,o),this.remove(s)}),this.engine=n}set(e,t){let r=this.createValidKey(e);if(r)try{this.engine.setItem(r,this.encrypt(en(t,!1,[],this.logger)))}catch(r){if(tz(r)){let r;this.logger?.warn((r=`Store ${this.id}`,`${r}:: The storage is either full or unavailable, so the data will not be persisted. Switching to in-memory storage.`)),this.swapQueueStoreToInMemoryEngine(),this.set(e,t)}else this.onError(es(r,`Failed to save the value for "${e}" to storage`))}}get(e){let t=this.createValidKey(e);try{if(!t)return null;let e=this.decrypt(this.engine.getItem(t));if(null==e)return null;return JSON.parse(e)}catch(t){return this.onError(Error(`Failed to retrieve or parse data for "${e}" from storage: ${t.message}`)),null}}remove(e){let t=this.createValidKey(e);t&&this.engine.removeItem(t)}getOriginalEngine(){return this.originalEngine}decrypt(e){return null==e?null:this.crypto(e,"decrypt")}encrypt(e){return this.crypto(e,"encrypt")}crypto(e,t){if(!this.isEncrypted||!e||"string"!=typeof e||""===e.replace(/^\s+|\s+$/gm,""))return e;let r=`storage.${t}`,i=this.pluginsManager?this.pluginsManager.invokeSingle(r,e):e;return void 0===i?e:i??""}onError(e){if(this.hasErrorHandler)this.errorHandler?.onError(e,`Store ${this.id}`);else throw e}}class t3{stores={};isInitialized=!1;hasErrorHandler=!1;constructor(e,t,r){this.errorHandler=t,this.logger=r,this.hasErrorHandler=!!this.errorHandler,this.pluginsManager=e,this.onError=this.onError.bind(this)}init(){if(this.isInitialized)return;let e=tt.loadOptions.value,t={cookieStorageOptions:{samesite:e.sameSiteCookie,secure:e.secureCookie,domain:e.setCookieDomain,sameDomainCookiesOnly:e.sameDomainCookiesOnly,enabled:!0},localStorageOptions:{enabled:!0},inMemoryStorageOptions:{enabled:!0},sessionStorageOptions:{enabled:!0}};((e={},t={},r={},i={})=>{(e=>{let t=new tV({},e$).configure(e);tt.storage.cookie.value={maxage:t.maxage,path:t.path,domain:t.domain,samesite:t.samesite,expires:t.expires,secure:t.secure}})(e),tY.configure(t),tW.configure(r),t1.configure(i)})(P(w(t.cookieStorageOptions??{},tt.storage.cookie?.value??{})),P(t.localStorageOptions),P(t.inMemoryStorageOptions),P(t.sessionStorageOptions)),this.initClientDataStores(),this.isInitialized=!0}initClientDataStores(){this.initializeStorageState(),[tO,tC,tP,tR].forEac
1h(e=>{t2(e)?.isEnabled&&this.setStore({id:tj[e],name:tj[e],isEncrypted:!0,noCompoundKey:!0,type:e})})}initializeStorageState(){let e=tt.storage.type.value,t=tt.loadOptions.value.storage?.entries,r=tt.consents.postConsent.value.storage;(b(r?.type)||b(r?.entries))&&(e=r?.type,t=r?.entries);let i=!0,n={};tN.forEach(r=>{let s=t?.[r]?.type,o=((e,t)=>{let r;if(e.consents.preConsent.value.enabled)switch(e.consents.preConsent.value.storage?.strategy){case"none":r=t$;break;case"session":"sessionInfo"!==t&&(r=t$);break;case"anonymousId":"anonymousId"!==t&&(r=t$)}return r})(tt,r)??s??e??eM,a=this.getResolvedStorageTypeForEntry(o,r);a!==t$&&(i=!1),n={...n,[r]:{type:a,key:tD[r]}}}),eu(()=>{tt.storage.type.value=e,tt.storage.entries.value=n,tt.storage.trulyAnonymousTracking.value=i})}getResolvedStorageTypeForEntry(e,t){let r,i=e;switch(e){case tC:t2(tC)?.isEnabled||(i=tO);break;case tR:t2(tR)?.isEnabled||(i=tO);break;case tO:case t$:break;default:i=t2(tP)?.isEnabled?tP:t2(tC)?.isEnabled?tC:t2(tR)?.isEnabled?tR:tO}return i!==e&&this.logger?.warn((r=i,`${F}:: The storage type "${e}" is not available for entry "${t}". The SDK will initialize the entry with "${r}" storage type instead.`)),i}setStore(e){let t=t2(e.type);return this.stores[e.id]=new t6(e,t,this.pluginsManager),this.stores[e.id]}getStore(e){return this.stores[e]}onError(e){if(this.hasErrorHandler)this.errorHandler?.onError(e,F);else throw e}}let t4=e=>{if("string"!=typeof e)return!1;try{return m(globalThis.URL)&&new URL(e),ex.test(e)}catch(e){return!1}},t5=e=>e?.endsWith("/")?t5(e.substring(0,e.length-1)):e,t8=e=>{try{return new URL(e).host}catch(e){return null}},t9=e=>t8(e)??"",t7="none",re="immediate",rt={All:!0},rr=e=>A(e)||Array.isArray(e),ri=(e,t)=>{let r,i,n=[],s=[],o=!1,a=e?.enabled===!0;A(e)&&a&&({provider:i,consentManagerPluginName:r}=((e,t)=>{let{provider:r}=e,i=r?ez[r]:void 0;if(r&&!i){let e;t?.error((e=r,`${N}:: The consent manager "${e}" is not supported. Please choose one of the following supported consent managers: "${Object.keys(ez)}".`)),r=void 0}return{provider:r,consentManagerPluginName:i}})(e,t),rr(e.allowedConsentIds)&&(n=e.allowedConsentIds,o=!0),rr(e.deniedConsentIds)&&(s=e.deniedConsentIds,o=!0));let l={allowedConsentIds:n,deniedConsentIds:s};return a=a&&!!r,{provider:i,consentManagerPluginName:r,initialized:o,enabled:a,consentsData:l}},rn=(e,t,r,i,n,s)=>{let o="";if(s){if(!t4(s))throw Error(`Failed to load the SDK as the base URL for ${e} is not valid.`);return t5(s)}let a=(()=>{let e=document.getElementsByTagName("script"),t=/(?:^|\/)rsa(\.min)?\.js$/;for(let r of e){let e=r.getAttribute("src");if(e&&t.test(e))return e}})();return o=a?a.split("/").slice(0,-1).concat(t).join("/"):r,n&&(o=o.replace(`/v3/${e_}/${t}`,`/${i}/${e_}/${t}`)),o};class rs{hasErrorHandler=!1;constructor(e,t,r){this.errorHandler=t,this.logger=r,this.httpClient=e,this.hasErrorHandler=!!this.errorHandler,this.onError=this.onError.bind(this),this.processConfig=this.processConfig.bind(this)}attachEffects(){eA(()=>{this.logger?.setMinLogLevel(tt.lifecycle.logLevel.value)})}init(){var e,t;this.attachEffects(),e=tt.lifecycle.writeKey.value,t=tt.lifecycle.dataPlaneUrl.value,(e=>{if("string"!=typeof e||0===e.trim().length)throw Error(`The write key "${e}" is invalid. It must be a non-empty string. Please check that the write key is correct and try again.`)})(e),(e=>{if(!t4(e))throw Error(`The data plane URL "${e}" is invalid. It must be a valid URL string. Please check that the data plane URL is correct and try again.`)})(t);let{logLevel:r,configUrl:i,lockIntegrationsVersion:n,lockPluginsVersion:s,destSDKBaseURL:o,pluginsSDKBaseURL:a}=tt.loadOptions.value;tt.lifecycle.activeDataplaneUrl.value=t5(tt.lifecycle.dataPlaneUrl.value);let l=rn("integrations",eN,eH,K,n,o),u=rn("plugins",ej,eF,K,s,a);(e=>{let t,r,{useServerSideCookies:i,dataServiceEndpoint:n,storage:s}=tt.loadOptions.value,o=s?.type;if(b(o)&&!("string"==typeof(r=o)&&eD.includes(r))){let t;e?.warn((t=o,`${N}:: The storage type "${t}" is not supported. Please choose one of the following supported types: "${eD}". The default type "${eM}" will be used instead.`)),o=eM}let a=s?.encryption?.version,l=a&&eV[a];if(void 0===a||void 0!==l)void 0===a&&(a="v3");else{let t;e?.warn((t=a,`${N}:: The storage encryption version "${t}" is not supported. Please choose one of the following supported versions: "${Object.keys(eV)}". The default version "v3" will be used instead.`)),a="v3"}let u=s?.migrate,c=u&&"v3"===a;
1!0===u&&c!==u&&e?.warn((t=a,`${N}:: The storage data migration has been disabled because the configured storage encryption version (${t}) is not the latest (v3). To enable storage data migration, please update the storage encryption version to the latest version.`)),eu(()=>{tt.storage.type.value=o;let e=s?.cookie??{};if(i){tt.serverCookies.isEnabledServerSideCookies.value=i;let t=(e=>{let t=(e=>{let t,{host:r,protocol:i}=new URL(e),n=r.split(".");return t=n.length>2?`${n[n.length-2]}.${n[n.length-1]}`:r,`${i}//${t}`})(window.location.href),r=e.startsWith("/")?e.substring(1):e;return`${t}/${r}`})(n??"rsaRequest");t4(t)?(tt.serverCookies.dataServiceUrl.value=t5(t),t8(window.location.href)!==t8(t)&&(e={...e,samesite:"None",secure:!0})):tt.serverCookies.isEnabledServerSideCookies.value=!1}tt.storage.cookie.value=e,tt.storage.encryptionPluginName.value=eV[a],tt.storage.migrate.value=c})})(this.logger),(e=>{let{provider:t,consentManagerPluginName:r,initialized:i,enabled:n,consentsData:s}=ri(tt.loadOptions.value.consentManagement,e),o=tt.loadOptions.value.preConsent,a=o?.storage?.strategy??t7;if(b(a)&&!["none","session","anonymousId"].includes(a)){let t;a=t7,e?.warn((t=o?.storage?.strategy,`${N}:: The pre-consent storage strategy "${t}" is not supported. Please choose one of the following supported strategies: "none, session, anonymousId". The default strategy "${t7}" will be used instead.`))}let l=o?.events?.delivery??re;if(b(l)&&!["immediate","buffer"].includes(l)){let t;l=re,e?.warn((t=o?.events?.delivery,`${N}:: The pre-consent events delivery type "${t}" is not supported. Please choose one of the following supported types: "immediate, buffer". The default type "${re}" will be used instead.`))}eu(()=>{tt.consents.activeConsentManagerPluginName.value=r,tt.consents.initialized.value=i,tt.consents.enabled.value=n,tt.consents.data.value=s,tt.consents.provider.value=t,tt.consents.preConsent.value={enabled:tt.loadOptions.value.preConsent?.enabled===!0&&!1===i&&!0===n,storage:{strategy:a},events:{delivery:l}}})})(this.logger),(e=>{if(tt.dataPlaneEvents.deliveryEnabled.value){let t="XhrQueue",r=t;if(tt.loadOptions.value.useBeacon)if(tt.capabilities.isBeaconAvailable.value)r="BeaconQueue";else r=t,e?.warn(`${N}:: The Beacon API is not supported by your browser. The events will be sent using XHR instead.`);eu(()=>{tt.dataPlaneEvents.eventsQueuePluginName.value=r})}})(this.logger),eu(()=>{tt.lifecycle.integrationsCDNPath.value=l,tt.lifecycle.pluginsCDNPath.value=u,r&&(tt.lifecycle.logLevel.value=r),tt.lifecycle.sourceConfigUrl.value=((e,t,r,i,n)=>{let s=new URLSearchParams({p:"npm",v:K,build:e_,writeKey:t,lockIntegrationsVersion:r.toString(),lockPluginsVersion:i.toString()}),o=eQ,a=s,l="/sourceConfig/",u="";if(t4(e)){let t=new URL(e);t5(t.pathname).endsWith("/sourceConfig")||(t.pathname=`${t5(t.pathname)}/sourceConfig/`),t.pathname=t.pathname.replace(/\/{2,}/g,"/"),s.forEach((e,r)=>{null===t.searchParams.get(r)&&t.searchParams.set(r,e)}),o=t.origin,l=t.pathname,a=t.searchParams,u=t.hash}else n?.warn(`${N}:: The provided source config URL "${e}" is invalid. Using the default source config URL instead.`);return`${o}${l}?${a}${u}`})(i,tt.lifecycle.writeKey.value,n,s,this.logger)}),this.getConfig()}onError(e,t,r){if(this.hasErrorHandler)this.errorHandler?.onError(e,N,t,r);else throw e}processConfig(e,t){let r,i,n;if(!e){let e;return void this.onError((e=t?.error,`Failed to fetch the source config. Reason: ${e}`))}try{r="string"==typeof e?JSON.parse(e):e}catch(e){this.onError(e,eB,!0);return}if(!(I(i=r)&&I(i.source)&&null!=(n=i.source.id)&&I(i.source.config)&&Array.isArray(i.source.destinations)))return void this.onError(Error(eB),void 0,!0);if(!1===r.source.enabled)return void this.logger?.error("The source is disabled. Please enable the source in the dashboard to send events.");((e,t)=>{let r,i;if(tt.reporting.isErrorReportingEnabled.value=(r=e.source.config,r?.statsCollection?.errors?.enabled===!0&&!(window.chrome&&window.chrome.runtime&&window.chrome.runtime.id)),tt.reporting.isMetricsReportingEnabled.value=(i=e.source.config,i?.statsCollection?.metrics?.enabled===!0),tt.reporting.isErrorReportingEnabled.value){let r,i=(r=e.source.config,r?.statsCollection?.errors?.provider),n=i?eK[i]:void 0;void 0===i||n||t?.warn(`${N}:: The error reporting provider "${i}" is not supported. Please choose one of the following supported providers: "${Object.keys(eK)}". The default provider "${eG}" will be used instead.`),tt.reporting.errorReportingProviderPluginName.value=n??eK[eG]}})(r,this.logger);let s=r.source.destinations.length>0?(e=>{let t=[];
1return e.forEach(e=>{e.enabled&&!e.deleted&&t.push({id:e.id,displayName:e.destinationDefinition.displayName,config:e.config,shouldApplyDeviceModeTransformation:e.shouldApplyDeviceModeTransformation||!1,propagateEventsUntransformedOnError:e.propagateEventsUntransformedOnError||!1,userFriendlyId:`${e.destinationDefinition.displayName.replaceAll(" ","-")}___${e.id}`})}),t})(r.source.destinations):[];eu(()=>{var e;let t,i;tt.source.value={config:r.source.config,id:r.source.id,workspaceId:r.source.workspaceId},tt.nativeDestinations.configuredDestinations.value=s,tt.plugins.pluginsToLoadFromConfig.value=tt.loadOptions.value.plugins??[],e=r,i=tt.consents.resolutionStrategy.value,I(e.consentManagementMetadata)&&(tt.consents.provider.value&&(i=e.consentManagementMetadata.providers.find(e=>e.provider===tt.consents.provider.value)?.resolutionStrategy??tt.consents.resolutionStrategy.value),t=e.consentManagementMetadata),"custom"===tt.consents.provider.value&&(i=void 0),eu(()=>{tt.consents.metadata.value=d(t),tt.consents.resolutionStrategy.value=i}),tt.lifecycle.status.value="configured"})}getConfig(){let e=tt.loadOptions.value.getSourceConfig;if(e){if(!m(e))throw Error('"getSourceConfig" must be a function. Please make sure that it is defined and returns a valid source configuration object.');let t=e();t instanceof Promise?t.then(e=>this.processConfig(e)).catch(e=>{this.onError(e,"SourceConfig")}):this.processConfig(t)}else this.httpClient.getAsyncData({url:tt.lifecycle.sourceConfigUrl.value,options:{headers:{"Content-Type":void 0}},callback:this.processConfig})}}let ro=()=>document?.referrer||"$direct",ra=()=>{let e=(()=>{let e=document.getElementsByTagName("link"),t="";for(let r=0;e[r];r+=1){let i=e[r];if("canonical"===i.getAttribute("rel")&&!t){t=i.getAttribute("href")??"";break}}return t})(),t=globalThis.location.pathname,{href:r}=globalThis.location,i=r,{search:n}=globalThis.location;if(e)try{let r=new URL(e);i=""===r.search?e+n:e,t=r.pathname}catch(e){}let s=(e=>{let t=e;try{let r=new URL(e);t=r.origin+r.pathname+r.search}catch(e){}return t})(i),{title:o}=document,a=ro();return{path:t,referrer:a,referring_domain:t9(a),search:n,title:o,url:s,tab_url:r}},rl=`https://polyfill-fastly.io/v3/polyfill.min.js?version=3.111.0&features=${Object.keys(tQ).join("%2C")}`,ru="rudderstackPolyfill";class rc{constructor(e,t){this.logger=t,this.errorHandler=e,this.externalSrcLoader=new eo(this.errorHandler,this.logger),this.onError=this.onError.bind(this),this.onReady=this.onReady.bind(this)}init(){try{this.prepareBrowserCapabilities(),this.attachWindowListeners()}catch(e){this.onError(e)}}detectBrowserCapabilities(){eu(()=>{let e,t;tt.capabilities.storage.isCookieStorageAvailable.value=tK(tP,t2(tP),this.logger),tt.capabilities.storage.isLocalStorageAvailable.value=tK(tC,void 0,this.logger),tt.capabilities.storage.isSessionStorageAvailable.value=tK(tR,void 0,this.logger),tt.capabilities.isBeaconAvailable.value=null!=(e=globalThis.navigator.sendBeacon)&&m(globalThis.navigator.sendBeacon),tt.capabilities.isUaCHAvailable.value=tF(),tt.capabilities.isCryptoAvailable.value=null!=(t=globalThis.crypto)&&m(globalThis.crypto.getRandomValues),tt.capabilities.isIE11.value=!!globalThis.navigator.userAgent.match(/Trident.*rv:11\./),tt.capabilities.isOnline.value=globalThis.navigator.onLine,tt.context.userAgent.value=(()=>{if(void 0===globalThis.navigator)return null;let{userAgent:e}=globalThis.navigator,{brave:t}=globalThis.navigator;if(t&&Object.getPrototypeOf(t).isBrave){let t=e.match(/(chrome)\/([\w.]+)/i);t&&(e=`${e} Brave/${t[2]}`)}return e})(),tt.context.locale.value=void 0===globalThis.navigator?null:globalThis.navigator.language??globalThis.navigator.browserLanguage,tt.context.screen.value=tG(),tt.context.timezone.value=(()=>{let e=new Date().toString().match(/([A-Z]+[+-]\d+)/);return e&&e[1]?e[1]:"NA"})(),tF()&&((e,t="none")=>{"none"===t&&e(void 0),"default"===t&&e(navigator.userAgentData),"full"===t&&navigator.userAgentData?.getHighEntropyValues(["architecture","bitness","brands","mobile","model","platform","platformVersion","uaFullVersion","fullVersionList","wow64"]).then(t=>{e(t)}).catch(()=>{e()})})(e=>{tt.context["ua-ch"].value=e},tt.loadOptions.value.uaChTrackLevel)}),eA(()=>{!0===tt.loadOptions.value.sendAdblockPage&&void 0!==tt.lifecycle.sourceConfigUrl.value&&((e,t)=>{let r=new URL(tt.lifecycle.sourceConfigUrl.value),i=`${r.origin}${r.pathname}?view=ad`,n=new tw(e,t);n.setAuthHeader(tt.lifecycle.writeKey.value),n.getAsyncData({url:i,options:{method:"HEAD",headers:{"Content-Type":void 0}},isRawResponse:!0,callback:(e,t)=>{tt.capabilities.isAdBlocked.value=t?.error!==void 0||t?.xhr?.responseURL!==i}})})(this.errorHandler,this.logger)})}prepareBrowserCapabilities(){tt.capabilities.isLegacyDOM.value=(()=>{let e=Object.keys(tQ),t=!1;for(let r=0;r<e.length;r++){let i=tQ[e[r]];if(m(i)&&i()){t=!0;break}}return t})();let e=tt.loadOptions.value.polyfillURL,t=rl;if(E(e))if(t4(e))t=e;else this.logger?.warn(`${L}:: The provided polyfill URL "${e}
1" is invalid. The default polyfill URL will be used instead.`);if(tt.loadOptions.value.polyfillIfRequired&&tt.capabilities.isLegacyDOM.value&&t4(t)){let e=t!==tt.loadOptions.value.polyfillURL;if(e){let e=`RS_polyfillCallback_${tt.lifecycle.writeKey.value}`,r=()=>{this.onReady(),delete globalThis[e]};globalThis[e]=r,t=`${t}&callback=${e}`}this.externalSrcLoader.loadJSFile({url:t,id:ru,async:!0,timeout:1e4,callback:r=>{if(r)e||this.onReady();else{let e;this.onError(Error((e=t,`Failed to load the polyfill script with ID "${ru}" from URL ${e}.`)))}}})}else this.onReady()}attachWindowListeners(){globalThis.addEventListener("offline",()=>{tt.capabilities.isOnline.value=!1}),globalThis.addEventListener("online",()=>{tt.capabilities.isOnline.value=!0}),globalThis.addEventListener("resize",function(e,t,r=250){let i;return(...n)=>{globalThis.clearTimeout(i),i=globalThis.setTimeout(()=>{e.apply(t,n)},r)}}(()=>{tt.context.screen.value=tG()},this))}onReady(){this.detectBrowserCapabilities(),tt.lifecycle.status.value="browserCapabilitiesReady"}onError(e){if(this.errorHandler)this.errorHandler.onError(e,L);else throw e}}for(var rg,rd=[],rh=0;rh<256;rh++)rd[rh]=(rh+256).toString(16).substring(1);for(var rp,rf=256,rv=[];rf--;)rv[rf]=(rf+256).toString(16).substring(1);let ry=()=>!(e=>null==e)(globalThis.crypto)&&m(globalThis.crypto.getRandomValues)?function(){(!rg||rh+16>4096)&&(rg=crypto.getRandomValues(new Uint8Array(4096)),rh=0);for(var e,t=0,r="";t<16;t++)e=rg[rh+t],6==t?r+=rd[15&e|64]:8==t?r+=rd[63&e|128]:r+=rd[e],1&t&&t>1&&t<11&&(r+="-");return rh+=16,r}():function(){var e,t=0,r="";if(!rp||rf+16>256){for(rp=Array(t=256);t--;)rp[t]=256*Math.random()|0;t=rf=0}for(;t<16;t++)e=rp[rf+t],6==t?r+=rv[15&e|64]:8==t?r+=rv[63&e|128]:r+=rv[e],1&t&&t>1&&t<11&&(r+="-");return rf++,r}(),rm=["integrations","anonymousId","originalTimestamp"],rb=["library","consentManagement","userAgent","ua-ch","screen"],rE=["id","anonymous_id","user_id","sent_at","timestamp","received_at","original_timestamp","event","event_text","channel","context_ip","context_request_ip","context_passed_ip","group_id","previous_id"],rS=e=>"number"==typeof e&&!Number.isNaN(e),rk=e=>rS(e)&&e>=0&&Number.isInteger(e),rI=e=>{let t=Date.now();return!!(!e||t>e)},rT=e=>e===tP||e===tC||e===tR||e===tO,rw=()=>ry(),rA=(e,t,r)=>{I(e)&&Object.keys(e).forEach(e=>{(rE.includes(e)||rE.includes(e.toLowerCase()))&&r?.warn(`${j}:: The "${e}" property defined under "${t}" is a reserved keyword. Please choose a different property name to avoid conflicts with reserved keywords (${rE}).`)})},rP=(e,t,r,i)=>{let n={channel:"web",context:{traits:d(tt.session.userTraits.value),sessionId:tt.session.sessionInfo.value.id||void 0,sessionStart:tt.session.sessionInfo.value.sessionStart||void 0,...tt.consents.enabled.value&&{consentManagement:{deniedConsentIds:d(tt.consents.data.value.deniedConsentIds),allowedConsentIds:d(tt.consents.data.value.allowedConsentIds),provider:tt.consents.provider.value,resolutionStrategy:tt.consents.resolutionStrategy.value}},"ua-ch":tt.context["ua-ch"].value,app:tt.context.app.value,library:tt.context.library.value,userAgent:tt.context.userAgent.value,os:tt.context.os.value,locale:tt.context.locale.value,screen:tt.context.screen.value,campaign:(e=>{let t={};try{let r=new URL(e),i="utm_";r.searchParams.forEach((e,r)=>{if(r.startsWith(i)){let n=r.substring(i.length);"campaign"===n&&(n="name"),t[n]=e}})}catch(e){}return t})(globalThis.location.href),page:(e=>{let t=ra(),r={};return Object.keys(t).forEach(i=>{r[i]=e?.[i]||t[i]}),r.initial_referrer=e?.initial_referrer||tt.session.initialReferrer.value,r.initial_referring_domain=e?.initial_referring_domain||tt.session.initialReferringDomain.value,r})(r),timezone:tt.context.timezone.value},originalTimestamp:new Date().toISOString(),integrations:rt,messageId:ry(),userId:e.userId||tt.session.userId.value};rT(tt.storage.entries.value.anonymousId?.type)?n.anonymousId=tt.session.anonymousId.value:n.anonymousId=rw(),tt.storage.trulyAnonymousTracking.value&&(n.context.trulyAnonymousTracking=!0),"identify"===e.type&&(n.context.traits=tt.storage.entries.value.userTraits?.type!==t$?d(tt.session.userTraits.value):e.context.traits),"group"===e.type&&((e.groupId||tt.session.groupId.value)&&(n.groupId=e.groupId||tt.session.groupId.value),(e.traits||tt.session.groupTraits.value)&&(n.traits=tt.storage.entries.value.groupTraits?.type!==t$?d(tt.session.groupTraits.value):e.traits));let s=w(e,n);return void 0===s.event&&(s.event=null),void 0===s.properties&&(s.properties=null),((e,t)=>{I(t)&&(((e,t)=>{t.anonymousId&&"string"==typeof t.anonymousId&&(e.anonymousId=t.anonymousId),I(t.integrations)&&(e.integrations=t.integrations),t.originalTimestamp&&"string"==typeof t.originalTimestamp&&(e.originalTimestamp=t.originalTimestamp)})(e,t),e.context=((e,t,r)=>{let i=e;
1return Object.keys(t).forEach(e=>{if(!rm.includes(e)&&!rb.includes(e)){if("context"!==e)i=w(i,{[e]:t[e]});else if(void 0!==t[e]&&I(t[e])){let r={};Object.keys(t[e]).forEach(i=>{rb.includes(i)||(r[i]=t[e][i])}),i=w(i,{...r})}}}),i})(e.context,t))})(s,t),((e,t)=>{let{properties:r,traits:i,context:n}=e,{traits:s}=n;rA(r,"properties",t),rA(i,"traits",t),rA(s,"context.traits",t)})(s,i),s.integrations=(e=>tt.loadOptions.value.useGlobalIntegrationsConfigInEvents&&(I(tt.consents.postConsent.value?.integrations)||I(tt.nativeDestinations.loadOnlyIntegrations.value))?d(tt.consents.postConsent.value?.integrations??tt.nativeDestinations.loadOnlyIntegrations.value):I(e)?e:rt)(s.integrations),s};class rC{constructor(e){this.logger=e}generatePageEvent(e,t,r,i){let n=r??{};return n.name=t,n.category=e,rP({properties:n=((e,t)=>{let r=t?.page||{},i=ra();return Object.keys(i).forEach(t=>{void 0===e[t]&&(e[t]=r[t]||i[t])}),void 0===e.initial_referrer&&(e.initial_referrer=r.initial_referrer||tt.session.initialReferrer.value),void 0===e.initial_referring_domain&&(e.initial_referring_domain=r.initial_referring_domain||tt.session.initialReferringDomain.value),e})(n,i),name:t,category:e,type:"page"},i,n,this.logger)}generateTrackEvent(e,t,r){return rP({properties:t,event:e,type:"track"},r,void 0,this.logger)}generateIdentifyEvent(e,t,r){return rP({userId:e,type:"identify",context:{traits:t}},r,void 0,this.logger)}generateAliasEvent(e,t,r){let i=rP({previousId:t,type:"alias"},r,void 0,this.logger);return i.userId=e??i.userId,i}generateGroupEvent(e,t,r){let i={type:"group"};return e&&(i.groupId=e),t&&(i.traits=t),rP(i,r,void 0,this.logger)}create(e){let t;switch(e.type){case"page":t=this.generatePageEvent(e.category,e.name,e.properties,e.options);break;case"track":t=this.generateTrackEvent(e.name,e.properties,e.options);break;case"identify":t=this.generateIdentifyEvent(e.userId,e.traits,e.options);break;case"alias":t=this.generateAliasEvent(e.to,e.from,e.options);break;case"group":t=this.generateGroupEvent(e.groupId,e.traits,e.options)}return t}}
1class rR{constructor(e,t,r,i){this.eventRepository=e,this.userSessionManager=t,this.errorHandler=r,this.logger=i,this.eventFactory=new rC(this.logger),this.onError=this.onError.bind(this)}init(){this.eventRepository.init()}resume(){this.eventRepository.resume()}addEvent(e){this.userSessionManager.refreshSession();let t=this.eventFactory.create(e);t?this.eventRepository.enqueue(t,e.callback):this.onError(Error("Failed to generate the event object."))}onError(e,t,r){if(this.errorHandler)this.errorHandler.onError(e,j,t,r);else throw e}}class rO{constructor(e,t,r,i,n){this.storeManager=i,this.pluginsManager=r,this.logger=t,this.errorHandler=e,this.httpClient=n,this.onError=this.onError.bind(this),this.serverSideCookieDebounceFuncs={}}init(){this.syncStorageDataToState(),this.registerEffects()}syncStorageDataToState(){let e;this.migrateStorageIfNeeded(),this.migrateDataFromPreviousStorage(),this.setUserId(this.getUserId()),this.setUserTraits(this.getUserTraits()),this.setGroupId(this.getGroupId()),this.setGroupTraits(this.getGroupTraits());let{externalAnonymousIdCookieName:t,anonymousIdOptions:r}=tt.loadOptions.value;E(t)&&"string"==typeof t&&(e=this.getExternalAnonymousIdByCookieName(t)),this.setAnonymousId(e??this.getAnonymousId(r)),this.setAuthToken(this.getAuthToken()),this.setInitialReferrerInfo(),this.configureSessionTracking()}configureSessionTracking(){let e=this.getSessionInfo();if(this.isPersistenceEnabledForStorageEntry("sessionInfo")){let t=this.getConfiguredSessionTrackingInfo(),r=e??eX;e={...r,...t,autoTrack:t.autoTrack&&!0!==r.manualTrack}}tt.session.sessionInfo.value=this.isPersistenceEnabledForStorageEntry("sessionInfo")?e:eJ.sessionInfo,tt.session.sessionInfo.value.autoTrack&&this.startOrRenewAutoTracking(tt.session.sessionInfo.value)}setInitialReferrerInfo(){let e=this.getInitialReferrer(),t=this.getInitialReferringDomain();if(e&&t)this.setInitialReferrer(e),this.setInitialReferringDomain(t);else{let t=e||ro();this.setInitialReferrer(t),this.setInitialReferringDomain(t9(t))}}isPersistenceEnabledForStorageEntry(e){return rT(tt.storage.entries.value[e]?.type)}migrateDataFromPreviousStorage(){let e=tt.storage.entries.value,t=[tP,tC,tR];Object.keys(e).forEach(r=>{let i=e[r]?.type,n=this.storeManager?.getStore(tj[i]);n&&t.forEach(e=>{let t=this.storeManager?.getStore(tj[e]);if(t&&e!==i){let e=t.get(tD[r]);E(e)&&""!==e&&n.set(tD[r],e),t.remove(tD[r])}})})}migrateStorageIfNeeded(){if(!tt.storage.migrate.value)return;let e=[];[tM,tB,tL].forEach(t=>{let r=this.storeManager?.getStore(t);r&&e.push(r)}),Object.keys(tD).forEach(t=>{let r=tD[t];e.forEach(e=>{let t=this.pluginsManager?.invokeSingle("storage.migrate",r,e.engine,this.errorHandler,this.logger);null==t||e.set(r,t)})})}getConfiguredSessionTrackingInfo(){let e,t,r=tt.loadOptions.value.sessions?.autoTrack!==!1;if(!r)return{autoTrack:r};let i=tt.loadOptions.value.sessions?.timeout;if(rk(i))t=i;else this.logger?.warn(`${_}:: The session timeout value "${i}" is not a number. The default timeout of 1800000 ms will be used instead.`),t=18e5;0===t&&(this.logger?.warn(`${_}:: The session timeout value is 0, which disables the automatic session tracking feature. If you want to enable session tracking, please provide a positive integer value for the timeout.`),r=!1);return t>0&&t<1e4&&this.logger?.warn((e=t,`${_}:: The session timeout value ${e} ms is less than the recommended minimum of 10000 ms. Please consider increasing the timeout value to ensure optimal performance and reliability.`)),{timeout:t,autoTrack:r}}onError(e,t){if(this.errorHandler)this.errorHandler.onError(e,_,t);else throw e}getEncryptedCookieData(e,t){let r=[];return e.forEach(e=>{let i=t?.encrypt(en(e.value,!1,[],this.logger));E(i)&&r.push({name:e.name,value:i})}),r}makeRequestToSetCookie(e,t){this.httpClient?.getAsyncData({url:tt.serverCookies.dataServiceUrl.value,options:{method:"POST",data:en({reqType:"setCookies",workspaceId:tt.source.value?.workspaceId,data:{options:{maxAge:tt.storage.cookie.value?.maxage,path:tt.storage.cookie.value?.path,domain:tt.storage.cookie.value?.domain,sameSite:tt.storage.cookie.value?.samesite,secure:tt.storage.cookie.value?.secure,expires:tt.storage.cookie.value?.expires},cookies:e}}),sendRawData:!0,withCredentials:!0},isRawResponse:!0,callback:t})}setServerSideCookies(e,t,r){try{let i=this.getEncryptedCookieData(e,r);i.length>0&&this.makeRequestToSetCookie(i,(i,n)=>
1{if(n?.xhr?.status===200)e.forEach(e=>{let i=r?.get(e.name),n=en(e.value,!1,[]);if(en(i,!1,[])!==n){let r;this.logger?.error((r=e.name,`The server failed to set the ${r} cookie. As a fallback, the cookies will be set client side.`)),t&&t(e.name,e.value)}});else{let r;this.logger?.error((r=n?.xhr?.status,`The server responded with status ${r} while setting the cookies. As a fallback, the cookies will be set client side.`)),e.forEach(e=>{t&&t(e.name,e.value)})}})}catch(r){this.onError(r,"Failed to set/remove cookies via server. As a fallback, the cookies will be managed client side."),e.forEach(e=>{t&&t(e.name,e.value)})}}syncValueToStorage(e,t){let r=tt.storage.entries.value,i=r[e]?.type;if(rT(i)){let n=this.storeManager?.getStore(tj[i]),s=r[e]?.key;t&&("string"==typeof t||A(t))?tt.serverCookies.isEnabledServerSideCookies.value&&i===tP?(this.serverSideCookieDebounceFuncs[e]&&globalThis.clearTimeout(this.serverSideCookieDebounceFuncs[e]),this.serverSideCookieDebounceFuncs[e]=globalThis.setTimeout(()=>{this.setServerSideCookies([{name:s,value:t}],(e,t)=>{n?.set(e,t)},n)},10)):n?.set(s,t):n?.remove(s)}}registerEffects(){tN.forEach(e=>{eA(()=>{this.syncValueToStorage(e,tt.session[e].value)})})}setAnonymousId(e,t){let r=e;this.isPersistenceEnabledForStorageEntry("anonymousId")?(!r&&t&&(r=this.pluginsManager?.invokeSingle("userSession.anonymousIdGoogleLinker",t)),r=r||rw()):r=eJ.anonymousId,tt.session.anonymousId.value=r}getAnonymousId(e){if(rT(tt.storage.entries.value.anonymousId?.type)){let t=this.getEntryValue("anonymousId");!t&&e&&(t=this.pluginsManager?.invokeSingle("storage.getAnonymousId",t2,e)),tt.session.anonymousId.value=t||rw()}return tt.session.anonymousId.value}getEntryValue(e){let t=tt.storage.entries.value,r=t[e]?.type;if(rT(r)){let i=this.storeManager?.getStore(tj[r]),n=t[e]?.key;return i?.get(n)??null}return null}getExternalAnonymousIdByCookieName(e){let t=t2(tP);return t?.isEnabled?t.getItem(e)??null:null}getUserId(){return this.getEntryValue("userId")}getUserTraits(){return this.getEntryValue("userTraits")}getGroupId(){return this.getEntryValue("groupId")}getGroupTraits(){return this.getEntryValue("groupTraits")}getInitialReferrer(){return this.getEntryValue("initialReferrer")}getInitialReferringDomain(){return this.getEntryValue("initialReferringDomain")}getSessionInfo(){return this.getEntryValue("sessionInfo")}getAuthToken(){return this.getEntryValue("authToken")}getSessionId(){let e=this.getSessionInfo()??eJ.sessionInfo;return e.autoTrack&&!rI(e.expiresAt)||e.manualTrack?e.id??null:null}refreshSession(){let e=this.getSessionInfo()??eJ.sessionInfo;(e.autoTrack||e.manualTrack)&&(e.autoTrack&&(this.startOrRenewAutoTracking(e),e=tt.session.sessionInfo.value),void 0===e.sessionStart?e={...e,sessionStart:!0}:e.sessionStart&&(e={...e,sessionStart:!1})),tt.session.sessionInfo.value=e,"readyExecuted"!==tt.lifecycle.status.value&&this.syncValueToStorage("sessionInfo",e)}reset(e,t){let{session:r}=tt,{manualTrack:i,autoTrack:n}=r.sessionInfo.value;eu(()=>{r.userId.value=eJ.userId,r.userTraits.value=eJ.userTraits,r.groupId.value=eJ.groupId,r.groupTraits.value=eJ.groupTraits,r.authToken.value=eJ.authToken,e&&this.setAnonymousId(),!t&&(n?(r.sessionInfo.value=eJ.sessionInfo,this.startOrRenewAutoTracking(r.sessionInfo.value)):i&&this.startManualTrackingInternal())})}setUserId(e){tt.session.userId.value=this.isPersistenceEnabledForStorageEntry("userId")&&e?e:eJ.userId}setUserTraits(e){tt.session.userTraits.value=this.isPersistenceEnabledForStorageEntry("userTraits")&&e?w(tt.session.userTraits.value??eJ.userTraits,e):eJ.userTraits}setGroupId(e){tt.session.groupId.value=this.isPersistenceEnabledForStorageEntry("groupId")&&e?e:eJ.groupId}setGroupTraits(e){tt.session.groupTraits.value=this.isPersistenceEnabledForStorageEntry("groupTraits")&&e?w(tt.session.groupTraits.value??eJ.groupTraits,e):eJ.groupTraits}setInitialReferrer(e){tt.session.initialReferrer.value=this.isPersistenceEnabledForStorageEntry("initialReferrer")&&e?e:eJ.initialReferrer}setInitialReferringDomain(e){tt.session.initialReferringDomain.value=this.isPersistenceEnabledForStorageEntry("initialReferringDomain")&&e?e:eJ.initialReferringDomain}startOrRenewAutoTracking(e){if(rI(e.expiresAt))tt.session.sessionInfo.value=(e=>{let t=Date.now(),r=e||18e5;return{id:t,expiresAt:t+r,timeout:r,sessionStart:void 0,autoTrack:!0}})(e.timeout);else{let t=Date.now(),r=e.timeout;tt.session.sessionInfo.value=w(e,{expiresAt:t+r})}}start(e){tt.session.sessionInfo.value={id:((e,t)=>{if(!e||!rk(e)||!(e.toString().length>=10))return t?.warn(`${_}:: The provided session ID (${e}) is either invalid, not a positive integer, or not at least "10" digits long. A new session ID will be auto-generated instead.`),!1;return!0})(e,this.logger)?e:Date.now(),sessionStart:void 0,manualTrack:!0}}startManualTrackingInternal(){this.start(Date.now())}end(){tt.session.sessionInfo.value=eJ.sessionInfo}setAuthToken(e){tt.session.authToken.value=this.isPersistenceEnabledForStorageEntry("authToken")&&e?e:eJ.authToken}}let r$=["BeaconQueue","Bugsnag","CustomConsentManager","DeviceModeDestinations","DeviceModeTransformation","ErrorReporting","ExternalAnonymousId","GoogleLinker","KetchConsentManager","NativeDestinationQueue","OneTrustConsentManager","StorageEncryption","StorageEncryptionLegacy","StorageMigrator","XhrQueue"],rD="dataplaneEventsQueue",rM="destinationsEventsQueue";
1class rB{constructor(e,t,r,i){this.pluginsManager=e,this.errorHandler=r,this.logger=i,this.httpClient=new tw(r,i),this.storeManager=t,this.onError=this.onError.bind(this)}init(){let e;try{this.dataplaneEventsQueue=this.pluginsManager.invokeSingle(`${rD}.init`,tt,this.httpClient,this.storeManager,this.errorHandler,this.logger)}catch(e){this.onError(e,"XhrQueuePlugin initialization failed")}try{this.dmtEventsQueue=this.pluginsManager.invokeSingle("transformEvent.init",tt,this.pluginsManager,this.httpClient,this.storeManager,this.errorHandler,this.logger)}catch(e){this.onError(e,"DeviceModeTransformationPlugin initialization failed")}try{this.destinationsEventsQueue=this.pluginsManager.invokeSingle(`${rM}.init`,tt,this.pluginsManager,this.storeManager,this.dmtEventsQueue,this.errorHandler,this.logger)}catch(e){this.onError(e,"NativeDestinationQueuePlugin initialization failed")}eA(()=>{!0===tt.nativeDestinations.clientDestinationsReady.value&&(this.destinationsEventsQueue?.start(),this.dmtEventsQueue?.start())});let t=tt.consents.preConsent.value.enabled&&tt.consents.preConsent.value.events?.delivery==="buffer"&&(tt.consents.preConsent.value.storage?.strategy==="session"||tt.consents.preConsent.value.storage?.strategy==="none");eA(()=>{let r=!0===tt.loadOptions.value.bufferDataPlaneEventsUntilReady&&!1===tt.nativeDestinations.clientDestinationsReady.value;!1!==tt.nativeDestinations.activeDestinations.value.some(e=>"hybrid"===e.config.connectionMode||!0===e.config.useNativeSDKToSend)&&!1!==r||t||this.dataplaneEventsQueue?.scheduleTimeoutActive===!0||(globalThis.clearTimeout(e),this.dataplaneEventsQueue?.start())}),!0===tt.loadOptions.value.bufferDataPlaneEventsUntilReady&&(e=globalThis.setTimeout(()=>{this.dataplaneEventsQueue?.scheduleTimeoutActive!==!0&&this.dataplaneEventsQueue?.start()},tt.loadOptions.value.dataPlaneEventsBufferTimeout))}resume(){this.dataplaneEventsQueue?.scheduleTimeoutActive!==!0&&(tt.consents.postConsent.value.discardPreConsentEvents&&(this.dataplaneEventsQueue?.clear(),this.destinationsEventsQueue?.clear()),this.dataplaneEventsQueue?.start())}enqueue(e,t){let r;try{r=((e,t)=>{let r,i,n=d(e),s=e.integrations??rt,o=t.nativeDestinations.integrationsConfig.value,a=(r=s,i=o,Object.keys(r).filter(e=>!0!==r[e]||!i[e]).reduce((e,t)=>{let i=d(e);return i[t]=r[t],i},{}));return n.integrations=w(o,a),n})(e,tt),this.pluginsManager.invokeSingle(`${rD}.enqueue`,tt,this.dataplaneEventsQueue,r,this.errorHandler,this.logger)}catch(e){this.onError(e,"XhrQueuePlugin event enqueue failed")}try{let t=d(e);this.pluginsManager.invokeSingle(`${rM}.enqueue`,tt,this.destinationsEventsQueue,t,this.errorHandler,this.logger)}catch(e){this.onError(e,"NativeDestinationQueuePlugin event enqueue failed")}try{t?.(r)}catch(e){this.onError(e,"API Callback Invocation Failed")}}onError(e,t,r){if(this.errorHandler)this.errorHandler.onError(e,"EventRepository",t,r);else throw e}}let rL=e=>{let t=new CustomEvent(e,{detail:{analyticsInstance:globalThis.rudderanalytics},bubbles:!0,cancelable:!0,composed:!0});globalThis.document.dispatchEvent(t)};class rN{constructor(){this.preloadBuffer=new eP,this.initialized=!1,this.errorHandler=ta,this.logger=e$,this.externalSrcLoader=new eo(this.errorHandler,this.logger),this.capabilitiesManager=new rc(this.errorHandler,this.logger),this.httpClient=tA}load(e,t,r={}){if(tt.lifecycle.status.value)return;let i=d(t),n=d(r);k(t)&&(n=t,i=void 0),eu(()=>{tt.lifecycle.writeKey.value=e,tt.lifecycle.dataPlaneUrl.value=i,tt.loadOptions.value=((e,t)=>{let r=d(t);return"string"!=typeof r.setCookieDomain&&delete r.setCookieDomain,["Strict","Lax","None"].includes(r.sameSiteCookie)||delete r.sameSiteCookie,r.secureCookie=!0===r.secureCookie,["none","default","full"].includes(r.uaChTrackLevel)||delete r.uaChTrackLevel,I(r.integrations)||delete r.integrations,r.plugins=r.plugins??r$,r.useGlobalIntegrationsConfigInEvents=!0===r.useGlobalIntegrationsConfigInEvents,r.bufferDataPlaneEventsUntilReady=!0===r.bufferDataPlaneEventsUntilReady,r.sendAdblockPage=!0===r.sendAdblockPage,r.useServerSideCookies=!0===r.useServerSideCookies,r.dataServiceEndpoint&&"string"!=typeof r.dataServiceEndpoint&&delete r.dataServiceEndpoint,I(r.sendAdblockPageOptions)||delete r.sendAdblockPageOptions,b(r.loadIntegration)?r.loadIntegration=!0===r.loadIntegration:delete r.loadIntegration,I(r.storage)?(r.storage=C(r.storage),r.storage.migrate=r.storage?.migrate===!0):delete r.storage,I(r.beaconQueueOptions)?r.beaconQueueOptions=C(r.beaconQueueOptions):delete r.beaconQueueOptions,I(r.de
1stinationsQueueOptions)?r.destinationsQueueOptions=C(r.destinationsQueueOptions):delete r.destinationsQueueOptions,I(r.queueOptions)?r.queueOptions=C(r.queueOptions):delete r.queueOptions,r.lockIntegrationsVersion=!0===r.lockIntegrationsVersion,r.lockPluginsVersion=!0===r.lockPluginsVersion,rS(r.dataPlaneEventsBufferTimeout)||delete r.dataPlaneEventsBufferTimeout,I(r.storage?.cookie)?r.storage.cookie=C(r.storage?.cookie):delete r.storage?.cookie,I(r.preConsent)?r.preConsent=C(r.preConsent):delete r.preConsent,w(e,r)})(tt.loadOptions.value,n),tt.lifecycle.status.value="mounted"}),tt.loadOptions.value.logLevel&&this.logger?.setMinLogLevel(tt.loadOptions.value.logLevel),ee("state",tt,e),this.startLifecycle()}startLifecycle(){eA(()=>{try{switch(tt.lifecycle.status.value){case"mounted":this.onMounted();break;case"browserCapabilitiesReady":this.onBrowserCapabilitiesReady();break;case"configured":this.onConfigured();break;case"pluginsLoading":case"destinationsLoading":break;case"pluginsReady":this.onPluginsReady();break;case"initialized":this.onInitialized();break;case"loaded":this.onLoaded();break;case"destinationsReady":this.onDestinationsReady();break;case"ready":this.onReady()}}catch(e){this.errorHandler.onError(es(e,"Failed to load the SDK"),G)}})}onBrowserCapabilitiesReady(){let e=((e,t="app")=>(Y(t),globalThis.RudderStackGlobals[t][e]))(q)||[];((e=[])=>{let t="ajs_trait_",r="ajs_prop_",i=new URLSearchParams(globalThis.location.search);i.get(X)&&e.unshift(["track",i.get(X),et(i,r)]),i.get(J)&&e.unshift(["identify",i.get(J),et(i,t)]),i.get(W)&&e.unshift(["setAnonymousId",i.get(W)])})(e),e.length>0&&(this.enqueuePreloadBufferEvents(e),ee(q,[])),this.prepareInternalServices(),this.loadConfig()}onLoaded(){this.processBufferedEvents(),!0===tt.consents.preConsent.value.enabled?tt.lifecycle.status.value="ready":this.loadDestinations()}onMounted(){this.capabilitiesManager.init()}enqueuePreloadBufferEvents(e){Array.isArray(e)&&e.forEach(e=>this.preloadBuffer.enqueue(d(e)))}processDataInPreloadBuffer(){for(;this.preloadBuffer.size()>0;){let e=this.preloadBuffer.dequeue();e&&er([...e],this)}}prepareInternalServices(){this.pluginsManager=new tE(ti,this.errorHandler,this.logger),this.storeManager=new t3(this.pluginsManager,this.errorHandler,this.logger),this.configManager=new rs(this.httpClient,this.errorHandler,this.logger),this.userSessionManager=new rO(this.errorHandler,this.logger,this.pluginsManager,this.storeManager,this.httpClient),this.eventRepository=new rB(this.pluginsManager,this.storeManager,this.errorHandler,this.logger),this.eventManager=new rR(this.eventRepository,this.userSessionManager,this.errorHandler,this.logger)}loadConfig(){tt.lifecycle.writeKey.value&&this.httpClient.setAuthHeader(tt.lifecycle.writeKey.value),this.configManager?.init()}onPluginsReady(){this.errorHandler.init(this.externalSrcLoader),this.storeManager?.init(),this.userSessionManager?.init(),tt.consents.enabled.value&&!tt.consents.initialized.value&&(this.pluginsManager?.invokeSingle("consentManager.init",tt,this.logger),!1===tt.consents.preConsent.value.enabled&&this.pluginsManager?.invokeSingle("consentManager.updateConsentsInfo",tt,this.storeManager,this.logger)),this.eventManager?.init(),tt.lifecycle.status.value="initialized"}onConfigured(){this.pluginsManager?.init()}onInitialized(){this.processDataInPreloadBuffer(),m(tt.loadOptions.value.onLoaded)&&tt.loadOptions.value.onLoaded(globalThis.rudderanalytics),eu(()=>{tt.lifecycle.loaded.value=!0,tt.lifecycle.status.value="loaded"}),this.initialized=!0,rL("RSA_Initialised")}onReady(){tt.lifecycle.status.value="readyExecuted",tt.eventBuffer.readyCallbacksArray.value.forEach(e=>{try{e()}catch(e){this.errorHandler.onError(e,G,eL)}}),rL("RSA_Ready")}processBufferedEvents(){let e=tt.eventBuffer.toBeProcessedArray.value;for(;e.length>0;){let t=e.shift();if(tt.eventBuffer.toBeProcessedArray.value=e,t){let e=t[0];m(this[e])&&this[e](...t.slice(1),!0)}e=tt.eventBuffer.toBeProcessedArray.value}}loadDestinations(){if(tt.nativeDestinations.clientDestinationsReady.value)return;this.pluginsManager?.invokeSingle("nativeDestinations.setActiveDestinations",tt,this.pluginsManager,this.errorHandler,this.logger);let e=tt.nativeDestinations.activeDestinations.value.length;if(0===e){tt.lifecycle.status.value="destinationsReady";return}tt.lifecycle.status.value="destinationsLoading",this.pluginsManager?.invokeSingle("nativeDestinations.load",tt,this.externalSrcLoader,this.errorHandler,this.logger),eA(()=>{(0===e||tt.nativeDestinations.initializedDestinations.value.length+tt.nativeDestinations.failedDestinations.value.length===e)&&eu(()=>{tt.lifecycle.status.value="destinationsReady",tt.nativeDestinations.clientDestinationsReady.value=!0})})}onDestinationsReady(){"ready"!==tt.lifecycle.status.value&&(tt.lifecycle.status.value="ready")}ready(e,t=!1){let r="ready";if(!tt.lifecycle.loaded.value){tt.eventBuffer.toBeProcessedArray.value=[...tt.eventBuffer.toBeProcessedArray.value,[r,e]];return}if(this.errorHandler.leaveBreadcrumb(`New ${r} invocation`),!m(e))return void this.logger.error("readyApi:: The callback is not a function.");
1if("readyExecuted"===tt.lifecycle.status.value)try{e()}catch(e){this.errorHandler.onError(e,G,eL)}else tt.eventBuffer.readyCallbacksArray.value=[...tt.eventBuffer.readyCallbacksArray.value,e]}page(e,t=!1){let r="page";if(!tt.lifecycle.loaded.value){tt.eventBuffer.toBeProcessedArray.value=[...tt.eventBuffer.toBeProcessedArray.value,[r,e]];return}this.errorHandler.leaveBreadcrumb(`New ${r} event`),tt.metrics.triggered.value+=1,this.eventManager?.addEvent({type:"page",category:e.category,name:e.name,properties:e.properties,options:e.options,callback:e.callback}),!0===tt.capabilities.isAdBlocked.value&&e.category!==V&&this.page(O(V,"ad-block page request",{path:"/ad-blocked"},tt.loadOptions.value.sendAdblockPageOptions))}track(e,t=!1){let r="track";if(!tt.lifecycle.loaded.value){tt.eventBuffer.toBeProcessedArray.value=[...tt.eventBuffer.toBeProcessedArray.value,[r,e]];return}this.errorHandler.leaveBreadcrumb(`New ${r} event`),tt.metrics.triggered.value+=1,this.eventManager?.addEvent({type:r,name:e.name||void 0,properties:e.properties,options:e.options,callback:e.callback})}identify(e,t=!1){let r="identify";if(!tt.lifecycle.loaded.value){tt.eventBuffer.toBeProcessedArray.value=[...tt.eventBuffer.toBeProcessedArray.value,[r,e]];return}this.errorHandler.leaveBreadcrumb(`New ${r} event`),tt.metrics.triggered.value+=1,e.userId&&tt.session.userId.value&&e.userId!==tt.session.userId.value&&this.reset(),null!==e.userId&&this.userSessionManager?.setUserId(e.userId),this.userSessionManager?.setUserTraits(e.traits),this.eventManager?.addEvent({type:r,userId:e.userId,traits:e.traits,options:e.options,callback:e.callback})}alias(e,t=!1){let r="alias";if(!tt.lifecycle.loaded.value){tt.eventBuffer.toBeProcessedArray.value=[...tt.eventBuffer.toBeProcessedArray.value,[r,e]];return}this.errorHandler.leaveBreadcrumb(`New ${r} event`),tt.metrics.triggered.value+=1;let i=e.from??this.userSessionManager?.getUserId()??this.userSessionManager?.getAnonymousId();this.eventManager?.addEvent({type:r,to:e.to,from:i,options:e.options,callback:e.callback})}group(e,t=!1){let r="group";if(!tt.lifecycle.loaded.value){tt.eventBuffer.toBeProcessedArray.value=[...tt.eventBuffer.toBeProcessedArray.value,[r,e]];return}this.errorHandler.leaveBreadcrumb(`New ${r} event`),tt.metrics.triggered.value+=1,null!==e.groupId&&this.userSessionManager?.setGroupId(e.groupId),this.userSessionManager?.setGroupTraits(e.traits),this.eventManager?.addEvent({type:r,groupId:e.groupId,traits:e.traits,options:e.options,callback:e.callback})}reset(e,t=!1){let r="reset";if(!tt.lifecycle.loaded.value){tt.eventBuffer.toBeProcessedArray.value=[...tt.eventBuffer.toBeProcessedArray.value,[r,e]];return}this.errorHandler.leaveBreadcrumb(`New ${r} invocation, resetAnonymousId: ${e}`),this.userSessionManager?.reset(e)}getAnonymousId(e){return this.userSessionManager?.getAnonymousId(e)}setAnonymousId(e,t,r=!1){let i="setAnonymousId";if(!tt.lifecycle.loaded.value){tt.eventBuffer.toBeProcessedArray.value=[...tt.eventBuffer.toBeProcessedArray.value,[i,e,t]];return}this.errorHandler.leaveBreadcrumb(`New ${i} invocation`),this.userSessionManager?.setAnonymousId(e,t)}getUserId(){return tt.session.userId.value}getUserTraits(){return tt.session.userTraits.value}getGroupId(){return tt.session.groupId.value}getGroupTraits(){return tt.session.groupTraits.value}startSession(e,t=!1){let r="startSession";if(!tt.lifecycle.loaded.value){tt.eventBuffer.toBeProcessedArray.value=[...tt.eventBuffer.toBeProcessedArray.value,[r,e]];return}this.errorHandler.leaveBreadcrumb(`New ${r} invocation`),this.userSessionManager?.start(e)}endSession(e=!1){let t="endSession";if(!tt.lifecycle.loaded.value){tt.eventBuffer.toBeProcessedArray.value=[...tt.eventBuffer.toBeProcessedArray.value,[t]];return}this.errorHandler.leaveBreadcrumb(`New ${t} invocation`),this.userSessionManager?.end()}getSessionId(){return this.userSessionManager?.getSessionId()??null}consent(e,t=!1){if(!tt.lifecycle.loaded.value){tt.eventBuffer.toBeProcessedArray.value=[...tt.eventBuffer.toBeProcessedArray.value,["consent",e]];return}this.errorHandler.leaveBreadcrumb("New consent invocation"),eu(()=>{tt.consents.preConsent.value={...tt.consents.preConsent.value,enabled:!1},tt.consents.postConsent.value=(e=>{let t={sendPageEvent:!1,trackConsent:!1,discardPreConsentEvents:!1};if(I(e)){let r=d(e);t.storage=r.storage,b(r.integrations)&&(t.integrations=I(r.integrations)?r.integrations:rt),t.discardPreConsentEvents=!0===r.discardPreConsentEvents,t.sendPageEvent=!0===r.sendPageEvent,t.trackConsent=!0===r.trackConsent,A(r.consentManagement)&&(t.consentManagement=w(r.consentManagement,{enabled:tt.consents.enabled.value}))}return t})(e);let{initialized:t,consentsData:r}=ri(tt.consents.postConsent.value.consentManagement,this.logger);tt.consents.initialized.value=t||tt.consents.initialized.value,tt.consents.data.value=r}),tt.consents.enabled.value&&!tt.consents.initialized.value&&this.pluginsManager?.invokeSingle("consentManager.updateConsentsInfo",tt,this.storeManager,this.logger),this.storeManager?.initializeStorageState(),this.userSessionManager?.syncStorageDataToState(),this.eventManager?.resume(),this.loadDestinations(),this.sendTrackingEvents(t)}sendTrackingEvents(e){if(tt.consents.postConsent.value.trackConsent){let t=$("Consent Management Interaction");e?tt.eventBuffer.toBeProcessedArray.value=[...tt.eventBuffer.toBeProcessedArray.value,["track",t]]:this.track(t)}
1if(tt.consents.postConsent.value.sendPageEvent){let t=O();e?tt.eventBuffer.toBeProcessedArray.value=[...tt.eventBuffer.toBeProcessedArray.value,["page",t]]:this.page(t)}}setAuthToken(e){this.userSessionManager?.setAuthToken(e)}}class rj{static globalSingleton=null;analyticsInstances={};defaultAnalyticsKey="";logger=e$;constructor(){if(rj.globalSingleton)return rj.globalSingleton;ta.attachErrorListeners(),this.setDefaultInstanceKey=this.setDefaultInstanceKey.bind(this),this.getAnalyticsInstance=this.getAnalyticsInstance.bind(this),this.load=this.load.bind(this),this.ready=this.ready.bind(this),this.triggerBufferedLoadEvent=this.triggerBufferedLoadEvent.bind(this),this.page=this.page.bind(this),this.track=this.track.bind(this),this.identify=this.identify.bind(this),this.alias=this.alias.bind(this),this.group=this.group.bind(this),this.reset=this.reset.bind(this),this.getAnonymousId=this.getAnonymousId.bind(this),this.setAnonymousId=this.setAnonymousId.bind(this),this.getUserId=this.getUserId.bind(this),this.getUserTraits=this.getUserTraits.bind(this),this.getGroupId=this.getGroupId.bind(this),this.getGroupTraits=this.getGroupTraits.bind(this),this.startSession=this.startSession.bind(this),this.endSession=this.endSession.bind(this),this.getSessionId=this.getSessionId.bind(this),this.setAuthToken=this.setAuthToken.bind(this),this.consent=this.consent.bind(this),rj.globalSingleton=this,this.triggerBufferedLoadEvent(),globalThis.rudderanalytics=this}setDefaultInstanceKey(e){e&&(this.defaultAnalyticsKey=e)}getAnalyticsInstance(e){let t=e??this.defaultAnalyticsKey;return this.analyticsInstances[t]||(this.analyticsInstances[t]=new rN),this.analyticsInstances[t]}load(e,t,r){if("string"!=typeof e)return void this.logger.error(`${Q}:: The write key "${e}" is not a string. Please check that the write key is correct and try again.`);this.analyticsInstances[e]||(this.setDefaultInstanceKey(e),this.analyticsInstances[e]=new rN,this.getAnalyticsInstance(e).load(e,t,r))}triggerBufferedLoadEvent(){let e=Array.isArray(globalThis.rudderanalytics)?globalThis.rudderanalytics:[],t="consent",r=e.filter(e=>e[0]===t),i=e.filter(e=>e[0]!==t);e.splice(0,e.length,...r,...i);let n=(e=>{let t=[],r=0;for(;r<e.length;){if(e[r]&&"load"===e[r][0]){t=d(e[r]),e.splice(r,1);break}r+=1}return t})(e);ee(q,d(e)),n.length>0&&(n.shift(),this.load.apply(null,n))}ready(e){this.getAnalyticsInstance().ready(e)}page(e,t,r,i,n){this.getAnalyticsInstance().page(O(e,t,r,i,n))}track(e,t,r,i){this.getAnalyticsInstance().track($(e,t,r,i))}identify(e,t,r,i){this.getAnalyticsInstance().identify(D(e,t,r,i))}alias(e,t,r,i){this.getAnalyticsInstance().alias(M(e,t,r,i))}group(e,t,r,i){if(0==arguments.length)return void this.logger.error(`${Q}:: The group() method must be called with at least one argument.`);this.getAnalyticsInstance().group(B(e,t,r,i))}reset(e){this.getAnalyticsInstance().reset(e)}getAnonymousId(e){return this.getAnalyticsInstance().getAnonymousId(e)}setAnonymousId(e,t){this.getAnalyticsInstance().setAnonymousId(e,t)}getUserId(){return this.getAnalyticsInstance().getUserId()}getUserTraits(){return this.getAnalyticsInstance().getUserTraits()}getGroupId(){return this.getAnalyticsInstance().getGroupId()}getGroupTraits(){return this.getAnalyticsInstance().getGroupTraits()}startSession(e){return this.getAnalyticsInstance().startSession(e)}endSession(){return this.getAnalyticsInstance().endSession()}getSessionId(){return this.getAnalyticsInstance().getSessionId()}setAuthToken(e){return this.getAnalyticsInstance().setAuthToken(e)}consent(e){return this.getAnalyticsInstance().consent(e)}}t.RudderAnalytics=rj}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.