PageSourceSearch

https://www.the-independent.com/_build/braze-user-bundle.39e7d27069824f9fde98.js

js the-independent.com collected 2026-10-01 08:29:00 UTC 13,393 bytes, 1 lines download raw bytes

1(()=>{"use strict";const e="ANONYMOUS",t="AUTHENTICATED",r="__DEBUG__",n="feat__mos_migration",o=e=>{var t;return"undefined"!=typeof window&&Boolean(null===(t=window.JSGlobals)||void 0===t||null===(t=t.featureFlags)||void 0===t?void 0:t[e])};function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==i(t)?t:t+""}function s(e,t,r){return(t=a(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const c="/login",l="returnPath";const u="ssr-auth-state",d={foreground:31,background:41,light:"#AA0000",dark:"#ed4e4c"},p={foreground:33,background:43,light:"#AA5500",dark:"#d2c057"},f="light",b="dark";const g=(e,t=null)=>{var r,n;const o=`; ${document.cookie}`.split(`; ${e}=`);return 2===o.length?decodeURIComponent(null!==(r=null===(n=o.pop())||void 0===n?void 0:n.split(";").shift())&&void 0!==r?r:""):t},w=e=>e===r?"":`[${e.replace(/^_+|_+$/g,"")}]`,y=e=>`color: ${e};`,m=e=>("undefined"==typeof window||"function"!=typeof window.matchMedia?f:window.matchMedia("(prefers-color-scheme: dark)").matches?b:f)===b?e.dark:e.light,v=new Map,O=e=>{if("undefined"==typeof window)return"prod"!=={NODE_ENV:"production",npm_config_domain:""}.SERVER;if(!v.has(e)){var t;const r=new URLSearchParams(null===(t=window)||void 0===t||null===(t=t.location)||void 0===t?void 0:t.search);v.set(e,r.has(e))}return v.get(e)||"true"===g(e)};function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}let P;let _=0;const j=()=>{return"undefined"!=typeof window&&(void 0===P&&(P=!0===(null===(e=window.JSGlobals)||void 0===e||null===(e=e.featureFlags)||void 0===e?void 0:e.feat__sentry)),P);var e},S=(e,t)=>{const n=()=>O(r)||O(e),o=(e,r)=>{const n=t.filter(({tag:e})=>""!==e);if(0===n.length)return e;const o=n.map(({tag:e,color:t})=>{const n=null!=r?r:t,o=void 0!==n;return function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach(function(t){s(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({text:o?(i=e,`%c${i}`):e},o?{style:y(n)}:{});var i}),[i,a,...c]=e,l=o.reduce((e,{text:t})=>e+t,""),u=o.filter(e=>"style"in e).map(({style:e})=>e);if("string"==typeof i){return"string"==typeof a&&a.includes("color")&&i.startsWith("%c")?[`${l} ${i}`,...u.concat(a),...c]:[l,...u,i,...e.slice(1)]}return[l,...u,...e]};return{log:(...e)=>{n()&&console.log(..._>0?e:o(e))},info:(...e)=>{n()&&console.info(..._>0?e:o(e))},group:(...e)=>{n()&&(console.group(...o(e)),_+=1)},groupCollapsed:(...e)=>{n()&&(console.groupCollapsed(...o(e)),_+=1)},groupEnd:(...e)=>{n()&&(_=Math.max(0,_-1),console.groupEnd(...e))},table:(...e)=>{n()&&console.table(...e)},warn:(...e)=>{var t;n()&&console.warn(...o(e,m(p))),j()&&(null===(t=window.Sentry)||void 0===t||t.captureException(...e))},error:(...e)=>{var t;n()&&console.error(...o(e,m(d))),j()&&(null===(t=window.Sentry)||void 0===t||t.captureException(...e))},extend:(r,n)=>S(e,[...t,{tag:r,color:n}]),logDate:e=>e.toLocaleString("en-GB",{timeZone:"UTC"})}},E=(({flagName:e,tagSegment:t={}})=>{const{tag:r,color:n}=t;return S(e,[{tag:null!=r?r:w(e),color:n}])})({flagName:r}),{log:D,info:A,warn:k,error:I,group:x,groupEnd:C,logDate:N}=E;let T;function U(e=document){if(void 0===e)return null;if(void 0!==T)return T;const t=e.getElementById(u),r=null==t?void 0:t.textContent;let n=null;try{if(!r)throw new Error("No auth snapshot found in DOM");n=JSON.parse(atob(r))}catch(e){D(e)}finally{var o;null===(o=document.getElementById(u))||void 0===o||o.remove()}return T=n,n}function F(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function R(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
1t%2?F(Object(r),!0).forEach(function(t){s(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):F(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function z(e){let t=e;const r=new Set;return{get:()=>t,set:e=>{t=e,r.forEach(e=>e(t))},patch:e=>{t=R(R({},t),e),r.forEach(e=>e(t))},subscribe:e=>(r.add(e),()=>r.delete(e))}}const J=e=>{try{const t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),r=decodeURIComponent(atob(t));return JSON.parse(r)}catch(e){return null}};function G(){if(void 0===globalThis.window)return null;const e=(()=>{var e;const t=null!==(e=g("esi_auth"))&&void 0!==e?e:"";return J(t)})();if(!e)return null;const{email:t,given_name:r,family_name:n,userStatus:o,pUid:i,exp:a,isAdFreeUser:s,isActiveRecurringDonator:c,adFreeExpiryTimestamp:l,recurringDonatorExpiryTimestamp:u,permutiveId:d}=e;return{email:t,givenName:r,familyName:n,userStatus:o,uid:i,exp:a,isAdFreeUser:s,isActiveRecurringDonator:c,adFreeExpiryTimestamp:l,recurringDonatorExpiryTimestamp:u,permutiveId:d}}function L(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function M(){var r;const n=Math.random().toString(36).slice(2),o={status:e,loading:!1,__id__:n},i=z(null!==(r="undefined"!=typeof window?U(document):void 0)&&void 0!==r?r:o);return{__id__:n,get:i.get,subscribe:i.subscribe,actions:{set:i.set,patch:i.patch,login:e=>{i.patch({loading:!0});const t=new URL(c,window.location.origin);e&&t.searchParams.set(l,e),window.location.href=t.toString()},logout:async()=>{i.patch({loading:!0});try{await fetch("/user/logout",{credentials:"include"})}finally{i.set(o)}},loadProfile:()=>{const e=G();e?i.patch(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?L(Object(r),!0).forEach(function(t){s(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):L(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({status:t},e)):i.set(o)}}}}function $(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function B(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?$(Object(r),!0).forEach(function(t){s(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function V(){var t;const r=Math.random().toString(36).slice(2),n={status:e,loading:!0,__id__:r},o=z(null!==(t="undefined"!=typeof window?U(document):null)&&void 0!==t?t:n);return{__id__:r,get:o.get,subscribe:o.subscribe,actions:{set:o.set,patch:o.patch,login:e=>{o.patch({loading:!0});const t=new URL(c,window.location.origin);e&&t.searchParams.set(l,e),window.location.href=t.toString()},logout:async()=>{o.patch({loading:!0});try{await async function(){const e=window.__indyFirebaseLogout;if(!e)throw new Error("[Firebase Auth] Firebase logout is not available. Ensure init-firebase.js loaded before invoking logout.");await e()}(),o.set(B(B({},n),{},{loading:!1}))}catch(e){throw I("[Firebase Auth] Logout failed — user remains signed in.",e),o.patch({loading:!1}),e}},loadProfile:()=>{var e,t;null===(e=(t=window).__indyFirebaseRefreshUserProfile)||void 0===e||e.call(t)}}}}const H="__indyAuthStore";function W(){if("undefined"==typeof window)return M();const e=window;if(e[H])return e[H];const t=o(n),r=t?V():M();var i,a;t||(null===(i=(a=r.actions).loadProfile)||void 0===i||i.call(a));return e[H]=r,r}const q={get __id__(){return W().__id__},get:()=>W().get(),subscribe:e=>W().subscribe(e),actions:{set:e=>W().actions.set(e),patch:e=>W().actions.patch(e),login:e=>W().actions.login(e),logout:()=>W().actions.logout(),loadProfile:()=>{var e,t;return null===(e=(t=W().actions).loadProfile)||void 0===e?void 0:e.call(t)}}},K="braze-logged-in-user-visit-timestamp",Y="indy",Z=`${Y}:spError`;let Q=!1;const X=async(e,t)=>new Promise(r=>{var n;null!==(n=window.JSGlobals)&&void 0!==n&&null!==(n=n.cmp)&&void 0!==n&&n.enabled?window.__tcfapi&&new Promise(e=>{var t;if(null===(t=window.JSGlobals)||void 0===t||null===(t=t.cmp)||void 0===t||!t.enabled)return void e(!0);const r=document.getElementById("sp-script");r instanceof HTMLScriptElement&&r.error?e(!1):(window.addEventListener(Z,()=>{e(!1)}),window.__tcfapi("addEventListener",2,(t,r)=>{var n;if(r)if(["useractioncomplete","tcloaded"].includes(t.eventStatus))if(window.__tcfapi("removeEventListener",2,()=>{},t.listenerId),"useractioncomplete"===t.eventStatus&&(Q=!0),t.gdprApplies){if(D("Consent Or Pay: valid GDPR tcData ---\x3e",t),null!==(n=t.publisher)&&void 0!==n&&null!==(n=n.consents)&&void 0!==n&&n[1])return D('Consent Or Pay: tcData.publisher?.consents?.["1"] ---\x3e',t),void e(!0);e(!1)}else e(!0);else D("Consent Or Pay: !['useractioncomplete', 'tcloaded'].includes(tcData.eventStatus) ---\x3e",{tcData:t,eventStatus:t.eventStatus})}))}).then(n=>
1{n?window.__tcfapi("getCustomVendorConsents",2,n=>{var o;const i=!(null===(o=n.grants)||void 0===o||null===(o=o[e])||void 0===o||!o.vendorGrant);D("CMP:getCustomVendorConsents",t,i),r(i)}):r(!1)}):r(!0)});const ee=(e,{id:t,async:r=!0,defer:n=document.location.search.includes("___FORCE_DEFER___"),parent:o=document.body,attributes:i}={})=>{window.JSGlobals=window.JSGlobals||{};const a=window.JSGlobals.loadedJS=[];return new Promise((s,c)=>{const l=(e instanceof Array?e:[e]).map(e=>a.includes(e)?Promise.resolve():new Promise((s,c)=>{const l=((e,{id:t,async:r,defer:n,ok:o,error:i,attributes:a})=>{const s=document.createElement("script");return s.onload=o,s.onerror=i,t&&"undefined"!==t&&(s.id=t),r&&!n&&s.setAttribute("async",""),n&&s.setAttribute("defer",""),a&&a.forEach(([e,t])=>{s.setAttribute(e,t)}),s.src=e,s})(e,{id:t,async:r,defer:n,ok:s,error:c,attributes:i});o.appendChild(l),a.push(e)}));return Promise.all(l).then(s,c)})},te=(e,t,r)=>{if(void 0===e)return Promise.resolve(r);let n;return Promise.race([e,new Promise(e=>{n=setTimeout(()=>e(r),t)})]).finally(()=>clearTimeout(n))};function re(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}const ne=()=>{var e;return o(n)?null===(e=window.__indyFirebaseAuth)||void 0===e||null===(e=e.currentUser)||void 0===e?void 0:e.uid:g("esi_puid")||void 0},oe=()=>{const e=ne();var t;e&&(null===(t=window.braze)||void 0===t||t.changeUser(e))},ie=async()=>{await(async()=>{o(n)&&await te(window.__firebaseAuthReady,5e3,void 0)})();if(!!window.braze)return oe(),!0;try{var e;if(!await te(X("5ed8c49c4b8ce4571c7ad801","braze"),1e4,!1))return!1;const{braze:{sdkAPIKey:t="",sdkEndpoint:r=""}={}}=window.JSGlobals;return await ee(["https://js.appboycdn.com/web-sdk/4.8/braze.min.js"]),null===(e=window.braze)||void 0===e||e.initialize(t,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?re(Object(r),!0).forEach(function(t){s(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):re(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({baseUrl:r,manageServiceWorkerExternally:!0,requireExplicitInAppMessageDismissal:!0,minimumIntervalBetweenTriggerActionsInSeconds:0},!1)),oe(),document.dispatchEvent(new CustomEvent("brazeLoaded")),!0}catch(e){return I("Error initializing braze sdk",e),!1}},ae=async e=>{const t=Date.now(),r=null!=e?e:null,n=(()=>{try{const e=localStorage.getItem(K);if(!e)return null;const t=JSON.parse(e);return"object"!=typeof t||null===t||Array.isArray(t)||!Number.isFinite(t.timestamp)||"string"!=typeof t.userId&&null!==t.userId?null:t}catch{return null}})(),o=(null==n?void 0:n.userId)===r,i=n&&!((e,t)=>e-t>864e5)(t,n.timestamp);o&&i||(((e,t)=>{localStorage.setItem(K,JSON.stringify({userId:e,timestamp:t}))})(r,t),await(async()=>{await ie()&&window.braze.openSession()})())};(async()=>{await((e=5e3)=>{const t=q.get();return t.loading?new Promise(t=>{let r;const n=(e,n)=>{var i;clearTimeout(o),null===(i=r)||void 0===i||i(),t({state:e,isSettled:n})},o=setTimeout(()=>n(q.get(),!1),e);r=q.subscribe(e=>{e.loading||n(e,!0)})}):Promise.resolve({state:t,isSettled:!0})})(),(()=>{const{status:e}=q.get();return e===t})()&&await ae(ne())})().catch(e=>{I("Error initialising Braze user",e)})})();

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.