1(function () { 2 'use strict'; 3 if (window.__pvExoClsFix) return; 4 window.__pvExoClsFix = true; 5 var linkSelector = 'a.exo_link,a[id$="_network_link"]'; 6 var sliderSelector = '[id$="-exo-video-slider-content"]'; 7 var stableClass = 'pv-cls-stable'; 8 function labelLink(a) { 9 if (!a || !a.matches || !a.matches(linkSelector)) return; 10 if (!(a.textContent || '').replace(/\s+/g, '')) { 11 if (!a.getAttribute('aria-label')) a.setAttribute('aria-label', 'Advertisement'); 12 if (!a.getAttribute('title')) a.setAttribute('title', 'Advertisement'); 13 } 14 } 15 function watchSlider(el) { 16 if (!el || !el.matches || !el.matches(sliderSelector) || el.getAttribute('data-pv-exo-watch') === '1') return; 17 el.setAttribute('data-pv-exo-watch', '1'); 18 var timer = 0; 19 function settle() { 20 el.classList.remove(stableClass); 21 clearTimeout(timer); 22 timer = setTimeout(function () { if (el.style.display !== 'none') el.classList.add(stableClass); }, 200); 23 } 24 settle(); 25 if ('MutationObserver' in window) new MutationObserver(settle).observe(el, {attributes:true,attributeFilter:['style']}); 26 } 27 function scan(root) { 28 root = root && root.nodeType === 1 ? root : document; 29 if (root.matches) { labelLink(root); watchSlider(root); } 30 var links = root.querySelectorAll ? root.querySelectorAll(linkSelector) : []; 31 var sliders = root.querySelectorAll ? root.querySelectorAll(sliderSelector) : []; 32 for (var i=0;i<links.length;i++) labelLink(links[i]); 33 for (var j=0;j<sliders.length;j++) watchSlider(sliders[j]); 34 } 35 function start() { 36 scan(document); 37 if ('MutationObserver' in window) new MutationObserver(function (ms) { 38 for (var i=0;i<ms.length;i++) for (var j=0;j<ms[i].addedNodes.length;j++) scan(ms[i].addedNodes[j]); 39 }).observe(document.documentElement,{childList:true,subtree:true}); 40 } 41 if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', start); else start(); 42}());
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.