@adobe/alloy 2.31.2-beta.0 → 2.31.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/alloy.js +36 -18
- package/dist/alloy.min.js +1 -1
- package/dist/types/browser/src/utils/createEventMergeId.d.ts +1 -0
- package/dist/types/browser/src/utils/deepAssign.d.ts +1 -0
- package/dist/types/core/src/components/BrandConcierge/constants.d.ts +1 -0
- package/dist/types/core/src/components/BrandConcierge/createConversationServiceRequest.d.ts +2 -1
- package/package.json +17 -1
- package/src/utils/createEventMergeId.js +13 -0
- package/src/utils/deepAssign.js +13 -0
package/dist/alloy.js
CHANGED
|
@@ -6377,6 +6377,10 @@
|
|
|
6377
6377
|
if (localTimezoneOffset === undefined || Math.abs(localTimezoneOffset) < 6000) {
|
|
6378
6378
|
placeContext.localTime = toISOStringLocal(date);
|
|
6379
6379
|
}
|
|
6380
|
+
const ianaTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
6381
|
+
if (ianaTimezone) {
|
|
6382
|
+
placeContext.ianaTimezone = ianaTimezone;
|
|
6383
|
+
}
|
|
6380
6384
|
event.mergeXdm({
|
|
6381
6385
|
placeContext
|
|
6382
6386
|
});
|
|
@@ -6433,7 +6437,7 @@
|
|
|
6433
6437
|
// The __VERSION__ keyword will be replace at alloy build time with the package.json version.
|
|
6434
6438
|
// see babel-plugin-version
|
|
6435
6439
|
|
|
6436
|
-
var libraryVersion = "2.31.2-beta.
|
|
6440
|
+
var libraryVersion = "2.31.2-beta.1";
|
|
6437
6441
|
|
|
6438
6442
|
/*
|
|
6439
6443
|
Copyright 2019 Adobe. All rights reserved.
|
|
@@ -19248,7 +19252,8 @@
|
|
|
19248
19252
|
}) => {
|
|
19249
19253
|
const brandConciergeEventValidator = boundAnyOf([boundObjectOf({
|
|
19250
19254
|
message: boundString().required(),
|
|
19251
|
-
onStreamResponse: boundCallback().default(noop)
|
|
19255
|
+
onStreamResponse: boundCallback().default(noop),
|
|
19256
|
+
voiceEnabled: boundBoolean().default(false)
|
|
19252
19257
|
}), boundObjectOf({
|
|
19253
19258
|
xdm: boundObjectOf({
|
|
19254
19259
|
interactionId: boundString(),
|
|
@@ -19260,13 +19265,15 @@
|
|
|
19260
19265
|
reasons: boundArrayOf(boundString())
|
|
19261
19266
|
})
|
|
19262
19267
|
})
|
|
19263
|
-
})
|
|
19268
|
+
}),
|
|
19269
|
+
voiceEnabled: boundBoolean().default(false)
|
|
19264
19270
|
}).required(), boundObjectOf({
|
|
19265
19271
|
data: boundObjectOf({
|
|
19266
19272
|
type: boundString().required(),
|
|
19267
19273
|
payload: boundObjectOf({})
|
|
19268
19274
|
}).required(),
|
|
19269
|
-
onStreamResponse: boundCallback().default(noop)
|
|
19275
|
+
onStreamResponse: boundCallback().default(noop),
|
|
19276
|
+
voiceEnabled: boundBoolean().default(false)
|
|
19270
19277
|
})]);
|
|
19271
19278
|
return brandConciergeEventValidator(options);
|
|
19272
19279
|
};
|
|
@@ -19282,14 +19289,18 @@
|
|
|
19282
19289
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
19283
19290
|
governing permissions and limitations under the License.
|
|
19284
19291
|
*/
|
|
19292
|
+
const BRAND_CONCIERGE_PATH = "/brand-concierge";
|
|
19293
|
+
const VOICE_BRAND_CONCIERGE_PATH = "/brand-concierge-voice";
|
|
19285
19294
|
var createConversationServiceRequest = ({
|
|
19286
19295
|
payload,
|
|
19287
19296
|
action = "conversations",
|
|
19288
|
-
sessionId
|
|
19297
|
+
sessionId,
|
|
19298
|
+
voiceEnabled = false
|
|
19289
19299
|
}) => {
|
|
19300
|
+
const edgeSubPath = voiceEnabled ? VOICE_BRAND_CONCIERGE_PATH : BRAND_CONCIERGE_PATH;
|
|
19290
19301
|
return createRequest({
|
|
19291
19302
|
payload: payload,
|
|
19292
|
-
edgeSubPath
|
|
19303
|
+
edgeSubPath,
|
|
19293
19304
|
requestParams: {
|
|
19294
19305
|
sessionId
|
|
19295
19306
|
},
|
|
@@ -19315,6 +19326,7 @@
|
|
|
19315
19326
|
*/
|
|
19316
19327
|
const BC_SESSION_COOKIE_NAME = "bc_session_id";
|
|
19317
19328
|
const STREAM_START_TIMEOUT_MS = 10000;
|
|
19329
|
+
const SOURCES_QUERY_PARAM = "adobe_brand_concierge_source";
|
|
19318
19330
|
|
|
19319
19331
|
/*
|
|
19320
19332
|
Copyright 2025 Adobe. All rights reserved.
|
|
@@ -19601,12 +19613,14 @@
|
|
|
19601
19613
|
message,
|
|
19602
19614
|
onStreamResponse,
|
|
19603
19615
|
xdm,
|
|
19604
|
-
data
|
|
19616
|
+
data,
|
|
19617
|
+
voiceEnabled = false
|
|
19605
19618
|
} = options;
|
|
19606
19619
|
const payload = createDataCollectionRequestPayload();
|
|
19607
19620
|
const request = createConversationServiceRequest({
|
|
19608
19621
|
payload,
|
|
19609
|
-
sessionId: session.id
|
|
19622
|
+
sessionId: session.id,
|
|
19623
|
+
voiceEnabled
|
|
19610
19624
|
});
|
|
19611
19625
|
const event = eventManager.createEvent();
|
|
19612
19626
|
if (message || data) {
|
|
@@ -19827,10 +19841,12 @@
|
|
|
19827
19841
|
var configValidators = boundObjectOf({
|
|
19828
19842
|
conversation: boundObjectOf({
|
|
19829
19843
|
stickyConversationSession: boundBoolean().default(false),
|
|
19830
|
-
streamTimeout: boundNumber().integer().minimum(STREAM_START_TIMEOUT_MS).default(STREAM_START_TIMEOUT_MS)
|
|
19844
|
+
streamTimeout: boundNumber().integer().minimum(STREAM_START_TIMEOUT_MS).default(STREAM_START_TIMEOUT_MS),
|
|
19845
|
+
collectSources: boundBoolean().default(false)
|
|
19831
19846
|
}).default({
|
|
19832
19847
|
stickyConversationSession: false,
|
|
19833
|
-
streamTimeout: STREAM_START_TIMEOUT_MS
|
|
19848
|
+
streamTimeout: STREAM_START_TIMEOUT_MS,
|
|
19849
|
+
collectSources: false
|
|
19834
19850
|
})
|
|
19835
19851
|
});
|
|
19836
19852
|
|
|
@@ -19897,14 +19913,16 @@
|
|
|
19897
19913
|
onBeforeEvent({
|
|
19898
19914
|
event
|
|
19899
19915
|
}) {
|
|
19900
|
-
|
|
19901
|
-
|
|
19902
|
-
const source = parsedParams
|
|
19903
|
-
|
|
19904
|
-
|
|
19905
|
-
|
|
19906
|
-
|
|
19907
|
-
|
|
19916
|
+
if (config.conversation.collectSources) {
|
|
19917
|
+
const parsedParams = queryString.parse(window.location.search);
|
|
19918
|
+
const source = parsedParams[SOURCES_QUERY_PARAM];
|
|
19919
|
+
if (source) {
|
|
19920
|
+
event.mergeXdm({
|
|
19921
|
+
channel: {
|
|
19922
|
+
referringSource: source
|
|
19923
|
+
}
|
|
19924
|
+
});
|
|
19925
|
+
}
|
|
19908
19926
|
}
|
|
19909
19927
|
}
|
|
19910
19928
|
},
|
package/dist/alloy.min.js
CHANGED
|
@@ -12,4 +12,4 @@
|
|
|
12
12
|
|
|
13
13
|
!function(){"use strict";var e=e=>null==e,t=t=>!e(t)&&!Array.isArray(t)&&"object"==typeof t;const n=e=>{const t=(e+"=".repeat((4-e.length%4)%4)).replace(/-/g,"+").replace(/_/g,"/"),n=atob(t);return Uint8Array.from(n,e=>e.codePointAt(0))},r=(e,t={})=>{const{urlSafe:n=!1}=t||{},r=btoa(String.fromCharCode(...e));return n?r.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""):r};
|
|
14
14
|
/*! js-cookie v3.0.5 | MIT */
|
|
15
|
-
function o(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var i=function e(t,n){function r(e,r,i){if("undefined"!=typeof document){"number"==typeof(i=o({},n,i)).expires&&(i.expires=new Date(Date.now()+864e5*i.expires)),i.expires&&(i.expires=i.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a="";for(var s in i)i[s]&&(a+="; "+s,!0!==i[s]&&(a+="="+i[s].split(";")[0]));return document.cookie=e+"="+t.write(r,e)+a}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],r={},o=0;o<n.length;o++){var i=n[o].split("="),a=i.slice(1).join("=");try{var s=decodeURIComponent(i[0]);if(r[s]=t.read(a,s),e===s)break}catch(e){}}return e?r[e]:r}},remove:function(e,t){r(e,"",o({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,o({},this.attributes,t))},withConverter:function(t){return e(o({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"}),a={get:i.get.bind(i),set:i.set.bind(i),remove:i.remove.bind(i),withConverter:i.withConverter.bind(i)};const s=["__proto__","constructor","prototype"],c=(e,n)=>{Object.keys(n).forEach(r=>{s.includes(r)||(t(e[r])&&t(n[r])?c(e[r],n[r]):e[r]=n[r])})};var d=(t,...n)=>{if(e(t))throw new TypeError('deepAssign "target" cannot be null or undefined');const r=Object(t);return n.forEach(e=>c(r,Object(e))),r},l=(e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);d(r,n)},u=()=>{const e=[];return{add(t){e.push(t)},call:(...t)=>Promise.all(e.map(e=>e(...t)))}},p=({logger:e,cookieJar:t})=>({...t,set:(n,r,o)=>(e.info("Setting cookie",{name:n,value:r,...o}),t.set(n,r,o))}),g=()=>{const e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e};const m=(e,t)=>e===t;var f=(e,t)=>e.appendChild(t);var h=(e,n={},r={},o=[],i=document)=>{const a=i.createElement(e);return Object.keys(n).forEach(e=>{a.setAttribute(e,n[e])}),((e,n)=>{Object.keys(n).forEach(r=>{if("style"===r&&t(n[r])){const t=n[r];Object.keys(t).forEach(n=>{e.style[n]=t[n]})}else e[r]=n[r]})})(a,r),o.forEach(e=>f(a,e)),a};const y="IMG",v="STYLE",w="SCRIPT";var I=({src:e,currentDocument:t=document})=>new Promise((n,r)=>{h(y,{src:e},{onload:n,onerror:r,onabort:r},[],t)}),b=e=>"function"==typeof e,E=e=>Array.isArray(e)&&e.length>0,C=e=>Array.isArray(e)?e:null==e?[]:[].slice.call(e);const k=/^\s*>/;var S=(e,t)=>k.test(t)?C(e.querySelectorAll(":scope "+t)):C(e.querySelectorAll(t)),P=":shadow";const D=(e,t)=>{const n=t;if(!n.startsWith(">"))return n;return(e instanceof Element||e instanceof Document?":scope":":host")+" "+n};var R=(e,t)=>{const n=(e=>e.split(P))(t);if(n.length<2)return S(e,t);let r=e;for(let e=0;e<n.length;e+=1){const t=n[e].trim();if(""===t&&r.shadowRoot){r=r.shadowRoot;continue}const o=D(r,t),i=S(r,o);if(0===i.length||!i[0]||!i[0].shadowRoot)return i;r=i[0].shadowRoot}},T=(e,t=document)=>-1===e.indexOf(P)?S(t,e):R(t,e);const O="MutationObserver",N={childList:!0,subtree:!0},M=e=>new Error("Could not find: "+e),A=e=>new Promise(e);var x=(e,t=T,n=5e3,r=window,o=document)=>{const i=t(e);return E(i)?Promise.resolve(i):(e=>b(e[O]))(r)?((e,t,n,r,o)=>A((i,a)=>{let s;const c=new e[O](()=>{const e=o(n);E(e)&&(c.disconnect(),s&&clearTimeout(s),i(e))});s=setTimeout(()=>{c.disconnect(),a(M(n))},r),c.observe(t,N)}))(r,o,e,n,t):(e=>"visible"===e.visibilityState)(o)?((e,t,n,r)=>A((o,i)=>{const a=()=>{const n=r(t);E(n)?o(n):e.requestAnimationFrame(a)};a(),setTimeout(()=>{i(M(t))},n)}))(r,e,n,t):((e,t,n)=>A((r,o)=>{const i=()=>{const t=n(e);E(t)?r(t):setTimeout(i,100)};i(),setTimeout(()=>{o(M(e))},t)}))(e,n,t)};let q;const L=(e=document)=>{if(void 0===q){const t=e.querySelector("[nonce]");q=t&&(t.nonce||t.getAttribute("nonce"))}return q},U=(e,t={})=>document.querySelector('script[src="'+e+'"]')?(t.onLoad&&t.onLoad(),Promise.resolve()):new Promise((n,r)=>{const{attributes:o={},onLoad:i,onError:a}=t,s=h("script",{type:"text/javascript",src:e,async:!0,...L()&&{nonce:L()},...o},{onload:()=>{i&&i(),n()},onerror:()=>{const t=new Error("Failed to load script: "+e);a&&a(t),r(t)}}),c=()=>{const e=document.head||document.body;if(e)f(e,s);else{const e=new Error("Neither <head> nor <body> available for script insertion.");a&&a(e),r(e)}};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",c):c()});var _=e=>{const t=e.parentNode;return t?t.removeChild(e):null};const j={name:"Adobe Alloy"},B={style:{display:"none",width:0,height:0}};var F=e=>t(e)&&0===Object.keys(e).length;const V=(n,r)=>e(n)||!t(n)?n:Object.keys(n).reduce((e,o)=>{const i=n[o];if(t(i)){const t=V(i,r);return F(t)?e:{...e,[o]:t}}return r(i,o)?{...e,[o]:i}:e},{}),H=e=>(e=>{let t=2166136261;const n=(new TextEncoder).encode(e);for(let e=0;e<n.length;e+=1)t^=n[e],t=Math.imul(t,16777619);return t>>>0})(e).toString(16).padStart(8,"0");var z="com.adobe.alloy.",J=(e,t)=>e.slice(-t);const X=z+"getTld";var G="kndctr",Q=e=>e.replace("@","_"),K=(e,t)=>G+"_"+Q(e)+"_"+t,W=(e,t)=>{const n={};return e.forEach(e=>{const r=t(e);n[r]||(n[r]=[]),n[r].push(e)}),n};const Y="Chrome",$="Edge",Z="EdgeChromium",ee="Firefox",te="IE",ne="Safari",re="Unknown";var oe=e=>{let t,n=!1;return()=>(n||(n=!0,t=e()),t)};const ie=[Y,$,Z,"IE",re];var ae=({getBrowser:e})=>oe(()=>ie.includes(e()));var se=({orgId:e})=>{const t=K(e,"identity");return()=>Boolean(a.get(t))};const ce=(e,t,n)=>({getItem(r){try{return e[t].getItem(n+r)}catch{return null}},setItem(r,o){try{return e[t].setItem(n+r,o),!0}catch{return!1}},clear(){try{return Object.keys(e[t]).forEach(r=>{r.startsWith(n)&&e[t].removeItem(r)}),!0}catch{return!1}}});var de=e=>t=>{const n=z+t;return{session:ce(e,"sessionStorage",n),persistent:ce(e,"localStorage",n)}},le=e=>"boolean"==typeof e,ue=e=>"number"==typeof e&&!Number.isNaN(e),pe=e=>{const t=parseInt(e,10);return ue(t)&&e===t},ge=e=>"string"==typeof e,me=e=>ge(e)&&e.length>0,fe=()=>{};const he=e=>{const t={},n=e.split(".");switch(n.length){case 1:t.subdomain="",t.domain=e,t.topLevelDomain="";break;case 2:t.subdomain="",t.domain=e,t.topLevelDomain=n[1];break;case 3:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=n[2];break;case 4:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=n[2]+"."+n[3]}return t},ye=(e,t=he)=>{ge(e)||(e="");const n=(e=>{try{const t=new URL(e);let n=t.pathname;return e.endsWith("/")||"/"!==n||(n=""),{host:t.hostname,path:n,query:t.search.replace(/^\?/,""),anchor:t.hash.replace(/^#/,"")}}catch{return{host:"",path:"",query:"",anchor:""}}})(e),{host:r,path:o,query:i,anchor:a}=n;return{path:o,query:i,fragment:a,...t(r)}};var ve,we;function Ie(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var be=(we||(we=1,ve={parse:function(e){return function(e){var t={};if(!e||"string"!=typeof e)return t;var n=e.trim().replace(/^[?#&]/,""),r=new URLSearchParams(n),o=r.keys();do{var i=o.next(),a=i.value;if(a){var s=r.getAll(a);1===s.length?t[a]=s[0]:t[a]=s}}while(!1===i.done);return t}(e)},stringify:function(e){return function(e){var t="{{space}}",n=new URLSearchParams;return Object.keys(e).forEach(function(r){var o=e[r];"string"==typeof e[r]?o=o.replace(/ /g,t):["object","undefined"].includes(typeof o)&&!Array.isArray(o)&&(o=""),Array.isArray(o)?o.forEach(function(e){n.append(r,e)}):n.append(r,o)}),n.toString().replace(new RegExp(encodeURIComponent(t),"g"),"%20")}(e)}}),ve),Ee=Ie(be);const Ce=e=>Array.isArray(e)?e.map(e=>Ce(e)):"object"==typeof e&&null!==e?Object.keys(e).sort().reduce((t,n)=>(t[n]=Ce(e[n]),t),{}):e;var ke=e=>Ce(e),Se=e=>e instanceof Error?e:new Error(e),Pe=({error:e,message:t})=>{try{e.message=t}catch{}},De=({error:e,message:t})=>{const n=Se(e),r=t+"\nCaused by: "+n.message;return Pe({error:n,message:r}),n},Re=(e,t)=>{if(ue(e)||ge(e)){const t=Math.round(Number(e));if(!Number.isNaN(t))return t}return t};const Te=(e,t,n)=>(""+e).padStart(t,n);const Oe=[];for(let e=0;e<256;++e)Oe.push((e+256).toString(16).slice(1));let Ne;const Me=new Uint8Array(16);var Ae={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function xe(e,t,n){const r=(e=e||{}).random??e.rng?.()??function(){if(!Ne){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Ne=crypto.getRandomValues.bind(crypto)}return Ne(Me)}();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){if((n=n||0)<0||n+16>t.length)throw new RangeError("UUID byte range "+n+":"+(n+15)+" is out of buffer bounds");for(let e=0;e<16;++e)t[n+e]=r[e];return t}return function(e,t=0){return(Oe[e[t+0]]+Oe[e[t+1]]+Oe[e[t+2]]+Oe[e[t+3]]+"-"+Oe[e[t+4]]+Oe[e[t+5]]+"-"+Oe[e[t+6]]+Oe[e[t+7]]+"-"+Oe[e[t+8]]+Oe[e[t+9]]+"-"+Oe[e[t+10]]+Oe[e[t+11]]+Oe[e[t+12]]+Oe[e[t+13]]+Oe[e[t+14]]+Oe[e[t+15]]).toLowerCase()}(r)}function qe(e,t,n){return!Ae.randomUUID||t||e?xe(e,t,n):Ae.randomUUID()}const Le=e=>function(t,n){return null==t?t:e.call(this,t,n)},Ue=(e,t)=>function(n,r){return t.call(this,e.call(this,n,r),r)},_e=(e,t)=>function(n,r){const o=[],i=[e,t].reduce((e,t)=>{try{return t.call(this,e,r)}catch(t){return o.push(t),e}},n);if(o.length)throw new Error(o.join("\n"));return i},je=(e,t,n)=>Object.assign(Ue(e,t),e,n),Be=(e,t,n)=>Object.assign(Ue(e,Le(t)),e,n),Fe=(e,t,n,r)=>{if(!e)throw new Error("'"+n+"': Expected "+r+", but got "+JSON.stringify(t)+".")};var Ve=(e,t)=>(Fe(le(e),e,t,"true or false"),e),He=(e,t)=>(Fe(b(e),e,t,"a function"),e),ze=(e,t)=>function(n,r){let o;const i=e.find(e=>{try{return o=e.call(this,n,r),!0}catch{return!1}});return Fe(i,n,r,t),o},Je=e=>function(t,n){Fe(Array.isArray(t),t,n,"an array");const r=[],o=t.map((o,i)=>{try{return e.call(this,o,n+"["+i+"]",t)}catch(e){return void r.push(e.message)}});if(r.length)throw new Error(r.join("\n"));return o},Xe=(e="This field has been deprecated")=>function(t,n){let r=e;return void 0!==t&&(n&&(r="'"+n+"': "+r),this&&this.logger&&this.logger.warn(r)),t},Ge=e=>function(n,r){Fe(t(n),n,r,"an object");const o=[],i={};if(Object.keys(n).forEach(t=>{const a=n[t],s=r?r+"."+t:t;try{const n=e.call(this,a,s);void 0!==n&&(i[t]=n)}catch(e){o.push(e.message)}}),o.length)throw new Error(o.join("\n"));return i},Qe=(e,t)=>(n,r)=>(Fe(n>=t,n,r,e+" greater than or equal to "+t),n),Ke=e=>(n,r)=>(t(n)?Fe(!F(n),n,r,e):Fe(n.length>0,n,r,e),n),We=e=>function(n,r){Fe(t(n),n,r,"an object");const o=[],i={};if(Object.keys(e).forEach(t=>{const a=n[t],s=e[t],c=r?r+"."+t:t;try{const e=s.call(this,a,c);void 0!==e&&(i[t]=e)}catch(e){o.push(e.message)}}),Object.keys(n).forEach(e=>{Object.prototype.hasOwnProperty.call(i,e)||(i[e]=n[e])}),o.length)throw new Error(o.join("\n"));return i},Ye=(e,n,r)=>function(o,i){Fe(t(o),o,i,"an object");const{[e]:a,[r]:s,...c}=o,d=n(a,i);if(void 0!==d){let t="The field '"+e+"' is deprecated. Use '"+r+"' instead.";if(i&&(t="'"+i+"': "+t),void 0!==s&&s!==d)throw new Error(t);this&&this.logger&&this.logger.warn(t)}return{[r]:s||d,...c}},$e=()=>(e,t)=>(Fe((e=>{const t=Object.create(null);for(let n=0;n<e.length;n+=1){const r=e[n];if(r in t)return!1;t[r]=!0}return!0})(e),e,t,"array values to be unique"),e);const Ze=/^[a-z0-9.-]{1,}$/i;var et=(e,t)=>(Fe(Ze.test(e),e,t,"a valid domain"),e),tt=(e,t)=>(Fe(pe(e),e,t,"an integer"),e),nt=(e,t)=>(Fe(ue(e),e,t,"a number"),e),rt=(e,t)=>(Fe((e=>{try{return null!==RegExp(e)}catch{return!1}})(e),e,t,"a regular expression"),e),ot=(e,t)=>{if(null==e)throw new Error("'"+t+"' is a required option");return e},it=(e,t)=>(Fe(ge(e),e,t,"a string"),e);const at=e=>e;at.default=function(e){return je(this,(e=>t=>null==t?e:t)(e))},at.required=function(){return je(this,ot)},at.deprecated=function(e){return je(this,Xe(e))};const st=function(){return Be(this,et)},ct=function(e){return Be(this,Qe("an integer",e))},dt=function(e){return Be(this,Qe("a number",e))},lt=function(e){return Be(this,(t="a number",n=e,(e,r)=>(Fe(e<=n,e,r,t+" less than or equal to "+n),e)));var t,n},ut=function(){return Be(this,tt,{minimum:ct})},pt=function(){return Be(this,Ke("a non-empty string"))},gt=function(){return Be(this,Ke("a non-empty array"))},mt=function(){return Be(this,Ke("a non-empty object"))},ft=function(){return Be(this,rt)},ht=function(e){return Be(this,(e=>(t,n)=>(Fe(e.test(t),t,n,"does not match the "+e.toString()),t))(e))},yt=function(){return Be(this,(()=>{const e=[];return(t,n)=>(Fe(-1===e.indexOf(t),t,n,"a unique value across instances"),e.push(t),t)})())},vt=function(){return Be(this,$e())},wt=e=>({noUnknownFields:function(){return Be(this,(e=>(t,n)=>{const r=[];if(Object.keys(t).forEach(t=>{if(!e[t]){const e=n?n+"."+t:t;r.push("'"+e+"': Unknown field.")}}),r.length)throw new Error(r.join("\n"));return t})(e))},nonEmpty:mt,concat:function(t){const n={...e,...t.schema};return Be(this,t,wt(n))},renamed:function(e,t,n){return r=this,o=Ye(e,t,n),Object.assign(_e(Le(o),r),r,i);var r,o,i},schema:e}),It=function(e,t){return je(this,ze(e,t))}.bind(at),bt=function(){return this}.bind(at),Et=function(e){return Be(this,Je(e),{nonEmpty:gt,uniqueItems:vt})}.bind(at),Ct=function(){return Be(this,Ve)}.bind(at),kt=function(){return Be(this,He)}.bind(at),St=function(e){return Be(this,(e=>(t,n)=>(Fe(t===e,t,n,""+e),t))(e))}.bind(at),Pt=function(){return Be(this,nt,{minimum:dt,maximum:lt,integer:ut,unique:yt})}.bind(at),Dt=function(e){return Be(this,Ge(e),{nonEmpty:mt})}.bind(at),Rt=function(e){return Be(this,We(e),wt(e))}.bind(at),Tt=function(){return Be(this,it,{regexp:ft,domain:st,nonEmpty:pt,unique:yt,matches:ht})}.bind(at),Ot=function(...e){return It(e.map(St),"one of these values: "+JSON.stringify(e))};var Nt=Dt(Et(Rt({authenticatedState:Ot("ambiguous","authenticated","loggedOut"),id:Tt(),namespace:Rt({code:Tt()}).noUnknownFields(),primary:Ct(),xid:Tt()}).noUnknownFields()).required()),Mt=Rt({}),At="alloy_debug",xt=({console:e,locationSearch:t,createLogger:n,instanceName:r,createNamespacedStorage:o,getMonitors:i})=>{const a=Ee.parse(t),s=o("instance."+r+"."),c=s.session.getItem("debug");let d="true"===c,l=null===c;const u=()=>d,p=(e,{fromConfig:t})=>{t&&!l||(d=e),t||(s.session.setItem("debug",e.toString()),l=!1)};var g;return void 0!==a[At]&&p((g=a[At],ge(g)&&"true"===g.toLowerCase()),{fromConfig:!1}),{setDebugEnabled:p,logger:n({getDebugEnabled:u,context:{instanceName:r},getMonitors:i,console:e}),createComponentLogger:t=>n({getDebugEnabled:u,context:{instanceName:r,componentName:t},getMonitors:i,console:e})}};const qt=["onComponentsRegistered","onBeforeEvent","onBeforeRequest","onResponse","onRequestFailure","onClick","onDecision"];var Lt=e=>qt.reduce((t,n)=>{var r;return t[n]=(r=((e,t)=>(...n)=>Promise.all(e.getLifecycleCallbacks(t).map(e=>new Promise(t=>{t(e(...n))}))))(e,n),(...e)=>Promise.resolve().then(()=>r(...e))),t},{});const Ut=(e,t)=>(...n)=>{let r;try{r=e(...n)}catch(e){throw De({error:e,message:t})}return r instanceof Promise&&(r=r.catch(e=>{throw De({error:e,message:t})})),r};var _t=()=>{const e={},t={},n={};return{register(r,o){const{commands:i,lifecycle:a}=o;((e,n={})=>{const r=(o=Object.keys(t),i=Object.keys(n),o.filter(e=>i.includes(e)));var o,i;if(r.length)throw new Error("[ComponentRegistry] Could not register "+e+" because it has existing command(s): "+r.join(","));Object.keys(n).forEach(r=>{const o=n[r];o.commandName=r,o.run=Ut(o.run,"["+e+"] An error occurred while executing the "+r+" command."),t[r]=o})})(r,i),((e,t={})=>{Object.keys(t).forEach(r=>{n[r]=n[r]||[],n[r].push(Ut(t[r],"["+e+"] An error occurred while executing the "+r+" lifecycle hook."))})})(r,a),e[r]=o},getCommand:e=>t[e],getCommandNames:()=>Object.keys(t),getLifecycleCallbacks:e=>n[e]||[],getComponentNames:()=>Object.keys(e)}};const jt=(e,t)=>{let n,r=0,o=0;do{if(t<0||t+o>=e.length)throw new Error("Invalid varint: buffer ended unexpectedly");if(n=e[t+o],r|=(127&n)<<7*o,o+=1,o>10)throw new Error("Invalid varint: too long")}while(128&n);return{value:r,length:o}},Bt=Object.freeze({VARINT:0,I64:1,LEN:2,SGROUP:3,EGROUP:4,I32:5});var Ft=({orgId:e,cookieJar:t,logger:r})=>{const o=K(e,"identity");return()=>{const e=t.get(o);if(!e)return null;try{const t=decodeURIComponent(e).replace(/_/g,"/").replace(/-/g,"+");return(e=>{let t=0,n=null;for(;t<e.length&&!n;){const{value:r,length:o}=jt(e,t);t+=o;const i=7&r;if(1==r>>3){if(i===Bt.LEN){const r=jt(e,t);return t+=r.length,n=(new TextDecoder).decode(e.slice(t,t+r.value)),t+=r.value,n}}else switch(i){case Bt.VARINT:t+=jt(e,t).length;break;case Bt.I64:t+=8;break;case Bt.LEN:{const n=jt(e,t);t+=n.length+n.value;break}case Bt.SGROUP:case Bt.EGROUP:break;case Bt.I32:t+=4;break;default:throw new Error("Malformed kndctr cookie. Unknown wire type: "+i)}}throw new Error("No ECID found in cookie.")})(n(t))}catch(e){return r.warn("Unable to decode ECID from "+o+" cookie",e),null}}},Vt=({logger:e,loggingCookieJar:t,config:n})=>{let r=null;const o=new Promise(e=>{r=e}),i=Ft({orgId:n.orgId,cookieJar:t,logger:e});return{initialize(){i()&&this.setIdentityAcquired()},setIdentityAcquired(){r()},awaitIdentity:()=>o,getEcidFromCookie:()=>i()}};const Ht="in",zt="out",Jt="pending",Xt="disabled",Gt="wait",Qt="auto",Kt="general",Wt="declinedConsent",Yt="default",$t="initial",Zt="new",en=e=>{const t=new Error(e);return t.code=Wt,t.message=e,t};var tn=({logger:e})=>{const t=[],n=()=>Promise.resolve(),r=()=>Promise.resolve(),o=()=>Promise.reject(en("No consent preferences have been set.")),i=()=>Promise.reject(en("The user declined consent.")),a=e=>{if(e)return Promise.reject(new Error("Consent is pending."));const n=g();return t.push(n),n.promise};return{in(o){o===Yt?this.awaitConsent=n:(o===$t?e.info("Loaded user consent preferences. The user previously consented."):o===Zt&&this.awaitConsent!==r&&e.info("User consented."),(()=>{for(;t.length;)t.shift().resolve()})(),this.awaitConsent=r)},out(n){n===Yt?(e.warn("User consent preferences not found. Default consent of out will be used."),this.awaitConsent=o):(n===$t?e.warn("Loaded user consent preferences. The user previously declined consent."):n===Zt&&this.awaitConsent!==i&&e.warn("User declined consent."),(()=>{for(;t.length;)t.shift().reject(en("The user declined consent."))})(),this.awaitConsent=i)},pending(t){t===Yt&&e.info("User consent preferences not found. Default consent of pending will be used. Some commands may be delayed."),this.awaitConsent=a},awaitConsent:()=>Promise.resolve(),withConsent(){return this.awaitConsent(!0)},current(){switch(this.awaitConsent){case n:return{state:"in",wasSet:!1};case r:return{state:"in",wasSet:!0};case o:return{state:"out",wasSet:!1};case i:return{state:"out",wasSet:!0};case a:return{state:"pending",wasSet:!1};default:return{state:"in",wasSet:!1}}}}};const nn=e=>e&&e._experience&&e._experience.decisioning&&E(e._experience.decisioning.propositions)?e._experience.decisioning.propositions:[];var rn=()=>{const e={},t=Date.now();let n,r,o=!1,i=!1,a=!0;const s=e=>{if(i)throw new Error(e+" cannot be called after event is finalized.")},c={hasQuery(){return Object.prototype.hasOwnProperty.call(this.getContent(),"query")},getContent(){const t=JSON.parse(JSON.stringify(e));return n&&d(t,{xdm:n}),r&&d(t,{data:r}),t},setUserXdm(e){s("setUserXdm"),n=e},setUserData(e){s("setUserData"),r=e},mergeXdm(t){s("mergeXdm"),t&&d(e,{xdm:t})},mergeData(t){s("mergeData"),t&&d(e,{data:t})},mergeMeta(t){s("mergeMeta"),t&&d(e,{meta:t})},mergeQuery(t){s("mergeQuery"),t&&d(e,{query:t})},documentMayUnload(){o=!0},finalize(t){if(i)return;const o=((e,t=m)=>e.filter((n,r)=>((e,t,n)=>{for(let r=0;r<e.length;r+=1)if(n(e[r],t))return r;return-1})(e,n,t)===r))([...nn(n),...nn(e.xdm)],(e,t)=>e===t||e.id&&t.id&&e.id===t.id&&e.scope&&t.scope&&e.scope===t.scope);if(n&&this.mergeXdm(n),o.length>0&&(e.xdm._experience.decisioning.propositions=o),r&&c.mergeData(r),i=!0,t){a=!1;const n={xdm:e.xdm||{},data:e.data||{}},r=t(n);a=!1!==r,e.xdm=n.xdm||{},e.data=n.data||{},F(e.xdm)&&delete e.xdm,F(e.data)&&delete e.data}},getDocumentMayUnload:()=>o,getCreatedAt:()=>t,isEmpty:()=>F(e)&&(!n||F(n))&&(!r||F(r)),shouldSend:()=>a,getViewName(){if(n&&n.web&&n.web.webPageDetails)return n.web.webPageDetails.viewName},getUserIdentityMap:()=>n?.identityMap,toJSON(){if(!i)throw new Error("toJSON called before finalize");return e}};return c};const on="configure",an="setDebug";var sn=({logger:e,configureCommand:n,setDebugCommand:r,handleError:o,validateCommandOptions:i})=>{let a;return(s,c={})=>new Promise(t=>{const o=((t,o)=>{let s;if(t===on){if(a)throw new Error("The library has already been configured and may only be configured once.");s=()=>(a=n(o),a.then(()=>{}))}else{if(!a)throw new Error("The library must be configured first. Please do so by executing the configure command.");s=t===an?()=>{const e=Rt({enabled:Ct().required()}).noUnknownFields(),t=i({command:{commandName:an,optionsValidator:e},options:o});r(t)}:()=>a.then(e=>{const n=e.getCommand(t);if(!n||!b(n.run)){const n=[on,an].concat(e.getCommandNames()).join(", ");throw new Error("The "+t+" command does not exist. List of available commands: "+n+".")}const r=i({command:n,options:o});return n.run(r)},()=>(e.warn("An error during configuration is preventing the "+t+" command from executing."),new Promise(()=>{})))}return s})(s,c);e.logOnBeforeCommand({commandName:s,options:c}),t(o())}).catch(e=>o(e,s+" command")).catch(t=>{throw e.logOnCommandRejected({commandName:s,options:c,error:t}),t}).then(n=>{const r=t(n)?n:{};return e.logOnCommandResolved({commandName:s,options:c,result:r}),r})};const cn="https://adobe.ly/3sHgQHb";var dn=({command:e,options:t})=>{const{commandName:n,documentationUri:r=cn,optionsValidator:o}=e;let i=t;if(o)try{i=o(t)}catch(e){throw new Error("Invalid "+n+" command options:\n\t - "+e+" For command documentation see: "+r)}return i};var ln=({options:e,componentCreators:t,coreConfigValidators:n,createConfig:r,logger:o,setDebugEnabled:i})=>{const a=(e=>{const t=[],n={get enabled(){return e.enabled},flush(){t.forEach(({method:t,args:n})=>e[t](...n))}};return Object.keys(e).filter(t=>"function"==typeof e[t]).forEach(e=>{n[e]=(...n)=>{t.push({method:e,args:n})}}),n})(o),s=t.map(({configValidators:e})=>e).filter(e=>e).reduce((e,t)=>e.concat(t),n),c=r((({combinedConfigValidator:e,options:t,logger:n})=>{try{return e.noUnknownFields().required().call({logger:n},t)}catch(e){throw new Error("Resolve these configuration problems:\n\t - "+e.message.split("\n").join("\n\t - ")+"\nFor configuration documentation see: https://adobe.ly/3sHh553")}})({combinedConfigValidator:s,options:e,logger:a}));i(c.debugEnabled,{fromConfig:!0}),a.flush();const d=((e,t,n)=>n.reduce((n,{buildOnInstanceConfiguredExtraParams:r})=>(r&&(n={...n,...r({config:e,logger:t})}),n),{}))(c,o,t);return o.logOnInstanceConfigured({...d,config:c}),c};const un=e=>({...e});var pn=({errorPrefix:e,logger:t})=>(n,r)=>{const o=Se(n);if(o.code===Wt)return t.warn("The "+r+" could not fully complete. "+o.message),{};throw Pe({error:o,message:e+" "+o.message}),o},gn=({getDebugEnabled:e,console:t,getMonitors:n,context:r})=>{let o="["+r.instanceName+"]";r.componentName&&(o+=" ["+r.componentName+"]");const i=(e,t)=>{const o=n();if(o.length>0){const n={...r,...t};o.forEach(t=>{t[e]&&t[e](n)})}},a=(n,...r)=>{i("onBeforeLog",{level:n,arguments:r}),e()&&t[n](o,...r)};return{get enabled(){return n().length>0||e()},logOnInstanceCreated(e){i("onInstanceCreated",e),a("info","Instance initialized.")},logOnInstanceConfigured(e){i("onInstanceConfigured",e),a("info","Instance configured. Computed configuration:",e.config)},logOnBeforeCommand(e){i("onBeforeCommand",e),a("info","Executing "+e.commandName+" command. Options:",e.options)},logOnCommandResolved(e){i("onCommandResolved",e),a("info",e.commandName+" command resolved. Result:",e.result)},logOnCommandRejected(e){i("onCommandRejected",e),a("error",e.commandName+" command was rejected. Error:",e.error)},logOnBeforeNetworkRequest(e){i("onBeforeNetworkRequest",e),a("info","Request "+e.requestId+": Sending request.",e.payload)},logOnNetworkResponse(e){i("onNetworkResponse",e);const t=e.parsedBody||e.body?"response body:":"no response body.";a("info","Request "+e.requestId+": Received response with status code "+e.statusCode+" and "+t,e.parsedBody||e.body)},logOnNetworkError(e){i("onNetworkError",e),a("error","Request "+e.requestId+": Network request failed.",e.error)},logOnContentHiding(e){i("onContentHiding",{status:e.status}),a(e.logLevel,e.message)},logOnContentRendering(e){i("onContentRendering",{status:e.status,payload:e.detail}),a(e.logLevel,e.message)},info:a.bind(null,"info"),warn:a.bind(null,"warn"),error:a.bind(null,"error")}},mn="__view__",fn=e=>(t,n)=>{e.xdm=e.xdm||{},e.xdm.identityMap=e.xdm.identityMap||{},e.xdm.identityMap[t]=e.xdm.identityMap[t]||[],e.xdm.identityMap[t].push(n)},hn=e=>{const{payload:t,getAction:n,getUseSendBeacon:r,datastreamIdOverride:o,edgeSubPath:i,requestParams:a={}}=e,s=qe();let c=!1,d=!1;return{getId:()=>s,getPayload:()=>t,getAction:()=>n({isIdentityEstablished:d}),getDatastreamIdOverride:()=>o,getUseSendBeacon:()=>r({isIdentityEstablished:d}),getEdgeSubPath:()=>i||"",getUseIdThirdPartyDomain:()=>c,setUseIdThirdPartyDomain(){c=!0},setIsIdentityEstablished(){d=!0},getRequestParams:()=>a}},yn=({payload:e,datastreamIdOverride:t})=>{const n=({isIdentityEstablished:t})=>e.getDocumentMayUnload()&&t;return hn({payload:e,getAction:({isIdentityEstablished:e})=>n({isIdentityEstablished:e})?"collect":"interact",getUseSendBeacon:n,datastreamIdOverride:t})};var vn=t=>{const{content:n,addIdentity:r,hasIdentity:o}=t,i=((e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);Object.assign(r,n)})(n,"meta.configOverrides");return{mergeMeta:l(n,"meta"),mergeState:l(n,"meta.state"),mergeQuery:l(n,"query"),mergeConfigOverride:e=>i(e),finalizeConfigOverrides:()=>{if(n.meta?.configOverrides){const t=(t=>{if(e(t)||"object"!=typeof t)return null;const n=V(t,(t,n)=>!(e(t)||(!le(t)||"enabled"===n&&!1!==t)&&!ue(t)&&!me(t)&&!E(t)));return F(n)?null:n})(n.meta.configOverrides);null===t?delete n.meta.configOverrides:n.meta.configOverrides=t}},addIdentity:r,hasIdentity:o,toJSON:()=>n}},wn=e=>t=>void 0!==(e.xdm&&e.xdm.identityMap&&e.xdm.identityMap[t]),In=()=>{const e={};return{...vn({content:e,addIdentity:fn(e),hasIdentity:wn(e)}),addEvent:t=>{e.events=e.events||[],e.events.push(t)},getEvents:()=>e.events||[],getDocumentMayUnload:()=>(e.events||[]).some(e=>e.getDocumentMayUnload())}},bn=({localConfigOverrides:e,globalConfigOverrides:t,payload:n})=>{const r={payload:n},{datastreamId:o,...i}=e||{};return o&&(r.datastreamIdOverride=o),t&&!F(t)&&n.mergeConfigOverride(t),i&&!F(i)&&n.mergeConfigOverride(i),n.finalizeConfigOverrides(),r};const En="clientId";const Cn="Event was canceled because the onBeforeEventSend callback returned false.";var kn=({orgId:e,targetMigrationEnabled:t})=>n=>((e,t)=>0===t.indexOf(G+"_"+Q(e)+"_"))(e,n)||"at_qa_mode"===n||t&&"mbox"===n;var Sn=e=>((...e)=>e.length<2?Object.assign(...e):e.reduce((e,n)=>(t(n)&&Object.keys(n).forEach(t=>{Array.isArray(n[t])?Array.isArray(e[t])?e[t].push(...n[t]):e[t]=[...n[t]]:e[t]=n[t]}),e)))({},...e.shift()||[],...e.shift()||[],...e),Pn=e=>t=>{const n=()=>{throw t};return e.call({error:t}).then(n,n)};const Dn=e=>{if("function"!=typeof e.getEvents)return;const t=e.getEvents();if(0===t.length)return;const n=Math.min(...t.map(e=>e.getCreatedAt()));return r=Date.now()-n,o=0,i=3e5,Math.max(o,Math.min(r,i));var r,o,i};const Rn="The server responded with a";var Tn=({orgId:e,cookieJar:t})=>{const n=K(e,"cluster");return()=>t.get(n)||(()=>{const e=t.get("mboxEdgeCluster");if(e)return"t"+e})()};const On=[429,503,502,504];var Nn=({response:e,retriesAttempted:t})=>t<3&&On.includes(e.statusCode);var Mn=({response:e,retriesAttempted:t})=>{let n=(e=>{const t=e.getHeader("Retry-After");let n;if(t){const e=parseInt(t,10);n=pe(e)?1e3*e:Math.max(0,new Date(t).getTime()-(new Date).getTime())}return n})(e);return void 0===n&&(n=(e=>{const t=1e3+1e3*e,n=.3*t,r=t-n,o=t+n;return Math.round(r+Math.random()*(o-r))})(t)),n};var An=e=>{let t=window.__alloyMonitors||[];return e&&(t=t.concat(e)),t};var xn=e=>t=>{const n=e().toISOString();t.mergeXdm({timestamp:n})},qn="2.31.2-beta.0",Ln=[["architecture","string"],["bitness","string"],["model","string"],["platformVersion","string"],["wow64","boolean"]];const Un=new Set(["decisioning.propositionFetch","decisioning.propositionDisplay","decisioning.propositionInteract"]);const _n=(e=>t=>{t.mergeXdm({web:{webPageDetails:{URL:e.location.href||e.location},webReferrer:{URL:e.document.referrer}}})})(window),jn=(e=>t=>{const{screen:{width:n,height:r}}=e,o={},i=Re(r);i>=0&&(o.screenHeight=i);const a=Re(n);a>=0&&(o.screenWidth=a);const s=(e=>{const{screen:{orientation:t}}=e;if(null==t||null==t.type)return null;const n=t.type.split("-");return 0===n.length||"portrait"!==n[0]&&"landscape"!==n[0]?null:n[0]})(e)||(e=>{if(b(e.matchMedia)){if(e.matchMedia("(orientation: portrait)").matches)return"portrait";if(e.matchMedia("(orientation: landscape)").matches)return"landscape"}return null})(e);s&&(o.screenOrientation=s),Object.keys(o).length>0&&t.mergeXdm({device:o})})(window),Bn=(e=>t=>{const{document:{documentElement:{clientWidth:n,clientHeight:r}={}}}=e,o={type:"browser"},i=Re(n);i>=0&&(o.browserDetails={viewportWidth:i});const a=Re(r);a>=0&&(o.browserDetails=o.browserDetails||{},o.browserDetails.viewportHeight=a),t.mergeXdm({environment:o})})(window),Fn=(Vn=()=>new Date,e=>{const t=Vn(),n={},r=Re(t.getTimezoneOffset());void 0!==r&&(n.localTimezoneOffset=r),(void 0===r||Math.abs(r)<6e3)&&(n.localTime=(e=>{const t=e.getFullYear(),n=Te(e.getMonth()+1,2,"0"),r=Te(e.getDate(),2,"0"),o=Te(e.getHours(),2,"0"),i=Te(e.getMinutes(),2,"0"),a=Te(e.getSeconds(),2,"0"),s=Te(e.getMilliseconds(),3,"0"),c=Re(e.getTimezoneOffset(),0);return t+"-"+n+"-"+r+"T"+o+":"+i+":"+a+"."+s+(c>0?"-":"+")+Te(Math.floor(Math.abs(c)/60),2,"0")+":"+Te(Math.abs(c)%60,2,"0")})(t)),e.mergeXdm({placeContext:n})});var Vn;const Hn=xn(()=>new Date),zn={web:_n,device:jn,environment:Bn,placeContext:Fn},Jn={highEntropyUserAgentHints:(e=>(e=>"userAgentData"in e)(e)?(t,n)=>{try{return e.userAgentData.getHighEntropyValues(Ln.map(e=>e[0])).then(e=>{const n={};Ln.forEach(([t,r])=>{Object.prototype.hasOwnProperty.call(e,t)&&typeof e[t]===r&&(n[t]=e[t])}),t.mergeXdm({environment:{browserDetails:{userAgentClientHints:n}}})})}catch(e){return n.warn("Unable to collect user-agent client hints. "+e.message),fe}}:fe)(navigator),oneTimeAnalyticsReferrer:(e=>{let t=null;return n=>{const r=n.getContent(),o=r.xdm?.eventType;if(Un.has(o))return;const i=r.data?.__adobe?.analytics?.referrer,a=void 0!==i?i:e.document.referrer;a!==t?(n.mergeData({__adobe:{analytics:{referrer:a}}}),t=a):n.mergeData({__adobe:{analytics:{referrer:""}}})}})(window)},Xn={...zn,...Jn},Gn=[Hn,e=>{e.mergeXdm({implementationDetails:{name:"https://ns.adobe.com/experience/alloy",version:qn,environment:"browser"}})}],Qn=({config:e,logger:t})=>((e,t,n,r)=>{const o=e.context.flatMap((e,r)=>n[e]?[n[e]]:(t.warn("Invalid context["+r+"]: '"+e+"' is not available."),[])).concat(r);return{namespace:"Context",lifecycle:{onBeforeEvent:({event:e})=>Promise.all(o.map(n=>Promise.resolve(n(e,t))))}}})(e,t,Xn,Gn);Qn.namespace="Context",Qn.configValidators=Rt({context:Et(Tt()).default(Object.keys(zn))});const Kn=({eventManager:e,logger:t})=>({commands:{sendEvent:{documentationUri:"https://adobe.ly/3GQ3Q7t",optionsValidator:e=>(({options:e})=>Rt({type:Tt(),xdm:Rt({eventType:Tt(),identityMap:Nt}),data:Rt({}),documentUnloading:Ct(),renderDecisions:Ct(),decisionScopes:Et(Tt()).uniqueItems(),personalization:Rt({decisionScopes:Et(Tt()).uniqueItems(),surfaces:Et(Tt()).uniqueItems(),sendDisplayEvent:Ct().default(!0),includeRenderedPropositions:Ct().default(!1),defaultPersonalizationEnabled:Ct(),decisionContext:Rt({})}).default({sendDisplayEvent:!0}),datasetId:Tt(),mergeId:Tt(),edgeConfigOverrides:Mt,advertising:Rt({handleAdvertisingData:Ot(Xt,Gt,Qt).default(Xt)})}).required().noUnknownFields()(e))({options:e}),run:n=>{const{xdm:r,data:o,documentUnloading:i,type:a,mergeId:s,datasetId:c,edgeConfigOverrides:l,...u}=n,p=e.createEvent();return i&&p.documentMayUnload(),p.setUserXdm(r),p.setUserData(o),a&&p.mergeXdm({eventType:a}),s&&p.mergeXdm({eventMergeId:s}),l&&(u.edgeConfigOverrides=l),c&&(t.warn("The 'datasetId' option has been deprecated. Please use 'edgeConfigOverrides.com_adobe_experience_platform.datasets.event.datasetId' instead."),u.edgeConfigOverrides=l||{},d(u.edgeConfigOverrides,{com_adobe_experience_platform:{datasets:{event:{datasetId:c}}}})),e.sendEvent(p,u)}},applyResponse:{documentationUri:"",optionsValidator:e=>(({options:e})=>Rt({renderDecisions:Ct(),responseHeaders:Dt(Tt().required()),responseBody:Rt({handle:Et(Rt({type:Tt().required(),payload:bt().required()})).required()}).required(),personalization:Rt({sendDisplayEvent:Ct().default(!0),decisionContext:Rt({})}).default({sendDisplayEvent:!0})}).noUnknownFields()(e))({options:e}),run:t=>{const{renderDecisions:n=!1,decisionContext:r={},responseHeaders:o={},responseBody:i={handle:[]},personalization:a}=t,s=e.createEvent();return e.applyResponse(s,{renderDecisions:n,decisionContext:r,responseHeaders:o,responseBody:i,personalization:a})}}}});Kn.namespace="DataCollector";const Wn=(e,t)=>"ID sync "+(t?"succeeded":"failed")+": "+e.spec.url;const Yn=Rt({thirdPartyCookiesEnabled:Ct().default(!0),idMigrationEnabled:Ct().default(!0)});var $n=Rt({url:Tt().required().nonEmpty(),edgeConfigOverrides:Mt}).required().noUnknownFields(),Zn="ECID",er=({logger:e})=>new Promise((n,r)=>{if(t(window.adobe)&&t(window.adobe.optIn)){const t=window.adobe.optIn;e.info("Delaying request while waiting for legacy opt-in to let Visitor retrieve ECID from server."),t.fetchPermissions(()=>{t.isApproved([t.Categories.ECID])?(e.info("Received legacy opt-in approval to let Visitor retrieve ECID from server."),n()):r(new Error("Legacy opt-in was declined."))},!0)}else n()}),tr=({logger:e,orgId:t,awaitVisitorOptIn:n})=>()=>{const r=(e=>{const t=e.Visitor;return b(t)&&b(t.getInstance)&&t})(window);return r?n({logger:e}).then(()=>(e.info("Delaying request while using Visitor to retrieve ECID from server."),new Promise(n=>{r.getInstance(t,{}).getMarketingCloudVisitorID(t=>{e.info("Resuming previously delayed request that was waiting for ECID from Visitor."),n(t)},!0)}))).catch(t=>{t?e.info(t.message+", retrieving ECID from experience edge"):e.info("An error occurred while obtaining the ECID from Visitor.")}):Promise.resolve()},nr="CORE",rr=e=>{try{return decodeURIComponent(e)}catch{return""}};var or=(e,t)=>{e.addIdentity(Zn,{id:t})},ir=e=>e.getPayloadsByType("identity:result").reduce((e,t)=>(t.namespace&&t.namespace.code&&(e[t.namespace.code]=t.id),e),{}),ar=({payload:e,datastreamIdOverride:t})=>hn({payload:e,datastreamIdOverride:t,getAction:()=>"identity/acquire",getUseSendBeacon:()=>!1}),sr=e=>{const t={query:{identity:{fetch:e}}};return vn({content:t,addIdentity:fn(t),hasIdentity:wn(t)})};const cr=/^([^?#]*)(\??[^#]*)(#?.*)$/;const dr=Rt({namespaces:Et(Ot(Zn,nr)).nonEmpty().uniqueItems().default([Zn]),edgeConfigOverrides:Mt}).noUnknownFields().default({namespaces:[Zn]});const lr=({config:e,logger:t,consent:n,fireReferrerHideableImage:r,sendEdgeNetworkRequest:o,apexDomain:i,getBrowser:s,identity:c})=>{const{orgId:d,thirdPartyCookiesEnabled:l,edgeConfigOverrides:u}=e,g=(({config:e,getEcidFromVisitor:t,apexDomain:n,isPageSsl:r,cookieJar:o})=>{const{idMigrationEnabled:i,orgId:a}=e,s="AMCV_"+a,c=()=>{let e=null;const t=o.get("s_ecid")||o.get(s);if(t){const n=/(^|\|)MCMID\|(\d+)($|\|)/,r=t.match(n);r&&(e=r[2])}return e};return{getEcid(){if(i){const e=c();return e?Promise.resolve(e):t()}return Promise.resolve()},setEcid(e){if(i&&c()!==e){const t=r?{sameSite:"none",secure:!0}:{};o.set(s,"MCMID|"+e,{domain:n,expires:390,...t})}}}})({config:e,getEcidFromVisitor:tr({logger:t,orgId:d,awaitVisitorOptIn:er}),apexDomain:i,cookieJar:p({logger:t,cookieJar:a}),isPageSsl:"https:"===window.location.protocol}),m=se({orgId:d}),f=(({sendEdgeNetworkRequest:e,createIdentityRequestPayload:t,createIdentityRequest:n,globalConfigOverrides:r})=>({namespaces:o,edgeConfigOverrides:i}={})=>{const a=bn({payload:t(o),globalConfigOverrides:r,localConfigOverrides:i}),s=n(a);return e({request:s})})({sendEdgeNetworkRequest:o,createIdentityRequestPayload:sr,createIdentityRequest:ar,globalConfigOverrides:u}),h=ae({getBrowser:s}),y=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>n=>{e&&t()&&n.setUseIdThirdPartyDomain()})({thirdPartyCookiesEnabled:l,areThirdPartyCookiesSupportedByDefault:h}),v=(({getLegacyEcid:e,addEcidToPayload:t})=>n=>n.hasIdentity(Zn)?Promise.resolve():e().then(e=>{e&&t(n,e)}))({getLegacyEcid:g.getEcid,addEcidToPayload:or}),w=(({locationSearch:e,dateProvider:t,orgId:n,logger:r})=>o=>{if(o.hasIdentity(Zn))return;let i=Ee.parse(e).adobe_mc;if(void 0===i)return;Array.isArray(i)&&(r.warn("Found multiple adobe_mc query string paramters, only using the last one."),i=i[i.length-1]);const a=i.split("|").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=rr(r),e[n]=e[n].replace(/[^a-zA-Z0-9@.]/g,""),e},{}),s=parseInt(a.TS,10),c=a.MCMID,d=rr(a.MCORGID);t().getTime()/1e3<=s+300&&d===n&&c?(r.info("Found valid ECID identity "+c+" from the adobe_mc query string parameter."),o.addIdentity(Zn,{id:c})):r.info("Detected invalid or expired adobe_mc query string parameter.")})({locationSearch:window.document.location.search,dateProvider:()=>new Date,orgId:d,logger:t}),I=(({doesIdentityCookieExist:e,orgId:t,logger:n})=>({onResponse:r,onRequestFailure:o})=>new Promise((i,a)=>{r(()=>{e()?i():(n.warn("Identity cookie not found. This could be caused by any of the following issues:\n\t* The org ID "+t+" configured in Alloy doesn't match the org ID specified in the edge configuration.\n\t* Experience edge was not able to set the identity cookie due to domain or cookie restrictions.\n\t* The request was canceled by the browser and not fully processed."),a(new Error("Identity cookie not found.")))}),o(()=>{e()?i():a(new Error("Identity cookie not found."))})}))({doesIdentityCookieExist:m,orgId:d,logger:t}),b=(({doesIdentityCookieExist:e,setDomainForInitialIdentityPayload:t,addLegacyEcidToPayload:n,awaitIdentityCookie:r,logger:o})=>{let i;const a=e=>(t(e),n(e.getPayload()));return({request:t,onResponse:n,onRequestFailure:s})=>{if(e())return t.setIsIdentityEstablished(),Promise.resolve();if(i){o.info("Delaying request while retrieving ECID from server.");const e=i;return i=e.catch(()=>r({onResponse:n,onRequestFailure:s})),i.catch(()=>{}),e.then(()=>{o.info("Resuming previously delayed request."),t.setIsIdentityEstablished()}).catch(()=>a(t))}return i=r({onResponse:n,onRequestFailure:s}),i.catch(()=>{}),a(t)}})({doesIdentityCookieExist:m,setDomainForInitialIdentityPayload:y,addLegacyEcidToPayload:v,awaitIdentityCookie:I,logger:t}),E=(({fireReferrerHideableImage:e,logger:t})=>n=>{const r=n.filter(e=>"url"===e.type);return r.length?Promise.all(r.map(n=>e(n.spec).then(()=>{t.info(Wn(n,!0))}).catch(()=>{t.error(Wn(n,!1))}))).then(fe):Promise.resolve()})({fireReferrerHideableImage:r,logger:t}),C=(({processIdSyncs:e})=>t=>e(t.getPayloadsByType("identity:exchange")))({processIdSyncs:E}),k=(({dateProvider:e,orgId:t})=>(n,r)=>{const o=Math.round(e().getTime()/1e3),i=encodeURIComponent("TS="+o+"|MCMID="+n+"|MCORGID="+encodeURIComponent(t)),[,a,s,c]=r.match(cr),d=(e=>""===e?"?":"?"===e?"":"&")(s);return""+a+s+d+"adobe_mc="+i+c})({dateProvider:()=>new Date,orgId:d}),S=(({thirdPartyCookiesEnabled:e})=>t=>{const n=dr(t);if(!e&&n.namespaces.includes(nr))throw new Error("namespaces: The CORE namespace cannot be requested when third-party cookies are disabled.");return n})({thirdPartyCookiesEnabled:l}),P=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>{const n={identity:{fetch:[Zn]}};return e&&t()&&n.identity.fetch.push(nr),e=>{e.mergeQuery(n)}})({thirdPartyCookiesEnabled:l,areThirdPartyCookiesSupportedByDefault:h});return(({addEcidQueryToPayload:e,addQueryStringIdentityToPayload:t,ensureSingleIdentity:n,setLegacyEcid:r,handleResponseForIdSyncs:o,getNamespacesFromResponse:i,getIdentity:a,consent:s,appendIdentityToUrl:c,logger:d,identity:l,getIdentityOptionsValidator:u})=>{let p,g={};return{lifecycle:{onBeforeRequest:({request:r,onResponse:o,onRequestFailure:i})=>(e(r.getPayload()),t(r.getPayload()),n({request:r,onResponse:o,onRequestFailure:i})),onResponse({response:e}){const t=i(e);return p&&p[Zn]||!t||!t[Zn]||r(t[Zn]),t&&Object.keys(t).length>0&&(p={...p,...t}),g={...g,...e.getEdge()},l.setIdentityAcquired(),o(e)}},commands:{getIdentity:{optionsValidator:u,run:e=>{const{namespaces:t}=e;return s.awaitConsent().then(()=>{if(p)return;const n=l.getEcidFromCookie();return n&&t.includes(Zn)&&(p||(p={}),p[Zn]=n,1===t.length)?void 0:a(e)}).then(()=>({identity:t.reduce((e,t)=>(e[t]=p[t]||null,e),{}),edge:g}))}},appendIdentityToUrl:{optionsValidator:$n,run:e=>s.withConsent().then(()=>{if(p)return;const t=l.getEcidFromCookie();return t?(p||(p={}),void(p[Zn]=t)):a(e)}).then(()=>({url:c(p[Zn],e.url)})).catch(t=>(d.warn("Unable to append identity to url. "+t.message),e))}}}})({addEcidQueryToPayload:P,addQueryStringIdentityToPayload:w,ensureSingleIdentity:b,setLegacyEcid:g.setEcid,handleResponseForIdSyncs:C,getNamespacesFromResponse:ir,getIdentity:f,consent:n,identity:c,appendIdentityToUrl:k,logger:t,getIdentityOptionsValidator:S})};lr.namespace="Identity",lr.configValidators=Yn;const ur=({config:e,componentRegistry:t})=>{const n=[...t.getCommandNames(),on,an].sort(),r={...e};Object.keys(e).forEach(t=>{const n=e[t];"function"==typeof n&&(r[t]=n.toString())});const o=t.getComponentNames();return{version:qn,configs:r,commands:n,components:o}},pr=({config:e,componentRegistry:t})=>({commands:{getLibraryInfo:{run:()=>({libraryInfo:ur({config:e,componentRegistry:t})})}}});pr.namespace="LibraryInfo";var gr=Object.freeze({__proto__:null,context:Qn,dataCollector:Kn,identity:lr,libraryInfo:pr});const mr=de(window),{fetch:fr,navigator:hr}=window,yr=Rt({debugEnabled:Ct().default(!1),datastreamId:Tt().unique().required(),edgeDomain:Tt().domain().default("edge.adobedc.net"),edgeBasePath:Tt().nonEmpty().default("ee"),orgId:Tt().unique().required(),onBeforeEventSend:kt().default(fe),edgeConfigOverrides:Mt}).renamed("edgeConfigId",Tt().unique(),"datastreamId"),vr=((e,t)=>{let n="";const r=e.location.hostname.toLowerCase().split(".");let o=1;for(;o<r.length&&!t.get(X);)o+=1,n=J(r,o).join("."),t.set(X,X,{domain:n});return t.remove(X,{domain:n}),n})(window,a),wr=(({fetch:e})=>(t,n)=>e(t,{method:"POST",cache:"no-cache",credentials:"include",headers:{"Content-Type":"text/plain; charset=UTF-8"},referrerPolicy:"no-referrer-when-downgrade",body:n}).then(e=>e.text().then(t=>({statusCode:e.status,getHeader:t=>e.headers.get(t),body:t}))))({fetch:fr}),Ir=(({appendNode:e=f,awaitSelector:t=x,createNode:n=h,fireImage:r=I}={})=>{const o=r;let i;const a=({src:o})=>t("BODY").then(([t])=>i||(i=n("IFRAME",j,B),e(t,i))).then(e=>{const t=e.contentWindow.document;return r({src:o,currentDocument:t})});return e=>{const{hideReferrer:t,url:n}=e;return t?a({src:n}):o({src:n})}})(),br=(({window:e,createNamespacedStorage:t})=>{const n=t("validation.");return()=>{const t=Ee.parse(e.location.search).adb_validation_sessionid;if(!t)return"";const r=(e=>{let t=e.persistent.getItem(En);return t||(t=qe(),e.persistent.setItem(En,t)),t})(n),o=t+"|"+r;return"&"+Ee.stringify({adobeAepValidationToken:o})}})({window:window,createNamespacedStorage:mr}),Er=(({userAgent:e})=>oe(()=>((e,t)=>{const n=Object.keys(e);for(let r=0;r<n.length;r+=1){const o=n[r];if(e[o].test(t))return o}return re})({[$]:/Edge\/([0-9\._]+)/,[Z]:/Edg\/([0-9\.]+)/,[Y]:/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/,[ee]:/Firefox\/([0-9\.]+)(?:\s|$)/,[te]:/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/,[ne]:/Version\/([0-9\._]+).*Safari/},e)))({userAgent:window.navigator.userAgent}),Cr=({instanceName:e,logController:{setDebugEnabled:t,logger:n,createComponentLogger:r},components:o})=>{const i=_t(),s=Lt(i),c=o.concat(Object.values(gr)),d=p({logger:n,cookieJar:a}),l=pn({errorPrefix:"["+e+"]",logger:n}),g=sn({logger:n,configureCommand:o=>{const l=ln({options:o,componentCreators:c,coreConfigValidators:yr,createConfig:un,logger:n,setDebugEnabled:t}),{orgId:p,targetMigrationEnabled:g}=l,m=kn({orgId:p,targetMigrationEnabled:g}),f=(({cookieJar:e,shouldTransferCookie:t,apexDomain:n,dateProvider:r})=>({cookiesToPayload(r,o){const i=""!==n&&o.endsWith(n),a={domain:n,cookiesEnabled:!0};if(!i){const n=e.get(),r=Object.keys(n).filter(t).map(e=>({key:e,value:n[e]}));r.length&&(a.entries=r)}r.mergeState(a)},responseToCookies(t){t.getPayloadsByType("state:store").forEach(t=>{const o={domain:n},i=t.attrs&&t.attrs.SameSite&&t.attrs.SameSite.toLowerCase();void 0!==t.maxAge&&(o.expires=new Date(r().getTime()+1e3*t.maxAge)),void 0!==i&&(o.sameSite=i),"none"===i&&(o.secure=!0),e.set(t.key,t.value,o)})}}))({cookieJar:d,shouldTransferCookie:m,apexDomain:vr,dateProvider:()=>new Date}),h=b(hr.sendBeacon)?(({sendBeacon:e,sendFetchRequest:t,logger:n})=>(r,o)=>{const i=new Blob([o],{type:"text/plain; charset=UTF-8"});return e(r,i)?Promise.resolve({statusCode:204,getHeader:()=>null,body:""}):(n.info("Unable to use `sendBeacon`; falling back to `fetch`."),t(r,o))})({sendBeacon:hr.sendBeacon.bind(hr),sendFetchRequest:wr,logger:n}):wr,y=(({logger:e,sendFetchRequest:t,sendBeaconRequest:n,isRequestRetryable:r,getRequestRetryDelay:o})=>({requestId:i,url:a,payload:s,useSendBeacon:c})=>{const d=JSON.stringify(s),l=JSON.parse(d);e.logOnBeforeNetworkRequest({url:a,requestId:i,payload:l});const u=(s=0)=>(c?n:t)(a,d).then(t=>{if(r({response:t,retriesAttempted:s})){const e=o({response:t,retriesAttempted:s});return new Promise(t=>{setTimeout(()=>{t(u(s+1))},e)})}let n;try{n=JSON.parse(t.body)}catch{}return e.logOnNetworkResponse({requestId:i,url:a,payload:l,...t,parsedBody:n,retriesAttempted:s}),{statusCode:t.statusCode,body:t.body,parsedBody:n,getHeader:t.getHeader}});return u().catch(t=>{throw e.logOnNetworkError({requestId:i,url:a,payload:l,error:t}),De({error:t,message:"Network request failed."})})})({logger:n,sendFetchRequest:wr,sendBeaconRequest:h,isRequestRetryable:Nn,getRequestRetryDelay:Mn}),v=(({logger:e})=>t=>{const{statusCode:n,body:r,parsedBody:o}=t;if(n<200||n>=300||!o&&204!==n||o&&!Array.isArray(o.handle)){const e=o?JSON.stringify(o,null,2):r;throw new Error(Rn+" status code "+n+" and "+(e?"response body:\n"+e:"no response body."))}if(o){const{warnings:t=[],errors:n=[]}=o;t.forEach(t=>{e.warn(Rn+" warning:",t)}),n.forEach(t=>{e.error(Rn+" non-fatal error:",t)})}})({logger:n}),w=(({logger:e})=>t=>{if(t){const n=t.split(";");if(n.length>=2&&n[1].length>0)try{const e=parseInt(n[1],10);if(!Number.isNaN(e))return{regionId:e}}catch{}e.warn('Invalid adobe edge: "'+t+'"')}return{}})({logger:n}),I=(({extractEdgeInfo:e})=>({content:t={},getHeader:n})=>{const{handle:r=[],errors:o=[],warnings:i=[]}=t;return{getPayloadsByType:e=>r.filter(t=>t.type===e).flatMap(e=>e.payload),getErrors:()=>o,getWarnings:()=>i,getEdge:()=>e(n("x-adobe-edge")),toJSON:()=>t}})({extractEdgeInfo:w}),E=Tn({orgId:p,cookieJar:a}),C=(({config:e,lifecycle:t,cookieTransfer:n,sendNetworkRequest:r,createResponse:o,processWarningsAndErrors:i,getLocationHint:a,getAssuranceValidationTokenParams:s})=>{const{edgeDomain:c,edgeBasePath:d,datastreamId:l}=e;let p=!1;const g=(e,t)=>{const n=a(),r=n?d+"/"+n+t.getEdgeSubPath():""+d+t.getEdgeSubPath(),o=t.getDatastreamIdOverride()||l;return o!==l&&t.getPayload().mergeMeta({sdkConfig:{datastream:{original:l}}}),"https://"+e+"/"+r+"/v1/"+t.getAction()+"?configId="+o+"&requestId="+t.getId()+s()};return({request:e,runOnResponseCallbacks:a=fe,runOnRequestFailureCallbacks:s=fe})=>{const d=u();d.add(t.onResponse),d.add(a);const l=u();return l.add(t.onRequestFailure),l.add(s),t.onBeforeRequest({request:e,onResponse:d.add,onRequestFailure:l.add}).then(()=>{const t=p||!e.getUseIdThirdPartyDomain()?c:"adobedc.demdex.net",o=g(t,e),i=e.getPayload(),a=Dn(i);return void 0!==a&&i.mergeMeta({queueTimeMillis:a}),n.cookiesToPayload(i,t),r({requestId:e.getId(),url:o,payload:i,useSendBeacon:e.getUseSendBeacon()})}).then(e=>(i(e),e)).catch(t=>{if(((e,t)=>t.getUseIdThirdPartyDomain()&&(e=>"TypeError"===e.name||"NetworkError"===e.name||0===e.status)(e))(t,e)){p=!0,e.setUseIdThirdPartyDomain(!1);const t=g(c,e),o=e.getPayload();return n.cookiesToPayload(o,c),r({requestId:e.getId(),url:t,payload:o,useSendBeacon:e.getUseSendBeacon()})}return Pn(l)(t)}).then(({parsedBody:e,getHeader:t})=>{const r=o({content:e,getHeader:t});return n.responseToCookies(r),d.call({response:r}).then(Sn)})}})({config:l,lifecycle:s,cookieTransfer:f,sendNetworkRequest:y,createResponse:I,processWarningsAndErrors:v,getLocationHint:E,getAssuranceValidationTokenParams:br}),k=(({cookieTransfer:e,lifecycle:t,createResponse:n,processWarningsAndErrors:r})=>({request:o,responseHeaders:i,responseBody:a,runOnResponseCallbacks:s=fe,runOnRequestFailureCallbacks:c=fe})=>{const d=u();d.add(t.onResponse),d.add(s);const l=u();l.add(t.onRequestFailure),l.add(c);const p=e=>i[e];return t.onBeforeRequest({request:o,onResponse:d.add,onRequestFailure:l.add}).then(()=>r({statusCode:200,getHeader:p,body:JSON.stringify(a),parsedBody:a})).catch(Pn(l)).then(()=>{const t=n({content:a,getHeader:p});return e.responseToCookies(t),d.call({response:t}).then(Sn)})})({lifecycle:s,cookieTransfer:f,createResponse:I,processWarningsAndErrors:v}),S=(({generalConsentState:e,logger:t})=>{const n=(n,r)=>{switch(n[Kt]){case Ht:e.in(r);break;case zt:e.out(r);break;case Jt:e.pending(r);break;default:t.warn("Unknown consent value: "+n[Kt])}};return{initializeConsent(e,t){t[Kt]?n(t,$t):n(e,Yt)},setConsent(e){n(e,Zt)},suspend(){e.pending()},awaitConsent:()=>e.awaitConsent(),withConsent:()=>e.withConsent(),current:()=>e.current()}})({generalConsentState:tn({logger:n}),logger:n}),P=Vt({config:l,logger:n,loggingCookieJar:d});P.initialize();const D=(({config:e,logger:t,lifecycle:n,consent:r,createEvent:o,createDataCollectionRequestPayload:i,createDataCollectionRequest:a,sendEdgeNetworkRequest:s,applyResponse:c})=>{const{onBeforeEventSend:d,edgeConfigOverrides:l}=e;return{createEvent:o,sendEvent(e,o={}){const{edgeConfigOverrides:c,...p}=o,g=bn({payload:i(),localConfigOverrides:c,globalConfigOverrides:l}),m=a(g),f=u(),h=u();return n.onBeforeEvent({...p,event:e,onResponse:f.add,onRequestFailure:h.add}).then(()=>(g.payload.addEvent(e),r.awaitConsent())).then(()=>{try{e.finalize(d)}catch(e){const t=()=>{throw e};return h.add(n.onRequestFailure),h.call({error:e}).then(t,t)}if(!e.shouldSend()){h.add(n.onRequestFailure),t.info(Cn);const e=new Error(Cn);return h.call({error:e}).then(()=>{})}return s({request:m,runOnResponseCallbacks:f.call,runOnRequestFailureCallbacks:h.call})})},applyResponse(e,t={}){const{renderDecisions:r=!1,decisionContext:o={},responseHeaders:s={},responseBody:d={handle:[]},personalization:l}=t,p=i(),g=a({payload:p}),m=u();return n.onBeforeEvent({event:e,renderDecisions:r,decisionContext:o,decisionScopes:[mn],personalization:l,onResponse:m.add,onRequestFailure:fe}).then(()=>(p.addEvent(e),c({request:g,responseHeaders:s,responseBody:d,runOnResponseCallbacks:m.call})))}}})({config:l,logger:n,lifecycle:s,consent:S,createEvent:rn,createDataCollectionRequestPayload:In,createDataCollectionRequest:yn,sendEdgeNetworkRequest:C,applyResponse:k});return(({componentCreators:e,lifecycle:t,componentRegistry:n,getImmediatelyAvailableTools:r})=>(e.forEach(e=>{const{namespace:t}=e,o=r(t);let i;try{i=e(o)}catch(e){throw De({error:e,message:"["+t+"] An error occurred during component creation."})}n.register(t,i)}),t.onComponentsRegistered({lifecycle:t}).then(()=>n)))({componentCreators:c,lifecycle:s,componentRegistry:i,getImmediatelyAvailableTools(t){const n=r(t);return{loggingCookieJar:d,instanceName:e,config:l,componentRegistry:i,consent:S,identity:P,eventManager:D,fireReferrerHideableImage:Ir,logger:n,lifecycle:s,sendEdgeNetworkRequest:C,handleError:pn({errorPrefix:"["+e+"] ["+t+"]",logger:n}),createNamespacedStorage:mr,apexDomain:vr,getBrowser:Er,cookieTransfer:f,createResponse:I}}})},setDebugCommand:e=>{t(e.enabled,{fromConfig:!1})},handleError:l,validateCommandOptions:dn});return g};var kr=({eventManager:e,lifecycle:t,handleError:n})=>{const r=(({eventManager:e,lifecycle:t,handleError:n})=>r=>{if(r.s_fe)return Promise.resolve();const o="composedPath"in r&&r.composedPath().length>0?r.composedPath()[0]:r.target,i=e.createEvent();return i.documentMayUnload(),t.onClick({event:i,clickedElement:o}).then(()=>i.isEmpty()?Promise.resolve():e.sendEvent(i)).then(fe).catch(e=>{n(e,"click collection")})})({eventManager:e,lifecycle:t,handleError:n});document.addEventListener("click",r,!0)};const Sr="\\.(exe|zip|wav|mp3|mov|mpg|avi|wmv|pdf|doc|docx|xls|xlsx|ppt|pptx)$",Pr=Tt().regexp().default(Sr),Dr=Rt({clickCollectionEnabled:Ct().default(!0),clickCollection:Rt({internalLinkEnabled:Ct().default(!0),externalLinkEnabled:Ct().default(!0),downloadLinkEnabled:Ct().default(!0),sessionStorageEnabled:Ct().default(!1),eventGroupingEnabled:Ct().default(!1),filterClickProperties:kt()}).default({internalLinkEnabled:!0,externalLinkEnabled:!0,downloadLinkEnabled:!0,sessionStorageEnabled:!1,eventGroupingEnabled:!1}),downloadLinkQualifier:Pr,onBeforeLinkClickSend:kt().deprecated('The field "onBeforeLinkClickSend" has been deprecated. Use "clickCollection.filterClickDetails" instead.')});var Rr=(e=document)=>null!==e.getElementById("cppXYctnr"),Tr=e=>{let t=e;/^https?:\/\//i.test(t)||(t=window.location.protocol+"//"+e);return new URL(t).hostname};var Or=({config:e,logger:t,getClickedElementProperties:n,clickActivityStorage:r})=>{const{clickCollectionEnabled:o,clickCollection:i}=e;return o?({event:o,clickedElement:a})=>{const s=n({clickActivityStorage:r,clickedElement:a,config:e,logger:t}),c=s.linkType;var d,l;Rr()||(s.isValidLink()&&((e,t)=>t&&("download"===t&&!e.downloadLinkEnabled||"exit"===t&&!e.externalLinkEnabled||"other"===t&&!e.internalLinkEnabled))(i,c)?t.info("Cancelling link click event due to clickCollection."+c+"LinkEnabled = false."):s.isInternalLink()&&i.eventGroupingEnabled&&(!e.onBeforeLinkClickSend||i.filterClickDetails)&&(d=window.location.hostname,l=s.linkUrl,Tr(d)===Tr(l))?r.save(s.properties):s.isValidLink()?(o.mergeXdm(s.xdm),o.mergeData(s.data),r.save({pageName:s.pageName,pageIDType:s.pageIDType})):s.isValidActivityMapData()&&r.save(s.properties))}:()=>{}};var Nr=({properties:e,logger:t}={})=>{let n=e||{};return{get pageName(){return n.pageName},set pageName(e){n.pageName=e},get linkName(){return n.linkName},set linkName(e){n.linkName=e},get linkRegion(){return n.linkRegion},set linkRegion(e){n.linkRegion=e},get linkType(){return n.linkType},set linkType(e){n.linkType=e},get linkUrl(){return n.linkUrl},set linkUrl(e){n.linkUrl=e},get pageIDType(){return n.pageIDType},set pageIDType(e){n.pageIDType=e},get clickedElement(){return n.clickedElement},set clickedElement(e){n.clickedElement=e},get properties(){return{pageName:n.pageName,linkName:n.linkName,linkRegion:n.linkRegion,linkType:n.linkType,linkUrl:n.linkUrl,pageIDType:n.pageIDType}},isValidLink:()=>!!(n.linkUrl&&n.linkType&&n.linkName&&n.linkRegion),isInternalLink(){return this.isValidLink()&&"other"===n.linkType},isValidActivityMapData:()=>!!n.pageName&&!!n.linkName&&!!n.linkRegion&&void 0!==n.pageIDType,get xdm(){return n.filteredXdm?n.filteredXdm:(e=>({eventType:"web.webinteraction.linkClicks",web:{webInteraction:{name:e.linkName,region:e.linkRegion,type:e.linkType,URL:e.linkUrl,linkClicks:{value:1}}}}))(this)},get data(){return n.filteredData?n.filteredData:(e=>({__adobe:{analytics:{contextData:{a:{activitymap:{page:e.pageName,link:e.linkName,region:e.linkRegion,pageIDType:e.pageIDType}}}}}}))(this)},applyPropertyFilter(e){e&&!1===e(n)&&(t&&t.info("Clicked element properties were rejected by filter function: "+JSON.stringify(this.properties,null,2)),n={})},applyOptionsFilter(e){const r=this.options;if(r&&r.clickedElement&&(r.xdm||r.data)){if(e&&!1===e(r))return t&&t.info("Clicked element properties were rejected by filter function: "+JSON.stringify(this.properties,null,2)),void(this.options=void 0);this.options=r,n.filteredXdm=r.xdm,n.filteredData=r.data}},get options(){const e={};if(this.isValidLink()&&(e.xdm=this.xdm),this.isValidActivityMapData()&&(e.data=this.data),this.clickedElement&&(e.clickedElement=this.clickedElement),e.xdm||e.data)return e},set options(e){n={},e&&((e,t)=>{const{xdm:n,data:r,clickedElement:o}=e;if(t.clickedElement=o,n&&n.web&&n.web.webInteraction){const{name:e,region:r,type:o,URL:i}=n.web.webInteraction;t.linkName=e,t.linkRegion=r,t.linkType=o,t.linkUrl=i}if(r&&r.__adobe&&r.__adobe.analytics){const{contextData:e}=r.__adobe.analytics;if(e&&e.a&&e.a.activitymap){const{page:n,link:r,region:o,pageIDType:i}=e.a.activitymap;t.pageName=n||t.pageName,t.linkName=r||t.linkName,t.linkRegion=o||t.linkRegion,void 0!==i&&(t.pageIDType=i)}}})(e,n)}}};const Mr="clickData";var Ar=e=>e&&e.replace(/\s+/g," ").trim();const xr=/^(SCRIPT|STYLE|LINK|CANVAS|NOSCRIPT|#COMMENT)$/i;const qr=e=>{let t=[],n=!1;if((e=>!(e&&e.nodeName&&e.nodeName.match(xr)))(e)){if(t.push(e),e.childNodes){Array.prototype.slice.call(e.childNodes).forEach(e=>{const r=qr(e);t=t.concat(r.supportedNodes),n=n||r.includesUnsupportedNodes})}}else n=!0;return{supportedNodes:t,includesUnsupportedNodes:n}},Lr=(e,t,n)=>{let r;return n&&n!==e.nodeName.toUpperCase()||(r=e.getAttribute(t)),r};const Ur=/^(HEADER|MAIN|FOOTER|NAV)$/i,_r=e=>{let t;return"region"===e.role&&me(e["aria-label"])&&(t=e["aria-label"]),t},jr=e=>{let t;return e&&e.nodeName&&e.nodeName.match(Ur)&&(t=e.nodeName),t};var Br=e=>!(!e.href||"A"!==e.tagName&&"AREA"!==e.tagName||e.onclick&&e.protocol&&!(e.protocol.toLowerCase().indexOf("javascript")<0)),Fr=e=>!!e&&!!e.onclick,Vr=e=>{if("INPUT"===e.tagName){const t=e.getAttribute("type");if("submit"===t)return!0;if("image"===t&&e.src)return!0}return!1},Hr=e=>"BUTTON"===e.tagName&&"submit"===e.type,zr=e=>{const t=e.indexOf("?"),n=e.indexOf("#");return t>=0&&(t<n||n<0)?e.substring(0,t):n>=0?e.substring(0,n):e};const Jr=(({window:e,getLinkName:t,getLinkRegion:n,getAbsoluteUrlFromAnchorElement:r,findClickableElement:o,determineLinkType:i})=>({clickedElement:a,config:s,logger:c,clickActivityStorage:d})=>{const{onBeforeLinkClickSend:l,clickCollection:u}=s,{filterClickDetails:p}=u,g=Nr({logger:c});if(a){const c=o(a);if(c){g.clickedElement=a,g.linkUrl=r(e,c),g.linkType=i(e,s,g.linkUrl,c),g.linkRegion=n(c),g.linkName=t(c),g.pageIDType=0,g.pageName=e.location.href;const o=d.load();o&&o.pageName&&(g.pageName=o.pageName,g.pageIDType=1),p?g.applyPropertyFilter(p):l&&g.applyOptionsFilter(l)}}return g})({window:window,getLinkName:e=>{let t=Ar(e.innerText||e.textContent);const n=qr(e);if(!t||n.includesUnsupportedNodes){const e=(e=>{const t={texts:[]};return e.supportedNodes.forEach(e=>{e.getAttribute&&(t.alt||(t.alt=Ar(e.getAttribute("alt"))),t.title||(t.title=Ar(e.getAttribute("title"))),t.inputValue||(t.inputValue=Ar(Lr(e,"value","INPUT"))),t.imgSrc||(t.imgSrc=Ar(Lr(e,"src","IMG"))),t.ariaLabel||(t.ariaLabel=Ar(e.getAttribute("aria-label"))),t.name||(t.name=Ar(e.getAttribute("name")))),e.nodeValue&&t.texts.push(e.nodeValue)}),t})(n);t=Ar(e.texts.join("")),t||(t=e.alt||e.title||e.inputValue||e.imgSrc||e.ariaLabel||e.name)}return t||""},getLinkRegion:e=>{let t,n=e.parentNode;for(;n;){if(t=Ar(n.id||_r(n)||jr(n)),t)return t;n=n.parentNode}return"BODY"},getAbsoluteUrlFromAnchorElement:(e,t)=>{const n=e.location.href;let r=t.href||"";"string"!=typeof r&&(r="");try{return new URL(r,n).href}catch{return n}},findClickableElement:e=>{let t=e;for(;t&&(!t.nodeName||"BODY"!==t.nodeName);){if(Br(t)||Fr(t)||Vr(t)||Hr(t))return t;t=t.parentNode}return null},determineLinkType:(e,t,n,r)=>{let o="other";return me(n)&&(((e,t,n)=>{let r=!1;if(t)if(n&&n.download)r=!0;else if(e){const n=new RegExp(e),o=zr(t).toLowerCase();r=n.test(o)}return r})(t.downloadLinkQualifier,n,r)?o="download":((e,t)=>{let n=!1;if(t&&e.location.hostname){const r=e.location.hostname.toLowerCase();n=zr(t).toLowerCase().indexOf(r)<0}return n})(e,n)&&(o="exit")),o}});let Xr;const Gr=e=>{if(!Xr){const t=de(window)(e.orgId||""),n=(()=>{const e={};return{getItem:t=>e[t],setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]}}})(),r=e.clickCollection.sessionStorageEnabled?t.session:n;Xr=(({storage:e})=>({save:t=>{const n=JSON.stringify(t);e.setItem(Mr,n)},load:()=>{let t=null;const n=e.getItem(Mr);return n&&(t=JSON.parse(n)),t},remove:()=>{e.removeItem(Mr)}}))({storage:r})}},Qr=({config:e,eventManager:t,handleError:n,logger:r})=>{((e,t)=>{const{clickCollectionEnabled:n,onBeforeLinkClickSend:r,downloadLinkQualifier:o}=e;!1===n&&(r&&t.warn("The 'onBeforeLinkClickSend' configuration was provided but will be ignored because clickCollectionEnabled is false."),o&&o!==Sr&&t.warn("The 'downloadLinkQualifier' configuration was provided but will be ignored because clickCollectionEnabled is false."))})(e,r);const o=e.clickCollection;Xr||Gr(e);const i=Or({config:e,logger:r,clickActivityStorage:Xr,getClickedElementProperties:Jr}),a=(({clickActivityStorage:e})=>t=>{if(Rr())return;const n=e.load(),r=Nr({properties:n});if(r.isValidLink()||r.isValidActivityMapData()){if(r.isValidLink()){const e=r.xdm;delete e.eventType,t.mergeXdm(e)}r.isValidActivityMapData()&&t.mergeData(r.data),e.save({pageName:r.pageName,pageIDType:r.pageIDType})}})({clickActivityStorage:Xr}),s=(({clickActivityStorage:e})=>t=>{e.save({pageName:t.getContent().xdm.web.webPageDetails.name,pageIDType:1})})({clickActivityStorage:Xr});return{lifecycle:{onComponentsRegistered(e){const{lifecycle:r}=e;kr({eventManager:t,lifecycle:r,handleError:n})},onClick({event:e,clickedElement:t}){i({event:e,clickedElement:t})},onBeforeEvent({event:e}){(e=>{const t=e.getContent();return void 0!==t.xdm&&void 0!==t.xdm.web&&void 0!==t.xdm.web.webPageDetails&&void 0!==t.xdm.web.webPageDetails.name})(e)&&(o.eventGroupingEnabled&&a(e),s(e,r,Xr))}}}};Qr.namespace="ActivityCollector",Qr.configValidators=Dr,Qr.buildOnInstanceConfiguredExtraParams=({config:e,logger:t})=>(Xr||Gr(e),{getLinkDetails:n=>Jr({clickActivityStorage:Xr,clickedElement:n,config:e,logger:t}).properties});var Kr=({fireReferrerHideableImage:e,logger:t,cookieJar:n,isPageSsl:r})=>{const o=r?{sameSite:"none",secure:!0}:{};return r=>((e=>{e.filter(e=>"cookie"===e.type).forEach(e=>{const{name:t,value:r,domain:i,ttlDays:a}=e.spec;n.set(t,r||"",{domain:i||"",expires:a||10,...o})})})(r),(n=>{const r=n.filter(e=>"url"===e.type);return Promise.all(r.map(n=>e(n.spec).then(()=>{t.info((e=>"URL destination succeeded: "+e.spec.url)(n))}).catch(()=>{}))).then(fe)})(r))},Wr=({processDestinations:e})=>({response:t})=>(({response:t})=>{const n=t.getPayloadsByType("activation:push");return e(n)})({response:t}).then(()=>(({response:e})=>({destinations:e.getPayloadsByType("activation:pull")}))({response:t}));const Yr=({logger:e,fireReferrerHideableImage:t})=>{const n=a.withConverter({write:e=>encodeURIComponent(e)}),r=p({logger:e,cookieJar:n}),o=Kr({fireReferrerHideableImage:t,logger:e,cookieJar:r,isPageSsl:"https:"===window.location.protocol});return{lifecycle:{onResponse:Wr({processDestinations:o})},commands:{}}};Yr.namespace="Audiences";const $r=({standard:e,version:t})=>e+"."+t;var Zr=({storage:e})=>({clear(){e.clear()},lookup(t){const n={},r=e=>{const t=$r(e),{standard:r,version:o,...i}=e;var a;return n[t]||(n[t]=(a=i,H(JSON.stringify(ke(a)))).toString()),n[t]};return{isNew:()=>t.some(t=>{const n=$r(t),o=e.getItem(n);return null===o||o!==r(t)}),save(){t.forEach(t=>{const n=$r(t);e.setItem(n,r(t))})}}}}),eo=()=>{const e={};return{...vn({content:e,addIdentity:(t,n)=>{e.identityMap=e.identityMap||{},e.identityMap[t]=e.identityMap[t]||[],e.identityMap[t].push(n)},hasIdentity:t=>void 0!==(e.identityMap&&e.identityMap[t])}),setConsent:t=>{e.consent=t}}},to=({payload:e,datastreamIdOverride:t})=>hn({payload:e,datastreamIdOverride:t,getAction:()=>"privacy/set-consent",getUseSendBeacon:()=>!1}),no=e=>e.split(";").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=r,e},{}),ro=Rt({consent:Et(bt()).required().nonEmpty(),identityMap:Nt,edgeConfigOverrides:Mt}).noUnknownFields().required(),oo=Rt({defaultConsent:Ot(Ht,zt,Jt).default(Ht)});const io=({config:e,consent:n,sendEdgeNetworkRequest:r,createNamespacedStorage:o})=>{const{orgId:i,defaultConsent:s}=e,c=(({parseConsentCookie:e,orgId:t,cookieJar:n})=>{const r=K(t,"consent");return{read(){const t=n.get(r);return t?e(t):{}},clear(){n.remove(r)}}})({parseConsentCookie:no,orgId:i,cookieJar:a}),d=(()=>{let e=0,t=Promise.resolve();return{addTask(n){e+=1;const r=()=>n().finally(()=>{e-=1});return t=t.then(r,r),t},get length(){return e}}})(),l=(({createConsentRequestPayload:e,createConsentRequest:n,sendEdgeNetworkRequest:r,edgeConfigOverrides:o})=>({consentOptions:i,identityMap:a,edgeConfigOverrides:s})=>{const c=bn({payload:e(),globalConfigOverrides:o,localConfigOverrides:s});c.payload.setConsent(i),t(a)&&Object.keys(a).forEach(e=>{a[e].forEach(t=>{c.payload.addIdentity(e,t)})});const d=n(c);return r({request:d}).then(()=>{})})({createConsentRequestPayload:eo,createConsentRequest:to,sendEdgeNetworkRequest:r,edgeConfigOverrides:e.edgeConfigOverrides}),u=o(Q(i)+".consentHashes."),p=Zr({storage:u.persistent}),g=se({orgId:i});return(({storedConsent:e,taskQueue:t,defaultConsent:n,consent:r,sendSetConsentRequest:o,validateSetConsentOptions:i,consentHashStore:a,doesIdentityCookieExist:s})=>{const c={[Kt]:n};let d=e.read();const l=s(),u=void 0!==d[Kt];l&&u||a.clear(),l||(e.clear(),d={}),r.initializeConsent(c,d);const p=()=>{if(0===t.length){const t=e.read();void 0!==t[Kt]&&r.setConsent(t)}};return{commands:{setConsent:{optionsValidator:i,run:({consent:e,identityMap:n,edgeConfigOverrides:i})=>{r.suspend();const s=a.lookup(e);return t.addTask(()=>s.isNew()?o({consentOptions:e,identityMap:n,edgeConfigOverrides:i}):Promise.resolve()).then(()=>s.save()).finally(p)}}},lifecycle:{onResponse:p,onRequestFailure:p}}})({storedConsent:c,taskQueue:d,defaultConsent:s,consent:n,sendSetConsentRequest:l,validateSetConsentOptions:ro,consentHashStore:p,doesIdentityCookieExist:g})};io.namespace="Consent",io.configValidators=oo;var ao=()=>({eventMergeId:qe()});const so=()=>(({createEventMergeId:e})=>({commands:{createEventMergeId:{run:e}}}))({createEventMergeId:ao});so.namespace="EventMerge";var co={PAUSE:"media.pauseStart",PLAY:"media.play",BUFFER_START:"media.bufferStart",AD_START:"media.adStart",Ad_BREAK_START:"media.adBreakStart",SESSION_END:"media.sessionEnd",SESSION_START:"media.sessionStart",SESSION_COMPLETE:"media.sessionComplete",PING:"media.ping",AD_BREAK_COMPLETE:"media.adBreakComplete",AD_COMPLETE:"media.adComplete",AD_SKIP:"media.adSkip",BITRATE_CHANGE:"media.bitrateChange",CHAPTER_COMPLETE:"media.chapterComplete",CHAPTER_SKIP:"media.chapterSkip",CHAPTER_START:"media.chapterStart",ERROR:"media.error",STATES_UPDATE:"media.statesUpdate"},lo=({config:e,eventManager:t,consent:n,sendEdgeNetworkRequest:r,setTimestamp:o})=>({createMediaEvent({options:n}){const r=t.createEvent(),{xdm:i}=n;if(o(r),r.setUserXdm(i),i.eventType===co.AD_START){const{advertisingDetails:t}=n.xdm.mediaCollection;r.mergeXdm({mediaCollection:{advertisingDetails:{playerName:t.playerName||e.streamingMedia.playerName}}})}return r},createMediaSession(n){const{playerName:r,channel:o,appVersion:i}=e.streamingMedia,a=t.createEvent(),{sessionDetails:s}=n.xdm.mediaCollection;return a.setUserXdm(n.xdm),a.mergeXdm({eventType:co.SESSION_START,mediaCollection:{sessionDetails:{playerName:s.playerName||r,channel:s.channel||o,appVersion:s.appVersion||i}}}),a},augmentMediaEvent({event:e,playerId:t,getPlayerDetails:n,sessionID:r}){if(!t||!n)return e;const{playhead:o,qoeDataDetails:i}=n({playerId:t});return e.mergeXdm({mediaCollection:{playhead:Re(o),qoeDataDetails:i,sessionID:r}}),e},trackMediaSession({event:e,mediaOptions:n,edgeConfigOverrides:r}){const o={mediaOptions:n,edgeConfigOverrides:r};return t.sendEvent(e,o)},trackMediaEvent({event:e,action:t}){const o=In(),i=(({mediaRequestPayload:e,action:t})=>hn({payload:e,edgeSubPath:"/va",getAction:()=>t,getUseSendBeacon:()=>!1}))({mediaRequestPayload:o,action:t});return o.addEvent(e),e.finalize(),n.awaitConsent().then(()=>r({request:i}).then(()=>({})))}}),uo="main",po="completed",go=()=>{let e;return{getSession:t=>e[t]||{},storeSession:({playerId:t,sessionDetails:n})=>{void 0===e&&(e={}),e[t]=n},stopPing:({playerId:t})=>{const n=e[t];n&&(clearTimeout(n.pingId),n.pingId=null,n.playbackState=po)},savePing:({playerId:t,pingId:n,playbackState:r})=>{e[t]&&(e[t].pingId&&clearTimeout(e[t].pingId),e[t].pingId=n,e[t].playbackState=r)}}};var mo=({mediaEventManager:e,mediaSessionCacheManager:t,config:n})=>{const r=o=>{const i=e.createMediaEvent({options:o}),{playerId:a,xdm:s}=o,{eventType:c}=s,d=c.split(".")[1],{getPlayerDetails:l,sessionPromise:u,playbackState:p}=t.getSession(a);return u.then(o=>o.sessionId?(e.augmentMediaEvent({event:i,eventType:c,playerId:a,getPlayerDetails:l,sessionID:o.sessionId}),e.trackMediaEvent({event:i,action:d}).then(()=>{if(a)if(c===co.SESSION_COMPLETE||c===co.SESSION_END)t.stopPing({playerId:a});else{const e=((e,t)=>e===co.AD_START||e===co.Ad_BREAK_START||e===co.AD_SKIP||e===co.AD_COMPLETE?"ad":e===co.AD_BREAK_COMPLETE||e===co.CHAPTER_COMPLETE||e===co.CHAPTER_START||e===co.CHAPTER_SKIP||e===co.SESSION_START?"main":e===co.SESSION_END||e===co.SESSION_COMPLETE?"completed":t)(c,p);if("completed"===e)return;const o="ad"===e?n.streamingMedia.adPingInterval:n.streamingMedia.mainPingInterval,i=setTimeout(()=>{r({playerId:a,xdm:{eventType:co.PING}})},1e3*o);t.savePing({playerId:a,pingId:i,playbackState:e})}})):Promise.reject(new Error("Failed to trigger media event: "+c+". Session ID is not available for playerId: "+a+".")))};return e=>r(e)},fo=({config:e,mediaEventManager:t,mediaSessionCacheManager:n,legacy:r=!1})=>o=>{if(!e.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));const{playerId:i,getPlayerDetails:a,edgeConfigOverrides:s}=o,c=t.createMediaSession(o);t.augmentMediaEvent({event:c,playerId:i,getPlayerDetails:a});const d=t.trackMediaSession({event:c,mediaOptions:{playerId:i,getPlayerDetails:a,legacy:r},edgeConfigOverrides:s});return n.storeSession({playerId:i,sessionDetails:{sessionPromise:d,getPlayerDetails:a,playbackState:uo}}),d},ho=e=>!ge(e)||!e.trim(),yo=({mediaSessionCacheManager:e,config:t,trackMediaEvent:n})=>({response:r,playerId:o,getPlayerDetails:i})=>{const a=r.getPayloadsByType("media-analytics:new-session");if(E(a)){const{sessionId:r}=a[0];if(ho(r))return{};if(!o||!i)return{sessionId:r};const s=setTimeout(()=>{n({playerId:o,xdm:{eventType:co.PING}})},1e3*t.streamingMedia.mainPingInterval);return e.savePing({playerId:o,pingId:s,playbackState:uo}),{sessionId:r}}return{}};const vo={Video:"video",Audio:"audio"},wo={VOD:"vod",Live:"live",Linear:"linear",Podcast:"podcast",Audiobook:"audiobook",AOD:"aod"},Io={FullScreen:"fullScreen",ClosedCaption:"closedCaptioning",Mute:"mute",PictureInPicture:"pictureInPicture",InFocus:"inFocus"},bo={AdBreakStart:"adBreakStart",AdBreakComplete:"adBreakComplete",AdStart:"adStart",AdComplete:"adComplete",AdSkip:"adSkip",ChapterStart:"chapterStart",ChapterComplete:"chapterComplete",ChapterSkip:"chapterSkip",SeekStart:"seekStart",SeekComplete:"seekComplete",BufferStart:"bufferStart",BufferComplete:"bufferComplete",BitrateChange:"bitrateChange",StateStart:"stateStart",StateEnd:"stateEnd"},Eo="sessionStart",Co="sessionEnd",ko="sessionComplete",So="play",Po="pauseStart",Do="error",Ro="statesUpdate",To={MediaResumed:"media.resumed",GranularAdTracking:"media.granularadtracking"},Oo={Show:"a.media.show",Season:"a.media.season",Episode:"a.media.episode",AssetId:"a.media.asset",Genre:"a.media.genre",FirstAirDate:"a.media.airDate",FirstDigitalDate:"a.media.digitalDate",Rating:"a.media.rating",Originator:"a.media.originator",Network:"a.media.network",ShowType:"a.media.type",AdLoad:"a.media.adLoad",MVPD:"a.media.pass.mvpd",Authorized:"a.media.pass.auth",DayPart:"a.media.dayPart",Feed:"a.media.feed",StreamFormat:"a.media.format"},No={Artist:"a.media.artist",Album:"a.media.album",Label:"a.media.label",Author:"a.media.author",Station:"a.media.station",Publisher:"a.media.publisher"},Mo={Advertiser:"a.media.ad.advertiser",CampaignId:"a.media.ad.campaign",CreativeId:"a.media.ad.creative",PlacementId:"a.media.ad.placement",SiteId:"a.media.ad.site",CreativeUrl:"a.media.ad.creativeURL"};var Ao=({logger:e})=>({createMediaObject:(t,n,r,o,i)=>{const a={friendlyName:t,name:n,length:r,streamType:i,contentType:o},s=Rt({friendlyName:Tt().nonEmpty(),name:Tt().nonEmpty(),length:Pt().required(),streamType:Tt().nonEmpty(),contentType:Tt().nonEmpty()});try{const e=s(a);return{sessionDetails:{name:e.name,friendlyName:e.friendlyName,length:Math.round(e.length),streamType:e.streamType,contentType:e.contentType}}}catch(t){return e.warn("An error occurred while creating the Media Object.",t),{}}},createAdBreakObject:(t,n,r)=>{const o={friendlyName:t,offset:n,index:r},i=Rt({friendlyName:Tt().nonEmpty(),offset:Pt(),index:Pt()});try{const e=i(o);return{advertisingPodDetails:{friendlyName:e.friendlyName,offset:e.offset,index:e.index}}}catch(t){return e.warn("An error occurred while creating the Ad Break Object.",t),{}}},createAdObject:(t,n,r,o)=>{const i={friendlyName:t,name:n,podPosition:r,length:o},a=Rt({friendlyName:Tt().nonEmpty(),name:Tt().nonEmpty(),podPosition:Pt(),length:Pt()});try{const e=a(i);return{advertisingDetails:{friendlyName:e.friendlyName,name:e.name,podPosition:e.podPosition,length:e.length}}}catch(t){return e.warn("An error occurred while creating the Advertising Object.",t),{}}},createChapterObject:(t,n,r,o)=>{const i={friendlyName:t,offset:n,length:r,index:o},a=Rt({friendlyName:Tt().nonEmpty(),offset:Pt(),length:Pt(),index:Pt()});try{const e=a(i);return{chapterDetails:{friendlyName:e.friendlyName,offset:e.offset,index:e.index,length:e.length}}}catch(t){return e.warn("An error occurred while creating the Chapter Object.",t),{}}},createStateObject:t=>{const n=Tt().matches(/^[a-zA-Z0-9_]{1,64}$/,"This is not a valid state name.");try{return{name:n(t)}}catch(t){return e.warn("An error occurred while creating the State Object.",t),{}}},createQoEObject:(t,n,r,o)=>{const i={bitrate:t,droppedFrames:n,fps:r,startupTime:o},a=Rt({bitrate:Pt(),droppedFrames:Pt(),fps:Pt(),startupTime:Pt()});try{const e=a(i);return{bitrate:e.bitrate,droppedFrames:e.droppedFrames,framesPerSecond:e.fps,timeToStart:e.startupTime}}catch(t){return e.warn("An error occurred while creating the QOE Object.",t),{}}}});const xo={"a.media.show":"show","a.media.season":"season","a.media.episode":"episode","a.media.asset":"assetID","a.media.genre":"genre","a.media.airDate":"firstAirDate","a.media.digitalDate":"firstDigitalDate","a.media.rating":"rating","a.media.originator":"originator","a.media.network":"network","a.media.type":"showType","a.media.adLoad":"adLoad","a.media.pass.mvpd":"mvpd","a.media.pass.auth":"authorized","a.media.dayPart":"dayPart","a.media.feed":"feed","a.media.format":"streamFormat","a.media.artist":"artist","a.media.album":"album","a.media.label":"label","a.media.author":"author","a.media.station":"station","a.media.publisher":"publisher","media.resumed":"hasResume"},qo={"a.media.ad.advertiser":"advertiser","a.media.ad.campaign":"campaignID","a.media.ad.creative":"creativeID","a.media.ad.placement":"placementID","a.media.ad.site":"siteID","a.media.ad.creativeURL":"creativeURL"};var Lo=({logger:t,trackMediaSession:n,trackMediaEvent:r,uuid:o})=>{let i=null;const a=({eventType:e,mediaDetails:t={},contextData:n=[]})=>{const r=(({eventType:e})=>e===bo.BufferComplete||e===bo.SeekComplete?So:e===bo.StateStart||e===bo.StateEnd?Ro:e===bo.SeekStart?Po:e)({eventType:e});if(e===bo.StateStart){return{eventType:"media."+r,mediaCollection:{statesStart:[t]}}}if(e===bo.StateEnd){return{eventType:"media."+r,mediaCollection:{statesEnd:[t]}}}const o={eventType:"media."+r,mediaCollection:{...t}},i=[];return Object.keys(n).forEach(e=>{xo[e]?o.mediaCollection.sessionDetails[xo[e]]=n[e]:qo[e]?o.mediaCollection.advertisingDetails[qo[e]]=n[e]:i.push({name:e,value:n[e]})}),E(i)&&(o.mediaCollection.customMetadata=i),o};return{trackSessionStart:(r,s={})=>{if(e(r)||F(r))return t.warn("Invalid media object"),{};null===i&&(t.warn("The Media Session was completed. Restarting a new session."),i={qoe:null,lastPlayhead:0,playerId:o()});const c=a({eventType:Eo,mediaDetails:r,contextData:s});return n({playerId:i.playerId,getPlayerDetails:()=>({playhead:i.lastPlayhead,qoeDataDetails:i.qoe}),xdm:c})},trackPlay:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:So});return r({playerId:i.playerId,xdm:e})},trackPause:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Po});return r({playerId:i.playerId,xdm:e})},trackSessionEnd:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Co});return r({playerId:i.playerId,xdm:e})},trackComplete:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:ko});return r({playerId:i.playerId,xdm:e})},trackError:e=>{if(t.warn("trackError("+e+")"),null===i)return t.warn("The Media Session was completed."),{};const n=a({eventType:Do,mediaDetails:{errorDetails:{name:e,source:"player"}}});return r({playerId:i.playerId,xdm:n})},trackEvent:(e,n,o)=>{if(F(n))return t.warn("Invalid media object."),{};if(null===i)return t.warn("The Media Session was completed."),{};if(!Object.values(bo).includes(e))return t.warn("Invalid event type"),{};const s=a({eventType:e,mediaDetails:n,contextData:o});return r({playerId:i.playerId,xdm:s})},updatePlayhead:e=>{null!==i?ue(e)&&(i.lastPlayhead=parseInt(e,10)):t.warn("The Media Session was completed.")},updateQoEObject:e=>{null!==i?e&&(i.qoe=e):t.warn("The Media Session was completed.")},destroy:()=>{t.warn("Destroy called, destroying the tracker."),i=null}}};const Uo=({eventManager:e,sendEdgeNetworkRequest:t,config:n,logger:r,consent:o})=>{const i=go(),a=lo({sendEdgeNetworkRequest:t,config:n,consent:o,eventManager:e,setTimestamp:xn(()=>new Date)}),s=mo({mediaSessionCacheManager:i,mediaEventManager:a,config:n}),c=fo({config:n,mediaEventManager:a,mediaSessionCacheManager:i,legacy:!0});return(({trackMediaEvent:e,trackMediaSession:t,mediaResponseHandler:n,logger:r,createMediaHelper:o,createGetInstance:i,config:a})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=fe}){if(!e)return;const{legacy:r,playerId:o,getPlayerDetails:i}=e;r&&t(({response:e})=>n({playerId:o,getPlayerDetails:i,response:e}))}},commands:{getMediaAnalyticsTracker:{run:()=>{if(!a.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));r.info("Streaming media is configured in legacy mode.");const n=o({logger:r});return Promise.resolve({getInstance:()=>i({logger:r,trackMediaEvent:e,trackMediaSession:t,uuid:qe}),Event:bo,MediaType:vo,PlayerState:Io,StreamType:wo,MediaObjectKey:To,VideoMetadataKeys:Oo,AudioMetadataKeys:No,AdMetadataKeys:Mo,...n})}}}}))({mediaResponseHandler:yo({mediaSessionCacheManager:i,config:n,trackMediaEvent:s}),trackMediaSession:c,trackMediaEvent:s,createMediaHelper:Ao,createGetInstance:Lo,logger:r,config:n})};Uo.namespace="Legacy Media Analytics";const _o="https://ns.adobe.com/personalization/default-content-item",jo="https://ns.adobe.com/personalization/dom-action",Bo="https://ns.adobe.com/personalization/html-content-item",Fo="https://ns.adobe.com/personalization/json-content-item",Vo="https://ns.adobe.com/personalization/ruleset-item",Ho="https://ns.adobe.com/personalization/redirect-item",zo="https://ns.adobe.com/personalization/message/in-app",Jo="web",Xo="webapp",Go="://",Qo=/^(\w+):\/\/([^/#]+)(\/[^#]*)?(#.*)?$/,Ko=/^(?:.*@)?(?:[a-z\d\u00a1-\uffff.-]+|\[[a-f\d:]+])(?::\d+)?$/,Wo=/^\/(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})*$/,Yo=/^#(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})+$/,$o=(e="/")=>{let t=e.length;for(;t>0&&-1!=="/".indexOf(e.charAt(t-1));)t-=1;return e.substring(0,t)||"/"},Zo=e=>""+e.surfaceType+Go+e.authority+(e.path||"")+(e.fragment||""),ei=e=>{const t=e(),n=t.host.toLowerCase(),r=t.pathname;return Jo+Go+n+$o(r)},ti=(e,t,n)=>{const r=e=>(n.warn(e),null);if(!me(e))return r("Invalid surface: "+e);const o=((e,t)=>e.startsWith("#")?ei(t)+e:e)(e,t),i=(e=>{const t=e.match(Qo);return t?{surfaceType:(o=t[1],me(o)?o.toLowerCase():""),authority:(r=t[2],me(r)?r.toLowerCase():""),path:(n=t[3],me(n)?$o(n):"/"),fragment:t[4]}:null;var n,r,o})(o);return null===i?r("Invalid surface: "+e):[Jo,Xo].includes(i.surfaceType)?i.authority&&Ko.test(i.authority)?i.path&&!Wo.test(i.path)?r("Invalid path "+i.path+" in surface: "+e):i.fragment&&!Yo.test(i.fragment)?r("Invalid fragment "+i.fragment+" in surface: "+e):i:r("Invalid authority "+i.authority+" in surface: "+e):r("Unsupported surface type "+i.surfaceType+" in surface: "+e)},ni=e=>!!e&&0===e.indexOf(Jo+Go)&&-1===e.indexOf("#"),ri=e=>e.filter((t,n)=>e.indexOf(t)===n);var oi=({getPageLocation:t,renderDecisions:n,decisionScopes:r,personalization:o,event:i,isCacheInitialized:a,logger:s})=>{const c=i.getViewName();return{isRenderDecisions:()=>n,isSendDisplayEvent:()=>!!o.sendDisplayEvent,shouldIncludeRenderedPropositions:()=>!!o.includeRenderedPropositions,getViewName:()=>c,hasScopes:()=>r.length>0||E(o.decisionScopes),hasSurfaces:()=>E(o.surfaces),hasViewName:()=>me(c),createQueryDetails(){const n=[...r];E(o.decisionScopes)&&n.push(...o.decisionScopes);const i=((t=[],n,r)=>t.map(e=>ti(e,n,r)).filter(t=>!e(t)).map(Zo))(o.surfaces,t,s);this.shouldRequestDefaultPersonalization()&&((e=>{e.includes(mn)||e.push(mn)})(n),((e,t)=>{const n=ei(t);e.includes(n)||e.push(n)})(i,t));const a=[_o,Bo,Fo,Ho,Vo,zo,"https://ns.adobe.com/personalization/message/content-card"];return n.includes(mn)&&a.push(jo),{schemas:a,decisionScopes:ri(n),surfaces:ri(i)}},isCacheInitialized:()=>a,shouldFetchData(){return this.hasScopes()||this.hasSurfaces()||this.shouldRequestDefaultPersonalization()},shouldUseCachedData(){return this.hasViewName()&&!this.shouldFetchData()},shouldRequestDefaultPersonalization(){return o.defaultPersonalizationEnabled||!this.isCacheInitialized()&&!1!==o.defaultPersonalizationEnabled}}};const ii="decisioning.propositionDisplay",ai="decisioning.propositionInteract",si="decisioning.propositionTrigger",ci="decisioning.propositionDismiss",di="decisioning.propositionSuppressDisplay",li={DISPLAY:"display",INTERACT:"interact",TRIGGER:"trigger",DISMISS:"dismiss",SUPPRESS:"suppressDisplay"},ui={[ii]:li.DISPLAY,[ai]:li.INTERACT,[si]:li.TRIGGER,[ci]:li.DISMISS,[di]:li.SUPPRESS},pi={[li.DISPLAY]:ii,[li.INTERACT]:ai,[li.TRIGGER]:si,[li.DISMISS]:ci,[li.SUPPRESS]:di},gi=e=>ui[e],mi=e=>pi[e],fi={propositions:[]};var hi=({getPageLocation:e,logger:t,fetchDataHandler:n,viewChangeHandler:r,onClickHandler:o,isAuthoringModeEnabled:i,mergeQuery:a,viewCache:s,showContainers:c,applyPropositions:d,setTargetMigration:l,mergeDecisionsMeta:u,renderedPropositions:p,onDecisionHandler:g,handleConsentFlicker:m})=>({lifecycle:{onComponentsRegistered(){m()},onDecision:g,onBeforeRequest:({request:e})=>(l(e),Promise.resolve()),onBeforeEvent({event:o,renderDecisions:d,decisionScopes:l=[],personalization:g={},onResponse:m=fe,onRequestFailure:f=fe}){if(m(()=>({propositions:[]})),f(()=>c()),i())return t.warn("Rendering is disabled for authoring mode."),a(o,{enabled:!1}),Promise.resolve();const h=oi({getPageLocation:e,renderDecisions:d,decisionScopes:l,personalization:g,event:o,isCacheInitialized:s.isInitialized(),logger:t}),y=[];if(h.shouldIncludeRenderedPropositions()&&y.push(p.clear()),h.shouldFetchData()){const e=s.createCacheUpdate(h.getViewName());f(()=>e.cancel());const t=o.getUserIdentityMap();n({cacheUpdate:e,personalizationDetails:h,event:o,onResponse:m,identityMap:t})}else h.shouldUseCachedData()&&y.push(r({personalizationDetails:h,event:o,onResponse:m,onRequestFailure:f}));return Promise.all(y).then(e=>{const t=e.flatMap(e=>e);E(t)&&u(o,t,[li.DISPLAY])})},onClick({event:e,clickedElement:t}){o({event:e,clickedElement:t})}},commands:{applyPropositions:{optionsValidator:e=>(({logger:e,options:t})=>{const n=Rt({propositions:Et(Rt({id:Tt().required(),scope:Tt().required(),scopeDetails:Rt({decisionProvider:Tt().required()}).required(),items:Et(Rt({id:Tt().required(),schema:Tt().required(),data:Rt(bt())})).nonEmpty().required()}).required()).nonEmpty().required(),metadata:Rt(bt()),viewName:Tt()}).required();try{return n(t)}catch(t){return e.warn("Invalid options for applyPropositions. No propositions will be applied.",t),fi}})({logger:t,options:e}),run:d}}}),yi=(e="undefined")=>h("DIV",{},{innerHTML:e});const vi=/:eq\((\d+)\)/g,wi=e=>-1===e.indexOf(":eq("),Ii=/(#|\.)(-?\w+)/g,bi=(e,t,n)=>""+t+CSS.escape(n),Ei=e=>{const t=[],n=(e=>e.split(vi).filter(me))((e=>e.replace(Ii,bi))(e.trim())),{length:r}=n;let o=0;for(;o<r;){const e=n[o],r=n[o+1];r?t.push({sel:e,eq:Number(r)}):t.push({sel:e}),o+=2}return t},Ci=e=>{const t=document;if(wi(e))return T(e,t);const n=Ei(e),{length:r}=n;let o=[],i=t,a=0;for(;a<r;){const{sel:e,eq:t}=n[a],s=T(e,i),{length:c}=s;if(0===c)break;if(null!=t&&t>c-1)break;a<r-1&&(null==t?[i]=s:i=s[t]),a===r-1&&(o=null==t?s:[s[t]]),a+=1}return o};var ki=(e,t=document)=>t.getElementById(e),Si=(e,t,n)=>{e.setAttribute(t,n)},Pi=(e,t)=>e.getAttribute(t),Di=(e,t,n,r)=>{let o;o=r?t+":"+n+" !"+r+";":t+":"+n+";",e.style.cssText+=";"+o},Ri=e=>e.parentNode,Ti=(e,t)=>{if(!e)return;const n=Ri(e);n&&n.insertBefore(t,(e=>e.nextElementSibling)(e))},Oi=(e,t)=>{if(!e)return;const n=Ri(e);n&&n.insertBefore(t,e)},Ni=e=>{const{childNodes:t}=e;return t?C(t):[]},Mi=e=>e.firstElementChild;let Ai;var xi=(e=document)=>{if(void 0===Ai){const t=e.querySelector("[nonce]");Ai=t&&(t.nonce||t.getAttribute("nonce"))}return Ai};const qi="src",Li=e=>h(y,{src:e}),Ui=e=>{T(y,e).forEach(e=>{const t=Pi(e,qi);t&&Li(t)})},_i=e=>((e,t)=>e.tagName===t)(e,v)&&!Pi(e,qi);var ji=e=>{const t=T(v,e),{length:n}=t,r=xi();if(r)for(let e=0;e<n;e+=1){const n=t[e];_i(n)&&(n.nonce=r)}};const Bi=e=>{const t=document.createElement("script");t.src=e,t.async=!0;const n=((e,t)=>new Promise((n,r)=>{t.onload=()=>{n(t)},t.onerror=()=>{r(new Error("Failed to load script: "+e))}}))(e,t);return document.head.appendChild(t),n},Fi=(e,t)=>!!e&&e.tagName===t,Vi=e=>Fi(e,w)&&!Pi(e,qi),Hi=e=>Fi(e,w)&&Pi(e,qi),zi=e=>{const t=T(w,e),n=[],{length:r}=t,o=xi(),i={...o&&{nonce:o}};for(let e=0;e<r;e+=1){const r=t[e];if(!Vi(r))continue;const{textContent:o}=r;o&&n.push(h(w,i,{textContent:o}))}return n},Ji=e=>{const t=T(w,e),n=[],{length:r}=t;for(let e=0;e<r;e+=1){const r=t[e];if(!Hi(r))continue;const o=Pi(r,qi);o&&n.push(o)}return n},Xi=(e,t)=>{t.forEach(t=>{e.appendChild(t),e.removeChild(t)})},Gi=e=>Promise.all(e.map(Bi));var Qi=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r);return Ui(r),o.forEach(t=>{f(e,t)}),n(e),Xi(e,i),Gi(a)};var Ki=(e,t,n)=>((e=>{Ni(e).forEach(_)})(e),Qi(e,t,n)),Wi=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r),{length:s}=o;let c=s-1;for(Ui(r);c>=0;){const t=o[c];n(t);const r=Mi(e);r?Oi(r,t):f(e,t),c-=1}return Xi(e,i),Gi(a)};const Yi="alloy-prehiding",$i={},Zi=e=>{if($i[e])return;const t=xi(),n={...t&&{nonce:t}},r=h(v,n,{textContent:e+" { visibility: hidden }"});f(document.head,r),$i[e]=r},ea=e=>{const t=$i[e];t&&(_(t),delete $i[e])};var ta=(e,t,n)=>{n(e),e.textContent=t},na=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r);return Ui(r),o.forEach(t=>{n(t),Oi(e,t)}),Xi(e,i),Gi(a)},ra=(e,t,n)=>na(e,t,n).then(()=>{_(e)}),oa=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r);Ui(r);let s=e;return o.forEach(e=>{n(e),Ti(s,e),s=e}),Xi(e,i),Gi(a)},ia=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{Di(e,t,o[t],r)}),n(e)},aa=(e,t,n)=>{Object.keys(t).forEach(n=>{Si(e,n,t[n])}),n(e)},sa=(e,t,n)=>{e.tagName===y&&(Li(t),n(e),((e,t)=>{e.removeAttribute(t)})(e,qi),Si(e,qi,t))},ca=(e,{from:t,to:n},r)=>{const o=(e=>{const{children:t}=e;return t?C(t):[]})(e),i=o[t],a=o[n];i&&a&&(t<n?Ti(a,i):Oi(a,i),r(a),r(i))};const da=(e,t=!1)=>async(n,r,o)=>{const{selector:i,prehidingSelector:a,content:s}=n;Zi(a);try{(({containers:e,content:t,decorateProposition:n,renderFunc:r,renderStatusHandler:o,alwaysRender:i})=>{const a=e.filter(e=>i||o.shouldRender(e)).map(async e=>{await r(e,t,n),o.markAsRendered(e)});Promise.all(a)})({containers:await x(i,Ci),content:s,decorateProposition:r,renderFunc:e,renderStatusHandler:o,alwaysRender:t})}finally{ea(a)}},la=e=>(""+e).endsWith("px")?e:e+"px";var ua=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"left"!==t&&"top"!==t||(n=la(n)),Di(e,t,n,r)}),n(e)},pa=(e,t,n)=>{n(e)},ga=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"width"!==t&&"height"!==t||(n=la(n)),Di(e,t,n,r)}),n(e)};const ma="setHtml",fa="customCode",ha="setText",ya="setAttribute",va="setImageSource",wa="setStyle",Ia="move",ba="resize",Ea="rearrange",Ca="remove",ka="insertAfter",Sa="insertBefore",Pa="replaceHtml",Da="prependHtml",Ra="appendHtml",Ta="click",Oa="collectInteractions";var Na=({eventManager:e,mergeDecisionsMeta:t})=>({decisionsMeta:n=[],propositionAction:r,documentMayUnload:o=!1,eventType:i=ii,propositionEventTypes:a=[gi(i)],viewName:s,identityMap:c})=>{const d=e.createEvent(),l={eventType:i,identityMap:c};return s&&(l.web={webPageDetails:{viewName:s}}),E(n)&&t(d,n,a,r),d.mergeXdm(l),o&&d.documentMayUnload(),e.sendEvent(d)};var Ma=(e,t)=>{if(wi(e))return((e,t)=>t.matches?t.matches(e):t.msMatchesSelector(e))(e,t);const n=Ci(e);let r=!1;for(let e=0;e<n.length;e+=1)if(n[e]===t){r=!0;break}return r};const Aa="view",xa=e=>e.map(e=>{const{trackingLabel:t,scopeType:n,...r}=e;return r}),qa=(e,t,n)=>{const{documentElement:r}=document;let o=e,i=0;for(;o&&o!==r;){if(Ma(t,o)){const e=n(t),r={metas:e},o=e.find(e=>e.trackingLabel);o&&(r.label=o.trackingLabel,r.weight=i);const a=e.find(e=>e.scopeType===Aa);return a&&(r.viewName=a.scope,r.weight=i),r}o=o.parentNode,i+=1}return{metas:null}};var La=(e,t,n)=>{const r=[];let o,i="",a=Number.MAX_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER;for(let c=0;c<t.length;c+=1){const{metas:d,label:l,weight:u,viewName:p}=qa(e,t[c],n);d&&(l&&u<=a&&(i=l,a=u),p&&u<=s&&(o=p,s=u),r.push(...xa(d)))}return{decisionsMeta:(c=r,c.filter((e,t)=>{const n=JSON.stringify(e);return t===c.findIndex(e=>JSON.stringify(e)===n)})),propositionActionLabel:i,propositionActionToken:void 0,viewName:o};var c},Ua=(e=document)=>-1!==e.location.href.indexOf("adobe_authoring_enabled");const _a=(e,t,n,r)=>{if(0===t.length)return;const o={};n.forEach(e=>{o[e]=1});const i={_experience:{decisioning:{propositions:t,propositionEventType:o}}};r&&(i._experience.decisioning.propositionAction=r),e.mergeXdm(i)},ja=(e,t)=>{e.mergeQuery({personalization:{...t}})};var Ba=()=>{const e={};return{storeClickMeta:({selector:t,meta:{id:n,scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}})=>{e[t]||(e[t]={}),e[t][n]={scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}},getClickSelectors:()=>Object.keys(e),getClickMetas:t=>e[t]?(e=>Object.keys(e).map(t=>({id:t,...e[t]})))(e[t]):{}}};const Fa=(e,t)=>e===Fo&&t===Oa,Va={[jo]:()=>!0,[Bo]:()=>!0,[Fo]:Fa,[zo]:()=>!0,[_o]:()=>!0};var Ha=({processPropositions:e,createProposition:t,renderedPropositions:n,viewCache:r})=>{const o=({items:e,metadataForScope:t={}})=>{const{actionType:n,selector:r}=t;return e.filter(e=>((e,t)=>"function"==typeof Va[e]&&Va[e](e,t))(e.schema,n)).map(e=>{const{schema:o}=e;return o===Bo||Fa(o,n)?F(t)?void 0:{...e,schema:Fa(o,n)?jo:o,data:{...e.data,selector:r,type:n}}:{...e}}).filter(e=>e)},i=e=>!(e.scope===mn&&e.renderAttempted);return({propositions:a=[],metadata:s={},viewName:c})=>{const d=g();n.concat(d.promise);const l=(({propositions:e,metadata:t})=>e.filter(i).map(e=>{if(E(e.items)){const{id:n,scope:r,scopeDetails:i}=e;return{id:n,scope:r,scopeDetails:i,items:o({items:e.items,metadataForScope:t[e.scope]})}}return e}).filter(e=>E(e.items)))({propositions:a,metadata:s}).map(e=>t(e));return Promise.resolve().then(()=>c?r.getView(c):[]).then(t=>{const{render:n,returnedPropositions:r}=e([...l,...t]);return n().then(d.resolve),{propositions:r}})}};var za=e=>{const{selector:t,type:n}=e;return n!==fa||"BODY > *:eq(0)"!==t?e:{...e,selector:"BODY"}};var Ja=e=>{const t={...e},{content:n,selector:r}=t;if(t.type===fa)return t;if(ho(n))return t;if(null==r)return t;const o=Ci(r);return Fi(o[0],"HEAD")?(t.type=Ra,t.content=(e=>{const t=yi(e);return T("SCRIPT,LINK,STYLE",t).map(e=>e.outerHTML).join("")})(n),t):t},Xa=({preprocess:e,isPageWideSurface:t})=>(n,r=!0,o=!1,i=void 0)=>{const{id:a,scope:s,scopeDetails:c,items:d=[]}=n,{characteristics:{scopeType:l}={}}=c||{};return{getScope:()=>s,getScopeType:()=>s===mn||t(s)?"page":l===Aa?Aa:"proposition",getItems(){return d.map(t=>((t,n)=>{const{id:r,schema:o,data:i,characteristics:{trackingLabel:a}={}}=t,s=i?i.type:void 0,c=e(i);return{getId:()=>r,getSchema:()=>o,getSchemaType:()=>s,getData:()=>c,getProposition:()=>n,getTrackingLabel:()=>a,getOriginalItem:()=>t,toString:()=>JSON.stringify(t),toJSON:()=>t}})(t,this))},getNotification:()=>({id:a,scope:s,scopeDetails:c}),getId:()=>a,getIdentityMap:()=>i,toJSON:()=>n,shouldSuppressDisplay:()=>o,addToReturnValues(e,t,o,i){r&&(e.push({...n,items:o.map(e=>e.getOriginalItem()),renderAttempted:i}),i||t.push({...n,items:o.map(e=>e.getOriginalItem())}))}}},Ga=()=>({render:fe,setRenderAttempted:!0,includeInNotification:!0});const Qa="always",Ka="never",Wa="decoratedElementsOnly",Ya=[Qa,Ka,Wa],$a="data-aep-interact-id",Za="data-aep-click-label";let es=0;const ts=(e,t,n,r,o,i,a,s)=>{const{scopeDetails:c={}}=a,{decisionProvider:d}=c;return((e,t)=>!!e&&!!e[t]&&[Qa,Wa].includes(e[t]))(e,d)||t===Ta?e=>{if(!e.tagName)return;const t=(c=Pi(e,$a))?parseInt(c,10):++es;var c;s(n,r,i,a,t),Si(e,$a,t),o&&!Pi(e,Za)&&Si(e,Za,o)}:fe};var ns=(e,t)=>e!==Aa?{shouldRender:()=>!0,markAsRendered:()=>{}}:{shouldRender:e=>{if(!e)return!0;return!(e.dataset.adobePropositionIds??"").split(",").includes(t)},markAsRendered:e=>{const n=(e.dataset.adobePropositionIds??"").split(",");n.includes(t)||n.push(t),e.dataset.adobePropositionIds=n.sort().join(",")}},rs=({modules:e,logger:t,storeInteractionMeta:n,storeClickMeta:r,autoCollectPropositionInteractions:o})=>i=>{const{type:a,selector:s}=i.getData()||{};if(!a)return t.warn("Invalid DOM action data: missing type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};if(a===Ta)return s?(r({selector:s,meta:{...i.getProposition().getNotification(),trackingLabel:i.getTrackingLabel(),scopeType:i.getProposition().getScopeType()}}),{setRenderAttempted:!0,includeInNotification:!1}):(t.warn("Invalid DOM action data: missing selector.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1});if(!e[a])return t.warn("Invalid DOM action data: unknown type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};const c=ns(i.getProposition().getScopeType(),i.getId()),d=ts(o,a,i.getProposition().getId(),i.getId(),i.getTrackingLabel(),i.getProposition().getScopeType(),i.getProposition().getNotification(),n);return{render:()=>e[a](i.getData(),d,c),setRenderAttempted:!0,includeInNotification:!0}},os=({modules:e,logger:t,storeInteractionMeta:n,autoCollectPropositionInteractions:r})=>o=>{const{type:i,selector:a}=o.getData()||{};if(!a||!i)return{setRenderAttempted:!1,includeInNotification:!1};if(!e[i])return t.warn("Invalid HTML content data",o.getData()),{setRenderAttempted:!1,includeInNotification:!1};const s=ts(r,i,o.getProposition().getId(),o.getId(),o.getTrackingLabel(),o.getProposition().getScopeType(),o.getProposition().getNotification(),n),c=ns(o.getProposition().getScopeType(),o.getId());return{render:()=>e[i](o.getData(),s,c),setRenderAttempted:!0,includeInNotification:!0}};const is="BODY";var as=({logger:e,executeRedirect:t,collect:n})=>r=>{const{content:o}=r.getData()||{};if(!o)return e.warn("Invalid Redirect data",r.getData()),{};return{render:()=>(Zi(is),n({decisionsMeta:[r.getProposition().getNotification()],documentMayUnload:!0,identityMap:r.getProposition().getIdentityMap()}).then(()=>(e.logOnContentRendering({status:"rendering-redirect",detail:{propositionDetails:r.getProposition().getNotification(),redirect:o},message:"Redirect action "+r.toString()+" executed.",logLevel:"info"}),t(o))).catch(e=>{throw ea(is),e})),setRenderAttempted:!0,onlyRenderThis:!0}},ss=({schemaProcessors:e,logger:t})=>{const n=(e,n)=>()=>Promise.resolve().then(e).then(()=>(t.enabled&&t.info("Action "+n.toString()+" executed."),n.toJSON())).catch(e=>{const{message:r,stack:o}=e,i="Failed to execute action "+n.toString()+". "+r+" "+o;t.logOnContentRendering({status:"rendering-failed",detail:{propositionDetails:n.getProposition().getNotification(),item:n.toJSON()},error:e,message:i,logLevel:"warn"})}),r=t=>{const n=e[t.getSchema()];return n?n(t):{}},o=({renderers:e,returnedPropositions:t,returnedDecisions:o,items:i,proposition:a})=>{let s,c,d,l,u=[...e],p=[...t],g=[...o],m=[],f=[],h=[],y=!1,v=!1,w=0;for(;i.length>w;){if(l=i[w],({render:s,setRenderAttempted:c,includeInNotification:d,onlyRenderThis:v}=r(l)),v){p=[],g=[],c?(m=[l],f=[]):(m=[],f=[l]),u=[],h=[s],y=d;break}s&&h.push(n(s,l)),d&&(y=!0),c?m.push(l):f.push(l),w+=1}if(h.length>0){const e=y?a.getNotification():void 0;u.push(()=>(async(e,t)=>{const n=(await Promise.allSettled(e.map(e=>e()))).filter(e=>"fulfilled"===e.status).map(e=>e.value);if(t&&E(n))return{...t,items:n}})(h,e))}else y&&u.push(()=>Promise.resolve(a.getNotification()));return m.length>0&&a.addToReturnValues(p,g,m,!0),f.length>0&&a.addToReturnValues(p,g,f,!1),{renderers:u,returnedPropositions:p,returnedDecisions:g,onlyRenderThis:v}};return(e,n=[])=>{let r,i,a,s=[],c=[],d=[],l=0;for(;e.length>l&&(i=e[l],a=i.getItems(),({renderers:s,returnedPropositions:c,returnedDecisions:d,onlyRenderThis:r}=o({renderers:s,returnedPropositions:c,returnedDecisions:d,items:a,proposition:i})),!r);)l+=1;r&&e.forEach((e,t)=>{t!==l&&e.addToReturnValues(c,d,e.getItems(),!1)}),n.forEach(e=>{e.addToReturnValues(c,d,e.getItems(),!1)});return{returnedPropositions:c,returnedDecisions:d,render:()=>Promise.all(s.map(e=>e())).then(e=>{const n=e.filter(e=>e),r=n.map(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}});if(E(n)){const e=W(n,e=>e.scope);t.logOnContentRendering({status:"rendering-succeeded",detail:{...e},message:"Scopes: "+JSON.stringify(e)+" successfully executed.",logLevel:"info"})}return r})}}};var cs=({processPropositions:e,createProposition:t,notificationHandler:n})=>({renderDecisions:r,propositions:o,event:i,personalization:a={},identityMap:s})=>{if(!r)return Promise.resolve();const{sendDisplayEvent:c=!0}=a,d=i?i.getViewName():void 0,l=(()=>{let e=0;return t=>{const{items:n=[]}=t;return!!n.some(e=>e.schema===zo)&&(e+=1,e>1)}})(),u=o.map(e=>t(e,!0,l(e),s)),{render:p,returnedPropositions:g}=e(u),m=n(r,c,d,s),f=u.reduce((e,t)=>(e[t.getId()]=t,e),{});return p().then(e=>{const t=e.filter(e=>!f[e.id].shouldSuppressDisplay()),n=e.filter(e=>f[e.id].shouldSuppressDisplay());m(t,n)}),Promise.resolve({propositions:g})};const ds="text/html",ls="defaultContent",us=["content","contentType"],ps=["mobileParameters","webParameters","html"];var gs=({modules:e,logger:t})=>n=>{const r=n.getData(),o=n.getProposition(),i={...o.getNotification()},a=o.shouldSuppressDisplay();if(!r)return t.warn("Invalid in-app message data: undefined.",r),{};const{type:s=ls}=r;return e[s]?((e,t)=>{for(let n=0;n<us.length;n+=1){const r=us[n];if(!Object.prototype.hasOwnProperty.call(e,r))return t.warn("Invalid in-app message data: missing property '"+r+"'.",e),!1}const{content:n,contentType:r}=e;if("application/json"===r)for(let r=0;r<ps.length;r+=1){const o=ps[r];if(!Object.prototype.hasOwnProperty.call(n,o))return t.warn("Invalid in-app message data.content: missing property '"+o+"'.",e),!1}return!0})(r,t)?i?{render:()=>a?null:e[s]({...r,meta:i,identityMap:o.getIdentityMap()}),setRenderAttempted:!0,includeInNotification:!0}:(t.warn("Invalid in-app message meta: undefined.",i),{}):{}:(t.warn("Invalid in-app message data: unknown type.",r),{})};const ms=e=>{const t=T("#"+e,document);t&&t.length>0&&_(t[0])};var fs=e=>(t,n=!1)=>(n?e.location.href=t:e.location.replace(t),new Promise(()=>{}));const hs="alloy-messaging-container",ys="alloy-overlay-container",vs="alloy-content-iframe",ws=()=>[hs,ys].forEach(ms),Is=(e,t=fs(window))=>n=>{n.preventDefault(),n.stopImmediatePropagation();const{target:r}=n,o="a"===r.tagName.toLowerCase()?r:r.closest("a");if(!o)return;const{action:i,interaction:a,link:s,label:c,uuid:d}=(e=>{const t={};if(!e||"a"!==e.tagName.toLowerCase())return t;const{href:n}=e;if(!n||!n.startsWith("adbinapp://"))return t;const r=n.split("?"),o=r[0].split("://")[1],i=e.innerText,a=e.getAttribute("data-uuid")||"";let s,c;if(E(r)){const e=Ee.parse(r[1]);s=e.interaction||"",c=rr(e.link||"")}return{action:o,interaction:s,link:c,label:i,uuid:a}})(o);e(i,{label:c,id:a,uuid:d,link:s}),"dismiss"===i&&ws(),me(s)&&s.length>0&&t(s,!0)},bs=e=>{const{verticalAlign:t,width:n,horizontalAlign:r,backdropColor:o,height:i,cornerRadius:a,horizontalInset:s,verticalInset:c,uiTakeover:d=!1}=e,l={width:n?n+"%":"100%",backgroundColor:o||"rgba(0, 0, 0, 0.5)",borderRadius:a?a+"px":"0px",border:"none",position:d?"fixed":"relative",overflow:"hidden"};return"left"===r?l.left=s?s+"%":"0":"right"===r?l.right=s?s+"%":"0":"center"===r&&(l.left="50%",l.transform="translateX(-50%)"),"top"===t?l.top=c?c+"%":"0":"bottom"===t?(l.position="fixed",l.bottom=c?c+"%":"0"):"center"===t&&(l.top="50%",l.transform=("center"===r?l.transform+" ":"")+"translateY(-50%)",l.display="flex",l.alignItems="center",l.justifyContent="center"),l.height=i?i+"vh":"100%",l},Es=e=>{const{backdropOpacity:t,backdropColor:n}=e;return{position:"fixed",top:"0",left:"0",width:"100%",height:"100%",background:"transparent",opacity:t||.5,backgroundColor:n||"#FFFFFF"}},Cs=["enabled","parentElement","insertionMethod"],ks=(e={},t)=>{ws();const{content:n,contentType:r,mobileParameters:o}=e;let{webParameters:i}=e;if(r!==ds)return;const a=h("div",{id:hs}),s=((e,t)=>{const n=(new DOMParser).parseFromString(e,ds),r=n.querySelector("script");r&&r.setAttribute("nonce",xi());const o=h("iframe",{src:URL.createObjectURL(new Blob([n.documentElement.outerHTML],{type:"text/html"})),id:vs});return o.addEventListener("load",()=>{const{addEventListener:e}=o.contentDocument||o.contentWindow.document;e("click",t)}),o})(n,Is(t)),c=h("div",{id:ys});(e=>{if(!e)return!1;const t=Object.keys(e);if(!t.includes(hs))return!1;if(!t.includes(ys))return!1;const n=Object.values(e);for(let e=0;e<n.length;e+=1){if(!Rt(n[e],"style"))return!1;if(!Rt(n[e],"params"))return!1;for(let t=0;t<Cs.length;t+=1)if(!Rt(n[e].params,Cs[t]))return!1}return!0})(i)||(i=(e=>{if(!e)return;const{uiTakeover:t=!1}=e;return{[vs]:{style:{border:"none",width:"100%",height:"100%"},params:{enabled:!0,parentElement:"#alloy-messaging-container",insertionMethod:"appendChild"}},[hs]:{style:bs(e),params:{enabled:!0,parentElement:"body",insertionMethod:"appendChild"}},[ys]:{style:Es(e),params:{enabled:!0===t,parentElement:"body",insertionMethod:"appendChild"}}}})(o)),i&&((e,t,n,r)=>{[{id:ys,element:r},{id:hs,element:n},{id:vs,element:e}].forEach(({id:e,element:n})=>{const{style:r={},params:o={}}=t[e];Object.assign(n.style,r);const{parentElement:i="body",insertionMethod:a="appendChild",enabled:s=!0}=o,c=document.querySelector(i);s&&c&&"function"==typeof c[a]&&c[a](n)})})(s,i,a,c)};var Ss=e=>({defaultContent:t=>((e,t)=>new Promise(n=>{const{meta:r,identityMap:o}=e;ks(e,(e,n)=>{const i={};i[li.INTERACT]=1,-1!==Object.values(li).indexOf(e)&&(i[e]=1),t({decisionsMeta:[r],propositionAction:n,eventType:ai,propositionEventTypes:Object.keys(i),identityMap:o})}),n({meta:r})}))(t,e)});const Ps=e=>{const t=e.find(e=>e.scopeType===Aa);return t?t.scope:void 0};var Ds=(e,t,n)=>{const{interactIds:r,clickLabel:o="",clickToken:i}=(e=>{const{documentElement:t}=document;let n=e;const r=new Set;let o,i;for(;n&&n!==t&&!(n instanceof ShadowRoot);){const e=Pi(n,$a);e&&r.add(e),o=o||Pi(n,Za),i=i||Pi(n,"data-aep-click-token"),n=n.parentNode}return{interactIds:[...r],clickLabel:o,clickToken:i}})(e),a=((e,t,n)=>r=>{const{scopeDetails:o={}}=r,{decisionProvider:i}=o;return e[i]===Qa||e[i]===Wa&&(t||n)})(n,o,i);if(0===r.length)return{};const s=t(r).filter(a);return{decisionsMeta:xa(s),propositionActionLabel:o,propositionActionToken:i,viewName:Ps(s)}};const Rs="AJO",Ts="TGT",Os=({config:e,logger:t,eventManager:n,consent:r})=>{const{targetMigrationEnabled:o,prehidingStyle:i,autoCollectPropositionInteractions:a}=e,s=Na({eventManager:n,mergeDecisionsMeta:_a}),c=(e=>()=>{const t=ki(Yi);t&&(e.logOnContentHiding({status:"show-containers",message:"Prehiding style removed to show containers.",logLevel:"info"}),_(t))})(t),d=(e=>t=>{if(!t)return;if(ki(Yi))return;const n=xi(),r={id:Yi,...n&&{nonce:n}},o=h(v,r,{textContent:t});e.logOnContentHiding({status:"hide-containers",message:"Prehiding style applied to hide containers.",logLevel:"info"}),f(document.head,o)})(t),{storeInteractionMeta:l,getInteractionMetas:u}=(()=>{const e={},t={};return{storeInteractionMeta:(n,r,o,i,a)=>{a=parseInt(a,10),e[a]||(e[a]={},t[a]={}),t[a][n]||(t[a][n]=new Set),t[a][n].add(r),e[a][n]={...i,scopeType:o}},getInteractionMetas:n=>Array.isArray(n)&&0!==n.length?Object.values(n.map(e=>parseInt(e,10)).reduce((n,r)=>(Object.keys(e[r]||{}).forEach(o=>{n[o]||(n[o]={proposition:e[r][o],items:new Set}),n[o].items=new Set([...n[o].items,...t[r][o]])}),n),{})).map(({proposition:e,items:t})=>({...e,items:Array.from(t).map(e=>({id:e}))})):[]}})(),{storeClickMeta:p,getClickSelectors:m,getClickMetas:y}=Ba(),w=(({window:e})=>()=>e.location)({window:window}),I={[ma]:da(Ki,!0),[fa]:da(Wi,!0),[ha]:da(ta,!0),[ya]:da(aa,!0),[va]:da(sa,!0),[wa]:da(ia,!0),[Ia]:da(ua,!0),[ba]:da(ga,!0),[Ea]:da(ca),[Ca]:da(_,!0),[ka]:da(oa),[Sa]:da(na),[Pa]:da(ra,!0),[Da]:da(Wi),[Ra]:da(Qi),[Oa]:da(pa,!0)},b=(C=[Ja,za],e=>e?C.reduce((e,t)=>({...e,...t(e)}),e):e);var C;const k=Xa({preprocess:b,isPageWideSurface:ni}),S=(({createProposition:e})=>{let t=!1,n=Promise.resolve({});const r=(t,n)=>{const r=t[n.toLowerCase()];return r&&r.length>0?r:[e({scope:n,scopeDetails:{characteristics:{scopeType:Aa}},items:[{schema:_o}]},!1)]};return{createCacheUpdate:e=>{const o=g();return t=!0,n=n.then(e=>o.promise.then(t=>({...e,...t})).catch(()=>e)),{update(t){const n=t.filter(e=>e.getScope()),i=W(n,e=>e.getScope().toLowerCase());return o.resolve(i),e?r(i,e):[]},cancel(){o.reject()}}},getView:e=>n.then(t=>r(t,e)),isInitialized:()=>t}})({createProposition:k}),P=fs(window),D={[_o]:Ga,[jo]:rs({modules:I,logger:t,storeInteractionMeta:l,storeClickMeta:p,autoCollectPropositionInteractions:a}),[Bo]:os({modules:I,logger:t,storeInteractionMeta:l,autoCollectPropositionInteractions:a}),[Ho]:as({logger:t,executeRedirect:P,collect:s}),[zo]:gs({modules:Ss(s),logger:t})},R=ss({schemaProcessors:D,logger:t}),T=(()=>{let e=Promise.resolve([]);return{concat(t){e=e.then(e=>t.then(t=>e.concat(t)).catch(()=>e))},clear(){const t=e;return e=Promise.resolve([]),t}}})(),O=((e,t)=>(n,r,o,i)=>{if(!n)return()=>{};if(!r){const e=g();return t.concat(e.promise),e.resolve}return(t=[],n=[])=>{E(t)&&e({decisionsMeta:t,viewName:o,identityMap:i}),E(n)&&e({decisionsMeta:n,eventType:di,propositionAction:{reason:"Conflict"},viewName:o,identityMap:i})}})(s,T),N=(({logger:e,prehidingStyle:t,showContainers:n,hideContainers:r,mergeQuery:o,processPropositions:i,createProposition:a,notificationHandler:s,consent:c})=>({cacheUpdate:d,personalizationDetails:l,event:u,onResponse:p,identityMap:g})=>{const{state:m,wasSet:f}=c.current();"out"===m&&f||(l.isRenderDecisions()?r(t):n()),o(u,l.createQueryDetails());const h=s(l.isRenderDecisions(),l.isSendDisplayEvent(),l.getViewName(),g);p(({response:t})=>{const r=t.getPayloadsByType("personalization:decisions");E(r)||e.logOnContentRendering({status:"no-offers",message:"No offers were returned.",logLevel:"info",detail:{query:l.createQueryDetails()}});const o=r.map(e=>a(e,!0,!1,g)),{page:s=[],view:c=[],proposition:u=[]}=W(o,e=>e.getScopeType()),p=d.update(c);let m,f,y;return l.isRenderDecisions()?(({render:m,returnedPropositions:f,returnedDecisions:y}=i([...s,...p],u)),E(s)&&e.logOnContentRendering({status:"rendering-started",message:"Started rendering propositions for page-wide scope.",logLevel:"info",detail:{scope:mn,propositions:s.map(e=>e.toJSON())}}),E(p)&&e.logOnContentRendering({status:"rendering-started",message:"Rendering propositions started for view scope - "+l.getViewName()+".",logLevel:"info",detail:{scope:l.getViewName(),propositions:p.map(e=>e.toJSON())}}),m().then(h),1===s.length&&s[0].getItems().every(e=>e.getSchema()===Ho)||n()):({returnedPropositions:f,returnedDecisions:y}=i([],[...s,...p,...u])),{propositions:f,decisions:y}})})({prehidingStyle:i,showContainers:c,hideContainers:d,mergeQuery:ja,processPropositions:R,createProposition:k,notificationHandler:O,consent:r,logger:t}),M=(({mergeDecisionsMeta:e,collectInteractions:t,collectClicks:n,getInteractionMetas:r,getClickMetas:o,getClickSelectors:i,autoCollectPropositionInteractions:a})=>({event:s,clickedElement:c})=>{const d=[];let l,u,p;if([t(c,r,a),n(c,i(),o)].forEach(({decisionsMeta:e,propositionActionLabel:t,propositionActionToken:n,viewName:r})=>{Array.prototype.push.apply(d,e),!l&&t&&(l=t),!u&&n&&(u=n),!p&&r&&(p=r)}),E(d)){const t={eventType:ai};p&&(t.web={webPageDetails:{viewName:p}}),s.mergeXdm(t),e(s,d,[li.INTERACT],((e,t)=>{if(!t&&!e)return;const n={};return e&&(n.label=e),t&&(n.tokens=[t]),n})(l,u))}})({mergeDecisionsMeta:_a,collectInteractions:Ds,collectClicks:La,getInteractionMetas:u,getClickMetas:y,getClickSelectors:m,autoCollectPropositionInteractions:a}),A=(({processPropositions:e,viewCache:t,logger:n})=>({personalizationDetails:r,onResponse:o})=>{let i,a;const s=r.getViewName();return o(()=>({propositions:i,decisions:a})),t.getView(s).then(t=>{let o;return r.isRenderDecisions()?(({render:o,returnedPropositions:i,returnedDecisions:a}=e(t)),n.logOnContentRendering({status:"rendering-started",message:"Started rendering propositions for view scope - "+s+".",logLevel:"info",detail:{scope:s,propositions:t.map(e=>e.toJSON())}}),o()):(({returnedPropositions:i,returnedDecisions:a}=e([],t)),[])})})({processPropositions:R,viewCache:S,logger:t}),x=Ha({processPropositions:R,createProposition:k,renderedPropositions:T,viewCache:S}),q=(({targetMigrationEnabled:e})=>e?e=>{e.getPayload().mergeMeta({target:{migration:!0}})}:fe)({targetMigrationEnabled:o}),L=cs({processPropositions:R,createProposition:k,notificationHandler:O}),U=(({showContainers:e,consent:t})=>()=>{const{state:n,wasSet:r}=t.current();n===zt&&r?e():t.awaitConsent().catch(e)})({showContainers:c,consent:r});return hi({getPageLocation:w,logger:t,fetchDataHandler:N,viewChangeHandler:A,onClickHandler:M,isAuthoringModeEnabled:Ua,mergeQuery:ja,viewCache:S,showContainers:c,applyPropositions:x,setTargetMigration:q,mergeDecisionsMeta:_a,renderedPropositions:T,onDecisionHandler:L,handleConsentFlicker:U})};Os.namespace="Personalization";const Ns=Ya.map(e=>St(e));Os.configValidators=Rt({prehidingStyle:Tt().nonEmpty(),targetMigrationEnabled:Ct().default(!1),autoCollectPropositionInteractions:Rt({[Rs]:It(Ns).default(Qa),[Ts]:It(Ns).default(Ka)}).default({[Rs]:Qa,[Ts]:Ka}).noUnknownFields()});const Ms=e=>null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype,As=(e,t={},n=[])=>(Object.keys(e).forEach(r=>{Ms(e[r])||Array.isArray(e[r])?As(e[r],t,[...n,r]):t[[...n,r].join(".")]=e[r]}),t);var xs=e=>Ms(e)?As(e):e;const qs="matcher",Ls="group",Us="historical",_s="eq",js="ne",Bs="ex",Fs="nx",Vs="gt",Hs="ge",zs="lt",Js="le",Xs="co",Gs="nc",Qs="sw",Ks="ew",Ws="and",Ys="or",$s="ordered",Zs="mostRecent";function ec(e){return"object"==typeof e||void 0===e}function tc(e){return"number"==typeof e}const nc={[_s]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r===String(n[e]).toLowerCase())return!0;return!1}},[js]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r===String(n[e]).toLowerCase())return!1;return!0}},[Bs]:{matches:(e,t)=>void 0!==e[t]&&null!==e[t]},[Fs]:{matches:(e,t)=>void 0===e[t]||null===e[t]},[Vs]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r>n[e])return!0;return!1}},[Hs]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r>=n[e])return!0;return!1}},[zs]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r<n[e])return!0;return!1}},[Js]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r<=n[e])return!0;return!1}},[Xs]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!0;return!1}},[Gs]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!1;return!0}},[Qs]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r.startsWith(String(n[e]).toLowerCase()))return!0;return!1}},[Ks]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r.endsWith(n[e].toLowerCase()))return!0;return!1}}};function rc(e){return void 0===e}const oc="eventId",ic="eventType",ac=["iam.eventType",ic,"type"],sc=["iam.id","id"],cc=(e,t)=>{for(let n=0;n<t.length;n+=1)if(!rc(e[t[n]]))return t[n];throw new Error("The event does not match the expected schema.")},dc=e=>{const t=structuredClone(e);return[[cc(t,ac),ic],[cc(t,sc),oc]].forEach(([e,n])=>{e!==n&&(t[n]=t[e],delete t[e])}),t};function lc(e,t){return{evaluate:(e,n)=>t.evaluate(e,n),toString:()=>"Condition{type="+e+", definition="+t+"}"}}function uc(e,t,n){return{evaluate:r=>{const o=function(e){return nc[e]}(t);return!!o&&o.matches(r,e,n)}}}function pc(e,t,n,r,o,i){return{evaluate:(a,s)=>{let c;return c=Zs===i?function(e,t,n,r=0,o=1/0){try{return e.reduce((e,i,a)=>{const s=n.generateEventHash(dc(i)),c=t.events[s];if(!c)return e;const d=c.timestamps.filter(e=>e>=r&&e<=o).pop();return d&&d>e.timestamp?{index:a,timestamp:d}:e},{index:-1,timestamp:0}).index}catch{return-1}}(e,a,s,r,o):$s===i?function(e,t,n,r=0,o=1/0){try{let i=r;const a=e.every(e=>{const r=n.generateEventHash(dc(e)),a=t.events[r];if(!a)return!1;const s=a.timestamps[0],c=s>=i&&s<=o;return i=s,c});return Number(a)}catch{return 0}}(e,a,s,r,o):function(e,t,n,r=0,o=1/0){return e.reduce((e,i)=>{try{const a=n.generateEventHash(dc(i)),s=t.events[a];if(!s)return e;const{timestamps:c=[]}=s;return e+c.filter(e=>e>=r&&e<=o).length}catch{return e}},0)}(e,a,s,r,o),((e,t,n)=>{switch(t){case Vs:return e>n;case Hs:return e>=n;case zs:return e<n;case Js:return e<=n;case _s:return e===n;case js:return e!==n;default:return!1}})(c,t,n)}}}function gc(e){const{logic:t,conditions:n}=e;return function(e,t){return{evaluate:(n,r)=>Ws===e?function(e,t,n){let r=!0;for(let o=0;o<t.length;o+=1)r=r&&t[o].evaluate(e,n);return r}(n,t,r):Ys===e&&function(e,t,n){let r=!1;for(let o=0;o<t.length;o+=1)if(r=r||t[o].evaluate(e,n),r)return!0;return!1}(n,t,r)}}(t,n.map(mc))}function mc(e){const{type:t,definition:n}=e;if(qs===t){const e=function(e){const{key:t,matcher:n,values:r}=e;return uc(t,n,r)}(n);return lc(t,e)}if(Ls===t){return lc(t,gc(n))}if(Us===t){const e=function(e){const{events:t,from:n,to:r,matcher:o,value:i,searchType:a}=e;return pc(t,o,i,n,r,a)}(n);return lc(t,e)}throw new Error("Can not parse condition")}function fc(e){const{id:t,type:n,detail:r}=e;return function(e,t,n){return{id:e,type:t,detail:n}}(t,n,r)}function hc(e){const{condition:t,consequences:n,key:r}=e;return function(e,t,n){return{key:n,execute:(n,r)=>e.evaluate(n,r)?t:[],toString:()=>"Rule{condition="+e+", consequences="+t+"}"}}(mc(t),n.map(fc),r)}function yc(e){const{version:t,rules:n,metadata:r}=e,o=n.map(hc),i=function(e){if(!e)return;return{provider:e.provider,providerData:Object.assign({},e.providerData)}}(r);return function(e,t,n){return{version:e,rules:t,metadata:n}}(t,o,i)}function vc(e,t,n){const{providerData:r}=n,{identityTemplate:o}=r;return o.replace("<key>",t).replace("<identity>",e)}function wc(e,t=e=>e[0]){const n={};return function(...r){const o=t(r);return rc(n[o])&&(n[o]=e(...r)),n[o]}}function Ic(e,t){const n=65535&t;return((t-n)*e|0)+(n*e|0)|0}const bc=wc(function(e,t=0){let n;const r=e.length,o=3432918353,i=461845907;let a=t;const s=-2&r;for(let t=0;t<s;t+=2)n=e.charCodeAt(t)|e.charCodeAt(t+1)<<16,n=Ic(n,o),n=(131071&n)<<15|n>>>17,n=Ic(n,i),a^=n,a=(524287&a)<<13|a>>>19,a=5*a+3864292196|0;return r%2==1&&(n=e.charCodeAt(s),n=Ic(n,o),n=(131071&n)<<15|n>>>17,n=Ic(n,i),a^=n),a^=r<<1,a^=a>>>16,a=Ic(a,2246822507),a^=a>>>13,a=Ic(a,3266489909),a^=a>>>16,a},e=>e.join("-"));const Ec=wc(function(e,t){const n=bc(e),r=Math.abs(n)%t/t*100;return Math.round(100*r)/100});function Cc(e,t,n){return{allocation:Ec(e,t),...n}}function kc(e,t){return t.map(t=>t.execute(e)).filter(e=>e.length>0)}function Sc(e,t){!function(e){const{providerData:t}=e;if(!t)throw new Error("Provider data is missing in metadata");const{identityTemplate:n,buckets:r}=t;if(!n)throw new Error("Identity template is missing in provider data");if(!r)throw new Error("Buckets is missing in provider data")}(t);const n=e.filter(e=>!e.key),r=function(e){const t={};for(let n=0;n<e.length;n+=1){const r=e[n];r.key&&(t[r.key]||(t[r.key]=[]),t[r.key].push(r))}return t}(e),{buckets:o}=t.providerData;return{provider:"TGT",execute:e=>{const i=function(e){const{xdm:t}=e;if(!t)throw new Error("XDM object is missing in the context");const{identityMap:n}=t;if(!n)throw new Error("Identity map is missing in the XDM object");const r=n.ECID;if(!r)throw new Error("ECID identity namespace is missing in the identity map");if(!Array.isArray(r)||0===r.length)throw new Error("ECID identities array is empty or not an array");const o=r[0].id;if(!o)throw new Error("ECID identity is missing in the identities array");return o}(e),a=kc(e,n),s=Object.keys(r),c=[];for(let n=0;n<s.length;n+=1){const a=s[n],d=r[a],l=kc(Cc(vc(i,a,t),o,e),d);c.push(...l)}return[...a,...c]}}}function Pc(e,t={generateEventHash:()=>{throw new Error("No hash function provided")}}){const{rules:n,metadata:r={}}=yc(e);return function(e,t,n){const{provider:r}=t;return"TGT"===r?Sc(e,t):function(e,t){return{provider:"DEFAULT",execute:n=>e.map(e=>e.execute(n,t)).filter(e=>e.length>0)}}(e,n)}(n,r,t)}var Dc=e=>{const t=structuredClone(e),n=Object.keys(t).sort().reduce((e,n)=>{const r=t[n];return null==r||""===r?e:e+=n+":"+r},"");return H(n)};const Rc="events",Tc="~type",Oc="~source",Nc="com.adobe.eventType.edge",Mc="com.adobe.eventType.rulesEngine",Ac="com.adobe.eventSource.requestContent",xc="cjmiam",qc="schema";var Lc=(e=30,t=1e3)=>n=>{let r=Object.entries(n).reduce((e,[t,{timestamps:n=[]}])=>(n.forEach(n=>{e.push({key:t,timestamp:n})}),e),[]);const o=(e=>{const t=new Date;return t.setDate(t.getDate()-e),t})(e);return r=r.filter(({timestamp:e})=>e>=o),r.sort((e,t)=>e.timestamp-t.timestamp),r=r.slice(-t),r.reduce((e,{key:t,timestamp:n})=>(e[t]||(e[t]={timestamps:[]}),e[t].timestamps.push(n),e),{})};const Uc=e=>e?.scopeDetails?.activity?.id,_c=()=>{const e={};return{getItem:t=>t in e?e[t]:null,setItem:(t,n)=>{e[t]=n}}},jc=e=>{e.clear()};const Bc={[xc]:(e,t,n)=>{const{html:r,mobileParameters:o}=n;return{schema:zo,data:{mobileParameters:o,webParameters:{},content:r,contentType:ds},id:e}},[qc]:(e,t,n)=>{const{schema:r,data:o,id:i}=n;return{schema:r,data:o,id:i||e}}};const Fc=e=>{const{schema:t,data:n}=e;if(t===Vo)return!0;if(t!==Fo)return!1;try{const e="string"==typeof n.content?JSON.parse(n.content):n.content;return e&&Object.prototype.hasOwnProperty.call(e,"version")&&Object.prototype.hasOwnProperty.call(e,"rules")}catch{return!1}};var Vc=(e,t)=>{const n=e=>{const{id:t,type:n,detail:r}=e;return"function"==typeof Bc[n]?Bc[n](t,n,r):r},r=Uc(e),o=[],i=e=>{const{data:t={},schema:n}=e,r=n===Vo?t:t.content;r&&o.push(Pc("string"==typeof r?JSON.parse(r):r,{generateEventHash:Dc}))};return Array.isArray(e.items)&&e.items.filter(Fc).forEach(i),{rank:e?.scopeDetails?.rank||1/0,evaluate:i=>{const a=t.getEvent(ii,r),s=a?.timestamps[0],c=((e=[])=>Array.isArray(e)?e.flat(1/0):e)(o.map(e=>e.execute(i))).map(n).map(e=>{const n=t.addEvent({eventType:li.TRIGGER,eventId:r}).timestamps[0];return{...e,data:{...e.data,qualifiedDate:n,displayedDate:s}}});return{...e,items:c}},isEvaluable:o.length>0}},Hc=({storage:e,logger:t})=>{let n,r,o,i=e;const a=e=>{i=e;const t=((e,t)=>n=>{try{const n=e.getItem(t);return[JSON.parse(n),n.length]}catch{}return[n,0]})(i,Rc);if(n=((e,t)=>n=>{e.setItem(t,JSON.stringify(n))})(i,Rc),[r,o]=t({}),o>2097152){const e=Lc();r=e(r),n(r)}};a(e);const s=(e={eventType:null,eventId:null},o="insert")=>{const{eventType:i,eventId:a}=e;if(!i||!a)return;const s=Dc(e);if("insertIfNotExists"===o&&r[s])return;r[s]&&Array.isArray(r[s].timestamps)||(r[s]={timestamps:[]});const c=(new Date).getTime();return r[s].timestamps.push(c),r[s].timestamps.sort(),t.info("[Event History] Added event for",e,"with hash",s,"and timestamp",c),n(r),r[s]};return{addExperienceEdgeEvent:e=>{const{xdm:t}=e.getContent();if(!(e=>{const{_experience:t}=e||{};return!!t&&"object"==typeof t})(t))return;const{_experience:{decisioning:{propositionEventType:n={},propositionAction:{id:r}={},propositions:o=[]}={}}}=t;Object.keys(n).filter(e=>1===n[e]).forEach(e=>{o.forEach(t=>{(e=>e?.scopeDetails?.decisionProvider)(t)===Rs&&s({eventId:Uc(t),eventType:e,action:r})})})},addEvent:s,addEventPayloads:(e=[])=>e.map(({operation:e,event:t})=>s(t,e)),getEvent:(e,t)=>{const n=Dc({eventType:e,eventId:t});if(r[n])return r[n]},toJSON:()=>r,setStorage:a}};const zc=(e,...t)=>t,Jc=(e,...t)=>!0;var Xc=({collect:e})=>{let t=()=>{};const n=new Set,r=(e,t,r)=>{const o=[e,t].join("-"),i=!r.has(o)&&((e=>[li.INTERACT,li.DISMISS].includes(e))(e)||!n.has(o));return r.add(o),n.add(o),i},o=(t,n=[])=>{if(!(n instanceof Array))return Promise.resolve();if(!Object.values(li).includes(t))return Promise.resolve();const o=[],i=new Set;return n.forEach(e=>{const n=(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}})(e);r(t,n.id,i)&&o.push(n)}),o.length>0?e({decisionsMeta:o,eventType:mi(t),documentMayUnload:!0}):Promise.resolve()},i=(()=>{let e=zc,t=Jc,n=0;const r={};return{add:(e,t=void 0)=>{return"function"!=typeof e?()=>{}:(n+=1,r[n]={callback:e,params:t},{id:n,unsubscribe:(o=n,()=>{delete r[o]})});var o},emit:(...n)=>{Object.values(r).forEach(({callback:r,params:o})=>{const i=e(o,...n);t(o,...i)&&r(...i)})},emitOne:(n,...o)=>{if(!n||!r[n])return;const{callback:i,params:a}=r[n],s=e(a,...o);t(a,...s)&&i(...s)},hasSubscriptions:()=>Object.keys(r).length>0,setEmissionPreprocessor:t=>{"function"==typeof t&&(e=t)},setEmissionCondition:e=>{"function"==typeof e&&(t=e)}}})();i.setEmissionPreprocessor((e,t)=>{const{surfacesFilter:n,schemasFilter:r}=e;return[{propositions:t.filter(e=>!n||n.includes(e.scope)).map(e=>{const{items:t=[]}=e;return{...e,items:t.filter(e=>!r||r.includes(e.schema))}}).filter(e=>e.items.length>0)},o]});return{refresh:e=>{t=t=>{t?i.emitOne(t,e):i.emit(e)},t()},command:{optionsValidator:e=>(({options:e})=>Rt({surfaces:Et(Tt()).uniqueItems(),schemas:Et(Tt()).uniqueItems(),callback:kt().required()}).noUnknownFields()(e))({options:e}),run:({surfaces:e,schemas:n,callback:r})=>{const{id:o,unsubscribe:a}=i.add(r,{surfacesFilter:e instanceof Array?e:void 0,schemasFilter:n instanceof Array?n:void 0});return t(o),Promise.resolve({unsubscribe:a})}}}};var Gc=({contextProvider:e,decisionProvider:t})=>({optionsValidator:e=>(({options:e})=>Rt({renderDecisions:Ct(),personalization:Rt({decisionContext:Rt({})})}).noUnknownFields()(e))({options:e}),run:({renderDecisions:n,decisionContext:r,applyResponse:o})=>o({renderDecisions:n,propositions:t.evaluate(e.getContext(r))})});const Qc=({config:e,eventManager:t,createNamespacedStorage:n,consent:r,getBrowser:o,logger:i})=>{const{orgId:a,personalizationStorageEnabled:s}=e,c=Na({eventManager:t,mergeDecisionsMeta:_a}),d=n(Q(a)+".decisioning.");s||jc(d.persistent);const l=Hc({storage:_c(),logger:i}),u=(({eventRegistry:e})=>{const t={},n=n=>{const r=Uc(n);if(!r)return;const o=Vc(n,e);o.isEvaluable&&(t[r]=o)};return{addPayload:n,addPayloads:e=>{e.forEach(n)},evaluate:(e={})=>Object.values(t).sort(({rank:e},{rank:t})=>e-t).map(t=>t.evaluate(e)).filter(e=>e.items.length>0)}})({eventRegistry:l}),p=(({eventRegistry:e,window:t,getBrowser:n})=>{const r=(new Date).getTime(),o=()=>{const e=new Date,t=e.getTime();return{pageLoadTimestamp:r,currentTimestamp:t,currentDate:e.getDate(),"~state.com.adobe.module.lifecycle/lifecyclecontextdata.dayofweek":e.getDay()+1,"~state.com.adobe.module.lifecycle/lifecyclecontextdata.hourofday":e.getHours(),currentMinute:e.getMinutes(),currentMonth:e.getMonth(),currentYear:e.getFullYear(),pageVisitDuration:t-r,"~timestampu":t/1e3,"~timestampz":e.toISOString()}},i={browser:{name:n()},page:{title:t.title,url:t.url,...ye(t.url)},referringPage:{url:t.referrer,...ye(t.referrer)}};return{getContext:(n={})=>{const r={...{...i,...o(),window:{height:t.height,width:t.width,scrollY:t.scrollY,scrollX:t.scrollX},"~sdkver":qn},...n};return{...xs(r),events:e.toJSON()}}}})({eventRegistry:l,window:window,getBrowser:o}),g=Gc({contextProvider:p,decisionProvider:u}),m=Xc({collect:c});let f;return{lifecycle:{onDecision({propositions:e}){m.refresh(e)},onComponentsRegistered(e){f=(({lifecycle:e,eventRegistry:t})=>({renderDecisions:n=!1,propositions:r=[],event:o,personalization:i})=>{if(e){const a=(e=>{const t=[];return e.forEach(e=>{const n=[];e.items.forEach(e=>{"https://ns.adobe.com/personalization/eventHistoryOperation"===e.schema?t.push({operation:e.data.operation,event:{eventId:e.data.content["iam.id"],eventType:e.data.content["iam.eventType"]}}):n.push(e)}),e.items=n}),t})(r);t.addEventPayloads(a);const s=o?.getUserIdentityMap();e.onDecision({renderDecisions:n,propositions:r,event:o,personalization:i,identityMap:s})}return{propositions:r}})({lifecycle:e.lifecycle,eventRegistry:l}),s&&r.awaitConsent().then(()=>{l.setStorage(d.persistent)}).catch(()=>{d&&jc(d.persistent)})},onBeforeEvent({event:e,renderDecisions:t,personalization:n={},onResponse:r=fe}){const{decisionContext:o={}}=n;r((({renderDecisions:e,decisionProvider:t,applyResponse:n,event:r,personalization:o,decisionContext:i})=>{const a={...xs(r.getContent()),...i};return({response:i})=>{if(t.addPayloads(i.getPayloadsByType("personalization:decisions")),!r.hasQuery())return{propositions:[]};const s=t.evaluate(a);return n({renderDecisions:e,propositions:s,event:r,personalization:o})}})({renderDecisions:t,decisionProvider:u,applyResponse:f,event:e,personalization:n,decisionContext:p.getContext({[Tc]:Nc,[Oc]:Ac,...o})}))},onBeforeRequest({request:e}){const t=e.getPayload().toJSON(),{events:n=[]}=t;0!==n.length&&n.forEach(e=>l.addExperienceEdgeEvent(e))}},commands:{evaluateRulesets:{run:({renderDecisions:e,personalization:t={}})=>{const{decisionContext:n={}}=t;return g.run({renderDecisions:e,decisionContext:{[Tc]:Mc,[Oc]:Ac,...n},applyResponse:f})},optionsValidator:g.optionsValidator},subscribeRulesetItems:m.command}}};Qc.namespace="RulesEngine",Qc.configValidators=Rt({personalizationStorageEnabled:Ct().default(!1)});var Kc=Rt({streamingMedia:Rt({channel:Tt().nonEmpty().required(),playerName:Tt().nonEmpty().required(),appVersion:Tt(),mainPingInterval:Pt().minimum(10).maximum(50).default(10),adPingInterval:Pt().minimum(1).maximum(10).default(10)}).noUnknownFields()}),Wc=({config:e,trackMediaEvent:t,trackMediaSession:n,mediaResponseHandler:r})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=fe}){if(!e)return;const{legacy:n,playerId:o,getPlayerDetails:i}=e;n||t(({response:e})=>r({playerId:o,getPlayerDetails:i,response:e}))}},commands:{createMediaSession:{optionsValidator:e=>(({options:e})=>It([Rt({playerId:Tt().required(),getPlayerDetails:kt().required(),xdm:Rt({mediaCollection:Rt({sessionDetails:Rt(bt()).required()})}),edgeConfigOverrides:Mt}).required(),Rt({xdm:Rt({mediaCollection:Rt({playhead:Pt().required(),sessionDetails:Rt(bt()).required()})}),edgeConfigOverrides:Mt}).required()],"an object with playerId, getPlayerDetails and xdm.mediaCollection.sessionDetails, or an object with xdm.mediaCollection.playhead and xdm.mediaCollection.sessionDetails")(e))({options:e}),run:n},sendMediaEvent:{optionsValidator:e=>(({options:e})=>It([Rt({playerId:Tt().required(),xdm:Rt({eventType:Ot(...Object.values(co)).required(),mediaCollection:Rt(bt())}).required()}).required(),Rt({xdm:Rt({eventType:Ot(...Object.values(co)).required(),mediaCollection:Rt({playhead:Pt().integer().required(),sessionID:Tt().required()}).required()}).required()}).required()],"Error validating the sendMediaEvent command options.")(e))({options:e}),run:n=>e.streamingMedia?t(n):Promise.reject(new Error("Streaming media is not configured."))}}});const Yc=({config:e,logger:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o})=>{const i=go(),a=lo({config:e,eventManager:n,consent:o,sendEdgeNetworkRequest:r,setTimestamp:xn(()=>new Date)}),s=mo({mediaSessionCacheManager:i,mediaEventManager:a,config:e}),c=fo({config:e,mediaEventManager:a,mediaSessionCacheManager:i}),d=yo({mediaSessionCacheManager:i,config:e,trackMediaEvent:s});return Wc({config:e,trackMediaEvent:s,mediaResponseHandler:d,trackMediaSession:c})};Yc.namespace="Streaming media",Yc.configValidators=Kc;var $c=Rt({advertising:Rt({id5PartnerId:Tt(),rampIdJSPath:Tt(),dspEnabled:Ct(),advertiserSettings:Et(Rt({advertiserId:Tt().required(),enabled:Ct().required()}).noUnknownFields())}).noUnknownFields()});const Zc="advertising",ed="_les_lsc",td="lastConversionTime",nd="displayClickCookieExpires",rd="rampIdExpires",od="surferId",id="rampId",ad="id5Id",sd="advertising.enrichment",cd="trackingCode",dd="trackingIdentities",ld="Ad conversion submission failed",ud="ev_lcc";var pd=({orgId:e,logger:t})=>{const n=p({logger:t,cookieJar:a}),r=(t,n=!0)=>n?K(e,t):t,o=(e=30)=>new Date(Date.now()+60*e*1e3),i=(e,o=!0)=>{try{const t=r(e,o),i=n.get(t);return i?(e=>{try{if(e?.startsWith("%7B")||e?.startsWith("{"))return JSON.parse(decodeURIComponent(e))}catch{}return e})(i):null}catch(n){return t.error("Error reading cookie: "+e,n),null}},s=(e,o,i={},a=!0)=>{try{const t=r(e,a),s=(e=>"object"==typeof e&&null!==e?encodeURIComponent(JSON.stringify(e)):e)(o);return n.set(t,s,i),!0}catch(n){return t.error("Error writing cookie: "+e,n),!1}};return{setValue:(e,t,n={})=>{const r={...i(Zc)||{},[e]:t};return s(Zc,r,{expires:o(527040),...n})},getValue:e=>(i(Zc)||{})[e]}};var gd=({cookieManager:e,logger:t,componentConfig:n,getBrowser:r,consent:o,collectSurferId:i,getID5Id:a,getRampId:s,appendAdvertisingIdQueryToEvent:c,getUrlParams:d,isThrottled:l})=>async({event:u,advertising:p={}})=>{const{state:g}=o.current();if("in"!==g)return;const{skwcid:m,efid:f}=d(),h=!(!m||!f);if(!((e=>![Qt,Gt].includes(e?.handleAdvertisingData?.toLowerCase()))(p)||h||l(od,e)&&l(ad,e)&&l(id,e)))try{const o=(e=>e?.handleAdvertisingData?.toLowerCase()===Gt)(p);let d=null;r&&r()===Y||(d=s(t,n.rampIdJSPath,e,o,o));const[g,m,f]=await Promise.allSettled([i(e,r,o),a(t,n.id5PartnerId,o,o),d]),h={};if("fulfilled"===g.status&&g.value&&!l(od,e)&&(h.surferId=g.value),"fulfilled"===m.status&&m.value&&!l(ad,e)&&(h.id5Id=m.value),"fulfilled"===f.status&&f.value&&!l(id,e)&&(h.rampId=f.value),0===Object.keys(h).length&&(l(od,e)||l(ad,e)||l(id,e)))return;c(h,u,e,n)}catch(e){t.error("Error in onBeforeSendEvent hook:",e)}};let md="",fd="",hd=null;const yd=()=>hd||(hd=new Promise((e,t)=>{setTimeout(()=>{const n="https:"===document.location.protocol?"https:":"http:",r=n+"//www.everestjs.net/static/pixel_details.html#"+new URLSearchParams({google:"__EFGCK__",gsurfer:"__EFGSURFER__",imsId:"__EFIMSORGID__",is_fb_cookie_synced:"__EFFB__",optout:"__EFOPTOUT__",throttleCookie:"__EFSYNC__",time:"__EFTIME__",ev_lcc:"__LCC__"}).toString(),o=n+"//pixel.everesttech.net/1/gr?"+new URLSearchParams({ev_gb:"0",url:r}).toString(),i=h("iframe",{src:o},{height:0,width:0,frameBorder:0,style:{display:"none"}},[]);var a;a=i,document.body?document.body.appendChild(a):window.addEventListener("load",()=>{document.body.appendChild(a)},!1);var s;s=function n(r){var o;if(r.origin.includes("www.everestjs.net"))try{const t=r.data,i=t.indexOf("#");if(-1===i)return void e({surferId:null,displayClickCookie:null});const a=new URLSearchParams(t.substring(i+1));let s,c;const d=a.get("gsurfer");d&&(s=d);const l=a.get(ud);l&&"__LCC__"!==l&&(c=l),o=n,window.removeEventListener("message",o,!1),s?(md=s,fd=c,e({surferId:md,displayClickCookie:fd})):e({surferId:null,displayClickCookie:null})}catch(e){t(e)}finally{hd=null}},window.addEventListener("message",s,!1)},5e3)}),hd),vd=function(e,t,n=!0){if(t){if(!ae({getBrowser:t})())return Promise.resolve(null)}if(md&&""!==md)return Promise.resolve(md);if(e){const t=e.getValue(od);if(t)return md=t,Promise.resolve(t)}return n?yd().then(t=>(e&&t&&(t.surferId&&e.setValue(od,t.surferId),t.displayClickCookie&&(e.setValue(ud,t.displayClickCookie),e.setValue(nd,Date.now()+9e5))),t.surferId)):Promise.resolve(null)},wd=15,Id=3e4,bd=500,Ed=5e3,Cd=2e3,kd={rampIdEnv:void 0,rampIdCallInitiated:!1,inProgressRampIdPromise:null,envelopeRetrievalInProgress:!1},Sd=(e,t,n,r)=>{let o;try{o=JSON.parse(e).envelope}catch{o=e}o&&!kd.rampIdCallInitiated?(kd.rampIdCallInitiated=!0,kd.rampIdEnv=o,kd.envelopeRetrievalInProgress=!1,kd.inProgressRampIdPromise=null,n.setValue(id,kd.rampIdEnv),n.setValue(rd,Date.now()+1728e5),t(kd.rampIdEnv)):(r.warn("Invalid RampID envelope received",{envelope:o}),kd.envelopeRetrievalInProgress=!1)},Pd=(e,t,n,r=!1)=>{if(kd.inProgressRampIdPromise)return kd.inProgressRampIdPromise;const o=r?Cd:Id;let i=!1;const a=new Promise((r,o)=>{U(e,{onLoad:()=>{void 0===window.ats||kd.envelopeRetrievalInProgress||(kd.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{e?i||Sd(e,r,t,n):(kd.envelopeRetrievalInProgress=!1,window.addEventListener("lrEnvelopePresent",()=>{kd.envelopeRetrievalInProgress||i||(kd.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{i||Sd(e,r,t,n)},e=>{i||(n.error("Failed to retrieve envelope after event",e),kd.envelopeRetrievalInProgress=!1,o(e),kd.inProgressRampIdPromise=null)}))}))}).catch(e=>{i||(n.error("Error retrieving envelope",e),kd.envelopeRetrievalInProgress=!1,o(e),kd.inProgressRampIdPromise=null)})),((e,t,n,r)=>{let o=wd,i=1,a=0;const s=()=>{if(kd.rampIdEnv)return;if(a>Id)return r.error("Maximum retry time exceeded"),kd.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID - timeout")),void(kd.inProgressRampIdPromise=null);if(0===o)return r.error("Maximum retries exceeded"),kd.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID after maximum retries")),void(kd.inProgressRampIdPromise=null);const c=Math.min(bd*i,Ed);setTimeout(()=>{a+=c,o-=1,i+=1,void 0===window.ats||null===window.ats||kd.rampIdEnv||kd.envelopeRetrievalInProgress?s():(kd.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(t=>{Sd(t,e,n,r),kd.rampIdEnv||s()},()=>{r.warn("Failed to retrieve envelope"),kd.envelopeRetrievalInProgress=!1,s()}))},c)};s()})(e=>{i||r(e)},e=>{i||o(e)},t,n)},onError:e=>{i||o(e),kd.inProgressRampIdPromise=null}})}),s=new Promise(e=>{setTimeout(()=>{i=!0,e(null)},o)});return kd.inProgressRampIdPromise=Promise.race([a,s]).finally(()=>{kd.inProgressRampIdPromise=null}),kd.inProgressRampIdPromise},Dd=(e,t,n,r=!0,o=!1)=>{if(kd.rampIdEnv)return Promise.resolve(kd.rampIdEnv);if(n){const e=n.getValue(id),t=n.getValue(rd);if(e&&t&&t>Date.now())return kd.rampIdEnv=e,Promise.resolve(e)}return r&&null!=t?Pd(t,n,e,o):Promise.resolve(null)};let Rd="",Td=null;const Od=function(e,t,n=!0,r=!1){return Rd&&""!==Rd?Promise.resolve(Rd):n?((e,t,n)=>{if(e=Math.floor(Number(e)),Td)return Td;const r=t?2e3:3e4;let o=!1;const i=new Promise((t,r)=>{if(!e)return n.error("Missing partner ID"),void r(new Error("ID5 partner ID is required"));const i=()=>{try{if(void 0===window.ID5)return void r(new Error("ID5 object not available after script load"));const i=window.ID5.init({partnerId:e});Rd=i.getUserId();const a=e=>{o||t(e)};Rd?a(Rd):window.ID5.init({partnerId:e}).onAvailable(function(t){Rd=t.getUserId(),Rd?a(Rd):window.ID5.init({partnerId:e}).onAvailable(function(e){Rd=e.getUserId(),Rd?a(Rd):(n.error("Failed to get ID5 ID after all retries"),a(null))})},1e3)}catch(e){n.error("Error during ID5 initialization",e),r(e)}};void 0!==window.ID5?i():U("https://www.everestjs.net/static/id5-api.js",{onLoad:i,onError:e=>{n.error("Script loading failed",e),r(e)}})}),a=new Promise(e=>{setTimeout(()=>{o=!0,e(null)},r)});return Td=Promise.race([i,a]).finally(()=>{Td=null}),Td})(t,r,e).then(e=>e).catch(t=>{throw e.error("Failed to get ID5 ID",t),t}):Promise.resolve(null)},Nd=()=>{const e=Ee.parse(window.location.search);return{skwcid:e.s_kwcid,efid:e.ef_id}},Md=e=>e&&Array.isArray(e)?e.filter(e=>e&&!0===e.enabled&&e.advertiserId).map(e=>e.advertiserId).join(", "):"",Ad=(e,t,n,r,o=!1)=>{const i=n.getValue(ed);let a=null;const s=n.getValue(nd);s&&s>Date.now()&&(a=n.getValue(ud));const c={advertising:{...i?.click_time&&{lastSearchClick:i.click_time},...a&&{lastDisplayClick:a},stitchIds:{...e[od]&&{surferId:e[od]},...e[ad]&&{id5:e[ad]},...e[id]&&{rampIdEnv:e[id]},ipAddress:"DUMMY_IP_ADDRESS"},advIds:Md(r.advertiserSettings),...o&&{eventType:sd}}};return t.mergeQuery(c),t},xd=(e,t)=>{const n=Date.now(),r=t.getValue(e+"_last_conversion");return Boolean(r&&n-r<18e5)};async function qd({eventManager:e,cookieManager:t,logger:n,componentConfig:r,adConversionHandler:o,getBrowser:i}){const a={},s={},c=async()=>{if(i=a,c=s,!Object.entries(i).some(([e])=>!c[e]))return null;var i,c;const d=Object.keys(a);try{const i=Ad(a,e.createEvent(),t,r,!0),c={eventType:sd,timestamp:(new Date).toISOString()};i.setUserXdm(c);const l=await o.trackAdConversion({event:i});return((e,t,n,r)=>{const o=Date.now();e.forEach(e=>{t[e]=!0,n.setValue(e+"_last_conversion",o),r.info("Ad conversion submitted successfully".replace("{0}",e))}),n.setValue(td,o)})(d,s,t,n),l}catch(e){return n.error(ld,e),null}},d=((e,t,n,r)=>{const o={};return xd(od,n)||(o.surferId=vd(n,r,!0).catch(()=>null)),t.id5PartnerId&&t.dspEnabled&&!xd(ad,n)&&(o.id5Id=Od(e,t.id5PartnerId).catch(()=>null)),t.rampIdJSPath&&t.dspEnabled&&!xd(id,n)&&(o.rampId=Dd(e,t.rampIdJSPath,n,!0).catch(()=>null)),o})(n,r,t,i);if(0===Object.keys(d).length)return[];const l=Object.entries(d).map(([e,t])=>t.then(t=>{if(t)return a[e]=t,c()}).catch(t=>(n.error("Unable to obtain ad identity".replace("{0}",e),t),null)));return Promise.allSettled(l)}var Ld=({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,componentConfig:o,getBrowser:i,consent:a})=>{const s=o?.advertiserSettings?Md(o.advertiserSettings):"";return async()=>{try{await a.awaitConsent();const{skwcid:c,efid:d}=Nd();if(!(!c&&!d))return async function({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:o,efid:i}){const a=Array.isArray(o)?o[0]:o,s=Array.isArray(i)?i[0]:i;r.info("Processing ad conversion",{skwcid:a,efid:s});const c=e.createEvent();if(void 0!==a&&void 0!==s&&a.startsWith("AL!")){const e={click_time:Date.now(),skwcid:a,efid:s};t.setValue(ed,e)}const d={_experience:{adcloud:{conversionDetails:{...void 0!==a&&{[cd]:a},...void 0!==s&&{[dd]:s}}}},eventType:"advertising.enrichment_ct",timestamp:(new Date).toISOString()};c.setUserXdm(d),t.setValue(td),t.setValue("lastConversionTimeExpires",Date.now()+78624e5);try{return await n.trackAdConversion({event:c})}catch(e){throw r.error(ld,e),e}}({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:c,efid:d});s&&qd({eventManager:e,cookieManager:t,logger:r,componentConfig:o,adConversionHandler:n,getBrowser:i}).catch(e=>r.error("Error in view through:",e))}catch(e){r.error("Error in sendAdConversion:",e)}}};const Ud=({logger:e,config:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o,getBrowser:i})=>{const a=t.advertising,s=pd({orgId:t.orgId,logger:e}),c=(({sendEdgeNetworkRequest:e,consent:t,createDataCollectionRequest:n,createDataCollectionRequestPayload:r,logger:o})=>({trackAdConversion:({event:i})=>{const a=r();a.addEvent(i),i.finalize();const s=n({payload:a});return t.awaitConsent().then(()=>e({request:s}).then(()=>({success:!0})).catch(e=>{throw o.error("Failed to send ad conversion event",e),e}))}}))({sendEdgeNetworkRequest:r,consent:o,createDataCollectionRequest:yn,createDataCollectionRequestPayload:In,logger:e});return(({handleOnBeforeSendEvent:e,sendAdConversionHandler:t})=>({lifecycle:{onComponentsRegistered(){t()},onBeforeEvent:e}}))({handleOnBeforeSendEvent:gd({cookieManager:s,logger:e,getBrowser:i,consent:o,componentConfig:a,collectSurferId:vd,getID5Id:Od,getRampId:Dd,appendAdvertisingIdQueryToEvent:Ad,getUrlParams:Nd,isThrottled:xd}),sendAdConversionHandler:Ld({eventManager:n,cookieManager:s,adConversionHandler:c,logger:e,componentConfig:a,getBrowser:i,consent:o})})};Ud.namespace="Advertising",Ud.configValidators=$c;const _d=async({vapidPublicKey:e,window:t})=>{if(!("serviceWorker"in t.navigator))throw new Error("Service workers are not supported in this browser.");if(!("PushManager"in t)||!("Notification"in t))throw new Error("Push notifications are not supported in this browser.");if("granted"!==t.Notification.permission)throw new Error("The user has not given permission to send push notifications.");const o=await t.navigator.serviceWorker.getRegistration();if(!o)throw new Error("No service worker registration was found.");if(!e)throw new Error("No VAPID public key was provided.");const i={userVisibleOnly:!0,applicationServerKey:n(e)};try{const e=await o.pushManager.subscribe(i);return{endpoint:e.endpoint,keys:{p256dh:r(new Uint8Array(e.getKey("p256dh")),{urlSafe:!0}),auth:r(new Uint8Array(e.getKey("auth")),{urlSafe:!0})}}}catch(n){const r=await o.pushManager.getSubscription();if(!r)throw n;if(!await r.unsubscribe())throw n;return _d({vapidPublicKey:e,window:t})}};const jd="config",Bd="alloyConfig";async function Fd(e,t){try{const i=await(n="alloyPushNotifications",r=1,o=e=>{e.objectStoreNames.contains(jd)||e.createObjectStore(jd,{keyPath:"id"})},new Promise((e,t)=>{const i=indexedDB.open(n,r);i.onerror=()=>t(i.error),i.onsuccess=()=>e(i.result),i.onupgradeneeded=e=>{const t=e.target.result;o&&o(t)}})),a=await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readonly").objectStore(t).get(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,jd,Bd),s={...a||{},...e,id:Bd,timestamp:Date.now()};await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readwrite").objectStore(t).put(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,jd,s),i.close(),t.info("Successfully saved web SDK config to IndexedDB",s)}catch(e){t.error("Failed to save config to IndexedDB",{error:e})}var n,r,o}const Vd="subscriptionDetails";var Hd=async({config:{vapidPublicKey:e,appId:t},storage:n,logger:r,sendEdgeNetworkRequest:o,consent:i,eventManager:a,identity:s,window:c,getPushSubscriptionDetails:d=_d})=>{await s.awaitIdentity();const l=s.getEcidFromCookie(),u=await d({vapidPublicKey:e,window:c}),p=JSON.stringify(ke(u)),g=""+l+p;if(g===n.getItem(Vd))return void r.info("Subscription details have not changed. Not sending to the server.");n.setItem(Vd,g);const m=await(async({ecid:e,eventManager:t,serializedPushSubscriptionDetails:n,appId:r})=>{const o=t.createEvent();o.setUserData({pushNotificationDetails:[{appID:r,token:n,platform:"web",denylisted:!1,identity:{namespace:{code:"ECID"},id:e}}]}),o.finalize();const i=In();return i.addEvent(o),i})({eventManager:a,ecid:l,serializedPushSubscriptionDetails:p,appId:t}),f=(({payload:e})=>hn({payload:e,getAction:()=>"interact",getUseSendBeacon:()=>!1}))({payload:m});await i.awaitConsent(),await o({request:f}),await Fd({ecid:l},r)};const zd=({orgId:e,pushNotifications:{vapidPublicKey:t,appId:n,trackingDatasetId:r}={vapidPublicKey:void 0,appId:void 0,trackingDatasetId:void 0}})=>e&&t&&n&&r,Jd=({createNamespacedStorage:e,eventManager:t,config:n,logger:r,consent:o,identity:i,getBrowser:a,sendEdgeNetworkRequest:s})=>({lifecycle:{async onComponentsRegistered(){if(zd(n)){const{datastreamId:e,edgeDomain:t,edgeBasePath:o,pushNotifications:{trackingDatasetId:i}}=n;await Fd({datastreamId:e,edgeDomain:t,edgeBasePath:o,datasetId:i,browser:a()},r)}}},commands:{sendPushSubscription:{run:async()=>{if(!zd(n))throw new Error("Push notifications module is not configured.");const{orgId:a,pushNotifications:{vapidPublicKey:c,appId:d}={vapidPublicKey:void 0,appId:void 0}}=n||{},l=e(Q(a)+".pushNotifications.");return Hd({config:{vapidPublicKey:c,appId:d},storage:l.persistent,logger:r,sendEdgeNetworkRequest:s,consent:o,eventManager:t,identity:i,window:window})},optionsValidator:Rt({}).noUnknownFields()}}});Jd.namespace="Push Notifications",Jd.configValidators=Rt({pushNotifications:Rt({vapidPublicKey:Tt().required(),appId:Tt().required(),trackingDatasetId:Tt().required()}).noUnknownFields()});const Xd=1e4,Gd=({loggingCookieJar:e,config:t})=>{if(!1===t.conversation.stickyConversationSession)return qe();const n=K(t.orgId,"bc_session_id"),r=e.get(n);return r||qe()};var Qd=({eventManager:e,config:t,logger:n,sendConversationServiceRequest:r,buildEndpointUrl:o,cookieTransfer:i,createResponse:a,decodeKndctrCookie:s,lifecycle:c,consent:d,session:l})=>{const{edgeDomain:u,edgeBasePath:p,datastreamId:g,onBeforeEventSend:m,conversation:f}=t;return h=>{let y=!1;const{message:v,onStreamResponse:w,xdm:I,data:b}=h,E=In(),C=(({payload:e,action:t="conversations",sessionId:n})=>hn({payload:e,edgeSubPath:"/brand-concierge",requestParams:{sessionId:n},getAction:()=>t,getUseSendBeacon:()=>!1}))({payload:E,sessionId:l.id}),k=e.createEvent();if(v||b){const e=(()=>{const e=(({window:e})=>()=>e.location)({window:window});return ei(e)})();k.mergeQuery({conversation:{surfaces:[e],message:v,data:b}})}const{state:S}=d.current();k.mergeMeta({consent:{state:S}});const P=s();k.mergeXdm({identityMap:{ECID:[{id:P}]}}),k.mergeXdm({...I}),(v||b)&&(y=!0);const D=o({edgeDomain:u,edgeBasePath:p,datastreamId:g,request:C});return c.onBeforeEvent({event:k}).then(()=>{try{k.finalize(m)}catch(e){throw w({error:e}),e}return E.addEvent(k),!0===t.conversation.stickyConversationSession&&i.cookiesToPayload(E,u),r({requestId:qe(),url:D,request:C,onStreamResponse:w,streamingEnabled:y}).then(e=>{if(204===e.status)return;const t=(({onStreamResponseCallback:e,streamTimeout:t})=>{let n,r=!1;const o=()=>{clearTimeout(n),n=setTimeout(()=>{r=!0,e({error:{message:"Stream timeout: No data received within "+t/1e3+" seconds"}})},t)};return o(),{onEvent:t=>{r||(o(),e(t))},onPing:()=>{r||o()},onComplete:()=>{clearTimeout(n)}}})({onStreamResponseCallback:e=>{if(e.error)return n.error("Stream error occurred",e.error),void w({error:e.error});const t=e.data.replace("data: ",""),r=JSON.parse(t),o=a({content:r});i.responseToCookies(o),n.info("onStreamResponse callback called with",o.getPayloadsByType("brand-concierge:conversation")),w(o.getPayloadsByType("brand-concierge:conversation"))},streamTimeout:f.streamTimeout}),r=(()=>{const e=/\r\n|\r|\n/,t=/\r\n\r\n|\n\n|\r\r/,n=e=>e.trim().startsWith(": ping"),r=t=>{const n=t.split(e),r={};for(const e of n){const t=e.trim();if(!t)continue;const n=t.indexOf(":");if(-1===n)continue;const o=t.substring(0,n).trim(),i=t.substring(n+1).trim();"data"===o?r.data=(r.data||"")+i:"event"===o?r.type=i:"id"===o&&(r.id=i)}return r.data?r:null};return async(e,{onEvent:o,onPing:i,onComplete:a})=>{const s=e.getReader(),c=new TextDecoder("utf-8");let d="";try{for(;;){const{done:e,value:a}=await s.read();if(e)break;d+=c.decode(a,{stream:!0});const l=d.split(t);d=l.pop()||"";for(const e of l){const t=e.trim();if(!t)continue;if(n(t)){i();continue}const a=r(t);null!==a&&o(a)}}const e=d.trim();if(!e)return void a();if(n(e))return i(),void a();const l=r(e);null!==l&&o(l),a()}catch(e){o({error:e}),a()}finally{s.releaseLock()}}})();r(e.body,t)})})}},Kd=Rt({conversation:Rt({stickyConversationSession:Ct().default(!1),streamTimeout:Pt().integer().minimum(Xd).default(Xd)}).default({stickyConversationSession:!1,streamTimeout:Xd})});const Wd=({loggingCookieJar:e,logger:t,eventManager:n,consent:r,instanceName:o,sendEdgeNetworkRequest:i,config:a,lifecycle:s,cookieTransfer:c,createResponse:d})=>{const{fetch:l}=window,u={id:Gd({loggingCookieJar:e,config:a})},p=(({queryString:e})=>({edgeDomain:t,request:n,datastreamId:r})=>{const o=n.getRequestParams(),i=n.getDatastreamIdOverride()||r;o.requestId=n.getId(),o.configId=i;const a=e.stringify({...o});return"https://"+t+n.getEdgeSubPath()+"/"+n.getAction()+"?"+a})({queryString:Ee}),g=(({logger:e,fetch:t})=>async({requestId:n,url:r,request:o,streamingEnabled:i=!0})=>{const a=o.getPayload(),s=JSON.stringify(a),c=JSON.parse(s),d={"Content-Type":"text/plain"};d.Accept=i?"text/event-stream":"text/plain",e.logOnBeforeNetworkRequest({url:r,requestId:n,payload:c});const l=async(o=1)=>{const i=[2e3,3e3,5e3];try{const e=await t(r,{method:"POST",headers:d,body:s});if(!e.ok)throw new Error("Request failed with status "+e.status);return e}catch(t){if(o<4){const a=i[o-1];return e.logOnNetworkError({requestId:n,url:r,payload:c,error:new Error("Attempt "+o+" failed, retrying in "+a+"ms: "+t.message)}),await new Promise(e=>setTimeout(e,a)),l(o+1)}throw e.logOnNetworkError({requestId:n,url:r,payload:c,error:t}),De({error:t,message:"Network request failed after all retries."})}};return(async()=>l())()})({logger:t,fetch:l,config:a}),m=Ft({orgId:a.orgId,cookieJar:e,logger:t}),f=Qd({logger:t,eventManager:n,consent:r,config:a,buildEndpointUrl:p,lifecycle:s,cookieTransfer:c,createResponse:d,sendConversationServiceRequest:g,decodeKndctrCookie:m,session:u});return{lifecycle:{onBeforeEvent({event:e}){const t=Ee.parse(window.location.search);if(t.source){const n=t.source;e.mergeXdm({channel:{referringSource:n}})}}},commands:{sendConversationEvent:{optionsValidator:e=>(({options:e})=>It([Rt({message:Tt().required(),onStreamResponse:kt().default(fe)}),Rt({xdm:Rt({interactionId:Tt(),conversationId:Tt(),conversation:Rt({feedback:Rt({classification:Tt(),comment:Tt(),reasons:Et(Tt())})})})}).required(),Rt({data:Rt({type:Tt().required(),payload:Rt({})}).required(),onStreamResponse:kt().default(fe)})])(e))({options:e}),run:f}}}};Wd.namespace="BrandConcierge",Wd.configValidators=Kd;var Yd=Object.freeze({__proto__:null,activityCollector:Qr,advertising:Ud,audiences:Yr,brandConcierge:Wd,consent:io,eventMerge:so,mediaAnalyticsBridge:Uo,personalization:Os,pushNotifications:Jd,rulesEngine:Qc,streamingMedia:Yc});const{console:$d}=window,Zd=de(window),el=(e={})=>{const t=Rt({name:Tt().default("alloy"),monitors:Et(Rt({})).default([]),components:Et(kt())}).noUnknownFields(),{name:n,monitors:r,components:o}=t(e),i=xt({console:$d,locationSearch:window.location.search,createLogger:gn,instanceName:n,createNamespacedStorage:Zd,getMonitors:An.bind(null,r)}),a=Cr({instanceName:n,logController:i,components:o});return i.logger.logOnInstanceCreated({instance:a}),a};(({components:e})=>{const t=window.__alloyNS;if(t)for(const n of t){const t=el({name:n,components:e}),r=e=>{const[n,r,[o,i]]=e;return t(o,i).then(n,r)},o=window[n].q;o.push=r,o.forEach(r)}})({components:Object.values(Yd)})}();
|
|
15
|
+
function o(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var i=function e(t,n){function r(e,r,i){if("undefined"!=typeof document){"number"==typeof(i=o({},n,i)).expires&&(i.expires=new Date(Date.now()+864e5*i.expires)),i.expires&&(i.expires=i.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a="";for(var s in i)i[s]&&(a+="; "+s,!0!==i[s]&&(a+="="+i[s].split(";")[0]));return document.cookie=e+"="+t.write(r,e)+a}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],r={},o=0;o<n.length;o++){var i=n[o].split("="),a=i.slice(1).join("=");try{var s=decodeURIComponent(i[0]);if(r[s]=t.read(a,s),e===s)break}catch(e){}}return e?r[e]:r}},remove:function(e,t){r(e,"",o({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,o({},this.attributes,t))},withConverter:function(t){return e(o({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"}),a={get:i.get.bind(i),set:i.set.bind(i),remove:i.remove.bind(i),withConverter:i.withConverter.bind(i)};const s=["__proto__","constructor","prototype"],c=(e,n)=>{Object.keys(n).forEach(r=>{s.includes(r)||(t(e[r])&&t(n[r])?c(e[r],n[r]):e[r]=n[r])})};var d=(t,...n)=>{if(e(t))throw new TypeError('deepAssign "target" cannot be null or undefined');const r=Object(t);return n.forEach(e=>c(r,Object(e))),r},l=(e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);d(r,n)},u=()=>{const e=[];return{add(t){e.push(t)},call:(...t)=>Promise.all(e.map(e=>e(...t)))}},p=({logger:e,cookieJar:t})=>({...t,set:(n,r,o)=>(e.info("Setting cookie",{name:n,value:r,...o}),t.set(n,r,o))}),g=()=>{const e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e};const m=(e,t)=>e===t;var f=(e,t)=>e.appendChild(t);var h=(e,n={},r={},o=[],i=document)=>{const a=i.createElement(e);return Object.keys(n).forEach(e=>{a.setAttribute(e,n[e])}),((e,n)=>{Object.keys(n).forEach(r=>{if("style"===r&&t(n[r])){const t=n[r];Object.keys(t).forEach(n=>{e.style[n]=t[n]})}else e[r]=n[r]})})(a,r),o.forEach(e=>f(a,e)),a};const y="IMG",v="STYLE",w="SCRIPT";var I=({src:e,currentDocument:t=document})=>new Promise((n,r)=>{h(y,{src:e},{onload:n,onerror:r,onabort:r},[],t)}),b=e=>"function"==typeof e,E=e=>Array.isArray(e)&&e.length>0,C=e=>Array.isArray(e)?e:null==e?[]:[].slice.call(e);const k=/^\s*>/;var S=(e,t)=>k.test(t)?C(e.querySelectorAll(":scope "+t)):C(e.querySelectorAll(t)),P=":shadow";const D=(e,t)=>{const n=t;if(!n.startsWith(">"))return n;return(e instanceof Element||e instanceof Document?":scope":":host")+" "+n};var R=(e,t)=>{const n=(e=>e.split(P))(t);if(n.length<2)return S(e,t);let r=e;for(let e=0;e<n.length;e+=1){const t=n[e].trim();if(""===t&&r.shadowRoot){r=r.shadowRoot;continue}const o=D(r,t),i=S(r,o);if(0===i.length||!i[0]||!i[0].shadowRoot)return i;r=i[0].shadowRoot}},T=(e,t=document)=>-1===e.indexOf(P)?S(t,e):R(t,e);const O="MutationObserver",N={childList:!0,subtree:!0},M=e=>new Error("Could not find: "+e),A=e=>new Promise(e);var x=(e,t=T,n=5e3,r=window,o=document)=>{const i=t(e);return E(i)?Promise.resolve(i):(e=>b(e[O]))(r)?((e,t,n,r,o)=>A((i,a)=>{let s;const c=new e[O](()=>{const e=o(n);E(e)&&(c.disconnect(),s&&clearTimeout(s),i(e))});s=setTimeout(()=>{c.disconnect(),a(M(n))},r),c.observe(t,N)}))(r,o,e,n,t):(e=>"visible"===e.visibilityState)(o)?((e,t,n,r)=>A((o,i)=>{const a=()=>{const n=r(t);E(n)?o(n):e.requestAnimationFrame(a)};a(),setTimeout(()=>{i(M(t))},n)}))(r,e,n,t):((e,t,n)=>A((r,o)=>{const i=()=>{const t=n(e);E(t)?r(t):setTimeout(i,100)};i(),setTimeout(()=>{o(M(e))},t)}))(e,n,t)};let q;const L=(e=document)=>{if(void 0===q){const t=e.querySelector("[nonce]");q=t&&(t.nonce||t.getAttribute("nonce"))}return q},U=(e,t={})=>document.querySelector('script[src="'+e+'"]')?(t.onLoad&&t.onLoad(),Promise.resolve()):new Promise((n,r)=>{const{attributes:o={},onLoad:i,onError:a}=t,s=h("script",{type:"text/javascript",src:e,async:!0,...L()&&{nonce:L()},...o},{onload:()=>{i&&i(),n()},onerror:()=>{const t=new Error("Failed to load script: "+e);a&&a(t),r(t)}}),c=()=>{const e=document.head||document.body;if(e)f(e,s);else{const e=new Error("Neither <head> nor <body> available for script insertion.");a&&a(e),r(e)}};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",c):c()});var _=e=>{const t=e.parentNode;return t?t.removeChild(e):null};const j={name:"Adobe Alloy"},B={style:{display:"none",width:0,height:0}};var F=e=>t(e)&&0===Object.keys(e).length;const V=(n,r)=>e(n)||!t(n)?n:Object.keys(n).reduce((e,o)=>{const i=n[o];if(t(i)){const t=V(i,r);return F(t)?e:{...e,[o]:t}}return r(i,o)?{...e,[o]:i}:e},{}),H=e=>(e=>{let t=2166136261;const n=(new TextEncoder).encode(e);for(let e=0;e<n.length;e+=1)t^=n[e],t=Math.imul(t,16777619);return t>>>0})(e).toString(16).padStart(8,"0");var z="com.adobe.alloy.",J=(e,t)=>e.slice(-t);const X=z+"getTld";var G="kndctr",Q=e=>e.replace("@","_"),K=(e,t)=>G+"_"+Q(e)+"_"+t,W=(e,t)=>{const n={};return e.forEach(e=>{const r=t(e);n[r]||(n[r]=[]),n[r].push(e)}),n};const Y="Chrome",$="Edge",Z="EdgeChromium",ee="Firefox",te="IE",ne="Safari",re="Unknown";var oe=e=>{let t,n=!1;return()=>(n||(n=!0,t=e()),t)};const ie=[Y,$,Z,"IE",re];var ae=({getBrowser:e})=>oe(()=>ie.includes(e()));var se=({orgId:e})=>{const t=K(e,"identity");return()=>Boolean(a.get(t))};const ce=(e,t,n)=>({getItem(r){try{return e[t].getItem(n+r)}catch{return null}},setItem(r,o){try{return e[t].setItem(n+r,o),!0}catch{return!1}},clear(){try{return Object.keys(e[t]).forEach(r=>{r.startsWith(n)&&e[t].removeItem(r)}),!0}catch{return!1}}});var de=e=>t=>{const n=z+t;return{session:ce(e,"sessionStorage",n),persistent:ce(e,"localStorage",n)}},le=e=>"boolean"==typeof e,ue=e=>"number"==typeof e&&!Number.isNaN(e),pe=e=>{const t=parseInt(e,10);return ue(t)&&e===t},ge=e=>"string"==typeof e,me=e=>ge(e)&&e.length>0,fe=()=>{};const he=e=>{const t={},n=e.split(".");switch(n.length){case 1:t.subdomain="",t.domain=e,t.topLevelDomain="";break;case 2:t.subdomain="",t.domain=e,t.topLevelDomain=n[1];break;case 3:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=n[2];break;case 4:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=n[2]+"."+n[3]}return t},ye=(e,t=he)=>{ge(e)||(e="");const n=(e=>{try{const t=new URL(e);let n=t.pathname;return e.endsWith("/")||"/"!==n||(n=""),{host:t.hostname,path:n,query:t.search.replace(/^\?/,""),anchor:t.hash.replace(/^#/,"")}}catch{return{host:"",path:"",query:"",anchor:""}}})(e),{host:r,path:o,query:i,anchor:a}=n;return{path:o,query:i,fragment:a,...t(r)}};var ve,we;function Ie(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var be=(we||(we=1,ve={parse:function(e){return function(e){var t={};if(!e||"string"!=typeof e)return t;var n=e.trim().replace(/^[?#&]/,""),r=new URLSearchParams(n),o=r.keys();do{var i=o.next(),a=i.value;if(a){var s=r.getAll(a);1===s.length?t[a]=s[0]:t[a]=s}}while(!1===i.done);return t}(e)},stringify:function(e){return function(e){var t="{{space}}",n=new URLSearchParams;return Object.keys(e).forEach(function(r){var o=e[r];"string"==typeof e[r]?o=o.replace(/ /g,t):["object","undefined"].includes(typeof o)&&!Array.isArray(o)&&(o=""),Array.isArray(o)?o.forEach(function(e){n.append(r,e)}):n.append(r,o)}),n.toString().replace(new RegExp(encodeURIComponent(t),"g"),"%20")}(e)}}),ve),Ee=Ie(be);const Ce=e=>Array.isArray(e)?e.map(e=>Ce(e)):"object"==typeof e&&null!==e?Object.keys(e).sort().reduce((t,n)=>(t[n]=Ce(e[n]),t),{}):e;var ke=e=>Ce(e),Se=e=>e instanceof Error?e:new Error(e),Pe=({error:e,message:t})=>{try{e.message=t}catch{}},De=({error:e,message:t})=>{const n=Se(e),r=t+"\nCaused by: "+n.message;return Pe({error:n,message:r}),n},Re=(e,t)=>{if(ue(e)||ge(e)){const t=Math.round(Number(e));if(!Number.isNaN(t))return t}return t};const Te=(e,t,n)=>(""+e).padStart(t,n);const Oe=[];for(let e=0;e<256;++e)Oe.push((e+256).toString(16).slice(1));let Ne;const Me=new Uint8Array(16);var Ae={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function xe(e,t,n){const r=(e=e||{}).random??e.rng?.()??function(){if(!Ne){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Ne=crypto.getRandomValues.bind(crypto)}return Ne(Me)}();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){if((n=n||0)<0||n+16>t.length)throw new RangeError("UUID byte range "+n+":"+(n+15)+" is out of buffer bounds");for(let e=0;e<16;++e)t[n+e]=r[e];return t}return function(e,t=0){return(Oe[e[t+0]]+Oe[e[t+1]]+Oe[e[t+2]]+Oe[e[t+3]]+"-"+Oe[e[t+4]]+Oe[e[t+5]]+"-"+Oe[e[t+6]]+Oe[e[t+7]]+"-"+Oe[e[t+8]]+Oe[e[t+9]]+"-"+Oe[e[t+10]]+Oe[e[t+11]]+Oe[e[t+12]]+Oe[e[t+13]]+Oe[e[t+14]]+Oe[e[t+15]]).toLowerCase()}(r)}function qe(e,t,n){return!Ae.randomUUID||t||e?xe(e,t,n):Ae.randomUUID()}const Le=e=>function(t,n){return null==t?t:e.call(this,t,n)},Ue=(e,t)=>function(n,r){return t.call(this,e.call(this,n,r),r)},_e=(e,t)=>function(n,r){const o=[],i=[e,t].reduce((e,t)=>{try{return t.call(this,e,r)}catch(t){return o.push(t),e}},n);if(o.length)throw new Error(o.join("\n"));return i},je=(e,t,n)=>Object.assign(Ue(e,t),e,n),Be=(e,t,n)=>Object.assign(Ue(e,Le(t)),e,n),Fe=(e,t,n,r)=>{if(!e)throw new Error("'"+n+"': Expected "+r+", but got "+JSON.stringify(t)+".")};var Ve=(e,t)=>(Fe(le(e),e,t,"true or false"),e),He=(e,t)=>(Fe(b(e),e,t,"a function"),e),ze=(e,t)=>function(n,r){let o;const i=e.find(e=>{try{return o=e.call(this,n,r),!0}catch{return!1}});return Fe(i,n,r,t),o},Je=e=>function(t,n){Fe(Array.isArray(t),t,n,"an array");const r=[],o=t.map((o,i)=>{try{return e.call(this,o,n+"["+i+"]",t)}catch(e){return void r.push(e.message)}});if(r.length)throw new Error(r.join("\n"));return o},Xe=(e="This field has been deprecated")=>function(t,n){let r=e;return void 0!==t&&(n&&(r="'"+n+"': "+r),this&&this.logger&&this.logger.warn(r)),t},Ge=e=>function(n,r){Fe(t(n),n,r,"an object");const o=[],i={};if(Object.keys(n).forEach(t=>{const a=n[t],s=r?r+"."+t:t;try{const n=e.call(this,a,s);void 0!==n&&(i[t]=n)}catch(e){o.push(e.message)}}),o.length)throw new Error(o.join("\n"));return i},Qe=(e,t)=>(n,r)=>(Fe(n>=t,n,r,e+" greater than or equal to "+t),n),Ke=e=>(n,r)=>(t(n)?Fe(!F(n),n,r,e):Fe(n.length>0,n,r,e),n),We=e=>function(n,r){Fe(t(n),n,r,"an object");const o=[],i={};if(Object.keys(e).forEach(t=>{const a=n[t],s=e[t],c=r?r+"."+t:t;try{const e=s.call(this,a,c);void 0!==e&&(i[t]=e)}catch(e){o.push(e.message)}}),Object.keys(n).forEach(e=>{Object.prototype.hasOwnProperty.call(i,e)||(i[e]=n[e])}),o.length)throw new Error(o.join("\n"));return i},Ye=(e,n,r)=>function(o,i){Fe(t(o),o,i,"an object");const{[e]:a,[r]:s,...c}=o,d=n(a,i);if(void 0!==d){let t="The field '"+e+"' is deprecated. Use '"+r+"' instead.";if(i&&(t="'"+i+"': "+t),void 0!==s&&s!==d)throw new Error(t);this&&this.logger&&this.logger.warn(t)}return{[r]:s||d,...c}},$e=()=>(e,t)=>(Fe((e=>{const t=Object.create(null);for(let n=0;n<e.length;n+=1){const r=e[n];if(r in t)return!1;t[r]=!0}return!0})(e),e,t,"array values to be unique"),e);const Ze=/^[a-z0-9.-]{1,}$/i;var et=(e,t)=>(Fe(Ze.test(e),e,t,"a valid domain"),e),tt=(e,t)=>(Fe(pe(e),e,t,"an integer"),e),nt=(e,t)=>(Fe(ue(e),e,t,"a number"),e),rt=(e,t)=>(Fe((e=>{try{return null!==RegExp(e)}catch{return!1}})(e),e,t,"a regular expression"),e),ot=(e,t)=>{if(null==e)throw new Error("'"+t+"' is a required option");return e},it=(e,t)=>(Fe(ge(e),e,t,"a string"),e);const at=e=>e;at.default=function(e){return je(this,(e=>t=>null==t?e:t)(e))},at.required=function(){return je(this,ot)},at.deprecated=function(e){return je(this,Xe(e))};const st=function(){return Be(this,et)},ct=function(e){return Be(this,Qe("an integer",e))},dt=function(e){return Be(this,Qe("a number",e))},lt=function(e){return Be(this,(t="a number",n=e,(e,r)=>(Fe(e<=n,e,r,t+" less than or equal to "+n),e)));var t,n},ut=function(){return Be(this,tt,{minimum:ct})},pt=function(){return Be(this,Ke("a non-empty string"))},gt=function(){return Be(this,Ke("a non-empty array"))},mt=function(){return Be(this,Ke("a non-empty object"))},ft=function(){return Be(this,rt)},ht=function(e){return Be(this,(e=>(t,n)=>(Fe(e.test(t),t,n,"does not match the "+e.toString()),t))(e))},yt=function(){return Be(this,(()=>{const e=[];return(t,n)=>(Fe(-1===e.indexOf(t),t,n,"a unique value across instances"),e.push(t),t)})())},vt=function(){return Be(this,$e())},wt=e=>({noUnknownFields:function(){return Be(this,(e=>(t,n)=>{const r=[];if(Object.keys(t).forEach(t=>{if(!e[t]){const e=n?n+"."+t:t;r.push("'"+e+"': Unknown field.")}}),r.length)throw new Error(r.join("\n"));return t})(e))},nonEmpty:mt,concat:function(t){const n={...e,...t.schema};return Be(this,t,wt(n))},renamed:function(e,t,n){return r=this,o=Ye(e,t,n),Object.assign(_e(Le(o),r),r,i);var r,o,i},schema:e}),It=function(e,t){return je(this,ze(e,t))}.bind(at),bt=function(){return this}.bind(at),Et=function(e){return Be(this,Je(e),{nonEmpty:gt,uniqueItems:vt})}.bind(at),Ct=function(){return Be(this,Ve)}.bind(at),kt=function(){return Be(this,He)}.bind(at),St=function(e){return Be(this,(e=>(t,n)=>(Fe(t===e,t,n,""+e),t))(e))}.bind(at),Pt=function(){return Be(this,nt,{minimum:dt,maximum:lt,integer:ut,unique:yt})}.bind(at),Dt=function(e){return Be(this,Ge(e),{nonEmpty:mt})}.bind(at),Rt=function(e){return Be(this,We(e),wt(e))}.bind(at),Tt=function(){return Be(this,it,{regexp:ft,domain:st,nonEmpty:pt,unique:yt,matches:ht})}.bind(at),Ot=function(...e){return It(e.map(St),"one of these values: "+JSON.stringify(e))};var Nt=Dt(Et(Rt({authenticatedState:Ot("ambiguous","authenticated","loggedOut"),id:Tt(),namespace:Rt({code:Tt()}).noUnknownFields(),primary:Ct(),xid:Tt()}).noUnknownFields()).required()),Mt=Rt({}),At="alloy_debug",xt=({console:e,locationSearch:t,createLogger:n,instanceName:r,createNamespacedStorage:o,getMonitors:i})=>{const a=Ee.parse(t),s=o("instance."+r+"."),c=s.session.getItem("debug");let d="true"===c,l=null===c;const u=()=>d,p=(e,{fromConfig:t})=>{t&&!l||(d=e),t||(s.session.setItem("debug",e.toString()),l=!1)};var g;return void 0!==a[At]&&p((g=a[At],ge(g)&&"true"===g.toLowerCase()),{fromConfig:!1}),{setDebugEnabled:p,logger:n({getDebugEnabled:u,context:{instanceName:r},getMonitors:i,console:e}),createComponentLogger:t=>n({getDebugEnabled:u,context:{instanceName:r,componentName:t},getMonitors:i,console:e})}};const qt=["onComponentsRegistered","onBeforeEvent","onBeforeRequest","onResponse","onRequestFailure","onClick","onDecision"];var Lt=e=>qt.reduce((t,n)=>{var r;return t[n]=(r=((e,t)=>(...n)=>Promise.all(e.getLifecycleCallbacks(t).map(e=>new Promise(t=>{t(e(...n))}))))(e,n),(...e)=>Promise.resolve().then(()=>r(...e))),t},{});const Ut=(e,t)=>(...n)=>{let r;try{r=e(...n)}catch(e){throw De({error:e,message:t})}return r instanceof Promise&&(r=r.catch(e=>{throw De({error:e,message:t})})),r};var _t=()=>{const e={},t={},n={};return{register(r,o){const{commands:i,lifecycle:a}=o;((e,n={})=>{const r=(o=Object.keys(t),i=Object.keys(n),o.filter(e=>i.includes(e)));var o,i;if(r.length)throw new Error("[ComponentRegistry] Could not register "+e+" because it has existing command(s): "+r.join(","));Object.keys(n).forEach(r=>{const o=n[r];o.commandName=r,o.run=Ut(o.run,"["+e+"] An error occurred while executing the "+r+" command."),t[r]=o})})(r,i),((e,t={})=>{Object.keys(t).forEach(r=>{n[r]=n[r]||[],n[r].push(Ut(t[r],"["+e+"] An error occurred while executing the "+r+" lifecycle hook."))})})(r,a),e[r]=o},getCommand:e=>t[e],getCommandNames:()=>Object.keys(t),getLifecycleCallbacks:e=>n[e]||[],getComponentNames:()=>Object.keys(e)}};const jt=(e,t)=>{let n,r=0,o=0;do{if(t<0||t+o>=e.length)throw new Error("Invalid varint: buffer ended unexpectedly");if(n=e[t+o],r|=(127&n)<<7*o,o+=1,o>10)throw new Error("Invalid varint: too long")}while(128&n);return{value:r,length:o}},Bt=Object.freeze({VARINT:0,I64:1,LEN:2,SGROUP:3,EGROUP:4,I32:5});var Ft=({orgId:e,cookieJar:t,logger:r})=>{const o=K(e,"identity");return()=>{const e=t.get(o);if(!e)return null;try{const t=decodeURIComponent(e).replace(/_/g,"/").replace(/-/g,"+");return(e=>{let t=0,n=null;for(;t<e.length&&!n;){const{value:r,length:o}=jt(e,t);t+=o;const i=7&r;if(1==r>>3){if(i===Bt.LEN){const r=jt(e,t);return t+=r.length,n=(new TextDecoder).decode(e.slice(t,t+r.value)),t+=r.value,n}}else switch(i){case Bt.VARINT:t+=jt(e,t).length;break;case Bt.I64:t+=8;break;case Bt.LEN:{const n=jt(e,t);t+=n.length+n.value;break}case Bt.SGROUP:case Bt.EGROUP:break;case Bt.I32:t+=4;break;default:throw new Error("Malformed kndctr cookie. Unknown wire type: "+i)}}throw new Error("No ECID found in cookie.")})(n(t))}catch(e){return r.warn("Unable to decode ECID from "+o+" cookie",e),null}}},Vt=({logger:e,loggingCookieJar:t,config:n})=>{let r=null;const o=new Promise(e=>{r=e}),i=Ft({orgId:n.orgId,cookieJar:t,logger:e});return{initialize(){i()&&this.setIdentityAcquired()},setIdentityAcquired(){r()},awaitIdentity:()=>o,getEcidFromCookie:()=>i()}};const Ht="in",zt="out",Jt="pending",Xt="disabled",Gt="wait",Qt="auto",Kt="general",Wt="declinedConsent",Yt="default",$t="initial",Zt="new",en=e=>{const t=new Error(e);return t.code=Wt,t.message=e,t};var tn=({logger:e})=>{const t=[],n=()=>Promise.resolve(),r=()=>Promise.resolve(),o=()=>Promise.reject(en("No consent preferences have been set.")),i=()=>Promise.reject(en("The user declined consent.")),a=e=>{if(e)return Promise.reject(new Error("Consent is pending."));const n=g();return t.push(n),n.promise};return{in(o){o===Yt?this.awaitConsent=n:(o===$t?e.info("Loaded user consent preferences. The user previously consented."):o===Zt&&this.awaitConsent!==r&&e.info("User consented."),(()=>{for(;t.length;)t.shift().resolve()})(),this.awaitConsent=r)},out(n){n===Yt?(e.warn("User consent preferences not found. Default consent of out will be used."),this.awaitConsent=o):(n===$t?e.warn("Loaded user consent preferences. The user previously declined consent."):n===Zt&&this.awaitConsent!==i&&e.warn("User declined consent."),(()=>{for(;t.length;)t.shift().reject(en("The user declined consent."))})(),this.awaitConsent=i)},pending(t){t===Yt&&e.info("User consent preferences not found. Default consent of pending will be used. Some commands may be delayed."),this.awaitConsent=a},awaitConsent:()=>Promise.resolve(),withConsent(){return this.awaitConsent(!0)},current(){switch(this.awaitConsent){case n:return{state:"in",wasSet:!1};case r:return{state:"in",wasSet:!0};case o:return{state:"out",wasSet:!1};case i:return{state:"out",wasSet:!0};case a:return{state:"pending",wasSet:!1};default:return{state:"in",wasSet:!1}}}}};const nn=e=>e&&e._experience&&e._experience.decisioning&&E(e._experience.decisioning.propositions)?e._experience.decisioning.propositions:[];var rn=()=>{const e={},t=Date.now();let n,r,o=!1,i=!1,a=!0;const s=e=>{if(i)throw new Error(e+" cannot be called after event is finalized.")},c={hasQuery(){return Object.prototype.hasOwnProperty.call(this.getContent(),"query")},getContent(){const t=JSON.parse(JSON.stringify(e));return n&&d(t,{xdm:n}),r&&d(t,{data:r}),t},setUserXdm(e){s("setUserXdm"),n=e},setUserData(e){s("setUserData"),r=e},mergeXdm(t){s("mergeXdm"),t&&d(e,{xdm:t})},mergeData(t){s("mergeData"),t&&d(e,{data:t})},mergeMeta(t){s("mergeMeta"),t&&d(e,{meta:t})},mergeQuery(t){s("mergeQuery"),t&&d(e,{query:t})},documentMayUnload(){o=!0},finalize(t){if(i)return;const o=((e,t=m)=>e.filter((n,r)=>((e,t,n)=>{for(let r=0;r<e.length;r+=1)if(n(e[r],t))return r;return-1})(e,n,t)===r))([...nn(n),...nn(e.xdm)],(e,t)=>e===t||e.id&&t.id&&e.id===t.id&&e.scope&&t.scope&&e.scope===t.scope);if(n&&this.mergeXdm(n),o.length>0&&(e.xdm._experience.decisioning.propositions=o),r&&c.mergeData(r),i=!0,t){a=!1;const n={xdm:e.xdm||{},data:e.data||{}},r=t(n);a=!1!==r,e.xdm=n.xdm||{},e.data=n.data||{},F(e.xdm)&&delete e.xdm,F(e.data)&&delete e.data}},getDocumentMayUnload:()=>o,getCreatedAt:()=>t,isEmpty:()=>F(e)&&(!n||F(n))&&(!r||F(r)),shouldSend:()=>a,getViewName(){if(n&&n.web&&n.web.webPageDetails)return n.web.webPageDetails.viewName},getUserIdentityMap:()=>n?.identityMap,toJSON(){if(!i)throw new Error("toJSON called before finalize");return e}};return c};const on="configure",an="setDebug";var sn=({logger:e,configureCommand:n,setDebugCommand:r,handleError:o,validateCommandOptions:i})=>{let a;return(s,c={})=>new Promise(t=>{const o=((t,o)=>{let s;if(t===on){if(a)throw new Error("The library has already been configured and may only be configured once.");s=()=>(a=n(o),a.then(()=>{}))}else{if(!a)throw new Error("The library must be configured first. Please do so by executing the configure command.");s=t===an?()=>{const e=Rt({enabled:Ct().required()}).noUnknownFields(),t=i({command:{commandName:an,optionsValidator:e},options:o});r(t)}:()=>a.then(e=>{const n=e.getCommand(t);if(!n||!b(n.run)){const n=[on,an].concat(e.getCommandNames()).join(", ");throw new Error("The "+t+" command does not exist. List of available commands: "+n+".")}const r=i({command:n,options:o});return n.run(r)},()=>(e.warn("An error during configuration is preventing the "+t+" command from executing."),new Promise(()=>{})))}return s})(s,c);e.logOnBeforeCommand({commandName:s,options:c}),t(o())}).catch(e=>o(e,s+" command")).catch(t=>{throw e.logOnCommandRejected({commandName:s,options:c,error:t}),t}).then(n=>{const r=t(n)?n:{};return e.logOnCommandResolved({commandName:s,options:c,result:r}),r})};const cn="https://adobe.ly/3sHgQHb";var dn=({command:e,options:t})=>{const{commandName:n,documentationUri:r=cn,optionsValidator:o}=e;let i=t;if(o)try{i=o(t)}catch(e){throw new Error("Invalid "+n+" command options:\n\t - "+e+" For command documentation see: "+r)}return i};var ln=({options:e,componentCreators:t,coreConfigValidators:n,createConfig:r,logger:o,setDebugEnabled:i})=>{const a=(e=>{const t=[],n={get enabled(){return e.enabled},flush(){t.forEach(({method:t,args:n})=>e[t](...n))}};return Object.keys(e).filter(t=>"function"==typeof e[t]).forEach(e=>{n[e]=(...n)=>{t.push({method:e,args:n})}}),n})(o),s=t.map(({configValidators:e})=>e).filter(e=>e).reduce((e,t)=>e.concat(t),n),c=r((({combinedConfigValidator:e,options:t,logger:n})=>{try{return e.noUnknownFields().required().call({logger:n},t)}catch(e){throw new Error("Resolve these configuration problems:\n\t - "+e.message.split("\n").join("\n\t - ")+"\nFor configuration documentation see: https://adobe.ly/3sHh553")}})({combinedConfigValidator:s,options:e,logger:a}));i(c.debugEnabled,{fromConfig:!0}),a.flush();const d=((e,t,n)=>n.reduce((n,{buildOnInstanceConfiguredExtraParams:r})=>(r&&(n={...n,...r({config:e,logger:t})}),n),{}))(c,o,t);return o.logOnInstanceConfigured({...d,config:c}),c};const un=e=>({...e});var pn=({errorPrefix:e,logger:t})=>(n,r)=>{const o=Se(n);if(o.code===Wt)return t.warn("The "+r+" could not fully complete. "+o.message),{};throw Pe({error:o,message:e+" "+o.message}),o},gn=({getDebugEnabled:e,console:t,getMonitors:n,context:r})=>{let o="["+r.instanceName+"]";r.componentName&&(o+=" ["+r.componentName+"]");const i=(e,t)=>{const o=n();if(o.length>0){const n={...r,...t};o.forEach(t=>{t[e]&&t[e](n)})}},a=(n,...r)=>{i("onBeforeLog",{level:n,arguments:r}),e()&&t[n](o,...r)};return{get enabled(){return n().length>0||e()},logOnInstanceCreated(e){i("onInstanceCreated",e),a("info","Instance initialized.")},logOnInstanceConfigured(e){i("onInstanceConfigured",e),a("info","Instance configured. Computed configuration:",e.config)},logOnBeforeCommand(e){i("onBeforeCommand",e),a("info","Executing "+e.commandName+" command. Options:",e.options)},logOnCommandResolved(e){i("onCommandResolved",e),a("info",e.commandName+" command resolved. Result:",e.result)},logOnCommandRejected(e){i("onCommandRejected",e),a("error",e.commandName+" command was rejected. Error:",e.error)},logOnBeforeNetworkRequest(e){i("onBeforeNetworkRequest",e),a("info","Request "+e.requestId+": Sending request.",e.payload)},logOnNetworkResponse(e){i("onNetworkResponse",e);const t=e.parsedBody||e.body?"response body:":"no response body.";a("info","Request "+e.requestId+": Received response with status code "+e.statusCode+" and "+t,e.parsedBody||e.body)},logOnNetworkError(e){i("onNetworkError",e),a("error","Request "+e.requestId+": Network request failed.",e.error)},logOnContentHiding(e){i("onContentHiding",{status:e.status}),a(e.logLevel,e.message)},logOnContentRendering(e){i("onContentRendering",{status:e.status,payload:e.detail}),a(e.logLevel,e.message)},info:a.bind(null,"info"),warn:a.bind(null,"warn"),error:a.bind(null,"error")}},mn="__view__",fn=e=>(t,n)=>{e.xdm=e.xdm||{},e.xdm.identityMap=e.xdm.identityMap||{},e.xdm.identityMap[t]=e.xdm.identityMap[t]||[],e.xdm.identityMap[t].push(n)},hn=e=>{const{payload:t,getAction:n,getUseSendBeacon:r,datastreamIdOverride:o,edgeSubPath:i,requestParams:a={}}=e,s=qe();let c=!1,d=!1;return{getId:()=>s,getPayload:()=>t,getAction:()=>n({isIdentityEstablished:d}),getDatastreamIdOverride:()=>o,getUseSendBeacon:()=>r({isIdentityEstablished:d}),getEdgeSubPath:()=>i||"",getUseIdThirdPartyDomain:()=>c,setUseIdThirdPartyDomain(){c=!0},setIsIdentityEstablished(){d=!0},getRequestParams:()=>a}},yn=({payload:e,datastreamIdOverride:t})=>{const n=({isIdentityEstablished:t})=>e.getDocumentMayUnload()&&t;return hn({payload:e,getAction:({isIdentityEstablished:e})=>n({isIdentityEstablished:e})?"collect":"interact",getUseSendBeacon:n,datastreamIdOverride:t})};var vn=t=>{const{content:n,addIdentity:r,hasIdentity:o}=t,i=((e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);Object.assign(r,n)})(n,"meta.configOverrides");return{mergeMeta:l(n,"meta"),mergeState:l(n,"meta.state"),mergeQuery:l(n,"query"),mergeConfigOverride:e=>i(e),finalizeConfigOverrides:()=>{if(n.meta?.configOverrides){const t=(t=>{if(e(t)||"object"!=typeof t)return null;const n=V(t,(t,n)=>!(e(t)||(!le(t)||"enabled"===n&&!1!==t)&&!ue(t)&&!me(t)&&!E(t)));return F(n)?null:n})(n.meta.configOverrides);null===t?delete n.meta.configOverrides:n.meta.configOverrides=t}},addIdentity:r,hasIdentity:o,toJSON:()=>n}},wn=e=>t=>void 0!==(e.xdm&&e.xdm.identityMap&&e.xdm.identityMap[t]),In=()=>{const e={};return{...vn({content:e,addIdentity:fn(e),hasIdentity:wn(e)}),addEvent:t=>{e.events=e.events||[],e.events.push(t)},getEvents:()=>e.events||[],getDocumentMayUnload:()=>(e.events||[]).some(e=>e.getDocumentMayUnload())}},bn=({localConfigOverrides:e,globalConfigOverrides:t,payload:n})=>{const r={payload:n},{datastreamId:o,...i}=e||{};return o&&(r.datastreamIdOverride=o),t&&!F(t)&&n.mergeConfigOverride(t),i&&!F(i)&&n.mergeConfigOverride(i),n.finalizeConfigOverrides(),r};const En="clientId";const Cn="Event was canceled because the onBeforeEventSend callback returned false.";var kn=({orgId:e,targetMigrationEnabled:t})=>n=>((e,t)=>0===t.indexOf(G+"_"+Q(e)+"_"))(e,n)||"at_qa_mode"===n||t&&"mbox"===n;var Sn=e=>((...e)=>e.length<2?Object.assign(...e):e.reduce((e,n)=>(t(n)&&Object.keys(n).forEach(t=>{Array.isArray(n[t])?Array.isArray(e[t])?e[t].push(...n[t]):e[t]=[...n[t]]:e[t]=n[t]}),e)))({},...e.shift()||[],...e.shift()||[],...e),Pn=e=>t=>{const n=()=>{throw t};return e.call({error:t}).then(n,n)};const Dn=e=>{if("function"!=typeof e.getEvents)return;const t=e.getEvents();if(0===t.length)return;const n=Math.min(...t.map(e=>e.getCreatedAt()));return r=Date.now()-n,o=0,i=3e5,Math.max(o,Math.min(r,i));var r,o,i};const Rn="The server responded with a";var Tn=({orgId:e,cookieJar:t})=>{const n=K(e,"cluster");return()=>t.get(n)||(()=>{const e=t.get("mboxEdgeCluster");if(e)return"t"+e})()};const On=[429,503,502,504];var Nn=({response:e,retriesAttempted:t})=>t<3&&On.includes(e.statusCode);var Mn=({response:e,retriesAttempted:t})=>{let n=(e=>{const t=e.getHeader("Retry-After");let n;if(t){const e=parseInt(t,10);n=pe(e)?1e3*e:Math.max(0,new Date(t).getTime()-(new Date).getTime())}return n})(e);return void 0===n&&(n=(e=>{const t=1e3+1e3*e,n=.3*t,r=t-n,o=t+n;return Math.round(r+Math.random()*(o-r))})(t)),n};var An=e=>{let t=window.__alloyMonitors||[];return e&&(t=t.concat(e)),t};var xn=e=>t=>{const n=e().toISOString();t.mergeXdm({timestamp:n})},qn="2.31.2-beta.1",Ln=[["architecture","string"],["bitness","string"],["model","string"],["platformVersion","string"],["wow64","boolean"]];const Un=new Set(["decisioning.propositionFetch","decisioning.propositionDisplay","decisioning.propositionInteract"]);const _n=(e=>t=>{t.mergeXdm({web:{webPageDetails:{URL:e.location.href||e.location},webReferrer:{URL:e.document.referrer}}})})(window),jn=(e=>t=>{const{screen:{width:n,height:r}}=e,o={},i=Re(r);i>=0&&(o.screenHeight=i);const a=Re(n);a>=0&&(o.screenWidth=a);const s=(e=>{const{screen:{orientation:t}}=e;if(null==t||null==t.type)return null;const n=t.type.split("-");return 0===n.length||"portrait"!==n[0]&&"landscape"!==n[0]?null:n[0]})(e)||(e=>{if(b(e.matchMedia)){if(e.matchMedia("(orientation: portrait)").matches)return"portrait";if(e.matchMedia("(orientation: landscape)").matches)return"landscape"}return null})(e);s&&(o.screenOrientation=s),Object.keys(o).length>0&&t.mergeXdm({device:o})})(window),Bn=(e=>t=>{const{document:{documentElement:{clientWidth:n,clientHeight:r}={}}}=e,o={type:"browser"},i=Re(n);i>=0&&(o.browserDetails={viewportWidth:i});const a=Re(r);a>=0&&(o.browserDetails=o.browserDetails||{},o.browserDetails.viewportHeight=a),t.mergeXdm({environment:o})})(window),Fn=(Vn=()=>new Date,e=>{const t=Vn(),n={},r=Re(t.getTimezoneOffset());void 0!==r&&(n.localTimezoneOffset=r),(void 0===r||Math.abs(r)<6e3)&&(n.localTime=(e=>{const t=e.getFullYear(),n=Te(e.getMonth()+1,2,"0"),r=Te(e.getDate(),2,"0"),o=Te(e.getHours(),2,"0"),i=Te(e.getMinutes(),2,"0"),a=Te(e.getSeconds(),2,"0"),s=Te(e.getMilliseconds(),3,"0"),c=Re(e.getTimezoneOffset(),0);return t+"-"+n+"-"+r+"T"+o+":"+i+":"+a+"."+s+(c>0?"-":"+")+Te(Math.floor(Math.abs(c)/60),2,"0")+":"+Te(Math.abs(c)%60,2,"0")})(t));const o=Intl.DateTimeFormat().resolvedOptions().timeZone;o&&(n.ianaTimezone=o),e.mergeXdm({placeContext:n})});var Vn;const Hn=xn(()=>new Date),zn={web:_n,device:jn,environment:Bn,placeContext:Fn},Jn={highEntropyUserAgentHints:(e=>(e=>"userAgentData"in e)(e)?(t,n)=>{try{return e.userAgentData.getHighEntropyValues(Ln.map(e=>e[0])).then(e=>{const n={};Ln.forEach(([t,r])=>{Object.prototype.hasOwnProperty.call(e,t)&&typeof e[t]===r&&(n[t]=e[t])}),t.mergeXdm({environment:{browserDetails:{userAgentClientHints:n}}})})}catch(e){return n.warn("Unable to collect user-agent client hints. "+e.message),fe}}:fe)(navigator),oneTimeAnalyticsReferrer:(e=>{let t=null;return n=>{const r=n.getContent(),o=r.xdm?.eventType;if(Un.has(o))return;const i=r.data?.__adobe?.analytics?.referrer,a=void 0!==i?i:e.document.referrer;a!==t?(n.mergeData({__adobe:{analytics:{referrer:a}}}),t=a):n.mergeData({__adobe:{analytics:{referrer:""}}})}})(window)},Xn={...zn,...Jn},Gn=[Hn,e=>{e.mergeXdm({implementationDetails:{name:"https://ns.adobe.com/experience/alloy",version:qn,environment:"browser"}})}],Qn=({config:e,logger:t})=>((e,t,n,r)=>{const o=e.context.flatMap((e,r)=>n[e]?[n[e]]:(t.warn("Invalid context["+r+"]: '"+e+"' is not available."),[])).concat(r);return{namespace:"Context",lifecycle:{onBeforeEvent:({event:e})=>Promise.all(o.map(n=>Promise.resolve(n(e,t))))}}})(e,t,Xn,Gn);Qn.namespace="Context",Qn.configValidators=Rt({context:Et(Tt()).default(Object.keys(zn))});const Kn=({eventManager:e,logger:t})=>({commands:{sendEvent:{documentationUri:"https://adobe.ly/3GQ3Q7t",optionsValidator:e=>(({options:e})=>Rt({type:Tt(),xdm:Rt({eventType:Tt(),identityMap:Nt}),data:Rt({}),documentUnloading:Ct(),renderDecisions:Ct(),decisionScopes:Et(Tt()).uniqueItems(),personalization:Rt({decisionScopes:Et(Tt()).uniqueItems(),surfaces:Et(Tt()).uniqueItems(),sendDisplayEvent:Ct().default(!0),includeRenderedPropositions:Ct().default(!1),defaultPersonalizationEnabled:Ct(),decisionContext:Rt({})}).default({sendDisplayEvent:!0}),datasetId:Tt(),mergeId:Tt(),edgeConfigOverrides:Mt,advertising:Rt({handleAdvertisingData:Ot(Xt,Gt,Qt).default(Xt)})}).required().noUnknownFields()(e))({options:e}),run:n=>{const{xdm:r,data:o,documentUnloading:i,type:a,mergeId:s,datasetId:c,edgeConfigOverrides:l,...u}=n,p=e.createEvent();return i&&p.documentMayUnload(),p.setUserXdm(r),p.setUserData(o),a&&p.mergeXdm({eventType:a}),s&&p.mergeXdm({eventMergeId:s}),l&&(u.edgeConfigOverrides=l),c&&(t.warn("The 'datasetId' option has been deprecated. Please use 'edgeConfigOverrides.com_adobe_experience_platform.datasets.event.datasetId' instead."),u.edgeConfigOverrides=l||{},d(u.edgeConfigOverrides,{com_adobe_experience_platform:{datasets:{event:{datasetId:c}}}})),e.sendEvent(p,u)}},applyResponse:{documentationUri:"",optionsValidator:e=>(({options:e})=>Rt({renderDecisions:Ct(),responseHeaders:Dt(Tt().required()),responseBody:Rt({handle:Et(Rt({type:Tt().required(),payload:bt().required()})).required()}).required(),personalization:Rt({sendDisplayEvent:Ct().default(!0),decisionContext:Rt({})}).default({sendDisplayEvent:!0})}).noUnknownFields()(e))({options:e}),run:t=>{const{renderDecisions:n=!1,decisionContext:r={},responseHeaders:o={},responseBody:i={handle:[]},personalization:a}=t,s=e.createEvent();return e.applyResponse(s,{renderDecisions:n,decisionContext:r,responseHeaders:o,responseBody:i,personalization:a})}}}});Kn.namespace="DataCollector";const Wn=(e,t)=>"ID sync "+(t?"succeeded":"failed")+": "+e.spec.url;const Yn=Rt({thirdPartyCookiesEnabled:Ct().default(!0),idMigrationEnabled:Ct().default(!0)});var $n=Rt({url:Tt().required().nonEmpty(),edgeConfigOverrides:Mt}).required().noUnknownFields(),Zn="ECID",er=({logger:e})=>new Promise((n,r)=>{if(t(window.adobe)&&t(window.adobe.optIn)){const t=window.adobe.optIn;e.info("Delaying request while waiting for legacy opt-in to let Visitor retrieve ECID from server."),t.fetchPermissions(()=>{t.isApproved([t.Categories.ECID])?(e.info("Received legacy opt-in approval to let Visitor retrieve ECID from server."),n()):r(new Error("Legacy opt-in was declined."))},!0)}else n()}),tr=({logger:e,orgId:t,awaitVisitorOptIn:n})=>()=>{const r=(e=>{const t=e.Visitor;return b(t)&&b(t.getInstance)&&t})(window);return r?n({logger:e}).then(()=>(e.info("Delaying request while using Visitor to retrieve ECID from server."),new Promise(n=>{r.getInstance(t,{}).getMarketingCloudVisitorID(t=>{e.info("Resuming previously delayed request that was waiting for ECID from Visitor."),n(t)},!0)}))).catch(t=>{t?e.info(t.message+", retrieving ECID from experience edge"):e.info("An error occurred while obtaining the ECID from Visitor.")}):Promise.resolve()},nr="CORE",rr=e=>{try{return decodeURIComponent(e)}catch{return""}};var or=(e,t)=>{e.addIdentity(Zn,{id:t})},ir=e=>e.getPayloadsByType("identity:result").reduce((e,t)=>(t.namespace&&t.namespace.code&&(e[t.namespace.code]=t.id),e),{}),ar=({payload:e,datastreamIdOverride:t})=>hn({payload:e,datastreamIdOverride:t,getAction:()=>"identity/acquire",getUseSendBeacon:()=>!1}),sr=e=>{const t={query:{identity:{fetch:e}}};return vn({content:t,addIdentity:fn(t),hasIdentity:wn(t)})};const cr=/^([^?#]*)(\??[^#]*)(#?.*)$/;const dr=Rt({namespaces:Et(Ot(Zn,nr)).nonEmpty().uniqueItems().default([Zn]),edgeConfigOverrides:Mt}).noUnknownFields().default({namespaces:[Zn]});const lr=({config:e,logger:t,consent:n,fireReferrerHideableImage:r,sendEdgeNetworkRequest:o,apexDomain:i,getBrowser:s,identity:c})=>{const{orgId:d,thirdPartyCookiesEnabled:l,edgeConfigOverrides:u}=e,g=(({config:e,getEcidFromVisitor:t,apexDomain:n,isPageSsl:r,cookieJar:o})=>{const{idMigrationEnabled:i,orgId:a}=e,s="AMCV_"+a,c=()=>{let e=null;const t=o.get("s_ecid")||o.get(s);if(t){const n=/(^|\|)MCMID\|(\d+)($|\|)/,r=t.match(n);r&&(e=r[2])}return e};return{getEcid(){if(i){const e=c();return e?Promise.resolve(e):t()}return Promise.resolve()},setEcid(e){if(i&&c()!==e){const t=r?{sameSite:"none",secure:!0}:{};o.set(s,"MCMID|"+e,{domain:n,expires:390,...t})}}}})({config:e,getEcidFromVisitor:tr({logger:t,orgId:d,awaitVisitorOptIn:er}),apexDomain:i,cookieJar:p({logger:t,cookieJar:a}),isPageSsl:"https:"===window.location.protocol}),m=se({orgId:d}),f=(({sendEdgeNetworkRequest:e,createIdentityRequestPayload:t,createIdentityRequest:n,globalConfigOverrides:r})=>({namespaces:o,edgeConfigOverrides:i}={})=>{const a=bn({payload:t(o),globalConfigOverrides:r,localConfigOverrides:i}),s=n(a);return e({request:s})})({sendEdgeNetworkRequest:o,createIdentityRequestPayload:sr,createIdentityRequest:ar,globalConfigOverrides:u}),h=ae({getBrowser:s}),y=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>n=>{e&&t()&&n.setUseIdThirdPartyDomain()})({thirdPartyCookiesEnabled:l,areThirdPartyCookiesSupportedByDefault:h}),v=(({getLegacyEcid:e,addEcidToPayload:t})=>n=>n.hasIdentity(Zn)?Promise.resolve():e().then(e=>{e&&t(n,e)}))({getLegacyEcid:g.getEcid,addEcidToPayload:or}),w=(({locationSearch:e,dateProvider:t,orgId:n,logger:r})=>o=>{if(o.hasIdentity(Zn))return;let i=Ee.parse(e).adobe_mc;if(void 0===i)return;Array.isArray(i)&&(r.warn("Found multiple adobe_mc query string paramters, only using the last one."),i=i[i.length-1]);const a=i.split("|").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=rr(r),e[n]=e[n].replace(/[^a-zA-Z0-9@.]/g,""),e},{}),s=parseInt(a.TS,10),c=a.MCMID,d=rr(a.MCORGID);t().getTime()/1e3<=s+300&&d===n&&c?(r.info("Found valid ECID identity "+c+" from the adobe_mc query string parameter."),o.addIdentity(Zn,{id:c})):r.info("Detected invalid or expired adobe_mc query string parameter.")})({locationSearch:window.document.location.search,dateProvider:()=>new Date,orgId:d,logger:t}),I=(({doesIdentityCookieExist:e,orgId:t,logger:n})=>({onResponse:r,onRequestFailure:o})=>new Promise((i,a)=>{r(()=>{e()?i():(n.warn("Identity cookie not found. This could be caused by any of the following issues:\n\t* The org ID "+t+" configured in Alloy doesn't match the org ID specified in the edge configuration.\n\t* Experience edge was not able to set the identity cookie due to domain or cookie restrictions.\n\t* The request was canceled by the browser and not fully processed."),a(new Error("Identity cookie not found.")))}),o(()=>{e()?i():a(new Error("Identity cookie not found."))})}))({doesIdentityCookieExist:m,orgId:d,logger:t}),b=(({doesIdentityCookieExist:e,setDomainForInitialIdentityPayload:t,addLegacyEcidToPayload:n,awaitIdentityCookie:r,logger:o})=>{let i;const a=e=>(t(e),n(e.getPayload()));return({request:t,onResponse:n,onRequestFailure:s})=>{if(e())return t.setIsIdentityEstablished(),Promise.resolve();if(i){o.info("Delaying request while retrieving ECID from server.");const e=i;return i=e.catch(()=>r({onResponse:n,onRequestFailure:s})),i.catch(()=>{}),e.then(()=>{o.info("Resuming previously delayed request."),t.setIsIdentityEstablished()}).catch(()=>a(t))}return i=r({onResponse:n,onRequestFailure:s}),i.catch(()=>{}),a(t)}})({doesIdentityCookieExist:m,setDomainForInitialIdentityPayload:y,addLegacyEcidToPayload:v,awaitIdentityCookie:I,logger:t}),E=(({fireReferrerHideableImage:e,logger:t})=>n=>{const r=n.filter(e=>"url"===e.type);return r.length?Promise.all(r.map(n=>e(n.spec).then(()=>{t.info(Wn(n,!0))}).catch(()=>{t.error(Wn(n,!1))}))).then(fe):Promise.resolve()})({fireReferrerHideableImage:r,logger:t}),C=(({processIdSyncs:e})=>t=>e(t.getPayloadsByType("identity:exchange")))({processIdSyncs:E}),k=(({dateProvider:e,orgId:t})=>(n,r)=>{const o=Math.round(e().getTime()/1e3),i=encodeURIComponent("TS="+o+"|MCMID="+n+"|MCORGID="+encodeURIComponent(t)),[,a,s,c]=r.match(cr),d=(e=>""===e?"?":"?"===e?"":"&")(s);return""+a+s+d+"adobe_mc="+i+c})({dateProvider:()=>new Date,orgId:d}),S=(({thirdPartyCookiesEnabled:e})=>t=>{const n=dr(t);if(!e&&n.namespaces.includes(nr))throw new Error("namespaces: The CORE namespace cannot be requested when third-party cookies are disabled.");return n})({thirdPartyCookiesEnabled:l}),P=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>{const n={identity:{fetch:[Zn]}};return e&&t()&&n.identity.fetch.push(nr),e=>{e.mergeQuery(n)}})({thirdPartyCookiesEnabled:l,areThirdPartyCookiesSupportedByDefault:h});return(({addEcidQueryToPayload:e,addQueryStringIdentityToPayload:t,ensureSingleIdentity:n,setLegacyEcid:r,handleResponseForIdSyncs:o,getNamespacesFromResponse:i,getIdentity:a,consent:s,appendIdentityToUrl:c,logger:d,identity:l,getIdentityOptionsValidator:u})=>{let p,g={};return{lifecycle:{onBeforeRequest:({request:r,onResponse:o,onRequestFailure:i})=>(e(r.getPayload()),t(r.getPayload()),n({request:r,onResponse:o,onRequestFailure:i})),onResponse({response:e}){const t=i(e);return p&&p[Zn]||!t||!t[Zn]||r(t[Zn]),t&&Object.keys(t).length>0&&(p={...p,...t}),g={...g,...e.getEdge()},l.setIdentityAcquired(),o(e)}},commands:{getIdentity:{optionsValidator:u,run:e=>{const{namespaces:t}=e;return s.awaitConsent().then(()=>{if(p)return;const n=l.getEcidFromCookie();return n&&t.includes(Zn)&&(p||(p={}),p[Zn]=n,1===t.length)?void 0:a(e)}).then(()=>({identity:t.reduce((e,t)=>(e[t]=p[t]||null,e),{}),edge:g}))}},appendIdentityToUrl:{optionsValidator:$n,run:e=>s.withConsent().then(()=>{if(p)return;const t=l.getEcidFromCookie();return t?(p||(p={}),void(p[Zn]=t)):a(e)}).then(()=>({url:c(p[Zn],e.url)})).catch(t=>(d.warn("Unable to append identity to url. "+t.message),e))}}}})({addEcidQueryToPayload:P,addQueryStringIdentityToPayload:w,ensureSingleIdentity:b,setLegacyEcid:g.setEcid,handleResponseForIdSyncs:C,getNamespacesFromResponse:ir,getIdentity:f,consent:n,identity:c,appendIdentityToUrl:k,logger:t,getIdentityOptionsValidator:S})};lr.namespace="Identity",lr.configValidators=Yn;const ur=({config:e,componentRegistry:t})=>{const n=[...t.getCommandNames(),on,an].sort(),r={...e};Object.keys(e).forEach(t=>{const n=e[t];"function"==typeof n&&(r[t]=n.toString())});const o=t.getComponentNames();return{version:qn,configs:r,commands:n,components:o}},pr=({config:e,componentRegistry:t})=>({commands:{getLibraryInfo:{run:()=>({libraryInfo:ur({config:e,componentRegistry:t})})}}});pr.namespace="LibraryInfo";var gr=Object.freeze({__proto__:null,context:Qn,dataCollector:Kn,identity:lr,libraryInfo:pr});const mr=de(window),{fetch:fr,navigator:hr}=window,yr=Rt({debugEnabled:Ct().default(!1),datastreamId:Tt().unique().required(),edgeDomain:Tt().domain().default("edge.adobedc.net"),edgeBasePath:Tt().nonEmpty().default("ee"),orgId:Tt().unique().required(),onBeforeEventSend:kt().default(fe),edgeConfigOverrides:Mt}).renamed("edgeConfigId",Tt().unique(),"datastreamId"),vr=((e,t)=>{let n="";const r=e.location.hostname.toLowerCase().split(".");let o=1;for(;o<r.length&&!t.get(X);)o+=1,n=J(r,o).join("."),t.set(X,X,{domain:n});return t.remove(X,{domain:n}),n})(window,a),wr=(({fetch:e})=>(t,n)=>e(t,{method:"POST",cache:"no-cache",credentials:"include",headers:{"Content-Type":"text/plain; charset=UTF-8"},referrerPolicy:"no-referrer-when-downgrade",body:n}).then(e=>e.text().then(t=>({statusCode:e.status,getHeader:t=>e.headers.get(t),body:t}))))({fetch:fr}),Ir=(({appendNode:e=f,awaitSelector:t=x,createNode:n=h,fireImage:r=I}={})=>{const o=r;let i;const a=({src:o})=>t("BODY").then(([t])=>i||(i=n("IFRAME",j,B),e(t,i))).then(e=>{const t=e.contentWindow.document;return r({src:o,currentDocument:t})});return e=>{const{hideReferrer:t,url:n}=e;return t?a({src:n}):o({src:n})}})(),br=(({window:e,createNamespacedStorage:t})=>{const n=t("validation.");return()=>{const t=Ee.parse(e.location.search).adb_validation_sessionid;if(!t)return"";const r=(e=>{let t=e.persistent.getItem(En);return t||(t=qe(),e.persistent.setItem(En,t)),t})(n),o=t+"|"+r;return"&"+Ee.stringify({adobeAepValidationToken:o})}})({window:window,createNamespacedStorage:mr}),Er=(({userAgent:e})=>oe(()=>((e,t)=>{const n=Object.keys(e);for(let r=0;r<n.length;r+=1){const o=n[r];if(e[o].test(t))return o}return re})({[$]:/Edge\/([0-9\._]+)/,[Z]:/Edg\/([0-9\.]+)/,[Y]:/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/,[ee]:/Firefox\/([0-9\.]+)(?:\s|$)/,[te]:/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/,[ne]:/Version\/([0-9\._]+).*Safari/},e)))({userAgent:window.navigator.userAgent}),Cr=({instanceName:e,logController:{setDebugEnabled:t,logger:n,createComponentLogger:r},components:o})=>{const i=_t(),s=Lt(i),c=o.concat(Object.values(gr)),d=p({logger:n,cookieJar:a}),l=pn({errorPrefix:"["+e+"]",logger:n}),g=sn({logger:n,configureCommand:o=>{const l=ln({options:o,componentCreators:c,coreConfigValidators:yr,createConfig:un,logger:n,setDebugEnabled:t}),{orgId:p,targetMigrationEnabled:g}=l,m=kn({orgId:p,targetMigrationEnabled:g}),f=(({cookieJar:e,shouldTransferCookie:t,apexDomain:n,dateProvider:r})=>({cookiesToPayload(r,o){const i=""!==n&&o.endsWith(n),a={domain:n,cookiesEnabled:!0};if(!i){const n=e.get(),r=Object.keys(n).filter(t).map(e=>({key:e,value:n[e]}));r.length&&(a.entries=r)}r.mergeState(a)},responseToCookies(t){t.getPayloadsByType("state:store").forEach(t=>{const o={domain:n},i=t.attrs&&t.attrs.SameSite&&t.attrs.SameSite.toLowerCase();void 0!==t.maxAge&&(o.expires=new Date(r().getTime()+1e3*t.maxAge)),void 0!==i&&(o.sameSite=i),"none"===i&&(o.secure=!0),e.set(t.key,t.value,o)})}}))({cookieJar:d,shouldTransferCookie:m,apexDomain:vr,dateProvider:()=>new Date}),h=b(hr.sendBeacon)?(({sendBeacon:e,sendFetchRequest:t,logger:n})=>(r,o)=>{const i=new Blob([o],{type:"text/plain; charset=UTF-8"});return e(r,i)?Promise.resolve({statusCode:204,getHeader:()=>null,body:""}):(n.info("Unable to use `sendBeacon`; falling back to `fetch`."),t(r,o))})({sendBeacon:hr.sendBeacon.bind(hr),sendFetchRequest:wr,logger:n}):wr,y=(({logger:e,sendFetchRequest:t,sendBeaconRequest:n,isRequestRetryable:r,getRequestRetryDelay:o})=>({requestId:i,url:a,payload:s,useSendBeacon:c})=>{const d=JSON.stringify(s),l=JSON.parse(d);e.logOnBeforeNetworkRequest({url:a,requestId:i,payload:l});const u=(s=0)=>(c?n:t)(a,d).then(t=>{if(r({response:t,retriesAttempted:s})){const e=o({response:t,retriesAttempted:s});return new Promise(t=>{setTimeout(()=>{t(u(s+1))},e)})}let n;try{n=JSON.parse(t.body)}catch{}return e.logOnNetworkResponse({requestId:i,url:a,payload:l,...t,parsedBody:n,retriesAttempted:s}),{statusCode:t.statusCode,body:t.body,parsedBody:n,getHeader:t.getHeader}});return u().catch(t=>{throw e.logOnNetworkError({requestId:i,url:a,payload:l,error:t}),De({error:t,message:"Network request failed."})})})({logger:n,sendFetchRequest:wr,sendBeaconRequest:h,isRequestRetryable:Nn,getRequestRetryDelay:Mn}),v=(({logger:e})=>t=>{const{statusCode:n,body:r,parsedBody:o}=t;if(n<200||n>=300||!o&&204!==n||o&&!Array.isArray(o.handle)){const e=o?JSON.stringify(o,null,2):r;throw new Error(Rn+" status code "+n+" and "+(e?"response body:\n"+e:"no response body."))}if(o){const{warnings:t=[],errors:n=[]}=o;t.forEach(t=>{e.warn(Rn+" warning:",t)}),n.forEach(t=>{e.error(Rn+" non-fatal error:",t)})}})({logger:n}),w=(({logger:e})=>t=>{if(t){const n=t.split(";");if(n.length>=2&&n[1].length>0)try{const e=parseInt(n[1],10);if(!Number.isNaN(e))return{regionId:e}}catch{}e.warn('Invalid adobe edge: "'+t+'"')}return{}})({logger:n}),I=(({extractEdgeInfo:e})=>({content:t={},getHeader:n})=>{const{handle:r=[],errors:o=[],warnings:i=[]}=t;return{getPayloadsByType:e=>r.filter(t=>t.type===e).flatMap(e=>e.payload),getErrors:()=>o,getWarnings:()=>i,getEdge:()=>e(n("x-adobe-edge")),toJSON:()=>t}})({extractEdgeInfo:w}),E=Tn({orgId:p,cookieJar:a}),C=(({config:e,lifecycle:t,cookieTransfer:n,sendNetworkRequest:r,createResponse:o,processWarningsAndErrors:i,getLocationHint:a,getAssuranceValidationTokenParams:s})=>{const{edgeDomain:c,edgeBasePath:d,datastreamId:l}=e;let p=!1;const g=(e,t)=>{const n=a(),r=n?d+"/"+n+t.getEdgeSubPath():""+d+t.getEdgeSubPath(),o=t.getDatastreamIdOverride()||l;return o!==l&&t.getPayload().mergeMeta({sdkConfig:{datastream:{original:l}}}),"https://"+e+"/"+r+"/v1/"+t.getAction()+"?configId="+o+"&requestId="+t.getId()+s()};return({request:e,runOnResponseCallbacks:a=fe,runOnRequestFailureCallbacks:s=fe})=>{const d=u();d.add(t.onResponse),d.add(a);const l=u();return l.add(t.onRequestFailure),l.add(s),t.onBeforeRequest({request:e,onResponse:d.add,onRequestFailure:l.add}).then(()=>{const t=p||!e.getUseIdThirdPartyDomain()?c:"adobedc.demdex.net",o=g(t,e),i=e.getPayload(),a=Dn(i);return void 0!==a&&i.mergeMeta({queueTimeMillis:a}),n.cookiesToPayload(i,t),r({requestId:e.getId(),url:o,payload:i,useSendBeacon:e.getUseSendBeacon()})}).then(e=>(i(e),e)).catch(t=>{if(((e,t)=>t.getUseIdThirdPartyDomain()&&(e=>"TypeError"===e.name||"NetworkError"===e.name||0===e.status)(e))(t,e)){p=!0,e.setUseIdThirdPartyDomain(!1);const t=g(c,e),o=e.getPayload();return n.cookiesToPayload(o,c),r({requestId:e.getId(),url:t,payload:o,useSendBeacon:e.getUseSendBeacon()})}return Pn(l)(t)}).then(({parsedBody:e,getHeader:t})=>{const r=o({content:e,getHeader:t});return n.responseToCookies(r),d.call({response:r}).then(Sn)})}})({config:l,lifecycle:s,cookieTransfer:f,sendNetworkRequest:y,createResponse:I,processWarningsAndErrors:v,getLocationHint:E,getAssuranceValidationTokenParams:br}),k=(({cookieTransfer:e,lifecycle:t,createResponse:n,processWarningsAndErrors:r})=>({request:o,responseHeaders:i,responseBody:a,runOnResponseCallbacks:s=fe,runOnRequestFailureCallbacks:c=fe})=>{const d=u();d.add(t.onResponse),d.add(s);const l=u();l.add(t.onRequestFailure),l.add(c);const p=e=>i[e];return t.onBeforeRequest({request:o,onResponse:d.add,onRequestFailure:l.add}).then(()=>r({statusCode:200,getHeader:p,body:JSON.stringify(a),parsedBody:a})).catch(Pn(l)).then(()=>{const t=n({content:a,getHeader:p});return e.responseToCookies(t),d.call({response:t}).then(Sn)})})({lifecycle:s,cookieTransfer:f,createResponse:I,processWarningsAndErrors:v}),S=(({generalConsentState:e,logger:t})=>{const n=(n,r)=>{switch(n[Kt]){case Ht:e.in(r);break;case zt:e.out(r);break;case Jt:e.pending(r);break;default:t.warn("Unknown consent value: "+n[Kt])}};return{initializeConsent(e,t){t[Kt]?n(t,$t):n(e,Yt)},setConsent(e){n(e,Zt)},suspend(){e.pending()},awaitConsent:()=>e.awaitConsent(),withConsent:()=>e.withConsent(),current:()=>e.current()}})({generalConsentState:tn({logger:n}),logger:n}),P=Vt({config:l,logger:n,loggingCookieJar:d});P.initialize();const D=(({config:e,logger:t,lifecycle:n,consent:r,createEvent:o,createDataCollectionRequestPayload:i,createDataCollectionRequest:a,sendEdgeNetworkRequest:s,applyResponse:c})=>{const{onBeforeEventSend:d,edgeConfigOverrides:l}=e;return{createEvent:o,sendEvent(e,o={}){const{edgeConfigOverrides:c,...p}=o,g=bn({payload:i(),localConfigOverrides:c,globalConfigOverrides:l}),m=a(g),f=u(),h=u();return n.onBeforeEvent({...p,event:e,onResponse:f.add,onRequestFailure:h.add}).then(()=>(g.payload.addEvent(e),r.awaitConsent())).then(()=>{try{e.finalize(d)}catch(e){const t=()=>{throw e};return h.add(n.onRequestFailure),h.call({error:e}).then(t,t)}if(!e.shouldSend()){h.add(n.onRequestFailure),t.info(Cn);const e=new Error(Cn);return h.call({error:e}).then(()=>{})}return s({request:m,runOnResponseCallbacks:f.call,runOnRequestFailureCallbacks:h.call})})},applyResponse(e,t={}){const{renderDecisions:r=!1,decisionContext:o={},responseHeaders:s={},responseBody:d={handle:[]},personalization:l}=t,p=i(),g=a({payload:p}),m=u();return n.onBeforeEvent({event:e,renderDecisions:r,decisionContext:o,decisionScopes:[mn],personalization:l,onResponse:m.add,onRequestFailure:fe}).then(()=>(p.addEvent(e),c({request:g,responseHeaders:s,responseBody:d,runOnResponseCallbacks:m.call})))}}})({config:l,logger:n,lifecycle:s,consent:S,createEvent:rn,createDataCollectionRequestPayload:In,createDataCollectionRequest:yn,sendEdgeNetworkRequest:C,applyResponse:k});return(({componentCreators:e,lifecycle:t,componentRegistry:n,getImmediatelyAvailableTools:r})=>(e.forEach(e=>{const{namespace:t}=e,o=r(t);let i;try{i=e(o)}catch(e){throw De({error:e,message:"["+t+"] An error occurred during component creation."})}n.register(t,i)}),t.onComponentsRegistered({lifecycle:t}).then(()=>n)))({componentCreators:c,lifecycle:s,componentRegistry:i,getImmediatelyAvailableTools(t){const n=r(t);return{loggingCookieJar:d,instanceName:e,config:l,componentRegistry:i,consent:S,identity:P,eventManager:D,fireReferrerHideableImage:Ir,logger:n,lifecycle:s,sendEdgeNetworkRequest:C,handleError:pn({errorPrefix:"["+e+"] ["+t+"]",logger:n}),createNamespacedStorage:mr,apexDomain:vr,getBrowser:Er,cookieTransfer:f,createResponse:I}}})},setDebugCommand:e=>{t(e.enabled,{fromConfig:!1})},handleError:l,validateCommandOptions:dn});return g};var kr=({eventManager:e,lifecycle:t,handleError:n})=>{const r=(({eventManager:e,lifecycle:t,handleError:n})=>r=>{if(r.s_fe)return Promise.resolve();const o="composedPath"in r&&r.composedPath().length>0?r.composedPath()[0]:r.target,i=e.createEvent();return i.documentMayUnload(),t.onClick({event:i,clickedElement:o}).then(()=>i.isEmpty()?Promise.resolve():e.sendEvent(i)).then(fe).catch(e=>{n(e,"click collection")})})({eventManager:e,lifecycle:t,handleError:n});document.addEventListener("click",r,!0)};const Sr="\\.(exe|zip|wav|mp3|mov|mpg|avi|wmv|pdf|doc|docx|xls|xlsx|ppt|pptx)$",Pr=Tt().regexp().default(Sr),Dr=Rt({clickCollectionEnabled:Ct().default(!0),clickCollection:Rt({internalLinkEnabled:Ct().default(!0),externalLinkEnabled:Ct().default(!0),downloadLinkEnabled:Ct().default(!0),sessionStorageEnabled:Ct().default(!1),eventGroupingEnabled:Ct().default(!1),filterClickProperties:kt()}).default({internalLinkEnabled:!0,externalLinkEnabled:!0,downloadLinkEnabled:!0,sessionStorageEnabled:!1,eventGroupingEnabled:!1}),downloadLinkQualifier:Pr,onBeforeLinkClickSend:kt().deprecated('The field "onBeforeLinkClickSend" has been deprecated. Use "clickCollection.filterClickDetails" instead.')});var Rr=(e=document)=>null!==e.getElementById("cppXYctnr"),Tr=e=>{let t=e;/^https?:\/\//i.test(t)||(t=window.location.protocol+"//"+e);return new URL(t).hostname};var Or=({config:e,logger:t,getClickedElementProperties:n,clickActivityStorage:r})=>{const{clickCollectionEnabled:o,clickCollection:i}=e;return o?({event:o,clickedElement:a})=>{const s=n({clickActivityStorage:r,clickedElement:a,config:e,logger:t}),c=s.linkType;var d,l;Rr()||(s.isValidLink()&&((e,t)=>t&&("download"===t&&!e.downloadLinkEnabled||"exit"===t&&!e.externalLinkEnabled||"other"===t&&!e.internalLinkEnabled))(i,c)?t.info("Cancelling link click event due to clickCollection."+c+"LinkEnabled = false."):s.isInternalLink()&&i.eventGroupingEnabled&&(!e.onBeforeLinkClickSend||i.filterClickDetails)&&(d=window.location.hostname,l=s.linkUrl,Tr(d)===Tr(l))?r.save(s.properties):s.isValidLink()?(o.mergeXdm(s.xdm),o.mergeData(s.data),r.save({pageName:s.pageName,pageIDType:s.pageIDType})):s.isValidActivityMapData()&&r.save(s.properties))}:()=>{}};var Nr=({properties:e,logger:t}={})=>{let n=e||{};return{get pageName(){return n.pageName},set pageName(e){n.pageName=e},get linkName(){return n.linkName},set linkName(e){n.linkName=e},get linkRegion(){return n.linkRegion},set linkRegion(e){n.linkRegion=e},get linkType(){return n.linkType},set linkType(e){n.linkType=e},get linkUrl(){return n.linkUrl},set linkUrl(e){n.linkUrl=e},get pageIDType(){return n.pageIDType},set pageIDType(e){n.pageIDType=e},get clickedElement(){return n.clickedElement},set clickedElement(e){n.clickedElement=e},get properties(){return{pageName:n.pageName,linkName:n.linkName,linkRegion:n.linkRegion,linkType:n.linkType,linkUrl:n.linkUrl,pageIDType:n.pageIDType}},isValidLink:()=>!!(n.linkUrl&&n.linkType&&n.linkName&&n.linkRegion),isInternalLink(){return this.isValidLink()&&"other"===n.linkType},isValidActivityMapData:()=>!!n.pageName&&!!n.linkName&&!!n.linkRegion&&void 0!==n.pageIDType,get xdm(){return n.filteredXdm?n.filteredXdm:(e=>({eventType:"web.webinteraction.linkClicks",web:{webInteraction:{name:e.linkName,region:e.linkRegion,type:e.linkType,URL:e.linkUrl,linkClicks:{value:1}}}}))(this)},get data(){return n.filteredData?n.filteredData:(e=>({__adobe:{analytics:{contextData:{a:{activitymap:{page:e.pageName,link:e.linkName,region:e.linkRegion,pageIDType:e.pageIDType}}}}}}))(this)},applyPropertyFilter(e){e&&!1===e(n)&&(t&&t.info("Clicked element properties were rejected by filter function: "+JSON.stringify(this.properties,null,2)),n={})},applyOptionsFilter(e){const r=this.options;if(r&&r.clickedElement&&(r.xdm||r.data)){if(e&&!1===e(r))return t&&t.info("Clicked element properties were rejected by filter function: "+JSON.stringify(this.properties,null,2)),void(this.options=void 0);this.options=r,n.filteredXdm=r.xdm,n.filteredData=r.data}},get options(){const e={};if(this.isValidLink()&&(e.xdm=this.xdm),this.isValidActivityMapData()&&(e.data=this.data),this.clickedElement&&(e.clickedElement=this.clickedElement),e.xdm||e.data)return e},set options(e){n={},e&&((e,t)=>{const{xdm:n,data:r,clickedElement:o}=e;if(t.clickedElement=o,n&&n.web&&n.web.webInteraction){const{name:e,region:r,type:o,URL:i}=n.web.webInteraction;t.linkName=e,t.linkRegion=r,t.linkType=o,t.linkUrl=i}if(r&&r.__adobe&&r.__adobe.analytics){const{contextData:e}=r.__adobe.analytics;if(e&&e.a&&e.a.activitymap){const{page:n,link:r,region:o,pageIDType:i}=e.a.activitymap;t.pageName=n||t.pageName,t.linkName=r||t.linkName,t.linkRegion=o||t.linkRegion,void 0!==i&&(t.pageIDType=i)}}})(e,n)}}};const Mr="clickData";var Ar=e=>e&&e.replace(/\s+/g," ").trim();const xr=/^(SCRIPT|STYLE|LINK|CANVAS|NOSCRIPT|#COMMENT)$/i;const qr=e=>{let t=[],n=!1;if((e=>!(e&&e.nodeName&&e.nodeName.match(xr)))(e)){if(t.push(e),e.childNodes){Array.prototype.slice.call(e.childNodes).forEach(e=>{const r=qr(e);t=t.concat(r.supportedNodes),n=n||r.includesUnsupportedNodes})}}else n=!0;return{supportedNodes:t,includesUnsupportedNodes:n}},Lr=(e,t,n)=>{let r;return n&&n!==e.nodeName.toUpperCase()||(r=e.getAttribute(t)),r};const Ur=/^(HEADER|MAIN|FOOTER|NAV)$/i,_r=e=>{let t;return"region"===e.role&&me(e["aria-label"])&&(t=e["aria-label"]),t},jr=e=>{let t;return e&&e.nodeName&&e.nodeName.match(Ur)&&(t=e.nodeName),t};var Br=e=>!(!e.href||"A"!==e.tagName&&"AREA"!==e.tagName||e.onclick&&e.protocol&&!(e.protocol.toLowerCase().indexOf("javascript")<0)),Fr=e=>!!e&&!!e.onclick,Vr=e=>{if("INPUT"===e.tagName){const t=e.getAttribute("type");if("submit"===t)return!0;if("image"===t&&e.src)return!0}return!1},Hr=e=>"BUTTON"===e.tagName&&"submit"===e.type,zr=e=>{const t=e.indexOf("?"),n=e.indexOf("#");return t>=0&&(t<n||n<0)?e.substring(0,t):n>=0?e.substring(0,n):e};const Jr=(({window:e,getLinkName:t,getLinkRegion:n,getAbsoluteUrlFromAnchorElement:r,findClickableElement:o,determineLinkType:i})=>({clickedElement:a,config:s,logger:c,clickActivityStorage:d})=>{const{onBeforeLinkClickSend:l,clickCollection:u}=s,{filterClickDetails:p}=u,g=Nr({logger:c});if(a){const c=o(a);if(c){g.clickedElement=a,g.linkUrl=r(e,c),g.linkType=i(e,s,g.linkUrl,c),g.linkRegion=n(c),g.linkName=t(c),g.pageIDType=0,g.pageName=e.location.href;const o=d.load();o&&o.pageName&&(g.pageName=o.pageName,g.pageIDType=1),p?g.applyPropertyFilter(p):l&&g.applyOptionsFilter(l)}}return g})({window:window,getLinkName:e=>{let t=Ar(e.innerText||e.textContent);const n=qr(e);if(!t||n.includesUnsupportedNodes){const e=(e=>{const t={texts:[]};return e.supportedNodes.forEach(e=>{e.getAttribute&&(t.alt||(t.alt=Ar(e.getAttribute("alt"))),t.title||(t.title=Ar(e.getAttribute("title"))),t.inputValue||(t.inputValue=Ar(Lr(e,"value","INPUT"))),t.imgSrc||(t.imgSrc=Ar(Lr(e,"src","IMG"))),t.ariaLabel||(t.ariaLabel=Ar(e.getAttribute("aria-label"))),t.name||(t.name=Ar(e.getAttribute("name")))),e.nodeValue&&t.texts.push(e.nodeValue)}),t})(n);t=Ar(e.texts.join("")),t||(t=e.alt||e.title||e.inputValue||e.imgSrc||e.ariaLabel||e.name)}return t||""},getLinkRegion:e=>{let t,n=e.parentNode;for(;n;){if(t=Ar(n.id||_r(n)||jr(n)),t)return t;n=n.parentNode}return"BODY"},getAbsoluteUrlFromAnchorElement:(e,t)=>{const n=e.location.href;let r=t.href||"";"string"!=typeof r&&(r="");try{return new URL(r,n).href}catch{return n}},findClickableElement:e=>{let t=e;for(;t&&(!t.nodeName||"BODY"!==t.nodeName);){if(Br(t)||Fr(t)||Vr(t)||Hr(t))return t;t=t.parentNode}return null},determineLinkType:(e,t,n,r)=>{let o="other";return me(n)&&(((e,t,n)=>{let r=!1;if(t)if(n&&n.download)r=!0;else if(e){const n=new RegExp(e),o=zr(t).toLowerCase();r=n.test(o)}return r})(t.downloadLinkQualifier,n,r)?o="download":((e,t)=>{let n=!1;if(t&&e.location.hostname){const r=e.location.hostname.toLowerCase();n=zr(t).toLowerCase().indexOf(r)<0}return n})(e,n)&&(o="exit")),o}});let Xr;const Gr=e=>{if(!Xr){const t=de(window)(e.orgId||""),n=(()=>{const e={};return{getItem:t=>e[t],setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]}}})(),r=e.clickCollection.sessionStorageEnabled?t.session:n;Xr=(({storage:e})=>({save:t=>{const n=JSON.stringify(t);e.setItem(Mr,n)},load:()=>{let t=null;const n=e.getItem(Mr);return n&&(t=JSON.parse(n)),t},remove:()=>{e.removeItem(Mr)}}))({storage:r})}},Qr=({config:e,eventManager:t,handleError:n,logger:r})=>{((e,t)=>{const{clickCollectionEnabled:n,onBeforeLinkClickSend:r,downloadLinkQualifier:o}=e;!1===n&&(r&&t.warn("The 'onBeforeLinkClickSend' configuration was provided but will be ignored because clickCollectionEnabled is false."),o&&o!==Sr&&t.warn("The 'downloadLinkQualifier' configuration was provided but will be ignored because clickCollectionEnabled is false."))})(e,r);const o=e.clickCollection;Xr||Gr(e);const i=Or({config:e,logger:r,clickActivityStorage:Xr,getClickedElementProperties:Jr}),a=(({clickActivityStorage:e})=>t=>{if(Rr())return;const n=e.load(),r=Nr({properties:n});if(r.isValidLink()||r.isValidActivityMapData()){if(r.isValidLink()){const e=r.xdm;delete e.eventType,t.mergeXdm(e)}r.isValidActivityMapData()&&t.mergeData(r.data),e.save({pageName:r.pageName,pageIDType:r.pageIDType})}})({clickActivityStorage:Xr}),s=(({clickActivityStorage:e})=>t=>{e.save({pageName:t.getContent().xdm.web.webPageDetails.name,pageIDType:1})})({clickActivityStorage:Xr});return{lifecycle:{onComponentsRegistered(e){const{lifecycle:r}=e;kr({eventManager:t,lifecycle:r,handleError:n})},onClick({event:e,clickedElement:t}){i({event:e,clickedElement:t})},onBeforeEvent({event:e}){(e=>{const t=e.getContent();return void 0!==t.xdm&&void 0!==t.xdm.web&&void 0!==t.xdm.web.webPageDetails&&void 0!==t.xdm.web.webPageDetails.name})(e)&&(o.eventGroupingEnabled&&a(e),s(e,r,Xr))}}}};Qr.namespace="ActivityCollector",Qr.configValidators=Dr,Qr.buildOnInstanceConfiguredExtraParams=({config:e,logger:t})=>(Xr||Gr(e),{getLinkDetails:n=>Jr({clickActivityStorage:Xr,clickedElement:n,config:e,logger:t}).properties});var Kr=({fireReferrerHideableImage:e,logger:t,cookieJar:n,isPageSsl:r})=>{const o=r?{sameSite:"none",secure:!0}:{};return r=>((e=>{e.filter(e=>"cookie"===e.type).forEach(e=>{const{name:t,value:r,domain:i,ttlDays:a}=e.spec;n.set(t,r||"",{domain:i||"",expires:a||10,...o})})})(r),(n=>{const r=n.filter(e=>"url"===e.type);return Promise.all(r.map(n=>e(n.spec).then(()=>{t.info((e=>"URL destination succeeded: "+e.spec.url)(n))}).catch(()=>{}))).then(fe)})(r))},Wr=({processDestinations:e})=>({response:t})=>(({response:t})=>{const n=t.getPayloadsByType("activation:push");return e(n)})({response:t}).then(()=>(({response:e})=>({destinations:e.getPayloadsByType("activation:pull")}))({response:t}));const Yr=({logger:e,fireReferrerHideableImage:t})=>{const n=a.withConverter({write:e=>encodeURIComponent(e)}),r=p({logger:e,cookieJar:n}),o=Kr({fireReferrerHideableImage:t,logger:e,cookieJar:r,isPageSsl:"https:"===window.location.protocol});return{lifecycle:{onResponse:Wr({processDestinations:o})},commands:{}}};Yr.namespace="Audiences";const $r=({standard:e,version:t})=>e+"."+t;var Zr=({storage:e})=>({clear(){e.clear()},lookup(t){const n={},r=e=>{const t=$r(e),{standard:r,version:o,...i}=e;var a;return n[t]||(n[t]=(a=i,H(JSON.stringify(ke(a)))).toString()),n[t]};return{isNew:()=>t.some(t=>{const n=$r(t),o=e.getItem(n);return null===o||o!==r(t)}),save(){t.forEach(t=>{const n=$r(t);e.setItem(n,r(t))})}}}}),eo=()=>{const e={};return{...vn({content:e,addIdentity:(t,n)=>{e.identityMap=e.identityMap||{},e.identityMap[t]=e.identityMap[t]||[],e.identityMap[t].push(n)},hasIdentity:t=>void 0!==(e.identityMap&&e.identityMap[t])}),setConsent:t=>{e.consent=t}}},to=({payload:e,datastreamIdOverride:t})=>hn({payload:e,datastreamIdOverride:t,getAction:()=>"privacy/set-consent",getUseSendBeacon:()=>!1}),no=e=>e.split(";").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=r,e},{}),ro=Rt({consent:Et(bt()).required().nonEmpty(),identityMap:Nt,edgeConfigOverrides:Mt}).noUnknownFields().required(),oo=Rt({defaultConsent:Ot(Ht,zt,Jt).default(Ht)});const io=({config:e,consent:n,sendEdgeNetworkRequest:r,createNamespacedStorage:o})=>{const{orgId:i,defaultConsent:s}=e,c=(({parseConsentCookie:e,orgId:t,cookieJar:n})=>{const r=K(t,"consent");return{read(){const t=n.get(r);return t?e(t):{}},clear(){n.remove(r)}}})({parseConsentCookie:no,orgId:i,cookieJar:a}),d=(()=>{let e=0,t=Promise.resolve();return{addTask(n){e+=1;const r=()=>n().finally(()=>{e-=1});return t=t.then(r,r),t},get length(){return e}}})(),l=(({createConsentRequestPayload:e,createConsentRequest:n,sendEdgeNetworkRequest:r,edgeConfigOverrides:o})=>({consentOptions:i,identityMap:a,edgeConfigOverrides:s})=>{const c=bn({payload:e(),globalConfigOverrides:o,localConfigOverrides:s});c.payload.setConsent(i),t(a)&&Object.keys(a).forEach(e=>{a[e].forEach(t=>{c.payload.addIdentity(e,t)})});const d=n(c);return r({request:d}).then(()=>{})})({createConsentRequestPayload:eo,createConsentRequest:to,sendEdgeNetworkRequest:r,edgeConfigOverrides:e.edgeConfigOverrides}),u=o(Q(i)+".consentHashes."),p=Zr({storage:u.persistent}),g=se({orgId:i});return(({storedConsent:e,taskQueue:t,defaultConsent:n,consent:r,sendSetConsentRequest:o,validateSetConsentOptions:i,consentHashStore:a,doesIdentityCookieExist:s})=>{const c={[Kt]:n};let d=e.read();const l=s(),u=void 0!==d[Kt];l&&u||a.clear(),l||(e.clear(),d={}),r.initializeConsent(c,d);const p=()=>{if(0===t.length){const t=e.read();void 0!==t[Kt]&&r.setConsent(t)}};return{commands:{setConsent:{optionsValidator:i,run:({consent:e,identityMap:n,edgeConfigOverrides:i})=>{r.suspend();const s=a.lookup(e);return t.addTask(()=>s.isNew()?o({consentOptions:e,identityMap:n,edgeConfigOverrides:i}):Promise.resolve()).then(()=>s.save()).finally(p)}}},lifecycle:{onResponse:p,onRequestFailure:p}}})({storedConsent:c,taskQueue:d,defaultConsent:s,consent:n,sendSetConsentRequest:l,validateSetConsentOptions:ro,consentHashStore:p,doesIdentityCookieExist:g})};io.namespace="Consent",io.configValidators=oo;var ao=()=>({eventMergeId:qe()});const so=()=>(({createEventMergeId:e})=>({commands:{createEventMergeId:{run:e}}}))({createEventMergeId:ao});so.namespace="EventMerge";var co={PAUSE:"media.pauseStart",PLAY:"media.play",BUFFER_START:"media.bufferStart",AD_START:"media.adStart",Ad_BREAK_START:"media.adBreakStart",SESSION_END:"media.sessionEnd",SESSION_START:"media.sessionStart",SESSION_COMPLETE:"media.sessionComplete",PING:"media.ping",AD_BREAK_COMPLETE:"media.adBreakComplete",AD_COMPLETE:"media.adComplete",AD_SKIP:"media.adSkip",BITRATE_CHANGE:"media.bitrateChange",CHAPTER_COMPLETE:"media.chapterComplete",CHAPTER_SKIP:"media.chapterSkip",CHAPTER_START:"media.chapterStart",ERROR:"media.error",STATES_UPDATE:"media.statesUpdate"},lo=({config:e,eventManager:t,consent:n,sendEdgeNetworkRequest:r,setTimestamp:o})=>({createMediaEvent({options:n}){const r=t.createEvent(),{xdm:i}=n;if(o(r),r.setUserXdm(i),i.eventType===co.AD_START){const{advertisingDetails:t}=n.xdm.mediaCollection;r.mergeXdm({mediaCollection:{advertisingDetails:{playerName:t.playerName||e.streamingMedia.playerName}}})}return r},createMediaSession(n){const{playerName:r,channel:o,appVersion:i}=e.streamingMedia,a=t.createEvent(),{sessionDetails:s}=n.xdm.mediaCollection;return a.setUserXdm(n.xdm),a.mergeXdm({eventType:co.SESSION_START,mediaCollection:{sessionDetails:{playerName:s.playerName||r,channel:s.channel||o,appVersion:s.appVersion||i}}}),a},augmentMediaEvent({event:e,playerId:t,getPlayerDetails:n,sessionID:r}){if(!t||!n)return e;const{playhead:o,qoeDataDetails:i}=n({playerId:t});return e.mergeXdm({mediaCollection:{playhead:Re(o),qoeDataDetails:i,sessionID:r}}),e},trackMediaSession({event:e,mediaOptions:n,edgeConfigOverrides:r}){const o={mediaOptions:n,edgeConfigOverrides:r};return t.sendEvent(e,o)},trackMediaEvent({event:e,action:t}){const o=In(),i=(({mediaRequestPayload:e,action:t})=>hn({payload:e,edgeSubPath:"/va",getAction:()=>t,getUseSendBeacon:()=>!1}))({mediaRequestPayload:o,action:t});return o.addEvent(e),e.finalize(),n.awaitConsent().then(()=>r({request:i}).then(()=>({})))}}),uo="main",po="completed",go=()=>{let e;return{getSession:t=>e[t]||{},storeSession:({playerId:t,sessionDetails:n})=>{void 0===e&&(e={}),e[t]=n},stopPing:({playerId:t})=>{const n=e[t];n&&(clearTimeout(n.pingId),n.pingId=null,n.playbackState=po)},savePing:({playerId:t,pingId:n,playbackState:r})=>{e[t]&&(e[t].pingId&&clearTimeout(e[t].pingId),e[t].pingId=n,e[t].playbackState=r)}}};var mo=({mediaEventManager:e,mediaSessionCacheManager:t,config:n})=>{const r=o=>{const i=e.createMediaEvent({options:o}),{playerId:a,xdm:s}=o,{eventType:c}=s,d=c.split(".")[1],{getPlayerDetails:l,sessionPromise:u,playbackState:p}=t.getSession(a);return u.then(o=>o.sessionId?(e.augmentMediaEvent({event:i,eventType:c,playerId:a,getPlayerDetails:l,sessionID:o.sessionId}),e.trackMediaEvent({event:i,action:d}).then(()=>{if(a)if(c===co.SESSION_COMPLETE||c===co.SESSION_END)t.stopPing({playerId:a});else{const e=((e,t)=>e===co.AD_START||e===co.Ad_BREAK_START||e===co.AD_SKIP||e===co.AD_COMPLETE?"ad":e===co.AD_BREAK_COMPLETE||e===co.CHAPTER_COMPLETE||e===co.CHAPTER_START||e===co.CHAPTER_SKIP||e===co.SESSION_START?"main":e===co.SESSION_END||e===co.SESSION_COMPLETE?"completed":t)(c,p);if("completed"===e)return;const o="ad"===e?n.streamingMedia.adPingInterval:n.streamingMedia.mainPingInterval,i=setTimeout(()=>{r({playerId:a,xdm:{eventType:co.PING}})},1e3*o);t.savePing({playerId:a,pingId:i,playbackState:e})}})):Promise.reject(new Error("Failed to trigger media event: "+c+". Session ID is not available for playerId: "+a+".")))};return e=>r(e)},fo=({config:e,mediaEventManager:t,mediaSessionCacheManager:n,legacy:r=!1})=>o=>{if(!e.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));const{playerId:i,getPlayerDetails:a,edgeConfigOverrides:s}=o,c=t.createMediaSession(o);t.augmentMediaEvent({event:c,playerId:i,getPlayerDetails:a});const d=t.trackMediaSession({event:c,mediaOptions:{playerId:i,getPlayerDetails:a,legacy:r},edgeConfigOverrides:s});return n.storeSession({playerId:i,sessionDetails:{sessionPromise:d,getPlayerDetails:a,playbackState:uo}}),d},ho=e=>!ge(e)||!e.trim(),yo=({mediaSessionCacheManager:e,config:t,trackMediaEvent:n})=>({response:r,playerId:o,getPlayerDetails:i})=>{const a=r.getPayloadsByType("media-analytics:new-session");if(E(a)){const{sessionId:r}=a[0];if(ho(r))return{};if(!o||!i)return{sessionId:r};const s=setTimeout(()=>{n({playerId:o,xdm:{eventType:co.PING}})},1e3*t.streamingMedia.mainPingInterval);return e.savePing({playerId:o,pingId:s,playbackState:uo}),{sessionId:r}}return{}};const vo={Video:"video",Audio:"audio"},wo={VOD:"vod",Live:"live",Linear:"linear",Podcast:"podcast",Audiobook:"audiobook",AOD:"aod"},Io={FullScreen:"fullScreen",ClosedCaption:"closedCaptioning",Mute:"mute",PictureInPicture:"pictureInPicture",InFocus:"inFocus"},bo={AdBreakStart:"adBreakStart",AdBreakComplete:"adBreakComplete",AdStart:"adStart",AdComplete:"adComplete",AdSkip:"adSkip",ChapterStart:"chapterStart",ChapterComplete:"chapterComplete",ChapterSkip:"chapterSkip",SeekStart:"seekStart",SeekComplete:"seekComplete",BufferStart:"bufferStart",BufferComplete:"bufferComplete",BitrateChange:"bitrateChange",StateStart:"stateStart",StateEnd:"stateEnd"},Eo="sessionStart",Co="sessionEnd",ko="sessionComplete",So="play",Po="pauseStart",Do="error",Ro="statesUpdate",To={MediaResumed:"media.resumed",GranularAdTracking:"media.granularadtracking"},Oo={Show:"a.media.show",Season:"a.media.season",Episode:"a.media.episode",AssetId:"a.media.asset",Genre:"a.media.genre",FirstAirDate:"a.media.airDate",FirstDigitalDate:"a.media.digitalDate",Rating:"a.media.rating",Originator:"a.media.originator",Network:"a.media.network",ShowType:"a.media.type",AdLoad:"a.media.adLoad",MVPD:"a.media.pass.mvpd",Authorized:"a.media.pass.auth",DayPart:"a.media.dayPart",Feed:"a.media.feed",StreamFormat:"a.media.format"},No={Artist:"a.media.artist",Album:"a.media.album",Label:"a.media.label",Author:"a.media.author",Station:"a.media.station",Publisher:"a.media.publisher"},Mo={Advertiser:"a.media.ad.advertiser",CampaignId:"a.media.ad.campaign",CreativeId:"a.media.ad.creative",PlacementId:"a.media.ad.placement",SiteId:"a.media.ad.site",CreativeUrl:"a.media.ad.creativeURL"};var Ao=({logger:e})=>({createMediaObject:(t,n,r,o,i)=>{const a={friendlyName:t,name:n,length:r,streamType:i,contentType:o},s=Rt({friendlyName:Tt().nonEmpty(),name:Tt().nonEmpty(),length:Pt().required(),streamType:Tt().nonEmpty(),contentType:Tt().nonEmpty()});try{const e=s(a);return{sessionDetails:{name:e.name,friendlyName:e.friendlyName,length:Math.round(e.length),streamType:e.streamType,contentType:e.contentType}}}catch(t){return e.warn("An error occurred while creating the Media Object.",t),{}}},createAdBreakObject:(t,n,r)=>{const o={friendlyName:t,offset:n,index:r},i=Rt({friendlyName:Tt().nonEmpty(),offset:Pt(),index:Pt()});try{const e=i(o);return{advertisingPodDetails:{friendlyName:e.friendlyName,offset:e.offset,index:e.index}}}catch(t){return e.warn("An error occurred while creating the Ad Break Object.",t),{}}},createAdObject:(t,n,r,o)=>{const i={friendlyName:t,name:n,podPosition:r,length:o},a=Rt({friendlyName:Tt().nonEmpty(),name:Tt().nonEmpty(),podPosition:Pt(),length:Pt()});try{const e=a(i);return{advertisingDetails:{friendlyName:e.friendlyName,name:e.name,podPosition:e.podPosition,length:e.length}}}catch(t){return e.warn("An error occurred while creating the Advertising Object.",t),{}}},createChapterObject:(t,n,r,o)=>{const i={friendlyName:t,offset:n,length:r,index:o},a=Rt({friendlyName:Tt().nonEmpty(),offset:Pt(),length:Pt(),index:Pt()});try{const e=a(i);return{chapterDetails:{friendlyName:e.friendlyName,offset:e.offset,index:e.index,length:e.length}}}catch(t){return e.warn("An error occurred while creating the Chapter Object.",t),{}}},createStateObject:t=>{const n=Tt().matches(/^[a-zA-Z0-9_]{1,64}$/,"This is not a valid state name.");try{return{name:n(t)}}catch(t){return e.warn("An error occurred while creating the State Object.",t),{}}},createQoEObject:(t,n,r,o)=>{const i={bitrate:t,droppedFrames:n,fps:r,startupTime:o},a=Rt({bitrate:Pt(),droppedFrames:Pt(),fps:Pt(),startupTime:Pt()});try{const e=a(i);return{bitrate:e.bitrate,droppedFrames:e.droppedFrames,framesPerSecond:e.fps,timeToStart:e.startupTime}}catch(t){return e.warn("An error occurred while creating the QOE Object.",t),{}}}});const xo={"a.media.show":"show","a.media.season":"season","a.media.episode":"episode","a.media.asset":"assetID","a.media.genre":"genre","a.media.airDate":"firstAirDate","a.media.digitalDate":"firstDigitalDate","a.media.rating":"rating","a.media.originator":"originator","a.media.network":"network","a.media.type":"showType","a.media.adLoad":"adLoad","a.media.pass.mvpd":"mvpd","a.media.pass.auth":"authorized","a.media.dayPart":"dayPart","a.media.feed":"feed","a.media.format":"streamFormat","a.media.artist":"artist","a.media.album":"album","a.media.label":"label","a.media.author":"author","a.media.station":"station","a.media.publisher":"publisher","media.resumed":"hasResume"},qo={"a.media.ad.advertiser":"advertiser","a.media.ad.campaign":"campaignID","a.media.ad.creative":"creativeID","a.media.ad.placement":"placementID","a.media.ad.site":"siteID","a.media.ad.creativeURL":"creativeURL"};var Lo=({logger:t,trackMediaSession:n,trackMediaEvent:r,uuid:o})=>{let i=null;const a=({eventType:e,mediaDetails:t={},contextData:n=[]})=>{const r=(({eventType:e})=>e===bo.BufferComplete||e===bo.SeekComplete?So:e===bo.StateStart||e===bo.StateEnd?Ro:e===bo.SeekStart?Po:e)({eventType:e});if(e===bo.StateStart){return{eventType:"media."+r,mediaCollection:{statesStart:[t]}}}if(e===bo.StateEnd){return{eventType:"media."+r,mediaCollection:{statesEnd:[t]}}}const o={eventType:"media."+r,mediaCollection:{...t}},i=[];return Object.keys(n).forEach(e=>{xo[e]?o.mediaCollection.sessionDetails[xo[e]]=n[e]:qo[e]?o.mediaCollection.advertisingDetails[qo[e]]=n[e]:i.push({name:e,value:n[e]})}),E(i)&&(o.mediaCollection.customMetadata=i),o};return{trackSessionStart:(r,s={})=>{if(e(r)||F(r))return t.warn("Invalid media object"),{};null===i&&(t.warn("The Media Session was completed. Restarting a new session."),i={qoe:null,lastPlayhead:0,playerId:o()});const c=a({eventType:Eo,mediaDetails:r,contextData:s});return n({playerId:i.playerId,getPlayerDetails:()=>({playhead:i.lastPlayhead,qoeDataDetails:i.qoe}),xdm:c})},trackPlay:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:So});return r({playerId:i.playerId,xdm:e})},trackPause:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Po});return r({playerId:i.playerId,xdm:e})},trackSessionEnd:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Co});return r({playerId:i.playerId,xdm:e})},trackComplete:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:ko});return r({playerId:i.playerId,xdm:e})},trackError:e=>{if(t.warn("trackError("+e+")"),null===i)return t.warn("The Media Session was completed."),{};const n=a({eventType:Do,mediaDetails:{errorDetails:{name:e,source:"player"}}});return r({playerId:i.playerId,xdm:n})},trackEvent:(e,n,o)=>{if(F(n))return t.warn("Invalid media object."),{};if(null===i)return t.warn("The Media Session was completed."),{};if(!Object.values(bo).includes(e))return t.warn("Invalid event type"),{};const s=a({eventType:e,mediaDetails:n,contextData:o});return r({playerId:i.playerId,xdm:s})},updatePlayhead:e=>{null!==i?ue(e)&&(i.lastPlayhead=parseInt(e,10)):t.warn("The Media Session was completed.")},updateQoEObject:e=>{null!==i?e&&(i.qoe=e):t.warn("The Media Session was completed.")},destroy:()=>{t.warn("Destroy called, destroying the tracker."),i=null}}};const Uo=({eventManager:e,sendEdgeNetworkRequest:t,config:n,logger:r,consent:o})=>{const i=go(),a=lo({sendEdgeNetworkRequest:t,config:n,consent:o,eventManager:e,setTimestamp:xn(()=>new Date)}),s=mo({mediaSessionCacheManager:i,mediaEventManager:a,config:n}),c=fo({config:n,mediaEventManager:a,mediaSessionCacheManager:i,legacy:!0});return(({trackMediaEvent:e,trackMediaSession:t,mediaResponseHandler:n,logger:r,createMediaHelper:o,createGetInstance:i,config:a})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=fe}){if(!e)return;const{legacy:r,playerId:o,getPlayerDetails:i}=e;r&&t(({response:e})=>n({playerId:o,getPlayerDetails:i,response:e}))}},commands:{getMediaAnalyticsTracker:{run:()=>{if(!a.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));r.info("Streaming media is configured in legacy mode.");const n=o({logger:r});return Promise.resolve({getInstance:()=>i({logger:r,trackMediaEvent:e,trackMediaSession:t,uuid:qe}),Event:bo,MediaType:vo,PlayerState:Io,StreamType:wo,MediaObjectKey:To,VideoMetadataKeys:Oo,AudioMetadataKeys:No,AdMetadataKeys:Mo,...n})}}}}))({mediaResponseHandler:yo({mediaSessionCacheManager:i,config:n,trackMediaEvent:s}),trackMediaSession:c,trackMediaEvent:s,createMediaHelper:Ao,createGetInstance:Lo,logger:r,config:n})};Uo.namespace="Legacy Media Analytics";const _o="https://ns.adobe.com/personalization/default-content-item",jo="https://ns.adobe.com/personalization/dom-action",Bo="https://ns.adobe.com/personalization/html-content-item",Fo="https://ns.adobe.com/personalization/json-content-item",Vo="https://ns.adobe.com/personalization/ruleset-item",Ho="https://ns.adobe.com/personalization/redirect-item",zo="https://ns.adobe.com/personalization/message/in-app",Jo="web",Xo="webapp",Go="://",Qo=/^(\w+):\/\/([^/#]+)(\/[^#]*)?(#.*)?$/,Ko=/^(?:.*@)?(?:[a-z\d\u00a1-\uffff.-]+|\[[a-f\d:]+])(?::\d+)?$/,Wo=/^\/(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})*$/,Yo=/^#(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})+$/,$o=(e="/")=>{let t=e.length;for(;t>0&&-1!=="/".indexOf(e.charAt(t-1));)t-=1;return e.substring(0,t)||"/"},Zo=e=>""+e.surfaceType+Go+e.authority+(e.path||"")+(e.fragment||""),ei=e=>{const t=e(),n=t.host.toLowerCase(),r=t.pathname;return Jo+Go+n+$o(r)},ti=(e,t,n)=>{const r=e=>(n.warn(e),null);if(!me(e))return r("Invalid surface: "+e);const o=((e,t)=>e.startsWith("#")?ei(t)+e:e)(e,t),i=(e=>{const t=e.match(Qo);return t?{surfaceType:(o=t[1],me(o)?o.toLowerCase():""),authority:(r=t[2],me(r)?r.toLowerCase():""),path:(n=t[3],me(n)?$o(n):"/"),fragment:t[4]}:null;var n,r,o})(o);return null===i?r("Invalid surface: "+e):[Jo,Xo].includes(i.surfaceType)?i.authority&&Ko.test(i.authority)?i.path&&!Wo.test(i.path)?r("Invalid path "+i.path+" in surface: "+e):i.fragment&&!Yo.test(i.fragment)?r("Invalid fragment "+i.fragment+" in surface: "+e):i:r("Invalid authority "+i.authority+" in surface: "+e):r("Unsupported surface type "+i.surfaceType+" in surface: "+e)},ni=e=>!!e&&0===e.indexOf(Jo+Go)&&-1===e.indexOf("#"),ri=e=>e.filter((t,n)=>e.indexOf(t)===n);var oi=({getPageLocation:t,renderDecisions:n,decisionScopes:r,personalization:o,event:i,isCacheInitialized:a,logger:s})=>{const c=i.getViewName();return{isRenderDecisions:()=>n,isSendDisplayEvent:()=>!!o.sendDisplayEvent,shouldIncludeRenderedPropositions:()=>!!o.includeRenderedPropositions,getViewName:()=>c,hasScopes:()=>r.length>0||E(o.decisionScopes),hasSurfaces:()=>E(o.surfaces),hasViewName:()=>me(c),createQueryDetails(){const n=[...r];E(o.decisionScopes)&&n.push(...o.decisionScopes);const i=((t=[],n,r)=>t.map(e=>ti(e,n,r)).filter(t=>!e(t)).map(Zo))(o.surfaces,t,s);this.shouldRequestDefaultPersonalization()&&((e=>{e.includes(mn)||e.push(mn)})(n),((e,t)=>{const n=ei(t);e.includes(n)||e.push(n)})(i,t));const a=[_o,Bo,Fo,Ho,Vo,zo,"https://ns.adobe.com/personalization/message/content-card"];return n.includes(mn)&&a.push(jo),{schemas:a,decisionScopes:ri(n),surfaces:ri(i)}},isCacheInitialized:()=>a,shouldFetchData(){return this.hasScopes()||this.hasSurfaces()||this.shouldRequestDefaultPersonalization()},shouldUseCachedData(){return this.hasViewName()&&!this.shouldFetchData()},shouldRequestDefaultPersonalization(){return o.defaultPersonalizationEnabled||!this.isCacheInitialized()&&!1!==o.defaultPersonalizationEnabled}}};const ii="decisioning.propositionDisplay",ai="decisioning.propositionInteract",si="decisioning.propositionTrigger",ci="decisioning.propositionDismiss",di="decisioning.propositionSuppressDisplay",li={DISPLAY:"display",INTERACT:"interact",TRIGGER:"trigger",DISMISS:"dismiss",SUPPRESS:"suppressDisplay"},ui={[ii]:li.DISPLAY,[ai]:li.INTERACT,[si]:li.TRIGGER,[ci]:li.DISMISS,[di]:li.SUPPRESS},pi={[li.DISPLAY]:ii,[li.INTERACT]:ai,[li.TRIGGER]:si,[li.DISMISS]:ci,[li.SUPPRESS]:di},gi=e=>ui[e],mi=e=>pi[e],fi={propositions:[]};var hi=({getPageLocation:e,logger:t,fetchDataHandler:n,viewChangeHandler:r,onClickHandler:o,isAuthoringModeEnabled:i,mergeQuery:a,viewCache:s,showContainers:c,applyPropositions:d,setTargetMigration:l,mergeDecisionsMeta:u,renderedPropositions:p,onDecisionHandler:g,handleConsentFlicker:m})=>({lifecycle:{onComponentsRegistered(){m()},onDecision:g,onBeforeRequest:({request:e})=>(l(e),Promise.resolve()),onBeforeEvent({event:o,renderDecisions:d,decisionScopes:l=[],personalization:g={},onResponse:m=fe,onRequestFailure:f=fe}){if(m(()=>({propositions:[]})),f(()=>c()),i())return t.warn("Rendering is disabled for authoring mode."),a(o,{enabled:!1}),Promise.resolve();const h=oi({getPageLocation:e,renderDecisions:d,decisionScopes:l,personalization:g,event:o,isCacheInitialized:s.isInitialized(),logger:t}),y=[];if(h.shouldIncludeRenderedPropositions()&&y.push(p.clear()),h.shouldFetchData()){const e=s.createCacheUpdate(h.getViewName());f(()=>e.cancel());const t=o.getUserIdentityMap();n({cacheUpdate:e,personalizationDetails:h,event:o,onResponse:m,identityMap:t})}else h.shouldUseCachedData()&&y.push(r({personalizationDetails:h,event:o,onResponse:m,onRequestFailure:f}));return Promise.all(y).then(e=>{const t=e.flatMap(e=>e);E(t)&&u(o,t,[li.DISPLAY])})},onClick({event:e,clickedElement:t}){o({event:e,clickedElement:t})}},commands:{applyPropositions:{optionsValidator:e=>(({logger:e,options:t})=>{const n=Rt({propositions:Et(Rt({id:Tt().required(),scope:Tt().required(),scopeDetails:Rt({decisionProvider:Tt().required()}).required(),items:Et(Rt({id:Tt().required(),schema:Tt().required(),data:Rt(bt())})).nonEmpty().required()}).required()).nonEmpty().required(),metadata:Rt(bt()),viewName:Tt()}).required();try{return n(t)}catch(t){return e.warn("Invalid options for applyPropositions. No propositions will be applied.",t),fi}})({logger:t,options:e}),run:d}}}),yi=(e="undefined")=>h("DIV",{},{innerHTML:e});const vi=/:eq\((\d+)\)/g,wi=e=>-1===e.indexOf(":eq("),Ii=/(#|\.)(-?\w+)/g,bi=(e,t,n)=>""+t+CSS.escape(n),Ei=e=>{const t=[],n=(e=>e.split(vi).filter(me))((e=>e.replace(Ii,bi))(e.trim())),{length:r}=n;let o=0;for(;o<r;){const e=n[o],r=n[o+1];r?t.push({sel:e,eq:Number(r)}):t.push({sel:e}),o+=2}return t},Ci=e=>{const t=document;if(wi(e))return T(e,t);const n=Ei(e),{length:r}=n;let o=[],i=t,a=0;for(;a<r;){const{sel:e,eq:t}=n[a],s=T(e,i),{length:c}=s;if(0===c)break;if(null!=t&&t>c-1)break;a<r-1&&(null==t?[i]=s:i=s[t]),a===r-1&&(o=null==t?s:[s[t]]),a+=1}return o};var ki=(e,t=document)=>t.getElementById(e),Si=(e,t,n)=>{e.setAttribute(t,n)},Pi=(e,t)=>e.getAttribute(t),Di=(e,t,n,r)=>{let o;o=r?t+":"+n+" !"+r+";":t+":"+n+";",e.style.cssText+=";"+o},Ri=e=>e.parentNode,Ti=(e,t)=>{if(!e)return;const n=Ri(e);n&&n.insertBefore(t,(e=>e.nextElementSibling)(e))},Oi=(e,t)=>{if(!e)return;const n=Ri(e);n&&n.insertBefore(t,e)},Ni=e=>{const{childNodes:t}=e;return t?C(t):[]},Mi=e=>e.firstElementChild;let Ai;var xi=(e=document)=>{if(void 0===Ai){const t=e.querySelector("[nonce]");Ai=t&&(t.nonce||t.getAttribute("nonce"))}return Ai};const qi="src",Li=e=>h(y,{src:e}),Ui=e=>{T(y,e).forEach(e=>{const t=Pi(e,qi);t&&Li(t)})},_i=e=>((e,t)=>e.tagName===t)(e,v)&&!Pi(e,qi);var ji=e=>{const t=T(v,e),{length:n}=t,r=xi();if(r)for(let e=0;e<n;e+=1){const n=t[e];_i(n)&&(n.nonce=r)}};const Bi=e=>{const t=document.createElement("script");t.src=e,t.async=!0;const n=((e,t)=>new Promise((n,r)=>{t.onload=()=>{n(t)},t.onerror=()=>{r(new Error("Failed to load script: "+e))}}))(e,t);return document.head.appendChild(t),n},Fi=(e,t)=>!!e&&e.tagName===t,Vi=e=>Fi(e,w)&&!Pi(e,qi),Hi=e=>Fi(e,w)&&Pi(e,qi),zi=e=>{const t=T(w,e),n=[],{length:r}=t,o=xi(),i={...o&&{nonce:o}};for(let e=0;e<r;e+=1){const r=t[e];if(!Vi(r))continue;const{textContent:o}=r;o&&n.push(h(w,i,{textContent:o}))}return n},Ji=e=>{const t=T(w,e),n=[],{length:r}=t;for(let e=0;e<r;e+=1){const r=t[e];if(!Hi(r))continue;const o=Pi(r,qi);o&&n.push(o)}return n},Xi=(e,t)=>{t.forEach(t=>{e.appendChild(t),e.removeChild(t)})},Gi=e=>Promise.all(e.map(Bi));var Qi=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r);return Ui(r),o.forEach(t=>{f(e,t)}),n(e),Xi(e,i),Gi(a)};var Ki=(e,t,n)=>((e=>{Ni(e).forEach(_)})(e),Qi(e,t,n)),Wi=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r),{length:s}=o;let c=s-1;for(Ui(r);c>=0;){const t=o[c];n(t);const r=Mi(e);r?Oi(r,t):f(e,t),c-=1}return Xi(e,i),Gi(a)};const Yi="alloy-prehiding",$i={},Zi=e=>{if($i[e])return;const t=xi(),n={...t&&{nonce:t}},r=h(v,n,{textContent:e+" { visibility: hidden }"});f(document.head,r),$i[e]=r},ea=e=>{const t=$i[e];t&&(_(t),delete $i[e])};var ta=(e,t,n)=>{n(e),e.textContent=t},na=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r);return Ui(r),o.forEach(t=>{n(t),Oi(e,t)}),Xi(e,i),Gi(a)},ra=(e,t,n)=>na(e,t,n).then(()=>{_(e)}),oa=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r);Ui(r);let s=e;return o.forEach(e=>{n(e),Ti(s,e),s=e}),Xi(e,i),Gi(a)},ia=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{Di(e,t,o[t],r)}),n(e)},aa=(e,t,n)=>{Object.keys(t).forEach(n=>{Si(e,n,t[n])}),n(e)},sa=(e,t,n)=>{e.tagName===y&&(Li(t),n(e),((e,t)=>{e.removeAttribute(t)})(e,qi),Si(e,qi,t))},ca=(e,{from:t,to:n},r)=>{const o=(e=>{const{children:t}=e;return t?C(t):[]})(e),i=o[t],a=o[n];i&&a&&(t<n?Ti(a,i):Oi(a,i),r(a),r(i))};const da=(e,t=!1)=>async(n,r,o)=>{const{selector:i,prehidingSelector:a,content:s}=n;Zi(a);try{(({containers:e,content:t,decorateProposition:n,renderFunc:r,renderStatusHandler:o,alwaysRender:i})=>{const a=e.filter(e=>i||o.shouldRender(e)).map(async e=>{await r(e,t,n),o.markAsRendered(e)});Promise.all(a)})({containers:await x(i,Ci),content:s,decorateProposition:r,renderFunc:e,renderStatusHandler:o,alwaysRender:t})}finally{ea(a)}},la=e=>(""+e).endsWith("px")?e:e+"px";var ua=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"left"!==t&&"top"!==t||(n=la(n)),Di(e,t,n,r)}),n(e)},pa=(e,t,n)=>{n(e)},ga=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"width"!==t&&"height"!==t||(n=la(n)),Di(e,t,n,r)}),n(e)};const ma="setHtml",fa="customCode",ha="setText",ya="setAttribute",va="setImageSource",wa="setStyle",Ia="move",ba="resize",Ea="rearrange",Ca="remove",ka="insertAfter",Sa="insertBefore",Pa="replaceHtml",Da="prependHtml",Ra="appendHtml",Ta="click",Oa="collectInteractions";var Na=({eventManager:e,mergeDecisionsMeta:t})=>({decisionsMeta:n=[],propositionAction:r,documentMayUnload:o=!1,eventType:i=ii,propositionEventTypes:a=[gi(i)],viewName:s,identityMap:c})=>{const d=e.createEvent(),l={eventType:i,identityMap:c};return s&&(l.web={webPageDetails:{viewName:s}}),E(n)&&t(d,n,a,r),d.mergeXdm(l),o&&d.documentMayUnload(),e.sendEvent(d)};var Ma=(e,t)=>{if(wi(e))return((e,t)=>t.matches?t.matches(e):t.msMatchesSelector(e))(e,t);const n=Ci(e);let r=!1;for(let e=0;e<n.length;e+=1)if(n[e]===t){r=!0;break}return r};const Aa="view",xa=e=>e.map(e=>{const{trackingLabel:t,scopeType:n,...r}=e;return r}),qa=(e,t,n)=>{const{documentElement:r}=document;let o=e,i=0;for(;o&&o!==r;){if(Ma(t,o)){const e=n(t),r={metas:e},o=e.find(e=>e.trackingLabel);o&&(r.label=o.trackingLabel,r.weight=i);const a=e.find(e=>e.scopeType===Aa);return a&&(r.viewName=a.scope,r.weight=i),r}o=o.parentNode,i+=1}return{metas:null}};var La=(e,t,n)=>{const r=[];let o,i="",a=Number.MAX_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER;for(let c=0;c<t.length;c+=1){const{metas:d,label:l,weight:u,viewName:p}=qa(e,t[c],n);d&&(l&&u<=a&&(i=l,a=u),p&&u<=s&&(o=p,s=u),r.push(...xa(d)))}return{decisionsMeta:(c=r,c.filter((e,t)=>{const n=JSON.stringify(e);return t===c.findIndex(e=>JSON.stringify(e)===n)})),propositionActionLabel:i,propositionActionToken:void 0,viewName:o};var c},Ua=(e=document)=>-1!==e.location.href.indexOf("adobe_authoring_enabled");const _a=(e,t,n,r)=>{if(0===t.length)return;const o={};n.forEach(e=>{o[e]=1});const i={_experience:{decisioning:{propositions:t,propositionEventType:o}}};r&&(i._experience.decisioning.propositionAction=r),e.mergeXdm(i)},ja=(e,t)=>{e.mergeQuery({personalization:{...t}})};var Ba=()=>{const e={};return{storeClickMeta:({selector:t,meta:{id:n,scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}})=>{e[t]||(e[t]={}),e[t][n]={scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}},getClickSelectors:()=>Object.keys(e),getClickMetas:t=>e[t]?(e=>Object.keys(e).map(t=>({id:t,...e[t]})))(e[t]):{}}};const Fa=(e,t)=>e===Fo&&t===Oa,Va={[jo]:()=>!0,[Bo]:()=>!0,[Fo]:Fa,[zo]:()=>!0,[_o]:()=>!0};var Ha=({processPropositions:e,createProposition:t,renderedPropositions:n,viewCache:r})=>{const o=({items:e,metadataForScope:t={}})=>{const{actionType:n,selector:r}=t;return e.filter(e=>((e,t)=>"function"==typeof Va[e]&&Va[e](e,t))(e.schema,n)).map(e=>{const{schema:o}=e;return o===Bo||Fa(o,n)?F(t)?void 0:{...e,schema:Fa(o,n)?jo:o,data:{...e.data,selector:r,type:n}}:{...e}}).filter(e=>e)},i=e=>!(e.scope===mn&&e.renderAttempted);return({propositions:a=[],metadata:s={},viewName:c})=>{const d=g();n.concat(d.promise);const l=(({propositions:e,metadata:t})=>e.filter(i).map(e=>{if(E(e.items)){const{id:n,scope:r,scopeDetails:i}=e;return{id:n,scope:r,scopeDetails:i,items:o({items:e.items,metadataForScope:t[e.scope]})}}return e}).filter(e=>E(e.items)))({propositions:a,metadata:s}).map(e=>t(e));return Promise.resolve().then(()=>c?r.getView(c):[]).then(t=>{const{render:n,returnedPropositions:r}=e([...l,...t]);return n().then(d.resolve),{propositions:r}})}};var za=e=>{const{selector:t,type:n}=e;return n!==fa||"BODY > *:eq(0)"!==t?e:{...e,selector:"BODY"}};var Ja=e=>{const t={...e},{content:n,selector:r}=t;if(t.type===fa)return t;if(ho(n))return t;if(null==r)return t;const o=Ci(r);return Fi(o[0],"HEAD")?(t.type=Ra,t.content=(e=>{const t=yi(e);return T("SCRIPT,LINK,STYLE",t).map(e=>e.outerHTML).join("")})(n),t):t},Xa=({preprocess:e,isPageWideSurface:t})=>(n,r=!0,o=!1,i=void 0)=>{const{id:a,scope:s,scopeDetails:c,items:d=[]}=n,{characteristics:{scopeType:l}={}}=c||{};return{getScope:()=>s,getScopeType:()=>s===mn||t(s)?"page":l===Aa?Aa:"proposition",getItems(){return d.map(t=>((t,n)=>{const{id:r,schema:o,data:i,characteristics:{trackingLabel:a}={}}=t,s=i?i.type:void 0,c=e(i);return{getId:()=>r,getSchema:()=>o,getSchemaType:()=>s,getData:()=>c,getProposition:()=>n,getTrackingLabel:()=>a,getOriginalItem:()=>t,toString:()=>JSON.stringify(t),toJSON:()=>t}})(t,this))},getNotification:()=>({id:a,scope:s,scopeDetails:c}),getId:()=>a,getIdentityMap:()=>i,toJSON:()=>n,shouldSuppressDisplay:()=>o,addToReturnValues(e,t,o,i){r&&(e.push({...n,items:o.map(e=>e.getOriginalItem()),renderAttempted:i}),i||t.push({...n,items:o.map(e=>e.getOriginalItem())}))}}},Ga=()=>({render:fe,setRenderAttempted:!0,includeInNotification:!0});const Qa="always",Ka="never",Wa="decoratedElementsOnly",Ya=[Qa,Ka,Wa],$a="data-aep-interact-id",Za="data-aep-click-label";let es=0;const ts=(e,t,n,r,o,i,a,s)=>{const{scopeDetails:c={}}=a,{decisionProvider:d}=c;return((e,t)=>!!e&&!!e[t]&&[Qa,Wa].includes(e[t]))(e,d)||t===Ta?e=>{if(!e.tagName)return;const t=(c=Pi(e,$a))?parseInt(c,10):++es;var c;s(n,r,i,a,t),Si(e,$a,t),o&&!Pi(e,Za)&&Si(e,Za,o)}:fe};var ns=(e,t)=>e!==Aa?{shouldRender:()=>!0,markAsRendered:()=>{}}:{shouldRender:e=>{if(!e)return!0;return!(e.dataset.adobePropositionIds??"").split(",").includes(t)},markAsRendered:e=>{const n=(e.dataset.adobePropositionIds??"").split(",");n.includes(t)||n.push(t),e.dataset.adobePropositionIds=n.sort().join(",")}},rs=({modules:e,logger:t,storeInteractionMeta:n,storeClickMeta:r,autoCollectPropositionInteractions:o})=>i=>{const{type:a,selector:s}=i.getData()||{};if(!a)return t.warn("Invalid DOM action data: missing type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};if(a===Ta)return s?(r({selector:s,meta:{...i.getProposition().getNotification(),trackingLabel:i.getTrackingLabel(),scopeType:i.getProposition().getScopeType()}}),{setRenderAttempted:!0,includeInNotification:!1}):(t.warn("Invalid DOM action data: missing selector.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1});if(!e[a])return t.warn("Invalid DOM action data: unknown type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};const c=ns(i.getProposition().getScopeType(),i.getId()),d=ts(o,a,i.getProposition().getId(),i.getId(),i.getTrackingLabel(),i.getProposition().getScopeType(),i.getProposition().getNotification(),n);return{render:()=>e[a](i.getData(),d,c),setRenderAttempted:!0,includeInNotification:!0}},os=({modules:e,logger:t,storeInteractionMeta:n,autoCollectPropositionInteractions:r})=>o=>{const{type:i,selector:a}=o.getData()||{};if(!a||!i)return{setRenderAttempted:!1,includeInNotification:!1};if(!e[i])return t.warn("Invalid HTML content data",o.getData()),{setRenderAttempted:!1,includeInNotification:!1};const s=ts(r,i,o.getProposition().getId(),o.getId(),o.getTrackingLabel(),o.getProposition().getScopeType(),o.getProposition().getNotification(),n),c=ns(o.getProposition().getScopeType(),o.getId());return{render:()=>e[i](o.getData(),s,c),setRenderAttempted:!0,includeInNotification:!0}};const is="BODY";var as=({logger:e,executeRedirect:t,collect:n})=>r=>{const{content:o}=r.getData()||{};if(!o)return e.warn("Invalid Redirect data",r.getData()),{};return{render:()=>(Zi(is),n({decisionsMeta:[r.getProposition().getNotification()],documentMayUnload:!0,identityMap:r.getProposition().getIdentityMap()}).then(()=>(e.logOnContentRendering({status:"rendering-redirect",detail:{propositionDetails:r.getProposition().getNotification(),redirect:o},message:"Redirect action "+r.toString()+" executed.",logLevel:"info"}),t(o))).catch(e=>{throw ea(is),e})),setRenderAttempted:!0,onlyRenderThis:!0}},ss=({schemaProcessors:e,logger:t})=>{const n=(e,n)=>()=>Promise.resolve().then(e).then(()=>(t.enabled&&t.info("Action "+n.toString()+" executed."),n.toJSON())).catch(e=>{const{message:r,stack:o}=e,i="Failed to execute action "+n.toString()+". "+r+" "+o;t.logOnContentRendering({status:"rendering-failed",detail:{propositionDetails:n.getProposition().getNotification(),item:n.toJSON()},error:e,message:i,logLevel:"warn"})}),r=t=>{const n=e[t.getSchema()];return n?n(t):{}},o=({renderers:e,returnedPropositions:t,returnedDecisions:o,items:i,proposition:a})=>{let s,c,d,l,u=[...e],p=[...t],g=[...o],m=[],f=[],h=[],y=!1,v=!1,w=0;for(;i.length>w;){if(l=i[w],({render:s,setRenderAttempted:c,includeInNotification:d,onlyRenderThis:v}=r(l)),v){p=[],g=[],c?(m=[l],f=[]):(m=[],f=[l]),u=[],h=[s],y=d;break}s&&h.push(n(s,l)),d&&(y=!0),c?m.push(l):f.push(l),w+=1}if(h.length>0){const e=y?a.getNotification():void 0;u.push(()=>(async(e,t)=>{const n=(await Promise.allSettled(e.map(e=>e()))).filter(e=>"fulfilled"===e.status).map(e=>e.value);if(t&&E(n))return{...t,items:n}})(h,e))}else y&&u.push(()=>Promise.resolve(a.getNotification()));return m.length>0&&a.addToReturnValues(p,g,m,!0),f.length>0&&a.addToReturnValues(p,g,f,!1),{renderers:u,returnedPropositions:p,returnedDecisions:g,onlyRenderThis:v}};return(e,n=[])=>{let r,i,a,s=[],c=[],d=[],l=0;for(;e.length>l&&(i=e[l],a=i.getItems(),({renderers:s,returnedPropositions:c,returnedDecisions:d,onlyRenderThis:r}=o({renderers:s,returnedPropositions:c,returnedDecisions:d,items:a,proposition:i})),!r);)l+=1;r&&e.forEach((e,t)=>{t!==l&&e.addToReturnValues(c,d,e.getItems(),!1)}),n.forEach(e=>{e.addToReturnValues(c,d,e.getItems(),!1)});return{returnedPropositions:c,returnedDecisions:d,render:()=>Promise.all(s.map(e=>e())).then(e=>{const n=e.filter(e=>e),r=n.map(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}});if(E(n)){const e=W(n,e=>e.scope);t.logOnContentRendering({status:"rendering-succeeded",detail:{...e},message:"Scopes: "+JSON.stringify(e)+" successfully executed.",logLevel:"info"})}return r})}}};var cs=({processPropositions:e,createProposition:t,notificationHandler:n})=>({renderDecisions:r,propositions:o,event:i,personalization:a={},identityMap:s})=>{if(!r)return Promise.resolve();const{sendDisplayEvent:c=!0}=a,d=i?i.getViewName():void 0,l=(()=>{let e=0;return t=>{const{items:n=[]}=t;return!!n.some(e=>e.schema===zo)&&(e+=1,e>1)}})(),u=o.map(e=>t(e,!0,l(e),s)),{render:p,returnedPropositions:g}=e(u),m=n(r,c,d,s),f=u.reduce((e,t)=>(e[t.getId()]=t,e),{});return p().then(e=>{const t=e.filter(e=>!f[e.id].shouldSuppressDisplay()),n=e.filter(e=>f[e.id].shouldSuppressDisplay());m(t,n)}),Promise.resolve({propositions:g})};const ds="text/html",ls="defaultContent",us=["content","contentType"],ps=["mobileParameters","webParameters","html"];var gs=({modules:e,logger:t})=>n=>{const r=n.getData(),o=n.getProposition(),i={...o.getNotification()},a=o.shouldSuppressDisplay();if(!r)return t.warn("Invalid in-app message data: undefined.",r),{};const{type:s=ls}=r;return e[s]?((e,t)=>{for(let n=0;n<us.length;n+=1){const r=us[n];if(!Object.prototype.hasOwnProperty.call(e,r))return t.warn("Invalid in-app message data: missing property '"+r+"'.",e),!1}const{content:n,contentType:r}=e;if("application/json"===r)for(let r=0;r<ps.length;r+=1){const o=ps[r];if(!Object.prototype.hasOwnProperty.call(n,o))return t.warn("Invalid in-app message data.content: missing property '"+o+"'.",e),!1}return!0})(r,t)?i?{render:()=>a?null:e[s]({...r,meta:i,identityMap:o.getIdentityMap()}),setRenderAttempted:!0,includeInNotification:!0}:(t.warn("Invalid in-app message meta: undefined.",i),{}):{}:(t.warn("Invalid in-app message data: unknown type.",r),{})};const ms=e=>{const t=T("#"+e,document);t&&t.length>0&&_(t[0])};var fs=e=>(t,n=!1)=>(n?e.location.href=t:e.location.replace(t),new Promise(()=>{}));const hs="alloy-messaging-container",ys="alloy-overlay-container",vs="alloy-content-iframe",ws=()=>[hs,ys].forEach(ms),Is=(e,t=fs(window))=>n=>{n.preventDefault(),n.stopImmediatePropagation();const{target:r}=n,o="a"===r.tagName.toLowerCase()?r:r.closest("a");if(!o)return;const{action:i,interaction:a,link:s,label:c,uuid:d}=(e=>{const t={};if(!e||"a"!==e.tagName.toLowerCase())return t;const{href:n}=e;if(!n||!n.startsWith("adbinapp://"))return t;const r=n.split("?"),o=r[0].split("://")[1],i=e.innerText,a=e.getAttribute("data-uuid")||"";let s,c;if(E(r)){const e=Ee.parse(r[1]);s=e.interaction||"",c=rr(e.link||"")}return{action:o,interaction:s,link:c,label:i,uuid:a}})(o);e(i,{label:c,id:a,uuid:d,link:s}),"dismiss"===i&&ws(),me(s)&&s.length>0&&t(s,!0)},bs=e=>{const{verticalAlign:t,width:n,horizontalAlign:r,backdropColor:o,height:i,cornerRadius:a,horizontalInset:s,verticalInset:c,uiTakeover:d=!1}=e,l={width:n?n+"%":"100%",backgroundColor:o||"rgba(0, 0, 0, 0.5)",borderRadius:a?a+"px":"0px",border:"none",position:d?"fixed":"relative",overflow:"hidden"};return"left"===r?l.left=s?s+"%":"0":"right"===r?l.right=s?s+"%":"0":"center"===r&&(l.left="50%",l.transform="translateX(-50%)"),"top"===t?l.top=c?c+"%":"0":"bottom"===t?(l.position="fixed",l.bottom=c?c+"%":"0"):"center"===t&&(l.top="50%",l.transform=("center"===r?l.transform+" ":"")+"translateY(-50%)",l.display="flex",l.alignItems="center",l.justifyContent="center"),l.height=i?i+"vh":"100%",l},Es=e=>{const{backdropOpacity:t,backdropColor:n}=e;return{position:"fixed",top:"0",left:"0",width:"100%",height:"100%",background:"transparent",opacity:t||.5,backgroundColor:n||"#FFFFFF"}},Cs=["enabled","parentElement","insertionMethod"],ks=(e={},t)=>{ws();const{content:n,contentType:r,mobileParameters:o}=e;let{webParameters:i}=e;if(r!==ds)return;const a=h("div",{id:hs}),s=((e,t)=>{const n=(new DOMParser).parseFromString(e,ds),r=n.querySelector("script");r&&r.setAttribute("nonce",xi());const o=h("iframe",{src:URL.createObjectURL(new Blob([n.documentElement.outerHTML],{type:"text/html"})),id:vs});return o.addEventListener("load",()=>{const{addEventListener:e}=o.contentDocument||o.contentWindow.document;e("click",t)}),o})(n,Is(t)),c=h("div",{id:ys});(e=>{if(!e)return!1;const t=Object.keys(e);if(!t.includes(hs))return!1;if(!t.includes(ys))return!1;const n=Object.values(e);for(let e=0;e<n.length;e+=1){if(!Rt(n[e],"style"))return!1;if(!Rt(n[e],"params"))return!1;for(let t=0;t<Cs.length;t+=1)if(!Rt(n[e].params,Cs[t]))return!1}return!0})(i)||(i=(e=>{if(!e)return;const{uiTakeover:t=!1}=e;return{[vs]:{style:{border:"none",width:"100%",height:"100%"},params:{enabled:!0,parentElement:"#alloy-messaging-container",insertionMethod:"appendChild"}},[hs]:{style:bs(e),params:{enabled:!0,parentElement:"body",insertionMethod:"appendChild"}},[ys]:{style:Es(e),params:{enabled:!0===t,parentElement:"body",insertionMethod:"appendChild"}}}})(o)),i&&((e,t,n,r)=>{[{id:ys,element:r},{id:hs,element:n},{id:vs,element:e}].forEach(({id:e,element:n})=>{const{style:r={},params:o={}}=t[e];Object.assign(n.style,r);const{parentElement:i="body",insertionMethod:a="appendChild",enabled:s=!0}=o,c=document.querySelector(i);s&&c&&"function"==typeof c[a]&&c[a](n)})})(s,i,a,c)};var Ss=e=>({defaultContent:t=>((e,t)=>new Promise(n=>{const{meta:r,identityMap:o}=e;ks(e,(e,n)=>{const i={};i[li.INTERACT]=1,-1!==Object.values(li).indexOf(e)&&(i[e]=1),t({decisionsMeta:[r],propositionAction:n,eventType:ai,propositionEventTypes:Object.keys(i),identityMap:o})}),n({meta:r})}))(t,e)});const Ps=e=>{const t=e.find(e=>e.scopeType===Aa);return t?t.scope:void 0};var Ds=(e,t,n)=>{const{interactIds:r,clickLabel:o="",clickToken:i}=(e=>{const{documentElement:t}=document;let n=e;const r=new Set;let o,i;for(;n&&n!==t&&!(n instanceof ShadowRoot);){const e=Pi(n,$a);e&&r.add(e),o=o||Pi(n,Za),i=i||Pi(n,"data-aep-click-token"),n=n.parentNode}return{interactIds:[...r],clickLabel:o,clickToken:i}})(e),a=((e,t,n)=>r=>{const{scopeDetails:o={}}=r,{decisionProvider:i}=o;return e[i]===Qa||e[i]===Wa&&(t||n)})(n,o,i);if(0===r.length)return{};const s=t(r).filter(a);return{decisionsMeta:xa(s),propositionActionLabel:o,propositionActionToken:i,viewName:Ps(s)}};const Rs="AJO",Ts="TGT",Os=({config:e,logger:t,eventManager:n,consent:r})=>{const{targetMigrationEnabled:o,prehidingStyle:i,autoCollectPropositionInteractions:a}=e,s=Na({eventManager:n,mergeDecisionsMeta:_a}),c=(e=>()=>{const t=ki(Yi);t&&(e.logOnContentHiding({status:"show-containers",message:"Prehiding style removed to show containers.",logLevel:"info"}),_(t))})(t),d=(e=>t=>{if(!t)return;if(ki(Yi))return;const n=xi(),r={id:Yi,...n&&{nonce:n}},o=h(v,r,{textContent:t});e.logOnContentHiding({status:"hide-containers",message:"Prehiding style applied to hide containers.",logLevel:"info"}),f(document.head,o)})(t),{storeInteractionMeta:l,getInteractionMetas:u}=(()=>{const e={},t={};return{storeInteractionMeta:(n,r,o,i,a)=>{a=parseInt(a,10),e[a]||(e[a]={},t[a]={}),t[a][n]||(t[a][n]=new Set),t[a][n].add(r),e[a][n]={...i,scopeType:o}},getInteractionMetas:n=>Array.isArray(n)&&0!==n.length?Object.values(n.map(e=>parseInt(e,10)).reduce((n,r)=>(Object.keys(e[r]||{}).forEach(o=>{n[o]||(n[o]={proposition:e[r][o],items:new Set}),n[o].items=new Set([...n[o].items,...t[r][o]])}),n),{})).map(({proposition:e,items:t})=>({...e,items:Array.from(t).map(e=>({id:e}))})):[]}})(),{storeClickMeta:p,getClickSelectors:m,getClickMetas:y}=Ba(),w=(({window:e})=>()=>e.location)({window:window}),I={[ma]:da(Ki,!0),[fa]:da(Wi,!0),[ha]:da(ta,!0),[ya]:da(aa,!0),[va]:da(sa,!0),[wa]:da(ia,!0),[Ia]:da(ua,!0),[ba]:da(ga,!0),[Ea]:da(ca),[Ca]:da(_,!0),[ka]:da(oa),[Sa]:da(na),[Pa]:da(ra,!0),[Da]:da(Wi),[Ra]:da(Qi),[Oa]:da(pa,!0)},b=(C=[Ja,za],e=>e?C.reduce((e,t)=>({...e,...t(e)}),e):e);var C;const k=Xa({preprocess:b,isPageWideSurface:ni}),S=(({createProposition:e})=>{let t=!1,n=Promise.resolve({});const r=(t,n)=>{const r=t[n.toLowerCase()];return r&&r.length>0?r:[e({scope:n,scopeDetails:{characteristics:{scopeType:Aa}},items:[{schema:_o}]},!1)]};return{createCacheUpdate:e=>{const o=g();return t=!0,n=n.then(e=>o.promise.then(t=>({...e,...t})).catch(()=>e)),{update(t){const n=t.filter(e=>e.getScope()),i=W(n,e=>e.getScope().toLowerCase());return o.resolve(i),e?r(i,e):[]},cancel(){o.reject()}}},getView:e=>n.then(t=>r(t,e)),isInitialized:()=>t}})({createProposition:k}),P=fs(window),D={[_o]:Ga,[jo]:rs({modules:I,logger:t,storeInteractionMeta:l,storeClickMeta:p,autoCollectPropositionInteractions:a}),[Bo]:os({modules:I,logger:t,storeInteractionMeta:l,autoCollectPropositionInteractions:a}),[Ho]:as({logger:t,executeRedirect:P,collect:s}),[zo]:gs({modules:Ss(s),logger:t})},R=ss({schemaProcessors:D,logger:t}),T=(()=>{let e=Promise.resolve([]);return{concat(t){e=e.then(e=>t.then(t=>e.concat(t)).catch(()=>e))},clear(){const t=e;return e=Promise.resolve([]),t}}})(),O=((e,t)=>(n,r,o,i)=>{if(!n)return()=>{};if(!r){const e=g();return t.concat(e.promise),e.resolve}return(t=[],n=[])=>{E(t)&&e({decisionsMeta:t,viewName:o,identityMap:i}),E(n)&&e({decisionsMeta:n,eventType:di,propositionAction:{reason:"Conflict"},viewName:o,identityMap:i})}})(s,T),N=(({logger:e,prehidingStyle:t,showContainers:n,hideContainers:r,mergeQuery:o,processPropositions:i,createProposition:a,notificationHandler:s,consent:c})=>({cacheUpdate:d,personalizationDetails:l,event:u,onResponse:p,identityMap:g})=>{const{state:m,wasSet:f}=c.current();"out"===m&&f||(l.isRenderDecisions()?r(t):n()),o(u,l.createQueryDetails());const h=s(l.isRenderDecisions(),l.isSendDisplayEvent(),l.getViewName(),g);p(({response:t})=>{const r=t.getPayloadsByType("personalization:decisions");E(r)||e.logOnContentRendering({status:"no-offers",message:"No offers were returned.",logLevel:"info",detail:{query:l.createQueryDetails()}});const o=r.map(e=>a(e,!0,!1,g)),{page:s=[],view:c=[],proposition:u=[]}=W(o,e=>e.getScopeType()),p=d.update(c);let m,f,y;return l.isRenderDecisions()?(({render:m,returnedPropositions:f,returnedDecisions:y}=i([...s,...p],u)),E(s)&&e.logOnContentRendering({status:"rendering-started",message:"Started rendering propositions for page-wide scope.",logLevel:"info",detail:{scope:mn,propositions:s.map(e=>e.toJSON())}}),E(p)&&e.logOnContentRendering({status:"rendering-started",message:"Rendering propositions started for view scope - "+l.getViewName()+".",logLevel:"info",detail:{scope:l.getViewName(),propositions:p.map(e=>e.toJSON())}}),m().then(h),1===s.length&&s[0].getItems().every(e=>e.getSchema()===Ho)||n()):({returnedPropositions:f,returnedDecisions:y}=i([],[...s,...p,...u])),{propositions:f,decisions:y}})})({prehidingStyle:i,showContainers:c,hideContainers:d,mergeQuery:ja,processPropositions:R,createProposition:k,notificationHandler:O,consent:r,logger:t}),M=(({mergeDecisionsMeta:e,collectInteractions:t,collectClicks:n,getInteractionMetas:r,getClickMetas:o,getClickSelectors:i,autoCollectPropositionInteractions:a})=>({event:s,clickedElement:c})=>{const d=[];let l,u,p;if([t(c,r,a),n(c,i(),o)].forEach(({decisionsMeta:e,propositionActionLabel:t,propositionActionToken:n,viewName:r})=>{Array.prototype.push.apply(d,e),!l&&t&&(l=t),!u&&n&&(u=n),!p&&r&&(p=r)}),E(d)){const t={eventType:ai};p&&(t.web={webPageDetails:{viewName:p}}),s.mergeXdm(t),e(s,d,[li.INTERACT],((e,t)=>{if(!t&&!e)return;const n={};return e&&(n.label=e),t&&(n.tokens=[t]),n})(l,u))}})({mergeDecisionsMeta:_a,collectInteractions:Ds,collectClicks:La,getInteractionMetas:u,getClickMetas:y,getClickSelectors:m,autoCollectPropositionInteractions:a}),A=(({processPropositions:e,viewCache:t,logger:n})=>({personalizationDetails:r,onResponse:o})=>{let i,a;const s=r.getViewName();return o(()=>({propositions:i,decisions:a})),t.getView(s).then(t=>{let o;return r.isRenderDecisions()?(({render:o,returnedPropositions:i,returnedDecisions:a}=e(t)),n.logOnContentRendering({status:"rendering-started",message:"Started rendering propositions for view scope - "+s+".",logLevel:"info",detail:{scope:s,propositions:t.map(e=>e.toJSON())}}),o()):(({returnedPropositions:i,returnedDecisions:a}=e([],t)),[])})})({processPropositions:R,viewCache:S,logger:t}),x=Ha({processPropositions:R,createProposition:k,renderedPropositions:T,viewCache:S}),q=(({targetMigrationEnabled:e})=>e?e=>{e.getPayload().mergeMeta({target:{migration:!0}})}:fe)({targetMigrationEnabled:o}),L=cs({processPropositions:R,createProposition:k,notificationHandler:O}),U=(({showContainers:e,consent:t})=>()=>{const{state:n,wasSet:r}=t.current();n===zt&&r?e():t.awaitConsent().catch(e)})({showContainers:c,consent:r});return hi({getPageLocation:w,logger:t,fetchDataHandler:N,viewChangeHandler:A,onClickHandler:M,isAuthoringModeEnabled:Ua,mergeQuery:ja,viewCache:S,showContainers:c,applyPropositions:x,setTargetMigration:q,mergeDecisionsMeta:_a,renderedPropositions:T,onDecisionHandler:L,handleConsentFlicker:U})};Os.namespace="Personalization";const Ns=Ya.map(e=>St(e));Os.configValidators=Rt({prehidingStyle:Tt().nonEmpty(),targetMigrationEnabled:Ct().default(!1),autoCollectPropositionInteractions:Rt({[Rs]:It(Ns).default(Qa),[Ts]:It(Ns).default(Ka)}).default({[Rs]:Qa,[Ts]:Ka}).noUnknownFields()});const Ms=e=>null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype,As=(e,t={},n=[])=>(Object.keys(e).forEach(r=>{Ms(e[r])||Array.isArray(e[r])?As(e[r],t,[...n,r]):t[[...n,r].join(".")]=e[r]}),t);var xs=e=>Ms(e)?As(e):e;const qs="matcher",Ls="group",Us="historical",_s="eq",js="ne",Bs="ex",Fs="nx",Vs="gt",Hs="ge",zs="lt",Js="le",Xs="co",Gs="nc",Qs="sw",Ks="ew",Ws="and",Ys="or",$s="ordered",Zs="mostRecent";function ec(e){return"object"==typeof e||void 0===e}function tc(e){return"number"==typeof e}const nc={[_s]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r===String(n[e]).toLowerCase())return!0;return!1}},[js]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r===String(n[e]).toLowerCase())return!1;return!0}},[Bs]:{matches:(e,t)=>void 0!==e[t]&&null!==e[t]},[Fs]:{matches:(e,t)=>void 0===e[t]||null===e[t]},[Vs]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r>n[e])return!0;return!1}},[Hs]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r>=n[e])return!0;return!1}},[zs]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r<n[e])return!0;return!1}},[Js]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r<=n[e])return!0;return!1}},[Xs]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!0;return!1}},[Gs]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!1;return!0}},[Qs]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r.startsWith(String(n[e]).toLowerCase()))return!0;return!1}},[Ks]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r.endsWith(n[e].toLowerCase()))return!0;return!1}}};function rc(e){return void 0===e}const oc="eventId",ic="eventType",ac=["iam.eventType",ic,"type"],sc=["iam.id","id"],cc=(e,t)=>{for(let n=0;n<t.length;n+=1)if(!rc(e[t[n]]))return t[n];throw new Error("The event does not match the expected schema.")},dc=e=>{const t=structuredClone(e);return[[cc(t,ac),ic],[cc(t,sc),oc]].forEach(([e,n])=>{e!==n&&(t[n]=t[e],delete t[e])}),t};function lc(e,t){return{evaluate:(e,n)=>t.evaluate(e,n),toString:()=>"Condition{type="+e+", definition="+t+"}"}}function uc(e,t,n){return{evaluate:r=>{const o=function(e){return nc[e]}(t);return!!o&&o.matches(r,e,n)}}}function pc(e,t,n,r,o,i){return{evaluate:(a,s)=>{let c;return c=Zs===i?function(e,t,n,r=0,o=1/0){try{return e.reduce((e,i,a)=>{const s=n.generateEventHash(dc(i)),c=t.events[s];if(!c)return e;const d=c.timestamps.filter(e=>e>=r&&e<=o).pop();return d&&d>e.timestamp?{index:a,timestamp:d}:e},{index:-1,timestamp:0}).index}catch{return-1}}(e,a,s,r,o):$s===i?function(e,t,n,r=0,o=1/0){try{let i=r;const a=e.every(e=>{const r=n.generateEventHash(dc(e)),a=t.events[r];if(!a)return!1;const s=a.timestamps[0],c=s>=i&&s<=o;return i=s,c});return Number(a)}catch{return 0}}(e,a,s,r,o):function(e,t,n,r=0,o=1/0){return e.reduce((e,i)=>{try{const a=n.generateEventHash(dc(i)),s=t.events[a];if(!s)return e;const{timestamps:c=[]}=s;return e+c.filter(e=>e>=r&&e<=o).length}catch{return e}},0)}(e,a,s,r,o),((e,t,n)=>{switch(t){case Vs:return e>n;case Hs:return e>=n;case zs:return e<n;case Js:return e<=n;case _s:return e===n;case js:return e!==n;default:return!1}})(c,t,n)}}}function gc(e){const{logic:t,conditions:n}=e;return function(e,t){return{evaluate:(n,r)=>Ws===e?function(e,t,n){let r=!0;for(let o=0;o<t.length;o+=1)r=r&&t[o].evaluate(e,n);return r}(n,t,r):Ys===e&&function(e,t,n){let r=!1;for(let o=0;o<t.length;o+=1)if(r=r||t[o].evaluate(e,n),r)return!0;return!1}(n,t,r)}}(t,n.map(mc))}function mc(e){const{type:t,definition:n}=e;if(qs===t){const e=function(e){const{key:t,matcher:n,values:r}=e;return uc(t,n,r)}(n);return lc(t,e)}if(Ls===t){return lc(t,gc(n))}if(Us===t){const e=function(e){const{events:t,from:n,to:r,matcher:o,value:i,searchType:a}=e;return pc(t,o,i,n,r,a)}(n);return lc(t,e)}throw new Error("Can not parse condition")}function fc(e){const{id:t,type:n,detail:r}=e;return function(e,t,n){return{id:e,type:t,detail:n}}(t,n,r)}function hc(e){const{condition:t,consequences:n,key:r}=e;return function(e,t,n){return{key:n,execute:(n,r)=>e.evaluate(n,r)?t:[],toString:()=>"Rule{condition="+e+", consequences="+t+"}"}}(mc(t),n.map(fc),r)}function yc(e){const{version:t,rules:n,metadata:r}=e,o=n.map(hc),i=function(e){if(!e)return;return{provider:e.provider,providerData:Object.assign({},e.providerData)}}(r);return function(e,t,n){return{version:e,rules:t,metadata:n}}(t,o,i)}function vc(e,t,n){const{providerData:r}=n,{identityTemplate:o}=r;return o.replace("<key>",t).replace("<identity>",e)}function wc(e,t=e=>e[0]){const n={};return function(...r){const o=t(r);return rc(n[o])&&(n[o]=e(...r)),n[o]}}function Ic(e,t){const n=65535&t;return((t-n)*e|0)+(n*e|0)|0}const bc=wc(function(e,t=0){let n;const r=e.length,o=3432918353,i=461845907;let a=t;const s=-2&r;for(let t=0;t<s;t+=2)n=e.charCodeAt(t)|e.charCodeAt(t+1)<<16,n=Ic(n,o),n=(131071&n)<<15|n>>>17,n=Ic(n,i),a^=n,a=(524287&a)<<13|a>>>19,a=5*a+3864292196|0;return r%2==1&&(n=e.charCodeAt(s),n=Ic(n,o),n=(131071&n)<<15|n>>>17,n=Ic(n,i),a^=n),a^=r<<1,a^=a>>>16,a=Ic(a,2246822507),a^=a>>>13,a=Ic(a,3266489909),a^=a>>>16,a},e=>e.join("-"));const Ec=wc(function(e,t){const n=bc(e),r=Math.abs(n)%t/t*100;return Math.round(100*r)/100});function Cc(e,t,n){return{allocation:Ec(e,t),...n}}function kc(e,t){return t.map(t=>t.execute(e)).filter(e=>e.length>0)}function Sc(e,t){!function(e){const{providerData:t}=e;if(!t)throw new Error("Provider data is missing in metadata");const{identityTemplate:n,buckets:r}=t;if(!n)throw new Error("Identity template is missing in provider data");if(!r)throw new Error("Buckets is missing in provider data")}(t);const n=e.filter(e=>!e.key),r=function(e){const t={};for(let n=0;n<e.length;n+=1){const r=e[n];r.key&&(t[r.key]||(t[r.key]=[]),t[r.key].push(r))}return t}(e),{buckets:o}=t.providerData;return{provider:"TGT",execute:e=>{const i=function(e){const{xdm:t}=e;if(!t)throw new Error("XDM object is missing in the context");const{identityMap:n}=t;if(!n)throw new Error("Identity map is missing in the XDM object");const r=n.ECID;if(!r)throw new Error("ECID identity namespace is missing in the identity map");if(!Array.isArray(r)||0===r.length)throw new Error("ECID identities array is empty or not an array");const o=r[0].id;if(!o)throw new Error("ECID identity is missing in the identities array");return o}(e),a=kc(e,n),s=Object.keys(r),c=[];for(let n=0;n<s.length;n+=1){const a=s[n],d=r[a],l=kc(Cc(vc(i,a,t),o,e),d);c.push(...l)}return[...a,...c]}}}function Pc(e,t={generateEventHash:()=>{throw new Error("No hash function provided")}}){const{rules:n,metadata:r={}}=yc(e);return function(e,t,n){const{provider:r}=t;return"TGT"===r?Sc(e,t):function(e,t){return{provider:"DEFAULT",execute:n=>e.map(e=>e.execute(n,t)).filter(e=>e.length>0)}}(e,n)}(n,r,t)}var Dc=e=>{const t=structuredClone(e),n=Object.keys(t).sort().reduce((e,n)=>{const r=t[n];return null==r||""===r?e:e+=n+":"+r},"");return H(n)};const Rc="events",Tc="~type",Oc="~source",Nc="com.adobe.eventType.edge",Mc="com.adobe.eventType.rulesEngine",Ac="com.adobe.eventSource.requestContent",xc="cjmiam",qc="schema";var Lc=(e=30,t=1e3)=>n=>{let r=Object.entries(n).reduce((e,[t,{timestamps:n=[]}])=>(n.forEach(n=>{e.push({key:t,timestamp:n})}),e),[]);const o=(e=>{const t=new Date;return t.setDate(t.getDate()-e),t})(e);return r=r.filter(({timestamp:e})=>e>=o),r.sort((e,t)=>e.timestamp-t.timestamp),r=r.slice(-t),r.reduce((e,{key:t,timestamp:n})=>(e[t]||(e[t]={timestamps:[]}),e[t].timestamps.push(n),e),{})};const Uc=e=>e?.scopeDetails?.activity?.id,_c=()=>{const e={};return{getItem:t=>t in e?e[t]:null,setItem:(t,n)=>{e[t]=n}}},jc=e=>{e.clear()};const Bc={[xc]:(e,t,n)=>{const{html:r,mobileParameters:o}=n;return{schema:zo,data:{mobileParameters:o,webParameters:{},content:r,contentType:ds},id:e}},[qc]:(e,t,n)=>{const{schema:r,data:o,id:i}=n;return{schema:r,data:o,id:i||e}}};const Fc=e=>{const{schema:t,data:n}=e;if(t===Vo)return!0;if(t!==Fo)return!1;try{const e="string"==typeof n.content?JSON.parse(n.content):n.content;return e&&Object.prototype.hasOwnProperty.call(e,"version")&&Object.prototype.hasOwnProperty.call(e,"rules")}catch{return!1}};var Vc=(e,t)=>{const n=e=>{const{id:t,type:n,detail:r}=e;return"function"==typeof Bc[n]?Bc[n](t,n,r):r},r=Uc(e),o=[],i=e=>{const{data:t={},schema:n}=e,r=n===Vo?t:t.content;r&&o.push(Pc("string"==typeof r?JSON.parse(r):r,{generateEventHash:Dc}))};return Array.isArray(e.items)&&e.items.filter(Fc).forEach(i),{rank:e?.scopeDetails?.rank||1/0,evaluate:i=>{const a=t.getEvent(ii,r),s=a?.timestamps[0],c=((e=[])=>Array.isArray(e)?e.flat(1/0):e)(o.map(e=>e.execute(i))).map(n).map(e=>{const n=t.addEvent({eventType:li.TRIGGER,eventId:r}).timestamps[0];return{...e,data:{...e.data,qualifiedDate:n,displayedDate:s}}});return{...e,items:c}},isEvaluable:o.length>0}},Hc=({storage:e,logger:t})=>{let n,r,o,i=e;const a=e=>{i=e;const t=((e,t)=>n=>{try{const n=e.getItem(t);return[JSON.parse(n),n.length]}catch{}return[n,0]})(i,Rc);if(n=((e,t)=>n=>{e.setItem(t,JSON.stringify(n))})(i,Rc),[r,o]=t({}),o>2097152){const e=Lc();r=e(r),n(r)}};a(e);const s=(e={eventType:null,eventId:null},o="insert")=>{const{eventType:i,eventId:a}=e;if(!i||!a)return;const s=Dc(e);if("insertIfNotExists"===o&&r[s])return;r[s]&&Array.isArray(r[s].timestamps)||(r[s]={timestamps:[]});const c=(new Date).getTime();return r[s].timestamps.push(c),r[s].timestamps.sort(),t.info("[Event History] Added event for",e,"with hash",s,"and timestamp",c),n(r),r[s]};return{addExperienceEdgeEvent:e=>{const{xdm:t}=e.getContent();if(!(e=>{const{_experience:t}=e||{};return!!t&&"object"==typeof t})(t))return;const{_experience:{decisioning:{propositionEventType:n={},propositionAction:{id:r}={},propositions:o=[]}={}}}=t;Object.keys(n).filter(e=>1===n[e]).forEach(e=>{o.forEach(t=>{(e=>e?.scopeDetails?.decisionProvider)(t)===Rs&&s({eventId:Uc(t),eventType:e,action:r})})})},addEvent:s,addEventPayloads:(e=[])=>e.map(({operation:e,event:t})=>s(t,e)),getEvent:(e,t)=>{const n=Dc({eventType:e,eventId:t});if(r[n])return r[n]},toJSON:()=>r,setStorage:a}};const zc=(e,...t)=>t,Jc=(e,...t)=>!0;var Xc=({collect:e})=>{let t=()=>{};const n=new Set,r=(e,t,r)=>{const o=[e,t].join("-"),i=!r.has(o)&&((e=>[li.INTERACT,li.DISMISS].includes(e))(e)||!n.has(o));return r.add(o),n.add(o),i},o=(t,n=[])=>{if(!(n instanceof Array))return Promise.resolve();if(!Object.values(li).includes(t))return Promise.resolve();const o=[],i=new Set;return n.forEach(e=>{const n=(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}})(e);r(t,n.id,i)&&o.push(n)}),o.length>0?e({decisionsMeta:o,eventType:mi(t),documentMayUnload:!0}):Promise.resolve()},i=(()=>{let e=zc,t=Jc,n=0;const r={};return{add:(e,t=void 0)=>{return"function"!=typeof e?()=>{}:(n+=1,r[n]={callback:e,params:t},{id:n,unsubscribe:(o=n,()=>{delete r[o]})});var o},emit:(...n)=>{Object.values(r).forEach(({callback:r,params:o})=>{const i=e(o,...n);t(o,...i)&&r(...i)})},emitOne:(n,...o)=>{if(!n||!r[n])return;const{callback:i,params:a}=r[n],s=e(a,...o);t(a,...s)&&i(...s)},hasSubscriptions:()=>Object.keys(r).length>0,setEmissionPreprocessor:t=>{"function"==typeof t&&(e=t)},setEmissionCondition:e=>{"function"==typeof e&&(t=e)}}})();i.setEmissionPreprocessor((e,t)=>{const{surfacesFilter:n,schemasFilter:r}=e;return[{propositions:t.filter(e=>!n||n.includes(e.scope)).map(e=>{const{items:t=[]}=e;return{...e,items:t.filter(e=>!r||r.includes(e.schema))}}).filter(e=>e.items.length>0)},o]});return{refresh:e=>{t=t=>{t?i.emitOne(t,e):i.emit(e)},t()},command:{optionsValidator:e=>(({options:e})=>Rt({surfaces:Et(Tt()).uniqueItems(),schemas:Et(Tt()).uniqueItems(),callback:kt().required()}).noUnknownFields()(e))({options:e}),run:({surfaces:e,schemas:n,callback:r})=>{const{id:o,unsubscribe:a}=i.add(r,{surfacesFilter:e instanceof Array?e:void 0,schemasFilter:n instanceof Array?n:void 0});return t(o),Promise.resolve({unsubscribe:a})}}}};var Gc=({contextProvider:e,decisionProvider:t})=>({optionsValidator:e=>(({options:e})=>Rt({renderDecisions:Ct(),personalization:Rt({decisionContext:Rt({})})}).noUnknownFields()(e))({options:e}),run:({renderDecisions:n,decisionContext:r,applyResponse:o})=>o({renderDecisions:n,propositions:t.evaluate(e.getContext(r))})});const Qc=({config:e,eventManager:t,createNamespacedStorage:n,consent:r,getBrowser:o,logger:i})=>{const{orgId:a,personalizationStorageEnabled:s}=e,c=Na({eventManager:t,mergeDecisionsMeta:_a}),d=n(Q(a)+".decisioning.");s||jc(d.persistent);const l=Hc({storage:_c(),logger:i}),u=(({eventRegistry:e})=>{const t={},n=n=>{const r=Uc(n);if(!r)return;const o=Vc(n,e);o.isEvaluable&&(t[r]=o)};return{addPayload:n,addPayloads:e=>{e.forEach(n)},evaluate:(e={})=>Object.values(t).sort(({rank:e},{rank:t})=>e-t).map(t=>t.evaluate(e)).filter(e=>e.items.length>0)}})({eventRegistry:l}),p=(({eventRegistry:e,window:t,getBrowser:n})=>{const r=(new Date).getTime(),o=()=>{const e=new Date,t=e.getTime();return{pageLoadTimestamp:r,currentTimestamp:t,currentDate:e.getDate(),"~state.com.adobe.module.lifecycle/lifecyclecontextdata.dayofweek":e.getDay()+1,"~state.com.adobe.module.lifecycle/lifecyclecontextdata.hourofday":e.getHours(),currentMinute:e.getMinutes(),currentMonth:e.getMonth(),currentYear:e.getFullYear(),pageVisitDuration:t-r,"~timestampu":t/1e3,"~timestampz":e.toISOString()}},i={browser:{name:n()},page:{title:t.title,url:t.url,...ye(t.url)},referringPage:{url:t.referrer,...ye(t.referrer)}};return{getContext:(n={})=>{const r={...{...i,...o(),window:{height:t.height,width:t.width,scrollY:t.scrollY,scrollX:t.scrollX},"~sdkver":qn},...n};return{...xs(r),events:e.toJSON()}}}})({eventRegistry:l,window:window,getBrowser:o}),g=Gc({contextProvider:p,decisionProvider:u}),m=Xc({collect:c});let f;return{lifecycle:{onDecision({propositions:e}){m.refresh(e)},onComponentsRegistered(e){f=(({lifecycle:e,eventRegistry:t})=>({renderDecisions:n=!1,propositions:r=[],event:o,personalization:i})=>{if(e){const a=(e=>{const t=[];return e.forEach(e=>{const n=[];e.items.forEach(e=>{"https://ns.adobe.com/personalization/eventHistoryOperation"===e.schema?t.push({operation:e.data.operation,event:{eventId:e.data.content["iam.id"],eventType:e.data.content["iam.eventType"]}}):n.push(e)}),e.items=n}),t})(r);t.addEventPayloads(a);const s=o?.getUserIdentityMap();e.onDecision({renderDecisions:n,propositions:r,event:o,personalization:i,identityMap:s})}return{propositions:r}})({lifecycle:e.lifecycle,eventRegistry:l}),s&&r.awaitConsent().then(()=>{l.setStorage(d.persistent)}).catch(()=>{d&&jc(d.persistent)})},onBeforeEvent({event:e,renderDecisions:t,personalization:n={},onResponse:r=fe}){const{decisionContext:o={}}=n;r((({renderDecisions:e,decisionProvider:t,applyResponse:n,event:r,personalization:o,decisionContext:i})=>{const a={...xs(r.getContent()),...i};return({response:i})=>{if(t.addPayloads(i.getPayloadsByType("personalization:decisions")),!r.hasQuery())return{propositions:[]};const s=t.evaluate(a);return n({renderDecisions:e,propositions:s,event:r,personalization:o})}})({renderDecisions:t,decisionProvider:u,applyResponse:f,event:e,personalization:n,decisionContext:p.getContext({[Tc]:Nc,[Oc]:Ac,...o})}))},onBeforeRequest({request:e}){const t=e.getPayload().toJSON(),{events:n=[]}=t;0!==n.length&&n.forEach(e=>l.addExperienceEdgeEvent(e))}},commands:{evaluateRulesets:{run:({renderDecisions:e,personalization:t={}})=>{const{decisionContext:n={}}=t;return g.run({renderDecisions:e,decisionContext:{[Tc]:Mc,[Oc]:Ac,...n},applyResponse:f})},optionsValidator:g.optionsValidator},subscribeRulesetItems:m.command}}};Qc.namespace="RulesEngine",Qc.configValidators=Rt({personalizationStorageEnabled:Ct().default(!1)});var Kc=Rt({streamingMedia:Rt({channel:Tt().nonEmpty().required(),playerName:Tt().nonEmpty().required(),appVersion:Tt(),mainPingInterval:Pt().minimum(10).maximum(50).default(10),adPingInterval:Pt().minimum(1).maximum(10).default(10)}).noUnknownFields()}),Wc=({config:e,trackMediaEvent:t,trackMediaSession:n,mediaResponseHandler:r})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=fe}){if(!e)return;const{legacy:n,playerId:o,getPlayerDetails:i}=e;n||t(({response:e})=>r({playerId:o,getPlayerDetails:i,response:e}))}},commands:{createMediaSession:{optionsValidator:e=>(({options:e})=>It([Rt({playerId:Tt().required(),getPlayerDetails:kt().required(),xdm:Rt({mediaCollection:Rt({sessionDetails:Rt(bt()).required()})}),edgeConfigOverrides:Mt}).required(),Rt({xdm:Rt({mediaCollection:Rt({playhead:Pt().required(),sessionDetails:Rt(bt()).required()})}),edgeConfigOverrides:Mt}).required()],"an object with playerId, getPlayerDetails and xdm.mediaCollection.sessionDetails, or an object with xdm.mediaCollection.playhead and xdm.mediaCollection.sessionDetails")(e))({options:e}),run:n},sendMediaEvent:{optionsValidator:e=>(({options:e})=>It([Rt({playerId:Tt().required(),xdm:Rt({eventType:Ot(...Object.values(co)).required(),mediaCollection:Rt(bt())}).required()}).required(),Rt({xdm:Rt({eventType:Ot(...Object.values(co)).required(),mediaCollection:Rt({playhead:Pt().integer().required(),sessionID:Tt().required()}).required()}).required()}).required()],"Error validating the sendMediaEvent command options.")(e))({options:e}),run:n=>e.streamingMedia?t(n):Promise.reject(new Error("Streaming media is not configured."))}}});const Yc=({config:e,logger:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o})=>{const i=go(),a=lo({config:e,eventManager:n,consent:o,sendEdgeNetworkRequest:r,setTimestamp:xn(()=>new Date)}),s=mo({mediaSessionCacheManager:i,mediaEventManager:a,config:e}),c=fo({config:e,mediaEventManager:a,mediaSessionCacheManager:i}),d=yo({mediaSessionCacheManager:i,config:e,trackMediaEvent:s});return Wc({config:e,trackMediaEvent:s,mediaResponseHandler:d,trackMediaSession:c})};Yc.namespace="Streaming media",Yc.configValidators=Kc;var $c=Rt({advertising:Rt({id5PartnerId:Tt(),rampIdJSPath:Tt(),dspEnabled:Ct(),advertiserSettings:Et(Rt({advertiserId:Tt().required(),enabled:Ct().required()}).noUnknownFields())}).noUnknownFields()});const Zc="advertising",ed="_les_lsc",td="lastConversionTime",nd="displayClickCookieExpires",rd="rampIdExpires",od="surferId",id="rampId",ad="id5Id",sd="advertising.enrichment",cd="trackingCode",dd="trackingIdentities",ld="Ad conversion submission failed",ud="ev_lcc";var pd=({orgId:e,logger:t})=>{const n=p({logger:t,cookieJar:a}),r=(t,n=!0)=>n?K(e,t):t,o=(e=30)=>new Date(Date.now()+60*e*1e3),i=(e,o=!0)=>{try{const t=r(e,o),i=n.get(t);return i?(e=>{try{if(e?.startsWith("%7B")||e?.startsWith("{"))return JSON.parse(decodeURIComponent(e))}catch{}return e})(i):null}catch(n){return t.error("Error reading cookie: "+e,n),null}},s=(e,o,i={},a=!0)=>{try{const t=r(e,a),s=(e=>"object"==typeof e&&null!==e?encodeURIComponent(JSON.stringify(e)):e)(o);return n.set(t,s,i),!0}catch(n){return t.error("Error writing cookie: "+e,n),!1}};return{setValue:(e,t,n={})=>{const r={...i(Zc)||{},[e]:t};return s(Zc,r,{expires:o(527040),...n})},getValue:e=>(i(Zc)||{})[e]}};var gd=({cookieManager:e,logger:t,componentConfig:n,getBrowser:r,consent:o,collectSurferId:i,getID5Id:a,getRampId:s,appendAdvertisingIdQueryToEvent:c,getUrlParams:d,isThrottled:l})=>async({event:u,advertising:p={}})=>{const{state:g}=o.current();if("in"!==g)return;const{skwcid:m,efid:f}=d(),h=!(!m||!f);if(!((e=>![Qt,Gt].includes(e?.handleAdvertisingData?.toLowerCase()))(p)||h||l(od,e)&&l(ad,e)&&l(id,e)))try{const o=(e=>e?.handleAdvertisingData?.toLowerCase()===Gt)(p);let d=null;r&&r()===Y||(d=s(t,n.rampIdJSPath,e,o,o));const[g,m,f]=await Promise.allSettled([i(e,r,o),a(t,n.id5PartnerId,o,o),d]),h={};if("fulfilled"===g.status&&g.value&&!l(od,e)&&(h.surferId=g.value),"fulfilled"===m.status&&m.value&&!l(ad,e)&&(h.id5Id=m.value),"fulfilled"===f.status&&f.value&&!l(id,e)&&(h.rampId=f.value),0===Object.keys(h).length&&(l(od,e)||l(ad,e)||l(id,e)))return;c(h,u,e,n)}catch(e){t.error("Error in onBeforeSendEvent hook:",e)}};let md="",fd="",hd=null;const yd=()=>hd||(hd=new Promise((e,t)=>{setTimeout(()=>{const n="https:"===document.location.protocol?"https:":"http:",r=n+"//www.everestjs.net/static/pixel_details.html#"+new URLSearchParams({google:"__EFGCK__",gsurfer:"__EFGSURFER__",imsId:"__EFIMSORGID__",is_fb_cookie_synced:"__EFFB__",optout:"__EFOPTOUT__",throttleCookie:"__EFSYNC__",time:"__EFTIME__",ev_lcc:"__LCC__"}).toString(),o=n+"//pixel.everesttech.net/1/gr?"+new URLSearchParams({ev_gb:"0",url:r}).toString(),i=h("iframe",{src:o},{height:0,width:0,frameBorder:0,style:{display:"none"}},[]);var a;a=i,document.body?document.body.appendChild(a):window.addEventListener("load",()=>{document.body.appendChild(a)},!1);var s;s=function n(r){var o;if(r.origin.includes("www.everestjs.net"))try{const t=r.data,i=t.indexOf("#");if(-1===i)return void e({surferId:null,displayClickCookie:null});const a=new URLSearchParams(t.substring(i+1));let s,c;const d=a.get("gsurfer");d&&(s=d);const l=a.get(ud);l&&"__LCC__"!==l&&(c=l),o=n,window.removeEventListener("message",o,!1),s?(md=s,fd=c,e({surferId:md,displayClickCookie:fd})):e({surferId:null,displayClickCookie:null})}catch(e){t(e)}finally{hd=null}},window.addEventListener("message",s,!1)},5e3)}),hd),vd=function(e,t,n=!0){if(t){if(!ae({getBrowser:t})())return Promise.resolve(null)}if(md&&""!==md)return Promise.resolve(md);if(e){const t=e.getValue(od);if(t)return md=t,Promise.resolve(t)}return n?yd().then(t=>(e&&t&&(t.surferId&&e.setValue(od,t.surferId),t.displayClickCookie&&(e.setValue(ud,t.displayClickCookie),e.setValue(nd,Date.now()+9e5))),t.surferId)):Promise.resolve(null)},wd=15,Id=3e4,bd=500,Ed=5e3,Cd=2e3,kd={rampIdEnv:void 0,rampIdCallInitiated:!1,inProgressRampIdPromise:null,envelopeRetrievalInProgress:!1},Sd=(e,t,n,r)=>{let o;try{o=JSON.parse(e).envelope}catch{o=e}o&&!kd.rampIdCallInitiated?(kd.rampIdCallInitiated=!0,kd.rampIdEnv=o,kd.envelopeRetrievalInProgress=!1,kd.inProgressRampIdPromise=null,n.setValue(id,kd.rampIdEnv),n.setValue(rd,Date.now()+1728e5),t(kd.rampIdEnv)):(r.warn("Invalid RampID envelope received",{envelope:o}),kd.envelopeRetrievalInProgress=!1)},Pd=(e,t,n,r=!1)=>{if(kd.inProgressRampIdPromise)return kd.inProgressRampIdPromise;const o=r?Cd:Id;let i=!1;const a=new Promise((r,o)=>{U(e,{onLoad:()=>{void 0===window.ats||kd.envelopeRetrievalInProgress||(kd.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{e?i||Sd(e,r,t,n):(kd.envelopeRetrievalInProgress=!1,window.addEventListener("lrEnvelopePresent",()=>{kd.envelopeRetrievalInProgress||i||(kd.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{i||Sd(e,r,t,n)},e=>{i||(n.error("Failed to retrieve envelope after event",e),kd.envelopeRetrievalInProgress=!1,o(e),kd.inProgressRampIdPromise=null)}))}))}).catch(e=>{i||(n.error("Error retrieving envelope",e),kd.envelopeRetrievalInProgress=!1,o(e),kd.inProgressRampIdPromise=null)})),((e,t,n,r)=>{let o=wd,i=1,a=0;const s=()=>{if(kd.rampIdEnv)return;if(a>Id)return r.error("Maximum retry time exceeded"),kd.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID - timeout")),void(kd.inProgressRampIdPromise=null);if(0===o)return r.error("Maximum retries exceeded"),kd.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID after maximum retries")),void(kd.inProgressRampIdPromise=null);const c=Math.min(bd*i,Ed);setTimeout(()=>{a+=c,o-=1,i+=1,void 0===window.ats||null===window.ats||kd.rampIdEnv||kd.envelopeRetrievalInProgress?s():(kd.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(t=>{Sd(t,e,n,r),kd.rampIdEnv||s()},()=>{r.warn("Failed to retrieve envelope"),kd.envelopeRetrievalInProgress=!1,s()}))},c)};s()})(e=>{i||r(e)},e=>{i||o(e)},t,n)},onError:e=>{i||o(e),kd.inProgressRampIdPromise=null}})}),s=new Promise(e=>{setTimeout(()=>{i=!0,e(null)},o)});return kd.inProgressRampIdPromise=Promise.race([a,s]).finally(()=>{kd.inProgressRampIdPromise=null}),kd.inProgressRampIdPromise},Dd=(e,t,n,r=!0,o=!1)=>{if(kd.rampIdEnv)return Promise.resolve(kd.rampIdEnv);if(n){const e=n.getValue(id),t=n.getValue(rd);if(e&&t&&t>Date.now())return kd.rampIdEnv=e,Promise.resolve(e)}return r&&null!=t?Pd(t,n,e,o):Promise.resolve(null)};let Rd="",Td=null;const Od=function(e,t,n=!0,r=!1){return Rd&&""!==Rd?Promise.resolve(Rd):n?((e,t,n)=>{if(e=Math.floor(Number(e)),Td)return Td;const r=t?2e3:3e4;let o=!1;const i=new Promise((t,r)=>{if(!e)return n.error("Missing partner ID"),void r(new Error("ID5 partner ID is required"));const i=()=>{try{if(void 0===window.ID5)return void r(new Error("ID5 object not available after script load"));const i=window.ID5.init({partnerId:e});Rd=i.getUserId();const a=e=>{o||t(e)};Rd?a(Rd):window.ID5.init({partnerId:e}).onAvailable(function(t){Rd=t.getUserId(),Rd?a(Rd):window.ID5.init({partnerId:e}).onAvailable(function(e){Rd=e.getUserId(),Rd?a(Rd):(n.error("Failed to get ID5 ID after all retries"),a(null))})},1e3)}catch(e){n.error("Error during ID5 initialization",e),r(e)}};void 0!==window.ID5?i():U("https://www.everestjs.net/static/id5-api.js",{onLoad:i,onError:e=>{n.error("Script loading failed",e),r(e)}})}),a=new Promise(e=>{setTimeout(()=>{o=!0,e(null)},r)});return Td=Promise.race([i,a]).finally(()=>{Td=null}),Td})(t,r,e).then(e=>e).catch(t=>{throw e.error("Failed to get ID5 ID",t),t}):Promise.resolve(null)},Nd=()=>{const e=Ee.parse(window.location.search);return{skwcid:e.s_kwcid,efid:e.ef_id}},Md=e=>e&&Array.isArray(e)?e.filter(e=>e&&!0===e.enabled&&e.advertiserId).map(e=>e.advertiserId).join(", "):"",Ad=(e,t,n,r,o=!1)=>{const i=n.getValue(ed);let a=null;const s=n.getValue(nd);s&&s>Date.now()&&(a=n.getValue(ud));const c={advertising:{...i?.click_time&&{lastSearchClick:i.click_time},...a&&{lastDisplayClick:a},stitchIds:{...e[od]&&{surferId:e[od]},...e[ad]&&{id5:e[ad]},...e[id]&&{rampIdEnv:e[id]},ipAddress:"DUMMY_IP_ADDRESS"},advIds:Md(r.advertiserSettings),...o&&{eventType:sd}}};return t.mergeQuery(c),t},xd=(e,t)=>{const n=Date.now(),r=t.getValue(e+"_last_conversion");return Boolean(r&&n-r<18e5)};async function qd({eventManager:e,cookieManager:t,logger:n,componentConfig:r,adConversionHandler:o,getBrowser:i}){const a={},s={},c=async()=>{if(i=a,c=s,!Object.entries(i).some(([e])=>!c[e]))return null;var i,c;const d=Object.keys(a);try{const i=Ad(a,e.createEvent(),t,r,!0),c={eventType:sd,timestamp:(new Date).toISOString()};i.setUserXdm(c);const l=await o.trackAdConversion({event:i});return((e,t,n,r)=>{const o=Date.now();e.forEach(e=>{t[e]=!0,n.setValue(e+"_last_conversion",o),r.info("Ad conversion submitted successfully".replace("{0}",e))}),n.setValue(td,o)})(d,s,t,n),l}catch(e){return n.error(ld,e),null}},d=((e,t,n,r)=>{const o={};return xd(od,n)||(o.surferId=vd(n,r,!0).catch(()=>null)),t.id5PartnerId&&t.dspEnabled&&!xd(ad,n)&&(o.id5Id=Od(e,t.id5PartnerId).catch(()=>null)),t.rampIdJSPath&&t.dspEnabled&&!xd(id,n)&&(o.rampId=Dd(e,t.rampIdJSPath,n,!0).catch(()=>null)),o})(n,r,t,i);if(0===Object.keys(d).length)return[];const l=Object.entries(d).map(([e,t])=>t.then(t=>{if(t)return a[e]=t,c()}).catch(t=>(n.error("Unable to obtain ad identity".replace("{0}",e),t),null)));return Promise.allSettled(l)}var Ld=({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,componentConfig:o,getBrowser:i,consent:a})=>{const s=o?.advertiserSettings?Md(o.advertiserSettings):"";return async()=>{try{await a.awaitConsent();const{skwcid:c,efid:d}=Nd();if(!(!c&&!d))return async function({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:o,efid:i}){const a=Array.isArray(o)?o[0]:o,s=Array.isArray(i)?i[0]:i;r.info("Processing ad conversion",{skwcid:a,efid:s});const c=e.createEvent();if(void 0!==a&&void 0!==s&&a.startsWith("AL!")){const e={click_time:Date.now(),skwcid:a,efid:s};t.setValue(ed,e)}const d={_experience:{adcloud:{conversionDetails:{...void 0!==a&&{[cd]:a},...void 0!==s&&{[dd]:s}}}},eventType:"advertising.enrichment_ct",timestamp:(new Date).toISOString()};c.setUserXdm(d),t.setValue(td),t.setValue("lastConversionTimeExpires",Date.now()+78624e5);try{return await n.trackAdConversion({event:c})}catch(e){throw r.error(ld,e),e}}({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:c,efid:d});s&&qd({eventManager:e,cookieManager:t,logger:r,componentConfig:o,adConversionHandler:n,getBrowser:i}).catch(e=>r.error("Error in view through:",e))}catch(e){r.error("Error in sendAdConversion:",e)}}};const Ud=({logger:e,config:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o,getBrowser:i})=>{const a=t.advertising,s=pd({orgId:t.orgId,logger:e}),c=(({sendEdgeNetworkRequest:e,consent:t,createDataCollectionRequest:n,createDataCollectionRequestPayload:r,logger:o})=>({trackAdConversion:({event:i})=>{const a=r();a.addEvent(i),i.finalize();const s=n({payload:a});return t.awaitConsent().then(()=>e({request:s}).then(()=>({success:!0})).catch(e=>{throw o.error("Failed to send ad conversion event",e),e}))}}))({sendEdgeNetworkRequest:r,consent:o,createDataCollectionRequest:yn,createDataCollectionRequestPayload:In,logger:e});return(({handleOnBeforeSendEvent:e,sendAdConversionHandler:t})=>({lifecycle:{onComponentsRegistered(){t()},onBeforeEvent:e}}))({handleOnBeforeSendEvent:gd({cookieManager:s,logger:e,getBrowser:i,consent:o,componentConfig:a,collectSurferId:vd,getID5Id:Od,getRampId:Dd,appendAdvertisingIdQueryToEvent:Ad,getUrlParams:Nd,isThrottled:xd}),sendAdConversionHandler:Ld({eventManager:n,cookieManager:s,adConversionHandler:c,logger:e,componentConfig:a,getBrowser:i,consent:o})})};Ud.namespace="Advertising",Ud.configValidators=$c;const _d=async({vapidPublicKey:e,window:t})=>{if(!("serviceWorker"in t.navigator))throw new Error("Service workers are not supported in this browser.");if(!("PushManager"in t)||!("Notification"in t))throw new Error("Push notifications are not supported in this browser.");if("granted"!==t.Notification.permission)throw new Error("The user has not given permission to send push notifications.");const o=await t.navigator.serviceWorker.getRegistration();if(!o)throw new Error("No service worker registration was found.");if(!e)throw new Error("No VAPID public key was provided.");const i={userVisibleOnly:!0,applicationServerKey:n(e)};try{const e=await o.pushManager.subscribe(i);return{endpoint:e.endpoint,keys:{p256dh:r(new Uint8Array(e.getKey("p256dh")),{urlSafe:!0}),auth:r(new Uint8Array(e.getKey("auth")),{urlSafe:!0})}}}catch(n){const r=await o.pushManager.getSubscription();if(!r)throw n;if(!await r.unsubscribe())throw n;return _d({vapidPublicKey:e,window:t})}};const jd="config",Bd="alloyConfig";async function Fd(e,t){try{const i=await(n="alloyPushNotifications",r=1,o=e=>{e.objectStoreNames.contains(jd)||e.createObjectStore(jd,{keyPath:"id"})},new Promise((e,t)=>{const i=indexedDB.open(n,r);i.onerror=()=>t(i.error),i.onsuccess=()=>e(i.result),i.onupgradeneeded=e=>{const t=e.target.result;o&&o(t)}})),a=await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readonly").objectStore(t).get(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,jd,Bd),s={...a||{},...e,id:Bd,timestamp:Date.now()};await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readwrite").objectStore(t).put(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,jd,s),i.close(),t.info("Successfully saved web SDK config to IndexedDB",s)}catch(e){t.error("Failed to save config to IndexedDB",{error:e})}var n,r,o}const Vd="subscriptionDetails";var Hd=async({config:{vapidPublicKey:e,appId:t},storage:n,logger:r,sendEdgeNetworkRequest:o,consent:i,eventManager:a,identity:s,window:c,getPushSubscriptionDetails:d=_d})=>{await s.awaitIdentity();const l=s.getEcidFromCookie(),u=await d({vapidPublicKey:e,window:c}),p=JSON.stringify(ke(u)),g=""+l+p;if(g===n.getItem(Vd))return void r.info("Subscription details have not changed. Not sending to the server.");n.setItem(Vd,g);const m=await(async({ecid:e,eventManager:t,serializedPushSubscriptionDetails:n,appId:r})=>{const o=t.createEvent();o.setUserData({pushNotificationDetails:[{appID:r,token:n,platform:"web",denylisted:!1,identity:{namespace:{code:"ECID"},id:e}}]}),o.finalize();const i=In();return i.addEvent(o),i})({eventManager:a,ecid:l,serializedPushSubscriptionDetails:p,appId:t}),f=(({payload:e})=>hn({payload:e,getAction:()=>"interact",getUseSendBeacon:()=>!1}))({payload:m});await i.awaitConsent(),await o({request:f}),await Fd({ecid:l},r)};const zd=({orgId:e,pushNotifications:{vapidPublicKey:t,appId:n,trackingDatasetId:r}={vapidPublicKey:void 0,appId:void 0,trackingDatasetId:void 0}})=>e&&t&&n&&r,Jd=({createNamespacedStorage:e,eventManager:t,config:n,logger:r,consent:o,identity:i,getBrowser:a,sendEdgeNetworkRequest:s})=>({lifecycle:{async onComponentsRegistered(){if(zd(n)){const{datastreamId:e,edgeDomain:t,edgeBasePath:o,pushNotifications:{trackingDatasetId:i}}=n;await Fd({datastreamId:e,edgeDomain:t,edgeBasePath:o,datasetId:i,browser:a()},r)}}},commands:{sendPushSubscription:{run:async()=>{if(!zd(n))throw new Error("Push notifications module is not configured.");const{orgId:a,pushNotifications:{vapidPublicKey:c,appId:d}={vapidPublicKey:void 0,appId:void 0}}=n||{},l=e(Q(a)+".pushNotifications.");return Hd({config:{vapidPublicKey:c,appId:d},storage:l.persistent,logger:r,sendEdgeNetworkRequest:s,consent:o,eventManager:t,identity:i,window:window})},optionsValidator:Rt({}).noUnknownFields()}}});Jd.namespace="Push Notifications",Jd.configValidators=Rt({pushNotifications:Rt({vapidPublicKey:Tt().required(),appId:Tt().required(),trackingDatasetId:Tt().required()}).noUnknownFields()});const Xd=1e4,Gd=({loggingCookieJar:e,config:t})=>{if(!1===t.conversation.stickyConversationSession)return qe();const n=K(t.orgId,"bc_session_id"),r=e.get(n);return r||qe()};var Qd=({eventManager:e,config:t,logger:n,sendConversationServiceRequest:r,buildEndpointUrl:o,cookieTransfer:i,createResponse:a,decodeKndctrCookie:s,lifecycle:c,consent:d,session:l})=>{const{edgeDomain:u,edgeBasePath:p,datastreamId:g,onBeforeEventSend:m,conversation:f}=t;return h=>{let y=!1;const{message:v,onStreamResponse:w,xdm:I,data:b,voiceEnabled:E=!1}=h,C=In(),k=(({payload:e,action:t="conversations",sessionId:n,voiceEnabled:r=!1})=>hn({payload:e,edgeSubPath:r?"/brand-concierge-voice":"/brand-concierge",requestParams:{sessionId:n},getAction:()=>t,getUseSendBeacon:()=>!1}))({payload:C,sessionId:l.id,voiceEnabled:E}),S=e.createEvent();if(v||b){const e=(()=>{const e=(({window:e})=>()=>e.location)({window:window});return ei(e)})();S.mergeQuery({conversation:{surfaces:[e],message:v,data:b}})}const{state:P}=d.current();S.mergeMeta({consent:{state:P}});const D=s();S.mergeXdm({identityMap:{ECID:[{id:D}]}}),S.mergeXdm({...I}),(v||b)&&(y=!0);const R=o({edgeDomain:u,edgeBasePath:p,datastreamId:g,request:k});return c.onBeforeEvent({event:S}).then(()=>{try{S.finalize(m)}catch(e){throw w({error:e}),e}return C.addEvent(S),!0===t.conversation.stickyConversationSession&&i.cookiesToPayload(C,u),r({requestId:qe(),url:R,request:k,onStreamResponse:w,streamingEnabled:y}).then(e=>{if(204===e.status)return;const t=(({onStreamResponseCallback:e,streamTimeout:t})=>{let n,r=!1;const o=()=>{clearTimeout(n),n=setTimeout(()=>{r=!0,e({error:{message:"Stream timeout: No data received within "+t/1e3+" seconds"}})},t)};return o(),{onEvent:t=>{r||(o(),e(t))},onPing:()=>{r||o()},onComplete:()=>{clearTimeout(n)}}})({onStreamResponseCallback:e=>{if(e.error)return n.error("Stream error occurred",e.error),void w({error:e.error});const t=e.data.replace("data: ",""),r=JSON.parse(t),o=a({content:r});i.responseToCookies(o),n.info("onStreamResponse callback called with",o.getPayloadsByType("brand-concierge:conversation")),w(o.getPayloadsByType("brand-concierge:conversation"))},streamTimeout:f.streamTimeout}),r=(()=>{const e=/\r\n|\r|\n/,t=/\r\n\r\n|\n\n|\r\r/,n=e=>e.trim().startsWith(": ping"),r=t=>{const n=t.split(e),r={};for(const e of n){const t=e.trim();if(!t)continue;const n=t.indexOf(":");if(-1===n)continue;const o=t.substring(0,n).trim(),i=t.substring(n+1).trim();"data"===o?r.data=(r.data||"")+i:"event"===o?r.type=i:"id"===o&&(r.id=i)}return r.data?r:null};return async(e,{onEvent:o,onPing:i,onComplete:a})=>{const s=e.getReader(),c=new TextDecoder("utf-8");let d="";try{for(;;){const{done:e,value:a}=await s.read();if(e)break;d+=c.decode(a,{stream:!0});const l=d.split(t);d=l.pop()||"";for(const e of l){const t=e.trim();if(!t)continue;if(n(t)){i();continue}const a=r(t);null!==a&&o(a)}}const e=d.trim();if(!e)return void a();if(n(e))return i(),void a();const l=r(e);null!==l&&o(l),a()}catch(e){o({error:e}),a()}finally{s.releaseLock()}}})();r(e.body,t)})})}},Kd=Rt({conversation:Rt({stickyConversationSession:Ct().default(!1),streamTimeout:Pt().integer().minimum(Xd).default(Xd),collectSources:Ct().default(!1)}).default({stickyConversationSession:!1,streamTimeout:Xd,collectSources:!1})});const Wd=({loggingCookieJar:e,logger:t,eventManager:n,consent:r,instanceName:o,sendEdgeNetworkRequest:i,config:a,lifecycle:s,cookieTransfer:c,createResponse:d})=>{const{fetch:l}=window,u={id:Gd({loggingCookieJar:e,config:a})},p=(({queryString:e})=>({edgeDomain:t,request:n,datastreamId:r})=>{const o=n.getRequestParams(),i=n.getDatastreamIdOverride()||r;o.requestId=n.getId(),o.configId=i;const a=e.stringify({...o});return"https://"+t+n.getEdgeSubPath()+"/"+n.getAction()+"?"+a})({queryString:Ee}),g=(({logger:e,fetch:t})=>async({requestId:n,url:r,request:o,streamingEnabled:i=!0})=>{const a=o.getPayload(),s=JSON.stringify(a),c=JSON.parse(s),d={"Content-Type":"text/plain"};d.Accept=i?"text/event-stream":"text/plain",e.logOnBeforeNetworkRequest({url:r,requestId:n,payload:c});const l=async(o=1)=>{const i=[2e3,3e3,5e3];try{const e=await t(r,{method:"POST",headers:d,body:s});if(!e.ok)throw new Error("Request failed with status "+e.status);return e}catch(t){if(o<4){const a=i[o-1];return e.logOnNetworkError({requestId:n,url:r,payload:c,error:new Error("Attempt "+o+" failed, retrying in "+a+"ms: "+t.message)}),await new Promise(e=>setTimeout(e,a)),l(o+1)}throw e.logOnNetworkError({requestId:n,url:r,payload:c,error:t}),De({error:t,message:"Network request failed after all retries."})}};return(async()=>l())()})({logger:t,fetch:l,config:a}),m=Ft({orgId:a.orgId,cookieJar:e,logger:t}),f=Qd({logger:t,eventManager:n,consent:r,config:a,buildEndpointUrl:p,lifecycle:s,cookieTransfer:c,createResponse:d,sendConversationServiceRequest:g,decodeKndctrCookie:m,session:u});return{lifecycle:{onBeforeEvent({event:e}){if(a.conversation.collectSources){const t=Ee.parse(window.location.search).adobe_brand_concierge_source;t&&e.mergeXdm({channel:{referringSource:t}})}}},commands:{sendConversationEvent:{optionsValidator:e=>(({options:e})=>It([Rt({message:Tt().required(),onStreamResponse:kt().default(fe),voiceEnabled:Ct().default(!1)}),Rt({xdm:Rt({interactionId:Tt(),conversationId:Tt(),conversation:Rt({feedback:Rt({classification:Tt(),comment:Tt(),reasons:Et(Tt())})})}),voiceEnabled:Ct().default(!1)}).required(),Rt({data:Rt({type:Tt().required(),payload:Rt({})}).required(),onStreamResponse:kt().default(fe),voiceEnabled:Ct().default(!1)})])(e))({options:e}),run:f}}}};Wd.namespace="BrandConcierge",Wd.configValidators=Kd;var Yd=Object.freeze({__proto__:null,activityCollector:Qr,advertising:Ud,audiences:Yr,brandConcierge:Wd,consent:io,eventMerge:so,mediaAnalyticsBridge:Uo,personalization:Os,pushNotifications:Jd,rulesEngine:Qc,streamingMedia:Yc});const{console:$d}=window,Zd=de(window),el=(e={})=>{const t=Rt({name:Tt().default("alloy"),monitors:Et(Rt({})).default([]),components:Et(kt())}).noUnknownFields(),{name:n,monitors:r,components:o}=t(e),i=xt({console:$d,locationSearch:window.location.search,createLogger:gn,instanceName:n,createNamespacedStorage:Zd,getMonitors:An.bind(null,r)}),a=Cr({instanceName:n,logController:i,components:o});return i.logger.logOnInstanceCreated({instance:a}),a};(({components:e})=>{const t=window.__alloyNS;if(t)for(const n of t){const t=el({name:n,components:e}),r=e=>{const[n,r,[o,i]]=e;return t(o,i).then(n,r)},o=window[n].q;o.push=r,o.forEach(r)}})({components:Object.values(Yd)})}();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "@adobe/alloy-core/components/EventMerge/createEventMergeId.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "@adobe/alloy-core/utils/deepAssign.js";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
declare function _default({ payload, action, sessionId }: {
|
|
1
|
+
declare function _default({ payload, action, sessionId, voiceEnabled, }: {
|
|
2
2
|
payload: any;
|
|
3
3
|
action?: string;
|
|
4
4
|
sessionId: any;
|
|
5
|
+
voiceEnabled?: boolean;
|
|
5
6
|
}): import("../../utils/request/types.js").Request;
|
|
6
7
|
export default _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adobe/alloy",
|
|
3
|
-
"version": "2.31.2-beta.
|
|
3
|
+
"version": "2.31.2-beta.1",
|
|
4
4
|
"description": "Adobe Experience Platform Web SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -40,6 +40,22 @@
|
|
|
40
40
|
"./serviceWorker.js": {
|
|
41
41
|
"types": "./dist/types/browser/src/serviceWorker.d.ts",
|
|
42
42
|
"default": "./src/serviceWorker.js"
|
|
43
|
+
},
|
|
44
|
+
"./utils/deepAssign.js": {
|
|
45
|
+
"types": "./dist/types/browser/src/utils/deepAssign.d.ts",
|
|
46
|
+
"default": "./src/utils/deepAssign.js"
|
|
47
|
+
},
|
|
48
|
+
"./libEs6/utils/deepAssign": {
|
|
49
|
+
"types": "./dist/types/browser/src/utils/deepAssign.d.ts",
|
|
50
|
+
"default": "./src/utils/deepAssign.js"
|
|
51
|
+
},
|
|
52
|
+
"./utils/createEventMergeId.js": {
|
|
53
|
+
"types": "./dist/types/browser/src/createEventMergeId.d.ts",
|
|
54
|
+
"default": "./src/utils/createEventMergeId.js"
|
|
55
|
+
},
|
|
56
|
+
"./libEs6/components/EventMerge/createEventMergeId": {
|
|
57
|
+
"types": "./dist/types/browser/src/createEventMergeId.d.ts",
|
|
58
|
+
"default": "./src/utils/createEventMergeId.js"
|
|
43
59
|
}
|
|
44
60
|
},
|
|
45
61
|
"dependencies": {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright 2026 Adobe. All rights reserved.
|
|
3
|
+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
|
|
7
|
+
Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export { default } from "@adobe/alloy-core/components/EventMerge/createEventMergeId.js";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright 2026 Adobe. All rights reserved.
|
|
3
|
+
This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
|
|
7
|
+
Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export { default } from "@adobe/alloy-core/utils/deepAssign.js";
|