;(function(win,doc){ccao=win["cca"];ccao.privacy=ccao.privacy||{que:[]};var ccaSettings;function setAdditionalParametersWithConsent(params){params['nct']=Date.parse(new Date());params['sid']=ccaSettings.session.id;params['ccuid']=ccaSettings.user.id;params['pvid']=ccaSettings.pageData.pvid;params['url']=window.location.href;params['extReferer']=getExternalReferrer();params['landing_url']=getLandingUrl();params['pageviews']=getPageVisits();params['prevPvid']=getPrevPvid();addUtmParams(params);try{ccao.engagement.registerEngagement();params['engid']=ccao.engagement.id||'';params['engcount']=ccao.engagement.count!==undefined?ccao.engagement.count:0;params['engttl']=ccao.engagement.ttl||'';}catch(e){console.debug(e)}
return params;}
function setAdditionalParametersWithoutConsent(params){params['nct']=Date.parse(new Date());params['sid']=ccaSettings.session.id;params['pvid']=ccaSettings.pageData.pvid;params['url']=window.location.href;try{ccao.engagement.registerEngagement();params['engid']=ccao.engagement.id||'';params['engcount']=ccao.engagement.count!==undefined?ccao.engagement.count:0;params['engttl']=ccao.engagement.ttl||'';}catch(e){console.debug(e)}
return params;}
function addUtmParams(params){try{if(ccaSettings.utm){for(const[key,val]of Object.entries(ccaSettings.utm)){params[key]=val;};}else{var pageUrl=new URL(window.location.href);ccaSettings.utm={};pageUrl.searchParams.forEach(function(val,key){if(key.toLowerCase().startsWith('utm_')){params[key]=val;ccaSettings.utm[key]=val;}});}}catch(e){return params;}
return params;}
function getExternalReferrer(){try{var referrerUrl=new URL(doc.referrer);if(referrerUrl.host!=window.location.host){if(sessionStorage){sessionStorage.setItem("cc_ext_referrer",referrerUrl.host);}
return referrerUrl.host;}else{var storedReferrer=sessionStorage.getItem("cc_ext_referrer");return storedReferrer||'';}}catch(e){return '';}}
function getLandingUrl(){try{if(sessionStorage){var landingUrl=sessionStorage.getItem("cc_landing_url");if(landingUrl){return landingUrl;}else{sessionStorage.setItem("cc_landing_url",win.location.href);return win.location.href;}}
return '';}catch(e){return '';}}
function getPageVisits(){try{if(ccaSettings.pageData.pageVisits){return ccaSettings.pageData.pageVisits;}else if(sessionStorage){var pageVisits=sessionStorage.getItem("cc_page_visits")||0;pageVisits++;ccaSettings.pageData.pageVisits=pageVisits;sessionStorage.setItem("cc_page_visits",pageVisits);return pageVisits;}
return '';}catch(e){return '';}}
function getPrevPvid(){try{if(ccaSettings.pageData.prevPvid){return ccaSettings.pageData.prevPvid;}else if(sessionStorage){var prevPvid=sessionStorage.getItem("cc_prev_pvid")||'';ccaSettings.pageData.prevPvid=prevPvid;sessionStorage.setItem("cc_prev_pvid",ccaSettings.pageData.pvid);return prevPvid;}
return '';}catch(e){return '';}}
function isConsent(){if(!ccao.privacy.law||typeof ccao.privacy.law!=="string"){ccao.privacy.law="unknown";}
switch(ccao.privacy.law.toLowerCase()){case "gdpr":if(ccao.privacy.gdpr.Consent){return true;}
break;case "ccpa":if(ccao.privacy.ccpa.Consent){return true;}
break;case "na":return true;break;case "optout":case "unknown":default:break;}
return false;}
var postEvent=function(endpoint,bodyData,consentRequired=true){if(!consentRequired||isConsent()){fetch(endpoint,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(bodyData||{})}).catch(()=>{})}}
ccao.sendMessage=function(action,params,consentRequired){action=action?"/"+action:"";ccao.privacy=ccao.privacy||{};ccao.privacy.que=ccao.privacy.que||[];ccao.privacy.que.push(function(){var bodyData=[];if(isConsent()){bodyData=setAdditionalParametersWithConsent(params);}else{bodyData=setAdditionalParametersWithoutConsent(params);}
var endpoint=`${win._ccLauncherSettings.ingestion}/parent/${ccao.settings.site.parentId}/engagement/trigger${action}`;postEvent(endpoint,bodyData,consentRequired);});}
ccao.getSettings(function(settings){ccaSettings=settings;});})(window,document);;(function(win,doc){var ccao=win["cca"];var sessionEndDuration=1800000;function scriptLoad(settings){var cacheParams=getCacheValueParams();var cookieType=(win._ccScriptSettings.cookieSettingsType!==undefined)?win._ccScriptSettings.cookieSettingsType:0;var paramsToSend={"url":win.location.href,"skey":settings.scriptKey,"scriptId":settings.site.scriptId||"","parentId":settings.site.parentId||"","ios":settings.user.ios,"nocookies":settings.user.requiresFingerprint&&cacheParams.fp===false,"cookieType":cookieType.toString(),"localCache":cacheParams.localCache,"browserCache":cacheParams.browserCache,"devicefp":settings.user.fingerprint};switch(cca.privacy.law){case "gdpr":var consentString=cca.privacy.gdpr.CS;break;case "ccpa":var consentString=cca.privacy.ccpa.ConsentString;break;default:break;}
if(consentString)paramsToSend["privacyConsent"]=consentString;if(win.navigator){paramsToSend["ua"]=win.navigator.userAgent;paramsToSend["lang"]=win.navigator.language;}
if(settings.user.isNew){paramsToSend["nu"]="true";}
if(settings.session.isNew){paramsToSend["ns"]="true";paramsToSend["r"]=doc.referrer;}
if(win.pbjs&&win.pbjs.getUserIdsAsEids){let eids=Object.fromEntries(pbjs.getUserIdsAsEids().map(entry=>[entry.source,entry.uids.map(uid=>uid.id)]));paramsToSend["prebidExternalIds"]=eids;}
if(win.navigator&&win.navigator.cookieDeprecationLabel){var elapsed=false;var timer=win.setTimeout(function(){elapsed=true;ccao.sendMessage("page_visit",paramsToSend,true);},100);navigator.cookieDeprecationLabel.getValue().then((label)=>{win.clearTimeout(timer);if(!elapsed){paramsToSend["cookieDeprecationLabel"]=label;ccao.sendMessage("page_visit",paramsToSend,true);}});}else{ccao.sendMessage("page_visit",paramsToSend,true);}}
ccao.redoScriptLoad=scriptLoad;function getCacheValueParams(){var localUser=win._ccScriptSettings.user.localCachedUser||{localCache:false};if(typeof(localUser.localCache)==="undefined")
localUser.localCache=false;var bcUser=win._ccScriptSettings.user.browserCachedUser||{browserCache:false};if(typeof(bcUser.browserCache)==="undefined")
localUser.browserCache=false;var fpFrameUser=win._ccScriptSettings.user.fpframeuser||{fp:false};if(typeof(fpFrameUser.browserCache)==="undefined")
localUser.fp=false;return Object.assign({},bcUser,localUser,fpFrameUser);}
var refresh=function(settings){scriptLoad(settings);};var addRefresh=function(){win.ccRefresh=win.ccRefresh||[];win.ccRefresh.push([0,refresh]);};win.cca&&win.cca.notifyCCReady(win._ccScriptSettings);ccao.getSettings(function(settings){if(!settings.session.id)return;addRefresh();ccao.privacy=ccao.privacy||{};ccao.privacy.que=ccao.privacy.que||[];ccao.privacy.que.push(function(){scriptLoad(settings);});});})(window,document);;(function(win,doc){var ccao=win["cca"];ccao.privacy=ccao.privacy||{que:[]};var protocol='https:';var executionDelay=500,executionQueue=[],executionTimer;function processQueueMessage(){if(!executionTimer){var func=executionQueue.shift();if(func){func();executionTimer=setTimeout(function(){executionTimer=null;processQueueMessage();},executionDelay);}}}
function queueForExecution(func){executionQueue.push(func);processQueueMessage();}
function firePixel(endpoint){if(!ccao.privacy.law||typeof ccao.privacy.law!=="string"){ccao.privacy.law="unknown";}
switch(ccao.privacy.law.toLowerCase()){case "gdpr":if(ccao.privacy.gdpr.Consent){var img=new Image(1,1);img.src=endpoint;}
break;case "ccpa":if(ccao.privacy.ccpa.Consent){var img=new Image(1,1);img.src=endpoint;}
break;case "na":var img=new Image(1,1);img.src=endpoint;break;case "optout":case "unknown":default:break;}}
function pixelSync(endpoint){return function(){ccao.privacy=ccao.privacy||{};ccao.privacy.que=ccao.privacy.que||[];ccao.privacy.que.push(function(){firePixel(endpoint);});};}
function fireScript(src,callback,id){if(!ccao.privacy.law||typeof ccao.privacy.law!=="string"){ccao.privacy.law="unknown";}
switch(ccao.privacy.law.toLowerCase()){case "gdpr":if(ccao.privacy.gdpr.Consent){var syncScript=doc.createElement("script");syncScript.src=src;if(id){syncScript.id=id;}
syncScript.type="text/javascript";syncScript.async=true;syncScript.style="display: none;";if(callback!==undefined)
syncScript.addEventListener('load',callback);var pageScript=doc.getElementsByTagName('script')[0];pageScript.parentNode.insertBefore(syncScript,pageScript);}
break;case "ccpa":if(ccao.privacy.ccpa.Consent){var syncScript=doc.createElement("script");syncScript.src=src;if(id){syncScript.id=id;}
syncScript.type="text/javascript";syncScript.async=true;syncScript.style="display: none;";if(callback!==undefined)
syncScript.addEventListener('load',callback);var pageScript=doc.getElementsByTagName('script')[0];pageScript.parentNode.insertBefore(syncScript,pageScript);}
break;case "na":var syncScript=doc.createElement("script");syncScript.src=src;if(id){syncScript.id=id;}
syncScript.type="text/javascript";syncScript.async=true;syncScript.style="display: none;";if(callback!==undefined)
syncScript.addEventListener('load',callback);var pageScript=doc.getElementsByTagName('script')[0];pageScript.parentNode.insertBefore(syncScript,pageScript);break;case "optout":case "unknown":default:break;}}
function scriptSync(src,callback,id){return function(){ccao.privacy=ccao.privacy||{};ccao.privacy.que=ccao.privacy.que||[];ccao.privacy.que.push(function(){fireScript(src,callback,id);});};}
function bidswitchPixelSync(settings,partnerSettings,partnerTypeId){queueForExecution(pixelSync(protocol+'//x.bidswitch.net/sync?dsp_id='+partnerSettings.partnerId+'&user_id='+settings.user.id+'&expires=30'));}
function getSyncUrlParams(settings,partnerTypeId){return '&id='+settings.site.scriptId+'&parentId='+settings.site.parentId+'&ccsid='+settings.session.id+'&ccuid='+settings.user.id+'&ccpt='+partnerTypeId+'&pvid='+settings.pageData.pvid+'&engid='+ccao.engagement.id+'&engcount='+ccao.engagement.count+'&engttl='+ccao.engagement.ttl;}
function lotameSyncScript(settings,partnerSettings,partnerTypeId,syncUserUrl){var redirectUrl="&d="+encodeURIComponent(syncUserUrl+"lotame&puid=")+"$"+encodeURIComponent("{profile_id}"+getSyncUrlParams(settings,partnerTypeId));if(cca?.privacy?.law=="gdpr"&&cca?.privacy?.getTcfString){cca.privacy.getTcfString(function(tcfString){var consentString=tcfString||cca?.privacy?.gdpr?.CS||'';var url=protocol+"//sync.crwdcntrl.net/qmap?c="+partnerSettings.partnerId+"&tp=MGNI&tpid="+settings.user.id+"&gdpr=1&gdpr_consent="+encodeURIComponent(consentString)+redirectUrl;queueForExecution(pixelSync(url));});}else{queueForExecution(pixelSync(protocol+"//sync.crwdcntrl.net/qmap?c="+partnerSettings.partnerId+"&tp=MGNI&tpid="+settings.user.id+redirectUrl));}}
function xandrPixelSync(settings,partnerSettings,partnerTypeId,syncUserUrl){var redirectUrl=encodeURIComponent(syncUserUrl+"xandr"+getSyncUrlParams(settings,partnerTypeId)+"&")+"puid=$UID";queueForExecution(pixelSync(protocol+"//secure.adnxs.com/getuid?"+redirectUrl));}
function magnitePixelSync(settings,partnerSettings,partnerTypeId,syncUserUrl){ccao.privacy.que.push(function(){if(!ccao.privacy.law||typeof ccao.privacy.law!=="string"){ccao.privacy.law="unknown";}
switch(ccao.privacy.law.toLowerCase()){case "gdpr":if(ccao.privacy.gdpr.Consent){queueForExecution(pixelSync(protocol+"//token.rubiconproject.com/token?pid="+partnerSettings.partnerId+"&puid="+settings.user.id+"&gdpr=1&gdpr_consent="+ccao.privacy.gdpr.CS))}
break;case "ccpa":if(ccao.privacy.ccpa.Consent){queueForExecution(pixelSync(protocol+"//token.rubiconproject.com/token?pid="+partnerSettings.partnerId+"&puid="+settings.user.id+"&gdpr=0"))}
break;case "na":queueForExecution(pixelSync(protocol+"//token.rubiconproject.com/token?pid="+partnerSettings.partnerId+"&puid="+settings.user.id+"&gdpr=0"))
break;case "optout":case "unknown":default:break;}});}
function cmiPixelSync(settings,partnerSettings,partnerTypeId,syncUserUrl){queueForExecution(pixelSync(protocol+"//global.ib-ibi.com/image.sbix?go=80000&pid=800&xid="+settings.user.id));}
function prepareSync(partnerFunction,settings,partnerSetting,partnerTypeId,syncUserUrl){var response={"id":partnerSetting.id,"executed":false};response.execute=function(){if(!response.executed){response.executed=true;return partnerFunction(settings,partnerSetting,partnerTypeId,syncUserUrl);}
return false;};return response;}
function getSyncQueue(settings,syncUserUrl){var syncQueue=[];var partnerSyncs=settings.syncs.partnerSyncs;if(partnerSyncs.lotame&&partnerSyncs.lotame.active){syncQueue.push(new prepareSync(lotameSyncScript,settings,partnerSyncs.lotame,partnerSyncs.lotame.partnerTypeId,syncUserUrl));}
if(partnerSyncs.bidswitch&&partnerSyncs.bidswitch.active){syncQueue.push(new prepareSync(bidswitchPixelSync,settings,settings.syncs.partnerSyncs.bidswitch,partnerSyncs.bidswitch.partnerTypeId));}
if(partnerSyncs.xandr&&partnerSyncs.xandr.active){syncQueue.push(new prepareSync(xandrPixelSync,settings,partnerSyncs.xandr,partnerSyncs.xandr.partnerTypeId,syncUserUrl));}
if(partnerSyncs.magnite&&partnerSyncs.magnite.active){syncQueue.push(new prepareSync(magnitePixelSync,settings,partnerSyncs.magnite,partnerSyncs.magnite.partnerTypeId,syncUserUrl))}
if(partnerSyncs.cmi&&partnerSyncs.cmi.active){syncQueue.push(new prepareSync(cmiPixelSync,settings,partnerSyncs.cmi,partnerSyncs.cmi.partnerTypeId,syncUserUrl));}
return syncQueue;}
ccao.getSettings(function(settings){var syncQueue=getSyncQueue(settings,win._ccLauncherSettings.ingestion+"/parent/"+win._ccScriptSettings.site.parentId+"/engagement/trigger/user_sync?src="),syncQueueLen=syncQueue.length,needClear=false;for(var i=0;i<syncQueueLen;i++){for(var j=0;j<syncQueueLen;j++){if(syncQueue[j].id===i){needClear=needClear||syncQueue[j].execute();}}}
for(var y=0;y<syncQueueLen;y++){needClear=needClear||syncQueue[y].execute();}
if(needClear){ccao.clearFlagCookie&&ccao.clearFlagCookie();}});})(window,document);;(function(win,doc){var ccao=win["cca"];slotElementAttachClick=function(parentId,scriptId,evt){if(_ccScriptSettings.analytics.clickout){var elementId=evt.slot.getSlotElementId();try{var adSlot=document.querySelector('#'+CSS.escape(elementId));if(typeof adSlot!=='undefined'&&adSlot!==null){var adFrame=adSlot.querySelector('iframe');if(typeof adFrame!=='undefined'&&adFrame!==null){window.addEventListener('blur',function(){if(document.activeElement===adFrame){ccao.postClick(parentId,scriptId,evt);}});}}}catch(e){}}};ccao.attachGtmCallbacks=function(settings){var parentId=encodeURIComponent(settings.site.parentId);var scriptId=encodeURIComponent(settings.site.scriptId);var gtmApiCallback=function(){window.googletag.pubads().addEventListener('slotRenderEnded',function(event){ccao.postImpression(parentId,scriptId,event);slotElementAttachClick(parentId,scriptId,event);});};if(window.googletag&&window.googletag.apiReady){gtmApiCallback();}else if(window.googletag&&window.googletag.cmd){window.googletag.cmd.push(gtmApiCallback);}
var gtmPubadsCallback=function(){window.googletag.pubads().getSlots().forEach(function(s){var evt=s.getResponseInformation();if(evt!==undefined&&evt!==null){ccao.postImpression(parentId,scriptId,evt);slotElementAttachClick(parentId,scriptId,Object.assign({},evt,{slot:s}));}});};if(window.googletag&&window.googletag.pubadsReady){gtmPubadsCallback();}else if(window.googletag&&window.googletag.cmd){window.googletag.cmd.push(gtmPubadsCallback);}};buildGtmEventData=function(evt){return[{"event_id":crypto.randomUUID(),"advertiserId":evt.advertiserId?.toString()||"","campaignId":evt.campaignId?.toString()||"","creativeId":evt.creativeId?.toString()||"","creativeTemplateId":evt.creativeTemplateId?.toString()||"","lineItemId":evt.lineItemId?.toString()||"","sourceAgnosticCreativeId":evt.sourceAgnosticCreativeId?.toString()||"","sourceAgnosticLineItemId":evt.sourceAgnosticLineItemId?.toString()||"","divId":evt.slot?.getSlotElementId()||"","yieldGroupIds":evt.yieldGroupIds?.map(x=>x.toString())||[],"slotName":evt.slot?.getAdUnitPath()||"","size":evt.size?.join(",")||"","isEmpty":evt.isEmpty||false,"isBackfill":evt.isBackfill||false}];};ccao.postImpression=function(parentId,scriptId,evt){var data={"parentId":parentId,"scriptId":scriptId,"impressions":buildGtmEventData(evt)};ccao.sendMessage("ad_impression",data,true);};ccao.postClick=function(parentId,scriptId,evt){var data={"parentId":parentId,"scriptId":scriptId,"clicks":buildGtmEventData(evt)};ccao.sendMessage("clickout",data,true);};ccao.getSettings(function(settings){ccao.attachGtmCallbacks(settings);});})(window,document);