>

All products featured on Glamour are independently selected by our editors. However, when you buy something through our retail links, we may earn an affiliate commission.

The word relatable gets tossed around a lot, but believe me when I say the label truly applies to Hailey Bieber. Despite both her current last name and her maiden one, the 24-year-old model is surprisingly down-to-earth. From posting her skin struggles to being open about mental health and anxiety, she’s a surprisingly open book for someone who practically grew up in the spotlight.

She’s also happy to discuss, in detail, her favorite snacks, sweatpants, and skin-care routine—again, relatable. And, of course, as the face of BareMinerals, she’s more than happy to share her everyday makeup essentials (her routine is much more minimal than you might think).

We caught up with Bieber to get a list of all her favorite things that are bringing her comfort these days. Read on for her beauty secrets, the sweater she can’t live without, and the books on her reading list.

Instagram content

This content can also be viewed on the site it originates from.

The skin-care products I swear by

When it comes to skin care, really good ingredients matter most to me. I really love the BareMinerals Oil Cleanser, and the Skinlongevity Long Life Herb Serum. That one has niacinamide in it, which is my absolute favorite skin-care ingredient—it’s a really good multipurpose ingredient. It’s good for acne, but it’s also really good for moisture, and it’s anti-inflammatory. It just works well for my skin, and I’ve seen it work well for other people too. BareMinerals is also coming out with a new ageless collection, which is made with plant-based phyto-retinol. The neck and face creams are wonderful; they’re the night cream I use right now.

Your Fave’s FavesCardi B’s New Show Is Another Major Money Move

BeautyHailey Bieber Just Shared a Relatable Photo of Her Latest Skin Flare-Up 

Big Beauty QuestionsDrew Barrymore Swears By This $10 Hair Mask

BeautyAugustinus Bader’s Foaming Cleanser Gives Me the Gentlest Deep Clean Ever

iframe”);t&&!n.length&&e(!0),n.length&&e(!1)}function connectionBait(e,t){const n=new XMLHttpRequest;n.open(“GET”,”https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”,!0),n.onreadystatechange=function(){4===n.readyState&&0===n.status&&e(!0),4===n.readyState&&200===n.status&&(t||e(!1))},n.send()}function detect(e,t){let n=!1;const r={},o={};function i(){return function(t){n||(n=!0,cleanUp(o,r),e(t))}}function s(){setTimeout((()=>{cosmeticBait(i(),r,o)}),1)}function a(){setTimeout((()=>{adServerLoaded(i(),t)}),4e3)}connectionBait(i(),t),”complete”===document.readyState?(s(),a()):”interactive”===document.readyState?(s(),window.addEventListener(“load”,a,!1)):(window.addEventListener(“DOMContentLoaded”,s,!1),window.addEventListener(“load”,a,!1))}function AdBlockDetect(e,t){const n=t.getSingleInstance().getPageDefinition().slotNames;detect((t=>{t?e.emit(“ads.environment.adblock.detected”):e.emit(“ads.environment.adblock.notdetected”),set$1(window,”cns.pageContext.adBlock”,t),sparrowCollector.onAdBlockDetected(t),snowplowCollector.onAdBlockDetected(t)}),(null==n?void 0:n.length)>0)}function isPlainObject(e){return!!e&&e.constructor===Object}function concatUniques(e){if(!(e=e.filter(Array.isArray)).length)return[];const t=e.shift();return Array.from(new Set(t.concat.apply(t,e)))}function mergeBase(e,t,n,r){let o;if(isPlainObject(t)?o=e.filter((e=>isPlainObject(e[n]))):Array.isArray(t)&&(o=e.filter((e=>Array.isArray(e[n])))),o&&o.length){t=merge(o.map((e=>e[n])),r)}return t}function merge(e,t){const n=e.filter((e=>!!e));if(n<2)return e[0];const r=concatUniques(n.filter((e=>!!e)).map(Object.keys)),o=n[0];return r.reduce(((e,r)=>{let o=n.filter((e=>void 0!==e[r]));if(t){let n=!1,i=o[0][r];for(let e=1;e=0;o–){let i=n[o][r];if(void 0!==i)return e[r]=mergeBase(n,i,r,t),e}return e}),o)}function mergeViewportSizes(e,t){const n={};return Object.keys(e).forEach((r=>{if(n[r]=e[r]||[],t&&void 0!==t[r])if(!1===t[r]||!t[r]&&!1===e[r])n[r]=!1;else{n[r]=concatUniques([e[r],t[r]]);const o=n[r].filter((e=>e&&”-“===e[0])),i=o.map((e=>e.slice(1))),s=o.concat(i);n[r]=difference(n[r],s)}})),n}function mergeObjectsOfArrays(e){return concatUniques(e.map(Object.keys)).reduce(((t,n)=>{const r=e.map((e=>e[n])).filter(Array.isArray);return r.length&&(t[n]=concatUniques(r)),t}),{})}const isRunningOnClient=”undefined”!=typeof window;function isObject(e){return”object”==typeof e&&e.constructor===Object}function getRender(e){return pick(e,[“desktop”,”tablet”,”mobile”,”constellation”,”slot”])}function stringToFunction(string){return eval(“(“+string+”)”)}function updateSlotBlock(e){e.when&&(e.when=isRunningOnClient&&stringToFunction(e.when)||e.when.toString()),e.in&&e.in.el&&e.in.when&&(e.in.when=isRunningOnClient&&stringToFunction(e.in.when)||e.in.when.toString())}function slotComplexRenderPreProcessor(e){Object.values(e||{}).forEach((e=>{isObject(e)&&e.every&&e.el&&updateSlotBlock(e)}))}function slotComplexRenderProcessor(e){e&&(e.slot?slotComplexRenderPreProcessor(e.slot):Object.values(e).forEach((e=>{slotComplexRenderPreProcessor(e.slot)})))}function mergePlugins(e,t){return Object.keys(t).reduce(((n,r)=>{const o=merge([{},e[r],t[r]],((e,t)=>{if(!1!==e&&!0===t)return e}));return o&&(n[r]=o),n}),{})}function mergeSlotTypeDefinitions(e,t){return Object.keys(t).reduce(((n,r)=>{const o=mergeAdTechConfigs(e[r],t[r]);return o&&(n[r]=o),n}),{})}const specialKeys={types:(e,t)=>{if(isObject(e))return mergeSlotTypeDefinitions(e,t)},groups:(e,t)=>e?isObject(e)?concatUniques([e,t]):void 0:t,targeting:(e,t)=>e?isObject(e)?mergeObjectsOfArrays([e,t]):void 0:t,position:(e,t)=>e?isObject(e)?mergeObjectsOfArrays([e,t]):void 0:t,content_type:(e,t)=>e?isObject(e)?mergeObjectsOfArrays([e,t]):void 0:t,sizes:(e,t)=>{if(isObject(e))return mergeViewportSizes(e,t)},render:(e,t)=>(slotComplexRenderProcessor(e),slotComplexRenderProcessor(t),getRender(e?t||e:t)),plugins:mergePlugins};function adConfigMerger(e,t,n){let r;return specialKeys[n]?r=specialKeys[n](e,t):Array.isArray(e)&&Array.isArray(t)&&(r=t),r}function mergeAdTechConfigs(e,t){return merge([{},e,t],adConfigMerger)}const errorMessage=”Ads — Ad unit path generation error : “,matcher$1=”[^A-Za-z0-9]”;function dashSlugify(e){const t=new RegExp(matcher$1,”g”);return e&&e.toString().toLowerCase().replace(t,”-“).replace(/-+/g,”-“).replace(/(^-|-$)/g,””)}function evalPath(fnString,options){try{const pathFn=eval(“(“+fnString+”)”);if(“function”==typeof pathFn)return pathFn(options);error$1(`${errorMessage} generation function is not a function`)}catch(e){error$1(`${errorMessage} generation function cannot be evaluated`)}}function searchMap(e,t){return Object.keys(e).reduce(((n,r)=>find$1(e[r],(e=>e===t))?r:n),!1)}function findCategory(e){let t=e.channel,n=t?dashSlugify(t):”misc”;return n=”home”===n?”homepage”:n,n}function findContentType(e){const t=get$1(e,”adUnit.map.contentType”);t||error$1(`${errorMessage} Content type map is missing in the config`);const n=searchMap(t,e.templateType);return n||error$1(`${errorMessage} contentType is undefined`),n}function matchAdUnitPathComponent(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:””;t.sort(((e,t)=>{const n=Array.isArray(e)?e[0].length:e.length;return(Array.isArray(t)?t[0].length:t.length)-n}));for(let n=0;n{e[t]=e[t]||0;const n=e[t];return e[t]++,n},this.current=t=>e[t]||0},PositionCounter=function(){let e={};this.next=t=>{e[t]=e[t]||1;const n=e[t];return e[t]++,n}},Store=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=new Map(Object.entries(e));this.getState=e=>t.has(e)?t.get(e):{},this.setState=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=t.has(e)?t.get(e):{},o=Object.freeze(_objectSpread2(_objectSpread2({},r),n));return t.set(e,o),o},this.getStore=()=>t},SlotStore=function(){const e=new Store,t=new Set;this.getSlotState=t=>e.getState(t),this.setSlotState=(t,n)=>e.setState(t,n),this.isSpacerCreative=e=>t.has(e),this.setSpacerCreativeId=e=>{t.add(e)},this.getStore=()=>e.getStore()},matcher=”[^A-Za-z0-9]”;function slugify(e){const t=new RegExp(matcher,”g”);return e.toString().toLowerCase().replace(t,”_”).replace(/_+/g,”_”).replace(/(^_|_$)/g,””)}function defineReadOnlyProperties(e,t){const n=Object.keys(t),r={};for(let e=0;e{!n&&e[t]&&(n=e[t])})),n||e._default||e.__default}function getSpecificityPattern(e){let t=e.slug,n=e.channel,r=e.subChannel,o=e.templateType;return[t,`${n}_${r}_${o}`,`${n}_${o}`,`${o}`]}function getSlotNamesForPage(e,t){const n=getSpecificityPattern(e);return matchVariantPattern(get$1(t,”slot.sets”),n)}function getConfig(){return get$1(window,”cns.config.config”)}function getBrandAdUnitId(){return get$1(getConfig(),”slot.__auid_one”)}function getAdUnit(){const e=get$1(window,”cns.config.config.ad_unit”)||{};return{generatePath:e.generate_path,categoryMatch:e.category_match,contentTypeMatch:e.content_type_match,map:{contentType:get$1(e,”map.content_type”)}}}function getNetwork(){return get$1(window,”cns.config.config.network”)}function getViewportRange(e,t,n){const r=getConfig()[n],o=r&&matchVariantPattern(r,e);return o&&o[t]||o||0}function getPathOverride(){return queryParameters&&queryParameters.ao_iu}function getVersoFlag(e){const t=get$1(e,”keywords.platform”)||[];return!!(t.length&&”verso”===t[0])}function getOverrideVpRange(e,t){return get$1(t,`request_vp_range.${e}`)}function getPageRefreshTime(){return getConfig().refresh}function CompleteDefiner(e,t,n){const r=new SlotCounter,o=new PositionCounter,i=new SlotStore,s=getSpecificityPattern(e),a=getConfig(),c=a.slot.types,l=getSlotNamesForPage(e,a),d=c._default||{},u=(a||{}).useBlueprintTargeting,g=getTargetingKeyTranslator(void 0!==u&&u),p=”for_children”,f=”static_refresh_size”,m=”can_be_hidden”,y=”insert_after_react_ready”,b=”is_sticky”,h=”required_targeting”,w=”wait_for_oop”;function $(e){const t=e.render;return t&&(t.slot||t[n]&&t[n].slot)}function S(e,t,r,o){e||warn(`Invalid sizes: unable to define ‘${r}’ on ${n}.`,{definition:o,slotName:r}),t||warn(`Invalid render: unable to define: ‘${r}’ on ${n}`,{definition:o,slotName:r})}const v=freeze(l.reduce(((e,r)=>{const o=mergeAdTechConfigs(d,c[r]._default),i=function(e){const n=matchVariantPattern(c[e],s);return t?mergeAdTechConfigs(n,t):n}(r),a=mergeAdTechConfigs(o,i);return function(e,t,n){const r=t.sizes,o=r&&r[n]&&r[n].length,i=r&&!1===r[n],s=$(t),a=o&&!i;return!!t.isOutOfPage||(S(a,s,e,t),o&&!i&&s)}(r,a,n)&&(e[r]=freeze(a)),e}),{})),T=freeze(Object.keys(v));const P=new function(){defineReadOnlyProperties(this,{slug:e.slug,server:e.server,keywords:e.keywords,channel:e.channel||”misc”,subChannel:e.subChannel,subSubChannel:e.subSubChannel,device:n,templateType:e.templateType,contentType:e.contentType,forChildren:e[p],slotNames:T,network:getNetwork(),brand:getBrandAdUnitId(),requestViewportRange:getViewportRange(s,n,”request_vp_range”),adUnit:getAdUnit(),isVerso:getVersoFlag(e),useRoadblock:getConfig().useRoadblock,lazyloadSettings:getViewportRange(s,n,”lazyload_settings”),pageRefresh:getPageRefreshTime()}),freeze(this)};function A(t){const i=v[t]?v[t]:{sizes:{}};function s(e,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e=void 0!==e?e:r.next(t);const s=`${t}_${e}`;n=void 0!==n?n:o.next(this.position);const a=this.position&&slugify(this.position),c=`${a}_${n}`;defineReadOnlyProperties(this,{id:s,slotCount:e,positionCount:n,positionId:c,data:i}),this.getAdUnitPath=()=>getAdUnitPath(this,P),freeze(this)}this.getRenderBlock=()=>$(i),this.getSizes=()=>i.sizes[n],this.getSizesArray=()=>sizesToArray(i.sizes[n]),this.getSizeMapping=()=>{const e=window.googletag.sizeMapping();return e.addSize([1024,0],sizesToArray(i.sizes.desktop)).addSize([768,0],sizesToArray(i.sizes.tablet)).addSize([0,0],sizesToArray(i.sizes.mobile)),e.build()},this.shouldWaitUntilVisibleBeforeDisplay=()=>!i[m],this.getCustomData=()=>i.data,s.prototype=this,this.getSlotDefinition=function(){for(var e=arguments.length,t=new Array(e),n=0;n{const t=g(“pos_instance”),n=g(“ctx_slot_instance”),r=parseInt(e.getTargeting(t)[0],10);return new s(parseInt(e.getTargeting(n)[0],10),r)},this.getSlotRefreshTime=(e,t,n)=>{let r;return r=void 0!==t?t:e,r&&r[n]&&(r=r[n]),r},defineReadOnlyProperties(this,{slotName:t,isOutOfPage:!!i.isOutOfPage,refresh:this.getSlotRefreshTime(P.pageRefresh,i.refresh,n),isSticky:isStickyDeviceEnabled(i[b],n),hasStaticRefreshSize:!!i[f],suffix:i.suffix,channel:e.channel,subChannel:e.subChannel,subSubChannel:e.subSubChannel,templateType:e.templateType,override:getPathOverride(),brand:getBrandAdUnitId(),network:getNetwork(),shouldWaitForOOP:i[w],shouldWaitForReact:!!i[y],requiredTargeting:i[h]||[],position:i.position,overrideRequestViewportRange:getOverrideVpRange(n,i)}),freeze(this)}this.getSlotTypeDefinition=e=>new A(e),this.getSlotDefinitionFromGPTSlot=e=>{const t=e.getSlotElementId().split(“_”);t.pop();return new A(t.join(“_”)).getSlotDefinitionFromGPTSlot(e)},this.getSlotStateStore=()=>i,this.getPageDefinition=()=>P,freeze(this)}const reactReadyEvent=”react.ready”;function onReactReady(){set$1(window,”_cne.pageCreated”,!0)}function enableCNE(e){if(e.history(reactReadyEvent).length)return onReactReady();e.on(reactReadyEvent,onReactReady)}const eval2=eval;function getText(e){let t=””;const n=e.childNodes;for(let e=0;ee.previousSibling,above:e=>e.previousSibling,after:e=>e.nextSibling,below:e=>e.nextSibling,prepend:e=>e.firstElementChild,append:e=>e.lastElementChild};function getInsertionTarget(e,t){if(insertionMethods[t])return insertionMethods[t](e)}function alreadyExists(e,t){const n=getInsertionTarget(e,t),r=n&&n.classList&&n.classList.contains(“cns-ads-stage”),o=n&&n.firstChild,i=o&&o.classList&&o.classList.contains(“cns-ads-stage”);return!(!r&&!i)}function checkEvery(e){let t=e.injectionBlock,n=e.index;return”number”==typeof t.every&&!!t.every&&”number”==typeof n}function checkCustomCondition(e){return”function”==typeof e.customConditionFn}const shouldAddSlotConditions=[{name:”every”,check:checkEvery,fn:e=>(e.index+1)%e.injectionBlock.every==0},{name:”custom condition”,check:checkCustomCondition,fn:e=>(0,e.customConditionFn)(e.domNode,e.meta)}];function shouldAddSlot(e){for(let t=0;t{const r=e[n];let o;return”string”==typeof r?o=findAll(r):isValidComplexInjection(r)?o=getDomNodesForInjectionBlock(r):(o=[],error$1(“invalid”,r)),n=normalizeMethod(n),o=o.filter((e=>!alreadyExists(e,n))),o&&o.length&&(t[n]=o),t}),{})}const PromiseLock=function(){let e;return function(t){return function(){for(var n=arguments.length,r=new Array(n),o=0;ot(…r)));return e=n.then((()=>{})),n}return e=t(…r),e}}};function createContainerEl(e,t,n){const r=createElement(“div”,{id:`${e}_${t}`});return addClasses(r,[“cns-ads-container”]),setStyle(r,{margin:”0px auto”,boxSizing:”content-box”}),n&&setElementData(r,n),r}function createAdDivs(e,t,n,r){const o=”cns-ads-slot-type-“,i=e.replace(new RegExp(“_”,”g”),”-“).toLowerCase(),s=createElement(“div”,{id:`${o}${i}-${t}`});addClasses(s,[“cns-ads-stage”,o+i,`${o+i}-${t}`]),setElementData(s,{name:`${e}_${t}`,”slot-type”:e}),r||setStyle(s,{fontSize:0,lineHeight:0,overflow:”hidden”}),”_out_of_page”===e&&addClasses(s,[“cns-ads-slot-type-out-of-page”]);const a=createElement(“div”);return addClasses(a,[“cns-ads-flex-sizer”]),s.appendChild(a),s.appendChild(createContainerEl(e,t,n)),s}function InjectRefreshDisplayInjectionStrategy(e,t,n,r){window.googletag=window.googletag||{};const o=window.googletag,i={after:(e,t)=>e.parentNode.insertBefore(t,e.nextSibling),prepend:(e,t)=>e.insertBefore(t,e.children[0]),append:(e,t)=>e.appendChild(t),before:(e,t)=>e.parentNode.insertBefore(t,e)};this.insertSlot=function(s,a,c,l,d){fastdom.mutate((()=>{const u=createAdDivs(a.slotName,a.slotCount,_objectSpread2(_objectSpread2({},a.getCustomData()),a.data),r);!function(e,t,n){i[t]?i[t](e,n):e[t](n)}(c,l,u),d(u,a,(()=>{((r,i)=>{const s=t.getSingleInstance().getPageDefinition();e([“refreshLC-serviceLT”],{pageDefinition:s},(t=>(applyTargeting(o.pubads(),t),e([“refresh”],{slotDefinition:i,slot:r,pageDefinition:s},(e=>{e?(applyTargeting(r,e),n.reset(i),get$1(window,”cns.config.config.useRoadblock”)||o.pubads().refresh([r],{changeCorrelator:!1}),debug$1(`refreshing.${r.getSlotElementId()}`)):error$1(“slot targeting is missing”,s,i)})))))})(s,a)}))}))}}const allowedIntersectionOptions=[“threshold”,”rootMargin”],defaultIntersectionObserverOptions={threshold:0,rootMargin:”0px 0px”},_EventEmitter=new EventEmitter(“VisibilityObserver”),debug=_EventEmitter.debug,error=_EventEmitter.error;function isIntersecting(e){return any(e,(e=>e.isIntersecting))}function hasHigherIntersectionRatio(e,t){return void 0===e||any(t,(t=>t.intersectionRatio>=(e||0)))}function getIntersectionObserverOptions(e){return Object.assign({},defaultIntersectionObserverOptions,pick(e,allowedIntersectionOptions))}function observeEvents(e,t,n,r){fastdom.measure((()=>{try{const r=new IntersectionObserver((o=>{hasHigherIntersectionRatio(t.intersectionRatio,o)&&isIntersecting(o)?(debug(“visible”,{el:e,entries:o}),n(!0,r)):(debug(“notVisible”,{el:e,entries:o}),n(!1,r))}),getIntersectionObserverOptions(t));r.observe(e)}catch(e){r(e)}}))}function onIntersection(e,t,n){observeEvents(e,t,(e=>n(e)),(e=>error(“onIntersection”,e)))}function onceVisible(e,t){return new Promise(((n,r)=>{observeEvents(e,t,((e,t)=>{e&&(n(),t.disconnect())}),r)}))}function reactRule(e,t){return!e||t}function targetingRule(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const r=Object.keys(t);return all(e,(e=>find$1(n,(t=>t===e))||find$1(r,(t=>t===e))))}function canRequest(e){let t=e.slotTypeDefinition,n=e.pageTargeting,r=e.slotTargeting,o=e.reactReady,i=e.oopHasRendered,s=e.excludedPositions;const a=!!r,c=targetingRule(t.requiredTargeting,r,n),l=reactRule(t.shouldWaitForReact,o),d=t.shouldWaitForOOP,u=t.position,g=s.has(u);let p=a&&c&&l&&!g&&!(d&&!i);return debug$1(`canRequest.${t.slotName}.${p}`,{slotTypeDefinition:t,pageTargeting:n,slotTargeting:r,reactReady:o,oopHasRendered:i,excludedPositions:s}),p}function UnassumingInsert(e,t,n,r){window.googletag=window.googletag||{};const o=window.googletag,i=t.withTargeting,s=r.getSingleInstance().getPageDefinition().isVerso,a=new InjectRefreshDisplayInjectionStrategy(i,r,n,s),c=new Set;let l=!1,d=!1;function u(e,t){let n;return r.getSingleInstance().getSlotStateStore().setSlotState(e.id,{nodeId:e.data&&e.data[“node-id”]}),n=t?o.defineOutOfPageSlot(e.getAdUnitPath(),e.id):o.defineSlot(e.getAdUnitPath(),e.getSizesArray(),e.id).defineSizeMapping(e.getSizeMapping()),n}function g(e,t){return(n,r,i)=>{const s=function(e){if(e.shouldWaitUntilVisibleBeforeDisplay())return onceVisible}(r),a=()=>{const e=r.id;debug$1(“insert.display”,e),o.display(e),i()},c=e.requestViewportRange,l=t.overrideRequestViewportRange;if(s)return s(n,{rootMargin:`${void 0!==l?l:c}% 0%`}).then(a);a()}}const p=(new PromiseLock)((e=>{const t=e.getSingleInstance().getPageDefinition();return i([“service”],{pageDefinition:t},(n=>{if(n)return applyTargeting(o.pubads(),n),Promise.all(t.slotNames.map((r=>{const s=e.getSingleInstance().getSlotTypeDefinition(r);return function(e,t){let n;const r=e.getRenderBlock();return n=getCandidateElementsFromRenderBlock(r),Promise.all(Object.keys(n).map((r=>(debug$1(“candidatesByMethod.”+e.slotName,{method:r,els:n[r],definition:e}),Promise.all(n[r].map((e=>t(e,r))))))))}(s,((e,r)=>i([“slot”],{pageTargeting:n,slotTypeDefinition:s,reactReady:d,el:e},(p=>{if(!p)return void error$1(“slot type targeting is missing”,t,s);const f=o.pubads().getTargetingKeys();if(!canRequest({slotTypeDefinition:s,pageTargeting:f,slotTargeting:p,reactReady:d,oopHasRendered:l,excludedPositions:c}))return void debug$1(`${s.slotName}.notRequestable`,s,d,n,p);const m=e.dataset.nodeId,y=s.getSlotDefinition(void 0,void 0,_objectSpread2({},m&&{“node-id”:m})),b=y.isOutOfPage,h=u(y,b);if(!h)return void error$1(“the slot cannot be defined”,y,h);h.addService(window.googletag.pubads()),b&&h.addService(window.googletag.companionAds());const w=_objectSpread2({},p);h.updateTargetingFromMap(w),i([“define”],{slot:h,slotDefinition:y},(e=>{applyTargeting(h,e)})),a.insertSlot(h,y,e,r,g(t,s))}))))})));error$1(“page targeting is missing”,t)})).catch(handlePromiseError(“insert error”)).then((()=>new Promise((e=>fastdom.mutate((()=>setTimeout(e,1e3))))))).catch(handlePromiseError(“impossible mutate error”))}));var f;f=()=>{d=!0},e.history(“react.ready”).length?f():e.on(“react.ready”,f),function(){const t=e.on(“#.slotRenderEnded.#”,((n,r)=>{r.topic&&r.topic.includes(“out_of_page”)&&(l=!0,t(),e.emit(“ads.componentDidUpdate”))}))}(),e.on(“ads.excludePositions”,(e=>{e.forEach(c.add,c)})),this.insert=t=>{!function(t){o.pubadsReady?t():e.on(“ads.pubadsReady”,t)}((()=>{p(t),function(t){e.on(“react.ready”,t),e.on(“#.componentDidMount.#”,t),e.on(“#.componentDidUpdate.#”,t)}(debounce((()=>p(t)),500))}))}}function UniqueTimerStore(){const e={};function t(t){const n=e[t];n&&(clearTimeout(n),e[t]=null)}this.startTimer=function(n,r,o){t(n),e[n]=setTimeout((()=>{t(n),r()}),o)},this.endTimer=t}function KeyCounter(){let e={};this.increment=t=>{e[t]||(e[t]=0),e[t]+=1},this.remove=t=>{e[t]&&delete e[t]},this.getCount=t=>e[t]||0}function RefreshControl(e,t){const n=t.withTargeting,r=new EventEmitter(“RefreshControl”).debug,o=new KeyCounter,i=new KeyCounter,s=new Set,a=new Set,c=new Set,l=new UniqueTimerStore,d=[[“aged”,e=>s.has(e)],[“impressions”,e=>i.getCount(e)],[“visible”,e=>c.has(e)]],u=e=>`${e}.refresh_${o.getCount(e)}`,g=t=>e.getSingleInstance().getSlotDefinitionFromGPTSlot(t);function p(t){const i=e.getSingleInstance().getPageDefinition(),s=getSlotById(t),a=g(s);r(`setTargeting.${u(t)}`);const c=getConfig$1(window).config.useBlueprintTargeting,l=getTargetingKeyTranslator(void 0!==c&&c)(“ctx_slot_rn”);return s.setTargeting(l,o.getCount(t)),n([“refreshLC-serviceLT”],{pageDefinition:i},(e=>(applyTargeting(window.googletag.pubads(),e),n([“refresh”],{pageDefinition:i,slotDefinition:a,slot:s},(e=>{applyTargeting(s,e)})))))}function f(e){return void 0===e?3e4:!Number.isNaN(parseInt(e,10))&&e>0?e:0}const m=cumulativeArgumentDebounce((e=>{const t=uniq(e.map((e=>e[0])));if(window.cns.flags.shouldNotRefresh)r(“window.cns.flags.shouldNotRefresh”);else if(r(`refreshing.${t.map((e=>u(e))).join(“,”)}`),t.forEach((e=>h(g(getSlotById(e))))),!get$1(window,”cns.config.config.useRoadblock”)){const e=t.map(getSlotById);window.googletag.pubads().refresh(e,{changeCorrelator:!1})}}),100);function y(e){r(`onChange.${e}.(${d.map((t=>t[0]+”:”+t[1](e))).join(“,”)})`),all(d,(t=>t[1](e)))&&p(e).then((()=>{m(e)}))}function b(e,t){0===(t=f(t))?y(e):l.startTimer(e,(()=>{s.add(e),y(e)}),t),r(`willRefreshIn.${e}.${t}`)}function h(e){const t=e.id;i.remove(t),s.delete(t),b(t,e.refresh)}function w(e){return!e.isOutOfPage&&!window.cns.flags.shouldNotRefresh&&!1!==e.refresh}this.reset=function(e){w(e)?h(e):r(`slotNotRefreshable.${e.id}`)},this.onSlotRenderEnded=function(e){const t=e.slot,n=g(t).id;o.increment(n)},this.onImpressionViewable=function(e){const t=e.slot.getSlotElementId();i.increment(t),r(`${t}.impressionIncremented`),y(t),w(g(e.slot))&&function(e){if(!a.has(e)){const t=getElementById(e);a.add(e),onIntersection(t,{},(t=>{t?(c.add(e),y(e)):c.delete(e)}))}}(t)},this.disableRefresh=function(e){l.endTimer(e)},this.delayRefresh=b,this.normalizeRefreshTimeout=f}function ShareOfVoice(){let e=!1,t=””;this.getTargeting=function(){const e={};return t&&(e.ctx_line_items=[t]),e},this.onSlotRenderEnded=function(n){e||(e=!0,t=n.lineItemId)}}function cnsMetricsApi(){return e=>{e({emit:pixel})}}var updateRefresh=e=>{let t=e.refreshControl;return e=>{let n=e.slotName,r=e.refresh;”number”==typeof r&&r>0?t.delayRefresh(n,r):t.disableRefresh(n)}};function CNSAdsAPI(e,t,n,r){function o(e){let t=e.device,n=void 0===t?”desktop”:t,r=e.server,o=void 0===r?”staging”:r;return new Promise(((e,t)=>{o&&n||t(),e()}))}function i(){return!0===get$1(window,”cns.pageContext.adBlock”)}const s=updateRefresh({refreshControl:t});function a(e,t){const n=e.frameElement.parentElement.parentElement.id;s({slotName:n,refresh:t})}function c(e){const t=window.cns.pageContext,o=new CompleteDefiner(Object.assign({},t,e),null,getViewportTemplate());n.reset((()=>o)),r.insert(n)}function l(){resetUserData(),window.googletag.cmd.push((()=>{window.googletag.pubads().clear(),window.googletag.destroySlots()})),fastdom.mutate((()=>{const e=document.querySelectorAll(“.cns-ads-stage”);for(let t=0;t{}),”adblock.installed”),blocked:deprecated(i,”adblock.blocked”)},pages:{create:c,destroy:l,get:()=>({slots:{add:deprecated(d,”slots.add”),get:deprecated((()=>{}),”slots.get”),refresh:deprecated((()=>{}),”slots.refresh”),destroy:deprecated((()=>{}),”slots.destroy”)}})}})}}function CNSShim(e,t,n,r){const o=new CNSAdsAPI(e,t,n,r);var i;i={ads:o.executeCallback,metrics:cnsMetricsApi()},window.cns.async=function(e,t){i[e](t)},window.cns.queue.forEach((e=>{let t=e.service,n=e.callback;window.cns.async(t,n)})),delete window.cns.queue}var spacerCreative=e=>{let t=e.definer;return e=>{let n=e.creativeId;const r=t.getSingleInstance().getSlotStateStore();r.setSpacerCreativeId(n);const o=r.getStore();window.cnBus&&Array.from(o.values()).forEach((e=>{let t=e.creativeId,r=e.nodeId;r&&t&&n===t&&window.cnBus.emit(`ads.creative.${r}.spacer`,{})}))}};function SafeFrameMessageListener(e){const t=function(t){const n=new Map(Object.keys(t).map((n=>[n,t[n](e)])));return e=>{const t=e.data,r=t.cnsAdEvent,o=t.payload;if(r&&n.has(r)){return n.get(r)(o,e)}}}({updateRefresh:updateRefresh,”ads.creative.spacer”:spacerCreative});window.addEventListener(“message”,t)}function SourceOfTruth(e){let t;this.getSingleInstance=function(){return t||(t=e()),t},this.reset=function(n){t=n?n():e()}}const _window=window,cns=_window.cns,cnBus=_window.cnBus;function about(){return{buildDate:cns.buildDate,fastAdsHead:cns.fastAdsHead,fastAdsFooter:cns.fastAdsFooter,runtimeId:queryParameters.runtimeId||runtimeId}}function attachListeners(e,t){const n=getConfig$1(window),r=new ShareOfVoice,o=new TargetingLifecycle(n,r),i=new RefreshControl(t,o),s=new UnassumingInsert(e,o,i,t);new CNSShim(e,i,t,s),new GPTRouter(t,i,r,e),new SafeFrameMessageListener({refreshControl:i,definer:t}),emitBoomPixel(“adsReady”),cns.addTargeting=o.register,AdBlockDetect(e,t);s.insert(t),sparrowCollector.onRoadblockRendered(cnBus),snowplowCollector.onRoadblockDetected(cnBus)}function initAdsLibrary(){sendBoomerangAdLibraryInformation();const e=new SourceOfTruth((()=>{const e=getViewportTemplate();return new CompleteDefiner(getPageContext(window),null,e)}));setupPermutive(),attachListeners(cnBus,e),enableCNE(cnBus)}function startFooter(){if(addDefaultSubscriptions(cnBus,featureFlags.bus_log),”info”===queryParameters.ao_tools&&append({src:`https://ad-tools.condenastdigital.com/ads-${queryParameters.ao_tools}/prod/index.js`,targ:document.head}),!queryParameters.ap_noads){if(hasPII())return sparrowCollector.onPIIDetected(),void snowplowCollector.onPIIDetected();setupIAS(),setupMoat(),til((()=>cns.pageContext),(()=>{shouldWaitForConsent()?onConsent(initAdsLibrary):initAdsLibrary()}))}}set$1(window,”cns.buildDate”,getConfig$1(window).buildDate),set$1(window,”cns.fastAdsFooter”,version),set$1(window,”cns.runtimeId”,queryParameters.runtimeId||runtimeId),set$1(window,”cns.about”,about),set$1(window,”cns.timing.footerStart”,Date.now()),set$1(window,”cns.addTargeting”,(()=>{})),startFooter()})();