PageSourceSearch

https://f.euro.cz/webtemp/jsloader-fa5274ee652f-ads-loader.js?t=1790838216

js euro.cz collected 2026-10-02 03:57:44 UTC 24,401 bytes, 1 lines download raw bytes

1(root=>{let DEBUG=(()=>{try{return new URLSearchParams(window.location.search).has("adsdebug")}catch(e){return!1}})(),log={_prefix:"[AdsLoader]",info:function(){var a;DEBUG&&((a=Array.prototype.slice.call(arguments)).unshift(this._prefix),console.info.apply(console,a))},warn:function(){var a;DEBUG&&((a=Array.prototype.slice.call(arguments)).unshift(this._prefix),console.warn.apply(console,a))},error:function(){var a=Array.prototype.slice.call(arguments);a.unshift(this._prefix),console.error.apply(console,a)},group:function(){var a;DEBUG&&((a=Array.prototype.slice.call(arguments)).unshift(this._prefix),console.group.apply(console,a))},groupC:function(){var a;DEBUG&&((a=Array.prototype.slice.call(arguments)).unshift(this._prefix),console.groupCollapsed.apply(console,a))},end:function(){DEBUG&&console.groupEnd()}},AdsLoader={config:{apiUrl:"/api/ads/data/",consentCookieName:"_pbjs_userid_consent_data"},data:null,adsIndexed:null,pendingSSPItems:[],async init(overrides){overrides&&Object.assign(this.config,overrides),log.group("init — "+window.location.pathname);overrides=this.findSlots();if(this._slots=overrides,log.info("Slots on page ("+overrides.length+"):",overrides.map(function(s){return s.dataset.mark})),0===overrides.length)log.warn("No .js-ad-slot elements — aborting.");else if(this.data=await this.fetchData(),this.data){log.info("API data loaded: "+this.data.ads.length+" ads, "+this.data.positions.length+" positions, "+this.data.sections.length+" sections.");var operators=this.getCurrentOperators();if(0===operators.length)log.warn("Operators = [] (banned or globally disabled) — no ads.");else{log.info("Active operators:",operators);var slot,operators=this.getAdsByOperators(this.data.ads,operators);log.info("After operator filtering: "+operators.length+" / "+this.data.ads.length+" ads."),this.adsIndexed=this.processAds(operators),log.info("Indexed marks:",Object.keys(this.adsIndexed)),log.group("Slot selection and rendering");for(slot of overrides){let mark=slot.dataset.mark;log.groupC("slot ["+mark+"]");var posData,ad=this.getAd(this.adsIndexed,mark);null===ad?(posData=AdsLoader.data.positions.find(function(p){return p.mark===mark}))&&posData.ga_name?log.info("→ null — GAM position, slot kept for triggerGamDisplay()."):(log.info("→ null — no ad for this position/device, removing from DOM."),(slot.parentElement&&slot.parentElement.classList.contains("design-advert-placeholder")?slot.parentElement:slot).remove()):!1===ad?(log.
1info("→ false — suppressed by off rule, removing from DOM."),(slot.parentElement&&slot.parentElement.classList.contains("design-advert-placeholder")?slot.parentElement:slot).remove()):(log.info("→ selected ad:",{type:ad.type,ad_id:ad.ad_id,url:ad.url,relevance:ad.relevance,operator:ad.operator}),this.renderSlot(slot,ad)),log.end()}log.end(),this.finalizeSSP(),this.triggerGamDisplay(),log.info("init finished. SSP items: "+this.pendingSSPItems.length)}}else log.error("fetchData() failed — ads will not render.");log.end()},async fetchData(){var isPreview=new URLSearchParams(window.location.search).has("preview"),hasPreviewCookie=document.cookie.split("; ").some(function(c){return c.startsWith("iiAdsPreview=")}),isPreview=isPreview||hasPreviewCookie,hasPreviewCookie=this.config.apiUrl+(isPreview?"?preview=1":"");log.info("fetchData →",hasPreviewCookie,isPreview?"(PREVIEW mode)":"");try{var data,res=await fetch(hasPreviewCookie,{headers:{"X-Requested-With":"XMLHttpRequest"}});if(res.ok)return data=await res.json(),log.info("fetchData OK. Cache-Control:",res.headers.get("Cache-Control")),data;throw new Error("HTTP "+res.status)}catch(e){return log.error("fetchData failed:",e),null}},findSlots(){return Array.from(document.querySelectorAll(".js-ad-slot[data-mark]"))},getCurrentOperators(){var cfg=window.iinfo&&window.iinfo.jsAdsConfig;if(cfg){if(cfg.isAdsBanned)return log.warn("isAdsBanned=true → operators=[]"),[];if(cfg.adsGlobalDisabled)return log.warn("adsGlobalDisabled=true → operators=[]"),[];if(cfg.isVisitorFromSeznam)return log.info("isVisitorFromSeznam=true → operators=[seznam]"),["seznam"];log.info("Standard visitor → operators=[iinfo]")}else log.warn("jsAdsConfig missing — using default operator [iinfo].");return["iinfo"]},processAds(rows){var row,data={};for(row of rows)row.mark||(row.mark="0"),data[row.mark]||(data[row.mark]=[]),data[row.mark].push(row);return data},getAdsByOperators(allAds,operators){var filtered=allAds.filter(function(ad){return null===ad.operator||-1!==operators.indexOf(ad.operator)}),allAds=allAds.length-filtered.length;return 0<allAds&&log.info("getAdsByOperators: excluded "+allAds+" ads of foreign operators (operators: "+operators.join(", ")+")."),filtered},getAd(ads,mark){if(!ads||0===Object.keys(ads).length)return log.info("getAd ["+mark+"]: empty index."),null;let relevantAds=[];ads[mark]&&(relevantAds=relevantAds.concat(ads[mark])),ads[0]&&(relevantAds=relevantAds.concat(ads[0])),log.info("Candidates before device filter: "+relevantAds.length+" (mark="+mark+": "+(ads[mark]?ads[mark].length:0)+", global off: "+(ads[0]?ads[0].length:0)+")");var row,url,ads=relevantAds.length;ads!==(relevantAds=relevantAds.filter(function(ad){var ok=AdsLoader.canDisplayByDevice(ad.section_devices);return ok||log.info("  device filter excluded: ad_id="+ad.ad_id+" section_devices="+ad.section_devices),ok})).length&&log.info("After device filter: "+relevantAds.length+" / "+ads);let off=!1,markOff=!1,maxRelevance=-1,adValue=null;for(row of relevantAds){let matched=!1;for(url of this.getUrls(row.inheritable)){var ok=this.urlMatch(url,row);if(log.info("  urlMatch ad_id="+row.ad_id+" (type="+row.type+", relevance="+row.relevance+", inheritable="+row.inheritable
1+'): url="'+url+'" vs url_regexp="'+row.url_regexp+'" domain_regexp="'+row.domain_regexp+'" → '+(ok?"MATCH":"no match")),ok)if(matched=!0,row.mark&&"0"!==row.mark)if(row.relevance>maxRelevance){let value;"off"===row.type?(value=!1,markOff=row,log.info("  → markOff (type=off), relevance="+row.relevance+" > maxRelevance="+maxRelevance)):(value=Object.assign({},row),log.info("  → new winner: ad_id="+row.ad_id+" type="+row.type+" relevance="+row.relevance+" > "+maxRelevance)),adValue={value:value,url:row.url,section_id:row.section_id},maxRelevance=row.relevance}else log.info("  → relevance="+row.relevance+" ≤ maxRelevance="+maxRelevance+", ignoring.");else log.info("  → global off (mark=0) applies to this URL"),off=row}matched||log.info("  ad_id="+row.ad_id+": no URL matched.")}return adValue?(ads=this.getUrls(!0),off&&adValue.section_id!==off.section_id&&-1===ads.indexOf(adValue.url)?(log.warn("getAd ["+mark+"]: suppressed by global off rule (section_id="+off.section_id+" ≠ "+adValue.section_id+") → false"),!1):markOff&&adValue.section_id!==markOff.section_id&&-1===ads.indexOf(adValue.url)?(log.warn("getAd ["+mark+"]: suppressed by markOff rule (section_id="+markOff.section_id+" ≠ "+adValue.section_id+") → false"),!1):(log.info("getAd ["+mark+"]: selected ad ad_id="+adValue.value.ad_id+" type="+adValue.value.type+" relevance="+maxRelevance),adValue.value)):off?(log.warn("getAd ["+mark+"]: no positive ad, suppressed by global off rule → false"),!1):(log.info("getAd ["+mark+"]: no match → null"),null)},urlMatch(url,row){var url=this.getDomain(url),domain=url[0],url=url[1];return!!(new RegExp("^"+row.domain_regexp+"$").test(domain)^!!row.domain_negation)&&!!(new RegExp(row.url_regexp).test(url)^!!row.url_negation)},getDomain(url){var completeUrl="/"===url.charAt(0)?window.location.origin+url:url,devMatch=completeUrl.match(/^(?:https?:\/\/)?(.*?)(?:\.iinfo\.cz|\.imho.cz|\.local)(?:\/([^/]+)\/)?/);if(devMatch)return[(devMatch=devMatch[1].match(/^([a-z0-9.-]+)\.[a-z0-9-]+(?:-stable)?(?:-[a-z0-9]+)?$/))?devMatch[1]:"www",url];let hostname;try{hostname=new URL(completeUrl).hostname}catch(e){return["www",url]}devMatch=hostname.match(/^(.*?)(?:-(?:beta|stable|devel))?\.[^.]+\.[^.]+$/),completeUrl=devMatch?devMatch[1]:hostname;return[-1!==["beta","stable","devel"].indexOf(completeUrl)?"www":completeUrl,url]},getUrls(inheritable){var adUrls=window.iinfo&&window.iinfo.jsAdsConfig&&window.iinfo.jsAdsConfig.adUrls||[],currentPath=window.location.pathname,adUrls=0<adUrls.length?adUrls.concat([currentPath]):[currentPath];return inheritable?adUrls:[adUrls[adUrls.length-1]]},canDisplayByDevice(devicesSet){var bp;return!!devicesSet&&(-1!==(devicesSet=devicesSet.split(",").map(function(s){return s.trim()})).indexOf("all")||(bp=window.iinfo&&window.iinfo.jsAdsConfig&&window.iinfo.jsAdsConfig.mobileZoneBreakpoint||768,window.innerWidth<bp?-1!==devicesSet.indexOf("mobile"):-1!==devicesSet.indexOf("desktop")))},hasDimensionsForCurrentDevice(pos){var bp=window.iinfo&&window.iinfo.jsAdsConfig&&window.iinfo.jsAdsConfig.mobileZoneBreakpoint||768,bp=window.innerWidth<bp?pos.ga_allowed_dimensions_mobile:pos.ga_allowed_dimensions_desktop;return String(bp||"").split(",").some(function(dim){return 2===dim.trim().split(/x/i).length})},buildSlotWrapper(placeholder,ad){let mark=placeholder.dataset.mark;var posData=this.data.positions.find(function(p){return p.mark===mark}),typeForCss=(placeholder.querySelector("[data-advert-sas-name]")&&(placeholder.innerHTML=""),placeholder.classList.remove("js-ad-slot"),"ga"===ad.type?"sas":ad.type);let typeClasses;typeClasses="sas"===typeForCss?["design-advert--type-sas"]:["design-advert--type-"+typeForCss+"--"+mark,"design-advert--type-"+typeForCss],["js-advert-position-mark-"+mark,"js-advert","design-advert--position-mark-"+mark].concat(typeClasses).concat([posData&&posData.marker?"design-advert--custom-marker":"","element-print-hidden","design-advert"]).filter(Boolean).forEach(function(cls){placeholder.classList.add(cls)}),placeholder.setAttribute("aria-hidden","true"),placeholder.setAttribute("data-advert-position-mark",mark),placeholder.setAttribute("data-advert-type",ad.type),posData&&posData.marker&&placeholder.setAttribute("data-advert-marker",posData.marker);typeForCss=document.createElement("div"),typeForCss.className="design-advert__content",ad=document.createElement("div");return ad.className="design-advert__content-inner",typeForCss.appendChild(ad),placeholder.appendChild(typeForCss),log.info("buildSlotWrapper ["+mark+"]: placeholder transformed in-place, marker="+(posData&&posData.marker?posData.marker:"none")),ad},renderSlot(placeholder,ad){var type=ad.type,contentTarget=(log.info("renderSlot ["+placeholder.dataset.mark+"] type="+type),this.buildSlotWrapper(placeholder,ad));"html"===type||"html_noiframe"===type?this.renderHtmlAd(contentTarget,ad,placeholder):"before_consent"===type?this.renderBeforeConsentAd(contentTarget,ad):log.warn('renderSlot: unknown type "'+type+'" — skipped.')},renderHtmlAd(contentTarget,ad,placeholder){placeholder=placeholder.dataset.mark;
1ad.html_comment_parsed&&ad.html_comment_parsed.adverts?(log.info("renderHtmlAd ["+placeholder+"]: html_comment_parsed → renderHtmlWithComment"),this.renderHtmlWithComment(contentTarget,ad,placeholder)):(log.info("renderHtmlAd ["+placeholder+"]: direct HTML → renderRawHtmlAd"),this.renderRawHtmlAd(contentTarget,ad,placeholder))},renderRawHtmlAd(contentTarget,ad,mark){let html=ad.html,variant="A";var rand;ad.html_b&&null!=ad.probability&&(rand=100*Math.random(),variant=rand<ad.probability?"A (probability "+ad.probability+"%, rand="+rand.toFixed(1)+")":(html=ad.html_b,"B (probability "+ad.probability+"%, rand="+rand.toFixed(1)+")")),html?(log.info("renderRawHtmlAd ["+mark+"]: inserting HTML, variant="+variant+", length="+html.length+" chars."),contentTarget.innerHTML=html,contentTarget.querySelectorAll("script").forEach(function(oldScript){let newScript=document.createElement("script");Array.from(oldScript.attributes).forEach(function(a){newScript.setAttribute(a.name,a.value)}),newScript.textContent=oldScript.textContent,oldScript.parentNode.replaceChild(newScript,oldScript)})):log.warn("renderRawHtmlAd ["+mark+"]: html is empty — skipped.")},renderHtmlWithComment(contentTarget,ad,mark){var type,adverts=ad.html_comment_parsed.adverts,bp=window.iinfo&&window.iinfo.jsAdsConfig&&window.iinfo.jsAdsConfig.mobileZoneBreakpoint||768,bp=window.innerWidth<bp,adverts=(log.info("renderHtmlWithComment ["+mark+"]: "+adverts.length+" adverts, isMobile="+bp),this.selectAdvertByProbability(adverts));adverts?(type=(adverts.type||"").toLowerCase().replace(/[^a-z0-9-]/g,""),log.info('renderHtmlWithComment: selected advert type="'+type+'"',adverts),"sklik"===type?this.renderSklikAd(contentTarget,ad,adverts,bp,mark):"google-adsense"===type?this.renderAdsenseAd(contentTarget,ad,adverts,bp,mark):adverts.html?(log.info("renderHtmlWithComment: fallback to innerHTML."),contentTarget.innerHTML=adverts.html):log.warn('renderHtmlWithComment: unknown advert type "'+type+'" without html — skipped.')):log.warn("renderHtmlWithComment: selectAdvertByProbability returned null.")},selectAdvertByProbability(adverts){if(!adverts||0===adverts.length)return null;if(1===adverts.length)return adverts[0];var advert,rand=100*Math.random();let cumulative=0;for(advert of adverts)if(rand<(cumulative+=null!=advert.probability?advert.probability:100))return log.info("selectAdvertByProbability: rand="+rand.toFixed(1)+", selected type="+advert.type+" (cumulative="+cumulative+")"),advert;return log.info("selectAdvertByProbability: rand="+rand.toFixed(1)+" → last advert (fallback)."),adverts[adverts.length-1]},renderSklikAd(contentTarget,ad,advert,isMobile,mark){let zoneId,width,height;if(advert.desktop&&advert.mobile?!isMobile&&advert.desktop.zoneId?(zoneId=advert.desktop.zoneId,width=advert.desktop.width,height=advert.desktop.height,log.info("renderSklikAd ["+mark+"]: desktop zoneId="+zoneId)):isMobile&&advert.mobile.zoneId?(zoneId=advert.mobile.zoneId,width=advert.mobile.width,height=advert.mobile.height,log.info("renderSklikAd ["+mark+"]: mobile zoneId="+zoneId)):log.warn("renderSklikAd ["+mark+"]: desktop/mobile zoneId missing for current device (isMobile="+isMobile+")."):advert.zoneId&&(zoneId=advert.zoneId,width=advert.width,height=advert.height,log.info("renderSklikAd ["+mark+"]: single zoneId="+zoneId)),zoneId){var uniqueId="js-advert-sklik-"+zoneId,contentEl=document.createElement("div"),contentTarget=(contentEl.id=uniqueId,contentEl.className="design-advert__content-inner-2",contentTarget.appendChild(contentEl),"seznam"===ad.operator),contentEl=!!advert.sourceForDesign,ad={zoneId:parseInt(zoneId,10),id:uniqueId,width:width,height:height,itemsMaxCount:null!=advert.itemsMaxCount?advert.itemsMaxCount:1};if(contentTarget&&!contentEl)ad.actionName=window.iinfo.adverts.ssp.groupName.seznamHp,log.info("renderSklikAd ["+mark+"]: → SSP group seznamHp, zoneId="+zoneId);else{uniqueId=advert.desktop&&!advert.mobile?"desktop":!advert.desktop&&advert.mobile?"mobile":"all";if(!("all"==uniqueId||"desktop"==uniqueId&&!isMobile||"mobile"==uniqueId&&isMobile))return void log.warn("renderSklikAd ["+mark+"]: deviceType="+uniqueId+", isMobile="+isMobile+" → shouldLoad=false, skipped.");ad.actionName=window.iinfo.adverts.ssp.groupName.postponed,advert.sourceForDesign&&(ad.sourceForDesign=advert.sourceForDesign),log.info("renderSklikAd ["+mark+"]: → SSP group postponed, zoneId="+zoneId+(advert.sourceForDesign?", sourceForDesign="+advert.sourceForDesign:""))}this.pendingSSPItems.push(ad),log.info("renderSklikAd: pendingSSPItems now="+this.pendingSSPItems.length)}else log.warn("renderSklikAd ["+mark+"]: zoneId not determined — skipped.")},cssLength(value){return null==value||""===value?null:"number"==typeof value?value+"px":(value=String(value).trim(),/^-?\d+(\.\d+)?$/.test(value)?value+"px":value)},toBoolString(value){return"boolean"==typeof value?value?"true":"false":(value=String(value).trim().toLowerCase(),-1!==["1","true","on","yes"].indexOf(value)?"true":"false")}
1,renderAdsenseAd(contentTarget,ad,advert,isMobile,mark){var cssHeight,ins,client=advert.client||"ca-pub-4771975420977819";let slot,width,height,style,source=null;!advert.slot||advert.desktop||advert.mobile?!isMobile&&advert.desktop&&advert.desktop.slot?(source=advert.desktop,log.info("renderAdsenseAd ["+mark+"]: desktop slot="+advert.desktop.slot)):isMobile&&advert.mobile&&advert.mobile.slot&&(source=advert.mobile,log.info("renderAdsenseAd ["+mark+"]: mobile slot="+advert.mobile.slot)):(source=advert,log.info("renderAdsenseAd ["+mark+"]: single slot="+advert.slot)),source&&(slot=source.slot,width=source.width,height=source.height,style=source.style),slot?(advert=this.cssLength(width),cssHeight=this.cssLength(height),(ins=document.createElement("ins")).className="adsbygoogle",ins.style.cssText="display:"+(null===advert?"block":"inline-block")+";"+(null!==advert?"width:"+advert+";":"")+(null!==cssHeight?"height:"+cssHeight+";":"")+(style||""),ins.dataset.adClient=client,ins.dataset.adSlot=slot,null===advert&&null===cssHeight&&(ins.dataset.adFormat="auto"),void 0!==source.fullWidthResponsive&&""!==source.fullWidthResponsive&&(ins.dataset.fullWidthResponsive=this.toBoolString(source.fullWidthResponsive)),void 0!==source.autoAdSize&&""!==source.autoAdSize&&(ins.dataset.autoAdSize=this.toBoolString(source.autoAdSize)),contentTarget.appendChild(ins),(window.adsbygoogle=window.adsbygoogle||[]).push({}),log.info("renderAdsenseAd ["+mark+"]: AdSense ins inserted, slot="+slot+" client="+client)):log.warn("renderAdsenseAd ["+mark+"]: slot not determined (isMobile="+isMobile+") — skipped.")},renderBeforeConsentAd(contentTarget,ad){var img,hasCookie=document.cookie.split("; ").some(function(c){return c.startsWith(AdsLoader.config.consentCookieName+"=")});log.info('renderBeforeConsentAd: cookie "'+AdsLoader.config.consentCookieName+'" '+(hasCookie?"PRESENT":"MISSING")),hasCookie?ad.image_url&&ad.target_url?(log.info("renderBeforeConsentAd: inserting image → "+ad.image_url),(hasCookie=document.createElement("a")).href=ad.target_url,(img=document.createElement("img")).src=ad.image_url,img.alt="",hasCookie.appendChild(img),contentTarget.appendChild(hasCookie)):ad.html?(log.info("renderBeforeConsentAd: fallback to HTML."),this.renderRawHtmlAd(contentTarget,ad,"(before_consent)")):log.warn("renderBeforeConsentAd: neither image_url nor html — skipped."):log.info("renderBeforeConsentAd: no cookie → slot stays empty.")},initSSP(){var sspCfg=this.data&&this.data.sspConfig;if(sspCfg&&sspCfg.enabled)if(window.iinfo&&window.iinfo.adverts&&"function"==typeof window.iinfo.adverts.ssp.init){log.info("initSSP: initializing SSP with "+this.pendingSSPItems.length+" items.",sspCfg.sklik);let items=this.pendingSSPItems.slice();window.iinfo.adverts.ssp.init(function(){log.info("SSP init callback: registering "+items.length+" items.");for(var item of items)log.info("  ssp.addItem: zoneId="+item.zoneId+" id="+item.id+" group="+item.actionName),window.iinfo.adverts.ssp.addItem(item)},sspCfg.sklik||{})}else log.warn("initSSP: iinfo.adverts.ssp.init is not a function — SSP unavailable.");else log.warn("initSSP: sspConfig.enabled=false or missing — SSP not initialized.")},finalizeSSP(){var groupName;0===this.pendingSSPItems.length?log.info("finalizeSSP: no SSP items — skipped."):(log.group("finalizeSSP ("+this.pendingSSPItems.length+" items)"),this.pendingSSPItems.forEach(function(item){log.info("  "+item.actionName+" zoneId="+item.zoneId+" id="+item.id)}),this.initSSP(),window.iinfo&&window.iinfo.adverts&&window.iinfo.adverts.loadGroup?(groupName=window.iinfo.adverts.supportedGroupNames?window.iinfo.adverts.supportedGroupNames.postponed:"postponed",log.info("loadGroup:",groupName),window.iinfo.adverts.loadGroup(groupName)):log.warn("finalizeSSP: iinfo.adverts.loadGroup unavailable."),window.iinfo&&window.iinfo.adverts&&"function"==typeof window.iinfo.adverts.moveInterscrollerToFooter&&(log.info("moveInterscrollerToFooter called."),window.iinfo.adverts.moveInterscrollerToFooter()),log.end())},triggerGamDisplay(){if(this.data&&this.data.positions){let gaSlots=[],gaSlotPositions={},seenMarks={};
1if((this._slots||this.findSlots()).forEach(function(el){if(el.isConnected){let mark=el.dataset.mark;if(!seenMarks[mark]){var pos=AdsLoader.data.positions.find(function(p){return p.mark===mark&&p.ga_name});if(pos){if(AdsLoader.hasDimensionsForCurrentDevice(pos)){var contentDiv,contentInner,divId="iinfo-area-"+pos.ga_name;if(el.classList.contains("design-advert--type-html")||el.classList.contains("design-advert--type-html_noiframe"))log.info("triggerGamDisplay ["+mark+"]: HTML ad already rendered, skipping GAM.");else{el.classList.contains("js-advert")||(el.classList.remove("js-ad-slot"),["js-advert-position-mark-"+mark,"js-advert","design-advert--position-mark-"+mark,"design-advert--type-sas",pos.marker?"design-advert--custom-marker":"","element-print-hidden","design-advert"].filter(Boolean).forEach(function(cls){el.classList.add(cls)}),el.setAttribute("aria-hidden","true"),el.setAttribute("data-advert-position-mark",mark),el.setAttribute("data-advert-type","ga"),pos.marker&&el.setAttribute("data-advert-marker",pos.marker));let gaDiv=document.getElementById(divId);if(gaDiv=gaDiv&&!el.contains(gaDiv)?null:gaDiv)gaDiv.closest(".design-advert__content-inner")||((contentDiv=document.createElement("div")).className="design-advert__content",(contentInner=document.createElement("div")).className="design-advert__content-inner",contentInner.appendChild(gaDiv),contentDiv.appendChild(contentInner),el.appendChild(contentDiv)),log.info("triggerGamDisplay ["+mark+"]: reused pre-rendered GAM div #"+divId+".");else{let contentInner=el.querySelector(".design-advert__content-inner");if(!contentInner){let contentDiv=document.createElement("div");contentDiv.className="design-advert__content",(contentInner=document.createElement("div")).className="design-advert__content-inner",contentDiv.appendChild(contentInner),el.appendChild(contentDiv)}(gaDiv=document.createElement("div")).id=divId,gaDiv.className="js-advert__content design-advert__content-inner-2",gaDiv.setAttribute("data-advert-position-mark",mark),gaDiv.setAttribute("data-advert-sas-name",pos.ga_name),contentInner.appendChild(gaDiv),log.info("triggerGamDisplay ["+mark+"]: GAM div #"+divId+" created inside .js-advert wrapper.")}window.iinfo&&window.iinfo.adManager&&window.iinfo.adManager.ensureSlot(pos.ga_name),gaSlots.push(divId),gaSlotPositions[divId]=pos}}else log.info("triggerGamDisplay ["+mark+"]: no allowed dimensions for current device, removing from DOM."),(el.parentElement&&el.parentElement.classList.contains("design-advert-placeholder")?el.parentElement:el).remove();seenMarks[mark]=!0}}}else log.info("triggerGamDisplay ["+el.dataset.mark+"]: slot not in DOM — skipped.")}),0===gaSlots.length)log.info("triggerGamDisplay: no GAM slots on this page.");else{if(log.info("triggerGamDisplay: GAM slots to display():",gaSlots),"undefined"!=typeof iinfo&&iinfo.adverts&&iinfo.adverts.sas&&iinfo.adverts.sas.Position){window.gaPositions=window.gaPositions||{};for(var divId of gaSlots){var posData;window.gaPositions[divId]||(posData=gaSlotPositions[divId])&&(window.gaPositions[divId]=((posData,divId)=>((divId=new iinfo.adverts.sas.Position(posData.ga_name,divId,posData.mark)).getAdvertPositionWrapperElement=function(){var gaDiv;return this.advertPositionWrapperElement||((gaDiv=document.getElementById(this.iinfoArea))?this.advertPositionWrapperElement=iinfo.findAncestor(gaDiv,".js-advert")||gaDiv:null)},divId))(posData,divId),log.info("triggerGamDisplay: gaPositions["+divId+"] = Position("+posData.ga_name+")"))}}var doDisplay=function(){"undefined"==typeof googletag?log.warn("triggerGamDisplay: googletag undefined — GAM display() skipped."):googletag.cmd.push(function(){var divId,definedIds=googletag.pubads().getSlots().map(function(s){return s.getSlotElementId()});log.info("triggerGamDisplay: defined GAM slots:",definedIds);for(divId of gaSlots)document.getElementById(divId)?-1!==definedIds.indexOf(divId)?(log.info("  googletag.display("+divId+")"),googletag.display(divId)):log.warn("  "+divId+" not defined in GAM — skipped."):log.info("  "+divId+" no longer in DOM — display() skipped.")})};window.adManagerReady?(log.info("triggerGamDisplay: adManagerReady=true → display() immediately."),doDisplay()):(log.info('triggerGamDisplay: waiting for "adManagerReady" event…'),window.addEventListener("adManagerReady",doDisplay,{once:!0}))}}}};root.iinfo=root.iinfo||{},root.iinfo.AdsLoader=AdsLoader})(window);

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