@dev-wrapp/80918ac8127ba 0.0.100 → 0.0.101

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- /*! app name: app-p80918ac8127ba.js | version: 0.0.100 | build date: 2025-07-16T19:59:11.079Z */(()=>{var __webpack_modules__={"../builds/80918AC8127BA/0.0.100/prebid.js":()=>{eval('/* prebid.js v9.23.0\nUpdated: 2025-07-13\nModules: currency, criteoBidAdapter, ixBidAdapter, sovrnBidAdapter, testbidderBidAdapter */\nif(window.pbjs&&window.pbjs.libLoaded)try{window.pbjs.getConfig("debug")&&console.warn("Attempted to load a copy of Prebid.js that clashes with the existing \'pbjs\' instance. Load aborted.")}catch(e){}else (function(){\n(()=>{var r,t={433:(r,t,e)=>{function n(r,t,e,n,o){for(t=t.split?t.split("."):t,n=0;n<t.length;n++)r=r?r[t[n]]:o;return r===o?e:r}e.d(t,{A:()=>n})},8128:r=>{\n/*\n* @license MIT\n* Fun Hooks v0.9.10\n* (c) @snapwich\n*/\nu.SYNC=1,u.ASYNC=2,u.QUEUE=4;var t="fun-hooks";var e=Object.freeze({useProxy:!0,ready:0}),n=new WeakMap,o="2,1,0"===[1].reduce((function(r,t,e){return[r,t,e]}),2).toString()?Array.prototype.reduce:function(r,t){var e,n=Object(this),o=n.length>>>0,i=0;if(t)e=t;else{for(;i<o&&!(i in n);)i++;e=n[i++]}for(;i<o;)i in n&&(e=r(e,n[i],i,n)),i++;return e};function i(r,t){return Array.prototype.slice.call(r,t)}var f=Object.assign||function(r){return o.call(i(arguments,1),(function(r,t){return t&&Object.keys(t).forEach((function(e){r[e]=t[e]})),r}),r)};function u(r){var a,c={},l=[];function p(r,t){return"function"==typeof r?h.call(null,"sync",r,t):"string"==typeof r&&"function"==typeof t?h.apply(null,arguments):"object"==typeof r?y.apply(null,arguments):void 0}function y(r,t,e){var n=!0;void 0===t&&(t=Object.getOwnPropertyNames(r),n=!1);var o={},i=["constructor"];do{(t=t.filter((function(t){return!("function"!=typeof r[t]||-1!==i.indexOf(t)||t.match(/^_/))}))).forEach((function(t){var n=t.split(":"),i=n[0],f=n[1]||"sync";if(!o[i]){var u=r[i];o[i]=r[i]=h(f,u,e?[e,i]:void 0)}})),r=Object.getPrototypeOf(r)}while(n&&r);return o}function s(r){var e=Array.isArray(r)?r:r.split(".");return o.call(e,(function(n,o,i){var f=n[o],u=!1;return f||(i===e.length-1?(a||l.push((function(){u||console.warn(t+": referenced \'"+r+"\' but it was never created")})),n[o]=v((function(r){n[o]=r,u=!0}))):n[o]={})}),c)}function v(r){var t=[],e=[],o=function(){},i={before:function(r,e){return a.call(this,t,"before",r,e)},after:function(r,t){return a.call(this,e,"after",r,t)},getHooks:function(r){var n=t.concat(e);"object"==typeof r&&(n=n.filter((function(t){return Object.keys(r).every((function(e){return t[e]===r[e]}))})));try{f(n,{remove:function(){return n.forEach((function(r){r.remove()})),this}})}catch(r){console.error("error adding `remove` to array, did you modify Array.prototype?")}return n},removeAll:function(){return this.getHooks().remove()}},u={install:function(n,i,f){this.type=n,o=f,f(t,e),r&&r(i)}};return n.set(i.after,u),i;function a(r,n,i,f){var u={hook:i,type:n,priority:f||10,remove:function(){var n=r.indexOf(u);-1!==n&&(r.splice(n,1),o(t,e))}};return r.push(u),r.sort((function(r,t){return t.priority-r.priority})),o(t,e),this}}function h(e,o,c){var p=o.after&&n.get(o.after);if(p){if(p.type!==e)throw t+": recreated hookable with different type";return o}var y,h,d=c?s(c):v(),b={get:function(r,t){return d[t]||Reflect.get.apply(Reflect,arguments)}};return a||l.push(g),r.useProxy&&"function"==typeof Proxy&&Proxy.revocable?h=new Proxy(o,b):(h=function(){return b.apply?b.apply(o,this,i(arguments)):o.apply(this,arguments)},f(h,d)),n.get(h.after).install(e,h,(function(r,t){var n,o=[];r.length||t.length?(r.forEach(f),n=o.push(void 0)-1,t.forEach(f),y=function(r,t,f){var u,a=0,c="async"===e&&"function"==typeof f[f.length-1]&&f.pop();function l(r){"sync"===e?u=r:c&&c.apply(null,arguments)}function p(r){if(o[a]){var n=i(arguments);return p.bail=l,n.unshift(p),o[a++].apply(t,n)}"sync"===e?u=r:c&&c.apply(null,arguments)}return o[n]=function(){var n=i(arguments,1);"async"===e&&c&&(delete p.bail,n.push(p));var o=r.apply(t,n);"sync"===e&&p(o)},p.apply(null,f),u}):y=void 0;function f(r){o.push(r.hook)}g()})),h;function g(){!a&&("sync"!==e||r.ready&u.SYNC)&&("async"!==e||r.ready&u.ASYNC)?"sync"!==e&&r.ready&u.QUEUE?b.apply=function(){var r=arguments;l.push((function(){h.apply(r[1],r[2])}))}:b.apply=function(){throw t+": hooked function not ready"}:b.apply=y}}return(r=f({},e,r)).ready?p.ready=function(){a=!0,function(r){for(var t;t=r.shift();)t()}(l)}:a=!0,p.get=s,p}r.exports=u},3172:(r,t,e)=>{function n(r,t,e){t.split&&(t=t.split("."));for(var n,o,i=0,f=t.length,u=r;i<f&&"__proto__"!=(o=""+t[i++])&&"constructor"!==o&&"prototype"!==o;)u=u[o]=i===f?e:typeof(n=u[o])==typeof t?n:0*t[i]!=0||~(""+t[i]).indexOf(".")?{}:[]}e.d(t,{J:()=>n})},5751:(r,t,e)=>{function n(r){var t,e,o;if(Array.isArray(r)){for(e=Array(t=r.length);t--;)e[t]=(o=r[t])&&"object"==typeof o?n(o):o;return e}if("[object Object]"===Object.prototype.toString.call(r)){for(t in e={},r)"__proto__"===t?Object.defineProperty(e,t,{value:n(r[t]),configurable:!0,enumerable:!0,writable:!0}):e[t]=(o=r[t])&&"object"==typeof o?n(o):o;return e}return r}e.d(t,{Q:()=>n})}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r](i,i.exports,n),i.exports}n.m=t,r=[],n.O=(t,e,o,i)=>{if(!e){var f=1/0;for(l=0;l<r.length;l++){e=r[l][0],o=r[l][1],i=r[l][2];for(var u=!0,a=0;a<e.length;a++)(!1&i||f>=i)&&Object.keys(n.O).every((r=>n.O[r](e[a])))?e.splice(a--,1):(u=!1,i<f&&(f=i));if(u){r.splice(l--,1);var c=o();void 0!==c&&(t=c)}}return t}i=i||0;for(var l=r.length;l>0&&r[l-1][2]>i;l--)r[l]=r[l-1];r[l]=[e,o,i]},n.n=r=>{var t=r&&r.__esModule?()=>r.default:()=>r;return n.d(t,{a:t}),t},n.d=(r,t)=>{for(var e in t)n.o(t,e)&&!n.o(r,e)&&Object.defineProperty(r,e,{enumerable:!0,get:t[e]})},n.o=(r,t)=>Object.prototype.hasOwnProperty.call(r,t),(()=>{var r={673:0};n.O.j=t=>0===r[t];var t=(t,e)=>{var o,i,f=e[0],u=e[1],a=e[2],c=0;if(f.some((t=>0!==r[t]))){for(o in u)n.o(u,o)&&(n.m[o]=u[o]);if(a)var l=a(n)}for(t&&t(e);c<f.length;c++)i=f[c],n.o(r,i)&&r[i]&&r[i][0](),r[i]=0;return n.O(l)},e=self.pbjsChunk=self.pbjsChunk||[];e.forEach(t.bind(null,0)),e.push=t.bind(null,e.push.bind(e))})();var o=n.O(void 0,[802,85],(()=>n(8261)));o=n.O(o)})();\n(self.pbjsChunk=self.pbjsChunk||[]).push([[802],{5789:(e,t,n)=>{n.d(t,{A4:()=>u,J7:()=>l,Pg:()=>f});var i=n(1580),r=n(1069),o=n(5901),s=n(7873),a=n(5569);const d=(0,s.m)(),c="outstream";function u(e){const{url:t,config:n,id:s,callback:u,loaded:l,adUnitCode:f,renderNow:g}=e;this.url=t,this.config=n,this.handlers={},this.id=s,this.renderNow=g,this.loaded=l,this.cmd=[],this.push=e=>{"function"==typeof e?this.loaded?e.call():this.cmd.push(e):(0,r.vV)("Commands given to Renderer.push must be wrapped in a function")},this.callback=u||(()=>{this.loaded=!0,this.process()}),this.render=function(){const e=arguments,n=()=>{this._render?this._render.apply(this,e):(0,r.JE)("No render function was provided, please use .setRender on the renderer")};!function(e){const t=d.adUnits,n=(0,o.I6)(t,(t=>t.code===e));if(!n)return!1;const i=n?.renderer,r=!!(i&&i.url&&i.render),s=n?.mediaTypes?.video?.renderer,a=!!(s&&s.url&&s.render);return!!(r&&!0!==i.backupOnly||a&&!0!==s.backupOnly)}(f)?g?n():(this.cmd.unshift(n),(0,i.R)(t,a.tp,c,this.callback,this.documentContext)):((0,r.JE)(`External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ${f}`),n())}.bind(this)}function l(e){return!(!e||!e.url&&!e.renderNow)}function f(e,t,n){let i=null;e.config&&e.config.documentResolver&&(i=e.config.documentResolver(t,document,n)),i||(i=document),e.documentContext=i,e.render(t,e.documentContext)}u.install=function(e){let{url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a}=e;return new u({url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a})},u.prototype.getConfig=function(){return this.config},u.prototype.setRender=function(e){this._render=e},u.prototype.setEventHandlers=function(e){this.handlers=e},u.prototype.handleVideoEvent=function(e){let{id:t,eventName:n}=e;"function"==typeof this.handlers[n]&&this.handlers[n](),(0,r.OG)(`Prebid Renderer event for id ${t} type ${n}`)},u.prototype.process=function(){for(;this.cmd.length>0;)try{this.cmd.shift().call()}catch(e){(0,r.vV)("Error processing Renderer command: ",e)}}},6811:(e,t,n)=>{n.d(t,{DL:()=>d,Ml:()=>r,Ue:()=>i,VJ:()=>u,hE:()=>c,hq:()=>a,mo:()=>s,pY:()=>l,uc:()=>o});const i="accessDevice",r="syncUser",o="fetchBids",s="reportAnalytics",a="transmitEids",d="transmitUfpd",c="transmitPreciseGeo",u="transmitTid",l="loadExternalScript"},3441:(e,t,n)=>{n.d(t,{s:()=>r});var i=n(8046);const r=(0,n(2604).ZI)((e=>i.Ay.resolveAlias(e)))},5569:(e,t,n)=>{n.d(t,{Tn:()=>o,tW:()=>r,tp:()=>i});const i="prebid",r="bidder",o="analytics"},2604:(e,t,n)=>{n.d(t,{Dk:()=>s,Ii:()=>o,TQ:()=>g,XG:()=>u,ZI:()=>p,Zw:()=>c,bt:()=>l,e3:()=>f,iK:()=>a,q7:()=>d});var i=n(5569),r=n(9214);const o="component",s=o+"Type",a=o+"Name",d="adapterCode",c="storageType",u="configName",l="syncType",f="syncUrl",g="_config";function p(e){return function(t,n,r){const c={[s]:t,[a]:n,[o]:`${t}.${n}`};return t===i.tW&&(c[d]=e(n)),h(Object.assign(c,r))}}const h=(0,r.A_)("sync",(e=>e))},5139:(e,t,n)=>{n.d(t,{io:()=>s,qB:()=>o});var i=n(1069),r=n(2604);const[o,s]=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(0,i.h0)("Activity control:");const t={};function n(e){return t[e]=t[e]||[]}function o(t,n,i,o){let s;try{s=i(o)}catch(i){e.logError(`Exception in rule ${n} for \'${t}\'`,i),s={allow:!1,reason:i}}return s&&Object.assign({activity:t,name:n,component:o[r.Ii]},s)}const s={};function a(t){let{activity:n,name:i,allow:r,reason:o,component:a}=t;const d=`${i} ${r?"allowed":"denied"} \'${n}\' for \'${a}\'${o?":":""}`,c=s.hasOwnProperty(d);if(c&&clearTimeout(s[d]),s[d]=setTimeout((()=>delete s[d]),1e3),!c){const t=[d];o&&t.push(o),(r?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<t})),a=[r,t,i];return o.splice(s<0?o.length:s,0,a),function(){const e=o.indexOf(a);e>=0&&o.splice(e,1)}},function(e,t){let i,r;for(const[s,d,c]of n(e)){if(i!==s&&r)break;i=s;const n=o(e,d,c,t);if(n){if(!n.allow)return a(n),!1;r=n}}return r&&a(r),!0}]}()},9075:(e,t,n)=>{n.d(t,{$A:()=>T,BS:()=>P,Hh:()=>q,Pk:()=>x,Uc:()=>O,XO:()=>W,bw:()=>U,n6:()=>w,qn:()=>_,vB:()=>N,vW:()=>k,vd:()=>S});var i=n(1069),r=n(5023),o=n(8969),s=n(3272),a=n(5789),d=n(1371),c=n(6881),u=n(6031),l=n(9214),f=n(2449),g=n(5555),p=n(8046),h=n(6894),m=n(7779);const{AD_RENDER_FAILED:b,AD_RENDER_SUCCEEDED:y,STALE_RENDER:v,BID_WON:E,EXPIRED_RENDER:A}=o.qY,{EXCEPTION:I}=o.as,T=(0,l.A_)("sync",(function(e){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:g.k.resolve()).then((t=>t??c.n.findBidByAdId(e))).catch((()=>{}))})),w=(0,l.A_)("sync",(function(e){r.Ic(E,e),c.n.addWinningBid(e)}));function C(e){let{reason:t,message:n,bid:o,id:s}=e;const a={reason:t,message:n};o&&(a.bid=o,a.adId=o.adId),s&&(a.adId=s),(0,i.vV)(`Error rendering ad (id: ${s}): ${n}`),r.Ic(b,a)}function B(e){let{doc:t,bid:n,id:i}=e;const o={doc:t};n&&(o.bid=n),i&&(o.adId=i),p.Ay.callAdRenderSucceededBidder(n.adapterCode||n.bidder,n),r.Ic(y,o)}function O(e,t){switch(e.event){case o.qY.AD_RENDER_FAILED:C({bid:t,id:t.adId,reason:e.info.reason,message:e.info.message});break;case o.qY.AD_RENDER_SUCCEEDED:B({doc:null,bid:t,id:t.adId});break;default:(0,i.vV)(`Received event request for unsupported event: \'${e.event}\' (adId: \'${t.adId}\')`)}}function k(e,t,n){let{resizeFn:i,fireTrackers:r=f.vO}=n;if("resizeNativeHeight"===e.action)i(e.width,e.height);else r(e,t)}const R={[o.nl.EVENT]:O};R[o.nl.NATIVE]=k;const S=(0,l.A_)("sync",(function(e,t){const{ad:n,adUrl:r,cpm:o,originalCpm:s,width:a,height:d}=e,c={AUCTION_PRICE:s||o,CLICKTHROUGH:t?.clickUrl||""};return{ad:(0,i.gM)(n,c),adUrl:(0,i.gM)(r,c),width:a,height:d}})),D=(0,l.A_)("sync",(function(e){let{renderFn:t,resizeFn:n,bidResponse:r,options:s,doc:a,isMainDocument:c=a===document&&!(0,i.al)()}=e;const u=r.mediaType===d.G_;if(c||u)return void C({reason:o.as.PREVENT_WRITING_ON_MAIN_DOCUMENT,message:u?"Cannot render video ad without a renderer":"renderAd was prevented from writing to the main document.",bid:r,id:r.adId});const l=S(r,s);t(Object.assign({adId:r.adId},l));const{width:f,height:g}=l;null!=(f??g)&&n(f,g)}));function U(e){let{renderFn:t,resizeFn:n,adId:a,options:d,bidResponse:c,doc:u}=e;q(c,(()=>{if(null!=c){if((c.status!==o.tl.RENDERED||((0,i.JE)(`Ad id ${a} has been rendered before`),r.Ic(v,c),!s.$W.getConfig("auctionOptions")?.suppressStaleRender))&&(m.uW.isBidNotExpired(c)||((0,i.JE)(`Ad id ${a} has been expired`),r.Ic(A,c),!s.$W.getConfig("auctionOptions")?.suppressExpiredRender)))try{D({renderFn:t,resizeFn:n,bidResponse:c,options:d,doc:u})}catch(e){C({reason:o.as.EXCEPTION,message:e.message,id:a,bid:c})}}else C({reason:o.as.CANNOT_FIND_AD,message:`Cannot find ad \'${a}\'`,id:a})}))}function _(e){const t=(0,h.BO)(e.metrics);t.checkpoint("bidRender"),t.timeBetween("bidWon","bidRender","render.deferred"),t.timeBetween("auctionEnd","bidRender","render.pending"),t.timeBetween("requestBids","bidRender","render.e2e"),e.status=o.tl.RENDERED}D.before((function(e,t){const{bidResponse:n,doc:i}=t;(0,a.J7)(n.renderer)?((0,a.Pg)(n.renderer,n,i),B({doc:i,bid:n,id:n.adId}),e.bail()):e(t)}),100);const $=new WeakMap,j=new WeakSet;function q(e,t){null!=e?($.set(e,t),e.deferRendering||N(e),x(e)):t()}function x(e){j.has(e)||(j.add(e),w(e))}function N(e){const t=$.get(e);t&&(t(),_(e),$.delete(e))}function P(e,t,n){let r;function s(e,n){C(Object.assign({id:t,bid:r},{reason:e,message:n}))}function a(t,n){e.defaultView&&e.defaultView.frameElement&&(t&&(e.defaultView.frameElement.width=t),n&&(e.defaultView.frameElement.height=n))}const d=(c={resizeFn:a},function(e,t,n){R.hasOwnProperty(e)&&R[e](t,n,c)});var c;function l(t){t.ad?(e.write(t.ad),e.close(),B({doc:e,bid:r,id:r.adId})):(0,u.H)(r).then((n=>n(t,{sendMessage:(e,t)=>d(e,t,r),mkFrame:i.hw},e.defaultView))).then((()=>B({doc:e,bid:r,id:r.adId})),(e=>{s(e?.reason||o.as.EXCEPTION,e?.message),e?.stack&&(0,i.vV)(e)}));const n=document.createComment(`Creative ${r.creativeId} served by ${r.bidder} Prebid.js Header Bidding`);(0,i._s)(n,e,"html")}try{t&&e?T(t).then((i=>{r=i,U({renderFn:l,resizeFn:a,adId:t,options:{clickUrl:n?.clickThrough},bidResponse:i,doc:e})})):s(o.as.MISSING_DOC_OR_ADID,"missing "+(t?"doc":"adId"))}catch(e){s(I,e.message)}}function W(){if(!window.frames[o.IY])if(document.body){const e=(0,i.CA)();e.name=o.IY,document.body.appendChild(e)}else window.requestAnimationFrame(W)}},8046:(e,t,n)=>{n.d(t,{Ay:()=>te,pX:()=>Q});var i=n(1069),r=n(2449),o=n(9115),s=n(8044),a=n(3272),d=n(9214),c=n(5901);let u={};function l(e,t,n){let i=function(e,t){let n=u[e]=u[e]||{bidders:{}};return t?n.bidders[t]=n.bidders[t]||{}:n}(e,n);return i[t]=(i[t]||0)+1,i[t]}function f(e){return l(e,"auctionsCounter")}function g(e){return u?.[e]?.requestsCounter||0}function p(e,t){return u?.[e]?.bidders?.[t]?.requestsCounter||0}function h(e,t){return u?.[e]?.bidders?.[t]?.winsCounter||0}function m(e){return u?.[e]?.auctionsCounter||0}var b=n(7934),y=n(6916),v=n(5023),E=n(8969),A=n(6894),I=n(6881),T=n(5569),w=n(5139),C=n(6811),B=n(2604),O=n(433);const k=["data","ext.data","yob","gender","keywords","kwarray","id","buyeruid","customdata"].map((e=>`user.${e}`)).concat("device.ext.cdep"),R=["user.eids","user.ext.eids"],S=["user.geo.lat","user.geo.lon","device.geo.lat","device.geo.lon"],D=["device.ip"],U=["device.ipv6"];function _(e){return Object.assign({get(){},run(e,t,n,i,r){const o=n&&n[i];if(function(e){return 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 $(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;s<r;s++)o[s-2]=arguments[s];const a=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return function(t){return 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:(0,O.A)(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 j(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:w.io;return function(n){return!t(e,n)}}function q(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:w.io;return[{name:C.DL,paths:k,applies:j(C.DL,e)},{name:C.hq,paths:R,applies:j(C.hq,e)},{name:C.hE,paths:S,applies:j(C.hE,e),get:e=>Math.round(100*(e+Number.EPSILON))/100},{name:C.hE,paths:D,applies:j(C.hE,e),get:e=>function(e){if(!e)return null;let t=e.split(".").map(Number);if(4!=t.length)return null;let n=[];for(let e=0;e<4;e++){let t=Math.max(0,Math.min(8,24-8*e));n.push(255<<8-t&255)}return t.map(((e,t)=>e&n[t])).join(".")}(e)},{name:C.hE,paths:U,applies:j(C.hE,e),get:e=>function(e){if(!e)return null;let t=e.split(":").map((e=>parseInt(e,16)));for(t=t.map((e=>isNaN(e)?0:e));t.length<8;)t.push(0);if(8!=t.length)return null;let n=[];for(let e=0;e<8;e++){let t=Math.max(0,Math.min(16,64-16*e));n.push(65535<<16-t&65535)}return t.map(((e,t)=>e&n[t])).map((e=>e.toString(16))).join(":")}(e)},{name:C.VJ,paths:["source.tid"],applies:j(C.VJ,e)}].map(_)}const x=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:w.io;const t=$(q(e)),n=$(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:w.io;return[{name:C.hq,paths:["userId","userIdAsEids"],applies:j(C.hq,e)},{name:C.VJ,paths:["ortb2Imp.ext.tid"],applies:j(C.VJ,e)}].map(_)}(e));return function(e){const i={};return{ortb2:n=>(t(i,n,e),n),bidRequest:t=>(n(i,t,e),t)}}}();(0,w.qB)(C.VJ,"enableTIDs config",(()=>{if(!a.$W.getConfig("enableTIDs"))return{allow:!1,reason:"TIDs are disabled"}}));const N="pbsBidAdapter",P={CLIENT:"client",SERVER:"server"},W={isAllowed:w.io,redact:x};let V={},M=V.bidderRegistry={},G=V.aliasRegistry={},F=[];a.$W.getConfig("s2sConfig",(e=>{e&&e.s2sConfig&&(F=(0,i.cy)(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])}));var H={};const L=(0,B.ZI)((e=>V.resolveAlias(e)));const z=(0,d.A_)("sync",(function(e){let{bidderCode:t,auctionId:n,bidderRequestId:r,adUnits:o,src:s,metrics:a}=e;return o.reduce(((e,o)=>{const d=o.bids.filter((e=>e.bidder===t));return null==t&&0===d.length&&null!=o.s2sBid&&d.push({bidder:null}),e.push(d.reduce(((e,d)=>{const c=null==(d=Object.assign({},d,{ortb2Imp:(0,i.D9)({},o.ortb2Imp,d.ortb2Imp)},(0,i.SH)(o,["nativeParams","nativeOrtbRequest","mediaType","renderer"]))).mediaTypes?o.mediaTypes:d.mediaTypes;return(0,i.wD)(c)?d=Object.assign({},d,{mediaTypes:c}):(0,i.vV)(`mediaTypes is not correctly configured for adunit ${o.code}`),"client"===s&&function(e,t){l(e,"requestsCounter",t)}(o.code,t),e.push(Object.assign({},d,{adUnitCode:o.code,transactionId:o.transactionId,adUnitId:o.adUnitId,sizes:c?.banner?.sizes||c?.video?.playerSize||[],bidId:d.bid_id||(0,i.s0)(),bidderRequestId:r,auctionId:n,src:s,metrics:a,auctionsCount:m(o.code),bidRequestsCount:g(o.code),bidderRequestsCount:p(o.code,d.bidder),bidderWinsCount:h(o.code,d.bidder),deferBilling:!!o.deferBilling})),e}),[])),e}),[]).reduce(i.Bq,[]).filter((e=>""!==e))}),"getBids");const J=(0,d.A_)("sync",(function(e,t){let{getS2SBidders:n=Q}=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");const K=(0,d.A_)("sync",((e,t)=>e),"setupAdUnitMediaTypes");function Q(e){(0,i.cy)(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 Y=(0,d.A_)("sync",(function(e,t){let{getS2SBidders:n=Q}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n(t);return(0,i.ZA)(e).reduce(((e,t)=>(e[r.has(t)?P.SERVER:P.CLIENT].push(t),e)),{[P.CLIENT]:[],[P.SERVER]:[]})}),"partitionBidders");function X(e,t){const n=M[e],i=n?.getSpec&&n.getSpec();if(i&&i[t]&&"function"==typeof i[t])return[i,i[t]]}function Z(e,t,n,r){try{(0,i.fH)(`Invoking ${e}.${t}`);for(var o=arguments.length,s=new Array(o>4?o-4:0),d=4;d<o;d++)s[d-4]=arguments[d];a.$W.runWithBidder(e,r.bind(n,...s))}catch(n){(0,i.JE)(`Error calling ${t} of ${e}`)}}function ee(e,t,n){if(n?.source!==E.RW.SRC){const i=X(e,t);null!=i&&Z(e,t,...i,n)}}V.makeBidRequests=(0,d.A_)("sync",(function(e,t,n,o,s){let d=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},u=arguments.length>6?arguments[6]:void 0;u=(0,A.BO)(u),v.Ic(E.qY.BEFORE_REQUEST_BIDS,e),(0,r.nk)(e),e.map((e=>e.code)).filter(i.hj).forEach(f),e.forEach((e=>{(0,i.Qd)(e.mediaTypes)||(e.mediaTypes={}),e.bids=e.bids.filter((e=>!e.bidder||W.isAllowed(C.uc,L(T.tW,e.bidder)))),l(e.code,"requestsCounter")})),e=K(e,s);let{[P.CLIENT]:g,[P.SERVER]:p}=Y(e,F);a.$W.getConfig("bidderSequence")===a.Ov&&(g=(0,i.k4)(g));const h=(0,b.EN)();let m=[];const I=d.global||{},w=d.bidder||{};function O(e,t){const r=W.redact(null!=t?t:L(T.tW,e.bidderCode)),o=Object.freeze(r.ortb2((0,i.D9)({source:{tid:n}},I,w[e.bidderCode])));return e.ortb2=o,e.bids=e.bids.map((e=>(e.ortb2=o,r.bidRequest(e)))),e}F.forEach((r=>{const o=function(e){return L(T.tp,N,{[B.XG]:e.configName})}(r);if(r&&r.enabled&&W.isAllowed(C.uc,o)){let{adUnits:s,hasModuleBids:a}=function(e,t){let n=(0,i.Go)(e),r=!1;return n.forEach((e=>{const n=e.bids.filter((e=>e.module===N&&e.params?.configName===t.configName));1===n.length?(e.s2sBid=n[0],r=!0,e.ortb2Imp=(0,i.D9)({},e.s2sBid.ortb2Imp,e.ortb2Imp)):n.length>1&&(0,i.JE)(\'Multiple "module" bids for the same s2s configuration; all will be ignored\',n),e.bids=J(e.bids,t).map((e=>(e.bid_id=(0,i.s0)(),e)))})),n=n.filter((e=>0!==e.bids.length||null!=e.s2sBid)),{adUnits:n,hasModuleBids:r}}(e,r),d=(0,i.lk)();(0===p.length&&a?[null]:p).forEach((e=>{const a=(0,i.s0)(),c=u.fork(),l=O({bidderCode:e,auctionId:n,bidderRequestId:a,uniquePbsTid:d,bids:z({bidderCode:e,auctionId:n,bidderRequestId:a,adUnits:(0,i.Go)(s),src:E.RW.SRC,metrics:c}),auctionStart:t,timeout:r.timeout,src:E.RW.SRC,refererInfo:h,metrics:c},o);0!==l.bids.length&&m.push(l)})),s.forEach((e=>{let t=e.bids.filter((e=>(0,c.I6)(m,(t=>(0,c.I6)(t.bids,(t=>t.bidId===e.bid_id))))));e.bids=t})),m.forEach((e=>{void 0===e.adUnitsS2SCopy&&(e.adUnitsS2SCopy=s.filter((e=>e.bids.length>0||null!=e.s2sBid)))}))}}));let k=function(e){let t=(0,i.Go)(e);return t.forEach((e=>{e.bids=J(e.bids,null)})),t=t.filter((e=>0!==e.bids.length)),t}(e);return g.forEach((e=>{const r=(0,i.s0)(),a=u.fork(),d=O({bidderCode:e,auctionId:n,bidderRequestId:r,bids:z({bidderCode:e,auctionId:n,bidderRequestId:r,adUnits:(0,i.Go)(k),labels:s,src:"client",metrics:a}),auctionStart:t,timeout:o,refererInfo:h,metrics:a}),c=M[e];c||(0,i.vV)(`Trying to make a request for bidder that does not exist: ${e}`),c&&d.bids&&0!==d.bids.length&&m.push(d)})),m.forEach((e=>{y.mW.getConsentData()&&(e.gdprConsent=y.mW.getConsentData()),y.t6.getConsentData()&&(e.uspConsent=y.t6.getConsentData()),y.ad.getConsentData()&&(e.gppConsent=y.ad.getConsentData())})),m}),"makeBidRequests"),V.callBids=function(e,t,n,r,o,d,c){let u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{};if(!t.length)return void(0,i.JE)("callBids executed with no bidRequests. Were they filtered by labels or sizing?");let[l,f]=t.reduce(((e,t)=>(e[Number(void 0!==t.src&&t.src===E.RW.SRC)].push(t),e)),[[],[]]);var g=[];f.forEach((e=>{for(var t=-1,n=0;n<g.length;++n)if(e.uniquePbsTid===g[n].uniquePbsTid){t=n;break}t<=-1&&g.push(e)}));let p=0;F.forEach((e=>{if(e&&g[p]&&Q(e).has(g[p].bidderCode)){const t=(0,s.g4)(d,o?{request:o.request.bind(null,"s2s"),done:o.done}:void 0);let a=e.bidders;const l=M[e.adapter];let h=g[p].uniquePbsTid,m=g[p].adUnitsS2SCopy,b=f.filter((e=>e.uniquePbsTid===h));if(l){let o={ad_units:m,s2sConfig:e,ortb2Fragments:u,requestBidsTimeout:d};if(o.ad_units.length){let e=b.map((e=>(e.start=(0,i.vE)(),function(t){t||c(e.bidderRequestId),r.apply(e,arguments)})));const s=(0,i.ZA)(o.ad_units).filter((e=>a.includes(e)));(0,i.OG)(`CALLING S2S HEADER BIDDERS ==== ${s.length>0?s.join(", "):\'No bidder specified, using "ortb2Imp" definition(s) only\'}`),b.forEach((e=>{v.Ic(E.qY.BID_REQUESTED,{...e,tid:e.auctionId})})),l.callBids(o,f,n,(t=>e.forEach((e=>e(t)))),t)}}else(0,i.vV)("missing "+e.adapter);p++}})),l.forEach((e=>{e.start=(0,i.vE)();const t=M[e.bidderCode];a.$W.runWithBidder(e.bidderCode,(()=>{(0,i.OG)("CALLING BIDDER"),v.Ic(E.qY.BID_REQUESTED,e)}));let u=(0,s.g4)(d,o?{request:o.request.bind(null,e.bidderCode),done:o.done}:void 0);const l=r.bind(e);try{a.$W.runWithBidder(e.bidderCode,t.callBids.bind(t,e,n,l,u,(()=>c(e.bidderRequestId)),a.$W.callbackWithBidder(e.bidderCode)))}catch(t){(0,i.vV)(`${e.bidderCode} Bid Adapter emitted an uncaught error when parsing their bidRequest`,{e:t,bidRequest:e}),l()}}))},V.videoAdapters=[],V.registerBidAdapter=function(e,t){let{supportedMediaTypes:n=[]}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e&&t?"function"==typeof e.callBids?(M[t]=e,y.o2.register(T.tW,t,e.getSpec?.().gvlid),(0,c.mK)(n,"video")&&V.videoAdapters.push(t),(0,c.mK)(n,"native")&&r.mT.push(t)):(0,i.vV)("Bidder adaptor error for bidder code: "+t+"bidder must implement a callBids() function"):(0,i.vV)("bidAdapter or bidderCode not specified")},V.aliasBidAdapter=function(e,t,n){if(void 0===M[t]){let s=M[e];if(void 0===s){const n=[];F.forEach((i=>{if(i.bidders&&i.bidders.length){const r=i&&i.bidders;i&&(0,c.mK)(r,t)?G[t]=e:n.push(e)}})),n.forEach((e=>{(0,i.vV)(\'bidderCode "\'+e+\'" is not an existing bidder.\',"adapterManager.aliasBidAdapter")}))}else try{let a,d=function(e){let t=[];return(0,c.mK)(V.videoAdapters,e)&&t.push("video"),(0,c.mK)(r.mT,e)&&t.push("native"),t}(e);if(s.constructor.prototype!=Object.prototype)a=new s.constructor,a.setBidderCode(t);else{const{useBaseGvlid:r=!1}=n||{};let d=s.getSpec();const c=r?d.gvlid:n?.gvlid;null==c&&null!=d.gvlid&&(0,i.JE)(`Alias \'${t}\' will NOT re-use the GVL ID of the original adapter (\'${d.code}\', gvlid: ${d.gvlid}). Functionality that requires TCF consent may not work as expected.`);let u=n&&n.skipPbsAliasing;a=(0,o.xb)(Object.assign({},d,{code:t,gvlid:c,skipPbsAliasing:u})),G[t]=e}V.registerBidAdapter(a,t,{supportedMediaTypes:d})}catch(t){(0,i.vV)(e+" bidder does not currently support aliasing.","adapterManager.aliasBidAdapter")}}else(0,i.OG)(\'alias name "\'+t+\'" has been already specified.\')},V.resolveAlias=function(e){let t,n=e;for(;G[n]&&(!t||!t.has(n));)n=G[n],(t=t||new Set).add(n);return n},V.registerAnalyticsAdapter=function(e){let{adapter:t,code:n,gvlid:r}=e;t&&n?"function"==typeof t.enableAnalytics?(t.code=n,H[n]={adapter:t,gvlid:r},y.o2.register(T.Tn,n,r)):(0,i.vV)(`Prebid Error: Analytics adaptor error for analytics "${n}"\\n analytics adapter must implement an enableAnalytics() function`):(0,i.vV)("Prebid Error: analyticsAdapter or analyticsCode not specified")},V.enableAnalytics=function(e){(0,i.cy)(e)||(e=[e]),e.forEach((e=>{const t=H[e.provider];t&&t.adapter?W.isAllowed(C.mo,L(T.Tn,e.provider,{[B.TQ]:e}))&&t.adapter.enableAnalytics(e):(0,i.vV)(`Prebid Error: no analytics adapter found in registry for \'${e.provider}\'.`)}))},V.getBidAdapter=function(e){return M[e]},V.getAnalyticsAdapter=function(e){return H[e]},V.callTimedOutBidders=function(e,t,n){t=t.map((t=>(t.params=(0,i.SB)(e,t.adUnitCode,t.bidder),t.timeout=n,t))),t=(0,i.$z)(t,"bidder"),Object.keys(t).forEach((e=>{ee(e,"onTimeout",t[e])}))},V.callBidWonBidder=function(e,t,n){var r,o;t.params=(0,i.SB)(n,t.adUnitCode,t.bidder),r=t.adUnitCode,o=t.bidder,l(r,"winsCounter",o),ee(e,"onBidWon",t)},V.triggerBilling=(()=>{const e=new WeakSet;return t=>{e.has(t)||(e.add(t),t.source===E.RW.SRC&&t.burl&&i.mM.triggerPixel(t.burl),ee(t.bidder,"onBidBillable",t))}})(),V.callSetTargetingBidder=function(e,t){ee(e,"onSetTargeting",t)},V.callBidViewableBidder=function(e,t){ee(e,"onBidViewable",t)},V.callBidderError=function(e,t,n){ee(e,"onBidderError",{error:t,bidderRequest:n})},V.callAdRenderSucceededBidder=function(e,t){ee(e,"onAdRenderSucceeded",t)},V.callDataDeletionRequest=(0,d.A_)("sync",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];const r="onDataDeletionRequest";Object.keys(M).filter((e=>!G.hasOwnProperty(e))).forEach((e=>{const n=X(e,r);if(null!=n){const i=I.n.getBidsRequested().filter((t=>function(e){const t=new Set;for(;G.hasOwnProperty(e)&&!t.has(e);)t.add(e),e=G[e];return e}(t.bidderCode)===e));Z(e,r,...n,i,...t)}})),Object.entries(H).forEach((e=>{let[n,o]=e;const s=o?.adapter?.[r];if("function"==typeof s)try{s.apply(o.adapter,t)}catch(e){(0,i.vV)(`error calling ${r} of ${n}`,e)}}))}));const te=V},9115:(e,t,n)=>{function i(e){var t=e;return{callBids:function(){},setBidderCode:function(e){t=e},getBidderCode:function(){return t}}}n.d(t,{xb:()=>B,a$:()=>w});var r=n(8046),o=n(3272),s=n(3597),a=n(8230),d=n(2449),c=n(3895),u=n(8969),l=n(5023),f=n(5901),g=n(1069),p=n(9214),h=n(6881),m=n(2693),b=n(6894),y=n(5139),v=n(3441),E=n(5569),A=n(6811);const I=["cpm","ttl","creativeId","netRevenue","currency"],T=["auctionId","transactionId"];function w(e){const t=Array.isArray(e.supportedMediaTypes)?{supportedMediaTypes:e.supportedMediaTypes}:void 0;function n(e){const n=B(e);r.Ay.registerBidAdapter(n,e.code,t)}n(e),Array.isArray(e.aliases)&&e.aliases.forEach((t=>{let i,o,s=t;(0,g.Qd)(t)&&(s=t.code,i=t.gvlid,o=t.skipPbsAliasing),r.Ay.aliasRegistry[s]=e.code,n(Object.assign({},e,{code:s,gvlid:i,skipPbsAliasing:o}))}))}const C=(0,g.Bj)((e=>{let{bidderCode:t}=e;if((0,y.io)(A.VJ,(0,v.s)(E.tW,t)))return{bidRequest:e=>e,bidderRequest:e=>e};function n(e,t,n){return T.includes(t)?null:Reflect.get(e,t,n)}function i(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 r=(0,g.Bj)((e=>i(e,{get:n})),(e=>e.bidId));return{bidRequest:r,bidderRequest:e=>i(e,{get:(t,i,o)=>"bids"===i?e.bids.map(r):n(t,i,o)})}}));function B(e){return Object.assign(new i(e.code),{getSpec:function(){return Object.freeze(Object.assign({},e))},registerSyncs:t,callBids:function(n,i,a,p,y,v){if(!Array.isArray(n.bids))return;const E=C(n),A={};function w(e,t){const n=(0,b.BO)(t.metrics);n.checkpoint("addBidResponse"),A[e]=!0,n.measureTime("addBidResponse.validate",(()=>function(e,t){let{index:n=h.n.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function i(){let e=Object.keys(t);return I.every((n=>(0,f.mK)(e,n)&&!(0,f.mK)([void 0,null],t[n])))}function r(e){return`Invalid bid from ${t.bidderCode}. Ignoring bid: ${e}`}if(!e)return(0,g.JE)("No adUnitCode was supplied to addBidResponse."),!1;if(!t)return(0,g.JE)(`Some adapter tried to add an undefined bid for ${e}.`),!1;if(!i())return(0,g.vV)(r(`Bidder ${t.bidderCode} is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params.`)),!1;if("native"===t.mediaType&&!(0,d.Bm)(t,{index:n}))return(0,g.vV)(r("Native bid missing some required properties.")),!1;if("video"===t.mediaType&&!(0,c.vk)(t,{index:n}))return(0,g.vV)(r("Video bid does not have required vastUrl or renderer property")),!1;if("banner"===t.mediaType&&!function(e,t){let{index:n=h.n.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=i&&i.sizes||r&&r.banner&&r.banner.sizes,s=(0,g.kK)(o);if(1===s.length){const[e,n]=s[0].split("x");return t.width=parseInt(e,10),t.height=parseInt(n,10),!0}return!1}(e,t,{index:n}))return(0,g.vV)(r("Banner bids require a width and height")),!1;return!0}(e,t)))?i(e,t):i.reject(e,t,u.Tf.INVALID)}const B=[];function O(){a(),o.$W.runWithBidder(e.code,(()=>{l.Ic(u.qY.BIDDER_DONE,n),t(B,n.gdprConsent,n.uspConsent,n.gppConsent)}))}const R=D(n).measureTime("validate",(()=>n.bids.filter((t=>function(t){if(!e.isBidRequestValid(t))return(0,g.JE)(`Invalid bid sent to bidder ${e.code}: ${JSON.stringify(t)}`),!1;return!0}(E.bidRequest(t))))));if(0===R.length)return void O();const U={};R.forEach((e=>{U[e.bidId]=e,e.adUnitCode||(e.adUnitCode=e.placementCode)})),k(e,R,n,p,v,{onRequest:e=>l.Ic(u.qY.BEFORE_BIDDER_HTTP,n,e),onResponse:t=>{y(e.code),B.push(t)},onPaapi:e=>{const t=U[e.bidId];t?S(t,e):(0,g.JE)("Received fledge auction configuration for an unknown bidId",e)},onError:(t,i)=>{i.timedOut||y(e.code),r.Ay.callBidderError(e.code,i,n),l.Ic(u.qY.BIDDER_ERROR,{error:i,bidderRequest:n}),(0,g.vV)(`Server call for ${e.code} failed: ${t} ${i.status}. Continuing without bids.`)},onBid:t=>{const n=U[t.requestId];if(n){if(t.adapterCode=n.bidder,function(e,t){let n=m.u.get(t,"allowAlternateBidderCodes")||!1,i=m.u.get(t,"allowedAlternateBidderCodes");if(e&&t&&t!==e&&(i=(0,g.cy)(i)?i.map((e=>e.trim().toLowerCase())).filter((e=>!!e)).filter(g.hj):i,!n||(0,g.cy)(i)&&"*"!==i[0]&&!i.includes(e)))return!0;return!1}(t.bidderCode,n.bidder))return(0,g.JE)(`${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,u.Tf.BIDDER_DISALLOWED);t.originalCpm=t.cpm,t.originalCurrency=t.currency,t.meta=t.meta||Object.assign({},t[n.bidder]),t.deferBilling=n.deferBilling,t.deferRendering=t.deferBilling&&(t.deferRendering??"function"!=typeof e.onBidBillable);const r=Object.assign((0,s.O)(u.XQ.GOOD,n),t,(0,g.Up)(n,T));w(n.adUnitCode,r)}else(0,g.JE)(`Bidder ${e.code} made bid for unknown request ID: ${t.requestId}. Ignoring.`),i.reject(null,t,u.Tf.INVALID_REQUEST_ID)},onCompletion:O})}});function t(t,n,i,r){R(e,t,n,i,r)}}const O=["bids","paapi"],k=(0,p.A_)("sync",(function(e,t,n,i,r,o){let{onRequest:s,onResponse:a,onPaapi:d,onError:c,onBid:u,onCompletion:l}=o;const f=D(n);l=f.startTiming("total").stopBefore(l);const p=C(n);let h=f.measureTime("buildRequests",(()=>e.buildRequests(t.map(p.bidRequest),p.bidderRequest(n))));if(!h||0===h.length)return void l();Array.isArray(h)||(h=[h]);const b=(0,g.U6)(l,h.length);h.forEach((t=>{const n=f.fork();function o(e){null!=e&&(e.metrics=n.fork().renameWith()),u(e)}const l=r((function(i,r){h();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(0,g.vV)(`Bidder ${e.code} failed to interpret the server\'s response. Continuing without bids`,null,t),void b()}let s,c;i&&!Object.keys(i).some((e=>!O.includes(e)))?(s=i.bids,c=i.paapi):s=i,(0,g.cy)(c)&&c.forEach(d),s&&((0,g.cy)(s)?s.forEach(o):o(s)),b()})),p=r((function(e,t){h(),c(e,t),b()}));s(t);const h=n.startTiming("net");function I(n){const i=t.options;return Object.assign(n,i,{browsingTopics:!(i?.hasOwnProperty("browsingTopics")&&!i.browsingTopics)&&((m.u.get(e.code,"topicsHeader")??!0)&&(0,y.io)(A.DL,(0,v.s)(E.tW,e.code)))})}switch(t.method){case"GET":i(`${t.url}${function(e){if(e)return`?${"object"==typeof e?(0,g.bL)(e):e}`;return""}(t.data)}`,{success:l,error:p},void 0,I({method:"GET",withCredentials:!0}));break;case"POST":i(t.url,{success:l,error:p},"string"==typeof t.data?t.data:JSON.stringify(t.data),I({method:"POST",contentType:"text/plain",withCredentials:!0}));break;default:(0,g.JE)(`Skipping invalid request from ${e.code}. Request type ${t.type} must be GET or POST`),b()}}))}),"processBidderRequests"),R=(0,p.A_)("async",(function(e,t,n,i,s){const d=o.$W.getConfig("userSync.aliasSyncEnabled");if(e.getUserSyncs&&(d||!r.Ay.aliasRegistry[e.code])){let r=o.$W.getConfig("userSync.filterSettings"),d=e.getUserSyncs({iframeEnabled:!(!r||!r.iframe&&!r.all),pixelEnabled:!(!r||!r.image&&!r.all)},t,n,i,s);d&&(Array.isArray(d)||(d=[d]),d.forEach((t=>{a.zt.registerSync(t.type,e.code,t.url)})),a.zt.bidderDone(e.code))}}),"registerSyncs"),S=(0,p.A_)("sync",((e,t)=>{}),"addPaapiConfig");function D(e){return(0,b.BO)(e.metrics).renameWith((t=>[`adapter.client.${t}`,`adapters.client.${e.bidderCode}.${t}`]))}},1580:(e,t,n)=>{n.d(t,{R:()=>u});var i=n(6811),r=n(3441),o=n(5139),s=n(5901),a=n(1069);const d=new WeakMap,c=["debugging","outstream","improvedigital","showheroes-bs","aaxBlockmeter","adagio","adloox","akamaidap","arcspan","airgrid","browsi","brandmetrics","clean.io","humansecurity","confiant","contxtful","hadron","mediafilter","medianet","azerionedge","a1Media","geoedge","qortex","dynamicAdBoost","51Degrees","symitridap","wurfl","justtag","tncId","ftrackId","id5"];function u(e,t,n,u,l,f){if(!(0,o.io)(i.pY,(0,r.s)(t,n)))return;if(!n||!e)return void(0,a.vV)("cannot load external script without url and moduleCode");if(!(0,s.mK)(c,n))return void(0,a.vV)(`${n} not whitelisted for loading external JavaScript`);l||(l=document);const g=m(l,e);if(g)return u&&"function"==typeof u&&(g.loaded?u():g.callbacks.push(u)),g.tag;const p=d.get(l)||{},h={loaded:!1,tag:null,callbacks:[]};return p[e]=h,d.set(l,p),u&&"function"==typeof u&&h.callbacks.push(u),(0,a.JE)(`module ${n} is loading external JavaScript`),function(t,n,i,r){i||(i=document);var o=i.createElement("script");o.type="text/javascript",o.async=!0;const s=m(i,e);s&&(s.tag=o);o.readyState?o.onreadystatechange=function(){"loaded"!==o.readyState&&"complete"!==o.readyState||(o.onreadystatechange=null,n())}:o.onload=function(){n()};o.src=t,r&&(0,a.Bg)(o,r);return(0,a._s)(o,i),o}(e,(function(){h.loaded=!0;try{for(let e=0;e<h.callbacks.length;e++)h.callbacks[e]()}catch(e){(0,a.vV)("Error executing callback","adloader.js:loadExternalScript",e)}}),l,f);function m(e,t){const n=d.get(e);return n&&n[t]?n[t]:null}}},8044:(e,t,n)=>{n.d(t,{RD:()=>f,g4:()=>l});var i=n(3272),r=n(1069);const o={fetch:window.fetch.bind(window),makeRequest:(e,t)=>new Request(e,t),timeout(e,t){const n=new AbortController;let i=setTimeout((()=>{n.abort(),(0,r.vV)(`Request timeout after ${e}ms`,t),i=null}),e);return{signal:n.signal,done(){i&&clearTimeout(i)}}}},s="GET",a="POST",d="Content-Type";function c(){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]:{},r=(t,n)=>{let r;null==e||null!=n?.signal||i.$W.getConfig("disableAjaxTimeout")||(r=o.timeout(e,t),n=Object.assign({signal:r.signal},n));let s=o.fetch(t,n);return null!=r?.done&&(s=s.finally(r.done)),s};return null==t&&null==n||(r=(e=>function(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})(r)),r}function u(e,t){let{status:n,statusText:i="",headers:o,url:s}=e,a=0;function c(e){if(0===a)try{a=(new DOMParser).parseFromString(t,o?.get(d)?.split(";")?.[0])}catch(t){a=null,e&&e(t)}return a}return{readyState:XMLHttpRequest.DONE,status:n,statusText:i,responseText:t,response:t,responseType:"",responseURL:s,get responseXML(){return c(r.vV)},getResponseHeader:e=>o?.has(e)?o.get(e):null,toJSON(){return Object.assign({responseXML:c()},this)},timedOut:!1}}function l(){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=c(e,{request:t,done:n});return function(e,t,n){!function(e,t){const{success:n,error:i}="object"==typeof t&&null!=t?t:{success:"function"==typeof t?t:()=>null,error:(e,t)=>(0,r.vV)("Network error",e,t)};e.then((e=>e.text().then((t=>[e,t])))).then((e=>{let[t,r]=e;const o=u(t,r);t.ok||304===t.status?n(r,o):i(t.statusText,o)}),(e=>i("",Object.assign(u({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?a:s);if(i===s&&t){const i=(0,r.Dl)(e,n);Object.assign(i.search,t),e=(0,r.c$)(i)}const c=new Headers(n.customHeaders);c.set(d,n.contentType||"text/plain");const u={method:i,headers:c};return i!==s&&t&&(u.body=t),n.withCredentials&&(u.credentials="include"),isSecureContext&&["browsingTopics","adAuctionHeaders"].forEach((e=>{n[e]&&(u[e]=!0)})),n.keepalive&&(u.keepalive=!0),o.makeRequest(e,u)}(e,n,arguments.length>3&&void 0!==arguments[3]?arguments[3]:{})),t)}}const f=l();c()},6881:(e,t,n)=>{n.d(t,{n:()=>ie});var i=n(1069),r=n(6833),o=n(2449),s=n(8044),a=n(3272);const d=15;function c(e){let{index:t=ie.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=e.vastXml?e.vastXml:(i=e.vastUrl,r=e.vastImpUrl,`<VAST version="3.0">\\n <Ad>\\n <Wrapper>\\n <AdSystem>prebid.org wrapper</AdSystem>\\n <VASTAdTagURI><![CDATA[${i}]]></VASTAdTagURI>\\n ${(r=r&&(Array.isArray(r)?r:[r]))?r.map((e=>`<Impression><![CDATA[${e}]]></Impression>`)).join(""):""}\\n <Creatives></Creatives>\\n </Wrapper>\\n </Ad>\\n </VAST>`);var i,r;const o=t.getAuction(e);let s={type:"xml",value:n,ttlseconds:Number(e.ttl)+d};return a.$W.getConfig("cache.vasttrack")&&(s.bidder=e.bidder,s.bidid=e.requestId,s.aid=e.auctionId),null!=o&&(s.timestamp=o.getAuctionStart()),"string"==typeof e.customCacheKey&&""!==e.customCacheKey&&(s.key=e.customCacheKey),s}const u={store:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.g4;const i={puts:e.map(c)};n(a.$W.getConfig("cache.timeout"))(a.$W.getConfig("cache.url"),function(e){return{success:function(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:function(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})}};function l(e){const t=e.map((e=>e.bidResponse));u.store(t,(function(n,r){var o;n?(o=n,(0,i.vV)(`Failed to save to the video cache: ${o}. Video bids will be discarded:`,t)):e.length!==r.length?(0,i.vV)(`expected ${e.length} cache IDs, got ${r.length} instead`):r.forEach(((t,n)=>{const{auctionInstance:r,bidResponse:o,afterBidAdded:s}=e[n];var d;""===t.uuid?(0,i.JE)("Supplied video cache key was already in use by Prebid Cache; caching attempt was rejected. Video bid must be discarded."):(o.videoCacheKey=t.uuid,o.vastUrl||(o.vastUrl=(d=o.videoCacheKey,`${a.$W.getConfig("cache.url")}?uuid=${d}`)),F(r,o),s())}))}))}let f,g;a.$W.getConfig("cache",(e=>{f="number"==typeof e.cache.batchSize&&e.cache.batchSize>0?e.cache.batchSize:1,g="number"==typeof e.cache.batchTimeout&&e.cache.batchTimeout>0?e.cache.batchTimeout:0}));const p=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:setTimeout,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l,n=[[]],i=!1;const r=e=>e();return function(o,s,a){const d=g>0?e:r;n[n.length-1].length>=f&&n.push([]),n[n.length-1].push({auctionInstance:o,bidResponse:s,afterBidAdded:a}),i||(i=!0,d((()=>{n.forEach(t),n=[[]],i=!1}),g))}}();var h=n(5789),m=n(8230),b=n(9214),y=n(5901),v=n(3895),E=n(1371),A=n(2693),I=n(5023),T=n(8046),w=n(8969),C=n(5555),B=n(6894);var O=n(7873),k=n(6853),R=n(7863);const{syncUsers:S}=m.zt,D="started",U="inProgress",_="completed";I.on(w.qY.BID_ADJUSTMENT,(function(e){!function(e){let t=function(e,t,n){let{index:r=ie.index,bs:o=A.u}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n=n||r.getBidRequest(t);const s=t?.adapterCode,a=t?.bidderCode||n?.bidder,d=o.get(t?.adapterCode,"adjustAlternateBids"),c=o.getOwn(a,"bidCpmAdjustment")||o.get(d?s:a,"bidCpmAdjustment");if(c&&"function"==typeof c)try{return c(e,Object.assign({},t),n)}catch(e){(0,i.vV)("Error during bid adjustment",e)}return e}(e.cpm,e);t>=0&&(e.cpm=t)}(e)}));const $=4,j={},q={},x=[],N=(0,O.m)();function P(e){let{adUnits:t,adUnitCodes:n,callback:s,cbTimeout:d,labels:c,auctionId:u,ortb2Fragments:l,metrics:f}=e;f=(0,B.BO)(f);const g=t,p=c,m=n,b=u||(0,i.lk)(),A=d,O=new Set,P=(0,C.v)(),z=(0,C.v)();let J,K,Q,Y,X=[],Z=s,ee=[],ne=(0,k.H)({startTime:e=>e.responseTimestamp,ttl:e=>null==(0,R.S9)()?null:1e3*Math.max((0,R.S9)(),e.ttl)}),re=[],oe=[],se=[];function ae(){return{auctionId:b,timestamp:J,auctionEnd:K,auctionStatus:Y,adUnits:g,adUnitCodes:m,labels:p,bidderRequests:ee,noBids:re,bidsReceived:ne.toArray(),bidsRejected:X,winningBids:oe,timeout:A,metrics:f,seatNonBids:se}}function de(e){if(e?I.Ic(w.qY.AUCTION_TIMEOUT,ae()):clearTimeout(Q),void 0===K){let n=[];e&&((0,i.OG)(`Auction ${b} timedOut`),n=ee.filter((e=>!O.has(e.bidderRequestId))).flatMap((e=>e.bids)),n.length&&I.Ic(w.qY.BID_TIMEOUT,n)),Y=_,K=Date.now(),f.checkpoint("auctionEnd"),f.timeBetween("requestBids","auctionEnd","requestBids.total"),f.timeBetween("callBids","auctionEnd","requestBids.callBids"),P.resolve(),I.Ic(w.qY.AUCTION_END,ae()),G(g,(function(){try{if(null!=Z){const t=ne.toArray().filter((e=>m.includes(e.adUnitCode))).reduce(te,{});Z.apply(N,[t,e,b]),Z=null}}catch(e){(0,i.vV)("Error executing bidsBackHandler",null,e)}finally{n.length&&T.Ay.callTimedOutBidders(t,n,A);let e=a.$W.getConfig("userSync")||{};e.enableOverride||S(e.syncDelay)}}))}}function ce(){a.$W.resetBidder(),(0,i.fH)(`Bids Received for Auction with id: ${b}`,ne.toArray()),Y=_,de(!1)}function ue(e){O.add(e)}function le(e){e.forEach((e=>{var t;t=e,ee=ee.concat(t)}));let t={},n={bidRequests:e,run:()=>{Q=setTimeout((()=>de(!0)),A),Y=U,I.Ic(w.qY.AUCTION_INIT,ae());let n=function(e,t){let{index:n=ie.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=0,d=!1,c=new Set,u={};function l(){s--,d&&0===s&&e()}function f(e,t,n){return u[t.requestId]=!0,function(e,t){let{index:n=ie.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n.getBidderRequest(e),o=n.getAdUnit(e),s=r&&r.start||e.requestTimestamp;Object.assign(e,{responseTimestamp:e.responseTimestamp||(0,i.vE)(),requestTimestamp:e.requestTimestamp||s,cpm:parseFloat(e.cpm)||0,bidder:e.bidder||e.bidderCode,adUnitCode:t}),null!=o?.ttlBuffer&&(e.ttlBuffer=o.ttlBuffer);e.timeToRespond=e.responseTimestamp-e.requestTimestamp}(t,e),s++,n(l)}function g(e,s){f(e,s,(e=>{let d=function(e){let{index:t=ie.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};I.Ic(w.qY.BID_ADJUSTMENT,e);const n=t.getBidRequest(e)?.renderer||t.getAdUnit(e).renderer,i=e.mediaType,o=t.getMediaTypes(e),s=o&&o[i];var d=s&&s.renderer,c=null;!d||!d.render||!0===d.backupOnly&&e.renderer?!n||!n.render||!0===n.backupOnly&&e.renderer||(c=n):c=d;c&&(e.renderer=h.A4.install({url:c.url,config:c.options,renderNow:null==c.url}),e.renderer.setRender(c.render));const u=L(e.mediaType,o,a.$W.getConfig("mediaTypePriceGranularity")),l=(0,r.j)(e.cpm,"object"==typeof u?u:a.$W.getConfig("customPriceBucket"),a.$W.getConfig("currency.granularityMultiplier"));return e.pbLg=l.low,e.pbMg=l.med,e.pbHg=l.high,e.pbAg=l.auto,e.pbDg=l.dense,e.pbCg=l.custom,e}(s);I.Ic(w.qY.BID_ACCEPTED,d),d.mediaType===E.G_?function(e,t,n){let{index:r=ie.index}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=!0;const s=r.getMediaTypes({requestId:t.originalRequestId||t.requestId,adUnitId:t.adUnitId})?.video,d=s&&s?.context,c=s&&s?.useCacheKey;a.$W.getConfig("cache.url")&&(c||d!==v.H6)&&(!t.videoCacheKey||a.$W.getConfig("cache.ignoreBidderCacheKey")?(o=!1,H(e,t,n,s)):t.vastUrl||((0,i.vV)("videoCacheKey specified but not required vastUrl for video bid"),o=!1));o&&(F(e,t),n())}(t,d,e):((0,o.l6)(d)&&(0,o.gs)(d,n.getAdUnit(d)),F(t,d),e())}))}function p(e,n,r){return f(e,n,(e=>{n.rejectionReason=r,(0,i.JE)(`Bid from ${n.bidder||"unknown bidder"} was rejected: ${r}`,n),I.Ic(w.qY.BID_REJECTED,n),t.addBidRejected(n),e()}))}function m(){let n=this,r=t.getBidRequests();const o=a.$W.getConfig("auctionOptions");if(c.add(n),o&&!(0,i.Im)(o)){const e=o.secondaryBidders;e&&!r.every((t=>(0,y.mK)(e,t.bidderCode)))&&(r=r.filter((t=>!(0,y.mK)(e,t.bidderCode))))}d=r.every((e=>c.has(e))),n.bids.forEach((e=>{u[e.bidId]||(t.addNoBid(e),I.Ic(w.qY.NO_BID,e))})),d&&0===s&&e()}return{addBidResponse:function(){function e(e,t){W.call({dispatch:g},e,t,(()=>{let n=!1;return i=>{n||(p(e,t,i),n=!0)}})())}return e.reject=p,e}(),adapterDone:function(){V(C.k.resolve()).finally((()=>m.call(this)))}}}(ce,this);T.Ay.callBids(g,e,n.addBidResponse,n.adapterDone,{request(e,n){d(j,n),d(t,e),q[e]||(q[e]={SRA:!0,origin:n}),t[e]>1&&(q[e].SRA=!1)},done(e){j[e]--,x[0]&&s(x[0])&&x.shift()}},A,ue,l),z.resolve()}};function s(e){let t=!0,n=a.$W.getConfig("maxRequestsPerOrigin")||$;return e.bidRequests.some((e=>{let i=1,r=void 0!==e.src&&e.src===w.RW.SRC?"s2s":e.bidderCode;return q[r]&&(!1===q[r].SRA&&(i=Math.min(e.bids.length,n)),j[q[r].origin]+i>n&&(t=!1)),!t})),t&&e.run(),t}function d(e,t){void 0===e[t]?e[t]=1:e[t]++}s(n)||((0,i.JE)("queueing auction due to limited endpoint capacity"),x.push(n))}return(0,R.lc)((()=>ne.refresh())),I.on(w.qY.SEAT_NON_BID,(e=>{var t;e.auctionId===b&&(t=e.seatnonbid,se=se.concat(t))})),{addBidReceived:function(e){ne.add(e)},addBidRejected:function(e){X=X.concat(e)},addNoBid:function(e){re=re.concat(e)},callBids:function(){Y=D,J=Date.now();let e=f.measureTime("requestBids.makeRequests",(()=>T.Ay.makeBidRequests(g,J,b,A,p,l,f)));(0,i.fH)(`Bids Requested for Auction with id: ${b}`,e),f.checkpoint("callBids"),e.length<1?((0,i.JE)("No valid bid requests returned for auction"),ce()):M.call({dispatch:le,context:this},e)},addWinningBid:function(e){oe=oe.concat(e),T.Ay.callBidWonBidder(e.adapterCode||e.bidder,e,t),e.deferBilling||T.Ay.triggerBilling(e)},setBidTargeting:function(e){T.Ay.callSetTargetingBidder(e.adapterCode||e.bidder,e)},getWinningBids:()=>oe,getAuctionStart:()=>J,getAuctionEnd:()=>K,getTimeout:()=>A,getAuctionId:()=>b,getAuctionStatus:()=>Y,getAdUnits:()=>g,getAdUnitCodes:()=>m,getBidRequests:()=>ee,getBidsReceived:()=>ne.toArray(),getNoBids:()=>re,getNonBids:()=>se,getFPD:()=>l,getMetrics:()=>f,end:P.promise,requestsDone:z.promise}}const W=(0,b.A_)("sync",(function(e,t,n){!function(e){const t=a.$W.getConfig("maxBid");return!t||!e.cpm||t>=Number(e.cpm)}(t)?n(w.Tf.PRICE_TOO_HIGH):this.dispatch.call(null,e,t)}),"addBidResponse"),V=(0,b.A_)("sync",(e=>e),"responsesReady"),M=(0,b.A_)("sync",(function(e){this.dispatch.call(this.context,e)}),"addBidderRequests"),G=(0,b.A_)("async",(function(e,t){t&&t()}),"bidsBackCallback");function F(e,t){!function(e){let t;const n=!0===A.u.get(e.bidderCode,"allowZeroCpmBids")?e.cpm>=0:e.cpm>0;e.bidderCode&&(n||e.dealId)&&(t=function(e,t){let{index:n=ie.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return{};const i=n.getBidRequest(t);var r={};const s=Z(t.mediaType,e);ee(r,s,t,i),e&&A.u.getOwn(e,w.iD.ADSERVER_TARGETING)&&(ee(r,A.u.ownSettingsFor(e),t,i),t.sendStandardTargeting=A.u.get(e,"sendStandardTargeting"));t.native&&(r=Object.assign({},r,(0,o.Zj)(t)));return r}(e.bidderCode,e));e.adserverTargeting=Object.assign(e.adserverTargeting||{},t)}(t),(0,B.BO)(t.metrics).timeSince("addBidResponse","addBidResponse.total"),e.addBidReceived(t),I.Ic(w.qY.BID_RESPONSE,t)}const H=(0,b.A_)("async",(function(e,t,n,i){p(e,t,n)}),"callPrebidCache");function L(e,t,n){if(e&&n){if(e===E.G_){const e=t?.[E.G_]?.context??"instream";if(n[`${E.G_}-${e}`])return n[`${E.G_}-${e}`]}return n[e]}}const z=e=>t=>{const n=e||function(e){let{index:t=ie.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=L(e.mediaType,t.getMediaTypes(e),a.$W.getConfig("mediaTypePriceGranularity"));return"string"==typeof e.mediaType&&n?"string"==typeof n?n:"custom":a.$W.getConfig("priceGranularity")}(t);return n===w.UE.AUTO?t.pbAg:n===w.UE.DENSE?t.pbDg:n===w.UE.LOW?t.pbLg:n===w.UE.MEDIUM?t.pbMg:n===w.UE.HIGH?t.pbHg:n===w.UE.CUSTOM?t.pbCg:void 0},J=()=>e=>e.creativeId?e.creativeId:"",K=()=>e=>e.meta&&e.meta.advertiserDomains&&e.meta.advertiserDomains.length>0?[e.meta.advertiserDomains].flat()[0]:"",Q=()=>e=>e.meta&&(e.meta.networkId||e.meta.networkName)?e?.meta?.networkName||e?.meta?.networkId:"",Y=()=>e=>e.meta&&e.meta.primaryCatId?e.meta.primaryCatId:"";function X(e,t){return{key:e,val:"function"==typeof t?function(e,n){return t(e,n)}:function(e){return e[t]}}}function Z(e,t){const n=Object.assign({},A.u.settingsFor(null));if(n[w.iD.ADSERVER_TARGETING]||(n[w.iD.ADSERVER_TARGETING]=[X(w.xS.BIDDER,"bidderCode"),X(w.xS.AD_ID,"adId"),X(w.xS.PRICE_BUCKET,z()),X(w.xS.SIZE,"size"),X(w.xS.DEAL,"dealId"),X(w.xS.SOURCE,"source"),X(w.xS.FORMAT,"mediaType"),X(w.xS.ADOMAIN,K()),X(w.xS.ACAT,Y()),X(w.xS.DSP,Q()),X(w.xS.CRID,J())]),"video"===e){const e=n[w.iD.ADSERVER_TARGETING].slice();if(n[w.iD.ADSERVER_TARGETING]=e,[w.xS.UUID,w.xS.CACHE_ID].forEach((t=>{void 0===(0,y.I6)(e,(e=>e.key===t))&&e.push(X(t,"videoCacheKey"))})),a.$W.getConfig("cache.url")&&(!t||!1!==A.u.get(t,"sendStandardTargeting"))){const t=(0,i.Dl)(a.$W.getConfig("cache.url"));void 0===(0,y.I6)(e,(e=>e.key===w.xS.CACHE_HOST))&&e.push(X(w.xS.CACHE_HOST,(function(e){return e?.adserverTargeting?.[w.xS.CACHE_HOST]||t.hostname})))}}return n}function ee(e,t,n,r){var o=t[w.iD.ADSERVER_TARGETING];return n.size=n.getSize(),(o||[]).forEach((function(o){var s=o.key,a=o.val;if(e[s]&&(0,i.JE)("The key: "+s+" is being overwritten"),(0,i.fp)(a))try{a=a(n,r)}catch(e){(0,i.vV)("bidmanager","ERROR",e)}(void 0===t.suppressEmptyKeys||!0!==t.suppressEmptyKeys)&&s!==w.xS.DEAL&&s!==w.xS.ACAT&&s!==w.xS.DSP&&s!==w.xS.CRID||!(0,i.xQ)(a)&&null!=a?e[s]=a:(0,i.fH)("suppressing empty key \'"+s+"\' from adserver targeting")})),e}function te(e,t){return e[t.adUnitCode]||(e[t.adUnitCode]={bids:[]}),e[t.adUnitCode].bids.push(t),e}function ne(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))},getOrtb2(e){return this.getBidderRequest(e)?.ortb2||this.getAuction(e)?.getFPD()?.global?.ortb2}})}const ie=function(){const e=(0,k.H)({startTime:e=>e.end.then((()=>e.getAuctionEnd())),ttl:e=>null==(0,R.S9)()?null:e.end.then((()=>1e3*Math.max((0,R.S9)(),...e.getBidsReceived().map((e=>e.ttl)))))});(0,R.lc)((()=>e.refresh()));const t={onExpiry:e.onExpiry};function n(t){for(const n of e)if(n.getAuctionId()===t)return n}function r(){return e.toArray().flatMap((e=>e.getBidsReceived()))}return t.addWinningBid=function(e){const t=(0,B.BO)(e.metrics);t.checkpoint("bidWon"),t.timeBetween("auctionEnd","bidWon","adserver.pending"),t.timeBetween("requestBids","bidWon","adserver.e2e");const r=n(e.auctionId);r?r.addWinningBid(e):(0,i.JE)("Auction not found when adding winning bid")},Object.entries({getAllWinningBids:{name:"getWinningBids"},getBidsRequested:{name:"getBidRequests"},getNoBids:{},getAdUnits:{},getBidsReceived:{pre:e=>e.getAuctionStatus()===_},getAdUnitCodes:{post:i.hj}}).forEach((n=>{let[i,{name:r=i,pre:o,post:s}]=n;const a=null==o?e=>e[r]():e=>o(e)?e[r]():[],d=null==s?e=>e:e=>e.filter(s);t[i]=()=>d(e.toArray().flatMap(a))})),t.getAllBidsForAdUnitCode=function(e){return r().filter((t=>t&&t.adUnitCode===e))},t.createAuction=function(t){const n=P(t);return function(t){e.add(t)}(n),n},t.findBidByAdId=function(e){return r().find((t=>t.adId===e))},t.getStandardBidderAdServerTargeting=function(){return Z()[w.iD.ADSERVER_TARGETING]},t.setStatusForBids=function(e,i){let r=t.findBidByAdId(e);if(r&&(r.status=i),r&&i===w.tl.BID_TARGETING_SET){const e=n(r.auctionId);e&&e.setBidTargeting(r)}},t.getLastAuctionId=function(){const t=e.toArray();return t.length&&t[t.length-1].getAuctionId()},t.clearAllAuctions=function(){e.clear()},t.index=new ne((()=>e.toArray())),t}()},7863:(e,t,n)=>{n.d(t,{S9:()=>u,cT:()=>c,lc:()=>l});var i=n(3272),r=n(1069);const o="minBidCacheTTL";let s=1,a=null;const d=[];function c(e){return e.ttl-(e.hasOwnProperty("ttlBuffer")?e.ttlBuffer:s)}function u(){return a}function l(e){d.push(e)}i.$W.getConfig("ttlBuffer",(e=>{"number"==typeof e.ttlBuffer?s=e.ttlBuffer:(0,r.vV)("Invalid value for ttlBuffer",e.ttlBuffer)})),i.$W.getConfig(o,(e=>{const t=a;a=e?.[o],a="number"==typeof a?a:null,t!==a&&d.forEach((e=>e(a)))}))},2693:(e,t,n)=>{n.d(t,{u:()=>a});var i=n(433),r=n(1069),o=n(7873),s=n(8969);const a=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.#e(e),(0,i.A)(this.getSettings(),`${e}.${t}`)}getScopes(){return Object.keys(this.getSettings()).filter((e=>e!==this.defaultScope))}settingsFor(e){return(0,r.D9)({},this.ownSettingsFor(null),this.ownSettingsFor(e))}ownSettingsFor(e){return e=this.#e(e),this.getSettings()[e]||{}}#e(e){return null==e?this.defaultScope:e}}((()=>(0,o.m)().bidderSettings||{}),s.iD.BD_SETTING_STANDARD)},3597:(e,t,n)=>{n.d(t,{O:()=>o});var i=n(1069);function r(e){let{src:t="client",bidder:n="",bidId:r,transactionId:o,adUnitId:s,auctionId:a}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var d=t,c=e||0;Object.assign(this,{bidderCode:n,width:0,height:0,statusMessage:function(){switch(c){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:(0,i.s0)(),requestId:r,transactionId:o,adUnitId:s,auctionId:a,mediaType:"banner",source:d}),this.getStatusCode=function(){return c},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 o(e,t){return new r(e,t)}},3272:(e,t,n)=>{n.d(t,{$W:()=>h,Ov:()=>u});var i=n(6833),r=n(5901),o=n(1069),s=n(433),a=n(8969);const d="TRUE"===(0,o.Ez)(a.M).toUpperCase(),c={},u="random",l={};l[u]=!0,l.fixed=!0;const f=u,g={LOW:"low",MEDIUM:"medium",HIGH:"high",AUTO:"auto",DENSE:"dense",CUSTOM:"custom"};function p(e){const t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1]?{priceGranularity:g.MEDIUM,customPriceBucket:{},mediaTypePriceGranularity:{},bidderSequence:f,auctionOptions:{}}:{};function n(e){return t[e]}function s(n,i){t.hasOwnProperty(n)||Object.defineProperty(e,n,{enumerable:!0}),t[n]=i}const a={publisherDomain:{set(e){null!=e&&(0,o.JE)("publisherDomain is deprecated and has no effect since v7 - use pageUrl instead"),s("publisherDomain",e)}},priceGranularity:{set(e){c(e)&&("string"==typeof e?s("priceGranularity",d(e)?e:g.MEDIUM):(0,o.Qd)(e)&&(s("customPriceBucket",e),s("priceGranularity",g.CUSTOM),(0,o.OG)("Using custom price granularity")))}},customPriceBucket:{},mediaTypePriceGranularity:{set(e){null!=e&&s("mediaTypePriceGranularity",Object.keys(e).reduce(((t,i)=>(c(e[i])?"string"==typeof e?t[i]=d(e[i])?e[i]:n("priceGranularity"):(0,o.Qd)(e)&&(t[i]=e[i],(0,o.OG)(`Using custom price granularity for ${i}`)):(0,o.JE)(`Invalid price granularity for media type: ${i}`),t)),{}))}},bidderSequence:{set(e){l[e]?s("bidderSequence",e):(0,o.JE)(`Invalid order: ${e}. Bidder Sequence was not set.`)}},auctionOptions:{set(e){(function(e){if(!(0,o.Qd)(e))return(0,o.JE)("Auction Options must be an object"),!1;for(let t of Object.keys(e)){if("secondaryBidders"!==t&&"suppressStaleRender"!==t&&"suppressExpiredRender"!==t)return(0,o.JE)(`Auction Options given an incorrect param: ${t}`),!1;if("secondaryBidders"===t){if(!(0,o.cy)(e[t]))return(0,o.JE)(`Auction Options ${t} must be of type Array`),!1;if(!e[t].every(o.O8))return(0,o.JE)(`Auction Options ${t} must be only string`),!1}else if(("suppressStaleRender"===t||"suppressExpiredRender"===t)&&!(0,o.Lm)(e[t]))return(0,o.JE)(`Auction Options ${t} must be of type boolean`),!1}return!0})(e)&&s("auctionOptions",e)}}};return Object.defineProperties(e,Object.fromEntries(Object.entries(a).map((e=>{let[i,r]=e;return[i,Object.assign({get:n.bind(null,i),set:s.bind(null,i),enumerable:t.hasOwnProperty(i),configurable:!t.hasOwnProperty(i)},r)]})))),e;function d(e){return(0,r.I6)(Object.keys(g),(t=>e===g[t]))}function c(e){if(!e)return(0,o.vV)("Prebid Error: no value passed to `setPriceGranularity()`"),!1;if("string"==typeof e)d(e)||(0,o.JE)("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if((0,o.Qd)(e)&&!(0,i.q)(e))return(0,o.vV)("Invalid custom price value passed to `setPriceGranularity()`"),!1;return!0}}const h=function(){let e,t,n,i=[],a=null;function u(){e={};let i=p({debug:d,bidderTimeout:3e3,enableSendAllBids:true,useBidCache:false,deviceAccess:true,disableAjaxTimeout:false,maxNestedIframes:10,maxBid:5e3,userSync:{topics:c}});t&&v(Object.keys(t).reduce(((e,n)=>(t[n]!==i[n]&&(e[n]=i[n]||{}),e)),{})),t=i,n={}}function l(){if(a&&n&&(0,o.Qd)(n[a])){let e=n[a];const i=new Set(Object.keys(t).concat(Object.keys(e)));return(0,r.A6)(i).reduce(((n,i)=>(void 0===e[i]?n[i]=t[i]:void 0===t[i]?n[i]=e[i]:(0,o.Qd)(e[i])?n[i]=(0,o.D9)({},t[i],e[i]):n[i]=e[i],n)),{})}return Object.assign({},t)}const[f,g]=[l,function(){const e=l();return Object.defineProperty(e,"ortb2",{get:function(){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?(0,s.A)(e(),t):l()}return y(...arguments)})),[h,m]=[g,f].map((e=>function(){let t=e(...arguments);return t&&"object"==typeof t&&(t=(0,o.Go)(t)),t}));function b(n){if(!(0,o.Qd)(n))return void(0,o.vV)("setConfig options must be an object");let i=Object.keys(n),r={};i.forEach((i=>{let s=n[i];(0,o.Qd)(e[i])&&(0,o.Qd)(s)&&(s=Object.assign({},e[i],s));try{r[i]=t[i]=s}catch(e){(0,o.JE)(`Cannot set config for property ${i} : `,e)}})),v(r)}function y(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(0,o.vV)("listener must be a function");const s={topic:e,callback:r};return i.push(s),n.init&&r("*"===e?g():{[e]:g(e)}),function(){i.splice(i.indexOf(s),1)}}function v(e){const t=Object.keys(e);i.filter((e=>(0,r.mK)(t,e.topic))).forEach((t=>{t.callback({[t.topic]:e[t.topic]})})),i.filter((e=>"*"===e.topic)).forEach((t=>t.callback(e)))}function E(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{!function(e){if(!(0,o.Qd)(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(!(0,o.Qd)(e.config))throw"setBidderConfig bidder options must contain a config object"}(e),e.bidders.forEach((i=>{n[i]||(n[i]=p({},!1)),Object.keys(e.config).forEach((r=>{let s=e.config[r];const a=n[i][r];if((0,o.Qd)(s)&&(null==a||(0,o.Qd)(a))){const e=t?o.D9:Object.assign;n[i][r]=e({},a||{},s)}else n[i][r]=s}))}))}catch(e){(0,o.vV)(e)}}function A(e,t){a=e;try{return t()}finally{I()}}function I(){a=null}return u(),{getCurrentBidder:function(){return a},resetBidder:I,getConfig:g,getAnyConfig:f,readConfig:h,readAnyConfig:m,setConfig:b,mergeConfig:function(e){if(!(0,o.Qd)(e))return void(0,o.vV)("mergeConfig input must be an object");const t=(0,o.D9)(l(),e);return b({...t}),t},setDefaults:function(n){(0,o.Qd)(e)?(Object.assign(e,n),Object.assign(t,n)):(0,o.vV)("defaults must be an object")},resetConfig:u,runWithBidder:A,callbackWithBidder:function(e){return function(t){return function(){if("function"==typeof t){for(var n=arguments.length,i=new Array(n),r=0;r<n;r++)i[r]=arguments[r];return A(e,t.bind(this,...i))}(0,o.JE)("config.callbackWithBidder callback is not a function")}}},setBidderConfig:E,getBidderConfig:function(){return n},mergeBidderConfig:function(e){return E(e,!0)}}}()},6916:(e,t,n)=>{n.d(t,{SL:()=>g,ad:()=>c,mW:()=>a,o2:()=>l,t6:()=>d});var i=n(1069),r=n(5555),o=n(3272);Object.freeze({});class s{#t;#n;#i;#r;#o=!0;#s;generatedTime;hashFields;constructor(){this.reset()}#a(e){this.#r=!0,this.#n=e,this.#i.resolve(e)}reset(){this.#i=(0,r.v)(),this.#t=!1,this.#n=null,this.#r=!1,this.generatedTime=null}enable(){this.#t=!0}get enabled(){return this.#t}get ready(){return this.#r}get promise(){return this.#r?r.k.resolve(this.#n):(this.#t||this.#a(null),this.#i.promise)}setConsentData(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,i.vE)();this.generatedTime=t,this.#o=!0,this.#a(e)}getConsentData(){return this.#n}get hash(){return this.#o&&(this.#s=(0,i.PB)(JSON.stringify(this.#n&&this.hashFields?this.hashFields.map((e=>this.#n[e])):this.#n)),this.#o=!1),this.#s}}const a=new class extends s{hashFields=["gdprApplies","consentString"];getConsentMeta(){const e=this.getConsentData();if(e&&e.vendorData&&this.generatedTime)return{gdprApplies:e.gdprApplies,consentStringSize:(0,i.O8)(e.vendorData.tcString)?e.vendorData.tcString.length:0,generatedAt:this.generatedTime,apiVersion:e.apiVersion}}},d=new class extends s{getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},c=new class extends s{hashFields=["applicableSections","gppString"];getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},u=(()=>{function e(){return!!o.$W.getConfig("coppa")}return{getCoppa:e,getConsentData:e,getConsentMeta:e,reset(){},get promise(){return r.k.resolve(e())},get hash(){return e()?"1":"0"}}})(),l=function(){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}}}(),f={gdpr:a,usp:d,gpp:c,coppa:u};const g=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f;return e=Object.entries(e),Object.assign({get promise(){return r.k.all(e.map((e=>{let[t,n]=e;return n.promise.then((e=>[t,e]))}))).then((e=>Object.fromEntries(e)))},get hash(){return(0,i.PB)(e.map((e=>{let[t,n]=e;return n.hash})).join(":"))}},Object.fromEntries(["getConsentData","getConsentMeta","reset"].map((t=>{return[t,(n=t,function(){return Object.fromEntries(e.map((e=>{let[t,i]=e;return[t,i[n]()]})))})];var n}))))}()},8969:(e,t,n)=>{n.d(t,{IY:()=>A,M:()=>r,RW:()=>g,Tf:()=>h,UE:()=>c,XQ:()=>o,Zh:()=>l,_B:()=>v,as:()=>a,cA:()=>d,h0:()=>m,iD:()=>i,jO:()=>b,nl:()=>E,oA:()=>y,qY:()=>s,tl:()=>p,x5:()=>f,xS:()=>u});const i={PL_CODE:"code",PL_SIZE:"sizes",PL_BIDS:"bids",BD_BIDDER:"bidder",BD_ID:"paramsd",BD_PL_ID:"placementId",ADSERVER_TARGETING:"adserverTargeting",BD_SETTING_STANDARD:"standard"},r="pbjs_debug",o={GOOD:1},s={AUCTION_INIT:"auctionInit",AUCTION_TIMEOUT:"auctionTimeout",AUCTION_END:"auctionEnd",BID_ADJUSTMENT:"bidAdjustment",BID_TIMEOUT:"bidTimeout",BID_REQUESTED:"bidRequested",BID_RESPONSE:"bidResponse",BID_REJECTED:"bidRejected",NO_BID:"noBid",SEAT_NON_BID:"seatNonBid",BID_WON:"bidWon",BIDDER_DONE:"bidderDone",BIDDER_ERROR:"bidderError",SET_TARGETING:"setTargeting",BEFORE_REQUEST_BIDS:"beforeRequestBids",BEFORE_BIDDER_HTTP:"beforeBidderHttp",REQUEST_BIDS:"requestBids",ADD_AD_UNITS:"addAdUnits",AD_RENDER_FAILED:"adRenderFailed",AD_RENDER_SUCCEEDED:"adRenderSucceeded",TCF2_ENFORCEMENT:"tcf2Enforcement",AUCTION_DEBUG:"auctionDebug",BID_VIEWABLE:"bidViewable",STALE_RENDER:"staleRender",EXPIRED_RENDER:"expiredRender",BILLABLE_EVENT:"billableEvent",BID_ACCEPTED:"bidAccepted",RUN_PAAPI_AUCTION:"paapiRunAuction",PBS_ANALYTICS:"pbsAnalytics",PAAPI_BID:"paapiBid",PAAPI_NO_BID:"paapiNoBid",PAAPI_ERROR:"paapiError"},a={PREVENT_WRITING_ON_MAIN_DOCUMENT:"preventWritingOnMainDocument",NO_AD:"noAd",EXCEPTION:"exception",CANNOT_FIND_AD:"cannotFindAd",MISSING_DOC_OR_ADID:"missingDocOrAdid"},d={bidWon:"adUnitCode"},c={LOW:"low",MEDIUM:"medium",HIGH:"high",AUTO:"auto",DENSE:"dense",CUSTOM:"custom"},u={BIDDER:"hb_bidder",AD_ID:"hb_adid",PRICE_BUCKET:"hb_pb",SIZE:"hb_size",DEAL:"hb_deal",SOURCE:"hb_source",FORMAT:"hb_format",UUID:"hb_uuid",CACHE_ID:"hb_cache_id",CACHE_HOST:"hb_cache_host",ADOMAIN:"hb_adomain",ACAT:"hb_acat",CRID:"hb_crid",DSP:"hb_dsp"},l={BIDDER:"hb_bidder",AD_ID:"hb_adid",PRICE_BUCKET:"hb_pb",SIZE:"hb_size",DEAL:"hb_deal",FORMAT:"hb_format",UUID:"hb_uuid",CACHE_HOST:"hb_cache_host"},f={title:"hb_native_title",body:"hb_native_body",body2:"hb_native_body2",privacyLink:"hb_native_privacy",privacyIcon:"hb_native_privicon",sponsoredBy:"hb_native_brand",image:"hb_native_image",icon:"hb_native_icon",clickUrl:"hb_native_linkurl",displayUrl:"hb_native_displayurl",cta:"hb_native_cta",rating:"hb_native_rating",address:"hb_native_address",downloads:"hb_native_downloads",likes:"hb_native_likes",phone:"hb_native_phone",price:"hb_native_price",salePrice:"hb_native_saleprice",rendererUrl:"hb_renderer_url",adTemplate:"hb_adTemplate"},g={SRC:"s2s",DEFAULT_ENDPOINT:"https://prebid.adnxs.com/pbs/v1/openrtb2/auction",SYNCED_BIDDERS_KEY:"pbjsSyncs"},p={BID_TARGETING_SET:"targetingSet",RENDERED:"rendered",BID_REJECTED:"bidRejected"},h={INVALID:"Bid has missing or invalid properties",INVALID_REQUEST_ID:"Invalid request ID",BIDDER_DISALLOWED:"Bidder code is not allowed by allowedAlternateBidderCodes / allowUnknownBidderCodes",FLOOR_NOT_MET:"Bid does not meet price floor",CANNOT_CONVERT_CURRENCY:"Unable to convert currency",DSA_REQUIRED:"Bid does not provide required DSA transparency info",DSA_MISMATCH:"Bid indicates inappropriate DSA rendering method",PRICE_TOO_HIGH:"Bid price exceeds maximum value"},m={body:"desc",body2:"desc2",sponsoredBy:"sponsored",cta:"ctatext",rating:"rating",address:"address",downloads:"downloads",likes:"likes",phone:"phone",price:"price",salePrice:"saleprice",displayUrl:"displayurl"},b={sponsored:1,desc:2,rating:3,likes:4,downloads:5,price:6,saleprice:7,phone:8,address:9,desc2:10,displayurl:11,ctatext:12},y={ICON:1,MAIN:3},v=["privacyIcon","clickUrl","sendTargetingKeys","adTemplate","rendererUrl","type"],E={REQUEST:"Prebid Request",RESPONSE:"Prebid Response",NATIVE:"Prebid Native",EVENT:"Prebid Event"},A="__pb_locator__"},6833:(e,t,n)=>{n.d(t,{j:()=>f,q:()=>p});var i=n(5901),r=n(1069),o=n(3272);const s=2,a={buckets:[{max:5,increment:.5}]},d={buckets:[{max:20,increment:.1}]},c={buckets:[{max:20,increment:.01}]},u={buckets:[{max:3,increment:.01},{max:8,increment:.05},{max:20,increment:.5}]},l={buckets:[{max:5,increment:.05},{max:10,increment:.1},{max:20,increment:.5}]};function f(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=parseFloat(e);return isNaN(i)&&(i=""),{low:""===i?"":g(e,a,n),med:""===i?"":g(e,d,n),high:""===i?"":g(e,c,n),auto:""===i?"":g(e,l,n),dense:""===i?"":g(e,u,n),custom:""===i?"":g(e,t,n)}}function g(e,t,n){let a="";if(!p(t))return a;const d=t.buckets.reduce(((e,t)=>e.max>t.max?e:t),{max:0});let c=0,u=(0,i.I6)(t.buckets,(t=>{if(e>d.max*n){let e=t.precision;void 0===e&&(e=s),a=(t.max*n).toFixed(e)}else{if(e<=t.max*n&&e>=c*n)return t.min=c,t;c=t.max}}));return u&&(a=function(e,t,n){const i=void 0!==t.precision?t.precision:s,a=t.increment*n,d=t.min*n;let c=Math.floor,u=o.$W.getConfig("cpmRoundingFunction");"function"==typeof u&&(c=u);let l,f,g=Math.pow(10,i+2),p=(e*g-d*g)/(a*g);try{l=c(p)*a+d}catch(e){f=!0}(f||"number"!=typeof l)&&((0,r.JE)("Invalid rounding function passed in config"),l=Math.floor(p)*a+d);return l=Number(l.toFixed(10)),l.toFixed(i)}(e,u,n)),a}function p(e){if((0,r.Im)(e)||!e.buckets||!Array.isArray(e.buckets))return!1;let t=!0;return e.buckets.forEach((e=>{e.max&&e.increment||(t=!1)})),t}},6031:(e,t,n)=>{n.d(t,{H:()=>a,k:()=>s});var i=n(5555),r=n(1069),o=n(4595);const s=(0,n(9214).A_)("sync",(function(e){return o.G})),a=function(){const e={};return function(t){const n=s(t);return e.hasOwnProperty(n)||(e[n]=new i.k((e=>{const t=(0,r.CA)();t.srcdoc=`<script>${n}<\\/script>`,t.onload=()=>e(t.contentWindow.render),document.body.appendChild(t)}))),e[n]}}()},5023:(e,t,n)=>{n.d(t,{AU:()=>m,Ic:()=>v,kQ:()=>y,on:()=>h});var i=n(1069),r=n(8969),o=n(6853),s=n(3272);const a="eventHistoryTTL";let d=null;const c=(0,o.H)({monotonic:!0,ttl:()=>d});s.$W.getConfig(a,(e=>{const t=d;e=e?.[a],d="number"==typeof e?1e3*e:null,t!==d&&c.refresh()}));let u=Array.prototype.slice,l=Array.prototype.push,f=Object.values(r.qY);const g=r.cA,p=function(){let e={},t={};function n(e){return f.includes(e)}return t.has=n,t.on=function(t,r,o){if(n(t)){let n=e[t]||{que:[]};o?(n[o]=n[o]||{que:[]},n[o].que.push(r)):n.que.push(r),e[t]=n}else i.vV("Wrong event name : "+t+" Valid event names :"+f)},t.emit=function(t){!function(t,n){i.OG("Emitting event for: "+t);let r=n[0]||{},o=r[g[t]],s=e[t]||{que:[]};var a=Object.keys(s);let d=[];c.add({eventType:t,args:r,id:o,elapsedTime:i.V()}),o&&a.includes(o)&&l.apply(d,s[o].que),l.apply(d,s.que),(d||[]).forEach((function(e){if(e)try{e.apply(null,n)}catch(e){i.vV("Error executing handler:","events.js",e,t)}}))}(t,u.call(arguments,1))},t.off=function(t,n,r){let o=e[t];i.Im(o)||i.Im(o.que)&&i.Im(o[r])||r&&(i.Im(o[r])||i.Im(o[r].que))||(r?(o[r].que||[]).forEach((function(e){let t=o[r].que;e===n&&t.splice(t.indexOf(e),1)})):(o.que||[]).forEach((function(e){let t=o.que;e===n&&t.splice(t.indexOf(e),1)})),e[t]=o)},t.get=function(){return e},t.addEvents=function(e){f=f.concat(e)},t.getEvents=function(){return c.toArray().map((e=>Object.assign({},e)))},t}();i.cD(p.emit.bind(p));const{on:h,off:m,get:b,getEvents:y,emit:v,addEvents:E,has:A}=p},1970:(e,t,n)=>{n.d(t,{w:()=>T});var i=n(9214),r=n(7934),o=n(1069);const s=(0,n(2938).CK)("fpdEnrichment"),a=(0,o.Bj)((function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.host;if(!s.cookiesAreEnabled())return e;const t=e.split(".");if(2===t.length)return e;let n,i,r=-2;const a=`_rdc${Date.now()}`,d="writeable";do{n=t.slice(r).join(".");let e=new Date((0,o.vE)()+1e4).toUTCString();s.setCookie(a,d,e,"Lax",n,void 0);s.getCookie(a,void 0)===d?(i=!1,s.setCookie(a,"","Thu, 01 Jan 1970 00:00:01 GMT",void 0,n,void 0)):(r+=-1,i=Math.abs(r)<=t.length)}while(i);return n}));var d=n(3172),c=n(3272),u=n(5555);const l=["architecture","bitness","model","platformVersion","fullVersionList"],f=["brands","mobile","platform"],g=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator?.userAgentData;const t=e&&f.some((t=>void 0!==e[t]))?Object.freeze(h(1,e)):null;return function(){return t}}(),p=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator?.userAgentData;const t={},n=new WeakMap;return function(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l;if(!n.has(i)){const e=Array.from(i);e.sort(),n.set(i,e.join("|"))}const r=n.get(i);if(!t.hasOwnProperty(r))try{t[r]=e.getHighEntropyValues(i).then((e=>(0,o.Im)(e)?null:Object.freeze(h(2,e)))).catch((()=>null))}catch(e){t[r]=u.k.resolve(null)}return t[r]}}();function h(e,t){function n(e,t){const n={brand:e};return(0,o.O8)(t)&&!(0,o.xQ)(t)&&(n.version=t.split(".")),n}const i={source:e};return t.platform&&(i.platform=n(t.platform,t.platformVersion)),(t.fullVersionList||t.brands)&&(i.browsers=(t.fullVersionList||t.brands).map((e=>{let{brand:t,version:i}=e;return n(t,i)}))),void 0!==t.mobile&&(i.mobile=t.mobile?1:0),["model","bitness","architecture"].forEach((e=>{const n=t[e];(0,o.O8)(n)&&(i[e]=n)})),i}var m=n(3858),b=n(5139),y=n(3441),v=n(6811),E=n(5569);const A={getRefererInfo:r.EN,findRootDomain:a,getWindowTop:o.mb,getWindowSelf:o.l4,getHighEntropySUA:p,getLowEntropySUA:g},I=(0,m.i8)("FPD"),T=(0,i.A_)("sync",(e=>{const t=[e,C().catch((()=>null)),u.k.resolve("cookieDeprecationLabel"in navigator&&(0,b.io)(v.Ue,(0,y.s)(E.tp,"cdep"))&&navigator.cookieDeprecationLabel.getValue()).catch((()=>null))];return u.k.all(t).then((e=>{let[t,n,i]=e;const r=A.getRefererInfo();if(Object.entries(O).forEach((e=>{let[n,i]=e;const s=i(t,r);s&&Object.keys(s).length>0&&(t[n]=(0,o.D9)({},s,t[n]))})),n&&(0,d.J)(t,"device.sua",Object.assign({},n,t.device.sua)),i){const e={cdep:i};(0,d.J)(t,"device.ext",Object.assign({},e,t.device.ext))}t=I(t);for(let e of m.Dy)if((0,m.O$)(t,e)){t[e]=(0,o.D9)({},k(t,r),t[e]);break}return t}))}));function w(e){try{return e(A.getWindowTop())}catch(t){return e(A.getWindowSelf())}}function C(){const e=c.$W.getConfig("firstPartyData.uaHints");return Array.isArray(e)&&0!==e.length?A.getHighEntropySUA(e):u.k.resolve(A.getLowEntropySUA())}function B(e){return(0,o.SH)(e,Object.keys(e))}const O={site(e,t){if(!m.Dy.filter((e=>"site"!==e)).some(m.O$.bind(null,e)))return B({page:t.page,ref:t.ref})},device:()=>w((e=>{const t=e.screen.width,n=e.screen.height,i=e.innerWidth||e.document.documentElement.clientWidth||e.document.body.clientWidth,r=e.innerHeight||e.document.documentElement.clientHeight||e.document.body.clientHeight,s={w:t,h:n,dnt:(0,o.l9)()?1:0,ua:e.navigator.userAgent,language:e.navigator.language.split("-").shift(),ext:{vpw:i,vph:r}};return e.navigator?.webdriver&&(0,d.J)(s,"ext.webdriver",!0),s})),regs(){const e={};w((e=>e.navigator.globalPrivacyControl))&&(0,d.J)(e,"ext.gpc","1");const t=c.$W.getConfig("coppa");return"boolean"==typeof t&&(e.coppa=t?1:0),e}};function k(e,t){const n=(0,r.gR)(t.page,{noLeadingWww:!0}),i=w((e=>e.document.querySelector("meta[name=\'keywords\']")))?.content?.replace?.(/\\s/g,"");return B({domain:n,keywords:i,publisher:B({domain:A.findRootDomain(n)})})}},3858:(e,t,n)=>{n.d(t,{Dy:()=>r,O$:()=>s,i8:()=>o});var i=n(1069);const r=["dooh","app","site"];function o(e){return function(t){return r.reduce(((n,r)=>(s(t,r)&&(null!=n?((0,i.JE)(`${e} specifies both \'${n}\' and \'${r}\'; dropping the latter.`),delete t[r]):n=r),n)),null),t}}function s(e,t){return null!=e[t]&&Object.keys(e[t]).length>0}},9214:(e,t,n)=>{n.d(t,{A_:()=>s,Y6:()=>c,Yn:()=>d});var i=n(8128),r=n.n(i),o=n(5555);let s=r()({ready:r().SYNC|r().ASYNC|r().QUEUE});const a=(0,o.v)();s.ready=(()=>{const e=s.ready;return function(){try{return e.apply(s,arguments)}finally{a.resolve()}}})();a.promise;const d=s.get;function c(e,t){return Object.defineProperties(t,Object.fromEntries(["before","after","getHooks","removeAll"].map((t=>[t,{get:()=>e[t]}])))),t}},1371:(e,t,n)=>{n.d(t,{D4:()=>o,G_:()=>r,LM:()=>s,s6:()=>i});const i="native",r="video",o="banner",s="adpod"},2449:(e,t,n)=>{n.d(t,{Bm:()=>E,IX:()=>O,Nh:()=>u,Zj:()=>T,gs:()=>I,l6:()=>m,mT:()=>c,nk:()=>y,vO:()=>A,yl:()=>k});var i=n(1069),r=n(5901),o=n(6881),s=n(8969),a=n(9075),d=n(6031);const c=[],u=Object.keys(s.x5).map((e=>s.x5[e])),l={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}}},f=U(s.h0),g=U(s.jO),p={img:1,js:2,1:"img",2:"js"},h={impression:1,"viewable-mrc50":2,"viewable-mrc100":3,"viewable-video50":4};function m(e){return e.native&&"object"==typeof e.native}function b(e){if(e&&e.type&&function(e){if(!e||!(0,r.mK)(Object.keys(l),e))return(0,i.vV)(`${e} nativeParam is not supported`),!1;return!0}(e.type)&&(e=l[e.type]),!e||!e.ortb||v(e.ortb))return e}function y(e){e.forEach((e=>{const t=e.nativeParams||e?.mediaTypes?.native;t&&(e.nativeParams=b(t)),e.nativeParams&&(e.nativeOrtbRequest=e.nativeParams.ortb||function(e){if(!e&&!(0,i.Qd)(e))return void(0,i.vV)("Native assets object is empty or not an object: ",e);const t={ver:"1.2",assets:[]};for(let n in e){if(s._B.includes(n))continue;if(!s.x5.hasOwnProperty(n)){(0,i.vV)(`Unrecognized native asset code: ${n}. Asset will be ignored.`);continue}if("privacyLink"===n){t.privacy=1;continue}const r=e[n];let o=0;r.required&&(0,i.Lm)(r.required)&&(o=Number(r.required));const a={id:t.assets.length,required:o};if(n in s.h0)a.data={type:s.jO[s.h0[n]]},r.len&&(a.data.len=r.len);else if("icon"===n||"image"===n){if(a.img={type:"icon"===n?s.oA.ICON:s.oA.MAIN},r.aspect_ratios)if((0,i.cy)(r.aspect_ratios))if(r.aspect_ratios.length){const{min_width:e,min_height:t}=r.aspect_ratios[0];(0,i.Fq)(e)&&(0,i.Fq)(t)?(a.img.wmin=e,a.img.hmin=t):(0,i.vV)("image.aspect_ratios min_width or min_height are invalid: ",e,t);const n=r.aspect_ratios.filter((e=>e.ratio_width&&e.ratio_height)).map((e=>`${e.ratio_width}:${e.ratio_height}`));n.length>0&&(a.img.ext={aspectratios:n})}else(0,i.vV)("image.aspect_ratios was passed, but it\'s empty:",r.aspect_ratios);else(0,i.vV)("image.aspect_ratios was passed, but it\'s not a an array:",r.aspect_ratios);r.sizes&&(2===r.sizes.length&&(0,i.Fq)(r.sizes[0])&&(0,i.Fq)(r.sizes[1])?(a.img.w=r.sizes[0],a.img.h=r.sizes[1],delete a.img.hmin,delete a.img.wmin):(0,i.vV)("image.sizes was passed, but its value is not an array of integers:",r.sizes))}else"title"===n?a.title={len:r.len||140}:"ext"===n&&(a.ext=r,delete a.required);t.assets.push(a)}return t}(e.nativeParams))}))}function v(e){const t=e.assets;if(!Array.isArray(t)||0===t.length)return(0,i.vV)("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)))?((0,i.vV)("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)?((0,i.vV)("ortb.eventtrackers is not an array. Eventtrackers: ",e.eventtrackers),!1):t.every((e=>function(e){if(!(0,i.Qd)(e))return(0,i.vV)("asset must be an object. Provided asset: ",e),!1;if(e.img){if(!(0,i.Et)(e.img.w)&&!(0,i.Et)(e.img.wmin))return(0,i.vV)("for img asset there must be \'w\' or \'wmin\' property"),!1;if(!(0,i.Et)(e.img.h)&&!(0,i.Et)(e.img.hmin))return(0,i.vV)("for img asset there must be \'h\' or \'hmin\' property"),!1}else if(e.title){if(!(0,i.Et)(e.title.len))return(0,i.vV)("for title asset there must be \'len\' property defined"),!1}else if(e.data){if(!(0,i.Et)(e.data.type))return(0,i.vV)("for data asset \'type\' property must be a number"),!1}else if(e.video&&!(Array.isArray(e.video.mimes)&&Array.isArray(e.video.protocols)&&(0,i.Et)(e.video.minduration)&&(0,i.Et)(e.video.maxduration)))return(0,i.vV)("video asset is not properly configured"),!1;return!0}(e)))}function E(e){let{index:t=o.n.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=t.getAdUnit(e);if(!n)return!1;let s=n.nativeOrtbRequest;return function(e,t){if(!e?.link?.url)return(0,i.vV)("native response doesn\'t have \'link\' property. Ortb response: ",e),!1;let n=t.assets.filter((e=>1===e.required)).map((e=>e.id)),o=e.assets.map((e=>e.id));const s=n.every((e=>(0,r.mK)(o,e)));s||(0,i.vV)(`didn\'t receive a bid with all required assets. Required ids: ${n}, but received ids in response: ${o}`);return s}(e.native?.ortb||D(e.native,s),s)}function A(e,t){const n=t.native.ortb||S(t.native);return"click"===e.action?function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,{fetchURL:n=i.z$}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(t){const i=(e.assets||[]).filter((e=>e.link)).reduce(((e,t)=>(e[t.id]=t.link,e)),{}),r=e.link?.clicktrackers||[];let o=i[t],s=r;o&&(s=o.clicktrackers||[]),s.forEach((e=>n(e)))}else(e.link?.clicktrackers||[]).forEach((e=>n(e)))}(n,e?.assetId):function(e){let{runMarkup:t=(e=>(0,i.ro)(e)),fetchURL:n=i.z$}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=(e.eventtrackers||[]).filter((e=>e.event===h.impression));let{img:o,js:s}=r.reduce(((e,t)=>(p.hasOwnProperty(t.method)&&e[p[t.method]].push(t.url),e)),{img:[],js:[]});e.imptrackers&&(o=o.concat(e.imptrackers));o.forEach((e=>n(e))),s=s.map((e=>`<script async src="${e}"><\\/script>`)),e.jstracker&&(s=s.concat([e.jstracker]));s.length&&t(s.join("\\n"))}(n),e.action}function I(e,t){const n=t?.nativeOrtbRequest,i=e.native?.ortb;if(n&&i){const t=function(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===s.oA.MAIN?"image":"icon"]={url:t.img.url,width:t.img.w,height:t.img.h}:t.data&&(n[f[g[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===h.impression&&t.method===p.img&&n.impressionTrackers.push(t.url),t.event===h.impression&&t.method===p.js&&r.push(t.url);r=r.map((e=>`<script async src="${e}"><\\/script>`)),e?.jstracker&&r.push(e.jstracker);r.length&&(n.javascriptTrackers=r.join("\\n"));return n}(i,n);Object.assign(e.native,t)}["rendererUrl","adTemplate"].forEach((n=>{const i=t?.nativeParams?.[n];i&&(e.native[n]=R(i))}))}function T(e){let{index:t=o.n.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={};const i=t.getAdUnit(e),r=null==i?.nativeParams?.ortb&&!1!==i?.nativeParams?.sendTargetingKeys,a=function(e){const t={};e?.nativeParams?.ext&&Object.keys(e.nativeParams.ext).forEach((e=>{t[e]=`hb_native_${e}`}));return{...s.x5,...t}}(i),d={...e.native,...e.native.ext};return delete d.ext,Object.keys(d).forEach((t=>{const o=a[t];let s=R(e.native[t])||R(e?.native?.ext?.[t]);if("adTemplate"===t||!o||!s)return;let d=i?.nativeParams?.[t]?.sendId;if("boolean"!=typeof d&&(d=i?.nativeParams?.ext?.[t]?.sendId),d){s=`${o}:${e.adId}`}let c=i?.nativeParams?.[t]?.sendTargetingKeys;"boolean"!=typeof c&&(c=i?.nativeParams?.ext?.[t]?.sendTargetingKeys);("boolean"==typeof c?c:r)&&(n[o]=s)})),n}function w(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=[];return Object.entries(e).filter((e=>{let[i,r]=e;return r&&(!1===n&&"ext"===i||null==t||t.includes(i))})).forEach((e=>{let[r,o]=e;!1===n&&"ext"===r?i.push(...w(o,t,!0)):(n||s.x5.hasOwnProperty(r))&&i.push({key:r,value:R(o)})})),i}function C(e,t,n){let{index:r=o.n.index}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const c={message:"assetResponse",adId:e.adId};let u=(0,a.vd)(t).native;return u?(c.native=Object.assign({},u),c.renderer=(0,d.k)(t),null!=n&&(u.assets=u.assets.filter((e=>{let{key:t}=e;return n.includes(t)})))):u=function(e,t,n){const r={...(0,i.SH)(e.native,["rendererUrl","adTemplate"]),assets:w(e.native,n),nativeKeys:s.x5};return e.native.ortb?r.ortb=e.native.ortb:t.mediaTypes?.native?.ortb&&(r.ortb=D(e.native,t.nativeOrtbRequest)),r}(t,r.getAdUnit(t),n),Object.assign(c,u)}const B=Object.fromEntries(Object.entries(s.x5).map((e=>{let[t,n]=e;return[n,t]})));function O(e,t){const n=e.assets.map((e=>B[e]));return C(e,t,n)}function k(e,t){return C(e,t,null)}function R(e){return e?.url||e}function S(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:h.impression,method:p.img,url:e})}));break;case"javascriptTrackers":t.jstracker=Array.isArray(i)?i.join(""):i;break;case"privacyLink":t.privacy=i}})),t}function D(e,t){const n={...S(e),assets:[]};function r(e,r){let o=t.assets.find(e);null!=o&&(o=(0,i.Go)(o),r(o),n.assets.push(o))}return Object.keys(e).filter((t=>!!e[t])).forEach((t=>{const n=R(e[t]);switch(t){case"title":r((e=>null!=e.title),(e=>{e.title={text:n}}));break;case"image":case"icon":const e="image"===t?s.oA.MAIN:s.oA.ICON;r((t=>null!=t.img&&t.img.type===e),(e=>{e.img={url:n}}));break;default:t in s.h0&&r((e=>null!=e.data&&e.data.type===s.jO[s.h0[t]]),(e=>{e.data={value:n}}))}})),n}function U(e){var t={};for(var n in e)t[e[n]]=n;return t}},1e3:(e,t,n)=>{n.d(t,{Cf:()=>a,S3:()=>r,Tb:()=>o,WR:()=>s,pS:()=>l,qN:()=>d,yB:()=>f,zt:()=>i});const i=["request","imp","bidResponse","response"],[r,o,s,a]=i,[d,c]=["default","pbs"],u=new Set(i);const{registerOrtbProcessor:l,getProcessors:f}=function(){const e={};return{registerOrtbProcessor(t){let{type:n,name:r,fn:o,priority:s=0,dialects:a=[d]}=t;if(!u.has(n))throw new Error(`ORTB processor type must be one of: ${i.join(", ")}`);a.forEach((t=>{e.hasOwnProperty(t)||(e[t]={}),e[t].hasOwnProperty(n)||(e[t][n]={}),e[t][n][r]={priority:s,fn:o}}))},getProcessors:t=>e[t]||{}}}()},5901:(e,t,n)=>{function i(e,t,n){return e&&e.includes(t,n)||!1}function r(){return Array.from.apply(Array,arguments)}function o(e,t,n){return e&&e.find(t,n)}n.d(t,{A6:()=>r,I6:()=>o,mK:()=>i})},8261:(e,t,n)=>{var i=n(7873),r=n(1069),o=n(433),s=n(3172),a=n(2449),d=n(8969),c=n(5901),u=n(9075),l=n(6031);const{REQUEST:f,RESPONSE:g,NATIVE:p,EVENT:h}=d.nl,m={[f]:function(e,t,n){(0,u.bw)({renderFn(t){e(Object.assign({message:g,renderer:(0,l.k)(n)},t))},resizeFn:y(t.adId,n),options:t.options,adId:t.adId,bidResponse:n})},[h]:function(e,t,n){if(null==n)return void(0,r.vV)(`Cannot find ad \'${t.adId}\' for x-origin event request`);if(n.status!==d.tl.RENDERED)return void(0,r.JE)(`Received x-origin event request without corresponding render request for ad \'${n.adId}\'`);return(0,u.Uc)(t,n)}};function b(){window.addEventListener("message",(function(e){!function(e){var t=e.message?"message":"data",n={};try{n=JSON.parse(e[t])}catch(e){return}if(n&&n.adId&&n.message&&m.hasOwnProperty(n.message))(0,u.$A)(n.adId,n.message===d.nl.REQUEST).then((t=>{var i,o;m[n.message]((i=n.adId,o=function(e){return null==e.origin&&0===e.ports.length?function(){const e="Cannot post message to a frame with null origin. Please update creatives to use MessageChannel, see https://github.com/prebid/Prebid.js/issues/7870";throw(0,r.vV)(e),new Error(e)}:e.ports.length>0?function(t){e.ports[0].postMessage(JSON.stringify(t))}:function(t){e.source.postMessage(JSON.stringify(t),e.origin)}}(e),function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return o(Object.assign({},e,{adId:i}),...n)}),n,t)}))}(e)}),!1)}function y(e,t){return function(n,i){!function(e){let{adId:t,adUnitCode:n,width:i,height:o}=e;function s(e){return e?e+"px":"100%"}function a(e){let i=d(t,n),r=document.getElementById(i);return r&&r.querySelector(e)}function d(e,t){return(0,r.II)()?u(e):(0,r.t1)()?l(t):t}function u(e){const t=(0,c.I6)(window.googletag.pubads().getSlots(),(t=>(0,c.I6)(t.getTargetingKeys(),(n=>(0,c.mK)(t.getTargeting(n),e)))));return t?t.getSlotElementId():null}function l(e){let t=window.apntag.getTag(e);return t&&t.targetId}["div","iframe"].forEach((e=>{let t=a(e+\':not([style*="display: none"])\');if(t){let e=t.style;e.width=s(i),e.height=s(o)}else(0,r.vV)(`Unable to locate matching page element for adUnitCode ${n}. Can\'t resize it to ad\'s dimensions. Please review setup.`)}))}({...t,width:n,height:i,adId:e})}}Object.assign(m,{[p]:function(e,t,n){if(null==n)return void(0,r.vV)(`Cannot find ad for x-origin event request: \'${t.adId}\'`);switch(t.action){case"assetRequest":(0,u.Hh)(n,(()=>e((0,a.IX)(t,n))));break;case"allAssetRequest":(0,u.Hh)(n,(()=>e((0,a.yl)(t,n))));break;default:(0,u.vW)(t,n,{resizeFn:y(t.adId,n)}),(0,u.Pk)(n)}}});var v=n(8230),E=n(3272),A=n(6881),I=n(7779),T=n(9214),w=n(3597),C=n(1580),B=n(5555),O=n(5569);const k="__pbjs_debugging__";function R(){return(0,i.m)().installedModules.includes("debugging")}function S(e){return new B.k((t=>{(0,C.R)(e,O.tp,"debugging",t)}))}function D(){let{alreadyInstalled:e=R,script:t=S}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null;return function(){return null==n&&(n=new B.k(((n,o)=>{setTimeout((()=>{if(e())n();else{const e="https://cdn.jsdelivr.net/npm/prebid.js@9.23.0/dist/debugging-standalone.js";(0,r.OG)(`Debugging module not installed, loading it from "${e}"...`),(0,i.m)()._installDebugging=!0,t(e).then((()=>{(0,i.m)()._installDebugging({DEBUG_KEY:k,hook:T.A_,config:E.$W,createBid:w.O,logger:(0,r.h0)("DEBUG:")})})).then(n,o)}}))}))),n}}const U=function(){let{load:e=D(),hook:t=(0,T.Yn)("requestBids")}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null,i=!1;function r(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];return(n||B.k.resolve()).then((()=>e.apply(this,i)))}function o(){t.getHooks({hook:r}).remove(),i=!1}return{enable:function(){i||(n=e(),t.before(r,99),i=!0)},disable:o,reset:function(){n=null,o()}}}();U.reset;E.$W.getConfig("debugging",(function(e){let{debugging:t}=e;t?.enabled?U.enable():U.disable()}));var _=n(2938),$=n(8046),j=n(5023),q=n(6894),x=n(1970),N=n(6916),P=n(2713),W=n(3895);const V=new Map([["format",e=>Array.isArray(e)&&e.length>0&&e.every((e=>"object"==typeof e))],["w",r.Fq],["h",r.Fq],["btype",r.Uu],["battr",r.Uu],["pos",r.Fq],["mimes",e=>Array.isArray(e)&&e.length>0&&e.every((e=>"string"==typeof e))],["topframe",e=>[1,0].includes(e)],["expdir",r.Uu],["api",r.Uu],["id",r.O8],["vcm",e=>[1,0].includes(e)]]);var M=n(1371);const G=(0,i.m)(),{triggerUserSyncs:F}=v.zt,{ADD_AD_UNITS:H,REQUEST_BIDS:L,SET_TARGETING:z}=d.qY,J={bidWon:function(e){if(!A.n.getBidsRequested().map((e=>e.bids.map((e=>e.adUnitCode)))).reduce(r.Bq).filter(r.hj).includes(e))return void(0,r.vV)(\'The "\'+e+\'" placement is not defined.\');return!0}};function K(e,t){let n=[];return(0,r.cy)(e)&&(t?e.length===t:e.length>0)&&(e.every((e=>(0,r.Uu)(e,2)))?n=e:(0,r.Uu)(e,2)&&n.push(e)),n}function Q(e,t){const n=(0,o.A)(e,`ortb2Imp.${t}`),i=(0,o.A)(e,`mediaTypes.${t}`);if(!n&&!i)return;const a={[M.G_]:W.Zy,[M.D4]:V}[t];a&&[...a].forEach((n=>{let[i,a]=n;const d=(0,o.A)(e,`mediaTypes.${t}.${i}`),c=(0,o.A)(e,`ortb2Imp.${t}.${i}`);null==d&&null==c||(null==d?(0,s.J)(e,`mediaTypes.${t}.${i}`,c):null==c?(0,s.J)(e,`ortb2Imp.${t}.${i}`,d):((0,r.JE)(`adUnit ${e.code}: specifies conflicting ortb2Imp.${t}.${i} and mediaTypes.${t}.${i}, the latter will be ignored`,e),(0,s.J)(e,`mediaTypes.${t}.${i}`,c)))}))}function Y(e){const t=(0,r.Go)(e),n=t.mediaTypes.banner,i=K(n.sizes);return i.length>0?(n.sizes=i,t.sizes=i):((0,r.vV)("Detected a mediaTypes.banner object without a proper sizes field. Please ensure the sizes are listed like: [[300, 250], ...]. Removing invalid mediaTypes.banner object from request."),delete t.mediaTypes.banner),Q(t,"banner"),t}function X(e){const t=(0,r.Go)(e),n=t.mediaTypes.video;if(n.playerSize){let e="number"==typeof n.playerSize[0]?2:1;const i=K(n.playerSize,e);i.length>0?(2===e&&(0,r.fH)("Transforming video.playerSize from [640,480] to [[640,480]] so it\'s in the proper format."),n.playerSize=i,t.sizes=i):((0,r.vV)("Detected incorrect configuration of mediaTypes.video.playerSize. Please specify only one set of dimensions in a format like: [[640, 480]]. Removing invalid mediaTypes.video.playerSize property from request."),delete t.mediaTypes.video.playerSize)}return(0,W.aP)(t),Q(t,"video"),t}function Z(e){function t(t){return(0,r.vV)(`Error in adUnit "${e.code}": ${t}. Removing native request from ad unit`,e),delete i.mediaTypes.native,i}function n(e){for(const t of["sendTargetingKeys","types"])if(o.hasOwnProperty(t)){const n=e(t);if(n)return n}}const i=(0,r.Go)(e),o=i.mediaTypes.native;if(o.ortb){if(o.ortb.assets?.some((e=>!(0,r.Et)(e.id)||e.id<0||e.id%1!=0)))return t("native asset ID must be a nonnegative integer");if(n((e=>t(`ORTB native requests cannot specify "${e}"`))))return i;const e=Object.keys(d.x5).filter((e=>d.x5[e].includes("hb_native_"))),s=Object.keys(o).filter((t=>e.includes(t)));s.length>0&&((0,r.vV)(`when using native OpenRTB format, you cannot use legacy native properties. Deleting ${s} keys from request.`),s.forEach((e=>delete i.mediaTypes.native[e])))}else n((e=>`mediaTypes.native.${e} is deprecated, consider using native ORTB instead`));return o.image&&o.image.sizes&&!Array.isArray(o.image.sizes)&&((0,r.vV)("Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request."),delete i.mediaTypes.native.image.sizes),o.image&&o.image.aspect_ratios&&!Array.isArray(o.image.aspect_ratios)&&((0,r.vV)("Please use an array of sizes for native.image.aspect_ratios field. Removing invalid mediaTypes.native.image.aspect_ratios property from request."),delete i.mediaTypes.native.image.aspect_ratios),o.icon&&o.icon.sizes&&!Array.isArray(o.icon.sizes)&&((0,r.vV)("Please use an array of sizes for native.icon.sizes field. Removing invalid mediaTypes.native.icon.sizes property from request."),delete i.mediaTypes.native.icon.sizes),i}function ee(e,t){let n=e?.mediaTypes?.[t]?.pos;if(!(0,r.Et)(n)||isNaN(n)||!isFinite(n)){let n=`Value of property \'pos\' on ad unit ${e.code} should be of type: Number`;(0,r.JE)(n),delete e.mediaTypes[t].pos}return e}function te(e){const t=t=>`adUnit.code \'${e.code}\' ${t}`,n=e.mediaTypes,i=e.bids;return null==i||(0,r.cy)(i)?null==i&&null==e.ortb2Imp?((0,r.vV)(t("has no \'adUnit.bids\' and no \'adUnit.ortb2Imp\'. Removing adUnit from auction")),null):n&&0!==Object.keys(n).length?(null==e.ortb2Imp||null!=i&&0!==i.length||(e.bids=[{bidder:null}],(0,r.OG)(t("defines \'adUnit.ortb2Imp\' with no \'adUnit.bids\'; it will be seen only by S2S adapters"))),e):((0,r.vV)(t("does not define a \'mediaTypes\' object. This is a required field for the auction, so this adUnit has been removed.")),null):((0,r.vV)(t("defines \'adUnit.bids\' that is not an array. Removing adUnit from auction")),null)}!function(){let e=null;try{e=window.sessionStorage}catch(e){}if(null!==e){let t=U,n=null;try{n=e.getItem(k)}catch(e){}null!==n&&t.enable()}}(),G.bidderSettings=G.bidderSettings||{},G.libLoaded=!0,G.version="v9.23.0",(0,r.fH)("Prebid.js v9.23.0 loaded"),G.installedModules=G.installedModules||[],G.adUnits=G.adUnits||[],G.triggerUserSyncs=F;const ne={validateAdUnit:te,validateBannerMediaType:Y,validateSizes:K};Object.assign(ne,{validateNativeMediaType:Z}),Object.assign(ne,{validateVideoMediaType:X});const ie=(0,T.A_)("sync",(function(e){const t=[];return e.forEach((e=>{if(null==(e=te(e)))return;const n=e.mediaTypes;let i,r,o;n.banner&&(i=Y(e),n.banner.hasOwnProperty("pos")&&(i=ee(i,"banner"))),n.video&&(r=X(i||e),n.video.hasOwnProperty("pos")&&(r=ee(r,"video"))),n.native&&(o=Z(r||(i||e)));const s=Object.assign({},i,r,o);t.push(s)})),t}),"checkAdUnitSetup");function re(e){const t=A.n[e]().filter((e=>A.n.getAdUnitCodes().includes(e.adUnitCode))),n=A.n.getLastAuctionId();return t.map((e=>e.adUnitCode)).filter(r.hj).map((e=>t.filter((t=>t.auctionId===n&&t.adUnitCode===e)))).filter((e=>e&&e[0]&&e[0].adUnitCode)).map((e=>({[e[0].adUnitCode]:{bids:e}}))).reduce(((e,t)=>Object.assign(e,t)),{})}G.getAdserverTargetingForAdUnitCodeStr=function(e){if((0,r.fH)("Invoking pbjs.getAdserverTargetingForAdUnitCodeStr",arguments),e){var t=G.getAdserverTargetingForAdUnitCode(e);return(0,r.$D)(t)}(0,r.OG)("Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode")},G.getHighestUnusedBidResponseForAdUnitCode=function(e){if(e){const t=A.n.getAllBidsForAdUnitCode(e).filter(I.Yl);return t.length?t.reduce(P.Vk):{}}(0,r.OG)("Need to call getHighestUnusedBidResponseForAdUnitCode with adunitCode")},G.getAdserverTargetingForAdUnitCode=function(e){return G.getAdserverTargeting(e)[e]},G.getAdserverTargeting=function(e){return(0,r.fH)("Invoking pbjs.getAdserverTargeting",arguments),I.iS.getAllTargeting(e)},G.getConsentMetadata=function(){return(0,r.fH)("Invoking pbjs.getConsentMetadata"),N.SL.getConsentMeta()},G.getNoBids=function(){return(0,r.fH)("Invoking pbjs.getNoBids",arguments),re("getNoBids")},G.getNoBidsForAdUnitCode=function(e){return{bids:A.n.getNoBids().filter((t=>t.adUnitCode===e))}},G.getBidResponses=function(){return(0,r.fH)("Invoking pbjs.getBidResponses",arguments),re("getBidsReceived")},G.getBidResponsesForAdUnitCode=function(e){return{bids:A.n.getBidsReceived().filter((t=>t.adUnitCode===e))}},G.setTargetingForGPTAsync=function(e,t){(0,r.fH)("Invoking pbjs.setTargetingForGPTAsync",arguments),(0,r.II)()?I.iS.setTargetingForGPT(e,t):(0,r.vV)("window.googletag is not defined on the page")},G.setTargetingForAst=function(e){(0,r.fH)("Invoking pbjs.setTargetingForAn",arguments),I.iS.isApntagDefined()?(I.iS.setTargetingForAst(e),j.Ic(z,I.iS.getAllTargeting())):(0,r.vV)("window.apntag is not defined on the page")},G.renderAd=(0,T.A_)("async",(function(e,t,n){(0,r.fH)("Invoking pbjs.renderAd",arguments),(0,r.OG)("Calling renderAd with adId :"+t),(0,u.BS)(e,t,n)})),G.removeAdUnit=function(e){if((0,r.fH)("Invoking pbjs.removeAdUnit",arguments),!e)return void(G.adUnits=[]);let t;t=(0,r.cy)(e)?e:[e],t.forEach((e=>{for(let t=G.adUnits.length-1;t>=0;t--)G.adUnits[t].code===e&&G.adUnits.splice(t,1)}))},G.requestBids=function(){const e=(0,T.A_)("async",(function(){let{bidsBackHandler:e,timeout:t,adUnits:n,adUnitCodes:i,labels:o,auctionId:s,ttlBuffer:a,ortb2:d,metrics:u,defer:l}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};j.Ic(L);const f=t||E.$W.getConfig("bidderTimeout");(0,r.fH)("Invoking pbjs.requestBids",arguments),null==i||Array.isArray(i)||(i=[i]),i&&i.length?n=n.filter((e=>(0,c.mK)(i,e.code))):i=n&&n.map((e=>e.code)),i=i.filter(r.hj);const g={global:(0,r.D9)({},E.$W.getAnyConfig("ortb2")||{},d||{}),bidder:Object.fromEntries(Object.entries(E.$W.getBidderConfig()).map((e=>{let[t,n]=e;return[t,(0,r.Go)(n.ortb2)]})).filter((e=>{let[t,n]=e;return null!=n})))};return(0,x.w)(B.k.resolve(g.global)).then((t=>(g.global=t,oe({bidsBackHandler:e,timeout:f,adUnits:n,adUnitCodes:i,labels:o,auctionId:s,ttlBuffer:a,ortb2Fragments:g,metrics:u,defer:l}))))}),"requestBids");return(0,T.Y6)(e,(function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.adUnits||G.adUnits;return t.adUnits=(0,r.cy)(n)?n.slice():[n],t.metrics=(0,q.K7)(),t.metrics.checkpoint("requestBids"),t.defer=(0,B.v)({promiseFactory:e=>new Promise(e)}),e.call(this,t),t.defer.promise}))}();const oe=(0,T.A_)("async",(function(){let{bidsBackHandler:e,timeout:t,adUnits:n,ttlBuffer:i,adUnitCodes:o,labels:a,auctionId:d,ortb2Fragments:u,metrics:l,defer:f}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const g=(0,$.pX)(E.$W.getConfig("s2sConfig")||[]);function p(t,n,i){if("function"==typeof e)try{e(t,n,i)}catch(e){(0,r.vV)("Error executing bidsBackHandler",null,e)}f.resolve({bids:t,timedOut:n,auctionId:i})}!function(e){e.forEach((e=>(0,W.V0)(e)))}(n),n=(0,q.BO)(l).measureTime("requestBids.validate",(()=>ie(n)));const h={};if(n.forEach((e=>{const t=Object.keys(e.mediaTypes||{banner:"banner"}),n=e.bids.map((e=>e.bidder)),o=$.Ay.bidderRegistry,s=n.filter((e=>!g.has(e)));e.adUnitId=(0,r.lk)();const a=e.ortb2Imp?.ext?.tid;a&&(h.hasOwnProperty(e.code)?(0,r.JE)(`Multiple distinct ortb2Imp.ext.tid were provided for twin ad units \'${e.code}\'`):h[e.code]=a),null==i||e.hasOwnProperty("ttlBuffer")||(e.ttlBuffer=i),s.forEach((n=>{const i=o[n],s=i&&i.getSpec&&i.getSpec(),a=s&&s.supportedMediaTypes||["banner"];t.some((e=>(0,c.mK)(a,e)))||((0,r.JE)((0,r.bz)(e,n)),e.bids=e.bids.filter((e=>e.bidder!==n)))}))})),n&&0!==n.length){n.forEach((e=>{const t=e.ortb2Imp?.ext?.tid||h[e.code]||(0,r.lk)();h.hasOwnProperty(e.code)||(h[e.code]=t),e.transactionId=t,(0,s.J)(e,"ortb2Imp.ext.tid",t)}));const e=A.n.createAuction({adUnits:n,adUnitCodes:o,callback:p,cbTimeout:t,labels:a,auctionId:d,ortb2Fragments:u,metrics:l});let i=n.length;i>15&&(0,r.fH)(`Current auction ${e.getAuctionId()} contains ${i} adUnits.`,n),o.forEach((t=>I.iS.setLatestAuctionForAdUnit(t,e.getAuctionId()))),e.callBids()}else(0,r.OG)("No adUnits configured. No bids requested."),p()}),"startAuction");G.requestBids.before((function(e,t){function n(e){for(var t;t=e.shift();)t()}n(_.s0),n(se),e.call(this,t)}),49),G.addAdUnits=function(e){(0,r.fH)("Invoking pbjs.addAdUnits",arguments),G.adUnits.push.apply(G.adUnits,(0,r.cy)(e)?e:[e]),j.Ic(H)},G.onEvent=function(e,t,n){(0,r.fH)("Invoking pbjs.onEvent",arguments),(0,r.fp)(t)?!n||J[e].call(null,n)?j.on(e,t,n):(0,r.vV)(\'The id provided is not valid for event "\'+e+\'" and no handler was set.\'):(0,r.vV)(\'The event handler provided is not a function and was not set on event "\'+e+\'".\')},G.offEvent=function(e,t,n){(0,r.fH)("Invoking pbjs.offEvent",arguments),n&&!J[e].call(null,n)||j.AU(e,t,n)},G.getEvents=function(){return(0,r.fH)("Invoking pbjs.getEvents"),j.kQ()},G.registerBidAdapter=function(e,t){(0,r.fH)("Invoking pbjs.registerBidAdapter",arguments);try{$.Ay.registerBidAdapter(e(),t)}catch(e){(0,r.vV)("Error registering bidder adapter : "+e.message)}},G.registerAnalyticsAdapter=function(e){(0,r.fH)("Invoking pbjs.registerAnalyticsAdapter",arguments);try{$.Ay.registerAnalyticsAdapter(e)}catch(e){(0,r.vV)("Error registering analytics adapter : "+e.message)}},G.createBid=function(e){return(0,r.fH)("Invoking pbjs.createBid",arguments),(0,w.O)(e)};const se=[],ae=(0,T.A_)("async",(function(e){e&&!(0,r.Im)(e)?((0,r.fH)("Invoking pbjs.enableAnalytics for: ",e),$.Ay.enableAnalytics(e)):(0,r.vV)("pbjs.enableAnalytics should be called with option {}")}),"enableAnalyticsCb");function de(e){if("function"==typeof e)try{e.call()}catch(e){(0,r.vV)("Error processing command :",e.message,e.stack)}else(0,r.vV)("Commands written into pbjs.cmd.push must be wrapped in a function")}function ce(e){e.forEach((function(e){if(void 0===e.called)try{e.call(),e.called=!0}catch(e){(0,r.vV)("Error processing command :","prebid.js",e)}}))}G.enableAnalytics=function(e){se.push(ae.bind(this,e))},G.aliasBidder=function(e,t,n){(0,r.fH)("Invoking pbjs.aliasBidder",arguments),e&&t?$.Ay.aliasBidAdapter(e,t,n):(0,r.vV)("bidderCode and alias must be passed as arguments","pbjs.aliasBidder")},G.aliasRegistry=$.Ay.aliasRegistry,E.$W.getConfig("aliasRegistry",(e=>{"private"===e.aliasRegistry&&delete G.aliasRegistry})),G.getAllWinningBids=function(){return A.n.getAllWinningBids()},G.getAllPrebidWinningBids=function(){return A.n.getBidsReceived().filter((e=>e.status===d.tl.BID_TARGETING_SET))},G.getHighestCpmBids=function(e){return I.iS.getWinningBids(e)},G.clearAllAuctions=function(){A.n.clearAllAuctions()},G.markWinningBidAsUsed=function(e){let t,{adId:n,adUnitCode:i,analytics:o=!1}=e;i&&null==n?t=I.iS.getWinningBids(i):n?t=A.n.getBidsReceived().filter((e=>e.adId===n)):(0,r.JE)("Improper use of markWinningBidAsUsed. It needs an adUnitCode or an adId to function."),t.length>0&&(o?(0,u.n6)(t[0]):A.n.addWinningBid(t[0]),(0,u.qn)(t[0]))},G.getConfig=E.$W.getAnyConfig,G.readConfig=E.$W.readAnyConfig,G.mergeConfig=E.$W.mergeConfig,G.mergeBidderConfig=E.$W.mergeBidderConfig,G.setConfig=E.$W.setConfig,G.setBidderConfig=E.$W.setBidderConfig,G.que.push((()=>b())),G.processQueue=function(){G.que.push=G.cmd.push=de,(0,u.XO)(),T.A_.ready(),ce(G.que),ce(G.cmd)},G.triggerBilling=e=>{let{adId:t,adUnitCode:n}=e;A.n.getAllWinningBids().filter((e=>e.adId===t||null==t&&e.adUnitCode===n)).forEach((e=>{$.Ay.triggerBilling(e),(0,u.vB)(e)}))}},7873:(e,t,n)=>{n.d(t,{E:()=>s,m:()=>o});const i=window,r=i.pbjs=i.pbjs||{};function o(){return r}function s(e){r.installedModules.push(e)}r.cmd=r.cmd||[],r.que=r.que||[],i===window&&(i._pbjsGlobals=i._pbjsGlobals||[],i._pbjsGlobals.push("pbjs"))},7934:(e,t,n)=>{n.d(t,{EN:()=>d,gR:()=>s});var i=n(3272),r=n(1069);function o(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 s(e){let{noLeadingWww:t=!1,noPort:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{e=new URL(o(e))}catch(e){return}return e=n?e.hostname:e.host,t&&e.startsWith("www.")&&(e=e.substring(4)),e}function a(e){try{const t=e.querySelector("link[rel=\'canonical\']");if(null!==t)return t.href}catch(e){}return null}const d=function(e){let t,n,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;return r.top!==r?e:function(){const o=a(r.document),s=r.location.href;return t===o&&s===n||(t=o,n=s,i=e()),i}}((c=window,function(){const e=[],t=function(e){try{if(!e.location.ancestorOrigins)return;return e.location.ancestorOrigins}catch(e){}}(c),n=i.$W.getConfig("maxNestedIframes");let d,u,l,f,g=!1,p=0,h=!1,m=!1,b=!1;do{const n=d,i=m;let o,s=!1,f=null;m=!1,d=d?d.parent:c;try{o=d.location.href||null}catch(e){s=!0}if(s)if(i){const e=n.context;try{f=e.sourceUrl,u=f,b=!0,h=!0,d===c.top&&(g=!0),e.canonicalUrl&&(l=e.canonicalUrl)}catch(e){}}else{(0,r.JE)("Trying to access cross domain iframe. Continuing without referrer and location");try{const e=n.document.referrer;e&&(f=e,d===c.top&&(g=!0))}catch(e){}!f&&t&&t[p-1]&&(f=t[p-1],d===c.top&&(b=!0)),f&&!h&&(u=f)}else{if(o&&(f=o,u=f,h=!1,d===c.top)){g=!0;const e=a(d.document);e&&(l=e)}d.context&&d.context.sourceUrl&&(m=!0)}e.push(f),p++}while(d!==c.top&&p<n);e.reverse();try{f=c.top.document.referrer}catch(e){}const y=g||b?u:null,v=i.$W.getConfig("pageUrl")||l||null;let E=i.$W.getConfig("pageUrl")||y||o(v,c);return y&&y.indexOf("?")>-1&&-1===E.indexOf("?")&&(E=`${E}${y.substring(y.indexOf("?"))}`),{reachedTop:g,isAmp:h,numIframes:p-1,stack:e,topmostLocation:u||null,location:y,canonicalUrl:v,page:E,domain:s(E)||null,ref:f||null,legacy:{reachedTop:g,isAmp:h,numIframes:p-1,stack:e,referer:u||null,canonicalUrl:v}}}));var c},2938:(e,t,n)=>{n.d(t,{CK:()=>b,s0:()=>p,vM:()=>m});var i=n(1069),r=n(2693),o=n(5569),s=n(5139),a=n(2604),d=n(6811),c=n(3272),u=n(8046),l=n(3441);const f="html5",g="cookie";let p=[];function h(){let{moduleName:e,moduleType:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{isAllowed:n=s.io}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};function r(i,r){let s=e;const f=c.$W.getCurrentBidder();f&&t===o.tW&&u.Ay.aliasRegistry[f]===e&&(s=f);return i({valid:n(d.Ue,(0,l.s)(t,s,{[a.Zw]:r}))})}function h(e,t,n){if(!n||"function"!=typeof n)return r(e,t);p.push((function(){let i=r(e,t);n(i)}))}function m(e){const t=e.charAt(0).toUpperCase()+e.substring(1),n=()=>window[e],r=function(t){return h((function(t){if(t&&t.valid)try{return!!n()}catch(t){(0,i.vV)(`${e} api disabled`)}return!1}),f,t)};return{[`has${t}`]:r,[`${e}IsEnabled`]:e=>h((function(e){if(e&&e.valid)try{return n().setItem("prebid.cookieTest","1"),"1"===n().getItem("prebid.cookieTest")}catch(e){}finally{try{n().removeItem("prebid.cookieTest")}catch(e){}}return!1}),f,e),[`setDataIn${t}`]:(e,t,i)=>h((function(i){i&&i.valid&&r()&&n().setItem(e,t)}),f,i),[`getDataFrom${t}`]:(e,t)=>h((function(t){return t&&t.valid&&r()?n().getItem(e):null}),f,t),[`removeDataFrom${t}`]:(e,t)=>h((function(t){t&&t.valid&&r()&&n().removeItem(e)}),f,t)}}return{setCookie:function(e,t,n,i,r,o){return h((function(o){if(o&&o.valid){const o=r&&""!==r?` ;domain=${encodeURIComponent(r)}`:"",s=n&&""!==n?` ;expires=${n}`:"",a=null!=i&&"none"==i.toLowerCase()?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}${s}; path=/${o}${i?`; SameSite=${i}`:""}${a}`}}),g,o)},getCookie:function(e,t){return h((function(t){if(t&&t.valid){let t=window.document.cookie.match("(^|;)\\\\s*"+e+"\\\\s*=\\\\s*([^;]*)\\\\s*(;|$)");return t?decodeURIComponent(t[2]):null}return null}),g,t)},cookiesAreEnabled:function(e){return h((function(e){return!(!e||!e.valid)&&(0,i.GE)()}),g,e)},...m("localStorage"),...m("sessionStorage"),findSimilarCookies:function(e,t){return h((function(t){if(t&&t.valid){const t=[];if((0,i.N9)()){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}}),g,t)}}}function m(){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!==o.tW||t)&&i(),e=o.tW,t=n):t&&e||i(),h({moduleType:e,moduleName:t})}function b(e){return h({moduleName:e,moduleType:o.tp})}(0,s.qB)(d.Ue,"deviceAccess config",(function(){if(!(0,i.N9)())return{allow:!1}})),(0,s.qB)(d.Ue,"bidderSettings.*.storageAllowed",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r.u;if(e[a.Dk]!==o.tW)return;let n=t.get(e[a.q7],"storageAllowed");if(n&&!0!==n){const t=e[a.Zw];n=Array.isArray(n)?n.some((e=>e===t)):n===t}else n=!!n;return n?void 0:{allow:n}}))},7779:(e,t,n)=>{n.d(t,{Yl:()=>T,iS:()=>O,uW:()=>I});var i=n(6881),r=n(7863),o=n(2693),s=n(3272),a=n(8969),d=n(5023),c=n(9214),u=n(1371),l=n(2449),f=n(5901),g=n(1069),p=n(433),h=n(2713),m=[];const b=20,y="targetingControls.allowTargetingKeys",v="targetingControls.addTargetingKeys",E=`Only one of "${y}" or "${v}" can be set`,A=Object.keys(a.xS).map((e=>a.xS[e]));let I={isActualBid:e=>e.getStatusCode()===a.XQ.GOOD,isBidNotExpired:e=>e.responseTimestamp+1e3*(0,r.cT)(e)>(0,g.vE)(),isUnusedBid:e=>e&&(e.status&&!(0,f.mK)([a.tl.RENDERED],e.status)||!e.status)};function T(e){return!Object.values(I).some((t=>!t(e)))}const w=(0,c.A_)("sync",(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:g.Q0;if(!i){const i=[],o=s.$W.getConfig("sendBidsControl.dealPrioritization");let a=(0,g.$z)(e,"adUnitCode");return Object.keys(a).forEach((e=>{let s=[],d=(0,g.$z)(a[e],"bidderCode");Object.keys(d).forEach((e=>{s.push(d[e].reduce(t))})),n?(s=o?s.sort(C(!0)):s.sort(((e,t)=>t.cpm-e.cpm)),i.push(...s.slice(0,n))):(s=s.sort(r),i.push(...s))})),i}return e}));function C(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){return void 0!==t.adserverTargeting.hb_deal&&void 0===n.adserverTargeting.hb_deal?-1:void 0===t.adserverTargeting.hb_deal&&void 0!==n.adserverTargeting.hb_deal?1:e?n.cpm-t.cpm:n.adserverTargeting.hb_pb-t.adserverTargeting.hb_pb}}function B(e,t){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>window.googletag.pubads().getSlots())().reduce(((e,n)=>{const i=(0,g.fp)(t)&&t(n);return Object.keys(e).filter((0,g.fp)(i)?i:(0,g.iC)(n)).forEach((t=>e[t].push(n))),e}),Object.fromEntries(e.map((e=>[e,[]]))))}const O=function(e){let t={},n={};function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const i=A.concat(l.Nh),r=s.$W.getConfig("targetingControls.allowSendAllBidsTargetingKeys"),o=r?r.map((e=>a.xS[e])):i;return e.reduce(((e,r)=>{if(t||n&&r.dealId){const t=function(e,t){return t.reduce(((t,n)=>(e.adserverTargeting[n]&&t.push({[`${n}_${e.bidderCode}`.substring(0,20)]:[e.adserverTargeting[n]]}),t)),[])}(r,i.filter((e=>void 0!==r.adserverTargeting[e]&&(n||-1!==o.indexOf(e)))));t&&e.push({[r.adUnitCode]:t})}return e}),[])}function r(t){return"string"==typeof t?[t]:(0,g.cy)(t)?t:e.getAdUnitCodes()||[]}function I(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:h.Bq,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,r=e.getBidsReceived().reduce(((e,t)=>{const i=s.$W.getConfig("useBidCache"),r=s.$W.getConfig("bidCacheFilterFunction"),o=n[t.adUnitCode]===t.auctionId,a=!(i&&!o&&"function"==typeof r)||!!r(t);return(i||o)&&a&&(0,p.A)(t,"video.context")!==u.LM&&T(t)&&(t.latestTargetedAuctionId=n[t.adUnitCode],e.push(t)),e}),[]);return w(r,t,void 0,void 0,void 0,i)}function O(){return e.getStandardBidderAdServerTargeting().map((e=>e.key)).concat(A).filter(g.hj)}return t.setLatestAuctionForAdUnit=function(e,t){n[e]=t},t.resetPresetTargeting=function(e,t){if((0,g.II)()){const n=r(e);Object.values(B(n,t)).forEach((e=>{e.forEach((e=>{!function(e){m.forEach((t=>{e.getTargeting(t)&&e.clearTargeting(t)}))}(e)}))}))}},t.resetPresetTargetingAST=function(e){r(e).forEach((function(e){const t=window.apntag.getTag(e);if(t&&t.keywords){const n=Object.keys(t.keywords),i={};n.forEach((e=>{(0,f.mK)(m,e.toLowerCase())||(i[e]=t.keywords[e])})),window.apntag.modifyTag(e,{keywords:i})}}))},t.getAllTargeting=function(t,n,d){let c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:h.Vk,u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:g.Q0;d||=I(c,u);const A=r(t),T=s.$W.getConfig("enableSendAllBids"),B=s.$W.getConfig("sendBidsControl.bidLimit"),k=T&&(n||B)||0,{customKeysByUnit:R,filteredBids:S}=function(e,t){const n=[],i={},r=s.$W.getConfig("targetingControls.alwaysIncludeDeals");return t.forEach((t=>{const s=(0,f.mK)(e,t.adUnitCode),a=!0===o.u.get(t.bidderCode,"allowZeroCpmBids")?t.cpm>=0:t.cpm>0,d=r&&t.dealId;s&&(d||a)&&(n.push(t),Object.keys(t.adserverTargeting).filter(function(){let e=O();e=e.concat(l.Nh);return function(t){return-1===e.indexOf(t)}}()).forEach((e=>{const n=e.substring(0,b),r=i[t.adUnitCode]||{},o=[t.adserverTargeting[e]];r[n]?r[n]=r[n].concat(o).filter(g.hj):r[n]=o,i[t.adUnitCode]=r})))})),{filteredBids:n,customKeysByUnit:i}}(A,d);let D=function(t,n){const r=function(e){let t=[],n=e.reduce(((e,n)=>((0,f.mK)(t,n.adUnitCode)||(e.push(n),t.push(n.adUnitCode)),e)),[]),i=O();return n=n.map((e=>({[e.adUnitCode]:Object.keys(e.adserverTargeting).filter((t=>void 0===e.sendStandardTargeting||e.sendStandardTargeting||-1===i.indexOf(t))).reduce(((t,n)=>{const i=[e.adserverTargeting[n]],r={[n.substring(0,b)]:i};if(n===a.xS.DEAL){const o=`${n}_${e.bidderCode}`.substring(0,b),s={[o]:i};return[...t,r,s]}return[...t,r]}),[])}))),n}(t).concat(function(e,t){return e.reduce(((e,n)=>{const i=Object.assign({},n),r=t[i.adUnitCode],o=[];return r&&Object.keys(r).forEach((e=>{e&&r[e]&&o.push({[e]:r[e]})})),e.push({[i.adUnitCode]:o}),e}),[])}(t,n)).concat(function(e){const t=s.$W.getConfig("targetingControls.alwaysIncludeDeals");return i(e,s.$W.getConfig("enableSendAllBids"),t)}(t)).concat(function(){function t(e){return(0,p.A)(e,a.iD.ADSERVER_TARGETING)}function n(e){const n=t(e);return Object.keys(n).map((function(e){return(0,g.O8)(n[e])&&(n[e]=n[e].split(",").map((e=>e.trim()))),(0,g.cy)(n[e])||(n[e]=[n[e]]),{[e]:n[e]}}))}return e.getAdUnits().filter((e=>t(e))).reduce(((e,t)=>{const i=n(t);return i&&e.push({[t.code]:i}),e}),[])}());return r.forEach((e=>{!function(e){Object.keys(e).forEach((t=>{e[t].forEach((e=>{const t=Object.keys(e);-1===m.indexOf(t[0])&&(m=t.concat(m))}))}))}(e)})),r}(w(S,c,k,void 0,u),R);const U=Object.keys(Object.assign({},a.Zh,a.x5));let _=s.$W.getConfig(y);const $=s.$W.getConfig(v);if(null!=$&&null!=_)throw new Error(E);_=null!=$?U.concat($):_||U,Array.isArray(_)&&_.length>0&&(D=function(e,t){const n=Object.assign({},a.xS,a.x5),i=Object.keys(n),r={};(0,g.fH)(`allowTargetingKeys - allowed keys [ ${t.map((e=>n[e])).join(", ")} ]`),e.map((e=>{const o=Object.keys(e)[0],s=e[o].filter((e=>{const o=Object.keys(e)[0],s=0===i.filter((e=>0===o.indexOf(n[e]))).length||(0,f.I6)(t,(e=>{const t=n[e];return 0===o.indexOf(t)}));return r[o]=!s,s}));e[o]=s}));const o=Object.keys(r).filter((e=>r[e]));return(0,g.fH)(`allowTargetingKeys - removed keys [ ${o.join(", ")} ]`),e.filter((e=>e[Object.keys(e)[0]].length>0))}(D,_)),D=function(e){let t=e.map((e=>({[Object.keys(e)[0]]:e[Object.keys(e)[0]].map((e=>({[Object.keys(e)[0]]:e[Object.keys(e)[0]].join(",")}))).reduce(((e,t)=>Object.assign(t,e)),{})})));return t=t.reduce((function(e,t){var n=Object.keys(t)[0];return e[n]=Object.assign({},e[n],t[n]),e}),{}),t}(D);const j=s.$W.getConfig("targetingControls.auctionKeyMaxChars");return j&&((0,g.fH)(`Detected \'targetingControls.auctionKeyMaxChars\' was active for this auction; set with a limit of ${j} characters. Running checks on auction keys...`),D=function(e,t){let n=(0,g.Go)(e),i=Object.keys(n).map((e=>({adUnitCode:e,adserverTargeting:n[e]}))).sort(C());return i.reduce((function(e,i,r,o){let s=(a=i.adserverTargeting,Object.keys(a).reduce((function(e,t){return e+`${t}%3d${encodeURIComponent(a[t])}%26`}),""));var a;r+1===o.length&&(s=s.slice(0,-3));let d=i.adUnitCode,c=s.length;return c<=t?(t-=c,(0,g.fH)(`AdUnit \'${d}\' auction keys comprised of ${c} characters. Deducted from running threshold; new limit is ${t}`,n[d]),e[d]=n[d]):(0,g.JE)(`The following keys for adUnitCode \'${d}\' exceeded the current limit of the \'auctionKeyMaxChars\' setting.\\nThe key-set size was ${c}, the current allotted amount was ${t}.\\n`,n[d]),r+1===o.length&&0===Object.keys(e).length&&(0,g.vV)("No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting."),e}),{})}(D,j)),A.forEach((e=>{D[e]||(D[e]={})})),D},s.$W.getConfig("targetingControls",(function(e){null!=(0,p.A)(e,y)&&null!=(0,p.A)(e,v)&&(0,g.vV)(E)})),t.setTargetingForGPT=(0,c.A_)("sync",(function(n,i){let r=t.getAllTargeting(n),o=Object.fromEntries(m.map((e=>[e,null])));Object.entries(B(Object.keys(r),i)).forEach((e=>{let[t,n]=e;n.forEach((e=>{Object.keys(r[t]).forEach((e=>{let n=r[t][e];"string"==typeof n&&-1!==n.indexOf(",")&&(n=n.split(",")),r[t][e]=n})),(0,g.OG)(`Attempting to set targeting-map for slot: ${e.getSlotElementId()} with targeting-map:`,r[t]),e.updateTargetingFromMap(Object.assign({},o,r[t]))}))})),Object.keys(r).forEach((t=>{Object.keys(r[t]).forEach((n=>{"hb_adid"===n&&e.setStatusForBids(r[t][n],a.tl.BID_TARGETING_SET)}))})),t.targetingDone(r),d.Ic(a.qY.SET_TARGETING,r)}),"setTargetingForGPT"),t.targetingDone=(0,c.A_)("sync",(function(e){return e}),"targetingDone"),t.getWinningBids=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h.Vk,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:g.Q0;const a=[],d=t||I(n,i),c=r(e);return d.reduce(((e,t)=>{const n=t.adUnitCode,i=!0===o.u.get(n,"allowZeroCpmBids")?t.cpm>=0:t.cpm>0,r=s.$W.getConfig("targetingControls.alwaysIncludeDeals")&&t.dealId;return(0,f.mK)(c,n)&&!(0,f.mK)(a,n)&&(r||i)&&(e.push(t),a.push(n)),e}),[])},t.setTargetingForAst=function(e){let n=t.getAllTargeting(e);try{t.resetPresetTargetingAST(e)}catch(e){(0,g.vV)("unable to reset targeting for AST"+e)}Object.keys(n).forEach((e=>Object.keys(n[e]).forEach((t=>{if((0,g.OG)(`Attempting to set targeting for targetId: ${e} key: ${t} value: ${n[e][t]}`),(0,g.O8)(n[e][t])||(0,g.cy)(n[e][t])){let i={},r=/pt[0-9]/;t.search(r)<0?i[t.toUpperCase()]=n[e][t]:i[t]=n[e][t],window.apntag.setKeywords(e,i,{overrideKeyValue:!0})}}))))},t.isApntagDefined=function(){if(window.apntag&&(0,g.fp)(window.apntag.setKeywords))return!0},t}(i.n)},8230:(e,t,n)=>{n.d(t,{zt:()=>g});var i=n(1069),r=n(3272),o=n(5901),s=n(2938),a=n(5139),d=n(6811),c=n(2604),u=n(5569),l=n(3441);r.$W.setDefaults({userSync:(0,i.Go)({syncEnabled:!0,filterSettings:{image:{bidders:"*",filter:"include"}},syncsPerBidder:5,syncDelay:3e3,auctionDelay:500})});const f=(0,s.CK)("usersync");const g=function(e){let t={},n={image:[],iframe:[]},s=new Set,a={},f={image:!0,iframe:!1},g=e.config;function p(){if(g.syncEnabled&&e.browserSupportsCookies){try{!function(){if(!f.iframe)return;h(n.iframe,(e=>{let[t,r]=e;(0,i.OG)(`Invoking iframe user sync for bidder: ${t}`),(0,i.SG)(r),function(e,t){e.image=e.image.filter((e=>e[0]!==t))}(n,t)}))}(),function(){if(!f.image)return;h(n.image,(e=>{let[t,n]=e;(0,i.OG)(`Invoking image pixel user sync for bidder: ${t}`),(0,i.z$)(n)}))}()}catch(e){return(0,i.vV)("Error firing user syncs",e)}n={image:[],iframe:[]}}}function h(e,t){(0,i.k4)(e).forEach(t)}function m(e,t){let n=g.filterSettings;if(function(e,t){if(e.all&&e[t])return(0,i.JE)(`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],r=e.all?"all":t;if(!n)return!1;let o=n.filter,s=n.bidders;if(o&&"include"!==o&&"exclude"!==o)return(0,i.JE)(`UserSync "filterSettings.${r}.filter" setting \'${o}\' is not a valid option; use either \'include\' or \'exclude\'.`),!1;if("*"!==s&&!(Array.isArray(s)&&s.length>0&&s.every((e=>(0,i.O8)(e)&&"*"!==e))))return(0,i.JE)(`Detected an invalid setup in userSync "filterSettings.${r}.bidders"; use either \'*\' (to represent all bidders) or an array of bidders.`),!1;return!0}(n,e)){f[e]=!0;let i=n.all?n.all:n[e],r="*"===i.bidders?[t]:i.bidders;const s={include:(e,t)=>!(0,o.mK)(e,t),exclude:(e,t)=>(0,o.mK)(e,t)};return s[i.filter||"include"](r,t)}return!f[e]}return r.$W.getConfig("userSync",(e=>{if(e.userSync){let t=e.userSync.filterSettings;(0,i.Qd)(t)&&(t.image||t.all||(e.userSync.filterSettings.image={bidders:"*",filter:"include"}))}g=Object.assign(g,e.userSync)})),e.regRule(d.Ml,"userSync config",(e=>{if(!g.syncEnabled)return{allow:!1,reason:"syncs are disabled"};if(e[c.Dk]===u.tW){const n=e[c.bt],i=e[c.iK];if(!t.canBidderRegisterSync(n,i))return{allow:!1,reason:`${n} syncs are not enabled for ${i}`}}})),t.registerSync=(t,r,o)=>s.has(r)?(0,i.OG)(`already fired syncs for "${r}", ignoring registerSync call`):g.syncEnabled&&(0,i.cy)(n[t])?r?0!==g.syncsPerBidder&&Number(a[r])>=g.syncsPerBidder?(0,i.JE)(`Number of user syncs exceeded for "${r}"`):void(e.isAllowed(d.Ml,(0,l.s)(u.tW,r,{[c.bt]:t,[c.e3]:o}))&&(n[t].push([r,o]),a=function(e,t){return e[t]?e[t]+=1:e[t]=1,e}(a,r))):(0,i.JE)("Bidder is required for registering sync"):(0,i.JE)(`User sync type "${t}" not supported`),t.bidderDone=s.add.bind(s),t.syncUsers=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(e)return setTimeout(p,Number(e));p()},t.triggerUserSyncs=()=>{g.enableOverride&&t.syncUsers()},t.canBidderRegisterSync=(e,t)=>!g.filterSettings||!m(e,t),t}(Object.defineProperties({config:r.$W.getConfig("userSync"),isAllowed:a.io,regRule:a.qB},{browserSupportsCookies:{get:function(){return!(0,i.Vt)()&&f.cookiesAreEnabled()}}}))},1069:(e,t,n)=>{n.d(t,{$D:()=>D,$l:()=>ze,$z:()=>Se,Bg:()=>Ke,Bj:()=>Je,Bk:()=>ge,Bq:()=>he,CA:()=>J,D9:()=>He,Dl:()=>Me,El:()=>Qe,Et:()=>ee,Ez:()=>K,Fq:()=>Ne,GE:()=>ke,Go:()=>Ae,II:()=>be,Im:()=>ie,JE:()=>M,Lm:()=>ne,N9:()=>Oe,O8:()=>X,OG:()=>W,PB:()=>Le,Q0:()=>ve,Qd:()=>te,SB:()=>_e,SG:()=>le,SH:()=>De,Tz:()=>fe,U6:()=>Re,Up:()=>Pe,Uu:()=>We,V:()=>Be,Vt:()=>Te,ZA:()=>me,_s:()=>ae,al:()=>Ie,bL:()=>S,bu:()=>oe,bz:()=>xe,c$:()=>Ge,cD:()=>I,cf:()=>j,cy:()=>Z,fH:()=>V,fp:()=>Y,gM:()=>we,gR:()=>se,h0:()=>F,hj:()=>pe,hw:()=>z,iC:()=>qe,k4:()=>Ee,kK:()=>_,l4:()=>N,l9:()=>$e,lk:()=>k,mM:()=>w,mb:()=>x,ro:()=>ue,s0:()=>O,sC:()=>je,t1:()=>ye,u5:()=>R,vE:()=>Ce,vV:()=>G,wD:()=>Ue,xQ:()=>re,y$:()=>U,z$:()=>ce});var i=n(3272),r=n(5751),o=n(5901),s=n(8969),a=n(5555),d=n(7873),c="String",u="Function",l="Number",f="Object",g="Boolean",p=Object.prototype.toString;let h,m=Boolean(window.console),b=Boolean(m&&window.console.log),y=Boolean(m&&window.console.info),v=Boolean(m&&window.console.warn),E=Boolean(m&&window.console.error);const A=(0,d.m)();function I(e){h=e}function T(){null!=h&&h(...arguments)}const w={checkCookieSupport:ke,createTrackPixelIframeHtml:function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(!e)return"";t&&(e=encodeURI(e));n&&(n=`sandbox="${n}"`);return`<iframe ${n} id="${O()}"\\n frameborder="0"\\n allowtransparency="true"\\n marginheight="0" marginwidth="0"\\n width="0" hspace="0" vspace="0" height="0"\\n style="height:0px;width:0px;display:none;"\\n scrolling="no"\\n src="${e}">\\n </iframe>`},getWindowSelf:N,getWindowTop:x,canAccessWindowTop:function(){try{if(w.getWindowTop().location.href)return!0}catch(e){return!1}},getWindowLocation:P,insertUserSyncIframe:le,insertElement:ae,isFn:Y,triggerPixel:ce,logError:G,logWarn:M,logMessage:W,logInfo:V,parseQS:Ve,formatQS:function(e){return Object.keys(e).map((t=>Array.isArray(e[t])?e[t].map((e=>`${t}[]=${e}`)).join("&"):`${t}=${e[t]}`)).join("&")},deepEqual:Fe};var C,B=(C=0,function(){return++C});function O(){return B()+Math.random().toString(16).substr(2)}function k(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,k)}function R(e,t){return t?.[e]||""}function S(e){let t="";for(var n in e)e.hasOwnProperty(n)&&(t+=n+"="+encodeURIComponent(e[n])+"&");return t=t.replace(/&$/,""),t}function D(e){return e&&Object.getOwnPropertyNames(e).length>0?Object.keys(e).map((t=>`${t}=${encodeURIComponent(e[t])}`)).join("&"):""}function U(e){return"string"==typeof e?e.split(/\\s*,\\s*/).map((e=>e.match(/^(\\d+)x(\\d+)$/i))).filter((e=>e)).map((e=>{let[t,n,i]=e;return[parseInt(n,10),parseInt(i,10)]})):Array.isArray(e)?q(e)?[e]:e.filter(q):[]}function _(e){return U(e).map($)}function $(e){return e[0]+"x"+e[1]}function j(e){return{w:e[0],h:e[1]}}function q(e){return Z(e)&&2===e.length&&!isNaN(e[0])&&!isNaN(e[1])}function x(){return window.top}function N(){return window.self}function P(){return window.location}function W(){L()&&b&&console.log.apply(console,H(arguments,"MESSAGE:"))}function V(){L()&&y&&console.info.apply(console,H(arguments,"INFO:"))}function M(){L()&&v&&console.warn.apply(console,H(arguments,"WARNING:")),T(s.qY.AUCTION_DEBUG,{type:"WARNING",arguments})}function G(){L()&&E&&console.error.apply(console,H(arguments,"ERROR:")),T(s.qY.AUCTION_DEBUG,{type:"ERROR",arguments})}function F(e){function t(t){return function(){for(var n=arguments.length,i=new Array(n),r=0;r<n;r++)i[r]=arguments[r];t(e,...i)}}return{logError:t(G),logWarn:t(M),logMessage:t(W),logInfo:t(V)}}function H(e,t){e=[].slice.call(e);let n=i.$W.getCurrentBidder();return t&&e.unshift(t),n&&e.unshift(r("#aaa")),e.unshift(r("#3b88c3")),e.unshift("%cPrebid"+(n?`%c${n}`:"")),e;function r(e){return`display: inline-block; color: #fff; background: ${e}; padding: 1px 4px; border-radius: 3px;`}}function L(){return!!i.$W.getConfig("debug")}const z=(()=>{const e={border:"0px",hspace:"0",vspace:"0",marginWidth:"0",marginHeight:"0",scrolling:"no",frameBorder:"0",allowtransparency:"true"};return function(t,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=t.createElement("iframe");return Object.assign(r,Object.assign({},e,n)),Object.assign(r.style,i),r}})();function J(){return z(document,{id:O(),width:0,height:0,src:"about:blank"},{display:"none",height:"0px",width:"0px",border:"0px"})}function K(e){return Ve(P().search)[e]||""}function Q(e,t){return p.call(e)==="[object "+t+"]"}function Y(e){return Q(e,u)}function X(e){return Q(e,c)}const Z=Array.isArray.bind(Array);function ee(e){return Q(e,l)}function te(e){return Q(e,f)}function ne(e){return Q(e,g)}function ie(e){return!e||(Z(e)||X(e)?!(e.length>0):Object.keys(e).length<=0)}function re(e){return X(e)&&(!e||0===e.length)}function oe(e,t){if(Y(e?.forEach))return e.forEach(t,this);Object.entries(e||{}).forEach((e=>{let[n,i]=e;return t.call(this,i,n)}))}function se(e,t){return Y(e?.includes)&&e.includes(t)}function ae(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 de(e,t){let n=null;return new a.k((i=>{const r=function(){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 ce(e,t,n){const i=new Image;t&&w.isFn(t)&&de(i,n).then(t),i.src=e}function ue(e){if(!e)return;const t=J();var n;w.insertElement(t,document,"body"),(n=t.contentWindow.document).open(),n.write(e),n.close()}function le(e,t,n){let i=w.createTrackPixelIframeHtml(e,!1,"allow-scripts allow-same-origin"),r=document.createElement("div");r.innerHTML=i;let o=r.firstChild;t&&w.isFn(t)&&de(o,n).then(t),w.insertElement(o,document,"html",!0)}function fe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:encodeURI;if(!e)return"";let n=\'<div style="position:absolute;left:0px;top:0px;visibility:hidden;">\';return n+=\'<img src="\'+t(e)+\'"></div>\',n}function ge(e){return Array.from(e.matchAll(/\\$({[^}]+})/g)).map((e=>e[1])).reduce(((e,t)=>e.replace("$"+encodeURIComponent(t),"$"+t)),encodeURI(e))}function pe(e,t,n){return n.indexOf(e)===t}function he(e,t){return e.concat(t)}function me(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:A.adUnits).map((e=>e.bids.map((e=>e.bidder)).reduce(he,[]))).reduce(he,[]).filter((e=>void 0!==e)).filter(pe)}function be(){if(window.googletag&&Y(window.googletag.pubads)&&Y(window.googletag.pubads().getSlots))return!0}function ye(){if(window.apntag&&Y(window.apntag.getTag))return!0}const ve=(e,t)=>t.cpm-e.cpm;function Ee(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 Ae(e){return(0,r.Q)(e)||{}}function Ie(){try{return w.getWindowSelf()!==w.getWindowTop()}catch(e){return!0}}function Te(){return/^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent)}function we(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 Ce(){return(new Date).getTime()}function Be(){return window.performance&&window.performance.now&&window.performance.now()||0}function Oe(){return!1!==i.$W.getConfig("deviceAccess")}function ke(){if(window.navigator.cookieEnabled||document.cookie.length)return!0}function Re(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 Se(e,t){return e.reduce((function(e,n){return(e[n[t]]=e[n[t]]||[]).push(n),e}),{})}function De(e,t){return t.filter((t=>e[t])).reduce(((t,n)=>Object.assign(t,{[n]:e[n]})),{})}function Ue(e){const t=["banner","native","video"],n=["instream","outstream","adpod"];return!!Object.keys(e).every((e=>(0,o.mK)(t,e)))&&(!e.video||!e.video.context||(0,o.mK)(n,e.video.context))}function _e(e,t,n){return e.filter((e=>e.code===t)).flatMap((e=>e.bids)).filter((e=>e.bidder===n)).map((e=>e.params||{}))}function $e(){return"1"===navigator.doNotTrack||"1"===window.doNotTrack||"1"===navigator.msDoNotTrack||"yes"===navigator.doNotTrack}const je=(e,t)=>e.getAdUnitPath()===t||e.getSlotElementId()===t;function qe(e){return t=>je(e,t)}function xe(e,t){const n=Object.keys(e.mediaTypes||{banner:"banner"}).join(", ");return`\\n ${e.code} is a ${n} ad unit\\n containing bidders that don\'t support ${n}: ${t}.\\n This bidder won\'t fetch demand.\\n `}const Ne=Number.isInteger.bind(Number);function Pe(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 We(e,t){return Z(e)&&(!t||e.length===t)&&e.every((e=>Ne(e)))}function Ve(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 Me(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:w.parseQS(n.search||""),hash:(n.hash||"").replace(/^#/,""),host:n.host||window.location.host}}function Ge(e){return(e.protocol||"http")+"://"+(e.host||e.hostname+(e.port?`:${e.port}`:""))+(e.pathname||"")+(e.search?`?${w.formatQS(e.search||"")}`:"")+(e.hash?`#${e.hash}`:"")}function Fe(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;{const i=Object.keys(e);if(i.length!==Object.keys(t).length)return!1;for(let r of i){if(!t.hasOwnProperty(r))return!1;if(!Fe(e[r],t[r],{checkTypes:n}))return!1}return!0}}function He(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];if(!n.length)return e;const r=n.shift();if(te(e)&&te(r))for(const t in r)te(r[t])?(e[t]||Object.assign(e,{[t]:{}}),He(e[t],r[t])):Z(r[t])?e[t]?Z(e[t])&&r[t].forEach((n=>{let i=1;for(let r=0;r<e[t].length;r++)if(Fe(e[t][r],n)){i=0;break}i&&e[t].push(n)})):Object.assign(e,{[t]:[...r[t]]}):Object.assign(e,{[t]:r[t]});return He(e,...n)}function Le(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=function(e,t){if(Y(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<e.length;o++)t=e.charCodeAt(o),i=n(i^t,2654435761),r=n(r^t,1597334677);return i=n(i^i>>>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 ze(e){try{return JSON.parse(e)}catch(e){}}function Je(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return 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 Ke(e,t){Object.entries(t).forEach((t=>{let[n,i]=t;return e.setAttribute(n,i)}))}function Qe(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}},2621:(e,t,n)=>{function i(e){return!e?.gdprApplies||!0===e?.vendorData?.purpose?.consents?.[1]}n.d(t,{C:()=>i})},6894:(e,t,n)=>{n.d(t,{Ak:()=>m,BO:()=>g,K7:()=>p,NL:()=>b});var i=n(3272);const r="performanceMetrics",o=window.performance&&window.performance.now?()=>window.performance.now():()=>Date.now(),s=new WeakMap;function a(){let{now:e=o,mkNode:t=u,mkTimer:n=c,mkRenamer:i=(e=>e),nodes:r=s}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(){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=(c="timestamps",function(e){return s.dfWalk({visit(t,n){const i=n[c];if(i.hasOwnProperty(e))return i[e]}})});var c;function u(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=>u(t,e)))}function f(){let e={};return s.dfWalk({visit(t,n){e=Object.assign({},!t||t.includeGroups?n.groups:null,n.metrics,e)}}),e}const g={startTiming:l,measureTime:function(e,t){return l(e).stopAfter(t)()},measureHookTime:function(e,t,n){const i=l(e);return n(function(e){const t=i.stopBefore(e);return t.bail=e.bail&&i.stopBefore(e.bail),t.stopTiming=i,t.untimed=e,t}(t))},checkpoint:function(t){s.timestamps[t]=e()},timeSince:function(t,n){const i=d(t),r=null!=i?e()-i:null;return null!=n&&u(n,r),r},timeBetween:function(e,t,n){const i=d(e),r=d(t),o=null!=i&&null!=r?r-i:null;return null!=n&&u(n,o),o},setMetric:u,getMetrics:f,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:function(){return o(s.newSibling(),a)},renameWith:function(e){return o(s,e)},toJSON:()=>f()};return r.set(g,s),g}(t([]))}}function d(e,t,n){return function(){t&&t();try{return e.apply(this,arguments)}finally{n&&n()}}}function c(e,t){const n=e();let i=!1;function r(){i||(t(e()-n),i=!0)}return r.stopBefore=e=>d(e,r),r.stopAfter=e=>d(e,null,r),r}function u(e){return{metrics:{},timestamps:{},groups:{},addParent(t,n){e.push([t,n])},newSibling:()=>u(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 l=(()=>{const e=function(){},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 a({now:()=>0,mkNode:()=>r,mkRenamer:()=>()=>n,mkTimer:()=>i,nodes:{get:e,set:e}})()})();let f=!0;function g(e){return f&&e||l}i.$W.getConfig(r,(e=>{f=!!e[r]}));const p=(()=>{const e=a();return function(){return f?e():l}})();function h(e,t){return function(n,i){return function(r){for(var o=arguments.length,s=new Array(o>1?o-1:0),a=1;a<o;a++)s[a-1]=arguments[a];const d=this;return g(t.apply(d,s)).measureHookTime(e+n,r,(function(e){return i.call(d,e,...s)}))}}}const m=h("requestBids.",(e=>e.metrics)),b=h("addBidResponse.",((e,t)=>t.metrics))},5555:(e,t,n)=>{n.d(t,{k:()=>o,v:()=>s});const i=0,r=1;class o{#d;#c;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[o,s]=[i,r].map((e=>function(r){if(e===i&&"function"==typeof r?.then)r.then(o,s);else if(!t.length)for(t.push(e,r);n.length;)n.shift()()}));try{e(o,s)}catch(e){s(e)}this.#d=t,this.#c=n}then(e,t){const n=this.#d;return new this.constructor(((r,o)=>{const s=()=>{let s=n[1],[a,d]=n[0]===i?[e,r]:[t,o];if("function"==typeof a){try{s=a(s)}catch(e){return void o(e)}d=r}d(s)};n.length?s():this.#c.push(s)}))}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#u(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.#u(e,((e,i)=>e?t(i):n(i)))}))}static all(e){return new this(((t,n)=>{let i=[];this.#u(e,((e,t,r)=>e?i[r]=t:n(t)),(()=>t(i)))}))}static allSettled(e){return new this((t=>{let n=[];this.#u(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 s(){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)}}},2713:(e,t,n)=>{function i(e,t){return e===t?0:e<t?-1:1}function r(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e=>e;return(t,n)=>i(e(t),e(n))}function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i;return(t,n)=>-e(t,n)||0}function s(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e,n){for(const i of t){const t=i(e,n);if(0!==t)return t}return 0}}function a(){return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i;return(t,n)=>e(n,t)<0?n:t}(o(arguments.length>0&&void 0!==arguments[0]?arguments[0]:i))}n.d(t,{Bq:()=>l,Vk:()=>u});const d=r((e=>e.cpm)),c=r((e=>e.responseTimestamp)),u=a(s(d,o(r((e=>e.timeToRespond))))),l=a(s(d,o(c)));a(s(d,c))},6853:(e,t,n)=>{n.d(t,{H:()=>u});var i=n(5555),r=n(1069);let o=null,s=0,a=[];function d(){document.hidden?o=Date.now():(s+=Date.now()-(o??0),o=null,a.forEach((e=>{let{callback:t,startTime:n,setTimerId:i}=e;return i(c(t,s-n)())})),a=[])}function c(e,t){const n=s;let i=setTimeout((()=>{s===n&&null==o?e():null!=o?a.push({callback:e,startTime:n,setTimerId(e){i=e}}):i=c(e,s-n)()}),t);return()=>i}function u(){let{startTime:e=r.vE,ttl:t=(()=>null),monotonic:n=!1,slack:o=5e3}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const s=new Map,a=[],d=[],u=n?e=>d.push(e):e=>d.splice((0,r.El)(d,e,(e=>e.expiry)),0,e);let l,f;function g(){if(f&&clearTimeout(f),d.length>0){const e=(0,r.vE)();l=Math.max(e,d[0].expiry+o),f=c((()=>{const e=(0,r.vE)();let t=0;for(const n of d){if(n.expiry>e)break;a.forEach((e=>{try{e(n.item)}catch(e){(0,r.vV)(e)}})),s.delete(n.item),t++}d.splice(0,t),f=null,g()}),l-e)}else f=null}function p(n){const r={},s=h;let a;const[d,c]=Object.entries({start:e,delta:t}).map((e=>{let t,[d,c]=e;return function(){const e=t={};i.k.resolve(c(n)).then((n=>{e===t&&(r[d]=n,s===h&&null!=r.start&&null!=r.delta&&(a=r.start+r.delta,u(p),(null==f||l>a+o)&&g()))}))}})),p={item:n,refresh:c,get expiry(){return a}};return d(),c(),p}let h={};return{[Symbol.iterator]:()=>s.keys(),add(e){!s.has(e)&&s.set(e,p(e))},clear(){d.length=0,g(),s.clear(),h={}},toArray:()=>Array.from(s.keys()),refresh(){d.length=0,g();for(const e of s.values())e.refresh()},onExpiry:e=>(a.push(e),()=>{const t=a.indexOf(e);t>=0&&a.splice(t,1)})}}document.addEventListener("visibilitychange",d)},3895:(e,t,n)=>{n.d(t,{H6:()=>a,V0:()=>u,Zy:()=>c,aP:()=>l,mn:()=>d,vk:()=>f});var i=n(1069),r=n(3272),o=n(9214),s=n(6881);const a="outstream",d="instream",c=new Map([["mimes",e=>Array.isArray(e)&&e.length>0&&e.every((e=>"string"==typeof e))],["minduration",i.Fq],["maxduration",i.Fq],["startdelay",i.Fq],["maxseq",i.Fq],["poddur",i.Fq],["protocols",i.Uu],["w",i.Fq],["h",i.Fq],["podid",i.O8],["podseq",i.Fq],["rqddurs",i.Uu],["placement",i.Fq],["plcmt",i.Fq],["linearity",i.Fq],["skip",e=>[1,0].includes(e)],["skipmin",i.Fq],["skipafter",i.Fq],["sequence",i.Fq],["slotinpod",i.Fq],["mincpmpersec",i.Et],["battr",i.Uu],["maxextended",i.Fq],["minbitrate",i.Fq],["maxbitrate",i.Fq],["boxingallowed",i.Fq],["playbackmethod",i.Uu],["playbackend",i.Fq],["delivery",i.Uu],["pos",i.Fq],["api",i.Uu],["companiontype",i.Uu],["poddedupe",i.Uu]]);function u(e){const t=e?.mediaTypes?.video;null!=t&&null==t.plcmt&&(t.context===a||[2,3,4].includes(t.placement)?t.plcmt=4:t.context!==a&&[2,6].includes(t.playbackmethod)&&(t.plcmt=2))}function l(e,t){const n=e?.mediaTypes?.video;(0,i.Qd)(n)?null!=n&&Object.entries(n).forEach((r=>{let[o,s]=r;if(!c.has(o))return;c.get(o)(s)||("function"==typeof t?t(o,s,e):(delete n[o],(0,i.JE)(`Invalid prop in adUnit "${e.code}": Invalid value for mediaTypes.video.${o} ORTB property. The property has been removed.`)))})):(0,i.JE)("validateOrtbVideoFields: videoParams must be an object.")}function f(e){let{index:t=s.n.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=t.getMediaTypes(e)?.video,i=n&&n?.context,r=n&&n?.useCacheKey,o=t.getAdUnit(e);return g(e,o,n,i,r)}const g=(0,o.A_)("sync",(function(e,t,n,o,s){return n&&(s||o!==a)?r.$W.getConfig("cache.url")||!e.vastXml||e.vastUrl?!(!e.vastUrl&&!e.vastXml):((0,i.vV)(\'\\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):!(o===a&&!s)||!!(e.renderer||t&&t.renderer||n.renderer)}),"checkVideoBidSetup")}}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[85],{4595:(s,d,e)=>{e.d(d,{G:()=>n});const n=\'(()=>{"use strict";window.render=function({ad:d,adUrl:e,width:i,height:r},{mkFrame:n},o){if(!d&&!e)throw{reason:"noAd",message:"Missing ad markup or URL"};{const s=o.document,t={width:i,height:r};e&&!d?t.src=e:t.srcdoc=d,s.body.appendChild(n(s,t))}}})();\'}}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[117],{7620:(e,t,r)=>{r.d(t,{A:()=>m});const n=new WeakMap;var i=r(1069),s=r(1371);var o=r(3895);const a={1:s.D4,2:s.G_,4:s.s6};var d=r(1e3),p=r(3858);const c={[d.S3]:{fpd:{priority:99,fn(e,t){(0,i.D9)(e,t.ortb2)}},onlyOneClient:{priority:-99,fn:(0,p.i8)("ORTB request")},props:{fn(e,t){Object.assign(e,{id:e.id||(0,i.lk)(),test:e.test||0});const r=parseInt(t.timeout,10);isNaN(r)||(e.tmax=r)}}},[d.Tb]:{fpd:{priority:99,fn(e,t){(0,i.D9)(e,t.ortb2Imp)}},id:{fn(e,t){e.id=t.bidId}},banner:{fn:function(e,t,r){if(r.mediaType&&r.mediaType!==s.D4)return;const n=t?.mediaTypes?.banner;if(n){const t={topframe:!0===(0,i.al)()?0:1};n.sizes&&(t.format=(0,i.y$)(n.sizes).map(i.cf)),n.hasOwnProperty("pos")&&(t.pos=n.pos),e.banner=(0,i.D9)(t,e.banner)}}},pbadslot:{fn(e){const t=e.ext?.data?.pbadslot;t&&"string"==typeof t||delete e.ext?.data?.pbadslot}},secure:{fn(e,t){e.secure=e.secure??1}}},[d.WR]:{mediaType:{priority:99,fn:function(e,t,r){if(e.mediaType)return;const n=r.mediaType;if(!n&&!a.hasOwnProperty(t.mtype))throw new Error("Cannot determine mediaType for response");e.mediaType=n||a[t.mtype]}},banner:{fn:function(){let{createPixel:e=(e=>(0,i.Tz)(decodeURIComponent(e),i.Bk))}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t,r){t.mediaType===s.D4&&(r.adm&&r.nurl?(t.ad=r.adm,t.ad+=e(r.nurl)):r.adm?t.ad=r.adm:r.nurl&&(t.adUrl=r.nurl))}}()},props:{fn(e,t,r){Object.entries({requestId:r.bidRequest?.bidId,seatBidId:t.id,cpm:t.price,currency:r.ortbResponse.cur||r.currency,width:t.w,height:t.h,dealId:t.dealid,creative_id:t.crid,creativeId:t.crid,burl:t.burl,ttl:t.exp||r.ttl,netRevenue:r.netRevenue}).filter((e=>{let[t,r]=e;return void 0!==r})).forEach((t=>{let[r,n]=t;return e[r]=n})),e.meta||(e.meta={}),t.adomain&&(e.meta.advertiserDomains=t.adomain),t.ext?.dsa&&(e.meta.dsa=t.ext.dsa),t.cat&&(e.meta.primaryCatId=t.cat[0],e.meta.secondaryCatIds=t.cat.slice(1)),t.attr&&(e.meta.attr=t.attr)}}}};function u(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];const n=t.shift(),i=t.length>1?u(...t):t[0];return Object.fromEntries(d.zt.map((e=>[e,Object.assign({},n[e],i[e])])))}function m(){let{context:e={},processors:t=f,overrides:r={},imp:s,request:o,bidResponse:a,response:p}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const c=new WeakMap;function u(e,i,s,o){let a;return function(){return null==a&&(a=function(){let a=s.bind(this,function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!n.has(e)){const t=Object.entries(e);t.sort(((e,t)=>(e=e[1].priority||0)===(t=t[1].priority||0)?0:e>t?-1:1)),n.set(e,t.map((e=>{let[t,r]=e;return[t,r.fn]})))}const r=n.get(e).filter((e=>{let[r]=e;return!t.hasOwnProperty(r)||t[r]})).map((function(e){let[r,n]=e;return t.hasOwnProperty(r)?t[r].bind(this,n):n}));return function(){const e=Array.from(arguments);r.forEach((t=>{t.apply(this,e)}))}}(t()[e]||{},r[e]||{}));return i&&(a=i.bind(this,a)),function(){try{return a.apply(this,arguments)}catch(e){o.call(this,e,...arguments)}}}()),a.apply(this,arguments)}}const m=u(d.Tb,s,(function(e,t,r){const n={};return e(n,t,r),n}),(function(e,t,r){(0,i.vV)("Error while converting bidRequest to ORTB imp; request skipped.",{error:e,bidRequest:t,context:r})})),l=u(d.S3,o,(function(e,t,r,n){const i={imp:t};return e(i,r,n),i}),(function(e,t,r,n){throw(0,i.vV)("Error while converting to ORTB request",{error:e,imps:t,bidderRequest:r,context:n}),e})),b=u(d.WR,a,(function(e,t,r){const n={};return e(n,t,r),n}),(function(e,t,r){(0,i.vV)("Error while converting ORTB seatbid.bid to bidResponse; bid skipped.",{error:e,bid:t,context:r})})),y=u(d.Cf,p,(function(e,t,r,n){const i={bids:t};return e(i,r,n),i}),(function(e,t,r,n){throw(0,i.vV)("Error while converting from ORTB response",{error:e,bidResponses:t,ortbResponse:r,context:n}),e}));return{toORTB(t){let{bidderRequest:r,bidRequests:n,context:s={}}=t;n=n||r.bids;const o={req:Object.assign({bidRequests:n},e,s),imp:{}};o.req.impContext=o.imp;const a=n.map((t=>{const n=Object.assign({bidderRequest:r,reqContext:o.req},e,s),a=m(t,n);if(null!=a){if(a.hasOwnProperty("id"))return Object.assign(n,{bidRequest:t,imp:a}),o.imp[a.id]=n,a;(0,i.vV)("Converted ORTB imp does not specify an id, ignoring bid request",t,a)}})).filter(Boolean),d=l(a,r,o.req);return o.req.bidderRequest=r,null!=d&&c.set(d,o),d},fromORTB(e){let{request:t,response:r}=e;const n=c.get(t);if(null==n)throw new Error("ortbRequest passed to `fromORTB` must be the same object returned by `toORTB`");function s(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.assign(e,{ortbRequest:t},r)}const o=Object.fromEntries((t.imp||[]).map((e=>[e.id,e]))),a=(r.seatbid||[]).flatMap((e=>(e.bid||[]).map((t=>{if(o.hasOwnProperty(t.impid)&&n.imp.hasOwnProperty(t.impid))return b(t,s(n.imp[t.impid],{imp:o[t.impid],seatbid:e,ortbResponse:r}));(0,i.vV)("ORTB response seatbid[].bid[].impid does not match any imp in request; ignoring bid",t)})))).filter(Boolean);return y(a,r,s(n.req))}}}c[d.Tb].native={fn:function(e,t,r){if(r.mediaType&&r.mediaType!==s.s6)return;let n=t.nativeOrtbRequest;n&&(n=Object.assign({},r.nativeRequest,n),n.assets?.length?e.native=(0,i.D9)({},{request:JSON.stringify(n),ver:n.ver},e.native):(0,i.JE)("mediaTypes.native is set, but no assets were specified. Native request skipped.",t))}},c[d.WR].native={fn:function(e,t){if(e.mediaType===s.s6){let r;if(r="string"==typeof t.adm?JSON.parse(t.adm):t.adm,!(0,i.Qd)(r)||!Array.isArray(r.assets))throw new Error("ORTB native response contained no assets");e.native={ortb:r}}}},c[d.Tb].video={fn:function(e,t,r){if(r.mediaType&&r.mediaType!==s.G_)return;const n=t?.mediaTypes?.video;if(!(0,i.Im)(n)){const t=Object.fromEntries(Object.entries(n).filter((e=>{let[t]=e;return o.Zy.has(t)})));if(n.playerSize){const e=(0,i.y$)(n.playerSize).map(i.cf);e.length>1&&(0,i.JE)("video request specifies more than one playerSize; all but the first will be ignored"),Object.assign(t,e[0])}e.video=(0,i.D9)(t,e.video)}}},c[d.WR].video={fn:function(e,t,r){e.mediaType===s.G_&&(r?.imp?.video?.w&&r?.imp?.video?.h&&([e.playerWidth,e.playerHeight]=[r.imp.video.w,r.imp.video.h]),t.adm&&(e.vastXml=t.adm),t.nurl&&(e.vastUrl=t.nurl))}};const f=(0,i.Bj)((()=>u(c,(0,d.yB)(d.qN))))}}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[889],{4406:(e,t,n)=>{n.d(t,{FE:()=>i});var r=n(433),s=n(3172),o=n(1069);const u=Object.freeze([...["device.sua","source.schain","regs.gdpr","regs.us_privacy","regs.gpp","regs.gpp_sid","user.consent","user.eids"].map((e=>function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(e,t)=>`${e}.ext.${t}`;const[n,o]=function(e){const t=e.split(".");return[t.slice(0,t.length-1).join("."),t[t.length-1]]}(e);return t=t(n,o),e=>{const u=(0,r.A)(e,n);if(null!=u?.[o])return(0,s.J)(e,t,u[o]),()=>delete u[o]}}(e))),...["app","content","site","user"].map((function(e){return t=>{const n=t[e]?.kwarray;if(null!=n){let r=(t[e].keywords||"").split(",");return Array.isArray(n)&&r.push(...n),t[e].keywords=r.join(","),()=>delete t[e].kwarray}}}))]);function i(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u;return function(n){return t.forEach((t=>{try{const r=t(n);"function"==typeof r&&e&&r()}catch(e){(0,o.vV)("Error translating request to ORTB 2.5",e)}})),n}}i()}}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[957],{6400:(s,e,t)=>{function n(){const s=[];return{submit(e,t,n){const u=[t,setTimeout((()=>{s.splice(s.indexOf(u),1),n()}),e)];s.push(u)},resume(){for(;s.length;){const[e,t]=s.shift();clearTimeout(t),e()}}}}t.d(e,{L:()=>n})}}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[5],{1252:(t,n,e)=>{e.d(n,{p:()=>l});var o=e(5901),u=e(1069);function s(t){let n;return(0,u.II)()&&(n=(0,o.I6)(window.googletag.pubads().getSlots(),function(t){return n=>(0,u.sC)(n,t)}(t))),n}function l(t){const n=s(t);return n?{gptSlot:n.getAdUnitPath(),divId:n.getSlotElementId()}:{}}}}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[498],{11:(r,e,a)=>{a.d(e,{Z:()=>y});var i=a(1069);const y={mimes:r=>Array.isArray(r)&&r.length>0&&r.every((r=>"string"==typeof r)),minduration:r=>(0,i.Fq)(r),maxduration:r=>(0,i.Fq)(r),protocols:r=>Array.isArray(r)&&r.every((r=>r>=1&&r<=10)),w:r=>(0,i.Fq)(r),h:r=>(0,i.Fq)(r),startdelay:r=>(0,i.Fq)(r),linearity:r=>-1!==[1,2].indexOf(r),skip:r=>-1!==[0,1].indexOf(r),skipmin:r=>(0,i.Fq)(r),skipafter:r=>(0,i.Fq)(r),sequence:r=>(0,i.Fq)(r),battr:r=>Array.isArray(r)&&r.every((r=>r>=1&&r<=17)),maxextended:r=>(0,i.Fq)(r),minbitrate:r=>(0,i.Fq)(r),maxbitrate:r=>(0,i.Fq)(r),boxingallowed:r=>-1!==[0,1].indexOf(r),playbackmethod:r=>Array.isArray(r)&&r.every((r=>r>=1&&r<=6)),playbackend:r=>-1!==[1,2,3].indexOf(r),api:r=>Array.isArray(r)&&r.every((r=>r>=1&&r<=6))}}}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[829],{1493:(e,t,i)=>{var a=i(7873),r=i(3172),n=i(1069),o=i(9115),s=i(1371),d=i(2938),p=i(7934),l=i(2621),c=i(5789),u=i(3895),m=i(8044),v=i(7620),g=i(4406);const y="criteo",f="https://grid-bidder.criteo.com/openrtb_2_5/pbjs/auction/request",b=(0,d.vM)({bidderCode:y}),h="Criteo: ",T=(0,g.FE)(),I="https://static.criteo.net/js/ld/publishertag.renderer.js",k="cto_optout",x="cto_bundle",S=(0,v.A)({context:{netRevenue:!0,ttl:60},imp:function(e,t,i){let a=e(t,i);const n=t.params;a.tagid=t.adUnitCode,(0,r.J)(a,"ext",{...t.params.ext,...a.ext,rwdd:a.rwdd,floors:U(t),bidder:{publishersubid:n?.publisherSubId,zoneid:n?.zoneId,uid:n?.uid}}),delete a.rwdd,!i.fledgeEnabled&&a.ext.igs?.ae&&delete a.ext.igs.ae;if(w(t)){const e=t.params.video;void 0!==e&&(0,r.J)(a,"video",{...a.video,skip:a.video.skip||e.skip||0,placement:a.video.placement||e.placement,minduration:a.video.minduration||e.minduration,playbackmethod:a.video.playbackmethod||e.playbackmethod,startdelay:a.video.startdelay||e.startdelay||0}),(0,r.J)(a,"video.ext",{context:t.mediaTypes.video.context,playersizes:E(t?.mediaTypes?.video?.playerSize,R),plcmt:t.mediaTypes.video.plcmt,poddur:t.mediaTypes.video.adPodDurationSec,rqddurs:t.mediaTypes.video.durationRangeSec})}if(a.native&&void 0!==a.native.request){let e=JSON.parse(a.native.request);e.assets&&(1!==e.assets.length||Object.keys(e.assets[0]).length)||delete e.assets,(0,r.J)(a,"native.request_native",e),delete a.native.request}return a},request:function(e,t,i,a){let n=e(t,i,a);void 0!==a.publisherId&&(void 0!==n.app?(0,r.J)(n,"app.publisher.id",a.publisherId):(0,r.J)(n,"site.publisher.id",a.publisherId));i&&i.gdprConsent&&(0,r.J)(n,"regs.ext.gdprversion",i.gdprConsent.apiVersion);return n=T(n),n},bidResponse:function(e,t,i){i.mediaType=t?.ext?.mediatype,i.mediaType===s.s6&&void 0!==t.adm_native&&(t.adm=t.adm_native,delete t.adm_native);let a=e(t,i);const{bidRequest:n}=i;a.currency=t?.ext?.cur,void 0!==t?.ext?.meta&&(0,r.J)(a,"meta",{...a.meta,...t.ext.meta});void 0!==t?.ext?.paf?.content_id&&(0,r.J)(a,"meta.paf.content_id",t.ext.paf.content_id);a.mediaType===s.G_&&(a.vastUrl=t.ext?.displayurl,n?.mediaTypes?.video?.context===u.H6&&(a.renderer=function(e){if(void 0===e.ext?.videoPlayerConfig||void 0===e.ext?.videoPlayerType)return;const t={documentResolver:(e,t,i)=>i??t},i=(t,i)=>{let a={slotid:e.id,vastUrl:e.ext?.displayurl,vastXml:e.adm,documentContext:i},r=e.ext.videoPlayerConfig;window.CriteoOutStream[e.ext.videoPlayerType].play(a,r)},a=c.A4.install({url:I,config:t});return a.setRender(i),a}(t)));return a},response:function(e,t,i,a){let n=e(t,i,a);const o=i?.ext?.paf?.transmission;return n.bids.forEach((e=>{void 0!==o&&void 0!==e?.meta?.paf?.content_id?(0,r.J)(e,"meta.paf.transmission",o):delete e.meta.paf})),n}});const P={code:y,gvlid:91,supportedMediaTypes:[s.D4,s.G_,s.s6],getUserSyncs:function(e,t,i,a){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},{gppString:o="",applicableSections:s=[]}=r;const d=(0,p.EN)(),c="criteoPrebidAdapter";if(e.iframeEnabled&&(0,l.C)(i)){const e=[];if(e.push(`origin=${c}`),e.push(`topUrl=${d.domain}`),i&&(i.gdprApplies&&e.push("gdpr="+(1==i.gdprApplies?1:0)),i.consentString&&e.push(`gdpr_consent=${i.consentString}`)),a&&e.push(`us_privacy=${a}`),e.push(`gpp=${o}`),Array.isArray(s))for(const t of s)e.push(`gpp_sid=${t}`);const t=Math.random().toString(),r={bundle:C(x),cw:b.cookiesAreEnabled(),lsw:b.localStorageIsEnabled(),optoutCookie:C(k),origin:c,requestId:t,tld:d.domain,topUrl:d.domain,version:"9.23.0".replace(/\\./g,"_")};window.addEventListener("message",(function e(i){if(!i.data||"https://gum.criteo.com"!=i.origin)return;if(i.data.requestId!==t)return;this.removeEventListener("message",e),i.stopImmediatePropagation();const a=i.data;a.optout?(_(x),q(k,!0,43200,d.domain)):(a.bundle&&q(x,a.bundle,9360,d.domain),a.callbacks&&a.callbacks.forEach(n.z$))}),!0);const p=JSON.stringify(r).replace(/"/g,"%22");return[{type:"iframe",url:`https://gum.criteo.com/syncframe?${e.join("&")}#${p}`}]}if(e.pixelEnabled&&(0,l.C)(i)){const e=[];if(e.push("profile=207"),i&&(!0===i.gdprApplies&&e.push("gdprapplies=true"),i.consentString&&e.push(`gdpr=${i.consentString}`)),a&&e.push(`ccpa=${a}`),e.push(`gpp=${o}`),Array.isArray(s))for(const t of s)e.push(`gpp_sid=${t}`);return[{type:"image",url:`https://ssp-sync.criteo.com/user-sync/redirect?${e.join("&")}`}]}return[]},isBidRequestValid:e=>!(!e||!e.params||!e.params.zoneId&&!e.params.networkId)&&!(w(e)&&!function(e){let t=!0;return["mimes","playerSize","maxduration","protocols","api","skip","placement","playbackmethod"].forEach((function(i){"placement"===i?void 0===e?.mediaTypes?.video?.[i]&&void 0===e?.params?.video?.[i]&&void 0===e?.mediaTypes?.video?.plcmt&&void 0===e?.params?.video?.plcmt&&(t=!1,(0,n.vV)("Criteo Bid Adapter: mediaTypes.video."+i+" or mediaTypes.video.plcmt is required")):void 0===e?.mediaTypes?.video?.[i]&&void 0===e?.params?.video?.[i]&&(t=!1,(0,n.vV)("Criteo Bid Adapter: mediaTypes.video."+i+" is required"))})),t}(e)),buildRequests:(e,t)=>{e.forEach((e=>{(function(e){return void 0!==e?.mediaTypes?.native})(e)&&(function(e){return!(e.nativeParams&&(e.nativeParams.image&&(!0!==e.nativeParams.image.sendId||!0===e.nativeParams.image.sendTargetingKeys)||e.nativeParams.icon&&(!0!==e.nativeParams.icon.sendId||!0===e.nativeParams.icon.sendTargetingKeys)||e.nativeParams.clickUrl&&(!0!==e.nativeParams.clickUrl.sendId||!0===e.nativeParams.clickUrl.sendTargetingKeys)||e.nativeParams.displayUrl&&(!0!==e.nativeParams.displayUrl.sendId||!0===e.nativeParams.displayUrl.sendTargetingKeys)||e.nativeParams.privacyLink&&(!0!==e.nativeParams.privacyLink.sendId||!0===e.nativeParams.privacyLink.sendTargetingKeys)||e.nativeParams.privacyIcon&&(!0!==e.nativeParams.privacyIcon.sendId||!0===e.nativeParams.privacyIcon.sendTargetingKeys)))}(e)||(0,n.JE)(h+"all native assets containing URL should be sent as placeholders with sendId(icon, image, clickUrl, displayUrl, privacyLink, privacyIcon)"),null==e?.nativeOrtbRequest?.assets&&((0,n.JE)(h+"native asset requirements are missing"),(0,r.J)(e,"nativeOrtbRequest.assets",[{}])))}));const i=function(e,t){const i=(0,n.Dl)(t?.refererInfo?.topmostLocation).search;return{url:t?.refererInfo?.page||"",debug:"1"===i.pbt_debug,noLog:"1"===i.pbt_nolog,fledgeEnabled:t.paapi?.enabled,amp:e.some((e=>"amp"===e.params.integrationMode)),networkId:e.find((e=>e.params?.networkId))?.params.networkId,publisherId:e.find((e=>e.params?.pubid))?.params.pubid}}(e,t),a=function(e){let t=f;t+="?profileId=207",t+="&av="+String(37),t+="&wv="+encodeURIComponent("9.23.0"),t+="&cb="+String(Math.floor(99999999999*Math.random())),b.localStorageIsEnabled()?t+="&lsavail=1":t+="&lsavail=0";e.amp&&(t+="&im=1");e.debug&&(t+="&debug=1");e.noLog&&(t+="&nolog=1");const i=C(x);i&&(t+=`&bundle=${i}`);C(k)&&(t+="&optout=1");e.networkId&&(t+="&networkId="+e.networkId);return t}(i),o=S.toORTB({bidderRequest:t,bidRequests:e,context:i});if(o)return{method:"POST",url:a,data:o,bidRequests:e}},interpretResponse:(e,t)=>{if(void 0===e?.body)return[];const i=S.fromORTB({response:e.body,request:t.data}).bids||[],a=e.body?.ext?.igi?.filter((e=>(0,n.cy)(e?.igs))).flatMap((e=>e.igs));return a?.length?{bids:i,paapi:a}:i},onDataDeletionRequest:e=>{const t=C(x);t&&(_(x),(0,m.RD)("https://privacy.criteo.com/api/privacy/datadeletionrequest",null,JSON.stringify({publisherUserId:t}),{contentType:"application/json",method:"POST"}))}};function C(e){const t=b.getCookie(e),i=b.getDataFromLocalStorage(e);return t||i||void 0}function q(e,t,i,a){const r=new Date;r.setTime(r.getTime()+60*i*60*1e3);const n=`expires=${r.toUTCString()}`,o=a.split(".");for(let i=0;i<o.length;++i){const a=o.slice(o.length-i-1,o.length).join(".");try{b.setCookie(e,t,n,null,"."+a);const i=b.getCookie(e);if(i&&i===t)break}catch(e){}}b.setDataInLocalStorage(e,t)}function _(e){b.setCookie(e,"",0),b.removeDataFromLocalStorage(e)}function E(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;return null==e?[]:Array.isArray(e[0])?e.map((e=>t(e))):[t(e)]}function R(e){return e[0]+"x"+e[1]}function w(e){return void 0!==e?.mediaTypes?.video}function U(e){try{const t={},i=function(e){if(e.getFloor)return e.getFloor;if(e.params.bidFloor&&e.params.bidFloorCur)try{const t=parseFloat(e.params.bidFloor);return()=>({currency:e.params.bidFloorCur,floor:t})}catch{}}(e);if(i){if(e.mediaTypes?.banner){t.banner={};E(e?.mediaTypes?.banner?.sizes).forEach((a=>t.banner[R(a).toString()]=i.call(e,{size:a,mediaType:s.D4})))}if(e.mediaTypes?.video){t.video={};E(e?.mediaTypes?.video?.playerSize).forEach((a=>t.video[R(a).toString()]=i.call(e,{size:a,mediaType:s.G_})))}return e.mediaTypes?.native&&(t.native={},t.native["*"]=i.call(e,{size:"*",mediaType:s.s6})),t}}catch(e){(0,n.vV)("Could not parse floors from Prebid: "+e)}}(0,o.a$)(P),(0,a.E)("criteoBidAdapter")}},e=>{e.O(0,[802,117,889,85],(()=>{return t=1493,e(e.s=t);var t}));e.O()}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[466],{9236:(e,r,n)=>{var t=n(7873),o=n(1069),c=n(3172),i=n(8969),s=n(8044),u=n(3272),a=n(9214),f=n(5555),l=n(1e3),d=n(6894),y=n(5023),v=n(1970),p=n(6400);const h=4;let C,g=[],b={},$=!1,R=!0,m="USD";var O=!1,S={};let E,N={},T=(0,f.v)();const U=(0,p.L)();let w=0;function D(e){if(C="https://cdn.jsdelivr.net/gh/prebid/currency-file@1/latest.json?date=$$TODAY$$",null!==e.rates&&"object"==typeof e.rates&&(S.conversions=e.rates,$=!0,R=!1),null!==e.defaultRates&&"object"==typeof e.defaultRates&&(E=e.defaultRates,S.conversions=E,$=!0),"string"==typeof e.adServerCurrency){w=e.auctionDelay,(0,o.fH)("enabling currency support",arguments),m=e.adServerCurrency,e.conversionRateFile&&((0,o.fH)("currency using override conversionRateFile:",e.conversionRateFile),C=e.conversionRateFile);const r=C.indexOf("$$TODAY$$");if(-1!==r){const e=new Date;let n=`${e.getMonth()+1}`,t=`${e.getDate()}`;n.length<2&&(n=`0${n}`),t.length<2&&(t=`0${t}`);const o=`${e.getFullYear()}${n}${t}`;C=`${C.substring(0,r)}${o}${C.substring(r+9,C.length)}`}b={},O||(O=!0,(0,t.m)().convertCurrency=(e,r,n)=>parseFloat(e)*J(r,n),(0,a.Yn)("addBidResponse").before(A,100),(0,a.Yn)("responsesReady").before(k),v.w.before(_),(0,a.Yn)("requestBids").before(q,50),(0,y.on)(i.qY.AUCTION_TIMEOUT,F),(0,y.on)(i.qY.AUCTION_INIT,I),I())}else w=0,(0,o.fH)("disabling currency support"),O&&((0,a.Yn)("addBidResponse").getHooks({hook:A}).remove(),(0,a.Yn)("responsesReady").getHooks({hook:k}).remove(),v.w.getHooks({hook:_}).remove(),(0,a.Yn)("requestBids").getHooks({hook:q}).remove(),(0,y.AU)(i.qY.AUCTION_TIMEOUT,F),(0,y.AU)(i.qY.AUCTION_INIT,I),delete(0,t.m)().convertCurrency,m="USD",b={},O=!1,$=!1,R=!0,S={},N={},T=(0,f.v)());"object"==typeof e.bidderCurrencyDefault&&(N=e.bidderCurrencyDefault)}function Y(e){E?((0,o.JE)(e),(0,o.JE)("Currency failed loading rates, falling back to currency.defaultRates")):(0,o.vV)(e)}function I(){R?(R=!1,$=!1,(0,s.RD)(C,{success:function(e){try{S=JSON.parse(e),(0,o.fH)("currencyRates set to "+JSON.stringify(S)),b={},$=!0,H(),U.resume()}catch(r){Y("Failed to parse currencyRates response: "+e)}},error:function(){Y(...arguments),$=!0,H(),U.resume(),R=!0}})):H()}function k(e,r){e(r.then((()=>T.promise)))}u.$W.getConfig("currency",(e=>D(e.currency)));const A=(0,d.NL)("currency",(function(e,r,n,t){if(!n)return e.call(this,r,n,t);let c=n.bidderCode||n.bidder;if(N[c]){let e=N[c];n.currency&&e!==n.currency?(0,o.JE)(`Currency default \'${c}: ${e}\' ignored. adapter specified \'${n.currency}\'`):n.currency=e}if(n.currency||((0,o.JE)(\'Currency not specified on bid. Defaulted to "USD"\'),n.currency="USD"),n.getCpmInNewCurrency=function(e){return(parseFloat(this.cpm)*J(this.currency,e)).toFixed(3)},n.currency===m)return e.call(this,r,n,t);g.push([e,this,r,n,t]),O&&!$||H()}));function F(e){let{auctionId:r}=e;g=g.filter((e=>{let[n,t,o,c,s]=e;if(c.auctionId!==r)return!0;s(i.Tf.CANNOT_CONVERT_CURRENCY)}))}function H(){for(;g.length>0;){const[e,r,n,t,c]=g.shift();if(void 0!==t&&"currency"in t&&"cpm"in t){let e=t.currency;try{let r=J(e);1!==r&&(t.cpm=(parseFloat(t.cpm)*r).toFixed(4),t.currency=m)}catch(e){(0,o.JE)("getCurrencyConversion threw error: ",e),c(i.Tf.CANNOT_CONVERT_CURRENCY);continue}}e.call(r,n,t,c)}T.resolve()}function J(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:m;var n,t=null;let c=`${e}->${r}`;if(c in b)t=b[c],(0,o.OG)("Using conversionCache value "+t+" for "+c);else if(!1===O){if("USD"!==e)throw new Error("Prebid currency support has not been enabled and fromCurrency is not USD");t=1}else if(e===r)t=1;else if(e in S.conversions){if(!(r in(n=S.conversions[e])))throw new Error("Specified adServerCurrency in config \'"+r+"\' not found in the currency rates file");t=n[r],(0,o.fH)("getCurrencyConversion using direct "+e+" to "+r+" conversionRate "+t)}else if(r in S.conversions){if(!(e in(n=S.conversions[r])))throw new Error("Specified fromCurrency \'"+e+"\' not found in the currency rates file");t=j(1/n[e],h),(0,o.fH)("getCurrencyConversion using reciprocal "+e+" to "+r+" conversionRate "+t)}else{var i=Object.keys(S.conversions)[0];if(!(e in S.conversions[i]))throw new Error("Specified fromCurrency \'"+e+"\' not found in the currency rates file");var s=1/S.conversions[i][e];if(!(r in S.conversions[i]))throw new Error("Specified adServerCurrency in config \'"+r+"\' not found in the currency rates file");t=j(s*S.conversions[i][r],h),(0,o.fH)("getCurrencyConversion using intermediate "+e+" thru "+i+" to "+r+" conversionRate "+t)}return c in b||((0,o.OG)("Adding conversionCache value "+t+" for "+c),b[c]=t),t}function j(e,r){var n=1;for(let e=0;e<r;e++)n+="0";return Math.round(e*n)/n}function _(e,r){return e(r.then((e=>((0,c.J)(e,"ext.prebid.adServerCurrency",m),e))))}(0,l.pS)({type:l.S3,name:"currency",fn:function(e,r,n){O&&(e.cur=e.cur||[n.currency||m])}});const q=(0,d.Ak)("currency",(function(e,r){const n=(t=this,()=>e.call(t,r));var t;!$&&w>0?U.submit(w,n,(()=>{(0,o.JE)(`currency: Fetch attempt did not return in time for auction ${r.auctionId}`),n()})):n()}));(0,t.E)("currency")}},e=>{e.O(0,[802,957,85],(()=>{return r=9236,e(e.s=r);var r}));e.O()}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[170],{7764:(e,t,i)=>{var n=i(7873),r=i(433),a=i(1069),o=i(3172),d=i(1371),s=i(3272),p=i(2938),l=i(5901),c=i(9115),u=i(3895),m=i(5789),f=i(1252);const g="ix",b=[d.D4,d.G_,d.s6],x=50,h=[144,144],y={JPY:1},v={PBJS:"p",IX:"x"},I={SITE:["id","name","domain","cat","sectioncat","pagecat","page","ref","search","mobile","privacypolicy","publisher","content","keywords","ext"],USER:["id","buyeruid","yob","gender","keywords","customdata","geo","data","ext"]},A={"liveramp.com":"idl","netid.de":"NETID","neustar.biz":"fabrickId","zeotap.com":"zeotapIdPlus","uidapi.com":"UID2","adserver.org":"TDID"},w=["lipbid","criteoId","merkleId","parrableId","connectid","tapadId","quantcastId","pubProvidedId","pairId"],C=["mimes","minduration","maxduration"],O=["mimes","minduration","maxduration","protocols","protocol","startdelay","placement","linearity","skip","skipmin","skipafter","sequence","battr","maxextended","minbitrate","maxbitrate","boxingallowed","playbackmethod","playbackend","delivery","pos","companionad","api","companiontype","ext","playerSize","w","h","plcmt"],U=`${g}_features`,E=(0,p.vM)({bidderCode:g}),S={REQUESTED_FEATURE_TOGGLES:["pbjs_enable_multiformat","pbjs_allow_all_eids"],featureToggles:{},isFeatureEnabled:function(e){return(0,r.A)(this.featureToggles,`features.${e}.activated`,!1)},getFeatureToggles:function(){if(E.localStorageIsEnabled()){const e=(0,a.$l)(E.getDataFromLocalStorage(U));(0,r.A)(e,"expiry")&&e.expiry>=(new Date).getTime()?this.featureToggles=e:this.clearFeatureToggles()}},setFeatureToggles:function(e){const t=e.body,i=new Date,n=(0,r.A)(t,"ext.features");n&&(this.featureToggles={expiry:i.setHours(i.getHours()+1),features:n},E.localStorageIsEnabled()&&E.setDataInLocalStorage(U,JSON.stringify(this.featureToggles)))},clearFeatureToggles:function(){this.featureToggles={},E.localStorageIsEnabled()&&E.removeDataFromLocalStorage(U)}};let T=0,D="",P="",J=!1;const _=2;function k(e){const t=F(e,d.G_),i=(0,r.A)(e,"mediaTypes.video"),n=(0,r.A)(e,"params.video");if($(i,n).length)return{};t.video=n?(0,a.Go)(e.params.video):{};let s=(0,r.A)(e,"ortb2Imp.ext.tid");s&&(0,o.J)(t,"ext.tid",s),function(e,t){if((0,r.A)(t,"mediaTypes.video.context")===u.H6){let i=(0,r.A)(t,"mediaTypes.video.renderer");if(i||(i=(0,r.A)(t,"renderer")),(0,r.A)(t,"schain",!1))e.displaymanager="pbjs_wrapper";else if(i&&"object"==typeof i){if(void 0!==i.url){let t="";try{t=new URL(i.url).hostname}catch{return}t.includes("js-sec.indexww")?e.displaymanager="ix":e.displaymanager=i.url}}else e.displaymanager="ix"}}(t,e),W(t,e);for(const e in i)-1===O.indexOf(e)||t.video.hasOwnProperty(e)||(t.video[e]=i[e]);if(t.video.minduration>t.video.maxduration)return(0,a.vV)(`IX Bid Adapter: video minduration [${t.video.minduration}] cannot be greater than video maxduration [${t.video.maxduration}]`),{};const p=n&&n.context||i&&i.context;if(function(e){e.video.hasOwnProperty("plcmt")&&(!(0,a.Fq)(e.video.plcmt)||e.video.plcmt<1||e.video.plcmt>4)&&((0,a.JE)(`IX Bid Adapter: video.plcmt [${e.video.plcmt}] must be an integer between 1-4 inclusive`),delete e.video.plcmt)}(t),p&&!t.video.hasOwnProperty("placement")&&(p===u.mn?t.video.placement=1:p===u.H6?(0,r.A)(n,"playerConfig.floatOnScroll")?t.video.placement=5:(t.video.placement=3,J=!0):(0,a.JE)(`IX Bid Adapter: Video context \'${p}\' is not supported`)),!t.video.w||!t.video.h){const i=X((0,r.A)(t,"video.playerSize"))||X((0,r.A)(e,"params.size"));if(!i)return(0,a.JE)("IX Bid Adapter: Video size is missing in [mediaTypes.video]"),{};t.video.w=i[0],t.video.h=i[1]}return j(e,t,d.G_),t}function F(e,t){const i={};if(i.id=e.bidId,re()&&(0,r.A)(e,"params.externalId")&&(0,o.J)(i,"ext.externalID",e.params.externalId),(0,r.A)(e,`params.${t}.siteId`)&&!isNaN(Number(e.params[t].siteId)))switch(t){case d.D4:(0,o.J)(i,"ext.siteID",e.params.banner.siteId.toString());break;case d.G_:(0,o.J)(i,"ext.siteID",e.params.video.siteId.toString());break;case d.s6:(0,o.J)(i,"ext.siteID",e.params.native.siteId.toString())}else e.params.siteId&&(0,o.J)(i,"ext.siteID",e.params.siteId.toString());return!e.params.hasOwnProperty("id")||"string"!=typeof e.params.id&&"number"!=typeof e.params.id||(0,o.J)(i,"ext.sid",String(e.params.id)),i}function j(e,t,i){let n=null,r=null;if(e.params.bidFloor&&e.params.bidFloorCur&&(n={floor:e.params.bidFloor,currency:e.params.bidFloorCur}),(0,a.fp)(e.getFloor)){let n="*",o="*";if(i&&(0,a.gR)(b,i)){const{w:e,h:r}=t[i];n=i,o=[e,r]}try{r=e.getFloor({mediaType:n,size:o})}catch(e){(0,a.JE)("priceFloors module call getFloor failed, error : ",e)}}let s=!1;r?(t.bidfloor=r.floor,t.bidfloorcur=r.currency,(0,o.J)(t,"ext.fl",v.PBJS),s=!0):n&&(t.bidfloor=n.floor,t.bidfloorcur=n.currency,(0,o.J)(t,"ext.fl",v.IX),s=!0),s&&(i==d.D4?((0,o.J)(t,"banner.ext.bidfloor",t.bidfloor),(0,o.J)(t,"banner.ext.fl",t.ext.fl)):i==d.G_?((0,o.J)(t,"video.ext.bidfloor",t.bidfloor),(0,o.J)(t,"video.ext.fl",t.ext.fl)):((0,o.J)(t,"native.ext.bidfloor",t.bidfloor),(0,o.J)(t,"native.ext.fl",t.ext.fl)))}function B(e,t,i){const n={},o=!(!(0,r.A)(e,"exp")||!(0,a.Fq)(e.exp)),s=(0,r.A)(e,"dealid")||(0,r.A)(e,"ext.dealid");y.hasOwnProperty(t)?n.cpm=e.price/y[t]:n.cpm=e.price/100,n.requestId=e.impid,s&&(n.dealId=s),n.netRevenue=true,n.currency=t,n.creativeId=e.hasOwnProperty("crid")?e.crid:"-",e.mtype!=_||(!e.ext||e.ext.vasturl)&&e.ext?e.ext&&e.ext.vasturl&&(n.vastUrl=e.ext.vasturl):n.vastXml=e.adm;let p=null;if("string"==typeof e.adm&&"{"===e.adm[0]&&"}"===e.adm[e.adm.length-1])try{p=JSON.parse(e.adm)}catch(e){(0,a.JE)("adm looks like JSON but failed to parse: ",e)}return e.ext&&e.ext.vasturl||e.mtype==_?(n.width=i.video.w,n.height=i.video.h,n.mediaType=d.G_,n.mediaTypes=i.mediaTypes,n.ttl=o?e.exp:3600):p&&p.native?(n.native={ortb:p.native},n.width=e.w?e.w:1,n.height=e.h?e.h:1,n.mediaType=d.s6,n.ttl=o?e.exp:3600):(n.ad=e.adm,n.width=e.w,n.height=e.h,n.mediaType=d.D4,n.ttl=o?e.exp:300),n.meta={},n.meta.networkId=(0,r.A)(e,"ext.dspid"),n.meta.brandId=(0,r.A)(e,"ext.advbrandid"),n.meta.brandName=(0,r.A)(e,"ext.advbrand"),e.adomain&&e.adomain.length>0&&(n.meta.advertiserDomains=e.adomain),e.ext?.dsa&&(n.meta.dsa=e.ext.dsa),n}function z(e){return Array.isArray(e)&&2===e.length&&(0,a.Fq)(e[0])&&(0,a.Fq)(e[1])}function R(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(z(e))return e[0]===t[0]&&e[1]===t[1];for(let i=0;i<e.length;i++)if(e[i][0]===t[0]&&e[i][1]===t[1])return!0;return!1}function $(e,t){const i=[];e||(0,a.JE)("IX Bid Adapter: mediaTypes.video is the preferred location for video params in ad unit");for(let n of C){const r=e&&e.hasOwnProperty(n),a=t&&t.hasOwnProperty(n);r||a||i.push(`IX Bid Adapter: ${n} is not included in either the adunit or params level`)}const n=e&&e.hasOwnProperty("protocol"),r=e&&e.hasOwnProperty("protocols"),o=t&&t.hasOwnProperty("protocol"),d=t&&t.hasOwnProperty("protocols");return n||r||o||d||i.push("IX Bid Adapter: protocol/protcols is not included in either the adunit or params level"),i}function X(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return z(e)?e:!!z(e[0])&&e[0]}function q(e,t,i){if(!e)return;return{...(0,l.I6)(i,(t=>t.bidId===e)),...(0,l.I6)(t,(t=>t.id===e))}}function G(e,t,i,n){let d="https://htlb.casalemedia.com/openrtb/pbjs",p=function(e){let t=[],i={};if((0,a.cy)(e))for(const n of e){const e=A.hasOwnProperty(n.source);if((0,r.A)(n,"uids.0")&&(i[n.source]=!0,e&&""!==A[n.source]&&(n.uids[0].ext={rtiPartner:A[n.source]}),t.push(n),t.length>=x))break}return{toSend:t,seenSources:i}}((0,r.A)(e,"0.userIdAsEids")),l=p.toSend;window.headertag&&"function"==typeof window.headertag.getIdentityInfo&&function(e,t){let i=window.headertag.getIdentityInfo();if(i&&"object"==typeof i)for(const n in i){if(e.length>=x)return;if(i.hasOwnProperty(n)){let r=i[n];!r.responsePending&&r.data&&"object"==typeof r.data&&Object.keys(r.data).length&&!t.seenSources[r.data.source]&&e.push(r.data)}}}(l,p);const c=[];let u=function(e){const t={};return t.id=e[0].bidderRequestId.toString(),t.site={},t.ext={},t.ext.source="prebid",t.ext.ixdiag={},t.ext.ixdiag.ls=E.localStorageIsEnabled(),t.imp=[],t.at=1,t}(e);u=function(e,t){t.length>0&&(e.ext.features={},t.forEach((t=>{e.ext.features[t]={activated:S.isFeatureEnabled(t)}})));return e}(u,S.REQUESTED_FEATURE_TOGGLES);let m=function(e,t){var i=e.map((e=>e.adUnitCode)).filter(((e,t,i)=>i.indexOf(e)===t));let n=(0,r.A)(e,"0.userIdAsEids",[]),a={mfu:0,bu:0,iu:0,nu:0,ou:0,allu:0,ren:!1,version:"9.23.0",userIds:M(e[0]),url:window.location.href.split("?")[0],vpd:J,ae:t,eidLength:n.length};for(let t of i){let i=e.filter((e=>e.adUnitCode===t))[0];(0,r.A)(i,"mediaTypes")&&(Object.keys(i.mediaTypes).length>1&&a.mfu++,(0,r.A)(i,"mediaTypes.native")&&a.nu++,(0,r.A)(i,"mediaTypes.banner")&&a.bu++,"outstream"===(0,r.A)(i,"mediaTypes.video.context")&&(a.ou++,ne(i)&&(a.ren=!0)),"instream"===(0,r.A)(i,"mediaTypes.video.context")&&a.iu++,a.allu++)}return a}(e,(0,r.A)(t,"paapi.enabled"));for(let e in m)u.ext.ixdiag[e]=m[e];u=function(e,t,i,n,a){const o=(0,r.A)(t,"timeout");o&&(e.ext.ixdiag.tmax=o);s.$W.getConfig("userSync")&&(e.ext.ixdiag.syncsPerBidder=s.$W.getConfig("userSync").syncsPerBidder);e.ext.ixdiag.imps=Object.keys(i).length,e.source={tid:t?.ortb2?.source?.tid},n[0].schain&&(e.source.ext={},e.source.ext.schain=n[0].schain);a.length>0&&(e.user={},e.user.eids=a);document.referrer&&""!==document.referrer&&(e.site.ref=document.referrer);return e}(u,t,i,e,l),u=function(e,t){if(t){t.gdprConsent&&(D=t.gdprConsent,D.hasOwnProperty("gdprApplies")&&(e.regs={ext:{gdpr:D.gdprApplies?1:0}}),D.hasOwnProperty("consentString")&&(e.user=e.user||{},e.user.ext={consent:D.consentString||""},D.hasOwnProperty("addtlConsent")&&D.addtlConsent&&(e.user.ext.consented_providers_settings={addtl_consent:D.addtlConsent}))),t.uspConsent&&((0,o.J)(e,"regs.ext.us_privacy",t.uspConsent),P=t.uspConsent);const i=(0,r.A)(t,"refererInfo.page");i&&(e.site.page=i),t.gppConsent&&((0,o.J)(e,"regs.gpp",t.gppConsent.gppString),(0,o.J)(e,"regs.gpp_sid",t.gppConsent.applicableSections))}s.$W.getConfig("coppa")&&(0,o.J)(e,"regs.coppa",1);return e}(u,t);let f={};e[0].params.siteId&&(T=e[0].params.siteId,f.s=T);const g=Object.keys(i);let b=!1;for(let n=0;n<g.length&&!(c.length>=4);n++){u=L(i,g,u,n);const o=(0,r.A)(t,"ortb2")||{},p={...o.site||o.context};p.page=N(t);const l={...o.user};(0,a.Im)(o)||b||(u=V(t,u,o,p,l),u.site=(0,a.D9)({},u.site,p),u.user=(0,a.D9)({},u.user,l),b=!0),u=H(i,u,g,n,f,d);const m=n===g.length-1;if(u=le(u),u=de(u),u=se(u),m){let t=`${d}?`;0!==T&&(t+=`s=${T}`),re()&&(t+=0!==T?"&":"",t+=`p=${s.$W.getConfig("exchangeId")}`),c.push({method:"POST",url:t,data:(0,a.Go)(u),option:{contentType:"text/plain"},validBidRequests:e}),u.imp=[],b=!1}}return c}function L(e,t,i,n){const s=e[t[n]],{missingImps:p=[],ixImps:l=[]}=s,c={ixImps:l,missingBannerImpressions:p},u=Object.keys(c).map((e=>c[e])).filter((e=>Array.isArray(e))).reduce(((e,t)=>e.concat(...t)),[]),m=e[t[n]].gpid,f=e[t[n]].dfp_ad_unit_code,g=e[t[n]].tid,b=e[t[n]].sid,x=e[t[n]].ae,h=e[t[n]].paapi,y=u.filter((e=>d.D4 in e)),v=u.filter((e=>!(d.D4 in e)));if(y.length>0){const d=y.reduce(((e,t)=>(e[t.adunitCode]||(e[t.adunitCode]=[]),e[t.adunitCode].push(t),e)),{});for(const s in d){const p=d[s],{id:l,banner:{topframe:c}}=p[0];let u=(0,r.A)(p[0],"ext.externalID");const y={id:l,banner:{topframe:c,format:p.map((e=>{let{banner:{w:t,h:i},ext:n}=e;return{w:t,h:i,ext:n}}))}};for(let e=0;e<y.banner.format.length;e++)null!=y.banner.format[e].ext&&(null!=y.banner.format[e].ext.sid&&delete y.banner.format[e].ext.sid,null!=y.banner.format[e].ext.externalID&&delete y.banner.format[e].ext.externalID),"bidfloor"in p[e]&&(y.banner.format[e].ext.bidfloor=p[e].bidfloor),"{}"===JSON.stringify(y.banner.format[e].ext)&&delete y.banner.format[e].ext;const v=e[t[n]].pos;(0,a.Fq)(v)&&(y.banner.pos=v),(f||m||g||b||x||u||h)&&(y.ext={},y.ext.dfp_ad_unit_code=f,y.ext.gpid=m,y.ext.tid=g,y.ext.sid=b,y.ext.externalID=u,1==x&&(y.ext.ae=1,y.ext.paapi=h)),"bidfloor"in p[0]&&(y.bidfloor=p[0].bidfloor),"bidfloorcur"in p[0]&&(y.bidfloorcur=p[0].bidfloorcur);const I=e[t[n]].adUnitFPD;I&&(0,o.J)(y,"ext.data",I),i.imp.push(y)}}return v.length>0&&v.forEach((e=>{if(m&&(0,o.J)(e,"ext.gpid",m),i.imp.length>0){let t=!1;i.imp.forEach(((n,a)=>{e.id===n.id&&d.G_ in e?(n.video=e.video,n.video.ext=Object.assign({},e.video.ext,e.ext),(0,r.A)(n,"video.ext.bidfloor",!1)&&(0,r.A)(n,"bidfloor",!1)&&n.video.ext.bidfloor<n.bidfloor&&(n.bidfloor=n.video.ext.bidfloor),!(0,r.A)(n,"ext.siteID",!1)&&(0,r.A)(e,"video.ext.siteID")&&((0,o.J)(n,"ext.siteID",e.video.ext.siteID),(0,o.J)(i,"ext.ixdiag.usid",!0)),t=!0):e.id===n.id&&d.s6 in e&&(n.native=e.native,n.native.ext=Object.assign({},e.native.ext,e.ext),(0,r.A)(n,"native.ext.bidfloor",!1)&&(0,r.A)(n,"bidfloor",!1)&&n.native.ext.bidfloor<n.bidfloor&&(n.bidfloor=n.native.ext.bidfloor),!(0,r.A)(n,"ext.siteID",!1)&&(0,r.A)(e,"native.ext.siteID",!1)&&((0,o.J)(n,"ext.siteID",e.native.ext.siteID),(0,o.J)(i,"ext.ixdiag.usid",!0)),t=!0)})),t||i.imp.push(e)}else i.imp.push(e)})),i}function N(e){const t=e&&e.bidderCode||"ix",i=s.$W.getConfig(t);let n="";if(n=(0,r.A)(e,"ortb2.site.page")?e.ortb2.site.page:(0,r.A)(e,"refererInfo.page"),i&&"object"==typeof i.firstPartyData){return function(e,t,i){let n;try{n=new URL(t)}catch(i){(0,a.JE)(`IX Bid Adapter: Invalid URL set in ortb2.site.page: ${t}. Using referer URL instead.`),n=new URL((0,r.A)(e,"refererInfo.page"))}const o=new URLSearchParams(n.search);for(const[e,t]of Object.entries(i))o.has(e)||o.append(e,t);return n.search=o.toString(),n.toString()}(e,n,i.firstPartyData)}return n}function V(e,t,i,n,r){if(t.ext.ixdiag.fpd=!0,Object.keys(n).forEach((e=>{-1===I.SITE.indexOf(e)&&delete n[e]})),Object.keys(r).forEach((e=>{-1===I.USER.indexOf(e)&&delete r[e]})),i.device){const e={...i.device.sua};(0,a.Im)(e)||(0,o.J)(t,"device.sua",e)}if(i.hasOwnProperty("regs")&&!e.gppConsent&&(i.regs.hasOwnProperty("gpp")&&"string"==typeof i.regs.gpp&&(0,o.J)(t,"regs.gpp",i.regs.gpp),i.regs.hasOwnProperty("gpp_sid")&&Array.isArray(i.regs.gpp_sid)&&(0,o.J)(t,"regs.gpp_sid",i.regs.gpp_sid),i.regs.ext?.dsa)){const e=i.regs.ext.dsa,n={};if(["dsarequired","pubrender","datatopub"].forEach((t=>{(0,a.Et)(e[t])&&(n[t]=e[t])})),(0,a.cy)(e.transparency)){const t=[];e.transparency.forEach((e=>{(0,a.Qd)(e)&&(0,a.O8)(e.domain)&&""!=e.domain&&(0,a.cy)(e.dsaparams)&&e.dsaparams.every((e=>(0,a.Et)(e)))&&t.push(e)})),t.length>0&&(n.transparency=t)}(0,a.Im)(n)||(0,o.J)(t,"regs.ext.dsa",n)}return t}function W(e,t){const i=(0,r.A)(t,"ortb2Imp.ext.data");i&&(0,o.J)(e,"ext.data",i)}function H(e,t,i,n,r,a){const o=e[i[n]].pbadslot,d=e[i[n]].tagId,s=e[i[n]].adUnitCode,p=e[i[n]].divId;return(o||d||s||p)&&(t.ext.ixdiag.pbadslot=o,t.ext.ixdiag.tagid=d,t.ext.ixdiag.adunitcode=s,t.ext.ixdiag.divId=p),t}function M(e){const t=e.userId||{};return w.filter((e=>t[e]))}function Q(e,t){if(t)for(let i=0;i<e.length;i++){const n=e[i];if(t[0]===n[0]&&t[1]===n[1]){e.splice(i,1);break}}}function Y(e,t){const i=function(e){const t=F(e,d.s6),i=e.nativeOrtbRequest;i.eventtrackers=[{event:1,methods:[1,2]}],i.privacy=1,t.native={request:JSON.stringify(i),ver:"1.2"};let n=(0,r.A)(e,"ortb2Imp.ext.tid");return n&&(0,o.J)(t,"ext.tid",n),W(t,e),j(e,t,d.s6),t}(e);if(0!=Object.keys(i).length){t[e.adUnitCode]={},t[e.adUnitCode].ixImps=[],t[e.adUnitCode].ixImps.push(i),t[e.adUnitCode].gpid=(0,r.A)(e,"ortb2Imp.ext.gpid"),t[e.adUnitCode].dfp_ad_unit_code=(0,r.A)(e,"ortb2Imp.ext.data.adserver.adslot"),t[e.adUnitCode].pbadslot=(0,r.A)(e,"ortb2Imp.ext.data.pbadslot"),t[e.adUnitCode].tagId=(0,r.A)(e,"params.tagId");const n=e.adUnitCode,a=document.getElementById(n)?n:(0,f.p)(n).divId;t[e.adUnitCode].adUnitCode=n,t[e.adUnitCode].divId=a}}function Z(e,t){const i=k(e);if(0!=Object.keys(i).length){t[e.adUnitCode]={},t[e.adUnitCode].ixImps=[],t[e.adUnitCode].ixImps.push(i),t[e.adUnitCode].gpid=(0,r.A)(e,"ortb2Imp.ext.gpid"),t[e.adUnitCode].dfp_ad_unit_code=(0,r.A)(e,"ortb2Imp.ext.data.adserver.adslot"),t[e.adUnitCode].pbadslot=(0,r.A)(e,"ortb2Imp.ext.data.pbadslot"),t[e.adUnitCode].tagId=(0,r.A)(e,"params.tagId");const n=e.adUnitCode,a=document.getElementById(n)?n:(0,f.p)(n).divId;t[e.adUnitCode].adUnitCode=n,t[e.adUnitCode].divId=a}}function K(e,t,i,n){let o=function(e){const t=F(e,d.D4);t.banner={},t.adunitCode=e.adUnitCode;const i=(0,r.A)(e,"params.size");return i&&(t.banner.w=i[0],t.banner.h=i[1]),t.banner.topframe=(0,a.al)()?0:1,j(e,t,d.D4),t}(e);const s=R((0,r.A)(e,"mediaTypes.banner.sizes"),(0,r.A)(e,"params.size"));i.hasOwnProperty(e.adUnitCode)||(i[e.adUnitCode]={}),i[e.adUnitCode].gpid=(0,r.A)(e,"ortb2Imp.ext.gpid"),i[e.adUnitCode].dfp_ad_unit_code=(0,r.A)(e,"ortb2Imp.ext.data.adserver.adslot"),i[e.adUnitCode].tid=(0,r.A)(e,"ortb2Imp.ext.tid"),i[e.adUnitCode].pbadslot=(0,r.A)(e,"ortb2Imp.ext.data.pbadslot"),i[e.adUnitCode].tagId=(0,r.A)(e,"params.tagId"),i[e.adUnitCode].pos=(0,r.A)(e,"mediaTypes.banner.pos");if((0,r.A)(n,"paapi.enabled")){const t=(0,r.A)(e,"ortb2Imp.ext.ae"),n=(0,r.A)(e,"ortb2Imp.ext.paapi");n&&(i[e.adUnitCode].paapi=n),t&&((0,a.Fq)(t)?i[e.adUnitCode].ae=t:(0,a.JE)("error setting auction environment flag - must be an integer"))}const p=(0,r.A)(e,"ortb2Imp.ext.data");p&&(i[e.adUnitCode].adUnitFPD=p);const l=(0,r.A)(e,"params.id");!l||"string"!=typeof l&&"number"!=typeof l||(i[e.adUnitCode].sid=String(l));const c=e.adUnitCode,u=document.getElementById(c)?c:(0,f.p)(c).divId;i[e.adUnitCode].adUnitCode=c,i[e.adUnitCode].divId=u,s&&(i[e.adUnitCode].hasOwnProperty("ixImps")||(i[e.adUnitCode].ixImps=[]),i[e.adUnitCode].ixImps.push(o)),function(e,t,i){if(t.hasOwnProperty(e.adUnitCode)){let i=[];t[e.adUnitCode].hasOwnProperty("missingSizes")&&(i=t[e.adUnitCode].missingSizes),Q(i,e.params.size),t[e.adUnitCode].missingSizes=i}else if((0,r.A)(e,"mediaTypes.banner.sizes")){let n=(0,a.Go)(e.mediaTypes.banner.sizes);Q(n,e.params.size);let r={missingSizes:n,impression:i};t[e.adUnitCode]=r}}(e,t,o)}function ee(e,t,i){const n=(0,a.Go)(t);return n.banner.w=i[0],n.banner.h=i[1],j(e,n,d.D4),n}function te(e){e.renderer.push((function(){const t=e.adUnitCode,i=document.getElementById(t)?t:(0,f.p)(t).divId;i?window.createIXPlayer(i,e):(0,a.JE)(`IX Bid Adapter: adUnitCode: ${i} not found on page.`)}))}function ie(e,t){const i=m.A4.install({id:e,url:t,loaded:!1});try{i.setRender(te)}catch(e){return(0,a.JE)("Prebid Error calling setRender on renderer",e),null}return t?i:((0,a.JE)("Outstream renderer URL not found"),null)}function ne(e){if("outstream"!==(0,r.A)(e,"mediaTypes.video.context"))return!1;let t=(0,r.A)(e,"mediaTypes.video.renderer");t||(t=(0,r.A)(e,"renderer"));return!!("object"!=typeof t||!t.url||!t.render)||t.backupOnly}function re(){let e=s.$W.getConfig("exchangeId");return!("number"!=typeof e||!isFinite(e))||!("string"!=typeof e||""===e.trim()||!isFinite(Number(e)))}const ae={code:g,gvlid:10,supportedMediaTypes:b,isBidRequestValid:function(e){const t=(0,r.A)(e,"params.video"),i=(0,r.A)(e,"params.size"),n=(0,r.A)(e,"mediaTypes.banner.sizes"),o=(0,r.A)(e,"mediaTypes.video"),d=(0,r.A)(e,"mediaTypes.video.playerSize"),s=e.params.hasOwnProperty("bidFloor"),p=e.params.hasOwnProperty("bidFloorCur");if(e.hasOwnProperty("mediaType")&&!(0,a.gR)(b,e.mediaType))return(0,a.JE)("IX Bid Adapter: media type is not supported."),!1;if((0,r.A)(e,"mediaTypes.banner")&&!n)return!1;if(i){const t=X(i);if(!t)return(0,a.vV)("IX Bid Adapter: size has invalid format."),!1;if(!R(e.sizes,t)&&!R(d,t)&&!R(n,t))return(0,a.vV)("IX Bid Adapter: bid size is not included in ad unit sizes or player size."),!1}if(!re()&&null==e.params.siteId)return(0,a.vV)("IX Bid Adapter: Invalid configuration - either siteId or exchangeId must be configured."),!1;if(void 0!==e.params.siteId){if("string"!=typeof e.params.siteId&&"number"!=typeof e.params.siteId)return(0,a.vV)("IX Bid Adapter: siteId must be string or number type."),!1;if("string"!=typeof e.params.siteId&&isNaN(Number(e.params.siteId)))return(0,a.vV)("IX Bid Adapter: siteId must valid value"),!1}if((s||p)&&!(s&&p&&(l=e.params.bidFloor,c=e.params.bidFloorCur,Boolean("number"==typeof l&&"string"==typeof c&&c.match(/^[A-Z]{3}$/)))))return(0,a.vV)("IX Bid Adapter: bidFloor / bidFloorCur parameter has invalid format."),!1;var l,c;if(o&&t){const i=k(e).video,n=$(o,t);if((0,r.A)(e,"mediaTypes.video.context")===u.H6&&ne(e)&&i){const e=[(0,r.A)(i,"w"),(0,r.A)(i,"h")];if(!(e[0]>=h[0]&&e[1]>=h[1]))return(0,a.vV)(`IX Bid Adapter: ${e} is an invalid size for IX outstream renderer`),!1}if(n.length)return n.forEach((e=>{(0,a.vV)(e)})),!1}return function(e){return void 0===(0,r.A)(e,"mediaTypes.native")||e.nativeOrtbRequest&&Array.isArray(e.nativeOrtbRequest.assets)&&e.nativeOrtbRequest.assets.length>0}(e)},resetSiteID:function(){T=0},buildRequests:function(e,t){const i=[],n={},o={},s={},p={};S.getFeatureToggles(),e.forEach((e=>{const i=Object.keys((0,r.A)(e,"mediaTypes",{}));for(const r in i)switch(i[r]){case d.D4:K(e,p,n,t);break;case d.G_:Z(e,o);break;case d.s6:Y(e,s);break;default:(0,a.JE)(`IX Bid Adapter: ad unit mediaTypes ${r} is not supported`)}}));for(let t in p)if(p.hasOwnProperty(t)){let i=p[t].missingSizes;n.hasOwnProperty(t)||(n[t]={}),n[t].hasOwnProperty("missingImps")||(n[t].missingImps=[],n[t].missingCount=0);let r=p[t].impression;for(let a=0;a<i.length;a++){let o=ee(e[0],r,i[a]);n[t].missingImps.push(o),n[t].missingCount++}}let l=[];return Object.keys(n).length>0&&l.push(n),Object.keys(o).length>0&&l.push(o),Object.keys(s).length>0&&l.push(s),S.isFeatureEnabled("pbjs_enable_multiformat")?i.push(...G(e,t,function(e){const t={};return e.forEach((e=>{Object.keys(e).forEach((i=>{Object.keys(t).includes(i)?t[i].hasOwnProperty("ixImps")&&e[i].hasOwnProperty("ixImps")?t[i].ixImps=[...t[i].ixImps,...e[i].ixImps]:t[i].hasOwnProperty("missingImps")&&e[i].hasOwnProperty("missingImps")?t[i].missingImps=[...t[i].missingImps,...e[i].missingImps]:e[i].hasOwnProperty("ixImps")?t[i].ixImps=e[i].ixImps:e[i].hasOwnProperty("missingImps")&&(t[i].missingImps=e[i].missingImps):t[i]=e[i]}))})),t}(l))):(Object.keys(n).length>0&&i.push(...G(e,t,n)),Object.keys(o).length>0&&i.push(...G(e,t,o)),Object.keys(s).length>0&&i.push(...G(e,t,s))),i},interpretResponse:function(e,t){const i=[];let n=null,o=(0,r.A)(e,"body.ext.protectedAudienceAuctionConfigs")||[];if(S.setFeatureToggles(e),!e.hasOwnProperty("body"))return i;const s=e.body,p=s.seatbid||[];for(let e=0;e<p.length;e++){if(!p[e].hasOwnProperty("bid"))continue;const o=p[e].bid,l=t.data;for(let e=0;e<o.length;e++){const a=q(o[e].impid,l.imp,t.validBidRequests);if(n=B(o[e],s.cur,a),n.mediaType===d.G_&&ne(a)){const t=(0,r.A)(s,"ext.videoplayerurl");if(n.renderer=ie(o[e].bidId,t),!n.renderer)continue}i.push(n)}if((0,r.A)(l,"ext.ixdiag.err")&&E.localStorageIsEnabled())try{E.removeDataFromLocalStorage("ixdiag")}catch(e){(0,a.vV)("ix can not clear ixdiag from localStorage.")}}if(!(Array.isArray(o)&&o.length>0))return i;o=o.filter((e=>!!function(e){return"object"==typeof e&&null!==e}(e)||((0,a.JE)("Malformed auction config detected:",e),!1)));try{return{bids:i,paapi:o}}catch(e){return(0,a.JE)("Error attaching AuctionConfigs",e),i}},getUserSyncs:function(e,t){const i=[];let n=null;if(t.length>0&&(n=(0,r.A)(t[0],"body.ext.publishersyncsperbidderoverride")),void 0!==n&&0==n)return[];if(e.iframeEnabled)i.push({type:"iframe",url:"https://js-sec.indexww.com/um/ixmatch.html"});else{let e=null;s.$W.getConfig("userSync")&&(e=s.$W.getConfig("userSync").syncsPerBidder),0===e&&(e=n),e=n&&(0===e||e)?n>e?e:n:1;for(let t=0;t<e;t++)i.push({type:"image",url:oe(e,t)})}return i}};function oe(e,t){let i="",n="0";return D&&D.hasOwnProperty("gdprApplies")&&(n=D.gdprApplies?"1":"0"),D&&D.hasOwnProperty("consentString")&&(i=D.consentString||""),"https://dsum.casalemedia.com/pbusermatch?origin=prebid"+(0!==T?"&site_id="+T.toString():"")+"&p="+e.toString()+"&i="+t.toString()+"&gdpr="+n+"&gdpr_consent="+i+"&us_privacy="+(P||"")}function de(e){return e.imp.forEach(((t,i)=>{const n=t.ext;if(null==n)return e;pe(t)<2||Object.keys(n).forEach((r=>{if(d.D4 in t){const a=t.banner.ext;if(void 0!==a&&void 0!==a[r]&&a[r]==n[r]&&delete e.imp[i].banner.ext[r],void 0!==t.banner.format)for(let a=0;a<t.banner.format.length;a++)null!=t.banner.format[a].ext&&null!=t.banner.format[a].ext[r]&&t.banner.format[a].ext[r]==n[r]&&delete e.imp[i].banner.format[a].ext[r]}if(d.G_ in t){const a=t.video.ext;void 0!==a&&void 0!==a[r]&&a[r]==n[r]&&delete e.imp[i].video.ext[r]}if(d.s6 in t){const a=t.native.ext;void 0!==a&&void 0!==a[r]&&a[r]==n[r]&&delete e.imp[i].native.ext[r]}}))})),e}function se(e){return e.imp.forEach(((t,i)=>{if(null==t.ext)return e;if(!(pe(t)<2)){if(d.D4 in t){const n=t.banner.ext;if(void 0!==n&&void 0!==n.siteID&&delete e.imp[i].banner.ext.siteID,void 0!==t.banner.format)for(let n=0;n<t.banner.format.length;n++)void 0!==t.banner.format[n].ext&&void 0!==t.banner.format[n].ext.siteID&&((0,o.J)(e.imp[i],"ext.siteID",t.banner.format[n].ext.siteID),(0,o.J)(e,"ext.ixdiag.usid",!0),delete e.imp[i].banner.format[n].ext.siteID)}if(d.G_ in t){const n=t.video.ext;void 0!==n&&void 0!==n.siteID&&delete e.imp[i].video.ext.siteID}if(d.s6 in t){const n=t.native.ext;void 0!==n&&void 0!==n.siteID&&delete e.imp[i].native.ext.siteID}}})),e}function pe(e){let t=0;return void 0!==e.banner&&(t+=1),void 0!==e.video&&(t+=1),void 0!==e.native&&(t+=1),t}function le(e){return null==e.device&&(e.device={}),e.device.h=window.screen.height,e.device.w=window.screen.width,e}(0,c.a$)(ae),(0,n.E)("ixBidAdapter")}},e=>{e.O(0,[5,802,85],(()=>{return t=7764,e(e.s=t);var t}));e.O()}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[723],{2605:(e,t,r)=>{var i=r(7873),s=r(1069),n=r(433),a=r(3172),o=r(9115),p=r(1371);const d={...r(11).Z,placement:e=>(0,s.Fq)(e)&&e>=1&&e<=5,plcmt:e=>(0,s.Fq)(e)&&e>=1&&e<=4,delivery:e=>Array.isArray(e)&&e.every((e=>e>=1&&e<=3)),pos:e=>(0,s.Fq)(e)&&e>=1&&e<=7},c={context:e=>e!==p.LM,mimes:d.mimes,maxduration:d.maxduration,protocols:d.protocols},u={code:"sovrn",supportedMediaTypes:[p.D4,p.G_],gvlid:13,isBidRequestValid:function(e){const t=e?.mediaTypes?.video;return!(!e.params.tagid||isNaN(parseFloat(e.params.tagid))||!isFinite(e.params.tagid)||t&&!Object.keys(c).every((e=>c[e](t[e]))))},buildRequests:function(e,t){try{let r,i,o,p,c=[];(0,s.bu)(e,(function(e){!o&&e.userIdAsEids&&(o=e.userIdAsEids,o.forEach((function(e){e.uids&&e.uids[0]&&"criteo.com"===e.source&&(p=e.uids[0].id)}))),e.schain&&(i=i||e.schain),r=r||(0,s.u5)("iv",e.params);const a={adunitcode:e.adUnitCode,id:e.bidId,tagid:String((0,s.u5)("tagid",e.params)),bidfloor:l(e)};if((0,n.A)(e,"mediaTypes.banner")){let t=(0,n.A)(e,"mediaTypes.banner.sizes")||e.sizes;t=(0,s.cy)(t)&&(0,s.cy)(t[0])?t:[t],t=t.filter((e=>(0,s.cy)(e)));const r=t.map((e=>({w:parseInt(e[0],10),h:parseInt(e[1],10)})));a.banner={format:r,w:1,h:1}}(0,n.A)(e,"mediaTypes.video")&&(a.video=function(e){const t={},r=(0,n.A)(e,"sizes"),i=(0,n.A)(e,"mediaTypes.video",{}),a=(0,n.A)(e,"params.video",{}),o={};if(r){const e=Array.isArray(r[0])?r[0]:r;o.w=e[0],o.h=e[1]}else if(Array.isArray(i.playerSize)){const e=Array.isArray(i.playerSize[0])?i.playerSize[0]:i.playerSize;o.w=e[0],o.h=e[1]}const p={...o,...i,...a};return Object.keys(d).forEach((e=>{p.hasOwnProperty(e)&&(d[e](p[e])?t[e]=p[e]:(0,s.JE)(`The OpenRTB video param ${e} has been skipped due to misformating. Please refer to OpenRTB 2.5 spec.`))})),t}(e)),a.ext=(0,s.u5)("ext",e.ortb2Imp)||void 0;const u=(0,s.u5)("segments",e.params);u&&(a.ext=a.ext||{},a.ext.deals=u.split(",").map((e=>e.trim())));const m=e?.ortb2Imp?.ext?.ae;t.paapi?.enabled&&(0,s.Fq)(m)?(a.ext=a.ext||{},a.ext.ae=m):a.ext?.ae&&delete a.ext.ae,c.push(a)}));const u=t.ortb2||{},m=u.site||{};m.page=t.refererInfo.page,m.domain=t.refererInfo.domain;const g=(0,n.A)(t,"timeout"),y={id:(0,s.s0)(),imp:c,site:m,user:u.user||{},tmax:g};i&&(y.source={ext:{schain:i}});const b=(0,n.A)(t,"ortb2.source.tid");b&&(0,a.J)(y,"source.tid",b);(0,n.A)(t,"ortb2.regs.coppa")&&(0,a.J)(y,"regs.coppa",1),t.gdprConsent&&((0,a.J)(y,"regs.ext.gdpr",+t.gdprConsent.gdprApplies),(0,a.J)(y,"user.ext.consent",t.gdprConsent.consentString)),t.uspConsent&&(0,a.J)(y,"regs.ext.us_privacy",t.uspConsent),t.gppConsent&&((0,a.J)(y,"regs.gpp",t.gppConsent.gppString),(0,a.J)(y,"regs.gpp_sid",t.gppConsent.applicableSections)),t?.ortb2?.device&&(y.device=y.device||{},(0,s.D9)(y.device,t.ortb2.device)),o&&((0,a.J)(y,"user.ext.eids",o),p&&(0,a.J)(y,"user.ext.prebid_criteoid",p));let f="https://ap.lijit.com/rtb/bid?src=prebid_prebid_9.23.0";return r&&(f+=`&iv=${r}`),{method:"POST",url:f,data:JSON.stringify(y),options:{contentType:"text/plain"}}}catch(e){(0,s.vV)("Could not build bidrequest, error deatils:",e)}},interpretResponse:function(e){let{body:{id:t,seatbid:r,ext:i}}=e;if(!t||!r||!Array.isArray(r))return[];try{let e=r.filter((e=>e)).map((e=>e.bid.map((e=>{const t={requestId:e.impid,cpm:parseFloat(e.price),width:parseInt(e.w),height:parseInt(e.h),creativeId:e.crid||e.id,dealId:e.dealid||null,currency:"USD",netRevenue:!0,mediaType:e.nurl?p.D4:p.G_,ttl:e.ext?.ttl||90,meta:{advertiserDomains:e&&e.adomain?e.adomain:[]}};return e.nurl?t.ad=decodeURIComponent(`${e.adm}<img src="${e.nurl}">`):t.vastXml=decodeURIComponent(e.adm),t})))).flat(),t=null;if((0,s.cy)(i?.igbid)){const e=i.seller,r=i.decisionLogicUrl,n=i.sellerTimeout;i.igbid.filter((e=>{return t=e,!(0,s.xQ)(t.impid)&&(0,s.cy)(t.igbuyer)&&t.igbuyer.length;var t})).forEach((i=>{const a={};i.igbuyer.filter((e=>{return t=e,!(0,s.xQ)(t.igdomain);var t})).forEach((e=>{a[e.igdomain]=e.buyerdata}));const o=[...Object.keys(a)];o.length&&(t=t||{},t[i.impid]={seller:e,decisionLogicUrl:r,sellerTimeout:n,interestGroupBuyers:o,perBuyerSignals:a})}))}return t?(t=Object.entries(t).map((e=>{let[t,r]=e;return{bidId:t,config:Object.assign({auctionSignals:{}},r)}})),{bids:e,paapi:t}):e}catch(e){return(0,s.vV)("Could not interpret bidresponse, error details:",e),e}},getUserSyncs:function(e,t,r,i,s){try{const a=[];if(t&&0!==t.length){if(e.iframeEnabled){const e=t.filter((e=>(0,n.A)(e,"body.ext.iid"))).map((e=>e.body.ext.iid)),o=[];r&&r.gdprApplies&&"string"==typeof r.consentString&&o.push(["gdpr_consent",r.consentString]),i&&o.push(["us_privacy",i]),s&&(o.push(["gpp",s.gppString]),o.push(["gpp_sid",s.applicableSections])),e[0]&&(o.push(["informer",e[0]]),a.push({type:"iframe",url:"https://ce.lijit.com/beacon?"+o.map((e=>e.join("="))).join("&")}))}e.pixelEnabled&&t.filter((e=>(0,n.A)(e,"body.ext.sync.pixels"))).reduce(((e,t)=>e.concat(t.body.ext.sync.pixels)),[]).map((e=>e.url)).forEach((e=>a.push({type:"image",url:e})))}return a}catch(e){return[]}}};function l(e){const t=e.getFloor&&"function"==typeof e.getFloor?e.getFloor({currency:"USD",mediaType:e.mediaTypes&&e.mediaTypes.banner?"banner":"video",size:"*"}):{},r=parseFloat(t?.floor);if(!isNaN(r))return r;const i=parseFloat((0,s.u5)("bidfloor",e.params));return isNaN(i)?void 0:i}(0,o.a$)(u),(0,i.E)("sovrnBidAdapter")}},e=>{e.O(0,[498,802,85],(()=>{return t=2605,e(e.s=t);var t}));e.O()}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[103],{7967:(t,e,n)=>{var d=n(7873),a=n(9115);const i="testbidder",s={code:i,isBidRequestValid:function(t){return!!t.params},buildRequests:function(t,e){return t.map((t=>({method:"GET",url:"",data:{mock:!0,bidId:t.bidId,testRequestId:t.params.requestId??null,testCPM:t.params.cpm??null,testWidth:t.params.width??null,testHeight:t.params.height??null,testAd:t.params.ad??null,testTTL:t.params.ttl??null,currency:t.params.currency??"USD"},bidRequestId:t.bidId})))},interpretResponse:function(t,e){const n=e.data.testWidth||300,d=e.data.testHeight||250,a=e.data.testRequestId||e.bidRequestId,s=`<!DOCTYPE html>\\n <html>\\n <head>\\n <meta charset="utf-8">\\n <style>\\n body { margin: 0; padding: 0; }\\n .creative-container {\\n position: relative;\\n width: ${n}px;\\n height: ${d}px;\\n background: #f0f0f0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden;\\n }\\n </style>\\n </head>\\n <body>\\n <div id="creative-${a}" class="creative-container">\\n <div style="text-align: center;">\\n <p>Test Ad</p>\\n <p>${e.data.testAd}</p>\\n <p>${n}x${d}</p>\\n </div>\\n <script>\\n (function() {\\n var size = { width: ${n}, height: ${d} };\\n window.parent.postMessage(JSON.stringify({\\n message: \'Prebid Creative Loaded\',\\n adId: \'${a}\',\\n size: size\\n }), \'*\');\\n })();\\n <\\/script>\\n </div>\\n </body>\\n </html>`;return[{requestId:e.data.testRequestId||e.bidRequestId,cpm:parseFloat(e.data.testCPM)||1,currency:e.data.currency,width:n,height:d,mediaType:"banner",ad:s,ttl:e.data.testTTL||300,creativeId:"test-creative-id",netRevenue:!0,bidderCode:i}]},onTimeout:function(t){},onBidWon:function(t){}};(0,a.a$)(s),(0,d.E)("testbidderBidAdapter")}},t=>{t.O(0,[802,85],(()=>{return e=7967,t(t.s=e);var e}));t.O()}]);\n})(),pbjs.processQueue();\n\n//# sourceURL=webpack:///../builds/80918AC8127BA/0.0.100/prebid.js?')},"../node_modules/css-loader/dist/cjs.js!./css/sticky.css":(module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ "../node_modules/css-loader/dist/runtime/noSourceMaps.js");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ "../node_modules/css-loader/dist/runtime/api.js");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.ad-anchor {\n box-sizing: border-box;\n z-index: 9999;\n background-color: #f0f0f0;\n border: 1px dotted #ccc;\n place-items: center;\n padding: 5px;\n transition: all 0.3s ease;\n display: flex;\n align-items: flex-start;\n justify-content: space-between; /* space between .ad-slot and .ad-action-buttons */\n}\n\n.ad-slot {\n flex-grow: 1; /* take up remaining space in center */\n flex-shrink: 1;\n color: #888; /* text color */\n text-align: center; /* center-align content inside div */\n display: flex;\n align-items: center; /* vertically center align all children */\n justify-content: center; /* horizontally center align all children */\n overflow: hidden;\n}\n\n.ad-action-buttons {\n display: flex; /* use flexbox for the buttons */\n gap: 5px; /* add 5px horizontal gap between buttons */\n flex-shrink: 0;\n}\n\n.ad-action-btn {\n box-sizing: border-box;\n width: 20px;\n height: 20px;\n color: #888;\n background: #f0f0f0;\n border: 1px solid #ccc;\n font-size: 20px;\n font-weight: normal;\n font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\n line-height: 18px;\n text-align: center;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n\n/* top sticky ad */\n.ad-TP {\n position: sticky;\n top: 0;\n left: 0;\n width: calc(100vw - 25px);\n height: auto;\n min-height: 10vh; /* minimum height 10% of viewport */\n max-height: 30vh; /* maximum height 30% of viewport */\n}\n\n/* bottom sticky ad */\n.ad-BM {\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100%; /* "fixed" position width goes by view port */\n height: auto;\n min-height: 10vh; /* minimum height 10% of viewport */\n max-height: 30vh; /* maximum height 30% of viewport */\n/* \n max-width: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-left: calc(-50vw + 50%); */\n}\n\n/* right rail sticky ad */\n.ad-RG {\n position: fixed;\n top: 50%;\n right: 0;\n width: 300px;\n height: 600px;\n transform: translateY(-50%);\n}\n\n/* left rail sticky ad */\n.ad-LF {\n position: fixed;\n top: 50%;\n left: 0;\n width: 300px;\n height: 600px;\n transform: translateY(-50%);\n}\n\n/* minimized states */\n.horizontal-minimized {\n height: 30px;\n min-height: 30px;\n overflow: hidden;\n}\n\n.vertical-minimized {\n width: 55px;\n min-width: 55px;\n overflow: hidden;\n}\n\n/* hidden state */\n.hidden {\n display: none;\n}\n\n`, ""]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./css/sticky.css?../node_modules/css-loader/dist/cjs.js')},"../node_modules/css-loader/dist/runtime/api.js":module=>{"use strict";eval('\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = "";\n var needLayer = typeof item[5] !== "undefined";\n if (item[4]) {\n content += "@supports (".concat(item[4], ") {");\n }\n if (item[2]) {\n content += "@media ".concat(item[2], " {");\n }\n if (needLayer) {\n content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += "}";\n }\n if (item[2]) {\n content += "}";\n }\n if (item[4]) {\n content += "}";\n }\n return content;\n }).join("");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === "string") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== "undefined") {\n if (typeof item[5] === "undefined") {\n item[5] = layer;\n } else {\n item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = "@media ".concat(item[2], " {").concat(item[1], "}");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = "".concat(supports);\n } else {\n item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};\n\n//# sourceURL=webpack:///../node_modules/css-loader/dist/runtime/api.js?')},"../node_modules/css-loader/dist/runtime/noSourceMaps.js":module=>{"use strict";eval("\n\nmodule.exports = function (i) {\n return i[1];\n};\n\n//# sourceURL=webpack:///../node_modules/css-loader/dist/runtime/noSourceMaps.js?")},"./css/sticky.css":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ "../node_modules/style-loader/dist/runtime/styleDomAPI.js");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/insertBySelector.js */ "../node_modules/style-loader/dist/runtime/insertBySelector.js");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ "../node_modules/style-loader/dist/runtime/insertStyleElement.js");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ "../node_modules/style-loader/dist/runtime/styleTagTransform.js");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_sticky_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../node_modules/css-loader/dist/cjs.js!./sticky.css */ "../node_modules/css-loader/dist/cjs.js!./css/sticky.css");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\noptions.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head");\noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_sticky_css__WEBPACK_IMPORTED_MODULE_6__["default"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_sticky_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_sticky_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_sticky_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined);\n\n\n//# sourceURL=webpack:///./css/sticky.css?')},"../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":module=>{"use strict";eval('\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = "".concat(id, " ").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n//# sourceURL=webpack:///../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js?')},"../node_modules/style-loader/dist/runtime/insertBySelector.js":module=>{"use strict";eval('\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === "undefined") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error("Couldn\'t find a style target. This probably means that the value for the \'insert\' parameter is invalid.");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;\n\n//# sourceURL=webpack:///../node_modules/style-loader/dist/runtime/insertBySelector.js?')},"../node_modules/style-loader/dist/runtime/insertStyleElement.js":module=>{"use strict";eval('\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement("style");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;\n\n//# sourceURL=webpack:///../node_modules/style-loader/dist/runtime/insertStyleElement.js?')},"../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = true ? __webpack_require__.nc : 0;\n if (nonce) {\n styleElement.setAttribute("nonce", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;\n\n//# sourceURL=webpack:///../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js?')},"../node_modules/style-loader/dist/runtime/styleDomAPI.js":module=>{"use strict";eval('\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = "";\n if (obj.supports) {\n css += "@supports (".concat(obj.supports, ") {");\n }\n if (obj.media) {\n css += "@media ".concat(obj.media, " {");\n }\n var needLayer = typeof obj.layer !== "undefined";\n if (needLayer) {\n css += "@layer".concat(obj.layer.length > 0 ? " ".concat(obj.layer) : "", " {");\n }\n css += obj.css;\n if (needLayer) {\n css += "}";\n }\n if (obj.media) {\n css += "}";\n }\n if (obj.supports) {\n css += "}";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== "undefined") {\n css += "\\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === "undefined") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;\n\n//# sourceURL=webpack:///../node_modules/style-loader/dist/runtime/styleDomAPI.js?')},"../node_modules/style-loader/dist/runtime/styleTagTransform.js":module=>{"use strict";eval("\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;\n\n//# sourceURL=webpack:///../node_modules/style-loader/dist/runtime/styleTagTransform.js?")},"./src/abTests.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getTestAdSlots: () => (/* binding */ getTestAdSlots)\n/* harmony export */ });\n/* harmony import */ var xxhash_wasm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! xxhash-wasm */ \"../node_modules/xxhash-wasm/esm/xxhash-wasm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./src/utils.ts\");\n/* harmony import */ var _wrapperTag__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./wrapperTag */ \"./src/wrapperTag.ts\");\n// wflow/app/wrapper/src/abTests.ts\n\n\n\nconst MAX_HASH_32 = Number(2 ** 32 - 1); // max possible value for xxHash32\n/**\n *\n * @param audienceId can be either userId or sessionId\n * @param testId can be either testId or experimentId\n * @returns number between [0, 1]\n */\nasync function getProjection(audienceId, testId) {\n const { h32 } = await (0,xxhash_wasm__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n const data = `${audienceId}:${testId}`;\n // compute hash\n const xxHash32 = h32(data, 0); // seed 0 explicitly\n // normalize to [0, 1]\n const projection = parseFloat((Number(xxHash32) / Number(MAX_HASH_32)).toFixed(2));\n if (projection < 0 || projection > 1) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleError)(`projection '${projection}' not between 0 and 1`, true);\n }\n return projection;\n}\nasync function getTreatment(test, projection) {\n let treatment = null;\n try {\n const url = `${_wrapperTag__WEBPACK_IMPORTED_MODULE_2__.wrapperConfig.t /*testsAPIEndpoint*/}/allocations?testId=${test.i /*testId*/}`;\n const response = await fetch(url, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"text/plain\"\n }\n });\n switch (response.status) {\n case 200:\n let allocations = await response.json();\n let cumAlloc = 0;\n test.tm /*treatments*/.forEach(tr => {\n tr.a /*allocation*/ = allocations.find(alloc => alloc.i === tr.i /*id*/)?.a; // adds values to wrapperConfig.layouts[].tests[].treatment[]\n cumAlloc += tr.a /*allocation*/ ?? 0;\n if ((treatment === null) && (projection <= cumAlloc)) {\n treatment = tr;\n }\n });\n break;\n case 204:\n default:\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleError)(`http error! ${response.status} ${response.statusText}`);\n }\n }\n catch (error) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleError)('error fetching tests data in getTreatment():', false, error);\n }\n return treatment;\n}\n// export async function getTestAdSlots(layout: Layout): Promise<AdSlot[]> {\n// const adSlotOverridesMap: Map<string, AdSlotOverrides> = new Map();\n// const testPromises = layout.ts/*tests*/?.map(async test => {\n// // TODO: support multiple randomization method, userId vs. sessionId\n// const projection: number = await getProjection(getUserId(), test.i/*testId*/);\n// const treatment: Treatment | null = await getTreatment(test, projection);\n// if (treatment === null) {\n// consoleDebug(`unable to find treatment for testId '${test.i/*testId*/}' and projection: ${projection}, proceeding without tests ...`);\n// return;\n// }\n// consoleDebug(`test details testId: '${test.i/*testId*/}', projection: ${projection}, treatmentId: '${treatment.i/*id*/}'`);\n// // multiple tests can include same ad unit, but not override same attribute (1 level deep)\n// treatment.as/*adSlots*/.forEach((auo: AdSlotOverrides) => {\n// const tauo: AdSlotOverrides | undefined = adSlotOverridesMap.get(auo.g/*gam ad unit code*/);\n// adSlotOverridesMap.set(auo.g, {\n// g: auo.g, /* gam ad unit code */\n// o: (tauo?.o && auo.o) /* auctionTimeout */\n// ? (() => { throw new Error(`auctionTimeout defined in multiple tests for ad unit '${auo.g}'`) })() \n// : (tauo?.o ?? auo.o),\n// n: (tauo?.n && auo.n) /* insert */\n// ? (() => { throw new Error(`insert defined in multiple tests for ad unit '${auo.g}'`) })() \n// : (tauo?.n ?? auo.n),\n// m: (tauo?.m && auo.m) /* media */\n// ? (() => { throw new Error(`media defined in multiple tests for ad unit '${auo.g}'`) })() \n// : (tauo?.m ?? auo.m),\n// tg: (tauo?.tg && auo.tg) /* tagIds */\n// ? (() => { throw new Error(`tagIds defined in multiple tests for ad unit '${auo.g}'`) })() \n// : (tauo?.tg ?? auo.tg),\n// r: (tauo?.r && auo.r) /* refresh */\n// ? (() => { throw new Error(`refresh defined in multiple tests for ad unit '${auo.g}'`) })()\n// : (tauo?.r ?? auo.r),\n// l: (tauo?.l && auo.l) /* load */\n// ? (() => { throw new Error(`load defined in multiple tests for ad unit '${auo.g}'`) })() \n// : (tauo?.l ?? auo.l),\n// kv: (tauo?.kv && auo.kv) /* targetingKeyValues */\n// ? (() => { throw new Error(`targetingKeyValues defined in multiple tests for ad unit '${auo.g}'`) })() \n// : (tauo?.kv ?? auo.kv),\n// f: (tauo?.f && auo.f) /* price floor */\n// ? (() => { throw new Error(`floor defined in multiple tests for ad unit '${auo.g}'`) })() \n// : (tauo?.f ?? auo.f)\n// } as AdSlot);\n// });\n// }) ?? null;\n// if (testPromises) {\n// await Promise.all(testPromises);\n// }\n// const testAdSlots: AdSlot[] = [];\n// adSlotOverridesMap.forEach((auo: AdSlotOverrides) => {\n// const iau: AdSlot | undefined = layout.as /* ad slots */\n// .find(au => au.g === auo.g); /* gam ad unit code */\n// testAdSlots.push({\n// g: auo.g, /* gam ad unit code */\n// o: auo.o ?? iau?.o as number, /* auctionTimeout */\n// n: (auo.n || iau?.n) /* insert */\n// ? auo.n ?? iau?.n as Insert\n// : (() => { throw new Error(`insert not defined for test ad unit '${auo.g}'`) })(),\n// m: (auo.m || iau?.m) /* media */\n// ? auo.m ?? iau?.m as Media\n// : (() => { throw new Error(`media not defined for test ad unit '${auo.g}'`) })(),\n// tg: (auo.tg || iau?.tg) /* tagIds */\n// ? auo.tg ?? iau?.tg as TagId[]\n// : (() => { throw new Error(`tagIds not defined for test ad unit '${auo.g}'`) })(),\n// r: auo.r ?? iau?.r as Refresh, /* refresh */\n// l: (auo.l || iau?.l) /* load */\n// ? auo.l ?? iau?.l as Load\n// : (() => { throw new Error(`load not defined for test ad unit '${auo.g}'`) })(),\n// kv: auo.kv ?? iau?.kv as KeyValue, /* targetingKeyValues */\n// f: auo.f ?? iau?.f as number /* price floor */\n// } as AdSlot);\n// });\n// return testAdSlots;\n// }\nasync function getTestAdSlots(layout) {\n const adSlotOverridesMap = new Map();\n const testPromises = layout.ts?.map(async (test) => {\n const projection = await getProjection((0,_utils__WEBPACK_IMPORTED_MODULE_1__.getUserId)(), test.i);\n const treatment = await getTreatment(test, projection);\n if (treatment === null) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)(`unable to find treatment for testId '${test.i}' and projection: ${projection}, proceeding without tests ...`);\n return;\n }\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)(`test details testId: '${test.i}', projection: ${projection}, treatmentId: '${treatment.i}'`);\n treatment.as.forEach((currentTreatmentOverride) => {\n const gamUnitCode = currentTreatmentOverride.g;\n const previouslyAccumulatedOverrides = adSlotOverridesMap.get(gamUnitCode);\n const effectiveOverridesForSlot = { g: gamUnitCode };\n const processProperty = (propName) => {\n const existingVal = previouslyAccumulatedOverrides?.[propName];\n const newValFromCurrentTreatment = currentTreatmentOverride[propName];\n if (newValFromCurrentTreatment !== undefined) {\n if (existingVal !== undefined) { // Property was already defined by a previous test's treatment\n const fieldName = String(propName) === 'o' ? 'auctionTimeout' : String(propName);\n // For 'o' (auctionTimeout), throw if it's defined again, regardless of value, to match test.\n if (String(propName) === 'o') {\n throw new Error(`${fieldName} defined in multiple tests for ad unit '${gamUnitCode}'`);\n }\n // For other properties, throw only if values are different.\n if (JSON.stringify(existingVal) !== JSON.stringify(newValFromCurrentTreatment)) {\n throw new Error(`${fieldName} defined differently in multiple tests for ad unit '${gamUnitCode}'`);\n }\n }\n effectiveOverridesForSlot[propName] = newValFromCurrentTreatment;\n }\n else if (existingVal !== undefined) {\n effectiveOverridesForSlot[propName] = existingVal;\n }\n };\n processProperty('o');\n processProperty('n');\n processProperty('m');\n processProperty('tg');\n processProperty('r');\n processProperty('l');\n processProperty('kv');\n processProperty('f');\n if (Object.keys(effectiveOverridesForSlot).length > 1) {\n adSlotOverridesMap.set(gamUnitCode, effectiveOverridesForSlot);\n }\n else {\n if (!previouslyAccumulatedOverrides || Object.keys(previouslyAccumulatedOverrides).length <= 1) {\n adSlotOverridesMap.delete(gamUnitCode);\n }\n }\n });\n }) ?? null;\n if (testPromises) {\n await Promise.all(testPromises);\n }\n const testAdSlots = [];\n adSlotOverridesMap.forEach((accumulatedOverrides) => {\n const initialAdSlot = layout.as.find(au => au.g === accumulatedOverrides.g);\n if (!initialAdSlot) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleError)(`Original ad slot not found for override: ${accumulatedOverrides.g}`);\n return;\n }\n const mergedSlot = { ...initialAdSlot, ...accumulatedOverrides };\n if (!mergedSlot.n)\n throw new Error(`insert not defined for test ad unit '${mergedSlot.g}'`);\n if (!mergedSlot.m)\n throw new Error(`media not defined for test ad unit '${mergedSlot.g}'`);\n if (!mergedSlot.tg)\n throw new Error(`tagIds not defined for test ad unit '${mergedSlot.g}'`);\n if (!mergedSlot.l)\n throw new Error(`load not defined for test ad unit '${mergedSlot.g}'`);\n testAdSlots.push(mergedSlot);\n });\n return testAdSlots;\n}\n\n\n//# sourceURL=webpack:///./src/abTests.ts?")},"./src/auctionConductor.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ adSlotAuctionMap: () => (/* binding */ adSlotAuctionMap),\n/* harmony export */ setRegisterSlotWorker: () => (/* binding */ setRegisterSlotWorker),\n/* harmony export */ setServeAdWorker: () => (/* binding */ setServeAdWorker)\n/* harmony export */ });\n/* harmony import */ var _refreshEventHandlers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./refreshEventHandlers */ "./src/refreshEventHandlers.ts");\n/* harmony import */ var _wrapperTag__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./wrapperTag */ "./src/wrapperTag.ts");\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types/enums */ "./src/types/enums.ts");\n// wflow/app/wrapper/src/auctionConductor.ts\n\n\n\n/**\n *\n * auction is event based and conducted in 3 steps\n * 1) register ad slot after parent div element is added - setRegisterSlotWorker()\n * 2) start auction\n * 3)\n *\n */\n// maps adUnit.code::adUnit.div to { adSlot, auctionId }\nconst adSlotAuctionMap = new Map();\n// register handler: to register ad slot after div has loaded in body\nfunction setRegisterSlotWorker(slot) {\n const slot_div_id = slot.getSlotElementId();\n var element = document.getElementById(slot_div_id);\n if (element) { // element already exists\n registerSlot();\n return;\n }\n var observer = null;\n if (document.body) { // page has already loaded\n mutationListener();\n }\n else {\n document.addEventListener(\'DOMContentLoaded\', () => {\n element = document.getElementById(slot_div_id);\n if (element) { // element already exists\n registerSlot();\n return;\n }\n mutationListener();\n });\n }\n // set up MutationObserver for future additions\n function mutationListener() {\n observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n // check if element exists in DOM now\n const element = document.getElementById(slot_div_id);\n if (element) {\n registerSlot();\n return;\n }\n }\n });\n // start observing document for changes\n observer.observe(document.body, {\n childList: true, // listen for direct children added/removed\n subtree: true // listen for changes in the entire subtree\n });\n }\n function registerSlot() {\n googletag.cmd.push(() => {\n googletag.display(slot_div_id); // called to register slot, disableInitialLoad() should still apply\n // fetch ads for "lazy" load ad units only\n if (slot.getTargeting(\'load\').includes(_types_enums__WEBPACK_IMPORTED_MODULE_2__.Load.Lazy)) {\n setFetchAdWorker(slot);\n }\n else {\n // register refresh handlers for "eager" load ad units\n // setRefreshWorker(slot.getAdUnitPath());\n (0,_refreshEventHandlers__WEBPACK_IMPORTED_MODULE_0__.setRefreshWorker)(slot.getSlotElementId());\n }\n });\n if (observer) {\n observer.disconnect(); // stop observing, after slot is registered\n }\n }\n}\n// meant to be called for "lazy" load ad slots only\nfunction setFetchAdWorker(slot) {\n const options = {\n root: null, // element to intersect with browser viewport\n rootMargin: "1000px", // margin to grow or shrink intersection frame of root, default 100px (10% of most popular viewport 1080px)\n threshold: 0.0 // % element visible\n };\n const slot_div_id = slot.getSlotElementId();\n const element = document.getElementById(slot_div_id);\n const observer = new IntersectionObserver((entries, observer) => {\n entries.forEach(entry => {\n if (entry.intersectionRatio > 0) {\n pbjs.que.push(() => {\n pbjs.requestBids({\n // adslot element (div) id used as unique prebid adunit code\n adUnitCodes: [slot.getSlotElementId()],\n timeout: _wrapperTag__WEBPACK_IMPORTED_MODULE_1__.wrapperConfig.o /*auctionTimeout*/ // TODO: use adUnit level timeout when set\n });\n });\n observer.disconnect(); // stop observing after ad is fetched\n // register refresh handlers for "lazy" load ad slots\n // setRefreshWorker(slot.getAdUnitPath());\n (0,_refreshEventHandlers__WEBPACK_IMPORTED_MODULE_0__.setRefreshWorker)(slot.getSlotElementId());\n }\n });\n }, options);\n if (element) {\n observer.observe(element);\n }\n}\nfunction setServeAdWorker() {\n pbjs.onEvent(\'auctionEnd\', (auction) => {\n googletag.cmd.push(() => {\n const renderAdSlotCodes = auction.adUnitCodes;\n const renderSlots = googletag.pubads()\n .getSlots()\n // filter adslot element (div) id used as unique prebid adunit code\n .filter(slot => renderAdSlotCodes.includes(slot.getSlotElementId()));\n if (renderSlots.length > 0) {\n pbjs.que.push(() => {\n pbjs.setTargetingForGPTAsync(renderAdSlotCodes);\n googletag.pubads().refresh(renderSlots);\n });\n }\n });\n });\n // TODO should this part be moved to a different function?\n pbjs.onEvent(\'bidWon\', (bid) => {\n const slot = googletag.pubads()\n .getSlots()\n // find by adslot element (div) id used as unique prebid adunit code\n .find(slot => slot.getSlotElementId() === bid.adUnitCode)\n ?? null;\n // TODO: add prefix to targeting keys to make it obvious that this is specific to our wrapper\n if (slot) {\n googletag.cmd.push(() => {\n slot.setTargeting(\'hb_bidder_code\', bid.bidderCode);\n slot.setTargeting(\'hb_cpm\', bid.cpm);\n slot.setTargeting(\'hb_cpm_currency\', bid.currency);\n });\n }\n });\n}\n\n\n//# sourceURL=webpack:///./src/auctionConductor.ts?')},"./src/audiences.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getUserBrowser: () => (/* binding */ getUserBrowser),\n/* harmony export */ getUserCountry: () => (/* binding */ getUserCountry),\n/* harmony export */ getUserDevice: () => (/* binding */ getUserDevice),\n/* harmony export */ matchAudience: () => (/* binding */ matchAudience)\n/* harmony export */ });\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types/enums */ \"./src/types/enums.ts\");\n// wflow/app/wrapper/src/audiences.ts\n\nfunction getUserBrowser() {\n const ua = navigator.userAgent.toLowerCase();\n // check edge first, its ua string often includes \"chrome\"\n // modern edge uses \"edg/\", older edge used \"edge/\"\n if (ua.indexOf('edg/') > -1 || ua.indexOf('edge/') > -1 || ua.indexOf('edge') > -1) { // a bit more robust for edge\n return _types_enums__WEBPACK_IMPORTED_MODULE_0__.Browser.Edge;\n }\n else if (ua.indexOf('chrome') > -1 && ua.indexOf('safari') > -1) {\n return _types_enums__WEBPACK_IMPORTED_MODULE_0__.Browser.Chrome;\n }\n else if (ua.indexOf('safari') > -1) { // safari only (no \"chrome\" or \"edg\")\n return _types_enums__WEBPACK_IMPORTED_MODULE_0__.Browser.Safari;\n }\n else if (ua.indexOf('firefox') > -1) {\n return _types_enums__WEBPACK_IMPORTED_MODULE_0__.Browser.Firefox;\n }\n return _types_enums__WEBPACK_IMPORTED_MODULE_0__.Browser.Unknown;\n}\nfunction getUserDevice() {\n const viewPortCheck = window.matchMedia(\"(max-width: 760px), (max-width: 1024px) and (orientation: landscape)\").matches;\n const userAgentCheck = /Android|iPhone|iPad/i.test(navigator.userAgent);\n return (viewPortCheck || userAgentCheck) ? _types_enums__WEBPACK_IMPORTED_MODULE_0__.Device.Mobile : _types_enums__WEBPACK_IMPORTED_MODULE_0__.Device.Desktop;\n}\nfunction getUserCountry() {\n const localeString = Intl.DateTimeFormat().resolvedOptions().locale;\n let localeCountryCode;\n if (localeString) {\n const parts = localeString.split('-');\n if (parts.length > 1) {\n localeCountryCode = parts[parts.length - 1]; // take last part\n }\n }\n const langString = navigator.language;\n let langCountryCode;\n if (langString) {\n const parts = langString.split('-');\n if (parts.length > 1) {\n langCountryCode = parts[parts.length - 1]; // take last part\n }\n }\n // return uppercase country code if found\n if (localeCountryCode)\n return localeCountryCode.toUpperCase();\n if (langCountryCode)\n return langCountryCode.toUpperCase();\n return null;\n}\nfunction matchAudience(layout) {\n for (const inc of layout.t /*targetAudience*/?.ic /*includes*/ ?? []) {\n if (inc.bw /*browser*/ && !inc.bw /*browser*/.includes(getUserBrowser()))\n return null;\n if (inc.dv /*device*/ && !inc.dv /*device*/.includes(getUserDevice()))\n return null;\n if (inc.cy /*country*/ && !inc.cy /*country*/.includes(getUserCountry() ?? ''))\n return null;\n }\n for (const exc of layout.t /*targetAudience*/?.ex /*excludes*/ ?? []) {\n if (exc.bw /*browser*/ && exc.bw /*browser*/.includes(getUserBrowser()))\n return null;\n if (exc.dv /*device*/ && exc.dv /*device*/.includes(getUserDevice()))\n return null;\n if (exc.cy /*country*/ && exc.cy /*country*/.includes(getUserCountry() ?? ''))\n return null;\n }\n return layout;\n}\n\n\n//# sourceURL=webpack:///./src/audiences.ts?")},"./src/dynamicSlot.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ deleteDynamicAdSlot: () => (/* binding */ deleteDynamicAdSlot),\n/* harmony export */ insertDynamicAdSlot: () => (/* binding */ insertDynamicAdSlot),\n/* harmony export */ setDynamicSlotHandler: () => (/* binding */ setDynamicSlotHandler)\n/* harmony export */ });\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types/enums */ \"./src/types/enums.ts\");\n/* harmony import */ var _auctionConductor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./auctionConductor */ \"./src/auctionConductor.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ \"./src/utils.ts\");\n/* harmony import */ var _wrapperTag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./wrapperTag */ \"./src/wrapperTag.ts\");\n// wflow/app/wrapper/src/dynamicSlot.ts\n\n\n\n\nconst dynamicAdSlots = {};\nfunction setDynamicSlotHandler() {\n // setup event listener for new elements to have been added or getting close to view, and invoke insertDynamicAdSlot() when applicable\n // invoke deleteDynamicSlot() when dynamic ad slot far from view port\n}\nfunction insertDynamicAdSlot(refId, reference) {\n // filter layouts applicable to current page\n const layouts = _wrapperTag__WEBPACK_IMPORTED_MODULE_3__.wrapperConfig.ly /*layout*/\n .filter((ly) => (0,_utils__WEBPACK_IMPORTED_MODULE_2__.matchPagePath)(window.location.pathname, ly.pp /*pagePaths*/));\n const allAdSlots = _wrapperTag__WEBPACK_IMPORTED_MODULE_3__.wrapperConfig.as /*adSlots*/\n .concat(layouts.flatMap(ly => ly.as /*adSlots*/));\n if (allAdSlots.length === 0) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_2__.consoleDebug)(`no ad slots defined for pagepath '${window.location.pathname}', ad cannot be served by insertDynamicAdSlot()`);\n return;\n }\n const refElement = document.getElementById(refId);\n if (refElement === null) {\n throw new Error('could not find element for refId in insertDynamicSlot(): ' + refId);\n }\n const slotDiv = document.createElement('div');\n slotDiv.id = `ad-slot-${reference}-${refId}`;\n slotDiv.className = 'ad-anchor';\n slotDiv.innerHTML = 'Advertisement';\n switch (reference) {\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.ElementReference.Before:\n refElement?.before(slotDiv);\n break;\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.ElementReference.After:\n refElement?.after(slotDiv);\n break;\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.ElementReference.Inside:\n break;\n default:\n throw new Error('invalid reference parameter to insertDynamicSlot() ' + reference);\n }\n const parentElement = refElement.parentElement;\n const adSlot = Object.values(allAdSlots)\n .find(({ n /*insert*/ }) => n.a /*anchor*/ === _types_enums__WEBPACK_IMPORTED_MODULE_0__.Anchor.DynamicElement &&\n n.d /*divId*/ === parentElement?.id);\n if (adSlot === undefined) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_2__.consoleDebug)(`no ad slot defined for element id '${parentElement?.id}', ad cannot be served by insertDynamicAdSlot()`);\n return;\n }\n dynamicAdSlots[slotDiv.id] = { adUnit: null, gptSlot: null };\n pbjs.que.push(() => {\n // add all ad units to prebid auction\n const pbjsAdUnit = {\n code: slotDiv.id, /*adSlot.g/*gam ad unit code/ + `/${slotDiv.id}`,*/\n div: slotDiv.id,\n mediaTypes: {\n banner: {\n sizes: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.getMediaSizes)(adSlot.m /*media*/)\n }\n },\n bids: adSlot.tg /*tagIds*/.map(tagId => ({\n bidder: tagId.b /*bidder*/,\n params: tagId.pm /*params*/\n }))\n };\n pbjs.addAdUnits(pbjsAdUnit);\n dynamicAdSlots[slotDiv.id].adUnit = pbjsAdUnit;\n // start prebid auction\n pbjs.requestBids({\n adUnitCodes: [pbjsAdUnit.code],\n timeout: adSlot.o /*auctionTimeout*/ ?? _wrapperTag__WEBPACK_IMPORTED_MODULE_3__.wrapperConfig.o /*auctionTimeout*/\n });\n });\n googletag.cmd.push(() => {\n const sizes = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.getMediaSizes)(adSlot.m /*media*/);\n const gptSlot = googletag\n .defineSlot(adSlot.g /*gam ad unit code*/ + `/${slotDiv.id}`, sizes, slotDiv.id)\n ?.addService(googletag.pubads());\n if (gptSlot) {\n // slot level targeting (google publisher tag)\n Object.entries(adSlot.kv /*targetingKeyValues*/ || {}).forEach(([key, value]) => {\n gptSlot.setTargeting(key, value);\n });\n if (adSlot.f /*price floor*/) {\n gptSlot.setTargeting('hb_floor', adSlot.f /*price floor*/.toString());\n }\n gptSlot.setTargeting('load', adSlot.l /*load*/);\n (0,_auctionConductor__WEBPACK_IMPORTED_MODULE_1__.setRegisterSlotWorker)(gptSlot);\n dynamicAdSlots[slotDiv.id].gptSlot = gptSlot;\n }\n });\n}\nfunction deleteDynamicAdSlot(divId) {\n // googletag.destroySlots([gptSlot])\n // pbjs.removeAdSlot(adUnitCode)\n // remove any refresh handlers\n}\n\n\n//# sourceURL=webpack:///./src/dynamicSlot.ts?")},"./src/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ initAdserver: () => (/* binding */ initAdserver),\n/* harmony export */ processAdSlots: () => (/* binding */ processAdSlots)\n/* harmony export */ });\n/* harmony import */ var _logEventHandlers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./logEventHandlers */ "./src/logEventHandlers.ts");\n/* harmony import */ var _auctionConductor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./auctionConductor */ "./src/auctionConductor.ts");\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./logger */ "./src/logger.ts");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ "./src/utils.ts");\n/* harmony import */ var _stickySlot__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./stickySlot */ "./src/stickySlot.ts");\n/* harmony import */ var _abTests__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./abTests */ "./src/abTests.ts");\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./types/enums */ "./src/types/enums.ts");\n/* harmony import */ var _audiences__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./audiences */ "./src/audiences.ts");\n/* harmony import */ var _wrapperTag__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./wrapperTag */ "./src/wrapperTag.ts");\n// wflow/app/wrapper/src/index.ts\nconst WRAPPER_VERSION = \'0.1\';\n\n\n\n\n\n\n\n\n\n// const wrapperConfig: WrapperConfig = require(WRAPP_CONFIG_FILE_PATH);\nfunction initAdserver() {\n if (!window.googletag.pubads) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.consoleError)(\'googletag (google publisher tag) did not load properly ...\');\n return;\n }\n if (pbjs.initAdserverSet)\n return;\n pbjs.initAdserverSet = true;\n googletag.cmd.push(() => {\n if (pbjs.setTargetingForGPTAsync) {\n pbjs.setTargetingForGPTAsync();\n googletag.pubads().refresh();\n }\n else {\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.consoleError)(\'Prebid did not load properly: setTargetingForGPTAsync is undefined\');\n googletag.pubads().refresh(); // fallback to direct gpt refresh\n //TODO log error\n }\n });\n}\n;\nfunction processAdSlots(adSlots) {\n pbjs.que.push(() => {\n // add all ad units to prebid auction\n var pbjsAdUnits = adSlots\n .map(adSlot => ({\n code: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getSlotDivId)(adSlot), // adslot element (div) id used as unique prebid adunit code\n div: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getSlotDivId)(adSlot),\n mediaTypes: {\n banner: {\n sizes: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getMediaSizes)(adSlot.m /*media*/)\n }\n },\n bids: adSlot.tg /*tagIds*/.map(tagId => ({\n bidder: tagId.b /*bidder*/,\n params: tagId.pm /*params*/\n }))\n }));\n pbjs.addAdUnits(pbjsAdUnits);\n // start prebid auction for "eager" load ad slots\n var eagerAdUnitCodes = adSlots\n .filter(slot => slot.l /*load*/ === _types_enums__WEBPACK_IMPORTED_MODULE_6__.Load.Eager) // filter "eager" load ad unit codes\n .map(slot => (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getSlotDivId)(slot)); // return prebid adunit codes (adslot div ids)\n pbjs.requestBids({\n adUnitCodes: eagerAdUnitCodes,\n timeout: _wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.o /*auctionTimeout*/\n });\n });\n googletag.cmd.push(() => {\n adSlots\n .filter(({ l /*load*/ }) => [_types_enums__WEBPACK_IMPORTED_MODULE_6__.Load.Eager, _types_enums__WEBPACK_IMPORTED_MODULE_6__.Load.Lazy].includes(l /*load*/))\n .forEach((adSlot) => {\n var sizes = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getMediaSizes)(adSlot.m /*media*/);\n const gptSlot = googletag\n .defineSlot(adSlot.g /*gamAdUnitCode*/, sizes, (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getSlotDivId)(adSlot))\n ?.addService(googletag.pubads());\n if (gptSlot) {\n // slot level targeting (google publisher tag)\n Object.entries(adSlot.kv /*targetingKeyValues*/ || {}).forEach(([key, value]) => {\n gptSlot.setTargeting(key, value);\n });\n if (adSlot.f /*price floor*/) {\n gptSlot.setTargeting(\'hb_floor\', adSlot.f /*price floor*/.toString());\n }\n gptSlot.setTargeting(\'load\', adSlot.l /*load*/);\n if (adSlot.n /*insert*/.a /*anchor*/ === _types_enums__WEBPACK_IMPORTED_MODULE_6__.Anchor.Window) {\n (0,_stickySlot__WEBPACK_IMPORTED_MODULE_4__.setInsertSlotWorker)(adSlot); // add ad slot element to body before registering slot\n }\n (0,_auctionConductor__WEBPACK_IMPORTED_MODULE_1__.setRegisterSlotWorker)(gptSlot);\n }\n });\n googletag.pubads().enableSingleRequest(); // all ad slots should be defined and added to service before\n googletag.enableServices();\n });\n}\nasync function main() {\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.consoleDebug)("app info" +\n "\\n name: " + "app-p80918ac8127ba.js" +\n "\\n version: " + "0.0.100" +\n "\\n build date: " + "2025-07-16T19:59:10.881Z");\n window.wrapperConfig = _wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig;\n // check config domain covers publisher domain\n const secondLevelDomain = window.location.hostname.split(\'.\').slice(-2).join(\'.\');\n const thirdLevelDomain = window.location.hostname.split(\'.\').slice(-3).join(\'.\');\n const sldHash = await (0,_utils__WEBPACK_IMPORTED_MODULE_3__.generateHash)(secondLevelDomain, 13);\n const tldHash = await (0,_utils__WEBPACK_IMPORTED_MODULE_3__.generateHash)(thirdLevelDomain, 13);\n if (![sldHash, tldHash].includes(_wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.d /*domain*/)) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.consoleError)(`inventory defined for different domain with ID \'${_wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.d /*domain*/}\', no ads will be served`);\n return;\n }\n //TODO: check wrapper version compatibility with config version\n // in case pbjs does not load, ensure googletag.pubads().refresh() is called\n setTimeout(() => {\n initAdserver();\n }, _wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.f /*failsafeTimeout*/);\n pbjs.que.push(() => {\n pbjs.initAdserverSet = true; // execute first once pbjs setup is complete\n pbjs.setConfig({\n currency: {\n adServerCurrency: _wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.c /*currencyCode*/ || \'USD\',\n // prebid.org maintained currency file, updated daily\n conversionUrl: \'https://cdn.example.com/currency/latest.json\',\n // fallback rates if needed\n // rates: wrapperConfig.cr/*currencyRates*/ || {}\n },\n priceGranularity: {\n buckets: _wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.pb /*priceBuckets*/.map((bucket) => ({\n min: Number(bucket.f /*floor*/),\n max: Number(bucket.c /*ceiling*/),\n increment: Number(bucket.s /*step*/),\n }))\n },\n });\n // register event handlers and workers early\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.initLogger)();\n (0,_logEventHandlers__WEBPACK_IMPORTED_MODULE_0__.setDocumentEventLogHandlers)();\n (0,_logEventHandlers__WEBPACK_IMPORTED_MODULE_0__.setAuctionEventLogHandlers)();\n // ensure gpt api is ready before registering log handlers for gpt events\n googletag.cmd.push(() => {\n (0,_logEventHandlers__WEBPACK_IMPORTED_MODULE_0__.setGPTEventLogHandlers)();\n });\n (0,_auctionConductor__WEBPACK_IMPORTED_MODULE_1__.setServeAdWorker)();\n });\n googletag.cmd.push(() => {\n googletag.pubads().disableInitialLoad();\n });\n // filter layouts applicable to current page\n const layouts = (_wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.ly /*layout*/\n ?.filter((ly) => (0,_utils__WEBPACK_IMPORTED_MODULE_3__.matchPagePath)(window.location.pathname, ly.pp /*pagePaths*/))\n ?.filter((ly) => (0,_audiences__WEBPACK_IMPORTED_MODULE_7__.matchAudience)(ly) !== null)) ?? [];\n // exclude ad slots that are overriden in any tests\n const layoutFilteredAdSlots = layouts\n .flatMap(ly => {\n const testAdSlotCodes = new Set(ly.ts /*tests*/?.flatMap(test => test.tm /*treatments*/.flatMap(treatment => treatment.as /*adSlots*/.map(adUnit => adUnit.g /*gamAdUnitCode*/) // TODO: move from gam ad unit code to ad slot div id??\n )) || []);\n return ly.as /*adSlots*/.filter(adUnit => !testAdSlotCodes.has(adUnit.g /*gamAdUnitCode*/));\n });\n [\n ...layoutFilteredAdSlots,\n ..._wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.as /*adSlots*/, // config ad slots override layout ad slots\n ].forEach((adSlot) => {\n const key = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getSlotDivId)(adSlot);\n const current = _auctionConductor__WEBPACK_IMPORTED_MODULE_1__.adSlotAuctionMap.get(key) || {};\n _auctionConductor__WEBPACK_IMPORTED_MODULE_1__.adSlotAuctionMap.set(key, {\n ...current,\n adSlot: adSlot\n });\n });\n if (_auctionConductor__WEBPACK_IMPORTED_MODULE_1__.adSlotAuctionMap.size === 0) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.consoleDebug)(`no ad slots defined for pagepath \'${window.location.pathname}\', ads will not be served`);\n return;\n }\n processAdSlots(Array.from(_auctionConductor__WEBPACK_IMPORTED_MODULE_1__.adSlotAuctionMap.values())\n .map(entry => entry.adSlot)\n .filter((slot) => !!slot)); // filter out undefined ad slots\n googletag.cmd.push(() => {\n // page-level targeting (google publisher tag)\n const allPageLevelTargeting = Object.values(layouts)\n .map(layout => layout.kv /*pageTargetingKeyValues*/ || {})\n .reduce((acc, kv) => ({ ...acc, ...kv }), {}); // merge all kv objects\n Object.entries(allPageLevelTargeting).forEach(([key, value]) => {\n googletag.pubads().setTargeting(key, value);\n });\n });\n // retrieve test ad units meant for user\n const testAdSlots = (await Promise.all(layouts\n .filter((layout) => layout.ts /*tests*/)\n .map((layout) => (0,_abTests__WEBPACK_IMPORTED_MODULE_5__.getTestAdSlots)(layout))))\n .flat();\n if (testAdSlots.length > 0) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.consoleDebug)(\'test ad slots found will be served\', testAdSlots);\n processAdSlots(testAdSlots);\n }\n}\n// queue to execute ad server tasks in order\nwindow.googletag = window.googletag || { cmd: [] };\n// queue to execute auction tasks in order\nwindow.pbjs = window.pbjs || { que: [] };\n// window.__gpp = {\n// getSection: function(sectionId, callback) {\n// callback({\n// gppString: \'DBABMA~CPXxRfAPXxRfABABQBENB-CgAAAAAAAAAAAAAAAAAAA.YAAAAAAAAAA\',\n// applicableSections: [\'tcfeu\', \'usca\'], // GDPR and US Privacy\n// });\n// },\n// };\nmain();\n// anchor to view_port (sticky ads) -- always loaded eager\n// anchor to static_content (standard ads) -- loaded eager or lazy\n// anchor to dynamic_content; --\x3e div id regex or class name -- loaded lazy\n// ad slots can be insertion can be on page content, sticky, and dynamic\n// ads can be loaded -- eager or lazy\n//TODOs\n//for eager slots auction can end before winner has been declared from bid responses\n//auction end includes array of bid responses\n\n\n//# sourceURL=webpack:///./src/index.ts?')},"./src/logEventHandlers.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setAuctionEventLogHandlers: () => (/* binding */ setAuctionEventLogHandlers),\n/* harmony export */ setDocumentEventLogHandlers: () => (/* binding */ setDocumentEventLogHandlers),\n/* harmony export */ setGPTEventLogHandlers: () => (/* binding */ setGPTEventLogHandlers)\n/* harmony export */ });\n/* harmony import */ var _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./logObjectBuilder */ \"./src/logObjectBuilder.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./src/utils.ts\");\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./logger */ \"./src/logger.ts\");\n/* harmony import */ var _auctionConductor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./auctionConductor */ \"./src/auctionConductor.ts\");\n// wflow/app/wrapper/src/logEventHandlers.ts\n\n\n\n\nfunction setAuctionEventLogHandlers() {\n pbjs.onEvent('auctionInit', (auction) => {\n //TODO add debug condition for log\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.auctionInit', auction);\n // update auction map with latest auction ids\n auction.adUnits.forEach((adUnit) => {\n const key = adUnit.div;\n const currentMap = _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key) ?? {};\n _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.set(key, {\n ...currentMap,\n pbAuctionId: auction.auctionId,\n pbAdUnitId: adUnit.adUnitId,\n pbTransactionId: adUnit.transactionId\n });\n });\n const auctionInit = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.auctionInitObject(auction);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/auction/init', auctionInit);\n });\n pbjs.onEvent('bidResponse', (bid) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.bidResponse', bid);\n const bidResponse = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.bidResponseObject(bid);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/bid/response', bidResponse);\n });\n pbjs.onEvent('bidWon', (bid) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.bidWon', bid);\n const bidWon = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.bidWonObject(bid);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/bid/won', bidWon);\n });\n pbjs.onEvent('bidRejected', (bid) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.bidRejected', bid);\n const bidRejected = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.bidRejectedObject(bid, Date.now() /*utc timestamp*/);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/bid/reject', bidRejected);\n });\n pbjs.onEvent('bidTimeout', (bids) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.bidTimeout', bids);\n const bidTimeout = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.bidTimeoutObjects(bids);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/bid/timeouts', bidTimeout);\n });\n pbjs.onEvent('auctionEnd', (auction) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.auctionEnd', auction);\n const auctionEnd = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.auctionEndObject(auction);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/auction/end', auctionEnd);\n });\n pbjs.onEvent('adRenderSucceeded', (data) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.adRenderSucceeded', data);\n const adServe = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.adServeObject(data.bid, { serveStatus: 'SUCCESS', serveTimestamp: Date.now() /*utc timestamp*/, failReason: null });\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/ad/serve', adServe);\n });\n pbjs.onEvent('adRenderFailed', (data) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.adRenderFailed', data);\n const adServe = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.adServeObject(data.bid, { serveStatus: 'FAIL', failReason: data.reason, serveTimestamp: null });\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/ad/serve', adServe);\n });\n}\nfunction setDocumentEventLogHandlers() {\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', logPageView);\n }\n else {\n // DOMContentLoaded already fired, call function immediately\n logPageView();\n }\n function logPageView() {\n const pageView = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.pageViewObject();\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pageView', pageView);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/page/view', pageView);\n }\n}\nfunction setGPTEventLogHandlers() {\n googletag.pubads().addEventListener('slotResponseReceived', (event) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('googletag.events.slotResponseReceived', event);\n // save auction ids to served before rendering\n const slotId = event.slot.getSlotElementId();\n const current = _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(slotId);\n if (current?.pbAuctionId) {\n _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.set(slotId, {\n ...current,\n pbServedAuctionId: current.pbAuctionId,\n pbServedAdUnitId: current.pbAdUnitId,\n pbServedTransactionId: current.pbTransactionId\n });\n }\n });\n googletag.pubads().addEventListener('slotRenderEnded', (event) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('googletag.events.SlotRenderEndedEvent', event);\n if (event.isEmpty) { // no impression\n const adUnfilled = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.adUnfilledObject(event.slot, Date.now() /*utc timestamp*/);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/ad/unfilled', adUnfilled);\n }\n else { //impression\n // TODO: look into slot renders with sizes 1x1\n // if (event.size && (event.size[0] === 1 && event.size[1] === 1)) {\n // ignore pixel renders\n // }\n // else {\n const adImpression = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.adImpressionObject(event, Date.now()); /* UTC timestamp */\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/ad/impression', adImpression);\n // }\n }\n });\n googletag.pubads().addEventListener(\"impressionViewable\", (event) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('googletag.events.ImpressionViewableEvent', event, event.slot.getResponseInformation());\n const slotId = event.slot.getSlotElementId();\n const slotDiv = document.getElementById(slotId);\n const iframe = slotDiv?.querySelector('iframe') ?? null;\n const size = iframe?.width + 'x' + iframe?.height;\n if (size === '1x1') {\n // ignore pixel renders\n }\n else {\n const adView = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.adViewableObject(event.slot, Date.now() /*utc timestamp*/);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/ad/viewable', adView);\n }\n });\n}\n\n\n//# sourceURL=webpack:///./src/logEventHandlers.ts?")},"./src/logObjectBuilder.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ adImpressionObject: () => (/* binding */ adImpressionObject),\n/* harmony export */ adServeObject: () => (/* binding */ adServeObject),\n/* harmony export */ adUnfilledObject: () => (/* binding */ adUnfilledObject),\n/* harmony export */ adViewableObject: () => (/* binding */ adViewableObject),\n/* harmony export */ auctionEndObject: () => (/* binding */ auctionEndObject),\n/* harmony export */ auctionInitObject: () => (/* binding */ auctionInitObject),\n/* harmony export */ bidRejectedObject: () => (/* binding */ bidRejectedObject),\n/* harmony export */ bidResponseObject: () => (/* binding */ bidResponseObject),\n/* harmony export */ bidTimeoutObjects: () => (/* binding */ bidTimeoutObjects),\n/* harmony export */ bidWonObject: () => (/* binding */ bidWonObject),\n/* harmony export */ pageViewObject: () => (/* binding */ pageViewObject)\n/* harmony export */ });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./src/utils.ts\");\n/* harmony import */ var _audiences__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./audiences */ \"./src/audiences.ts\");\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types/enums */ \"./src/types/enums.ts\");\n/* harmony import */ var _auctionConductor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./auctionConductor */ \"./src/auctionConductor.ts\");\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! uuid */ \"../node_modules/uuid/dist/esm-browser/v4.js\");\n/* harmony import */ var _wrapperTag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./wrapperTag */ \"./src/wrapperTag.ts\");\n// wflow/app/wrapper/src/logObjectBuilder.ts\n\n\n\n\n\n\nconst page_view_id = (0,uuid__WEBPACK_IMPORTED_MODULE_5__[\"default\"])();\nfunction pageViewObject(location = window.location) {\n // TODO: return timezone when locale unavailable\n const pageView = {\n page_view_id: page_view_id,\n app_ver: \"0.0.100\",\n view_start_time: Date.now(),\n domain: location.hostname,\n page_path: location.pathname,\n session_id: (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getSessionId)(),\n user_id: (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getUserId)(),\n device: {\n user_agent: navigator.userAgent,\n language: navigator.language,\n mobile: (0,_audiences__WEBPACK_IMPORTED_MODULE_1__.getUserDevice)() === _types_enums__WEBPACK_IMPORTED_MODULE_2__.Device.Mobile,\n view_port: {\n width: window.innerWidth,\n height: window.innerHeight\n },\n geo_location: (0,_audiences__WEBPACK_IMPORTED_MODULE_1__.getUserCountry)()\n }\n };\n return pageView;\n}\nfunction auctionInitObject(auction) {\n const auctionInit = {\n page_view_id: page_view_id,\n pb_auction_id: auction.auctionId,\n auction_start_time: auction.timestamp, /* UTC timestamp */\n auction_end_time: null, /* UTC timestamp */\n ad_slots: []\n };\n auction.adUnits.forEach((adUnit) => {\n const bidderCodes = adUnit.bids.map((bid) => bid.bidder);\n const key = adUnit.div;\n const currentMap = _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key) ?? {};\n const adSlot = currentMap.adSlot ?? null;\n if (!adSlot) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.consoleDebug)(`[auctionInitObject] no ad slot match for divId='${adUnit.div}'`, adUnit, _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap);\n }\n const layoutIds = _wrapperTag__WEBPACK_IMPORTED_MODULE_4__.wrapperConfig.ly /*layouts*/\n .filter((layout) => layout.as /*adSlots*/.some((slot) => slot.i /*id*/ === adSlot?.i /*id*/))\n .map((layout) => layout.i /*id*/);\n auctionInit.ad_slots.push({\n pb_adunit_id: adUnit.adUnitId ?? null,\n pb_transaction_id: adUnit.transactionId ?? null,\n adslot_id: adSlot?.i /*id*/ ?? null,\n layout_ids: layoutIds,\n adunit_code: adSlot?.g /*gamAdUnitCode*/ ?? null,\n div_id: adUnit.div,\n price_floor: adSlot?.f /*priceFloor*/ ?? null,\n price_floor_currency: adSlot?.c /*priceFloorCurrency*/ ?? null,\n deal_id: null,\n pb_bidder_codes: bidderCodes\n });\n });\n return auctionInit;\n}\nfunction bidResponseObject(bid) {\n const bidResponse = {\n pb_auction_id: bid.auctionId,\n pb_transaction_id: bid.transactionId,\n pb_bidder_code: bid.bidderCode,\n cpm: bid.cpm ? bid.cpm : null, // TODO handle scenario if bidder responds with 0\n cpm_currency: bid.currency,\n size: bid.size,\n deal_id: bid.dealId ? bid.dealId : null,\n time_to_respond: bid.timeToRespond\n };\n return bidResponse;\n}\nfunction bidWonObject(bid) {\n const bidWon = {\n pb_auction_id: bid.auctionId,\n pb_transaction_id: bid.transactionId,\n pb_bidder_code: bid.bidderCode,\n cpm: bid.cpm,\n cpm_currency: bid.currency,\n size: bid.size,\n response_timestamp: bid.responseTimestamp /* UTC timestamp */\n };\n return bidWon;\n}\nfunction bidTimeoutObjects(bids) {\n const bidTimeouts = new Array();\n bids.forEach(bid => {\n bidTimeouts.push({\n pb_auction_id: bid.auctionId,\n pb_transaction_id: bid.transactionId,\n pb_bidder_code: bid.bidder,\n timeout: 0 //TODO bid.timeout not populated, need to figure out why\n });\n });\n return bidTimeouts;\n}\nfunction bidRejectedObject(bid, adRejectTimestamp) {\n const bidRejected = {\n pb_auction_id: bid.auctionId,\n pb_transaction_id: bid.transactionId,\n pb_bidder_code: bid.bidderCode,\n cpm: bid.cpm ? bid.cpm : null,\n cpm_currency: bid.currency,\n size: bid.width + 'x' + bid.height,\n deal_id: bid.dealId,\n reject_reason: bid.rejectionReason ? bid.rejectionReason : '',\n reject_timestamp: adRejectTimestamp, /* UTC timestamp */\n };\n return bidRejected;\n}\nfunction adServeObject(bid, ad) {\n const adServe = {\n pb_auction_id: bid.auctionId,\n pb_transaction_id: bid.transactionId,\n pb_bidder_code: bid.bidderCode,\n ad_id: bid.adId,\n bid_cpm: bid.cpm,\n bid_cpm_currency: bid.currency,\n size: bid.size,\n status: ad.serveStatus,\n fail_reason: ad.failReason,\n ad_serve_timestamp: ad.serveTimestamp, /* UTC timestamp */\n };\n return adServe;\n}\nfunction auctionEndObject(auction) {\n if (!auction.auctionId || !auction.auctionEnd || !auction.auctionStatus) {\n throw new Error('invalid parameter auction in auctionEndObject()');\n }\n const auctionEnd = {\n pb_auction_id: auction.auctionId,\n auction_end_time: auction.auctionEnd, /* UTC timestamp */\n end_state: auction.auctionStatus\n };\n return auctionEnd;\n}\nfunction adImpressionObject(event, adImpressionTimestamp) {\n // const size: [number, number] = event.size;\n const size = event?.size ? `${event.size[0]}x${event.size[1]}` : '';\n const key = event.slot.getSlotElementId();\n const adImpression = {\n pb_auction_id: _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key)?.pbServedAuctionId ?? null,\n pb_transaction_id: _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key)?.pbServedTransactionId ?? null,\n advertiser_id: event.advertiserId,\n campaign_id: event.campaignId,\n creative_id: event.creativeId,\n line_item_id: event.lineItemId,\n hb_bidder_code: event.slot.getTargeting('hb_bidder_code')?.[0] ?? null,\n hb_cpm: event.slot.getTargeting('hb_cpm')?.[0] || null,\n hb_cpm_currency: event.slot.getTargeting('hb_cpm_currency')?.[0] ?? null,\n size: size,\n ad_impression_timestamp: adImpressionTimestamp /* UTC timestamp */\n };\n return adImpression;\n}\nfunction adUnfilledObject(slot, adUnfilledTimestamp) {\n const key = slot.getSlotElementId();\n const adUnfilled = {\n pb_auction_id: _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key)?.pbServedAuctionId ?? null,\n pb_transaction_id: _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key)?.pbServedTransactionId ?? null,\n ad_unfilled_timestamp: adUnfilledTimestamp /* UTC timestamp */\n };\n return adUnfilled;\n}\nfunction adViewableObject(slot, adViewableTimestamp) {\n const key = slot.getSlotElementId();\n const adViewable = {\n pb_auction_id: _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key)?.pbServedAuctionId ?? null,\n pb_transaction_id: _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key)?.pbServedTransactionId ?? null,\n ad_viewable_timestamp: adViewableTimestamp /* UTC timestamp */\n };\n return adViewable;\n}\n\n\n//# sourceURL=webpack:///./src/logObjectBuilder.ts?")},"./src/logger.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FlushTrigger: () => (/* binding */ FlushTrigger),\n/* harmony export */ LogMode: () => (/* binding */ LogMode),\n/* harmony export */ flushQue: () => (/* binding */ flushQue),\n/* harmony export */ initLogger: () => (/* binding */ initLogger),\n/* harmony export */ logEvent: () => (/* binding */ logEvent)\n/* harmony export */ });\n/* harmony import */ var _wrapperTag__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrapperTag */ "./src/wrapperTag.ts");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/utils.ts");\n// wflow/app/wrapper/src/logger.ts\n\n\nvar LogMode;\n(function (LogMode) {\n LogMode["Sync"] = "SY";\n LogMode["Async"] = "AS";\n})(LogMode || (LogMode = {}));\nvar FlushTrigger;\n(function (FlushTrigger) {\n FlushTrigger["Event"] = "EV";\n FlushTrigger["Time"] = "TM";\n})(FlushTrigger || (FlushTrigger = {}));\nconst loggerAPIEndpoint = `https://${_wrapperTag__WEBPACK_IMPORTED_MODULE_0__.wrapperConfig.e}${_wrapperTag__WEBPACK_IMPORTED_MODULE_0__.wrapperConfig.l /*logConfig*/.p /*apiPath*/}`;\n// module state\nlet eventQue = [];\nlet timeoutId = null;\nlet logMode = LogMode.Async;\nfunction initLogger() {\n // follow config log mode\n const setLogMode = () => {\n logMode = _wrapperTag__WEBPACK_IMPORTED_MODULE_0__.wrapperConfig.l /*logConfig*/.m /*mode*/;\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)(`Page loaded, log mode \'${logMode}\' now follows config`);\n };\n if (document.readyState === \'complete\') {\n setLogMode();\n }\n else {\n window.addEventListener(\'load\', setLogMode);\n }\n // set unload flush to prevent data loss\n window.addEventListener(\'beforeunload\', flushQue);\n window.addEventListener(\'pagehide\', flushQue);\n}\nfunction flushQue() {\n if (eventQue.length === 0) {\n return;\n }\n if (timeoutId !== null) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n const events = [...eventQue];\n eventQue = [];\n const batchData = events.map(event => ({\n endpoint: event.path,\n payload: event.payload,\n timestamp: event.timestamp\n }));\n postLogData(\'/batch\', batchData);\n}\nfunction postLogData(path, payload) {\n const strPayload = JSON.stringify(payload);\n fetch(`${loggerAPIEndpoint}${path}`, {\n method: \'POST\',\n body: strPayload,\n headers: {\n \'Content-Type\': \'text/plain\'\n },\n keepalive: strPayload.length < 60000 // safety margin for 64KB limit\n })\n .then(response => {\n if (response.status !== 200) {\n throw new Error(`HTTP error! ${response.status} ${response.statusText}`);\n }\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)(`Logged event(s) to ${loggerAPIEndpoint}${path}`, payload);\n })\n .catch(error => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleError)(`Failed to log event(s) to ${loggerAPIEndpoint}${path}`, false, payload, error);\n });\n}\nfunction logEvent(path, payload) {\n if (logMode === LogMode.Sync) {\n // synchronous logging\n postLogData(path, payload);\n return;\n }\n // asynchronous logging\n eventQue.push({\n path,\n payload,\n timestamp: Date.now()\n });\n // setup flush for asynchronous logging\n switch (_wrapperTag__WEBPACK_IMPORTED_MODULE_0__.wrapperConfig.l /*logConfig*/.t /*flushTrigger*/) {\n case FlushTrigger.Event:\n if (eventQue.length >= _wrapperTag__WEBPACK_IMPORTED_MODULE_0__.wrapperConfig.l /*logConfig*/.v /*thresholdValue*/) {\n flushQue();\n }\n break;\n case FlushTrigger.Time:\n if (timeoutId === null) {\n timeoutId = window.setTimeout(() => {\n flushQue();\n }, _wrapperTag__WEBPACK_IMPORTED_MODULE_0__.wrapperConfig.l /*logConfig*/.v /*thresholdValue*/);\n }\n break;\n }\n}\n\n\n//# sourceURL=webpack:///./src/logger.ts?')},"./src/refreshEventHandlers.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setRefreshWorker: () => (/* binding */ setRefreshWorker)\n/* harmony export */ });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "./src/utils.ts");\n/* harmony import */ var _stickySlot__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stickySlot */ "./src/stickySlot.ts");\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types/enums */ "./src/types/enums.ts");\n/* harmony import */ var _wrapperTag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./wrapperTag */ "./src/wrapperTag.ts");\n// wflow/app/wrapper/src/refreshEventHandlers.ts\n\n\n\n\nconst DEFAULT_REFRESH_INTERVAL = 30; // in seconds\nfunction setRefreshWorker(adUnitCode) {\n // filter layouts applicable to current page\n const layouts = _wrapperTag__WEBPACK_IMPORTED_MODULE_3__.wrapperConfig.ly /*layout*/\n .filter((ly) => (0,_utils__WEBPACK_IMPORTED_MODULE_0__.matchPagePath)(window.location.pathname, ly.pp /*pagePaths*/)) ?? [];\n const allAdSlots = _wrapperTag__WEBPACK_IMPORTED_MODULE_3__.wrapperConfig.as /*adSlots*/\n .concat(layouts.flatMap(ly => ly.as /*adSlots*/));\n if (allAdSlots.length === 0) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.consoleDebug)(`no ad slots defined for pagepath \'${window.location.pathname}\', ads will not be refreshed`);\n return;\n }\n const refreshAdSlot = allAdSlots.find(\n // ({ g/*gam ad unit code*/ }) => g/*gam ad unit code*/ === adUnitPath\n slot => (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getSlotDivId)(slot) === adUnitCode);\n if (refreshAdSlot) {\n const slotDivId = (refreshAdSlot.n /*insert*/.a /*anchor*/ === _types_enums__WEBPACK_IMPORTED_MODULE_2__.Anchor.Window) ?\n (0,_stickySlot__WEBPACK_IMPORTED_MODULE_1__.stickySlotId)(refreshAdSlot.n /*insert*/.r /*reference*/) :\n refreshAdSlot.n /*insert*/.d /*divId*/;\n const element = document.getElementById(slotDivId);\n const refreshType = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.enumFromString)(_types_enums__WEBPACK_IMPORTED_MODULE_2__.RefreshTrigger, refreshAdSlot?.r /*refresh*/?.t /*trigger*/ ?? \'\');\n if (element && refreshType) {\n switch (refreshType) {\n case _types_enums__WEBPACK_IMPORTED_MODULE_2__.RefreshTrigger.InView:\n refreshInView(element, refreshAdSlot);\n break;\n case _types_enums__WEBPACK_IMPORTED_MODULE_2__.RefreshTrigger.AfterInterval:\n refreshAfterInterval(element, refreshAdSlot);\n break;\n default:\n break;\n }\n }\n }\n}\n/**\n *\n * refresh in view, only after interval\n * max refresh applies (if specified)\n *\n **/\nfunction refreshInView(element, adSlot) {\n const maxRefreshes = adSlot.r /*refresh*/?.c /*count of times*/ ?? Number.MAX_SAFE_INTEGER;\n const timeout = (adSlot.r /*refresh*/?.i /*interval*/ ?? DEFAULT_REFRESH_INTERVAL) * 1000; // refresh interval in miliseconds\n const adUnitCode = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getSlotDivId)(adSlot); // adslot element (div) id used as unique prebid adunit code\n var refreshCount = 0; // initialize refresh counter\n const options = {\n root: null, // element to intersect with browser viewport\n rootMargin: "0px", // margin to grow or shrink intersection frame of root\n threshold: 0.0 // % element visible\n };\n var isElementVisible = false; // track element visibility\n const observer = new IntersectionObserver((entries) => {\n entries.forEach(entry => {\n isElementVisible = entry.intersectionRatio > 0; // update visibility status\n });\n }, options);\n observer.observe(element);\n // refresh loop\n const intervalId = setInterval(() => {\n if (isElementVisible && refreshCount < maxRefreshes) {\n refreshCount++;\n pbjs.que.push(() => {\n pbjs.requestBids({\n adUnitCodes: [adUnitCode],\n timeout: adSlot.o /*auctionTimeout*/ ?? _wrapperTag__WEBPACK_IMPORTED_MODULE_3__.wrapperConfig.o /*auctionTimeout*/\n });\n });\n }\n if (refreshCount >= maxRefreshes) {\n clearInterval(intervalId); // stop interval when max refreshes reached\n observer.disconnect(); // disconnect observer\n }\n }, timeout); // delay between checks\n}\n/**\n *\n * refresh after interval, only if ad was viewable\n * max refresh applies (if specified)\n *\n **/\nfunction refreshAfterInterval(element, adSlot) {\n const maxRefreshes = adSlot.r /*refresh*/?.c /*countOfTimes*/ ?? Number.MAX_SAFE_INTEGER;\n const timeout = (adSlot.r /*refresh*/?.i /*interval*/ ?? DEFAULT_REFRESH_INTERVAL) * 1000; // refresh interval in miliseconds\n const adUnitCode = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getSlotDivId)(adSlot); // adslot element (div) id used as unique prebid adunit code\n var refreshCount = 0; // initialize refresh counter\n const options = {\n root: null, // element to intersect with browser viewport\n rootMargin: "0px", // margin to grow or shrink intersection frame of root\n threshold: 0.0 // % element visible\n };\n const observer = new IntersectionObserver((entries, observer) => {\n entries.forEach(entry => {\n if (entry.intersectionRatio > 0) {\n if (refreshCount < maxRefreshes) {\n refreshCount++;\n setTimeout(() => {\n pbjs.que.push(() => {\n pbjs.requestBids({\n adUnitCodes: [adUnitCode],\n timeout: adSlot.o /*auctionTimeout*/ ?? _wrapperTag__WEBPACK_IMPORTED_MODULE_3__.wrapperConfig.o /*auctionTimeout*/\n });\n });\n }, timeout);\n }\n if (refreshCount >= maxRefreshes) {\n observer.disconnect(); // stop observing after max refreshes\n }\n }\n });\n }, options);\n observer.observe(element);\n}\n\n\n//# sourceURL=webpack:///./src/refreshEventHandlers.ts?')},"./src/stickySlot.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StickyAction: () => (/* binding */ StickyAction),\n/* harmony export */ anchorAction: () => (/* binding */ anchorAction),\n/* harmony export */ anchorId: () => (/* binding */ anchorId),\n/* harmony export */ buttonId: () => (/* binding */ buttonId),\n/* harmony export */ setInsertSlotWorker: () => (/* binding */ setInsertSlotWorker),\n/* harmony export */ stickySlotId: () => (/* binding */ stickySlotId)\n/* harmony export */ });\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types/enums */ \"./src/types/enums.ts\");\n// wflow/app/wrapper/src/stickySlot.ts\n\nvar StickyAction;\n(function (StickyAction) {\n StickyAction[\"Minimize\"] = \"minimize\";\n StickyAction[\"Restore\"] = \"restore\";\n StickyAction[\"Dismiss\"] = \"dismiss\";\n})(StickyAction || (StickyAction = {}));\nfunction setInsertSlotWorker(adUnit) {\n // TODO add all sticky slots at one time\n if (document.body) { // page has already loaded\n addStickySlot(adUnit.n /*insert*/);\n }\n else {\n document.addEventListener('DOMContentLoaded', () => {\n addStickySlot(adUnit.n /*insert*/);\n });\n }\n}\nconst stickySlotId = (ref) => `ad-${ref}-slot`;\nconst anchorId = (ref) => `ad-${ref}-anchor`;\nconst buttonId = (ref, action) => `ad-${ref}-${action}`;\nfunction addStickySlot(insert) {\n const anchorElementId = anchorId(insert.r /*reference*/);\n const slotId = stickySlotId(insert.r /*reference*/);\n const anchorClass = `ad-anchor ad-${insert.r /*reference*/}`;\n // TODO allow anchorId to be added only once\n const anchor = document.createElement('div');\n anchor.id = anchorElementId;\n anchor.className = anchorClass;\n const actionButtonsDiv = document.createElement('div');\n actionButtonsDiv.className = 'ad-action-buttons';\n const btnRes = document.createElement('div');\n btnRes.id = buttonId(insert.r /*reference*/, StickyAction.Restore);\n btnRes.innerHTML = '+';\n btnRes.className = 'ad-action-btn';\n btnRes.onclick = () => anchorAction(insert.r /*reference*/, StickyAction.Restore);\n btnRes.title = 'Restore Ad';\n btnRes.style.display = 'none';\n actionButtonsDiv.appendChild(btnRes);\n if (insert.z /*minimize*/) {\n const btnMin = document.createElement('div');\n btnMin.id = buttonId(insert.r /*reference*/, StickyAction.Minimize);\n btnMin.innerHTML = '-';\n btnMin.className = 'ad-action-btn';\n btnMin.onclick = () => anchorAction(insert.r /*reference*/, StickyAction.Minimize);\n btnMin.title = 'Minimize Ad';\n actionButtonsDiv.appendChild(btnMin);\n }\n if (insert.s /*dismiss*/) {\n const btnDis = document.createElement('div');\n btnDis.id = buttonId(insert.r /*reference*/, StickyAction.Dismiss);\n btnDis.innerHTML = 'x';\n btnDis.className = 'ad-action-btn';\n btnDis.onclick = () => anchorAction(insert.r /*reference*/, StickyAction.Dismiss);\n btnDis.title = 'Dismiss Ad';\n actionButtonsDiv.appendChild(btnDis);\n }\n anchor.appendChild(Object.assign(document.createElement('div'), {\n id: slotId,\n className: 'ad-slot',\n innerHTML: 'Advertisement'\n }));\n anchor.appendChild(actionButtonsDiv);\n switch (insert.r /*reference*/) {\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Top:\n document.body.prepend(anchor);\n break;\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Bottom:\n document.body.append(anchor);\n break;\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Left:\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Right:\n document.body.append(anchor);\n break;\n default:\n //TODO log invalid parameter\n break;\n }\n}\n/**\n * handle ad actions (hide, minimize, restore)\n * @param {string} reference - anchor reference (WindowReference)\n * @param {string} action - action to take (StickyAction)\n */\nfunction anchorAction(reference, action) {\n const adAnchor = document.getElementById(anchorId(reference));\n const restoreBtn = document.getElementById(buttonId(reference, StickyAction.Restore));\n const minimizeBtn = document.getElementById(buttonId(reference, StickyAction.Minimize));\n const dismissBtn = document.getElementById(buttonId(reference, StickyAction.Dismiss));\n var minimizeClassName = '';\n switch (reference) {\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Top:\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Bottom:\n minimizeClassName = 'horizontal-minimized';\n break;\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Left:\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Right:\n minimizeClassName = 'vertical-minimized';\n break;\n default:\n throw new Error(`invalid reference parameter '${reference}' to anchorAction()`);\n }\n switch (action) {\n case StickyAction.Restore:\n adAnchor?.classList.remove(minimizeClassName); // restore\n restoreBtn?.style && (restoreBtn.style.display = 'none'); // hide restore button \n minimizeBtn?.style && (minimizeBtn.style.display = 'block'); // show minimize button\n dismissBtn?.style && (dismissBtn.style.display = 'block'); // show dismiss button\n break;\n case StickyAction.Minimize:\n adAnchor?.classList.add(minimizeClassName); // minimize\n minimizeBtn?.style && (minimizeBtn.style.display = 'none'); // hide minimize button\n restoreBtn?.style && (restoreBtn.style.display = 'block'); // show restore button\n dismissBtn?.style && (dismissBtn.style.display = 'block'); // show dismiss button\n //TODO how to handle refresh?\n break;\n case StickyAction.Dismiss:\n adAnchor?.classList.add('hidden'); // dismiss\n //TODO delete google slot and pbjs ad unit, should we remove element?\n break;\n default:\n throw new Error(`invalid action parameter '${action}' to anchorAction()`);\n }\n}\n//TODO minimized ad slot maximized on refresh\n//TODO should not have unfilled -- house ad or immediate refresh, after which automatically minimized\n\n\n//# sourceURL=webpack:///./src/stickySlot.ts?")},"./src/types/enums.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Anchor: () => (/* binding */ Anchor),\n/* harmony export */ Browser: () => (/* binding */ Browser),\n/* harmony export */ Device: () => (/* binding */ Device),\n/* harmony export */ ElementReference: () => (/* binding */ ElementReference),\n/* harmony export */ Load: () => (/* binding */ Load),\n/* harmony export */ MediaFormat: () => (/* binding */ MediaFormat),\n/* harmony export */ PagePathPattern: () => (/* binding */ PagePathPattern),\n/* harmony export */ RefreshTrigger: () => (/* binding */ RefreshTrigger),\n/* harmony export */ WindowReference: () => (/* binding */ WindowReference)\n/* harmony export */ });\n// wflow/app/wrapper/src/enums.ts\nvar WindowReference;\n(function (WindowReference) {\n WindowReference["Top"] = "TP";\n WindowReference["Bottom"] = "BM";\n WindowReference["Left"] = "LF";\n WindowReference["Right"] = "RG";\n})(WindowReference || (WindowReference = {}));\nvar ElementReference;\n(function (ElementReference) {\n ElementReference["Before"] = "BF";\n ElementReference["After"] = "AT";\n ElementReference["Inside"] = "IN";\n})(ElementReference || (ElementReference = {}));\nvar Anchor;\n(function (Anchor) {\n Anchor["Window"] = "WN";\n Anchor["StaticElement"] = "ST";\n Anchor["DynamicElement"] = "DY";\n})(Anchor || (Anchor = {}));\nvar Load;\n(function (Load) {\n /**\n * Eager Loading:\n * Ads are loaded as soon as the page loads, regardless of whether they are visible to the user.\n * Use Case: Pages with high-priority ad slots above the fold where immediate visibility is crucial.\n */\n Load["Eager"] = "EG";\n /**\n * Deferred Loading:\n * Ads are loaded after the entire page has finished loading or after a specific delay.\n * Use Case: Ensures critical content is loaded first to improve perceived performance.\n */\n Load["Deferred"] = "DF";\n /**\n * Lazy Loading:\n * Ads are loaded only when they are about to come into the viewport (or are close to it).\n * Use Case: Improves performance and reduces resource usage by deferring ad requests for offscreen ads.\n */\n Load["Lazy"] = "LZ";\n /**\n * Dynamic Loading:\n * Ads are loaded for slots created dynamically after the initial page load, such as in infinite scroll scenarios.\n * Use Case: Pages with content that expands dynamically, where new ad slots are introduced as the user scrolls.\n */\n Load["Dynamic"] = "YM";\n /**\n * On-Demand Loading:\n * Ads are loaded based on specific user actions, such as clicking a button or interacting with a part of the page.\n * Use Case: When ads need to be shown only after user engagement (e.g., inside a collapsible menu).\n */\n Load["OnDemand"] = "ON";\n})(Load || (Load = {}));\nvar MediaFormat;\n(function (MediaFormat) {\n MediaFormat["Banner"] = "BN";\n})(MediaFormat || (MediaFormat = {}));\nvar RefreshTrigger;\n(function (RefreshTrigger) {\n RefreshTrigger["InView"] = "IV";\n RefreshTrigger["AfterInterval"] = "AV";\n})(RefreshTrigger || (RefreshTrigger = {}));\nvar Device;\n(function (Device) {\n Device["Mobile"] = "MB";\n Device["Desktop"] = "DK";\n Device["Tablet"] = "TB";\n})(Device || (Device = {}));\nvar Browser;\n(function (Browser) {\n Browser["Chrome"] = "CR";\n Browser["Safari"] = "SF";\n Browser["Edge"] = "EG";\n Browser["Firefox"] = "FX";\n Browser["Unknown"] = "UN";\n})(Browser || (Browser = {}));\nvar PagePathPattern;\n(function (PagePathPattern) {\n PagePathPattern["Prefix"] = "PR";\n PagePathPattern["Contains"] = "CT";\n PagePathPattern["Suffix"] = "SF";\n PagePathPattern["Exact"] = "EX";\n PagePathPattern["Regex"] = "RG";\n})(PagePathPattern || (PagePathPattern = {}));\n\n\n//# sourceURL=webpack:///./src/types/enums.ts?')},"./src/utils.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ consoleDebug: () => (/* binding */ consoleDebug),\n/* harmony export */ consoleError: () => (/* binding */ consoleError),\n/* harmony export */ enumFromString: () => (/* binding */ enumFromString),\n/* harmony export */ generateHash: () => (/* binding */ generateHash),\n/* harmony export */ getMediaSizes: () => (/* binding */ getMediaSizes),\n/* harmony export */ getPrimaryDomain: () => (/* binding */ getPrimaryDomain),\n/* harmony export */ getSessionId: () => (/* binding */ getSessionId),\n/* harmony export */ getSlotDivId: () => (/* binding */ getSlotDivId),\n/* harmony export */ getUserId: () => (/* binding */ getUserId),\n/* harmony export */ matchPagePath: () => (/* binding */ matchPagePath)\n/* harmony export */ });\n/* harmony import */ var xxhash_wasm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! xxhash-wasm */ \"../node_modules/xxhash-wasm/esm/xxhash-wasm.js\");\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types/enums */ \"./src/types/enums.ts\");\n/* harmony import */ var _audiences__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./audiences */ \"./src/audiences.ts\");\n/* harmony import */ var _stickySlot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stickySlot */ \"./src/stickySlot.ts\");\n// wflow/app/wrapper/src/utils.ts\n\n\n\n\nconst SESSION_LENGTH_MS = 10 * 60 * 1000; // 10 minutes, in milliseconds\nfunction getSessionId() {\n var sessionId = localStorage.getItem('sessionId');\n var sessionIdLastRead = localStorage.getItem('sessionIdLastRead');\n const currentTime = Date.now(); /* UTC timestamp */\n if ((!sessionId) || (!sessionIdLastRead) ||\n ((currentTime - parseInt(sessionIdLastRead)) > SESSION_LENGTH_MS)) {\n sessionId = Math.random().toString(36).substring(2, 15)\n .padEnd(13, Math.random().toString(36).substring(2, 15));\n localStorage.setItem('sessionId', sessionId);\n }\n localStorage.setItem('sessionIdLastRead', currentTime.toString());\n return sessionId;\n}\nfunction getUserId() {\n var userId = localStorage.getItem('userId');\n if (!userId) {\n const userId = Math.random().toString(36).substring(2, 15)\n .padEnd(13, Math.random().toString(36).substring(2, 15));\n localStorage.setItem('userId', userId);\n return userId;\n }\n return userId;\n}\nfunction consoleDebug(message, ...args) {\n const searchString = (window.location && typeof window.location.search === 'string') ? window.location.search : '';\n const urlParams = new URLSearchParams(searchString);\n if ((urlParams.get('pbjs_debug') === 'true') ||\n (pbjs.readConfig && pbjs.readConfig('debug') === true)) {\n console.log('%cAAM', 'background: navy; color: white; padding: 2px 5px; border-radius: 3px;', message, ...args);\n }\n}\nfunction consoleError(message, escalate = false, ...args) {\n const searchString = (window.location && typeof window.location.search === 'string') ? window.location.search : '';\n const urlParams = new URLSearchParams(searchString);\n if ((urlParams.get('pbjs_debug') === 'true') ||\n (pbjs.readConfig && pbjs.readConfig('debug') === true)) {\n console.error('%cAAM', 'background: navy; color: white; padding: 2px 5px; border-radius: 3px;', message, ...args);\n }\n if (escalate) {\n throw Error(message);\n }\n}\nfunction enumFromString(enumType, value) {\n return Object.values(enumType).includes(value) ? value : undefined;\n}\nconst getPrimaryDomain = (hostname) => hostname.split('.').slice(-2).join('.');\nasync function generateHash(data, length) {\n const { h64 } = await (0,xxhash_wasm__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n const hash64Value = h64(data, BigInt(0));\n const hexHash = hash64Value.toString(16).padStart(16, '0').toUpperCase();\n return hexHash.slice(0, length);\n}\nfunction matchPagePath(currentPath, pagePaths) {\n return pagePaths.some(({ t /*pattern*/, p /*path*/ }) => {\n switch (t /*pattern*/) {\n case _types_enums__WEBPACK_IMPORTED_MODULE_1__.PagePathPattern.Prefix:\n return currentPath.startsWith(p /*path*/);\n case _types_enums__WEBPACK_IMPORTED_MODULE_1__.PagePathPattern.Contains:\n return currentPath.includes(p /*path*/);\n case _types_enums__WEBPACK_IMPORTED_MODULE_1__.PagePathPattern.Suffix:\n return currentPath.endsWith(p /*path*/);\n case _types_enums__WEBPACK_IMPORTED_MODULE_1__.PagePathPattern.Exact:\n return currentPath === p /*path*/;\n case _types_enums__WEBPACK_IMPORTED_MODULE_1__.PagePathPattern.Regex:\n try {\n const regex = new RegExp(p /*path*/);\n return regex.test(currentPath);\n }\n catch {\n console.error(`Invalid regex pattern: ${p /*path*/}`);\n return false;\n }\n default:\n return false;\n }\n });\n}\nfunction getMediaSizes(media) {\n if (Array.isArray(media.sz.a) && media.sz.a.length) {\n return media.sz.a;\n }\n switch ((0,_audiences__WEBPACK_IMPORTED_MODULE_2__.getUserDevice)()) {\n case _types_enums__WEBPACK_IMPORTED_MODULE_1__.Device.Desktop:\n return Array.isArray(media.sz.d) ? media.sz.d : [];\n case _types_enums__WEBPACK_IMPORTED_MODULE_1__.Device.Mobile:\n return Array.isArray(media.sz.m) ? media.sz.m : [];\n default:\n return [];\n }\n}\nconst getSlotDivId = (adSlot) => {\n return adSlot.n /*insert*/.a /*anchor*/ === _types_enums__WEBPACK_IMPORTED_MODULE_1__.Anchor.Window\n ? (0,_stickySlot__WEBPACK_IMPORTED_MODULE_3__.stickySlotId)(adSlot.n /*insert*/.r /*reference*/)\n : adSlot.n /*insert*/.d /*divId*/;\n};\n\n\n//# sourceURL=webpack:///./src/utils.ts?")},"./src/wrapperTag.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ wrapperConfig: () => (/* binding */ wrapperConfig)\n/* harmony export */ });\n/* harmony import */ var _dynamicSlot__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dynamicSlot */ "./src/dynamicSlot.ts");\n// wflow/app/wrapper/src/wrapperTag.ts\n\nconst wrapperConfig = __webpack_require__(/*! ../builds/80918AC8127BA/0.0.100/config-d80918ac8127ba-v0-0-100.json */ "../builds/80918AC8127BA/0.0.100/config-d80918ac8127ba-v0-0-100.json");\nwindow.wrapperTag = {\n insertAdSlot: (refDivId, position) => _dynamicSlot__WEBPACK_IMPORTED_MODULE_0__.insertDynamicAdSlot(refDivId, position),\n deleteAdSlot: (divId) => _dynamicSlot__WEBPACK_IMPORTED_MODULE_0__.deleteDynamicAdSlot(divId)\n};\n\n\n//# sourceURL=webpack:///./src/wrapperTag.ts?')},"../node_modules/uuid/dist/esm-browser/native.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ randomUUID });\n\n\n//# sourceURL=webpack:///../node_modules/uuid/dist/esm-browser/native.js?")},"../node_modules/uuid/dist/esm-browser/regex.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i);\n\n\n//# sourceURL=webpack:///../node_modules/uuid/dist/esm-browser/regex.js?')},"../node_modules/uuid/dist/esm-browser/rng.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ rng)\n/* harmony export */ });\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nfunction rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n\n\n//# sourceURL=webpack:///../node_modules/uuid/dist/esm-browser/rng.js?")},"../node_modules/uuid/dist/esm-browser/stringify.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ unsafeStringify: () => (/* binding */ unsafeStringify)\n/* harmony export */ });\n/* harmony import */ var _validate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validate.js */ \"../node_modules/uuid/dist/esm-browser/validate.js\");\n\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nfunction unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!(0,_validate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (stringify);\n\n\n//# sourceURL=webpack:///../node_modules/uuid/dist/esm-browser/stringify.js?")},"../node_modules/uuid/dist/esm-browser/v4.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _native_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./native.js */ "../node_modules/uuid/dist/esm-browser/native.js");\n/* harmony import */ var _rng_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rng.js */ "../node_modules/uuid/dist/esm-browser/rng.js");\n/* harmony import */ var _stringify_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./stringify.js */ "../node_modules/uuid/dist/esm-browser/stringify.js");\n\n\n\nfunction v4(options, buf, offset) {\n if (_native_js__WEBPACK_IMPORTED_MODULE_0__["default"].randomUUID && !buf && !options) {\n return _native_js__WEBPACK_IMPORTED_MODULE_0__["default"].randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? (0,_rng_js__WEBPACK_IMPORTED_MODULE_1__["default"])();\n if (rnds.length < 16) {\n throw new Error(\'Random bytes length must be >= 16\');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return (0,_stringify_js__WEBPACK_IMPORTED_MODULE_2__.unsafeStringify)(rnds);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (v4);\n\n\n//# sourceURL=webpack:///../node_modules/uuid/dist/esm-browser/v4.js?')},"../node_modules/uuid/dist/esm-browser/validate.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _regex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./regex.js */ "../node_modules/uuid/dist/esm-browser/regex.js");\n\nfunction validate(uuid) {\n return typeof uuid === \'string\' && _regex_js__WEBPACK_IMPORTED_MODULE_0__["default"].test(uuid);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validate);\n\n\n//# sourceURL=webpack:///../node_modules/uuid/dist/esm-browser/validate.js?')},"../node_modules/xxhash-wasm/esm/xxhash-wasm.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (/* binding */ e)\n/* harmony export */ });\nconst t=new Uint8Array([0,97,115,109,1,0,0,0,1,48,8,96,3,127,127,127,1,127,96,3,127,127,127,0,96,2,127,127,0,96,1,127,1,127,96,3,127,127,126,1,126,96,3,126,127,127,1,126,96,2,127,126,0,96,1,127,1,126,3,11,10,0,0,2,1,3,4,5,6,1,7,5,3,1,0,1,7,85,9,3,109,101,109,2,0,5,120,120,104,51,50,0,0,6,105,110,105,116,51,50,0,2,8,117,112,100,97,116,101,51,50,0,3,8,100,105,103,101,115,116,51,50,0,4,5,120,120,104,54,52,0,5,6,105,110,105,116,54,52,0,7,8,117,112,100,97,116,101,54,52,0,8,8,100,105,103,101,115,116,54,52,0,9,10,251,22,10,242,1,1,4,127,32,0,32,1,106,33,3,32,1,65,16,79,4,127,32,3,65,16,107,33,6,32,2,65,168,136,141,161,2,106,33,3,32,2,65,137,235,208,208,7,107,33,4,32,2,65,207,140,162,142,6,106,33,5,3,64,32,3,32,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,3,32,4,32,0,65,4,106,34,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,4,32,2,32,0,65,4,106,34,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,2,32,5,32,0,65,4,106,34,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,5,32,6,32,0,65,4,106,34,0,79,13,0,11,32,2,65,12,119,32,5,65,18,119,106,32,4,65,7,119,106,32,3,65,1,119,106,5,32,2,65,177,207,217,178,1,106,11,32,1,106,32,0,32,1,65,15,113,16,1,11,146,1,0,32,1,32,2,106,33,2,3,64,32,1,65,4,106,32,2,75,69,4,64,32,0,32,1,40,2,0,65,189,220,202,149,124,108,106,65,17,119,65,175,214,211,190,2,108,33,0,32,1,65,4,106,33,1,12,1,11,11,3,64,32,1,32,2,79,69,4,64,32,0,32,1,45,0,0,65,177,207,217,178,1,108,106,65,11,119,65,177,243,221,241,121,108,33,0,32,1,65,1,106,33,1,12,1,11,11,32,0,32,0,65,15,118,115,65,247,148,175,175,120,108,34,0,65,13,118,32,0,115,65,189,220,202,149,124,108,34,0,65,16,118,32,0,115,11,63,0,32,0,65,8,106,32,1,65,168,136,141,161,2,106,54,2,0,32,0,65,12,106,32,1,65,137,235,208,208,7,107,54,2,0,32,0,65,16,106,32,1,54,2,0,32,0,65,20,106,32,1,65,207,140,162,142,6,106,54,2,0,11,195,4,1,6,127,32,1,32,2,106,33,6,32,0,65,24,106,33,4,32,0,65,40,106,40,2,0,33,3,32,0,32,0,40,2,0,32,2,106,54,2,0,32,0,65,4,106,34,5,32,5,40,2,0,32,2,65,16,79,32,0,40,2,0,65,16,79,114,114,54,2,0,32,2,32,3,106,65,16,73,4,64,32,3,32,4,106,32,1,32,2,252,10,0,0,32,0,65,40,106,32,2,32,3,106,54,2,0,15,11,32,3,4,64,32,3,32,4,106,32,1,65,16,32,3,107,34,2,252,10,0,0,32,0,65,8,106,34,3,32,3,40,2,0,32,4,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,12,106,34,3,32,3,40,2,0,32,4,65,4,106,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,16,106,34,3,32,3,40,2,0,32,4,65,8,106,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,20,106,34,3,32,3,40,2,0,32,4,65,12,106,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,40,106,65,0,54,2,0,32,1,32,2,106,33,1,11,32,1,32,6,65,16,107,77,4,64,32,6,65,16,107,33,8,32,0,65,8,106,40,2,0,33,2,32,0,65,12,106,40,2,0,33,3,32,0,65,16,106,40,2,0,33,5,32,0,65,20,106,40,2,0,33,7,3,64,32,2,32,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,2,32,3,32,1,65,4,106,34,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,3,32,5,32,1,65,4,106,34,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,5,32,7,32,1,65,4,106,34,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,7,32,8,32,1,65,4,106,34,1,79,13,0,11,32,0,65,8,106,32,2,54,2,0,32,0,65,12,106,32,3,54,2,0,32,0,65,16,106,32,5,54,2,0,32,0,65,20,106,32,7,54,2,0,11,32,1,32,6,73,4,64,32,4,32,1,32,6,32,1,107,34,1,252,10,0,0,32,0,65,40,106,32,1,54,2,0,11,11,97,1,1,127,32,0,65,16,106,40,2,0,33,1,32,0,65,4,106,40,2,0,4,127,32,1,65,12,119,32,0,65,20,106,40,2,0,65,18,119,106,32,0,65,12,106,40,2,0,65,7,119,106,32,0,65,8,106,40,2,0,65,1,119,106,5,32,1,65,177,207,217,178,1,106,11,32,0,40,2,0,106,32,0,65,24,106,32,0,65,40,106,40,2,0,16,1,11,255,3,2,3,126,1,127,32,0,32,1,106,33,6,32,1,65,32,79,4,126,32,6,65,32,107,33,6,32,2,66,214,235,130,238,234,253,137,245,224,0,124,33,3,32,2,66,177,169,172,193,173,184,212,166,61,125,33,4,32,2,66,249,234,208,208,231,201,161,228,225,0,124,33,5,3,64,32,3,32,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,3,32,4,32,0,65,8,106,34,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,4,32,2,32,0,65,8,106,34,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,2,32,5,32,0,65,8,106,34,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,5,32,6,32,0,65,8,106,34,0,79,13,0,11,32,2,66,12,137,32,5,66,18,137,124,32,4,66,7,137,124,32,3,66,1,137,124,32,3,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,4,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,2,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,5,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,5,32,2,66,197,207,217,178,241,229,186,234,39,124,11,32,1,173,124,32,0,32,1,65,31,113,16,6,11,134,2,0,32,1,32,2,106,33,2,3,64,32,2,32,1,65,8,106,79,4,64,32,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,32,0,133,66,27,137,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,33,0,32,1,65,8,106,33,1,12,1,11,11,32,1,65,4,106,32,2,77,4,64,32,0,32,1,53,2,0,66,135,149,175,175,152,182,222,155,158,127,126,133,66,23,137,66,207,214,211,190,210,199,171,217,66,126,66,249,243,221,241,153,246,153,171,22,124,33,0,32,1,65,4,106,33,1,11,3,64,32,1,32,2,73,4,64,32,0,32,1,49,0,0,66,197,207,217,178,241,229,186,234,39,126,133,66,11,137,66,135,149,175,175,152,182,222,155,158,127,126,33,0,32,1,65,1,106,33,1,12,1,11,11,32,0,32,0,66,33,136,133,66,207,214,211,190,210,199,171,217,66,126,34,0,32,0,66,29,136,133,66,249,243,221,241,153,246,153,171,22,126,34,0,32,0,66,32,136,133,11,77,0,32,0,65,8,106,32,1,66,214,235,130,238,234,253,137,245,224,0,124,55,3,0,32,0,65,16,106,32,1,66,177,169,172,193,173,184,212,166,61,125,55,3,0,32,0,65,24,106,32,1,55,3,0,32,0,65,32,106,32,1,66,249,234,208,208,231,201,161,228,225,0,124,55,3,0,11,244,4,2,3,127,4,126,32,1,32,2,106,33,5,32,0,65,40,106,33,4,32,0,65,200,0,106,40,2,0,33,3,32,0,32,0,41,3,0,32,2,173,124,55,3,0,32,2,32,3,106,65,32,73,4,64,32,3,32,4,106,32,1,32,2,252,10,0,0,32,0,65,200,0,106,32,2,32,3,106,54,2,0,15,11,32,3,4,64,32,3,32,4,106,32,1,65,32,32,3,107,34,2,252,10,0,0,32,0,65,8,106,34,3,32,3,41,3,0,32,4,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,16,106,34,3,32,3,41,3,0,32,4,65,8,106,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,24,106,34,3,32,3,41,3,0,32,4,65,16,106,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,32,106,34,3,32,3,41,3,0,32,4,65,24,106,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,200,0,106,65,0,54,2,0,32,1,32,2,106,33,1,11,32,1,65,32,106,32,5,77,4,64,32,5,65,32,107,33,2,32,0,65,8,106,41,3,0,33,6,32,0,65,16,106,41,3,0,33,7,32,0,65,24,106,41,3,0,33,8,32,0,65,32,106,41,3,0,33,9,3,64,32,6,32,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,6,32,7,32,1,65,8,106,34,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,7,32,8,32,1,65,8,106,34,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,8,32,9,32,1,65,8,106,34,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,9,32,2,32,1,65,8,106,34,1,79,13,0,11,32,0,65,8,106,32,6,55,3,0,32,0,65,16,106,32,7,55,3,0,32,0,65,24,106,32,8,55,3,0,32,0,65,32,106,32,9,55,3,0,11,32,1,32,5,73,4,64,32,4,32,1,32,5,32,1,107,34,1,252,10,0,0,32,0,65,200,0,106,32,1,54,2,0,11,11,188,2,1,5,126,32,0,65,24,106,41,3,0,33,1,32,0,41,3,0,34,2,66,32,90,4,126,32,0,65,8,106,41,3,0,34,3,66,1,137,32,0,65,16,106,41,3,0,34,4,66,7,137,124,32,1,66,12,137,32,0,65,32,106,41,3,0,34,5,66,18,137,124,124,32,3,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,4,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,1,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,5,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,5,32,1,66,197,207,217,178,241,229,186,234,39,124,11,32,2,124,32,0,65,40,106,32,2,66,31,131,167,16,6,11]);async function e(){return function(t){const{exports:{mem:e,xxh32:n,xxh64:r,init32:i,update32:a,digest32:o,init64:s,update64:u,digest64:c}}=t;let h=new Uint8Array(e.buffer);function g(t,n){if(e.buffer.byteLength<t+n){const r=Math.ceil((t+n-e.buffer.byteLength)/65536);e.grow(r),h=new Uint8Array(e.buffer)}}function f(t,e,n,r,i,a){g(t);const o=new Uint8Array(t);return h.set(o),n(0,e),o.set(h.subarray(0,t)),{update(e){let n;return h.set(o),"string"==typeof e?(g(3*e.length,t),n=w.encodeInto(e,h.subarray(t)).written):(g(e.byteLength,t),h.set(e,t),n=e.byteLength),r(0,t,n),o.set(h.subarray(0,t)),this},digest:()=>(h.set(o),a(i(0)))}}function y(t){return t>>>0}const b=2n**64n-1n;function d(t){return t&b}const w=new TextEncoder,l=0,p=0n;function x(t,e=l){return g(3*t.length,0),y(n(0,w.encodeInto(t,h).written,e))}function L(t,e=p){return g(3*t.length,0),d(r(0,w.encodeInto(t,h).written,e))}return{h32:x,h32ToString:(t,e=l)=>x(t,e).toString(16).padStart(8,"0"),h32Raw:(t,e=l)=>(g(t.byteLength,0),h.set(t),y(n(0,t.byteLength,e))),create32:(t=l)=>f(48,t,i,a,o,y),h64:L,h64ToString:(t,e=p)=>L(t,e).toString(16).padStart(16,"0"),h64Raw:(t,e=p)=>(g(t.byteLength,0),h.set(t),d(r(0,t.byteLength,e))),create64:(t=p)=>f(88,t,s,u,c,d)}}((await WebAssembly.instantiate(t)).instance)}\n//# sourceMappingURL=xxhash-wasm.js.map\n\n\n//# sourceURL=webpack:///../node_modules/xxhash-wasm/esm/xxhash-wasm.js?')},"../builds/80918AC8127BA/0.0.100/config-d80918ac8127ba-v0-0-100.json":module=>{"use strict";eval('module.exports = /*#__PURE__*/JSON.parse(\'{"c":"USD","d":"80918AC8127BA","e":"app.animaadtech.localhost","f":5000,"l":{"m":"AS","p":"/api/logger/v1","t":"EV","v":10},"o":3000,"p":"hb","t":"/api/experiment/v1","v":"","as":[{"f":0,"g":"/23068547170/ca-pub-5635953502767638/23069871933/23077839999","i":"EHXAN1RME8L56","l":"EG","m":{"b":false,"f":"BN","sz":{"a":[[728,90]]}},"n":{"a":"WN","r":"TP","s":false,"z":false},"o":null,"r":{"c":50,"i":20,"t":"IV"},"kv":{},"tg":[{"b":"criteo","pm":{"networkId":123}},{"b":"sovrn","pm":{"tagid":"456"}},{"b":"testbidder","pm":{"ad":"<img src=\\\'https://storage.googleapis.com/pub-ad-manager-459713/ad-creative/mock-ad-banner-728-90.png\\\' alt=\\\'Test Ad 728x90\\\' width=\\\'728\\\' height=\\\'90\\\'>","cpm":"0.1","width":"728","height":"90","placementId":"123456"}}]},{"f":0,"g":"/23068547170/ca-pub-5635953502767638/test_ad_unit_with_/","i":"10FM4U79WMNE0","l":"EG","m":{"b":false,"f":"BN","sz":{"a":[[300,250]]}},"n":{"a":"ST","d":"sidebar-ad-1","r":"IN"},"o":null,"r":{"c":50,"i":15,"t":"IV"},"kv":{},"tg":[{"b":"criteo","pm":{"networkId":123}},{"b":"sovrn","pm":{"tagid":"123"}},{"b":"testbidder","pm":{"ad":"<img src=\\\'https://storage.googleapis.com/pub-ad-manager-459713/ad-creative/mock-ad-banner-300-250.png\\\' alt=\\\'Test Ad 300x250\\\' width=\\\'300\\\' height=\\\'250\\\'>","cpm":"0.05","width":"300","height":"250","placementId":"1234567"}}]}],"ly":[],"pb":[{"c":"3.00","f":"0.50","s":"0.50"}]}\');\n\n//# sourceURL=webpack:///../builds/80918AC8127BA/0.0.100/config-d80918ac8127ba-v0-0-100.json?')}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,exports:{}};return __webpack_modules__[e](n,n.exports,__webpack_require__),n.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nc=void 0,__webpack_require__("./src/index.ts"),__webpack_require__("./src/wrapperTag.ts"),__webpack_require__("../builds/80918AC8127BA/0.0.100/prebid.js");var __webpack_exports__=__webpack_require__("./css/sticky.css")})();
1
+ /*! app name: app-p80918ac8127ba.js | version: 0.0.101 | build date: 2025-07-16T23:19:03.804Z */(()=>{var __webpack_modules__={"../builds/80918AC8127BA/0.0.101/prebid.js":()=>{eval('/* prebid.js v9.23.0\nUpdated: 2025-07-13\nModules: currency, criteoBidAdapter, ixBidAdapter, sovrnBidAdapter, testbidderBidAdapter */\nif(window.pbjs&&window.pbjs.libLoaded)try{window.pbjs.getConfig("debug")&&console.warn("Attempted to load a copy of Prebid.js that clashes with the existing \'pbjs\' instance. Load aborted.")}catch(e){}else (function(){\n(()=>{var r,t={433:(r,t,e)=>{function n(r,t,e,n,o){for(t=t.split?t.split("."):t,n=0;n<t.length;n++)r=r?r[t[n]]:o;return r===o?e:r}e.d(t,{A:()=>n})},8128:r=>{\n/*\n* @license MIT\n* Fun Hooks v0.9.10\n* (c) @snapwich\n*/\nu.SYNC=1,u.ASYNC=2,u.QUEUE=4;var t="fun-hooks";var e=Object.freeze({useProxy:!0,ready:0}),n=new WeakMap,o="2,1,0"===[1].reduce((function(r,t,e){return[r,t,e]}),2).toString()?Array.prototype.reduce:function(r,t){var e,n=Object(this),o=n.length>>>0,i=0;if(t)e=t;else{for(;i<o&&!(i in n);)i++;e=n[i++]}for(;i<o;)i in n&&(e=r(e,n[i],i,n)),i++;return e};function i(r,t){return Array.prototype.slice.call(r,t)}var f=Object.assign||function(r){return o.call(i(arguments,1),(function(r,t){return t&&Object.keys(t).forEach((function(e){r[e]=t[e]})),r}),r)};function u(r){var a,c={},l=[];function p(r,t){return"function"==typeof r?h.call(null,"sync",r,t):"string"==typeof r&&"function"==typeof t?h.apply(null,arguments):"object"==typeof r?y.apply(null,arguments):void 0}function y(r,t,e){var n=!0;void 0===t&&(t=Object.getOwnPropertyNames(r),n=!1);var o={},i=["constructor"];do{(t=t.filter((function(t){return!("function"!=typeof r[t]||-1!==i.indexOf(t)||t.match(/^_/))}))).forEach((function(t){var n=t.split(":"),i=n[0],f=n[1]||"sync";if(!o[i]){var u=r[i];o[i]=r[i]=h(f,u,e?[e,i]:void 0)}})),r=Object.getPrototypeOf(r)}while(n&&r);return o}function s(r){var e=Array.isArray(r)?r:r.split(".");return o.call(e,(function(n,o,i){var f=n[o],u=!1;return f||(i===e.length-1?(a||l.push((function(){u||console.warn(t+": referenced \'"+r+"\' but it was never created")})),n[o]=v((function(r){n[o]=r,u=!0}))):n[o]={})}),c)}function v(r){var t=[],e=[],o=function(){},i={before:function(r,e){return a.call(this,t,"before",r,e)},after:function(r,t){return a.call(this,e,"after",r,t)},getHooks:function(r){var n=t.concat(e);"object"==typeof r&&(n=n.filter((function(t){return Object.keys(r).every((function(e){return t[e]===r[e]}))})));try{f(n,{remove:function(){return n.forEach((function(r){r.remove()})),this}})}catch(r){console.error("error adding `remove` to array, did you modify Array.prototype?")}return n},removeAll:function(){return this.getHooks().remove()}},u={install:function(n,i,f){this.type=n,o=f,f(t,e),r&&r(i)}};return n.set(i.after,u),i;function a(r,n,i,f){var u={hook:i,type:n,priority:f||10,remove:function(){var n=r.indexOf(u);-1!==n&&(r.splice(n,1),o(t,e))}};return r.push(u),r.sort((function(r,t){return t.priority-r.priority})),o(t,e),this}}function h(e,o,c){var p=o.after&&n.get(o.after);if(p){if(p.type!==e)throw t+": recreated hookable with different type";return o}var y,h,d=c?s(c):v(),b={get:function(r,t){return d[t]||Reflect.get.apply(Reflect,arguments)}};return a||l.push(g),r.useProxy&&"function"==typeof Proxy&&Proxy.revocable?h=new Proxy(o,b):(h=function(){return b.apply?b.apply(o,this,i(arguments)):o.apply(this,arguments)},f(h,d)),n.get(h.after).install(e,h,(function(r,t){var n,o=[];r.length||t.length?(r.forEach(f),n=o.push(void 0)-1,t.forEach(f),y=function(r,t,f){var u,a=0,c="async"===e&&"function"==typeof f[f.length-1]&&f.pop();function l(r){"sync"===e?u=r:c&&c.apply(null,arguments)}function p(r){if(o[a]){var n=i(arguments);return p.bail=l,n.unshift(p),o[a++].apply(t,n)}"sync"===e?u=r:c&&c.apply(null,arguments)}return o[n]=function(){var n=i(arguments,1);"async"===e&&c&&(delete p.bail,n.push(p));var o=r.apply(t,n);"sync"===e&&p(o)},p.apply(null,f),u}):y=void 0;function f(r){o.push(r.hook)}g()})),h;function g(){!a&&("sync"!==e||r.ready&u.SYNC)&&("async"!==e||r.ready&u.ASYNC)?"sync"!==e&&r.ready&u.QUEUE?b.apply=function(){var r=arguments;l.push((function(){h.apply(r[1],r[2])}))}:b.apply=function(){throw t+": hooked function not ready"}:b.apply=y}}return(r=f({},e,r)).ready?p.ready=function(){a=!0,function(r){for(var t;t=r.shift();)t()}(l)}:a=!0,p.get=s,p}r.exports=u},3172:(r,t,e)=>{function n(r,t,e){t.split&&(t=t.split("."));for(var n,o,i=0,f=t.length,u=r;i<f&&"__proto__"!=(o=""+t[i++])&&"constructor"!==o&&"prototype"!==o;)u=u[o]=i===f?e:typeof(n=u[o])==typeof t?n:0*t[i]!=0||~(""+t[i]).indexOf(".")?{}:[]}e.d(t,{J:()=>n})},5751:(r,t,e)=>{function n(r){var t,e,o;if(Array.isArray(r)){for(e=Array(t=r.length);t--;)e[t]=(o=r[t])&&"object"==typeof o?n(o):o;return e}if("[object Object]"===Object.prototype.toString.call(r)){for(t in e={},r)"__proto__"===t?Object.defineProperty(e,t,{value:n(r[t]),configurable:!0,enumerable:!0,writable:!0}):e[t]=(o=r[t])&&"object"==typeof o?n(o):o;return e}return r}e.d(t,{Q:()=>n})}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r](i,i.exports,n),i.exports}n.m=t,r=[],n.O=(t,e,o,i)=>{if(!e){var f=1/0;for(l=0;l<r.length;l++){e=r[l][0],o=r[l][1],i=r[l][2];for(var u=!0,a=0;a<e.length;a++)(!1&i||f>=i)&&Object.keys(n.O).every((r=>n.O[r](e[a])))?e.splice(a--,1):(u=!1,i<f&&(f=i));if(u){r.splice(l--,1);var c=o();void 0!==c&&(t=c)}}return t}i=i||0;for(var l=r.length;l>0&&r[l-1][2]>i;l--)r[l]=r[l-1];r[l]=[e,o,i]},n.n=r=>{var t=r&&r.__esModule?()=>r.default:()=>r;return n.d(t,{a:t}),t},n.d=(r,t)=>{for(var e in t)n.o(t,e)&&!n.o(r,e)&&Object.defineProperty(r,e,{enumerable:!0,get:t[e]})},n.o=(r,t)=>Object.prototype.hasOwnProperty.call(r,t),(()=>{var r={673:0};n.O.j=t=>0===r[t];var t=(t,e)=>{var o,i,f=e[0],u=e[1],a=e[2],c=0;if(f.some((t=>0!==r[t]))){for(o in u)n.o(u,o)&&(n.m[o]=u[o]);if(a)var l=a(n)}for(t&&t(e);c<f.length;c++)i=f[c],n.o(r,i)&&r[i]&&r[i][0](),r[i]=0;return n.O(l)},e=self.pbjsChunk=self.pbjsChunk||[];e.forEach(t.bind(null,0)),e.push=t.bind(null,e.push.bind(e))})();var o=n.O(void 0,[802,85],(()=>n(8261)));o=n.O(o)})();\n(self.pbjsChunk=self.pbjsChunk||[]).push([[802],{5789:(e,t,n)=>{n.d(t,{A4:()=>u,J7:()=>l,Pg:()=>f});var i=n(1580),r=n(1069),o=n(5901),s=n(7873),a=n(5569);const d=(0,s.m)(),c="outstream";function u(e){const{url:t,config:n,id:s,callback:u,loaded:l,adUnitCode:f,renderNow:g}=e;this.url=t,this.config=n,this.handlers={},this.id=s,this.renderNow=g,this.loaded=l,this.cmd=[],this.push=e=>{"function"==typeof e?this.loaded?e.call():this.cmd.push(e):(0,r.vV)("Commands given to Renderer.push must be wrapped in a function")},this.callback=u||(()=>{this.loaded=!0,this.process()}),this.render=function(){const e=arguments,n=()=>{this._render?this._render.apply(this,e):(0,r.JE)("No render function was provided, please use .setRender on the renderer")};!function(e){const t=d.adUnits,n=(0,o.I6)(t,(t=>t.code===e));if(!n)return!1;const i=n?.renderer,r=!!(i&&i.url&&i.render),s=n?.mediaTypes?.video?.renderer,a=!!(s&&s.url&&s.render);return!!(r&&!0!==i.backupOnly||a&&!0!==s.backupOnly)}(f)?g?n():(this.cmd.unshift(n),(0,i.R)(t,a.tp,c,this.callback,this.documentContext)):((0,r.JE)(`External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ${f}`),n())}.bind(this)}function l(e){return!(!e||!e.url&&!e.renderNow)}function f(e,t,n){let i=null;e.config&&e.config.documentResolver&&(i=e.config.documentResolver(t,document,n)),i||(i=document),e.documentContext=i,e.render(t,e.documentContext)}u.install=function(e){let{url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a}=e;return new u({url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a})},u.prototype.getConfig=function(){return this.config},u.prototype.setRender=function(e){this._render=e},u.prototype.setEventHandlers=function(e){this.handlers=e},u.prototype.handleVideoEvent=function(e){let{id:t,eventName:n}=e;"function"==typeof this.handlers[n]&&this.handlers[n](),(0,r.OG)(`Prebid Renderer event for id ${t} type ${n}`)},u.prototype.process=function(){for(;this.cmd.length>0;)try{this.cmd.shift().call()}catch(e){(0,r.vV)("Error processing Renderer command: ",e)}}},6811:(e,t,n)=>{n.d(t,{DL:()=>d,Ml:()=>r,Ue:()=>i,VJ:()=>u,hE:()=>c,hq:()=>a,mo:()=>s,pY:()=>l,uc:()=>o});const i="accessDevice",r="syncUser",o="fetchBids",s="reportAnalytics",a="transmitEids",d="transmitUfpd",c="transmitPreciseGeo",u="transmitTid",l="loadExternalScript"},3441:(e,t,n)=>{n.d(t,{s:()=>r});var i=n(8046);const r=(0,n(2604).ZI)((e=>i.Ay.resolveAlias(e)))},5569:(e,t,n)=>{n.d(t,{Tn:()=>o,tW:()=>r,tp:()=>i});const i="prebid",r="bidder",o="analytics"},2604:(e,t,n)=>{n.d(t,{Dk:()=>s,Ii:()=>o,TQ:()=>g,XG:()=>u,ZI:()=>p,Zw:()=>c,bt:()=>l,e3:()=>f,iK:()=>a,q7:()=>d});var i=n(5569),r=n(9214);const o="component",s=o+"Type",a=o+"Name",d="adapterCode",c="storageType",u="configName",l="syncType",f="syncUrl",g="_config";function p(e){return function(t,n,r){const c={[s]:t,[a]:n,[o]:`${t}.${n}`};return t===i.tW&&(c[d]=e(n)),h(Object.assign(c,r))}}const h=(0,r.A_)("sync",(e=>e))},5139:(e,t,n)=>{n.d(t,{io:()=>s,qB:()=>o});var i=n(1069),r=n(2604);const[o,s]=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(0,i.h0)("Activity control:");const t={};function n(e){return t[e]=t[e]||[]}function o(t,n,i,o){let s;try{s=i(o)}catch(i){e.logError(`Exception in rule ${n} for \'${t}\'`,i),s={allow:!1,reason:i}}return s&&Object.assign({activity:t,name:n,component:o[r.Ii]},s)}const s={};function a(t){let{activity:n,name:i,allow:r,reason:o,component:a}=t;const d=`${i} ${r?"allowed":"denied"} \'${n}\' for \'${a}\'${o?":":""}`,c=s.hasOwnProperty(d);if(c&&clearTimeout(s[d]),s[d]=setTimeout((()=>delete s[d]),1e3),!c){const t=[d];o&&t.push(o),(r?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<t})),a=[r,t,i];return o.splice(s<0?o.length:s,0,a),function(){const e=o.indexOf(a);e>=0&&o.splice(e,1)}},function(e,t){let i,r;for(const[s,d,c]of n(e)){if(i!==s&&r)break;i=s;const n=o(e,d,c,t);if(n){if(!n.allow)return a(n),!1;r=n}}return r&&a(r),!0}]}()},9075:(e,t,n)=>{n.d(t,{$A:()=>T,BS:()=>P,Hh:()=>q,Pk:()=>x,Uc:()=>O,XO:()=>W,bw:()=>U,n6:()=>w,qn:()=>_,vB:()=>N,vW:()=>k,vd:()=>S});var i=n(1069),r=n(5023),o=n(8969),s=n(3272),a=n(5789),d=n(1371),c=n(6881),u=n(6031),l=n(9214),f=n(2449),g=n(5555),p=n(8046),h=n(6894),m=n(7779);const{AD_RENDER_FAILED:b,AD_RENDER_SUCCEEDED:y,STALE_RENDER:v,BID_WON:E,EXPIRED_RENDER:A}=o.qY,{EXCEPTION:I}=o.as,T=(0,l.A_)("sync",(function(e){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:g.k.resolve()).then((t=>t??c.n.findBidByAdId(e))).catch((()=>{}))})),w=(0,l.A_)("sync",(function(e){r.Ic(E,e),c.n.addWinningBid(e)}));function C(e){let{reason:t,message:n,bid:o,id:s}=e;const a={reason:t,message:n};o&&(a.bid=o,a.adId=o.adId),s&&(a.adId=s),(0,i.vV)(`Error rendering ad (id: ${s}): ${n}`),r.Ic(b,a)}function B(e){let{doc:t,bid:n,id:i}=e;const o={doc:t};n&&(o.bid=n),i&&(o.adId=i),p.Ay.callAdRenderSucceededBidder(n.adapterCode||n.bidder,n),r.Ic(y,o)}function O(e,t){switch(e.event){case o.qY.AD_RENDER_FAILED:C({bid:t,id:t.adId,reason:e.info.reason,message:e.info.message});break;case o.qY.AD_RENDER_SUCCEEDED:B({doc:null,bid:t,id:t.adId});break;default:(0,i.vV)(`Received event request for unsupported event: \'${e.event}\' (adId: \'${t.adId}\')`)}}function k(e,t,n){let{resizeFn:i,fireTrackers:r=f.vO}=n;if("resizeNativeHeight"===e.action)i(e.width,e.height);else r(e,t)}const R={[o.nl.EVENT]:O};R[o.nl.NATIVE]=k;const S=(0,l.A_)("sync",(function(e,t){const{ad:n,adUrl:r,cpm:o,originalCpm:s,width:a,height:d}=e,c={AUCTION_PRICE:s||o,CLICKTHROUGH:t?.clickUrl||""};return{ad:(0,i.gM)(n,c),adUrl:(0,i.gM)(r,c),width:a,height:d}})),D=(0,l.A_)("sync",(function(e){let{renderFn:t,resizeFn:n,bidResponse:r,options:s,doc:a,isMainDocument:c=a===document&&!(0,i.al)()}=e;const u=r.mediaType===d.G_;if(c||u)return void C({reason:o.as.PREVENT_WRITING_ON_MAIN_DOCUMENT,message:u?"Cannot render video ad without a renderer":"renderAd was prevented from writing to the main document.",bid:r,id:r.adId});const l=S(r,s);t(Object.assign({adId:r.adId},l));const{width:f,height:g}=l;null!=(f??g)&&n(f,g)}));function U(e){let{renderFn:t,resizeFn:n,adId:a,options:d,bidResponse:c,doc:u}=e;q(c,(()=>{if(null!=c){if((c.status!==o.tl.RENDERED||((0,i.JE)(`Ad id ${a} has been rendered before`),r.Ic(v,c),!s.$W.getConfig("auctionOptions")?.suppressStaleRender))&&(m.uW.isBidNotExpired(c)||((0,i.JE)(`Ad id ${a} has been expired`),r.Ic(A,c),!s.$W.getConfig("auctionOptions")?.suppressExpiredRender)))try{D({renderFn:t,resizeFn:n,bidResponse:c,options:d,doc:u})}catch(e){C({reason:o.as.EXCEPTION,message:e.message,id:a,bid:c})}}else C({reason:o.as.CANNOT_FIND_AD,message:`Cannot find ad \'${a}\'`,id:a})}))}function _(e){const t=(0,h.BO)(e.metrics);t.checkpoint("bidRender"),t.timeBetween("bidWon","bidRender","render.deferred"),t.timeBetween("auctionEnd","bidRender","render.pending"),t.timeBetween("requestBids","bidRender","render.e2e"),e.status=o.tl.RENDERED}D.before((function(e,t){const{bidResponse:n,doc:i}=t;(0,a.J7)(n.renderer)?((0,a.Pg)(n.renderer,n,i),B({doc:i,bid:n,id:n.adId}),e.bail()):e(t)}),100);const $=new WeakMap,j=new WeakSet;function q(e,t){null!=e?($.set(e,t),e.deferRendering||N(e),x(e)):t()}function x(e){j.has(e)||(j.add(e),w(e))}function N(e){const t=$.get(e);t&&(t(),_(e),$.delete(e))}function P(e,t,n){let r;function s(e,n){C(Object.assign({id:t,bid:r},{reason:e,message:n}))}function a(t,n){e.defaultView&&e.defaultView.frameElement&&(t&&(e.defaultView.frameElement.width=t),n&&(e.defaultView.frameElement.height=n))}const d=(c={resizeFn:a},function(e,t,n){R.hasOwnProperty(e)&&R[e](t,n,c)});var c;function l(t){t.ad?(e.write(t.ad),e.close(),B({doc:e,bid:r,id:r.adId})):(0,u.H)(r).then((n=>n(t,{sendMessage:(e,t)=>d(e,t,r),mkFrame:i.hw},e.defaultView))).then((()=>B({doc:e,bid:r,id:r.adId})),(e=>{s(e?.reason||o.as.EXCEPTION,e?.message),e?.stack&&(0,i.vV)(e)}));const n=document.createComment(`Creative ${r.creativeId} served by ${r.bidder} Prebid.js Header Bidding`);(0,i._s)(n,e,"html")}try{t&&e?T(t).then((i=>{r=i,U({renderFn:l,resizeFn:a,adId:t,options:{clickUrl:n?.clickThrough},bidResponse:i,doc:e})})):s(o.as.MISSING_DOC_OR_ADID,"missing "+(t?"doc":"adId"))}catch(e){s(I,e.message)}}function W(){if(!window.frames[o.IY])if(document.body){const e=(0,i.CA)();e.name=o.IY,document.body.appendChild(e)}else window.requestAnimationFrame(W)}},8046:(e,t,n)=>{n.d(t,{Ay:()=>te,pX:()=>Q});var i=n(1069),r=n(2449),o=n(9115),s=n(8044),a=n(3272),d=n(9214),c=n(5901);let u={};function l(e,t,n){let i=function(e,t){let n=u[e]=u[e]||{bidders:{}};return t?n.bidders[t]=n.bidders[t]||{}:n}(e,n);return i[t]=(i[t]||0)+1,i[t]}function f(e){return l(e,"auctionsCounter")}function g(e){return u?.[e]?.requestsCounter||0}function p(e,t){return u?.[e]?.bidders?.[t]?.requestsCounter||0}function h(e,t){return u?.[e]?.bidders?.[t]?.winsCounter||0}function m(e){return u?.[e]?.auctionsCounter||0}var b=n(7934),y=n(6916),v=n(5023),E=n(8969),A=n(6894),I=n(6881),T=n(5569),w=n(5139),C=n(6811),B=n(2604),O=n(433);const k=["data","ext.data","yob","gender","keywords","kwarray","id","buyeruid","customdata"].map((e=>`user.${e}`)).concat("device.ext.cdep"),R=["user.eids","user.ext.eids"],S=["user.geo.lat","user.geo.lon","device.geo.lat","device.geo.lon"],D=["device.ip"],U=["device.ipv6"];function _(e){return Object.assign({get(){},run(e,t,n,i,r){const o=n&&n[i];if(function(e){return 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 $(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;s<r;s++)o[s-2]=arguments[s];const a=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return function(t){return 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:(0,O.A)(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 j(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:w.io;return function(n){return!t(e,n)}}function q(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:w.io;return[{name:C.DL,paths:k,applies:j(C.DL,e)},{name:C.hq,paths:R,applies:j(C.hq,e)},{name:C.hE,paths:S,applies:j(C.hE,e),get:e=>Math.round(100*(e+Number.EPSILON))/100},{name:C.hE,paths:D,applies:j(C.hE,e),get:e=>function(e){if(!e)return null;let t=e.split(".").map(Number);if(4!=t.length)return null;let n=[];for(let e=0;e<4;e++){let t=Math.max(0,Math.min(8,24-8*e));n.push(255<<8-t&255)}return t.map(((e,t)=>e&n[t])).join(".")}(e)},{name:C.hE,paths:U,applies:j(C.hE,e),get:e=>function(e){if(!e)return null;let t=e.split(":").map((e=>parseInt(e,16)));for(t=t.map((e=>isNaN(e)?0:e));t.length<8;)t.push(0);if(8!=t.length)return null;let n=[];for(let e=0;e<8;e++){let t=Math.max(0,Math.min(16,64-16*e));n.push(65535<<16-t&65535)}return t.map(((e,t)=>e&n[t])).map((e=>e.toString(16))).join(":")}(e)},{name:C.VJ,paths:["source.tid"],applies:j(C.VJ,e)}].map(_)}const x=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:w.io;const t=$(q(e)),n=$(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:w.io;return[{name:C.hq,paths:["userId","userIdAsEids"],applies:j(C.hq,e)},{name:C.VJ,paths:["ortb2Imp.ext.tid"],applies:j(C.VJ,e)}].map(_)}(e));return function(e){const i={};return{ortb2:n=>(t(i,n,e),n),bidRequest:t=>(n(i,t,e),t)}}}();(0,w.qB)(C.VJ,"enableTIDs config",(()=>{if(!a.$W.getConfig("enableTIDs"))return{allow:!1,reason:"TIDs are disabled"}}));const N="pbsBidAdapter",P={CLIENT:"client",SERVER:"server"},W={isAllowed:w.io,redact:x};let V={},M=V.bidderRegistry={},G=V.aliasRegistry={},F=[];a.$W.getConfig("s2sConfig",(e=>{e&&e.s2sConfig&&(F=(0,i.cy)(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])}));var H={};const L=(0,B.ZI)((e=>V.resolveAlias(e)));const z=(0,d.A_)("sync",(function(e){let{bidderCode:t,auctionId:n,bidderRequestId:r,adUnits:o,src:s,metrics:a}=e;return o.reduce(((e,o)=>{const d=o.bids.filter((e=>e.bidder===t));return null==t&&0===d.length&&null!=o.s2sBid&&d.push({bidder:null}),e.push(d.reduce(((e,d)=>{const c=null==(d=Object.assign({},d,{ortb2Imp:(0,i.D9)({},o.ortb2Imp,d.ortb2Imp)},(0,i.SH)(o,["nativeParams","nativeOrtbRequest","mediaType","renderer"]))).mediaTypes?o.mediaTypes:d.mediaTypes;return(0,i.wD)(c)?d=Object.assign({},d,{mediaTypes:c}):(0,i.vV)(`mediaTypes is not correctly configured for adunit ${o.code}`),"client"===s&&function(e,t){l(e,"requestsCounter",t)}(o.code,t),e.push(Object.assign({},d,{adUnitCode:o.code,transactionId:o.transactionId,adUnitId:o.adUnitId,sizes:c?.banner?.sizes||c?.video?.playerSize||[],bidId:d.bid_id||(0,i.s0)(),bidderRequestId:r,auctionId:n,src:s,metrics:a,auctionsCount:m(o.code),bidRequestsCount:g(o.code),bidderRequestsCount:p(o.code,d.bidder),bidderWinsCount:h(o.code,d.bidder),deferBilling:!!o.deferBilling})),e}),[])),e}),[]).reduce(i.Bq,[]).filter((e=>""!==e))}),"getBids");const J=(0,d.A_)("sync",(function(e,t){let{getS2SBidders:n=Q}=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");const K=(0,d.A_)("sync",((e,t)=>e),"setupAdUnitMediaTypes");function Q(e){(0,i.cy)(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 Y=(0,d.A_)("sync",(function(e,t){let{getS2SBidders:n=Q}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n(t);return(0,i.ZA)(e).reduce(((e,t)=>(e[r.has(t)?P.SERVER:P.CLIENT].push(t),e)),{[P.CLIENT]:[],[P.SERVER]:[]})}),"partitionBidders");function X(e,t){const n=M[e],i=n?.getSpec&&n.getSpec();if(i&&i[t]&&"function"==typeof i[t])return[i,i[t]]}function Z(e,t,n,r){try{(0,i.fH)(`Invoking ${e}.${t}`);for(var o=arguments.length,s=new Array(o>4?o-4:0),d=4;d<o;d++)s[d-4]=arguments[d];a.$W.runWithBidder(e,r.bind(n,...s))}catch(n){(0,i.JE)(`Error calling ${t} of ${e}`)}}function ee(e,t,n){if(n?.source!==E.RW.SRC){const i=X(e,t);null!=i&&Z(e,t,...i,n)}}V.makeBidRequests=(0,d.A_)("sync",(function(e,t,n,o,s){let d=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},u=arguments.length>6?arguments[6]:void 0;u=(0,A.BO)(u),v.Ic(E.qY.BEFORE_REQUEST_BIDS,e),(0,r.nk)(e),e.map((e=>e.code)).filter(i.hj).forEach(f),e.forEach((e=>{(0,i.Qd)(e.mediaTypes)||(e.mediaTypes={}),e.bids=e.bids.filter((e=>!e.bidder||W.isAllowed(C.uc,L(T.tW,e.bidder)))),l(e.code,"requestsCounter")})),e=K(e,s);let{[P.CLIENT]:g,[P.SERVER]:p}=Y(e,F);a.$W.getConfig("bidderSequence")===a.Ov&&(g=(0,i.k4)(g));const h=(0,b.EN)();let m=[];const I=d.global||{},w=d.bidder||{};function O(e,t){const r=W.redact(null!=t?t:L(T.tW,e.bidderCode)),o=Object.freeze(r.ortb2((0,i.D9)({source:{tid:n}},I,w[e.bidderCode])));return e.ortb2=o,e.bids=e.bids.map((e=>(e.ortb2=o,r.bidRequest(e)))),e}F.forEach((r=>{const o=function(e){return L(T.tp,N,{[B.XG]:e.configName})}(r);if(r&&r.enabled&&W.isAllowed(C.uc,o)){let{adUnits:s,hasModuleBids:a}=function(e,t){let n=(0,i.Go)(e),r=!1;return n.forEach((e=>{const n=e.bids.filter((e=>e.module===N&&e.params?.configName===t.configName));1===n.length?(e.s2sBid=n[0],r=!0,e.ortb2Imp=(0,i.D9)({},e.s2sBid.ortb2Imp,e.ortb2Imp)):n.length>1&&(0,i.JE)(\'Multiple "module" bids for the same s2s configuration; all will be ignored\',n),e.bids=J(e.bids,t).map((e=>(e.bid_id=(0,i.s0)(),e)))})),n=n.filter((e=>0!==e.bids.length||null!=e.s2sBid)),{adUnits:n,hasModuleBids:r}}(e,r),d=(0,i.lk)();(0===p.length&&a?[null]:p).forEach((e=>{const a=(0,i.s0)(),c=u.fork(),l=O({bidderCode:e,auctionId:n,bidderRequestId:a,uniquePbsTid:d,bids:z({bidderCode:e,auctionId:n,bidderRequestId:a,adUnits:(0,i.Go)(s),src:E.RW.SRC,metrics:c}),auctionStart:t,timeout:r.timeout,src:E.RW.SRC,refererInfo:h,metrics:c},o);0!==l.bids.length&&m.push(l)})),s.forEach((e=>{let t=e.bids.filter((e=>(0,c.I6)(m,(t=>(0,c.I6)(t.bids,(t=>t.bidId===e.bid_id))))));e.bids=t})),m.forEach((e=>{void 0===e.adUnitsS2SCopy&&(e.adUnitsS2SCopy=s.filter((e=>e.bids.length>0||null!=e.s2sBid)))}))}}));let k=function(e){let t=(0,i.Go)(e);return t.forEach((e=>{e.bids=J(e.bids,null)})),t=t.filter((e=>0!==e.bids.length)),t}(e);return g.forEach((e=>{const r=(0,i.s0)(),a=u.fork(),d=O({bidderCode:e,auctionId:n,bidderRequestId:r,bids:z({bidderCode:e,auctionId:n,bidderRequestId:r,adUnits:(0,i.Go)(k),labels:s,src:"client",metrics:a}),auctionStart:t,timeout:o,refererInfo:h,metrics:a}),c=M[e];c||(0,i.vV)(`Trying to make a request for bidder that does not exist: ${e}`),c&&d.bids&&0!==d.bids.length&&m.push(d)})),m.forEach((e=>{y.mW.getConsentData()&&(e.gdprConsent=y.mW.getConsentData()),y.t6.getConsentData()&&(e.uspConsent=y.t6.getConsentData()),y.ad.getConsentData()&&(e.gppConsent=y.ad.getConsentData())})),m}),"makeBidRequests"),V.callBids=function(e,t,n,r,o,d,c){let u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{};if(!t.length)return void(0,i.JE)("callBids executed with no bidRequests. Were they filtered by labels or sizing?");let[l,f]=t.reduce(((e,t)=>(e[Number(void 0!==t.src&&t.src===E.RW.SRC)].push(t),e)),[[],[]]);var g=[];f.forEach((e=>{for(var t=-1,n=0;n<g.length;++n)if(e.uniquePbsTid===g[n].uniquePbsTid){t=n;break}t<=-1&&g.push(e)}));let p=0;F.forEach((e=>{if(e&&g[p]&&Q(e).has(g[p].bidderCode)){const t=(0,s.g4)(d,o?{request:o.request.bind(null,"s2s"),done:o.done}:void 0);let a=e.bidders;const l=M[e.adapter];let h=g[p].uniquePbsTid,m=g[p].adUnitsS2SCopy,b=f.filter((e=>e.uniquePbsTid===h));if(l){let o={ad_units:m,s2sConfig:e,ortb2Fragments:u,requestBidsTimeout:d};if(o.ad_units.length){let e=b.map((e=>(e.start=(0,i.vE)(),function(t){t||c(e.bidderRequestId),r.apply(e,arguments)})));const s=(0,i.ZA)(o.ad_units).filter((e=>a.includes(e)));(0,i.OG)(`CALLING S2S HEADER BIDDERS ==== ${s.length>0?s.join(", "):\'No bidder specified, using "ortb2Imp" definition(s) only\'}`),b.forEach((e=>{v.Ic(E.qY.BID_REQUESTED,{...e,tid:e.auctionId})})),l.callBids(o,f,n,(t=>e.forEach((e=>e(t)))),t)}}else(0,i.vV)("missing "+e.adapter);p++}})),l.forEach((e=>{e.start=(0,i.vE)();const t=M[e.bidderCode];a.$W.runWithBidder(e.bidderCode,(()=>{(0,i.OG)("CALLING BIDDER"),v.Ic(E.qY.BID_REQUESTED,e)}));let u=(0,s.g4)(d,o?{request:o.request.bind(null,e.bidderCode),done:o.done}:void 0);const l=r.bind(e);try{a.$W.runWithBidder(e.bidderCode,t.callBids.bind(t,e,n,l,u,(()=>c(e.bidderRequestId)),a.$W.callbackWithBidder(e.bidderCode)))}catch(t){(0,i.vV)(`${e.bidderCode} Bid Adapter emitted an uncaught error when parsing their bidRequest`,{e:t,bidRequest:e}),l()}}))},V.videoAdapters=[],V.registerBidAdapter=function(e,t){let{supportedMediaTypes:n=[]}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e&&t?"function"==typeof e.callBids?(M[t]=e,y.o2.register(T.tW,t,e.getSpec?.().gvlid),(0,c.mK)(n,"video")&&V.videoAdapters.push(t),(0,c.mK)(n,"native")&&r.mT.push(t)):(0,i.vV)("Bidder adaptor error for bidder code: "+t+"bidder must implement a callBids() function"):(0,i.vV)("bidAdapter or bidderCode not specified")},V.aliasBidAdapter=function(e,t,n){if(void 0===M[t]){let s=M[e];if(void 0===s){const n=[];F.forEach((i=>{if(i.bidders&&i.bidders.length){const r=i&&i.bidders;i&&(0,c.mK)(r,t)?G[t]=e:n.push(e)}})),n.forEach((e=>{(0,i.vV)(\'bidderCode "\'+e+\'" is not an existing bidder.\',"adapterManager.aliasBidAdapter")}))}else try{let a,d=function(e){let t=[];return(0,c.mK)(V.videoAdapters,e)&&t.push("video"),(0,c.mK)(r.mT,e)&&t.push("native"),t}(e);if(s.constructor.prototype!=Object.prototype)a=new s.constructor,a.setBidderCode(t);else{const{useBaseGvlid:r=!1}=n||{};let d=s.getSpec();const c=r?d.gvlid:n?.gvlid;null==c&&null!=d.gvlid&&(0,i.JE)(`Alias \'${t}\' will NOT re-use the GVL ID of the original adapter (\'${d.code}\', gvlid: ${d.gvlid}). Functionality that requires TCF consent may not work as expected.`);let u=n&&n.skipPbsAliasing;a=(0,o.xb)(Object.assign({},d,{code:t,gvlid:c,skipPbsAliasing:u})),G[t]=e}V.registerBidAdapter(a,t,{supportedMediaTypes:d})}catch(t){(0,i.vV)(e+" bidder does not currently support aliasing.","adapterManager.aliasBidAdapter")}}else(0,i.OG)(\'alias name "\'+t+\'" has been already specified.\')},V.resolveAlias=function(e){let t,n=e;for(;G[n]&&(!t||!t.has(n));)n=G[n],(t=t||new Set).add(n);return n},V.registerAnalyticsAdapter=function(e){let{adapter:t,code:n,gvlid:r}=e;t&&n?"function"==typeof t.enableAnalytics?(t.code=n,H[n]={adapter:t,gvlid:r},y.o2.register(T.Tn,n,r)):(0,i.vV)(`Prebid Error: Analytics adaptor error for analytics "${n}"\\n analytics adapter must implement an enableAnalytics() function`):(0,i.vV)("Prebid Error: analyticsAdapter or analyticsCode not specified")},V.enableAnalytics=function(e){(0,i.cy)(e)||(e=[e]),e.forEach((e=>{const t=H[e.provider];t&&t.adapter?W.isAllowed(C.mo,L(T.Tn,e.provider,{[B.TQ]:e}))&&t.adapter.enableAnalytics(e):(0,i.vV)(`Prebid Error: no analytics adapter found in registry for \'${e.provider}\'.`)}))},V.getBidAdapter=function(e){return M[e]},V.getAnalyticsAdapter=function(e){return H[e]},V.callTimedOutBidders=function(e,t,n){t=t.map((t=>(t.params=(0,i.SB)(e,t.adUnitCode,t.bidder),t.timeout=n,t))),t=(0,i.$z)(t,"bidder"),Object.keys(t).forEach((e=>{ee(e,"onTimeout",t[e])}))},V.callBidWonBidder=function(e,t,n){var r,o;t.params=(0,i.SB)(n,t.adUnitCode,t.bidder),r=t.adUnitCode,o=t.bidder,l(r,"winsCounter",o),ee(e,"onBidWon",t)},V.triggerBilling=(()=>{const e=new WeakSet;return t=>{e.has(t)||(e.add(t),t.source===E.RW.SRC&&t.burl&&i.mM.triggerPixel(t.burl),ee(t.bidder,"onBidBillable",t))}})(),V.callSetTargetingBidder=function(e,t){ee(e,"onSetTargeting",t)},V.callBidViewableBidder=function(e,t){ee(e,"onBidViewable",t)},V.callBidderError=function(e,t,n){ee(e,"onBidderError",{error:t,bidderRequest:n})},V.callAdRenderSucceededBidder=function(e,t){ee(e,"onAdRenderSucceeded",t)},V.callDataDeletionRequest=(0,d.A_)("sync",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];const r="onDataDeletionRequest";Object.keys(M).filter((e=>!G.hasOwnProperty(e))).forEach((e=>{const n=X(e,r);if(null!=n){const i=I.n.getBidsRequested().filter((t=>function(e){const t=new Set;for(;G.hasOwnProperty(e)&&!t.has(e);)t.add(e),e=G[e];return e}(t.bidderCode)===e));Z(e,r,...n,i,...t)}})),Object.entries(H).forEach((e=>{let[n,o]=e;const s=o?.adapter?.[r];if("function"==typeof s)try{s.apply(o.adapter,t)}catch(e){(0,i.vV)(`error calling ${r} of ${n}`,e)}}))}));const te=V},9115:(e,t,n)=>{function i(e){var t=e;return{callBids:function(){},setBidderCode:function(e){t=e},getBidderCode:function(){return t}}}n.d(t,{xb:()=>B,a$:()=>w});var r=n(8046),o=n(3272),s=n(3597),a=n(8230),d=n(2449),c=n(3895),u=n(8969),l=n(5023),f=n(5901),g=n(1069),p=n(9214),h=n(6881),m=n(2693),b=n(6894),y=n(5139),v=n(3441),E=n(5569),A=n(6811);const I=["cpm","ttl","creativeId","netRevenue","currency"],T=["auctionId","transactionId"];function w(e){const t=Array.isArray(e.supportedMediaTypes)?{supportedMediaTypes:e.supportedMediaTypes}:void 0;function n(e){const n=B(e);r.Ay.registerBidAdapter(n,e.code,t)}n(e),Array.isArray(e.aliases)&&e.aliases.forEach((t=>{let i,o,s=t;(0,g.Qd)(t)&&(s=t.code,i=t.gvlid,o=t.skipPbsAliasing),r.Ay.aliasRegistry[s]=e.code,n(Object.assign({},e,{code:s,gvlid:i,skipPbsAliasing:o}))}))}const C=(0,g.Bj)((e=>{let{bidderCode:t}=e;if((0,y.io)(A.VJ,(0,v.s)(E.tW,t)))return{bidRequest:e=>e,bidderRequest:e=>e};function n(e,t,n){return T.includes(t)?null:Reflect.get(e,t,n)}function i(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 r=(0,g.Bj)((e=>i(e,{get:n})),(e=>e.bidId));return{bidRequest:r,bidderRequest:e=>i(e,{get:(t,i,o)=>"bids"===i?e.bids.map(r):n(t,i,o)})}}));function B(e){return Object.assign(new i(e.code),{getSpec:function(){return Object.freeze(Object.assign({},e))},registerSyncs:t,callBids:function(n,i,a,p,y,v){if(!Array.isArray(n.bids))return;const E=C(n),A={};function w(e,t){const n=(0,b.BO)(t.metrics);n.checkpoint("addBidResponse"),A[e]=!0,n.measureTime("addBidResponse.validate",(()=>function(e,t){let{index:n=h.n.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function i(){let e=Object.keys(t);return I.every((n=>(0,f.mK)(e,n)&&!(0,f.mK)([void 0,null],t[n])))}function r(e){return`Invalid bid from ${t.bidderCode}. Ignoring bid: ${e}`}if(!e)return(0,g.JE)("No adUnitCode was supplied to addBidResponse."),!1;if(!t)return(0,g.JE)(`Some adapter tried to add an undefined bid for ${e}.`),!1;if(!i())return(0,g.vV)(r(`Bidder ${t.bidderCode} is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params.`)),!1;if("native"===t.mediaType&&!(0,d.Bm)(t,{index:n}))return(0,g.vV)(r("Native bid missing some required properties.")),!1;if("video"===t.mediaType&&!(0,c.vk)(t,{index:n}))return(0,g.vV)(r("Video bid does not have required vastUrl or renderer property")),!1;if("banner"===t.mediaType&&!function(e,t){let{index:n=h.n.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=i&&i.sizes||r&&r.banner&&r.banner.sizes,s=(0,g.kK)(o);if(1===s.length){const[e,n]=s[0].split("x");return t.width=parseInt(e,10),t.height=parseInt(n,10),!0}return!1}(e,t,{index:n}))return(0,g.vV)(r("Banner bids require a width and height")),!1;return!0}(e,t)))?i(e,t):i.reject(e,t,u.Tf.INVALID)}const B=[];function O(){a(),o.$W.runWithBidder(e.code,(()=>{l.Ic(u.qY.BIDDER_DONE,n),t(B,n.gdprConsent,n.uspConsent,n.gppConsent)}))}const R=D(n).measureTime("validate",(()=>n.bids.filter((t=>function(t){if(!e.isBidRequestValid(t))return(0,g.JE)(`Invalid bid sent to bidder ${e.code}: ${JSON.stringify(t)}`),!1;return!0}(E.bidRequest(t))))));if(0===R.length)return void O();const U={};R.forEach((e=>{U[e.bidId]=e,e.adUnitCode||(e.adUnitCode=e.placementCode)})),k(e,R,n,p,v,{onRequest:e=>l.Ic(u.qY.BEFORE_BIDDER_HTTP,n,e),onResponse:t=>{y(e.code),B.push(t)},onPaapi:e=>{const t=U[e.bidId];t?S(t,e):(0,g.JE)("Received fledge auction configuration for an unknown bidId",e)},onError:(t,i)=>{i.timedOut||y(e.code),r.Ay.callBidderError(e.code,i,n),l.Ic(u.qY.BIDDER_ERROR,{error:i,bidderRequest:n}),(0,g.vV)(`Server call for ${e.code} failed: ${t} ${i.status}. Continuing without bids.`)},onBid:t=>{const n=U[t.requestId];if(n){if(t.adapterCode=n.bidder,function(e,t){let n=m.u.get(t,"allowAlternateBidderCodes")||!1,i=m.u.get(t,"allowedAlternateBidderCodes");if(e&&t&&t!==e&&(i=(0,g.cy)(i)?i.map((e=>e.trim().toLowerCase())).filter((e=>!!e)).filter(g.hj):i,!n||(0,g.cy)(i)&&"*"!==i[0]&&!i.includes(e)))return!0;return!1}(t.bidderCode,n.bidder))return(0,g.JE)(`${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,u.Tf.BIDDER_DISALLOWED);t.originalCpm=t.cpm,t.originalCurrency=t.currency,t.meta=t.meta||Object.assign({},t[n.bidder]),t.deferBilling=n.deferBilling,t.deferRendering=t.deferBilling&&(t.deferRendering??"function"!=typeof e.onBidBillable);const r=Object.assign((0,s.O)(u.XQ.GOOD,n),t,(0,g.Up)(n,T));w(n.adUnitCode,r)}else(0,g.JE)(`Bidder ${e.code} made bid for unknown request ID: ${t.requestId}. Ignoring.`),i.reject(null,t,u.Tf.INVALID_REQUEST_ID)},onCompletion:O})}});function t(t,n,i,r){R(e,t,n,i,r)}}const O=["bids","paapi"],k=(0,p.A_)("sync",(function(e,t,n,i,r,o){let{onRequest:s,onResponse:a,onPaapi:d,onError:c,onBid:u,onCompletion:l}=o;const f=D(n);l=f.startTiming("total").stopBefore(l);const p=C(n);let h=f.measureTime("buildRequests",(()=>e.buildRequests(t.map(p.bidRequest),p.bidderRequest(n))));if(!h||0===h.length)return void l();Array.isArray(h)||(h=[h]);const b=(0,g.U6)(l,h.length);h.forEach((t=>{const n=f.fork();function o(e){null!=e&&(e.metrics=n.fork().renameWith()),u(e)}const l=r((function(i,r){h();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(0,g.vV)(`Bidder ${e.code} failed to interpret the server\'s response. Continuing without bids`,null,t),void b()}let s,c;i&&!Object.keys(i).some((e=>!O.includes(e)))?(s=i.bids,c=i.paapi):s=i,(0,g.cy)(c)&&c.forEach(d),s&&((0,g.cy)(s)?s.forEach(o):o(s)),b()})),p=r((function(e,t){h(),c(e,t),b()}));s(t);const h=n.startTiming("net");function I(n){const i=t.options;return Object.assign(n,i,{browsingTopics:!(i?.hasOwnProperty("browsingTopics")&&!i.browsingTopics)&&((m.u.get(e.code,"topicsHeader")??!0)&&(0,y.io)(A.DL,(0,v.s)(E.tW,e.code)))})}switch(t.method){case"GET":i(`${t.url}${function(e){if(e)return`?${"object"==typeof e?(0,g.bL)(e):e}`;return""}(t.data)}`,{success:l,error:p},void 0,I({method:"GET",withCredentials:!0}));break;case"POST":i(t.url,{success:l,error:p},"string"==typeof t.data?t.data:JSON.stringify(t.data),I({method:"POST",contentType:"text/plain",withCredentials:!0}));break;default:(0,g.JE)(`Skipping invalid request from ${e.code}. Request type ${t.type} must be GET or POST`),b()}}))}),"processBidderRequests"),R=(0,p.A_)("async",(function(e,t,n,i,s){const d=o.$W.getConfig("userSync.aliasSyncEnabled");if(e.getUserSyncs&&(d||!r.Ay.aliasRegistry[e.code])){let r=o.$W.getConfig("userSync.filterSettings"),d=e.getUserSyncs({iframeEnabled:!(!r||!r.iframe&&!r.all),pixelEnabled:!(!r||!r.image&&!r.all)},t,n,i,s);d&&(Array.isArray(d)||(d=[d]),d.forEach((t=>{a.zt.registerSync(t.type,e.code,t.url)})),a.zt.bidderDone(e.code))}}),"registerSyncs"),S=(0,p.A_)("sync",((e,t)=>{}),"addPaapiConfig");function D(e){return(0,b.BO)(e.metrics).renameWith((t=>[`adapter.client.${t}`,`adapters.client.${e.bidderCode}.${t}`]))}},1580:(e,t,n)=>{n.d(t,{R:()=>u});var i=n(6811),r=n(3441),o=n(5139),s=n(5901),a=n(1069);const d=new WeakMap,c=["debugging","outstream","improvedigital","showheroes-bs","aaxBlockmeter","adagio","adloox","akamaidap","arcspan","airgrid","browsi","brandmetrics","clean.io","humansecurity","confiant","contxtful","hadron","mediafilter","medianet","azerionedge","a1Media","geoedge","qortex","dynamicAdBoost","51Degrees","symitridap","wurfl","justtag","tncId","ftrackId","id5"];function u(e,t,n,u,l,f){if(!(0,o.io)(i.pY,(0,r.s)(t,n)))return;if(!n||!e)return void(0,a.vV)("cannot load external script without url and moduleCode");if(!(0,s.mK)(c,n))return void(0,a.vV)(`${n} not whitelisted for loading external JavaScript`);l||(l=document);const g=m(l,e);if(g)return u&&"function"==typeof u&&(g.loaded?u():g.callbacks.push(u)),g.tag;const p=d.get(l)||{},h={loaded:!1,tag:null,callbacks:[]};return p[e]=h,d.set(l,p),u&&"function"==typeof u&&h.callbacks.push(u),(0,a.JE)(`module ${n} is loading external JavaScript`),function(t,n,i,r){i||(i=document);var o=i.createElement("script");o.type="text/javascript",o.async=!0;const s=m(i,e);s&&(s.tag=o);o.readyState?o.onreadystatechange=function(){"loaded"!==o.readyState&&"complete"!==o.readyState||(o.onreadystatechange=null,n())}:o.onload=function(){n()};o.src=t,r&&(0,a.Bg)(o,r);return(0,a._s)(o,i),o}(e,(function(){h.loaded=!0;try{for(let e=0;e<h.callbacks.length;e++)h.callbacks[e]()}catch(e){(0,a.vV)("Error executing callback","adloader.js:loadExternalScript",e)}}),l,f);function m(e,t){const n=d.get(e);return n&&n[t]?n[t]:null}}},8044:(e,t,n)=>{n.d(t,{RD:()=>f,g4:()=>l});var i=n(3272),r=n(1069);const o={fetch:window.fetch.bind(window),makeRequest:(e,t)=>new Request(e,t),timeout(e,t){const n=new AbortController;let i=setTimeout((()=>{n.abort(),(0,r.vV)(`Request timeout after ${e}ms`,t),i=null}),e);return{signal:n.signal,done(){i&&clearTimeout(i)}}}},s="GET",a="POST",d="Content-Type";function c(){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]:{},r=(t,n)=>{let r;null==e||null!=n?.signal||i.$W.getConfig("disableAjaxTimeout")||(r=o.timeout(e,t),n=Object.assign({signal:r.signal},n));let s=o.fetch(t,n);return null!=r?.done&&(s=s.finally(r.done)),s};return null==t&&null==n||(r=(e=>function(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})(r)),r}function u(e,t){let{status:n,statusText:i="",headers:o,url:s}=e,a=0;function c(e){if(0===a)try{a=(new DOMParser).parseFromString(t,o?.get(d)?.split(";")?.[0])}catch(t){a=null,e&&e(t)}return a}return{readyState:XMLHttpRequest.DONE,status:n,statusText:i,responseText:t,response:t,responseType:"",responseURL:s,get responseXML(){return c(r.vV)},getResponseHeader:e=>o?.has(e)?o.get(e):null,toJSON(){return Object.assign({responseXML:c()},this)},timedOut:!1}}function l(){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=c(e,{request:t,done:n});return function(e,t,n){!function(e,t){const{success:n,error:i}="object"==typeof t&&null!=t?t:{success:"function"==typeof t?t:()=>null,error:(e,t)=>(0,r.vV)("Network error",e,t)};e.then((e=>e.text().then((t=>[e,t])))).then((e=>{let[t,r]=e;const o=u(t,r);t.ok||304===t.status?n(r,o):i(t.statusText,o)}),(e=>i("",Object.assign(u({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?a:s);if(i===s&&t){const i=(0,r.Dl)(e,n);Object.assign(i.search,t),e=(0,r.c$)(i)}const c=new Headers(n.customHeaders);c.set(d,n.contentType||"text/plain");const u={method:i,headers:c};return i!==s&&t&&(u.body=t),n.withCredentials&&(u.credentials="include"),isSecureContext&&["browsingTopics","adAuctionHeaders"].forEach((e=>{n[e]&&(u[e]=!0)})),n.keepalive&&(u.keepalive=!0),o.makeRequest(e,u)}(e,n,arguments.length>3&&void 0!==arguments[3]?arguments[3]:{})),t)}}const f=l();c()},6881:(e,t,n)=>{n.d(t,{n:()=>ie});var i=n(1069),r=n(6833),o=n(2449),s=n(8044),a=n(3272);const d=15;function c(e){let{index:t=ie.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=e.vastXml?e.vastXml:(i=e.vastUrl,r=e.vastImpUrl,`<VAST version="3.0">\\n <Ad>\\n <Wrapper>\\n <AdSystem>prebid.org wrapper</AdSystem>\\n <VASTAdTagURI><![CDATA[${i}]]></VASTAdTagURI>\\n ${(r=r&&(Array.isArray(r)?r:[r]))?r.map((e=>`<Impression><![CDATA[${e}]]></Impression>`)).join(""):""}\\n <Creatives></Creatives>\\n </Wrapper>\\n </Ad>\\n </VAST>`);var i,r;const o=t.getAuction(e);let s={type:"xml",value:n,ttlseconds:Number(e.ttl)+d};return a.$W.getConfig("cache.vasttrack")&&(s.bidder=e.bidder,s.bidid=e.requestId,s.aid=e.auctionId),null!=o&&(s.timestamp=o.getAuctionStart()),"string"==typeof e.customCacheKey&&""!==e.customCacheKey&&(s.key=e.customCacheKey),s}const u={store:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.g4;const i={puts:e.map(c)};n(a.$W.getConfig("cache.timeout"))(a.$W.getConfig("cache.url"),function(e){return{success:function(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:function(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})}};function l(e){const t=e.map((e=>e.bidResponse));u.store(t,(function(n,r){var o;n?(o=n,(0,i.vV)(`Failed to save to the video cache: ${o}. Video bids will be discarded:`,t)):e.length!==r.length?(0,i.vV)(`expected ${e.length} cache IDs, got ${r.length} instead`):r.forEach(((t,n)=>{const{auctionInstance:r,bidResponse:o,afterBidAdded:s}=e[n];var d;""===t.uuid?(0,i.JE)("Supplied video cache key was already in use by Prebid Cache; caching attempt was rejected. Video bid must be discarded."):(o.videoCacheKey=t.uuid,o.vastUrl||(o.vastUrl=(d=o.videoCacheKey,`${a.$W.getConfig("cache.url")}?uuid=${d}`)),F(r,o),s())}))}))}let f,g;a.$W.getConfig("cache",(e=>{f="number"==typeof e.cache.batchSize&&e.cache.batchSize>0?e.cache.batchSize:1,g="number"==typeof e.cache.batchTimeout&&e.cache.batchTimeout>0?e.cache.batchTimeout:0}));const p=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:setTimeout,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l,n=[[]],i=!1;const r=e=>e();return function(o,s,a){const d=g>0?e:r;n[n.length-1].length>=f&&n.push([]),n[n.length-1].push({auctionInstance:o,bidResponse:s,afterBidAdded:a}),i||(i=!0,d((()=>{n.forEach(t),n=[[]],i=!1}),g))}}();var h=n(5789),m=n(8230),b=n(9214),y=n(5901),v=n(3895),E=n(1371),A=n(2693),I=n(5023),T=n(8046),w=n(8969),C=n(5555),B=n(6894);var O=n(7873),k=n(6853),R=n(7863);const{syncUsers:S}=m.zt,D="started",U="inProgress",_="completed";I.on(w.qY.BID_ADJUSTMENT,(function(e){!function(e){let t=function(e,t,n){let{index:r=ie.index,bs:o=A.u}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n=n||r.getBidRequest(t);const s=t?.adapterCode,a=t?.bidderCode||n?.bidder,d=o.get(t?.adapterCode,"adjustAlternateBids"),c=o.getOwn(a,"bidCpmAdjustment")||o.get(d?s:a,"bidCpmAdjustment");if(c&&"function"==typeof c)try{return c(e,Object.assign({},t),n)}catch(e){(0,i.vV)("Error during bid adjustment",e)}return e}(e.cpm,e);t>=0&&(e.cpm=t)}(e)}));const $=4,j={},q={},x=[],N=(0,O.m)();function P(e){let{adUnits:t,adUnitCodes:n,callback:s,cbTimeout:d,labels:c,auctionId:u,ortb2Fragments:l,metrics:f}=e;f=(0,B.BO)(f);const g=t,p=c,m=n,b=u||(0,i.lk)(),A=d,O=new Set,P=(0,C.v)(),z=(0,C.v)();let J,K,Q,Y,X=[],Z=s,ee=[],ne=(0,k.H)({startTime:e=>e.responseTimestamp,ttl:e=>null==(0,R.S9)()?null:1e3*Math.max((0,R.S9)(),e.ttl)}),re=[],oe=[],se=[];function ae(){return{auctionId:b,timestamp:J,auctionEnd:K,auctionStatus:Y,adUnits:g,adUnitCodes:m,labels:p,bidderRequests:ee,noBids:re,bidsReceived:ne.toArray(),bidsRejected:X,winningBids:oe,timeout:A,metrics:f,seatNonBids:se}}function de(e){if(e?I.Ic(w.qY.AUCTION_TIMEOUT,ae()):clearTimeout(Q),void 0===K){let n=[];e&&((0,i.OG)(`Auction ${b} timedOut`),n=ee.filter((e=>!O.has(e.bidderRequestId))).flatMap((e=>e.bids)),n.length&&I.Ic(w.qY.BID_TIMEOUT,n)),Y=_,K=Date.now(),f.checkpoint("auctionEnd"),f.timeBetween("requestBids","auctionEnd","requestBids.total"),f.timeBetween("callBids","auctionEnd","requestBids.callBids"),P.resolve(),I.Ic(w.qY.AUCTION_END,ae()),G(g,(function(){try{if(null!=Z){const t=ne.toArray().filter((e=>m.includes(e.adUnitCode))).reduce(te,{});Z.apply(N,[t,e,b]),Z=null}}catch(e){(0,i.vV)("Error executing bidsBackHandler",null,e)}finally{n.length&&T.Ay.callTimedOutBidders(t,n,A);let e=a.$W.getConfig("userSync")||{};e.enableOverride||S(e.syncDelay)}}))}}function ce(){a.$W.resetBidder(),(0,i.fH)(`Bids Received for Auction with id: ${b}`,ne.toArray()),Y=_,de(!1)}function ue(e){O.add(e)}function le(e){e.forEach((e=>{var t;t=e,ee=ee.concat(t)}));let t={},n={bidRequests:e,run:()=>{Q=setTimeout((()=>de(!0)),A),Y=U,I.Ic(w.qY.AUCTION_INIT,ae());let n=function(e,t){let{index:n=ie.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=0,d=!1,c=new Set,u={};function l(){s--,d&&0===s&&e()}function f(e,t,n){return u[t.requestId]=!0,function(e,t){let{index:n=ie.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n.getBidderRequest(e),o=n.getAdUnit(e),s=r&&r.start||e.requestTimestamp;Object.assign(e,{responseTimestamp:e.responseTimestamp||(0,i.vE)(),requestTimestamp:e.requestTimestamp||s,cpm:parseFloat(e.cpm)||0,bidder:e.bidder||e.bidderCode,adUnitCode:t}),null!=o?.ttlBuffer&&(e.ttlBuffer=o.ttlBuffer);e.timeToRespond=e.responseTimestamp-e.requestTimestamp}(t,e),s++,n(l)}function g(e,s){f(e,s,(e=>{let d=function(e){let{index:t=ie.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};I.Ic(w.qY.BID_ADJUSTMENT,e);const n=t.getBidRequest(e)?.renderer||t.getAdUnit(e).renderer,i=e.mediaType,o=t.getMediaTypes(e),s=o&&o[i];var d=s&&s.renderer,c=null;!d||!d.render||!0===d.backupOnly&&e.renderer?!n||!n.render||!0===n.backupOnly&&e.renderer||(c=n):c=d;c&&(e.renderer=h.A4.install({url:c.url,config:c.options,renderNow:null==c.url}),e.renderer.setRender(c.render));const u=L(e.mediaType,o,a.$W.getConfig("mediaTypePriceGranularity")),l=(0,r.j)(e.cpm,"object"==typeof u?u:a.$W.getConfig("customPriceBucket"),a.$W.getConfig("currency.granularityMultiplier"));return e.pbLg=l.low,e.pbMg=l.med,e.pbHg=l.high,e.pbAg=l.auto,e.pbDg=l.dense,e.pbCg=l.custom,e}(s);I.Ic(w.qY.BID_ACCEPTED,d),d.mediaType===E.G_?function(e,t,n){let{index:r=ie.index}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=!0;const s=r.getMediaTypes({requestId:t.originalRequestId||t.requestId,adUnitId:t.adUnitId})?.video,d=s&&s?.context,c=s&&s?.useCacheKey;a.$W.getConfig("cache.url")&&(c||d!==v.H6)&&(!t.videoCacheKey||a.$W.getConfig("cache.ignoreBidderCacheKey")?(o=!1,H(e,t,n,s)):t.vastUrl||((0,i.vV)("videoCacheKey specified but not required vastUrl for video bid"),o=!1));o&&(F(e,t),n())}(t,d,e):((0,o.l6)(d)&&(0,o.gs)(d,n.getAdUnit(d)),F(t,d),e())}))}function p(e,n,r){return f(e,n,(e=>{n.rejectionReason=r,(0,i.JE)(`Bid from ${n.bidder||"unknown bidder"} was rejected: ${r}`,n),I.Ic(w.qY.BID_REJECTED,n),t.addBidRejected(n),e()}))}function m(){let n=this,r=t.getBidRequests();const o=a.$W.getConfig("auctionOptions");if(c.add(n),o&&!(0,i.Im)(o)){const e=o.secondaryBidders;e&&!r.every((t=>(0,y.mK)(e,t.bidderCode)))&&(r=r.filter((t=>!(0,y.mK)(e,t.bidderCode))))}d=r.every((e=>c.has(e))),n.bids.forEach((e=>{u[e.bidId]||(t.addNoBid(e),I.Ic(w.qY.NO_BID,e))})),d&&0===s&&e()}return{addBidResponse:function(){function e(e,t){W.call({dispatch:g},e,t,(()=>{let n=!1;return i=>{n||(p(e,t,i),n=!0)}})())}return e.reject=p,e}(),adapterDone:function(){V(C.k.resolve()).finally((()=>m.call(this)))}}}(ce,this);T.Ay.callBids(g,e,n.addBidResponse,n.adapterDone,{request(e,n){d(j,n),d(t,e),q[e]||(q[e]={SRA:!0,origin:n}),t[e]>1&&(q[e].SRA=!1)},done(e){j[e]--,x[0]&&s(x[0])&&x.shift()}},A,ue,l),z.resolve()}};function s(e){let t=!0,n=a.$W.getConfig("maxRequestsPerOrigin")||$;return e.bidRequests.some((e=>{let i=1,r=void 0!==e.src&&e.src===w.RW.SRC?"s2s":e.bidderCode;return q[r]&&(!1===q[r].SRA&&(i=Math.min(e.bids.length,n)),j[q[r].origin]+i>n&&(t=!1)),!t})),t&&e.run(),t}function d(e,t){void 0===e[t]?e[t]=1:e[t]++}s(n)||((0,i.JE)("queueing auction due to limited endpoint capacity"),x.push(n))}return(0,R.lc)((()=>ne.refresh())),I.on(w.qY.SEAT_NON_BID,(e=>{var t;e.auctionId===b&&(t=e.seatnonbid,se=se.concat(t))})),{addBidReceived:function(e){ne.add(e)},addBidRejected:function(e){X=X.concat(e)},addNoBid:function(e){re=re.concat(e)},callBids:function(){Y=D,J=Date.now();let e=f.measureTime("requestBids.makeRequests",(()=>T.Ay.makeBidRequests(g,J,b,A,p,l,f)));(0,i.fH)(`Bids Requested for Auction with id: ${b}`,e),f.checkpoint("callBids"),e.length<1?((0,i.JE)("No valid bid requests returned for auction"),ce()):M.call({dispatch:le,context:this},e)},addWinningBid:function(e){oe=oe.concat(e),T.Ay.callBidWonBidder(e.adapterCode||e.bidder,e,t),e.deferBilling||T.Ay.triggerBilling(e)},setBidTargeting:function(e){T.Ay.callSetTargetingBidder(e.adapterCode||e.bidder,e)},getWinningBids:()=>oe,getAuctionStart:()=>J,getAuctionEnd:()=>K,getTimeout:()=>A,getAuctionId:()=>b,getAuctionStatus:()=>Y,getAdUnits:()=>g,getAdUnitCodes:()=>m,getBidRequests:()=>ee,getBidsReceived:()=>ne.toArray(),getNoBids:()=>re,getNonBids:()=>se,getFPD:()=>l,getMetrics:()=>f,end:P.promise,requestsDone:z.promise}}const W=(0,b.A_)("sync",(function(e,t,n){!function(e){const t=a.$W.getConfig("maxBid");return!t||!e.cpm||t>=Number(e.cpm)}(t)?n(w.Tf.PRICE_TOO_HIGH):this.dispatch.call(null,e,t)}),"addBidResponse"),V=(0,b.A_)("sync",(e=>e),"responsesReady"),M=(0,b.A_)("sync",(function(e){this.dispatch.call(this.context,e)}),"addBidderRequests"),G=(0,b.A_)("async",(function(e,t){t&&t()}),"bidsBackCallback");function F(e,t){!function(e){let t;const n=!0===A.u.get(e.bidderCode,"allowZeroCpmBids")?e.cpm>=0:e.cpm>0;e.bidderCode&&(n||e.dealId)&&(t=function(e,t){let{index:n=ie.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return{};const i=n.getBidRequest(t);var r={};const s=Z(t.mediaType,e);ee(r,s,t,i),e&&A.u.getOwn(e,w.iD.ADSERVER_TARGETING)&&(ee(r,A.u.ownSettingsFor(e),t,i),t.sendStandardTargeting=A.u.get(e,"sendStandardTargeting"));t.native&&(r=Object.assign({},r,(0,o.Zj)(t)));return r}(e.bidderCode,e));e.adserverTargeting=Object.assign(e.adserverTargeting||{},t)}(t),(0,B.BO)(t.metrics).timeSince("addBidResponse","addBidResponse.total"),e.addBidReceived(t),I.Ic(w.qY.BID_RESPONSE,t)}const H=(0,b.A_)("async",(function(e,t,n,i){p(e,t,n)}),"callPrebidCache");function L(e,t,n){if(e&&n){if(e===E.G_){const e=t?.[E.G_]?.context??"instream";if(n[`${E.G_}-${e}`])return n[`${E.G_}-${e}`]}return n[e]}}const z=e=>t=>{const n=e||function(e){let{index:t=ie.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=L(e.mediaType,t.getMediaTypes(e),a.$W.getConfig("mediaTypePriceGranularity"));return"string"==typeof e.mediaType&&n?"string"==typeof n?n:"custom":a.$W.getConfig("priceGranularity")}(t);return n===w.UE.AUTO?t.pbAg:n===w.UE.DENSE?t.pbDg:n===w.UE.LOW?t.pbLg:n===w.UE.MEDIUM?t.pbMg:n===w.UE.HIGH?t.pbHg:n===w.UE.CUSTOM?t.pbCg:void 0},J=()=>e=>e.creativeId?e.creativeId:"",K=()=>e=>e.meta&&e.meta.advertiserDomains&&e.meta.advertiserDomains.length>0?[e.meta.advertiserDomains].flat()[0]:"",Q=()=>e=>e.meta&&(e.meta.networkId||e.meta.networkName)?e?.meta?.networkName||e?.meta?.networkId:"",Y=()=>e=>e.meta&&e.meta.primaryCatId?e.meta.primaryCatId:"";function X(e,t){return{key:e,val:"function"==typeof t?function(e,n){return t(e,n)}:function(e){return e[t]}}}function Z(e,t){const n=Object.assign({},A.u.settingsFor(null));if(n[w.iD.ADSERVER_TARGETING]||(n[w.iD.ADSERVER_TARGETING]=[X(w.xS.BIDDER,"bidderCode"),X(w.xS.AD_ID,"adId"),X(w.xS.PRICE_BUCKET,z()),X(w.xS.SIZE,"size"),X(w.xS.DEAL,"dealId"),X(w.xS.SOURCE,"source"),X(w.xS.FORMAT,"mediaType"),X(w.xS.ADOMAIN,K()),X(w.xS.ACAT,Y()),X(w.xS.DSP,Q()),X(w.xS.CRID,J())]),"video"===e){const e=n[w.iD.ADSERVER_TARGETING].slice();if(n[w.iD.ADSERVER_TARGETING]=e,[w.xS.UUID,w.xS.CACHE_ID].forEach((t=>{void 0===(0,y.I6)(e,(e=>e.key===t))&&e.push(X(t,"videoCacheKey"))})),a.$W.getConfig("cache.url")&&(!t||!1!==A.u.get(t,"sendStandardTargeting"))){const t=(0,i.Dl)(a.$W.getConfig("cache.url"));void 0===(0,y.I6)(e,(e=>e.key===w.xS.CACHE_HOST))&&e.push(X(w.xS.CACHE_HOST,(function(e){return e?.adserverTargeting?.[w.xS.CACHE_HOST]||t.hostname})))}}return n}function ee(e,t,n,r){var o=t[w.iD.ADSERVER_TARGETING];return n.size=n.getSize(),(o||[]).forEach((function(o){var s=o.key,a=o.val;if(e[s]&&(0,i.JE)("The key: "+s+" is being overwritten"),(0,i.fp)(a))try{a=a(n,r)}catch(e){(0,i.vV)("bidmanager","ERROR",e)}(void 0===t.suppressEmptyKeys||!0!==t.suppressEmptyKeys)&&s!==w.xS.DEAL&&s!==w.xS.ACAT&&s!==w.xS.DSP&&s!==w.xS.CRID||!(0,i.xQ)(a)&&null!=a?e[s]=a:(0,i.fH)("suppressing empty key \'"+s+"\' from adserver targeting")})),e}function te(e,t){return e[t.adUnitCode]||(e[t.adUnitCode]={bids:[]}),e[t.adUnitCode].bids.push(t),e}function ne(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))},getOrtb2(e){return this.getBidderRequest(e)?.ortb2||this.getAuction(e)?.getFPD()?.global?.ortb2}})}const ie=function(){const e=(0,k.H)({startTime:e=>e.end.then((()=>e.getAuctionEnd())),ttl:e=>null==(0,R.S9)()?null:e.end.then((()=>1e3*Math.max((0,R.S9)(),...e.getBidsReceived().map((e=>e.ttl)))))});(0,R.lc)((()=>e.refresh()));const t={onExpiry:e.onExpiry};function n(t){for(const n of e)if(n.getAuctionId()===t)return n}function r(){return e.toArray().flatMap((e=>e.getBidsReceived()))}return t.addWinningBid=function(e){const t=(0,B.BO)(e.metrics);t.checkpoint("bidWon"),t.timeBetween("auctionEnd","bidWon","adserver.pending"),t.timeBetween("requestBids","bidWon","adserver.e2e");const r=n(e.auctionId);r?r.addWinningBid(e):(0,i.JE)("Auction not found when adding winning bid")},Object.entries({getAllWinningBids:{name:"getWinningBids"},getBidsRequested:{name:"getBidRequests"},getNoBids:{},getAdUnits:{},getBidsReceived:{pre:e=>e.getAuctionStatus()===_},getAdUnitCodes:{post:i.hj}}).forEach((n=>{let[i,{name:r=i,pre:o,post:s}]=n;const a=null==o?e=>e[r]():e=>o(e)?e[r]():[],d=null==s?e=>e:e=>e.filter(s);t[i]=()=>d(e.toArray().flatMap(a))})),t.getAllBidsForAdUnitCode=function(e){return r().filter((t=>t&&t.adUnitCode===e))},t.createAuction=function(t){const n=P(t);return function(t){e.add(t)}(n),n},t.findBidByAdId=function(e){return r().find((t=>t.adId===e))},t.getStandardBidderAdServerTargeting=function(){return Z()[w.iD.ADSERVER_TARGETING]},t.setStatusForBids=function(e,i){let r=t.findBidByAdId(e);if(r&&(r.status=i),r&&i===w.tl.BID_TARGETING_SET){const e=n(r.auctionId);e&&e.setBidTargeting(r)}},t.getLastAuctionId=function(){const t=e.toArray();return t.length&&t[t.length-1].getAuctionId()},t.clearAllAuctions=function(){e.clear()},t.index=new ne((()=>e.toArray())),t}()},7863:(e,t,n)=>{n.d(t,{S9:()=>u,cT:()=>c,lc:()=>l});var i=n(3272),r=n(1069);const o="minBidCacheTTL";let s=1,a=null;const d=[];function c(e){return e.ttl-(e.hasOwnProperty("ttlBuffer")?e.ttlBuffer:s)}function u(){return a}function l(e){d.push(e)}i.$W.getConfig("ttlBuffer",(e=>{"number"==typeof e.ttlBuffer?s=e.ttlBuffer:(0,r.vV)("Invalid value for ttlBuffer",e.ttlBuffer)})),i.$W.getConfig(o,(e=>{const t=a;a=e?.[o],a="number"==typeof a?a:null,t!==a&&d.forEach((e=>e(a)))}))},2693:(e,t,n)=>{n.d(t,{u:()=>a});var i=n(433),r=n(1069),o=n(7873),s=n(8969);const a=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.#e(e),(0,i.A)(this.getSettings(),`${e}.${t}`)}getScopes(){return Object.keys(this.getSettings()).filter((e=>e!==this.defaultScope))}settingsFor(e){return(0,r.D9)({},this.ownSettingsFor(null),this.ownSettingsFor(e))}ownSettingsFor(e){return e=this.#e(e),this.getSettings()[e]||{}}#e(e){return null==e?this.defaultScope:e}}((()=>(0,o.m)().bidderSettings||{}),s.iD.BD_SETTING_STANDARD)},3597:(e,t,n)=>{n.d(t,{O:()=>o});var i=n(1069);function r(e){let{src:t="client",bidder:n="",bidId:r,transactionId:o,adUnitId:s,auctionId:a}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var d=t,c=e||0;Object.assign(this,{bidderCode:n,width:0,height:0,statusMessage:function(){switch(c){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:(0,i.s0)(),requestId:r,transactionId:o,adUnitId:s,auctionId:a,mediaType:"banner",source:d}),this.getStatusCode=function(){return c},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 o(e,t){return new r(e,t)}},3272:(e,t,n)=>{n.d(t,{$W:()=>h,Ov:()=>u});var i=n(6833),r=n(5901),o=n(1069),s=n(433),a=n(8969);const d="TRUE"===(0,o.Ez)(a.M).toUpperCase(),c={},u="random",l={};l[u]=!0,l.fixed=!0;const f=u,g={LOW:"low",MEDIUM:"medium",HIGH:"high",AUTO:"auto",DENSE:"dense",CUSTOM:"custom"};function p(e){const t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1]?{priceGranularity:g.MEDIUM,customPriceBucket:{},mediaTypePriceGranularity:{},bidderSequence:f,auctionOptions:{}}:{};function n(e){return t[e]}function s(n,i){t.hasOwnProperty(n)||Object.defineProperty(e,n,{enumerable:!0}),t[n]=i}const a={publisherDomain:{set(e){null!=e&&(0,o.JE)("publisherDomain is deprecated and has no effect since v7 - use pageUrl instead"),s("publisherDomain",e)}},priceGranularity:{set(e){c(e)&&("string"==typeof e?s("priceGranularity",d(e)?e:g.MEDIUM):(0,o.Qd)(e)&&(s("customPriceBucket",e),s("priceGranularity",g.CUSTOM),(0,o.OG)("Using custom price granularity")))}},customPriceBucket:{},mediaTypePriceGranularity:{set(e){null!=e&&s("mediaTypePriceGranularity",Object.keys(e).reduce(((t,i)=>(c(e[i])?"string"==typeof e?t[i]=d(e[i])?e[i]:n("priceGranularity"):(0,o.Qd)(e)&&(t[i]=e[i],(0,o.OG)(`Using custom price granularity for ${i}`)):(0,o.JE)(`Invalid price granularity for media type: ${i}`),t)),{}))}},bidderSequence:{set(e){l[e]?s("bidderSequence",e):(0,o.JE)(`Invalid order: ${e}. Bidder Sequence was not set.`)}},auctionOptions:{set(e){(function(e){if(!(0,o.Qd)(e))return(0,o.JE)("Auction Options must be an object"),!1;for(let t of Object.keys(e)){if("secondaryBidders"!==t&&"suppressStaleRender"!==t&&"suppressExpiredRender"!==t)return(0,o.JE)(`Auction Options given an incorrect param: ${t}`),!1;if("secondaryBidders"===t){if(!(0,o.cy)(e[t]))return(0,o.JE)(`Auction Options ${t} must be of type Array`),!1;if(!e[t].every(o.O8))return(0,o.JE)(`Auction Options ${t} must be only string`),!1}else if(("suppressStaleRender"===t||"suppressExpiredRender"===t)&&!(0,o.Lm)(e[t]))return(0,o.JE)(`Auction Options ${t} must be of type boolean`),!1}return!0})(e)&&s("auctionOptions",e)}}};return Object.defineProperties(e,Object.fromEntries(Object.entries(a).map((e=>{let[i,r]=e;return[i,Object.assign({get:n.bind(null,i),set:s.bind(null,i),enumerable:t.hasOwnProperty(i),configurable:!t.hasOwnProperty(i)},r)]})))),e;function d(e){return(0,r.I6)(Object.keys(g),(t=>e===g[t]))}function c(e){if(!e)return(0,o.vV)("Prebid Error: no value passed to `setPriceGranularity()`"),!1;if("string"==typeof e)d(e)||(0,o.JE)("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if((0,o.Qd)(e)&&!(0,i.q)(e))return(0,o.vV)("Invalid custom price value passed to `setPriceGranularity()`"),!1;return!0}}const h=function(){let e,t,n,i=[],a=null;function u(){e={};let i=p({debug:d,bidderTimeout:3e3,enableSendAllBids:true,useBidCache:false,deviceAccess:true,disableAjaxTimeout:false,maxNestedIframes:10,maxBid:5e3,userSync:{topics:c}});t&&v(Object.keys(t).reduce(((e,n)=>(t[n]!==i[n]&&(e[n]=i[n]||{}),e)),{})),t=i,n={}}function l(){if(a&&n&&(0,o.Qd)(n[a])){let e=n[a];const i=new Set(Object.keys(t).concat(Object.keys(e)));return(0,r.A6)(i).reduce(((n,i)=>(void 0===e[i]?n[i]=t[i]:void 0===t[i]?n[i]=e[i]:(0,o.Qd)(e[i])?n[i]=(0,o.D9)({},t[i],e[i]):n[i]=e[i],n)),{})}return Object.assign({},t)}const[f,g]=[l,function(){const e=l();return Object.defineProperty(e,"ortb2",{get:function(){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?(0,s.A)(e(),t):l()}return y(...arguments)})),[h,m]=[g,f].map((e=>function(){let t=e(...arguments);return t&&"object"==typeof t&&(t=(0,o.Go)(t)),t}));function b(n){if(!(0,o.Qd)(n))return void(0,o.vV)("setConfig options must be an object");let i=Object.keys(n),r={};i.forEach((i=>{let s=n[i];(0,o.Qd)(e[i])&&(0,o.Qd)(s)&&(s=Object.assign({},e[i],s));try{r[i]=t[i]=s}catch(e){(0,o.JE)(`Cannot set config for property ${i} : `,e)}})),v(r)}function y(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(0,o.vV)("listener must be a function");const s={topic:e,callback:r};return i.push(s),n.init&&r("*"===e?g():{[e]:g(e)}),function(){i.splice(i.indexOf(s),1)}}function v(e){const t=Object.keys(e);i.filter((e=>(0,r.mK)(t,e.topic))).forEach((t=>{t.callback({[t.topic]:e[t.topic]})})),i.filter((e=>"*"===e.topic)).forEach((t=>t.callback(e)))}function E(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{!function(e){if(!(0,o.Qd)(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(!(0,o.Qd)(e.config))throw"setBidderConfig bidder options must contain a config object"}(e),e.bidders.forEach((i=>{n[i]||(n[i]=p({},!1)),Object.keys(e.config).forEach((r=>{let s=e.config[r];const a=n[i][r];if((0,o.Qd)(s)&&(null==a||(0,o.Qd)(a))){const e=t?o.D9:Object.assign;n[i][r]=e({},a||{},s)}else n[i][r]=s}))}))}catch(e){(0,o.vV)(e)}}function A(e,t){a=e;try{return t()}finally{I()}}function I(){a=null}return u(),{getCurrentBidder:function(){return a},resetBidder:I,getConfig:g,getAnyConfig:f,readConfig:h,readAnyConfig:m,setConfig:b,mergeConfig:function(e){if(!(0,o.Qd)(e))return void(0,o.vV)("mergeConfig input must be an object");const t=(0,o.D9)(l(),e);return b({...t}),t},setDefaults:function(n){(0,o.Qd)(e)?(Object.assign(e,n),Object.assign(t,n)):(0,o.vV)("defaults must be an object")},resetConfig:u,runWithBidder:A,callbackWithBidder:function(e){return function(t){return function(){if("function"==typeof t){for(var n=arguments.length,i=new Array(n),r=0;r<n;r++)i[r]=arguments[r];return A(e,t.bind(this,...i))}(0,o.JE)("config.callbackWithBidder callback is not a function")}}},setBidderConfig:E,getBidderConfig:function(){return n},mergeBidderConfig:function(e){return E(e,!0)}}}()},6916:(e,t,n)=>{n.d(t,{SL:()=>g,ad:()=>c,mW:()=>a,o2:()=>l,t6:()=>d});var i=n(1069),r=n(5555),o=n(3272);Object.freeze({});class s{#t;#n;#i;#r;#o=!0;#s;generatedTime;hashFields;constructor(){this.reset()}#a(e){this.#r=!0,this.#n=e,this.#i.resolve(e)}reset(){this.#i=(0,r.v)(),this.#t=!1,this.#n=null,this.#r=!1,this.generatedTime=null}enable(){this.#t=!0}get enabled(){return this.#t}get ready(){return this.#r}get promise(){return this.#r?r.k.resolve(this.#n):(this.#t||this.#a(null),this.#i.promise)}setConsentData(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,i.vE)();this.generatedTime=t,this.#o=!0,this.#a(e)}getConsentData(){return this.#n}get hash(){return this.#o&&(this.#s=(0,i.PB)(JSON.stringify(this.#n&&this.hashFields?this.hashFields.map((e=>this.#n[e])):this.#n)),this.#o=!1),this.#s}}const a=new class extends s{hashFields=["gdprApplies","consentString"];getConsentMeta(){const e=this.getConsentData();if(e&&e.vendorData&&this.generatedTime)return{gdprApplies:e.gdprApplies,consentStringSize:(0,i.O8)(e.vendorData.tcString)?e.vendorData.tcString.length:0,generatedAt:this.generatedTime,apiVersion:e.apiVersion}}},d=new class extends s{getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},c=new class extends s{hashFields=["applicableSections","gppString"];getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},u=(()=>{function e(){return!!o.$W.getConfig("coppa")}return{getCoppa:e,getConsentData:e,getConsentMeta:e,reset(){},get promise(){return r.k.resolve(e())},get hash(){return e()?"1":"0"}}})(),l=function(){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}}}(),f={gdpr:a,usp:d,gpp:c,coppa:u};const g=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f;return e=Object.entries(e),Object.assign({get promise(){return r.k.all(e.map((e=>{let[t,n]=e;return n.promise.then((e=>[t,e]))}))).then((e=>Object.fromEntries(e)))},get hash(){return(0,i.PB)(e.map((e=>{let[t,n]=e;return n.hash})).join(":"))}},Object.fromEntries(["getConsentData","getConsentMeta","reset"].map((t=>{return[t,(n=t,function(){return Object.fromEntries(e.map((e=>{let[t,i]=e;return[t,i[n]()]})))})];var n}))))}()},8969:(e,t,n)=>{n.d(t,{IY:()=>A,M:()=>r,RW:()=>g,Tf:()=>h,UE:()=>c,XQ:()=>o,Zh:()=>l,_B:()=>v,as:()=>a,cA:()=>d,h0:()=>m,iD:()=>i,jO:()=>b,nl:()=>E,oA:()=>y,qY:()=>s,tl:()=>p,x5:()=>f,xS:()=>u});const i={PL_CODE:"code",PL_SIZE:"sizes",PL_BIDS:"bids",BD_BIDDER:"bidder",BD_ID:"paramsd",BD_PL_ID:"placementId",ADSERVER_TARGETING:"adserverTargeting",BD_SETTING_STANDARD:"standard"},r="pbjs_debug",o={GOOD:1},s={AUCTION_INIT:"auctionInit",AUCTION_TIMEOUT:"auctionTimeout",AUCTION_END:"auctionEnd",BID_ADJUSTMENT:"bidAdjustment",BID_TIMEOUT:"bidTimeout",BID_REQUESTED:"bidRequested",BID_RESPONSE:"bidResponse",BID_REJECTED:"bidRejected",NO_BID:"noBid",SEAT_NON_BID:"seatNonBid",BID_WON:"bidWon",BIDDER_DONE:"bidderDone",BIDDER_ERROR:"bidderError",SET_TARGETING:"setTargeting",BEFORE_REQUEST_BIDS:"beforeRequestBids",BEFORE_BIDDER_HTTP:"beforeBidderHttp",REQUEST_BIDS:"requestBids",ADD_AD_UNITS:"addAdUnits",AD_RENDER_FAILED:"adRenderFailed",AD_RENDER_SUCCEEDED:"adRenderSucceeded",TCF2_ENFORCEMENT:"tcf2Enforcement",AUCTION_DEBUG:"auctionDebug",BID_VIEWABLE:"bidViewable",STALE_RENDER:"staleRender",EXPIRED_RENDER:"expiredRender",BILLABLE_EVENT:"billableEvent",BID_ACCEPTED:"bidAccepted",RUN_PAAPI_AUCTION:"paapiRunAuction",PBS_ANALYTICS:"pbsAnalytics",PAAPI_BID:"paapiBid",PAAPI_NO_BID:"paapiNoBid",PAAPI_ERROR:"paapiError"},a={PREVENT_WRITING_ON_MAIN_DOCUMENT:"preventWritingOnMainDocument",NO_AD:"noAd",EXCEPTION:"exception",CANNOT_FIND_AD:"cannotFindAd",MISSING_DOC_OR_ADID:"missingDocOrAdid"},d={bidWon:"adUnitCode"},c={LOW:"low",MEDIUM:"medium",HIGH:"high",AUTO:"auto",DENSE:"dense",CUSTOM:"custom"},u={BIDDER:"hb_bidder",AD_ID:"hb_adid",PRICE_BUCKET:"hb_pb",SIZE:"hb_size",DEAL:"hb_deal",SOURCE:"hb_source",FORMAT:"hb_format",UUID:"hb_uuid",CACHE_ID:"hb_cache_id",CACHE_HOST:"hb_cache_host",ADOMAIN:"hb_adomain",ACAT:"hb_acat",CRID:"hb_crid",DSP:"hb_dsp"},l={BIDDER:"hb_bidder",AD_ID:"hb_adid",PRICE_BUCKET:"hb_pb",SIZE:"hb_size",DEAL:"hb_deal",FORMAT:"hb_format",UUID:"hb_uuid",CACHE_HOST:"hb_cache_host"},f={title:"hb_native_title",body:"hb_native_body",body2:"hb_native_body2",privacyLink:"hb_native_privacy",privacyIcon:"hb_native_privicon",sponsoredBy:"hb_native_brand",image:"hb_native_image",icon:"hb_native_icon",clickUrl:"hb_native_linkurl",displayUrl:"hb_native_displayurl",cta:"hb_native_cta",rating:"hb_native_rating",address:"hb_native_address",downloads:"hb_native_downloads",likes:"hb_native_likes",phone:"hb_native_phone",price:"hb_native_price",salePrice:"hb_native_saleprice",rendererUrl:"hb_renderer_url",adTemplate:"hb_adTemplate"},g={SRC:"s2s",DEFAULT_ENDPOINT:"https://prebid.adnxs.com/pbs/v1/openrtb2/auction",SYNCED_BIDDERS_KEY:"pbjsSyncs"},p={BID_TARGETING_SET:"targetingSet",RENDERED:"rendered",BID_REJECTED:"bidRejected"},h={INVALID:"Bid has missing or invalid properties",INVALID_REQUEST_ID:"Invalid request ID",BIDDER_DISALLOWED:"Bidder code is not allowed by allowedAlternateBidderCodes / allowUnknownBidderCodes",FLOOR_NOT_MET:"Bid does not meet price floor",CANNOT_CONVERT_CURRENCY:"Unable to convert currency",DSA_REQUIRED:"Bid does not provide required DSA transparency info",DSA_MISMATCH:"Bid indicates inappropriate DSA rendering method",PRICE_TOO_HIGH:"Bid price exceeds maximum value"},m={body:"desc",body2:"desc2",sponsoredBy:"sponsored",cta:"ctatext",rating:"rating",address:"address",downloads:"downloads",likes:"likes",phone:"phone",price:"price",salePrice:"saleprice",displayUrl:"displayurl"},b={sponsored:1,desc:2,rating:3,likes:4,downloads:5,price:6,saleprice:7,phone:8,address:9,desc2:10,displayurl:11,ctatext:12},y={ICON:1,MAIN:3},v=["privacyIcon","clickUrl","sendTargetingKeys","adTemplate","rendererUrl","type"],E={REQUEST:"Prebid Request",RESPONSE:"Prebid Response",NATIVE:"Prebid Native",EVENT:"Prebid Event"},A="__pb_locator__"},6833:(e,t,n)=>{n.d(t,{j:()=>f,q:()=>p});var i=n(5901),r=n(1069),o=n(3272);const s=2,a={buckets:[{max:5,increment:.5}]},d={buckets:[{max:20,increment:.1}]},c={buckets:[{max:20,increment:.01}]},u={buckets:[{max:3,increment:.01},{max:8,increment:.05},{max:20,increment:.5}]},l={buckets:[{max:5,increment:.05},{max:10,increment:.1},{max:20,increment:.5}]};function f(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=parseFloat(e);return isNaN(i)&&(i=""),{low:""===i?"":g(e,a,n),med:""===i?"":g(e,d,n),high:""===i?"":g(e,c,n),auto:""===i?"":g(e,l,n),dense:""===i?"":g(e,u,n),custom:""===i?"":g(e,t,n)}}function g(e,t,n){let a="";if(!p(t))return a;const d=t.buckets.reduce(((e,t)=>e.max>t.max?e:t),{max:0});let c=0,u=(0,i.I6)(t.buckets,(t=>{if(e>d.max*n){let e=t.precision;void 0===e&&(e=s),a=(t.max*n).toFixed(e)}else{if(e<=t.max*n&&e>=c*n)return t.min=c,t;c=t.max}}));return u&&(a=function(e,t,n){const i=void 0!==t.precision?t.precision:s,a=t.increment*n,d=t.min*n;let c=Math.floor,u=o.$W.getConfig("cpmRoundingFunction");"function"==typeof u&&(c=u);let l,f,g=Math.pow(10,i+2),p=(e*g-d*g)/(a*g);try{l=c(p)*a+d}catch(e){f=!0}(f||"number"!=typeof l)&&((0,r.JE)("Invalid rounding function passed in config"),l=Math.floor(p)*a+d);return l=Number(l.toFixed(10)),l.toFixed(i)}(e,u,n)),a}function p(e){if((0,r.Im)(e)||!e.buckets||!Array.isArray(e.buckets))return!1;let t=!0;return e.buckets.forEach((e=>{e.max&&e.increment||(t=!1)})),t}},6031:(e,t,n)=>{n.d(t,{H:()=>a,k:()=>s});var i=n(5555),r=n(1069),o=n(4595);const s=(0,n(9214).A_)("sync",(function(e){return o.G})),a=function(){const e={};return function(t){const n=s(t);return e.hasOwnProperty(n)||(e[n]=new i.k((e=>{const t=(0,r.CA)();t.srcdoc=`<script>${n}<\\/script>`,t.onload=()=>e(t.contentWindow.render),document.body.appendChild(t)}))),e[n]}}()},5023:(e,t,n)=>{n.d(t,{AU:()=>m,Ic:()=>v,kQ:()=>y,on:()=>h});var i=n(1069),r=n(8969),o=n(6853),s=n(3272);const a="eventHistoryTTL";let d=null;const c=(0,o.H)({monotonic:!0,ttl:()=>d});s.$W.getConfig(a,(e=>{const t=d;e=e?.[a],d="number"==typeof e?1e3*e:null,t!==d&&c.refresh()}));let u=Array.prototype.slice,l=Array.prototype.push,f=Object.values(r.qY);const g=r.cA,p=function(){let e={},t={};function n(e){return f.includes(e)}return t.has=n,t.on=function(t,r,o){if(n(t)){let n=e[t]||{que:[]};o?(n[o]=n[o]||{que:[]},n[o].que.push(r)):n.que.push(r),e[t]=n}else i.vV("Wrong event name : "+t+" Valid event names :"+f)},t.emit=function(t){!function(t,n){i.OG("Emitting event for: "+t);let r=n[0]||{},o=r[g[t]],s=e[t]||{que:[]};var a=Object.keys(s);let d=[];c.add({eventType:t,args:r,id:o,elapsedTime:i.V()}),o&&a.includes(o)&&l.apply(d,s[o].que),l.apply(d,s.que),(d||[]).forEach((function(e){if(e)try{e.apply(null,n)}catch(e){i.vV("Error executing handler:","events.js",e,t)}}))}(t,u.call(arguments,1))},t.off=function(t,n,r){let o=e[t];i.Im(o)||i.Im(o.que)&&i.Im(o[r])||r&&(i.Im(o[r])||i.Im(o[r].que))||(r?(o[r].que||[]).forEach((function(e){let t=o[r].que;e===n&&t.splice(t.indexOf(e),1)})):(o.que||[]).forEach((function(e){let t=o.que;e===n&&t.splice(t.indexOf(e),1)})),e[t]=o)},t.get=function(){return e},t.addEvents=function(e){f=f.concat(e)},t.getEvents=function(){return c.toArray().map((e=>Object.assign({},e)))},t}();i.cD(p.emit.bind(p));const{on:h,off:m,get:b,getEvents:y,emit:v,addEvents:E,has:A}=p},1970:(e,t,n)=>{n.d(t,{w:()=>T});var i=n(9214),r=n(7934),o=n(1069);const s=(0,n(2938).CK)("fpdEnrichment"),a=(0,o.Bj)((function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.host;if(!s.cookiesAreEnabled())return e;const t=e.split(".");if(2===t.length)return e;let n,i,r=-2;const a=`_rdc${Date.now()}`,d="writeable";do{n=t.slice(r).join(".");let e=new Date((0,o.vE)()+1e4).toUTCString();s.setCookie(a,d,e,"Lax",n,void 0);s.getCookie(a,void 0)===d?(i=!1,s.setCookie(a,"","Thu, 01 Jan 1970 00:00:01 GMT",void 0,n,void 0)):(r+=-1,i=Math.abs(r)<=t.length)}while(i);return n}));var d=n(3172),c=n(3272),u=n(5555);const l=["architecture","bitness","model","platformVersion","fullVersionList"],f=["brands","mobile","platform"],g=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator?.userAgentData;const t=e&&f.some((t=>void 0!==e[t]))?Object.freeze(h(1,e)):null;return function(){return t}}(),p=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator?.userAgentData;const t={},n=new WeakMap;return function(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l;if(!n.has(i)){const e=Array.from(i);e.sort(),n.set(i,e.join("|"))}const r=n.get(i);if(!t.hasOwnProperty(r))try{t[r]=e.getHighEntropyValues(i).then((e=>(0,o.Im)(e)?null:Object.freeze(h(2,e)))).catch((()=>null))}catch(e){t[r]=u.k.resolve(null)}return t[r]}}();function h(e,t){function n(e,t){const n={brand:e};return(0,o.O8)(t)&&!(0,o.xQ)(t)&&(n.version=t.split(".")),n}const i={source:e};return t.platform&&(i.platform=n(t.platform,t.platformVersion)),(t.fullVersionList||t.brands)&&(i.browsers=(t.fullVersionList||t.brands).map((e=>{let{brand:t,version:i}=e;return n(t,i)}))),void 0!==t.mobile&&(i.mobile=t.mobile?1:0),["model","bitness","architecture"].forEach((e=>{const n=t[e];(0,o.O8)(n)&&(i[e]=n)})),i}var m=n(3858),b=n(5139),y=n(3441),v=n(6811),E=n(5569);const A={getRefererInfo:r.EN,findRootDomain:a,getWindowTop:o.mb,getWindowSelf:o.l4,getHighEntropySUA:p,getLowEntropySUA:g},I=(0,m.i8)("FPD"),T=(0,i.A_)("sync",(e=>{const t=[e,C().catch((()=>null)),u.k.resolve("cookieDeprecationLabel"in navigator&&(0,b.io)(v.Ue,(0,y.s)(E.tp,"cdep"))&&navigator.cookieDeprecationLabel.getValue()).catch((()=>null))];return u.k.all(t).then((e=>{let[t,n,i]=e;const r=A.getRefererInfo();if(Object.entries(O).forEach((e=>{let[n,i]=e;const s=i(t,r);s&&Object.keys(s).length>0&&(t[n]=(0,o.D9)({},s,t[n]))})),n&&(0,d.J)(t,"device.sua",Object.assign({},n,t.device.sua)),i){const e={cdep:i};(0,d.J)(t,"device.ext",Object.assign({},e,t.device.ext))}t=I(t);for(let e of m.Dy)if((0,m.O$)(t,e)){t[e]=(0,o.D9)({},k(t,r),t[e]);break}return t}))}));function w(e){try{return e(A.getWindowTop())}catch(t){return e(A.getWindowSelf())}}function C(){const e=c.$W.getConfig("firstPartyData.uaHints");return Array.isArray(e)&&0!==e.length?A.getHighEntropySUA(e):u.k.resolve(A.getLowEntropySUA())}function B(e){return(0,o.SH)(e,Object.keys(e))}const O={site(e,t){if(!m.Dy.filter((e=>"site"!==e)).some(m.O$.bind(null,e)))return B({page:t.page,ref:t.ref})},device:()=>w((e=>{const t=e.screen.width,n=e.screen.height,i=e.innerWidth||e.document.documentElement.clientWidth||e.document.body.clientWidth,r=e.innerHeight||e.document.documentElement.clientHeight||e.document.body.clientHeight,s={w:t,h:n,dnt:(0,o.l9)()?1:0,ua:e.navigator.userAgent,language:e.navigator.language.split("-").shift(),ext:{vpw:i,vph:r}};return e.navigator?.webdriver&&(0,d.J)(s,"ext.webdriver",!0),s})),regs(){const e={};w((e=>e.navigator.globalPrivacyControl))&&(0,d.J)(e,"ext.gpc","1");const t=c.$W.getConfig("coppa");return"boolean"==typeof t&&(e.coppa=t?1:0),e}};function k(e,t){const n=(0,r.gR)(t.page,{noLeadingWww:!0}),i=w((e=>e.document.querySelector("meta[name=\'keywords\']")))?.content?.replace?.(/\\s/g,"");return B({domain:n,keywords:i,publisher:B({domain:A.findRootDomain(n)})})}},3858:(e,t,n)=>{n.d(t,{Dy:()=>r,O$:()=>s,i8:()=>o});var i=n(1069);const r=["dooh","app","site"];function o(e){return function(t){return r.reduce(((n,r)=>(s(t,r)&&(null!=n?((0,i.JE)(`${e} specifies both \'${n}\' and \'${r}\'; dropping the latter.`),delete t[r]):n=r),n)),null),t}}function s(e,t){return null!=e[t]&&Object.keys(e[t]).length>0}},9214:(e,t,n)=>{n.d(t,{A_:()=>s,Y6:()=>c,Yn:()=>d});var i=n(8128),r=n.n(i),o=n(5555);let s=r()({ready:r().SYNC|r().ASYNC|r().QUEUE});const a=(0,o.v)();s.ready=(()=>{const e=s.ready;return function(){try{return e.apply(s,arguments)}finally{a.resolve()}}})();a.promise;const d=s.get;function c(e,t){return Object.defineProperties(t,Object.fromEntries(["before","after","getHooks","removeAll"].map((t=>[t,{get:()=>e[t]}])))),t}},1371:(e,t,n)=>{n.d(t,{D4:()=>o,G_:()=>r,LM:()=>s,s6:()=>i});const i="native",r="video",o="banner",s="adpod"},2449:(e,t,n)=>{n.d(t,{Bm:()=>E,IX:()=>O,Nh:()=>u,Zj:()=>T,gs:()=>I,l6:()=>m,mT:()=>c,nk:()=>y,vO:()=>A,yl:()=>k});var i=n(1069),r=n(5901),o=n(6881),s=n(8969),a=n(9075),d=n(6031);const c=[],u=Object.keys(s.x5).map((e=>s.x5[e])),l={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}}},f=U(s.h0),g=U(s.jO),p={img:1,js:2,1:"img",2:"js"},h={impression:1,"viewable-mrc50":2,"viewable-mrc100":3,"viewable-video50":4};function m(e){return e.native&&"object"==typeof e.native}function b(e){if(e&&e.type&&function(e){if(!e||!(0,r.mK)(Object.keys(l),e))return(0,i.vV)(`${e} nativeParam is not supported`),!1;return!0}(e.type)&&(e=l[e.type]),!e||!e.ortb||v(e.ortb))return e}function y(e){e.forEach((e=>{const t=e.nativeParams||e?.mediaTypes?.native;t&&(e.nativeParams=b(t)),e.nativeParams&&(e.nativeOrtbRequest=e.nativeParams.ortb||function(e){if(!e&&!(0,i.Qd)(e))return void(0,i.vV)("Native assets object is empty or not an object: ",e);const t={ver:"1.2",assets:[]};for(let n in e){if(s._B.includes(n))continue;if(!s.x5.hasOwnProperty(n)){(0,i.vV)(`Unrecognized native asset code: ${n}. Asset will be ignored.`);continue}if("privacyLink"===n){t.privacy=1;continue}const r=e[n];let o=0;r.required&&(0,i.Lm)(r.required)&&(o=Number(r.required));const a={id:t.assets.length,required:o};if(n in s.h0)a.data={type:s.jO[s.h0[n]]},r.len&&(a.data.len=r.len);else if("icon"===n||"image"===n){if(a.img={type:"icon"===n?s.oA.ICON:s.oA.MAIN},r.aspect_ratios)if((0,i.cy)(r.aspect_ratios))if(r.aspect_ratios.length){const{min_width:e,min_height:t}=r.aspect_ratios[0];(0,i.Fq)(e)&&(0,i.Fq)(t)?(a.img.wmin=e,a.img.hmin=t):(0,i.vV)("image.aspect_ratios min_width or min_height are invalid: ",e,t);const n=r.aspect_ratios.filter((e=>e.ratio_width&&e.ratio_height)).map((e=>`${e.ratio_width}:${e.ratio_height}`));n.length>0&&(a.img.ext={aspectratios:n})}else(0,i.vV)("image.aspect_ratios was passed, but it\'s empty:",r.aspect_ratios);else(0,i.vV)("image.aspect_ratios was passed, but it\'s not a an array:",r.aspect_ratios);r.sizes&&(2===r.sizes.length&&(0,i.Fq)(r.sizes[0])&&(0,i.Fq)(r.sizes[1])?(a.img.w=r.sizes[0],a.img.h=r.sizes[1],delete a.img.hmin,delete a.img.wmin):(0,i.vV)("image.sizes was passed, but its value is not an array of integers:",r.sizes))}else"title"===n?a.title={len:r.len||140}:"ext"===n&&(a.ext=r,delete a.required);t.assets.push(a)}return t}(e.nativeParams))}))}function v(e){const t=e.assets;if(!Array.isArray(t)||0===t.length)return(0,i.vV)("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)))?((0,i.vV)("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)?((0,i.vV)("ortb.eventtrackers is not an array. Eventtrackers: ",e.eventtrackers),!1):t.every((e=>function(e){if(!(0,i.Qd)(e))return(0,i.vV)("asset must be an object. Provided asset: ",e),!1;if(e.img){if(!(0,i.Et)(e.img.w)&&!(0,i.Et)(e.img.wmin))return(0,i.vV)("for img asset there must be \'w\' or \'wmin\' property"),!1;if(!(0,i.Et)(e.img.h)&&!(0,i.Et)(e.img.hmin))return(0,i.vV)("for img asset there must be \'h\' or \'hmin\' property"),!1}else if(e.title){if(!(0,i.Et)(e.title.len))return(0,i.vV)("for title asset there must be \'len\' property defined"),!1}else if(e.data){if(!(0,i.Et)(e.data.type))return(0,i.vV)("for data asset \'type\' property must be a number"),!1}else if(e.video&&!(Array.isArray(e.video.mimes)&&Array.isArray(e.video.protocols)&&(0,i.Et)(e.video.minduration)&&(0,i.Et)(e.video.maxduration)))return(0,i.vV)("video asset is not properly configured"),!1;return!0}(e)))}function E(e){let{index:t=o.n.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=t.getAdUnit(e);if(!n)return!1;let s=n.nativeOrtbRequest;return function(e,t){if(!e?.link?.url)return(0,i.vV)("native response doesn\'t have \'link\' property. Ortb response: ",e),!1;let n=t.assets.filter((e=>1===e.required)).map((e=>e.id)),o=e.assets.map((e=>e.id));const s=n.every((e=>(0,r.mK)(o,e)));s||(0,i.vV)(`didn\'t receive a bid with all required assets. Required ids: ${n}, but received ids in response: ${o}`);return s}(e.native?.ortb||D(e.native,s),s)}function A(e,t){const n=t.native.ortb||S(t.native);return"click"===e.action?function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,{fetchURL:n=i.z$}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(t){const i=(e.assets||[]).filter((e=>e.link)).reduce(((e,t)=>(e[t.id]=t.link,e)),{}),r=e.link?.clicktrackers||[];let o=i[t],s=r;o&&(s=o.clicktrackers||[]),s.forEach((e=>n(e)))}else(e.link?.clicktrackers||[]).forEach((e=>n(e)))}(n,e?.assetId):function(e){let{runMarkup:t=(e=>(0,i.ro)(e)),fetchURL:n=i.z$}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=(e.eventtrackers||[]).filter((e=>e.event===h.impression));let{img:o,js:s}=r.reduce(((e,t)=>(p.hasOwnProperty(t.method)&&e[p[t.method]].push(t.url),e)),{img:[],js:[]});e.imptrackers&&(o=o.concat(e.imptrackers));o.forEach((e=>n(e))),s=s.map((e=>`<script async src="${e}"><\\/script>`)),e.jstracker&&(s=s.concat([e.jstracker]));s.length&&t(s.join("\\n"))}(n),e.action}function I(e,t){const n=t?.nativeOrtbRequest,i=e.native?.ortb;if(n&&i){const t=function(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===s.oA.MAIN?"image":"icon"]={url:t.img.url,width:t.img.w,height:t.img.h}:t.data&&(n[f[g[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===h.impression&&t.method===p.img&&n.impressionTrackers.push(t.url),t.event===h.impression&&t.method===p.js&&r.push(t.url);r=r.map((e=>`<script async src="${e}"><\\/script>`)),e?.jstracker&&r.push(e.jstracker);r.length&&(n.javascriptTrackers=r.join("\\n"));return n}(i,n);Object.assign(e.native,t)}["rendererUrl","adTemplate"].forEach((n=>{const i=t?.nativeParams?.[n];i&&(e.native[n]=R(i))}))}function T(e){let{index:t=o.n.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={};const i=t.getAdUnit(e),r=null==i?.nativeParams?.ortb&&!1!==i?.nativeParams?.sendTargetingKeys,a=function(e){const t={};e?.nativeParams?.ext&&Object.keys(e.nativeParams.ext).forEach((e=>{t[e]=`hb_native_${e}`}));return{...s.x5,...t}}(i),d={...e.native,...e.native.ext};return delete d.ext,Object.keys(d).forEach((t=>{const o=a[t];let s=R(e.native[t])||R(e?.native?.ext?.[t]);if("adTemplate"===t||!o||!s)return;let d=i?.nativeParams?.[t]?.sendId;if("boolean"!=typeof d&&(d=i?.nativeParams?.ext?.[t]?.sendId),d){s=`${o}:${e.adId}`}let c=i?.nativeParams?.[t]?.sendTargetingKeys;"boolean"!=typeof c&&(c=i?.nativeParams?.ext?.[t]?.sendTargetingKeys);("boolean"==typeof c?c:r)&&(n[o]=s)})),n}function w(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=[];return Object.entries(e).filter((e=>{let[i,r]=e;return r&&(!1===n&&"ext"===i||null==t||t.includes(i))})).forEach((e=>{let[r,o]=e;!1===n&&"ext"===r?i.push(...w(o,t,!0)):(n||s.x5.hasOwnProperty(r))&&i.push({key:r,value:R(o)})})),i}function C(e,t,n){let{index:r=o.n.index}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const c={message:"assetResponse",adId:e.adId};let u=(0,a.vd)(t).native;return u?(c.native=Object.assign({},u),c.renderer=(0,d.k)(t),null!=n&&(u.assets=u.assets.filter((e=>{let{key:t}=e;return n.includes(t)})))):u=function(e,t,n){const r={...(0,i.SH)(e.native,["rendererUrl","adTemplate"]),assets:w(e.native,n),nativeKeys:s.x5};return e.native.ortb?r.ortb=e.native.ortb:t.mediaTypes?.native?.ortb&&(r.ortb=D(e.native,t.nativeOrtbRequest)),r}(t,r.getAdUnit(t),n),Object.assign(c,u)}const B=Object.fromEntries(Object.entries(s.x5).map((e=>{let[t,n]=e;return[n,t]})));function O(e,t){const n=e.assets.map((e=>B[e]));return C(e,t,n)}function k(e,t){return C(e,t,null)}function R(e){return e?.url||e}function S(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:h.impression,method:p.img,url:e})}));break;case"javascriptTrackers":t.jstracker=Array.isArray(i)?i.join(""):i;break;case"privacyLink":t.privacy=i}})),t}function D(e,t){const n={...S(e),assets:[]};function r(e,r){let o=t.assets.find(e);null!=o&&(o=(0,i.Go)(o),r(o),n.assets.push(o))}return Object.keys(e).filter((t=>!!e[t])).forEach((t=>{const n=R(e[t]);switch(t){case"title":r((e=>null!=e.title),(e=>{e.title={text:n}}));break;case"image":case"icon":const e="image"===t?s.oA.MAIN:s.oA.ICON;r((t=>null!=t.img&&t.img.type===e),(e=>{e.img={url:n}}));break;default:t in s.h0&&r((e=>null!=e.data&&e.data.type===s.jO[s.h0[t]]),(e=>{e.data={value:n}}))}})),n}function U(e){var t={};for(var n in e)t[e[n]]=n;return t}},1e3:(e,t,n)=>{n.d(t,{Cf:()=>a,S3:()=>r,Tb:()=>o,WR:()=>s,pS:()=>l,qN:()=>d,yB:()=>f,zt:()=>i});const i=["request","imp","bidResponse","response"],[r,o,s,a]=i,[d,c]=["default","pbs"],u=new Set(i);const{registerOrtbProcessor:l,getProcessors:f}=function(){const e={};return{registerOrtbProcessor(t){let{type:n,name:r,fn:o,priority:s=0,dialects:a=[d]}=t;if(!u.has(n))throw new Error(`ORTB processor type must be one of: ${i.join(", ")}`);a.forEach((t=>{e.hasOwnProperty(t)||(e[t]={}),e[t].hasOwnProperty(n)||(e[t][n]={}),e[t][n][r]={priority:s,fn:o}}))},getProcessors:t=>e[t]||{}}}()},5901:(e,t,n)=>{function i(e,t,n){return e&&e.includes(t,n)||!1}function r(){return Array.from.apply(Array,arguments)}function o(e,t,n){return e&&e.find(t,n)}n.d(t,{A6:()=>r,I6:()=>o,mK:()=>i})},8261:(e,t,n)=>{var i=n(7873),r=n(1069),o=n(433),s=n(3172),a=n(2449),d=n(8969),c=n(5901),u=n(9075),l=n(6031);const{REQUEST:f,RESPONSE:g,NATIVE:p,EVENT:h}=d.nl,m={[f]:function(e,t,n){(0,u.bw)({renderFn(t){e(Object.assign({message:g,renderer:(0,l.k)(n)},t))},resizeFn:y(t.adId,n),options:t.options,adId:t.adId,bidResponse:n})},[h]:function(e,t,n){if(null==n)return void(0,r.vV)(`Cannot find ad \'${t.adId}\' for x-origin event request`);if(n.status!==d.tl.RENDERED)return void(0,r.JE)(`Received x-origin event request without corresponding render request for ad \'${n.adId}\'`);return(0,u.Uc)(t,n)}};function b(){window.addEventListener("message",(function(e){!function(e){var t=e.message?"message":"data",n={};try{n=JSON.parse(e[t])}catch(e){return}if(n&&n.adId&&n.message&&m.hasOwnProperty(n.message))(0,u.$A)(n.adId,n.message===d.nl.REQUEST).then((t=>{var i,o;m[n.message]((i=n.adId,o=function(e){return null==e.origin&&0===e.ports.length?function(){const e="Cannot post message to a frame with null origin. Please update creatives to use MessageChannel, see https://github.com/prebid/Prebid.js/issues/7870";throw(0,r.vV)(e),new Error(e)}:e.ports.length>0?function(t){e.ports[0].postMessage(JSON.stringify(t))}:function(t){e.source.postMessage(JSON.stringify(t),e.origin)}}(e),function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return o(Object.assign({},e,{adId:i}),...n)}),n,t)}))}(e)}),!1)}function y(e,t){return function(n,i){!function(e){let{adId:t,adUnitCode:n,width:i,height:o}=e;function s(e){return e?e+"px":"100%"}function a(e){let i=d(t,n),r=document.getElementById(i);return r&&r.querySelector(e)}function d(e,t){return(0,r.II)()?u(e):(0,r.t1)()?l(t):t}function u(e){const t=(0,c.I6)(window.googletag.pubads().getSlots(),(t=>(0,c.I6)(t.getTargetingKeys(),(n=>(0,c.mK)(t.getTargeting(n),e)))));return t?t.getSlotElementId():null}function l(e){let t=window.apntag.getTag(e);return t&&t.targetId}["div","iframe"].forEach((e=>{let t=a(e+\':not([style*="display: none"])\');if(t){let e=t.style;e.width=s(i),e.height=s(o)}else(0,r.vV)(`Unable to locate matching page element for adUnitCode ${n}. Can\'t resize it to ad\'s dimensions. Please review setup.`)}))}({...t,width:n,height:i,adId:e})}}Object.assign(m,{[p]:function(e,t,n){if(null==n)return void(0,r.vV)(`Cannot find ad for x-origin event request: \'${t.adId}\'`);switch(t.action){case"assetRequest":(0,u.Hh)(n,(()=>e((0,a.IX)(t,n))));break;case"allAssetRequest":(0,u.Hh)(n,(()=>e((0,a.yl)(t,n))));break;default:(0,u.vW)(t,n,{resizeFn:y(t.adId,n)}),(0,u.Pk)(n)}}});var v=n(8230),E=n(3272),A=n(6881),I=n(7779),T=n(9214),w=n(3597),C=n(1580),B=n(5555),O=n(5569);const k="__pbjs_debugging__";function R(){return(0,i.m)().installedModules.includes("debugging")}function S(e){return new B.k((t=>{(0,C.R)(e,O.tp,"debugging",t)}))}function D(){let{alreadyInstalled:e=R,script:t=S}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null;return function(){return null==n&&(n=new B.k(((n,o)=>{setTimeout((()=>{if(e())n();else{const e="https://cdn.jsdelivr.net/npm/prebid.js@9.23.0/dist/debugging-standalone.js";(0,r.OG)(`Debugging module not installed, loading it from "${e}"...`),(0,i.m)()._installDebugging=!0,t(e).then((()=>{(0,i.m)()._installDebugging({DEBUG_KEY:k,hook:T.A_,config:E.$W,createBid:w.O,logger:(0,r.h0)("DEBUG:")})})).then(n,o)}}))}))),n}}const U=function(){let{load:e=D(),hook:t=(0,T.Yn)("requestBids")}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null,i=!1;function r(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];return(n||B.k.resolve()).then((()=>e.apply(this,i)))}function o(){t.getHooks({hook:r}).remove(),i=!1}return{enable:function(){i||(n=e(),t.before(r,99),i=!0)},disable:o,reset:function(){n=null,o()}}}();U.reset;E.$W.getConfig("debugging",(function(e){let{debugging:t}=e;t?.enabled?U.enable():U.disable()}));var _=n(2938),$=n(8046),j=n(5023),q=n(6894),x=n(1970),N=n(6916),P=n(2713),W=n(3895);const V=new Map([["format",e=>Array.isArray(e)&&e.length>0&&e.every((e=>"object"==typeof e))],["w",r.Fq],["h",r.Fq],["btype",r.Uu],["battr",r.Uu],["pos",r.Fq],["mimes",e=>Array.isArray(e)&&e.length>0&&e.every((e=>"string"==typeof e))],["topframe",e=>[1,0].includes(e)],["expdir",r.Uu],["api",r.Uu],["id",r.O8],["vcm",e=>[1,0].includes(e)]]);var M=n(1371);const G=(0,i.m)(),{triggerUserSyncs:F}=v.zt,{ADD_AD_UNITS:H,REQUEST_BIDS:L,SET_TARGETING:z}=d.qY,J={bidWon:function(e){if(!A.n.getBidsRequested().map((e=>e.bids.map((e=>e.adUnitCode)))).reduce(r.Bq).filter(r.hj).includes(e))return void(0,r.vV)(\'The "\'+e+\'" placement is not defined.\');return!0}};function K(e,t){let n=[];return(0,r.cy)(e)&&(t?e.length===t:e.length>0)&&(e.every((e=>(0,r.Uu)(e,2)))?n=e:(0,r.Uu)(e,2)&&n.push(e)),n}function Q(e,t){const n=(0,o.A)(e,`ortb2Imp.${t}`),i=(0,o.A)(e,`mediaTypes.${t}`);if(!n&&!i)return;const a={[M.G_]:W.Zy,[M.D4]:V}[t];a&&[...a].forEach((n=>{let[i,a]=n;const d=(0,o.A)(e,`mediaTypes.${t}.${i}`),c=(0,o.A)(e,`ortb2Imp.${t}.${i}`);null==d&&null==c||(null==d?(0,s.J)(e,`mediaTypes.${t}.${i}`,c):null==c?(0,s.J)(e,`ortb2Imp.${t}.${i}`,d):((0,r.JE)(`adUnit ${e.code}: specifies conflicting ortb2Imp.${t}.${i} and mediaTypes.${t}.${i}, the latter will be ignored`,e),(0,s.J)(e,`mediaTypes.${t}.${i}`,c)))}))}function Y(e){const t=(0,r.Go)(e),n=t.mediaTypes.banner,i=K(n.sizes);return i.length>0?(n.sizes=i,t.sizes=i):((0,r.vV)("Detected a mediaTypes.banner object without a proper sizes field. Please ensure the sizes are listed like: [[300, 250], ...]. Removing invalid mediaTypes.banner object from request."),delete t.mediaTypes.banner),Q(t,"banner"),t}function X(e){const t=(0,r.Go)(e),n=t.mediaTypes.video;if(n.playerSize){let e="number"==typeof n.playerSize[0]?2:1;const i=K(n.playerSize,e);i.length>0?(2===e&&(0,r.fH)("Transforming video.playerSize from [640,480] to [[640,480]] so it\'s in the proper format."),n.playerSize=i,t.sizes=i):((0,r.vV)("Detected incorrect configuration of mediaTypes.video.playerSize. Please specify only one set of dimensions in a format like: [[640, 480]]. Removing invalid mediaTypes.video.playerSize property from request."),delete t.mediaTypes.video.playerSize)}return(0,W.aP)(t),Q(t,"video"),t}function Z(e){function t(t){return(0,r.vV)(`Error in adUnit "${e.code}": ${t}. Removing native request from ad unit`,e),delete i.mediaTypes.native,i}function n(e){for(const t of["sendTargetingKeys","types"])if(o.hasOwnProperty(t)){const n=e(t);if(n)return n}}const i=(0,r.Go)(e),o=i.mediaTypes.native;if(o.ortb){if(o.ortb.assets?.some((e=>!(0,r.Et)(e.id)||e.id<0||e.id%1!=0)))return t("native asset ID must be a nonnegative integer");if(n((e=>t(`ORTB native requests cannot specify "${e}"`))))return i;const e=Object.keys(d.x5).filter((e=>d.x5[e].includes("hb_native_"))),s=Object.keys(o).filter((t=>e.includes(t)));s.length>0&&((0,r.vV)(`when using native OpenRTB format, you cannot use legacy native properties. Deleting ${s} keys from request.`),s.forEach((e=>delete i.mediaTypes.native[e])))}else n((e=>`mediaTypes.native.${e} is deprecated, consider using native ORTB instead`));return o.image&&o.image.sizes&&!Array.isArray(o.image.sizes)&&((0,r.vV)("Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request."),delete i.mediaTypes.native.image.sizes),o.image&&o.image.aspect_ratios&&!Array.isArray(o.image.aspect_ratios)&&((0,r.vV)("Please use an array of sizes for native.image.aspect_ratios field. Removing invalid mediaTypes.native.image.aspect_ratios property from request."),delete i.mediaTypes.native.image.aspect_ratios),o.icon&&o.icon.sizes&&!Array.isArray(o.icon.sizes)&&((0,r.vV)("Please use an array of sizes for native.icon.sizes field. Removing invalid mediaTypes.native.icon.sizes property from request."),delete i.mediaTypes.native.icon.sizes),i}function ee(e,t){let n=e?.mediaTypes?.[t]?.pos;if(!(0,r.Et)(n)||isNaN(n)||!isFinite(n)){let n=`Value of property \'pos\' on ad unit ${e.code} should be of type: Number`;(0,r.JE)(n),delete e.mediaTypes[t].pos}return e}function te(e){const t=t=>`adUnit.code \'${e.code}\' ${t}`,n=e.mediaTypes,i=e.bids;return null==i||(0,r.cy)(i)?null==i&&null==e.ortb2Imp?((0,r.vV)(t("has no \'adUnit.bids\' and no \'adUnit.ortb2Imp\'. Removing adUnit from auction")),null):n&&0!==Object.keys(n).length?(null==e.ortb2Imp||null!=i&&0!==i.length||(e.bids=[{bidder:null}],(0,r.OG)(t("defines \'adUnit.ortb2Imp\' with no \'adUnit.bids\'; it will be seen only by S2S adapters"))),e):((0,r.vV)(t("does not define a \'mediaTypes\' object. This is a required field for the auction, so this adUnit has been removed.")),null):((0,r.vV)(t("defines \'adUnit.bids\' that is not an array. Removing adUnit from auction")),null)}!function(){let e=null;try{e=window.sessionStorage}catch(e){}if(null!==e){let t=U,n=null;try{n=e.getItem(k)}catch(e){}null!==n&&t.enable()}}(),G.bidderSettings=G.bidderSettings||{},G.libLoaded=!0,G.version="v9.23.0",(0,r.fH)("Prebid.js v9.23.0 loaded"),G.installedModules=G.installedModules||[],G.adUnits=G.adUnits||[],G.triggerUserSyncs=F;const ne={validateAdUnit:te,validateBannerMediaType:Y,validateSizes:K};Object.assign(ne,{validateNativeMediaType:Z}),Object.assign(ne,{validateVideoMediaType:X});const ie=(0,T.A_)("sync",(function(e){const t=[];return e.forEach((e=>{if(null==(e=te(e)))return;const n=e.mediaTypes;let i,r,o;n.banner&&(i=Y(e),n.banner.hasOwnProperty("pos")&&(i=ee(i,"banner"))),n.video&&(r=X(i||e),n.video.hasOwnProperty("pos")&&(r=ee(r,"video"))),n.native&&(o=Z(r||(i||e)));const s=Object.assign({},i,r,o);t.push(s)})),t}),"checkAdUnitSetup");function re(e){const t=A.n[e]().filter((e=>A.n.getAdUnitCodes().includes(e.adUnitCode))),n=A.n.getLastAuctionId();return t.map((e=>e.adUnitCode)).filter(r.hj).map((e=>t.filter((t=>t.auctionId===n&&t.adUnitCode===e)))).filter((e=>e&&e[0]&&e[0].adUnitCode)).map((e=>({[e[0].adUnitCode]:{bids:e}}))).reduce(((e,t)=>Object.assign(e,t)),{})}G.getAdserverTargetingForAdUnitCodeStr=function(e){if((0,r.fH)("Invoking pbjs.getAdserverTargetingForAdUnitCodeStr",arguments),e){var t=G.getAdserverTargetingForAdUnitCode(e);return(0,r.$D)(t)}(0,r.OG)("Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode")},G.getHighestUnusedBidResponseForAdUnitCode=function(e){if(e){const t=A.n.getAllBidsForAdUnitCode(e).filter(I.Yl);return t.length?t.reduce(P.Vk):{}}(0,r.OG)("Need to call getHighestUnusedBidResponseForAdUnitCode with adunitCode")},G.getAdserverTargetingForAdUnitCode=function(e){return G.getAdserverTargeting(e)[e]},G.getAdserverTargeting=function(e){return(0,r.fH)("Invoking pbjs.getAdserverTargeting",arguments),I.iS.getAllTargeting(e)},G.getConsentMetadata=function(){return(0,r.fH)("Invoking pbjs.getConsentMetadata"),N.SL.getConsentMeta()},G.getNoBids=function(){return(0,r.fH)("Invoking pbjs.getNoBids",arguments),re("getNoBids")},G.getNoBidsForAdUnitCode=function(e){return{bids:A.n.getNoBids().filter((t=>t.adUnitCode===e))}},G.getBidResponses=function(){return(0,r.fH)("Invoking pbjs.getBidResponses",arguments),re("getBidsReceived")},G.getBidResponsesForAdUnitCode=function(e){return{bids:A.n.getBidsReceived().filter((t=>t.adUnitCode===e))}},G.setTargetingForGPTAsync=function(e,t){(0,r.fH)("Invoking pbjs.setTargetingForGPTAsync",arguments),(0,r.II)()?I.iS.setTargetingForGPT(e,t):(0,r.vV)("window.googletag is not defined on the page")},G.setTargetingForAst=function(e){(0,r.fH)("Invoking pbjs.setTargetingForAn",arguments),I.iS.isApntagDefined()?(I.iS.setTargetingForAst(e),j.Ic(z,I.iS.getAllTargeting())):(0,r.vV)("window.apntag is not defined on the page")},G.renderAd=(0,T.A_)("async",(function(e,t,n){(0,r.fH)("Invoking pbjs.renderAd",arguments),(0,r.OG)("Calling renderAd with adId :"+t),(0,u.BS)(e,t,n)})),G.removeAdUnit=function(e){if((0,r.fH)("Invoking pbjs.removeAdUnit",arguments),!e)return void(G.adUnits=[]);let t;t=(0,r.cy)(e)?e:[e],t.forEach((e=>{for(let t=G.adUnits.length-1;t>=0;t--)G.adUnits[t].code===e&&G.adUnits.splice(t,1)}))},G.requestBids=function(){const e=(0,T.A_)("async",(function(){let{bidsBackHandler:e,timeout:t,adUnits:n,adUnitCodes:i,labels:o,auctionId:s,ttlBuffer:a,ortb2:d,metrics:u,defer:l}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};j.Ic(L);const f=t||E.$W.getConfig("bidderTimeout");(0,r.fH)("Invoking pbjs.requestBids",arguments),null==i||Array.isArray(i)||(i=[i]),i&&i.length?n=n.filter((e=>(0,c.mK)(i,e.code))):i=n&&n.map((e=>e.code)),i=i.filter(r.hj);const g={global:(0,r.D9)({},E.$W.getAnyConfig("ortb2")||{},d||{}),bidder:Object.fromEntries(Object.entries(E.$W.getBidderConfig()).map((e=>{let[t,n]=e;return[t,(0,r.Go)(n.ortb2)]})).filter((e=>{let[t,n]=e;return null!=n})))};return(0,x.w)(B.k.resolve(g.global)).then((t=>(g.global=t,oe({bidsBackHandler:e,timeout:f,adUnits:n,adUnitCodes:i,labels:o,auctionId:s,ttlBuffer:a,ortb2Fragments:g,metrics:u,defer:l}))))}),"requestBids");return(0,T.Y6)(e,(function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.adUnits||G.adUnits;return t.adUnits=(0,r.cy)(n)?n.slice():[n],t.metrics=(0,q.K7)(),t.metrics.checkpoint("requestBids"),t.defer=(0,B.v)({promiseFactory:e=>new Promise(e)}),e.call(this,t),t.defer.promise}))}();const oe=(0,T.A_)("async",(function(){let{bidsBackHandler:e,timeout:t,adUnits:n,ttlBuffer:i,adUnitCodes:o,labels:a,auctionId:d,ortb2Fragments:u,metrics:l,defer:f}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const g=(0,$.pX)(E.$W.getConfig("s2sConfig")||[]);function p(t,n,i){if("function"==typeof e)try{e(t,n,i)}catch(e){(0,r.vV)("Error executing bidsBackHandler",null,e)}f.resolve({bids:t,timedOut:n,auctionId:i})}!function(e){e.forEach((e=>(0,W.V0)(e)))}(n),n=(0,q.BO)(l).measureTime("requestBids.validate",(()=>ie(n)));const h={};if(n.forEach((e=>{const t=Object.keys(e.mediaTypes||{banner:"banner"}),n=e.bids.map((e=>e.bidder)),o=$.Ay.bidderRegistry,s=n.filter((e=>!g.has(e)));e.adUnitId=(0,r.lk)();const a=e.ortb2Imp?.ext?.tid;a&&(h.hasOwnProperty(e.code)?(0,r.JE)(`Multiple distinct ortb2Imp.ext.tid were provided for twin ad units \'${e.code}\'`):h[e.code]=a),null==i||e.hasOwnProperty("ttlBuffer")||(e.ttlBuffer=i),s.forEach((n=>{const i=o[n],s=i&&i.getSpec&&i.getSpec(),a=s&&s.supportedMediaTypes||["banner"];t.some((e=>(0,c.mK)(a,e)))||((0,r.JE)((0,r.bz)(e,n)),e.bids=e.bids.filter((e=>e.bidder!==n)))}))})),n&&0!==n.length){n.forEach((e=>{const t=e.ortb2Imp?.ext?.tid||h[e.code]||(0,r.lk)();h.hasOwnProperty(e.code)||(h[e.code]=t),e.transactionId=t,(0,s.J)(e,"ortb2Imp.ext.tid",t)}));const e=A.n.createAuction({adUnits:n,adUnitCodes:o,callback:p,cbTimeout:t,labels:a,auctionId:d,ortb2Fragments:u,metrics:l});let i=n.length;i>15&&(0,r.fH)(`Current auction ${e.getAuctionId()} contains ${i} adUnits.`,n),o.forEach((t=>I.iS.setLatestAuctionForAdUnit(t,e.getAuctionId()))),e.callBids()}else(0,r.OG)("No adUnits configured. No bids requested."),p()}),"startAuction");G.requestBids.before((function(e,t){function n(e){for(var t;t=e.shift();)t()}n(_.s0),n(se),e.call(this,t)}),49),G.addAdUnits=function(e){(0,r.fH)("Invoking pbjs.addAdUnits",arguments),G.adUnits.push.apply(G.adUnits,(0,r.cy)(e)?e:[e]),j.Ic(H)},G.onEvent=function(e,t,n){(0,r.fH)("Invoking pbjs.onEvent",arguments),(0,r.fp)(t)?!n||J[e].call(null,n)?j.on(e,t,n):(0,r.vV)(\'The id provided is not valid for event "\'+e+\'" and no handler was set.\'):(0,r.vV)(\'The event handler provided is not a function and was not set on event "\'+e+\'".\')},G.offEvent=function(e,t,n){(0,r.fH)("Invoking pbjs.offEvent",arguments),n&&!J[e].call(null,n)||j.AU(e,t,n)},G.getEvents=function(){return(0,r.fH)("Invoking pbjs.getEvents"),j.kQ()},G.registerBidAdapter=function(e,t){(0,r.fH)("Invoking pbjs.registerBidAdapter",arguments);try{$.Ay.registerBidAdapter(e(),t)}catch(e){(0,r.vV)("Error registering bidder adapter : "+e.message)}},G.registerAnalyticsAdapter=function(e){(0,r.fH)("Invoking pbjs.registerAnalyticsAdapter",arguments);try{$.Ay.registerAnalyticsAdapter(e)}catch(e){(0,r.vV)("Error registering analytics adapter : "+e.message)}},G.createBid=function(e){return(0,r.fH)("Invoking pbjs.createBid",arguments),(0,w.O)(e)};const se=[],ae=(0,T.A_)("async",(function(e){e&&!(0,r.Im)(e)?((0,r.fH)("Invoking pbjs.enableAnalytics for: ",e),$.Ay.enableAnalytics(e)):(0,r.vV)("pbjs.enableAnalytics should be called with option {}")}),"enableAnalyticsCb");function de(e){if("function"==typeof e)try{e.call()}catch(e){(0,r.vV)("Error processing command :",e.message,e.stack)}else(0,r.vV)("Commands written into pbjs.cmd.push must be wrapped in a function")}function ce(e){e.forEach((function(e){if(void 0===e.called)try{e.call(),e.called=!0}catch(e){(0,r.vV)("Error processing command :","prebid.js",e)}}))}G.enableAnalytics=function(e){se.push(ae.bind(this,e))},G.aliasBidder=function(e,t,n){(0,r.fH)("Invoking pbjs.aliasBidder",arguments),e&&t?$.Ay.aliasBidAdapter(e,t,n):(0,r.vV)("bidderCode and alias must be passed as arguments","pbjs.aliasBidder")},G.aliasRegistry=$.Ay.aliasRegistry,E.$W.getConfig("aliasRegistry",(e=>{"private"===e.aliasRegistry&&delete G.aliasRegistry})),G.getAllWinningBids=function(){return A.n.getAllWinningBids()},G.getAllPrebidWinningBids=function(){return A.n.getBidsReceived().filter((e=>e.status===d.tl.BID_TARGETING_SET))},G.getHighestCpmBids=function(e){return I.iS.getWinningBids(e)},G.clearAllAuctions=function(){A.n.clearAllAuctions()},G.markWinningBidAsUsed=function(e){let t,{adId:n,adUnitCode:i,analytics:o=!1}=e;i&&null==n?t=I.iS.getWinningBids(i):n?t=A.n.getBidsReceived().filter((e=>e.adId===n)):(0,r.JE)("Improper use of markWinningBidAsUsed. It needs an adUnitCode or an adId to function."),t.length>0&&(o?(0,u.n6)(t[0]):A.n.addWinningBid(t[0]),(0,u.qn)(t[0]))},G.getConfig=E.$W.getAnyConfig,G.readConfig=E.$W.readAnyConfig,G.mergeConfig=E.$W.mergeConfig,G.mergeBidderConfig=E.$W.mergeBidderConfig,G.setConfig=E.$W.setConfig,G.setBidderConfig=E.$W.setBidderConfig,G.que.push((()=>b())),G.processQueue=function(){G.que.push=G.cmd.push=de,(0,u.XO)(),T.A_.ready(),ce(G.que),ce(G.cmd)},G.triggerBilling=e=>{let{adId:t,adUnitCode:n}=e;A.n.getAllWinningBids().filter((e=>e.adId===t||null==t&&e.adUnitCode===n)).forEach((e=>{$.Ay.triggerBilling(e),(0,u.vB)(e)}))}},7873:(e,t,n)=>{n.d(t,{E:()=>s,m:()=>o});const i=window,r=i.pbjs=i.pbjs||{};function o(){return r}function s(e){r.installedModules.push(e)}r.cmd=r.cmd||[],r.que=r.que||[],i===window&&(i._pbjsGlobals=i._pbjsGlobals||[],i._pbjsGlobals.push("pbjs"))},7934:(e,t,n)=>{n.d(t,{EN:()=>d,gR:()=>s});var i=n(3272),r=n(1069);function o(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 s(e){let{noLeadingWww:t=!1,noPort:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{e=new URL(o(e))}catch(e){return}return e=n?e.hostname:e.host,t&&e.startsWith("www.")&&(e=e.substring(4)),e}function a(e){try{const t=e.querySelector("link[rel=\'canonical\']");if(null!==t)return t.href}catch(e){}return null}const d=function(e){let t,n,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;return r.top!==r?e:function(){const o=a(r.document),s=r.location.href;return t===o&&s===n||(t=o,n=s,i=e()),i}}((c=window,function(){const e=[],t=function(e){try{if(!e.location.ancestorOrigins)return;return e.location.ancestorOrigins}catch(e){}}(c),n=i.$W.getConfig("maxNestedIframes");let d,u,l,f,g=!1,p=0,h=!1,m=!1,b=!1;do{const n=d,i=m;let o,s=!1,f=null;m=!1,d=d?d.parent:c;try{o=d.location.href||null}catch(e){s=!0}if(s)if(i){const e=n.context;try{f=e.sourceUrl,u=f,b=!0,h=!0,d===c.top&&(g=!0),e.canonicalUrl&&(l=e.canonicalUrl)}catch(e){}}else{(0,r.JE)("Trying to access cross domain iframe. Continuing without referrer and location");try{const e=n.document.referrer;e&&(f=e,d===c.top&&(g=!0))}catch(e){}!f&&t&&t[p-1]&&(f=t[p-1],d===c.top&&(b=!0)),f&&!h&&(u=f)}else{if(o&&(f=o,u=f,h=!1,d===c.top)){g=!0;const e=a(d.document);e&&(l=e)}d.context&&d.context.sourceUrl&&(m=!0)}e.push(f),p++}while(d!==c.top&&p<n);e.reverse();try{f=c.top.document.referrer}catch(e){}const y=g||b?u:null,v=i.$W.getConfig("pageUrl")||l||null;let E=i.$W.getConfig("pageUrl")||y||o(v,c);return y&&y.indexOf("?")>-1&&-1===E.indexOf("?")&&(E=`${E}${y.substring(y.indexOf("?"))}`),{reachedTop:g,isAmp:h,numIframes:p-1,stack:e,topmostLocation:u||null,location:y,canonicalUrl:v,page:E,domain:s(E)||null,ref:f||null,legacy:{reachedTop:g,isAmp:h,numIframes:p-1,stack:e,referer:u||null,canonicalUrl:v}}}));var c},2938:(e,t,n)=>{n.d(t,{CK:()=>b,s0:()=>p,vM:()=>m});var i=n(1069),r=n(2693),o=n(5569),s=n(5139),a=n(2604),d=n(6811),c=n(3272),u=n(8046),l=n(3441);const f="html5",g="cookie";let p=[];function h(){let{moduleName:e,moduleType:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{isAllowed:n=s.io}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};function r(i,r){let s=e;const f=c.$W.getCurrentBidder();f&&t===o.tW&&u.Ay.aliasRegistry[f]===e&&(s=f);return i({valid:n(d.Ue,(0,l.s)(t,s,{[a.Zw]:r}))})}function h(e,t,n){if(!n||"function"!=typeof n)return r(e,t);p.push((function(){let i=r(e,t);n(i)}))}function m(e){const t=e.charAt(0).toUpperCase()+e.substring(1),n=()=>window[e],r=function(t){return h((function(t){if(t&&t.valid)try{return!!n()}catch(t){(0,i.vV)(`${e} api disabled`)}return!1}),f,t)};return{[`has${t}`]:r,[`${e}IsEnabled`]:e=>h((function(e){if(e&&e.valid)try{return n().setItem("prebid.cookieTest","1"),"1"===n().getItem("prebid.cookieTest")}catch(e){}finally{try{n().removeItem("prebid.cookieTest")}catch(e){}}return!1}),f,e),[`setDataIn${t}`]:(e,t,i)=>h((function(i){i&&i.valid&&r()&&n().setItem(e,t)}),f,i),[`getDataFrom${t}`]:(e,t)=>h((function(t){return t&&t.valid&&r()?n().getItem(e):null}),f,t),[`removeDataFrom${t}`]:(e,t)=>h((function(t){t&&t.valid&&r()&&n().removeItem(e)}),f,t)}}return{setCookie:function(e,t,n,i,r,o){return h((function(o){if(o&&o.valid){const o=r&&""!==r?` ;domain=${encodeURIComponent(r)}`:"",s=n&&""!==n?` ;expires=${n}`:"",a=null!=i&&"none"==i.toLowerCase()?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}${s}; path=/${o}${i?`; SameSite=${i}`:""}${a}`}}),g,o)},getCookie:function(e,t){return h((function(t){if(t&&t.valid){let t=window.document.cookie.match("(^|;)\\\\s*"+e+"\\\\s*=\\\\s*([^;]*)\\\\s*(;|$)");return t?decodeURIComponent(t[2]):null}return null}),g,t)},cookiesAreEnabled:function(e){return h((function(e){return!(!e||!e.valid)&&(0,i.GE)()}),g,e)},...m("localStorage"),...m("sessionStorage"),findSimilarCookies:function(e,t){return h((function(t){if(t&&t.valid){const t=[];if((0,i.N9)()){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}}),g,t)}}}function m(){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!==o.tW||t)&&i(),e=o.tW,t=n):t&&e||i(),h({moduleType:e,moduleName:t})}function b(e){return h({moduleName:e,moduleType:o.tp})}(0,s.qB)(d.Ue,"deviceAccess config",(function(){if(!(0,i.N9)())return{allow:!1}})),(0,s.qB)(d.Ue,"bidderSettings.*.storageAllowed",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r.u;if(e[a.Dk]!==o.tW)return;let n=t.get(e[a.q7],"storageAllowed");if(n&&!0!==n){const t=e[a.Zw];n=Array.isArray(n)?n.some((e=>e===t)):n===t}else n=!!n;return n?void 0:{allow:n}}))},7779:(e,t,n)=>{n.d(t,{Yl:()=>T,iS:()=>O,uW:()=>I});var i=n(6881),r=n(7863),o=n(2693),s=n(3272),a=n(8969),d=n(5023),c=n(9214),u=n(1371),l=n(2449),f=n(5901),g=n(1069),p=n(433),h=n(2713),m=[];const b=20,y="targetingControls.allowTargetingKeys",v="targetingControls.addTargetingKeys",E=`Only one of "${y}" or "${v}" can be set`,A=Object.keys(a.xS).map((e=>a.xS[e]));let I={isActualBid:e=>e.getStatusCode()===a.XQ.GOOD,isBidNotExpired:e=>e.responseTimestamp+1e3*(0,r.cT)(e)>(0,g.vE)(),isUnusedBid:e=>e&&(e.status&&!(0,f.mK)([a.tl.RENDERED],e.status)||!e.status)};function T(e){return!Object.values(I).some((t=>!t(e)))}const w=(0,c.A_)("sync",(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:g.Q0;if(!i){const i=[],o=s.$W.getConfig("sendBidsControl.dealPrioritization");let a=(0,g.$z)(e,"adUnitCode");return Object.keys(a).forEach((e=>{let s=[],d=(0,g.$z)(a[e],"bidderCode");Object.keys(d).forEach((e=>{s.push(d[e].reduce(t))})),n?(s=o?s.sort(C(!0)):s.sort(((e,t)=>t.cpm-e.cpm)),i.push(...s.slice(0,n))):(s=s.sort(r),i.push(...s))})),i}return e}));function C(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){return void 0!==t.adserverTargeting.hb_deal&&void 0===n.adserverTargeting.hb_deal?-1:void 0===t.adserverTargeting.hb_deal&&void 0!==n.adserverTargeting.hb_deal?1:e?n.cpm-t.cpm:n.adserverTargeting.hb_pb-t.adserverTargeting.hb_pb}}function B(e,t){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>window.googletag.pubads().getSlots())().reduce(((e,n)=>{const i=(0,g.fp)(t)&&t(n);return Object.keys(e).filter((0,g.fp)(i)?i:(0,g.iC)(n)).forEach((t=>e[t].push(n))),e}),Object.fromEntries(e.map((e=>[e,[]]))))}const O=function(e){let t={},n={};function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const i=A.concat(l.Nh),r=s.$W.getConfig("targetingControls.allowSendAllBidsTargetingKeys"),o=r?r.map((e=>a.xS[e])):i;return e.reduce(((e,r)=>{if(t||n&&r.dealId){const t=function(e,t){return t.reduce(((t,n)=>(e.adserverTargeting[n]&&t.push({[`${n}_${e.bidderCode}`.substring(0,20)]:[e.adserverTargeting[n]]}),t)),[])}(r,i.filter((e=>void 0!==r.adserverTargeting[e]&&(n||-1!==o.indexOf(e)))));t&&e.push({[r.adUnitCode]:t})}return e}),[])}function r(t){return"string"==typeof t?[t]:(0,g.cy)(t)?t:e.getAdUnitCodes()||[]}function I(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:h.Bq,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,r=e.getBidsReceived().reduce(((e,t)=>{const i=s.$W.getConfig("useBidCache"),r=s.$W.getConfig("bidCacheFilterFunction"),o=n[t.adUnitCode]===t.auctionId,a=!(i&&!o&&"function"==typeof r)||!!r(t);return(i||o)&&a&&(0,p.A)(t,"video.context")!==u.LM&&T(t)&&(t.latestTargetedAuctionId=n[t.adUnitCode],e.push(t)),e}),[]);return w(r,t,void 0,void 0,void 0,i)}function O(){return e.getStandardBidderAdServerTargeting().map((e=>e.key)).concat(A).filter(g.hj)}return t.setLatestAuctionForAdUnit=function(e,t){n[e]=t},t.resetPresetTargeting=function(e,t){if((0,g.II)()){const n=r(e);Object.values(B(n,t)).forEach((e=>{e.forEach((e=>{!function(e){m.forEach((t=>{e.getTargeting(t)&&e.clearTargeting(t)}))}(e)}))}))}},t.resetPresetTargetingAST=function(e){r(e).forEach((function(e){const t=window.apntag.getTag(e);if(t&&t.keywords){const n=Object.keys(t.keywords),i={};n.forEach((e=>{(0,f.mK)(m,e.toLowerCase())||(i[e]=t.keywords[e])})),window.apntag.modifyTag(e,{keywords:i})}}))},t.getAllTargeting=function(t,n,d){let c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:h.Vk,u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:g.Q0;d||=I(c,u);const A=r(t),T=s.$W.getConfig("enableSendAllBids"),B=s.$W.getConfig("sendBidsControl.bidLimit"),k=T&&(n||B)||0,{customKeysByUnit:R,filteredBids:S}=function(e,t){const n=[],i={},r=s.$W.getConfig("targetingControls.alwaysIncludeDeals");return t.forEach((t=>{const s=(0,f.mK)(e,t.adUnitCode),a=!0===o.u.get(t.bidderCode,"allowZeroCpmBids")?t.cpm>=0:t.cpm>0,d=r&&t.dealId;s&&(d||a)&&(n.push(t),Object.keys(t.adserverTargeting).filter(function(){let e=O();e=e.concat(l.Nh);return function(t){return-1===e.indexOf(t)}}()).forEach((e=>{const n=e.substring(0,b),r=i[t.adUnitCode]||{},o=[t.adserverTargeting[e]];r[n]?r[n]=r[n].concat(o).filter(g.hj):r[n]=o,i[t.adUnitCode]=r})))})),{filteredBids:n,customKeysByUnit:i}}(A,d);let D=function(t,n){const r=function(e){let t=[],n=e.reduce(((e,n)=>((0,f.mK)(t,n.adUnitCode)||(e.push(n),t.push(n.adUnitCode)),e)),[]),i=O();return n=n.map((e=>({[e.adUnitCode]:Object.keys(e.adserverTargeting).filter((t=>void 0===e.sendStandardTargeting||e.sendStandardTargeting||-1===i.indexOf(t))).reduce(((t,n)=>{const i=[e.adserverTargeting[n]],r={[n.substring(0,b)]:i};if(n===a.xS.DEAL){const o=`${n}_${e.bidderCode}`.substring(0,b),s={[o]:i};return[...t,r,s]}return[...t,r]}),[])}))),n}(t).concat(function(e,t){return e.reduce(((e,n)=>{const i=Object.assign({},n),r=t[i.adUnitCode],o=[];return r&&Object.keys(r).forEach((e=>{e&&r[e]&&o.push({[e]:r[e]})})),e.push({[i.adUnitCode]:o}),e}),[])}(t,n)).concat(function(e){const t=s.$W.getConfig("targetingControls.alwaysIncludeDeals");return i(e,s.$W.getConfig("enableSendAllBids"),t)}(t)).concat(function(){function t(e){return(0,p.A)(e,a.iD.ADSERVER_TARGETING)}function n(e){const n=t(e);return Object.keys(n).map((function(e){return(0,g.O8)(n[e])&&(n[e]=n[e].split(",").map((e=>e.trim()))),(0,g.cy)(n[e])||(n[e]=[n[e]]),{[e]:n[e]}}))}return e.getAdUnits().filter((e=>t(e))).reduce(((e,t)=>{const i=n(t);return i&&e.push({[t.code]:i}),e}),[])}());return r.forEach((e=>{!function(e){Object.keys(e).forEach((t=>{e[t].forEach((e=>{const t=Object.keys(e);-1===m.indexOf(t[0])&&(m=t.concat(m))}))}))}(e)})),r}(w(S,c,k,void 0,u),R);const U=Object.keys(Object.assign({},a.Zh,a.x5));let _=s.$W.getConfig(y);const $=s.$W.getConfig(v);if(null!=$&&null!=_)throw new Error(E);_=null!=$?U.concat($):_||U,Array.isArray(_)&&_.length>0&&(D=function(e,t){const n=Object.assign({},a.xS,a.x5),i=Object.keys(n),r={};(0,g.fH)(`allowTargetingKeys - allowed keys [ ${t.map((e=>n[e])).join(", ")} ]`),e.map((e=>{const o=Object.keys(e)[0],s=e[o].filter((e=>{const o=Object.keys(e)[0],s=0===i.filter((e=>0===o.indexOf(n[e]))).length||(0,f.I6)(t,(e=>{const t=n[e];return 0===o.indexOf(t)}));return r[o]=!s,s}));e[o]=s}));const o=Object.keys(r).filter((e=>r[e]));return(0,g.fH)(`allowTargetingKeys - removed keys [ ${o.join(", ")} ]`),e.filter((e=>e[Object.keys(e)[0]].length>0))}(D,_)),D=function(e){let t=e.map((e=>({[Object.keys(e)[0]]:e[Object.keys(e)[0]].map((e=>({[Object.keys(e)[0]]:e[Object.keys(e)[0]].join(",")}))).reduce(((e,t)=>Object.assign(t,e)),{})})));return t=t.reduce((function(e,t){var n=Object.keys(t)[0];return e[n]=Object.assign({},e[n],t[n]),e}),{}),t}(D);const j=s.$W.getConfig("targetingControls.auctionKeyMaxChars");return j&&((0,g.fH)(`Detected \'targetingControls.auctionKeyMaxChars\' was active for this auction; set with a limit of ${j} characters. Running checks on auction keys...`),D=function(e,t){let n=(0,g.Go)(e),i=Object.keys(n).map((e=>({adUnitCode:e,adserverTargeting:n[e]}))).sort(C());return i.reduce((function(e,i,r,o){let s=(a=i.adserverTargeting,Object.keys(a).reduce((function(e,t){return e+`${t}%3d${encodeURIComponent(a[t])}%26`}),""));var a;r+1===o.length&&(s=s.slice(0,-3));let d=i.adUnitCode,c=s.length;return c<=t?(t-=c,(0,g.fH)(`AdUnit \'${d}\' auction keys comprised of ${c} characters. Deducted from running threshold; new limit is ${t}`,n[d]),e[d]=n[d]):(0,g.JE)(`The following keys for adUnitCode \'${d}\' exceeded the current limit of the \'auctionKeyMaxChars\' setting.\\nThe key-set size was ${c}, the current allotted amount was ${t}.\\n`,n[d]),r+1===o.length&&0===Object.keys(e).length&&(0,g.vV)("No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting."),e}),{})}(D,j)),A.forEach((e=>{D[e]||(D[e]={})})),D},s.$W.getConfig("targetingControls",(function(e){null!=(0,p.A)(e,y)&&null!=(0,p.A)(e,v)&&(0,g.vV)(E)})),t.setTargetingForGPT=(0,c.A_)("sync",(function(n,i){let r=t.getAllTargeting(n),o=Object.fromEntries(m.map((e=>[e,null])));Object.entries(B(Object.keys(r),i)).forEach((e=>{let[t,n]=e;n.forEach((e=>{Object.keys(r[t]).forEach((e=>{let n=r[t][e];"string"==typeof n&&-1!==n.indexOf(",")&&(n=n.split(",")),r[t][e]=n})),(0,g.OG)(`Attempting to set targeting-map for slot: ${e.getSlotElementId()} with targeting-map:`,r[t]),e.updateTargetingFromMap(Object.assign({},o,r[t]))}))})),Object.keys(r).forEach((t=>{Object.keys(r[t]).forEach((n=>{"hb_adid"===n&&e.setStatusForBids(r[t][n],a.tl.BID_TARGETING_SET)}))})),t.targetingDone(r),d.Ic(a.qY.SET_TARGETING,r)}),"setTargetingForGPT"),t.targetingDone=(0,c.A_)("sync",(function(e){return e}),"targetingDone"),t.getWinningBids=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h.Vk,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:g.Q0;const a=[],d=t||I(n,i),c=r(e);return d.reduce(((e,t)=>{const n=t.adUnitCode,i=!0===o.u.get(n,"allowZeroCpmBids")?t.cpm>=0:t.cpm>0,r=s.$W.getConfig("targetingControls.alwaysIncludeDeals")&&t.dealId;return(0,f.mK)(c,n)&&!(0,f.mK)(a,n)&&(r||i)&&(e.push(t),a.push(n)),e}),[])},t.setTargetingForAst=function(e){let n=t.getAllTargeting(e);try{t.resetPresetTargetingAST(e)}catch(e){(0,g.vV)("unable to reset targeting for AST"+e)}Object.keys(n).forEach((e=>Object.keys(n[e]).forEach((t=>{if((0,g.OG)(`Attempting to set targeting for targetId: ${e} key: ${t} value: ${n[e][t]}`),(0,g.O8)(n[e][t])||(0,g.cy)(n[e][t])){let i={},r=/pt[0-9]/;t.search(r)<0?i[t.toUpperCase()]=n[e][t]:i[t]=n[e][t],window.apntag.setKeywords(e,i,{overrideKeyValue:!0})}}))))},t.isApntagDefined=function(){if(window.apntag&&(0,g.fp)(window.apntag.setKeywords))return!0},t}(i.n)},8230:(e,t,n)=>{n.d(t,{zt:()=>g});var i=n(1069),r=n(3272),o=n(5901),s=n(2938),a=n(5139),d=n(6811),c=n(2604),u=n(5569),l=n(3441);r.$W.setDefaults({userSync:(0,i.Go)({syncEnabled:!0,filterSettings:{image:{bidders:"*",filter:"include"}},syncsPerBidder:5,syncDelay:3e3,auctionDelay:500})});const f=(0,s.CK)("usersync");const g=function(e){let t={},n={image:[],iframe:[]},s=new Set,a={},f={image:!0,iframe:!1},g=e.config;function p(){if(g.syncEnabled&&e.browserSupportsCookies){try{!function(){if(!f.iframe)return;h(n.iframe,(e=>{let[t,r]=e;(0,i.OG)(`Invoking iframe user sync for bidder: ${t}`),(0,i.SG)(r),function(e,t){e.image=e.image.filter((e=>e[0]!==t))}(n,t)}))}(),function(){if(!f.image)return;h(n.image,(e=>{let[t,n]=e;(0,i.OG)(`Invoking image pixel user sync for bidder: ${t}`),(0,i.z$)(n)}))}()}catch(e){return(0,i.vV)("Error firing user syncs",e)}n={image:[],iframe:[]}}}function h(e,t){(0,i.k4)(e).forEach(t)}function m(e,t){let n=g.filterSettings;if(function(e,t){if(e.all&&e[t])return(0,i.JE)(`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],r=e.all?"all":t;if(!n)return!1;let o=n.filter,s=n.bidders;if(o&&"include"!==o&&"exclude"!==o)return(0,i.JE)(`UserSync "filterSettings.${r}.filter" setting \'${o}\' is not a valid option; use either \'include\' or \'exclude\'.`),!1;if("*"!==s&&!(Array.isArray(s)&&s.length>0&&s.every((e=>(0,i.O8)(e)&&"*"!==e))))return(0,i.JE)(`Detected an invalid setup in userSync "filterSettings.${r}.bidders"; use either \'*\' (to represent all bidders) or an array of bidders.`),!1;return!0}(n,e)){f[e]=!0;let i=n.all?n.all:n[e],r="*"===i.bidders?[t]:i.bidders;const s={include:(e,t)=>!(0,o.mK)(e,t),exclude:(e,t)=>(0,o.mK)(e,t)};return s[i.filter||"include"](r,t)}return!f[e]}return r.$W.getConfig("userSync",(e=>{if(e.userSync){let t=e.userSync.filterSettings;(0,i.Qd)(t)&&(t.image||t.all||(e.userSync.filterSettings.image={bidders:"*",filter:"include"}))}g=Object.assign(g,e.userSync)})),e.regRule(d.Ml,"userSync config",(e=>{if(!g.syncEnabled)return{allow:!1,reason:"syncs are disabled"};if(e[c.Dk]===u.tW){const n=e[c.bt],i=e[c.iK];if(!t.canBidderRegisterSync(n,i))return{allow:!1,reason:`${n} syncs are not enabled for ${i}`}}})),t.registerSync=(t,r,o)=>s.has(r)?(0,i.OG)(`already fired syncs for "${r}", ignoring registerSync call`):g.syncEnabled&&(0,i.cy)(n[t])?r?0!==g.syncsPerBidder&&Number(a[r])>=g.syncsPerBidder?(0,i.JE)(`Number of user syncs exceeded for "${r}"`):void(e.isAllowed(d.Ml,(0,l.s)(u.tW,r,{[c.bt]:t,[c.e3]:o}))&&(n[t].push([r,o]),a=function(e,t){return e[t]?e[t]+=1:e[t]=1,e}(a,r))):(0,i.JE)("Bidder is required for registering sync"):(0,i.JE)(`User sync type "${t}" not supported`),t.bidderDone=s.add.bind(s),t.syncUsers=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(e)return setTimeout(p,Number(e));p()},t.triggerUserSyncs=()=>{g.enableOverride&&t.syncUsers()},t.canBidderRegisterSync=(e,t)=>!g.filterSettings||!m(e,t),t}(Object.defineProperties({config:r.$W.getConfig("userSync"),isAllowed:a.io,regRule:a.qB},{browserSupportsCookies:{get:function(){return!(0,i.Vt)()&&f.cookiesAreEnabled()}}}))},1069:(e,t,n)=>{n.d(t,{$D:()=>D,$l:()=>ze,$z:()=>Se,Bg:()=>Ke,Bj:()=>Je,Bk:()=>ge,Bq:()=>he,CA:()=>J,D9:()=>He,Dl:()=>Me,El:()=>Qe,Et:()=>ee,Ez:()=>K,Fq:()=>Ne,GE:()=>ke,Go:()=>Ae,II:()=>be,Im:()=>ie,JE:()=>M,Lm:()=>ne,N9:()=>Oe,O8:()=>X,OG:()=>W,PB:()=>Le,Q0:()=>ve,Qd:()=>te,SB:()=>_e,SG:()=>le,SH:()=>De,Tz:()=>fe,U6:()=>Re,Up:()=>Pe,Uu:()=>We,V:()=>Be,Vt:()=>Te,ZA:()=>me,_s:()=>ae,al:()=>Ie,bL:()=>S,bu:()=>oe,bz:()=>xe,c$:()=>Ge,cD:()=>I,cf:()=>j,cy:()=>Z,fH:()=>V,fp:()=>Y,gM:()=>we,gR:()=>se,h0:()=>F,hj:()=>pe,hw:()=>z,iC:()=>qe,k4:()=>Ee,kK:()=>_,l4:()=>N,l9:()=>$e,lk:()=>k,mM:()=>w,mb:()=>x,ro:()=>ue,s0:()=>O,sC:()=>je,t1:()=>ye,u5:()=>R,vE:()=>Ce,vV:()=>G,wD:()=>Ue,xQ:()=>re,y$:()=>U,z$:()=>ce});var i=n(3272),r=n(5751),o=n(5901),s=n(8969),a=n(5555),d=n(7873),c="String",u="Function",l="Number",f="Object",g="Boolean",p=Object.prototype.toString;let h,m=Boolean(window.console),b=Boolean(m&&window.console.log),y=Boolean(m&&window.console.info),v=Boolean(m&&window.console.warn),E=Boolean(m&&window.console.error);const A=(0,d.m)();function I(e){h=e}function T(){null!=h&&h(...arguments)}const w={checkCookieSupport:ke,createTrackPixelIframeHtml:function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(!e)return"";t&&(e=encodeURI(e));n&&(n=`sandbox="${n}"`);return`<iframe ${n} id="${O()}"\\n frameborder="0"\\n allowtransparency="true"\\n marginheight="0" marginwidth="0"\\n width="0" hspace="0" vspace="0" height="0"\\n style="height:0px;width:0px;display:none;"\\n scrolling="no"\\n src="${e}">\\n </iframe>`},getWindowSelf:N,getWindowTop:x,canAccessWindowTop:function(){try{if(w.getWindowTop().location.href)return!0}catch(e){return!1}},getWindowLocation:P,insertUserSyncIframe:le,insertElement:ae,isFn:Y,triggerPixel:ce,logError:G,logWarn:M,logMessage:W,logInfo:V,parseQS:Ve,formatQS:function(e){return Object.keys(e).map((t=>Array.isArray(e[t])?e[t].map((e=>`${t}[]=${e}`)).join("&"):`${t}=${e[t]}`)).join("&")},deepEqual:Fe};var C,B=(C=0,function(){return++C});function O(){return B()+Math.random().toString(16).substr(2)}function k(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,k)}function R(e,t){return t?.[e]||""}function S(e){let t="";for(var n in e)e.hasOwnProperty(n)&&(t+=n+"="+encodeURIComponent(e[n])+"&");return t=t.replace(/&$/,""),t}function D(e){return e&&Object.getOwnPropertyNames(e).length>0?Object.keys(e).map((t=>`${t}=${encodeURIComponent(e[t])}`)).join("&"):""}function U(e){return"string"==typeof e?e.split(/\\s*,\\s*/).map((e=>e.match(/^(\\d+)x(\\d+)$/i))).filter((e=>e)).map((e=>{let[t,n,i]=e;return[parseInt(n,10),parseInt(i,10)]})):Array.isArray(e)?q(e)?[e]:e.filter(q):[]}function _(e){return U(e).map($)}function $(e){return e[0]+"x"+e[1]}function j(e){return{w:e[0],h:e[1]}}function q(e){return Z(e)&&2===e.length&&!isNaN(e[0])&&!isNaN(e[1])}function x(){return window.top}function N(){return window.self}function P(){return window.location}function W(){L()&&b&&console.log.apply(console,H(arguments,"MESSAGE:"))}function V(){L()&&y&&console.info.apply(console,H(arguments,"INFO:"))}function M(){L()&&v&&console.warn.apply(console,H(arguments,"WARNING:")),T(s.qY.AUCTION_DEBUG,{type:"WARNING",arguments})}function G(){L()&&E&&console.error.apply(console,H(arguments,"ERROR:")),T(s.qY.AUCTION_DEBUG,{type:"ERROR",arguments})}function F(e){function t(t){return function(){for(var n=arguments.length,i=new Array(n),r=0;r<n;r++)i[r]=arguments[r];t(e,...i)}}return{logError:t(G),logWarn:t(M),logMessage:t(W),logInfo:t(V)}}function H(e,t){e=[].slice.call(e);let n=i.$W.getCurrentBidder();return t&&e.unshift(t),n&&e.unshift(r("#aaa")),e.unshift(r("#3b88c3")),e.unshift("%cPrebid"+(n?`%c${n}`:"")),e;function r(e){return`display: inline-block; color: #fff; background: ${e}; padding: 1px 4px; border-radius: 3px;`}}function L(){return!!i.$W.getConfig("debug")}const z=(()=>{const e={border:"0px",hspace:"0",vspace:"0",marginWidth:"0",marginHeight:"0",scrolling:"no",frameBorder:"0",allowtransparency:"true"};return function(t,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=t.createElement("iframe");return Object.assign(r,Object.assign({},e,n)),Object.assign(r.style,i),r}})();function J(){return z(document,{id:O(),width:0,height:0,src:"about:blank"},{display:"none",height:"0px",width:"0px",border:"0px"})}function K(e){return Ve(P().search)[e]||""}function Q(e,t){return p.call(e)==="[object "+t+"]"}function Y(e){return Q(e,u)}function X(e){return Q(e,c)}const Z=Array.isArray.bind(Array);function ee(e){return Q(e,l)}function te(e){return Q(e,f)}function ne(e){return Q(e,g)}function ie(e){return!e||(Z(e)||X(e)?!(e.length>0):Object.keys(e).length<=0)}function re(e){return X(e)&&(!e||0===e.length)}function oe(e,t){if(Y(e?.forEach))return e.forEach(t,this);Object.entries(e||{}).forEach((e=>{let[n,i]=e;return t.call(this,i,n)}))}function se(e,t){return Y(e?.includes)&&e.includes(t)}function ae(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 de(e,t){let n=null;return new a.k((i=>{const r=function(){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 ce(e,t,n){const i=new Image;t&&w.isFn(t)&&de(i,n).then(t),i.src=e}function ue(e){if(!e)return;const t=J();var n;w.insertElement(t,document,"body"),(n=t.contentWindow.document).open(),n.write(e),n.close()}function le(e,t,n){let i=w.createTrackPixelIframeHtml(e,!1,"allow-scripts allow-same-origin"),r=document.createElement("div");r.innerHTML=i;let o=r.firstChild;t&&w.isFn(t)&&de(o,n).then(t),w.insertElement(o,document,"html",!0)}function fe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:encodeURI;if(!e)return"";let n=\'<div style="position:absolute;left:0px;top:0px;visibility:hidden;">\';return n+=\'<img src="\'+t(e)+\'"></div>\',n}function ge(e){return Array.from(e.matchAll(/\\$({[^}]+})/g)).map((e=>e[1])).reduce(((e,t)=>e.replace("$"+encodeURIComponent(t),"$"+t)),encodeURI(e))}function pe(e,t,n){return n.indexOf(e)===t}function he(e,t){return e.concat(t)}function me(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:A.adUnits).map((e=>e.bids.map((e=>e.bidder)).reduce(he,[]))).reduce(he,[]).filter((e=>void 0!==e)).filter(pe)}function be(){if(window.googletag&&Y(window.googletag.pubads)&&Y(window.googletag.pubads().getSlots))return!0}function ye(){if(window.apntag&&Y(window.apntag.getTag))return!0}const ve=(e,t)=>t.cpm-e.cpm;function Ee(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 Ae(e){return(0,r.Q)(e)||{}}function Ie(){try{return w.getWindowSelf()!==w.getWindowTop()}catch(e){return!0}}function Te(){return/^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent)}function we(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 Ce(){return(new Date).getTime()}function Be(){return window.performance&&window.performance.now&&window.performance.now()||0}function Oe(){return!1!==i.$W.getConfig("deviceAccess")}function ke(){if(window.navigator.cookieEnabled||document.cookie.length)return!0}function Re(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 Se(e,t){return e.reduce((function(e,n){return(e[n[t]]=e[n[t]]||[]).push(n),e}),{})}function De(e,t){return t.filter((t=>e[t])).reduce(((t,n)=>Object.assign(t,{[n]:e[n]})),{})}function Ue(e){const t=["banner","native","video"],n=["instream","outstream","adpod"];return!!Object.keys(e).every((e=>(0,o.mK)(t,e)))&&(!e.video||!e.video.context||(0,o.mK)(n,e.video.context))}function _e(e,t,n){return e.filter((e=>e.code===t)).flatMap((e=>e.bids)).filter((e=>e.bidder===n)).map((e=>e.params||{}))}function $e(){return"1"===navigator.doNotTrack||"1"===window.doNotTrack||"1"===navigator.msDoNotTrack||"yes"===navigator.doNotTrack}const je=(e,t)=>e.getAdUnitPath()===t||e.getSlotElementId()===t;function qe(e){return t=>je(e,t)}function xe(e,t){const n=Object.keys(e.mediaTypes||{banner:"banner"}).join(", ");return`\\n ${e.code} is a ${n} ad unit\\n containing bidders that don\'t support ${n}: ${t}.\\n This bidder won\'t fetch demand.\\n `}const Ne=Number.isInteger.bind(Number);function Pe(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 We(e,t){return Z(e)&&(!t||e.length===t)&&e.every((e=>Ne(e)))}function Ve(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 Me(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:w.parseQS(n.search||""),hash:(n.hash||"").replace(/^#/,""),host:n.host||window.location.host}}function Ge(e){return(e.protocol||"http")+"://"+(e.host||e.hostname+(e.port?`:${e.port}`:""))+(e.pathname||"")+(e.search?`?${w.formatQS(e.search||"")}`:"")+(e.hash?`#${e.hash}`:"")}function Fe(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;{const i=Object.keys(e);if(i.length!==Object.keys(t).length)return!1;for(let r of i){if(!t.hasOwnProperty(r))return!1;if(!Fe(e[r],t[r],{checkTypes:n}))return!1}return!0}}function He(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];if(!n.length)return e;const r=n.shift();if(te(e)&&te(r))for(const t in r)te(r[t])?(e[t]||Object.assign(e,{[t]:{}}),He(e[t],r[t])):Z(r[t])?e[t]?Z(e[t])&&r[t].forEach((n=>{let i=1;for(let r=0;r<e[t].length;r++)if(Fe(e[t][r],n)){i=0;break}i&&e[t].push(n)})):Object.assign(e,{[t]:[...r[t]]}):Object.assign(e,{[t]:r[t]});return He(e,...n)}function Le(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=function(e,t){if(Y(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<e.length;o++)t=e.charCodeAt(o),i=n(i^t,2654435761),r=n(r^t,1597334677);return i=n(i^i>>>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 ze(e){try{return JSON.parse(e)}catch(e){}}function Je(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return 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 Ke(e,t){Object.entries(t).forEach((t=>{let[n,i]=t;return e.setAttribute(n,i)}))}function Qe(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}},2621:(e,t,n)=>{function i(e){return!e?.gdprApplies||!0===e?.vendorData?.purpose?.consents?.[1]}n.d(t,{C:()=>i})},6894:(e,t,n)=>{n.d(t,{Ak:()=>m,BO:()=>g,K7:()=>p,NL:()=>b});var i=n(3272);const r="performanceMetrics",o=window.performance&&window.performance.now?()=>window.performance.now():()=>Date.now(),s=new WeakMap;function a(){let{now:e=o,mkNode:t=u,mkTimer:n=c,mkRenamer:i=(e=>e),nodes:r=s}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(){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=(c="timestamps",function(e){return s.dfWalk({visit(t,n){const i=n[c];if(i.hasOwnProperty(e))return i[e]}})});var c;function u(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=>u(t,e)))}function f(){let e={};return s.dfWalk({visit(t,n){e=Object.assign({},!t||t.includeGroups?n.groups:null,n.metrics,e)}}),e}const g={startTiming:l,measureTime:function(e,t){return l(e).stopAfter(t)()},measureHookTime:function(e,t,n){const i=l(e);return n(function(e){const t=i.stopBefore(e);return t.bail=e.bail&&i.stopBefore(e.bail),t.stopTiming=i,t.untimed=e,t}(t))},checkpoint:function(t){s.timestamps[t]=e()},timeSince:function(t,n){const i=d(t),r=null!=i?e()-i:null;return null!=n&&u(n,r),r},timeBetween:function(e,t,n){const i=d(e),r=d(t),o=null!=i&&null!=r?r-i:null;return null!=n&&u(n,o),o},setMetric:u,getMetrics:f,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:function(){return o(s.newSibling(),a)},renameWith:function(e){return o(s,e)},toJSON:()=>f()};return r.set(g,s),g}(t([]))}}function d(e,t,n){return function(){t&&t();try{return e.apply(this,arguments)}finally{n&&n()}}}function c(e,t){const n=e();let i=!1;function r(){i||(t(e()-n),i=!0)}return r.stopBefore=e=>d(e,r),r.stopAfter=e=>d(e,null,r),r}function u(e){return{metrics:{},timestamps:{},groups:{},addParent(t,n){e.push([t,n])},newSibling:()=>u(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 l=(()=>{const e=function(){},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 a({now:()=>0,mkNode:()=>r,mkRenamer:()=>()=>n,mkTimer:()=>i,nodes:{get:e,set:e}})()})();let f=!0;function g(e){return f&&e||l}i.$W.getConfig(r,(e=>{f=!!e[r]}));const p=(()=>{const e=a();return function(){return f?e():l}})();function h(e,t){return function(n,i){return function(r){for(var o=arguments.length,s=new Array(o>1?o-1:0),a=1;a<o;a++)s[a-1]=arguments[a];const d=this;return g(t.apply(d,s)).measureHookTime(e+n,r,(function(e){return i.call(d,e,...s)}))}}}const m=h("requestBids.",(e=>e.metrics)),b=h("addBidResponse.",((e,t)=>t.metrics))},5555:(e,t,n)=>{n.d(t,{k:()=>o,v:()=>s});const i=0,r=1;class o{#d;#c;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[o,s]=[i,r].map((e=>function(r){if(e===i&&"function"==typeof r?.then)r.then(o,s);else if(!t.length)for(t.push(e,r);n.length;)n.shift()()}));try{e(o,s)}catch(e){s(e)}this.#d=t,this.#c=n}then(e,t){const n=this.#d;return new this.constructor(((r,o)=>{const s=()=>{let s=n[1],[a,d]=n[0]===i?[e,r]:[t,o];if("function"==typeof a){try{s=a(s)}catch(e){return void o(e)}d=r}d(s)};n.length?s():this.#c.push(s)}))}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#u(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.#u(e,((e,i)=>e?t(i):n(i)))}))}static all(e){return new this(((t,n)=>{let i=[];this.#u(e,((e,t,r)=>e?i[r]=t:n(t)),(()=>t(i)))}))}static allSettled(e){return new this((t=>{let n=[];this.#u(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 s(){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)}}},2713:(e,t,n)=>{function i(e,t){return e===t?0:e<t?-1:1}function r(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e=>e;return(t,n)=>i(e(t),e(n))}function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i;return(t,n)=>-e(t,n)||0}function s(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e,n){for(const i of t){const t=i(e,n);if(0!==t)return t}return 0}}function a(){return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i;return(t,n)=>e(n,t)<0?n:t}(o(arguments.length>0&&void 0!==arguments[0]?arguments[0]:i))}n.d(t,{Bq:()=>l,Vk:()=>u});const d=r((e=>e.cpm)),c=r((e=>e.responseTimestamp)),u=a(s(d,o(r((e=>e.timeToRespond))))),l=a(s(d,o(c)));a(s(d,c))},6853:(e,t,n)=>{n.d(t,{H:()=>u});var i=n(5555),r=n(1069);let o=null,s=0,a=[];function d(){document.hidden?o=Date.now():(s+=Date.now()-(o??0),o=null,a.forEach((e=>{let{callback:t,startTime:n,setTimerId:i}=e;return i(c(t,s-n)())})),a=[])}function c(e,t){const n=s;let i=setTimeout((()=>{s===n&&null==o?e():null!=o?a.push({callback:e,startTime:n,setTimerId(e){i=e}}):i=c(e,s-n)()}),t);return()=>i}function u(){let{startTime:e=r.vE,ttl:t=(()=>null),monotonic:n=!1,slack:o=5e3}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const s=new Map,a=[],d=[],u=n?e=>d.push(e):e=>d.splice((0,r.El)(d,e,(e=>e.expiry)),0,e);let l,f;function g(){if(f&&clearTimeout(f),d.length>0){const e=(0,r.vE)();l=Math.max(e,d[0].expiry+o),f=c((()=>{const e=(0,r.vE)();let t=0;for(const n of d){if(n.expiry>e)break;a.forEach((e=>{try{e(n.item)}catch(e){(0,r.vV)(e)}})),s.delete(n.item),t++}d.splice(0,t),f=null,g()}),l-e)}else f=null}function p(n){const r={},s=h;let a;const[d,c]=Object.entries({start:e,delta:t}).map((e=>{let t,[d,c]=e;return function(){const e=t={};i.k.resolve(c(n)).then((n=>{e===t&&(r[d]=n,s===h&&null!=r.start&&null!=r.delta&&(a=r.start+r.delta,u(p),(null==f||l>a+o)&&g()))}))}})),p={item:n,refresh:c,get expiry(){return a}};return d(),c(),p}let h={};return{[Symbol.iterator]:()=>s.keys(),add(e){!s.has(e)&&s.set(e,p(e))},clear(){d.length=0,g(),s.clear(),h={}},toArray:()=>Array.from(s.keys()),refresh(){d.length=0,g();for(const e of s.values())e.refresh()},onExpiry:e=>(a.push(e),()=>{const t=a.indexOf(e);t>=0&&a.splice(t,1)})}}document.addEventListener("visibilitychange",d)},3895:(e,t,n)=>{n.d(t,{H6:()=>a,V0:()=>u,Zy:()=>c,aP:()=>l,mn:()=>d,vk:()=>f});var i=n(1069),r=n(3272),o=n(9214),s=n(6881);const a="outstream",d="instream",c=new Map([["mimes",e=>Array.isArray(e)&&e.length>0&&e.every((e=>"string"==typeof e))],["minduration",i.Fq],["maxduration",i.Fq],["startdelay",i.Fq],["maxseq",i.Fq],["poddur",i.Fq],["protocols",i.Uu],["w",i.Fq],["h",i.Fq],["podid",i.O8],["podseq",i.Fq],["rqddurs",i.Uu],["placement",i.Fq],["plcmt",i.Fq],["linearity",i.Fq],["skip",e=>[1,0].includes(e)],["skipmin",i.Fq],["skipafter",i.Fq],["sequence",i.Fq],["slotinpod",i.Fq],["mincpmpersec",i.Et],["battr",i.Uu],["maxextended",i.Fq],["minbitrate",i.Fq],["maxbitrate",i.Fq],["boxingallowed",i.Fq],["playbackmethod",i.Uu],["playbackend",i.Fq],["delivery",i.Uu],["pos",i.Fq],["api",i.Uu],["companiontype",i.Uu],["poddedupe",i.Uu]]);function u(e){const t=e?.mediaTypes?.video;null!=t&&null==t.plcmt&&(t.context===a||[2,3,4].includes(t.placement)?t.plcmt=4:t.context!==a&&[2,6].includes(t.playbackmethod)&&(t.plcmt=2))}function l(e,t){const n=e?.mediaTypes?.video;(0,i.Qd)(n)?null!=n&&Object.entries(n).forEach((r=>{let[o,s]=r;if(!c.has(o))return;c.get(o)(s)||("function"==typeof t?t(o,s,e):(delete n[o],(0,i.JE)(`Invalid prop in adUnit "${e.code}": Invalid value for mediaTypes.video.${o} ORTB property. The property has been removed.`)))})):(0,i.JE)("validateOrtbVideoFields: videoParams must be an object.")}function f(e){let{index:t=s.n.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=t.getMediaTypes(e)?.video,i=n&&n?.context,r=n&&n?.useCacheKey,o=t.getAdUnit(e);return g(e,o,n,i,r)}const g=(0,o.A_)("sync",(function(e,t,n,o,s){return n&&(s||o!==a)?r.$W.getConfig("cache.url")||!e.vastXml||e.vastUrl?!(!e.vastUrl&&!e.vastXml):((0,i.vV)(\'\\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):!(o===a&&!s)||!!(e.renderer||t&&t.renderer||n.renderer)}),"checkVideoBidSetup")}}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[85],{4595:(s,d,e)=>{e.d(d,{G:()=>n});const n=\'(()=>{"use strict";window.render=function({ad:d,adUrl:e,width:i,height:r},{mkFrame:n},o){if(!d&&!e)throw{reason:"noAd",message:"Missing ad markup or URL"};{const s=o.document,t={width:i,height:r};e&&!d?t.src=e:t.srcdoc=d,s.body.appendChild(n(s,t))}}})();\'}}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[117],{7620:(e,t,r)=>{r.d(t,{A:()=>m});const n=new WeakMap;var i=r(1069),s=r(1371);var o=r(3895);const a={1:s.D4,2:s.G_,4:s.s6};var d=r(1e3),p=r(3858);const c={[d.S3]:{fpd:{priority:99,fn(e,t){(0,i.D9)(e,t.ortb2)}},onlyOneClient:{priority:-99,fn:(0,p.i8)("ORTB request")},props:{fn(e,t){Object.assign(e,{id:e.id||(0,i.lk)(),test:e.test||0});const r=parseInt(t.timeout,10);isNaN(r)||(e.tmax=r)}}},[d.Tb]:{fpd:{priority:99,fn(e,t){(0,i.D9)(e,t.ortb2Imp)}},id:{fn(e,t){e.id=t.bidId}},banner:{fn:function(e,t,r){if(r.mediaType&&r.mediaType!==s.D4)return;const n=t?.mediaTypes?.banner;if(n){const t={topframe:!0===(0,i.al)()?0:1};n.sizes&&(t.format=(0,i.y$)(n.sizes).map(i.cf)),n.hasOwnProperty("pos")&&(t.pos=n.pos),e.banner=(0,i.D9)(t,e.banner)}}},pbadslot:{fn(e){const t=e.ext?.data?.pbadslot;t&&"string"==typeof t||delete e.ext?.data?.pbadslot}},secure:{fn(e,t){e.secure=e.secure??1}}},[d.WR]:{mediaType:{priority:99,fn:function(e,t,r){if(e.mediaType)return;const n=r.mediaType;if(!n&&!a.hasOwnProperty(t.mtype))throw new Error("Cannot determine mediaType for response");e.mediaType=n||a[t.mtype]}},banner:{fn:function(){let{createPixel:e=(e=>(0,i.Tz)(decodeURIComponent(e),i.Bk))}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t,r){t.mediaType===s.D4&&(r.adm&&r.nurl?(t.ad=r.adm,t.ad+=e(r.nurl)):r.adm?t.ad=r.adm:r.nurl&&(t.adUrl=r.nurl))}}()},props:{fn(e,t,r){Object.entries({requestId:r.bidRequest?.bidId,seatBidId:t.id,cpm:t.price,currency:r.ortbResponse.cur||r.currency,width:t.w,height:t.h,dealId:t.dealid,creative_id:t.crid,creativeId:t.crid,burl:t.burl,ttl:t.exp||r.ttl,netRevenue:r.netRevenue}).filter((e=>{let[t,r]=e;return void 0!==r})).forEach((t=>{let[r,n]=t;return e[r]=n})),e.meta||(e.meta={}),t.adomain&&(e.meta.advertiserDomains=t.adomain),t.ext?.dsa&&(e.meta.dsa=t.ext.dsa),t.cat&&(e.meta.primaryCatId=t.cat[0],e.meta.secondaryCatIds=t.cat.slice(1)),t.attr&&(e.meta.attr=t.attr)}}}};function u(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];const n=t.shift(),i=t.length>1?u(...t):t[0];return Object.fromEntries(d.zt.map((e=>[e,Object.assign({},n[e],i[e])])))}function m(){let{context:e={},processors:t=f,overrides:r={},imp:s,request:o,bidResponse:a,response:p}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const c=new WeakMap;function u(e,i,s,o){let a;return function(){return null==a&&(a=function(){let a=s.bind(this,function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!n.has(e)){const t=Object.entries(e);t.sort(((e,t)=>(e=e[1].priority||0)===(t=t[1].priority||0)?0:e>t?-1:1)),n.set(e,t.map((e=>{let[t,r]=e;return[t,r.fn]})))}const r=n.get(e).filter((e=>{let[r]=e;return!t.hasOwnProperty(r)||t[r]})).map((function(e){let[r,n]=e;return t.hasOwnProperty(r)?t[r].bind(this,n):n}));return function(){const e=Array.from(arguments);r.forEach((t=>{t.apply(this,e)}))}}(t()[e]||{},r[e]||{}));return i&&(a=i.bind(this,a)),function(){try{return a.apply(this,arguments)}catch(e){o.call(this,e,...arguments)}}}()),a.apply(this,arguments)}}const m=u(d.Tb,s,(function(e,t,r){const n={};return e(n,t,r),n}),(function(e,t,r){(0,i.vV)("Error while converting bidRequest to ORTB imp; request skipped.",{error:e,bidRequest:t,context:r})})),l=u(d.S3,o,(function(e,t,r,n){const i={imp:t};return e(i,r,n),i}),(function(e,t,r,n){throw(0,i.vV)("Error while converting to ORTB request",{error:e,imps:t,bidderRequest:r,context:n}),e})),b=u(d.WR,a,(function(e,t,r){const n={};return e(n,t,r),n}),(function(e,t,r){(0,i.vV)("Error while converting ORTB seatbid.bid to bidResponse; bid skipped.",{error:e,bid:t,context:r})})),y=u(d.Cf,p,(function(e,t,r,n){const i={bids:t};return e(i,r,n),i}),(function(e,t,r,n){throw(0,i.vV)("Error while converting from ORTB response",{error:e,bidResponses:t,ortbResponse:r,context:n}),e}));return{toORTB(t){let{bidderRequest:r,bidRequests:n,context:s={}}=t;n=n||r.bids;const o={req:Object.assign({bidRequests:n},e,s),imp:{}};o.req.impContext=o.imp;const a=n.map((t=>{const n=Object.assign({bidderRequest:r,reqContext:o.req},e,s),a=m(t,n);if(null!=a){if(a.hasOwnProperty("id"))return Object.assign(n,{bidRequest:t,imp:a}),o.imp[a.id]=n,a;(0,i.vV)("Converted ORTB imp does not specify an id, ignoring bid request",t,a)}})).filter(Boolean),d=l(a,r,o.req);return o.req.bidderRequest=r,null!=d&&c.set(d,o),d},fromORTB(e){let{request:t,response:r}=e;const n=c.get(t);if(null==n)throw new Error("ortbRequest passed to `fromORTB` must be the same object returned by `toORTB`");function s(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.assign(e,{ortbRequest:t},r)}const o=Object.fromEntries((t.imp||[]).map((e=>[e.id,e]))),a=(r.seatbid||[]).flatMap((e=>(e.bid||[]).map((t=>{if(o.hasOwnProperty(t.impid)&&n.imp.hasOwnProperty(t.impid))return b(t,s(n.imp[t.impid],{imp:o[t.impid],seatbid:e,ortbResponse:r}));(0,i.vV)("ORTB response seatbid[].bid[].impid does not match any imp in request; ignoring bid",t)})))).filter(Boolean);return y(a,r,s(n.req))}}}c[d.Tb].native={fn:function(e,t,r){if(r.mediaType&&r.mediaType!==s.s6)return;let n=t.nativeOrtbRequest;n&&(n=Object.assign({},r.nativeRequest,n),n.assets?.length?e.native=(0,i.D9)({},{request:JSON.stringify(n),ver:n.ver},e.native):(0,i.JE)("mediaTypes.native is set, but no assets were specified. Native request skipped.",t))}},c[d.WR].native={fn:function(e,t){if(e.mediaType===s.s6){let r;if(r="string"==typeof t.adm?JSON.parse(t.adm):t.adm,!(0,i.Qd)(r)||!Array.isArray(r.assets))throw new Error("ORTB native response contained no assets");e.native={ortb:r}}}},c[d.Tb].video={fn:function(e,t,r){if(r.mediaType&&r.mediaType!==s.G_)return;const n=t?.mediaTypes?.video;if(!(0,i.Im)(n)){const t=Object.fromEntries(Object.entries(n).filter((e=>{let[t]=e;return o.Zy.has(t)})));if(n.playerSize){const e=(0,i.y$)(n.playerSize).map(i.cf);e.length>1&&(0,i.JE)("video request specifies more than one playerSize; all but the first will be ignored"),Object.assign(t,e[0])}e.video=(0,i.D9)(t,e.video)}}},c[d.WR].video={fn:function(e,t,r){e.mediaType===s.G_&&(r?.imp?.video?.w&&r?.imp?.video?.h&&([e.playerWidth,e.playerHeight]=[r.imp.video.w,r.imp.video.h]),t.adm&&(e.vastXml=t.adm),t.nurl&&(e.vastUrl=t.nurl))}};const f=(0,i.Bj)((()=>u(c,(0,d.yB)(d.qN))))}}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[889],{4406:(e,t,n)=>{n.d(t,{FE:()=>i});var r=n(433),s=n(3172),o=n(1069);const u=Object.freeze([...["device.sua","source.schain","regs.gdpr","regs.us_privacy","regs.gpp","regs.gpp_sid","user.consent","user.eids"].map((e=>function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(e,t)=>`${e}.ext.${t}`;const[n,o]=function(e){const t=e.split(".");return[t.slice(0,t.length-1).join("."),t[t.length-1]]}(e);return t=t(n,o),e=>{const u=(0,r.A)(e,n);if(null!=u?.[o])return(0,s.J)(e,t,u[o]),()=>delete u[o]}}(e))),...["app","content","site","user"].map((function(e){return t=>{const n=t[e]?.kwarray;if(null!=n){let r=(t[e].keywords||"").split(",");return Array.isArray(n)&&r.push(...n),t[e].keywords=r.join(","),()=>delete t[e].kwarray}}}))]);function i(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u;return function(n){return t.forEach((t=>{try{const r=t(n);"function"==typeof r&&e&&r()}catch(e){(0,o.vV)("Error translating request to ORTB 2.5",e)}})),n}}i()}}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[957],{6400:(s,e,t)=>{function n(){const s=[];return{submit(e,t,n){const u=[t,setTimeout((()=>{s.splice(s.indexOf(u),1),n()}),e)];s.push(u)},resume(){for(;s.length;){const[e,t]=s.shift();clearTimeout(t),e()}}}}t.d(e,{L:()=>n})}}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[5],{1252:(t,n,e)=>{e.d(n,{p:()=>l});var o=e(5901),u=e(1069);function s(t){let n;return(0,u.II)()&&(n=(0,o.I6)(window.googletag.pubads().getSlots(),function(t){return n=>(0,u.sC)(n,t)}(t))),n}function l(t){const n=s(t);return n?{gptSlot:n.getAdUnitPath(),divId:n.getSlotElementId()}:{}}}}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[498],{11:(r,e,a)=>{a.d(e,{Z:()=>y});var i=a(1069);const y={mimes:r=>Array.isArray(r)&&r.length>0&&r.every((r=>"string"==typeof r)),minduration:r=>(0,i.Fq)(r),maxduration:r=>(0,i.Fq)(r),protocols:r=>Array.isArray(r)&&r.every((r=>r>=1&&r<=10)),w:r=>(0,i.Fq)(r),h:r=>(0,i.Fq)(r),startdelay:r=>(0,i.Fq)(r),linearity:r=>-1!==[1,2].indexOf(r),skip:r=>-1!==[0,1].indexOf(r),skipmin:r=>(0,i.Fq)(r),skipafter:r=>(0,i.Fq)(r),sequence:r=>(0,i.Fq)(r),battr:r=>Array.isArray(r)&&r.every((r=>r>=1&&r<=17)),maxextended:r=>(0,i.Fq)(r),minbitrate:r=>(0,i.Fq)(r),maxbitrate:r=>(0,i.Fq)(r),boxingallowed:r=>-1!==[0,1].indexOf(r),playbackmethod:r=>Array.isArray(r)&&r.every((r=>r>=1&&r<=6)),playbackend:r=>-1!==[1,2,3].indexOf(r),api:r=>Array.isArray(r)&&r.every((r=>r>=1&&r<=6))}}}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[829],{1493:(e,t,i)=>{var a=i(7873),r=i(3172),n=i(1069),o=i(9115),s=i(1371),d=i(2938),p=i(7934),l=i(2621),c=i(5789),u=i(3895),m=i(8044),v=i(7620),g=i(4406);const y="criteo",f="https://grid-bidder.criteo.com/openrtb_2_5/pbjs/auction/request",b=(0,d.vM)({bidderCode:y}),h="Criteo: ",T=(0,g.FE)(),I="https://static.criteo.net/js/ld/publishertag.renderer.js",k="cto_optout",x="cto_bundle",S=(0,v.A)({context:{netRevenue:!0,ttl:60},imp:function(e,t,i){let a=e(t,i);const n=t.params;a.tagid=t.adUnitCode,(0,r.J)(a,"ext",{...t.params.ext,...a.ext,rwdd:a.rwdd,floors:U(t),bidder:{publishersubid:n?.publisherSubId,zoneid:n?.zoneId,uid:n?.uid}}),delete a.rwdd,!i.fledgeEnabled&&a.ext.igs?.ae&&delete a.ext.igs.ae;if(w(t)){const e=t.params.video;void 0!==e&&(0,r.J)(a,"video",{...a.video,skip:a.video.skip||e.skip||0,placement:a.video.placement||e.placement,minduration:a.video.minduration||e.minduration,playbackmethod:a.video.playbackmethod||e.playbackmethod,startdelay:a.video.startdelay||e.startdelay||0}),(0,r.J)(a,"video.ext",{context:t.mediaTypes.video.context,playersizes:E(t?.mediaTypes?.video?.playerSize,R),plcmt:t.mediaTypes.video.plcmt,poddur:t.mediaTypes.video.adPodDurationSec,rqddurs:t.mediaTypes.video.durationRangeSec})}if(a.native&&void 0!==a.native.request){let e=JSON.parse(a.native.request);e.assets&&(1!==e.assets.length||Object.keys(e.assets[0]).length)||delete e.assets,(0,r.J)(a,"native.request_native",e),delete a.native.request}return a},request:function(e,t,i,a){let n=e(t,i,a);void 0!==a.publisherId&&(void 0!==n.app?(0,r.J)(n,"app.publisher.id",a.publisherId):(0,r.J)(n,"site.publisher.id",a.publisherId));i&&i.gdprConsent&&(0,r.J)(n,"regs.ext.gdprversion",i.gdprConsent.apiVersion);return n=T(n),n},bidResponse:function(e,t,i){i.mediaType=t?.ext?.mediatype,i.mediaType===s.s6&&void 0!==t.adm_native&&(t.adm=t.adm_native,delete t.adm_native);let a=e(t,i);const{bidRequest:n}=i;a.currency=t?.ext?.cur,void 0!==t?.ext?.meta&&(0,r.J)(a,"meta",{...a.meta,...t.ext.meta});void 0!==t?.ext?.paf?.content_id&&(0,r.J)(a,"meta.paf.content_id",t.ext.paf.content_id);a.mediaType===s.G_&&(a.vastUrl=t.ext?.displayurl,n?.mediaTypes?.video?.context===u.H6&&(a.renderer=function(e){if(void 0===e.ext?.videoPlayerConfig||void 0===e.ext?.videoPlayerType)return;const t={documentResolver:(e,t,i)=>i??t},i=(t,i)=>{let a={slotid:e.id,vastUrl:e.ext?.displayurl,vastXml:e.adm,documentContext:i},r=e.ext.videoPlayerConfig;window.CriteoOutStream[e.ext.videoPlayerType].play(a,r)},a=c.A4.install({url:I,config:t});return a.setRender(i),a}(t)));return a},response:function(e,t,i,a){let n=e(t,i,a);const o=i?.ext?.paf?.transmission;return n.bids.forEach((e=>{void 0!==o&&void 0!==e?.meta?.paf?.content_id?(0,r.J)(e,"meta.paf.transmission",o):delete e.meta.paf})),n}});const P={code:y,gvlid:91,supportedMediaTypes:[s.D4,s.G_,s.s6],getUserSyncs:function(e,t,i,a){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},{gppString:o="",applicableSections:s=[]}=r;const d=(0,p.EN)(),c="criteoPrebidAdapter";if(e.iframeEnabled&&(0,l.C)(i)){const e=[];if(e.push(`origin=${c}`),e.push(`topUrl=${d.domain}`),i&&(i.gdprApplies&&e.push("gdpr="+(1==i.gdprApplies?1:0)),i.consentString&&e.push(`gdpr_consent=${i.consentString}`)),a&&e.push(`us_privacy=${a}`),e.push(`gpp=${o}`),Array.isArray(s))for(const t of s)e.push(`gpp_sid=${t}`);const t=Math.random().toString(),r={bundle:C(x),cw:b.cookiesAreEnabled(),lsw:b.localStorageIsEnabled(),optoutCookie:C(k),origin:c,requestId:t,tld:d.domain,topUrl:d.domain,version:"9.23.0".replace(/\\./g,"_")};window.addEventListener("message",(function e(i){if(!i.data||"https://gum.criteo.com"!=i.origin)return;if(i.data.requestId!==t)return;this.removeEventListener("message",e),i.stopImmediatePropagation();const a=i.data;a.optout?(_(x),q(k,!0,43200,d.domain)):(a.bundle&&q(x,a.bundle,9360,d.domain),a.callbacks&&a.callbacks.forEach(n.z$))}),!0);const p=JSON.stringify(r).replace(/"/g,"%22");return[{type:"iframe",url:`https://gum.criteo.com/syncframe?${e.join("&")}#${p}`}]}if(e.pixelEnabled&&(0,l.C)(i)){const e=[];if(e.push("profile=207"),i&&(!0===i.gdprApplies&&e.push("gdprapplies=true"),i.consentString&&e.push(`gdpr=${i.consentString}`)),a&&e.push(`ccpa=${a}`),e.push(`gpp=${o}`),Array.isArray(s))for(const t of s)e.push(`gpp_sid=${t}`);return[{type:"image",url:`https://ssp-sync.criteo.com/user-sync/redirect?${e.join("&")}`}]}return[]},isBidRequestValid:e=>!(!e||!e.params||!e.params.zoneId&&!e.params.networkId)&&!(w(e)&&!function(e){let t=!0;return["mimes","playerSize","maxduration","protocols","api","skip","placement","playbackmethod"].forEach((function(i){"placement"===i?void 0===e?.mediaTypes?.video?.[i]&&void 0===e?.params?.video?.[i]&&void 0===e?.mediaTypes?.video?.plcmt&&void 0===e?.params?.video?.plcmt&&(t=!1,(0,n.vV)("Criteo Bid Adapter: mediaTypes.video."+i+" or mediaTypes.video.plcmt is required")):void 0===e?.mediaTypes?.video?.[i]&&void 0===e?.params?.video?.[i]&&(t=!1,(0,n.vV)("Criteo Bid Adapter: mediaTypes.video."+i+" is required"))})),t}(e)),buildRequests:(e,t)=>{e.forEach((e=>{(function(e){return void 0!==e?.mediaTypes?.native})(e)&&(function(e){return!(e.nativeParams&&(e.nativeParams.image&&(!0!==e.nativeParams.image.sendId||!0===e.nativeParams.image.sendTargetingKeys)||e.nativeParams.icon&&(!0!==e.nativeParams.icon.sendId||!0===e.nativeParams.icon.sendTargetingKeys)||e.nativeParams.clickUrl&&(!0!==e.nativeParams.clickUrl.sendId||!0===e.nativeParams.clickUrl.sendTargetingKeys)||e.nativeParams.displayUrl&&(!0!==e.nativeParams.displayUrl.sendId||!0===e.nativeParams.displayUrl.sendTargetingKeys)||e.nativeParams.privacyLink&&(!0!==e.nativeParams.privacyLink.sendId||!0===e.nativeParams.privacyLink.sendTargetingKeys)||e.nativeParams.privacyIcon&&(!0!==e.nativeParams.privacyIcon.sendId||!0===e.nativeParams.privacyIcon.sendTargetingKeys)))}(e)||(0,n.JE)(h+"all native assets containing URL should be sent as placeholders with sendId(icon, image, clickUrl, displayUrl, privacyLink, privacyIcon)"),null==e?.nativeOrtbRequest?.assets&&((0,n.JE)(h+"native asset requirements are missing"),(0,r.J)(e,"nativeOrtbRequest.assets",[{}])))}));const i=function(e,t){const i=(0,n.Dl)(t?.refererInfo?.topmostLocation).search;return{url:t?.refererInfo?.page||"",debug:"1"===i.pbt_debug,noLog:"1"===i.pbt_nolog,fledgeEnabled:t.paapi?.enabled,amp:e.some((e=>"amp"===e.params.integrationMode)),networkId:e.find((e=>e.params?.networkId))?.params.networkId,publisherId:e.find((e=>e.params?.pubid))?.params.pubid}}(e,t),a=function(e){let t=f;t+="?profileId=207",t+="&av="+String(37),t+="&wv="+encodeURIComponent("9.23.0"),t+="&cb="+String(Math.floor(99999999999*Math.random())),b.localStorageIsEnabled()?t+="&lsavail=1":t+="&lsavail=0";e.amp&&(t+="&im=1");e.debug&&(t+="&debug=1");e.noLog&&(t+="&nolog=1");const i=C(x);i&&(t+=`&bundle=${i}`);C(k)&&(t+="&optout=1");e.networkId&&(t+="&networkId="+e.networkId);return t}(i),o=S.toORTB({bidderRequest:t,bidRequests:e,context:i});if(o)return{method:"POST",url:a,data:o,bidRequests:e}},interpretResponse:(e,t)=>{if(void 0===e?.body)return[];const i=S.fromORTB({response:e.body,request:t.data}).bids||[],a=e.body?.ext?.igi?.filter((e=>(0,n.cy)(e?.igs))).flatMap((e=>e.igs));return a?.length?{bids:i,paapi:a}:i},onDataDeletionRequest:e=>{const t=C(x);t&&(_(x),(0,m.RD)("https://privacy.criteo.com/api/privacy/datadeletionrequest",null,JSON.stringify({publisherUserId:t}),{contentType:"application/json",method:"POST"}))}};function C(e){const t=b.getCookie(e),i=b.getDataFromLocalStorage(e);return t||i||void 0}function q(e,t,i,a){const r=new Date;r.setTime(r.getTime()+60*i*60*1e3);const n=`expires=${r.toUTCString()}`,o=a.split(".");for(let i=0;i<o.length;++i){const a=o.slice(o.length-i-1,o.length).join(".");try{b.setCookie(e,t,n,null,"."+a);const i=b.getCookie(e);if(i&&i===t)break}catch(e){}}b.setDataInLocalStorage(e,t)}function _(e){b.setCookie(e,"",0),b.removeDataFromLocalStorage(e)}function E(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>e;return null==e?[]:Array.isArray(e[0])?e.map((e=>t(e))):[t(e)]}function R(e){return e[0]+"x"+e[1]}function w(e){return void 0!==e?.mediaTypes?.video}function U(e){try{const t={},i=function(e){if(e.getFloor)return e.getFloor;if(e.params.bidFloor&&e.params.bidFloorCur)try{const t=parseFloat(e.params.bidFloor);return()=>({currency:e.params.bidFloorCur,floor:t})}catch{}}(e);if(i){if(e.mediaTypes?.banner){t.banner={};E(e?.mediaTypes?.banner?.sizes).forEach((a=>t.banner[R(a).toString()]=i.call(e,{size:a,mediaType:s.D4})))}if(e.mediaTypes?.video){t.video={};E(e?.mediaTypes?.video?.playerSize).forEach((a=>t.video[R(a).toString()]=i.call(e,{size:a,mediaType:s.G_})))}return e.mediaTypes?.native&&(t.native={},t.native["*"]=i.call(e,{size:"*",mediaType:s.s6})),t}}catch(e){(0,n.vV)("Could not parse floors from Prebid: "+e)}}(0,o.a$)(P),(0,a.E)("criteoBidAdapter")}},e=>{e.O(0,[802,117,889,85],(()=>{return t=1493,e(e.s=t);var t}));e.O()}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[466],{9236:(e,r,n)=>{var t=n(7873),o=n(1069),c=n(3172),i=n(8969),s=n(8044),u=n(3272),a=n(9214),f=n(5555),l=n(1e3),d=n(6894),y=n(5023),v=n(1970),p=n(6400);const h=4;let C,g=[],b={},$=!1,R=!0,m="USD";var O=!1,S={};let E,N={},T=(0,f.v)();const U=(0,p.L)();let w=0;function D(e){if(C="https://cdn.jsdelivr.net/gh/prebid/currency-file@1/latest.json?date=$$TODAY$$",null!==e.rates&&"object"==typeof e.rates&&(S.conversions=e.rates,$=!0,R=!1),null!==e.defaultRates&&"object"==typeof e.defaultRates&&(E=e.defaultRates,S.conversions=E,$=!0),"string"==typeof e.adServerCurrency){w=e.auctionDelay,(0,o.fH)("enabling currency support",arguments),m=e.adServerCurrency,e.conversionRateFile&&((0,o.fH)("currency using override conversionRateFile:",e.conversionRateFile),C=e.conversionRateFile);const r=C.indexOf("$$TODAY$$");if(-1!==r){const e=new Date;let n=`${e.getMonth()+1}`,t=`${e.getDate()}`;n.length<2&&(n=`0${n}`),t.length<2&&(t=`0${t}`);const o=`${e.getFullYear()}${n}${t}`;C=`${C.substring(0,r)}${o}${C.substring(r+9,C.length)}`}b={},O||(O=!0,(0,t.m)().convertCurrency=(e,r,n)=>parseFloat(e)*J(r,n),(0,a.Yn)("addBidResponse").before(A,100),(0,a.Yn)("responsesReady").before(k),v.w.before(_),(0,a.Yn)("requestBids").before(q,50),(0,y.on)(i.qY.AUCTION_TIMEOUT,F),(0,y.on)(i.qY.AUCTION_INIT,I),I())}else w=0,(0,o.fH)("disabling currency support"),O&&((0,a.Yn)("addBidResponse").getHooks({hook:A}).remove(),(0,a.Yn)("responsesReady").getHooks({hook:k}).remove(),v.w.getHooks({hook:_}).remove(),(0,a.Yn)("requestBids").getHooks({hook:q}).remove(),(0,y.AU)(i.qY.AUCTION_TIMEOUT,F),(0,y.AU)(i.qY.AUCTION_INIT,I),delete(0,t.m)().convertCurrency,m="USD",b={},O=!1,$=!1,R=!0,S={},N={},T=(0,f.v)());"object"==typeof e.bidderCurrencyDefault&&(N=e.bidderCurrencyDefault)}function Y(e){E?((0,o.JE)(e),(0,o.JE)("Currency failed loading rates, falling back to currency.defaultRates")):(0,o.vV)(e)}function I(){R?(R=!1,$=!1,(0,s.RD)(C,{success:function(e){try{S=JSON.parse(e),(0,o.fH)("currencyRates set to "+JSON.stringify(S)),b={},$=!0,H(),U.resume()}catch(r){Y("Failed to parse currencyRates response: "+e)}},error:function(){Y(...arguments),$=!0,H(),U.resume(),R=!0}})):H()}function k(e,r){e(r.then((()=>T.promise)))}u.$W.getConfig("currency",(e=>D(e.currency)));const A=(0,d.NL)("currency",(function(e,r,n,t){if(!n)return e.call(this,r,n,t);let c=n.bidderCode||n.bidder;if(N[c]){let e=N[c];n.currency&&e!==n.currency?(0,o.JE)(`Currency default \'${c}: ${e}\' ignored. adapter specified \'${n.currency}\'`):n.currency=e}if(n.currency||((0,o.JE)(\'Currency not specified on bid. Defaulted to "USD"\'),n.currency="USD"),n.getCpmInNewCurrency=function(e){return(parseFloat(this.cpm)*J(this.currency,e)).toFixed(3)},n.currency===m)return e.call(this,r,n,t);g.push([e,this,r,n,t]),O&&!$||H()}));function F(e){let{auctionId:r}=e;g=g.filter((e=>{let[n,t,o,c,s]=e;if(c.auctionId!==r)return!0;s(i.Tf.CANNOT_CONVERT_CURRENCY)}))}function H(){for(;g.length>0;){const[e,r,n,t,c]=g.shift();if(void 0!==t&&"currency"in t&&"cpm"in t){let e=t.currency;try{let r=J(e);1!==r&&(t.cpm=(parseFloat(t.cpm)*r).toFixed(4),t.currency=m)}catch(e){(0,o.JE)("getCurrencyConversion threw error: ",e),c(i.Tf.CANNOT_CONVERT_CURRENCY);continue}}e.call(r,n,t,c)}T.resolve()}function J(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:m;var n,t=null;let c=`${e}->${r}`;if(c in b)t=b[c],(0,o.OG)("Using conversionCache value "+t+" for "+c);else if(!1===O){if("USD"!==e)throw new Error("Prebid currency support has not been enabled and fromCurrency is not USD");t=1}else if(e===r)t=1;else if(e in S.conversions){if(!(r in(n=S.conversions[e])))throw new Error("Specified adServerCurrency in config \'"+r+"\' not found in the currency rates file");t=n[r],(0,o.fH)("getCurrencyConversion using direct "+e+" to "+r+" conversionRate "+t)}else if(r in S.conversions){if(!(e in(n=S.conversions[r])))throw new Error("Specified fromCurrency \'"+e+"\' not found in the currency rates file");t=j(1/n[e],h),(0,o.fH)("getCurrencyConversion using reciprocal "+e+" to "+r+" conversionRate "+t)}else{var i=Object.keys(S.conversions)[0];if(!(e in S.conversions[i]))throw new Error("Specified fromCurrency \'"+e+"\' not found in the currency rates file");var s=1/S.conversions[i][e];if(!(r in S.conversions[i]))throw new Error("Specified adServerCurrency in config \'"+r+"\' not found in the currency rates file");t=j(s*S.conversions[i][r],h),(0,o.fH)("getCurrencyConversion using intermediate "+e+" thru "+i+" to "+r+" conversionRate "+t)}return c in b||((0,o.OG)("Adding conversionCache value "+t+" for "+c),b[c]=t),t}function j(e,r){var n=1;for(let e=0;e<r;e++)n+="0";return Math.round(e*n)/n}function _(e,r){return e(r.then((e=>((0,c.J)(e,"ext.prebid.adServerCurrency",m),e))))}(0,l.pS)({type:l.S3,name:"currency",fn:function(e,r,n){O&&(e.cur=e.cur||[n.currency||m])}});const q=(0,d.Ak)("currency",(function(e,r){const n=(t=this,()=>e.call(t,r));var t;!$&&w>0?U.submit(w,n,(()=>{(0,o.JE)(`currency: Fetch attempt did not return in time for auction ${r.auctionId}`),n()})):n()}));(0,t.E)("currency")}},e=>{e.O(0,[802,957,85],(()=>{return r=9236,e(e.s=r);var r}));e.O()}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[170],{7764:(e,t,i)=>{var n=i(7873),r=i(433),a=i(1069),o=i(3172),d=i(1371),s=i(3272),p=i(2938),l=i(5901),c=i(9115),u=i(3895),m=i(5789),f=i(1252);const g="ix",b=[d.D4,d.G_,d.s6],x=50,h=[144,144],y={JPY:1},v={PBJS:"p",IX:"x"},I={SITE:["id","name","domain","cat","sectioncat","pagecat","page","ref","search","mobile","privacypolicy","publisher","content","keywords","ext"],USER:["id","buyeruid","yob","gender","keywords","customdata","geo","data","ext"]},A={"liveramp.com":"idl","netid.de":"NETID","neustar.biz":"fabrickId","zeotap.com":"zeotapIdPlus","uidapi.com":"UID2","adserver.org":"TDID"},w=["lipbid","criteoId","merkleId","parrableId","connectid","tapadId","quantcastId","pubProvidedId","pairId"],C=["mimes","minduration","maxduration"],O=["mimes","minduration","maxduration","protocols","protocol","startdelay","placement","linearity","skip","skipmin","skipafter","sequence","battr","maxextended","minbitrate","maxbitrate","boxingallowed","playbackmethod","playbackend","delivery","pos","companionad","api","companiontype","ext","playerSize","w","h","plcmt"],U=`${g}_features`,E=(0,p.vM)({bidderCode:g}),S={REQUESTED_FEATURE_TOGGLES:["pbjs_enable_multiformat","pbjs_allow_all_eids"],featureToggles:{},isFeatureEnabled:function(e){return(0,r.A)(this.featureToggles,`features.${e}.activated`,!1)},getFeatureToggles:function(){if(E.localStorageIsEnabled()){const e=(0,a.$l)(E.getDataFromLocalStorage(U));(0,r.A)(e,"expiry")&&e.expiry>=(new Date).getTime()?this.featureToggles=e:this.clearFeatureToggles()}},setFeatureToggles:function(e){const t=e.body,i=new Date,n=(0,r.A)(t,"ext.features");n&&(this.featureToggles={expiry:i.setHours(i.getHours()+1),features:n},E.localStorageIsEnabled()&&E.setDataInLocalStorage(U,JSON.stringify(this.featureToggles)))},clearFeatureToggles:function(){this.featureToggles={},E.localStorageIsEnabled()&&E.removeDataFromLocalStorage(U)}};let T=0,D="",P="",J=!1;const _=2;function k(e){const t=F(e,d.G_),i=(0,r.A)(e,"mediaTypes.video"),n=(0,r.A)(e,"params.video");if($(i,n).length)return{};t.video=n?(0,a.Go)(e.params.video):{};let s=(0,r.A)(e,"ortb2Imp.ext.tid");s&&(0,o.J)(t,"ext.tid",s),function(e,t){if((0,r.A)(t,"mediaTypes.video.context")===u.H6){let i=(0,r.A)(t,"mediaTypes.video.renderer");if(i||(i=(0,r.A)(t,"renderer")),(0,r.A)(t,"schain",!1))e.displaymanager="pbjs_wrapper";else if(i&&"object"==typeof i){if(void 0!==i.url){let t="";try{t=new URL(i.url).hostname}catch{return}t.includes("js-sec.indexww")?e.displaymanager="ix":e.displaymanager=i.url}}else e.displaymanager="ix"}}(t,e),W(t,e);for(const e in i)-1===O.indexOf(e)||t.video.hasOwnProperty(e)||(t.video[e]=i[e]);if(t.video.minduration>t.video.maxduration)return(0,a.vV)(`IX Bid Adapter: video minduration [${t.video.minduration}] cannot be greater than video maxduration [${t.video.maxduration}]`),{};const p=n&&n.context||i&&i.context;if(function(e){e.video.hasOwnProperty("plcmt")&&(!(0,a.Fq)(e.video.plcmt)||e.video.plcmt<1||e.video.plcmt>4)&&((0,a.JE)(`IX Bid Adapter: video.plcmt [${e.video.plcmt}] must be an integer between 1-4 inclusive`),delete e.video.plcmt)}(t),p&&!t.video.hasOwnProperty("placement")&&(p===u.mn?t.video.placement=1:p===u.H6?(0,r.A)(n,"playerConfig.floatOnScroll")?t.video.placement=5:(t.video.placement=3,J=!0):(0,a.JE)(`IX Bid Adapter: Video context \'${p}\' is not supported`)),!t.video.w||!t.video.h){const i=X((0,r.A)(t,"video.playerSize"))||X((0,r.A)(e,"params.size"));if(!i)return(0,a.JE)("IX Bid Adapter: Video size is missing in [mediaTypes.video]"),{};t.video.w=i[0],t.video.h=i[1]}return j(e,t,d.G_),t}function F(e,t){const i={};if(i.id=e.bidId,re()&&(0,r.A)(e,"params.externalId")&&(0,o.J)(i,"ext.externalID",e.params.externalId),(0,r.A)(e,`params.${t}.siteId`)&&!isNaN(Number(e.params[t].siteId)))switch(t){case d.D4:(0,o.J)(i,"ext.siteID",e.params.banner.siteId.toString());break;case d.G_:(0,o.J)(i,"ext.siteID",e.params.video.siteId.toString());break;case d.s6:(0,o.J)(i,"ext.siteID",e.params.native.siteId.toString())}else e.params.siteId&&(0,o.J)(i,"ext.siteID",e.params.siteId.toString());return!e.params.hasOwnProperty("id")||"string"!=typeof e.params.id&&"number"!=typeof e.params.id||(0,o.J)(i,"ext.sid",String(e.params.id)),i}function j(e,t,i){let n=null,r=null;if(e.params.bidFloor&&e.params.bidFloorCur&&(n={floor:e.params.bidFloor,currency:e.params.bidFloorCur}),(0,a.fp)(e.getFloor)){let n="*",o="*";if(i&&(0,a.gR)(b,i)){const{w:e,h:r}=t[i];n=i,o=[e,r]}try{r=e.getFloor({mediaType:n,size:o})}catch(e){(0,a.JE)("priceFloors module call getFloor failed, error : ",e)}}let s=!1;r?(t.bidfloor=r.floor,t.bidfloorcur=r.currency,(0,o.J)(t,"ext.fl",v.PBJS),s=!0):n&&(t.bidfloor=n.floor,t.bidfloorcur=n.currency,(0,o.J)(t,"ext.fl",v.IX),s=!0),s&&(i==d.D4?((0,o.J)(t,"banner.ext.bidfloor",t.bidfloor),(0,o.J)(t,"banner.ext.fl",t.ext.fl)):i==d.G_?((0,o.J)(t,"video.ext.bidfloor",t.bidfloor),(0,o.J)(t,"video.ext.fl",t.ext.fl)):((0,o.J)(t,"native.ext.bidfloor",t.bidfloor),(0,o.J)(t,"native.ext.fl",t.ext.fl)))}function B(e,t,i){const n={},o=!(!(0,r.A)(e,"exp")||!(0,a.Fq)(e.exp)),s=(0,r.A)(e,"dealid")||(0,r.A)(e,"ext.dealid");y.hasOwnProperty(t)?n.cpm=e.price/y[t]:n.cpm=e.price/100,n.requestId=e.impid,s&&(n.dealId=s),n.netRevenue=true,n.currency=t,n.creativeId=e.hasOwnProperty("crid")?e.crid:"-",e.mtype!=_||(!e.ext||e.ext.vasturl)&&e.ext?e.ext&&e.ext.vasturl&&(n.vastUrl=e.ext.vasturl):n.vastXml=e.adm;let p=null;if("string"==typeof e.adm&&"{"===e.adm[0]&&"}"===e.adm[e.adm.length-1])try{p=JSON.parse(e.adm)}catch(e){(0,a.JE)("adm looks like JSON but failed to parse: ",e)}return e.ext&&e.ext.vasturl||e.mtype==_?(n.width=i.video.w,n.height=i.video.h,n.mediaType=d.G_,n.mediaTypes=i.mediaTypes,n.ttl=o?e.exp:3600):p&&p.native?(n.native={ortb:p.native},n.width=e.w?e.w:1,n.height=e.h?e.h:1,n.mediaType=d.s6,n.ttl=o?e.exp:3600):(n.ad=e.adm,n.width=e.w,n.height=e.h,n.mediaType=d.D4,n.ttl=o?e.exp:300),n.meta={},n.meta.networkId=(0,r.A)(e,"ext.dspid"),n.meta.brandId=(0,r.A)(e,"ext.advbrandid"),n.meta.brandName=(0,r.A)(e,"ext.advbrand"),e.adomain&&e.adomain.length>0&&(n.meta.advertiserDomains=e.adomain),e.ext?.dsa&&(n.meta.dsa=e.ext.dsa),n}function z(e){return Array.isArray(e)&&2===e.length&&(0,a.Fq)(e[0])&&(0,a.Fq)(e[1])}function R(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(z(e))return e[0]===t[0]&&e[1]===t[1];for(let i=0;i<e.length;i++)if(e[i][0]===t[0]&&e[i][1]===t[1])return!0;return!1}function $(e,t){const i=[];e||(0,a.JE)("IX Bid Adapter: mediaTypes.video is the preferred location for video params in ad unit");for(let n of C){const r=e&&e.hasOwnProperty(n),a=t&&t.hasOwnProperty(n);r||a||i.push(`IX Bid Adapter: ${n} is not included in either the adunit or params level`)}const n=e&&e.hasOwnProperty("protocol"),r=e&&e.hasOwnProperty("protocols"),o=t&&t.hasOwnProperty("protocol"),d=t&&t.hasOwnProperty("protocols");return n||r||o||d||i.push("IX Bid Adapter: protocol/protcols is not included in either the adunit or params level"),i}function X(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return z(e)?e:!!z(e[0])&&e[0]}function q(e,t,i){if(!e)return;return{...(0,l.I6)(i,(t=>t.bidId===e)),...(0,l.I6)(t,(t=>t.id===e))}}function G(e,t,i,n){let d="https://htlb.casalemedia.com/openrtb/pbjs",p=function(e){let t=[],i={};if((0,a.cy)(e))for(const n of e){const e=A.hasOwnProperty(n.source);if((0,r.A)(n,"uids.0")&&(i[n.source]=!0,e&&""!==A[n.source]&&(n.uids[0].ext={rtiPartner:A[n.source]}),t.push(n),t.length>=x))break}return{toSend:t,seenSources:i}}((0,r.A)(e,"0.userIdAsEids")),l=p.toSend;window.headertag&&"function"==typeof window.headertag.getIdentityInfo&&function(e,t){let i=window.headertag.getIdentityInfo();if(i&&"object"==typeof i)for(const n in i){if(e.length>=x)return;if(i.hasOwnProperty(n)){let r=i[n];!r.responsePending&&r.data&&"object"==typeof r.data&&Object.keys(r.data).length&&!t.seenSources[r.data.source]&&e.push(r.data)}}}(l,p);const c=[];let u=function(e){const t={};return t.id=e[0].bidderRequestId.toString(),t.site={},t.ext={},t.ext.source="prebid",t.ext.ixdiag={},t.ext.ixdiag.ls=E.localStorageIsEnabled(),t.imp=[],t.at=1,t}(e);u=function(e,t){t.length>0&&(e.ext.features={},t.forEach((t=>{e.ext.features[t]={activated:S.isFeatureEnabled(t)}})));return e}(u,S.REQUESTED_FEATURE_TOGGLES);let m=function(e,t){var i=e.map((e=>e.adUnitCode)).filter(((e,t,i)=>i.indexOf(e)===t));let n=(0,r.A)(e,"0.userIdAsEids",[]),a={mfu:0,bu:0,iu:0,nu:0,ou:0,allu:0,ren:!1,version:"9.23.0",userIds:M(e[0]),url:window.location.href.split("?")[0],vpd:J,ae:t,eidLength:n.length};for(let t of i){let i=e.filter((e=>e.adUnitCode===t))[0];(0,r.A)(i,"mediaTypes")&&(Object.keys(i.mediaTypes).length>1&&a.mfu++,(0,r.A)(i,"mediaTypes.native")&&a.nu++,(0,r.A)(i,"mediaTypes.banner")&&a.bu++,"outstream"===(0,r.A)(i,"mediaTypes.video.context")&&(a.ou++,ne(i)&&(a.ren=!0)),"instream"===(0,r.A)(i,"mediaTypes.video.context")&&a.iu++,a.allu++)}return a}(e,(0,r.A)(t,"paapi.enabled"));for(let e in m)u.ext.ixdiag[e]=m[e];u=function(e,t,i,n,a){const o=(0,r.A)(t,"timeout");o&&(e.ext.ixdiag.tmax=o);s.$W.getConfig("userSync")&&(e.ext.ixdiag.syncsPerBidder=s.$W.getConfig("userSync").syncsPerBidder);e.ext.ixdiag.imps=Object.keys(i).length,e.source={tid:t?.ortb2?.source?.tid},n[0].schain&&(e.source.ext={},e.source.ext.schain=n[0].schain);a.length>0&&(e.user={},e.user.eids=a);document.referrer&&""!==document.referrer&&(e.site.ref=document.referrer);return e}(u,t,i,e,l),u=function(e,t){if(t){t.gdprConsent&&(D=t.gdprConsent,D.hasOwnProperty("gdprApplies")&&(e.regs={ext:{gdpr:D.gdprApplies?1:0}}),D.hasOwnProperty("consentString")&&(e.user=e.user||{},e.user.ext={consent:D.consentString||""},D.hasOwnProperty("addtlConsent")&&D.addtlConsent&&(e.user.ext.consented_providers_settings={addtl_consent:D.addtlConsent}))),t.uspConsent&&((0,o.J)(e,"regs.ext.us_privacy",t.uspConsent),P=t.uspConsent);const i=(0,r.A)(t,"refererInfo.page");i&&(e.site.page=i),t.gppConsent&&((0,o.J)(e,"regs.gpp",t.gppConsent.gppString),(0,o.J)(e,"regs.gpp_sid",t.gppConsent.applicableSections))}s.$W.getConfig("coppa")&&(0,o.J)(e,"regs.coppa",1);return e}(u,t);let f={};e[0].params.siteId&&(T=e[0].params.siteId,f.s=T);const g=Object.keys(i);let b=!1;for(let n=0;n<g.length&&!(c.length>=4);n++){u=L(i,g,u,n);const o=(0,r.A)(t,"ortb2")||{},p={...o.site||o.context};p.page=N(t);const l={...o.user};(0,a.Im)(o)||b||(u=V(t,u,o,p,l),u.site=(0,a.D9)({},u.site,p),u.user=(0,a.D9)({},u.user,l),b=!0),u=H(i,u,g,n,f,d);const m=n===g.length-1;if(u=le(u),u=de(u),u=se(u),m){let t=`${d}?`;0!==T&&(t+=`s=${T}`),re()&&(t+=0!==T?"&":"",t+=`p=${s.$W.getConfig("exchangeId")}`),c.push({method:"POST",url:t,data:(0,a.Go)(u),option:{contentType:"text/plain"},validBidRequests:e}),u.imp=[],b=!1}}return c}function L(e,t,i,n){const s=e[t[n]],{missingImps:p=[],ixImps:l=[]}=s,c={ixImps:l,missingBannerImpressions:p},u=Object.keys(c).map((e=>c[e])).filter((e=>Array.isArray(e))).reduce(((e,t)=>e.concat(...t)),[]),m=e[t[n]].gpid,f=e[t[n]].dfp_ad_unit_code,g=e[t[n]].tid,b=e[t[n]].sid,x=e[t[n]].ae,h=e[t[n]].paapi,y=u.filter((e=>d.D4 in e)),v=u.filter((e=>!(d.D4 in e)));if(y.length>0){const d=y.reduce(((e,t)=>(e[t.adunitCode]||(e[t.adunitCode]=[]),e[t.adunitCode].push(t),e)),{});for(const s in d){const p=d[s],{id:l,banner:{topframe:c}}=p[0];let u=(0,r.A)(p[0],"ext.externalID");const y={id:l,banner:{topframe:c,format:p.map((e=>{let{banner:{w:t,h:i},ext:n}=e;return{w:t,h:i,ext:n}}))}};for(let e=0;e<y.banner.format.length;e++)null!=y.banner.format[e].ext&&(null!=y.banner.format[e].ext.sid&&delete y.banner.format[e].ext.sid,null!=y.banner.format[e].ext.externalID&&delete y.banner.format[e].ext.externalID),"bidfloor"in p[e]&&(y.banner.format[e].ext.bidfloor=p[e].bidfloor),"{}"===JSON.stringify(y.banner.format[e].ext)&&delete y.banner.format[e].ext;const v=e[t[n]].pos;(0,a.Fq)(v)&&(y.banner.pos=v),(f||m||g||b||x||u||h)&&(y.ext={},y.ext.dfp_ad_unit_code=f,y.ext.gpid=m,y.ext.tid=g,y.ext.sid=b,y.ext.externalID=u,1==x&&(y.ext.ae=1,y.ext.paapi=h)),"bidfloor"in p[0]&&(y.bidfloor=p[0].bidfloor),"bidfloorcur"in p[0]&&(y.bidfloorcur=p[0].bidfloorcur);const I=e[t[n]].adUnitFPD;I&&(0,o.J)(y,"ext.data",I),i.imp.push(y)}}return v.length>0&&v.forEach((e=>{if(m&&(0,o.J)(e,"ext.gpid",m),i.imp.length>0){let t=!1;i.imp.forEach(((n,a)=>{e.id===n.id&&d.G_ in e?(n.video=e.video,n.video.ext=Object.assign({},e.video.ext,e.ext),(0,r.A)(n,"video.ext.bidfloor",!1)&&(0,r.A)(n,"bidfloor",!1)&&n.video.ext.bidfloor<n.bidfloor&&(n.bidfloor=n.video.ext.bidfloor),!(0,r.A)(n,"ext.siteID",!1)&&(0,r.A)(e,"video.ext.siteID")&&((0,o.J)(n,"ext.siteID",e.video.ext.siteID),(0,o.J)(i,"ext.ixdiag.usid",!0)),t=!0):e.id===n.id&&d.s6 in e&&(n.native=e.native,n.native.ext=Object.assign({},e.native.ext,e.ext),(0,r.A)(n,"native.ext.bidfloor",!1)&&(0,r.A)(n,"bidfloor",!1)&&n.native.ext.bidfloor<n.bidfloor&&(n.bidfloor=n.native.ext.bidfloor),!(0,r.A)(n,"ext.siteID",!1)&&(0,r.A)(e,"native.ext.siteID",!1)&&((0,o.J)(n,"ext.siteID",e.native.ext.siteID),(0,o.J)(i,"ext.ixdiag.usid",!0)),t=!0)})),t||i.imp.push(e)}else i.imp.push(e)})),i}function N(e){const t=e&&e.bidderCode||"ix",i=s.$W.getConfig(t);let n="";if(n=(0,r.A)(e,"ortb2.site.page")?e.ortb2.site.page:(0,r.A)(e,"refererInfo.page"),i&&"object"==typeof i.firstPartyData){return function(e,t,i){let n;try{n=new URL(t)}catch(i){(0,a.JE)(`IX Bid Adapter: Invalid URL set in ortb2.site.page: ${t}. Using referer URL instead.`),n=new URL((0,r.A)(e,"refererInfo.page"))}const o=new URLSearchParams(n.search);for(const[e,t]of Object.entries(i))o.has(e)||o.append(e,t);return n.search=o.toString(),n.toString()}(e,n,i.firstPartyData)}return n}function V(e,t,i,n,r){if(t.ext.ixdiag.fpd=!0,Object.keys(n).forEach((e=>{-1===I.SITE.indexOf(e)&&delete n[e]})),Object.keys(r).forEach((e=>{-1===I.USER.indexOf(e)&&delete r[e]})),i.device){const e={...i.device.sua};(0,a.Im)(e)||(0,o.J)(t,"device.sua",e)}if(i.hasOwnProperty("regs")&&!e.gppConsent&&(i.regs.hasOwnProperty("gpp")&&"string"==typeof i.regs.gpp&&(0,o.J)(t,"regs.gpp",i.regs.gpp),i.regs.hasOwnProperty("gpp_sid")&&Array.isArray(i.regs.gpp_sid)&&(0,o.J)(t,"regs.gpp_sid",i.regs.gpp_sid),i.regs.ext?.dsa)){const e=i.regs.ext.dsa,n={};if(["dsarequired","pubrender","datatopub"].forEach((t=>{(0,a.Et)(e[t])&&(n[t]=e[t])})),(0,a.cy)(e.transparency)){const t=[];e.transparency.forEach((e=>{(0,a.Qd)(e)&&(0,a.O8)(e.domain)&&""!=e.domain&&(0,a.cy)(e.dsaparams)&&e.dsaparams.every((e=>(0,a.Et)(e)))&&t.push(e)})),t.length>0&&(n.transparency=t)}(0,a.Im)(n)||(0,o.J)(t,"regs.ext.dsa",n)}return t}function W(e,t){const i=(0,r.A)(t,"ortb2Imp.ext.data");i&&(0,o.J)(e,"ext.data",i)}function H(e,t,i,n,r,a){const o=e[i[n]].pbadslot,d=e[i[n]].tagId,s=e[i[n]].adUnitCode,p=e[i[n]].divId;return(o||d||s||p)&&(t.ext.ixdiag.pbadslot=o,t.ext.ixdiag.tagid=d,t.ext.ixdiag.adunitcode=s,t.ext.ixdiag.divId=p),t}function M(e){const t=e.userId||{};return w.filter((e=>t[e]))}function Q(e,t){if(t)for(let i=0;i<e.length;i++){const n=e[i];if(t[0]===n[0]&&t[1]===n[1]){e.splice(i,1);break}}}function Y(e,t){const i=function(e){const t=F(e,d.s6),i=e.nativeOrtbRequest;i.eventtrackers=[{event:1,methods:[1,2]}],i.privacy=1,t.native={request:JSON.stringify(i),ver:"1.2"};let n=(0,r.A)(e,"ortb2Imp.ext.tid");return n&&(0,o.J)(t,"ext.tid",n),W(t,e),j(e,t,d.s6),t}(e);if(0!=Object.keys(i).length){t[e.adUnitCode]={},t[e.adUnitCode].ixImps=[],t[e.adUnitCode].ixImps.push(i),t[e.adUnitCode].gpid=(0,r.A)(e,"ortb2Imp.ext.gpid"),t[e.adUnitCode].dfp_ad_unit_code=(0,r.A)(e,"ortb2Imp.ext.data.adserver.adslot"),t[e.adUnitCode].pbadslot=(0,r.A)(e,"ortb2Imp.ext.data.pbadslot"),t[e.adUnitCode].tagId=(0,r.A)(e,"params.tagId");const n=e.adUnitCode,a=document.getElementById(n)?n:(0,f.p)(n).divId;t[e.adUnitCode].adUnitCode=n,t[e.adUnitCode].divId=a}}function Z(e,t){const i=k(e);if(0!=Object.keys(i).length){t[e.adUnitCode]={},t[e.adUnitCode].ixImps=[],t[e.adUnitCode].ixImps.push(i),t[e.adUnitCode].gpid=(0,r.A)(e,"ortb2Imp.ext.gpid"),t[e.adUnitCode].dfp_ad_unit_code=(0,r.A)(e,"ortb2Imp.ext.data.adserver.adslot"),t[e.adUnitCode].pbadslot=(0,r.A)(e,"ortb2Imp.ext.data.pbadslot"),t[e.adUnitCode].tagId=(0,r.A)(e,"params.tagId");const n=e.adUnitCode,a=document.getElementById(n)?n:(0,f.p)(n).divId;t[e.adUnitCode].adUnitCode=n,t[e.adUnitCode].divId=a}}function K(e,t,i,n){let o=function(e){const t=F(e,d.D4);t.banner={},t.adunitCode=e.adUnitCode;const i=(0,r.A)(e,"params.size");return i&&(t.banner.w=i[0],t.banner.h=i[1]),t.banner.topframe=(0,a.al)()?0:1,j(e,t,d.D4),t}(e);const s=R((0,r.A)(e,"mediaTypes.banner.sizes"),(0,r.A)(e,"params.size"));i.hasOwnProperty(e.adUnitCode)||(i[e.adUnitCode]={}),i[e.adUnitCode].gpid=(0,r.A)(e,"ortb2Imp.ext.gpid"),i[e.adUnitCode].dfp_ad_unit_code=(0,r.A)(e,"ortb2Imp.ext.data.adserver.adslot"),i[e.adUnitCode].tid=(0,r.A)(e,"ortb2Imp.ext.tid"),i[e.adUnitCode].pbadslot=(0,r.A)(e,"ortb2Imp.ext.data.pbadslot"),i[e.adUnitCode].tagId=(0,r.A)(e,"params.tagId"),i[e.adUnitCode].pos=(0,r.A)(e,"mediaTypes.banner.pos");if((0,r.A)(n,"paapi.enabled")){const t=(0,r.A)(e,"ortb2Imp.ext.ae"),n=(0,r.A)(e,"ortb2Imp.ext.paapi");n&&(i[e.adUnitCode].paapi=n),t&&((0,a.Fq)(t)?i[e.adUnitCode].ae=t:(0,a.JE)("error setting auction environment flag - must be an integer"))}const p=(0,r.A)(e,"ortb2Imp.ext.data");p&&(i[e.adUnitCode].adUnitFPD=p);const l=(0,r.A)(e,"params.id");!l||"string"!=typeof l&&"number"!=typeof l||(i[e.adUnitCode].sid=String(l));const c=e.adUnitCode,u=document.getElementById(c)?c:(0,f.p)(c).divId;i[e.adUnitCode].adUnitCode=c,i[e.adUnitCode].divId=u,s&&(i[e.adUnitCode].hasOwnProperty("ixImps")||(i[e.adUnitCode].ixImps=[]),i[e.adUnitCode].ixImps.push(o)),function(e,t,i){if(t.hasOwnProperty(e.adUnitCode)){let i=[];t[e.adUnitCode].hasOwnProperty("missingSizes")&&(i=t[e.adUnitCode].missingSizes),Q(i,e.params.size),t[e.adUnitCode].missingSizes=i}else if((0,r.A)(e,"mediaTypes.banner.sizes")){let n=(0,a.Go)(e.mediaTypes.banner.sizes);Q(n,e.params.size);let r={missingSizes:n,impression:i};t[e.adUnitCode]=r}}(e,t,o)}function ee(e,t,i){const n=(0,a.Go)(t);return n.banner.w=i[0],n.banner.h=i[1],j(e,n,d.D4),n}function te(e){e.renderer.push((function(){const t=e.adUnitCode,i=document.getElementById(t)?t:(0,f.p)(t).divId;i?window.createIXPlayer(i,e):(0,a.JE)(`IX Bid Adapter: adUnitCode: ${i} not found on page.`)}))}function ie(e,t){const i=m.A4.install({id:e,url:t,loaded:!1});try{i.setRender(te)}catch(e){return(0,a.JE)("Prebid Error calling setRender on renderer",e),null}return t?i:((0,a.JE)("Outstream renderer URL not found"),null)}function ne(e){if("outstream"!==(0,r.A)(e,"mediaTypes.video.context"))return!1;let t=(0,r.A)(e,"mediaTypes.video.renderer");t||(t=(0,r.A)(e,"renderer"));return!!("object"!=typeof t||!t.url||!t.render)||t.backupOnly}function re(){let e=s.$W.getConfig("exchangeId");return!("number"!=typeof e||!isFinite(e))||!("string"!=typeof e||""===e.trim()||!isFinite(Number(e)))}const ae={code:g,gvlid:10,supportedMediaTypes:b,isBidRequestValid:function(e){const t=(0,r.A)(e,"params.video"),i=(0,r.A)(e,"params.size"),n=(0,r.A)(e,"mediaTypes.banner.sizes"),o=(0,r.A)(e,"mediaTypes.video"),d=(0,r.A)(e,"mediaTypes.video.playerSize"),s=e.params.hasOwnProperty("bidFloor"),p=e.params.hasOwnProperty("bidFloorCur");if(e.hasOwnProperty("mediaType")&&!(0,a.gR)(b,e.mediaType))return(0,a.JE)("IX Bid Adapter: media type is not supported."),!1;if((0,r.A)(e,"mediaTypes.banner")&&!n)return!1;if(i){const t=X(i);if(!t)return(0,a.vV)("IX Bid Adapter: size has invalid format."),!1;if(!R(e.sizes,t)&&!R(d,t)&&!R(n,t))return(0,a.vV)("IX Bid Adapter: bid size is not included in ad unit sizes or player size."),!1}if(!re()&&null==e.params.siteId)return(0,a.vV)("IX Bid Adapter: Invalid configuration - either siteId or exchangeId must be configured."),!1;if(void 0!==e.params.siteId){if("string"!=typeof e.params.siteId&&"number"!=typeof e.params.siteId)return(0,a.vV)("IX Bid Adapter: siteId must be string or number type."),!1;if("string"!=typeof e.params.siteId&&isNaN(Number(e.params.siteId)))return(0,a.vV)("IX Bid Adapter: siteId must valid value"),!1}if((s||p)&&!(s&&p&&(l=e.params.bidFloor,c=e.params.bidFloorCur,Boolean("number"==typeof l&&"string"==typeof c&&c.match(/^[A-Z]{3}$/)))))return(0,a.vV)("IX Bid Adapter: bidFloor / bidFloorCur parameter has invalid format."),!1;var l,c;if(o&&t){const i=k(e).video,n=$(o,t);if((0,r.A)(e,"mediaTypes.video.context")===u.H6&&ne(e)&&i){const e=[(0,r.A)(i,"w"),(0,r.A)(i,"h")];if(!(e[0]>=h[0]&&e[1]>=h[1]))return(0,a.vV)(`IX Bid Adapter: ${e} is an invalid size for IX outstream renderer`),!1}if(n.length)return n.forEach((e=>{(0,a.vV)(e)})),!1}return function(e){return void 0===(0,r.A)(e,"mediaTypes.native")||e.nativeOrtbRequest&&Array.isArray(e.nativeOrtbRequest.assets)&&e.nativeOrtbRequest.assets.length>0}(e)},resetSiteID:function(){T=0},buildRequests:function(e,t){const i=[],n={},o={},s={},p={};S.getFeatureToggles(),e.forEach((e=>{const i=Object.keys((0,r.A)(e,"mediaTypes",{}));for(const r in i)switch(i[r]){case d.D4:K(e,p,n,t);break;case d.G_:Z(e,o);break;case d.s6:Y(e,s);break;default:(0,a.JE)(`IX Bid Adapter: ad unit mediaTypes ${r} is not supported`)}}));for(let t in p)if(p.hasOwnProperty(t)){let i=p[t].missingSizes;n.hasOwnProperty(t)||(n[t]={}),n[t].hasOwnProperty("missingImps")||(n[t].missingImps=[],n[t].missingCount=0);let r=p[t].impression;for(let a=0;a<i.length;a++){let o=ee(e[0],r,i[a]);n[t].missingImps.push(o),n[t].missingCount++}}let l=[];return Object.keys(n).length>0&&l.push(n),Object.keys(o).length>0&&l.push(o),Object.keys(s).length>0&&l.push(s),S.isFeatureEnabled("pbjs_enable_multiformat")?i.push(...G(e,t,function(e){const t={};return e.forEach((e=>{Object.keys(e).forEach((i=>{Object.keys(t).includes(i)?t[i].hasOwnProperty("ixImps")&&e[i].hasOwnProperty("ixImps")?t[i].ixImps=[...t[i].ixImps,...e[i].ixImps]:t[i].hasOwnProperty("missingImps")&&e[i].hasOwnProperty("missingImps")?t[i].missingImps=[...t[i].missingImps,...e[i].missingImps]:e[i].hasOwnProperty("ixImps")?t[i].ixImps=e[i].ixImps:e[i].hasOwnProperty("missingImps")&&(t[i].missingImps=e[i].missingImps):t[i]=e[i]}))})),t}(l))):(Object.keys(n).length>0&&i.push(...G(e,t,n)),Object.keys(o).length>0&&i.push(...G(e,t,o)),Object.keys(s).length>0&&i.push(...G(e,t,s))),i},interpretResponse:function(e,t){const i=[];let n=null,o=(0,r.A)(e,"body.ext.protectedAudienceAuctionConfigs")||[];if(S.setFeatureToggles(e),!e.hasOwnProperty("body"))return i;const s=e.body,p=s.seatbid||[];for(let e=0;e<p.length;e++){if(!p[e].hasOwnProperty("bid"))continue;const o=p[e].bid,l=t.data;for(let e=0;e<o.length;e++){const a=q(o[e].impid,l.imp,t.validBidRequests);if(n=B(o[e],s.cur,a),n.mediaType===d.G_&&ne(a)){const t=(0,r.A)(s,"ext.videoplayerurl");if(n.renderer=ie(o[e].bidId,t),!n.renderer)continue}i.push(n)}if((0,r.A)(l,"ext.ixdiag.err")&&E.localStorageIsEnabled())try{E.removeDataFromLocalStorage("ixdiag")}catch(e){(0,a.vV)("ix can not clear ixdiag from localStorage.")}}if(!(Array.isArray(o)&&o.length>0))return i;o=o.filter((e=>!!function(e){return"object"==typeof e&&null!==e}(e)||((0,a.JE)("Malformed auction config detected:",e),!1)));try{return{bids:i,paapi:o}}catch(e){return(0,a.JE)("Error attaching AuctionConfigs",e),i}},getUserSyncs:function(e,t){const i=[];let n=null;if(t.length>0&&(n=(0,r.A)(t[0],"body.ext.publishersyncsperbidderoverride")),void 0!==n&&0==n)return[];if(e.iframeEnabled)i.push({type:"iframe",url:"https://js-sec.indexww.com/um/ixmatch.html"});else{let e=null;s.$W.getConfig("userSync")&&(e=s.$W.getConfig("userSync").syncsPerBidder),0===e&&(e=n),e=n&&(0===e||e)?n>e?e:n:1;for(let t=0;t<e;t++)i.push({type:"image",url:oe(e,t)})}return i}};function oe(e,t){let i="",n="0";return D&&D.hasOwnProperty("gdprApplies")&&(n=D.gdprApplies?"1":"0"),D&&D.hasOwnProperty("consentString")&&(i=D.consentString||""),"https://dsum.casalemedia.com/pbusermatch?origin=prebid"+(0!==T?"&site_id="+T.toString():"")+"&p="+e.toString()+"&i="+t.toString()+"&gdpr="+n+"&gdpr_consent="+i+"&us_privacy="+(P||"")}function de(e){return e.imp.forEach(((t,i)=>{const n=t.ext;if(null==n)return e;pe(t)<2||Object.keys(n).forEach((r=>{if(d.D4 in t){const a=t.banner.ext;if(void 0!==a&&void 0!==a[r]&&a[r]==n[r]&&delete e.imp[i].banner.ext[r],void 0!==t.banner.format)for(let a=0;a<t.banner.format.length;a++)null!=t.banner.format[a].ext&&null!=t.banner.format[a].ext[r]&&t.banner.format[a].ext[r]==n[r]&&delete e.imp[i].banner.format[a].ext[r]}if(d.G_ in t){const a=t.video.ext;void 0!==a&&void 0!==a[r]&&a[r]==n[r]&&delete e.imp[i].video.ext[r]}if(d.s6 in t){const a=t.native.ext;void 0!==a&&void 0!==a[r]&&a[r]==n[r]&&delete e.imp[i].native.ext[r]}}))})),e}function se(e){return e.imp.forEach(((t,i)=>{if(null==t.ext)return e;if(!(pe(t)<2)){if(d.D4 in t){const n=t.banner.ext;if(void 0!==n&&void 0!==n.siteID&&delete e.imp[i].banner.ext.siteID,void 0!==t.banner.format)for(let n=0;n<t.banner.format.length;n++)void 0!==t.banner.format[n].ext&&void 0!==t.banner.format[n].ext.siteID&&((0,o.J)(e.imp[i],"ext.siteID",t.banner.format[n].ext.siteID),(0,o.J)(e,"ext.ixdiag.usid",!0),delete e.imp[i].banner.format[n].ext.siteID)}if(d.G_ in t){const n=t.video.ext;void 0!==n&&void 0!==n.siteID&&delete e.imp[i].video.ext.siteID}if(d.s6 in t){const n=t.native.ext;void 0!==n&&void 0!==n.siteID&&delete e.imp[i].native.ext.siteID}}})),e}function pe(e){let t=0;return void 0!==e.banner&&(t+=1),void 0!==e.video&&(t+=1),void 0!==e.native&&(t+=1),t}function le(e){return null==e.device&&(e.device={}),e.device.h=window.screen.height,e.device.w=window.screen.width,e}(0,c.a$)(ae),(0,n.E)("ixBidAdapter")}},e=>{e.O(0,[5,802,85],(()=>{return t=7764,e(e.s=t);var t}));e.O()}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[723],{2605:(e,t,r)=>{var i=r(7873),s=r(1069),n=r(433),a=r(3172),o=r(9115),p=r(1371);const d={...r(11).Z,placement:e=>(0,s.Fq)(e)&&e>=1&&e<=5,plcmt:e=>(0,s.Fq)(e)&&e>=1&&e<=4,delivery:e=>Array.isArray(e)&&e.every((e=>e>=1&&e<=3)),pos:e=>(0,s.Fq)(e)&&e>=1&&e<=7},c={context:e=>e!==p.LM,mimes:d.mimes,maxduration:d.maxduration,protocols:d.protocols},u={code:"sovrn",supportedMediaTypes:[p.D4,p.G_],gvlid:13,isBidRequestValid:function(e){const t=e?.mediaTypes?.video;return!(!e.params.tagid||isNaN(parseFloat(e.params.tagid))||!isFinite(e.params.tagid)||t&&!Object.keys(c).every((e=>c[e](t[e]))))},buildRequests:function(e,t){try{let r,i,o,p,c=[];(0,s.bu)(e,(function(e){!o&&e.userIdAsEids&&(o=e.userIdAsEids,o.forEach((function(e){e.uids&&e.uids[0]&&"criteo.com"===e.source&&(p=e.uids[0].id)}))),e.schain&&(i=i||e.schain),r=r||(0,s.u5)("iv",e.params);const a={adunitcode:e.adUnitCode,id:e.bidId,tagid:String((0,s.u5)("tagid",e.params)),bidfloor:l(e)};if((0,n.A)(e,"mediaTypes.banner")){let t=(0,n.A)(e,"mediaTypes.banner.sizes")||e.sizes;t=(0,s.cy)(t)&&(0,s.cy)(t[0])?t:[t],t=t.filter((e=>(0,s.cy)(e)));const r=t.map((e=>({w:parseInt(e[0],10),h:parseInt(e[1],10)})));a.banner={format:r,w:1,h:1}}(0,n.A)(e,"mediaTypes.video")&&(a.video=function(e){const t={},r=(0,n.A)(e,"sizes"),i=(0,n.A)(e,"mediaTypes.video",{}),a=(0,n.A)(e,"params.video",{}),o={};if(r){const e=Array.isArray(r[0])?r[0]:r;o.w=e[0],o.h=e[1]}else if(Array.isArray(i.playerSize)){const e=Array.isArray(i.playerSize[0])?i.playerSize[0]:i.playerSize;o.w=e[0],o.h=e[1]}const p={...o,...i,...a};return Object.keys(d).forEach((e=>{p.hasOwnProperty(e)&&(d[e](p[e])?t[e]=p[e]:(0,s.JE)(`The OpenRTB video param ${e} has been skipped due to misformating. Please refer to OpenRTB 2.5 spec.`))})),t}(e)),a.ext=(0,s.u5)("ext",e.ortb2Imp)||void 0;const u=(0,s.u5)("segments",e.params);u&&(a.ext=a.ext||{},a.ext.deals=u.split(",").map((e=>e.trim())));const m=e?.ortb2Imp?.ext?.ae;t.paapi?.enabled&&(0,s.Fq)(m)?(a.ext=a.ext||{},a.ext.ae=m):a.ext?.ae&&delete a.ext.ae,c.push(a)}));const u=t.ortb2||{},m=u.site||{};m.page=t.refererInfo.page,m.domain=t.refererInfo.domain;const g=(0,n.A)(t,"timeout"),y={id:(0,s.s0)(),imp:c,site:m,user:u.user||{},tmax:g};i&&(y.source={ext:{schain:i}});const b=(0,n.A)(t,"ortb2.source.tid");b&&(0,a.J)(y,"source.tid",b);(0,n.A)(t,"ortb2.regs.coppa")&&(0,a.J)(y,"regs.coppa",1),t.gdprConsent&&((0,a.J)(y,"regs.ext.gdpr",+t.gdprConsent.gdprApplies),(0,a.J)(y,"user.ext.consent",t.gdprConsent.consentString)),t.uspConsent&&(0,a.J)(y,"regs.ext.us_privacy",t.uspConsent),t.gppConsent&&((0,a.J)(y,"regs.gpp",t.gppConsent.gppString),(0,a.J)(y,"regs.gpp_sid",t.gppConsent.applicableSections)),t?.ortb2?.device&&(y.device=y.device||{},(0,s.D9)(y.device,t.ortb2.device)),o&&((0,a.J)(y,"user.ext.eids",o),p&&(0,a.J)(y,"user.ext.prebid_criteoid",p));let f="https://ap.lijit.com/rtb/bid?src=prebid_prebid_9.23.0";return r&&(f+=`&iv=${r}`),{method:"POST",url:f,data:JSON.stringify(y),options:{contentType:"text/plain"}}}catch(e){(0,s.vV)("Could not build bidrequest, error deatils:",e)}},interpretResponse:function(e){let{body:{id:t,seatbid:r,ext:i}}=e;if(!t||!r||!Array.isArray(r))return[];try{let e=r.filter((e=>e)).map((e=>e.bid.map((e=>{const t={requestId:e.impid,cpm:parseFloat(e.price),width:parseInt(e.w),height:parseInt(e.h),creativeId:e.crid||e.id,dealId:e.dealid||null,currency:"USD",netRevenue:!0,mediaType:e.nurl?p.D4:p.G_,ttl:e.ext?.ttl||90,meta:{advertiserDomains:e&&e.adomain?e.adomain:[]}};return e.nurl?t.ad=decodeURIComponent(`${e.adm}<img src="${e.nurl}">`):t.vastXml=decodeURIComponent(e.adm),t})))).flat(),t=null;if((0,s.cy)(i?.igbid)){const e=i.seller,r=i.decisionLogicUrl,n=i.sellerTimeout;i.igbid.filter((e=>{return t=e,!(0,s.xQ)(t.impid)&&(0,s.cy)(t.igbuyer)&&t.igbuyer.length;var t})).forEach((i=>{const a={};i.igbuyer.filter((e=>{return t=e,!(0,s.xQ)(t.igdomain);var t})).forEach((e=>{a[e.igdomain]=e.buyerdata}));const o=[...Object.keys(a)];o.length&&(t=t||{},t[i.impid]={seller:e,decisionLogicUrl:r,sellerTimeout:n,interestGroupBuyers:o,perBuyerSignals:a})}))}return t?(t=Object.entries(t).map((e=>{let[t,r]=e;return{bidId:t,config:Object.assign({auctionSignals:{}},r)}})),{bids:e,paapi:t}):e}catch(e){return(0,s.vV)("Could not interpret bidresponse, error details:",e),e}},getUserSyncs:function(e,t,r,i,s){try{const a=[];if(t&&0!==t.length){if(e.iframeEnabled){const e=t.filter((e=>(0,n.A)(e,"body.ext.iid"))).map((e=>e.body.ext.iid)),o=[];r&&r.gdprApplies&&"string"==typeof r.consentString&&o.push(["gdpr_consent",r.consentString]),i&&o.push(["us_privacy",i]),s&&(o.push(["gpp",s.gppString]),o.push(["gpp_sid",s.applicableSections])),e[0]&&(o.push(["informer",e[0]]),a.push({type:"iframe",url:"https://ce.lijit.com/beacon?"+o.map((e=>e.join("="))).join("&")}))}e.pixelEnabled&&t.filter((e=>(0,n.A)(e,"body.ext.sync.pixels"))).reduce(((e,t)=>e.concat(t.body.ext.sync.pixels)),[]).map((e=>e.url)).forEach((e=>a.push({type:"image",url:e})))}return a}catch(e){return[]}}};function l(e){const t=e.getFloor&&"function"==typeof e.getFloor?e.getFloor({currency:"USD",mediaType:e.mediaTypes&&e.mediaTypes.banner?"banner":"video",size:"*"}):{},r=parseFloat(t?.floor);if(!isNaN(r))return r;const i=parseFloat((0,s.u5)("bidfloor",e.params));return isNaN(i)?void 0:i}(0,o.a$)(u),(0,i.E)("sovrnBidAdapter")}},e=>{e.O(0,[498,802,85],(()=>{return t=2605,e(e.s=t);var t}));e.O()}]);\n(self.pbjsChunk=self.pbjsChunk||[]).push([[103],{7967:(t,e,n)=>{var d=n(7873),a=n(9115);const i="testbidder",s={code:i,isBidRequestValid:function(t){return!!t.params},buildRequests:function(t,e){return t.map((t=>({method:"GET",url:"",data:{mock:!0,bidId:t.bidId,testRequestId:t.params.requestId??null,testCPM:t.params.cpm??null,testWidth:t.params.width??null,testHeight:t.params.height??null,testAd:t.params.ad??null,testTTL:t.params.ttl??null,currency:t.params.currency??"USD"},bidRequestId:t.bidId})))},interpretResponse:function(t,e){const n=e.data.testWidth||300,d=e.data.testHeight||250,a=e.data.testRequestId||e.bidRequestId,s=`<!DOCTYPE html>\\n <html>\\n <head>\\n <meta charset="utf-8">\\n <style>\\n body { margin: 0; padding: 0; }\\n .creative-container {\\n position: relative;\\n width: ${n}px;\\n height: ${d}px;\\n background: #f0f0f0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden;\\n }\\n </style>\\n </head>\\n <body>\\n <div id="creative-${a}" class="creative-container">\\n <div style="text-align: center;">\\n <p>Test Ad</p>\\n <p>${e.data.testAd}</p>\\n <p>${n}x${d}</p>\\n </div>\\n <script>\\n (function() {\\n var size = { width: ${n}, height: ${d} };\\n window.parent.postMessage(JSON.stringify({\\n message: \'Prebid Creative Loaded\',\\n adId: \'${a}\',\\n size: size\\n }), \'*\');\\n })();\\n <\\/script>\\n </div>\\n </body>\\n </html>`;return[{requestId:e.data.testRequestId||e.bidRequestId,cpm:parseFloat(e.data.testCPM)||1,currency:e.data.currency,width:n,height:d,mediaType:"banner",ad:s,ttl:e.data.testTTL||300,creativeId:"test-creative-id",netRevenue:!0,bidderCode:i}]},onTimeout:function(t){},onBidWon:function(t){}};(0,a.a$)(s),(0,d.E)("testbidderBidAdapter")}},t=>{t.O(0,[802,85],(()=>{return e=7967,t(t.s=e);var e}));t.O()}]);\n})(),pbjs.processQueue();\n\n//# sourceURL=webpack:///../builds/80918AC8127BA/0.0.101/prebid.js?')},"../node_modules/css-loader/dist/cjs.js!./css/sticky.css":(module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ "../node_modules/css-loader/dist/runtime/noSourceMaps.js");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ "../node_modules/css-loader/dist/runtime/api.js");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n.ad-anchor {\n box-sizing: border-box;\n z-index: 9999;\n background-color: #f0f0f0;\n border: 1px dotted #ccc;\n place-items: center;\n padding: 5px;\n transition: all 0.3s ease;\n display: flex;\n align-items: flex-start;\n justify-content: space-between; /* space between .ad-slot and .ad-action-buttons */\n}\n\n.ad-slot {\n flex-grow: 1; /* take up remaining space in center */\n flex-shrink: 1;\n color: #888; /* text color */\n text-align: center; /* center-align content inside div */\n display: flex;\n align-items: center; /* vertically center align all children */\n justify-content: center; /* horizontally center align all children */\n overflow: hidden;\n}\n\n.ad-action-buttons {\n display: flex; /* use flexbox for the buttons */\n gap: 5px; /* add 5px horizontal gap between buttons */\n flex-shrink: 0;\n}\n\n.ad-action-btn {\n box-sizing: border-box;\n width: 20px;\n height: 20px;\n color: #888;\n background: #f0f0f0;\n border: 1px solid #ccc;\n font-size: 20px;\n font-weight: normal;\n font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\n line-height: 18px;\n text-align: center;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n\n/* top sticky ad */\n.ad-TP {\n position: sticky;\n top: 0;\n left: 0;\n width: calc(100vw - 25px);\n height: auto;\n min-height: 10vh; /* minimum height 10% of viewport */\n max-height: 30vh; /* maximum height 30% of viewport */\n}\n\n/* bottom sticky ad */\n.ad-BM {\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100%; /* "fixed" position width goes by view port */\n height: auto;\n min-height: 10vh; /* minimum height 10% of viewport */\n max-height: 30vh; /* maximum height 30% of viewport */\n/* \n max-width: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-left: calc(-50vw + 50%); */\n}\n\n/* right rail sticky ad */\n.ad-RG {\n position: fixed;\n top: 50%;\n right: 0;\n width: 300px;\n height: 600px;\n transform: translateY(-50%);\n}\n\n/* left rail sticky ad */\n.ad-LF {\n position: fixed;\n top: 50%;\n left: 0;\n width: 300px;\n height: 600px;\n transform: translateY(-50%);\n}\n\n/* minimized states */\n.horizontal-minimized {\n height: 30px;\n min-height: 30px;\n overflow: hidden;\n}\n\n.vertical-minimized {\n width: 55px;\n min-width: 55px;\n overflow: hidden;\n}\n\n/* hidden state */\n.hidden {\n display: none;\n}\n\n`, ""]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack:///./css/sticky.css?../node_modules/css-loader/dist/cjs.js')},"../node_modules/css-loader/dist/runtime/api.js":module=>{"use strict";eval('\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = "";\n var needLayer = typeof item[5] !== "undefined";\n if (item[4]) {\n content += "@supports (".concat(item[4], ") {");\n }\n if (item[2]) {\n content += "@media ".concat(item[2], " {");\n }\n if (needLayer) {\n content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += "}";\n }\n if (item[2]) {\n content += "}";\n }\n if (item[4]) {\n content += "}";\n }\n return content;\n }).join("");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === "string") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== "undefined") {\n if (typeof item[5] === "undefined") {\n item[5] = layer;\n } else {\n item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = "@media ".concat(item[2], " {").concat(item[1], "}");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = "".concat(supports);\n } else {\n item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};\n\n//# sourceURL=webpack:///../node_modules/css-loader/dist/runtime/api.js?')},"../node_modules/css-loader/dist/runtime/noSourceMaps.js":module=>{"use strict";eval("\n\nmodule.exports = function (i) {\n return i[1];\n};\n\n//# sourceURL=webpack:///../node_modules/css-loader/dist/runtime/noSourceMaps.js?")},"./css/sticky.css":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ "../node_modules/style-loader/dist/runtime/styleDomAPI.js");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/insertBySelector.js */ "../node_modules/style-loader/dist/runtime/insertBySelector.js");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ "../node_modules/style-loader/dist/runtime/insertStyleElement.js");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ "../node_modules/style-loader/dist/runtime/styleTagTransform.js");\n/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_sticky_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../node_modules/css-loader/dist/cjs.js!./sticky.css */ "../node_modules/css-loader/dist/cjs.js!./css/sticky.css");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\noptions.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head");\noptions.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_sticky_css__WEBPACK_IMPORTED_MODULE_6__["default"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_sticky_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_sticky_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_sticky_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined);\n\n\n//# sourceURL=webpack:///./css/sticky.css?')},"../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":module=>{"use strict";eval('\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = "".concat(id, " ").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n//# sourceURL=webpack:///../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js?')},"../node_modules/style-loader/dist/runtime/insertBySelector.js":module=>{"use strict";eval('\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === "undefined") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error("Couldn\'t find a style target. This probably means that the value for the \'insert\' parameter is invalid.");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;\n\n//# sourceURL=webpack:///../node_modules/style-loader/dist/runtime/insertBySelector.js?')},"../node_modules/style-loader/dist/runtime/insertStyleElement.js":module=>{"use strict";eval('\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement("style");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;\n\n//# sourceURL=webpack:///../node_modules/style-loader/dist/runtime/insertStyleElement.js?')},"../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js":(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";eval('\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = true ? __webpack_require__.nc : 0;\n if (nonce) {\n styleElement.setAttribute("nonce", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;\n\n//# sourceURL=webpack:///../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js?')},"../node_modules/style-loader/dist/runtime/styleDomAPI.js":module=>{"use strict";eval('\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = "";\n if (obj.supports) {\n css += "@supports (".concat(obj.supports, ") {");\n }\n if (obj.media) {\n css += "@media ".concat(obj.media, " {");\n }\n var needLayer = typeof obj.layer !== "undefined";\n if (needLayer) {\n css += "@layer".concat(obj.layer.length > 0 ? " ".concat(obj.layer) : "", " {");\n }\n css += obj.css;\n if (needLayer) {\n css += "}";\n }\n if (obj.media) {\n css += "}";\n }\n if (obj.supports) {\n css += "}";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== "undefined") {\n css += "\\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === "undefined") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;\n\n//# sourceURL=webpack:///../node_modules/style-loader/dist/runtime/styleDomAPI.js?')},"../node_modules/style-loader/dist/runtime/styleTagTransform.js":module=>{"use strict";eval("\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;\n\n//# sourceURL=webpack:///../node_modules/style-loader/dist/runtime/styleTagTransform.js?")},"./src/abTests.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getTestAdSlots: () => (/* binding */ getTestAdSlots)\n/* harmony export */ });\n/* harmony import */ var xxhash_wasm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! xxhash-wasm */ \"../node_modules/xxhash-wasm/esm/xxhash-wasm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./src/utils.ts\");\n/* harmony import */ var _wrapperTag__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./wrapperTag */ \"./src/wrapperTag.ts\");\n// wflow/app/wrapper/src/abTests.ts\n\n\n\nconst MAX_HASH_32 = Number(2 ** 32 - 1); // max possible value for xxHash32\n/**\n *\n * @param audienceId can be either userId or sessionId\n * @param testId can be either testId or experimentId\n * @returns number between [0, 1]\n */\nasync function getProjection(audienceId, testId) {\n const { h32 } = await (0,xxhash_wasm__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n const data = `${audienceId}:${testId}`;\n // compute hash\n const xxHash32 = h32(data, 0); // seed 0 explicitly\n // normalize to [0, 1]\n const projection = parseFloat((Number(xxHash32) / Number(MAX_HASH_32)).toFixed(2));\n if (projection < 0 || projection > 1) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleError)(`projection '${projection}' not between 0 and 1`, true);\n }\n return projection;\n}\nasync function getTreatment(test, projection) {\n let treatment = null;\n try {\n const url = `${_wrapperTag__WEBPACK_IMPORTED_MODULE_2__.wrapperConfig.t /*testsAPIEndpoint*/}/allocations?testId=${test.i /*testId*/}`;\n const response = await fetch(url, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"text/plain\"\n }\n });\n switch (response.status) {\n case 200:\n let allocations = await response.json();\n let cumAlloc = 0;\n test.tm /*treatments*/.forEach(tr => {\n tr.a /*allocation*/ = allocations.find(alloc => alloc.i === tr.i /*id*/)?.a; // adds values to wrapperConfig.layouts[].tests[].treatment[]\n cumAlloc += tr.a /*allocation*/ ?? 0;\n if ((treatment === null) && (projection <= cumAlloc)) {\n treatment = tr;\n }\n });\n break;\n case 204:\n default:\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleError)(`http error! ${response.status} ${response.statusText}`);\n }\n }\n catch (error) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleError)('error fetching tests data in getTreatment():', false, error);\n }\n return treatment;\n}\n// export async function getTestAdSlots(layout: Layout): Promise<AdSlot[]> {\n// const adSlotOverridesMap: Map<string, AdSlotOverrides> = new Map();\n// const testPromises = layout.ts/*tests*/?.map(async test => {\n// // TODO: support multiple randomization method, userId vs. sessionId\n// const projection: number = await getProjection(getUserId(), test.i/*testId*/);\n// const treatment: Treatment | null = await getTreatment(test, projection);\n// if (treatment === null) {\n// consoleDebug(`unable to find treatment for testId '${test.i/*testId*/}' and projection: ${projection}, proceeding without tests ...`);\n// return;\n// }\n// consoleDebug(`test details testId: '${test.i/*testId*/}', projection: ${projection}, treatmentId: '${treatment.i/*id*/}'`);\n// // multiple tests can include same ad unit, but not override same attribute (1 level deep)\n// treatment.as/*adSlots*/.forEach((auo: AdSlotOverrides) => {\n// const tauo: AdSlotOverrides | undefined = adSlotOverridesMap.get(auo.g/*gam ad unit code*/);\n// adSlotOverridesMap.set(auo.g, {\n// g: auo.g, /* gam ad unit code */\n// o: (tauo?.o && auo.o) /* auctionTimeout */\n// ? (() => { throw new Error(`auctionTimeout defined in multiple tests for ad unit '${auo.g}'`) })() \n// : (tauo?.o ?? auo.o),\n// n: (tauo?.n && auo.n) /* insert */\n// ? (() => { throw new Error(`insert defined in multiple tests for ad unit '${auo.g}'`) })() \n// : (tauo?.n ?? auo.n),\n// m: (tauo?.m && auo.m) /* media */\n// ? (() => { throw new Error(`media defined in multiple tests for ad unit '${auo.g}'`) })() \n// : (tauo?.m ?? auo.m),\n// tg: (tauo?.tg && auo.tg) /* tagIds */\n// ? (() => { throw new Error(`tagIds defined in multiple tests for ad unit '${auo.g}'`) })() \n// : (tauo?.tg ?? auo.tg),\n// r: (tauo?.r && auo.r) /* refresh */\n// ? (() => { throw new Error(`refresh defined in multiple tests for ad unit '${auo.g}'`) })()\n// : (tauo?.r ?? auo.r),\n// l: (tauo?.l && auo.l) /* load */\n// ? (() => { throw new Error(`load defined in multiple tests for ad unit '${auo.g}'`) })() \n// : (tauo?.l ?? auo.l),\n// kv: (tauo?.kv && auo.kv) /* targetingKeyValues */\n// ? (() => { throw new Error(`targetingKeyValues defined in multiple tests for ad unit '${auo.g}'`) })() \n// : (tauo?.kv ?? auo.kv),\n// f: (tauo?.f && auo.f) /* price floor */\n// ? (() => { throw new Error(`floor defined in multiple tests for ad unit '${auo.g}'`) })() \n// : (tauo?.f ?? auo.f)\n// } as AdSlot);\n// });\n// }) ?? null;\n// if (testPromises) {\n// await Promise.all(testPromises);\n// }\n// const testAdSlots: AdSlot[] = [];\n// adSlotOverridesMap.forEach((auo: AdSlotOverrides) => {\n// const iau: AdSlot | undefined = layout.as /* ad slots */\n// .find(au => au.g === auo.g); /* gam ad unit code */\n// testAdSlots.push({\n// g: auo.g, /* gam ad unit code */\n// o: auo.o ?? iau?.o as number, /* auctionTimeout */\n// n: (auo.n || iau?.n) /* insert */\n// ? auo.n ?? iau?.n as Insert\n// : (() => { throw new Error(`insert not defined for test ad unit '${auo.g}'`) })(),\n// m: (auo.m || iau?.m) /* media */\n// ? auo.m ?? iau?.m as Media\n// : (() => { throw new Error(`media not defined for test ad unit '${auo.g}'`) })(),\n// tg: (auo.tg || iau?.tg) /* tagIds */\n// ? auo.tg ?? iau?.tg as TagId[]\n// : (() => { throw new Error(`tagIds not defined for test ad unit '${auo.g}'`) })(),\n// r: auo.r ?? iau?.r as Refresh, /* refresh */\n// l: (auo.l || iau?.l) /* load */\n// ? auo.l ?? iau?.l as Load\n// : (() => { throw new Error(`load not defined for test ad unit '${auo.g}'`) })(),\n// kv: auo.kv ?? iau?.kv as KeyValue, /* targetingKeyValues */\n// f: auo.f ?? iau?.f as number /* price floor */\n// } as AdSlot);\n// });\n// return testAdSlots;\n// }\nasync function getTestAdSlots(layout) {\n const adSlotOverridesMap = new Map();\n const testPromises = layout.ts?.map(async (test) => {\n const projection = await getProjection((0,_utils__WEBPACK_IMPORTED_MODULE_1__.getUserId)(), test.i);\n const treatment = await getTreatment(test, projection);\n if (treatment === null) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)(`unable to find treatment for testId '${test.i}' and projection: ${projection}, proceeding without tests ...`);\n return;\n }\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)(`test details testId: '${test.i}', projection: ${projection}, treatmentId: '${treatment.i}'`);\n treatment.as.forEach((currentTreatmentOverride) => {\n const gamUnitCode = currentTreatmentOverride.g;\n const previouslyAccumulatedOverrides = adSlotOverridesMap.get(gamUnitCode);\n const effectiveOverridesForSlot = { g: gamUnitCode };\n const processProperty = (propName) => {\n const existingVal = previouslyAccumulatedOverrides?.[propName];\n const newValFromCurrentTreatment = currentTreatmentOverride[propName];\n if (newValFromCurrentTreatment !== undefined) {\n if (existingVal !== undefined) { // Property was already defined by a previous test's treatment\n const fieldName = String(propName) === 'o' ? 'auctionTimeout' : String(propName);\n // For 'o' (auctionTimeout), throw if it's defined again, regardless of value, to match test.\n if (String(propName) === 'o') {\n throw new Error(`${fieldName} defined in multiple tests for ad unit '${gamUnitCode}'`);\n }\n // For other properties, throw only if values are different.\n if (JSON.stringify(existingVal) !== JSON.stringify(newValFromCurrentTreatment)) {\n throw new Error(`${fieldName} defined differently in multiple tests for ad unit '${gamUnitCode}'`);\n }\n }\n effectiveOverridesForSlot[propName] = newValFromCurrentTreatment;\n }\n else if (existingVal !== undefined) {\n effectiveOverridesForSlot[propName] = existingVal;\n }\n };\n processProperty('o');\n processProperty('n');\n processProperty('m');\n processProperty('tg');\n processProperty('r');\n processProperty('l');\n processProperty('kv');\n processProperty('f');\n if (Object.keys(effectiveOverridesForSlot).length > 1) {\n adSlotOverridesMap.set(gamUnitCode, effectiveOverridesForSlot);\n }\n else {\n if (!previouslyAccumulatedOverrides || Object.keys(previouslyAccumulatedOverrides).length <= 1) {\n adSlotOverridesMap.delete(gamUnitCode);\n }\n }\n });\n }) ?? null;\n if (testPromises) {\n await Promise.all(testPromises);\n }\n const testAdSlots = [];\n adSlotOverridesMap.forEach((accumulatedOverrides) => {\n const initialAdSlot = layout.as.find(au => au.g === accumulatedOverrides.g);\n if (!initialAdSlot) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleError)(`Original ad slot not found for override: ${accumulatedOverrides.g}`);\n return;\n }\n const mergedSlot = { ...initialAdSlot, ...accumulatedOverrides };\n if (!mergedSlot.n)\n throw new Error(`insert not defined for test ad unit '${mergedSlot.g}'`);\n if (!mergedSlot.m)\n throw new Error(`media not defined for test ad unit '${mergedSlot.g}'`);\n if (!mergedSlot.tg)\n throw new Error(`tagIds not defined for test ad unit '${mergedSlot.g}'`);\n if (!mergedSlot.l)\n throw new Error(`load not defined for test ad unit '${mergedSlot.g}'`);\n testAdSlots.push(mergedSlot);\n });\n return testAdSlots;\n}\n\n\n//# sourceURL=webpack:///./src/abTests.ts?")},"./src/auctionConductor.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ adSlotAuctionMap: () => (/* binding */ adSlotAuctionMap),\n/* harmony export */ setRegisterSlotWorker: () => (/* binding */ setRegisterSlotWorker),\n/* harmony export */ setServeAdWorker: () => (/* binding */ setServeAdWorker)\n/* harmony export */ });\n/* harmony import */ var _refreshEventHandlers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./refreshEventHandlers */ "./src/refreshEventHandlers.ts");\n/* harmony import */ var _wrapperTag__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./wrapperTag */ "./src/wrapperTag.ts");\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types/enums */ "./src/types/enums.ts");\n// wflow/app/wrapper/src/auctionConductor.ts\n\n\n\n/**\n *\n * auction is event based and conducted in 3 steps\n * 1) register ad slot after parent div element is added - setRegisterSlotWorker()\n * 2) start auction\n * 3)\n *\n */\n// maps adUnit.code::adUnit.div to { adSlot, auctionId }\nconst adSlotAuctionMap = new Map();\n// register handler: to register ad slot after div has loaded in body\nfunction setRegisterSlotWorker(slot) {\n const slot_div_id = slot.getSlotElementId();\n var element = document.getElementById(slot_div_id);\n if (element) { // element already exists\n registerSlot();\n return;\n }\n var observer = null;\n if (document.body) { // page has already loaded\n mutationListener();\n }\n else {\n document.addEventListener(\'DOMContentLoaded\', () => {\n element = document.getElementById(slot_div_id);\n if (element) { // element already exists\n registerSlot();\n return;\n }\n mutationListener();\n });\n }\n // set up MutationObserver for future additions\n function mutationListener() {\n observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n // check if element exists in DOM now\n const element = document.getElementById(slot_div_id);\n if (element) {\n registerSlot();\n return;\n }\n }\n });\n // start observing document for changes\n observer.observe(document.body, {\n childList: true, // listen for direct children added/removed\n subtree: true // listen for changes in the entire subtree\n });\n }\n function registerSlot() {\n googletag.cmd.push(() => {\n googletag.display(slot_div_id); // called to register slot, disableInitialLoad() should still apply\n // fetch ads for "lazy" load ad units only\n if (slot.getTargeting(\'load\').includes(_types_enums__WEBPACK_IMPORTED_MODULE_2__.Load.Lazy)) {\n setFetchAdWorker(slot);\n }\n else {\n // register refresh handlers for "eager" load ad units\n // setRefreshWorker(slot.getAdUnitPath());\n (0,_refreshEventHandlers__WEBPACK_IMPORTED_MODULE_0__.setRefreshWorker)(slot.getSlotElementId());\n }\n });\n if (observer) {\n observer.disconnect(); // stop observing, after slot is registered\n }\n }\n}\n// meant to be called for "lazy" load ad slots only\nfunction setFetchAdWorker(slot) {\n const options = {\n root: null, // element to intersect with browser viewport\n rootMargin: "1000px", // margin to grow or shrink intersection frame of root, default 100px (10% of most popular viewport 1080px)\n threshold: 0.0 // % element visible\n };\n const slot_div_id = slot.getSlotElementId();\n const element = document.getElementById(slot_div_id);\n const observer = new IntersectionObserver((entries, observer) => {\n entries.forEach(entry => {\n if (entry.intersectionRatio > 0) {\n pbjs.que.push(() => {\n pbjs.requestBids({\n // adslot element (div) id used as unique prebid adunit code\n adUnitCodes: [slot.getSlotElementId()],\n timeout: _wrapperTag__WEBPACK_IMPORTED_MODULE_1__.wrapperConfig.o /*auctionTimeout*/ // TODO: use adUnit level timeout when set\n });\n });\n observer.disconnect(); // stop observing after ad is fetched\n // register refresh handlers for "lazy" load ad slots\n // setRefreshWorker(slot.getAdUnitPath());\n (0,_refreshEventHandlers__WEBPACK_IMPORTED_MODULE_0__.setRefreshWorker)(slot.getSlotElementId());\n }\n });\n }, options);\n if (element) {\n observer.observe(element);\n }\n}\nfunction setServeAdWorker() {\n pbjs.onEvent(\'auctionEnd\', (auction) => {\n googletag.cmd.push(() => {\n const renderAdSlotCodes = auction.adUnitCodes;\n const renderSlots = googletag.pubads()\n .getSlots()\n // filter adslot element (div) id used as unique prebid adunit code\n .filter(slot => renderAdSlotCodes.includes(slot.getSlotElementId()));\n if (renderSlots.length > 0) {\n pbjs.que.push(() => {\n pbjs.setTargetingForGPTAsync(renderAdSlotCodes);\n googletag.pubads().refresh(renderSlots);\n });\n }\n });\n });\n // TODO should this part be moved to a different function?\n pbjs.onEvent(\'bidWon\', (bid) => {\n const slot = googletag.pubads()\n .getSlots()\n // find by adslot element (div) id used as unique prebid adunit code\n .find(slot => slot.getSlotElementId() === bid.adUnitCode)\n ?? null;\n // TODO: add prefix to targeting keys to make it obvious that this is specific to our wrapper\n if (slot) {\n googletag.cmd.push(() => {\n slot.setTargeting(\'hb_bidder_code\', bid.bidderCode);\n slot.setTargeting(\'hb_cpm\', bid.cpm);\n slot.setTargeting(\'hb_cpm_currency\', bid.currency);\n });\n }\n });\n}\n\n\n//# sourceURL=webpack:///./src/auctionConductor.ts?')},"./src/audiences.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getUserBrowser: () => (/* binding */ getUserBrowser),\n/* harmony export */ getUserCountry: () => (/* binding */ getUserCountry),\n/* harmony export */ getUserDevice: () => (/* binding */ getUserDevice),\n/* harmony export */ matchAudience: () => (/* binding */ matchAudience)\n/* harmony export */ });\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types/enums */ \"./src/types/enums.ts\");\n// wflow/app/wrapper/src/audiences.ts\n\nfunction getUserBrowser() {\n const ua = navigator.userAgent.toLowerCase();\n // check edge first, its ua string often includes \"chrome\"\n // modern edge uses \"edg/\", older edge used \"edge/\"\n if (ua.indexOf('edg/') > -1 || ua.indexOf('edge/') > -1 || ua.indexOf('edge') > -1) { // a bit more robust for edge\n return _types_enums__WEBPACK_IMPORTED_MODULE_0__.Browser.Edge;\n }\n else if (ua.indexOf('chrome') > -1 && ua.indexOf('safari') > -1) {\n return _types_enums__WEBPACK_IMPORTED_MODULE_0__.Browser.Chrome;\n }\n else if (ua.indexOf('safari') > -1) { // safari only (no \"chrome\" or \"edg\")\n return _types_enums__WEBPACK_IMPORTED_MODULE_0__.Browser.Safari;\n }\n else if (ua.indexOf('firefox') > -1) {\n return _types_enums__WEBPACK_IMPORTED_MODULE_0__.Browser.Firefox;\n }\n return _types_enums__WEBPACK_IMPORTED_MODULE_0__.Browser.Unknown;\n}\nfunction getUserDevice() {\n const viewPortCheck = window.matchMedia(\"(max-width: 760px), (max-width: 1024px) and (orientation: landscape)\").matches;\n const userAgentCheck = /Android|iPhone|iPad/i.test(navigator.userAgent);\n return (viewPortCheck || userAgentCheck) ? _types_enums__WEBPACK_IMPORTED_MODULE_0__.Device.Mobile : _types_enums__WEBPACK_IMPORTED_MODULE_0__.Device.Desktop;\n}\nfunction getUserCountry() {\n const localeString = Intl.DateTimeFormat().resolvedOptions().locale;\n let localeCountryCode;\n if (localeString) {\n const parts = localeString.split('-');\n if (parts.length > 1) {\n localeCountryCode = parts[parts.length - 1]; // take last part\n }\n }\n const langString = navigator.language;\n let langCountryCode;\n if (langString) {\n const parts = langString.split('-');\n if (parts.length > 1) {\n langCountryCode = parts[parts.length - 1]; // take last part\n }\n }\n // return uppercase country code if found\n if (localeCountryCode)\n return localeCountryCode.toUpperCase();\n if (langCountryCode)\n return langCountryCode.toUpperCase();\n return null;\n}\nfunction matchAudience(layout) {\n for (const inc of layout.t /*targetAudience*/?.ic /*includes*/ ?? []) {\n if (inc.bw /*browser*/ && !inc.bw /*browser*/.includes(getUserBrowser()))\n return null;\n if (inc.dv /*device*/ && !inc.dv /*device*/.includes(getUserDevice()))\n return null;\n if (inc.cy /*country*/ && !inc.cy /*country*/.includes(getUserCountry() ?? ''))\n return null;\n }\n for (const exc of layout.t /*targetAudience*/?.ex /*excludes*/ ?? []) {\n if (exc.bw /*browser*/ && exc.bw /*browser*/.includes(getUserBrowser()))\n return null;\n if (exc.dv /*device*/ && exc.dv /*device*/.includes(getUserDevice()))\n return null;\n if (exc.cy /*country*/ && exc.cy /*country*/.includes(getUserCountry() ?? ''))\n return null;\n }\n return layout;\n}\n\n\n//# sourceURL=webpack:///./src/audiences.ts?")},"./src/dynamicSlot.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ deleteDynamicAdSlot: () => (/* binding */ deleteDynamicAdSlot),\n/* harmony export */ insertDynamicAdSlot: () => (/* binding */ insertDynamicAdSlot),\n/* harmony export */ setDynamicSlotHandler: () => (/* binding */ setDynamicSlotHandler)\n/* harmony export */ });\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types/enums */ \"./src/types/enums.ts\");\n/* harmony import */ var _auctionConductor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./auctionConductor */ \"./src/auctionConductor.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ \"./src/utils.ts\");\n/* harmony import */ var _wrapperTag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./wrapperTag */ \"./src/wrapperTag.ts\");\n// wflow/app/wrapper/src/dynamicSlot.ts\n\n\n\n\nconst dynamicAdSlots = {};\nfunction setDynamicSlotHandler() {\n // setup event listener for new elements to have been added or getting close to view, and invoke insertDynamicAdSlot() when applicable\n // invoke deleteDynamicSlot() when dynamic ad slot far from view port\n}\nfunction insertDynamicAdSlot(refId, reference) {\n // filter layouts applicable to current page\n const layouts = _wrapperTag__WEBPACK_IMPORTED_MODULE_3__.wrapperConfig.ly /*layout*/\n .filter((ly) => (0,_utils__WEBPACK_IMPORTED_MODULE_2__.matchPagePath)(window.location.pathname, ly.pp /*pagePaths*/));\n const allAdSlots = _wrapperTag__WEBPACK_IMPORTED_MODULE_3__.wrapperConfig.as /*adSlots*/\n .concat(layouts.flatMap(ly => ly.as /*adSlots*/));\n if (allAdSlots.length === 0) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_2__.consoleDebug)(`no ad slots defined for pagepath '${window.location.pathname}', ad cannot be served by insertDynamicAdSlot()`);\n return;\n }\n const refElement = document.getElementById(refId);\n if (refElement === null) {\n throw new Error('could not find element for refId in insertDynamicSlot(): ' + refId);\n }\n const slotDiv = document.createElement('div');\n slotDiv.id = `ad-slot-${reference}-${refId}`;\n slotDiv.className = 'ad-anchor';\n slotDiv.innerHTML = 'Advertisement';\n switch (reference) {\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.ElementReference.Before:\n refElement?.before(slotDiv);\n break;\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.ElementReference.After:\n refElement?.after(slotDiv);\n break;\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.ElementReference.Inside:\n break;\n default:\n throw new Error('invalid reference parameter to insertDynamicSlot() ' + reference);\n }\n const parentElement = refElement.parentElement;\n const adSlot = Object.values(allAdSlots)\n .find(({ n /*insert*/ }) => n.a /*anchor*/ === _types_enums__WEBPACK_IMPORTED_MODULE_0__.Anchor.DynamicElement &&\n n.d /*divId*/ === parentElement?.id);\n if (adSlot === undefined) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_2__.consoleDebug)(`no ad slot defined for element id '${parentElement?.id}', ad cannot be served by insertDynamicAdSlot()`);\n return;\n }\n dynamicAdSlots[slotDiv.id] = { adUnit: null, gptSlot: null };\n pbjs.que.push(() => {\n // add all ad units to prebid auction\n const pbjsAdUnit = {\n code: slotDiv.id, /*adSlot.g/*gam ad unit code/ + `/${slotDiv.id}`,*/\n div: slotDiv.id,\n mediaTypes: {\n banner: {\n sizes: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.getMediaSizes)(adSlot.m /*media*/)\n }\n },\n bids: adSlot.tg /*tagIds*/.map(tagId => ({\n bidder: tagId.b /*bidder*/,\n params: tagId.pm /*params*/\n }))\n };\n pbjs.addAdUnits(pbjsAdUnit);\n dynamicAdSlots[slotDiv.id].adUnit = pbjsAdUnit;\n // start prebid auction\n pbjs.requestBids({\n adUnitCodes: [pbjsAdUnit.code],\n timeout: adSlot.o /*auctionTimeout*/ ?? _wrapperTag__WEBPACK_IMPORTED_MODULE_3__.wrapperConfig.o /*auctionTimeout*/\n });\n });\n googletag.cmd.push(() => {\n const sizes = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.getMediaSizes)(adSlot.m /*media*/);\n const gptSlot = googletag\n .defineSlot(adSlot.g /*gam ad unit code*/ + `/${slotDiv.id}`, sizes, slotDiv.id)\n ?.addService(googletag.pubads());\n if (gptSlot) {\n // slot level targeting (google publisher tag)\n Object.entries(adSlot.kv /*targetingKeyValues*/ || {}).forEach(([key, value]) => {\n gptSlot.setTargeting(key, value);\n });\n if (adSlot.f /*price floor*/) {\n gptSlot.setTargeting('hb_floor', adSlot.f /*price floor*/.toString());\n }\n gptSlot.setTargeting('load', adSlot.l /*load*/);\n (0,_auctionConductor__WEBPACK_IMPORTED_MODULE_1__.setRegisterSlotWorker)(gptSlot);\n dynamicAdSlots[slotDiv.id].gptSlot = gptSlot;\n }\n });\n}\nfunction deleteDynamicAdSlot(divId) {\n // googletag.destroySlots([gptSlot])\n // pbjs.removeAdSlot(adUnitCode)\n // remove any refresh handlers\n}\n\n\n//# sourceURL=webpack:///./src/dynamicSlot.ts?")},"./src/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ initAdserver: () => (/* binding */ initAdserver),\n/* harmony export */ processAdSlots: () => (/* binding */ processAdSlots)\n/* harmony export */ });\n/* harmony import */ var _logEventHandlers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./logEventHandlers */ "./src/logEventHandlers.ts");\n/* harmony import */ var _auctionConductor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./auctionConductor */ "./src/auctionConductor.ts");\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./logger */ "./src/logger.ts");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ "./src/utils.ts");\n/* harmony import */ var _stickySlot__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./stickySlot */ "./src/stickySlot.ts");\n/* harmony import */ var _abTests__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./abTests */ "./src/abTests.ts");\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./types/enums */ "./src/types/enums.ts");\n/* harmony import */ var _audiences__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./audiences */ "./src/audiences.ts");\n/* harmony import */ var _wrapperTag__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./wrapperTag */ "./src/wrapperTag.ts");\n// wflow/app/wrapper/src/index.ts\nconst WRAPPER_VERSION = \'0.1\';\n\n\n\n\n\n\n\n\n\n// const wrapperConfig: WrapperConfig = require(WRAPP_CONFIG_FILE_PATH);\nfunction initAdserver() {\n if (!window.googletag.pubads) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.consoleError)(\'googletag (google publisher tag) did not load properly ...\');\n return;\n }\n if (pbjs.initAdserverSet)\n return;\n pbjs.initAdserverSet = true;\n googletag.cmd.push(() => {\n if (pbjs.setTargetingForGPTAsync) {\n pbjs.setTargetingForGPTAsync();\n googletag.pubads().refresh();\n }\n else {\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.consoleError)(\'Prebid did not load properly: setTargetingForGPTAsync is undefined\');\n googletag.pubads().refresh(); // fallback to direct gpt refresh\n //TODO log error\n }\n });\n}\n;\nfunction processAdSlots(adSlots) {\n pbjs.que.push(() => {\n // add all ad units to prebid auction\n var pbjsAdUnits = adSlots\n .map(adSlot => ({\n code: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getSlotDivId)(adSlot), // adslot element (div) id used as unique prebid adunit code\n div: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getSlotDivId)(adSlot),\n mediaTypes: {\n banner: {\n sizes: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getMediaSizes)(adSlot.m /*media*/)\n }\n },\n bids: adSlot.tg /*tagIds*/.map(tagId => ({\n bidder: tagId.b /*bidder*/,\n params: tagId.pm /*params*/\n }))\n }));\n pbjs.addAdUnits(pbjsAdUnits);\n // start prebid auction for "eager" load ad slots\n var eagerAdUnitCodes = adSlots\n .filter(slot => slot.l /*load*/ === _types_enums__WEBPACK_IMPORTED_MODULE_6__.Load.Eager) // filter "eager" load ad unit codes\n .map(slot => (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getSlotDivId)(slot)); // return prebid adunit codes (adslot div ids)\n pbjs.requestBids({\n adUnitCodes: eagerAdUnitCodes,\n timeout: _wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.o /*auctionTimeout*/\n });\n });\n googletag.cmd.push(() => {\n adSlots\n .filter(({ l /*load*/ }) => [_types_enums__WEBPACK_IMPORTED_MODULE_6__.Load.Eager, _types_enums__WEBPACK_IMPORTED_MODULE_6__.Load.Lazy].includes(l /*load*/))\n .forEach((adSlot) => {\n var sizes = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getMediaSizes)(adSlot.m /*media*/);\n const gptSlot = googletag\n .defineSlot(adSlot.g /*gamAdUnitCode*/, sizes, (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getSlotDivId)(adSlot))\n ?.addService(googletag.pubads());\n if (gptSlot) {\n // slot level targeting (google publisher tag)\n Object.entries(adSlot.kv /*targetingKeyValues*/ || {}).forEach(([key, value]) => {\n gptSlot.setTargeting(key, value);\n });\n if (adSlot.f /*price floor*/) {\n gptSlot.setTargeting(\'hb_floor\', adSlot.f /*price floor*/.toString());\n }\n gptSlot.setTargeting(\'load\', adSlot.l /*load*/);\n if (adSlot.n /*insert*/.a /*anchor*/ === _types_enums__WEBPACK_IMPORTED_MODULE_6__.Anchor.Window) {\n (0,_stickySlot__WEBPACK_IMPORTED_MODULE_4__.setInsertSlotWorker)(adSlot); // add ad slot element to body before registering slot\n }\n (0,_auctionConductor__WEBPACK_IMPORTED_MODULE_1__.setRegisterSlotWorker)(gptSlot);\n }\n });\n googletag.pubads().enableSingleRequest(); // all ad slots should be defined and added to service before\n googletag.enableServices();\n });\n}\nasync function main() {\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.consoleDebug)("app info" +\n "\\n name: " + "app-p80918ac8127ba.js" +\n "\\n version: " + "0.0.101" +\n "\\n build date: " + "2025-07-16T23:19:03.692Z");\n window.wrapperConfig = _wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig;\n // check config domain covers publisher domain\n const secondLevelDomain = window.location.hostname.split(\'.\').slice(-2).join(\'.\');\n const thirdLevelDomain = window.location.hostname.split(\'.\').slice(-3).join(\'.\');\n const sldHash = await (0,_utils__WEBPACK_IMPORTED_MODULE_3__.generateHash)(secondLevelDomain, 13);\n const tldHash = await (0,_utils__WEBPACK_IMPORTED_MODULE_3__.generateHash)(thirdLevelDomain, 13);\n if (![sldHash, tldHash].includes(_wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.d /*domain*/)) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.consoleError)(`inventory defined for different domain with ID \'${_wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.d /*domain*/}\', no ads will be served`);\n return;\n }\n //TODO: check wrapper version compatibility with config version\n // in case pbjs does not load, ensure googletag.pubads().refresh() is called\n setTimeout(() => {\n initAdserver();\n }, _wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.f /*failsafeTimeout*/);\n pbjs.que.push(() => {\n pbjs.initAdserverSet = true; // execute first once pbjs setup is complete\n pbjs.setConfig({\n currency: {\n adServerCurrency: _wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.c /*currencyCode*/ || \'USD\',\n // prebid.org maintained currency file, updated daily\n conversionUrl: \'https://cdn.example.com/currency/latest.json\',\n // fallback rates if needed\n // rates: wrapperConfig.cr/*currencyRates*/ || {}\n },\n priceGranularity: {\n buckets: _wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.pb /*priceBuckets*/.map((bucket) => ({\n min: Number(bucket.f /*floor*/),\n max: Number(bucket.c /*ceiling*/),\n increment: Number(bucket.s /*step*/),\n }))\n },\n });\n // register event handlers and workers early\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.initLogger)();\n (0,_logEventHandlers__WEBPACK_IMPORTED_MODULE_0__.setDocumentEventLogHandlers)();\n (0,_logEventHandlers__WEBPACK_IMPORTED_MODULE_0__.setAuctionEventLogHandlers)();\n // ensure gpt api is ready before registering log handlers for gpt events\n googletag.cmd.push(() => {\n (0,_logEventHandlers__WEBPACK_IMPORTED_MODULE_0__.setGPTEventLogHandlers)();\n });\n (0,_auctionConductor__WEBPACK_IMPORTED_MODULE_1__.setServeAdWorker)();\n });\n googletag.cmd.push(() => {\n googletag.pubads().disableInitialLoad();\n });\n // filter layouts applicable to current page\n const layouts = (_wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.ly /*layout*/\n ?.filter((ly) => (0,_utils__WEBPACK_IMPORTED_MODULE_3__.matchPagePath)(window.location.pathname, ly.pp /*pagePaths*/))\n ?.filter((ly) => (0,_audiences__WEBPACK_IMPORTED_MODULE_7__.matchAudience)(ly) !== null)) ?? [];\n // exclude ad slots that are overriden in any tests\n const layoutFilteredAdSlots = layouts\n .flatMap(ly => {\n const testAdSlotCodes = new Set(ly.ts /*tests*/?.flatMap(test => test.tm /*treatments*/.flatMap(treatment => treatment.as /*adSlots*/.map(adUnit => adUnit.g /*gamAdUnitCode*/) // TODO: move from gam ad unit code to ad slot div id??\n )) || []);\n return ly.as /*adSlots*/.filter(adUnit => !testAdSlotCodes.has(adUnit.g /*gamAdUnitCode*/));\n });\n [\n ...layoutFilteredAdSlots,\n ..._wrapperTag__WEBPACK_IMPORTED_MODULE_8__.wrapperConfig.as /*adSlots*/, // config ad slots override layout ad slots\n ].forEach((adSlot) => {\n const key = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getSlotDivId)(adSlot);\n const current = _auctionConductor__WEBPACK_IMPORTED_MODULE_1__.adSlotAuctionMap.get(key) || {};\n _auctionConductor__WEBPACK_IMPORTED_MODULE_1__.adSlotAuctionMap.set(key, {\n ...current,\n adSlot: adSlot\n });\n });\n if (_auctionConductor__WEBPACK_IMPORTED_MODULE_1__.adSlotAuctionMap.size === 0) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.consoleDebug)(`no ad slots defined for pagepath \'${window.location.pathname}\', ads will not be served`);\n return;\n }\n processAdSlots(Array.from(_auctionConductor__WEBPACK_IMPORTED_MODULE_1__.adSlotAuctionMap.values())\n .map(entry => entry.adSlot)\n .filter((slot) => !!slot)); // filter out undefined ad slots\n googletag.cmd.push(() => {\n // page-level targeting (google publisher tag)\n const allPageLevelTargeting = Object.values(layouts)\n .map(layout => layout.kv /*pageTargetingKeyValues*/ || {})\n .reduce((acc, kv) => ({ ...acc, ...kv }), {}); // merge all kv objects\n Object.entries(allPageLevelTargeting).forEach(([key, value]) => {\n googletag.pubads().setTargeting(key, value);\n });\n });\n // retrieve test ad units meant for user\n const testAdSlots = (await Promise.all(layouts\n .filter((layout) => layout.ts /*tests*/)\n .map((layout) => (0,_abTests__WEBPACK_IMPORTED_MODULE_5__.getTestAdSlots)(layout))))\n .flat();\n if (testAdSlots.length > 0) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_3__.consoleDebug)(\'test ad slots found will be served\', testAdSlots);\n processAdSlots(testAdSlots);\n }\n}\n// queue to execute ad server tasks in order\nwindow.googletag = window.googletag || { cmd: [] };\n// queue to execute auction tasks in order\nwindow.pbjs = window.pbjs || { que: [] };\n// window.__gpp = {\n// getSection: function(sectionId, callback) {\n// callback({\n// gppString: \'DBABMA~CPXxRfAPXxRfABABQBENB-CgAAAAAAAAAAAAAAAAAAA.YAAAAAAAAAA\',\n// applicableSections: [\'tcfeu\', \'usca\'], // GDPR and US Privacy\n// });\n// },\n// };\nmain();\n// anchor to view_port (sticky ads) -- always loaded eager\n// anchor to static_content (standard ads) -- loaded eager or lazy\n// anchor to dynamic_content; --\x3e div id regex or class name -- loaded lazy\n// ad slots can be insertion can be on page content, sticky, and dynamic\n// ads can be loaded -- eager or lazy\n//TODOs\n//for eager slots auction can end before winner has been declared from bid responses\n//auction end includes array of bid responses\n\n\n//# sourceURL=webpack:///./src/index.ts?')},"./src/logEventHandlers.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setAuctionEventLogHandlers: () => (/* binding */ setAuctionEventLogHandlers),\n/* harmony export */ setDocumentEventLogHandlers: () => (/* binding */ setDocumentEventLogHandlers),\n/* harmony export */ setGPTEventLogHandlers: () => (/* binding */ setGPTEventLogHandlers)\n/* harmony export */ });\n/* harmony import */ var _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./logObjectBuilder */ \"./src/logObjectBuilder.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./src/utils.ts\");\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./logger */ \"./src/logger.ts\");\n/* harmony import */ var _auctionConductor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./auctionConductor */ \"./src/auctionConductor.ts\");\n// wflow/app/wrapper/src/logEventHandlers.ts\n\n\n\n\nfunction setAuctionEventLogHandlers() {\n pbjs.onEvent('auctionInit', (auction) => {\n //TODO add debug condition for log\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.auctionInit', auction);\n // update auction map with latest auction ids\n if (auction?.adUnits && Array.isArray(auction.adUnits)) {\n auction.adUnits.forEach((adUnit) => {\n const key = adUnit.div;\n const currentMap = _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key) ?? {};\n _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.set(key, {\n ...currentMap,\n pbAuctionId: auction.auctionId,\n pbAdUnitId: adUnit.adUnitId,\n pbTransactionId: adUnit.transactionId\n });\n });\n }\n const auctionInit = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.auctionInitObject(auction);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/auction/init', auctionInit);\n });\n pbjs.onEvent('bidResponse', (bid) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.bidResponse', bid);\n const bidResponse = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.bidResponseObject(bid);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/bid/response', bidResponse);\n });\n pbjs.onEvent('bidWon', (bid) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.bidWon', bid);\n const bidWon = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.bidWonObject(bid);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/bid/won', bidWon);\n });\n pbjs.onEvent('bidRejected', (bid) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.bidRejected', bid);\n const bidRejected = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.bidRejectedObject(bid, Date.now() /*utc timestamp*/);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/bid/reject', bidRejected);\n });\n pbjs.onEvent('bidTimeout', (bids) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.bidTimeout', bids);\n const bidTimeout = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.bidTimeoutObjects(bids);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/bid/timeouts', bidTimeout);\n });\n pbjs.onEvent('auctionEnd', (auction) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.auctionEnd', auction);\n const auctionEnd = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.auctionEndObject(auction);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/auction/end', auctionEnd);\n });\n pbjs.onEvent('adRenderSucceeded', (data) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.adRenderSucceeded', data);\n const adServe = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.adServeObject(data.bid, { serveStatus: 'SUCCESS', serveTimestamp: Date.now() /*utc timestamp*/, failReason: null });\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/ad/serve', adServe);\n });\n pbjs.onEvent('adRenderFailed', (data) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pbjs.events.adRenderFailed', data);\n const adServe = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.adServeObject(data.bid, { serveStatus: 'FAIL', failReason: data.reason, serveTimestamp: null });\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/ad/serve', adServe);\n });\n}\nfunction setDocumentEventLogHandlers() {\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', logPageView);\n }\n else {\n // DOMContentLoaded already fired, call function immediately\n logPageView();\n }\n function logPageView() {\n const pageView = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.pageViewObject();\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('pageView', pageView);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/page/view', pageView);\n }\n}\nfunction setGPTEventLogHandlers() {\n googletag.pubads().addEventListener('slotRequested', (event) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('googletag.events.slotRequested', event);\n // save auction ids to served when slot is requested\n const slotId = event.slot.getSlotElementId();\n const current = _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(slotId);\n if (current?.pbAuctionId) {\n _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.set(slotId, {\n ...current,\n pbServedAuctionId: current.pbAuctionId,\n pbServedAdUnitId: current.pbAdUnitId,\n pbServedTransactionId: current.pbTransactionId\n });\n }\n });\n googletag.pubads().addEventListener('slotResponseReceived', (event) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('googletag.events.slotResponseReceived', event);\n });\n googletag.pubads().addEventListener('slotRenderEnded', (event) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('googletag.events.SlotRenderEndedEvent', event);\n if (event.isEmpty) { // no impression\n const adUnfilled = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.adUnfilledObject(event.slot, Date.now() /*utc timestamp*/);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/ad/unfilled', adUnfilled);\n }\n else { //impression\n // TODO: look into slot renders with sizes 1x1\n // if (event.size && (event.size[0] === 1 && event.size[1] === 1)) {\n // ignore pixel renders\n // }\n // else {\n const adImpression = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.adImpressionObject(event, Date.now()); /* UTC timestamp */\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/ad/impression', adImpression);\n // }\n }\n });\n googletag.pubads().addEventListener(\"impressionViewable\", (event) => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)('googletag.events.ImpressionViewableEvent', event, event.slot.getResponseInformation());\n const slotId = event.slot.getSlotElementId();\n const slotDiv = document.getElementById(slotId);\n const iframe = slotDiv?.querySelector('iframe') ?? null;\n const size = iframe?.width + 'x' + iframe?.height;\n if (size === '1x1') {\n // ignore pixel renders\n }\n else {\n const adView = _logObjectBuilder__WEBPACK_IMPORTED_MODULE_0__.adViewableObject(event.slot, Date.now() /*utc timestamp*/);\n (0,_logger__WEBPACK_IMPORTED_MODULE_2__.logEvent)('/ad/viewable', adView);\n }\n });\n}\n\n\n//# sourceURL=webpack:///./src/logEventHandlers.ts?")},"./src/logObjectBuilder.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ adImpressionObject: () => (/* binding */ adImpressionObject),\n/* harmony export */ adServeObject: () => (/* binding */ adServeObject),\n/* harmony export */ adUnfilledObject: () => (/* binding */ adUnfilledObject),\n/* harmony export */ adViewableObject: () => (/* binding */ adViewableObject),\n/* harmony export */ auctionEndObject: () => (/* binding */ auctionEndObject),\n/* harmony export */ auctionInitObject: () => (/* binding */ auctionInitObject),\n/* harmony export */ bidRejectedObject: () => (/* binding */ bidRejectedObject),\n/* harmony export */ bidResponseObject: () => (/* binding */ bidResponseObject),\n/* harmony export */ bidTimeoutObjects: () => (/* binding */ bidTimeoutObjects),\n/* harmony export */ bidWonObject: () => (/* binding */ bidWonObject),\n/* harmony export */ pageViewObject: () => (/* binding */ pageViewObject)\n/* harmony export */ });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./src/utils.ts\");\n/* harmony import */ var _audiences__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./audiences */ \"./src/audiences.ts\");\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types/enums */ \"./src/types/enums.ts\");\n/* harmony import */ var _auctionConductor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./auctionConductor */ \"./src/auctionConductor.ts\");\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! uuid */ \"../node_modules/uuid/dist/esm-browser/v4.js\");\n/* harmony import */ var _wrapperTag__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./wrapperTag */ \"./src/wrapperTag.ts\");\n// wflow/app/wrapper/src/logObjectBuilder.ts\n\n\n\n\n\n\nconst page_view_id = (0,uuid__WEBPACK_IMPORTED_MODULE_5__[\"default\"])();\nfunction pageViewObject(location = window.location) {\n // TODO: return timezone when locale unavailable\n const pageView = {\n page_view_id: page_view_id,\n app_ver: \"0.0.101\",\n view_start_time: Date.now(),\n domain: location.hostname,\n page_path: location.pathname,\n session_id: (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getSessionId)(),\n user_id: (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getUserId)(),\n device: {\n user_agent: navigator.userAgent,\n language: navigator.language,\n mobile: (0,_audiences__WEBPACK_IMPORTED_MODULE_1__.getUserDevice)() === _types_enums__WEBPACK_IMPORTED_MODULE_2__.Device.Mobile,\n view_port: {\n width: window.innerWidth,\n height: window.innerHeight\n },\n geo_location: (0,_audiences__WEBPACK_IMPORTED_MODULE_1__.getUserCountry)()\n }\n };\n return pageView;\n}\nfunction auctionInitObject(auction) {\n const auctionInit = {\n page_view_id: page_view_id,\n pb_auction_id: auction.auctionId,\n auction_start_time: auction.timestamp, /* UTC timestamp */\n auction_end_time: null, /* UTC timestamp */\n ad_slots: []\n };\n auction.adUnits.forEach((adUnit) => {\n const bidderCodes = adUnit.bids.map((bid) => bid.bidder);\n const key = adUnit.div;\n const currentMap = _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key) ?? {};\n const adSlot = currentMap.adSlot ?? null;\n if (!adSlot) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.consoleDebug)(`[auctionInitObject] no ad slot match for divId='${adUnit.div}'`, adUnit, _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap);\n }\n const layoutIds = _wrapperTag__WEBPACK_IMPORTED_MODULE_4__.wrapperConfig.ly /*layouts*/\n .filter((layout) => layout.as /*adSlots*/.some((slot) => slot.i /*id*/ === adSlot?.i /*id*/))\n .map((layout) => layout.i /*id*/);\n auctionInit.ad_slots.push({\n pb_adunit_id: adUnit.adUnitId ?? null,\n pb_transaction_id: adUnit.transactionId ?? null,\n adslot_id: adSlot?.i /*id*/ ?? null,\n layout_ids: layoutIds,\n adunit_code: adSlot?.g /*gamAdUnitCode*/ ?? null,\n div_id: adUnit.div,\n price_floor: adSlot?.f /*priceFloor*/ ?? null,\n price_floor_currency: adSlot?.c /*priceFloorCurrency*/ ?? null,\n deal_id: null,\n pb_bidder_codes: bidderCodes\n });\n });\n return auctionInit;\n}\nfunction bidResponseObject(bid) {\n const bidResponse = {\n pb_auction_id: bid.auctionId,\n pb_transaction_id: bid.transactionId,\n pb_bidder_code: bid.bidderCode,\n cpm: bid.cpm ? bid.cpm : null, // TODO handle scenario if bidder responds with 0\n cpm_currency: bid.currency,\n size: bid.size,\n deal_id: bid.dealId ? bid.dealId : null,\n time_to_respond: bid.timeToRespond\n };\n return bidResponse;\n}\nfunction bidWonObject(bid) {\n const bidWon = {\n pb_auction_id: bid.auctionId,\n pb_transaction_id: bid.transactionId,\n pb_bidder_code: bid.bidderCode,\n cpm: bid.cpm,\n cpm_currency: bid.currency,\n size: bid.size,\n response_timestamp: bid.responseTimestamp /* UTC timestamp */\n };\n return bidWon;\n}\nfunction bidTimeoutObjects(bids) {\n const bidTimeouts = new Array();\n bids.forEach(bid => {\n bidTimeouts.push({\n pb_auction_id: bid.auctionId,\n pb_transaction_id: bid.transactionId,\n pb_bidder_code: bid.bidder,\n timeout: 0 //TODO bid.timeout not populated, need to figure out why\n });\n });\n return bidTimeouts;\n}\nfunction bidRejectedObject(bid, adRejectTimestamp) {\n const bidRejected = {\n pb_auction_id: bid.auctionId,\n pb_transaction_id: bid.transactionId,\n pb_bidder_code: bid.bidderCode,\n cpm: bid.cpm ? bid.cpm : null,\n cpm_currency: bid.currency,\n size: bid.width + 'x' + bid.height,\n deal_id: bid.dealId,\n reject_reason: bid.rejectionReason ? bid.rejectionReason : '',\n reject_timestamp: adRejectTimestamp, /* UTC timestamp */\n };\n return bidRejected;\n}\nfunction adServeObject(bid, ad) {\n const adServe = {\n pb_auction_id: bid.auctionId,\n pb_transaction_id: bid.transactionId,\n pb_bidder_code: bid.bidderCode,\n ad_id: bid.adId,\n bid_cpm: bid.cpm,\n bid_cpm_currency: bid.currency,\n size: bid.size,\n status: ad.serveStatus,\n fail_reason: ad.failReason,\n ad_serve_timestamp: ad.serveTimestamp, /* UTC timestamp */\n };\n return adServe;\n}\nfunction auctionEndObject(auction) {\n if (!auction.auctionId || !auction.auctionEnd || !auction.auctionStatus) {\n throw new Error('invalid parameter auction in auctionEndObject()');\n }\n const auctionEnd = {\n pb_auction_id: auction.auctionId,\n auction_end_time: auction.auctionEnd, /* UTC timestamp */\n end_state: auction.auctionStatus\n };\n return auctionEnd;\n}\nfunction adImpressionObject(event, adImpressionTimestamp) {\n // const size: [number, number] = event.size;\n const size = event?.size ? `${event.size[0]}x${event.size[1]}` : '';\n const key = event.slot.getSlotElementId();\n const adImpression = {\n pb_auction_id: _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key)?.pbServedAuctionId ?? null,\n pb_transaction_id: _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key)?.pbServedTransactionId ?? null,\n advertiser_id: event.advertiserId,\n campaign_id: event.campaignId,\n creative_id: event.creativeId,\n line_item_id: event.lineItemId,\n hb_bidder_code: event.slot.getTargeting('hb_bidder_code')?.[0] ?? null,\n hb_cpm: event.slot.getTargeting('hb_cpm')?.[0] || null,\n hb_cpm_currency: event.slot.getTargeting('hb_cpm_currency')?.[0] ?? null,\n size: size,\n ad_impression_timestamp: adImpressionTimestamp /* UTC timestamp */\n };\n return adImpression;\n}\nfunction adUnfilledObject(slot, adUnfilledTimestamp) {\n const key = slot.getSlotElementId();\n const adUnfilled = {\n pb_auction_id: _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key)?.pbServedAuctionId ?? null,\n pb_transaction_id: _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key)?.pbServedTransactionId ?? null,\n ad_unfilled_timestamp: adUnfilledTimestamp /* UTC timestamp */\n };\n return adUnfilled;\n}\nfunction adViewableObject(slot, adViewableTimestamp) {\n const key = slot.getSlotElementId();\n const adViewable = {\n pb_auction_id: _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key)?.pbServedAuctionId ?? null,\n pb_transaction_id: _auctionConductor__WEBPACK_IMPORTED_MODULE_3__.adSlotAuctionMap.get(key)?.pbServedTransactionId ?? null,\n ad_viewable_timestamp: adViewableTimestamp /* UTC timestamp */\n };\n return adViewable;\n}\n\n\n//# sourceURL=webpack:///./src/logObjectBuilder.ts?")},"./src/logger.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FlushTrigger: () => (/* binding */ FlushTrigger),\n/* harmony export */ LogMode: () => (/* binding */ LogMode),\n/* harmony export */ flushQue: () => (/* binding */ flushQue),\n/* harmony export */ initLogger: () => (/* binding */ initLogger),\n/* harmony export */ logEvent: () => (/* binding */ logEvent)\n/* harmony export */ });\n/* harmony import */ var _wrapperTag__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrapperTag */ "./src/wrapperTag.ts");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/utils.ts");\n// wflow/app/wrapper/src/logger.ts\n\n\nvar LogMode;\n(function (LogMode) {\n LogMode["Sync"] = "SY";\n LogMode["Async"] = "AS";\n})(LogMode || (LogMode = {}));\nvar FlushTrigger;\n(function (FlushTrigger) {\n FlushTrigger["Event"] = "EV";\n FlushTrigger["Time"] = "TM";\n})(FlushTrigger || (FlushTrigger = {}));\nconst loggerAPIEndpoint = `https://${_wrapperTag__WEBPACK_IMPORTED_MODULE_0__.wrapperConfig.e}${_wrapperTag__WEBPACK_IMPORTED_MODULE_0__.wrapperConfig.l /*logConfig*/.p /*apiPath*/}`;\n// module state\nlet eventQue = [];\nlet timeoutId = null;\nlet logMode = LogMode.Async;\nfunction initLogger() {\n // follow config log mode\n const setLogMode = () => {\n logMode = _wrapperTag__WEBPACK_IMPORTED_MODULE_0__.wrapperConfig.l /*logConfig*/.m /*mode*/;\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)(`Page loaded, log mode \'${logMode}\' now follows config`);\n };\n if (document.readyState === \'complete\') {\n setLogMode();\n }\n else {\n window.addEventListener(\'load\', setLogMode);\n }\n // set unload flush to prevent data loss\n window.addEventListener(\'beforeunload\', flushQue);\n window.addEventListener(\'pagehide\', flushQue);\n}\nfunction flushQue() {\n if (eventQue.length === 0) {\n return;\n }\n if (timeoutId !== null) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n const events = [...eventQue];\n eventQue = [];\n const batchData = events.map(event => ({\n endpoint: event.path,\n payload: event.payload,\n timestamp: event.timestamp\n }));\n postLogData(\'/batch\', batchData);\n}\nfunction postLogData(path, payload) {\n const strPayload = JSON.stringify(payload);\n fetch(`${loggerAPIEndpoint}${path}`, {\n method: \'POST\',\n body: strPayload,\n headers: {\n \'Content-Type\': \'text/plain\'\n },\n keepalive: strPayload.length < 60000 // safety margin for 64KB limit\n })\n .then(response => {\n if (response.status !== 200) {\n throw new Error(`HTTP error! ${response.status} ${response.statusText}`);\n }\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleDebug)(`Logged event(s) to ${loggerAPIEndpoint}${path}`, payload);\n })\n .catch(error => {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.consoleError)(`Failed to log event(s) to ${loggerAPIEndpoint}${path}`, false, payload, error);\n });\n}\nfunction logEvent(path, payload) {\n if (logMode === LogMode.Sync) {\n // synchronous logging\n postLogData(path, payload);\n return;\n }\n // asynchronous logging\n eventQue.push({\n path,\n payload,\n timestamp: Date.now()\n });\n // setup flush for asynchronous logging\n switch (_wrapperTag__WEBPACK_IMPORTED_MODULE_0__.wrapperConfig.l /*logConfig*/.t /*flushTrigger*/) {\n case FlushTrigger.Event:\n if (eventQue.length >= _wrapperTag__WEBPACK_IMPORTED_MODULE_0__.wrapperConfig.l /*logConfig*/.v /*thresholdValue*/) {\n flushQue();\n }\n break;\n case FlushTrigger.Time:\n if (timeoutId === null) {\n timeoutId = window.setTimeout(() => {\n flushQue();\n }, _wrapperTag__WEBPACK_IMPORTED_MODULE_0__.wrapperConfig.l /*logConfig*/.v /*thresholdValue*/);\n }\n break;\n }\n}\n\n\n//# sourceURL=webpack:///./src/logger.ts?')},"./src/refreshEventHandlers.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ setRefreshWorker: () => (/* binding */ setRefreshWorker)\n/* harmony export */ });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "./src/utils.ts");\n/* harmony import */ var _stickySlot__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stickySlot */ "./src/stickySlot.ts");\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types/enums */ "./src/types/enums.ts");\n/* harmony import */ var _wrapperTag__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./wrapperTag */ "./src/wrapperTag.ts");\n// wflow/app/wrapper/src/refreshEventHandlers.ts\n\n\n\n\nconst DEFAULT_REFRESH_INTERVAL = 30; // in seconds\nfunction setRefreshWorker(adUnitCode) {\n // filter layouts applicable to current page\n const layouts = _wrapperTag__WEBPACK_IMPORTED_MODULE_3__.wrapperConfig.ly /*layout*/\n .filter((ly) => (0,_utils__WEBPACK_IMPORTED_MODULE_0__.matchPagePath)(window.location.pathname, ly.pp /*pagePaths*/)) ?? [];\n const allAdSlots = _wrapperTag__WEBPACK_IMPORTED_MODULE_3__.wrapperConfig.as /*adSlots*/\n .concat(layouts.flatMap(ly => ly.as /*adSlots*/));\n if (allAdSlots.length === 0) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.consoleDebug)(`no ad slots defined for pagepath \'${window.location.pathname}\', ads will not be refreshed`);\n return;\n }\n const refreshAdSlot = allAdSlots.find(\n // ({ g/*gam ad unit code*/ }) => g/*gam ad unit code*/ === adUnitPath\n slot => (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getSlotDivId)(slot) === adUnitCode);\n if (refreshAdSlot) {\n const slotDivId = (refreshAdSlot.n /*insert*/.a /*anchor*/ === _types_enums__WEBPACK_IMPORTED_MODULE_2__.Anchor.Window) ?\n (0,_stickySlot__WEBPACK_IMPORTED_MODULE_1__.stickySlotId)(refreshAdSlot.n /*insert*/.r /*reference*/) :\n refreshAdSlot.n /*insert*/.d /*divId*/;\n const element = document.getElementById(slotDivId);\n const refreshType = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.enumFromString)(_types_enums__WEBPACK_IMPORTED_MODULE_2__.RefreshTrigger, refreshAdSlot?.r /*refresh*/?.t /*trigger*/ ?? \'\');\n if (element && refreshType) {\n switch (refreshType) {\n case _types_enums__WEBPACK_IMPORTED_MODULE_2__.RefreshTrigger.InView:\n refreshInView(element, refreshAdSlot);\n break;\n case _types_enums__WEBPACK_IMPORTED_MODULE_2__.RefreshTrigger.AfterInterval:\n refreshAfterInterval(element, refreshAdSlot);\n break;\n default:\n break;\n }\n }\n }\n}\n/**\n *\n * refresh in view, only after interval\n * max refresh applies (if specified)\n *\n **/\nfunction refreshInView(element, adSlot) {\n const maxRefreshes = adSlot.r /*refresh*/?.c /*count of times*/ ?? Number.MAX_SAFE_INTEGER;\n const timeout = (adSlot.r /*refresh*/?.i /*interval*/ ?? DEFAULT_REFRESH_INTERVAL) * 1000; // refresh interval in miliseconds\n const adUnitCode = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getSlotDivId)(adSlot); // adslot element (div) id used as unique prebid adunit code\n var refreshCount = 0; // initialize refresh counter\n const options = {\n root: null, // element to intersect with browser viewport\n rootMargin: "0px", // margin to grow or shrink intersection frame of root\n threshold: 0.0 // % element visible\n };\n var isElementVisible = false; // track element visibility\n const observer = new IntersectionObserver((entries) => {\n entries.forEach(entry => {\n isElementVisible = entry.intersectionRatio > 0; // update visibility status\n });\n }, options);\n observer.observe(element);\n // refresh loop\n const intervalId = setInterval(() => {\n if (isElementVisible && refreshCount < maxRefreshes) {\n refreshCount++;\n pbjs.que.push(() => {\n pbjs.requestBids({\n adUnitCodes: [adUnitCode],\n timeout: adSlot.o /*auctionTimeout*/ ?? _wrapperTag__WEBPACK_IMPORTED_MODULE_3__.wrapperConfig.o /*auctionTimeout*/\n });\n });\n }\n if (refreshCount >= maxRefreshes) {\n clearInterval(intervalId); // stop interval when max refreshes reached\n observer.disconnect(); // disconnect observer\n }\n }, timeout); // delay between checks\n}\n/**\n *\n * refresh after interval, only if ad was viewable\n * max refresh applies (if specified)\n *\n **/\nfunction refreshAfterInterval(element, adSlot) {\n const maxRefreshes = adSlot.r /*refresh*/?.c /*countOfTimes*/ ?? Number.MAX_SAFE_INTEGER;\n const timeout = (adSlot.r /*refresh*/?.i /*interval*/ ?? DEFAULT_REFRESH_INTERVAL) * 1000; // refresh interval in miliseconds\n const adUnitCode = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getSlotDivId)(adSlot); // adslot element (div) id used as unique prebid adunit code\n var refreshCount = 0; // initialize refresh counter\n const options = {\n root: null, // element to intersect with browser viewport\n rootMargin: "0px", // margin to grow or shrink intersection frame of root\n threshold: 0.0 // % element visible\n };\n const observer = new IntersectionObserver((entries, observer) => {\n entries.forEach(entry => {\n if (entry.intersectionRatio > 0) {\n if (refreshCount < maxRefreshes) {\n refreshCount++;\n setTimeout(() => {\n pbjs.que.push(() => {\n pbjs.requestBids({\n adUnitCodes: [adUnitCode],\n timeout: adSlot.o /*auctionTimeout*/ ?? _wrapperTag__WEBPACK_IMPORTED_MODULE_3__.wrapperConfig.o /*auctionTimeout*/\n });\n });\n }, timeout);\n }\n if (refreshCount >= maxRefreshes) {\n observer.disconnect(); // stop observing after max refreshes\n }\n }\n });\n }, options);\n observer.observe(element);\n}\n\n\n//# sourceURL=webpack:///./src/refreshEventHandlers.ts?')},"./src/stickySlot.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StickyAction: () => (/* binding */ StickyAction),\n/* harmony export */ anchorAction: () => (/* binding */ anchorAction),\n/* harmony export */ anchorId: () => (/* binding */ anchorId),\n/* harmony export */ buttonId: () => (/* binding */ buttonId),\n/* harmony export */ setInsertSlotWorker: () => (/* binding */ setInsertSlotWorker),\n/* harmony export */ stickySlotId: () => (/* binding */ stickySlotId)\n/* harmony export */ });\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types/enums */ \"./src/types/enums.ts\");\n// wflow/app/wrapper/src/stickySlot.ts\n\nvar StickyAction;\n(function (StickyAction) {\n StickyAction[\"Minimize\"] = \"minimize\";\n StickyAction[\"Restore\"] = \"restore\";\n StickyAction[\"Dismiss\"] = \"dismiss\";\n})(StickyAction || (StickyAction = {}));\nfunction setInsertSlotWorker(adUnit) {\n // TODO add all sticky slots at one time\n if (document.body) { // page has already loaded\n addStickySlot(adUnit.n /*insert*/);\n }\n else {\n document.addEventListener('DOMContentLoaded', () => {\n addStickySlot(adUnit.n /*insert*/);\n });\n }\n}\nconst stickySlotId = (ref) => `ad-${ref}-slot`;\nconst anchorId = (ref) => `ad-${ref}-anchor`;\nconst buttonId = (ref, action) => `ad-${ref}-${action}`;\nfunction addStickySlot(insert) {\n const anchorElementId = anchorId(insert.r /*reference*/);\n const slotId = stickySlotId(insert.r /*reference*/);\n const anchorClass = `ad-anchor ad-${insert.r /*reference*/}`;\n // TODO allow anchorId to be added only once\n const anchor = document.createElement('div');\n anchor.id = anchorElementId;\n anchor.className = anchorClass;\n const actionButtonsDiv = document.createElement('div');\n actionButtonsDiv.className = 'ad-action-buttons';\n const btnRes = document.createElement('div');\n btnRes.id = buttonId(insert.r /*reference*/, StickyAction.Restore);\n btnRes.innerHTML = '+';\n btnRes.className = 'ad-action-btn';\n btnRes.onclick = () => anchorAction(insert.r /*reference*/, StickyAction.Restore);\n btnRes.title = 'Restore Ad';\n btnRes.style.display = 'none';\n actionButtonsDiv.appendChild(btnRes);\n if (insert.z /*minimize*/) {\n const btnMin = document.createElement('div');\n btnMin.id = buttonId(insert.r /*reference*/, StickyAction.Minimize);\n btnMin.innerHTML = '-';\n btnMin.className = 'ad-action-btn';\n btnMin.onclick = () => anchorAction(insert.r /*reference*/, StickyAction.Minimize);\n btnMin.title = 'Minimize Ad';\n actionButtonsDiv.appendChild(btnMin);\n }\n if (insert.s /*dismiss*/) {\n const btnDis = document.createElement('div');\n btnDis.id = buttonId(insert.r /*reference*/, StickyAction.Dismiss);\n btnDis.innerHTML = 'x';\n btnDis.className = 'ad-action-btn';\n btnDis.onclick = () => anchorAction(insert.r /*reference*/, StickyAction.Dismiss);\n btnDis.title = 'Dismiss Ad';\n actionButtonsDiv.appendChild(btnDis);\n }\n anchor.appendChild(Object.assign(document.createElement('div'), {\n id: slotId,\n className: 'ad-slot',\n innerHTML: 'Advertisement'\n }));\n anchor.appendChild(actionButtonsDiv);\n switch (insert.r /*reference*/) {\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Top:\n document.body.prepend(anchor);\n break;\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Bottom:\n document.body.append(anchor);\n break;\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Left:\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Right:\n document.body.append(anchor);\n break;\n default:\n //TODO log invalid parameter\n break;\n }\n}\n/**\n * handle ad actions (hide, minimize, restore)\n * @param {string} reference - anchor reference (WindowReference)\n * @param {string} action - action to take (StickyAction)\n */\nfunction anchorAction(reference, action) {\n const adAnchor = document.getElementById(anchorId(reference));\n const restoreBtn = document.getElementById(buttonId(reference, StickyAction.Restore));\n const minimizeBtn = document.getElementById(buttonId(reference, StickyAction.Minimize));\n const dismissBtn = document.getElementById(buttonId(reference, StickyAction.Dismiss));\n var minimizeClassName = '';\n switch (reference) {\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Top:\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Bottom:\n minimizeClassName = 'horizontal-minimized';\n break;\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Left:\n case _types_enums__WEBPACK_IMPORTED_MODULE_0__.WindowReference.Right:\n minimizeClassName = 'vertical-minimized';\n break;\n default:\n throw new Error(`invalid reference parameter '${reference}' to anchorAction()`);\n }\n switch (action) {\n case StickyAction.Restore:\n adAnchor?.classList.remove(minimizeClassName); // restore\n restoreBtn?.style && (restoreBtn.style.display = 'none'); // hide restore button \n minimizeBtn?.style && (minimizeBtn.style.display = 'block'); // show minimize button\n dismissBtn?.style && (dismissBtn.style.display = 'block'); // show dismiss button\n break;\n case StickyAction.Minimize:\n adAnchor?.classList.add(minimizeClassName); // minimize\n minimizeBtn?.style && (minimizeBtn.style.display = 'none'); // hide minimize button\n restoreBtn?.style && (restoreBtn.style.display = 'block'); // show restore button\n dismissBtn?.style && (dismissBtn.style.display = 'block'); // show dismiss button\n //TODO how to handle refresh?\n break;\n case StickyAction.Dismiss:\n adAnchor?.classList.add('hidden'); // dismiss\n //TODO delete google slot and pbjs ad unit, should we remove element?\n break;\n default:\n throw new Error(`invalid action parameter '${action}' to anchorAction()`);\n }\n}\n//TODO minimized ad slot maximized on refresh\n//TODO should not have unfilled -- house ad or immediate refresh, after which automatically minimized\n\n\n//# sourceURL=webpack:///./src/stickySlot.ts?")},"./src/types/enums.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Anchor: () => (/* binding */ Anchor),\n/* harmony export */ Browser: () => (/* binding */ Browser),\n/* harmony export */ Device: () => (/* binding */ Device),\n/* harmony export */ ElementReference: () => (/* binding */ ElementReference),\n/* harmony export */ Load: () => (/* binding */ Load),\n/* harmony export */ MediaFormat: () => (/* binding */ MediaFormat),\n/* harmony export */ PagePathPattern: () => (/* binding */ PagePathPattern),\n/* harmony export */ RefreshTrigger: () => (/* binding */ RefreshTrigger),\n/* harmony export */ WindowReference: () => (/* binding */ WindowReference)\n/* harmony export */ });\n// wflow/app/wrapper/src/enums.ts\nvar WindowReference;\n(function (WindowReference) {\n WindowReference["Top"] = "TP";\n WindowReference["Bottom"] = "BM";\n WindowReference["Left"] = "LF";\n WindowReference["Right"] = "RG";\n})(WindowReference || (WindowReference = {}));\nvar ElementReference;\n(function (ElementReference) {\n ElementReference["Before"] = "BF";\n ElementReference["After"] = "AT";\n ElementReference["Inside"] = "IN";\n})(ElementReference || (ElementReference = {}));\nvar Anchor;\n(function (Anchor) {\n Anchor["Window"] = "WN";\n Anchor["StaticElement"] = "ST";\n Anchor["DynamicElement"] = "DY";\n})(Anchor || (Anchor = {}));\nvar Load;\n(function (Load) {\n /**\n * Eager Loading:\n * Ads are loaded as soon as the page loads, regardless of whether they are visible to the user.\n * Use Case: Pages with high-priority ad slots above the fold where immediate visibility is crucial.\n */\n Load["Eager"] = "EG";\n /**\n * Deferred Loading:\n * Ads are loaded after the entire page has finished loading or after a specific delay.\n * Use Case: Ensures critical content is loaded first to improve perceived performance.\n */\n Load["Deferred"] = "DF";\n /**\n * Lazy Loading:\n * Ads are loaded only when they are about to come into the viewport (or are close to it).\n * Use Case: Improves performance and reduces resource usage by deferring ad requests for offscreen ads.\n */\n Load["Lazy"] = "LZ";\n /**\n * Dynamic Loading:\n * Ads are loaded for slots created dynamically after the initial page load, such as in infinite scroll scenarios.\n * Use Case: Pages with content that expands dynamically, where new ad slots are introduced as the user scrolls.\n */\n Load["Dynamic"] = "YM";\n /**\n * On-Demand Loading:\n * Ads are loaded based on specific user actions, such as clicking a button or interacting with a part of the page.\n * Use Case: When ads need to be shown only after user engagement (e.g., inside a collapsible menu).\n */\n Load["OnDemand"] = "ON";\n})(Load || (Load = {}));\nvar MediaFormat;\n(function (MediaFormat) {\n MediaFormat["Banner"] = "BN";\n})(MediaFormat || (MediaFormat = {}));\nvar RefreshTrigger;\n(function (RefreshTrigger) {\n RefreshTrigger["InView"] = "IV";\n RefreshTrigger["AfterInterval"] = "AV";\n})(RefreshTrigger || (RefreshTrigger = {}));\nvar Device;\n(function (Device) {\n Device["Mobile"] = "MB";\n Device["Desktop"] = "DK";\n Device["Tablet"] = "TB";\n})(Device || (Device = {}));\nvar Browser;\n(function (Browser) {\n Browser["Chrome"] = "CR";\n Browser["Safari"] = "SF";\n Browser["Edge"] = "EG";\n Browser["Firefox"] = "FX";\n Browser["Unknown"] = "UN";\n})(Browser || (Browser = {}));\nvar PagePathPattern;\n(function (PagePathPattern) {\n PagePathPattern["Prefix"] = "PR";\n PagePathPattern["Contains"] = "CT";\n PagePathPattern["Suffix"] = "SF";\n PagePathPattern["Exact"] = "EX";\n PagePathPattern["Regex"] = "RG";\n})(PagePathPattern || (PagePathPattern = {}));\n\n\n//# sourceURL=webpack:///./src/types/enums.ts?')},"./src/utils.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ consoleDebug: () => (/* binding */ consoleDebug),\n/* harmony export */ consoleError: () => (/* binding */ consoleError),\n/* harmony export */ enumFromString: () => (/* binding */ enumFromString),\n/* harmony export */ generateHash: () => (/* binding */ generateHash),\n/* harmony export */ getMediaSizes: () => (/* binding */ getMediaSizes),\n/* harmony export */ getPrimaryDomain: () => (/* binding */ getPrimaryDomain),\n/* harmony export */ getSessionId: () => (/* binding */ getSessionId),\n/* harmony export */ getSlotDivId: () => (/* binding */ getSlotDivId),\n/* harmony export */ getUserId: () => (/* binding */ getUserId),\n/* harmony export */ matchPagePath: () => (/* binding */ matchPagePath)\n/* harmony export */ });\n/* harmony import */ var xxhash_wasm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! xxhash-wasm */ \"../node_modules/xxhash-wasm/esm/xxhash-wasm.js\");\n/* harmony import */ var _types_enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types/enums */ \"./src/types/enums.ts\");\n/* harmony import */ var _audiences__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./audiences */ \"./src/audiences.ts\");\n/* harmony import */ var _stickySlot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stickySlot */ \"./src/stickySlot.ts\");\n// wflow/app/wrapper/src/utils.ts\n\n\n\n\nconst SESSION_LENGTH_MS = 10 * 60 * 1000; // 10 minutes, in milliseconds\nfunction getSessionId() {\n var sessionId = localStorage.getItem('sessionId');\n var sessionIdLastRead = localStorage.getItem('sessionIdLastRead');\n const currentTime = Date.now(); /* UTC timestamp */\n if ((!sessionId) || (!sessionIdLastRead) ||\n ((currentTime - parseInt(sessionIdLastRead)) > SESSION_LENGTH_MS)) {\n sessionId = Math.random().toString(36).substring(2, 15)\n .padEnd(13, Math.random().toString(36).substring(2, 15));\n localStorage.setItem('sessionId', sessionId);\n }\n localStorage.setItem('sessionIdLastRead', currentTime.toString());\n return sessionId;\n}\nfunction getUserId() {\n var userId = localStorage.getItem('userId');\n if (!userId) {\n const userId = Math.random().toString(36).substring(2, 15)\n .padEnd(13, Math.random().toString(36).substring(2, 15));\n localStorage.setItem('userId', userId);\n return userId;\n }\n return userId;\n}\nfunction consoleDebug(message, ...args) {\n const searchString = (window.location && typeof window.location.search === 'string') ? window.location.search : '';\n const urlParams = new URLSearchParams(searchString);\n if ((urlParams.get('pbjs_debug') === 'true') ||\n (pbjs.readConfig && pbjs.readConfig('debug') === true)) {\n console.log('%cAAM', 'background: navy; color: white; padding: 2px 5px; border-radius: 3px;', message, ...args);\n }\n}\nfunction consoleError(message, escalate = false, ...args) {\n const searchString = (window.location && typeof window.location.search === 'string') ? window.location.search : '';\n const urlParams = new URLSearchParams(searchString);\n if ((urlParams.get('pbjs_debug') === 'true') ||\n (pbjs.readConfig && pbjs.readConfig('debug') === true)) {\n console.error('%cAAM', 'background: navy; color: white; padding: 2px 5px; border-radius: 3px;', message, ...args);\n }\n if (escalate) {\n throw Error(message);\n }\n}\nfunction enumFromString(enumType, value) {\n return Object.values(enumType).includes(value) ? value : undefined;\n}\nconst getPrimaryDomain = (hostname) => hostname.split('.').slice(-2).join('.');\nasync function generateHash(data, length) {\n const { h64 } = await (0,xxhash_wasm__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n const hash64Value = h64(data, BigInt(0));\n const hexHash = hash64Value.toString(16).padStart(16, '0').toUpperCase();\n return hexHash.slice(0, length);\n}\nfunction matchPagePath(currentPath, pagePaths) {\n return pagePaths.some(({ t /*pattern*/, p /*path*/ }) => {\n switch (t /*pattern*/) {\n case _types_enums__WEBPACK_IMPORTED_MODULE_1__.PagePathPattern.Prefix:\n return currentPath.startsWith(p /*path*/);\n case _types_enums__WEBPACK_IMPORTED_MODULE_1__.PagePathPattern.Contains:\n return currentPath.includes(p /*path*/);\n case _types_enums__WEBPACK_IMPORTED_MODULE_1__.PagePathPattern.Suffix:\n return currentPath.endsWith(p /*path*/);\n case _types_enums__WEBPACK_IMPORTED_MODULE_1__.PagePathPattern.Exact:\n return currentPath === p /*path*/;\n case _types_enums__WEBPACK_IMPORTED_MODULE_1__.PagePathPattern.Regex:\n try {\n const regex = new RegExp(p /*path*/);\n return regex.test(currentPath);\n }\n catch {\n console.error(`Invalid regex pattern: ${p /*path*/}`);\n return false;\n }\n default:\n return false;\n }\n });\n}\nfunction getMediaSizes(media) {\n if (Array.isArray(media.sz.a) && media.sz.a.length) {\n return media.sz.a;\n }\n switch ((0,_audiences__WEBPACK_IMPORTED_MODULE_2__.getUserDevice)()) {\n case _types_enums__WEBPACK_IMPORTED_MODULE_1__.Device.Desktop:\n return Array.isArray(media.sz.d) ? media.sz.d : [];\n case _types_enums__WEBPACK_IMPORTED_MODULE_1__.Device.Mobile:\n return Array.isArray(media.sz.m) ? media.sz.m : [];\n default:\n return [];\n }\n}\nconst getSlotDivId = (adSlot) => {\n return adSlot.n /*insert*/.a /*anchor*/ === _types_enums__WEBPACK_IMPORTED_MODULE_1__.Anchor.Window\n ? (0,_stickySlot__WEBPACK_IMPORTED_MODULE_3__.stickySlotId)(adSlot.n /*insert*/.r /*reference*/)\n : adSlot.n /*insert*/.d /*divId*/;\n};\n\n\n//# sourceURL=webpack:///./src/utils.ts?")},"./src/wrapperTag.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ wrapperConfig: () => (/* binding */ wrapperConfig)\n/* harmony export */ });\n/* harmony import */ var _dynamicSlot__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dynamicSlot */ "./src/dynamicSlot.ts");\n// wflow/app/wrapper/src/wrapperTag.ts\n\nconst wrapperConfig = __webpack_require__(/*! ../builds/80918AC8127BA/0.0.101/config-d80918ac8127ba-v0-0-101.json */ "../builds/80918AC8127BA/0.0.101/config-d80918ac8127ba-v0-0-101.json");\nwindow.wrapperTag = {\n insertAdSlot: (refDivId, position) => _dynamicSlot__WEBPACK_IMPORTED_MODULE_0__.insertDynamicAdSlot(refDivId, position),\n deleteAdSlot: (divId) => _dynamicSlot__WEBPACK_IMPORTED_MODULE_0__.deleteDynamicAdSlot(divId)\n};\n\n\n//# sourceURL=webpack:///./src/wrapperTag.ts?')},"../node_modules/uuid/dist/esm-browser/native.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ randomUUID });\n\n\n//# sourceURL=webpack:///../node_modules/uuid/dist/esm-browser/native.js?")},"../node_modules/uuid/dist/esm-browser/regex.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i);\n\n\n//# sourceURL=webpack:///../node_modules/uuid/dist/esm-browser/regex.js?')},"../node_modules/uuid/dist/esm-browser/rng.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ rng)\n/* harmony export */ });\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nfunction rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n\n\n//# sourceURL=webpack:///../node_modules/uuid/dist/esm-browser/rng.js?")},"../node_modules/uuid/dist/esm-browser/stringify.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ unsafeStringify: () => (/* binding */ unsafeStringify)\n/* harmony export */ });\n/* harmony import */ var _validate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validate.js */ \"../node_modules/uuid/dist/esm-browser/validate.js\");\n\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nfunction unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!(0,_validate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (stringify);\n\n\n//# sourceURL=webpack:///../node_modules/uuid/dist/esm-browser/stringify.js?")},"../node_modules/uuid/dist/esm-browser/v4.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _native_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./native.js */ "../node_modules/uuid/dist/esm-browser/native.js");\n/* harmony import */ var _rng_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rng.js */ "../node_modules/uuid/dist/esm-browser/rng.js");\n/* harmony import */ var _stringify_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./stringify.js */ "../node_modules/uuid/dist/esm-browser/stringify.js");\n\n\n\nfunction v4(options, buf, offset) {\n if (_native_js__WEBPACK_IMPORTED_MODULE_0__["default"].randomUUID && !buf && !options) {\n return _native_js__WEBPACK_IMPORTED_MODULE_0__["default"].randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? (0,_rng_js__WEBPACK_IMPORTED_MODULE_1__["default"])();\n if (rnds.length < 16) {\n throw new Error(\'Random bytes length must be >= 16\');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return (0,_stringify_js__WEBPACK_IMPORTED_MODULE_2__.unsafeStringify)(rnds);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (v4);\n\n\n//# sourceURL=webpack:///../node_modules/uuid/dist/esm-browser/v4.js?')},"../node_modules/uuid/dist/esm-browser/validate.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _regex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./regex.js */ "../node_modules/uuid/dist/esm-browser/regex.js");\n\nfunction validate(uuid) {\n return typeof uuid === \'string\' && _regex_js__WEBPACK_IMPORTED_MODULE_0__["default"].test(uuid);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (validate);\n\n\n//# sourceURL=webpack:///../node_modules/uuid/dist/esm-browser/validate.js?')},"../node_modules/xxhash-wasm/esm/xxhash-wasm.js":(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "default": () => (/* binding */ e)\n/* harmony export */ });\nconst t=new Uint8Array([0,97,115,109,1,0,0,0,1,48,8,96,3,127,127,127,1,127,96,3,127,127,127,0,96,2,127,127,0,96,1,127,1,127,96,3,127,127,126,1,126,96,3,126,127,127,1,126,96,2,127,126,0,96,1,127,1,126,3,11,10,0,0,2,1,3,4,5,6,1,7,5,3,1,0,1,7,85,9,3,109,101,109,2,0,5,120,120,104,51,50,0,0,6,105,110,105,116,51,50,0,2,8,117,112,100,97,116,101,51,50,0,3,8,100,105,103,101,115,116,51,50,0,4,5,120,120,104,54,52,0,5,6,105,110,105,116,54,52,0,7,8,117,112,100,97,116,101,54,52,0,8,8,100,105,103,101,115,116,54,52,0,9,10,251,22,10,242,1,1,4,127,32,0,32,1,106,33,3,32,1,65,16,79,4,127,32,3,65,16,107,33,6,32,2,65,168,136,141,161,2,106,33,3,32,2,65,137,235,208,208,7,107,33,4,32,2,65,207,140,162,142,6,106,33,5,3,64,32,3,32,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,3,32,4,32,0,65,4,106,34,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,4,32,2,32,0,65,4,106,34,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,2,32,5,32,0,65,4,106,34,0,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,5,32,6,32,0,65,4,106,34,0,79,13,0,11,32,2,65,12,119,32,5,65,18,119,106,32,4,65,7,119,106,32,3,65,1,119,106,5,32,2,65,177,207,217,178,1,106,11,32,1,106,32,0,32,1,65,15,113,16,1,11,146,1,0,32,1,32,2,106,33,2,3,64,32,1,65,4,106,32,2,75,69,4,64,32,0,32,1,40,2,0,65,189,220,202,149,124,108,106,65,17,119,65,175,214,211,190,2,108,33,0,32,1,65,4,106,33,1,12,1,11,11,3,64,32,1,32,2,79,69,4,64,32,0,32,1,45,0,0,65,177,207,217,178,1,108,106,65,11,119,65,177,243,221,241,121,108,33,0,32,1,65,1,106,33,1,12,1,11,11,32,0,32,0,65,15,118,115,65,247,148,175,175,120,108,34,0,65,13,118,32,0,115,65,189,220,202,149,124,108,34,0,65,16,118,32,0,115,11,63,0,32,0,65,8,106,32,1,65,168,136,141,161,2,106,54,2,0,32,0,65,12,106,32,1,65,137,235,208,208,7,107,54,2,0,32,0,65,16,106,32,1,54,2,0,32,0,65,20,106,32,1,65,207,140,162,142,6,106,54,2,0,11,195,4,1,6,127,32,1,32,2,106,33,6,32,0,65,24,106,33,4,32,0,65,40,106,40,2,0,33,3,32,0,32,0,40,2,0,32,2,106,54,2,0,32,0,65,4,106,34,5,32,5,40,2,0,32,2,65,16,79,32,0,40,2,0,65,16,79,114,114,54,2,0,32,2,32,3,106,65,16,73,4,64,32,3,32,4,106,32,1,32,2,252,10,0,0,32,0,65,40,106,32,2,32,3,106,54,2,0,15,11,32,3,4,64,32,3,32,4,106,32,1,65,16,32,3,107,34,2,252,10,0,0,32,0,65,8,106,34,3,32,3,40,2,0,32,4,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,12,106,34,3,32,3,40,2,0,32,4,65,4,106,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,16,106,34,3,32,3,40,2,0,32,4,65,8,106,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,20,106,34,3,32,3,40,2,0,32,4,65,12,106,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,54,2,0,32,0,65,40,106,65,0,54,2,0,32,1,32,2,106,33,1,11,32,1,32,6,65,16,107,77,4,64,32,6,65,16,107,33,8,32,0,65,8,106,40,2,0,33,2,32,0,65,12,106,40,2,0,33,3,32,0,65,16,106,40,2,0,33,5,32,0,65,20,106,40,2,0,33,7,3,64,32,2,32,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,2,32,3,32,1,65,4,106,34,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,3,32,5,32,1,65,4,106,34,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,5,32,7,32,1,65,4,106,34,1,40,2,0,65,247,148,175,175,120,108,106,65,13,119,65,177,243,221,241,121,108,33,7,32,8,32,1,65,4,106,34,1,79,13,0,11,32,0,65,8,106,32,2,54,2,0,32,0,65,12,106,32,3,54,2,0,32,0,65,16,106,32,5,54,2,0,32,0,65,20,106,32,7,54,2,0,11,32,1,32,6,73,4,64,32,4,32,1,32,6,32,1,107,34,1,252,10,0,0,32,0,65,40,106,32,1,54,2,0,11,11,97,1,1,127,32,0,65,16,106,40,2,0,33,1,32,0,65,4,106,40,2,0,4,127,32,1,65,12,119,32,0,65,20,106,40,2,0,65,18,119,106,32,0,65,12,106,40,2,0,65,7,119,106,32,0,65,8,106,40,2,0,65,1,119,106,5,32,1,65,177,207,217,178,1,106,11,32,0,40,2,0,106,32,0,65,24,106,32,0,65,40,106,40,2,0,16,1,11,255,3,2,3,126,1,127,32,0,32,1,106,33,6,32,1,65,32,79,4,126,32,6,65,32,107,33,6,32,2,66,214,235,130,238,234,253,137,245,224,0,124,33,3,32,2,66,177,169,172,193,173,184,212,166,61,125,33,4,32,2,66,249,234,208,208,231,201,161,228,225,0,124,33,5,3,64,32,3,32,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,3,32,4,32,0,65,8,106,34,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,4,32,2,32,0,65,8,106,34,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,2,32,5,32,0,65,8,106,34,0,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,5,32,6,32,0,65,8,106,34,0,79,13,0,11,32,2,66,12,137,32,5,66,18,137,124,32,4,66,7,137,124,32,3,66,1,137,124,32,3,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,4,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,2,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,5,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,5,32,2,66,197,207,217,178,241,229,186,234,39,124,11,32,1,173,124,32,0,32,1,65,31,113,16,6,11,134,2,0,32,1,32,2,106,33,2,3,64,32,2,32,1,65,8,106,79,4,64,32,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,32,0,133,66,27,137,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,33,0,32,1,65,8,106,33,1,12,1,11,11,32,1,65,4,106,32,2,77,4,64,32,0,32,1,53,2,0,66,135,149,175,175,152,182,222,155,158,127,126,133,66,23,137,66,207,214,211,190,210,199,171,217,66,126,66,249,243,221,241,153,246,153,171,22,124,33,0,32,1,65,4,106,33,1,11,3,64,32,1,32,2,73,4,64,32,0,32,1,49,0,0,66,197,207,217,178,241,229,186,234,39,126,133,66,11,137,66,135,149,175,175,152,182,222,155,158,127,126,33,0,32,1,65,1,106,33,1,12,1,11,11,32,0,32,0,66,33,136,133,66,207,214,211,190,210,199,171,217,66,126,34,0,32,0,66,29,136,133,66,249,243,221,241,153,246,153,171,22,126,34,0,32,0,66,32,136,133,11,77,0,32,0,65,8,106,32,1,66,214,235,130,238,234,253,137,245,224,0,124,55,3,0,32,0,65,16,106,32,1,66,177,169,172,193,173,184,212,166,61,125,55,3,0,32,0,65,24,106,32,1,55,3,0,32,0,65,32,106,32,1,66,249,234,208,208,231,201,161,228,225,0,124,55,3,0,11,244,4,2,3,127,4,126,32,1,32,2,106,33,5,32,0,65,40,106,33,4,32,0,65,200,0,106,40,2,0,33,3,32,0,32,0,41,3,0,32,2,173,124,55,3,0,32,2,32,3,106,65,32,73,4,64,32,3,32,4,106,32,1,32,2,252,10,0,0,32,0,65,200,0,106,32,2,32,3,106,54,2,0,15,11,32,3,4,64,32,3,32,4,106,32,1,65,32,32,3,107,34,2,252,10,0,0,32,0,65,8,106,34,3,32,3,41,3,0,32,4,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,16,106,34,3,32,3,41,3,0,32,4,65,8,106,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,24,106,34,3,32,3,41,3,0,32,4,65,16,106,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,32,106,34,3,32,3,41,3,0,32,4,65,24,106,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,55,3,0,32,0,65,200,0,106,65,0,54,2,0,32,1,32,2,106,33,1,11,32,1,65,32,106,32,5,77,4,64,32,5,65,32,107,33,2,32,0,65,8,106,41,3,0,33,6,32,0,65,16,106,41,3,0,33,7,32,0,65,24,106,41,3,0,33,8,32,0,65,32,106,41,3,0,33,9,3,64,32,6,32,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,6,32,7,32,1,65,8,106,34,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,7,32,8,32,1,65,8,106,34,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,8,32,9,32,1,65,8,106,34,1,41,3,0,66,207,214,211,190,210,199,171,217,66,126,124,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,33,9,32,2,32,1,65,8,106,34,1,79,13,0,11,32,0,65,8,106,32,6,55,3,0,32,0,65,16,106,32,7,55,3,0,32,0,65,24,106,32,8,55,3,0,32,0,65,32,106,32,9,55,3,0,11,32,1,32,5,73,4,64,32,4,32,1,32,5,32,1,107,34,1,252,10,0,0,32,0,65,200,0,106,32,1,54,2,0,11,11,188,2,1,5,126,32,0,65,24,106,41,3,0,33,1,32,0,41,3,0,34,2,66,32,90,4,126,32,0,65,8,106,41,3,0,34,3,66,1,137,32,0,65,16,106,41,3,0,34,4,66,7,137,124,32,1,66,12,137,32,0,65,32,106,41,3,0,34,5,66,18,137,124,124,32,3,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,4,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,1,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,32,5,66,207,214,211,190,210,199,171,217,66,126,66,31,137,66,135,149,175,175,152,182,222,155,158,127,126,133,66,135,149,175,175,152,182,222,155,158,127,126,66,157,163,181,234,131,177,141,138,250,0,125,5,32,1,66,197,207,217,178,241,229,186,234,39,124,11,32,2,124,32,0,65,40,106,32,2,66,31,131,167,16,6,11]);async function e(){return function(t){const{exports:{mem:e,xxh32:n,xxh64:r,init32:i,update32:a,digest32:o,init64:s,update64:u,digest64:c}}=t;let h=new Uint8Array(e.buffer);function g(t,n){if(e.buffer.byteLength<t+n){const r=Math.ceil((t+n-e.buffer.byteLength)/65536);e.grow(r),h=new Uint8Array(e.buffer)}}function f(t,e,n,r,i,a){g(t);const o=new Uint8Array(t);return h.set(o),n(0,e),o.set(h.subarray(0,t)),{update(e){let n;return h.set(o),"string"==typeof e?(g(3*e.length,t),n=w.encodeInto(e,h.subarray(t)).written):(g(e.byteLength,t),h.set(e,t),n=e.byteLength),r(0,t,n),o.set(h.subarray(0,t)),this},digest:()=>(h.set(o),a(i(0)))}}function y(t){return t>>>0}const b=2n**64n-1n;function d(t){return t&b}const w=new TextEncoder,l=0,p=0n;function x(t,e=l){return g(3*t.length,0),y(n(0,w.encodeInto(t,h).written,e))}function L(t,e=p){return g(3*t.length,0),d(r(0,w.encodeInto(t,h).written,e))}return{h32:x,h32ToString:(t,e=l)=>x(t,e).toString(16).padStart(8,"0"),h32Raw:(t,e=l)=>(g(t.byteLength,0),h.set(t),y(n(0,t.byteLength,e))),create32:(t=l)=>f(48,t,i,a,o,y),h64:L,h64ToString:(t,e=p)=>L(t,e).toString(16).padStart(16,"0"),h64Raw:(t,e=p)=>(g(t.byteLength,0),h.set(t),d(r(0,t.byteLength,e))),create64:(t=p)=>f(88,t,s,u,c,d)}}((await WebAssembly.instantiate(t)).instance)}\n//# sourceMappingURL=xxhash-wasm.js.map\n\n\n//# sourceURL=webpack:///../node_modules/xxhash-wasm/esm/xxhash-wasm.js?')},"../builds/80918AC8127BA/0.0.101/config-d80918ac8127ba-v0-0-101.json":module=>{"use strict";eval('module.exports = /*#__PURE__*/JSON.parse(\'{"c":"USD","d":"80918AC8127BA","e":"app.animaadtech.localhost","f":5000,"l":{"m":"AS","p":"/api/logger/v1","t":"EV","v":10},"o":3000,"p":"hb","t":"/api/experiment/v1","v":"","as":[{"f":0,"g":"/23068547170/ca-pub-5635953502767638/23069871933/23077839999","i":"EHXAN1RME8L56","l":"EG","m":{"b":false,"f":"BN","sz":{"a":[[728,90]]}},"n":{"a":"WN","r":"TP","s":false,"z":false},"o":null,"r":{"c":50,"i":20,"t":"IV"},"kv":{},"tg":[{"b":"criteo","pm":{"networkId":123}},{"b":"sovrn","pm":{"tagid":"456"}},{"b":"testbidder","pm":{"ad":"<img src=\\\'https://storage.googleapis.com/pub-ad-manager-459713/ad-creative/mock-ad-banner-728-90.png\\\' alt=\\\'Test Ad 728x90\\\' width=\\\'728\\\' height=\\\'90\\\'>","cpm":"0.1","width":"728","height":"90","placementId":"123456"}}]},{"f":0,"g":"/23068547170/ca-pub-5635953502767638/test_ad_unit_with_/","i":"10FM4U79WMNE0","l":"EG","m":{"b":false,"f":"BN","sz":{"a":[[300,250]]}},"n":{"a":"ST","d":"sidebar-ad-1","r":"IN"},"o":null,"r":{"c":50,"i":15,"t":"IV"},"kv":{},"tg":[{"b":"criteo","pm":{"networkId":123}},{"b":"sovrn","pm":{"tagid":"123"}},{"b":"testbidder","pm":{"ad":"<img src=\\\'https://storage.googleapis.com/pub-ad-manager-459713/ad-creative/mock-ad-banner-300-250.png\\\' alt=\\\'Test Ad 300x250\\\' width=\\\'300\\\' height=\\\'250\\\'>","cpm":"0.05","width":"300","height":"250","placementId":"1234567"}}]}],"ly":[],"pb":[{"c":"3.00","f":"0.50","s":"0.50"}]}\');\n\n//# sourceURL=webpack:///../builds/80918AC8127BA/0.0.101/config-d80918ac8127ba-v0-0-101.json?')}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,exports:{}};return __webpack_modules__[e](n,n.exports,__webpack_require__),n.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nc=void 0,__webpack_require__("./src/index.ts"),__webpack_require__("./src/wrapperTag.ts"),__webpack_require__("../builds/80918AC8127BA/0.0.101/prebid.js");var __webpack_exports__=__webpack_require__("./css/sticky.css")})();