(function () { const dl = (window.top && window.top.dataLayer) || (window.dataLayer = window.dataLayer || []); if (dl.__primisListening) return; dl.__primisListening = true; const originalPush = dl.push.bind(dl); const listeners = new Set(); dl.push = function (...args) { for (const obj of args) { if (obj && typeof obj === 'object' && typeof obj.event === 'string') { listeners.forEach(fn => { try { fn(obj.event, obj); } catch (_) {} }); } } return originalPush(...args); }; function onceEvent(eventName) { return new Promise((resolve, reject) => { let to; const handler = (ev) => { if (ev === eventName) { listeners.delete(handler); if (to) clearTimeout(to); resolve(); } }; listeners.add(handler); }); } function loadPlayer() { const s = document.createElement('script'); s.src = 'https://live.primis.tech/live/liveView.php?s=120768'; (document.body || document.documentElement).appendChild(s); listeners.clear(); } (async () => { await onceEvent('site-crossword-start'); let adStartTimeoutId; const AD_START_TIMEOUT_MS = 30000; const adStartTimeout = new Promise(resolve => { adStartTimeoutId = setTimeout(() => resolve('timeout'), AD_START_TIMEOUT_MS); }); const adStartResult = await Promise.race([ onceEvent('video-ad-start'), adStartTimeout ]); if (adStartResult === 'timeout') { return loadPlayer(); } clearTimeout(adStartTimeoutId); await Promise.race([ onceEvent('video-ad-complete'), onceEvent('video-ad-skip') ]); loadPlayer(); })().catch(() => { listeners.clear(); }); })();