/*HTLv3*/(()=>{var e={128:e=>{a.SYNC=1,a.ASYNC=2,a.QUEUE=4;var t="fun-hooks",n=Object.freeze({useProxy:!0,ready:0}),i=new WeakMap,r="2,1,0"===[1].reduce(((e,t,n)=>[e,t,n]),2).toString()?Array.prototype.reduce:function(e,t){var n,i=Object(this),r=i.length>>>0,o=0;if(t)n=t;else{for(;o(t&&Object.keys(t).forEach((n=>{e[n]=t[n]})),e)),e)};function a(e){var d,c={},l=[];function u(e,t){return"function"==typeof e?f.call(null,"sync",e,t):"string"==typeof e&&"function"==typeof t?f.apply(null,arguments):"object"==typeof e?p.apply(null,arguments):void 0}function p(e,t,n){var i=!0;void 0===t&&(t=Object.getOwnPropertyNames(e),i=!1);var r={},o=["constructor"];do{(t=t.filter((t=>!("function"!=typeof e[t]||-1!==o.indexOf(t)||t.match(/^_/))))).forEach((t=>{var i=t.split(":"),o=i[0],s=i[1]||"sync";if(!r[o]){var a=e[o];r[o]=e[o]=f(s,a,n?[n,o]:void 0)}})),e=Object.getPrototypeOf(e)}while(i&&e);return r}function g(e){var n=Array.isArray(e)?e:e.split(".");return r.call(n,((i,r,o)=>{var s=i[r],a=!1;return s||(o===n.length-1?(d||l.push((()=>{a||console.warn(t+": referenced '"+e+"' but it was never created")})),i[r]=m((e=>{i[r]=e,a=!0}))):i[r]={})}),c)}function m(e){var t=[],n=[],r=()=>{},o={before:function(e,n){return d.call(this,t,"before",e,n)},after:function(e,t){return d.call(this,n,"after",e,t)},getHooks:function(e){var i=t.concat(n);"object"==typeof e&&(i=i.filter((t=>Object.keys(e).every((n=>t[n]===e[n])))));try{s(i,{remove:function(){return i.forEach((e=>{e.remove()})),this}})}catch(e){console.error("error adding `remove` to array, did you modify Array.prototype?")}return i},removeAll:function(){return this.getHooks().remove()}},a={install:function(i,o,s){this.type=i,r=s,s(t,n),e&&e(o)}};return i.set(o.after,a),o;function d(e,i,o,s){var a={hook:o,type:i,priority:s||10,remove:()=>{var i=e.indexOf(a);-1!==i&&(e.splice(i,1),r(t,n))}};return e.push(a),e.sort(((e,t)=>t.priority-e.priority)),r(t,n),this}}function f(n,r,c){var u=r.after&&i.get(r.after);if(u){if(u.type!==n)throw t+": recreated hookable with different type";return r}var p,f,b=c?g(c):m(),h={get:function(e,t){return b[t]||Reflect.get.apply(Reflect,arguments)}};return d||l.push(y),e.useProxy&&"function"==typeof Proxy&&Proxy.revocable?f=new Proxy(r,h):(f=function(){return h.apply?h.apply(r,this,o(arguments)):r.apply(this,arguments)},s(f,b)),i.get(f.after).install(n,f,((e,t)=>{var i,r=[];function s(e){r.push(e.hook)}e.length||t.length?(e.forEach(s),i=r.push(void 0)-1,t.forEach(s),p=(e,t,s)=>{var a,d=0,c="async"===n&&"function"==typeof s[s.length-1]&&s.pop();function l(e){"sync"===n?a=e:c&&c.apply(null,arguments)}function u(e){if(r[d]){var i=o(arguments);return u.bail=l,i.unshift(u),r[d++].apply(t,i)}"sync"===n?a=e:c&&c.apply(null,arguments)}return r[i]=function(){var i=o(arguments,1);"async"===n&&c&&(delete u.bail,i.push(u));var r=e.apply(t,i);"sync"===n&&u(r)},u.apply(null,s),a}):p=void 0,y()})),f;function y(){!d&&("sync"!==n||e.ready&a.SYNC)&&("async"!==n||e.ready&a.ASYNC)?"sync"!==n&&e.ready&a.QUEUE?h.apply=function(){var e=arguments;l.push((()=>{f.apply(e[1],e[2])}))}:h.apply=()=>{throw t+": hooked function not ready"}:h.apply=p}}return(e=s({},n,e)).ready?u.ready=()=>{d=!0,(e=>{for(var t;t=e.shift();)t()})(l)}:d=!0,u.get=g,u}e.exports=a},855:e=>{e.exports=function e(t){var n=Array.isArray(t)?[]:{};for(var i in t){var r=t[i];n[i]=r&&"object"==typeof r?e(r):r}return n}},130:(e,t,n)=>{n.d(t,{register:()=>Ge});var i=n(194),r=n(416),o=n(82),s=n(731);function a(e){let{state:t,data:n}=e;const{slot:r}=n;r.config={...t.config.slots[r.name]},r.config.tiles||=[],r.elemId||Object.defineProperty(r,"elemId",{get(){return this.elem?.id},set(e){this.elem.id=e}}),r.safeData={id:r.id,name:r.name,get elem(){return r.elem},get filled(){return r.filled},get tile(){return r.tile?.viewport&&{viewport:[...r.tile.viewport]}},get destroyed(){return r.destroyed},destroy(){(0,i.Tz)(t,r.id)}}}function d(e){let{state:t,data:n}=e;l(t,n.slot)}function c(e){const{data:t}=e,[n,i]=(0,o.Hr)(e.state.wnd),r=[];for(const e of t.slots)if(!e.destroyed){if(!e.tile){const[t,r]=u(e,n,i);e.tile={viewport:t,config:r},e.sizes=r?.sizes}e.tile.config?(e.ad={targeting:{}},r.push(e)):delete e.core.state}t.slots=r,r.length||e.stop()}function l(e,t){const{ad:n}=t;n&&(delete t.ad,e.events.emit("ad.destroy",{ad:n},{sync:!0}))}function u(e,t,n){return e.config.tiles.find((e=>{let[i]=e;return t>i[0]||t===i[0]&&n>=i[1]}))||[]}var p=n(412);const g=/["'=!+#*~;^()<>[\],&]/;function m(e){return e&&g.test(e)}async function f(e,t,n){(!t||g.test(t)||/(^\d)|\s/.test(t))&&i.Rm.warn("API setTargeting: invalid key",t),n=(0,o.vD)(n),(Array.isArray(n)?n.some(m):m(n))&&i.Rm.warn("API setTargeting: key",t,"has invalid values:",n),(await e.gpt.ready).pubads().setTargeting(t,n)}async function b(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;iasync function(){return(await e.gpt.ready).pubads()[n](...arguments)}})}function y(e){let{state:t}=e;if(t.gpt)return;const{wnd:n}=t;n.googletag?.apiReady||((0,o.k0)(n,t.config.modules.gpt.url||"https://securepubads.g.doubleclick.net/tag/js/gpt.js"),n.googletag||={}),n.googletag.cmd||=[],t.gpt={},t.gpt.ready=new Promise((e=>{n.googletag.cmd.push((()=>{i.Rm.info("GPT ready");const r=t.gpt.googletag=n.googletag;e(r)}))})),(0,o.BU)(t.gpt,t.gpt.ready)}async function v(e){let{state:t}=e;(await t.gpt.ready).pubads().setTargeting(`${t.config.htlPrefix}bidid`,String(t.config.buildId))}function I(e,t,n){if("requested"!==t.ad?.gpt.state)return;!n.empty&&t.elem&&(t.ad.elem=t.elem.querySelector("iframe[data-google-container-id]"));const r=t.gpt.slot;for(const e of Object.keys(t.ad.targeting))r.clearTargeting(e);t.ad.gpt.state="rendered",n.safeData={empty:n.empty},(0,i.L5)(e,t.id,n)}function w(e){let{data:t}=e;const{slot:n}=t;n.config.gpt={targeting:{},...n.config.gpt},n.safeData.gpt={config:{get adUnit(){return n.config.gpt.adUnit},set adUnit(e){n.config.gpt.adUnit=e},get targeting(){return n.config.gpt.targeting}},get slot(){return n.gpt?.slot},get adUnitPath(){return n.gpt?.adUnitPath}}}function C(e){let{state:t,data:n}=e;const{slot:i}=n;"default"===i.gpt?.mode&&i.gpt.slot&&t.gpt.googletag.destroySlots([i.gpt.slot])}function x(e){let{state:t,data:n}=e;const{networkCode:r}=t.config.modules.gpt;for(const e of n.slots){if(!e.ad||e.gptDefault)continue;if(e.gptDefault={},e.gpt)continue;let t=e.tile.config.gpt?.adUnit||e.config.gpt.adUnit;if(!t)continue;if(!t.startsWith("/")){if(!r){i.Rm.warn("GPT slot",e.id,"missing network code");continue}t=`/${r}/${t}`}const n=e.config.gpt.outOfPage||e.config.interstitial&&"INTERSTITIAL";(n||e.sizes)&&(e.gpt={mode:"default",adUnitPath:t,outOfPage:n})}}function S(e){if(!e.elemId){if(!e.elem)throw new Error(`GPT requires a DOM element ID to define slot ${e.id}`);e.elemId=e.id}return e.elemId}function T(e,t){for(const n of e.core.slots.values())if("default"===n.gpt?.mode&&n.gpt.slot===t)return n;return null}function A(e){let{state:t}=e;t.adBatch={slotIds:[],resume:(0,o.nF)((()=>(e=>{const{slotIds:t}=e.adBatch;e.adBatch.slotIds=[],(0,i.hj)(e,"ad.init",r.eo+1,t)})(t)),50)}}function E(e){const{data:t}=e;if(t.noBatch)return;const{adBatch:n}=e.state,{slotIds:i}=n;i.push(...t.slots.map((e=>{let{id:t}=e;return t}))),e.stop(),n.resume()}function R(e,t){const n=e.iab||={};let i=n[t];if(i)return i;const r=`__${t}`,o=`${r}Locator`;let s;for(let{wnd:t}=e;;t=t.parent){try{if("function"==typeof t[r]){i=t[r];break}}catch{}try{if(t.frames[o]){s=t;break}}catch{}if(t===t.top)break}return s&&(i=((e,t,n)=>{const i=`${e}Call`,r=`${e}Return`,o={};return t.addEventListener("message",(e=>{let{data:t}=e;if(!t)return;if("string"==typeof t){if(!t.includes(r))return;try{t=JSON.parse(t)}catch{return}}const n=t[r];if(n?.callId){const e=o[n.callId];delete o[n.callId],e&&e(n.returnValue,n.success)}})),(t,r,s,a)=>{const d=`htl-iab-${e}-${Math.random()}`;o[d]=s,n.postMessage({[i]:{command:t,parameter:a,version:r,callId:d}},"*")}})(r,e.wnd,s)),i&&(n[t]=i),i}const O=[[120,240],[120,600],[160,600],[250,250],[300,50],[300,75],[300,100],[300,250],[300,300],[300,600],[300,1050],[320,50],[320,100],[336,280],[400,300],[468,60],[728,90],[970,90],[970,250]];function k(e){return e.filter((e=>(0,o.Fs)(e)&&O.some((t=>{let[n,i]=t;return n===e[0]&&i===e[1]}))))}function U(e){let{state:t}=e;t.config.modules.amazon.pubId&&(0,o.k0)(t.wnd,"https://c.amazon-adsystem.com/aax2/apstag.js");const[n,i]=(0,o.v6)();t.amazon={ready:n,initDone:i,targeting:{}}}async function D(e){let{state:t,data:n}=e;const{bidsReady:i,id:r}=n.slot.amazon||{};i&&(await i,delete t.amazon.targeting[r])}function _(e){let{state:t,data:n}=e;if(t.hb.disabledBidders.amazon)return;const{floor:i}=t.config.modules.amazon,r=i&&{value:i,currency:"USD"},o=[];for(const e of n.slots){const{ad:t}=e;if(!(t&&e.tile.config.amazon&&e.gpt&&e.sizes))continue;const n=k(e.sizes);if(!n.length)continue;e.amazon||={id:e.elemId||e.elem&&(e.elemId=e.id)||e.id};const i={slotID:e.amazon.id,slotName:e.gpt.adUnitPath,sizes:n};r&&(i.floor=r);const s=e.config.amazon?.params;s&&(i.slotParams=s),t.amazon={slot:i},t.hb={},o.push(e)}o.length&&t.events.emit("amazon.slots",{slots:o},{sync:!0})}async function j(e){let{state:t,data:n}=e;if(!n.slots.some((e=>e.ad?.amazon)))return;await t.amazon.ready;const i=n.slots.filter((e=>e.ad?.amazon));if(!i.length)return;const{targeting:r}=t.amazon;for(const e of i)delete r[e.amazon.id];const o=new Promise((e=>{t.wnd.apstag.fetchBids({slots:i.map((e=>e.ad.amazon.slot))},(t=>{((e,t)=>{for(const n of e){const{targeting:e,slotID:i}=n;if(e)(e.amzniid||e.amzniid_sp)&&(t[i]=e);else if(n.amzniid){const e=t[i]={};for(const[t,i]of Object.entries(n))t.startsWith("amzn")&&(e[t]=i)}}})(t,r),e()}))}));for(const e of i)e.amazon.bidsReady=e.ad.amazon.bidsReady=o}async function B(e){let{state:t,data:n}=e;const i=n.slots.filter((e=>e.ad?.amazon?.bidsReady));if(!i.length)return;await Promise.allSettled(i.map((e=>e.ad.amazon.bidsReady)));const{targeting:r}=t.amazon;for(const e of i)if(e.ad){const{id:t}=e.amazon;Object.assign(e.ad.targeting,r[t])}}const P="amazon";async function q(e){let{state:t,data:n}=e;const{apstag:i}=t.wnd,{hem256:r}=n.data;if(!i.rpa||!n.targets.has(P)||!r)return;await t.amazon.ready;const s={optOut:!1,hashedRecords:[{type:"email",record:r}]},{ready:a,done:d}=(0,o.v6)();return t.amazon.hasUserId?i.upa(s,d):(i.rpa(s,d),t.amazon.hasUserId=!0),a}function $(e){let{state:t,data:n}=e;t.hb={disabledBidders:{}},(0,p.a)(t,n.htlbid,{enableHeaderBidding(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i1?t-1:0),i=1;i{(0,i.hj)(e.state,"ad.init",r.n8+1,e.data.slots.map((e=>e.id)))})))}function N(e){const t=[],n=[];for(const{ad:i,id:r}of e.data.slots)i&&(i.hb?n:t).push(r);e.stop(),e.next((()=>{(0,i.hj)(e.state,"ad.init",r.n8,n),(0,i.hj)(e.state,"ad.init",r.n8+1,t)}))}function M(e){let{state:t,data:n}=e;const{trafficShaping:i}=t.config.modules.hb,{conds:r}=i,{htlbid:o}=n;r.browser&&((e,t)=>{var n;t.browserType||=(n=e.wnd.navigator.userAgent).includes("Firefox")?"firefox":n.includes("Edg")?"edge":n.includes("Chrome")?"chrome":n.includes("Safari")?"safari":"other"})(t,o),r.os&&((e,t)=>{var n;t.os||=(n=e.wnd.navigator.userAgent).includes("Android")?"android":/iPhone|iPad|iPod|like Mac/.test(n)?"ios":/Mac OS X|MacPPC|MacIntel|Mac_PowerPC|Macintosh/.test(n)?"mac":n.includes("Windows")?"windows":"other"})(t,o);const s={os:L(r.os,o.os),browser:L(r.browser,o.browserType),device:L(r.device,o.deviceType),country:L(r.country,o.countryCode)},a=new Set;for(const[e,t,n]of i.bidders)Object.entries(t).every((e=>{let[t,n]=e;return s[t][n]}))===!!n&&a.add(e);if(a.delete("amazon")&&delete t.amazon,a.size&&t.prebid){const[e,n]=(d=i.reportingKeyPrefix)?[(e,t)=>((e,t,n)=>{const i=t.ad.prebid.opps||={};if(i[e])return;const r=i[e]={};for(const{bidder:i}of n)t.ad.targeting[`${e}_${i}`]=r[i]=(r[i]||0)+1})(d,e,t),(e,t)=>((e,t,n)=>{const i=t.ad.prebid.opps[e];if(!i)return;const r=new Set(n.map((e=>e.bidder)));for(const[n,o]of Object.entries(i))r.has(n)||(t.ad.targeting[`${e}_${n}`]=-o,delete i[n])})(d,e,t)]:[()=>{},()=>{}];t.events.on("prebid.adunits",(t=>{let{data:i}=t;i.slots=((e,t,n,i)=>{const r=[];for(const o of e){const{adUnit:e}=o.ad.prebid;!e.bids||(n(o,e.bids),e.bids=e.bids.filter((e=>{let{bidder:n}=e;return!t.has(n)})),i(o,e.bids),e.bids.length)?r.push(o):delete o.ad.prebid}return r})(i.slots,a,e,n)}))}var d}function L(e,t){return e?.map((e=>e.includes(t)))}function F(e){let{state:t}=e;if(t.config.hiddenSlots?.destroy)return void(t.hiddenSlots={add(e){(0,i.Tz)(t,e.id)}});const n=new Map,r=new t.wnd.ResizeObserver((e=>{const r=[];for(const{target:t,contentBoxSize:o}of e)if(o.length>1||o.some((e=>e.blockSize||e.inlineSize))){const e=n.get(t);e&&(e.hiddenSlots.unobserve(),i.Rm.info("Slot",e.id,"is resumed"),r.push(e.id))}(0,i.s3)(t,r)}));t.hiddenSlots={add(e){const{elem:t}=e;r.observe(t),n.set(t,e),e.hiddenSlots={unobserve(){r.unobserve(t),n.delete(t),delete e.hiddenSlots}},i.Rm.info("Slot",e.id,"is paused")}},t.events.on("slot.destroy",(e=>{let{data:t}=e;t.slot.hiddenSlots?.unobserve()}))}function W(e){const{state:t,data:n}=e;if(n.noHiddenSlots)return;const r=[];for(const e of n.slots){if(e.hiddenSlots||e.destroyed)continue;const{elem:n}=e;n?n.isConnected?(0,o.dW)(n)?r.push(e):(t.hiddenSlots.add(e),delete e.core.state):(0,i.Tz)(t,e.id):r.push(e)}n.slots=r,r.length||e.stop()}const V=-1,G=1,H=0;function Y(e,t){const n=e.scrollY;return{top:n,bottom:n+t[1]}}function J(e,t,n){let[i,r]=n;return{w:i,h:r,visible:"visible"===e.document.visibilityState,scroll:t.scroll}}function K(e,t,n){e.on("init",(e=>((e,t,n)=>{let{state:s}=n;(function(e){if(e.view)return;const{wnd:t}=e;e.view={...Y(t,(0,o.Hr)(t)),subs:[],scroll:H};const n=(0,o.nF)((()=>(e=>{let{wnd:t,view:n}=e;const i=(0,o.Hr)(t),{top:r,bottom:s}=Y(t,i);(rn.bottom)&&(r<=n.top&&s<=n.bottom?n.scroll=V:r>=n.top&&s>=n.bottom?n.scroll=G:n.scroll=H),n.top=r,n.bottom=s;const a=J(t,n,i);for(const e of n.subs)e(a)})(e)),150);t.addEventListener("resize",n),t.addEventListener("scroll",n,{capture:!0}),t.document.addEventListener("visibilitychange",n)})(s),s[e]={slotIds:new Set},((e,t)=>{e.view.subs.push(t)})(s,(n=>((e,t,n,o)=>{if(!o.visible)return;const s=[],{slotIds:a}=n[e];for(const t of a){const i=n.core.slots.get(t);if(!i||i.core.state){a.delete(t);continue}const r=i.ad?.[e];r.checkEager?r.checkEager(o)&&(a.delete(t),s.push(t),i.core.state=r.slotState,delete i.ad[e]):a.delete(t)}s.length&&(0,i.hj)(n,t,r._d+1,s)})(e,t,s,n)))})(t,n,e))).on("slot.destroy",(e=>{let{state:n,data:i}=e;n[t].slotIds.delete(i.slot.id)})).on("ad.init",(e=>{let{state:n,data:i}=e;for(const e of i.slots)n[t].slotIds.delete(e.id)}),r.Ry).on(n,(e=>((e,t)=>{const{state:n}=t,i=[],r=(e=>{let{wnd:t,view:n}=e;return J(t,n,(0,o.Hr)(t))})(n);for(const o of t.data.slots){const{elem:t,ad:s}=o;if(!t||!s)continue;const{enabled:a,pixels:d}={...n.config.modules[e],...o.config[e],...o.tile.config[e]};if(!a||null==d){i.push(o);continue}const c=e=>X(t,d,e);if(r.visible&&c(r))i.push(o);else{n[e].slotIds.add(o.id);const t=o.core.state;delete o.core.state,o.ad[e]={checkEager:c,slotState:t}}}t.data.slots=i,i.length||t.stop()})(t,e)),r._d)}function X(e,t,n){const{top:i,bottom:r}=e.getBoundingClientRect();return r>=0&&i<=n.h||!(r<0&&n.scroll>0||i>n.h&&n.scroll<0)&&(r<0?-r:i-n.h)<=t}function Q(e){let{state:t}=e;t.prebid={ready:Promise.resolve().then(n.bind(n,991)).then((e=>(t.prebid.pbjs=e.default,e.default)))},(0,o.BU)(t.prebid,t.prebid.ready)}async function Z(e){let{state:t,data:n}=e;const{bidsBackReady:i,code:r}=n.slot.prebid||{};i&&(await i,t.prebid.pbjs.markWinningBidAsUsed({adUnitCode:r}))}function ee(e){let{state:t,data:n}=e;for(const e of n.slots)e.ad&&!e.prebid&&(e.tile.config.prebid||e.config.tiles.some((e=>{let[,t]=e;return t?.prebid})))&&(e.prebid={gpid:t.prebid.gpid(e)},se(t,e))}function te(e){let{state:t,data:n}=e;const{disabledBidders:i}=t.hb;if(i.prebid)return;const{bids:r,groups:s,native:a}=t.config.modules.prebid,d=[];for(const e of n.slots){const{prebid:t}=e.tile.config;if(!t||!e.ad)continue;let n;const c={},l=e.sizes?.filter(o.Fs);if(l?.length&&(c.banner={sizes:l,name:e.name},n=!0),a&&null!=t.native&&(c.native={sendTargetingKeys:!1,...a[t.native]},n=!0),!n)continue;const{gpid:u}=e.prebid,p={ext:{gpid:u,data:{pbadslot:u}}};e.config.interstitial&&(p.instl=1);const[g,m]=oe(r,s,t.groups,i);!g.length&&m||(e.ad.prebid={adUnit:{code:e.prebid.code,mediaTypes:c,ortb2Imp:p}},e.ad.hb={},g.length&&(e.ad.prebid.adUnit.bids=g),d.push(e))}d.length&&t.events.emit("prebid.adunits",{slots:d},{sync:!0})}async function ne(e){let{state:t,data:n}=e;if(!n.slots.some((e=>e.ad?.prebid)))return;await t.prebid.allReady,(e=>{const t=e.prebid.consentManagement||={};if(t.done)return;const n={};R(e,"tcfapi")&&(n.gdpr={timeout:8e3,defaultGdprScope:!0}),R(e,"uspapi")&&(n.usp={timeout:3e3}),R(e,"gpp")&&(n.gpp={cmpApi:!0,timeout:8e3}),Object.keys(n).length?(e.prebid.pbjs.setConfig({consentManagement:n}),i.Rm.trace("Consent management is configured for Prebid.js"),t.done=!0):Date.now()-e.ts>5e3&&(t.done=!0,i.Rm.trace("Consent management is not configured for Prebid.js"))})(t);const r=n.slots.filter((e=>e.ad?.prebid));if(!r.length)return;const o=new Promise((e=>{t.prebid.pbjs.requestBids({adUnits:r.map((e=>e.ad.prebid.adUnit)),bidsBackHandler:e})}));o.then((e=>{t.events.emit("prebid.bids",{slots:r,bidsBack:e},{sync:!0})}));for(const e of r)e.prebid.bidsBackReady=e.ad.prebid.bidsBackReady=o}async function ie(e){let{state:t,data:n}=e;const i=n.slots.filter((e=>e.ad?.prebid?.bidsBackReady));if(!i.length)return;await Promise.allSettled(i.map((e=>e.ad.prebid.bidsBackReady)));const r=t.prebid.pbjs.getAdserverTargeting();for(const e of i)e.ad&&Object.assign(e.ad.targeting,r[e.prebid.code])}function re(e){let{data:t}=e;const n=t.slot.ad?.prebid?.bidSize;n&&(t.size=n,i.Rm.trace("Prebid.js saves for slot",t.slot.id,"the rendered size",n))}function oe(e,t,n,i){let r;const o=[];for(const s of n.map((e=>t[e])))for(let t=1;t{const i=n(e.getConfig(t));return!!i&&(e.setConfig({[t]:i}),!0)})(i,"userSync",(e=>{const i=(e||={}).userIds||[];let r=i.findIndex((e=>e.name===t));r<0&&(r=i.length);const o=n(i[r]);return o?(i[r]=o,e.userIds=i,e):null})))return;const[r,s]=(0,o.v6)();i.refreshUserIds({submoduleNames:[t]},s)}(t,"pubProvidedId",(()=>r))):n.pubProvidedId.warned||(n.pubProvidedId.warned=!0,i.Rm.warn("Prebid.js PubProvided ID param eidsFunction does not exist"))}function le(e){const t=e.wnd[e.config.modules.prebid.pubProvidedId.eidsFunction];return t?{name:"pubProvidedId",params:{eidsFunction:t}}:null}function ue(e){let{data:t}=e;for(const e of t.slots)if(e.name)for(const t of e.ad.prebid.adUnit.bids||[])"onetag"===t.bidder&&((t.params.ext||={}).placement_name||=e.name)}function pe(e){let{state:t,data:n}=e;const{slot:r}=n;r.refresh={count:0,switchEnabled(e){this.disabled=!e,e&&this.stopped&&(this.stopped=!1,(0,i.s3)(t,[r.id]))}}}function ge(e){let{data:t}=e;const n=Date.now();for(const e of t.slots)e.refresh.stopped=!1,e.refresh.adInitTs=n}function me(e){let{state:t,data:n}=e;const{slot:r}=n;if(!r.ad)return;r.ad.refresh&&(r.ad.refresh.stop(),delete r.ad.refresh);const{max:s,interval:a}={...t.config.modules.refresh,...r.config.refresh,...r.tile.config.refresh};if(!s||!a||r.refresh.count>=s)return;++r.refresh.count===s&&i.Rm.trace("Slot",r.id,"reaches max refreshes");const d=Math.max(0,1e3*a-(Date.now()-r.refresh.adInitTs)),[c,l]=(0,o.Sf)(d);r.ad.refresh={ready:c,stop(){l(!0)}},c.then((e=>{e||i.Rm.trace("Refresh interval of slot",r.id,"passed")}))}async function fe(e){const{slot:t}=e.data;t.ad?.refresh&&!await t.ad.refresh.ready&&t.ad?.refresh&&(delete t.ad.refresh,t.refresh.disabled?t.refresh.stopped=!0:e.next((()=>(0,i.s3)(e.state,[t.id]))))}function be(e){let{state:t}=e;const n=new t.wnd.IntersectionObserver((e=>((e,t)=>{for(const n of t){const t=e.refreshView.elemData.get(n.target);if(!t)continue;const{boundingClientRect:i,intersectionRatio:r}=n,o=r>=(i.width*i.height>=242e3?.3:.5);t.inView!==o&&(o?ve(t):Ie(t))}})(t,e)),{threshold:[.3,.5]});t.refreshView={observer:n,elemData:new Map};const{document:r}=t.wnd;r.addEventListener("visibilitychange",(()=>{((e,t)=>{if(t){for(const t of e.core.slots.values())t.ad?.refreshView?.observe();i.Rm.trace("Viewability refresh resumed")}else{const{elemData:t,observer:n}=e.refreshView;for(const e of t.values())Ie(e);n.disconnect(),t.clear(),i.Rm.trace("Viewability refresh paused")}})(t,"visible"===r.visibilityState)}))}function he(e){let{state:t,data:n}=e;if(n.empty)return;const{ad:i}=n.slot;if(!i?.refresh)return;const{elem:r}=i;if(!r)return;i.refreshView?.done();const[s,a]=(0,o.v6)(),{refreshView:d}=t;i.refreshView={slotId:n.slot.id,ready:s,observe(){d.elemData.has(r)||(d.observer.observe(r),d.elemData.set(r,this))},done(){this.stopContTimer(),this.stopAccTimer(),d.observer.unobserve(r),d.elemData.delete(r),this.observe=()=>{},a()},accTime:0,stopContTimer(){},stopAccTimer(){}},"visible"===t.wnd.document.visibilityState&&i.refreshView.observe()}const ye=5e3;function ve(e){e.inView=!0,e.contViewed||(e.stopContTimer=(0,o.uN)((()=>{e.contViewed=!0,i.Rm.trace("Continous viewable time of slot",e.slotId,"reached"),e.accViewed&&e.done()}),1e3)),e.accViewed||(e.vStart=Date.now(),e.stopAccTimer=(0,o.uN)((()=>{we(e)}),ye-e.accTime))}function Ie(e){e.inView=!1,e.contViewed||e.stopContTimer(),e.accViewed||(e.stopAccTimer(),null!=e.vStart&&(e.accTime+=Date.now()-e.vStart,delete e.vStart,e.accTime>=ye&&we(e)))}function we(e){e.accViewed=!0,i.Rm.trace("Accumulative viewable time of slot",e.slotId,"reached"),e.contViewed&&e.done()}const Ce="htlbid";function xe(e){if(!e.localStorage){const{wnd:t}=e;let[n,i]=Se(t);e.localStorage={get:e=>n[e],set(e,t){null==t?delete n[e]:n[e]=t,i&&Te(i,n)}},t.addEventListener("storage",(0,o.vA)((()=>{[n,i]=Se(t)}),1e3))}return e.localStorage}function Se(e){let t,n;try{n=e.localStorage.getItem(Ce),t=e.localStorage}catch{return[{}]}if(n)try{if(n=JSON.parse(n),"object"!=typeof n||Array.isArray(n))throw new Error}catch{n=null}return n||(n={},Te(t,n)),[n,t]}function Te(e,t){try{e.setItem(Ce,JSON.stringify(t))}catch{}}const Ae="blockStickyUntil";function Ee(e){let{state:t}=e;const{document:n}=t.wnd,i=n.createElement("style");i.innerHTML=".ams-sticky{position:fixed;bottom:0;left:0;right:0;display:block;z-index:100000;text-align:center}.ams-sticky>div{display:inline-block;position:relative}.ams-sticky .ams-sticky-container{border:none;margin:0;padding:0}.ams-sticky .ams-sticky-close{position:absolute;top:-11px;right:-11px;display:block;width:22px;height:22px;overflow:hidden;border:none;font-size:0;line-height:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAMAAADzapwJAAACfFBMVEXNzs/Oz9DLzM28vb6PkZOVl5i3uLrKy8y/wMGlpqjMzc7R0tPHycrIycrP0NHh4uPb3N3e3t7d3t/c3N3s7e3Fxseys7XFxsjs7ezY2drp6erS09Tn5+jU1da1t7jZ2tuhpKVfYmSipKVSVViho6S2t7i2t7mEhoh/gYMcICRPUlVPUlUcICR/goOEhoiMjpBsbnIpLDEpLTBsb3KMjpCEhokeIicfIyaEhoh2eHt1eHtzdnhydXjJyswgJSkgJClnam5oa22qrK4kKCwkKCyrra+Bg4aBg4YnLC8oLC9rbXBqbXBqbXAmKi8nKy+GiIqGiIolKS0lKS2ys7Voam5oam3Hx8kbHyMbICPHx8mRk5WRk5Vxc3YUGB0UGR1wc3ZbXmAmKi4nKi5bXWCZm51rbXAoLDAoLDCZnJ1+gYN7fX8bICVOUVZOUlUdISR7fX9/gYQbHyMmKi4OEhYKDhQVGR4dISYhJSkeIiYVGh4KDxMJDhIUGB0gJCkiJikVGR0JDRMMEBUXGyAkKCwKDhMQFBgjJysYHCAMERURFRoMEBSQkpRoam4jJisKDRNoa24ECQ4iJioLDxSanJ7////+/v5VWFwIDREIDBFWWFwLEBQECA4hJioJDRKOkZP7+/smKi8mKy8dISUOExhucnTu7u9vcnUOEhgcICUjJyxVV1v6+vpVWFsDBwwqLTLt7e4qLTEDCAwqLjPt7e0rLzMKDhIhJCkPExhsb3Lu7+8UGBwiJSknKy8TFxwFCQ6bnJ9XWl2bnZ8SFhoNERWLjY9kZmoLDxNkZ2oeISYkJywQFBkRFRkXHCAIDRISFxsTFxsWGh4hJSgJDhMOEhd/K57pAAAAcXRSTlMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQG52dWw/Aw2A29p/DErc2kpkYjY0CN7chYMC6OcCQD9vbXZ1dm5vPT7l5gGDhQji5AlBQmX8/Wc52ds7DIDb3AwEQWx2dm1CBZFwjgAAAAHJSURBVBjTY2BgZGJmYWVT19DU0tbR1WNjZWFmYmRgYGBk5+DUNzAsLCouLio0Mjbh5GAHCnMxcvOYmpWUlpUDQUVllbkFLzcjFwMXH79ldU1tXTkU1DdY8fNxMQgIWjc2NZe3tLaVl7e1VpU3t3fYCAkziNjadTZXdHX3NLT19vV3d1U0d9rbijCIOkyYWD5p8pSp06bPmDl1yuRZ5RNnO4oyODnXzJk7b8qUKfMXLJwPpObNratxcWVwW1RWvnjJVKDA0qVAYuqy5eVlK9wZPIC2r6xetXoKGKxeMxdoda0ng9daoHjb9HXrQaLrN0wHipZv9GbwhghvAgtv3jIDLOzD4AvU09aCMGQrSNyPwX/Rom3bd4Ct3Amycsf28kUrAhjEAnfthjhwzx6wA7eW7w0KZhAN2TexvHH/lKkHZsw4MHXKwa7yiftCxRkkwsIPNVccPnL0WFvbseNHDp84eSgiUoRBUipqOjCouk6Bgur0rPLmM2ejpSQZpIVkYmLPlcMD9nxcvIyQNIOsJJdcQmLDhYqLoGgovZSULMclKcsgK8+uoJiSmlZYdBkYaempGYpK7PJgYSVlFdXMrOyc3Lz8AjUVZZAwAFt80ArYIo0GAAAAAElFTkSuQmCC) center no-repeat transparent}",n.head.appendChild(i),t.sticky={}}function Re(e){let{state:t}=e;const n=xe(t).get(Ae);Number.isFinite(n)&&(t.sticky.block=Date.now()<1e3*n)}function Oe(e){const{slot:t}=e.data;t.safeData.sticky={get container(){return t.sticky?.container},get closeButton(){return t.sticky?.closeButton}},t.config.sticky&&e.state.sticky.block&&(e.stop(),t.config.tiles=[],i.Rm.info("Sticky slot",t.id,"is blocked"))}function ke(e){let{data:t}=e;const{slot:n}=t,{sticky:i}=n;i&&(delete n.sticky,i.container&&(delete n.elem.dataset.refId,n.elem.remove(),n.elem=i.container),i.closeButton&&i.closeButton.parentElement.remove(),n.elem.classList.remove("ams-sticky"),i.inserted&&n.elem.remove())}function Ue(e){let{state:t,data:n}=e;const{document:r}=t.wnd,o=r.body||r.documentElement;for(const e of n.slots){const{sticky:n}=e.config;if(!n||e.sticky)continue;e.sticky={};let{elem:s}=e;if(s||(s=o.appendChild(r.createElement("div")),e.elem=s,e.sticky.inserted=!0),s.classList.add("ams-sticky"),n.closeable){const o=je(r,s);e.elem=je(r,o),s.id&&(e.elem.dataset.refId=s.id);const a=r.createElement("a");a.classList.add("ams-sticky-close"),a.href="#",a.style.display="none",a.onclick=r=>{r.preventDefault(),(0,i.Tz)(t,e.id),t.sticky.block=!0,n.closeHours&&xe(t).set(Ae,Math.floor(Date.now()/1e3)+3600*n.closeHours)},e.sticky.closeButton=o.appendChild(a),e.sticky.container=s}}}function De(e){let{data:t}=e;for(const e of t.slots){const t=e.sticky?.closeButton;t&&(t.style.display="none")}}function _e(e){let{data:t}=e;const{slot:n}=t;if(!n.sticky)return;const{closeButton:i}=n.sticky;i&&n.elem.offsetWidth&&n.elem.offsetHeight&&(i.style.display="")}function je(e,t){const n=e.createElement("div");return n.classList.add("ams-sticky-container"),t.appendChild(n)}function Be(e){(0,i.s3)(e,e.core.slots.keys(),{noBatch:!0})}function Pe(e,t){const n=(0,p.C)(e,t);n&&(0,i.s3)(e,[n.id])}function qe(e,t){return(0,p.C)(e,t)?.safeData}function $e(e,t,n){function i(e){e.refresh?.switchEnabled(t)}if(null==n)return void e.core.slots.forEach(i);const r=(0,p.C)(e,n);r&&i(r)}function ze(e){for(const{id:t,apiDivs:n}of e.core.slots.values())n&&!n.elem.isConnected&&(0,i.Tz)(e,t);const t=`${e.config.htlPrefix}ad-`,n=e.wnd.document.querySelectorAll(`div[class*="${t}"]:not([data-ad-processed])`),r=[];for(const s of n){if(!(0,o.dW)(s))continue;const{dataset:n}=s;let a;n.adProcessed="";for(const n of s.classList)if(n.startsWith(t)){const i=n.slice(t.length);if(e.config.slots[i]){a=i;break}}a?r.push((0,i.YW)(e,{name:a,elem:s,apiDivs:{elem:s}})):i.Rm.warn("Unknown slot name for element",s)}(0,i.s3)(e,r,{noBatch:!0})}function Ne(e){let{data:t}=e;for(const e of t.slots){if(!e.apiDivs)continue;const{targeting:t}=e.apiDivs.elem.dataset;if(t)try{Object.assign(e.ad.targeting,JSON.parse(t))}catch{Me("targeting",e)}}}function Me(e,t){i.Rm.warn(`Ignored invalid data-${e} for slot`,t.id)}function Le(e){let{data:t}=e;const{slot:n}=t;n.apiDivs&&(delete n.apiDivs.elem.dataset.adProcessed,delete n.apiDivs)}async function Fe(e,t){t=!1!==t;const{apiLayout:n}=e;if(t!==n.started)if(n.started=t,t){const{wnd:t}=e;if(!t.document.body){const[e,r]=(e=>{i.Rm.trace("API layout waiting for body");const[t,n]=(0,o.v6)(),r=new e.MutationObserver((()=>{e.document.body&&(i.Rm.trace("API layout finds body"),r.disconnect(),n(!0))}));return r.observe(e.document.documentElement,{childList:!0}),[t,()=>{r.disconnect(),n(!1)}]})(t);if(n.stop=r,!await e)return}if(n.ready){i.Rm.trace("API layout waiting");const[e,t]=(0,o.v6)();n.stop=()=>t(!1);try{n.ready.then((()=>t(!0)))}catch(e){i.Rm.warn("API layout waiting error:",e),t(!0)}if(!await e)return;i.Rm.trace("API layout continuing")}const r=(0,o.nF)((()=>ze(e)),100),s=new t.MutationObserver(r);ze(e),s.observe(t.document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["class","data-ad-processed"]}),n.stop=()=>{s.disconnect(),r.cancel()}}else n.stop();else t&&ze(e)}function We(e,t){let{data:n}=t;const{slot:i}=n,r=i.apiDivs?.elem.dataset;if(!r)return;const o=i.config[e]={...i.config[e]};if(null!=r.eager&&(o.enabled=!1),r.lazyPixels){const e=Number(r.lazyPixels);e>0&&Number.isFinite(e)?o.pixels=e:Me("lazy-pixels",i)}}function Ve(e){let{data:t}=e;const{slot:n}=t,i=n.apiDivs?.elem.dataset;if(!i)return;const r=n.config.refresh={...n.config.refresh};switch(i.refresh){case"viewable":r.max||=1/0;break;case"disabled":r.max=0;break;default:i.refresh&&Me("refresh",n)}if(i.refreshSecs){const e=Number(i.refreshSecs);e>0&&Number.isFinite(e)?r.interval=e:Me("refresh-secs",n)}if(i.refreshMax){const e=Number(i.refreshMax);e>=0?r.max=e:Me("refresh-max",n)}}function Ge(e){(function(e){e.on("slot.define",a,r._5).on("slot.destroy",d,r._5).on("ad.init",(e=>{let{state:t,data:n}=e;for(const e of n.slots)l(t,e)}),r.Ry).on("ad.init",c,r._5).on("ad.init",(t=>{if(!t.stopped){const{data:n}=t;t.next((()=>{e.emit("ad.fetch",n)}))}}),r.Uh).on("ad.fetch",s.P,r.ny).on("ad.rendered",(e=>{let{data:t}=e;t.slot.filled||=!t.empty}),r._5);const{state:t}=e;t.wnd.addEventListener("resize",(0,o.vA)((()=>(e=>{const[t,n]=(0,o.Hr)(e.wnd),i=[];for(const r of e.core.slots.values()){if(!r.tile)continue;const{viewport:e}=r.tile;if(e){const[o,s]=e;if(o>t||o===t&&s>n){i.push(r);continue}}const[o]=u(r,t,n);o!==e&&i.push(r)}i.length&&e.events.emit("viewport.break",{slots:i})})(t)),500))})(e),function(e){e.on("init",y,r.Cm).on("init",(e=>{(async e=>{let{state:t}=e;const n=await t.gpt.ready,r=n.pubads();r.disableInitialLoad(),r.enableSingleRequest(),r.setCentering(!0),r.addEventListener("slotRenderEnded",(e=>{((e,t,n)=>{if(!t)return;if(i.Rm.trace("GPT slot",t.id,"render ended with",n),"requested"!==t.ad?.gpt.state)return;t.elem||=e.wnd.document.getElementById(n.slot.getSlotElementId());const r={empty:n.isEmpty,size:n.size,ts:Date.now()};if(r.empty||t.ad.gpt.onload)return void I(e,t,r);t.ad.gpt.notifyRendered?.(!0);const s=(0,o.uN)((()=>I(e,t,r)),3e3);t.ad.gpt.notifyRendered=n=>{s()&&!n&&I(e,t,r)}})(t,T(t,e.slot),e)})),r.addEventListener("slotOnload",(e=>{var n;(n=T(t,e.slot))&&(i.Rm.trace("GPT slot",n.id,"loaded"),"requested"===n.ad?.gpt.state&&(n.ad.gpt.onload=!0,n.ad.gpt.notifyRendered?.()))})),n.enableServices()})(e),(0,p.a)(e.state,e.data.htlbid,{clearTargeting:b,setTargeting:f,pubads:h})})).on("pageview",v).on("slot.define",w).on("slot.destroy",C).on("ad.init",x,r.lD).on("ad.init",(e=>{(async e=>{let{state:t,data:n}=e;for(const e of n.slots)e.ad&&"default"===e.gpt?.mode&&(Object.assign(e.ad.targeting,e.config.gpt.targeting),e.gpt.slot&&(e.ad.gpt={}));const r=await t.gpt.ready;for(const e of n.slots){if(!e.ad||e.gptDefault?.slotDefined)continue;const{gpt:n}=e;if("default"!==n?.mode||n.slot)continue;e.gptDefault.slotDefined=!0;const{outOfPage:o,adUnitPath:s}=n;try{if(!0===o)n.slot=r.defineOutOfPageSlot(s,S(e),{htl:{slotName:""}});else if(o){if(n.slot=r.defineOutOfPageSlot(s,r.enums.OutOfPageFormat[o],{htl:{slotName:""}}),!n.slot){i.Rm.warn("GPT slot",e.id,"cannot be defined as",o),delete e.gpt;continue}}else n.slot=r.defineSlot(s,e.sizes,S(e),{htl:{slotName:""}})}catch(t){i.Rm.error(t.message),delete e.gpt;continue}n.slot.addService(r.pubads()),t.events.emit("gpt.slot.define",{slot:e},{sync:!0}),e.ad.gpt={}}})(e)})).on("ad.fetch",(e=>{let{state:t,data:n}=e;return(async(e,t,n,i)=>{if(!(i=i.filter((e=>"default"===e.gpt?.mode))).length)return;await e.gpt.allReady;const r=[];for(const e of i){if(!e.ad)continue;const t=e.gpt.slot;if(t){for(const[n,i]of Object.entries(e.ad.targeting))t.setTargeting(n,(0,o.vD)(i));r.push(t),e.ad.gpt.state="requested"}}if(!r.length)return;const s={gptSlots:r};s.safeData={get gptSlots(){return[...s.gptSlots]}},e.events.emit("gpt.refresh",s,{sync:!0}),n(r)})(t,0,(function(){t.gpt.googletag.pubads().refresh(...arguments)}),n.slots)}))}(e),(e=>{e.on("init",A).on("ad.init",E,r.eo)})(e),function(e){e.on("init",U,r.Cm).on("init",(e=>{(async e=>{let{state:t,data:n}=e;if(!t.amazon)return;t.events.on("slot.destroyed",D).on("ad.init",_,r.PF).on("ad.init",j,r.n8).on("ad.fetch",B,r.sW).on("user.data",q);const{htlbid:s}=n,{modules:a}=t.config,{amazon:d}=a;if(!d.pubId)return s.aps=t.wnd.apstag,void t.amazon.initDone();((e,t)=>{function n(n,i){t[e]._Q.push([n,i])}t[e]||(t[e]={init:function(){n("i",arguments)},fetchBids:function(){n("f",arguments)},setDisplayBids:()=>{},targetingKeys:()=>[],dpa:function(){n("di",arguments)},rpa:function(){n("ri",arguments)},upa:function(){n("ui",arguments)},_Q:[]})})("apstag",t.wnd),s.aps=t.wnd.apstag;const c={pubID:d.pubId,bidTimeout:a.hb.timeout,gdpr:{cmpTimeout:8e3}};null!=d.schain&&(c.schain=(0,o.T)(a.schain,d.schain)),d.deals&&(c.deals=!0),Object.assign(c,await(s.amazon?.initConfig)),(async(e,t,n)=>{if(!t.params?.us_privacy){let r;await n;const s=R(e,"uspapi");if(s){try{r=(await(0,o.Z3)((e=>(t,n,i)=>new Promise(((r,o)=>{e(t,n,((e,t)=>(t?r:o)(e)),i)})))(s)("getUSPData",1),3e3)).uspString}catch(e){i.Rm.error("Failed to get U.S. privacy data",e),r="1-Y-"}t.params||={},t.params.us_privacy=r}}e.wnd.apstag.init(t),i.Rm.info("APS initialized"),e.amazon.initDone()})(t,c,s.iab?.ready)})(e)}))}(e),(e=>{e.on("init",(e=>{let{state:t}=e;(0,o.k0)(t.wnd,`https://btloader.com/tag?o=${t.config.modules.blockthrough.orgId}&upapi=true`)}))})(e),(e=>{e.on("init",$).on("ad.init",z,r.yO).on("ad.init",N,r.rN)})(e),(e=>{e.on("init",M,r.sW)})(e),(e=>{e.on("init",F).on("ad.init",W,r.Ry)})(e),(e=>{K(e,"lazyFetch","ad.fetch")})(e),(e=>{K(e,"lazyLoad","ad.init")})(e),function(e){e.on("init",Q,r.Cm).on("init",(e=>{(async e=>{let{state:t,data:n}=e;const{htlbid:r}=n;t.prebid.waitFor(r.iab?.ready),r.pbjs||={cmd:[]};const o=await t.prebid.ready,{modules:s}=t.config,{prebid:a}=s;o.setConfig({bidderTimeout:s.hb.timeout}),a.config&&o.setConfig(a.config),o.bidderSettings=Object.fromEntries(Object.entries(a.bidderSettings||{}).map((e=>{let[t,{bidCpmMultiplier:n,...i}]=e;return n&&(i.bidCpmAdjustment=e=>e*n),[t,i]})));for(const[e,...t]of a.aliases||[])for(const n of t)o.aliasBidder(e,n);if(a.analytics){const e=a.analytics.filter((e=>{e.options||={};const{percent:t}=e;return delete e.percent,!t||100*Math.random(){ae(t,e)})),o.onEvent("adRenderSucceeded",(e=>{let{bid:n}=e;ae(t,n)}));const{cmd:d}=r.pbjs;r.pbjs=o;for(const e of d||[])o.cmd.push(e);((e,t)=>{t.generateGpid?e.gpid=e=>{const n=t.generateGpid(e.safeData)||"";return n||i.Rm.error("generateGpid returns empty value for GPID"),n}:e.gpid=t=>{const n=t.config.prebid?.gpid;if(n)return n;const i=`${t.gpt?.adUnitPath||t.name||"slot"}#`;return e.gpidSeqs[i]||=0,`${i}${++e.gpidSeqs[i]}`}})(t.prebid,r)})(e)})).on("init",(e=>{(async e=>{let{state:t}=e;const{prebid:n}=t.config.modules,{userSync:i}=n;i&&(delete n.userSync,(n.config||={}).userSync=i,(await t.prebid.ready).setConfig({userSync:i}))})(e)}),r.bk).on("pageview",(e=>{let{state:t}=e;t.prebid.gpidSeqs={},t.prebid.slotSeq=0})).on("slot.destroy",Z).on("ad.init",ee,r.LL).on("ad.init",te,r.PF).on("ad.init",ne,r.n8).on("ad.fetch",ie,r.sW).on("ad.rendered",re,r.Ry)}(e),(e=>{e.on("prebid.adunits",(e=>{let{data:t}=e;for(const e of t.slots){const t=e.gpt?.adUnitPath;t&&(e.ad.prebid.adUnit.ortb2Imp.ext.data.adserver={name:"gam",adslot:t})}}))})(e),(e=>{e.on("init",de)})(e),(e=>{e.on("prebid.adunits",ue)})(e),function(e){e.on("init",(e=>{(async e=>{let{state:t}=e;const{prebid:n,schain:i}=t.config.modules,r=n.schain||{},s=await t.prebid.ready;s.setConfig({schain:{config:(0,o.T)(i,r.global)}});for(const[e,...t]of r.bidders||[])s.setBidderConfig({bidders:t,config:{schain:{config:(0,o.T)(i,e)}}})})(e)}))}(e),(e=>{e.on("slot.define",pe).on("ad.init",ge,r.Ry).on("ad.destroy",(e=>{let{data:t}=e;t.ad.refresh?.stop()})).on("ad.rendered",me).on("ad.rendered",fe,r.bk)})(e),(e=>{e.on("init",be).on("ad.destroy",(e=>{let{data:t}=e;t.ad.refreshView?.done()})).on("ad.rendered",he,r.HZ).on("ad.rendered",(e=>{let{data:t}=e;return t.slot.ad?.refreshView?.ready}),r.iD)})(e),(e=>{e.on("init",Ee).on("pageview",Re).on("slot.define",Oe,r.lD).on("slot.destroy",ke,r.bk).on("ad.init",Ue,r.lD).on("ad.fetch",De,r.bk).on("ad.rendered",_e)})(e),(e=>{e.on("pageview",(e=>{let{state:t}=e;t.wnd.fetch(`//ams-pageview-public.s3.amazonaws.com/1x1-pixel.png?id=${t.config.pixelId}`,{mode:"no-cors",credentials:"omit",cache:"no-store"})}))})(e),(e=>{e.on("init",(e=>{let{state:t,data:n}=e;(0,p.a)(t,n.htlbid,{refresh:Be,refreshSlot:Pe,getSlot:qe,disableRefresh(e,t){$e(e,!1,t)},enableRefresh(e,t){$e(e,!0,t)}})}))})(e),(e=>{e.on("init",(e=>{let{state:t,data:n}=e;const{htlbid:i}=n;t.apiLayout={started:!1,ready:i.layoutReady},(0,p.a)(t,i,{layout:Fe})})),function(e){e.state.apiDivs||(e.state.apiDivs={},e.on("slot.destroy",Le).on("ad.init",Ne,r.HZ))}(e)})(e),(e=>{e.on("slot.define",(e=>{let{data:t}=e;const{slot:n}=t;let i=n.apiDivs?.elem.dataset.unit?.trim().replace(/\/$/,"");if(i){if(i.startsWith("/")){const e=i.slice(1),[t]=e.split("/",1);/^\d+$/.test(t)||(i=e)}n.config.gpt={...n.config.gpt,adUnit:i}}}))})(e),(e=>{e.on("slot.define",(e=>{let{data:t}=e;const{slot:n}=t,i=n.apiDivs?.elem.dataset.gpid;i&&(n.config.prebid={...n.config.prebid,gpid:i})}))})(e),(e=>{e.on("slot.define",(e=>We("lazyFetch",e)))})(e),(e=>{e.on("slot.define",(e=>We("lazyLoad",e)))})(e),(e=>{e.on("slot.define",Ve)})(e)}},991:(e,t,n)=>{n.d(t,{default:()=>jg});const i=window,r=i.pbjs=i.pbjs||{};function o(){return r}function s(e){r.installedModules.push(e)}function a(e,t,n){return e&&e.includes(t,n)||!1}function d(e,t,n){return e&&e.find(t,n)}r.cmd=r.cmd||[],r.que=r.que||[],i===window&&(i._pbjsGlobals=i._pbjsGlobals||[],i._pbjsGlobals.push("pbjs"));const c={buckets:[{max:5,increment:.5}]},l={buckets:[{max:20,increment:.1}]},u={buckets:[{max:20,increment:.01}]},p={buckets:[{max:3,increment:.01},{max:8,increment:.05},{max:20,increment:.5}]},g={buckets:[{max:5,increment:.05},{max:10,increment:.1},{max:20,increment:.5}]};function m(e,t,n){let i="";if(!f(t))return i;const r=t.buckets.reduce(((e,t)=>e.max>t.max?e:t),{max:0});let o=0,s=d(t.buckets,(t=>{if(e>r.max*n){let e=t.precision;void 0===e&&(e=2),i=(t.max*n).toFixed(e)}else{if(e<=t.max*n&&e>=o*n)return t.min=o,t;o=t.max}}));return s&&(i=b(e,s,n)),i}function f(e){if(ye(e)||!e.buckets||!Array.isArray(e.buckets))return!1;let t=!0;return e.buckets.forEach((e=>{e.max&&e.increment||(t=!1)})),t}function b(e,t,n){const i=void 0!==t.precision?t.precision:2,r=t.increment*n,o=t.min*n;let s=Math.floor,a=S.getConfig("cpmRoundingFunction");"function"==typeof a&&(s=a);let d,c,l=Math.pow(10,i+2),u=(e*l-o*l)/(r*l);try{d=s(u)*r+o}catch(e){c=!0}return(c||"number"!=typeof d)&&(oe("Invalid rounding function passed in config"),d=Math.floor(u)*r+o),d=Number(d.toFixed(10)),d.toFixed(i)}function h(e,t,n,i,r){for(t=t.split?t.split("."):t,i=0;i(c(e[n])?"string"==typeof e?t[n]=a(e[n])?e[n]:i("priceGranularity"):be(e)&&(t[n]=e[n],ie(`Using custom price granularity for ${n}`)):oe(`Invalid price granularity for media type: ${n}`),t)),{}))}},bidderSequence:{val:C,set(e){w[e]?r("bidderSequence",e):oe(`Invalid order: ${e}. Bidder Sequence was not set.`)}},auctionOptions:{val:{},set(e){(e=>{if(!be(e))return oe("Auction Options must be an object"),!1;for(let t of Object.keys(e)){if("secondaryBidders"!==t&&"suppressStaleRender"!==t)return oe(`Auction Options given an incorrect param: ${t}`),!1;if("secondaryBidders"===t){if(!me(e[t]))return oe(`Auction Options ${t} must be of type Array`),!1;if(!e[t].every(ge))return oe(`Auction Options ${t} must be only string`),!1}else if("suppressStaleRender"===t&&!he(e[t]))return oe(`Auction Options ${t} must be of type boolean`),!1}return!0})(e)&&r("auctionOptions",e)}}};let s={debug:v,bidderTimeout:3e3,enableSendAllBids:!0,useBidCache:!1,deviceAccess:!0,timeoutBuffer:400,disableAjaxTimeout:!1,maxNestedIframes:10};function a(e){return d(Object.keys(x),(t=>e===x[t]))}function c(e){if(!e)return se("Prebid Error: no value passed to `setPriceGranularity()`"),!1;if("string"==typeof e)a(e)||oe("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if(be(e)&&!f(e))return se("Invalid custom price value passed to `setPriceGranularity()`"),!1;return!0}Object.defineProperties(s,Object.fromEntries(Object.entries(o).map((e=>{let[t,n]=e;return[t,Object.assign({get:i.bind(null,t),set:r.bind(null,t),enumerable:!0},n)]})))),t&&m(Object.keys(t).reduce(((e,n)=>(t[n]!==s[n]&&(e[n]=s[n]||{}),e)),{})),t=s,n={}}function s(){if(r&&n&&be(n[r])){let e=n[r];return function(){return Array.from.apply(Array,arguments)}(new Set(Object.keys(t).concat(Object.keys(e)))).reduce(((n,i)=>(void 0===e[i]?n[i]=t[i]:void 0===t[i]?n[i]=e[i]:be(e[i])?n[i]=tt({},t[i],e[i]):n[i]=e[i],n)),{})}return Object.assign({},t)}const[c,l]=[s,()=>{const e=s();return Object.defineProperty(e,"ortb2",{get:()=>{throw new Error("invalid access to 'orbt2' config - use request parameters instead")}}),e}].map((e=>function(){if(arguments.length<=1&&"function"!=typeof(arguments.length<=0?void 0:arguments[0])){const t=arguments.length<=0?void 0:arguments[0];return t?h(e(),t):s()}return function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t;if("string"!=typeof e&&(r=e,e="*",n=t||{}),"function"!=typeof r)return void se("listener must be a function");const o={topic:e,callback:r};return i.push(o),n.init&&r("*"===e?l():{[e]:l(e)}),()=>{i.splice(i.indexOf(o),1)}}(...arguments)})),[u,p]=[l,c].map((e=>function(){let t=e(...arguments);return t&&"object"==typeof t&&(t=Pe(t)),t}));function g(n){if(!be(n))return void se("setConfig options must be an object");let i=Object.keys(n),r={};i.forEach((i=>{let o=n[i];be(e[i])&&be(o)&&(o=Object.assign({},e[i],o));try{r[i]=t[i]=o}catch(e){oe(`Cannot set config for property ${i} : `,e)}})),m(r)}function m(e){const t=Object.keys(e);i.filter((e=>a(t,e.topic))).forEach((t=>{t.callback({[t.topic]:e[t.topic]})})),i.filter((e=>"*"===e.topic)).forEach((t=>t.callback(e)))}function b(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{(e=>{if(!be(e))throw"setBidderConfig bidder options must be an object";if(!Array.isArray(e.bidders)||!e.bidders.length)throw"setBidderConfig bidder options must contain a bidders list with at least 1 bidder";if(!be(e.config))throw"setBidderConfig bidder options must contain a config object"})(e),e.bidders.forEach((i=>{n[i]||(n[i]={}),Object.keys(e.config).forEach((r=>{let o=e.config[r];if(be(o)){const e=t?tt:Object.assign;n[i][r]=e({},n[i][r]||{},o)}else n[i][r]=o}))}))}catch(e){se(e)}}function y(e,t){r=e;try{return t()}finally{I()}}function I(){r=null}return o(),{getCurrentBidder:()=>r,resetBidder:I,getConfig:l,getAnyConfig:c,readConfig:u,readAnyConfig:p,setConfig:g,mergeConfig:e=>{if(!be(e))return void se("mergeConfig input must be an object");const t=tt(s(),e);return g({...t}),t},setDefaults:n=>{be(e)?(Object.assign(e,n),Object.assign(t,n)):se("defaults must be an object")},resetConfig:o,runWithBidder:y,callbackWithBidder:function(e){return function(t){return function(){if("function"==typeof t){for(var n=arguments.length,i=new Array(n),r=0;rn,mergeBidderConfig:e=>b(e,!0)}}();var T=n(855),A=n.n(T);const E=0,R=1;class O{#e;#t;static timeout(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new O((t=>{0===e?t():setTimeout(t,e)}))}constructor(e){if("function"!=typeof e)throw new Error("resolver not a function");const t=[],n=[];let[i,r]=[E,R].map((e=>o=>{if(e===E&&"function"==typeof o?.then)o.then(i,r);else if(!t.length)for(t.push(e,o);n.length;)n.shift()()}));try{e(i,r)}catch(e){r(e)}this.#e=t,this.#t=n}then(e,t){const n=this.#e;return new this.constructor(((i,r)=>{const o=()=>{let o=n[1],[s,a]=n[0]===E?[e,i]:[t,r];if("function"==typeof s){try{o=s(o)}catch(e){return void r(e)}a=i}a(o)};n.length?o():this.#t.push(o)}))}catch(e){return this.then(null,e)}finally(e){let t;return this.then((n=>(t=n,e())),(n=>(t=this.constructor.reject(n),e()))).then((()=>t))}static#n(e,t,n){let i=e.length;function r(){t.apply(this,arguments),--i<=0&&n&&n()}0===e.length&&n?n():e.forEach(((e,t)=>this.resolve(e).then((e=>r(!0,e,t)),(e=>r(!1,e,t)))))}static race(e){return new this(((t,n)=>{this.#n(e,((e,i)=>e?t(i):n(i)))}))}static all(e){return new this(((t,n)=>{let i=[];this.#n(e,((e,t,r)=>e?i[r]=t:n(t)),(()=>t(i)))}))}static allSettled(e){return new this((t=>{let n=[];this.#n(e,((e,t,i)=>n[i]=e?{status:"fulfilled",value:t}:{status:"rejected",reason:t}),(()=>t(n)))}))}static resolve(e){return new this((t=>t(e)))}static reject(e){return new this(((t,n)=>n(e)))}}function k(){let e,t,{promiseFactory:n=e=>new O(e)}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};function i(e){return t=>e(t)}return{promise:n(((n,i)=>{e=n,t=i})),resolve:i(e),reject:i(t)}}var U="String",D="Object",_="Boolean",j=Object.prototype.toString;let B,P=Boolean(window.console),q=Boolean(P&&window.console.log),$=Boolean(P&&window.console.info),z=Boolean(P&&window.console.warn),N=Boolean(P&&window.console.error);const M=o();function L(){null!=B&&B(...arguments)}const F={checkCookieSupport:Me,createTrackPixelIframeHtml:function(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e?((!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(e=encodeURI(e)),t&&(t=`sandbox="${t}"`),``):""},getWindowSelf:te,getWindowTop:ee,getWindowLocation:ne,insertUserSyncIframe:Ee,insertElement:xe,isFn:pe,triggerPixel:Te,logError:se,logWarn:oe,logMessage:ie,logInfo:re,parseQS:Ke,formatQS:Xe,deepEqual:et};let W={};function V(){return W}var G,H=(G=0,()=>++G);function Y(){return H()+Math.random().toString(16).substr(2)}function J(e){return e?(e^(window&&window.crypto&&window.crypto.getRandomValues?crypto.getRandomValues(new Uint8Array(1))[0]%16:16*Math.random())>>e/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,J)}function K(e,t){return t?.[e]||""}function X(e){let t="";for(var n in e)e.hasOwnProperty(n)&&(t+=n+"="+encodeURIComponent(e[n])+"&");return t=t.replace(/&$/,""),t}function Q(e){return"string"==typeof e?e.split(",").filter((e=>e.match(/^(\d)+x(\d)+$/i))):"object"==typeof e?2===e.length&&"number"==typeof e[0]&&"number"==typeof e[1]?[Z(e)]:e.map(Z):[]}function Z(e){if(function(e){return me(e)&&2===e.length&&!isNaN(e[0])&&!isNaN(e[1])}(e))return e[0]+"x"+e[1]}function ee(){return window.top}function te(){return window.self}function ne(){return window.location}function ie(){ce()&&q&&console.log.apply(console,de(arguments,"MESSAGE:"))}function re(){ce()&&$&&console.info.apply(console,de(arguments,"INFO:"))}function oe(){ce()&&z&&console.warn.apply(console,de(arguments,"WARNING:")),L(y.qY.AUCTION_DEBUG,{type:"WARNING",arguments})}function se(){ce()&&N&&console.error.apply(console,de(arguments,"ERROR:")),L(y.qY.AUCTION_DEBUG,{type:"ERROR",arguments})}function ae(e){function t(t){return function(){for(var n=arguments.length,i=new Array(n),r=0;r0):Object.keys(e).length<=0)}function ve(e){return ge(e)&&(!e||0===e.length)}function Ie(e,t){if(pe(e?.forEach))return e.forEach(t,this);Object.entries(e||{}).forEach((e=>{let[n,i]=e;return t.call(this,i,n)}))}function we(e,t){return pe(e?.includes)&&e.includes(t)}function Ce(e,t){return pe(e?.map)?e.map(t):Object.entries(e||{}).map((n=>{let[i,r]=n;return t(r,i,e)}))}function xe(e,t,n,i){let r;t=t||document,r=n?t.getElementsByTagName(n):t.getElementsByTagName("head");try{if(r=r.length?r:t.getElementsByTagName("body"),r.length){r=r[0];let t=i?null:r.firstChild;return r.insertBefore(e,t)}}catch(e){}}function Se(e,t){let n=null;return new O((i=>{const r=()=>{e.removeEventListener("load",r),e.removeEventListener("error",r),null!=n&&window.clearTimeout(n),i()};e.addEventListener("load",r),e.addEventListener("error",r),null!=t&&(n=window.setTimeout(r,t))}))}function Te(e,t,n){const i=new Image;t&&F.isFn(t)&&Se(i,n).then(t),i.src=e}function Ae(e){if(!e)return;const t=((n=document.createElement("iframe")).id=Y(),n.height=0,n.width=0,n.border="0px",n.hspace="0",n.vspace="0",n.marginWidth="0",n.marginHeight="0",n.style.border="0",n.scrolling="no",n.frameBorder="0",n.src="about:blank",n.style.display="none",n.style.height="0px",n.style.width="0px",n.allowtransparency="true",n);var n,i;F.insertElement(t,document,"body"),(i=t.contentWindow.document).open(),i.write(e),i.close()}function Ee(e,t,n){let i=F.createTrackPixelIframeHtml(e,!1,"allow-scripts allow-same-origin"),r=document.createElement("div");r.innerHTML=i;let o=r.firstChild;t&&F.isFn(t)&&Se(o,n).then(t),F.insertElement(o,document,"html",!0)}function Re(e){if(!e)return"";let t='
';return t+='
',t}function Oe(e,t,n){return n.indexOf(e)===t}function ke(e,t){return e.concat(t)}function Ue(e,t){if(e)return t.flatMap((e=>e.bids)).find((t=>["bidId","adId","bid_id"].some((n=>t[n]===e))))}function De(e,t){return e[t]}function _e(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:M.adUnits).map((e=>e.bids.map((e=>e.bidder)).reduce(ke,[]))).reduce(ke,[]).filter((e=>void 0!==e)).filter(Oe)}function je(){if(window.googletag&&pe(window.googletag.pubads)&&pe(window.googletag.pubads().getSlots))return!0}function Be(e){let t=e.length;for(;t>0;){let n=Math.floor(Math.random()*t);t--;let i=e[t];e[t]=e[n],e[n]=i}return e}function Pe(e){return A()(e)}function qe(){try{return F.getWindowSelf()!==F.getWindowTop()}catch(e){return!0}}function $e(e,t){if(e)return Object.entries(t).reduce(((e,t)=>{let[n,i]=t;return e.replace(new RegExp("\\$\\{"+n+"\\}","g"),i||"")}),e)}function ze(){return(new Date).getTime()}function Ne(){return!1!==S.getConfig("deviceAccess")}function Me(){if(window.navigator.cookieEnabled||document.cookie.length)return!0}function Le(e,t){if(t<1)throw new Error(`numRequiredCalls must be a positive number. Got ${t}`);let n=0;return function(){n++,n===t&&e.apply(this,arguments)}}function Fe(e,t){return e.reduce(((e,n)=>((e[n[t]]=e[n[t]]||[]).push(n),e)),{})}function We(e,t){return t.filter((t=>e[t])).reduce(((t,n)=>Object.assign(t,{[n]:e[n]})),{})}function Ve(e,t,n){return e.filter((e=>e.code===t)).flatMap((e=>e.bids)).filter((e=>e.bidder===n)).map((e=>e.params||{}))}const Ge=(e,t)=>e.getAdUnitPath()===t||e.getSlotElementId()===t,He=Number.isInteger.bind(Number);function Ye(e,t){return"object"!=typeof e?{}:t.reduce(((n,i,r)=>{if("function"==typeof i)return n;let o=i,s=i.match(/^(.+?)\sas\s(.+?)$/i);s&&(i=s[1],o=s[2]);let a=e[i];return"function"==typeof t[r+1]&&(a=t[r+1](a,n)),void 0!==a&&(n[o]=a),n}),{})}function Je(e,t){return me(e)&&(!t||e.length===t)&&e.every((e=>He(e)))}function Ke(e){return e?e.replace(/^\?/,"").split("&").reduce(((e,t)=>{let[n,i]=t.split("=");return/\[\]$/.test(n)?(n=n.replace("[]",""),e[n]=e[n]||[],e[n].push(i)):e[n]=i||"",e}),{}):{}}function Xe(e){return Object.keys(e).map((t=>Array.isArray(e[t])?e[t].map((e=>`${t}[]=${e}`)).join("&"):`${t}=${e[t]}`)).join("&")}function Qe(e,t){let n=document.createElement("a");t&&"noDecodeWholeURL"in t&&t.noDecodeWholeURL?n.href=e:n.href=decodeURIComponent(e);let i=t&&"decodeSearchAsString"in t&&t.decodeSearchAsString;return{href:n.href,protocol:(n.protocol||"").replace(/:$/,""),hostname:n.hostname,port:+n.port,pathname:n.pathname.replace(/^(?!\/)/,"/"),search:i?n.search:F.parseQS(n.search||""),hash:(n.hash||"").replace(/^#/,""),host:n.host||window.location.host}}function Ze(e){return(e.protocol||"http")+"://"+(e.host||e.hostname+(e.port?`:${e.port}`:""))+(e.pathname||"")+(e.search?`?${F.formatQS(e.search||"")}`:"")+(e.hash?`#${e.hash}`:"")}function et(e,t){let{checkTypes:n=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e===t)return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t||n&&e.constructor!==t.constructor)return!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let i in e){if(!t.hasOwnProperty(i))return!1;if(!et(e[i],t[i],{checkTypes:n}))return!1}return!0}function tt(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i{let i=1;for(let r=0;r1&&void 0!==arguments[1]?arguments[1]:0,n=(e,t)=>{if(pe(Math.imul))return Math.imul(e,t);var n=(4194303&e)*(t|=0);return 4290772992&e&&(n+=(4290772992&e)*t|0),0|n},i=3735928559^t,r=1103547991^t;for(let t,o=0;o>>16,2246822507)^n(r^r>>>13,3266489909),r=n(r^r>>>16,2246822507)^n(i^i>>>13,3266489909),(4294967296*(2097151&r)+(i>>>0)).toString()}function it(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;const n=new Map,i=function(){const i=t.apply(this,arguments);return n.has(i)||n.set(i,e.apply(this,arguments)),n.get(i)};return i.clear=n.clear.bind(n),i}function rt(e,t,n){t.split&&(t=t.split("."));for(var i,r,o=0,s=t.length,a=e;onull,monotonic:n=!1,slack:i=5e3}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=new Map,o=[],s=n?e=>o.push(e):e=>o.splice(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e=>e,i=0,r=e.length&&e.length-1;const o=n(t);for(;r-i>1;){const t=i+Math.round((r-i)/2);o>n(e[t])?i=t:r=t}for(;e.length>i&&o>n(e[i]);)i++;return i}(o,e,(e=>e.expiry)),0,e);let a,d;function c(){if(d&&clearTimeout(d),o.length>0){const e=ze();a=Math.max(e,o[0].expiry+i),d=setTimeout((()=>{const e=ze();let t=0;for(const n of o){if(n.expiry>e)break;r.delete(n.item),t++}o.splice(0,t),d=null,c()}),a-e)}else d=null}let l={};return{[Symbol.iterator]:()=>r.keys(),add(n){!r.has(n)&&r.set(n,function(n){const r={},o=l;let u;const[p,g]=Object.entries({start:e,delta:t}).map((e=>{let t,[p,g]=e;return()=>{const e=t={};O.resolve(g(n)).then((n=>{e===t&&(r[p]=n,o===l&&null!=r.start&&null!=r.delta&&(u=r.start+r.delta,s(m),(null==d||a>u+i)&&c()))}))}})),m={item:n,refresh:g,get expiry(){return u}};return p(),g(),m}(n))},clear(){o.length=0,c(),r.clear(),l={}},toArray:()=>Array.from(r.keys()),refresh(){o.length=0,c();for(const e of r.values())e.refresh()}}}const st="eventHistoryTTL";let at=null;const dt=ot({monotonic:!0,ttl:()=>at});S.getConfig(st,(e=>{const t=at;e=e?.[st],at="number"==typeof e?1e3*e:null,t!==at&&dt.refresh()}));let ct=Array.prototype.slice,lt=Array.prototype.push,ut=Object.values(y.qY);const pt=y.cA,gt=(()=>{let e={},t={};function n(e){return ut.includes(e)}return t.has=n,t.on=(t,i,r)=>{if(n(t)){let n=e[t]||{que:[]};r?(n[r]=n[r]||{que:[]},n[r].que.push(i)):n.que.push(i),e[t]=n}else se("Wrong event name : "+t+" Valid event names :"+ut)},t.emit=function(t){((t,n)=>{ie("Emitting event for: "+t);let i=n[0]||{},r=i[pt[t]],o=e[t]||{que:[]};var s=Object.keys(o);let a=[];dt.add({eventType:t,args:i,id:r,elapsedTime:window.performance&&window.performance.now&&window.performance.now()||0}),r&&s.includes(r)&<.apply(a,o[r].que),lt.apply(a,o.que),(a||[]).forEach((e=>{if(e)try{e.apply(null,n)}catch(e){se("Error executing handler:","events.js",e,t)}}))})(t,ct.call(arguments,1))},t.off=(t,n,i)=>{let r=e[t];ye(r)||ye(r.que)&&ye(r[i])||i&&(ye(r[i])||ye(r[i].que))||(i?(r[i].que||[]).forEach((e=>{let t=r[i].que;e===n&&t.splice(t.indexOf(e),1)})):(r.que||[]).forEach((e=>{let t=r.que;e===n&&t.splice(t.indexOf(e),1)})),e[t]=r)},t.get=()=>e,t.addEvents=e=>{ut=ut.concat(e)},t.getEvents=()=>dt.toArray().map((e=>Object.assign({},e))),t})();var mt;mt=gt.emit.bind(gt),B=mt;const{on:ft,off:bt,get:ht,getEvents:yt,emit:vt,addEvents:It,has:wt}=gt,Ct={fetch:window.fetch.bind(window),makeRequest:(e,t)=>new Request(e,t),timeout(e,t){const n=new AbortController;let i=setTimeout((()=>{n.abort(),se(`Request timeout after ${e}ms`,t),i=null}),e);return{signal:n.signal,done(){i&&clearTimeout(i)}}}},xt="GET",St="Content-Type";function Tt(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3,{request:t,done:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=(t,n)=>{let i;null==e||null!=n?.signal||S.getConfig("disableAjaxTimeout")||(i=Ct.timeout(e,t),n=Object.assign({signal:i.signal},n));let r=Ct.fetch(t,n);return null!=i?.done&&(r=r.finally(i.done)),r};return null==t&&null==n||(i=(e=>(i,r)=>{const o=new URL(null==i?.url?i:i.url,document.location).origin;let s=e(i,r);return t&&t(o),n&&(s=s.finally((()=>n(o)))),s})(i)),i}function At(e,t){let{status:n,statusText:i="",headers:r,url:o}=e,s=0;function a(e){if(0===s)try{s=(new DOMParser).parseFromString(t,r?.get(St)?.split(";")?.[0])}catch(t){s=null,e&&e(t)}return s}return{readyState:XMLHttpRequest.DONE,status:n,statusText:i,responseText:t,response:t,responseType:"",responseURL:o,get responseXML(){return a(se)},getResponseHeader:e=>r?.has(e)?r.get(e):null,toJSON(){return Object.assign({responseXML:a()},this)},timedOut:!1}}function Et(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3,{request:t,done:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=Tt(e,{request:t,done:n});return function(e,t,n){((e,t)=>{const{success:n,error:i}="object"==typeof t&&null!=t?t:{success:"function"==typeof t?t:()=>null,error:(e,t)=>se("Network error",e,t)};e.then((e=>e.text().then((t=>[e,t])))).then((e=>{let[t,r]=e;const o=At(t,r);t.ok||304===t.status?n(r,o):i(t.statusText,o)}),(e=>i("",Object.assign(At({status:0},""),{reason:e,timedOut:"AbortError"===e?.name}))))})(i(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n.method||(t?"POST":xt);if(i===xt&&t){const i=Qe(e,n);Object.assign(i.search,t),e=Ze(i)}const r=new Headers(n.customHeaders);r.set(St,n.contentType||"text/plain");const o={method:i,headers:r};return i!==xt&&t&&(o.body=t),n.withCredentials&&(o.credentials="include"),n.browsingTopics&&isSecureContext&&(o.browsingTopics=!0),Ct.makeRequest(e,o)}(e,n,arguments.length>3&&void 0!==arguments[3]?arguments[3]:{})),t)}}const Rt=Et(),Ot=Tt();function kt(e){let{index:t=Dr.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=e.vastXml?e.vastXml:`\n \n \n prebid.org wrapper\n \n ${(i=(i=e.vastImpUrl)&&(Array.isArray(i)?i:[i]))?i.map((e=>``)).join(""):""}\n \n \n \n `;var i;const r=t.getAuction(e);let o={type:"xml",value:n,ttlseconds:Number(e.ttl)+15};return S.getConfig("cache.vasttrack")&&(o.bidder=e.bidder,o.bidid=e.requestId,o.aid=e.auctionId),null!=r&&(o.timestamp=r.getAuctionStart()),"string"==typeof e.customCacheKey&&""!==e.customCacheKey&&(o.key=e.customCacheKey),o}const Ut=new WeakMap,Dt=["debugging","adloox","criteo","outstream","adagio","spotx","browsi","brandmetrics","justtag","tncId","akamaidap","ftrackId","inskin","hadron","medianet","improvedigital","aaxBlockmeter","confiant","arcspan","airgrid","clean.io","a1Media","geoedge","mediafilter","qortex","dynamicAdBoost","contxtful","id5"];function _t(e,t,n,i,r){if(!t||!e)return void se("cannot load external script without url and moduleCode");if(!a(Dt,t))return void se(`${t} not whitelisted for loading external JavaScript`);i||(i=document);const o=c(i,e);if(o)return n&&"function"==typeof n&&(o.loaded?n():o.callbacks.push(n)),o.tag;const s=Ut.get(i)||{},d={loaded:!1,tag:null,callbacks:[]};return s[e]=d,Ut.set(i,s),n&&"function"==typeof n&&d.callbacks.push(n),oe(`module ${t} is loading external JavaScript`),((t,n,i,r)=>{i||(i=document);var o=i.createElement("script");o.type="text/javascript",o.async=!0;const s=c(i,e);return s&&(s.tag=o),o.readyState?o.onreadystatechange=()=>{"loaded"!==o.readyState&&"complete"!==o.readyState||(o.onreadystatechange=null,n())}:o.onload=()=>{n()},o.src=t,r&&((e,t)=>{Object.entries(t).forEach((t=>{let[n,i]=t;return e.setAttribute(n,i)}))})(o,r),xe(o,i),o})(e,(()=>{d.loaded=!0;try{for(let e=0;e{"function"==typeof e?this.loaded?e.call():this.cmd.push(e):se("Commands given to Renderer.push must be wrapped in a function")},this.callback=r||(()=>{this.loaded=!0,this.process()}),this.render=function(){const e=arguments,n=()=>{this._render?this._render.apply(this,e):oe("No render function was provided, please use .setRender on the renderer")};(e=>{const t=d(jt.adUnits,(t=>t.code===e));if(!t)return!1;const n=h(t,"renderer"),i=!!(n&&n.url&&n.render),r=h(t,"mediaTypes.video.renderer"),o=!!(r&&r.url&&r.render);return!!(i&&!0!==n.backupOnly||o&&!0!==r.backupOnly)})(s)?(oe(`External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ${s}`),n()):a?n():(this.cmd.unshift(n),_t(t,"outstream",this.callback,this.documentContext))}.bind(this)}Bt.install=e=>{let{url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a}=e;return new Bt({url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a})},Bt.prototype.getConfig=function(){return this.config},Bt.prototype.setRender=function(e){this._render=e},Bt.prototype.setEventHandlers=function(e){this.handlers=e},Bt.prototype.handleVideoEvent=function(e){let{id:t,eventName:n}=e;"function"==typeof this.handlers[n]&&this.handlers[n](),ie(`Prebid Renderer event for id ${t} type ${n}`)},Bt.prototype.process=function(){for(;this.cmd.length>0;)try{this.cmd.shift().call()}catch(e){se("Error processing Renderer command: ",e)}};const Pt=new class{constructor(e,t){this.getSettings=e,this.defaultScope=t}get(e,t){let n=this.getOwn(e,t);return void 0===n&&(n=this.getOwn(null,t)),n}getOwn(e,t){return e=this.#i(e),h(this.getSettings(),`${e}.${t}`)}getScopes(){return Object.keys(this.getSettings()).filter((e=>e!==this.defaultScope))}settingsFor(e){return tt({},this.ownSettingsFor(null),this.ownSettingsFor(e))}ownSettingsFor(e){return e=this.#i(e),this.getSettings()[e]||{}}#i(e){return e??this.defaultScope}}((()=>o().bidderSettings||{}),y.iD.iS),qt="prebid",$t="bidder",zt="userId",Nt="analytics";var Mt=n(128),Lt=n.n(Mt);let Ft=Lt()({ready:Lt().SYNC|Lt().ASYNC|Lt().QUEUE});const Wt=k();Ft.ready=(()=>{const e=Ft.ready;return function(){try{return e.apply(Ft,arguments)}finally{Wt.resolve()}}})();const Vt=Wt.promise,Gt=Ft.get,Ht={};function Yt(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i{t.push(n),e(t)}))}const Jt="component",Kt=Jt+"Type",Xt=Jt+"Name",Qt="adapterCode",Zt="storageType",en="configName",tn="syncType",nn="syncUrl",rn="_config";function on(e){return(t,n,i)=>{const r={[Kt]:t,[Xt]:n,[Jt]:`${t}.${n}`};return t===$t&&(r[Qt]=e(n)),sn(Object.assign(r,i))}}const sn=Ft("sync",(e=>e)),[an,dn]=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ae("Activity control:");const t={};function n(e){return t[e]=t[e]||[]}function i(t,n,i,r){let o;try{o=i(r)}catch(i){e.logError(`Exception in rule ${n} for '${t}'`,i),o={allow:!1,reason:i}}return o&&Object.assign({activity:t,name:n,component:r[Jt]},o)}const r={};function o(t){let{activity:n,name:i,allow:o,reason:s,component:a}=t;const d=`${i} ${o?"allowed":"denied"} '${n}' for '${a}'${s?":":""}`,c=r.hasOwnProperty(d);if(c&&clearTimeout(r[d]),r[d]=setTimeout((()=>delete r[d]),1e3),!c){const t=[d];s&&t.push(s),(o?e.logInfo:e.logWarn).apply(e,t)}}return[function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;const o=n(e),s=o.findIndex((e=>{let[t]=e;return r{const e=o.indexOf(a);e>=0&&o.splice(e,1)}},(e,t)=>{let r,s;for(const[a,d,c]of n(e)){if(r!==a&&s)break;r=a;const n=i(e,d,c,t);if(n){if(!n.allow)return o(n),!1;s=n}}return s&&o(s),!0}]}(),cn="accessDevice",ln="syncUser",un="enrichUfpd",pn="enrichEids",gn="fetchBids",mn="transmitEids",fn="transmitUfpd",bn="transmitPreciseGeo",hn="transmitTid";function yn(e){var t=e;return{callBids:()=>{},setBidderCode:e=>{t=e},getBidderCode:()=>t}}function vn(e){let{src:t="client",bidder:n="",bidId:i,transactionId:r,adUnitId:o,auctionId:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var a=t,d=e||0;Object.assign(this,{bidderCode:n,width:0,height:0,statusMessage:(()=>{switch(d){case 0:return"Pending";case 1:return"Bid available";case 2:return"Bid returned empty or error response";case 3:return"Bid timed out"}})(),adId:Y(),requestId:i,transactionId:r,adUnitId:o,auctionId:s,mediaType:"banner",source:a}),this.getStatusCode=()=>d,this.getSize=function(){return this.width+"x"+this.height},this.getIdentifiers=function(){return{src:this.source,bidder:this.bidderCode,bidId:this.requestId,transactionId:this.transactionId,adUnitId:this.adUnitId,auctionId:this.auctionId}}}function In(e,t){return new vn(e,t)}const wn="outstream",Cn="instream",xn=Ft("sync",((e,t,n,i,r)=>n&&(r||i!==wn)?S.getConfig("cache.url")||!e.vastXml||e.vastUrl?!(!e.vastUrl&&!e.vastXml):(se('\n This bid contains only vastXml and will not work when a prebid cache url is not specified.\n Try enabling prebid cache with pbjs.setConfig({ cache: {url: "..."} });\n '),!1):!(i===wn&&!r&&!(e.renderer||t&&t.renderer||n.renderer))),"checkVideoBidSetup"),Sn="performanceMetrics",Tn=window.performance&&window.performance.now?()=>window.performance.now():()=>Date.now(),An=new WeakMap;function En(){let{now:e=Tn,mkNode:t=kn,mkTimer:n=On,mkRenamer:i=e=>e,nodes:r=An}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return()=>function o(s){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>({forEach(t){t(e)}});a=i(a);const d=e=>s.dfWalk({visit(t,n){const i=n.timestamps;if(i.hasOwnProperty(e))return i[e]}});function c(e,t){const n=a(e);s.dfWalk({follow:(e,t)=>t.propagate&&(!e||!e.stopPropagation),visit(e,i){n.forEach((n=>{null==e?i.metrics[n]=t:(i.groups.hasOwnProperty(n)||(i.groups[n]=[]),i.groups[n].push(t))}))}})}function l(t){return n(e,(e=>c(t,e)))}function u(){let e={};return s.dfWalk({visit(t,n){e=Object.assign({},!t||t.includeGroups?n.groups:null,n.metrics,e)}}),e}const p={startTiming:l,measureTime:(e,t)=>l(e).stopAfter(t)(),measureHookTime:(e,t,n)=>{const i=l(e);return n((e=>{const t=i.stopBefore(e);return t.bail=e.bail&&i.stopBefore(e.bail),t.stopTiming=i,t.untimed=e,t})(t))},checkpoint:t=>{s.timestamps[t]=e()},timeSince:(t,n)=>{const i=d(t),r=null!=i?e()-i:null;return null!=n&&c(n,r),r},timeBetween:(e,t,n)=>{const i=d(e),r=d(t),o=null!=i&&null!=r?r-i:null;return null!=n&&c(n,o),o},setMetric:c,getMetrics:u,fork:function(){let{propagate:e=!0,stopPropagation:n=!1,includeGroups:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return o(t([[s,{propagate:e,stopPropagation:n,includeGroups:i}]]),a)},join:function(e){let{propagate:t=!0,stopPropagation:n=!1,includeGroups:i=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=r.get(e);null!=o&&o.addParent(s,{propagate:t,stopPropagation:n,includeGroups:i})},newMetrics:()=>o(s.newSibling(),a),renameWith:e=>o(s,e),toJSON:()=>u()};return r.set(p,s),p}(t([]))}function Rn(e,t,n){return function(){t&&t();try{return e.apply(this,arguments)}finally{n&&n()}}}function On(e,t){const n=e();let i=!1;function r(){i||(t(e()-n),i=!0)}return r.stopBefore=e=>Rn(e,r),r.stopAfter=e=>Rn(e,null,r),r}function kn(e){return{metrics:{},timestamps:{},groups:{},addParent(t,n){e.push([t,n])},newSibling:()=>kn(e.slice()),dfWalk(){let t,{visit:n,follow:i=()=>!0,visited:r=new Set,inEdge:o}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r.has(this)){if(r.add(this),t=n(o,this),null!=t)return t;for(const[s,a]of e)if(i(o,a)&&(t=s.dfWalk({visit:n,follow:i,visited:r,inEdge:a}),null!=t))return t}}}}const Un=(()=>{const e=()=>{},t=()=>({}),n={forEach:e},i=()=>null;i.stopBefore=e=>e,i.stopAfter=e=>e;const r=Object.defineProperties({dfWalk:e,newSibling:()=>r,addParent:e},Object.fromEntries(["metrics","timestamps","groups"].map((e=>[e,{get:t}]))));return En({now:()=>0,mkNode:()=>r,mkRenamer:()=>()=>n,mkTimer:()=>i,nodes:{get:e,set:e}})()})();let Dn=!0;function _n(e){return Dn&&e||Un}S.getConfig(Sn,(e=>{Dn=!!e[Sn]}));const jn=(()=>{const e=En();return()=>Dn?e():Un})();function Bn(e,t){return function(n,i){return function(r){for(var o=arguments.length,s=new Array(o>1?o-1:0),a=1;ai.call(d,e,...s)))}}}const Pn=Bn("requestBids.",(e=>e.metrics)),qn=(Bn("addBidResponse.",((e,t)=>t.metrics)),on((e=>Ni.resolveAlias(e)))),$n=["cpm","ttl","creativeId","netRevenue","currency"],zn=["auctionId","transactionId"];function Nn(e){const t=Array.isArray(e.supportedMediaTypes)?{supportedMediaTypes:e.supportedMediaTypes}:void 0;function n(e){const n=Mn(e);Ni.registerBidAdapter(n,e.code,t)}n(e),Array.isArray(e.aliases)&&e.aliases.forEach((t=>{let i,r,o=t;be(t)&&(o=t.code,i=t.gvlid,r=t.skipPbsAliasing),Ni.aliasRegistry[o]=e.code,n(Object.assign({},e,{code:o,gvlid:i,skipPbsAliasing:r}))}))}function Mn(e){return Object.assign(new yn(e.code),{getSpec:()=>Object.freeze(Object.assign({},e)),registerSyncs:t,callBids:(n,i,r,o,s,a)=>{if(!Array.isArray(n.bids))return;const d=(e=>{if(dn(hn,qn($t,e)))return{bidRequest:e=>e,bidderRequest:e=>e};function t(e,t,n){return zn.includes(t)?null:Reflect.get(e,t,n)}function n(e,t){const n=new Proxy(e,t);return Object.entries(e).filter((e=>{let[t,n]=e;return"function"==typeof n})).forEach((t=>{let[i,r]=t;return n[i]=r.bind(e)})),n}const i=it((e=>n(e,{get:t})),(e=>e.bidId));return{bidRequest:i,bidderRequest:e=>n(e,{get:(n,r,o)=>"bids"===r?e.bids.map(i):t(n,r,o)})}})(n.bidderCode),c={},l=[];function u(){r(),S.runWithBidder(e.code,(()=>{vt(y.qY.BIDDER_DONE,n),t(l,n.gdprConsent,n.uspConsent,n.gppConsent)}))}const p=Gn(n).measureTime("validate",(()=>n.bids.filter((t=>{return n=d.bidRequest(t),!!e.isBidRequestValid(n)||(oe(`Invalid bid sent to bidder ${e.code}: ${JSON.stringify(n)}`),!1);var n}))));if(0===p.length)return void u();const g={};p.forEach((e=>{g[e.bidId]=e,e.adUnitCode||(e.adUnitCode=e.placementCode)})),Ln(e,p.map(d.bidRequest),d.bidderRequest(n),o,a,{onRequest:e=>vt(y.qY.BEFORE_BIDDER_HTTP,n,e),onResponse:t=>{s(e.code),l.push(t)},onFledgeAuctionConfigs:e=>{e.forEach((e=>{const t=g[e.bidId];t?Wn(t,e.config):oe("Received fledge auction configuration for an unknown bidId",e)}))},onError:(t,i)=>{i.timedOut||s(e.code),Ni.callBidderError(e.code,i,n),vt(y.qY.BIDDER_ERROR,{error:i,bidderRequest:n}),se(`Server call for ${e.code} failed: ${t} ${i.status}. Continuing without bids.`)},onBid:t=>{const n=g[t.requestId];if(n){if(t.adapterCode=n.bidder,((e,t)=>{let n=Pt.get(t,"allowAlternateBidderCodes")||!1,i=Pt.get(t,"allowedAlternateBidderCodes");return!!(e&&t&&t!==e&&(i=me(i)?i.map((e=>e.trim().toLowerCase())).filter((e=>!!e)).filter(Oe):i,!n||me(i)&&"*"!==i[0]&&!i.includes(e)))})(t.bidderCode,n.bidder))return oe(`${t.bidderCode} is not a registered partner or known bidder of ${n.bidder}, hence continuing without bid. If you wish to support this bidder, please mark allowAlternateBidderCodes as true in bidderSettings.`),void i.reject(n.adUnitCode,t,y.Tf.yu);t.originalCpm=t.cpm,t.originalCurrency=t.currency,t.meta=t.meta||Object.assign({},t[n.bidder]);const e=Object.assign(In(y.XQ.y,n),t,Ye(n,zn));((e,t)=>{const n=_n(t.metrics);n.checkpoint("addBidResponse"),c[e]=!0,n.measureTime("addBidResponse.validate",(()=>Vn(e,t)))?i(e,t):i.reject(e,t,y.Tf.uY)})(n.adUnitCode,e)}else oe(`Bidder ${e.code} made bid for unknown request ID: ${t.requestId}. Ignoring.`),i.reject(null,t,y.Tf.gq)},onCompletion:u})}});function t(t,n,i,r){Fn(e,t,n,i,r)}}const Ln=Ft("sync",((e,t,n,i,r,o)=>{let{onRequest:s,onResponse:a,onFledgeAuctionConfigs:d,onError:c,onBid:l,onCompletion:u}=o;const p=Gn(n);u=p.startTiming("total").stopBefore(u);let g=p.measureTime("buildRequests",(()=>e.buildRequests(t,n)));if(!g||0===g.length)return void u();Array.isArray(g)||(g=[g]);const m=Le(u,g.length);g.forEach((t=>{const n=p.fork();function o(e){null!=e&&(e.metrics=n.fork().renameWith()),l(e)}const u=r(((i,r)=>{f();try{i=JSON.parse(i)}catch(e){}i={body:i,headers:{get:r.getResponseHeader.bind(r)}},a(i);try{i=n.measureTime("interpretResponse",(()=>e.interpretResponse(i,t)))}catch(t){return se(`Bidder ${e.code} failed to interpret the server's response. Continuing without bids`,null,t),void m()}let s;i&&me(i.fledgeAuctionConfigs)?(d(i.fledgeAuctionConfigs),s=i.bids):s=i,s&&(me(s)?s.forEach(o):o(s)),m()})),g=r(((e,t)=>{f(),c(e,t),m()}));s(t);const f=n.startTiming("net");function b(n){const i=t.options;return Object.assign(n,i,{browsingTopics:!(i?.hasOwnProperty("browsingTopics")&&!i.browsingTopics)&&(Pt.get(e.code,"topicsHeader")??!0)&&dn(fn,qn($t,e.code))})}switch(t.method){case"GET":i(`${t.url}${h=t.data,h?`?${"object"==typeof h?X(h):h}`:""}`,{success:u,error:g},void 0,b({method:"GET",withCredentials:!0}));break;case"POST":i(t.url,{success:u,error:g},"string"==typeof t.data?t.data:JSON.stringify(t.data),b({method:"POST",contentType:"text/plain",withCredentials:!0}));break;default:oe(`Skipping invalid request from ${e.code}. Request type ${t.type} must be GET or POST`),m()}var h}))}),"processBidderRequests"),Fn=Ft("async",((e,t,n,i,r)=>{const o=S.getConfig("userSync.aliasSyncEnabled");if(e.getUserSyncs&&(o||!Ni.aliasRegistry[e.code])){let o=S.getConfig("userSync.filterSettings"),s=e.getUserSyncs({iframeEnabled:!(!o||!o.iframe&&!o.all),pixelEnabled:!(!o||!o.image&&!o.all)},t,n,i,r);s&&(Array.isArray(s)||(s=[s]),s.forEach((t=>{Yi.registerSync(t.type,e.code,t.url)})),Yi.bidderDone(e.code))}}),"registerSyncs"),Wn=Ft("sync",((e,t)=>{}),"addComponentAuction");function Vn(e,t){let{index:n=Dr.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function i(e){return`Invalid bid from ${t.bidderCode}. Ignoring bid: ${e}`}return e?t?(()=>{let e=Object.keys(t);return $n.every((n=>a(e,n)&&!a([void 0,null],t[n])))})()?"native"!==t.mediaType||function(e){let{index:t=Dr.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=t.getAdUnit(e);if(!n)return!1;let i=n.nativeOrtbRequest;return((e,t)=>{if(!h(e,"link.url"))return se("native response doesn't have 'link' property. Ortb response: ",e),!1;let n=t.assets.filter((e=>1===e.required)).map((e=>e.id)),i=e.assets.map((e=>e.id));const r=n.every((e=>a(i,e)));return r||se(`didn't receive a bid with all required assets. Required ids: ${n}, but received ids in response: ${i}`),r})(e.native?.ortb||eo(e.native,i),i)}(t,{index:n})?"video"!==t.mediaType||function(e){let{index:t=Dr.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=h(t.getMediaTypes(e),"video"),i=n&&h(n,"context"),r=n&&h(n,"useCacheKey"),o=t.getAdUnit(e);return xn(e,o,n,i,r)}(t,{index:n})?!("banner"===t.mediaType&&!function(e,t){let{index:n=Dr.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if((t.width||0===parseInt(t.width,10))&&(t.height||0===parseInt(t.height,10)))return t.width=parseInt(t.width,10),t.height=parseInt(t.height,10),!0;const i=n.getBidRequest(t),r=n.getMediaTypes(t),o=Q(i&&i.sizes||r&&r.banner&&r.banner.sizes);if(1===o.length){const[e,n]=o[0].split("x");return t.width=parseInt(e,10),t.height=parseInt(n,10),!0}return!1}(e,t,{index:n})&&(se(i("Banner bids require a width and height")),1)):(se(i("Video bid does not have required vastUrl or renderer property")),!1):(se(i("Native bid missing some required properties.")),!1):(se(i(`Bidder ${t.bidderCode} is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params.`)),!1):(oe(`Some adapter tried to add an undefined bid for ${e}.`),!1):(oe("No adUnitCode was supplied to addBidResponse."),!1)}function Gn(e){return _n(e.metrics).renameWith((t=>[`adapter.client.${t}`,`adapters.client.${e.bidderCode}.${t}`]))}let Hn={};function Yn(e,t,n){let i=((e,t)=>{let n=Hn[e]=Hn[e]||{bidders:{}};return t?n.bidders[t]=n.bidders[t]||{}:n})(e,n);return i[t]=(i[t]||0)+1,i[t]}let Jn=e=>Yn(e,"requestsCounter"),Kn=(e,t)=>Yn(e,"requestsCounter",t),Xn=(e,t)=>Yn(e,"winsCounter",t),Qn=e=>h(Hn,`${e}.requestsCounter`)||0,Zn=(e,t)=>h(Hn,`${e}.bidders.${t}.requestsCounter`)||0,ei=(e,t)=>h(Hn,`${e}.bidders.${t}.winsCounter`)||0;function ti(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;if(!e)return e;if(/\w+:\/\//.exec(e))return e;let n=t.location.protocol;try{n=t.top.location.protocol}catch(e){}return/^\/\//.exec(e)?n+e:`${n}//${e}`}function ni(e){let{noLeadingWww:t=!1,noPort:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{e=new URL(ti(e))}catch(e){return}return e=n?e.hostname:e.host,t&&e.startsWith("www.")&&(e=e.substring(4)),e}function ii(e){try{const t=e.querySelector("link[rel='canonical']");if(null!==t)return t.href}catch(e){}return null}const ri=function(e){let t,n,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;return r.top!==r?e:()=>{const o=ii(r.document),s=r.location.href;return t===o&&s===n||(t=o,n=s,i=e()),i}}((oi=window,()=>{const e=[],t=(e=>{try{if(!e.location.ancestorOrigins)return;return e.location.ancestorOrigins}catch(e){}})(oi),n=S.getConfig("maxNestedIframes");let i,r,o,s,a=!1,d=0,c=!1,l=!1,u=!1;do{const n=i,s=l;let p,g=!1,m=null;l=!1,i=i?i.parent:oi;try{p=i.location.href||null}catch(e){g=!0}if(g)if(s){const e=n.context;try{m=e.sourceUrl,r=m,u=!0,c=!0,i===oi.top&&(a=!0),e.canonicalUrl&&(o=e.canonicalUrl)}catch(e){}}else{oe("Trying to access cross domain iframe. Continuing without referrer and location");try{const e=n.document.referrer;e&&(m=e,i===oi.top&&(a=!0))}catch(e){}!m&&t&&t[d-1]&&(m=t[d-1],i===oi.top&&(u=!0)),m&&!c&&(r=m)}else{if(p&&(m=p,r=m,c=!1,i===oi.top)){a=!0;const e=ii(i.document);e&&(o=e)}i.context&&i.context.sourceUrl&&(l=!0)}e.push(m),d++}while(i!==oi.top&&d-1&&-1===m.indexOf("?")&&(m=`${m}${p.substring(p.indexOf("?"))}`),{reachedTop:a,isAmp:c,numIframes:d-1,stack:e,topmostLocation:r||null,location:p,canonicalUrl:g,page:m,domain:ni(m)||null,ref:s||null,legacy:{reachedTop:a,isAmp:c,numIframes:d-1,stack:e,referer:r||null,canonicalUrl:g}}}));var oi;const si=Object.freeze({});Object.freeze({});class ai{#r;#o;#s;#a;#d=!0;#c;generatedTime;hashFields;constructor(){this.reset()}#l(e){this.#a=!0,this.#o=e,this.#s.resolve(e)}reset(){this.#s=k(),this.#r=!1,this.#o=null,this.#a=!1,this.generatedTime=null}enable(){this.#r=!0}get enabled(){return this.#r}get ready(){return this.#a}get promise(){return this.#a?O.resolve(this.#o):(this.#r||this.#l(null),this.#s.promise)}setConsentData(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ze();this.generatedTime=t,this.#d=!0,this.#l(e)}getConsentData(){return this.#o}get hash(){return this.#d&&(this.#c=nt(JSON.stringify(this.#o&&this.hashFields?this.hashFields.map((e=>this.#o[e])):this.#o)),this.#d=!1),this.#c}}const di=new class extends ai{hashFields=["gdprApplies","consentString"];getConsentMeta(){const e=this.getConsentData();if(e&&e.vendorData&&this.generatedTime)return{gdprApplies:e.gdprApplies,consentStringSize:ge(e.vendorData.tcString)?e.vendorData.tcString.length:0,generatedAt:this.generatedTime,apiVersion:e.apiVersion}}},ci=new class extends ai{getConsentMeta(){const e=this.getConsentData();if(e&&this.generatedTime)return{usp:e,generatedAt:this.generatedTime}}},li=new class extends ai{hashFields=["applicableSections","gppString"];getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},ui=(()=>{function e(){return!!S.getConfig("coppa")}return{getCoppa:e,getConsentData:e,getConsentMeta:e,reset(){},get promise(){return O.resolve(e())},get hash(){return e()?"1":"0"}}})(),pi=(()=>{const e={},t={},n={};return{register(i,r,o){o&&((e[r]=e[r]||{})[i]=o,t.hasOwnProperty(r)?t[r]!==o&&(t[r]=n):t[r]=o)},get(i){const r={modules:e[i]||{}};return t.hasOwnProperty(i)&&t[i]!==n&&(r.gvlid=t[i]),r}}})(),gi={gdpr:di,usp:ci,gpp:li,coppa:ui},mi=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:gi;return e=Object.entries(e),Object.assign({get promise(){return O.all(e.map((e=>{let[t,n]=e;return n.promise.then((e=>[t,e]))}))).then((e=>Object.fromEntries(e)))},get hash(){return nt(e.map((e=>{let[t,n]=e;return n.hash})).join(":"))}},Object.fromEntries(["getConsentData","getConsentMeta","reset"].map((t=>{return[t,(n=t,()=>Object.fromEntries(e.map((e=>{let[t,i]=e;return[t,i[n]()]}))))];var n}))))}(),fi=["data","ext.data","yob","gender","keywords","kwarray","id","buyeruid","customdata"].map((e=>`user.${e}`)).concat("device.ext.cdep"),bi=["user.eids","user.ext.eids"],hi=["user.geo.lat","user.geo.lon","device.geo.lat","device.geo.lon"];function yi(e){return Object.assign({get(){},run(e,t,n,i,r){const o=n&&n[i];if((e=>null!=e&&("object"!=typeof e||Object.keys(e).length>0))(o)&&r()){const e=this.get(o);void 0===e?delete n[i]:n[i]=e}}},e)}function vi(e){return e.forEach((e=>{e.paths=e.paths.map((e=>{const t=e.split("."),n=t.pop();return[t.length>0?t.join("."):null,n]}))})),function(t,n){const i=[];for(var r=arguments.length,o=new Array(r>2?r-2:0),s=2;s1?t-1:0),i=1;i(e.hasOwnProperty(t.name)||(e[t.name]=!!t.applies(...n)),e[t.name])}(t,...o);return e.forEach((e=>{if(!1!==t[e.name])for(const[r,o]of e.paths){const s=null==r?n:h(n,r);if(i.push(e.run(n,r,s,o,a.bind(null,e))),!1===t[e.name])return}})),i.filter((e=>null!=e))}}function Ii(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:dn;return n=>!t(e,n)}const wi=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:dn;const t=vi(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:dn;return[{name:fn,paths:fi,applies:Ii(fn,e)},{name:mn,paths:bi,applies:Ii(mn,e)},{name:bn,paths:hi,applies:Ii(bn,e),get:e=>Math.round(100*(e+Number.EPSILON))/100},{name:hn,paths:["source.tid"],applies:Ii(hn,e)}].map(yi)}(e)),n=vi(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:dn;return[{name:mn,paths:["userId","userIdAsEids"],applies:Ii(mn,e)},{name:hn,paths:["ortb2Imp.ext.tid"],applies:Ii(hn,e)}].map(yi)}(e));return e=>{const i={};return{ortb2:n=>(t(i,n,e),n),bidRequest:t=>(n(i,t,e),t)}}}();an(hn,"enableTIDs config",(()=>{if(!S.getConfig("enableTIDs"))return{allow:!1,reason:"TIDs are disabled"}}));const Ci="pbsBidAdapter",xi={CLIENT:"client",SERVER:"server"},Si={isAllowed:dn,redact:wi};let Ti={},Ai=Ti.bidderRegistry={},Ei=Ti.aliasRegistry={},Ri=[];S.getConfig("s2sConfig",(e=>{e&&e.s2sConfig&&(Ri=me(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])}));var Oi={};const ki=on((e=>Ti.resolveAlias(e)));function Ui(e){return ki(qt,Ci,{[en]:e.configName})}const Di=Ft("sync",(e=>{let{bidderCode:t,auctionId:n,bidderRequestId:i,adUnits:r,src:o,metrics:s}=e;return r.reduce(((e,r)=>{const d=r.bids.filter((e=>e.bidder===t));return null==t&&0===d.length&&null!=r.s2sBid&&d.push({bidder:null}),e.push(d.reduce(((e,t)=>{const d=null==(t=Object.assign({},t,{ortb2Imp:tt({},r.ortb2Imp,t.ortb2Imp)},We(r,["nativeParams","nativeOrtbRequest","mediaType","renderer"]))).mediaTypes?r.mediaTypes:t.mediaTypes;return(e=>{const t=["banner","native","video"];return!!Object.keys(e).every((e=>a(t,e)))&&(!e.video||!e.video.context||a(["instream","outstream","adpod"],e.video.context))})(d)?t=Object.assign({},t,{mediaTypes:d}):se(`mediaTypes is not correctly configured for adunit ${r.code}`),e.push(Object.assign({},t,{adUnitCode:r.code,transactionId:r.transactionId,adUnitId:r.adUnitId,sizes:h(d,"banner.sizes")||h(d,"video.playerSize")||[],bidId:t.bid_id||Y(),bidderRequestId:i,auctionId:n,src:o,metrics:s,bidRequestsCount:Qn(r.code),bidderRequestsCount:Zn(r.code,t.bidder),bidderWinsCount:ei(r.code,t.bidder)})),e}),[])),e}),[]).reduce(ke,[]).filter((e=>""!==e))}),"getBids"),_i=Ft("sync",(function(e,t){let{getS2SBidders:n=Bi}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null==t)return e;{const i=n(t);return e.filter((e=>i.has(e.bidder)))}}),"filterBidsForAdUnit"),ji=Ft("sync",((e,t)=>e),"setupAdUnitMediaTypes");function Bi(e){me(e)||(e=[e]);const t=new Set([null]);return e.filter((e=>e&&e.enabled)).flatMap((e=>e.bidders)).forEach((e=>t.add(e))),t}const Pi=Ft("sync",(function(e,t){let{getS2SBidders:n=Bi}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n(t);return _e(e).reduce(((e,t)=>(e[i.has(t)?xi.SERVER:xi.CLIENT].push(t),e)),{[xi.CLIENT]:[],[xi.SERVER]:[]})}),"partitionBidders");function qi(e,t){const n=Ai[e],i=n?.getSpec&&n.getSpec();if(i&&i[t]&&"function"==typeof i[t])return[i,i[t]]}function $i(e,t,n,i){try{re(`Invoking ${e}.${t}`);for(var r=arguments.length,o=new Array(r>4?r-4:0),s=4;s5&&void 0!==arguments[5]?arguments[5]:{},s=arguments.length>6?arguments[6]:void 0;s=_n(s),vt(y.qY.BEFORE_REQUEST_BIDS,e),(e=>{e.forEach((e=>{const t=e.nativeParams||h(e,"mediaTypes.native");t&&(e.nativeParams=Vr(t)),e.nativeParams&&(e.nativeOrtbRequest=e.nativeParams.ortb||Kr(e.nativeParams))}))})(e),e.forEach((e=>{be(e.mediaTypes)||(e.mediaTypes={}),e.bids=e.bids.filter((e=>!e.bidder||Si.isAllowed(gn,ki($t,e.bidder))))})),e=ji(e,r);let{[xi.CLIENT]:a,[xi.SERVER]:c}=Pi(e,Ri);S.getConfig("bidderSequence")===I&&(a=Be(a));const l=ri();let u=[];const p=o.global||{},g=o.bidder||{};function m(e,t){const i=Si.redact(null!=t?t:ki($t,e.bidderCode)),r=Object.freeze(i.ortb2(tt({source:{tid:n}},p,g[e.bidderCode])));return e.ortb2=r,e.bids=e.bids.map((e=>(e.ortb2=r,i.bidRequest(e)))),e}Ri.forEach((i=>{const r=Ui(i);if(i&&i.enabled&&Si.isAllowed(gn,r)){let{adUnits:o,hasModuleBids:a}=((e,t)=>{let n=Pe(e),i=!1;return n.forEach((e=>{const n=e.bids.filter((e=>e.module===Ci&&e.params?.configName===t.configName));1===n.length?(e.s2sBid=n[0],i=!0,e.ortb2Imp=tt({},e.s2sBid.ortb2Imp,e.ortb2Imp)):n.length>1&&oe('Multiple "module" bids for the same s2s configuration; all will be ignored',n),e.bids=_i(e.bids,t).map((e=>(e.bid_id=Y(),e)))})),n=n.filter((e=>0!==e.bids.length||null!=e.s2sBid)),{adUnits:n,hasModuleBids:i}})(e,i),p=J();(0===c.length&&a?[null]:c).forEach((e=>{const a=Y(),d=s.fork(),c=m({bidderCode:e,auctionId:n,bidderRequestId:a,uniquePbsTid:p,bids:Di({bidderCode:e,auctionId:n,bidderRequestId:a,adUnits:Pe(o),src:y.RW.xM,metrics:d}),auctionStart:t,timeout:i.timeout,src:y.RW.xM,refererInfo:l,metrics:d},r);0!==c.bids.length&&u.push(c)})),o.forEach((e=>{let t=e.bids.filter((e=>d(u,(t=>d(t.bids,(t=>t.bidId===e.bid_id))))));e.bids=t})),u.forEach((e=>{void 0===e.adUnitsS2SCopy&&(e.adUnitsS2SCopy=o.filter((e=>e.bids.length>0||null!=e.s2sBid)))}))}}));let f=(e=>{let t=Pe(e);return t.forEach((e=>{e.bids=_i(e.bids,null)})),t=t.filter((e=>0!==e.bids.length)),t})(e);return a.forEach((e=>{const o=Y(),a=s.fork(),d=m({bidderCode:e,auctionId:n,bidderRequestId:o,bids:Di({bidderCode:e,auctionId:n,bidderRequestId:o,adUnits:Pe(f),labels:r,src:"client",metrics:a}),auctionStart:t,timeout:i,refererInfo:l,metrics:a}),c=Ai[e];c||se(`Trying to make a request for bidder that does not exist: ${e}`),c&&d.bids&&0!==d.bids.length&&u.push(d)})),u.forEach((e=>{di.getConsentData()&&(e.gdprConsent=di.getConsentData()),ci.getConsentData()&&(e.uspConsent=ci.getConsentData()),li.getConsentData()&&(e.gppConsent=li.getConsentData())})),u}),"makeBidRequests"),Ti.callBids=function(e,t,n,i,r,o,s){let a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{};if(!t.length)return void oe("callBids executed with no bidRequests. Were they filtered by labels or sizing?");let[d,c]=t.reduce(((e,t)=>(e[Number(void 0!==t.src&&t.src===y.RW.xM)].push(t),e)),[[],[]]);var l=[];c.forEach((e=>{for(var t=-1,n=0;n{if(e&&l[u]&&Bi(e).has(l[u].bidderCode)){const t=Et(o,r?{request:r.request.bind(null,"s2s"),done:r.done}:void 0);let d=e.bidders;const p=Ai[e.adapter];let g=l[u].uniquePbsTid,m=l[u].adUnitsS2SCopy,f=c.filter((e=>e.uniquePbsTid===g));if(p){let r={ad_units:m,s2sConfig:e,ortb2Fragments:a};if(r.ad_units.length){let e=f.map((e=>(e.start=ze(),function(t){t||s(e.bidderRequestId),i.apply(e,arguments)})));const o=_e(r.ad_units).filter((e=>d.includes(e)));ie(`CALLING S2S HEADER BIDDERS ==== ${o.length>0?o.join(", "):'No bidder specified, using "ortb2Imp" definition(s) only'}`),f.forEach((e=>{vt(y.qY.BID_REQUESTED,{...e,tid:e.auctionId})})),p.callBids(r,c,n,(t=>e.forEach((e=>e(t)))),t)}}else se("missing "+e.adapter);u++}})),d.forEach((e=>{e.start=ze();const t=Ai[e.bidderCode];S.runWithBidder(e.bidderCode,(()=>{ie("CALLING BIDDER"),vt(y.qY.BID_REQUESTED,e)}));let a=Et(o,r?{request:r.request.bind(null,e.bidderCode),done:r.done}:void 0);const d=i.bind(e);try{S.runWithBidder(e.bidderCode,t.callBids.bind(t,e,n,d,a,(()=>s(e.bidderRequestId)),S.callbackWithBidder(e.bidderCode)))}catch(t){se(`${e.bidderCode} Bid Adapter emitted an uncaught error when parsing their bidRequest`,{e:t,bidRequest:e}),d()}}))},Ti.videoAdapters=[],Ti.registerBidAdapter=function(e,t){let{supportedMediaTypes:n=[]}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e&&t?"function"==typeof e.callBids?(Ai[t]=e,pi.register($t,t,e.getSpec?.().gvlid),a(n,"video")&&Ti.videoAdapters.push(t),a(n,"native")&&_r.push(t)):se("Bidder adaptor error for bidder code: "+t+"bidder must implement a callBids() function"):se("bidAdapter or bidderCode not specified")},Ti.aliasBidAdapter=(e,t,n)=>{if(void 0===Ai[t]){let i=Ai[e];if(void 0===i){const n=[];Ri.forEach((i=>{if(i.bidders&&i.bidders.length){const r=i&&i.bidders;i&&a(r,t)?Ei[t]=e:n.push(e)}})),n.forEach((e=>{se('bidderCode "'+e+'" is not an existing bidder.',"adapterManager.aliasBidAdapter")}))}else try{let r,o=(e=>{let t=[];return a(Ti.videoAdapters,e)&&t.push("video"),a(_r,e)&&t.push("native"),t})(e);if(i.constructor.prototype!=Object.prototype)r=new i.constructor,r.setBidderCode(t);else{let o=i.getSpec(),s=n&&n.gvlid;null!=o.gvlid&&null==s&&oe(`Alias '${t}' will NOT re-use the GVL ID of the original adapter ('${o.code}', gvlid: ${o.gvlid}). Functionality that requires TCF consent may not work as expected.`);let a=n&&n.skipPbsAliasing;r=Mn(Object.assign({},o,{code:t,gvlid:s,skipPbsAliasing:a})),Ei[t]=e}Ti.registerBidAdapter(r,t,{supportedMediaTypes:o})}catch(t){se(e+" bidder does not currently support aliasing.","adapterManager.aliasBidAdapter")}}else ie('alias name "'+t+'" has been already specified.')},Ti.resolveAlias=e=>{let t,n=e;for(;Ei[n]&&(!t||!t.has(n));)n=Ei[n],(t=t||new Set).add(n);return n},Ti.registerAnalyticsAdapter=e=>{let{adapter:t,code:n,gvlid:i}=e;t&&n?"function"==typeof t.enableAnalytics?(t.code=n,Oi[n]={adapter:t,gvlid:i},pi.register(Nt,n,i)):se(`Prebid Error: Analytics adaptor error for analytics "${n}"\n analytics adapter must implement an enableAnalytics() function`):se("Prebid Error: analyticsAdapter or analyticsCode not specified")},Ti.enableAnalytics=e=>{me(e)||(e=[e]),e.forEach((e=>{const t=Oi[e.provider];t&&t.adapter?Si.isAllowed("reportAnalytics",ki(Nt,e.provider,{[rn]:e}))&&t.adapter.enableAnalytics(e):se(`Prebid Error: no analytics adapter found in registry for '${e.provider}'.`)}))},Ti.getBidAdapter=e=>Ai[e],Ti.getAnalyticsAdapter=e=>Oi[e],Ti.callTimedOutBidders=(e,t,n)=>{t=Fe(t=t.map((t=>(t.params=Ve(e,t.adUnitCode,t.bidder),t.timeout=n,t))),"bidder"),Object.keys(t).forEach((e=>{zi(e,"onTimeout",t[e])}))},Ti.callBidWonBidder=(e,t,n)=>{t.params=Ve(n,t.adUnitCode,t.bidder),Xn(t.adUnitCode,t.bidder),zi(e,"onBidWon",t)},Ti.callBidBillableBidder=e=>{zi(e.bidder,"onBidBillable",e)},Ti.callSetTargetingBidder=(e,t)=>{zi(e,"onSetTargeting",t)},Ti.callBidViewableBidder=(e,t)=>{zi(e,"onBidViewable",t)},Ti.callBidderError=(e,t,n)=>{zi(e,"onBidderError",{error:t,bidderRequest:n})},Ti.callDataDeletionRequest=Ft("sync",(function(){for(var e=arguments.length,t=new Array(e),n=0;n!Ei.hasOwnProperty(e))).forEach((e=>{const n=qi(e,i);if(null!=n){const r=Dr.getBidsRequested().filter((t=>(e=>{const t=new Set;for(;Ei.hasOwnProperty(e)&&!t.has(e);)t.add(e),e=Ei[e];return e})(t.bidderCode)===e));$i(e,i,...n,r,...t)}})),Object.entries(Oi).forEach((e=>{let[n,r]=e;const o=r?.adapter?.[i];if("function"==typeof o)try{o.apply(r.adapter,t)}catch(e){se(`error calling ${i} of ${n}`,e)}}))}));const Ni=Ti,Mi="html5",Li="cookie";let Fi=[];function Wi(){let{moduleName:e,moduleType:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{isAllowed:n=dn}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};function i(i,r){let o=e;const s=S.getCurrentBidder();return s&&t===$t&&Ni.aliasRegistry[s]===e&&(o=s),i({valid:n(cn,qn(t,o,{[Zt]:r}))})}function r(e,t,n){if(!n||"function"!=typeof n)return i(e,t);Fi.push((()=>{let r=i(e,t);n(r)}))}const o=e=>r((e=>{if(e&&e.valid)try{return!!window.localStorage}catch(e){se("Local storage api disabled")}return!1}),Mi,e);return{setCookie:(e,t,n,i,o,s)=>r((r=>{if(r&&r.valid){const r=o&&""!==o?` ;domain=${encodeURIComponent(o)}`:"",s=n&&""!==n?` ;expires=${n}`:"",a=null!=i&&"none"==i.toLowerCase()?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}${s}; path=/${r}${i?`; SameSite=${i}`:""}${a}`}}),Li,s),getCookie:(e,t)=>r((t=>{if(t&&t.valid){let t=window.document.cookie.match("(^|;)\\s*"+e+"\\s*=\\s*([^;]*)\\s*(;|$)");return t?decodeURIComponent(t[2]):null}return null}),Li,t),localStorageIsEnabled:e=>r((e=>{if(e&&e.valid)try{return localStorage.setItem("prebid.cookieTest","1"),"1"===localStorage.getItem("prebid.cookieTest")}catch(e){}finally{try{localStorage.removeItem("prebid.cookieTest")}catch(e){}}return!1}),Mi,e),cookiesAreEnabled:e=>r((e=>!(!e||!e.valid)&&Me()),Li,e),setDataInLocalStorage:(e,t,n)=>r((n=>{n&&n.valid&&o()&&window.localStorage.setItem(e,t)}),Mi,n),getDataFromLocalStorage:(e,t)=>r((t=>t&&t.valid&&o()?window.localStorage.getItem(e):null),Mi,t),removeDataFromLocalStorage:(e,t)=>r((t=>{t&&t.valid&&o()&&window.localStorage.removeItem(e)}),Mi,t),hasLocalStorage:o,findSimilarCookies:(e,t)=>r((t=>{if(t&&t.valid){const t=[];if(Ne()){const n=document.cookie.split(";");for(;n.length;){const i=n.pop();let r=i.indexOf("=");r=r<0?i.length:r,decodeURIComponent(i.slice(0,r).replace(/^\s+/,"")).indexOf(e)>=0&&t.push(decodeURIComponent(i.slice(r+1)))}}return t}}),Li,t)}}function Vi(){let{moduleType:e,moduleName:t,bidderCode:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};function i(){throw new Error("Invalid invocation for getStorageManager: must set either bidderCode, or moduleType + moduleName")}return n?((e&&e!==$t||t)&&i(),e=$t,t=n):t&&e||i(),Wi({moduleType:e,moduleName:t})}function Gi(e){return Wi({moduleName:e,moduleType:qt})}an(cn,"deviceAccess config",(()=>{if(!Ne())return{allow:!1}})),an(cn,"bidderSettings.*.storageAllowed",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Pt;if(e[Kt]!==$t)return;let n=t.get(e[Qt],"storageAllowed");if(n&&!0!==n){const t=e[Zt];n=Array.isArray(n)?n.some((e=>e===t)):n===t}else n=!!n;return n?void 0:{allow:n}})),S.setDefaults({userSync:Pe({syncEnabled:!0,filterSettings:{image:{bidders:"*",filter:"include"}},syncsPerBidder:5,syncDelay:3e3,auctionDelay:0})});const Hi=Gi("usersync"),Yi=(e=>{let t={},n={image:[],iframe:[]},i=new Set,r={},o={image:!0,iframe:!1},s=e.config;function d(){if(s.syncEnabled&&e.browserSupportsCookies){try{o.iframe&&c(n.iframe,(e=>{let[t,i]=e;ie(`Invoking iframe user sync for bidder: ${t}`),Ee(i),((e,t)=>{e.image=e.image.filter((e=>e[0]!==t))})(n,t)})),o.image&&c(n.image,(e=>{let[t,n]=e;ie(`Invoking image pixel user sync for bidder: ${t}`),Te(n)}))}catch(e){return se("Error firing user syncs",e)}n={image:[],iframe:[]}}}function c(e,t){Be(e).forEach(t)}return S.getConfig("userSync",(e=>{if(e.userSync){let t=e.userSync.filterSettings;be(t)&&(t.image||t.all||(e.userSync.filterSettings.image={bidders:"*",filter:"include"}))}s=Object.assign(s,e.userSync)})),e.regRule(ln,"userSync config",(e=>{if(!s.syncEnabled)return{allow:!1,reason:"syncs are disabled"};if(e[Kt]===$t){const n=e[tn],i=e[Xt];if(!t.canBidderRegisterSync(n,i))return{allow:!1,reason:`${n} syncs are not enabled for ${i}`}}})),t.registerSync=(t,o,a)=>i.has(o)?ie(`already fired syncs for "${o}", ignoring registerSync call`):s.syncEnabled&&me(n[t])?o?0!==s.syncsPerBidder&&Number(r[o])>=s.syncsPerBidder?oe(`Number of user syncs exceeded for "${o}"`):void(e.isAllowed(ln,qn($t,o,{[tn]:t,[nn]:a}))&&(n[t].push([o,a]),r=((e,t)=>(e[t]?e[t]+=1:e[t]=1,e))(r,o))):oe("Bidder is required for registering sync"):oe(`User sync type "${t}" not supported`),t.bidderDone=i.add.bind(i),t.syncUsers=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(e)return setTimeout(d,Number(e));d()},t.triggerUserSyncs=()=>{s.enableOverride&&t.syncUsers()},t.canBidderRegisterSync=(e,t)=>!s.filterSettings||!function(e,t){let n=s.filterSettings;if(((e,t)=>{if(e.all&&e[t])return oe(`Detected presence of the "filterSettings.all" and "filterSettings.${t}" in userSync config. You cannot mix "all" with "iframe/image" configs; they are mutually exclusive.`),!1;let n=e.all?e.all:e[t],i=e.all?"all":t;if(!n)return!1;let r=n.filter,o=n.bidders;return r&&"include"!==r&&"exclude"!==r?(oe(`UserSync "filterSettings.${i}.filter" setting '${r}' is not a valid option; use either 'include' or 'exclude'.`),!1):!!("*"===o||Array.isArray(o)&&o.length>0&&o.every((e=>ge(e)&&"*"!==e)))||(oe(`Detected an invalid setup in userSync "filterSettings.${i}.bidders"; use either '*' (to represent all bidders) or an array of bidders.`),!1)})(n,e)){o[e]=!0;let i=n.all?n.all:n[e],r="*"===i.bidders?[t]:i.bidders;const s={include:(e,t)=>!a(e,t),exclude:(e,t)=>a(e,t)};return s[i.filter||"include"](r,t)}return!o[e]}(e,t),t})(Object.defineProperties({config:S.getConfig("userSync"),isAllowed:dn,regRule:an},{browserSupportsCookies:{get:()=>!/^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent)&&Hi.cookiesAreEnabled()}})),Ji="native",Ki="video",Xi="banner",Qi="adpod",{syncUsers:Zi}=Yi,er="completed";ft(y.qY.BID_ADJUSTMENT,(e=>{(e=>{let t=function(e,t,n){let{index:i=Dr.index,bs:r=Pt}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n=n||i.getBidRequest(t);const o=t?.adapterCode,s=t?.bidderCode||n?.bidder,a=r.get(t?.adapterCode,"adjustAlternateBids"),d=r.getOwn(s,"bidCpmAdjustment")||r.get(a?o:s,"bidCpmAdjustment");if(d&&"function"==typeof d)try{return d(e,Object.assign({},t),n)}catch(e){se("Error during bid adjustment",e)}return e}(e.cpm,e);t>=0&&(e.cpm=t)})(e)}));const tr={},nr={},ir=[],rr=o();function or(e){let{adUnits:t,adUnitCodes:n,callback:i,cbTimeout:r,labels:o,auctionId:s,ortb2Fragments:d,metrics:f}=e;f=_n(f);const b=t,v=o,I=n,w=s||J(),C=r,x=new Set,T=k();let A,E,R,U,D=[],_=i,j=[],B=[],P=[],q=[],$=[];function z(){return{auctionId:w,timestamp:A,auctionEnd:E,auctionStatus:U,adUnits:b,adUnitCodes:I,labels:v,bidderRequests:j,noBids:P,bidsReceived:B,bidsRejected:D,winningBids:q,timeout:C,metrics:f,seatNonBids:$}}function N(e){if(e?vt(y.qY.AUCTION_TIMEOUT,z()):clearTimeout(R),void 0===E){let n=[];e&&(ie(`Auction ${w} timedOut`),n=j.filter((e=>!x.has(e.bidderRequestId))).flatMap((e=>e.bids)),n.length&&vt(y.qY.BID_TIMEOUT,n)),U=er,E=Date.now(),f.checkpoint("auctionEnd"),f.timeBetween("requestBids","auctionEnd","requestBids.total"),f.timeBetween("callBids","auctionEnd","requestBids.callBids"),T.resolve(),vt(y.qY.AUCTION_END,z()),cr(b,(()=>{try{if(null!=_){const t=B.filter((e=>I.includes(e.adUnitCode))).reduce(Ar,{});_.apply(rr,[t,e,w]),_=null}}catch(e){se("Error executing bidsBackHandler",null,e)}finally{n.length&&Ni.callTimedOutBidders(t,n,C);let e=S.getConfig("userSync")||{};e.enableOverride||Zi(e.syncDelay)}}))}}function M(){S.resetBidder(),re(`Bids Received for Auction with id: ${w}`,B),U=er,N(!1)}function L(e){x.add(e)}function W(e){e.forEach((e=>{var t;t=e,j=j.concat(t)}));let t={},n={bidRequests:e,run:()=>{R=setTimeout((()=>N(!0)),C),U="inProgress",vt(y.qY.AUCTION_INIT,z());let n=function(e,t){let{index:n=Dr.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=0,r=!1,o=new Set,s={};function d(){i--,r&&0===i&&e()}function f(e,t,n){return s[t.requestId]=!0,function(e,t){let{index:n=Dr.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n.getBidderRequest(e),r=n.getAdUnit(e),o=i&&i.start||e.requestTimestamp;Object.assign(e,{responseTimestamp:e.responseTimestamp||ze(),requestTimestamp:e.requestTimestamp||o,cpm:parseFloat(e.cpm)||0,bidder:e.bidder||e.bidderCode,adUnitCode:t}),null!=r?.ttlBuffer&&(e.ttlBuffer=r.ttlBuffer),e.timeToRespond=e.responseTimestamp-e.requestTimestamp}(t,e),i++,n(d)}function b(e,n){f(e,n,(e=>{let i=function(e){let{index:t=Dr.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};vt(y.qY.BID_ADJUSTMENT,e);const n=t.getBidRequest(e)?.renderer||t.getAdUnit(e).renderer,i=e.mediaType,r=t.getMediaTypes(e),o=r&&r[i];var s=o&&o.renderer,a=null;s&&s.url&&s.render&&(!0!==s.backupOnly||!e.renderer)?a=s:n&&n.url&&n.render&&(!0!==n.backupOnly||!e.renderer)&&(a=n),a&&(e.renderer=Bt.install({url:a.url,config:a.options}),e.renderer.setRender(a.render));const d=hr(e.mediaType,r,S.getConfig("mediaTypePriceGranularity")),f=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=parseFloat(e);return isNaN(i)&&(i=""),{low:""===i?"":m(e,c,n),med:""===i?"":m(e,l,n),high:""===i?"":m(e,u,n),auto:""===i?"":m(e,g,n),dense:""===i?"":m(e,p,n),custom:""===i?"":m(e,t,n)}}(e.cpm,"object"==typeof d?d:S.getConfig("customPriceBucket"),S.getConfig("currency.granularityMultiplier"));return e.pbLg=f.low,e.pbMg=f.med,e.pbHg=f.high,e.pbAg=f.auto,e.pbDg=f.dense,e.pbCg=f.custom,e}(n);vt(y.qY.BID_ACCEPTED,i),i.mediaType===Ki?function(e,t,n){let{index:i=Dr.index}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=!0;const o=h(i.getMediaTypes({requestId:t.originalRequestId||t.requestId,adUnitId:t.adUnitId}),"video"),s=o&&h(o,"context"),a=o&&h(o,"useCacheKey");S.getConfig("cache.url")&&(a||s!==wn)&&(!t.videoCacheKey||S.getConfig("cache.ignoreBidderCacheKey")?(r=!1,br(e,t,n,o)):t.vastUrl||(se("videoCacheKey specified but not required vastUrl for video bid"),r=!1)),r&&(lr(e,t),n())}(t,i,e):(null!=i.native&&"object"==typeof i.native&&ur(i),lr(t,i),e())}))}function v(e,n,i){return f(e,n,(e=>{n.rejectionReason=i,oe(`Bid from ${n.bidder||"unknown bidder"} was rejected: ${i}`,n),vt(y.qY.BID_REJECTED,n),t.addBidRejected(n),e()}))}function I(){let n=t.getBidRequests();const d=S.getConfig("auctionOptions");if(o.add(this),d&&!ye(d)){const e=d.secondaryBidders;e&&!n.every((t=>a(e,t.bidderCode)))&&(n=n.filter((t=>!a(e,t.bidderCode))))}r=n.every((e=>o.has(e))),this.bids.forEach((e=>{s[e.bidId]||(t.addNoBid(e),vt(y.qY.NO_BID,e))})),r&&0===i&&e()}return{addBidResponse:(()=>{function e(e,t){sr.call({dispatch:b},e,t,(()=>{let n=!1;return i=>{n||(v(e,t,i),n=!0)}})())}return e.reject=v,e})(),adapterDone:function(){ar(O.resolve()).finally((()=>I.call(this)))}}}(M,this);Ni.callBids(b,e,n.addBidResponse,n.adapterDone,{request(e,n){r(tr,n),r(t,e),nr[e]||(nr[e]={SRA:!0,origin:n}),t[e]>1&&(nr[e].SRA=!1)},done(e){tr[e]--,ir[0]&&i(ir[0])&&ir.shift()}},C,L,d)}};function i(e){let t=!0,n=S.getConfig("maxRequestsPerOrigin")||4;return e.bidRequests.some((e=>{let i=1,r=void 0!==e.src&&e.src===y.RW.xM?"s2s":e.bidderCode;return nr[r]&&(!1===nr[r].SRA&&(i=Math.min(e.bids.length,n)),tr[nr[r].origin]+i>n&&(t=!1)),!t})),t&&e.run(),t}function r(e,t){void 0===e[t]?e[t]=1:e[t]++}i(n)||(oe("queueing auction due to limited endpoint capacity"),ir.push(n))}return ft(y.qY.SEAT_NON_BID,(e=>{var t;e.auctionId===w&&(t=e.seatnonbid,$=$.concat(t))})),{addBidReceived:e=>{B=B.concat(e)},addBidRejected:e=>{D=D.concat(e)},addNoBid:e=>{P=P.concat(e)},callBids:function(){U="started",A=Date.now();let e=f.measureTime("requestBids.makeRequests",(()=>Ni.makeBidRequests(b,A,w,C,v,d,f)));re(`Bids Requested for Auction with id: ${w}`,e),f.checkpoint("callBids"),e.length<1?(oe("No valid bid requests returned for auction"),M()):dr.call({dispatch:W,context:this},e)},addWinningBid:e=>{const n=t.find((t=>t.adUnitId===e.adUnitId));q=q.concat(e),(e=>{let{source:t,burl:n}=e;t===y.RW.xM&&n&&F.triggerPixel(n)})(e),Ni.callBidWonBidder(e.adapterCode||e.bidder,e,t),n&&!n.deferBilling&&Ni.callBidBillableBidder(e)},setBidTargeting:e=>{Ni.callSetTargetingBidder(e.adapterCode||e.bidder,e)},getWinningBids:()=>q,getAuctionStart:()=>A,getAuctionEnd:()=>E,getTimeout:()=>C,getAuctionId:()=>w,getAuctionStatus:()=>U,getAdUnits:()=>b,getAdUnitCodes:()=>I,getBidRequests:()=>j,getBidsReceived:()=>B,getNoBids:()=>P,getNonBids:()=>$,getFPD:()=>d,getMetrics:()=>f,end:T.promise}}const sr=Ft("sync",(function(e,t,n){this.dispatch.call(null,e,t)}),"addBidResponse"),ar=Ft("sync",(e=>e),"responsesReady"),dr=Ft("sync",(function(e){this.dispatch.call(this.context,e)}),"addBidderRequests"),cr=Ft("async",((e,t)=>{t&&t()}),"bidsBackCallback");function lr(e,t){(e=>{let t;const n=!0===Pt.get(e.bidderCode,"allowZeroCpmBids")?e.cpm>=0:e.cpm>0;e.bidderCode&&(n||e.dealId)&&(t=function(e,t){let{index:n=Dr.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return{};const i=n.getBidRequest(t);var r={};return Tr(r,Sr(t.mediaType,e),t,i),e&&Pt.getOwn(e,y.iD.DY)&&(Tr(r,Pt.ownSettingsFor(e),t,i),t.sendStandardTargeting=Pt.get(e,"sendStandardTargeting")),t.native&&(r=Object.assign({},r,function(e){let{index:t=Dr.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={};const i=t.getAdUnit(e);h(i,"nativeParams.rendererUrl")?e.native.rendererUrl=Jr(i.nativeParams.rendererUrl):h(i,"nativeParams.adTemplate")&&(e.native.adTemplate=Jr(i.nativeParams.adTemplate));const r=!1!==h(i,"nativeParams.sendTargetingKeys"),o=(e=>{const t={};return h(e,"nativeParams.ext")&&Object.keys(e.nativeParams.ext).forEach((e=>{t[e]=`hb_native_${e}`})),{...y.x5,...t}})(i),s={...e.native,...e.native.ext};return delete s.ext,Object.keys(s).forEach((t=>{const s=o[t];let a=Jr(e.native[t])||Jr(h(e,`native.ext.${t}`));if("adTemplate"===t||!s||!a)return;let d=h(i,`nativeParams.${t}.sendId`);"boolean"!=typeof d&&(d=h(i,`nativeParams.ext.${t}.sendId`)),d&&(a=`${s}:${e.adId}`);let c=h(i,`nativeParams.${t}.sendTargetingKeys`);"boolean"!=typeof c&&(c=h(i,`nativeParams.ext.${t}.sendTargetingKeys`)),("boolean"==typeof c?c:r)&&(n[s]=a)})),n}(t))),r}(e.bidderCode,e)),e.adserverTargeting=Object.assign(e.adserverTargeting||{},t)})(t),_n(t.metrics).timeSince("addBidResponse","addBidResponse.total"),e.addBidReceived(t),vt(y.qY.BID_RESPONSE,t)}const ur=e=>{const t=Dr.index.getAdUnit(e)?.nativeOrtbRequest,n=e.native?.ortb;if(t&&n){const i=to(n,t);Object.assign(e.native,i)}},pr=e=>{!function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Et;const i={puts:e.map(kt)};n(S.getConfig("cache.timeout"))(S.getConfig("cache.url"),(e=>({success:t=>{let n;try{n=JSON.parse(t).responses}catch(t){return void e(t,[])}n?e(null,n):e(new Error("The cache server didn't respond with a responses property."),[])},error:(t,n)=>{e(new Error(`Error storing video ad in the cache: ${t}: ${JSON.stringify(n)}`),[])}}))(t),JSON.stringify(i),{contentType:"text/plain",withCredentials:!0})}(e.map((e=>e.bidResponse)),((t,n)=>{n.forEach(((n,i)=>{const{auctionInstance:r,bidResponse:o,afterBidAdded:s}=e[i];var a;t?oe(`Failed to save to the video cache: ${t}. Video bid must be discarded.`):""===n.uuid?oe("Supplied video cache key was already in use by Prebid Cache; caching attempt was rejected. Video bid must be discarded."):(o.videoCacheKey=n.uuid,o.vastUrl||(o.vastUrl=(a=o.videoCacheKey,`${S.getConfig("cache.url")}?uuid=${a}`)),lr(r,o),s())}))}))};let gr,mr;S.getConfig("cache",(e=>{gr="number"==typeof e.cache.batchSize&&e.cache.batchSize>0?e.cache.batchSize:1,mr="number"==typeof e.cache.batchTimeout&&e.cache.batchTimeout>0?e.cache.batchTimeout:0}));const fr=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:setTimeout,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:pr,n=[[]],i=!1;const r=e=>e();return(o,s,a)=>{const d=mr>0?e:r;n[n.length-1].length>=gr&&n.push([]),n[n.length-1].push({auctionInstance:o,bidResponse:s,afterBidAdded:a}),i||(i=!0,d((()=>{n.forEach(t),n=[[]],i=!1}),mr))}}(),br=Ft("async",((e,t,n,i)=>{fr(e,t,n)}),"callPrebidCache");function hr(e,t,n){if(e&&n){if(e===Ki){const e=h(t,`${Ki}.context`,"instream");if(n[`${Ki}-${e}`])return n[`${Ki}-${e}`]}return n[e]}}const yr=e=>t=>{const n=e||function(e){let{index:t=Dr.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=hr(e.mediaType,t.getMediaTypes(e),S.getConfig("mediaTypePriceGranularity"));return"string"==typeof e.mediaType&&n?"string"==typeof n?n:"custom":S.getConfig("priceGranularity")}(t);return n===y.UE.Q8?t.pbAg:n===y.UE.O0?t.pbDg:n===y.UE.$L?t.pbLg:n===y.UE.E_?t.pbMg:n===y.UE.RY?t.pbHg:n===y.UE.Q4?t.pbCg:void 0},vr=()=>e=>e.creativeId?e.creativeId:"",Ir=()=>e=>e.meta&&e.meta.advertiserDomains&&e.meta.advertiserDomains.length>0?[e.meta.advertiserDomains].flat()[0]:"",wr=()=>e=>e.meta&&(e.meta.networkId||e.meta.networkName)?h(e,"meta.networkName")||h(e,"meta.networkId"):"",Cr=()=>e=>e.meta&&e.meta.primaryCatId?e.meta.primaryCatId:"";function xr(e,t){return{key:e,val:"function"==typeof t?(e,n)=>t(e,n):e=>De(e,t)}}function Sr(e,t){const n=y.xS,i=Object.assign({},Pt.settingsFor(null));if(i[y.iD.DY]||(i[y.iD.DY]=(()=>{const e=y.xS;return[xr(e.BIDDER,"bidderCode"),xr(e.AD_ID,"adId"),xr(e.PRICE_BUCKET,yr()),xr(e.SIZE,"size"),xr(e.DEAL,"dealId"),xr(e.SOURCE,"source"),xr(e.FORMAT,"mediaType"),xr(e.ADOMAIN,Ir()),xr(e.ACAT,Cr()),xr(e.DSP,wr()),xr(e.CRID,vr())]})()),"video"===e){const e=i[y.iD.DY].slice();if(i[y.iD.DY]=e,[n.UUID,n.CACHE_ID].forEach((t=>{void 0===d(e,(e=>e.key===t))&&e.push(xr(t,"videoCacheKey"))})),S.getConfig("cache.url")&&(!t||!1!==Pt.get(t,"sendStandardTargeting"))){const t=Qe(S.getConfig("cache.url"));void 0===d(e,(e=>e.key===n.CACHE_HOST))&&e.push(xr(n.CACHE_HOST,(e=>h(e,`adserverTargeting.${n.CACHE_HOST}`)?e.adserverTargeting[n.CACHE_HOST]:t.hostname)))}}return i}function Tr(e,t,n,i){var r=t[y.iD.DY];return n.size=n.getSize(),(r||[]).forEach((r=>{var o=r.key,s=r.val;if(e[o]&&oe("The key: "+o+" is being overwritten"),pe(s))try{s=s(n,i)}catch(e){se("bidmanager","ERROR",e)}(void 0===t.suppressEmptyKeys||!0!==t.suppressEmptyKeys)&&o!==y.xS.DEAL&&o!==y.xS.ACAT&&o!==y.xS.DSP&&o!==y.xS.CRID||!ve(s)&&null!=s?e[o]=s:re("suppressing empty key '"+o+"' from adserver targeting")})),e}function Ar(e,t){return e[t.adUnitCode]||(e[t.adUnitCode]={bids:[]}),e[t.adUnitCode].bids.push(t),e}function Er(e){Object.assign(this,{getAuction(t){let{auctionId:n}=t;if(null!=n)return e().find((e=>e.getAuctionId()===n))},getAdUnit(t){let{adUnitId:n}=t;if(null!=n)return e().flatMap((e=>e.getAdUnits())).find((e=>e.adUnitId===n))},getMediaTypes(e){let{adUnitId:t,requestId:n}=e;if(null!=n){const e=this.getBidRequest({requestId:n});if(null!=e&&(null==t||e.adUnitId===t))return e.mediaTypes}else if(null!=t){const e=this.getAdUnit({adUnitId:t});if(null!=e)return e.mediaTypes}},getBidderRequest(t){let{requestId:n,bidderRequestId:i}=t;if(null!=n||null!=i){let t=e().flatMap((e=>e.getBidRequests()));return null!=i&&(t=t.filter((e=>e.bidderRequestId===i))),null==n?t[0]:t.find((e=>e.bids&&null!=e.bids.find((e=>e.bidId===n))))}},getBidRequest(t){let{requestId:n}=t;if(null!=n)return e().flatMap((e=>e.getBidRequests())).flatMap((e=>e.bids)).find((e=>e&&e.bidId===n))}})}let Rr=1;const Or=[];function kr(e){return e.ttl-(e.hasOwnProperty("ttlBuffer")?e.ttlBuffer:Rr)}S.getConfig("ttlBuffer",(e=>{if("number"==typeof e.ttlBuffer){const t=Rr;Rr=e.ttlBuffer,t!==Rr&&Or.forEach((e=>e(Rr)))}else se("Invalid value for ttlBuffer",e.ttlBuffer)}));const Ur="minBidCacheTTL",Dr=(()=>{let e=null;const t=ot({startTime:e=>e.end.then((()=>e.getAuctionEnd())),ttl:t=>null==e?null:t.end.then((()=>1e3*Math.max(e,...t.getBidsReceived().map(kr))))});var n;n=()=>{null!=e&&t.refresh()},Or.push(n),S.getConfig(Ur,(n=>{const i=e;e=n?.[Ur],e="number"==typeof e?e:null,i!==e&&t.refresh()}));const i={};function r(e){for(const n of t)if(n.getAuctionId()===e)return n}function o(){return t.toArray().flatMap((e=>e.getBidsReceived()))}return i.addWinningBid=e=>{const t=_n(e.metrics);t.checkpoint("bidWon"),t.timeBetween("auctionEnd","bidWon","render.pending"),t.timeBetween("requestBids","bidWon","render.e2e");const n=r(e.auctionId);n?(e.status=y.tl.Un,n.addWinningBid(e)):oe("Auction not found when adding winning bid")},Object.entries({getAllWinningBids:{name:"getWinningBids"},getBidsRequested:{name:"getBidRequests"},getNoBids:{},getAdUnits:{},getBidsReceived:{pre:e=>e.getAuctionStatus()===er},getAdUnitCodes:{post:Oe}}).forEach((e=>{let[n,{name:r=n,pre:o,post:s}]=e;const a=null==o?e=>e[r]():e=>o(e)?e[r]():[],d=null==s?e=>e:e=>e.filter(s);i[n]=()=>d(t.toArray().flatMap(a))})),i.getAllBidsForAdUnitCode=e=>o().filter((t=>t&&t.adUnitCode===e)),i.createAuction=e=>{const n=or(e);return(e=>{t.add(e)})(n),n},i.findBidByAdId=e=>o().find((t=>t.adId===e)),i.getStandardBidderAdServerTargeting=()=>Sr()[y.iD.DY],i.setStatusForBids=(e,t)=>{let n=i.findBidByAdId(e);if(n&&(n.status=t),n&&t===y.tl.ht){const e=r(n.auctionId);e&&e.setBidTargeting(n)}},i.getLastAuctionId=()=>{const e=t.toArray();return e.length&&e[e.length-1].getAuctionId()},i.clearAllAuctions=()=>{t.clear()},i.index=new Er((()=>t.toArray())),i})(),_r=[],jr=Object.keys(y.x5).map((e=>y.x5[e])),Br={image:{ortb:{ver:"1.2",assets:[{required:1,id:1,img:{type:3,wmin:100,hmin:100}},{required:1,id:2,title:{len:140}},{required:1,id:3,data:{type:1}},{required:0,id:4,data:{type:2}},{required:0,id:5,img:{type:1,wmin:20,hmin:20}}]},image:{required:!0},title:{required:!0},sponsoredBy:{required:!0},clickUrl:{required:!0},body:{required:!1},icon:{required:!1}}},{jO:Pr,oA:qr,h0:$r,_B:zr,x5:Nr}=y,Mr=no($r),Lr=no(Pr),Fr={img:1,js:2,1:"img",2:"js"},Wr={impression:1,"viewable-mrc50":2,"viewable-mrc100":3,"viewable-video50":4};function Vr(e){if(e&&e.type&&(!(!(t=e.type)||!a(Object.keys(Br),t))||(se(`${t} nativeParam is not supported`),!1))&&(e=Br[e.type]),!e||!e.ortb||Gr(e.ortb))return e;var t}function Gr(e){const t=e.assets;if(!Array.isArray(t)||0===t.length)return se("assets in mediaTypes.native.ortb is not an array, or it's empty. Assets: ",t),!1;const n=t.map((e=>e.id));return t.length!==new Set(n).size||n.some((e=>e!==parseInt(e,10)))?(se("each asset object must have 'id' property, it must be unique and it must be an integer"),!1):e.hasOwnProperty("eventtrackers")&&!Array.isArray(e.eventtrackers)?(se("ortb.eventtrackers is not an array. Eventtrackers: ",e.eventtrackers),!1):t.every((e=>(e=>{if(!be(e))return se("asset must be an object. Provided asset: ",e),!1;if(e.img){if(!fe(e.img.w)&&!fe(e.img.wmin))return se("for img asset there must be 'w' or 'wmin' property"),!1;if(!fe(e.img.h)&&!fe(e.img.hmin))return se("for img asset there must be 'h' or 'hmin' property"),!1}else if(e.title){if(!fe(e.title.len))return se("for title asset there must be 'len' property defined"),!1}else if(e.data){if(!fe(e.data.type))return se("for data asset 'type' property must be a number"),!1}else if(e.video&&!(Array.isArray(e.video.mimes)&&Array.isArray(e.video.protocols)&&fe(e.video.minduration)&&fe(e.video.maxduration)))return se("video asset is not properly configured"),!1;return!0})(e)))}function Hr(e,t,n){let{index:i=Dr.index}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const r={message:"assetResponse",adId:e.adId},o=i.getAdUnit(t);let s=t.native;return t.native.ortb?r.ortb=t.native.ortb:o.mediaTypes?.native?.ortb&&(r.ortb=eo(t.native,o.nativeOrtbRequest)),r.assets=[],(n??Object.keys(s)).forEach((e=>{if("adTemplate"===e&&s[e])r.adTemplate=Jr(s[e]);else if("rendererUrl"===e&&s[e])r.rendererUrl=Jr(s[e]);else if("ext"===e)Object.keys(s[e]).forEach((t=>{if(s[e][t]){const n=Jr(s[e][t]);r.assets.push({key:t,value:n})}}));else if(s[e]&&y.x5.hasOwnProperty(e)){const t=Jr(s[e]);r.assets.push({key:e,value:t})}})),r}const Yr=Object.fromEntries(Object.entries(y.x5).map((e=>{let[t,n]=e;return[n,t]})));function Jr(e){return e?.url||e}function Kr(e){if(!e&&!be(e))return void se("Native assets object is empty or not an object: ",e);const t={ver:"1.2",assets:[]};for(let n in e){if(zr.includes(n))continue;if(!Nr.hasOwnProperty(n)){se(`Unrecognized native asset code: ${n}. Asset will be ignored.`);continue}if("privacyLink"===n){t.privacy=1;continue}const i=e[n];let r=0;i.required&&he(i.required)&&(r=Number(i.required));const o={id:t.assets.length,required:r};if(n in $r)o.data={type:Pr[$r[n]]},i.len&&(o.data.len=i.len);else if("icon"===n||"image"===n){if(o.img={type:"icon"===n?qr.ICON:qr.MAIN},i.aspect_ratios)if(me(i.aspect_ratios))if(i.aspect_ratios.length){const{min_width:e,min_height:t}=i.aspect_ratios[0];He(e)&&He(t)?(o.img.wmin=e,o.img.hmin=t):se("image.aspect_ratios min_width or min_height are invalid: ",e,t);const n=i.aspect_ratios.filter((e=>e.ratio_width&&e.ratio_height)).map((e=>`${e.ratio_width}:${e.ratio_height}`));n.length>0&&(o.img.ext={aspectratios:n})}else se("image.aspect_ratios was passed, but it's empty:",i.aspect_ratios);else se("image.aspect_ratios was passed, but it's not a an array:",i.aspect_ratios);i.sizes&&(2===i.sizes.length&&He(i.sizes[0])&&He(i.sizes[1])?(o.img.w=i.sizes[0],o.img.h=i.sizes[1],delete o.img.hmin,delete o.img.wmin):se("image.sizes was passed, but its value is not an array of integers:",i.sizes))}else"title"===n?o.title={len:i.len||140}:"ext"===n&&(o.ext=i,delete o.required);t.assets.push(o)}return t}function Xr(e,t){for(;e&&t&&e!==t;)e>t?e-=t:t-=e;return e||t}function Qr(e){if(!Gr(e))return;const t={};for(const n of e.assets){if(n.title){const e={required:!!n.required&&Boolean(n.required),len:n.title.len};t.title=e}else if(n.img){const e={required:!!n.required&&Boolean(n.required)};if(n.img.w&&n.img.h)e.sizes=[n.img.w,n.img.h];else if(n.img.wmin&&n.img.hmin){const t=Xr(n.img.wmin,n.img.hmin);e.aspect_ratios=[{min_width:n.img.wmin,min_height:n.img.hmin,ratio_width:n.img.wmin/t,ratio_height:n.img.hmin/t}]}n.img.type===qr.MAIN?t.image=e:t.icon=e}else if(n.data){let e=Object.keys(Pr).find((e=>Pr[e]===n.data.type)),i=Object.keys($r).find((t=>$r[t]===e));t[i]={required:!!n.required&&Boolean(n.required)},n.data.len&&(t[i].len=n.data.len)}e.privacy&&(t.privacyLink={required:!1})}return t}function Zr(e){const t={link:{},eventtrackers:[]};return Object.entries(e).forEach((e=>{let[n,i]=e;switch(n){case"clickUrl":t.link.url=i;break;case"clickTrackers":t.link.clicktrackers=Array.isArray(i)?i:[i];break;case"impressionTrackers":(Array.isArray(i)?i:[i]).forEach((e=>{t.eventtrackers.push({event:Wr.impression,method:Fr.img,url:e})}));break;case"javascriptTrackers":t.jstracker=Array.isArray(i)?i.join(""):i;break;case"privacyLink":t.privacy=i}})),t}function eo(e,t){const n={...Zr(e),assets:[]};function i(e,i){let r=t.assets.find(e);null!=r&&(r=Pe(r),i(r),n.assets.push(r))}return Object.keys(e).filter((t=>!!e[t])).forEach((t=>{const n=Jr(e[t]);switch(t){case"title":i((e=>null!=e.title),(e=>{e.title={text:n}}));break;case"image":case"icon":const e="image"===t?qr.MAIN:qr.ICON;i((t=>null!=t.img&&t.img.type===e),(e=>{e.img={url:n}}));break;default:t in $r&&i((e=>null!=e.data&&e.data.type===Pr[$r[t]]),(e=>{e.data={value:n}}))}})),n}function to(e,t){const n={},i=t?.assets||[];n.clickUrl=e.link.url,n.privacyLink=e.privacy;for(const t of e?.assets||[]){const e=i.find((e=>t.id===e.id));t.title?n.title=t.title.text:t.img?n[e.img.type===qr.MAIN?"image":"icon"]={url:t.img.url,width:t.img.w,height:t.img.h}:t.data&&(n[Mr[Lr[e.data.type]]]=t.data.value)}n.impressionTrackers=[];let r=[];e.imptrackers&&n.impressionTrackers.push(...e.imptrackers);for(const t of e?.eventtrackers||[])t.event===Wr.impression&&t.method===Fr.img&&n.impressionTrackers.push(t.url),t.event===Wr.impression&&t.method===Fr.js&&r.push(t.url);return r=r.map((e=>`