Files

32 lines
241 KiB
Plaintext

/* prebid.js v9.22.0
Updated: 2024-12-05
Modules: userId, pubmaticBidAdapter, ttdBidAdapter, consentManagementGpp, consentManagementTcf, gppControl_usnat, gppControl_usstates, gptPreAuction, tcfControl, unifiedIdSystem, uid2IdSystem */
if(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(){
(()=>{var r,t={70433:(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})},68128:r=>{
/*
* @license MIT
* Fun Hooks v0.9.10
* (c) @snapwich
*/
u.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},63172:(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})},45751:(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].call(i.exports,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.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(r){if("object"==typeof window)return window}}(),n.o=(r,t)=>Object.prototype.hasOwnProperty.call(r,t),n.r=r=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},(()=>{var r={39673: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,[60802,51085],(()=>n(42627)));o=n.O(o)})();
(self.pbjsChunk=self.pbjsChunk||[]).push([[60802],{95789:(e,t,n)=>{n.d(t,{A4:()=>u,J7:()=>g,Pg:()=>f});var r=n(41580),i=n(91069),o=n(70433),s=n(15901),a=n(7873),d=n(45569);const c=(0,a.m)(),l="outstream";function u(e){const{url:t,config:n,id:a,callback:u,loaded:g,adUnitCode:f,renderNow:p}=e;this.url=t,this.config=n,this.handlers={},this.id=a,this.renderNow=p,this.loaded=g,this.cmd=[],this.push=e=>{"function"==typeof e?this.loaded?e.call():this.cmd.push(e):(0,i.logError)("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,i.logWarn)("No render function was provided, please use .setRender on the renderer")};!function(e){const t=c.adUnits,n=(0,s.I6)(t,(t=>t.code===e));if(!n)return!1;const r=(0,o.A)(n,"renderer"),i=!!(r&&r.url&&r.render),a=(0,o.A)(n,"mediaTypes.video.renderer"),d=!!(a&&a.url&&a.render);return!!(i&&!0!==r.backupOnly||d&&!0!==a.backupOnly)}(f)?p?n():(this.cmd.unshift(n),(0,r.R)(t,d.tp,l,this.callback,this.documentContext)):((0,i.logWarn)(`External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ${f}`),n())}.bind(this)}function g(e){return!(!e||!e.url&&!e.renderNow)}function f(e,t,n){let r=null;e.config&&e.config.documentResolver&&(r=e.config.documentResolver(t,document,n)),r||(r=document),e.documentContext=r,e.render(t,e.documentContext)}u.install=function(e){let{url:t,config:n,id:r,callback:i,loaded:o,adUnitCode:s,renderNow:a}=e;return new u({url:t,config:n,id:r,callback:i,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,i.logMessage)(`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,i.logError)("Error processing Renderer command: ",e)}}},76811:(e,t,n)=>{n.d(t,{DL:()=>l,Ml:()=>i,Ue:()=>r,VJ:()=>g,hE:()=>u,hq:()=>c,mo:()=>d,pY:()=>f,qX:()=>o,uc:()=>a,yl:()=>s});const r="accessDevice",i="syncUser",o="enrichUfpd",s="enrichEids",a="fetchBids",d="reportAnalytics",c="transmitEids",l="transmitUfpd",u="transmitPreciseGeo",g="transmitTid",f="loadExternalScript"},83441:(e,t,n)=>{n.d(t,{s:()=>i});var r=n(11445);const i=(0,n(2604).ZI)((e=>r.Ay.resolveAlias(e)))},45569:(e,t,n)=>{n.d(t,{Tn:()=>a,fW:()=>o,tW:()=>i,tp:()=>r,zu:()=>s});const r="prebid",i="bidder",o="userId",s="rtd",a="analytics"},2604:(e,t,n)=>{n.d(t,{Dk:()=>s,Ii:()=>o,TQ:()=>f,U3:()=>m,XG:()=>l,ZI:()=>p,Zw:()=>c,bt:()=>u,e3:()=>g,iK:()=>a,q7:()=>d});var r=n(45569),i=n(16833);const o="component",s=o+"Type",a=o+"Name",d="adapterCode",c="storageType",l="configName",u="syncType",g="syncUrl",f="_config";function p(e){return function(t,n,i){const c={[s]:t,[a]:n,[o]:`${t}.${n}`};return t===r.tW&&(c[d]=e(n)),m(Object.assign(c,i))}}const m=(0,i.A_)("sync",(e=>e))},96953:(e,t,n)=>{n.d(t,{Vx:()=>d,l7:()=>a,p4:()=>h,$V:()=>m,nl:()=>f,ZP:()=>b,$p:()=>y,uD:()=>p});var r=n(70433),i=n(43272),o=n(95139),s=n(76811);const a=["data","ext.data","yob","gender","keywords","kwarray","id","buyeruid","customdata"].map((e=>`user.${e}`)).concat("device.ext.cdep"),d=["user.eids","user.ext.eids"],c=["user.geo.lat","user.geo.lon","device.geo.lat","device.geo.lon"],l=["device.ip"],u=["device.ipv6"];function g(e){return Object.assign({get(){},run(e,t,n,r,i){const o=n&&n[r];if(m(o)&&i()){const e=this.get(o);void 0===e?delete n[r]:n[r]=e}}},e)}function f(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 o=arguments.length,s=new Array(o>2?o-2:0),a=2;a<o;a++)s[a-2]=arguments[a];const d=p(t,...s);return e.forEach((e=>{if(!1!==t[e.name])for(const[o,s]of e.paths){const a=null==o?n:(0,r.A)(n,o);if(i.push(e.run(n,o,a,s,d.bind(null,e))),!1===t[e.name])return}})),i.filter((e=>null!=e))}}function p(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 function(t){return e.hasOwnProperty(t.name)||(e[t.name]=!!t.applies(...n)),e[t.name]}}function m(e){return null!=e&&("object"!=typeof e||Object.keys(e).length>0)}function h(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.io;return function(n){return!t(e,n)}}function b(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.io;return[{name:s.DL,paths:a,applies:h(s.DL,e)},{name:s.hq,paths:d,applies:h(s.hq,e)},{name:s.hE,paths:c,applies:h(s.hE,e),get:e=>Math.round(100*(e+Number.EPSILON))/100},{name:s.hE,paths:l,applies:h(s.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:s.hE,paths:u,applies:h(s.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:s.VJ,paths:["source.tid"],applies:h(s.VJ,e)}].map(g)}const y=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.io;const t=f(b(e)),n=f(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.io;return[{name:s.hq,paths:["userId","userIdAsEids"],applies:h(s.hq,e)},{name:s.VJ,paths:["ortb2Imp.ext.tid"],applies:h(s.VJ,e)}].map(g)}(e));return function(e){const r={};return{ortb2:n=>(t(r,n,e),n),bidRequest:t=>(n(r,t,e),t)}}}();(0,o.qB)(s.VJ,"enableTIDs config",(()=>{if(!i.$W.getConfig("enableTIDs"))return{allow:!1,reason:"TIDs are disabled"}}))},95139:(e,t,n)=>{n.d(t,{io:()=>s,qB:()=>o});var r=n(91069),i=n(2604);const[o,s]=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(0,r.prefixLog)("Activity control:");const t={};function n(e){return t[e]=t[e]||[]}function o(t,n,r,o){let s;try{s=r(o)}catch(r){e.logError(`Exception in rule ${n} for '${t}'`,r),s={allow:!1,reason:r}}return s&&Object.assign({activity:t,name:n,component:o[i.Ii]},s)}const s={};function a(t){let{activity:n,name:r,allow:i,reason:o,component:a}=t;const d=`${r} ${i?"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),(i?e.logInfo:e.logWarn).apply(e,t)}}return[function(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;const o=n(e),s=o.findIndex((e=>{let[t]=e;return i<t})),a=[i,t,r];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 r,i;for(const[s,d,c]of n(e)){if(r!==s&&i)break;r=s;const n=o(e,d,c,t);if(n){if(!n.allow)return a(n),!1;i=n}}return i&&a(i),!0}]}()},29075:(e,t,n)=>{n.d(t,{$A:()=>w,BS:()=>P,Hh:()=>N,Pk:()=>q,Uc:()=>B,XO:()=>M,_0:()=>U,bw:()=>_,n6:()=>C,qn:()=>j,vB:()=>W,vW:()=>R,vd:()=>D});var r=n(91069),i=n(70433),o=n(75023),s=n(78969),a=n(43272),d=n(95789),c=n(71371),l=n(67314),u=n(46031),g=n(16833),f=n(12449),p=n(25555),m=n(11445),h=n(16894),b=n(97779);const{AD_RENDER_FAILED:y,AD_RENDER_SUCCEEDED:v,STALE_RENDER:E,BID_WON:A,EXPIRED_RENDER:I}=s.qY,{EXCEPTION:T}=s.as,w=(0,g.A_)("sync",(function(e){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:p.k.resolve()).then((t=>t??l.n.findBidByAdId(e))).catch((()=>{}))})),C=(0,g.A_)("sync",(function(e){o.emit(A,e),l.n.addWinningBid(e)}));function S(e){let{reason:t,message:n,bid:i,id:s}=e;const a={reason:t,message:n};i&&(a.bid=i,a.adId=i.adId),s&&(a.adId=s),(0,r.logError)(`Error rendering ad (id: ${s}): ${n}`),o.emit(y,a)}function O(e){let{doc:t,bid:n,id:r}=e;const i={doc:t};n&&(i.bid=n),r&&(i.adId=r),m.Ay.callAdRenderSucceededBidder(n.adapterCode||n.bidder,n),o.emit(v,i)}function B(e,t){switch(e.event){case s.qY.AD_RENDER_FAILED:S({bid:t,id:t.adId,reason:e.info.reason,message:e.info.message});break;case s.qY.AD_RENDER_SUCCEEDED:O({doc:null,bid:t,id:t.adId});break;default:(0,r.logError)(`Received event request for unsupported event: '${e.event}' (adId: '${t.adId}')`)}}function R(e,t,n){let{resizeFn:r,fireTrackers:i=f.vO}=n;if("resizeNativeHeight"===e.action)r(e.width,e.height);else i(e,t)}const k={[s.nl.EVENT]:B};k[s.nl.NATIVE]=R;const D=(0,g.A_)("sync",(function(e,t){const{ad:n,adUrl:i,cpm:o,originalCpm:s,width:a,height:d}=e,c={AUCTION_PRICE:s||o,CLICKTHROUGH:t?.clickUrl||""};return{ad:(0,r.replaceMacros)(n,c),adUrl:(0,r.replaceMacros)(i,c),width:a,height:d}})),U=(0,g.A_)("sync",(function(e){let{renderFn:t,resizeFn:n,bidResponse:i,options:o,doc:a,isMainDocument:d=a===document&&!(0,r.inIframe)()}=e;const l=i.mediaType===c.G_;if(d||l)return void S({reason:s.as.PREVENT_WRITING_ON_MAIN_DOCUMENT,message:l?"Cannot render video ad without a renderer":"renderAd was prevented from writing to the main document.",bid:i,id:i.adId});const u=D(i,o);t(Object.assign({adId:i.adId},u));const{width:g,height:f}=u;null!=(g??f)&&n(g,f)}));function _(e){let{renderFn:t,resizeFn:n,adId:d,options:c,bidResponse:l,doc:u}=e;N(l,(()=>{if(null!=l){if((l.status!==s.tl.RENDERED||((0,r.logWarn)(`Ad id ${d} has been rendered before`),o.emit(E,l),!(0,i.A)(a.$W.getConfig("auctionOptions"),"suppressStaleRender")))&&(b.uW.isBidNotExpired(l)||((0,r.logWarn)(`Ad id ${d} has been expired`),o.emit(I,l),!(0,i.A)(a.$W.getConfig("auctionOptions"),"suppressExpiredRender"))))try{U({renderFn:t,resizeFn:n,bidResponse:l,options:c,doc:u})}catch(e){S({reason:s.as.EXCEPTION,message:e.message,id:d,bid:l})}}else S({reason:s.as.CANNOT_FIND_AD,message:`Cannot find ad '${d}'`,id:d})}))}function j(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=s.tl.RENDERED}U.before((function(e,t){const{bidResponse:n,doc:r}=t;(0,d.J7)(n.renderer)?((0,d.Pg)(n.renderer,n,r),O({doc:r,bid:n,id:n.adId}),e.bail()):e(t)}),100);const $=new WeakMap,x=new WeakSet;function N(e,t){null!=e?($.set(e,t),e.deferRendering||W(e),q(e)):t()}function q(e){x.has(e)||(x.add(e),C(e))}function W(e){const t=$.get(e);t&&(t(),j(e),$.delete(e))}function P(e,t,n){let i;function o(e,n){S(Object.assign({id:t,bid:i},{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){k.hasOwnProperty(e)&&k[e](t,n,c)});var c;function l(t){t.ad?(e.write(t.ad),e.close(),O({doc:e,bid:i,id:i.adId})):(0,u.H)(i).then((n=>n(t,{sendMessage:(e,t)=>d(e,t,i),mkFrame:r.createIframe},e.defaultView))).then((()=>O({doc:e,bid:i,id:i.adId})),(e=>{o(e?.reason||s.as.EXCEPTION,e?.message),e?.stack&&(0,r.logError)(e)}));const n=document.createComment(`Creative ${i.creativeId} served by ${i.bidder} Prebid.js Header Bidding`);(0,r.insertElement)(n,e,"html")}try{t&&e?w(t).then((r=>{i=r,_({renderFn:l,resizeFn:a,adId:t,options:{clickUrl:n?.clickThrough},bidResponse:r,doc:e})})):o(s.as.MISSING_DOC_OR_ADID,"missing "+(t?"doc":"adId"))}catch(e){o(T,e.message)}}function M(){if(!window.frames[s.IY])if(document.body){const e=(0,r.createInvisibleIframe)();e.name=s.IY,document.body.appendChild(e)}else window.requestAnimationFrame(M)}},10201:(e,t,n)=>{n.d(t,{U:()=>s});var r=n(7873),i=n(91069);const o=(0,r.m)();function s(e,t){o.adServers=o.adServers||{},o.adServers[e]=o.adServers[e]||{},Object.keys(t).forEach((n=>{o.adServers[e][n]?(0,i.logWarn)(`Attempting to add an already registered function property ${n} for AdServer ${e}.`):o.adServers[e][n]=t[n]}))}},69759:(e,t,n)=>{function r(e){var t=e;return{callBids:function(){},setBidderCode:function(e){t=e},getBidderCode:function(){return t}}}n.d(t,{A:()=>r})},11445:(e,t,n)=>{n.d(t,{S1:()=>B,Ay:()=>z,tS:()=>q,pX:()=>P,Mf:()=>M,K5:()=>x,Gs:()=>W});var r=n(91069),i=n(70433),o=n(12449),s=n(57377),a=n(68044),d=n(43272),c=n(16833),l=n(15901);let u={};function g(e,t,n){let r=function(e,t){let n=u[e]=u[e]||{bidders:{}};return t?n.bidders[t]=n.bidders[t]||{}:n}(e,n);return r[t]=(r[t]||0)+1,r[t]}function f(e){return u?.[e]?.requestsCounter||0}function p(e,t){return u?.[e]?.bidders?.[t]?.requestsCounter||0}function m(e,t){return u?.[e]?.bidders?.[t]?.winsCounter||0}var h=n(27934),b=n(16916),y=n(75023),v=n(78969),E=n(16894),A=n(67314),I=n(45569),T=n(95139),w=n(76811),C=n(2604),S=n(96953);const O="pbsBidAdapter",B={CLIENT:"client",SERVER:"server"},R={isAllowed:T.io,redact:S.$p};let k={},D=k.bidderRegistry={},U=k.aliasRegistry={},_=[];d.$W.getConfig("s2sConfig",(e=>{e&&e.s2sConfig&&(_=(0,r.isArray)(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])}));var j={};const $=(0,C.ZI)((e=>k.resolveAlias(e)));function x(e){return $(I.tp,O,{[C.XG]:e.configName})}const N=(0,c.A_)("sync",(function(e){let{bidderCode:t,auctionId:n,bidderRequestId:o,adUnits:s,src:a,metrics:d}=e;return s.reduce(((e,s)=>{const c=s.bids.filter((e=>e.bidder===t));return null==t&&0===c.length&&null!=s.s2sBid&&c.push({bidder:null}),e.push(c.reduce(((e,c)=>{const l=null==(c=Object.assign({},c,{ortb2Imp:(0,r.mergeDeep)({},s.ortb2Imp,c.ortb2Imp)},(0,r.getDefinedParams)(s,["nativeParams","nativeOrtbRequest","mediaType","renderer"]))).mediaTypes?s.mediaTypes:c.mediaTypes;return(0,r.isValidMediaTypes)(l)?c=Object.assign({},c,{mediaTypes:l}):(0,r.logError)(`mediaTypes is not correctly configured for adunit ${s.code}`),"client"===a&&function(e,t){g(e,"requestsCounter",t)}(s.code,t),e.push(Object.assign({},c,{adUnitCode:s.code,transactionId:s.transactionId,adUnitId:s.adUnitId,sizes:(0,i.A)(l,"banner.sizes")||(0,i.A)(l,"video.playerSize")||[],bidId:c.bid_id||(0,r.getUniqueIdentifierStr)(),bidderRequestId:o,auctionId:n,src:a,metrics:d,bidRequestsCount:f(s.code),bidderRequestsCount:p(s.code,c.bidder),bidderWinsCount:m(s.code,c.bidder),deferBilling:!!s.deferBilling})),e}),[])),e}),[]).reduce(r.flatten,[]).filter((e=>""!==e))}),"getBids");const q=(0,c.A_)("sync",(function(e,t){let{getS2SBidders:n=P}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null==t)return e;{const r=n(t);return e.filter((e=>r.has(e.bidder)))}}),"filterBidsForAdUnit");const W=(0,c.A_)("sync",((e,t)=>e),"setupAdUnitMediaTypes");function P(e){(0,r.isArray)(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 M=(0,c.A_)("sync",(function(e,t){let{getS2SBidders:n=P}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n(t);return(0,r.getBidderCodes)(e).reduce(((e,t)=>(e[i.has(t)?B.SERVER:B.CLIENT].push(t),e)),{[B.CLIENT]:[],[B.SERVER]:[]})}),"partitionBidders");function G(e,t){const n=D[e],r=n?.getSpec&&n.getSpec();if(r&&r[t]&&"function"==typeof r[t])return[r,r[t]]}function F(e,t,n,i){try{(0,r.logInfo)(`Invoking ${e}.${t}`);for(var o=arguments.length,s=new Array(o>4?o-4:0),a=4;a<o;a++)s[a-4]=arguments[a];d.$W.runWithBidder(e,i.bind(n,...s))}catch(n){(0,r.logWarn)(`Error calling ${t} of ${e}`)}}function L(e,t,n){if(n?.source!==v.RW.SRC){const r=G(e,t);null!=r&&F(e,t,...r,n)}}k.makeBidRequests=(0,c.A_)("sync",(function(e,t,n,i,s){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},c=arguments.length>6?arguments[6]:void 0;c=(0,E.BO)(c),y.emit(v.qY.BEFORE_REQUEST_BIDS,e),(0,o.nk)(e),e.forEach((e=>{(0,r.isPlainObject)(e.mediaTypes)||(e.mediaTypes={}),e.bids=e.bids.filter((e=>!e.bidder||R.isAllowed(w.uc,$(I.tW,e.bidder)))),g(e.code,"requestsCounter")})),e=W(e,s);let{[B.CLIENT]:u,[B.SERVER]:f}=M(e,_);d.$W.getConfig("bidderSequence")===d.Ov&&(u=(0,r.shuffle)(u));const p=(0,h.EN)();let m=[];const A=a.global||{},T=a.bidder||{};function C(e,t){const i=R.redact(null!=t?t:$(I.tW,e.bidderCode)),o=Object.freeze(i.ortb2((0,r.mergeDeep)({source:{tid:n}},A,T[e.bidderCode])));return e.ortb2=o,e.bids=e.bids.map((e=>(e.ortb2=o,i.bidRequest(e)))),e}_.forEach((i=>{const o=x(i);if(i&&i.enabled&&R.isAllowed(w.uc,o)){let{adUnits:s,hasModuleBids:a}=function(e,t){let n=(0,r.deepClone)(e),i=!1;return n.forEach((e=>{const n=e.bids.filter((e=>e.module===O&&e.params?.configName===t.configName));1===n.length?(e.s2sBid=n[0],i=!0,e.ortb2Imp=(0,r.mergeDeep)({},e.s2sBid.ortb2Imp,e.ortb2Imp)):n.length>1&&(0,r.logWarn)('Multiple "module" bids for the same s2s configuration; all will be ignored',n),e.bids=q(e.bids,t).map((e=>(e.bid_id=(0,r.getUniqueIdentifierStr)(),e)))})),n=n.filter((e=>0!==e.bids.length||null!=e.s2sBid)),{adUnits:n,hasModuleBids:i}}(e,i),d=(0,r.generateUUID)();(0===f.length&&a?[null]:f).forEach((e=>{const a=(0,r.getUniqueIdentifierStr)(),l=c.fork(),u=C({bidderCode:e,auctionId:n,bidderRequestId:a,uniquePbsTid:d,bids:N({bidderCode:e,auctionId:n,bidderRequestId:a,adUnits:(0,r.deepClone)(s),src:v.RW.SRC,metrics:l}),auctionStart:t,timeout:i.timeout,src:v.RW.SRC,refererInfo:p,metrics:l},o);0!==u.bids.length&&m.push(u)})),s.forEach((e=>{let t=e.bids.filter((e=>(0,l.I6)(m,(t=>(0,l.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 S=function(e){let t=(0,r.deepClone)(e);return t.forEach((e=>{e.bids=q(e.bids,null)})),t=t.filter((e=>0!==e.bids.length)),t}(e);return u.forEach((e=>{const o=(0,r.getUniqueIdentifierStr)(),a=c.fork(),d=C({bidderCode:e,auctionId:n,bidderRequestId:o,bids:N({bidderCode:e,auctionId:n,bidderRequestId:o,adUnits:(0,r.deepClone)(S),labels:s,src:"client",metrics:a}),auctionStart:t,timeout:i,refererInfo:p,metrics:a}),l=D[e];l||(0,r.logError)(`Trying to make a request for bidder that does not exist: ${e}`),l&&d.bids&&0!==d.bids.length&&m.push(d)})),m.forEach((e=>{b.mW.getConsentData()&&(e.gdprConsent=b.mW.getConsentData()),b.t6.getConsentData()&&(e.uspConsent=b.t6.getConsentData()),b.ad.getConsentData()&&(e.gppConsent=b.ad.getConsentData())})),m}),"makeBidRequests"),k.callBids=function(e,t,n,i,o,s,c){let l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{};if(!t.length)return void(0,r.logWarn)("callBids executed with no bidRequests. Were they filtered by labels or sizing?");let[u,g]=t.reduce(((e,t)=>(e[Number(void 0!==t.src&&t.src===v.RW.SRC)].push(t),e)),[[],[]]);var f=[];g.forEach((e=>{for(var t=-1,n=0;n<f.length;++n)if(e.uniquePbsTid===f[n].uniquePbsTid){t=n;break}t<=-1&&f.push(e)}));let p=0;_.forEach((e=>{if(e&&f[p]&&P(e).has(f[p].bidderCode)){const t=(0,a.g4)(s,o?{request:o.request.bind(null,"s2s"),done:o.done}:void 0);let d=e.bidders;const u=D[e.adapter];let m=f[p].uniquePbsTid,h=f[p].adUnitsS2SCopy,b=g.filter((e=>e.uniquePbsTid===m));if(u){let o={ad_units:h,s2sConfig:e,ortb2Fragments:l,requestBidsTimeout:s};if(o.ad_units.length){let e=b.map((e=>(e.start=(0,r.timestamp)(),function(t){t||c(e.bidderRequestId),i.apply(e,arguments)})));const s=(0,r.getBidderCodes)(o.ad_units).filter((e=>d.includes(e)));(0,r.logMessage)(`CALLING S2S HEADER BIDDERS ==== ${s.length>0?s.join(", "):'No bidder specified, using "ortb2Imp" definition(s) only'}`),b.forEach((e=>{y.emit(v.qY.BID_REQUESTED,{...e,tid:e.auctionId})})),u.callBids(o,g,n,(t=>e.forEach((e=>e(t)))),t)}}else(0,r.logError)("missing "+e.adapter);p++}})),u.forEach((e=>{e.start=(0,r.timestamp)();const t=D[e.bidderCode];d.$W.runWithBidder(e.bidderCode,(()=>{(0,r.logMessage)("CALLING BIDDER"),y.emit(v.qY.BID_REQUESTED,e)}));let l=(0,a.g4)(s,o?{request:o.request.bind(null,e.bidderCode),done:o.done}:void 0);const u=i.bind(e);try{d.$W.runWithBidder(e.bidderCode,t.callBids.bind(t,e,n,u,l,(()=>c(e.bidderRequestId)),d.$W.callbackWithBidder(e.bidderCode)))}catch(t){(0,r.logError)(`${e.bidderCode} Bid Adapter emitted an uncaught error when parsing their bidRequest`,{e:t,bidRequest:e}),u()}}))},k.videoAdapters=[],k.registerBidAdapter=function(e,t){let{supportedMediaTypes:n=[]}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e&&t?"function"==typeof e.callBids?(D[t]=e,b.o2.register(I.tW,t,e.getSpec?.().gvlid),(0,l.mK)(n,"video")&&k.videoAdapters.push(t),(0,l.mK)(n,"native")&&o.mT.push(t)):(0,r.logError)("Bidder adaptor error for bidder code: "+t+"bidder must implement a callBids() function"):(0,r.logError)("bidAdapter or bidderCode not specified")},k.aliasBidAdapter=function(e,t,n){if(void 0===D[t]){let i=D[e];if(void 0===i){const n=[];_.forEach((r=>{if(r.bidders&&r.bidders.length){const i=r&&r.bidders;r&&(0,l.mK)(i,t)?U[t]=e:n.push(e)}})),n.forEach((e=>{(0,r.logError)('bidderCode "'+e+'" is not an existing bidder.',"adapterManager.aliasBidAdapter")}))}else try{let a,d=function(e){let t=[];return(0,l.mK)(k.videoAdapters,e)&&t.push("video"),(0,l.mK)(o.mT,e)&&t.push("native"),t}(e);if(i.constructor.prototype!=Object.prototype)a=new i.constructor,a.setBidderCode(t);else{const{useBaseGvlid:o=!1}=n||{};let d=i.getSpec();const c=o?d.gvlid:n?.gvlid;null==c&&null!=d.gvlid&&(0,r.logWarn)(`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 l=n&&n.skipPbsAliasing;a=(0,s.xb)(Object.assign({},d,{code:t,gvlid:c,skipPbsAliasing:l})),U[t]=e}k.registerBidAdapter(a,t,{supportedMediaTypes:d})}catch(t){(0,r.logError)(e+" bidder does not currently support aliasing.","adapterManager.aliasBidAdapter")}}else(0,r.logMessage)('alias name "'+t+'" has been already specified.')},k.resolveAlias=function(e){let t,n=e;for(;U[n]&&(!t||!t.has(n));)n=U[n],(t=t||new Set).add(n);return n},k.registerAnalyticsAdapter=function(e){let{adapter:t,code:n,gvlid:i}=e;t&&n?"function"==typeof t.enableAnalytics?(t.code=n,j[n]={adapter:t,gvlid:i},b.o2.register(I.Tn,n,i)):(0,r.logError)(`Prebid Error: Analytics adaptor error for analytics "${n}"\n analytics adapter must implement an enableAnalytics() function`):(0,r.logError)("Prebid Error: analyticsAdapter or analyticsCode not specified")},k.enableAnalytics=function(e){(0,r.isArray)(e)||(e=[e]),e.forEach((e=>{const t=j[e.provider];t&&t.adapter?R.isAllowed(w.mo,$(I.Tn,e.provider,{[C.TQ]:e}))&&t.adapter.enableAnalytics(e):(0,r.logError)(`Prebid Error: no analytics adapter found in registry for '${e.provider}'.`)}))},k.getBidAdapter=function(e){return D[e]},k.getAnalyticsAdapter=function(e){return j[e]},k.callTimedOutBidders=function(e,t,n){t=t.map((t=>(t.params=(0,r.getUserConfiguredParams)(e,t.adUnitCode,t.bidder),t.timeout=n,t))),t=(0,r.groupBy)(t,"bidder"),Object.keys(t).forEach((e=>{L(e,"onTimeout",t[e])}))},k.callBidWonBidder=function(e,t,n){var i,o;t.params=(0,r.getUserConfiguredParams)(n,t.adUnitCode,t.bidder),i=t.adUnitCode,o=t.bidder,g(i,"winsCounter",o),L(e,"onBidWon",t)},k.triggerBilling=(()=>{const e=new WeakSet;return t=>{e.has(t)||(e.add(t),t.source===v.RW.SRC&&t.burl&&r.internal.triggerPixel(t.burl),L(t.bidder,"onBidBillable",t))}})(),k.callSetTargetingBidder=function(e,t){L(e,"onSetTargeting",t)},k.callBidViewableBidder=function(e,t){L(e,"onBidViewable",t)},k.callBidderError=function(e,t,n){L(e,"onBidderError",{error:t,bidderRequest:n})},k.callAdRenderSucceededBidder=function(e,t){L(e,"onAdRenderSucceeded",t)},k.callDataDeletionRequest=(0,c.A_)("sync",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];const i="onDataDeletionRequest";Object.keys(D).filter((e=>!U.hasOwnProperty(e))).forEach((e=>{const n=G(e,i);if(null!=n){const r=A.n.getBidsRequested().filter((t=>function(e){const t=new Set;for(;U.hasOwnProperty(e)&&!t.has(e);)t.add(e),e=U[e];return e}(t.bidderCode)===e));F(e,i,...n,r,...t)}})),Object.entries(j).forEach((e=>{let[n,o]=e;const s=o?.adapter?.[i];if("function"==typeof s)try{s.apply(o.adapter,t)}catch(e){(0,r.logError)(`error calling ${i} of ${n}`,e)}}))}));const z=k},57377:(e,t,n)=>{n.d(t,{JN:()=>k,JS:()=>U,a$:()=>w,eI:()=>C,fn:()=>D,xb:()=>S});var r=n(69759),i=n(11445),o=n(43272),s=n(93597),a=n(38230),d=n(12449),c=n(63895),l=n(78969),u=n(75023),g=n(15901),f=n(91069),p=n(16833),m=n(67314),h=n(12693),b=n(16894),y=n(95139),v=n(83441),E=n(45569),A=n(76811);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=S(e);i.Ay.registerBidAdapter(n,e.code,t)}n(e),Array.isArray(e.aliases)&&e.aliases.forEach((t=>{let r,o,s=t;(0,f.isPlainObject)(t)&&(s=t.code,r=t.gvlid,o=t.skipPbsAliasing),i.Ay.aliasRegistry[s]=e.code,n(Object.assign({},e,{code:s,gvlid:r,skipPbsAliasing:o}))}))}const C=(0,f.memoize)((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 r(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[r,i]=t;return n[r]=i.bind(e)})),n}const i=(0,f.memoize)((e=>r(e,{get:n})),(e=>e.bidId));return{bidRequest:i,bidderRequest:e=>r(e,{get:(t,r,o)=>"bids"===r?e.bids.map(i):n(t,r,o)})}}));function S(e){return Object.assign(new r.A(e.code),{getSpec:function(){return Object.freeze(Object.assign({},e))},registerSyncs:t,callBids:function(n,r,a,d,c,g){if(!Array.isArray(n.bids))return;const p=C(n),m={};const y=[];function v(){a(),o.$W.runWithBidder(e.code,(()=>{u.emit(l.qY.BIDDER_DONE,n),t(y,n.gdprConsent,n.uspConsent,n.gppConsent)}))}const E=U(n).measureTime("validate",(()=>n.bids.filter((t=>function(t){if(!e.isBidRequestValid(t))return(0,f.logWarn)(`Invalid bid sent to bidder ${e.code}: ${JSON.stringify(t)}`),!1;return!0}(p.bidRequest(t))))));if(0===E.length)return void v();const A={};E.forEach((e=>{A[e.bidId]=e,e.adUnitCode||(e.adUnitCode=e.placementCode)})),B(e,E,n,d,g,{onRequest:e=>u.emit(l.qY.BEFORE_BIDDER_HTTP,n,e),onResponse:t=>{c(e.code),y.push(t)},onPaapi:e=>{const t=A[e.bidId];t?k(t,e):(0,f.logWarn)("Received fledge auction configuration for an unknown bidId",e)},onError:(t,r)=>{r.timedOut||c(e.code),i.Ay.callBidderError(e.code,r,n),u.emit(l.qY.BIDDER_ERROR,{error:r,bidderRequest:n}),(0,f.logError)(`Server call for ${e.code} failed: ${t} ${r.status}. Continuing without bids.`)},onBid:t=>{const n=A[t.requestId];if(n){if(t.adapterCode=n.bidder,function(e,t){let n=h.u.get(t,"allowAlternateBidderCodes")||!1,r=h.u.get(t,"allowedAlternateBidderCodes");if(e&&t&&t!==e&&(r=(0,f.isArray)(r)?r.map((e=>e.trim().toLowerCase())).filter((e=>!!e)).filter(f.uniques):r,!n||(0,f.isArray)(r)&&"*"!==r[0]&&!r.includes(e)))return!0;return!1}(t.bidderCode,n.bidder))return(0,f.logWarn)(`${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 r.reject(n.adUnitCode,t,l.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 i=Object.assign((0,s.O)(l.XQ.GOOD,n),t,(0,f.pick)(n,T));!function(e,t){const n=(0,b.BO)(t.metrics);n.checkpoint("addBidResponse"),m[e]=!0,n.measureTime("addBidResponse.validate",(()=>D(e,t)))?r(e,t):r.reject(e,t,l.Tf.INVALID)}(n.adUnitCode,i)}else(0,f.logWarn)(`Bidder ${e.code} made bid for unknown request ID: ${t.requestId}. Ignoring.`),r.reject(null,t,l.Tf.INVALID_REQUEST_ID)},onCompletion:v})}});function t(t,n,r,i){R(e,t,n,r,i)}}const O=["bids","paapi"],B=(0,p.A_)("sync",(function(e,t,n,r,i,o){let{onRequest:s,onResponse:a,onPaapi:d,onError:c,onBid:l,onCompletion:u}=o;const g=U(n);u=g.startTiming("total").stopBefore(u);const p=C(n);let m=g.measureTime("buildRequests",(()=>e.buildRequests(t.map(p.bidRequest),p.bidderRequest(n))));if(!m||0===m.length)return void u();Array.isArray(m)||(m=[m]);const b=(0,f.delayExecution)(u,m.length);m.forEach((t=>{const n=g.fork();function o(e){null!=e&&(e.metrics=n.fork().renameWith()),l(e)}const u=i((function(r,i){m();try{r=JSON.parse(r)}catch(e){}r={body:r,headers:{get:i.getResponseHeader.bind(i)}},a(r);try{r=n.measureTime("interpretResponse",(()=>e.interpretResponse(r,t)))}catch(t){return(0,f.logError)(`Bidder ${e.code} failed to interpret the server's response. Continuing without bids`,null,t),void b()}let s,c;r&&!Object.keys(r).some((e=>!O.includes(e)))?(s=r.bids,c=r.paapi):s=r,(0,f.isArray)(c)&&c.forEach(d),s&&((0,f.isArray)(s)?s.forEach(o):o(s)),b()})),p=i((function(e,t){m(),c(e,t),b()}));s(t);const m=n.startTiming("net");function I(n){const r=t.options;return Object.assign(n,r,{browsingTopics:!(r?.hasOwnProperty("browsingTopics")&&!r.browsingTopics)&&((h.u.get(e.code,"topicsHeader")??!0)&&(0,y.io)(A.DL,(0,v.s)(E.tW,e.code)))})}switch(t.method){case"GET":r(`${t.url}${function(e){if(e)return`?${"object"==typeof e?(0,f.parseQueryStringParameters)(e):e}`;return""}(t.data)}`,{success:u,error:p},void 0,I({method:"GET",withCredentials:!0}));break;case"POST":r(t.url,{success:u,error:p},"string"==typeof t.data?t.data:JSON.stringify(t.data),I({method:"POST",contentType:"text/plain",withCredentials:!0}));break;default:(0,f.logWarn)(`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,r,s){const d=o.$W.getConfig("userSync.aliasSyncEnabled");if(e.getUserSyncs&&(d||!i.Ay.aliasRegistry[e.code])){let i=o.$W.getConfig("userSync.filterSettings"),d=e.getUserSyncs({iframeEnabled:!(!i||!i.iframe&&!i.all),pixelEnabled:!(!i||!i.image&&!i.all)},t,n,r,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"),k=(0,p.A_)("sync",((e,t)=>{}),"addPaapiConfig");function D(e,t){let{index:n=m.n.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function r(e){return`Invalid bid from ${t.bidderCode}. Ignoring bid: ${e}`}return e?t?function(){let e=Object.keys(t);return I.every((n=>(0,g.mK)(e,n)&&!(0,g.mK)([void 0,null],t[n])))}()?"native"!==t.mediaType||(0,d.Bm)(t,{index:n})?"video"!==t.mediaType||(0,c.vk)(t,{index:n})?!("banner"===t.mediaType&&!function(e,t){let{index:n=m.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 r=n.getBidRequest(t),i=n.getMediaTypes(t),o=r&&r.sizes||i&&i.banner&&i.banner.sizes,s=(0,f.parseSizesInput)(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}))||((0,f.logError)(r("Banner bids require a width and height")),!1):((0,f.logError)(r("Video bid does not have required vastUrl or renderer property")),!1):((0,f.logError)(r("Native bid missing some required properties.")),!1):((0,f.logError)(r(`Bidder ${t.bidderCode} is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params.`)),!1):((0,f.logWarn)(`Some adapter tried to add an undefined bid for ${e}.`),!1):((0,f.logWarn)("No adUnitCode was supplied to addBidResponse."),!1)}function U(e){return(0,b.BO)(e.metrics).renameWith((t=>[`adapter.client.${t}`,`adapters.client.${e.bidderCode}.${t}`]))}},41580:(e,t,n)=>{n.d(t,{R:()=>l});var r=n(76811),i=n(83441),o=n(95139),s=n(15901),a=n(91069);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 l(e,t,n,l,u,g){if(!(0,o.io)(r.pY,(0,i.s)(t,n)))return;if(!n||!e)return void(0,a.logError)("cannot load external script without url and moduleCode");if(!(0,s.mK)(c,n))return void(0,a.logError)(`${n} not whitelisted for loading external JavaScript`);u||(u=document);const f=h(u,e);if(f)return l&&"function"==typeof l&&(f.loaded?l():f.callbacks.push(l)),f.tag;const p=d.get(u)||{},m={loaded:!1,tag:null,callbacks:[]};return p[e]=m,d.set(u,p),l&&"function"==typeof l&&m.callbacks.push(l),(0,a.logWarn)(`module ${n} is loading external JavaScript`),function(t,n,r,i){r||(r=document);var o=r.createElement("script");o.type="text/javascript",o.async=!0;const s=h(r,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,i&&(0,a.setScriptAttributes)(o,i);return(0,a.insertElement)(o,r),o}(e,(function(){m.loaded=!0;try{for(let e=0;e<m.callbacks.length;e++)m.callbacks[e]()}catch(e){(0,a.logError)("Error executing callback","adloader.js:loadExternalScript",e)}}),u,g);function h(e,t){const n=d.get(e);return n&&n[t]?n[t]:null}}},51692:(e,t,n)=>{n.d(t,{Q:()=>r});const r=(0,n(16833).A_)("sync",(()=>{}))},68044:(e,t,n)=>{n.d(t,{RD:()=>f,Rz:()=>g,g4:()=>u,hd:()=>p});var r=n(43272),i=n(91069);const o={fetch:window.fetch.bind(window),makeRequest:(e,t)=>new Request(e,t),timeout(e,t){const n=new AbortController;let r=setTimeout((()=>{n.abort(),(0,i.logError)(`Request timeout after ${e}ms`,t),r=null}),e);return{signal:n.signal,done(){r&&clearTimeout(r)}}}},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]:{},i=(t,n)=>{let i;null==e||null!=n?.signal||r.$W.getConfig("disableAjaxTimeout")||(i=o.timeout(e,t),n=Object.assign({signal:i.signal},n));let s=o.fetch(t,n);return null!=i?.done&&(s=s.finally(i.done)),s};return null==t&&null==n||(i=(e=>function(r,i){const o=new URL(null==r?.url?r:r.url,document.location).origin;let s=e(r,i);return t&&t(o),n&&(s=s.finally((()=>n(o)))),s})(i)),i}function l(e,t){let{status:n,statusText:r="",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:r,responseText:t,response:t,responseType:"",responseURL:s,get responseXML(){return c(i.logError)},getResponseHeader:e=>o?.has(e)?o.get(e):null,toJSON(){return Object.assign({responseXML:c()},this)},timedOut:!1}}function u(){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 r=c(e,{request:t,done:n});return function(e,t,n){!function(e,t){const{success:n,error:r}="object"==typeof t&&null!=t?t:{success:"function"==typeof t?t:()=>null,error:(e,t)=>(0,i.logError)("Network error",e,t)};e.then((e=>e.text().then((t=>[e,t])))).then((e=>{let[t,i]=e;const o=l(t,i);t.ok||304===t.status?n(i,o):r(t.statusText,o)}),(e=>r("",Object.assign(l({status:0},""),{reason:e,timedOut:"AbortError"===e?.name}))))}(r(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n.method||(t?a:s);if(r===s&&t){const r=(0,i.parseUrl)(e,n);Object.assign(r.search,t),e=(0,i.buildUrl)(r)}const c=new Headers(n.customHeaders);c.set(d,n.contentType||"text/plain");const l={method:r,headers:c};return r!==s&&t&&(l.body=t),n.withCredentials&&(l.credentials="include"),n.browsingTopics&&isSecureContext&&(l.browsingTopics=!0),n.keepalive&&(l.keepalive=!0),o.makeRequest(e,l)}(e,n,arguments.length>3&&void 0!==arguments[3]?arguments[3]:{})),t)}}function g(e,t){return!(!window.navigator||!window.navigator.sendBeacon)&&window.navigator.sendBeacon(e,t)}const f=u(),p=c()},81657:(e,t,n)=>{n.d(t,{AA:()=>S,HN:()=>K,UZ:()=>O,ZV:()=>G,mO:()=>M,mX:()=>_,sR:()=>j,v8:()=>q,w1:()=>x});var r=n(91069),i=n(70433),o=n(86833),s=n(12449),a=n(68693),d=n(95789),c=n(43272),l=n(38230),u=n(16833),g=n(15901),f=n(63895),p=n(71371),m=n(67314),h=n(12693),b=n(75023),y=n(11445),v=n(78969),E=n(25555),A=n(16894),I=n(57176),T=n(7873);const{syncUsers:w}=l.zt,C="started",S="inProgress",O="completed";b.on(v.qY.BID_ADJUSTMENT,(function(e){!function(e){let t=(0,I.y)(e.cpm,e);t>=0&&(e.cpm=t)}(e)}));const B=4,R={},k={},D=[],U=(0,T.m)();function _(e){let{adUnits:t,adUnitCodes:n,callback:a,cbTimeout:l,labels:u,auctionId:h,ortb2Fragments:I,metrics:T}=e;T=(0,A.BO)(T);const _=t,M=u,G=n,F=h||(0,r.generateUUID)(),L=l,z=new Set,H=(0,E.v)(),V=(0,E.v)();let K,J,X,Q,Z=[],ee=a,te=[],ne=[],re=[],ie=[],oe=[];function se(){return{auctionId:F,timestamp:K,auctionEnd:J,auctionStatus:Q,adUnits:_,adUnitCodes:G,labels:M,bidderRequests:te,noBids:re,bidsReceived:ne,bidsRejected:Z,winningBids:ie,timeout:L,metrics:T,seatNonBids:oe}}function ae(e){if(e?b.emit(v.qY.AUCTION_TIMEOUT,se()):clearTimeout(X),void 0===J){let n=[];e&&((0,r.logMessage)(`Auction ${F} timedOut`),n=te.filter((e=>!z.has(e.bidderRequestId))).flatMap((e=>e.bids)),n.length&&b.emit(v.qY.BID_TIMEOUT,n)),Q=O,J=Date.now(),T.checkpoint("auctionEnd"),T.timeBetween("requestBids","auctionEnd","requestBids.total"),T.timeBetween("callBids","auctionEnd","requestBids.callBids"),H.resolve(),b.emit(v.qY.AUCTION_END,se()),N(_,(function(){try{if(null!=ee){const t=ne.filter((e=>G.includes(e.adUnitCode))).reduce(Y,{});ee.apply(U,[t,e,F]),ee=null}}catch(e){(0,r.logError)("Error executing bidsBackHandler",null,e)}finally{n.length&&y.Ay.callTimedOutBidders(t,n,L);let e=c.$W.getConfig("userSync")||{};e.enableOverride||w(e.syncDelay)}}))}}function de(){c.$W.resetBidder(),(0,r.logInfo)(`Bids Received for Auction with id: ${F}`,ne),Q=O,ae(!1)}function ce(e){z.add(e)}function le(e){e.forEach((e=>{var t;t=e,te=te.concat(t)}));let t={},n={bidRequests:e,run:()=>{X=setTimeout((()=>ae(!0)),L),Q=S,b.emit(v.qY.AUCTION_INIT,se());let n=function(e,t){let{index:n=m.n.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=0,l=!1,u=new Set,h={};function y(){a--,l&&0===a&&e()}function A(e,t,n){return h[t.requestId]=!0,function(e,t){let{index:n=m.n.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n.getBidderRequest(e),o=n.getAdUnit(e),s=i&&i.start||e.requestTimestamp;Object.assign(e,{responseTimestamp:e.responseTimestamp||(0,r.timestamp)(),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),a++,n(y)}function I(e,a){A(e,a,(e=>{let l=function(e){let{index:t=m.n.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b.emit(v.qY.BID_ADJUSTMENT,e);const n=t.getBidRequest(e)?.renderer||t.getAdUnit(e).renderer,r=e.mediaType,i=t.getMediaTypes(e),s=i&&i[r];var a=s&&s.renderer,l=null;!a||!a.render||!0===a.backupOnly&&e.renderer?!n||!n.render||!0===n.backupOnly&&e.renderer||(l=n):l=a;l&&(e.renderer=d.A4.install({url:l.url,config:l.options,renderNow:null==l.url}),e.renderer.setRender(l.render));const u=P(e.mediaType,i,c.$W.getConfig("mediaTypePriceGranularity")),g=(0,o.j)(e.cpm,"object"==typeof u?u:c.$W.getConfig("customPriceBucket"),c.$W.getConfig("currency.granularityMultiplier"));return e.pbLg=g.low,e.pbMg=g.med,e.pbHg=g.high,e.pbAg=g.auto,e.pbDg=g.dense,e.pbCg=g.custom,e}(a);b.emit(v.qY.BID_ACCEPTED,l),l.mediaType===p.G_?function(e,t,n){let{index:o=m.n.index}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=!0;const a=(0,i.A)(o.getMediaTypes({requestId:t.originalRequestId||t.requestId,adUnitId:t.adUnitId}),"video"),d=a&&(0,i.A)(a,"context"),l=a&&(0,i.A)(a,"useCacheKey");c.$W.getConfig("cache.url")&&(l||d!==f.H6)&&(!t.videoCacheKey||c.$W.getConfig("cache.ignoreBidderCacheKey")?(s=!1,W(e,t,n,a)):t.vastUrl||((0,r.logError)("videoCacheKey specified but not required vastUrl for video bid"),s=!1));s&&(q(e,t),n())}(t,l,e):((0,s.l6)(l)&&(0,s.gs)(l,n.getAdUnit(l)),q(t,l),e())}))}function T(e,n,i){return A(e,n,(e=>{n.rejectionReason=i,(0,r.logWarn)(`Bid from ${n.bidder||"unknown bidder"} was rejected: ${i}`,n),b.emit(v.qY.BID_REJECTED,n),t.addBidRejected(n),e()}))}function w(){let n=this,i=t.getBidRequests();const o=c.$W.getConfig("auctionOptions");if(u.add(n),o&&!(0,r.isEmpty)(o)){const e=o.secondaryBidders;e&&!i.every((t=>(0,g.mK)(e,t.bidderCode)))&&(i=i.filter((t=>!(0,g.mK)(e,t.bidderCode))))}l=i.every((e=>u.has(e))),n.bids.forEach((e=>{h[e.bidId]||(t.addNoBid(e),b.emit(v.qY.NO_BID,e))})),l&&0===a&&e()}return{addBidResponse:function(){function e(e,t){j.call({dispatch:I},e,t,(()=>{let n=!1;return r=>{n||(T(e,t,r),n=!0)}})())}return e.reject=T,e}(),adapterDone:function(){$(E.k.resolve()).finally((()=>w.call(this)))}}}(de,this);y.Ay.callBids(_,e,n.addBidResponse,n.adapterDone,{request(e,n){l(R,n),l(t,e),k[e]||(k[e]={SRA:!0,origin:n}),t[e]>1&&(k[e].SRA=!1)},done(e){R[e]--,D[0]&&a(D[0])&&D.shift()}},L,ce,I),V.resolve()}};function a(e){let t=!0,n=c.$W.getConfig("maxRequestsPerOrigin")||B;return e.bidRequests.some((e=>{let r=1,i=void 0!==e.src&&e.src===v.RW.SRC?"s2s":e.bidderCode;return k[i]&&(!1===k[i].SRA&&(r=Math.min(e.bids.length,n)),R[k[i].origin]+r>n&&(t=!1)),!t})),t&&e.run(),t}function l(e,t){void 0===e[t]?e[t]=1:e[t]++}a(n)||((0,r.logWarn)("queueing auction due to limited endpoint capacity"),D.push(n))}return b.on(v.qY.SEAT_NON_BID,(e=>{var t;e.auctionId===F&&(t=e.seatnonbid,oe=oe.concat(t))})),{addBidReceived:function(e){ne=ne.concat(e)},addBidRejected:function(e){Z=Z.concat(e)},addNoBid:function(e){re=re.concat(e)},callBids:function(){Q=C,K=Date.now();let e=T.measureTime("requestBids.makeRequests",(()=>y.Ay.makeBidRequests(_,K,F,L,M,I,T)));(0,r.logInfo)(`Bids Requested for Auction with id: ${F}`,e),T.checkpoint("callBids"),e.length<1?((0,r.logWarn)("No valid bid requests returned for auction"),de()):x.call({dispatch:le,context:this},e)},addWinningBid:function(e){ie=ie.concat(e),y.Ay.callBidWonBidder(e.adapterCode||e.bidder,e,t),e.deferBilling||y.Ay.triggerBilling(e)},setBidTargeting:function(e){y.Ay.callSetTargetingBidder(e.adapterCode||e.bidder,e)},getWinningBids:()=>ie,getAuctionStart:()=>K,getAuctionEnd:()=>J,getTimeout:()=>L,getAuctionId:()=>F,getAuctionStatus:()=>Q,getAdUnits:()=>_,getAdUnitCodes:()=>G,getBidRequests:()=>te,getBidsReceived:()=>ne,getNoBids:()=>re,getNonBids:()=>oe,getFPD:()=>I,getMetrics:()=>T,end:H.promise,requestsDone:V.promise}}const j=(0,u.A_)("sync",(function(e,t,n){!function(e){const t=c.$W.getConfig("maxBid");return!t||!e.cpm||t>=Number(e.cpm)}(t)?n(v.Tf.PRICE_TOO_HIGH):this.dispatch.call(null,e,t)}),"addBidResponse"),$=(0,u.A_)("sync",(e=>e),"responsesReady"),x=(0,u.A_)("sync",(function(e){this.dispatch.call(this.context,e)}),"addBidderRequests"),N=(0,u.A_)("async",(function(e,t){t&&t()}),"bidsBackCallback");function q(e,t){!function(e){let t;const n=!0===h.u.get(e.bidderCode,"allowZeroCpmBids")?e.cpm>=0:e.cpm>0;e.bidderCode&&(n||e.dealId)&&(t=function(e,t){let{index:n=m.n.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return{};const r=n.getBidRequest(t);var i={};const o=K(t.mediaType,e);J(i,o,t,r),e&&h.u.getOwn(e,v.iD.ADSERVER_TARGETING)&&(J(i,h.u.ownSettingsFor(e),t,r),t.sendStandardTargeting=h.u.get(e,"sendStandardTargeting"));t.native&&(i=Object.assign({},i,(0,s.Zj)(t)));return i}(e.bidderCode,e));e.adserverTargeting=Object.assign(e.adserverTargeting||{},t)}(t),(0,A.BO)(t.metrics).timeSince("addBidResponse","addBidResponse.total"),e.addBidReceived(t),b.emit(v.qY.BID_RESPONSE,t)}const W=(0,u.A_)("async",(function(e,t,n,r){(0,a.X5)(e,t,n)}),"callPrebidCache");function P(e,t,n){if(e&&n){if(e===p.G_){const e=(0,i.A)(t,`${p.G_}.context`,"instream");if(n[`${p.G_}-${e}`])return n[`${p.G_}-${e}`]}return n[e]}}const M=function(e){let{index:t=m.n.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=P(e.mediaType,t.getMediaTypes(e),c.$W.getConfig("mediaTypePriceGranularity"));return"string"==typeof e.mediaType&&n?"string"==typeof n?n:"custom":c.$W.getConfig("priceGranularity")},G=e=>t=>{const n=e||M(t);return n===v.UE.AUTO?t.pbAg:n===v.UE.DENSE?t.pbDg:n===v.UE.LOW?t.pbLg:n===v.UE.MEDIUM?t.pbMg:n===v.UE.HIGH?t.pbHg:n===v.UE.CUSTOM?t.pbCg:void 0},F=()=>e=>e.creativeId?e.creativeId:"",L=()=>e=>e.meta&&e.meta.advertiserDomains&&e.meta.advertiserDomains.length>0?[e.meta.advertiserDomains].flat()[0]:"",z=()=>e=>e.meta&&(e.meta.networkId||e.meta.networkName)?(0,i.A)(e,"meta.networkName")||(0,i.A)(e,"meta.networkId"):"",H=()=>e=>e.meta&&e.meta.primaryCatId?e.meta.primaryCatId:"";function V(e,t){return{key:e,val:"function"==typeof t?function(e,n){return t(e,n)}:function(e){return(0,r.getValue)(e,t)}}}function K(e,t){const n=Object.assign({},h.u.settingsFor(null));if(n[v.iD.ADSERVER_TARGETING]||(n[v.iD.ADSERVER_TARGETING]=[V(v.xS.BIDDER,"bidderCode"),V(v.xS.AD_ID,"adId"),V(v.xS.PRICE_BUCKET,G()),V(v.xS.SIZE,"size"),V(v.xS.DEAL,"dealId"),V(v.xS.SOURCE,"source"),V(v.xS.FORMAT,"mediaType"),V(v.xS.ADOMAIN,L()),V(v.xS.ACAT,H()),V(v.xS.DSP,z()),V(v.xS.CRID,F())]),"video"===e){const e=n[v.iD.ADSERVER_TARGETING].slice();if(n[v.iD.ADSERVER_TARGETING]=e,[v.xS.UUID,v.xS.CACHE_ID].forEach((t=>{void 0===(0,g.I6)(e,(e=>e.key===t))&&e.push(V(t,"videoCacheKey"))})),c.$W.getConfig("cache.url")&&(!t||!1!==h.u.get(t,"sendStandardTargeting"))){const t=(0,r.parseUrl)(c.$W.getConfig("cache.url"));void 0===(0,g.I6)(e,(e=>e.key===v.xS.CACHE_HOST))&&e.push(V(v.xS.CACHE_HOST,(function(e){return(0,i.A)(e,`adserverTargeting.${v.xS.CACHE_HOST}`)?e.adserverTargeting[v.xS.CACHE_HOST]:t.hostname})))}}return n}function J(e,t,n,i){var o=t[v.iD.ADSERVER_TARGETING];return n.size=n.getSize(),(o||[]).forEach((function(o){var s=o.key,a=o.val;if(e[s]&&(0,r.logWarn)("The key: "+s+" is being overwritten"),(0,r.isFn)(a))try{a=a(n,i)}catch(e){(0,r.logError)("bidmanager","ERROR",e)}(void 0===t.suppressEmptyKeys||!0!==t.suppressEmptyKeys)&&s!==v.xS.DEAL&&s!==v.xS.ACAT&&s!==v.xS.DSP&&s!==v.xS.CRID||!(0,r.isEmptyStr)(a)&&null!=a?e[s]=a:(0,r.logInfo)("suppressing empty key '"+s+"' from adserver targeting")})),e}function Y(e,t){return e[t.adUnitCode]||(e[t.adUnitCode]={bids:[]}),e[t.adUnitCode].bids.push(t),e}},67314:(e,t,n)=>{n.d(t,{n:()=>g});var r=n(91069),i=n(81657);function o(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:r}=t;if(null!=n||null!=r){let t=e().flatMap((e=>e.getBidRequests()));return null!=r&&(t=t.filter((e=>e.bidderRequestId===r))),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}})}var s=n(78969),a=n(16894),d=n(76853),c=n(27863),l=n(43272);const u="minBidCacheTTL";const g=function(){let e=null;const t=(0,d.H)({startTime:e=>e.end.then((()=>e.getAuctionEnd())),ttl:t=>null==e?null:t.end.then((()=>1e3*Math.max(e,...t.getBidsReceived().map(c.L))))});(0,c.u)((()=>{null!=e&&t.refresh()})),l.$W.getConfig(u,(n=>{const r=e;e=n?.[u],e="number"==typeof e?e:null,r!==e&&t.refresh()}));const n={onExpiry:t.onExpiry};function g(e){for(const n of t)if(n.getAuctionId()===e)return n}function f(){return t.toArray().flatMap((e=>e.getBidsReceived()))}return n.addWinningBid=function(e){const t=(0,a.BO)(e.metrics);t.checkpoint("bidWon"),t.timeBetween("auctionEnd","bidWon","adserver.pending"),t.timeBetween("requestBids","bidWon","adserver.e2e");const n=g(e.auctionId);n?n.addWinningBid(e):(0,r.logWarn)("Auction not found when adding winning bid")},Object.entries({getAllWinningBids:{name:"getWinningBids"},getBidsRequested:{name:"getBidRequests"},getNoBids:{},getAdUnits:{},getBidsReceived:{pre:e=>e.getAuctionStatus()===i.UZ},getAdUnitCodes:{post:r.uniques}}).forEach((e=>{let[r,{name:i=r,pre:o,post:s}]=e;const a=null==o?e=>e[i]():e=>o(e)?e[i]():[],d=null==s?e=>e:e=>e.filter(s);n[r]=()=>d(t.toArray().flatMap(a))})),n.getAllBidsForAdUnitCode=function(e){return f().filter((t=>t&&t.adUnitCode===e))},n.createAuction=function(e){const n=(0,i.mX)(e);return function(e){t.add(e)}(n),n},n.findBidByAdId=function(e){return f().find((t=>t.adId===e))},n.getStandardBidderAdServerTargeting=function(){return(0,i.HN)()[s.iD.ADSERVER_TARGETING]},n.setStatusForBids=function(e,t){let r=n.findBidByAdId(e);if(r&&(r.status=t),r&&t===s.tl.BID_TARGETING_SET){const e=g(r.auctionId);e&&e.setBidTargeting(r)}},n.getLastAuctionId=function(){const e=t.toArray();return e.length&&e[e.length-1].getAuctionId()},n.clearAllAuctions=function(){t.clear()},n.index=new o((()=>t.toArray())),n}()},27863:(e,t,n)=>{n.d(t,{L:()=>a,u:()=>d});var r=n(43272),i=n(91069);let o=1;const s=[];function a(e){return e.ttl-(e.hasOwnProperty("ttlBuffer")?e.ttlBuffer:o)}function d(e){s.push(e)}r.$W.getConfig("ttlBuffer",(e=>{if("number"==typeof e.ttlBuffer){const t=o;o=e.ttlBuffer,t!==o&&s.forEach((e=>e(o)))}else(0,i.logError)("Invalid value for ttlBuffer",e.ttlBuffer)}))},12693:(e,t,n)=>{n.d(t,{u:()=>a});var r=n(70433),i=n(91069),o=n(7873),s=n(78969);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,r.A)(this.getSettings(),`${e}.${t}`)}getScopes(){return Object.keys(this.getSettings()).filter((e=>e!==this.defaultScope))}settingsFor(e){return(0,i.mergeDeep)({},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)},93597:(e,t,n)=>{n.d(t,{O:()=>o});var r=n(91069);function i(e){let{src:t="client",bidder:n="",bidId:i,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,r.getUniqueIdentifierStr)(),requestId:i,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 i(e,t)}},43272:(e,t,n)=>{n.d(t,{$W:()=>m,Ov:()=>l});var r=n(86833),i=n(15901),o=n(91069),s=n(70433),a=n(78969);const d="TRUE"===(0,o.getParameterByName)(a.M).toUpperCase(),c={},l="random",u={};u[l]=!0,u.fixed=!0;const g=l,f={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:f.MEDIUM,customPriceBucket:{},mediaTypePriceGranularity:{},bidderSequence:g,auctionOptions:{}}:{};function n(e){return t[e]}function s(n,r){t.hasOwnProperty(n)||Object.defineProperty(e,n,{enumerable:!0}),t[n]=r}const a={publisherDomain:{set(e){null!=e&&(0,o.logWarn)("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:f.MEDIUM):(0,o.isPlainObject)(e)&&(s("customPriceBucket",e),s("priceGranularity",f.CUSTOM),(0,o.logMessage)("Using custom price granularity")))}},customPriceBucket:{},mediaTypePriceGranularity:{set(e){null!=e&&s("mediaTypePriceGranularity",Object.keys(e).reduce(((t,r)=>(c(e[r])?"string"==typeof e?t[r]=d(e[r])?e[r]:n("priceGranularity"):(0,o.isPlainObject)(e)&&(t[r]=e[r],(0,o.logMessage)(`Using custom price granularity for ${r}`)):(0,o.logWarn)(`Invalid price granularity for media type: ${r}`),t)),{}))}},bidderSequence:{set(e){u[e]?s("bidderSequence",e):(0,o.logWarn)(`Invalid order: ${e}. Bidder Sequence was not set.`)}},auctionOptions:{set(e){(function(e){if(!(0,o.isPlainObject)(e))return(0,o.logWarn)("Auction Options must be an object"),!1;for(let t of Object.keys(e)){if("secondaryBidders"!==t&&"suppressStaleRender"!==t&&"suppressExpiredRender"!==t)return(0,o.logWarn)(`Auction Options given an incorrect param: ${t}`),!1;if("secondaryBidders"===t){if(!(0,o.isArray)(e[t]))return(0,o.logWarn)(`Auction Options ${t} must be of type Array`),!1;if(!e[t].every(o.isStr))return(0,o.logWarn)(`Auction Options ${t} must be only string`),!1}else if(("suppressStaleRender"===t||"suppressExpiredRender"===t)&&!(0,o.isBoolean)(e[t]))return(0,o.logWarn)(`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[r,i]=e;return[r,Object.assign({get:n.bind(null,r),set:s.bind(null,r),enumerable:t.hasOwnProperty(r),configurable:!t.hasOwnProperty(r)},i)]})))),e;function d(e){return(0,i.I6)(Object.keys(f),(t=>e===f[t]))}function c(e){if(!e)return(0,o.logError)("Prebid Error: no value passed to `setPriceGranularity()`"),!1;if("string"==typeof e)d(e)||(0,o.logWarn)("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if((0,o.isPlainObject)(e)&&!(0,r.q)(e))return(0,o.logError)("Invalid custom price value passed to `setPriceGranularity()`"),!1;return!0}}const m=function(){let e,t,n,r=[],a=null;function l(){e={};let r=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]!==r[n]&&(e[n]=r[n]||{}),e)),{})),t=r,n={}}function u(){if(a&&n&&(0,o.isPlainObject)(n[a])){let e=n[a];const r=new Set(Object.keys(t).concat(Object.keys(e)));return(0,i.A6)(r).reduce(((n,r)=>(void 0===e[r]?n[r]=t[r]:void 0===t[r]?n[r]=e[r]:(0,o.isPlainObject)(e[r])?n[r]=(0,o.mergeDeep)({},t[r],e[r]):n[r]=e[r],n)),{})}return Object.assign({},t)}const[g,f]=[u,function(){const e=u();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):u()}return y(...arguments)})),[m,h]=[f,g].map((e=>function(){let t=e(...arguments);return t&&"object"==typeof t&&(t=(0,o.deepClone)(t)),t}));function b(n){if(!(0,o.isPlainObject)(n))return void(0,o.logError)("setConfig options must be an object");let r=Object.keys(n),i={};r.forEach((r=>{let s=n[r];(0,o.isPlainObject)(e[r])&&(0,o.isPlainObject)(s)&&(s=Object.assign({},e[r],s));try{i[r]=t[r]=s}catch(e){(0,o.logWarn)(`Cannot set config for property ${r} : `,e)}})),v(i)}function y(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=t;if("string"!=typeof e&&(i=e,e="*",n=t||{}),"function"!=typeof i)return void(0,o.logError)("listener must be a function");const s={topic:e,callback:i};return r.push(s),n.init&&i("*"===e?f():{[e]:f(e)}),function(){r.splice(r.indexOf(s),1)}}function v(e){const t=Object.keys(e);r.filter((e=>(0,i.mK)(t,e.topic))).forEach((t=>{t.callback({[t.topic]:e[t.topic]})})),r.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.isPlainObject)(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.isPlainObject)(e.config))throw"setBidderConfig bidder options must contain a config object"}(e),e.bidders.forEach((r=>{n[r]||(n[r]=p({},!1)),Object.keys(e.config).forEach((i=>{let s=e.config[i];const a=n[r][i];if((0,o.isPlainObject)(s)&&(null==a||(0,o.isPlainObject)(a))){const e=t?o.mergeDeep:Object.assign;n[r][i]=e({},a||{},s)}else n[r][i]=s}))}))}catch(e){(0,o.logError)(e)}}function A(e,t){a=e;try{return t()}finally{I()}}function I(){a=null}return l(),{getCurrentBidder:function(){return a},resetBidder:I,getConfig:f,getAnyConfig:g,readConfig:m,readAnyConfig:h,setConfig:b,mergeConfig:function(e){if(!(0,o.isPlainObject)(e))return void(0,o.logError)("mergeConfig input must be an object");const t=(0,o.mergeDeep)(u(),e);return b({...t}),t},setDefaults:function(n){(0,o.isPlainObject)(e)?(Object.assign(e,n),Object.assign(t,n)):(0,o.logError)("defaults must be an object")},resetConfig:l,runWithBidder:A,callbackWithBidder:function(e){return function(t){return function(){if("function"==typeof t){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return A(e,t.bind(this,...r))}(0,o.logWarn)("config.callbackWithBidder callback is not a function")}}},setBidderConfig:E,getBidderConfig:function(){return n},mergeBidderConfig:function(e){return E(e,!0)}}}()},16916:(e,t,n)=>{n.d(t,{B1:()=>s,SL:()=>p,ad:()=>l,et:()=>u,mW:()=>d,o2:()=>g,t6:()=>c});var r=n(91069),i=n(25555),o=n(43272);const s=Object.freeze({});class a{#t;#n;#r;#i;#o=!0;#s;generatedTime;hashFields;constructor(){this.reset()}#a(e){this.#i=!0,this.#n=e,this.#r.resolve(e)}reset(){this.#r=(0,i.v)(),this.#t=!1,this.#n=null,this.#i=!1,this.generatedTime=null}enable(){this.#t=!0}get enabled(){return this.#t}get ready(){return this.#i}get promise(){return this.#i?i.k.resolve(this.#n):(this.#t||this.#a(null),this.#r.promise)}setConsentData(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,r.timestamp)();this.generatedTime=t,this.#o=!0,this.#a(e)}getConsentData(){return this.#n}get hash(){return this.#o&&(this.#s=(0,r.cyrb53Hash)(JSON.stringify(this.#n&&this.hashFields?this.hashFields.map((e=>this.#n[e])):this.#n)),this.#o=!1),this.#s}}const d=new class extends a{hashFields=["gdprApplies","consentString"];getConsentMeta(){const e=this.getConsentData();if(e&&e.vendorData&&this.generatedTime)return{gdprApplies:e.gdprApplies,consentStringSize:(0,r.isStr)(e.vendorData.tcString)?e.vendorData.tcString.length:0,generatedAt:this.generatedTime,apiVersion:e.apiVersion}}},c=new class extends a{getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},l=new class extends a{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 i.k.resolve(e())},get hash(){return e()?"1":"0"}}})(),g=function(){const e={},t={},n={};return{register(r,i,o){o&&((e[i]=e[i]||{})[r]=o,t.hasOwnProperty(i)?t[i]!==o&&(t[i]=n):t[i]=o)},get(r){const i={modules:e[r]||{}};return t.hasOwnProperty(r)&&t[r]!==n&&(i.gvlid=t[r]),i}}}(),f={gdpr:d,usp:c,gpp:l,coppa:u};const p=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f;return e=Object.entries(e),Object.assign({get promise(){return i.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,r.cyrb53Hash)(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,r]=e;return[t,r[n]()]})))})];var n}))))}()},78969:(e,t,n)=>{n.d(t,{IY:()=>A,M:()=>i,RW:()=>f,Tf:()=>m,UE:()=>c,XQ:()=>o,Zh:()=>u,_B:()=>v,as:()=>a,cA:()=>d,h0:()=>h,iD:()=>r,jO:()=>b,nl:()=>E,oA:()=>y,qY:()=>s,tl:()=>p,x5:()=>g,xS:()=>l});const r={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"},i="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"},l={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"},u={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"},g={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"},f={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"},m={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"},h={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__"},86833:(e,t,n)=>{n.d(t,{j:()=>g,q:()=>p});var r=n(15901),i=n(91069),o=n(43272);const s=2,a={buckets:[{max:5,increment:.5}]},d={buckets:[{max:20,increment:.1}]},c={buckets:[{max:20,increment:.01}]},l={buckets:[{max:3,increment:.01},{max:8,increment:.05},{max:20,increment:.5}]},u={buckets:[{max:5,increment:.05},{max:10,increment:.1},{max:20,increment:.5}]};function g(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=parseFloat(e);return isNaN(r)&&(r=""),{low:""===r?"":f(e,a,n),med:""===r?"":f(e,d,n),high:""===r?"":f(e,c,n),auto:""===r?"":f(e,u,n),dense:""===r?"":f(e,l,n),custom:""===r?"":f(e,t,n)}}function f(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,l=(0,r.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 l&&(a=function(e,t,n){const r=void 0!==t.precision?t.precision:s,a=t.increment*n,d=t.min*n;let c=Math.floor,l=o.$W.getConfig("cpmRoundingFunction");"function"==typeof l&&(c=l);let u,g,f=Math.pow(10,r+2),p=(e*f-d*f)/(a*f);try{u=c(p)*a+d}catch(e){g=!0}(g||"number"!=typeof u)&&((0,i.logWarn)("Invalid rounding function passed in config"),u=Math.floor(p)*a+d);return u=Number(u.toFixed(10)),u.toFixed(r)}(e,l,n)),a}function p(e){if((0,i.isEmpty)(e)||!e.buckets||!Array.isArray(e.buckets))return!1;let t=!0;return e.buckets.forEach((e=>{e.max&&e.increment||(t=!1)})),t}},46031:(e,t,n)=>{n.d(t,{H:()=>a,k:()=>s});var r=n(25555),i=n(91069),o=n(34595);const s=(0,n(16833).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 r.k((e=>{const t=(0,i.createInvisibleIframe)();t.srcdoc=`<script>${n}<\/script>`,t.onload=()=>e(t.contentWindow.render),document.body.appendChild(t)}))),e[n]}}()},49164:(e,t,n)=>{n.d(t,{L6:()=>h,ey:()=>u});var r=n(43272),i=n(16833),o=n(7873),s=n(91069),a=n(93597),d=n(41580),c=n(25555),l=n(45569);const u="__pbjs_debugging__";function g(){return(0,o.m)().installedModules.includes("debugging")}function f(e){return new c.k((t=>{(0,d.R)(e,l.tp,"debugging",t)}))}function p(){let{alreadyInstalled:e=g,script:t=f}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null;return function(){return null==n&&(n=new c.k(((n,d)=>{setTimeout((()=>{if(e())n();else{const e="https://cdn.jsdelivr.net/npm/prebid.js@9.22.0/dist/debugging-standalone.js";(0,s.logMessage)(`Debugging module not installed, loading it from "${e}"...`),(0,o.m)()._installDebugging=!0,t(e).then((()=>{(0,o.m)()._installDebugging({DEBUG_KEY:u,hook:i.A_,config:r.$W,createBid:a.O,logger:(0,s.prefixLog)("DEBUG:")})})).then(n,d)}}))}))),n}}const m=function(){let{load:e=p(),hook:t=(0,i.Yn)("requestBids")}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null,r=!1;function o(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return(n||c.k.resolve()).then((()=>e.apply(this,r)))}function s(){t.getHooks({hook:o}).remove(),r=!1}return{enable:function(){r||(n=e(),t.before(o,99),r=!0)},disable:s,reset:function(){n=null,s()}}}();m.reset;function h(){let e=null;try{e=window.sessionStorage}catch(e){}if(null!==e){let t=m,n=null;try{n=e.getItem(u)}catch(e){}null!==n&&t.enable()}}r.$W.getConfig("debugging",(function(e){let{debugging:t}=e;t?.enabled?m.enable():m.disable()}))},75023:(e,t,n)=>{n.r(t),n.d(t,{addEvents:()=>E,clearEvents:()=>I,emit:()=>v,get:()=>b,getEvents:()=>y,has:()=>A,off:()=>h,on:()=>m});var r=n(91069),i=n(78969),o=n(76853),s=n(43272);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 l=Array.prototype.slice,u=Array.prototype.push,g=Object.values(i.qY);const f=i.cA,p=function(){let e={},t={};function n(e){return g.includes(e)}return t.has=n,t.on=function(t,i,o){if(n(t)){let n=e[t]||{que:[]};o?(n[o]=n[o]||{que:[]},n[o].que.push(i)):n.que.push(i),e[t]=n}else r.logError("Wrong event name : "+t+" Valid event names :"+g)},t.emit=function(t){!function(t,n){r.logMessage("Emitting event for: "+t);let i=n[0]||{},o=i[f[t]],s=e[t]||{que:[]};var a=Object.keys(s);let d=[];c.add({eventType:t,args:i,id:o,elapsedTime:r.getPerformanceNow()}),o&&a.includes(o)&&u.apply(d,s[o].que),u.apply(d,s.que),(d||[]).forEach((function(e){if(e)try{e.apply(null,n)}catch(e){r.logError("Error executing handler:","events.js",e,t)}}))}(t,l.call(arguments,1))},t.off=function(t,n,i){let o=e[t];r.isEmpty(o)||r.isEmpty(o.que)&&r.isEmpty(o[i])||i&&(r.isEmpty(o[i])||r.isEmpty(o[i].que))||(i?(o[i].que||[]).forEach((function(e){let t=o[i].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){g=g.concat(e)},t.getEvents=function(){return c.toArray().map((e=>Object.assign({},e)))},t}();r._setEventEmitter(p.emit.bind(p));const{on:m,off:h,get:b,getEvents:y,emit:v,addEvents:E,has:A}=p;function I(){c.clear()}},70068:(e,t,n)=>{n.d(t,{w:()=>y});var r=n(16833),i=n(27934),o=n(5973),s=n(91069),a=n(63172),d=n(43272),c=n(25250),l=n(25555),u=n(73858),g=n(95139),f=n(83441),p=n(76811),m=n(45569);const h={getRefererInfo:i.EN,findRootDomain:o.S,getWindowTop:s.getWindowTop,getWindowSelf:s.getWindowSelf,getHighEntropySUA:c.FD,getLowEntropySUA:c.zO},b=(0,u.i8)("FPD"),y=(0,r.A_)("sync",(e=>{const t=[e,E().catch((()=>null)),l.k.resolve("cookieDeprecationLabel"in navigator&&(0,g.io)(p.Ue,(0,f.s)(m.tp,"cdep"))&&navigator.cookieDeprecationLabel.getValue()).catch((()=>null))];return l.k.all(t).then((e=>{let[t,n,r]=e;const i=h.getRefererInfo();if(Object.entries(I).forEach((e=>{let[n,r]=e;const o=r(t,i);o&&Object.keys(o).length>0&&(t[n]=(0,s.mergeDeep)({},o,t[n]))})),n&&(0,a.J)(t,"device.sua",Object.assign({},n,t.device.sua)),r){const e={cdep:r};(0,a.J)(t,"device.ext",Object.assign({},e,t.device.ext))}t=b(t);for(let e of u.Dy)if((0,u.O$)(t,e)){t[e]=(0,s.mergeDeep)({},T(t,i),t[e]);break}return t}))}));function v(e){try{return e(h.getWindowTop())}catch(t){return e(h.getWindowSelf())}}function E(){const e=d.$W.getConfig("firstPartyData.uaHints");return Array.isArray(e)&&0!==e.length?h.getHighEntropySUA(e):l.k.resolve(h.getLowEntropySUA())}function A(e){return(0,s.getDefinedParams)(e,Object.keys(e))}const I={site(e,t){if(!u.Dy.filter((e=>"site"!==e)).some(u.O$.bind(null,e)))return A({page:t.page,ref:t.ref})},device:()=>v((e=>{const t=e.screen.width,n=e.screen.height,r=e.innerWidth||e.document.documentElement.clientWidth||e.document.body.clientWidth,i=e.innerHeight||e.document.documentElement.clientHeight||e.document.body.clientHeight,o={w:t,h:n,dnt:(0,s.getDNT)()?1:0,ua:e.navigator.userAgent,language:e.navigator.language.split("-").shift(),ext:{vpw:r,vph:i}};return e.navigator?.webdriver&&(0,a.J)(o,"ext.webdriver",!0),o})),regs(){const e={};v((e=>e.navigator.globalPrivacyControl))&&(0,a.J)(e,"ext.gpc","1");const t=d.$W.getConfig("coppa");return"boolean"==typeof t&&(e.coppa=t?1:0),e}};function T(e,t){const n=(0,i.gR)(t.page,{noLeadingWww:!0}),r=v((e=>e.document.querySelector("meta[name='keywords']")))?.content?.replace?.(/\s/g,"");return A({domain:n,keywords:r,publisher:A({domain:h.findRootDomain(n)})})}},73858:(e,t,n)=>{n.d(t,{Dy:()=>i,O$:()=>s,i8:()=>o});var r=n(91069);const i=["dooh","app","site"];function o(e){return function(t){return i.reduce(((n,i)=>(s(t,i)&&(null!=n?((0,r.logWarn)(`${e} specifies both '${n}' and '${i}'; dropping the latter.`),delete t[i]):n=i),n)),null),t}}function s(e,t){return null!=e[t]&&Object.keys(e[t]).length>0}},5973:(e,t,n)=>{n.d(t,{S:()=>o});var r=n(91069);const i=(0,n(12938).CK)("fpdEnrichment"),o=(0,r.memoize)((function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.host;if(!i.cookiesAreEnabled())return e;const t=e.split(".");if(2===t.length)return e;let n,o,s=-2;const a=`_rdc${Date.now()}`,d="writeable";do{n=t.slice(s).join(".");let e=new Date((0,r.timestamp)()+1e4).toUTCString();i.setCookie(a,d,e,"Lax",n,void 0);i.getCookie(a,void 0)===d?(o=!1,i.setCookie(a,"","Thu, 01 Jan 1970 00:00:01 GMT",void 0,n,void 0)):(s+=-1,o=Math.abs(s)<=t.length)}while(o);return n}))},25250:(e,t,n)=>{n.d(t,{CP:()=>l,FD:()=>c,zO:()=>d});var r=n(91069),i=n(25555);const o=2,s=["architecture","bitness","model","platformVersion","fullVersionList"],a=["brands","mobile","platform"],d=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator?.userAgentData;const t=e&&a.some((t=>void 0!==e[t]))?Object.freeze(u(1,e)):null;return function(){return t}}(),c=l();function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator?.userAgentData;const t={},n=new WeakMap;return function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s;if(!n.has(a)){const e=Array.from(a);e.sort(),n.set(a,e.join("|"))}const d=n.get(a);if(!t.hasOwnProperty(d))try{t[d]=e.getHighEntropyValues(a).then((e=>(0,r.isEmpty)(e)?null:Object.freeze(u(o,e)))).catch((()=>null))}catch(e){t[d]=i.k.resolve(null)}return t[d]}}function u(e,t){function n(e,t){const n={brand:e};return(0,r.isStr)(t)&&!(0,r.isEmptyStr)(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:r}=e;return n(t,r)}))),void 0!==t.mobile&&(i.mobile=t.mobile?1:0),["model","bitness","architecture"].forEach((e=>{const n=t[e];(0,r.isStr)(n)&&(i[e]=n)})),i}},16833:(e,t,n)=>{n.d(t,{A_:()=>s,Gc:()=>d,Y6:()=>p,Yn:()=>c,bz:()=>f,pT:()=>l,xG:()=>g});var r=n(68128),i=n.n(r),o=n(25555);let s=i()({ready:i().SYNC|i().ASYNC|i().QUEUE});const a=(0,o.v)();s.ready=(()=>{const e=s.ready;return function(){try{return e.apply(s,arguments)}finally{a.resolve()}}})();const d=a.promise,c=s.get;function l(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:15;0===e.getHooks({hook:t}).length&&e.before(t,n)}const u={};function g(e,t){let{postInstallAllowed:n=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};s("async",(function(r){r.forEach((e=>t(...e))),n&&(u[e]=t)}),e)([])}function f(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const i=u[e];if(i)return i(...n);c(e).before(((e,t)=>{t.push(n),e(t)}))}function p(e,t){return Object.defineProperties(t,Object.fromEntries(["before","after","getHooks","removeAll"].map((t=>[t,{get:()=>e[t]}])))),t}},71371:(e,t,n)=>{n.d(t,{D4:()=>o,G_:()=>i,LM:()=>s,s6:()=>r});const r="native",i="video",o="banner",s="adpod"},12449:(e,t,n)=>{n.d(t,{Bm:()=>I,Ex:()=>W,Gg:()=>O,IX:()=>k,Nh:()=>g,Xj:()=>x,Zj:()=>C,gs:()=>w,l6:()=>y,mT:()=>u,nk:()=>E,rn:()=>_,vO:()=>T,yl:()=>D});var r=n(70433),i=n(91069),o=n(15901),s=n(67314),a=n(78969),d=n(71371),c=n(29075),l=n(46031);const u=[],g=Object.keys(a.x5).map((e=>a.x5[e])),f={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}}},p=P(a.h0),m=P(a.jO),h={img:1,js:2,1:"img",2:"js"},b={impression:1,"viewable-mrc50":2,"viewable-mrc100":3,"viewable-video50":4};function y(e){return e.native&&"object"==typeof e.native}function v(e){if(e&&e.type&&function(e){if(!e||!(0,o.mK)(Object.keys(f),e))return(0,i.logError)(`${e} nativeParam is not supported`),!1;return!0}(e.type)&&(e=f[e.type]),!e||!e.ortb||A(e.ortb))return e}function E(e){e.forEach((e=>{const t=e.nativeParams||(0,r.A)(e,"mediaTypes.native");t&&(e.nativeParams=v(t)),e.nativeParams&&(e.nativeOrtbRequest=e.nativeParams.ortb||_(e.nativeParams))}))}function A(e){const t=e.assets;if(!Array.isArray(t)||0===t.length)return(0,i.logError)("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.logError)("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.logError)("ortb.eventtrackers is not an array. Eventtrackers: ",e.eventtrackers),!1):t.every((e=>function(e){if(!(0,i.isPlainObject)(e))return(0,i.logError)("asset must be an object. Provided asset: ",e),!1;if(e.img){if(!(0,i.isNumber)(e.img.w)&&!(0,i.isNumber)(e.img.wmin))return(0,i.logError)("for img asset there must be 'w' or 'wmin' property"),!1;if(!(0,i.isNumber)(e.img.h)&&!(0,i.isNumber)(e.img.hmin))return(0,i.logError)("for img asset there must be 'h' or 'hmin' property"),!1}else if(e.title){if(!(0,i.isNumber)(e.title.len))return(0,i.logError)("for title asset there must be 'len' property defined"),!1}else if(e.data){if(!(0,i.isNumber)(e.data.type))return(0,i.logError)("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.isNumber)(e.video.minduration)&&(0,i.isNumber)(e.video.maxduration)))return(0,i.logError)("video asset is not properly configured"),!1;return!0}(e)))}function I(e){let{index:t=s.n.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=t.getAdUnit(e);if(!n)return!1;let a=n.nativeOrtbRequest;return function(e,t){if(!(0,r.A)(e,"link.url"))return(0,i.logError)("native response doesn't have 'link' property. Ortb response: ",e),!1;let n=t.assets.filter((e=>1===e.required)).map((e=>e.id)),s=e.assets.map((e=>e.id));const a=n.every((e=>(0,o.mK)(s,e)));a||(0,i.logError)(`didn't receive a bid with all required assets. Required ids: ${n}, but received ids in response: ${s}`);return a}(e.native?.ortb||q(e.native,a),a)}function T(e,t){const n=t.native.ortb||N(t.native);return"click"===e.action?function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,{fetchURL:n=i.triggerPixel}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(t){const r=(e.assets||[]).filter((e=>e.link)).reduce(((e,t)=>(e[t.id]=t.link,e)),{}),i=e.link?.clicktrackers||[];let o=r[t],s=i;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.insertHtmlIntoIframe)(e)),fetchURL:n=i.triggerPixel}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=(e.eventtrackers||[]).filter((e=>e.event===b.impression));let{img:o,js:s}=r.reduce(((e,t)=>(h.hasOwnProperty(t.method)&&e[h[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 w(e,t){const n=t?.nativeOrtbRequest,r=e.native?.ortb;if(n&&r){const t=W(r,n);Object.assign(e.native,t)}["rendererUrl","adTemplate"].forEach((n=>{const r=t?.nativeParams?.[n];r&&(e.native[n]=U(r))}))}function C(e){let{index:t=s.n.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={};const i=t.getAdUnit(e),o=null==i?.nativeParams?.ortb&&!1!==(0,r.A)(i,"nativeParams.sendTargetingKeys"),d=function(e){const t={};(0,r.A)(e,"nativeParams.ext")&&Object.keys(e.nativeParams.ext).forEach((e=>{t[e]=`hb_native_${e}`}));return{...a.x5,...t}}(i),c={...e.native,...e.native.ext};return delete c.ext,Object.keys(c).forEach((t=>{const s=d[t];let a=U(e.native[t])||U((0,r.A)(e,`native.ext.${t}`));if("adTemplate"===t||!s||!a)return;let c=(0,r.A)(i,`nativeParams.${t}.sendId`);if("boolean"!=typeof c&&(c=(0,r.A)(i,`nativeParams.ext.${t}.sendId`)),c){a=`${s}:${e.adId}`}let l=(0,r.A)(i,`nativeParams.${t}.sendTargetingKeys`);"boolean"!=typeof l&&(l=(0,r.A)(i,`nativeParams.ext.${t}.sendTargetingKeys`));("boolean"==typeof l?l:o)&&(n[s]=a)})),n}function S(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=[];return Object.entries(e).filter((e=>{let[r,i]=e;return i&&(!1===n&&"ext"===r||null==t||t.includes(r))})).forEach((e=>{let[i,o]=e;!1===n&&"ext"===i?r.push(...S(o,t,!0)):(n||a.x5.hasOwnProperty(i))&&r.push({key:i,value:U(o)})})),r}function O(e,t,n){const r={...(0,i.getDefinedParams)(e.native,["rendererUrl","adTemplate"]),assets:S(e.native,n),nativeKeys:a.x5};return e.native.ortb?r.ortb=e.native.ortb:t.mediaTypes?.native?.ortb&&(r.ortb=q(e.native,t.nativeOrtbRequest)),r}function B(e,t,n){let{index:r=s.n.index}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={message:"assetResponse",adId:e.adId};let o=(0,c.vd)(t).native;return o?(i.native=Object.assign({},o),i.renderer=(0,l.k)(t),null!=n&&(o.assets=o.assets.filter((e=>{let{key:t}=e;return n.includes(t)})))):o=O(t,r.getAdUnit(t),n),Object.assign(i,o)}const R=Object.fromEntries(Object.entries(a.x5).map((e=>{let[t,n]=e;return[n,t]})));function k(e,t){const n=e.assets.map((e=>R[e]));return B(e,t,n)}function D(e,t){return B(e,t,null)}function U(e){return e?.url||e}function _(e){if(!e&&!(0,i.isPlainObject)(e))return void(0,i.logError)("Native assets object is empty or not an object: ",e);const t={ver:"1.2",assets:[]};for(let n in e){if(a._B.includes(n))continue;if(!a.x5.hasOwnProperty(n)){(0,i.logError)(`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.isBoolean)(r.required)&&(o=Number(r.required));const s={id:t.assets.length,required:o};if(n in a.h0)s.data={type:a.jO[a.h0[n]]},r.len&&(s.data.len=r.len);else if("icon"===n||"image"===n){if(s.img={type:"icon"===n?a.oA.ICON:a.oA.MAIN},r.aspect_ratios)if((0,i.isArray)(r.aspect_ratios))if(r.aspect_ratios.length){const{min_width:e,min_height:t}=r.aspect_ratios[0];(0,i.isInteger)(e)&&(0,i.isInteger)(t)?(s.img.wmin=e,s.img.hmin=t):(0,i.logError)("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&&(s.img.ext={aspectratios:n})}else(0,i.logError)("image.aspect_ratios was passed, but it's empty:",r.aspect_ratios);else(0,i.logError)("image.aspect_ratios was passed, but it's not a an array:",r.aspect_ratios);r.sizes&&(2===r.sizes.length&&(0,i.isInteger)(r.sizes[0])&&(0,i.isInteger)(r.sizes[1])?(s.img.w=r.sizes[0],s.img.h=r.sizes[1],delete s.img.hmin,delete s.img.wmin):(0,i.logError)("image.sizes was passed, but its value is not an array of integers:",r.sizes))}else"title"===n?s.title={len:r.len||140}:"ext"===n&&(s.ext=r,delete s.required);t.assets.push(s)}return t}function j(e,t){for(;e&&t&&e!==t;)e>t?e-=t:t-=e;return e||t}function $(e){if(!A(e))return;const t={};for(const n of e.assets){if(n.title){const e={required:!!n.required&&Boolean(n.required),len:n.title.len};t.title=e}else if(n.img){const e={required:!!n.required&&Boolean(n.required)};if(n.img.w&&n.img.h)e.sizes=[n.img.w,n.img.h];else if(n.img.wmin&&n.img.hmin){const t=j(n.img.wmin,n.img.hmin);e.aspect_ratios=[{min_width:n.img.wmin,min_height:n.img.hmin,ratio_width:n.img.wmin/t,ratio_height:n.img.hmin/t}]}n.img.type===a.oA.MAIN?t.image=e:t.icon=e}else if(n.data){let e=Object.keys(a.jO).find((e=>a.jO[e]===n.data.type)),r=Object.keys(a.h0).find((t=>a.h0[t]===e));t[r]={required:!!n.required&&Boolean(n.required)},n.data.len&&(t[r].len=n.data.len)}e.privacy&&(t.privacyLink={required:!1})}return t}function x(e){{if(!e||!(0,i.isArray)(e))return e;if(!e.some((e=>(e?.mediaTypes||{})[d.s6]?.ortb)))return e;let t=(0,i.deepClone)(e);for(const e of t)e.mediaTypes&&e.mediaTypes[d.s6]&&e.mediaTypes[d.s6].ortb&&(e.mediaTypes[d.s6]=Object.assign((0,i.pick)(e.mediaTypes[d.s6],a._B),$(e.mediaTypes[d.s6].ortb)),e.nativeParams=v(e.mediaTypes[d.s6]));return t}}function N(e){const t={link:{},eventtrackers:[]};return Object.entries(e).forEach((e=>{let[n,r]=e;switch(n){case"clickUrl":t.link.url=r;break;case"clickTrackers":t.link.clicktrackers=Array.isArray(r)?r:[r];break;case"impressionTrackers":(Array.isArray(r)?r:[r]).forEach((e=>{t.eventtrackers.push({event:b.impression,method:h.img,url:e})}));break;case"javascriptTrackers":t.jstracker=Array.isArray(r)?r.join(""):r;break;case"privacyLink":t.privacy=r}})),t}function q(e,t){const n={...N(e),assets:[]};function r(e,r){let o=t.assets.find(e);null!=o&&(o=(0,i.deepClone)(o),r(o),n.assets.push(o))}return Object.keys(e).filter((t=>!!e[t])).forEach((t=>{const n=U(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?a.oA.MAIN:a.oA.ICON;r((t=>null!=t.img&&t.img.type===e),(e=>{e.img={url:n}}));break;default:t in a.h0&&r((e=>null!=e.data&&e.data.type===a.jO[a.h0[t]]),(e=>{e.data={value:n}}))}})),n}function W(e,t){const n={},r=t?.assets||[];n.clickUrl=e.link?.url,n.privacyLink=e.privacy;for(const t of e?.assets||[]){const e=r.find((e=>t.id===e.id));t.title?n.title=t.title.text:t.img?n[e?.img?.type===a.oA.MAIN?"image":"icon"]={url:t.img.url,width:t.img.w,height:t.img.h}:t.data&&(n[p[m[e?.data?.type]]]=t.data.value)}n.impressionTrackers=[];let i=[];e.imptrackers&&n.impressionTrackers.push(...e.imptrackers);for(const t of e?.eventtrackers||[])t.event===b.impression&&t.method===h.img&&n.impressionTrackers.push(t.url),t.event===b.impression&&t.method===h.js&&i.push(t.url);return i=i.map((e=>`<script async src="${e}"><\/script>`)),e?.jstracker&&i.push(e.jstracker),i.length&&(n.javascriptTrackers=i.join("\n")),n}function P(e){var t={};for(var n in e)t[e[n]]=n;return t}},1e3:(e,t,n)=>{n.d(t,{Cf:()=>a,S3:()=>i,Tb:()=>o,WR:()=>s,e4:()=>c,pS:()=>u,qN:()=>d,yB:()=>g,zt:()=>r});const r=["request","imp","bidResponse","response"],[i,o,s,a]=r,[d,c]=["default","pbs"],l=new Set(r);const{registerOrtbProcessor:u,getProcessors:g}=function(){const e={};return{registerOrtbProcessor(t){let{type:n,name:i,fn:o,priority:s=0,dialects:a=[d]}=t;if(!l.has(n))throw new Error(`ORTB processor type must be one of: ${r.join(", ")}`);a.forEach((t=>{e.hasOwnProperty(t)||(e[t]={}),e[t].hasOwnProperty(n)||(e[t][n]={}),e[t][n][i]={priority:s,fn:o}}))},getProcessors:t=>e[t]||{}}}()},15901:(e,t,n)=>{function r(e,t,n){return e&&e.includes(t,n)||!1}function i(){return Array.from.apply(Array,arguments)}function o(e,t,n){return e&&e.find(t,n)}function s(e,t,n){return e&&e.findIndex(t,n)}n.d(t,{A6:()=>i,I6:()=>o,SL:()=>s,mK:()=>r})},42627:(e,t,n)=>{n.d(t,{WH:()=>K,Z:()=>J,gH:()=>X});var r=n(7873),i=n(91069),o=n(63172),s=n(70433),a=n(12449),d=n(78969),c=n(15901),l=n(29075),u=n(46031);const{REQUEST:g,RESPONSE:f,NATIVE:p,EVENT:m}=d.nl,h={[g]:function(e,t,n){(0,l.bw)({renderFn(t){e(Object.assign({message:f,renderer:(0,u.k)(n)},t))},resizeFn:y(t.adId,n),options:t.options,adId:t.adId,bidResponse:n})},[m]:function(e,t,n){if(null==n)return void(0,i.logError)(`Cannot find ad '${t.adId}' for x-origin event request`);if(n.status!==d.tl.RENDERED)return void(0,i.logWarn)(`Received x-origin event request without corresponding render request for ad '${n.adId}'`);return(0,l.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&&h.hasOwnProperty(n.message))(0,l.$A)(n.adId,n.message===d.nl.REQUEST).then((t=>{var r,o;h[n.message]((r=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,i.logError)(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),i=1;i<t;i++)n[i-1]=arguments[i];return o(Object.assign({},e,{adId:r}),...n)}),n,t)}))}(e)}),!1)}function y(e,t){return function(n,r){!function(e){let{adId:t,adUnitCode:n,width:r,height:o}=e;function s(e){return e?e+"px":"100%"}function a(e){let r=d(t,n),i=document.getElementById(r);return i&&i.querySelector(e)}function d(e,t){return(0,i.isGptPubadsDefined)()?l(e):(0,i.isApnGetTagDefined)()?u(t):t}function l(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 u(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(r),e.height=s(o)}else(0,i.logError)(`Unable to locate matching page element for adUnitCode ${n}. Can't resize it to ad's dimensions. Please review setup.`)}))}({...t,width:n,height:r,adId:e})}}Object.assign(h,{[p]:function(e,t,n){if(null==n)return void(0,i.logError)(`Cannot find ad for x-origin event request: '${t.adId}'`);switch(t.action){case"assetRequest":(0,l.Hh)(n,(()=>e((0,a.IX)(t,n))));break;case"allAssetRequest":(0,l.Hh)(n,(()=>e((0,a.yl)(t,n))));break;default:(0,l.vW)(t,n,{resizeFn:y(t.adId,n)}),(0,l.Pk)(n)}}});var v=n(38230),E=n(43272),A=n(67314),I=n(97779),T=n(16833),w=n(49164),C=n(93597),S=n(12938),O=n(11445),B=n(75023),R=n(16894),k=n(25555),D=n(70068),U=n(16916),_=n(12713),j=n(63895);const $=(0,r.m)(),{triggerUserSyncs:x}=v.zt,{ADD_AD_UNITS:N,REQUEST_BIDS:q,SET_TARGETING:W}=d.qY,P={bidWon:function(e){if(!A.n.getBidsRequested().map((e=>e.bids.map((e=>e.adUnitCode)))).reduce(i.flatten).filter(i.uniques).includes(e))return void(0,i.logError)('The "'+e+'" placement is not defined.');return!0}};function M(e,t){let n=[];return(0,i.isArray)(e)&&(t?e.length===t:e.length>0)&&(e.every((e=>(0,i.isArrayOfNums)(e,2)))?n=e:(0,i.isArrayOfNums)(e,2)&&n.push(e)),n}function G(e,t){const n=e.ortb2Imp||{},r=e.mediaTypes||{};n[t]?.battr&&r[t]?.battr&&n[t]?.battr!==r[t]?.battr&&(0,i.logWarn)(`Ad unit ${e.code} specifies conflicting ortb2Imp.${t}.battr and mediaTypes.${t}.battr, the latter will be ignored`,e);const s=n[t]?.battr||r[t]?.battr;null!=s&&((0,o.J)(e,`ortb2Imp.${t}.battr`,s),(0,o.J)(e,`mediaTypes.${t}.battr`,s))}function F(e){const t=(0,i.deepClone)(e),n=t.mediaTypes.banner,r=M(n.sizes);return r.length>0?(n.sizes=r,t.sizes=r):((0,i.logError)("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),G(t,"banner"),t}function L(e){const t=(0,i.deepClone)(e),n=t.mediaTypes.video;if(n.playerSize){let e="number"==typeof n.playerSize[0]?2:1;const r=M(n.playerSize,e);r.length>0?(2===e&&(0,i.logInfo)("Transforming video.playerSize from [640,480] to [[640,480]] so it's in the proper format."),n.playerSize=r,t.sizes=r):((0,i.logError)("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,j.aP)(t),G(t,"video"),t}function z(e){function t(t){return(0,i.logError)(`Error in adUnit "${e.code}": ${t}. Removing native request from ad unit`,e),delete r.mediaTypes.native,r}function n(e){for(const t of["sendTargetingKeys","types"])if(o.hasOwnProperty(t)){const n=e(t);if(n)return n}}const r=(0,i.deepClone)(e),o=r.mediaTypes.native;if(o.ortb){if(o.ortb.assets?.some((e=>!(0,i.isNumber)(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 r;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,i.logError)(`when using native OpenRTB format, you cannot use legacy native properties. Deleting ${s} keys from request.`),s.forEach((e=>delete r.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,i.logError)("Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request."),delete r.mediaTypes.native.image.sizes),o.image&&o.image.aspect_ratios&&!Array.isArray(o.image.aspect_ratios)&&((0,i.logError)("Please use an array of sizes for native.image.aspect_ratios field. Removing invalid mediaTypes.native.image.aspect_ratios property from request."),delete r.mediaTypes.native.image.aspect_ratios),o.icon&&o.icon.sizes&&!Array.isArray(o.icon.sizes)&&((0,i.logError)("Please use an array of sizes for native.icon.sizes field. Removing invalid mediaTypes.native.icon.sizes property from request."),delete r.mediaTypes.native.icon.sizes),G(r,"native"),r}function H(e,t){let n=(0,s.A)(e,`mediaTypes.${t}.pos`);if(!(0,i.isNumber)(n)||isNaN(n)||!isFinite(n)){let n=`Value of property 'pos' on ad unit ${e.code} should be of type: Number`;(0,i.logWarn)(n),delete e.mediaTypes[t].pos}return e}function V(e){const t=t=>`adUnit.code '${e.code}' ${t}`,n=e.mediaTypes,r=e.bids;return null==r||(0,i.isArray)(r)?null==r&&null==e.ortb2Imp?((0,i.logError)(t("has no 'adUnit.bids' and no 'adUnit.ortb2Imp'. Removing adUnit from auction")),null):n&&0!==Object.keys(n).length?(null==e.ortb2Imp||null!=r&&0!==r.length||(e.bids=[{bidder:null}],(0,i.logMessage)(t("defines 'adUnit.ortb2Imp' with no 'adUnit.bids'; it will be seen only by S2S adapters"))),e):((0,i.logError)(t("does not define a 'mediaTypes' object. This is a required field for the auction, so this adUnit has been removed.")),null):((0,i.logError)(t("defines 'adUnit.bids' that is not an array. Removing adUnit from auction")),null)}(0,w.L6)(),$.bidderSettings=$.bidderSettings||{},$.libLoaded=!0,$.version="v9.22.0",(0,i.logInfo)("Prebid.js v9.22.0 loaded"),$.installedModules=$.installedModules||[],$.adUnits=$.adUnits||[],$.triggerUserSyncs=x;const K={validateAdUnit:V,validateBannerMediaType:F,validateSizes:M};Object.assign(K,{validateNativeMediaType:z}),Object.assign(K,{validateVideoMediaType:L});const J=(0,T.A_)("sync",(function(e){const t=[];return e.forEach((e=>{if(null==(e=V(e)))return;const n=e.mediaTypes;let r,i,o;n.banner&&(r=F(e),n.banner.hasOwnProperty("pos")&&(r=H(r,"banner"))),n.video&&(i=L(r||e),n.video.hasOwnProperty("pos")&&(i=H(i,"video"))),n.native&&(o=z(i||(r||e)));const s=Object.assign({},r,i,o);t.push(s)})),t}),"checkAdUnitSetup");function Y(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(i.uniques).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)),{})}$.getAdserverTargetingForAdUnitCodeStr=function(e){if((0,i.logInfo)("Invoking pbjs.getAdserverTargetingForAdUnitCodeStr",arguments),e){var t=$.getAdserverTargetingForAdUnitCode(e);return(0,i.transformAdServerTargetingObj)(t)}(0,i.logMessage)("Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode")},$.getHighestUnusedBidResponseForAdUnitCode=function(e){if(e){const t=A.n.getAllBidsForAdUnitCode(e).filter(I.Yl);return t.length?t.reduce(_.Vk):{}}(0,i.logMessage)("Need to call getHighestUnusedBidResponseForAdUnitCode with adunitCode")},$.getAdserverTargetingForAdUnitCode=function(e){return $.getAdserverTargeting(e)[e]},$.getAdserverTargeting=function(e){return(0,i.logInfo)("Invoking pbjs.getAdserverTargeting",arguments),I.iS.getAllTargeting(e)},$.getConsentMetadata=function(){return(0,i.logInfo)("Invoking pbjs.getConsentMetadata"),U.SL.getConsentMeta()},$.getNoBids=function(){return(0,i.logInfo)("Invoking pbjs.getNoBids",arguments),Y("getNoBids")},$.getNoBidsForAdUnitCode=function(e){return{bids:A.n.getNoBids().filter((t=>t.adUnitCode===e))}},$.getBidResponses=function(){return(0,i.logInfo)("Invoking pbjs.getBidResponses",arguments),Y("getBidsReceived")},$.getBidResponsesForAdUnitCode=function(e){return{bids:A.n.getBidsReceived().filter((t=>t.adUnitCode===e))}},$.setTargetingForGPTAsync=function(e,t){(0,i.logInfo)("Invoking pbjs.setTargetingForGPTAsync",arguments),(0,i.isGptPubadsDefined)()?I.iS.setTargetingForGPT(e,t):(0,i.logError)("window.googletag is not defined on the page")},$.setTargetingForAst=function(e){(0,i.logInfo)("Invoking pbjs.setTargetingForAn",arguments),I.iS.isApntagDefined()?(I.iS.setTargetingForAst(e),B.emit(W,I.iS.getAllTargeting())):(0,i.logError)("window.apntag is not defined on the page")},$.renderAd=(0,T.A_)("async",(function(e,t,n){(0,i.logInfo)("Invoking pbjs.renderAd",arguments),(0,i.logMessage)("Calling renderAd with adId :"+t),(0,l.BS)(e,t,n)})),$.removeAdUnit=function(e){if((0,i.logInfo)("Invoking pbjs.removeAdUnit",arguments),!e)return void($.adUnits=[]);let t;t=(0,i.isArray)(e)?e:[e],t.forEach((e=>{for(let t=$.adUnits.length-1;t>=0;t--)$.adUnits[t].code===e&&$.adUnits.splice(t,1)}))},$.requestBids=function(){const e=(0,T.A_)("async",(function(){let{bidsBackHandler:e,timeout:t,adUnits:n,adUnitCodes:r,labels:o,auctionId:s,ttlBuffer:a,ortb2:d,metrics:l,defer:u}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};B.emit(q);const g=t||E.$W.getConfig("bidderTimeout");(0,i.logInfo)("Invoking pbjs.requestBids",arguments),null==r||Array.isArray(r)||(r=[r]),r&&r.length?n=n.filter((e=>(0,c.mK)(r,e.code))):r=n&&n.map((e=>e.code)),r=r.filter(i.uniques);const f={global:(0,i.mergeDeep)({},E.$W.getAnyConfig("ortb2")||{},d||{}),bidder:Object.fromEntries(Object.entries(E.$W.getBidderConfig()).map((e=>{let[t,n]=e;return[t,n.ortb2]})).filter((e=>{let[t,n]=e;return null!=n})))};return(0,D.w)(k.k.resolve(f.global)).then((t=>(f.global=t,X({bidsBackHandler:e,timeout:g,adUnits:n,adUnitCodes:r,labels:o,auctionId:s,ttlBuffer:a,ortb2Fragments:f,metrics:l,defer:u}))))}),"requestBids");return(0,T.Y6)(e,(function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.adUnits||$.adUnits;return t.adUnits=(0,i.isArray)(n)?n.slice():[n],t.metrics=(0,R.K7)(),t.metrics.checkpoint("requestBids"),t.defer=(0,k.v)({promiseFactory:e=>new Promise(e)}),e.call(this,t),t.defer.promise}))}();const X=(0,T.A_)("async",(function(){let{bidsBackHandler:e,timeout:t,adUnits:n,ttlBuffer:r,adUnitCodes:s,labels:a,auctionId:d,ortb2Fragments:l,metrics:u,defer:g}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const f=(0,O.pX)(E.$W.getConfig("s2sConfig")||[]);function p(t,n,r){if("function"==typeof e)try{e(t,n,r)}catch(e){(0,i.logError)("Error executing bidsBackHandler",null,e)}g.resolve({bids:t,timedOut:n,auctionId:r})}!function(e){e.forEach((e=>(0,j.V0)(e)))}(n),n=(0,R.BO)(u).measureTime("requestBids.validate",(()=>J(n)));const m={};if(n.forEach((e=>{const t=Object.keys(e.mediaTypes||{banner:"banner"}),n=e.bids.map((e=>e.bidder)),o=O.Ay.bidderRegistry,s=n.filter((e=>!f.has(e)));e.adUnitId=(0,i.generateUUID)();const a=e.ortb2Imp?.ext?.tid;a&&(m.hasOwnProperty(e.code)?(0,i.logWarn)(`Multiple distinct ortb2Imp.ext.tid were provided for twin ad units '${e.code}'`):m[e.code]=a),null==r||e.hasOwnProperty("ttlBuffer")||(e.ttlBuffer=r),s.forEach((n=>{const r=o[n],s=r&&r.getSpec&&r.getSpec(),a=s&&s.supportedMediaTypes||["banner"];t.some((e=>(0,c.mK)(a,e)))||((0,i.logWarn)((0,i.unsupportedBidderMessage)(e,n)),e.bids=e.bids.filter((e=>e.bidder!==n)))}))})),n&&0!==n.length){n.forEach((e=>{const t=e.ortb2Imp?.ext?.tid||m[e.code]||(0,i.generateUUID)();m.hasOwnProperty(e.code)||(m[e.code]=t),e.transactionId=t,(0,o.J)(e,"ortb2Imp.ext.tid",t)}));const e=A.n.createAuction({adUnits:n,adUnitCodes:s,callback:p,cbTimeout:t,labels:a,auctionId:d,ortb2Fragments:l,metrics:u});let r=n.length;r>15&&(0,i.logInfo)(`Current auction ${e.getAuctionId()} contains ${r} adUnits.`,n),s.forEach((t=>I.iS.setLatestAuctionForAdUnit(t,e.getAuctionId()))),e.callBids()}else(0,i.logMessage)("No adUnits configured. No bids requested."),p()}),"startAuction");$.requestBids.before((function(e,t){function n(e){for(var t;t=e.shift();)t()}n(S.s0),n(Q),e.call(this,t)}),49),$.addAdUnits=function(e){(0,i.logInfo)("Invoking pbjs.addAdUnits",arguments),$.adUnits.push.apply($.adUnits,(0,i.isArray)(e)?e:[e]),B.emit(N)},$.onEvent=function(e,t,n){(0,i.logInfo)("Invoking pbjs.onEvent",arguments),(0,i.isFn)(t)?!n||P[e].call(null,n)?B.on(e,t,n):(0,i.logError)('The id provided is not valid for event "'+e+'" and no handler was set.'):(0,i.logError)('The event handler provided is not a function and was not set on event "'+e+'".')},$.offEvent=function(e,t,n){(0,i.logInfo)("Invoking pbjs.offEvent",arguments),n&&!P[e].call(null,n)||B.off(e,t,n)},$.getEvents=function(){return(0,i.logInfo)("Invoking pbjs.getEvents"),B.getEvents()},$.registerBidAdapter=function(e,t){(0,i.logInfo)("Invoking pbjs.registerBidAdapter",arguments);try{O.Ay.registerBidAdapter(e(),t)}catch(e){(0,i.logError)("Error registering bidder adapter : "+e.message)}},$.registerAnalyticsAdapter=function(e){(0,i.logInfo)("Invoking pbjs.registerAnalyticsAdapter",arguments);try{O.Ay.registerAnalyticsAdapter(e)}catch(e){(0,i.logError)("Error registering analytics adapter : "+e.message)}},$.createBid=function(e){return(0,i.logInfo)("Invoking pbjs.createBid",arguments),(0,C.O)(e)};const Q=[],Z=(0,T.A_)("async",(function(e){e&&!(0,i.isEmpty)(e)?((0,i.logInfo)("Invoking pbjs.enableAnalytics for: ",e),O.Ay.enableAnalytics(e)):(0,i.logError)("pbjs.enableAnalytics should be called with option {}")}),"enableAnalyticsCb");function ee(e){if("function"==typeof e)try{e.call()}catch(e){(0,i.logError)("Error processing command :",e.message,e.stack)}else(0,i.logError)("Commands written into pbjs.cmd.push must be wrapped in a function")}function te(e){e.forEach((function(e){if(void 0===e.called)try{e.call(),e.called=!0}catch(e){(0,i.logError)("Error processing command :","prebid.js",e)}}))}$.enableAnalytics=function(e){Q.push(Z.bind(this,e))},$.aliasBidder=function(e,t,n){(0,i.logInfo)("Invoking pbjs.aliasBidder",arguments),e&&t?O.Ay.aliasBidAdapter(e,t,n):(0,i.logError)("bidderCode and alias must be passed as arguments","pbjs.aliasBidder")},$.aliasRegistry=O.Ay.aliasRegistry,E.$W.getConfig("aliasRegistry",(e=>{"private"===e.aliasRegistry&&delete $.aliasRegistry})),$.getAllWinningBids=function(){return A.n.getAllWinningBids()},$.getAllPrebidWinningBids=function(){return A.n.getBidsReceived().filter((e=>e.status===d.tl.BID_TARGETING_SET))},$.getHighestCpmBids=function(e){return I.iS.getWinningBids(e)},$.clearAllAuctions=function(){A.n.clearAllAuctions()},$.markWinningBidAsUsed=function(e){let t,{adId:n,adUnitCode:r,analytics:o=!1}=e;r&&null==n?t=I.iS.getWinningBids(r):n?t=A.n.getBidsReceived().filter((e=>e.adId===n)):(0,i.logWarn)("Improper use of markWinningBidAsUsed. It needs an adUnitCode or an adId to function."),t.length>0&&(o?(0,l.n6)(t[0]):A.n.addWinningBid(t[0]),(0,l.qn)(t[0]))},$.getConfig=E.$W.getAnyConfig,$.readConfig=E.$W.readAnyConfig,$.mergeConfig=E.$W.mergeConfig,$.mergeBidderConfig=E.$W.mergeBidderConfig,$.setConfig=E.$W.setConfig,$.setBidderConfig=E.$W.setBidderConfig,$.que.push((()=>b())),$.processQueue=function(){$.que.push=$.cmd.push=ee,(0,l.XO)(),T.A_.ready(),te($.que),te($.cmd)},$.triggerBilling=e=>{let{adId:t,adUnitCode:n}=e;A.n.getAllWinningBids().filter((e=>e.adId===t||null==t&&e.adUnitCode===n)).forEach((e=>{O.Ay.triggerBilling(e),(0,l.vB)(e)}))}},7873:(e,t,n)=>{n.d(t,{E:()=>s,m:()=>o});const r=window,i=r.pbjs=r.pbjs||{};function o(){return i}function s(e){i.installedModules.push(e)}i.cmd=i.cmd||[],i.que=i.que||[],r===window&&(r._pbjsGlobals=r._pbjsGlobals||[],r._pbjsGlobals.push("pbjs"))},27934:(e,t,n)=>{n.d(t,{EN:()=>d,gR:()=>s});var r=n(43272),i=n(91069);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,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;return i.top!==i?e:function(){const o=a(i.document),s=i.location.href;return t===o&&s===n||(t=o,n=s,r=e()),r}}((c=window,function(){const e=[],t=function(e){try{if(!e.location.ancestorOrigins)return;return e.location.ancestorOrigins}catch(e){}}(c),n=r.$W.getConfig("maxNestedIframes");let d,l,u,g,f=!1,p=0,m=!1,h=!1,b=!1;do{const n=d,r=h;let o,s=!1,g=null;h=!1,d=d?d.parent:c;try{o=d.location.href||null}catch(e){s=!0}if(s)if(r){const e=n.context;try{g=e.sourceUrl,l=g,b=!0,m=!0,d===c.top&&(f=!0),e.canonicalUrl&&(u=e.canonicalUrl)}catch(e){}}else{(0,i.logWarn)("Trying to access cross domain iframe. Continuing without referrer and location");try{const e=n.document.referrer;e&&(g=e,d===c.top&&(f=!0))}catch(e){}!g&&t&&t[p-1]&&(g=t[p-1],d===c.top&&(b=!0)),g&&!m&&(l=g)}else{if(o&&(g=o,l=g,m=!1,d===c.top)){f=!0;const e=a(d.document);e&&(u=e)}d.context&&d.context.sourceUrl&&(h=!0)}e.push(g),p++}while(d!==c.top&&p<n);e.reverse();try{g=c.top.document.referrer}catch(e){}const y=f||b?l:null,v=r.$W.getConfig("pageUrl")||u||null;let E=r.$W.getConfig("pageUrl")||y||o(v,c);return y&&y.indexOf("?")>-1&&-1===E.indexOf("?")&&(E=`${E}${y.substring(y.indexOf("?"))}`),{reachedTop:f,isAmp:m,numIframes:p-1,stack:e,topmostLocation:l||null,location:y,canonicalUrl:v,page:E,domain:s(E)||null,ref:g||null,legacy:{reachedTop:f,isAmp:m,numIframes:p-1,stack:e,referer:l||null,canonicalUrl:v}}}));var c},12938:(e,t,n)=>{n.d(t,{CK:()=>b,X0:()=>f,qk:()=>g,s0:()=>p,vM:()=>h});var r=n(91069),i=n(12693),o=n(45569),s=n(95139),a=n(2604),d=n(76811),c=n(43272),l=n(11445),u=n(83441);const g="html5",f="cookie";let p=[];function m(){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 i(r,i){let s=e;const g=c.$W.getCurrentBidder();g&&t===o.tW&&l.Ay.aliasRegistry[g]===e&&(s=g);return r({valid:n(d.Ue,(0,u.s)(t,s,{[a.Zw]:i}))})}function m(e,t,n){if(!n||"function"!=typeof n)return i(e,t);p.push((function(){let r=i(e,t);n(r)}))}function h(e){const t=e.charAt(0).toUpperCase()+e.substring(1),n=()=>window[e],i=function(t){return m((function(t){if(t&&t.valid)try{return!!n()}catch(t){(0,r.logError)(`${e} api disabled`)}return!1}),g,t)};return{[`has${t}`]:i,[`${e}IsEnabled`]:e=>m((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}),g,e),[`setDataIn${t}`]:(e,t,r)=>m((function(r){r&&r.valid&&i()&&n().setItem(e,t)}),g,r),[`getDataFrom${t}`]:(e,t)=>m((function(t){return t&&t.valid&&i()?n().getItem(e):null}),g,t),[`removeDataFrom${t}`]:(e,t)=>m((function(t){t&&t.valid&&i()&&n().removeItem(e)}),g,t)}}return{setCookie:function(e,t,n,r,i,o){return m((function(o){if(o&&o.valid){const o=i&&""!==i?` ;domain=${encodeURIComponent(i)}`:"",s=n&&""!==n?` ;expires=${n}`:"",a=null!=r&&"none"==r.toLowerCase()?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}${s}; path=/${o}${r?`; SameSite=${r}`:""}${a}`}}),f,o)},getCookie:function(e,t){return m((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}),f,t)},cookiesAreEnabled:function(e){return m((function(e){return!(!e||!e.valid)&&(0,r.checkCookieSupport)()}),f,e)},...h("localStorage"),...h("sessionStorage"),findSimilarCookies:function(e,t){return m((function(t){if(t&&t.valid){const t=[];if((0,r.hasDeviceAccess)()){const n=document.cookie.split(";");for(;n.length;){const r=n.pop();let i=r.indexOf("=");i=i<0?r.length:i;decodeURIComponent(r.slice(0,i).replace(/^\s+/,"")).indexOf(e)>=0&&t.push(decodeURIComponent(r.slice(i+1)))}}return t}}),f,t)}}}function h(){let{moduleType:e,moduleName:t,bidderCode:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};function r(){throw new Error("Invalid invocation for getStorageManager: must set either bidderCode, or moduleType + moduleName")}return n?((e&&e!==o.tW||t)&&r(),e=o.tW,t=n):t&&e||r(),m({moduleType:e,moduleName:t})}function b(e){return m({moduleName:e,moduleType:o.tp})}(0,s.qB)(d.Ue,"deviceAccess config",(function(){if(!(0,r.hasDeviceAccess)())return{allow:!1}})),(0,s.qB)(d.Ue,"bidderSettings.*.storageAllowed",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.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}}))},97779:(e,t,n)=>{n.d(t,{Jp:()=>C,ME:()=>w,Yl:()=>T,iS:()=>O,m2:()=>S,uW:()=>I});var r=n(67314),i=n(27863),o=n(12693),s=n(43272),a=n(78969),d=n(75023),c=n(16833),l=n(71371),u=n(12449),g=n(15901),f=n(91069),p=n(70433),m=n(12713),h=[];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,i.L)(e)>(0,f.timestamp)(),isUnusedBid:e=>e&&(e.status&&!(0,g.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,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:f.sortByHighestCpm;if(!r){const r=[],o=s.$W.getConfig("sendBidsControl.dealPrioritization");let a=(0,f.groupBy)(e,"adUnitCode");return Object.keys(a).forEach((e=>{let s=[],d=(0,f.groupBy)(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)),r.push(...s.slice(0,n))):(s=s.sort(i),r.push(...s))})),r}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 S(e,t){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>window.googletag.pubads().getSlots())().reduce(((e,n)=>{const r=(0,f.isFn)(t)&&t(n);return Object.keys(e).filter((0,f.isFn)(r)?r:(0,f.isAdUnitCodeMatchingSlot)(n)).forEach((t=>e[t].push(n))),e}),Object.fromEntries(e.map((e=>[e,[]]))))}const O=function(e){let t={},n={};function r(e){let t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!(arguments.length>1&&void 0!==arguments[1]&&arguments[1]))return[];const n=A.concat(u.Nh),r=s.$W.getConfig("targetingControls.allowSendAllBidsTargetingKeys"),i=r?r.map((e=>a.xS[e])):n;return e.reduce(((e,r)=>{if(!t||r.dealId){const o=function(e,t){return t.reduce(((t,n)=>(e.adserverTargeting[n]&&t.push({[`${n}_${e.bidderCode}`.substring(0,20)]:[e.adserverTargeting[n]]}),t)),[])}(r,n.filter((e=>void 0!==r.adserverTargeting[e]&&(t||-1!==i.indexOf(e)))));o&&e.push({[r.adUnitCode]:o})}return e}),[])}function i(t){return"string"==typeof t?[t]:(0,f.isArray)(t)?t:e.getAdUnitCodes()||[]}function I(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:m.Bq,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=e.getBidsReceived().reduce(((e,t)=>{const r=s.$W.getConfig("useBidCache"),i=s.$W.getConfig("bidCacheFilterFunction"),o=n[t.adUnitCode]===t.auctionId,a=!(r&&!o&&"function"==typeof i)||!!i(t);return(r||o)&&a&&(0,p.A)(t,"video.context")!==l.LM&&T(t)&&(t.latestTargetedAuctionId=n[t.adUnitCode],e.push(t)),e}),[]);return w(i,t,void 0,void 0,void 0,r)}function O(){return e.getStandardBidderAdServerTargeting().map((e=>e.key)).concat(A).filter(f.uniques)}return t.setLatestAuctionForAdUnit=function(e,t){n[e]=t},t.resetPresetTargeting=function(e,t){if((0,f.isGptPubadsDefined)()){const n=i(e);Object.values(S(n,t)).forEach((e=>{e.forEach((e=>{!function(e){h.forEach((t=>{e.getTargeting(t)&&e.clearTargeting(t)}))}(e)}))}))}},t.resetPresetTargetingAST=function(e){i(e).forEach((function(e){const t=window.apntag.getTag(e);if(t&&t.keywords){const n=Object.keys(t.keywords),r={};n.forEach((e=>{(0,g.mK)(h,e.toLowerCase())||(r[e]=t.keywords[e])})),window.apntag.modifyTag(e,{keywords:r})}}))},t.getAllTargeting=function(t,n,d){let c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:m.Vk,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:f.sortByHighestCpm;d||=I(c,l);const A=i(t),T=s.$W.getConfig("enableSendAllBids"),S=s.$W.getConfig("sendBidsControl.bidLimit"),B=T&&(n||S)||0,{customKeysByUnit:R,filteredBids:k}=function(e,t){const n=[],r={},i=s.$W.getConfig("targetingControls.alwaysIncludeDeals");return t.forEach((t=>{const s=(0,g.mK)(e,t.adUnitCode),a=!0===o.u.get(t.bidderCode,"allowZeroCpmBids")?t.cpm>=0:t.cpm>0,d=i&&t.dealId;s&&(d||a)&&(n.push(t),Object.keys(t.adserverTargeting).filter(function(){let e=O();e=e.concat(u.Nh);return function(t){return-1===e.indexOf(t)}}()).forEach((e=>{const n=e.substring(0,b),i=r[t.adUnitCode]||{},o=[t.adserverTargeting[e]];i[n]?i[n]=i[n].concat(o).filter(f.uniques):i[n]=o,r[t.adUnitCode]=i})))})),{filteredBids:n,customKeysByUnit:r}}(A,d);let D=function(t,n){const i=function(e){let t=[],n=e.reduce(((e,n)=>((0,g.mK)(t,n.adUnitCode)||(e.push(n),t.push(n.adUnitCode)),e)),[]),r=O();return n=n.map((e=>({[e.adUnitCode]:Object.keys(e.adserverTargeting).filter((t=>void 0===e.sendStandardTargeting||e.sendStandardTargeting||-1===r.indexOf(t))).reduce(((t,n)=>{const r=[e.adserverTargeting[n]],i={[n.substring(0,b)]:r};if(n===a.xS.DEAL){const o=`${n}_${e.bidderCode}`.substring(0,b),s={[o]:r};return[...t,i,s]}return[...t,i]}),[])}))),n}(t).concat(function(e,t){return e.reduce(((e,n)=>{const r=Object.assign({},n),i=t[r.adUnitCode],o=[];return i&&Object.keys(i).forEach((e=>{e&&i[e]&&o.push({[e]:i[e]})})),e.push({[r.adUnitCode]:o}),e}),[])}(t,n)).concat(function(e){const t=s.$W.getConfig("targetingControls.alwaysIncludeDeals");return r(e,s.$W.getConfig("enableSendAllBids")||t,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,f.isStr)(n[e])&&(n[e]=n[e].split(",").map((e=>e.trim()))),(0,f.isArray)(n[e])||(n[e]=[n[e]]),{[e]:n[e]}}))}return e.getAdUnits().filter((e=>t(e))).reduce(((e,t)=>{const r=n(t);return r&&e.push({[t.code]:r}),e}),[])}());return i.forEach((e=>{!function(e){Object.keys(e).forEach((t=>{e[t].forEach((e=>{const t=Object.keys(e);-1===h.indexOf(t[0])&&(h=t.concat(h))}))}))}(e)})),i}(w(k,c,B,void 0,l),R);const U=Object.keys(Object.assign({},a.Zh,a.x5));let _=s.$W.getConfig(y);const j=s.$W.getConfig(v);if(null!=j&&null!=_)throw new Error(E);_=null!=j?U.concat(j):_||U,Array.isArray(_)&&_.length>0&&(D=function(e,t){const n=Object.assign({},a.xS,a.x5),r=Object.keys(n),i={};(0,f.logInfo)(`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===r.filter((e=>0===o.indexOf(n[e]))).length||(0,g.I6)(t,(e=>{const t=n[e];return 0===o.indexOf(t)}));return i[o]=!s,s}));e[o]=s}));const o=Object.keys(i).filter((e=>i[e]));return(0,f.logInfo)(`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 $=s.$W.getConfig("targetingControls.auctionKeyMaxChars");return $&&((0,f.logInfo)(`Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ${$} characters. Running checks on auction keys...`),D=function(e,t){let n=(0,f.deepClone)(e),r=Object.keys(n).map((e=>({adUnitCode:e,adserverTargeting:n[e]}))).sort(C());return r.reduce((function(e,r,i,o){let s=(a=r.adserverTargeting,Object.keys(a).reduce((function(e,t){return e+`${t}%3d${encodeURIComponent(a[t])}%26`}),""));var a;i+1===o.length&&(s=s.slice(0,-3));let d=r.adUnitCode,c=s.length;return c<=t?(t-=c,(0,f.logInfo)(`AdUnit '${d}' auction keys comprised of ${c} characters. Deducted from running threshold; new limit is ${t}`,n[d]),e[d]=n[d]):(0,f.logWarn)(`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]),i+1===o.length&&0===Object.keys(e).length&&(0,f.logError)("No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting."),e}),{})}(D,$)),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,f.logError)(E)})),t.setTargetingForGPT=(0,c.A_)("sync",(function(n,r){let i=t.getAllTargeting(n),o=Object.fromEntries(h.map((e=>[e,null])));Object.entries(S(Object.keys(i),r)).forEach((e=>{let[t,n]=e;n.forEach((e=>{Object.keys(i[t]).forEach((e=>{let n=i[t][e];"string"==typeof n&&-1!==n.indexOf(",")&&(n=n.split(",")),i[t][e]=n})),(0,f.logMessage)(`Attempting to set targeting-map for slot: ${e.getSlotElementId()} with targeting-map:`,i[t]),e.updateTargetingFromMap(Object.assign({},o,i[t]))}))})),Object.keys(i).forEach((t=>{Object.keys(i[t]).forEach((n=>{"hb_adid"===n&&e.setStatusForBids(i[t][n],a.tl.BID_TARGETING_SET)}))})),t.targetingDone(i),d.emit(a.qY.SET_TARGETING,i)}),"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]:m.Vk,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:f.sortByHighestCpm;const a=[],d=t||I(n,r),c=i(e);return d.reduce(((e,t)=>{const n=t.adUnitCode,r=!0===o.u.get(n,"allowZeroCpmBids")?t.cpm>=0:t.cpm>0,i=s.$W.getConfig("targetingControls.alwaysIncludeDeals")&&t.dealId;return(0,g.mK)(c,n)&&!(0,g.mK)(a,n)&&(i||r)&&(e.push(t),a.push(n)),e}),[])},t.setTargetingForAst=function(e){let n=t.getAllTargeting(e);try{t.resetPresetTargetingAST(e)}catch(e){(0,f.logError)("unable to reset targeting for AST"+e)}Object.keys(n).forEach((e=>Object.keys(n[e]).forEach((t=>{if((0,f.logMessage)(`Attempting to set targeting for targetId: ${e} key: ${t} value: ${n[e][t]}`),(0,f.isStr)(n[e][t])||(0,f.isArray)(n[e][t])){let r={},i=/pt[0-9]/;t.search(i)<0?r[t.toUpperCase()]=n[e][t]:r[t]=n[e][t],window.apntag.setKeywords(e,r,{overrideKeyValue:!0})}}))))},t.isApntagDefined=function(){if(window.apntag&&(0,f.isFn)(window.apntag.setKeywords))return!0},t}(r.n)},38230:(e,t,n)=>{n.d(t,{qh:()=>g,zt:()=>p});var r=n(91069),i=n(43272),o=n(15901),s=n(12938),a=n(95139),d=n(76811),c=n(2604),l=n(45569),u=n(83441);const g={syncEnabled:!0,filterSettings:{image:{bidders:"*",filter:"include"}},syncsPerBidder:5,syncDelay:3e3,auctionDelay:500};i.$W.setDefaults({userSync:(0,r.deepClone)(g)});const f=(0,s.CK)("usersync");const p=function(e){let t={},n={image:[],iframe:[]},s=new Set,a={},g={image:!0,iframe:!1},f=e.config;function p(){if(f.syncEnabled&&e.browserSupportsCookies){try{!function(){if(!g.iframe)return;m(n.iframe,(e=>{let[t,i]=e;(0,r.logMessage)(`Invoking iframe user sync for bidder: ${t}`),(0,r.insertUserSyncIframe)(i),function(e,t){e.image=e.image.filter((e=>e[0]!==t))}(n,t)}))}(),function(){if(!g.image)return;m(n.image,(e=>{let[t,n]=e;(0,r.logMessage)(`Invoking image pixel user sync for bidder: ${t}`),(0,r.triggerPixel)(n)}))}()}catch(e){return(0,r.logError)("Error firing user syncs",e)}n={image:[],iframe:[]}}}function m(e,t){(0,r.shuffle)(e).forEach(t)}function h(e,t){let n=f.filterSettings;if(function(e,t){if(e.all&&e[t])return(0,r.logWarn)(`Detected presence of the "filterSettings.all" and "filterSettings.${t}" in userSync config. You cannot mix "all" with "iframe/image" configs; they are mutually exclusive.`),!1;let n=e.all?e.all:e[t],i=e.all?"all":t;if(!n)return!1;let o=n.filter,s=n.bidders;if(o&&"include"!==o&&"exclude"!==o)return(0,r.logWarn)(`UserSync "filterSettings.${i}.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,r.isStr)(e)&&"*"!==e))))return(0,r.logWarn)(`Detected an invalid setup in userSync "filterSettings.${i}.bidders"; use either '*' (to represent all bidders) or an array of bidders.`),!1;return!0}(n,e)){g[e]=!0;let r=n.all?n.all:n[e],i="*"===r.bidders?[t]:r.bidders;const s={include:(e,t)=>!(0,o.mK)(e,t),exclude:(e,t)=>(0,o.mK)(e,t)};return s[r.filter||"include"](i,t)}return!g[e]}return i.$W.getConfig("userSync",(e=>{if(e.userSync){let t=e.userSync.filterSettings;(0,r.isPlainObject)(t)&&(t.image||t.all||(e.userSync.filterSettings.image={bidders:"*",filter:"include"}))}f=Object.assign(f,e.userSync)})),e.regRule(d.Ml,"userSync config",(e=>{if(!f.syncEnabled)return{allow:!1,reason:"syncs are disabled"};if(e[c.Dk]===l.tW){const n=e[c.bt],r=e[c.iK];if(!t.canBidderRegisterSync(n,r))return{allow:!1,reason:`${n} syncs are not enabled for ${r}`}}})),t.registerSync=(t,i,o)=>s.has(i)?(0,r.logMessage)(`already fired syncs for "${i}", ignoring registerSync call`):f.syncEnabled&&(0,r.isArray)(n[t])?i?0!==f.syncsPerBidder&&Number(a[i])>=f.syncsPerBidder?(0,r.logWarn)(`Number of user syncs exceeded for "${i}"`):void(e.isAllowed(d.Ml,(0,u.s)(l.tW,i,{[c.bt]:t,[c.e3]:o}))&&(n[t].push([i,o]),a=function(e,t){return e[t]?e[t]+=1:e[t]=1,e}(a,i))):(0,r.logWarn)("Bidder is required for registering sync"):(0,r.logWarn)(`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=()=>{f.enableOverride&&t.syncUsers()},t.canBidderRegisterSync=(e,t)=>!f.filterSettings||!h(e,t),t}(Object.defineProperties({config:i.$W.getConfig("userSync"),isAllowed:a.io,regRule:a.qB},{browserSupportsCookies:{get:function(){return!(0,r.isSafariBrowser)()&&f.cookiesAreEnabled()}}}))},91069:(e,t,n)=>{n.r(t),n.d(t,{_each:()=>fe,_map:()=>me,_setEventEmitter:()=>w,binarySearch:()=>yt,buildUrl:()=>dt,canAccessWindowTop:()=>H,checkCookieSupport:()=>ze,cleanObj:()=>nt,compareCodeAndSlot:()=>Qe,contains:()=>pe,convertObjectToArray:()=>ht,createIframe:()=>te,createInvisibleIframe:()=>ne,createTrackPixelHtml:()=>Ae,createTrackPixelIframeHtml:()=>Te,cyrb53Hash:()=>ut,debugTurnedOn:()=>ee,deepAccess:()=>c.A,deepClone:()=>_e,deepEqual:()=>ct,deepSetValue:()=>l.J,delayExecution:()=>He,encodeMacroURI:()=>Ie,extractDomainFromHost:()=>At,flatten:()=>Ce,formatQS:()=>st,generateUUID:()=>U,getBidIdParameter:()=>_,getBidRequest:()=>Se,getBidderCodes:()=>Be,getDNT:()=>Xe,getDefinedParams:()=>Ke,getDomLoadingDuration:()=>Fe,getParameterByName:()=>re,getPerformanceNow:()=>Ge,getPrebidInternal:()=>B,getSafeframeGeometry:()=>xe,getUniqueIdentifierStr:()=>D,getUnixTimestampFromNow:()=>mt,getUserConfiguredParams:()=>Ye,getValue:()=>Oe,getWindowLocation:()=>z,getWindowSelf:()=>L,getWindowTop:()=>F,groupBy:()=>Ve,hasConsoleLogger:()=>Z,hasDeviceAccess:()=>Le,hasNonSerializableProperty:()=>vt,inIframe:()=>je,insertElement:()=>he,insertHtmlIntoIframe:()=>ve,insertUserSyncIframe:()=>Ee,internal:()=>S,isA:()=>ie,isAdUnitCodeMatchingSlot:()=>Ze,isApnGetTagDefined:()=>ke,isArray:()=>ae,isArrayOfNums:()=>it,isBoolean:()=>le,isEmpty:()=>ue,isEmptyStr:()=>ge,isFn:()=>oe,isGptPubadsDefined:()=>Re,isInteger:()=>tt,isNumber:()=>de,isPlainObject:()=>ce,isSafariBrowser:()=>Ne,isSafeFrameWindow:()=>$e,isStr:()=>se,isValidMediaTypes:()=>Je,logError:()=>Y,logInfo:()=>K,logMessage:()=>V,logWarn:()=>J,memoize:()=>pt,mergeDeep:()=>lt,parseGPTSingleSizeArray:()=>W,parseGPTSingleSizeArrayToRtbSize:()=>M,parseQS:()=>ot,parseQueryStringParameters:()=>j,parseSizesInput:()=>N,parseUrl:()=>at,pick:()=>rt,prefixLog:()=>X,replaceAuctionPrice:()=>We,replaceClickThrough:()=>Pe,replaceMacros:()=>qe,safeJSONEncode:()=>ft,safeJSONParse:()=>gt,setOnAny:()=>Et,setScriptAttributes:()=>bt,shuffle:()=>Ue,sizeTupleToRtbSize:()=>P,sizeTupleToSizeString:()=>q,sizesToSizeTuples:()=>x,sortByHighestCpm:()=>De,timestamp:()=>Me,transformAdServerTargetingObj:()=>$,triggerNurlWithCpm:()=>It,triggerPixel:()=>ye,uniques:()=>we,unsupportedBidderMessage:()=>et,waitForElementToLoad:()=>be});var r=n(43272),i=n(45751),o=n(15901),s=n(78969),a=n(25555),d=n(7873),c=n(70433),l=n(63172),u="String",g="Function",f="Number",p="Object",m="Boolean",h=Object.prototype.toString;let b,y=Boolean(window.console),v=Boolean(y&&window.console.log),E=Boolean(y&&window.console.info),A=Boolean(y&&window.console.warn),I=Boolean(y&&window.console.error);const T=(0,d.m)();function w(e){b=e}function C(){null!=b&&b(...arguments)}const S={checkCookieSupport:ze,createTrackPixelIframeHtml:Te,getWindowSelf:L,getWindowTop:F,canAccessWindowTop:H,getWindowLocation:z,insertUserSyncIframe:Ee,insertElement:he,isFn:oe,triggerPixel:ye,logError:Y,logWarn:J,logMessage:V,logInfo:K,parseQS:ot,formatQS:st,deepEqual:ct};let O={};function B(){return O}var R,k=(R=0,function(){return++R});function D(){return k()+Math.random().toString(16).substr(2)}function U(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,U)}function _(e,t){return t?.[e]||""}function j(e){let t="";for(var n in e)e.hasOwnProperty(n)&&(t+=n+"="+encodeURIComponent(e[n])+"&");return t=t.replace(/&$/,""),t}function $(e){return e&&Object.getOwnPropertyNames(e).length>0?Object.keys(e).map((t=>`${t}=${encodeURIComponent(e[t])}`)).join("&"):""}function x(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,r]=e;return[parseInt(n,10),parseInt(r,10)]})):Array.isArray(e)?G(e)?[e]:e.filter(G):[]}function N(e){return x(e).map(q)}function q(e){return e[0]+"x"+e[1]}function W(e){if(G(e))return q(e)}function P(e){return{w:e[0],h:e[1]}}function M(e){if(G(e))return P(e)}function G(e){return ae(e)&&2===e.length&&!isNaN(e[0])&&!isNaN(e[1])}function F(){return window.top}function L(){return window.self}function z(){return window.location}function H(){try{if(S.getWindowTop().location.href)return!0}catch(e){return!1}}function V(){ee()&&v&&console.log.apply(console,Q(arguments,"MESSAGE:"))}function K(){ee()&&E&&console.info.apply(console,Q(arguments,"INFO:"))}function J(){ee()&&A&&console.warn.apply(console,Q(arguments,"WARNING:")),C(s.qY.AUCTION_DEBUG,{type:"WARNING",arguments})}function Y(){ee()&&I&&console.error.apply(console,Q(arguments,"ERROR:")),C(s.qY.AUCTION_DEBUG,{type:"ERROR",arguments})}function X(e){function t(t){return function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];t(e,...r)}}return{logError:t(Y),logWarn:t(J),logMessage:t(V),logInfo:t(K)}}function Q(e,t){e=[].slice.call(e);let n=r.$W.getCurrentBidder();return t&&e.unshift(t),n&&e.unshift(i("#aaa")),e.unshift(i("#3b88c3")),e.unshift("%cPrebid"+(n?`%c${n}`:"")),e;function i(e){return`display: inline-block; color: #fff; background: ${e}; padding: 1px 4px; border-radius: 3px;`}}function Z(){return v}function ee(){return!!r.$W.getConfig("debug")}const te=(()=>{const e={border:"0px",hspace:"0",vspace:"0",marginWidth:"0",marginHeight:"0",scrolling:"no",frameBorder:"0",allowtransparency:"true"};return function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=t.createElement("iframe");return Object.assign(i,Object.assign({},e,n)),Object.assign(i.style,r),i}})();function ne(){return te(document,{id:D(),width:0,height:0,src:"about:blank"},{display:"none",height:"0px",width:"0px",border:"0px"})}function re(e){return ot(z().search)[e]||""}function ie(e,t){return h.call(e)==="[object "+t+"]"}function oe(e){return ie(e,g)}function se(e){return ie(e,u)}const ae=Array.isArray.bind(Array);function de(e){return ie(e,f)}function ce(e){return ie(e,p)}function le(e){return ie(e,m)}function ue(e){return!e||(ae(e)||se(e)?!(e.length>0):Object.keys(e).length<=0)}function ge(e){return se(e)&&(!e||0===e.length)}function fe(e,t){if(oe(e?.forEach))return e.forEach(t,this);Object.entries(e||{}).forEach((e=>{let[n,r]=e;return t.call(this,r,n)}))}function pe(e,t){return oe(e?.includes)&&e.includes(t)}function me(e,t){return oe(e?.map)?e.map(t):Object.entries(e||{}).map((n=>{let[r,i]=n;return t(i,r,e)}))}function he(e,t,n,r){let i;t=t||document,i=n?t.getElementsByTagName(n):t.getElementsByTagName("head");try{if(i=i.length?i:t.getElementsByTagName("body"),i.length){i=i[0];let t=r?null:i.firstChild;return i.insertBefore(e,t)}}catch(e){}}function be(e,t){let n=null;return new a.k((r=>{const i=function(){e.removeEventListener("load",i),e.removeEventListener("error",i),null!=n&&window.clearTimeout(n),r()};e.addEventListener("load",i),e.addEventListener("error",i),null!=t&&(n=window.setTimeout(i,t))}))}function ye(e,t,n){const r=new Image;t&&S.isFn(t)&&be(r,n).then(t),r.src=e}function ve(e){if(!e)return;const t=ne();var n;S.insertElement(t,document,"body"),(n=t.contentWindow.document).open(),n.write(e),n.close()}function Ee(e,t,n){let r=S.createTrackPixelIframeHtml(e,!1,"allow-scripts allow-same-origin"),i=document.createElement("div");i.innerHTML=r;let o=i.firstChild;t&&S.isFn(t)&&be(o,n).then(t),S.insertElement(o,document,"html",!0)}function Ae(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 Ie(e){return Array.from(e.matchAll(/\$({[^}]+})/g)).map((e=>e[1])).reduce(((e,t)=>e.replace("$"+encodeURIComponent(t),"$"+t)),encodeURI(e))}function Te(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e?((!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(e=encodeURI(e)),t&&(t=`sandbox="${t}"`),`<iframe ${t} id="${D()}"\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>`):""}function we(e,t,n){return n.indexOf(e)===t}function Ce(e,t){return e.concat(t)}function Se(e,t){if(e)return t.flatMap((e=>e.bids)).find((t=>["bidId","adId","bid_id"].some((n=>t[n]===e))))}function Oe(e,t){return e[t]}function Be(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:T.adUnits).map((e=>e.bids.map((e=>e.bidder)).reduce(Ce,[]))).reduce(Ce,[]).filter((e=>void 0!==e)).filter(we)}function Re(){if(window.googletag&&oe(window.googletag.pubads)&&oe(window.googletag.pubads().getSlots))return!0}function ke(){if(window.apntag&&oe(window.apntag.getTag))return!0}const De=(e,t)=>t.cpm-e.cpm;function Ue(e){let t=e.length;for(;t>0;){let n=Math.floor(Math.random()*t);t--;let r=e[t];e[t]=e[n],e[n]=r}return e}function _e(e){return(0,i.Q)(e)||{}}function je(){try{return S.getWindowSelf()!==S.getWindowTop()}catch(e){return!0}}function $e(){if(!je())return!1;const e=S.getWindowSelf();return!(!e.$sf||!e.$sf.ext)}function xe(){try{const e=L();return"function"==typeof e.$sf.ext.geom?e.$sf.ext.geom():void 0}catch(e){return void Y("Error getting SafeFrame geometry",e)}}function Ne(){return/^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent)}function qe(e,t){if(e)return Object.entries(t).reduce(((e,t)=>{let[n,r]=t;return e.replace(new RegExp("\\$\\{"+n+"\\}","g"),r||"")}),e)}function We(e,t){return qe(e,{AUCTION_PRICE:t})}function Pe(e,t){if(e&&t&&"string"==typeof t)return e.replace(/\${CLICKTHROUGH}/g,t)}function Me(){return(new Date).getTime()}function Ge(){return window.performance&&window.performance.now&&window.performance.now()||0}function Fe(e){let t=-1;const n=(e=e||L()).performance;if(e.performance?.timing&&e.performance.timing.navigationStart>0){const e=n.timing.domLoading-n.timing.navigationStart;e>0&&(t=e)}return t}function Le(){return!1!==r.$W.getConfig("deviceAccess")}function ze(){if(window.navigator.cookieEnabled||document.cookie.length)return!0}function He(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 Ve(e,t){return e.reduce((function(e,n){return(e[n[t]]=e[n[t]]||[]).push(n),e}),{})}function Ke(e,t){return t.filter((t=>e[t])).reduce(((t,n)=>Object.assign(t,{[n]:e[n]})),{})}function Je(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 Ye(e,t,n){return e.filter((e=>e.code===t)).flatMap((e=>e.bids)).filter((e=>e.bidder===n)).map((e=>e.params||{}))}function Xe(){return"1"===navigator.doNotTrack||"1"===window.doNotTrack||"1"===navigator.msDoNotTrack||"yes"===navigator.doNotTrack}const Qe=(e,t)=>e.getAdUnitPath()===t||e.getSlotElementId()===t;function Ze(e){return t=>Qe(e,t)}function et(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 tt=Number.isInteger.bind(Number);function nt(e){return Object.fromEntries(Object.entries(e).filter((e=>{let[t,n]=e;return void 0!==n})))}function rt(e,t){return"object"!=typeof e?{}:t.reduce(((n,r,i)=>{if("function"==typeof r)return n;let o=r,s=r.match(/^(.+?)\sas\s(.+?)$/i);s&&(r=s[1],o=s[2]);let a=e[r];return"function"==typeof t[i+1]&&(a=t[i+1](a,n)),void 0!==a&&(n[o]=a),n}),{})}function it(e,t){return ae(e)&&(!t||e.length===t)&&e.every((e=>tt(e)))}function ot(e){return e?e.replace(/^\?/,"").split("&").reduce(((e,t)=>{let[n,r]=t.split("=");return/\[\]$/.test(n)?(n=n.replace("[]",""),e[n]=e[n]||[],e[n].push(r)):e[n]=r||"",e}),{}):{}}function st(e){return Object.keys(e).map((t=>Array.isArray(e[t])?e[t].map((e=>`${t}[]=${e}`)).join("&"):`${t}=${e[t]}`)).join("&")}function at(e,t){let n=document.createElement("a");t&&"noDecodeWholeURL"in t&&t.noDecodeWholeURL?n.href=e:n.href=decodeURIComponent(e);let r=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:r?n.search:S.parseQS(n.search||""),hash:(n.hash||"").replace(/^#/,""),host:n.host||window.location.host}}function dt(e){return(e.protocol||"http")+"://"+(e.host||e.hostname+(e.port?`:${e.port}`:""))+(e.pathname||"")+(e.search?`?${S.formatQS(e.search||"")}`:"")+(e.hash?`#${e.hash}`:"")}function ct(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 r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let i of r){if(!t.hasOwnProperty(i))return!1;if(!ct(e[i],t[i],{checkTypes:n}))return!1}return!0}}function lt(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(!n.length)return e;const i=n.shift();if(ce(e)&&ce(i))for(const t in i)ce(i[t])?(e[t]||Object.assign(e,{[t]:{}}),lt(e[t],i[t])):ae(i[t])?e[t]?ae(e[t])&&i[t].forEach((n=>{let r=1;for(let i=0;i<e[t].length;i++)if(ct(e[t][i],n)){r=0;break}r&&e[t].push(n)})):Object.assign(e,{[t]:[...i[t]]}):Object.assign(e,{[t]:i[t]});return lt(e,...n)}function ut(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=function(e,t){if(oe(Math.imul))return Math.imul(e,t);var n=(4194303&e)*(t|=0);return 4290772992&e&&(n+=(4290772992&e)*t|0),0|n},r=3735928559^t,i=1103547991^t;for(let t,o=0;o<e.length;o++)t=e.charCodeAt(o),r=n(r^t,2654435761),i=n(i^t,1597334677);return r=n(r^r>>>16,2246822507)^n(i^i>>>13,3266489909),i=n(i^i>>>16,2246822507)^n(r^r>>>13,3266489909),(4294967296*(2097151&i)+(r>>>0)).toString()}function gt(e){try{return JSON.parse(e)}catch(e){}}function ft(e){try{return JSON.stringify(e)}catch(e){return""}}function pt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e};const n=new Map,r=function(){const r=t.apply(this,arguments);return n.has(r)||n.set(r,e.apply(this,arguments)),n.get(r)};return r.clear=n.clear.bind(n),r}function mt(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"d";if(["m","d"].indexOf(t)<0)return Date.now();const n=e/("m"===t?1440:1);return Date.now()+(e&&e>0?864e5*n:0)}function ht(e){return Object.keys(e).map((t=>({[t]:e[t]})))}function bt(e,t){Object.entries(t).forEach((t=>{let[n,r]=t;return e.setAttribute(n,r)}))}function yt(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e=>e,r=0,i=e.length&&e.length-1;const o=n(t);for(;i-r>1;){const t=r+Math.round((i-r)/2);o>n(e[t])?r=t:i=t}for(;e.length>r&&o>n(e[r]);)r++;return r}function vt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;for(const n in e){const r=e[n],i=typeof r;if(void 0===r||"function"===i||"symbol"===i||r instanceof RegExp||r instanceof Map||r instanceof Set||r instanceof Date||null!==r&&"object"===i&&r.hasOwnProperty("toJSON"))return!0;if(null!==r&&"object"===i&&r.constructor===Object){if(t.has(r))return!0;if(t.add(r),vt(r,t))return!0}}return!1}function Et(e,t){for(let n,r=0;r<e.length;r++)if(n=(0,c.A)(e[r],t),n)return n}function At(e){let t=null;try{let n=/[-\w]+\.([-\w]+|[-\w]{3,}|[-\w]{1,3}\.[-\w]{2})$/i.exec(e);if(null!=n&&n.length>0){t=n[0];for(let e=1;e<n.length;e++)n[e].length>t.length&&(t=n[e])}}catch(e){t=null}return t}function It(e,t){se(e.nurl)&&""!==e.nurl&&(e.nurl=e.nurl.replace(/\${AUCTION_PRICE}/,t),ye(e.nurl))}},57176:(e,t,n)=>{n.d(t,{y:()=>s});var r=n(67314),i=n(12693),o=n(91069);function s(e,t,n){let{index:s=r.n.index,bs:a=i.u}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n=n||s.getBidRequest(t);const d=t?.adapterCode,c=t?.bidderCode||n?.bidder,l=a.get(t?.adapterCode,"adjustAlternateBids"),u=a.getOwn(c,"bidCpmAdjustment")||a.get(l?d:c,"bidCpmAdjustment");if(u&&"function"==typeof u)try{return u(e,Object.assign({},t),n)}catch(e){(0,o.logError)("Error during bid adjustment",e)}return e}},82621:(e,t,n)=>{n.d(t,{C:()=>i});var r=n(70433);function i(e){return!e?.gdprApplies||!0===(0,r.A)(e,"vendorData.purpose.consents.1")}},16894:(e,t,n)=>{n.d(t,{Ak:()=>h,BO:()=>f,K7:()=>p,NL:()=>b});var r=n(43272);const i="performanceMetrics",o=window.performance&&window.performance.now?()=>window.performance.now():()=>Date.now(),s=new WeakMap;function a(){let{now:e=o,mkNode:t=l,mkTimer:n=c,mkRenamer:r=(e=>e),nodes:i=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=r(a);const d=(c="timestamps",function(e){return s.dfWalk({visit(t,n){const r=n[c];if(r.hasOwnProperty(e))return r[e]}})});var c;function l(e,t){const n=a(e);s.dfWalk({follow:(e,t)=>t.propagate&&(!e||!e.stopPropagation),visit(e,r){n.forEach((n=>{null==e?r.metrics[n]=t:(r.groups.hasOwnProperty(n)||(r.groups[n]=[]),r.groups[n].push(t))}))}})}function u(t){return n(e,(e=>l(t,e)))}function g(){let e={};return s.dfWalk({visit(t,n){e=Object.assign({},!t||t.includeGroups?n.groups:null,n.metrics,e)}}),e}const f={startTiming:u,measureTime:function(e,t){return u(e).stopAfter(t)()},measureHookTime:function(e,t,n){const r=u(e);return n(function(e){const t=r.stopBefore(e);return t.bail=e.bail&&r.stopBefore(e.bail),t.stopTiming=r,t.untimed=e,t}(t))},checkpoint:function(t){s.timestamps[t]=e()},timeSince:function(t,n){const r=d(t),i=null!=r?e()-r:null;return null!=n&&l(n,i),i},timeBetween:function(e,t,n){const r=d(e),i=d(t),o=null!=r&&null!=i?i-r:null;return null!=n&&l(n,o),o},setMetric:l,getMetrics:g,fork:function(){let{propagate:e=!0,stopPropagation:n=!1,includeGroups:r=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return o(t([[s,{propagate:e,stopPropagation:n,includeGroups:r}]]),a)},join:function(e){let{propagate:t=!0,stopPropagation:n=!1,includeGroups:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=i.get(e);null!=o&&o.addParent(s,{propagate:t,stopPropagation:n,includeGroups:r})},newMetrics:function(){return o(s.newSibling(),a)},renameWith:function(e){return o(s,e)},toJSON:()=>g()};return i.set(f,s),f}(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 r=!1;function i(){r||(t(e()-n),r=!0)}return i.stopBefore=e=>d(e,i),i.stopAfter=e=>d(e,null,i),i}function l(e){return{metrics:{},timestamps:{},groups:{},addParent(t,n){e.push([t,n])},newSibling:()=>l(e.slice()),dfWalk(){let t,{visit:n,follow:r=(()=>!0),visited:i=new Set,inEdge:o}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!i.has(this)){if(i.add(this),t=n(o,this),null!=t)return t;for(const[s,a]of e)if(r(o,a)&&(t=s.dfWalk({visit:n,follow:r,visited:i,inEdge:a}),null!=t))return t}}}}const u=(()=>{const e=function(){},t=()=>({}),n={forEach:e},r=()=>null;r.stopBefore=e=>e,r.stopAfter=e=>e;const i=Object.defineProperties({dfWalk:e,newSibling:()=>i,addParent:e},Object.fromEntries(["metrics","timestamps","groups"].map((e=>[e,{get:t}]))));return a({now:()=>0,mkNode:()=>i,mkRenamer:()=>()=>n,mkTimer:()=>r,nodes:{get:e,set:e}})()})();let g=!0;function f(e){return g&&e||u}r.$W.getConfig(i,(e=>{g=!!e[i]}));const p=(()=>{const e=a();return function(){return g?e():u}})();function m(e,t){return function(n,r){return function(i){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 f(t.apply(d,s)).measureHookTime(e+n,i,(function(e){return r.call(d,e,...s)}))}}}const h=m("requestBids.",(e=>e.metrics)),b=m("addBidResponse.",((e,t)=>t.metrics))},25555:(e,t,n)=>{n.d(t,{k:()=>o,v:()=>s});const r=0,i=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]=[r,i].map((e=>function(i){if(e===r&&"function"==typeof i?.then)i.then(o,s);else if(!t.length)for(t.push(e,i);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(((i,o)=>{const s=()=>{let s=n[1],[a,d]=n[0]===r?[e,i]:[t,o];if("function"==typeof a){try{s=a(s)}catch(e){return void o(e)}d=i}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#l(e,t,n){let r=e.length;function i(){t.apply(this,arguments),--r<=0&&n&&n()}0===e.length&&n?n():e.forEach(((e,t)=>this.resolve(e).then((e=>i(!0,e,t)),(e=>i(!1,e,t)))))}static race(e){return new this(((t,n)=>{this.#l(e,((e,r)=>e?t(r):n(r)))}))}static all(e){return new this(((t,n)=>{let r=[];this.#l(e,((e,t,i)=>e?r[i]=t:n(t)),(()=>t(r)))}))}static allSettled(e){return new this((t=>{let n=[];this.#l(e,((e,t,r)=>n[r]=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 r(e){return t=>e(t)}return{promise:n(((n,r)=>{e=n,t=r})),resolve:r(e),reject:r(t)}}},12713:(e,t,n)=>{function r(e,t){return e===t?0:e<t?-1:1}function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e=>e;return(t,n)=>r(e(t),e(n))}function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r;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 r of t){const t=r(e,n);if(0!==t)return t}return 0}}function a(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r;return(t,n)=>e(n,t)<0?n:t}function d(){return a(o(arguments.length>0&&void 0!==arguments[0]?arguments[0]:r))}n.d(t,{Bp:()=>a,Bq:()=>g,NV:()=>i,Ph:()=>d,Vk:()=>u});const c=i((e=>e.cpm)),l=i((e=>e.responseTimestamp)),u=d(s(c,o(i((e=>e.timeToRespond))))),g=d(s(c,o(l)));d(s(c,l))},76853:(e,t,n)=>{n.d(t,{H:()=>l});var r=n(25555),i=n(91069);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:r}=e;return r(c(t,s-n)())})),a=[])}function c(e,t){const n=s;let r=setTimeout((()=>{s===n&&null==o?e():null!=o?a.push({callback:e,startTime:n,setTimerId(e){r=e}}):r=c(e,s-n)()}),t);return()=>r}function l(){let{startTime:e=i.timestamp,ttl:t=(()=>null),monotonic:n=!1,slack:o=5e3}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const s=new Map,a=[],d=[],l=n?e=>d.push(e):e=>d.splice((0,i.binarySearch)(d,e,(e=>e.expiry)),0,e);let u,g;function f(){if(g&&clearTimeout(g),d.length>0){const e=(0,i.timestamp)();u=Math.max(e,d[0].expiry+o),g=c((()=>{const e=(0,i.timestamp)();let t=0;for(const n of d){if(n.expiry>e)break;a.forEach((e=>{try{e(n.item)}catch(e){(0,i.logError)(e)}})),s.delete(n.item),t++}d.splice(0,t),g=null,f()}),u-e)}else g=null}function p(n){const i={},s=m;let a;const[d,c]=Object.entries({start:e,delta:t}).map((e=>{let t,[d,c]=e;return function(){const e=t={};r.k.resolve(c(n)).then((n=>{e===t&&(i[d]=n,s===m&&null!=i.start&&null!=i.delta&&(a=i.start+i.delta,l(p),(null==g||u>a+o)&&f()))}))}})),p={item:n,refresh:c,get expiry(){return a}};return d(),c(),p}let m={};return{[Symbol.iterator]:()=>s.keys(),add(e){!s.has(e)&&s.set(e,p(e))},clear(){d.length=0,f(),s.clear(),m={}},toArray:()=>Array.from(s.keys()),refresh(){d.length=0,f();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)},63895:(e,t,n)=>{n.d(t,{E2:()=>p,H6:()=>d,V0:()=>u,Zy:()=>l,aP:()=>g,mn:()=>c,vk:()=>f});var r=n(91069),i=n(70433),o=n(43272),s=n(16833),a=n(67314);const d="outstream",c="instream",l=new Map([["mimes",e=>Array.isArray(e)&&e.length>0&&e.every((e=>"string"==typeof e))],["minduration",r.isInteger],["maxduration",r.isInteger],["startdelay",r.isInteger],["maxseq",r.isInteger],["poddur",r.isInteger],["protocols",r.isArrayOfNums],["w",r.isInteger],["h",r.isInteger],["podid",r.isStr],["podseq",r.isInteger],["rqddurs",r.isArrayOfNums],["placement",r.isInteger],["plcmt",r.isInteger],["linearity",r.isInteger],["skip",e=>[1,0].includes(e)],["skipmin",r.isInteger],["skipafter",r.isInteger],["sequence",r.isInteger],["slotinpod",r.isInteger],["mincpmpersec",r.isNumber],["battr",r.isArrayOfNums],["maxextended",r.isInteger],["minbitrate",r.isInteger],["maxbitrate",r.isInteger],["boxingallowed",r.isInteger],["playbackmethod",r.isArrayOfNums],["playbackend",r.isInteger],["delivery",r.isArrayOfNums],["pos",r.isInteger],["api",r.isArrayOfNums],["companiontype",r.isArrayOfNums],["poddedupe",r.isArrayOfNums]]);function u(e){const t=e?.mediaTypes?.video;null!=t&&null==t.plcmt&&(t.context===d||[2,3,4].includes(t.placement)?t.plcmt=4:t.context!==d&&[2,6].includes(t.playbackmethod)&&(t.plcmt=2))}function g(e,t){const n=e?.mediaTypes?.video;(0,r.isPlainObject)(n)?null!=n&&Object.entries(n).forEach((i=>{let[o,s]=i;if(!l.has(o))return;l.get(o)(s)||("function"==typeof t?t(o,s,e):(delete n[o],(0,r.logWarn)(`Invalid prop in adUnit "${e.code}": Invalid value for mediaTypes.video.${o} ORTB property. The property has been removed.`)))})):(0,r.logWarn)("validateOrtbVideoFields: videoParams must be an object.")}function f(e){let{index:t=a.n.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=(0,i.A)(t.getMediaTypes(e),"video"),r=n&&(0,i.A)(n,"context"),o=n&&(0,i.A)(n,"useCacheKey"),s=t.getAdUnit(e);return p(e,s,n,r,o)}const p=(0,s.A_)("sync",(function(e,t,n,i,s){return n&&(s||i!==d)?o.$W.getConfig("cache.url")||!e.vastXml||e.vastUrl?!(!e.vastUrl&&!e.vastXml):((0,r.logError)('\n This bid contains only vastXml and will not work when a prebid cache url is not specified.\n Try enabling prebid cache with pbjs.setConfig({ cache: {url: "..."} });\n '),!1):!(i===d&&!s)||!!(e.renderer||t&&t.renderer||n.renderer)}),"checkVideoBidSetup")},68693:(e,t,n)=>{n.d(t,{M_:()=>l,X5:()=>m});var r=n(68044),i=n(43272),o=n(67314),s=n(91069),a=n(81657);const d=15;function c(e){let{index:t=o.n.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=e.vastXml?e.vastXml:(r=e.vastUrl,s=e.vastImpUrl,`<VAST version="3.0">\n <Ad>\n <Wrapper>\n <AdSystem>prebid.org wrapper</AdSystem>\n <VASTAdTagURI><![CDATA[${r}]]></VASTAdTagURI>\n ${(s=s&&(Array.isArray(s)?s:[s]))?s.map((e=>`<Impression><![CDATA[${e}]]></Impression>`)).join(""):""}\n <Creatives></Creatives>\n </Wrapper>\n </Ad>\n </VAST>`);var r,s;const a=t.getAuction(e);let c={type:"xml",value:n,ttlseconds:Number(e.ttl)+d};return i.$W.getConfig("cache.vasttrack")&&(c.bidder=e.bidder,c.bidid=e.requestId,c.aid=e.auctionId),null!=a&&(c.timestamp=a.getAuctionStart()),"string"==typeof e.customCacheKey&&""!==e.customCacheKey&&(c.key=e.customCacheKey),c}function l(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.g4;const o={puts:e.map(c)};n(i.$W.getConfig("cache.timeout"))(i.$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(o),{contentType:"text/plain",withCredentials:!0})}const u={store:l};function g(e){const t=e.map((e=>e.bidResponse));u.store(t,(function(n,r){var o;n?(o=n,(0,s.logError)(`Failed to save to the video cache: ${o}. Video bids will be discarded:`,t)):e.length!==r.length?(0,s.logError)(`expected ${e.length} cache IDs, got ${r.length} instead`):r.forEach(((t,n)=>{const{auctionInstance:r,bidResponse:o,afterBidAdded:d}=e[n];var c;""===t.uuid?(0,s.logWarn)("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=(c=o.videoCacheKey,`${i.$W.getConfig("cache.url")}?uuid=${c}`)),(0,a.v8)(r,o),d())}))}))}let f,p;i.$W.getConfig("cache",(e=>{f="number"==typeof e.cache.batchSize&&e.cache.batchSize>0?e.cache.batchSize:1,p="number"==typeof e.cache.batchTimeout&&e.cache.batchTimeout>0?e.cache.batchTimeout:0}));const m=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:setTimeout,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g,n=[[]],r=!1;const i=e=>e();return function(o,s,a){const d=p>0?e:i;n[n.length-1].length>=f&&n.push([]),n[n.length-1].push({auctionInstance:o,bidResponse:s,afterBidAdded:a}),r||(r=!0,d((()=>{n.forEach(t),n=[[]],r=!1}),p))}}()}}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[51085],{34595:(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))}}})();'}}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[57109],{20965:(t,e,n)=>{n.d(e,{c5:()=>o,q4:()=>r});var a=n(25555);const c=0,l=1,r=2;function o(t){let{apiName:e,apiVersion:n,apiArgs:o=["command","callback","parameter","version"],callbackArgs:s=["returnValue","success"],mode:i=c}=t,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;const f={},d=`${e}Call`,p=`${e}Return`;function b(t){const e="string"==typeof t.data&&t.data.includes(p)?JSON.parse(t.data):t.data;if(e?.[p]?.callId){const t=e[p];f.hasOwnProperty(t.callId)&&f[t.callId](...s.map((e=>t[e])))}}const[k,m]=function(){let t,n=u,a=!1;for(;null!=n;){try{if("function"==typeof n[e]){t=n,a=!0;break}}catch(t){}try{if(n.frames[`${e}Locator`]){t=n;break}}catch(t){}if(n===u.top)break;n=n.parent}return[t,a]}();if(!k)return;function g(t){return t=Object.assign({version:n},t),o.map((e=>[e,t[e]]))}function h(t,e,n,a){const c="function"==typeof t;return function(r,o){if(a&&a(),i!==l){(null==o||o?e:n)(c?void 0:r)}c&&t.apply(this,arguments)}}let v;return m?v=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new a.k(((n,a)=>{const o=k[e](...g({...t,callback:t.callback||i===r?h(t.callback,n,a):void 0}).map((t=>{let[e,n]=t;return n})));(i===l||null==t.callback&&i===c)&&n(o)}))}:(u.addEventListener("message",b,!1),v=function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new a.k(((n,a)=>{const c=Math.random().toString(),r={[d]:{...Object.fromEntries(g(t).filter((t=>{let[e]=t;return"callback"!==e}))),callId:c}};f[c]=h(t?.callback,n,a,(e||null==t?.callback)&&(()=>{delete f[c]})),k.postMessage(r,"*"),i===l&&n()}))}),Object.assign(v,{isDirect:m,close(){!m&&u.removeEventListener("message",b)}})}}}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[90010],{63806:(n,r,o)=>{o.d(r,{R:()=>i});var a=o(16894),e=o(91069);function i(n,r,o){return(0,a.Ak)(n,(function(n,a){var i;i=function(r,o){if(o){let n=e.logWarn;r&&(n=e.logError,o=`${o} Canceling auction as per consentManagement config.`);for(var i=arguments.length,l=new Array(i>2?i-2:0),t=2;t<i;t++)l[t-2]=arguments[t];n(o,...l)}r?(n.stopTiming(),"function"==typeof a.bidsBackHandler?a.bidsBackHandler():(0,e.logError)("Error executing bidsBackHandler")):n.call(this,a)},r()?((0,e.logInfo)("User consent information already known. Pulling internally stored information..."),i(!1)):o(i)}))}}}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[40082],{77274:(n,e,t)=>{t.d(e,{l:()=>v});var i=t(95139),o=t(76811),s=t(16916),r=t(91069);function a(n){return null!=n&&0!==n}function c(n){return["MspaServiceProviderMode","Gpc"].some((e=>1===n[e]))||2===n.PersonalDataConsents||1===n.KnownChildSensitiveDataConsents[0]||a(n.KnownChildSensitiveDataConsents[1])||0===n.MspaCoveredTransaction}function l(n,e){return["SensitiveDataProcessingOptOutNotice","SensitiveDataLimitUseNotice"].some((t=>n[t]===e))}function u(n){return c(n)||["Sale","Sharing","TargetedAdvertising"].some((e=>{const t=n[`${e}OptOut`],i=n[`${e}OptOutNotice`];return 1===t||2===i||2===t&&0===i}))||2===n.SharingNotice||2===n.SharingOptOut&&0===n.SharingNotice}const f=(()=>{const n=[6,7,9,10,12].map((n=>--n)),e=Array.from(Array(12).keys()).filter((n=>7!==n)),t=e.filter((e=>!n.includes(e)));return function(i){return u(i)||l(i,2)||n.some((n=>a(i.SensitiveDataProcessing[n])))||t.some((n=>1===i.SensitiveDataProcessing[n]))||l(i,0)&&e.some((n=>2===i.SensitiveDataProcessing[n]))}})();const g={[o.Ml]:u,[o.yl]:u,[o.qX]:f,[o.hE]:function(n){const e=n.SensitiveDataProcessing[7];return 1===e||c(n)||l(n,2)||l(n,0)&&2===e}};function v(n,e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n=>n,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:g,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:i.qB,c=arguments.length>5&&void 0!==arguments[5]?arguments[5]:()=>s.ad.getConsentData();const l=[],u=`MSPA (GPP '${n}' for section${e.length>1?"s":""} ${e.join(", ")})`;return(0,r.logInfo)(`Enabling activity controls for ${u}`),Object.entries(o).forEach((i=>{let[o,r]=i;l.push(a(o,u,function(n,e,t){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:()=>s.ad.getConsentData()?.applicableSections;return function(){if(i().some((e=>n.includes(e)))){const n=e();if(null==n)return{allow:!1,reason:"consent data not available"};if(1!==n.Version)return{allow:!1,reason:`unsupported consent specification version "${n.Version}"`};if(t(n))return{allow:!1}}}}(e,(()=>{return t((e=c()?.parsedSections?.[n],Array.isArray(e)?e.reduceRight(((n,e)=>Object.assign(e,n)),{}):e));var e}),r,(()=>c()?.applicableSections||[]))))})),()=>l.forEach((n=>n()))}}}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[33005],{51252:(t,n,o)=>{o.d(n,{Cn:()=>w,eu:()=>r,ho:()=>f,mw:()=>a,n9:()=>u,p:()=>s,ph:()=>l});var e=o(73858),g=o(15901),d=o(91069),i=o(70433);function a(t){return n=>(0,d.compareCodeAndSlot)(n,t)}function l(t,n){if(!t||"string"!=typeof t)return!1;window.googletag=window.googletag||{cmd:[]},window.googletag.cmd=window.googletag.cmd||[],window.googletag.cmd.push((()=>{window.googletag.pubads().setTargeting(t,n)}))}function u(t){let n;return(0,d.isGptPubadsDefined)()&&(n=(0,g.I6)(window.googletag.pubads().getSlots(),a(t))),n}function s(t){const n=u(t);return n?{gptSlot:n.getAdUnitPath(),divId:n.getSlotElementId()}:{}}const w=["IAB_AUDIENCE_1_1","IAB_CONTENT_2_2"];function r(t){return Object.entries({[w[0]]:c(t,["user.data"],4),[w[1]]:c(t,e.Dy.map((t=>`${t}.content.data`)),6)}).map((t=>{let[n,o]=t;return o.length?{taxonomy:n,values:o}:null})).filter((t=>t))}function c(t,n,o){return n.flatMap((n=>(0,i.A)(t,n)||[])).filter((t=>t.ext?.segtax===o)).flatMap((t=>t.segment?.map((t=>t.id)))).filter((t=>t)).filter(d.uniques)}function f(t){!function(t,n){const o=()=>window.googletag.pubads().addEventListener(t,n);(0,d.isGptPubadsDefined)()?o():(window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.googletag.cmd.push(o))}("slotRenderEnded",t)}}}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[40259],{91223:(e,t,n)=>{function r(){const e=navigator.connection||navigator.webkitConnection;if(!e)return 0;switch(e.type){case"ethernet":return 1;case"wifi":return 2;case"wimax":return 6;default:switch(e.effectiveType){case"slow-2g":case"2g":return 4;case"3g":return 5;case"4g":return 6;case"5g":return 7;default:return"cellular"==e.type?3:0}}}n.d(t,{Z:()=>r})}}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[44950],{50646:(e,t,u)=>{u.d(t,{x:()=>n});const n={uid2:{source:"uidapi.com",atype:3,getValue:function(e){return e.id},getUidExt:function(e){if(e.ext)return e.ext}}}}}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[17045],{2660:(e,t,r)=>{r.d(t,{M:()=>n});const n={tdid:{source:"adserver.org",atype:1,getValue:function(e){return e.id?e.id:e},getUidExt:function(e){return{rtiPartner:"TDID",...e.ext}}}}}}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[38793],{96345:(e,n,t)=>{var i=t(7873),s=t(91069),o=t(63172),a=t(43272),r=t(16916),c=t(70068),p=t(20965),l=t(25555),g=t(2604),u=t(63806);let d,h,m,f,P=!1;function S(e,n){let{onSuccess:t,onError:i}=n;new l.k((n=>n(e()))).then(t,(e=>{e instanceof b?i(e.message,...e.args):i("GPP error:",e)}))}class b{constructor(e,n){this.message=e,this.args=null==n?[]:[n]}}class v{apiVersion="1.1";static INST;static get(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p.c5;if(null==this.INST){const n=e({apiName:"__gpp",apiArgs:["command","callback","parameter"],mode:p.q4});if(null==n)throw new b("GPP CMP not found");this.INST=new this(n)}return this.INST}#e;#n;#t=[];initialized=!1;constructor(e){this.cmp=e,[this.#e,this.#n]=["resolve","reject"].map((e=>n=>{for(;this.#t.length;)this.#t.pop()[e](n)}))}init(e){const n=this.updateWhenReady(e);return this.initialized||(e.gppVersion!==this.apiVersion&&(0,s.logWarn)(`Unrecognized GPP CMP version: ${e.apiVersion}. Continuing using GPP API version ${this.apiVersion}...`),this.initialized=!0,this.cmp({command:"addEventListener",callback:(e,n)=>{null==n||n?"error"===e?.pingData?.cmpStatus?this.#n(new b('CMP status is "error"; please check CMP setup',e)):this.isCMPReady(e?.pingData||{})&&["sectionChange","signalStatus"].includes(e?.eventName)&&this.#e(this.updateConsent(e.pingData)):this.#n(new b("Received error response from CMP",e)),null==f||null==e?.pingData||this.isCMPReady(e.pingData)||(f=null)}})),n}refresh(){return this.cmp({command:"ping"}).then(this.init.bind(this))}updateConsent(e){return new l.k((n=>{if(null==e||(0,s.isEmpty)(e))throw new b("Received empty response from CMP",e);const t=w(e);(0,s.logInfo)("Retrieved GPP consent from CMP:",t),n(t)}))}nextUpdate(){const e=(0,l.v)();return this.#t.push(e),e.promise}updateWhenReady(e){return this.isCMPReady(e)?this.updateConsent(e):this.nextUpdate()}isCMPReady(e){return"ready"===e.signalStatus}}const C={iab:function(e){let{onSuccess:n,onError:t}=e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p.c5;S((()=>v.get(i).refresh()),{onSuccess:n,onError:t})},static:function(e){return S((()=>w(m)),e)}};function y(e){let n=!1,t=null;function i(i,s,o){if(null!=t&&clearTimeout(t),n=!0,r.ad.setConsentData(i),"function"==typeof e){for(var a=arguments.length,c=new Array(a>3?a-3:0),p=3;p<a;p++)c[p-3]=arguments[p];e(s,o,...c)}}if(!C.hasOwnProperty(d))return void i(null,!1,`GPP CMP framework (${d}) is not a supported framework. Aborting consentManagement module and resuming auction.`);const s={onSuccess:e=>i(e,!1),onError:function(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),s=1;s<n;s++)t[s-1]=arguments[s];i(null,!0,e,...t)}};if(C[d](s),!n){const e=()=>{const e=e=>{i(e,!1,"GPP CMP did not load, continuing auction...")};S((()=>w(f)),{onSuccess:e,onError:()=>e(D())})};0===h?e():t=setTimeout(e,h)}}const M=(0,u.R)("gpp",(()=>f),y);function w(e){if(null!=e?.applicableSections&&!Array.isArray(e.applicableSections)||null!=e?.gppString&&!(0,s.isStr)(e.gppString)||null!=e?.parsedSections&&!(0,s.isPlainObject)(e.parsedSections))throw new b("CMP returned unexpected value during lookup process.",e);return["usnatv1","uscav1"].forEach((n=>{e?.parsedSections?.[n]&&(0,s.logWarn)(`Received invalid section from cmp: '${n}'. Some functionality may not work as expected`,e)})),D(e)}function D(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return f={gppString:e?.gppString,applicableSections:e?.applicableSections||[],parsedSections:e?.parsedSections||{},gppData:e},r.ad.setConsentData(e),f}a.$W.getConfig("consentManagement",(e=>function(e){(e=e&&e.gpp)&&"object"==typeof e?((0,s.isStr)(e.cmpApi)?d=e.cmpApi:(d="iab",(0,s.logInfo)("consentManagement.gpp config did not specify cmp. Using system default setting (iab).")),(0,s.isNumber)(e.timeout)?h=e.timeout:(h=1e4,(0,s.logInfo)("consentManagement.gpp config did not specify timeout. Using system default setting (10000).")),"static"===d&&((0,s.isPlainObject)(e.consentData)?(m=e.consentData,h=0):(0,s.logError)("consentManagement.gpp config with cmpApi: 'static' did not specify consentData. No consents will be available to adapters.")),(0,s.logInfo)("consentManagement.gpp module has been activated..."),P||((0,i.m)().requestBids.before(M,50),g.U3.before(((e,n)=>e(Object.assign({gppConsent:r.ad.getConsentData()},n))))),P=!0,r.ad.enable(),y()):(0,s.logWarn)("consentManagement.gpp config not defined, exiting consent manager module")}(e.consentManagement))),c.w.before((function(e,n){return e(n.then((e=>{const n=r.ad.getConsentData();return n&&(Array.isArray(n.applicableSections)&&(0,o.J)(e,"regs.gpp_sid",n.applicableSections),(0,o.J)(e,"regs.gpp",n.gppString)),e})))})),(0,i.E)("consentManagementGpp")}},e=>{e.O(0,[57109,90010,60802,51085],(()=>{return n=96345,e(e.s=n);var n}));e.O()}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[15081],{66117:(n,e,t)=>{var o=t(7873),s=t(91069),i=t(63172),r=t(43272),a=t(16916),c=t(15901),l=t(1e3),u=t(70068),d=t(20965),p=t(63806);const g=2;let f,m,b,C,v,S,M=!1,y=!1;const A={iab:function(n){let{onSuccess:e,onError:t,onEvent:o}=n;const i=(0,d.c5)({apiName:"__tcfapi",apiVersion:g,apiArgs:["command","version","callback","parameter"]});if(!i)return t("TCF2 CMP not found.");i.isDirect?(0,s.logInfo)("Detected CMP API is directly accessible, calling it now..."):(0,s.logInfo)("Detected CMP is outside the current iframe where Prebid.js is located, calling it now...");i({command:"addEventListener",callback:function(n,i){(0,s.logInfo)("Received a response from CMP",n),i?(o(n),!1!==n.gdprApplies&&"tcloaded"!==n.eventStatus&&"useractioncomplete"!==n.eventStatus||h(n,{onSuccess:e,onError:t})):t("CMP unable to register callback function. Please check CMP setup.")}})},static:function(n){let{onSuccess:e,onError:t}=n;h(C,{onSuccess:e,onError:t})}};function P(n){let e,t,o=!1,s=null,i=!1;function r(n){null!=s&&clearTimeout(s),o||null==n||(0===n?e():s=setTimeout(e,n))}function l(e,t,s){if(r(null),o=!0,a.mW.setConsentData(e),"function"==typeof n){for(var i=arguments.length,c=new Array(i>3?i-3:0),l=3;l<i;l++)c[l-3]=arguments[l];n(t,s,...c)}}if(!(0,c.mK)(Object.keys(A),f))return void l(null,!1,`CMP framework (${f}) is not a supported framework. Aborting consentManagement module and resuming auction.`);const u={onSuccess:n=>l(n,!1),onError:function(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),o=1;o<e;o++)t[o-1]=arguments[o];l(null,!0,n,...t)},onEvent:function(n){t=n,i||(i=!0,null!=v&&r(v))}};e=()=>{const n=n=>{l(n,!1,(i?"Timeout waiting for user action on CMP":"CMP did not load")+", continuing auction...")};h(t,{onSuccess:n,onError:()=>n(w(void 0))})},A[f](u),null!=v&&i||r(m)}const E=(0,p.R)("gdpr",(()=>S),P);function h(n,e){let{onSuccess:t,onError:o}=e;!function(){const e=n&&"boolean"==typeof n.gdprApplies?n.gdprApplies:b,t=n&&n.tcString;return!("boolean"==typeof e&&(!0!==e||t&&(0,s.isStr)(t)))}()?t(w(n)):o("CMP returned unexpected value during lookup process.",n)}function w(n){return S={consentString:n?n.tcString:void 0,vendorData:n||void 0,gdprApplies:n&&"boolean"==typeof n.gdprApplies?n.gdprApplies:b},n&&n.addtlConsent&&(0,s.isStr)(n.addtlConsent)&&(S.addtlConsent=n.addtlConsent),S.apiVersion=g,S}r.$W.getConfig("consentManagement",(n=>function(n){(n=n&&(n.gdpr||n.usp||n.gpp?n.gdpr:n))&&"object"==typeof n?((0,s.isStr)(n.cmpApi)?f=n.cmpApi:(f="iab",(0,s.logInfo)("consentManagement config did not specify cmp. Using system default setting (iab).")),(0,s.isNumber)(n.timeout)?m=n.timeout:(m=1e4,(0,s.logInfo)("consentManagement config did not specify timeout. Using system default setting (10000).")),v=(0,s.isNumber)(n.actionTimeout)?n.actionTimeout:null,b=!0===n.defaultGdprScope,M=!!n.dsaPlatform,(0,s.logInfo)("consentManagement module has been activated..."),"static"===f&&((0,s.isPlainObject)(n.consentData)?(C=n.consentData,null!=C?.getTCData&&(C=C.getTCData),m=0):(0,s.logError)("consentManagement config with cmpApi: 'static' did not specify consentData. No consents will be available to adapters.")),y||(0,o.m)().requestBids.before(E,50),y=!0,a.mW.enable(),P()):(0,s.logWarn)("consentManagement (gdpr) config not defined, exiting consent manager")}(n.consentManagement))),u.w.before((function(n,e){return n(e.then((n=>{const e=a.mW.getConsentData();return e&&("boolean"==typeof e.gdprApplies&&(0,i.J)(n,"regs.ext.gdpr",e.gdprApplies?1:0),(0,i.J)(n,"user.ext.consent",e.consentString)),M&&(0,i.J)(n,"regs.ext.dsa.dsarequired",3),n})))})),(0,l.pS)({type:l.S3,name:"gdprAddtlConsent",fn:function(n,e){const t=e.gdprConsent?.addtlConsent;t&&"string"==typeof t&&(0,i.J)(n,"user.ext.ConsentedProvidersSettings.consented_providers",t)}}),(0,o.E)("consentManagementTcf")}},n=>{n.O(0,[60802,57109,90010,51085],(()=>{return e=66117,n(n.s=e);var e}));n.O()}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[99301],{11057:(n,e,s)=>{var t=s(7873),a=s(43272),l=s(77274);let p=!1;a.$W.getConfig("consentManagement",(n=>{null==n?.consentManagement?.gpp||p||((0,l.l)("usnat",[7]),p=!0)})),(0,t.E)("gppControl_usnat")}},n=>{n.O(0,[40082,60802,51085],(()=>{return e=11057,n(n.s=e);var e}));n.O()}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[27534],{18194:(n,e,t)=>{var s=t(7873),r=t(43272),o=t(77274),i=t(63172),a=t(91069);const l={Version:0,Gpc:0,SharingNotice:0,SaleOptOutNotice:0,SharingOptOutNotice:0,TargetedAdvertisingOptOutNotice:0,SensitiveDataProcessingOptOutNotice:0,SensitiveDataLimitUseNotice:0,SaleOptOut:0,SharingOptOut:0,TargetedAdvertisingOptOut:0,SensitiveDataProcessing:12,KnownChildSensitiveDataConsents:2,PersonalDataConsents:0,MspaCoveredTransaction:0,MspaOptOutOptionMode:0,MspaServiceProviderMode:0};function c(n){let{nullify:e=[],move:t={},fn:s}=n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l;return t=Object.fromEntries(Object.entries(t).map((n=>{let[e,t]=n;return[e,Object.fromEntries(Object.entries(t).map((n=>{let[e,t]=n;return[e,Array.isArray(t)?t:[t]]})).map((n=>{let[e,t]=n;return[--e,t.map((n=>--n))]})))]}))),function(n){const o=Object.fromEntries(Object.entries(r).map((e=>{let[s,r]=e,o=null;if(r>0){if(o=Array(r).fill(null),Array.isArray(n[s])){const e=t[s]||{},i=[];n[s].forEach(((n,t)=>{const[s,a]=e.hasOwnProperty(t)?[e[t],!0]:[[t],!1];s.forEach((e=>{e<r&&!i.includes(e)&&(o[e]=n,a&&i.push(e))}))}))}}else null!=n[s]&&(o=Array.isArray(n[s])?null:n[s]);return[s,o]})));return e.forEach((n=>(0,i.J)(o,n,null))),s&&s(n,o),o}}function u(n,e){e.KnownChildSensitiveDataConsents=0===n.KnownChildSensitiveDataConsents?[0,0]:[1,1]}const p={7:n=>n,8:c({move:{SensitiveDataProcessing:{1:9,2:10,3:8,4:[1,2],5:12,8:3,9:4}},fn(n,e){n.KnownChildSensitiveDataConsents.some((n=>0!==n))&&(e.KnownChildSensitiveDataConsents=[1,1])}}),9:c({fn:u}),10:c({fn:u}),11:c({move:{SensitiveDataProcessing:{3:4,4:5,5:3}},fn:u}),12:c({fn(n,e){const t=n.KnownChildSensitiveDataConsents;let s;s=t.some((n=>0!==n))?2===t[1]&&2===t[2]?[2,1]:[1,1]:[0,0],e.KnownChildSensitiveDataConsents=s}})},f={8:"usca",9:"usva",10:"usco",11:"usut",12:"usct"},O=(()=>{const n=Object.keys(f).map(Number);return function(){let{sections:e={},sids:t=n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t.map((n=>{const t=(0,a.prefixLog)(`Cannot set up MSPA controls for SID ${n}:`),s=e[n]||{},r=s.normalizeAs||n;if(!p.hasOwnProperty(r))return void t.logError(`no normalization rules are known for SID ${r}`);const o=s.name||f[n];if("string"==typeof o)return[o,[n],p[r]];t.logError("cannot determine GPP section name")})).filter((n=>null!=n))}})(),v=[];r.$W.getConfig("consentManagement",(n=>{const e=n.consentManagement?.gpp;if(e){for(;v.length;)v.pop()();O(e?.mspa||{}).forEach((n=>{let[e,t,s]=n;return v.push((0,o.l)(e,t,s))}))}})),(0,s.E)("gppControl_usstates")}},n=>{n.O(0,[40082,60802,51085],(()=>{return e=18194,n(n.s=e);var e}));n.O()}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[4584],{84232:(t,e,o)=>{var n=o(7873),a=o(51252),d=o(67314),s=o(43272),r=o(78969),i=o(16833),l=o(15901),c=o(91069),u=o(63172),p=o(70433);let f={},g=!1;function b(t){return(0,a.eu)(t)}const m=t=>(s.$W.getConfig("gptPreAuction")||{}).mcmEnabled?t.replace(/(^\/\d*),\d*\//,"$1/"):t;function h(t){(0,c.logWarn)("pbadslot is deprecated and will soon be removed, use gpid instead",t)}const A=function(t,e){const o=(t=>{const{customGptSlotMatching:e}=f;if(!(0,c.isGptPubadsDefined)())return;const o=t.reduce(((t,e)=>(t[e.code]=t[e.code]||[],t[e.code].push(e),t)),{}),n={};return window.googletag.pubads().getSlots().forEach((t=>{const a=(0,l.I6)(Object.keys(o),e?e(t):(0,c.isAdUnitCodeMatchingSlot)(t));if(a){const e=n[a]=t.getAdUnitPath(),d={name:"gam",adslot:m(e)};o[a].forEach((t=>{(0,u.J)(t,"ortb2Imp.ext.data.adserver",Object.assign({},t.ortb2Imp?.ext?.data?.adserver,d))}))}})),n})(e),{useDefaultPreAuction:n,customPreAuction:a}=f;e.forEach((t=>{t.ortb2Imp=t.ortb2Imp||{},t.ortb2Imp.ext=t.ortb2Imp.ext||{},t.ortb2Imp.ext.data=t.ortb2Imp.ext.data||{};const e=t.ortb2Imp.ext;if(a||n){e.data?.pbadslot&&h(t);let d,s=(0,p.A)(e,"data.adserver.adslot");a?d=a(t,s,o?.[t.code]):n&&(d=((t,e,o)=>{const n=t.ortb2Imp.ext.data;if(n.pbadslot)return n.pbadslot;if((0,c.isGptPubadsDefined)()){var a=window.googletag.pubads().getSlots().filter((t=>t.getAdUnitPath()===o));if(0!==a.length)return 1===a.length?e:`${e}#${t.code}`}})(t,s,o?.[t.code])),d&&(e.gpid=e.data.pbadslot=d)}else{h(t);const o=(t=>{const e=t.ortb2Imp.ext.data,{customPbAdSlot:o}=f;if(!e.pbadslot)if(o)e.pbadslot=o(t.code,(0,p.A)(e,"adserver.adslot"));else{try{const o=document.getElementById(t.code);if(o.dataset.adslotid)return void(e.pbadslot=o.dataset.adslotid)}catch(t){}if(!(0,p.A)(e,"adserver.adslot"))return e.pbadslot=t.code,!0;e.pbadslot=e.adserver.adslot}})(t);e.gpid||o||(e.gpid=e.data.pbadslot)}}));for(var d=arguments.length,s=new Array(d>2?d-2:0),r=2;r<d;r++)s[r-2]=arguments[r];return t.call(undefined,e,...s)},v=(t,e)=>{const o=function(t){const e={};return a.Cn.forEach((o=>{const n=t.flatMap((t=>t)).filter((t=>t.taxonomy===o)).map((t=>t.values));e[o]=n.length?n.reduce(((t,e)=>t.filter((t=>e.includes(t))))):[],e[o]={values:e[o]}})),e}(function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d.n.index;return t.map((t=>e.getAuction({auctionId:t})?.getFPD()?.global)).map(b).filter((t=>t))}(function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d.n;return Object.values(t).flatMap((t=>Object.entries(t))).filter((t=>t[0]===r.xS.AD_ID||t[0].startsWith(r.xS.AD_ID+"_"))).flatMap((t=>t[1])).map((t=>e.findBidByAdId(t)?.auctionId)).filter((t=>null!=t)).filter(c.uniques)}(e)));window.googletag.setConfig&&window.googletag.setConfig({pps:{taxonomies:o}}),t(e)},I=t=>{f=(0,c.pick)(t,["enabled",t=>!1!==t,"customGptSlotMatching",t=>"function"==typeof t&&t,"customPbAdSlot",t=>"function"==typeof t&&t,"customPreAuction",t=>"function"==typeof t&&t,"useDefaultPreAuction",t=>t??!0]),f.enabled?g||((0,i.Yn)("makeBidRequests").before(A),(0,i.Yn)("targetingDone").after(v),g=!0):((0,c.logInfo)("GPT Pre-Auction: Turning off module"),f={},(0,i.Yn)("makeBidRequests").getHooks({hook:A}).remove(),(0,i.Yn)("targetingDone").getHooks({hook:v}).remove(),g=!1)};s.$W.getConfig("gptPreAuction",(t=>I(t.gptPreAuction))),I({}),(0,n.E)("gptPreAuction")}},t=>{t.O(0,[33005,60802,51085],(()=>{return e=84232,t(t.s=e);var e}));t.O()}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[41252],{63990:(e,r,t)=>{var a=t(7873),i=t(91069),n=t(70433),s=t(63172),o=t(57377),d=t(71371),p=t(43272),l=t(95789),m=t(12693),c=t(78969);const g="pubmatic",u="PubMatic: ",h="USD",f=void 0,b="https://pubmatic.bbvms.com/r/".concat("$RENDERER",".js"),y="Video.plcmt param missing",v={kadpageurl:"",gender:"",yob:"",lat:"",lon:"",wiid:"",profId:"",verId:""},w={NUMBER:"number",STRING:"string",BOOLEAN:"boolean",ARRAY:"array",OBJECT:"object"},x={mimes:w.ARRAY,minduration:w.NUMBER,maxduration:w.NUMBER,startdelay:w.NUMBER,playbackmethod:w.ARRAY,api:w.ARRAY,protocols:w.ARRAY,w:w.NUMBER,h:w.NUMBER,battr:w.ARRAY,linearity:w.NUMBER,placement:w.NUMBER,plcmt:w.NUMBER,minbitrate:w.NUMBER,maxbitrate:w.NUMBER,skip:w.NUMBER},I={ICON:1,IMAGE:3},R={battr:w.ARRAY},T={1:"PMP",5:"PREF",6:"PMPG"},O={bootstrapPlayer:function(e){const r={code:e.adUnitCode};if(e.vastXml?r.vastXml=e.vastXml:e.vastUrl&&(r.vastUrl=e.vastUrl),!e.vastXml&&!e.vastUrl)return void(0,i.logWarn)(`${u}: No vastXml or vastUrl on bid, bailing...`);const t=O.getRendererId("pubmatic",e.rendererCode),a=document.getElementById(e.adUnitCode);let n;for(let e=0;e<window.bluebillywig.renderers.length;e++)if(window.bluebillywig.renderers[e]._id===t){n=window.bluebillywig.renderers[e];break}n?n.bootstrap(r,a):(0,i.logWarn)(`${u}: Couldn't find a renderer with ${t}`)},newRenderer:function(e,r){var t=b.replace("$RENDERER",e);const a=l.A4.install({url:t,loaded:!1,adUnitCode:r});try{a.setRender(O.outstreamRender)}catch(e){(0,i.logWarn)(`${u}: Error tying to setRender on renderer`,e)}return a},outstreamRender:function(e){e.renderer.push((function(){O.bootstrapPlayer(e)}))},getRendererId:function(e,r){return`${e}-${r}`}},A=[d.D4,d.G_,d.s6],E={banner:360,video:1800,native:1800};let _=0,C=!1,S=["pubmatic"];const z=["all"];function U(e,r){if(!(0,i.isStr)(r))return r&&(0,i.logWarn)(u+"Ignoring param key: "+e+", expects string-value, found "+typeof r),f;switch(e){case"pmzoneid":return r.split(",").slice(0,50).map((e=>e.trim())).join();case"kadfloor":case"lat":case"lon":return parseFloat(r)||f;case"yob":return parseInt(r)||f;default:return r}}function P(e){var r;e.params.adUnit="",e.params.adUnitIndex="0",e.params.width=0,e.params.height=0,e.params.adSlot=(r=e.params.adSlot,(0,i.isStr)(r)?r.replace(/^\s+/g,"").replace(/\s+$/g,""):(r&&(0,i.logWarn)(g+": adSlot must be a string. Ignoring adSlot"),""));var t=e.params.adSlot,a=t.split(":");if(t=a[0],2==a.length&&(e.params.adUnitIndex=a[1]),a=t.split("@"),e.params.adUnit=a[0],a.length>1){if(2!=(a=a[1].split("x")).length)return void(0,i.logWarn)(u+"AdSlot Error: adSlot not in required format");e.params.width=parseInt(a[0],10),e.params.height=parseInt(a[1],10)}else if(e.hasOwnProperty("mediaTypes")&&e.mediaTypes.hasOwnProperty(d.D4)&&e.mediaTypes.banner.hasOwnProperty("sizes")){for(var n=0,s=[];n<e.mediaTypes.banner.sizes.length;n++)2===e.mediaTypes.banner.sizes[n].length&&s.push(e.mediaTypes.banner.sizes[n]);e.mediaTypes.banner.sizes=s,e.mediaTypes.banner.sizes.length>=1&&(e.params.width=e.mediaTypes.banner.sizes[0][0],e.params.height=e.mediaTypes.banner.sizes[0][1],e.mediaTypes.banner.sizes=e.mediaTypes.banner.sizes.splice(1,e.mediaTypes.banner.sizes.length-1))}}function W(){let e=window.navigator&&(window.navigator.connection||window.navigator.mozConnection||window.navigator.webkitConnection);switch(e?.effectiveType){case"ethernet":return 1;case"wifi":return 2;case"slow-2g":case"2g":return 4;case"3g":return 5;case"4g":return 6;default:return 0}}function N(e,r,t){var a,n="Ignoring param key: "+e+", expects "+t+", found "+typeof r;switch(t){case w.BOOLEAN:a=i.isBoolean;break;case w.NUMBER:a=i.isNumber;break;case w.STRING:a=i.isStr;break;case w.ARRAY:a=i.isArray}return a(r)?r:((0,i.logWarn)(u+n),f)}const $={desc:"desc",desc2:"desc2",body:"desc",body2:"desc2",sponsoredBy:"sponsored",cta:"ctatext",rating:"rating",address:"address",downloads:"downloads",likes:"likes",phone:"phone",price:"price",salePrice:"saleprice",displayUrl:"displayurl",saleprice:"saleprice",displayurl:"displayurl"},k=Object.values($);function j(e){var r;if(e.ortb){e=e.ortb,r={ver:"1.2",...e,assets:[]};const{assets:t}=e,a=e=>e.title||e.img||e.data||e.video;if(t.length<1||!t.some((e=>a(e))))return(0,i.logWarn)(`${u}: Native assets object is empty or contains some invalid object`),C=!0,r;t.forEach((e=>{var t=e;t.img&&(t.img.type==I.IMAGE?(t.w=t.w||t.width||(t.sizes?t.sizes[0]:f),t.h=t.h||t.height||(t.sizes?t.sizes[1]:f),t.wmin=t.wmin||t.minimumWidth||(t.minsizes?t.minsizes[0]:f),t.hmin=t.hmin||t.minimumHeight||(t.minsizes?t.minsizes[1]:f)):t.img.type==I.ICON&&(t.w=t.w||t.width||(t.sizes?t.sizes[0]:f),t.h=t.h||t.height||(t.sizes?t.sizes[1]:f))),t&&void 0!==t.id&&a(t)&&r.assets.push(t)}))}else r=function(e){if(!e&&!(0,i.isPlainObject)(e))return(0,i.logWarn)(`${u}: Native assets object is empty or not an object: ${e}`),void(C=!0);const r={ver:"1.2",assets:[]};for(let t in e){if(c._B.includes(t))continue;if(!c.x5.hasOwnProperty(t)&&!k.includes(t)){(0,i.logWarn)(`${u}: Unrecognized native asset code: ${t}. Asset will be ignored.`);continue}const a=e[t];let n=0;a.required&&(0,i.isBoolean)(a.required)&&(n=Number(a.required));const s={id:r.assets.length,required:n};if(t in $)s.data={type:c.jO[$[t]]},(a.len||a.length)&&(s.data.len=a.len||a.length),a.ext&&(s.data.ext=a.ext);else if("icon"===t||"image"===t){if(s.img={type:"icon"===t?c.oA.ICON:c.oA.MAIN},a.aspect_ratios)if((0,i.isArray)(a.aspect_ratios))if(a.aspect_ratios.length){const{min_width:e,min_height:r}=a.aspect_ratios[0];(0,i.isInteger)(e)&&(0,i.isInteger)(r)?(s.img.wmin=e,s.img.hmin=r):(0,i.logWarn)(`${u}: image.aspect_ratios min_width or min_height are invalid: ${e}, ${r}`);const t=a.aspect_ratios.filter((e=>e.ratio_width&&e.ratio_height)).map((e=>`${e.ratio_width}:${e.ratio_height}`));t.length>0&&(s.img.ext={aspectratios:t})}else(0,i.logWarn)(`${u}: image.aspect_ratios was passed, but it's empty: ${a.aspect_ratios}`);else(0,i.logWarn)(`${u}: image.aspect_ratios was passed, but it's not a an array: ${a.aspect_ratios}`);s.img.w=a.w||a.width,s.img.h=a.h||a.height,s.img.wmin=a.wmin||a.minimumWidth||(a.minsizes?a.minsizes[0]:f),s.img.hmin=a.hmin||a.minimumHeight||(a.minsizes?a.minsizes[1]:f),a.sizes&&(2===a.sizes.length&&(0,i.isInteger)(a.sizes[0])&&(0,i.isInteger)(a.sizes[1])?((0,i.logInfo)(`${u}: if asset.sizes exist, by OpenRTB spec we should remove wmin and hmin`),s.img.w=a.sizes[0],s.img.h=a.sizes[1],delete s.img.hmin,delete s.img.wmin):(0,i.logWarn)(`${u}: image.sizes was passed, but its value is not an array of integers: ${a.sizes}`)),a.ext&&(s.img.ext=a.ext),a.mimes&&(s.img.mimes=a.mimes)}else"title"===t?(s.title={len:a.len||a.length||140},a.ext&&(s.title.ext=a.ext)):"ext"===t&&(s.ext=a,delete s.required);r.assets.push(s)}return r.assets.length<1?((0,i.logWarn)(`${u}: Could not find any valid asset`),void(C=!0)):r}(e);return r}function B(e){var r,t=e.mediaTypes.banner.sizes,a=[];if(t!==f&&(0,i.isArray)(t)){if(r={},e.params.width||e.params.height)r.w=e.params.width,r.h=e.params.height;else{if(0===t.length)return r=f,(0,i.logWarn)(u+"Error: mediaTypes.banner.size missing for adunit: "+e.params.adUnit+". Ignoring the banner impression in the adunit."),r;r.w=parseInt(t[0][0],10),r.h=parseInt(t[0][1],10),t=t.splice(1,t.length-1)}t.length>0&&(a=[],t.forEach((function(e){e.length>1&&a.push({w:e[0],h:e[1]})})),a.length>0&&(r.format=a)),r.pos=0,r.topframe=(0,i.inIframe)()?0:1;const s={...(0,n.A)(e,"ortb2Imp.banner")};for(let e in R)s.hasOwnProperty(e)&&(r[e]=N(e,s[e],R[e]))}else(0,i.logWarn)(u+"Error: mediaTypes.banner.size missing for adunit: "+e.params.adUnit+". Ignoring the banner impression in the adunit."),r=f;return r}function M(e){var r,t=(0,i.mergeDeep)((0,n.A)(e.mediaTypes,"video"),e.params.video);if(t!==f){for(var a in r={},function(e,r){(0,n.A)(e,"plcmt")||(0,i.logWarn)(y+" for "+r)}(t,e.adUnitCode),x)t.hasOwnProperty(a)&&(r[a]=N(a,t[a],x[a]));(0,i.isArray)(e.mediaTypes.video.playerSize[0])?(r.w=parseInt(e.mediaTypes.video.playerSize[0][0],10),r.h=parseInt(e.mediaTypes.video.playerSize[0][1],10)):(0,i.isNumber)(e.mediaTypes.video.playerSize[0])&&(r.w=parseInt(e.mediaTypes.video.playerSize[0],10),r.h=parseInt(e.mediaTypes.video.playerSize[1],10))}else r=f,(0,i.logWarn)(u+"Error: Video config params missing for adunit: "+e.params.adUnit+" with mediaType set as video. Ignoring video impression in the adunit.");return r}function q(e,r){var t,a,o={},l={},m=e.hasOwnProperty("sizes")?e.sizes:[],c="",g=[],b=r?.paapi?.enabled;if(function(e,r){r.params.deals&&((0,i.isArray)(r.params.deals)?r.params.deals.forEach((function(r){(0,i.isStr)(r)&&r.length>3?(e.pmp||(e.pmp={private_auction:0,deals:[]}),e.pmp.deals.push({id:r})):(0,i.logWarn)(u+"Error: deal-id present in array bid.params.deals should be a strings with more than 3 charaters length, deal-id ignored: "+r)})):(0,i.logWarn)(u+"Error: bid.params.deals should be an array of strings."))}(o={id:e.bidId,tagid:e.params.adUnit||void 0,bidfloor:U("kadfloor",e.params.kadfloor),secure:1,ext:{pmZoneId:U("pmzoneid",e.params.pmzoneid)},bidfloorcur:e.params.currency?U("currency",e.params.currency):h,displaymanager:"Prebid.js",displaymanagerver:"9.22.0",pmp:e.ortb2Imp?.pmp||void 0},e),function(e,r){var t,a="";if(r.params.dctr)if(a=r.params.dctr,(0,i.isStr)(a)&&a.length>0){var n=a.split("|");a="",n.forEach((e=>{a+=e.length>0?e.trim()+"|":""})),t=a.length,"|"===a.substring(t,t-1)&&(a=a.substring(0,t-1)),e.ext.key_val=a.trim()}else(0,i.logWarn)(u+"Ignoring param : dctr with value : "+a+", expects string-value, found empty or non-string value")}(o,e),function(e,r){var t=r.rtd&&r.rtd.jwplayer&&r.rtd.jwplayer.targeting||void 0,a="";if(void 0!==t&&""!==t&&t.hasOwnProperty("segments")){var i,n=t.segments.length;a+="jw-id="+t.content.id;for(var s=0;s<n;s++)a+="|jw-"+t.segments[s]+"=1";(i=e.ext)&&void 0===i.key_val?i.key_val=a:i.key_val+="|"+a}}(o,e),e.hasOwnProperty("mediaTypes"))for(c in e.mediaTypes)switch(c){case d.D4:(t=B(e))!==f&&(o.banner=t);break;case d.s6:l.request=JSON.stringify(j(e.nativeParams)),C?((0,i.logWarn)(u+"Error: Error in Native adunit "+e.params.adUnit+". Ignoring the adunit. Refer to http://prebid.org/dev-docs/show-native-ads.html for more details."),C=!1):o.native=l;break;case d.G_:(a=M(e))!==f&&(o.video=a)}else t={pos:0,w:e.params.width,h:e.params.height,topframe:(0,i.inIframe)()?0:1},(0,i.isArray)(m)&&m.length>1&&((m=m.splice(1,m.length-1)).forEach((e=>{g.push({w:e[0],h:e[1]})})),t.format=g),o.banner=t;return function(e,r){const t={...(0,n.A)(r,"ortb2Imp.ext.data")};Object.keys(t).forEach((r=>{"pbadslot"===r?"string"==typeof t[r]&&t[r]&&(0,s.J)(e,"ext.data.pbadslot",t[r]):"adserver"===r?["name","adslot"].forEach((r=>{const a=(0,n.A)(t,`adserver.${r}`);"string"==typeof a&&a&&((0,s.J)(e,`ext.data.adserver.${r.toLowerCase()}`,a),"adslot"===r&&(0,s.J)(e,"ext.dfp_ad_unit_code",a))})):(0,s.J)(e,`ext.data.${r}`,t[r])}));const a=(0,n.A)(r,"ortb2Imp.ext.gpid");a&&(0,s.J)(e,"ext.gpid",a)}(o,e),function(e,r){let t=-1;"function"!=typeof r.getFloor||p.$W.getConfig("pubmatic.disableFloors")||[d.D4,d.G_,d.s6].forEach((a=>{if(e.hasOwnProperty(a)){let n=[];"banner"===a&&(e[a].w&&e[a].h&&n.push([e[a].w,e[a].h]),(0,i.isArray)(e[a].format)&&e[a].format.forEach((e=>n.push([e.w,e.h])))),0===n.length&&n.push("*"),n.forEach((n=>{let s=r.getFloor({currency:e.bidfloorcur,mediaType:a,size:n});if((0,i.logInfo)(u,"floor from floor module returned for mediatype:",a," and size:",n," is: currency",s.currency,"floor",s.floor),(0,i.isPlainObject)(s)&&s.currency===e.bidfloorcur&&!isNaN(parseInt(s.floor))){let e=parseFloat(s.floor);(0,i.logInfo)(u,"floor from floor module:",e,"previous floor value",t,"Min:",Math.min(e,t)),t=-1===t?e:Math.min(e,t),(0,i.logInfo)(u,"new floor value:",t)}}))}}));e.bidfloor&&((0,i.logInfo)(u,"floor from floor module:",t,"impObj.bidfloor",e.bidfloor,"Max:",Math.max(t,e.bidfloor)),t=Math.max(t,e.bidfloor));e.bidfloor=!isNaN(t)&&t>0?t:f,(0,i.logInfo)(u,"new impObj.bidfloor value:",e.bidfloor)}(o,e),function(e,r,t){t?(e.ext=e.ext||{},void 0!==r?.ortb2Imp?.ext?.ae&&(e.ext.ae=r.ortb2Imp.ext.ae)):e.ext?.ae&&delete e.ext.ae}(o,e,b),o.hasOwnProperty(d.D4)||o.hasOwnProperty(d.s6)||o.hasOwnProperty(d.G_)?o:f}function J(e,r){(r=r.filter((function(e){return"string"==typeof e||((0,i.logWarn)(u+"acat: Each category should be a string, ignoring category: "+e),!1)})).map((e=>e.trim())).filter(((e,r,t)=>t.indexOf(e)===r))).length>0&&((0,i.logWarn)(u+"acat: Selected: ",r),e.ext.acat=r)}function D(e){return!0===(0,i.isArray)(e)&&e.length>0}const G={code:g,gvlid:76,supportedMediaTypes:[d.D4,d.G_,d.s6],isBidRequestValid:e=>{if(e&&e.params){if(!(0,i.isStr)(e.params.publisherId))return(0,i.logWarn)(u+"Error: publisherId is mandatory and cannot be numeric (wrap it in quotes in your config). Call to OpenBid will not be sent for ad unit: "+JSON.stringify(e)),!1;if(e.hasOwnProperty("mediaTypes")&&e.mediaTypes.hasOwnProperty(d.G_)){let r=(0,n.A)(e.mediaTypes,"video.mimes"),t=(0,n.A)(e,"params.video.mimes");if(!1===D(r)&&!1===D(t))return(0,i.logWarn)(u+"Error: For video ads, bid.mediaTypes.video.mimes OR bid.params.video.mimes should be present and must be a non-empty array. Call to OpenBid will not be sent for ad unit:"+JSON.stringify(e)),!1;if(!e.mediaTypes[d.G_].hasOwnProperty("context"))return(0,i.logError)(`${u}: no context specified in bid. Rejecting bid: `,e),!1;if("outstream"===e.mediaTypes[d.G_].context&&!(0,i.isStr)(e.params.outstreamAU)&&!e.hasOwnProperty("renderer")&&!e.mediaTypes[d.G_].hasOwnProperty("renderer"))return e.mediaTypes.hasOwnProperty(d.D4)||e.mediaTypes.hasOwnProperty(d.s6)?(delete e.mediaTypes[d.G_],(0,i.logWarn)(`${u}: for "outstream" bids either outstreamAU parameter must be provided or ad unit supplied renderer is required. Rejecting mediatype Video of bid: `,e),!0):((0,i.logError)(`${u}: for "outstream" bids either outstreamAU parameter must be provided or ad unit supplied renderer is required. Rejecting bid: `,e),!1)}return!0}return!1},buildRequests:(e,r)=>{var t;r&&r.refererInfo&&(t=r.refererInfo);var a,o=function(e){return{pageURL:e?.page||window.location.href,refURL:e?.ref||window.document.referrer}}(t),l=function(e){return{id:""+(new Date).getTime(),at:1,cur:[h],imp:[],site:{page:e.pageURL,ref:e.refURL,publisher:{}},device:{ua:navigator.userAgent,js:1,dnt:"yes"==navigator.doNotTrack||"1"==navigator.doNotTrack||"1"==navigator.msDoNotTrack?1:0,h:screen.height,w:screen.width,language:navigator.language,connectiontype:W()},user:{},ext:{}}}(o),c="",g=[],b=[],y=[],w=(0,i.generateUUID)();if(e.forEach((e=>{if(e.params.wiid=e.params.wiid||r.auctionId||w,(a=(0,i.deepClone)(e)).params.adSlot=a.params.adSlot||"",P(a),a.mediaTypes&&a.mediaTypes.hasOwnProperty("video")||a.params.hasOwnProperty("video"));else if(!(a.hasOwnProperty("mediaTypes")&&a.mediaTypes.hasOwnProperty(d.s6)||0!==a.params.width||0!==a.params.height))return void(0,i.logWarn)(u+"Skipping the non-standard adslot: ",a.params.adSlot,JSON.stringify(a));o.pubId=o.pubId||a.params.publisherId,(o=function(e,r){var t,a,n;for(t in r.kadpageurl||(r.kadpageurl=r.pageURL),v)v.hasOwnProperty(t)&&(a=e[t])&&("object"==typeof(n=v[t])&&(a=n.f(a,r)),(0,i.isStr)(a)?r[t]=a:(0,i.logWarn)(u+"Ignoring param : "+t+" with value : "+v[t]+", expects string-value, found "+typeof a));return r}(a.params,o)).transactionId=a.ortb2Imp?.ext?.tid,""===c?c=a.params.currency||f:a.params.hasOwnProperty("currency")&&c!==a.params.currency&&(0,i.logWarn)(u+"Currency specifier ignored. Only one currency permitted."),a.params.currency=c,a.params.hasOwnProperty("dctr")&&(0,i.isStr)(a.params.dctr)&&g.push(a.params.dctr),a.params.hasOwnProperty("bcat")&&(0,i.isArray)(a.params.bcat)&&(b=b.concat(a.params.bcat)),a.params.hasOwnProperty("acat")&&(0,i.isArray)(a.params.acat)&&(y=y.concat(a.params.acat));var t=q(a,r);t&&l.imp.push(t)})),0==l.imp.length)return;l.site.publisher.id=o.pubId.trim(),_=o.pubId.trim(),l.ext.wrapper={},l.ext.wrapper.profile=parseInt(o.profId)||f,l.ext.wrapper.version=parseInt(o.verId)||f,l.ext.wrapper.wiid=o.wiid||r.auctionId,l.ext.wrapper.wv="prebid_prebid_9.22.0",l.ext.wrapper.transactionId=o.transactionId,l.ext.wrapper.wp="pbjs";const x=r?m.u.get(r.bidderCode,"allowAlternateBidderCodes"):void 0;if(void 0!==x){if(l.ext.marketplace={},r&&1==x){let e=m.u.get(r.bidderCode,"allowedAlternateBidderCodes");(0,i.isArray)(e)?(e=e.map((e=>e.trim().toLowerCase())).filter((e=>!!e)).filter(i.uniques),S=e.includes("*")?z:[...S,...e]):S=z}l.ext.marketplace.allowedbidders=S.filter(i.uniques)}l.user.gender=o.gender?o.gender.trim():f,l.user.geo={},l.user.yob=U("yob",o.yob),l.site.page=o.kadpageurl.trim()||l.site.page.trim(),l.site.domain=function(e){let r=document.createElement("a");return r.href=e,r.hostname}(l.site.page),"object"==typeof p.$W.getConfig("content")&&(l.site.content=p.$W.getConfig("content")),"object"==typeof p.$W.getConfig("device")&&(l.device=Object.assign(l.device,p.$W.getConfig("device"))),l.device.language=l.device.language&&l.device.language.split("-")[0],(0,s.J)(l,"source.tid",r?.ortb2?.source?.tid),-1!==window.location.href.indexOf("pubmaticTest=true")&&(l.test=1),e[0].schain&&(0,s.J)(l,"source.ext.schain",e[0].schain),r&&r.gdprConsent&&((0,s.J)(l,"user.ext.consent",r.gdprConsent.consentString),(0,s.J)(l,"regs.ext.gdpr",r.gdprConsent.gdprApplies?1:0)),r&&r.uspConsent&&(0,s.J)(l,"regs.ext.us_privacy",r.uspConsent),r?.gppConsent?.gppString?((0,s.J)(l,"regs.gpp",r.gppConsent.gppString),(0,s.J)(l,"regs.gpp_sid",r.gppConsent.applicableSections)):r?.ortb2?.regs?.gpp&&((0,s.J)(l,"regs.gpp",r.ortb2.regs.gpp),(0,s.J)(l,"regs.gpp_sid",r.ortb2.regs.gpp_sid)),!0===p.$W.getConfig("coppa")&&(0,s.J)(l,"regs.coppa",1),r?.ortb2?.regs?.ext?.dsa&&(0,s.J)(l,"regs.ext.dsa",r.ortb2.regs.ext.dsa),function(e,r){let t=(0,n.A)(r,"0.userIdAsEids");(0,i.isArray)(t)&&t.length>0&&(0,s.J)(e,"user.eids",t)}(l,e);const I=r&&r.ortb2||{},{user:R,device:T,site:O,bcat:A,badv:E}=I;if(O){const{page:e,domain:r,ref:t}=l.site;(0,i.mergeDeep)(l,{site:O}),l.site.page=e,l.site.domain=r,l.site.ref=t}if(R&&(0,i.mergeDeep)(l,{user:R}),E&&(0,i.mergeDeep)(l,{badv:E}),A&&(b=b.concat(A)),T?.sua&&(l.device.sua=T?.sua),T?.ext?.cdep&&(0,s.J)(l,"device.ext.cdep",T.ext.cdep),R?.geo&&T?.geo?(l.device.geo={...l.device.geo,...T.geo},l.user.geo={...l.user.geo,...R.geo}):(R?.geo||T?.geo)&&(l.user.geo=l.device.geo=R?.geo?{...l.user.geo,...R.geo}:{...l.user.geo,...T.geo}),r?.ortb2?.device&&(0,i.mergeDeep)(l.device,r.ortb2.device),I.ext?.prebid?.bidderparams?.[r.bidderCode]?.acat){const e=I.ext.prebid.bidderparams[r.bidderCode].acat;J(l,e)}else y.length&&J(l,y);return function(e,r){(r=r.filter((function(e){return"string"==typeof e||((0,i.logWarn)(u+"bcat: Each category should be a string, ignoring category: "+e),!1)})).map((e=>e.trim())).filter((function(e,r,t){if(e.length>3)return t.indexOf(e)===r;(0,i.logWarn)(u+"bcat: Each category should have a value of a length of more than 3 characters, ignoring category: "+e)}))).length>0&&((0,i.logWarn)(u+"bcat: Selected: ",r),e.bcat=r)}(l,b),l.tmax=r?.timeout?r.timeout:window?.PWT?.versionDetails?.timeout,l.ext.epoch=(new Date).getTime(),"object"==typeof p.$W.getConfig("app")&&(l.app=p.$W.getConfig("app"),l.app.publisher=l.site.publisher,l.app.ext=l.site.ext||f,"object"!=typeof l.app.content&&(l.app.content=l.site.content||f),delete l.site),{method:"POST",url:"https://hbopenbid.pubmatic.com/translator?source=prebid-client",data:JSON.stringify(l),bidderRequest:r}},interpretResponse:(e,r)=>{const t=[];var a=h;let s=JSON.parse(r.data),o=s.site&&s.site.ref?s.site.ref:"";try{e.body&&e.body.seatbid&&(0,i.isArray)(e.body.seatbid)&&(a=e.body.cur||a,e.body.seatbid.forEach((e=>{e.bid&&(0,i.isArray)(e.bid)&&e.bid.forEach((p=>{let l={requestId:p.impid,cpm:parseFloat((p.price||0).toFixed(2)),width:p.w,height:p.h,creativeId:p.crid||p.id,dealId:p.dealid,currency:a,netRevenue:true,ttl:360,referrer:o,ad:p.adm,pm_seat:e.seat||null,pm_dspid:p.ext&&p.ext.dspid?p.ext.dspid:null,partnerImpId:p.id||""};s.imp&&s.imp.length>0&&s.imp.forEach((e=>{if(p.impid===e.id)switch(function(e,r){if(e.ext&&null!=e.ext.bidtype)r.mediaType=A[e.ext.bidtype];else{(0,i.logInfo)(u+"bid.ext.bidtype does not exist, checking alternatively for mediaType");var t=e.adm,a="",n=new RegExp(/VAST\s+version/);if(t.indexOf('span class="PubAPIAd"')>=0)r.mediaType=d.D4;else if(n.test(t))r.mediaType=d.G_;else try{(a=JSON.parse(t.replace(/\\/g,"")))&&a.native&&(r.mediaType=d.s6)}catch(e){(0,i.logWarn)(u+"Error: Cannot parse native reponse for ad response: "+t)}}}(p,l),function(e,r){let t=E[r?.mediaType]||360;r.ttl=e.exp||t}(p,l),l.mediaType){case d.D4:break;case d.G_:l.width=p.hasOwnProperty("w")?p.w:e.video.w,l.height=p.hasOwnProperty("h")?p.h:e.video.h,l.vastXml=p.adm,function(e,r){let t,a,i;if(r.bidderRequest&&r.bidderRequest.bids){for(let n=0;n<r.bidderRequest.bids.length;n++)r.bidderRequest.bids[n].bidId===e.requestId&&(t=r.bidderRequest.bids[n].params,a=r.bidderRequest.bids[n].mediaTypes[d.G_].context,i=r.bidderRequest.bids[n].adUnitCode);a&&"outstream"===a&&t&&t.outstreamAU&&i&&(e.rendererCode=t.outstreamAU,e.renderer=O.newRenderer(e.rendererCode,i))}}(l,r),function(e,r,t){if(!r?.ext?.prebiddealpriority)return;const a=(0,i.getBidRequest)(e.requestId,[t.bidderRequest]),s=(0,n.A)(a,"mediaTypes.video");if(s?.context!=d.LM)return;const o=r?.ext?.video?.duration||s?.maxduration;e.video={context:d.LM,durationSeconds:o,dealTier:r.ext.prebiddealpriority}}(l,p,r);break;case d.s6:!function(e,r){if(e.hasOwnProperty("adm")){var t="";try{t=JSON.parse(e.adm.replace(/\\/g,""))}catch(e){return void(0,i.logWarn)(u+"Error: Cannot parse native reponse for ad response: "+r.adm)}r.native={ortb:{...t.native}},r.mediaType=d.s6,r.width||(r.width=0),r.height||(r.height=0)}}(p,l)}})),function(e,r,t){e.meta=e.meta||{},r.ext&&r.ext.dspid&&(e.meta.networkId=r.ext.dspid,e.meta.demandSource=r.ext.dspid),r.ext&&r.ext.dchain&&(e.meta.dchain=r.ext.dchain);const a=t||r.ext&&r.ext.advid;a&&(e.meta.advertiserId=a,e.meta.agencyId=a,e.meta.buyerId=a),r.adomain&&D(r.adomain)&&(e.meta.advertiserDomains=r.adomain,e.meta.clickUrl=r.adomain[0],e.meta.brandId=r.adomain[0]),r.cat&&D(r.cat)&&(e.meta.secondaryCatIds=r.cat,e.meta.primaryCatId=r.cat[0]),r.ext&&r.ext.dsa&&Object.keys(r.ext.dsa).length&&(e.meta.dsa=r.ext.dsa),e.mediaType&&(e.meta.mediaType=e.mediaType)}(l,p,e.seat),function(e,r){e?.ext?.ibv&&(r.ext=r.ext||{},r.ext.ibv=e.ext.ibv,r.meta=r.meta||{},r.meta.mediaType=d.G_)}(p,l),p.ext&&p.ext.deal_channel&&(l.dealChannel=T[p.ext.deal_channel]||null),e.ext&&e.ext.buyid&&(l.adserverTargeting={hb_buyid_pubmatic:e.ext.buyid}),p.ext&&p.ext.marketplace&&(l.bidderCode=p.ext.marketplace),t.push(l)}))})));let p=(0,n.A)(e.body,"ext.fledge_auction_configs");if(p)return p=Object.entries(p).map((e=>{let[r,t]=e;return{bidId:r,config:Object.assign({auctionSignals:{}},t)}})),{bids:t,paapi:p}}catch(e){(0,i.logError)(e)}return t},getUserSyncs:(e,r,t,a,i)=>{let n=""+_;return t&&(n+="&gdpr="+(t.gdprApplies?1:0),n+="&gdpr_consent="+encodeURIComponent(t.consentString||"")),a&&(n+="&us_privacy="+encodeURIComponent(a)),i?.gppString&&i?.applicableSections?.length&&(n+="&gpp="+encodeURIComponent(i.gppString),n+="&gpp_sid="+encodeURIComponent(i?.applicableSections?.join(","))),!0===p.$W.getConfig("coppa")&&(n+="&coppa=1"),e.iframeEnabled?[{type:"iframe",url:"https://ads.pubmatic.com/AdServer/js/user_sync.html?kdntuid=1&p="+n}]:[{type:"image",url:"https://image8.pubmatic.com/AdServer/ImgSync?p="+n}]}};(0,o.a$)(G),(0,a.E)("pubmaticBidAdapter")}},e=>{e.O(0,[60802,51085],(()=>{return r=63990,e(e.s=r);var r}));e.O()}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[4085],{43297:(e,n,t)=>{var r=t(7873),o=t(91069),u=t(70433),s=t(43272),p=t(11445),i=t(16916),l=t(75023),c=t(78969),a=t(45569),d=t(2604),f=t(95139),g=t(76811);const h={purpose:{},feature:{}},v={purpose:!1,feature:"specialFeatureOptins"},m={storage:{type:"purpose",default:{purpose:"storage",enforcePurpose:!0,enforceVendor:!0,vendorExceptions:[]},id:1},basicAds:{type:"purpose",id:2,default:{purpose:"basicAds",enforcePurpose:!0,enforceVendor:!0,vendorExceptions:[]}},personalizedAds:{type:"purpose",id:4},measurement:{type:"purpose",id:7},transmitPreciseGeo:{type:"feature",id:1}},y=new Set,B=new Set,E=new Set,k=new Set,q=new Set,A=new Set;let $=!1,b=!1;const C=[a.tW,a.fW,a.Tn,a.zu],D="TCF2",w=[],O=[2],W=[2,7,9,10];function P(e,n,t,r){const o=(0,u.A)(e,`vendorData.${n}`);return!!o?.consents?.[t]||r&&!!o?.legitimateInterests?.[t]}function S(e,n,t,r){let o;if(!1!==v[n])o=!!(0,u.A)(e,`vendorData.${v[n]}.${t}`);else{const[n,u]=r===i.B1?["publisher",W]:["purpose",O];o=P(e,n,t,u.includes(t))}return{purpose:o,vendor:P(e,"vendor",r,O.includes(t))}}function T(e,n,t,r){const o=m[e.purpose];if((e.vendorExceptions||[]).includes(t))return!0;const u=e.enforceVendor&&!(r===i.B1||(e.softVendorExceptions||[]).includes(t)),{purpose:s,vendor:p}=S(n,o.type,o.id,r);return(!e.enforcePurpose||s)&&(!u||p)}function x(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:()=>null;return function(u){const p=i.mW.getConsentData(),l=u[d.iK];if(function(e,n,t){return null==e&&i.mW.enabled?((0,o.logWarn)(`Attempting operation that requires purpose ${n} consent while consent data is not available${t?` (module: ${t})`:""}. Assuming no consent was given.`),!0):e&&e.gdprApplies}(p,e,l)){const e=function(e,n,t){if(n){const r=s.$W.getConfig("gvlMapping");if(r&&r[n])return r[n];if(e===a.tp)return i.B1;{let{gvlid:r,modules:u}=i.o2.get(n);if(null==r&&Object.keys(u).length>0)for(const t of C)if(u.hasOwnProperty(t)){r=u[t],t!==e&&(0,o.logWarn)(`Multiple GVL IDs found for module '${n}'; using the ${t} module's ID (${r}) instead of the ${e}'s ID (${u[e]})`);break}return null==r&&t&&(r=t()),r||null}}return null}(u[d.Dk],l,r(u));let c=!!n(p,l,e);if(!c)return t&&t.add(l),{allow:c}}}}function F(e){return x(e,((n,t,r)=>!!T(h.purpose[e],n,t,r)),arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>null)}function M(e){return function(n){if(n[d.Dk]!==a.tp)return e(n)}}const V=(j=F(1,y),function(e){if(e[d.Dk]!==a.tp||b)return j(e)});var j;const I=F(1,y),N=F(1,y),z=M(F(2,B)),G=F(7,E,(e=>function(e,n){const t=p.Ay.getAnalyticsAdapter(e);return(r=>{if("function"!=typeof r)return r;try{return r.call(t.adapter,n)}catch(n){(0,o.logError)(`Error invoking ${e} adapter.gvlid()`,n)}})(t?.adapter?.gvlid)}(e[d.iK],e[d.TQ]))),K=F(4,k),L=M((()=>{const e=x("2-10",(function(e,n,t){for(let r=2;r<=10;r++){if(h.purpose[r]?.vendorExceptions?.includes(n))return!0;const{purpose:o,vendor:u}=S(e,"purpose",r,t);if(o&&(u||h.purpose[r]?.softVendorExceptions?.includes(n)))return!0}return!1}),q),n=F(4,q);return function(){return(h.purpose[4]?.eidsRequireP4Consent?n:e).apply(this,arguments)}})()),R=x("Special Feature 1",((e,n,t)=>T(h.feature[1],e,n,t)),A);l.on(c.qY.AUCTION_END,(function(){const e=function(e){return Array.from(e.keys()).filter((e=>null!=e))},n={storageBlocked:e(y),biddersBlocked:e(B),analyticsBlocked:e(E),ufpdBlocked:e(k),eidsBlocked:e(q),geoBlocked:e(A)};l.emit(c.qY.TCF2_ENFORCEMENT,n),[y,B,E,k,q,A].forEach((e=>e.clear()))})),s.$W.getConfig("consentManagement",(e=>function(e){let n=(0,u.A)(e,"gdpr.rules");n||(0,o.logWarn)("TCF2: enforcing P1 and P2 by default"),n=Object.fromEntries((n||[]).map((e=>[e.purpose,e]))),b=!!(0,u.A)(e,"strictStorageEnforcement"),Object.entries(m).forEach((e=>{let[t,r]=e;h[r.type][r.id]=n[t]??r.default})),$||(null!=h.purpose[1]&&($=!0,w.push((0,f.qB)(g.Ue,D,V)),w.push((0,f.qB)(g.Ml,D,I)),w.push((0,f.qB)(g.yl,D,N))),null!=h.purpose[2]&&w.push((0,f.qB)(g.uc,D,z)),null!=h.purpose[4]&&w.push((0,f.qB)(g.DL,D,K),(0,f.qB)(g.qX,D,K)),null!=h.purpose[7]&&w.push((0,f.qB)(g.mo,D,G)),null!=h.feature[1]&&w.push((0,f.qB)(g.hE,D,R)),w.push((0,f.qB)(g.hq,D,L)))}(e.consentManagement))),(0,r.E)("tcfControl")}},e=>{e.O(0,[60802,51085],(()=>{return n=43297,e(e.s=n);var n}));e.O()}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[94183],{63429:(e,r,t)=>{var i=t(7873),a=t(63172),s=t(91069),n=t(70433),o=t(43272),d=t(57377),p=t(71371),m=t(91223);const u="ttd",l=1,c=2;function g(e){return{ttdprebid:{ver:"TTD-PREBID-2024.07.26",pbjs:"9.22.0",keywords:e.site?.keywords?e.site.keywords.split(",").map((e=>e.trim())):[]}}}function b(e){let r={};return e.gdprConsent&&"boolean"==typeof e.gdprConsent.gdprApplies&&a.J(r,"ext.gdpr",e.gdprConsent.gdprApplies?1:0),e.uspConsent&&a.J(r,"ext.us_privacy",e.uspConsent),!0===o.$W.getConfig("coppa")&&(r.coppa=1),e.ortb2?.regs&&s.mergeDeep(r,e.ortb2.regs),r}function y(e,r){let t={tid:r?.ortb2?.source?.tid};return e[0].schain&&a.J(t,"ext.schain",e[0].schain),t}function f(e){const r=navigator.language||navigator.browserLanguage||navigator.userLanguage||navigator.systemLanguage;let t={ua:navigator.userAgent,dnt:s.getDNT()?1:0,language:r,connectiontype:(0,m.Z)()};return s.mergeDeep(t,e.device),t}function h(e,r){let t={};e.gdprConsent&&a.J(t,"ext.consent",e.gdprConsent.consentString),s.isStr(n.A(e,"bids.0.userId.tdid"))&&(t.buyeruid=e.bids[0].userId.tdid);var i=n.A(e,"bids.0.userIdAsEids");return i&&i.length&&a.J(t,"ext.eids",i),s.mergeDeep(t,r.user),t}function v(e,r){var t=s.mergeDeep({page:n.A(e,"refererInfo.page"),ref:n.A(e,"refererInfo.ref"),publisher:{id:n.A(e,"bids.0.params.publisherId")}},r.site),i=e.refererInfo.domain;return i&&a.J(t,"publisher.domain",i),t}function I(e){let r={id:e.bidId};const t=n.A(e,"ortb2Imp.ext.gpid")||e.params.placementId;t&&(r.tagid=t);const i=n.A(e,"mediaTypes.video");let a={};n.A(e,"mediaTypes.banner")&&(a[p.D4]=function(e){const r=function(e){const r=s.parseSizesInput(e).filter((e=>e)).map((e=>e.split("x"))).map((e=>({width:parseInt(e[0]),height:parseInt(e[1])})));return r}(e.mediaTypes.banner.sizes).map((e=>({w:e.width,h:e.height}))),t=parseInt(n.A(e,"mediaTypes.banner.pos")),i=n.A(e,"params.banner.expdir");let a={};t&&(a.pos=t);i&&Array.isArray(i)&&(a.expdir=i);const o=Object.assign({w:r[0].w,h:r[0].h,format:r},a),d=n.A(e,"ortb2Imp.banner.battr");d&&(o.battr=d);return o}(e)),i&&(a[p.G_]=function(e){{let r=n.A(e,"mediaTypes.video.minduration");const t=n.A(e,"mediaTypes.video.maxduration"),i=n.A(e,"mediaTypes.video.playerSize"),a=n.A(e,"mediaTypes.video.api"),o=n.A(e,"mediaTypes.video.mimes"),d=n.A(e,"mediaTypes.video.placement"),p=n.A(e,"mediaTypes.video.plcmt"),m=n.A(e,"mediaTypes.video.protocols"),u=n.A(e,"mediaTypes.video.playbackmethod"),l=n.A(e,"mediaTypes.video.pos"),c=n.A(e,"mediaTypes.video.startdelay"),g=n.A(e,"mediaTypes.video.skip"),b=n.A(e,"mediaTypes.video.skipmin"),y=n.A(e,"mediaTypes.video.skipafter"),f=n.A(e,"mediaTypes.video.minbitrate"),h=n.A(e,"mediaTypes.video.maxbitrate");r&&s.isInteger(r)||(r=0);let v={minduration:r,maxduration:t,api:a,mimes:o,placement:d,protocols:m};void 0!==i&&(s.isArray(i[0])?(v.w=parseInt(i[0][0]),v.h=parseInt(i[0][1])):s.isNumber(i[0])&&(v.w=parseInt(i[0]),v.h=parseInt(i[1]))),u&&(v.playbackmethod=u),p&&(v.plcmt=p),l&&(v.pos=l),c&&s.isInteger(c)&&(v.startdelay=c),!g||0!==g&&1!==g||(v.skip=g),b&&s.isInteger(b)&&(v.skipmin=b),y&&s.isInteger(y)&&(v.skipafter=y),f&&s.isInteger(f)&&(v.minbitrate=f),h&&s.isInteger(h)&&(v.maxbitrate=h);const I=n.A(e,"ortb2Imp.video.battr");return I&&(v.battr=I),v}}(e)),Object.assign(r,a);let o=function(e){if(e.params.bidfloor)return e.params.bidfloor;if(!s.isFn(e.getFloor))return null;let r=e.getFloor({currency:"USD",mediaType:"*",size:"*"});return s.isPlainObject(r)&&!isNaN(r.floor)&&"USD"===r.currency?r.floor:null}(e);o&&(r.bidfloor=parseFloat(o),r.bidfloorcur="USD");const d=n.A(e,"ortb2Imp.secure");return r.secure=(0,s.isNumber)(d)?d:1,s.mergeDeep(r,e.ortb2Imp),r}const A={code:u,gvlid:21,aliases:["thetradedesk"],supportedMediaTypes:[p.D4,p.G_],isBidRequestValid:function(e){if(!e||!e.params)return s.logWarn(u+": Missing bid parameters"),!1;if(!e.params.supplySourceId)return s.logWarn(u+": Missing required parameter params.supplySourceId"),!1;if(!/^[\w+]+$/.test(e.params.supplySourceId))return s.logWarn(u+": supplySourceId must only contain alphabetic characters"),!1;if(!e.params.publisherId)return s.logWarn(u+": Missing required parameter params.publisherId"),!1;if(e.params.publisherId.length>32)return s.logWarn(u+": params.publisherId must be 32 characters or less"),!1;if(e.params.bidfloor&&isNaN(parseFloat(e.params.bidfloor)))return!1;const r=n.A(e,"ortb2Imp.ext.gpid");if(!e.params.placementId&&!r)return s.logWarn(u+": one of params.placementId or gpid (via the GPT module https://docs.prebid.org/dev-docs/modules/gpt-pre-auction.html) must be passed"),!1;const t=n.A(e,"mediaTypes.banner"),i=n.A(e,"mediaTypes.video");if(!t&&!i)return s.logWarn(u+": one of mediaTypes.banner or mediaTypes.video must be passed"),!1;if(i){if(!i.maxduration||!s.isInteger(i.maxduration))return s.logWarn(u+": mediaTypes.video.maxduration must be set to the maximum video ad duration in seconds"),!1;if(!i.api||0===i.api.length)return s.logWarn(u+": mediaTypes.video.api should be an array of supported api frameworks. See the Open RTB v2.5 spec for valid values"),!1;if(!i.mimes||0===i.mimes.length)return s.logWarn(u+": mediaTypes.video.mimes should be an array of supported mime types"),!1;if(!i.protocols)return s.logWarn(u+": mediaTypes.video.protocols should be an array of supported protocols. See the Open RTB v2.5 spec for valid values"),!1}return!0},buildRequests:function(e,r){const t=r.ortb2||{};let i={id:r.bidderRequestId,imp:e.map((e=>I(e))),site:v(r,t),device:f(t),user:h(r,t),at:1,cur:["USD"],regs:b(r),source:y(e,r),ext:g(t)};return t&&t.bcat&&(i.bcat=t.bcat),t&&t.badv&&(i.badv=t.badv),t&&t.app&&(i.app=t.app),t&&t.pmp&&(i.pmp=t.pmp),{method:"POST",url:(r.bids[0].params.useHttp2?"https://d2.adsrvr.org/bid/bidder/":"https://direct.adsrvr.org/bid/bidder/")+r.bids[0].params.supplySourceId,data:i,options:{withCredentials:!0}}},interpretResponse:function(e,r){let t=n.A(e,"body.seatbid");const i=n.A(e,"body.cur");if(!t||0===t.length)return[];let a=[],o=n.A(r,"data.imp");return t.forEach((e=>{e.bid.forEach((e=>{let r=o.find((r=>r.id===e.impid));const t=e.price||0;let n={requestId:e.impid,cpm:t,creativeId:e.crid,dealId:e.dealid||null,currency:i||"USD",netRevenue:!0,ttl:e.ttl||360,meta:{}};e.adomain&&e.adomain.length>0&&(n.meta.advertiserDomains=e.adomain),e.ext.mediatype===l?Object.assign(n,{width:e.w,height:e.h,ad:s.replaceAuctionPrice(e.adm,t),mediaType:p.D4}):e.ext.mediatype===c&&(Object.assign(n,{width:r.video.w,height:r.video.h,mediaType:p.G_}),e.nurl?n.vastUrl=s.replaceAuctionPrice(e.nurl,t):n.vastXml=s.replaceAuctionPrice(e.adm,t)),a.push(n)}))})),a},getUserSyncs:function(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";const a=[];let s=`&gdpr=${t.gdprApplies?1:0}&gdpr_consent=${encodeURIComponent(t.consentString)}`,n=`https://match.adsrvr.org/track/usersync?us_privacy=${encodeURIComponent(i)}${s}`;return e.pixelEnabled?a.push({type:"image",url:n+"&ust=image"}):e.iframeEnabled&&a.push({type:"iframe",url:n+"&ust=iframe"}),a}};(0,d.a$)(A),(0,i.E)("ttdBidAdapter")}},e=>{e.O(0,[40259,60802,51085],(()=>{return r=63429,e(e.s=r);var r}));e.O()}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[68907,56293],{85263:(e,t,s)=>{var r=s(7873),i=s(91069),n=s(16833),o=s(12938),a=s(45569),l=s(84259),d=s(50646);const u="uid2",c=`PrebidJS-9.22.0-UID2Module-${l.kz}`,p="UID2: ";function h(e,t){return function(){for(var s=arguments.length,r=new Array(s),i=0;i<s;i++)r[i]=arguments[i];e(t+" ",...r)}}const g=h(i.logInfo,p),y=h(i.logWarn,p),f=(0,o.vM)({moduleType:a.fW,moduleName:u}),b={name:u,decode(e){const t=function(e){if("string"==typeof e){g("Found server-only token. Refresh is unavailable for this token.");return{uid2:{id:e}}}if("optout"===e.latestToken)return g("Found optout token. Refresh is unavailable for this token."),{uid2:{optout:!0}};if(Date.now()<e.latestToken.identity_expires)return{uid2:{id:e.latestToken.advertising_token}};return null}(e);return g("UID2 decode returned",t),t},getId(e,t){if(!0===t?.gdprApplies)return void y("UID2 is not intended for use where GDPR applies. The UID2 module will not run.");const s={apiBaseUrl:e?.params?.uid2ApiBase??"https://prod.uidapi.com",paramToken:e?.params?.uid2Token,serverCookieName:e?.params?.uid2Cookie??e?.params?.uid2ServerCookie,storage:e?.params?.storage??"localStorage",clientId:c,internalStorage:"__uid2_advertising_token"};s.cstg={serverPublicKey:e?.params?.serverPublicKey,subscriptionId:e?.params?.subscriptionId,...(0,l.E0)(e?.params??{})},g("UID2 configuration loaded and mapped.",s);const r=(0,l.wq)(s,f,g,y);return g("UID2 getId returned",r),r},eids:d.x};(0,n.bz)("userId",b),(0,r.E)("uid2IdSystem")},84259:(e,t,s)=>{s.d(t,{E0:()=>y,kz:()=>o,wq:()=>g});var r=s(7873),i=s(68044),n=s(91069);const o="1.1";function a(e){return!!("object"==typeof e&&null!==e&&e.advertising_token&&e.identity_expires&&e.refresh_from&&e.refresh_token&&e.refresh_expires)}function l(e){return`UID2 shared library - ${e}`}function d(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r<t;r++)s[r-1]=arguments[r];e(l(s[0]),...s.slice(1))}class u{constructor(e,t,s,r){this._baseUrl=e.baseUrl,this._clientVersion=t,this._logInfo=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return d(s,...t)},this._logWarn=r}createArrayBuffer(e){const t=new Uint8Array(e.length);for(let s=0;s<e.length;s++)t[s]=e.charCodeAt(s);return t}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isValidRefreshResponse(e){return this.hasStatusResponse(e)&&("optout"===e.status||"expired_token"===e.status||"success"===e.status&&e.body&&a(e.body))}ResponseToRefreshResult(e){return this.isValidRefreshResponse(e)?"success"===e.status?{status:e.status,identity:e.body}:e:l("Response didn't contain a valid status")}callRefreshApi(e){const t=this._baseUrl+"/v2/token/refresh";let s,r;const n=new Promise(((e,t)=>{s=e,r=t}));return this._logInfo("Sending refresh request",e),(0,i.RD)(t,{success:t=>{try{if(e.refresh_response_key){this._logInfo("Decrypting refresh API response");const i=this.createArrayBuffer(atob(t));window.crypto.subtle.importKey("raw",this.createArrayBuffer(atob(e.refresh_response_key)),{name:"AES-GCM"},!1,["decrypt"]).then((e=>{this._logInfo("Imported decryption key"),window.crypto.subtle.decrypt({name:"AES-GCM",iv:i.slice(0,12),tagLength:128},e,i.slice(12)).then((e=>{const t=String.fromCharCode(...new Uint8Array(e));this._logInfo("Decrypted to:",t);const i=JSON.parse(t),n=this.ResponseToRefreshResult(i);"string"==typeof n?r(l(n)):s(n)}),(e=>this._logWarn(l("Call to UID2 API failed"),e)))}),(e=>this._logWarn(l("Call to UID2 API failed"),e)))}else{this._logInfo("No response decryption key available, assuming unencrypted JSON");const e=JSON.parse(t),i=this.ResponseToRefreshResult(e);"string"==typeof i?r(l(i)):s(i)}}catch(e){r(l(t))}},error:(e,t)=>{try{this._logInfo("Error status, assuming unencrypted JSON");const e=JSON.parse(t.responseText),i=this.ResponseToRefreshResult(e);"string"==typeof i?r(l(i)):s(i)}catch(t){r(l(e))}}},e.refresh_token,{method:"POST",customHeaders:{"X-UID2-Client-Version":this._clientVersion}}),n}}class c{constructor(e,t,s,r){this._storage=e,this._preferLocalStorage=t,this._storageName=s,this._logInfo=function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return d(r,...t)}}readCookie(e){return this._storage.cookiesAreEnabled()?this._storage.getCookie(e):null}readLocalStorage(e){return this._storage.localStorageIsEnabled()?this._storage.getDataFromLocalStorage(e):null}readModuleCookie(){return this.parseIfContainsBraces(this.readCookie(this._storageName))}writeModuleCookie(e){this._storage.setCookie(this._storageName,JSON.stringify(e),Date.now()+864e5)}readModuleStorage(){return this.parseIfContainsBraces(this.readLocalStorage(this._storageName))}writeModuleStorage(e){this._storage.setDataInLocalStorage(this._storageName,JSON.stringify(e))}readProvidedCookie(e){return JSON.parse(this.readCookie(e))}parseIfContainsBraces(e){return e?.includes("{")?JSON.parse(e):e}storeValue(e){this._preferLocalStorage?this.writeModuleStorage(e):this.writeModuleCookie(e)}getStoredValueWithFallback(){const e=this._preferLocalStorage?"local storage":"cookie",t=(this._preferLocalStorage?this.readModuleStorage:this.readModuleCookie).bind(this),s=(this._preferLocalStorage?this.writeModuleStorage:this.writeModuleCookie).bind(this),r=(this._preferLocalStorage?this.readModuleCookie:this.readModuleStorage).bind(this),i=t();if(i){if("string"==typeof i){const t=r();if(t&&"object"==typeof t)return this._logInfo(`${e} contained a basic token, but found a refreshable token fallback. Copying the fallback value to ${e}.`),s(t),t}}else{const t=r();if(t)return this._logInfo(`${e} was empty, but found a fallback value.`),"object"==typeof t&&(this._logInfo(`Copying the fallback value to ${e}.`),s(t)),t}return i}}function p(e,t,s,r,i,n){i("UID2 base url provided: ",e);return new u({baseUrl:e},s,i,n).callRefreshApi(t).then((e=>{i("Refresh endpoint responded with:",e);const s={originalToken:t,latestToken:e.identity};let n=r.getStoredValueWithFallback();return n?.originalIdentity&&(s.originalIdentity=n.originalIdentity),r.storeValue(s),s}))}let h;{const e=9;h={isCSTGOptionsValid(e,t){if("object"!=typeof e||null===e)return t('CSTG is not being used, but is included in the Prebid.js bundle. You can reduce the bundle size by passing "--disable UID2_CSTG" to the Prebid.js build.'),!1;const s=e;if(!s.serverPublicKey&&!s.subscriptionId)return t("CSTG has been enabled but its parameters have not been set."),!1;if("string"!=typeof s.serverPublicKey)return t("CSTG opts.serverPublicKey must be a string"),!1;const r=/^(UID2|EUID)-X-[A-Z]-.+/;return r.test(s.serverPublicKey)?"string"!=typeof s.subscriptionId?(t("CSTG opts.subscriptionId must be a string"),!1):0!==s.subscriptionId.length||(t("CSTG opts.subscriptionId is empty"),!1):(t(`CSTG opts.serverPublicKey must match the regular expression ${r}`),!1)},getValidIdentity(e,s){if(e.emailHash)return t.isBase64Hash(e.emailHash)?{email_hash:e.emailHash}:void s("CSTG opts.emailHash is invalid");if(e.phoneHash)return t.isBase64Hash(e.phoneHash)?{phone_hash:e.phoneHash}:void s("CSTG opts.phoneHash is invalid");if(e.email){const r=t.normalizeEmail(e.email);return void 0===r?void s("CSTG opts.email is invalid"):{email:r}}return e.phone?t.isNormalizedPhone(e.phone)?{phone:e.phone}:void s("CSTG opts.phone is invalid"):void 0},isStoredTokenInvalid(e,t,s,r){if(t){if("optout"===t.latestToken)return!0;const r=Object.values(e)[0];if(!this.isStoredTokenFromSameIdentity(t,r))return s("CSTG supplied new identity - ignoring stored value.",t.originalIdentity,e),!0}return!1},async generateTokenAndStore(e,t,r,i,n,o){n("UID2 cstg opts provided: ",JSON.stringify(t));const a=new s({baseUrl:e,cstg:t},n,o),l=await a.generateToken(r);n("CSTG endpoint responded with:",l);const d={originalIdentity:this.encodeOriginalIdentity(r),latestToken:l.identity};return i.storeValue(d),d},isStoredTokenFromSameIdentity:(e,t)=>!!e.originalIdentity&&(0,n.cyrb53Hash)(t,e.originalIdentity.salt)===e.originalIdentity.identity,encodeOriginalIdentity(e){const t=Object.values(e)[0],s=Math.floor(Math.random()*Math.pow(2,32));return{identity:(0,n.cyrb53Hash)(t,s),salt:s}}};class t{static EMAIL_EXTENSION_SYMBOL="+";static EMAIL_DOT=".";static GMAIL_DOMAIN="gmail.com";static isBase64Hash(e){if(!e||44!==e.length)return!1;try{return btoa(atob(e))===e}catch(e){return!1}}static isNormalizedPhone(e){return/^\+[0-9]{10,15}$/.test(e)}static normalizeEmail(e){if(!e||!e.length)return;const t=e.trim().toLowerCase();if(t.indexOf(" ")>0)return;const s=this.splitEmailIntoAddressAndDomain(t);if(!s)return;const{address:r,domain:i}=s,n=this.isGmail(i),o=this.normalizeAddressPart(r,n,n);return o?`${o}@${i}`:void 0}static splitEmailIntoAddressAndDomain(e){const t=e.split("@");if(2===t.length&&!t.some((e=>""===e)))return{address:t[0],domain:t[1]}}static isGmail(e){return e===this.GMAIL_DOMAIN}static dropExtension(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.EMAIL_EXTENSION_SYMBOL;return e.split(t)[0]}static normalizeAddressPart(e,t,s){let r=e;return t&&(r=r.replaceAll(this.EMAIL_DOT,"")),s&&(r=this.dropExtension(r)),r}}class s{constructor(e,t,s){this._baseUrl=e.baseUrl,this._serverPublicKey=e.cstg.serverPublicKey,this._subscriptionId=e.cstg.subscriptionId,this._logInfo=function(){for(var e=arguments.length,s=new Array(e),r=0;r<e;r++)s[r]=arguments[r];return d(t,...s)},this._logWarn=s}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isCstgApiSuccessResponse(e){return this.hasStatusResponse(e)&&"success"===e.status&&a(e.body)}isCstgApiOptoutResponse(e){return this.hasStatusResponse(e)&&"optout"===e.status}isCstgApiClientErrorResponse(e){return this.hasStatusResponse(e)&&"client_error"===e.status&&"string"==typeof e.message}isCstgApiForbiddenResponse(e){return this.hasStatusResponse(e)&&"invalid_http_origin"===e.status&&"string"==typeof e.message}stripPublicKeyPrefix(t){return t.substring(e)}async generateCstgRequest(e){if("email_hash"in e||"phone_hash"in e)return e;if("email"in e){return{email_hash:await o.hash(e.email)}}if("phone"in e){return{phone_hash:await o.hash(e.phone)}}}async generateToken(e){const t=await this.generateCstgRequest(e);this._logInfo("Building CSTG request for",t);const s=await r.build(this.stripPublicKeyPrefix(this._serverPublicKey)),i=new TextEncoder,n=Date.now(),{iv:a,ciphertext:l}=await s.encrypt(i.encode(JSON.stringify(t)),i.encode(JSON.stringify([n]))),d=await o.exportPublicKey(s.clientPublicKey),u={payload:o.bytesToBase64(new Uint8Array(l)),iv:o.bytesToBase64(new Uint8Array(a)),public_key:o.bytesToBase64(new Uint8Array(d)),timestamp:n,subscription_id:this._subscriptionId};return this.callCstgApi(u,s)}async callCstgApi(e,t){const s=this._baseUrl+"/v2/token/client-generate";let r,n;const a=new Promise(((e,t)=>{r=e,n=t}));return this._logInfo("Sending CSTG request",e),(0,i.RD)(s,{success:async(e,s)=>{try{const s=o.base64ToBytes(e),i=await t.decrypt(s.slice(0,12),s.slice(12)),a=(new TextDecoder).decode(i),d=JSON.parse(a);this.isCstgApiSuccessResponse(d)?r({status:"success",identity:d.body}):this.isCstgApiOptoutResponse(d)?r({status:"optout",identity:"optout"}):n(l(`API error: Response body was invalid for HTTP status 200: ${a}`))}catch(e){n(l(e))}},error:(e,t)=>{try{if(400===t.status){const e=JSON.parse(t.responseText);this.isCstgApiClientErrorResponse(e)?n(l(`Client error: ${e.message}`)):n(l(`UID2 API error: Response body was invalid for HTTP status 400: ${t.responseText}`))}else if(403===t.status){const e=JSON.parse(t.responseText);this.isCstgApiForbiddenResponse(t)?n(l(`Forbidden: ${e.message}`)):n(l(`UID2 API error: Response body was invalid for HTTP status 403: ${t.responseText}`))}else n(l(`UID2 API error: Unexpected HTTP status ${t.status}: ${e}`))}catch(t){n(l(e))}}},JSON.stringify(e),{method:"POST"}),a}}class r{static _namedCurve="P-256";constructor(e,t){this._clientPublicKey=e,this._sharedKey=t}static async build(e){const t=await o.generateKeyPair(r._namedCurve),s=await o.importPublicKey(e,this._namedCurve),i=await o.deriveKey(s,t.privateKey);return new r(t.publicKey,i)}async encrypt(e,t){const s=window.crypto.getRandomValues(new Uint8Array(12));return{iv:s,ciphertext:await window.crypto.subtle.encrypt({name:"AES-GCM",iv:s,additionalData:t},this._sharedKey,e)}}async decrypt(e,t){return window.crypto.subtle.decrypt({name:"AES-GCM",iv:e},this._sharedKey,t)}get clientPublicKey(){return this._clientPublicKey}}class o{static base64ToBytes(e){const t=atob(e);return Uint8Array.from(t,(e=>e.codePointAt(0)))}static bytesToBase64(e){const t=Array.from(e,(e=>String.fromCodePoint(e))).join("");return btoa(t)}static async generateKeyPair(e){const t={name:"ECDH",namedCurve:e};return window.crypto.subtle.generateKey(t,!1,["deriveKey"])}static async importPublicKey(e,t){const s={name:"ECDH",namedCurve:t};return window.crypto.subtle.importKey("spki",this.base64ToBytes(e),s,!1,[])}static exportPublicKey(e){return window.crypto.subtle.exportKey("spki",e)}static async deriveKey(e,t){return window.crypto.subtle.deriveKey({name:"ECDH",public:e},t,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}static async hash(e){const t=await window.crypto.subtle.digest("SHA-256",(new TextEncoder).encode(e));return this.bytesToBase64(new Uint8Array(t))}}}function g(e,t,s,r){const i=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return d(s,...t)};let n=null;const o="cookie"!==e.storage,a=new c(t,o,e.internalStorage,i);i(`Module is using ${o?"local storage":"cookies"} for internal storage.`);const l=h&&h.isCSTGOptionsValid(e.cstg,r);l?(i("Module is using client-side token generation."),n=null):e.paramToken?(n=e.paramToken,i("Read token from params",n)):e.serverCookieName&&(n=a.readProvidedCookie(e.serverCookieName),i("Read token from server-supplied cookie",n));let u=a.getStoredValueWithFallback();if(i("Loaded module-stored tokens:",u),u&&"string"==typeof u){if(!n&&!l)return i("Returning legacy cookie value."),{id:u};i("Discarding superseded legacy cookie."),u=null}if(n&&u&&u.originalToken?.advertising_token!==n.advertising_token&&(i("Server supplied new token - ignoring stored value.",u.originalToken?.advertising_token,n.advertising_token),u=null),l){const t=h.getValidIdentity(e.cstg,r);if(t&&(u&&h.isStoredTokenInvalid(t,u,i,r)&&(u=null),!u||Date.now()>u.latestToken.refresh_expires)){const s=h.generateTokenAndStore(e.apiBaseUrl,e.cstg,t,a,i,r);return i("Generate token using CSTG"),{callback:e=>{s.then((t=>{i("Token generation responded, passing the new token on.",t),e(t)}))}}}}const g=!u?.latestToken||n&&n.identity_expires>u.latestToken.identity_expires,y=g?n:u.latestToken;if(i("UID2 module selected latest token",g,y),!y||Date.now()>y.refresh_expires)return i("Newest available token is expired and not refreshable."),{id:null};if(Date.now()>y.identity_expires){const t=p(e.apiBaseUrl,y,e.clientId,a,i,r);return i("Token is expired but can be refreshed, attempting refresh."),{callback:e=>{t.then((t=>{i("Refresh reponded, passing the updated token on.",t),e(t)}))}}}Date.now()>y.refresh_from&&(i("Refreshing token in background with low priority."),p(e.apiBaseUrl,y,e.clientId,a,i,r));const f={originalToken:n??u?.originalToken,latestToken:y};return l&&(f.originalIdentity=u?.originalIdentity),a.storeValue(f),{id:f}}function y(e){const t=["emailHash","phoneHash","email","phone"];for(let s of t)if(e.hasOwnProperty(s))return{[s]:e[s]};return{}}(0,r.E)("uid2IdSystem_shared")}},e=>{e.O(0,[44950,60802,51085],(()=>{return t=85263,e(e.s=t);var t}));e.O()}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[10891],{78413:(r,e,t)=>{var s=t(7873),d=t(91069),n=t(68044),o=t(16833),i=t(2660);const u="unifiedId",a={name:u,gvlid:21,decode:r=>r&&"string"==typeof r.TDID?{tdid:r.TDID}:void 0,getId(r){const e=r&&r.params||{};if(!e||"string"!=typeof e.partner&&"string"!=typeof e.url)return void(0,d.logError)("User ID - unifiedId submodule requires either partner or url to be defined");const t=e.url||`https://match.adsrvr.org/track/rid?ttd_pid=${e.partner}&fmt=json`;return{callback:function(r){const e={success:e=>{let t;if(e)try{t=JSON.parse(e)}catch(r){(0,d.logError)(r)}r(t)},error:e=>{(0,d.logError)(`${u}: ID fetch encountered an error`,e),r()}};(0,n.RD)(t,e,void 0,{method:"GET",withCredentials:!0})}}},eids:{...i.M}};(0,o.bz)("userId",a),(0,s.E)("unifiedIdSystem")}},r=>{r.O(0,[17045,60802,51085],(()=>{return e=78413,r(r.s=e);var e}));r.O()}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[73469],{34836:(e,t,n)=>{var o=n(7873),r=n(15901),s=n(43272),i=n(75023),a=n(16916),c=n(11445),l=n(78969),u=n(16833),d=n(91069);const g=new Map;function f(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g;const n={};function o(e){const t=JSON.stringify([e.source?.toLowerCase(),e.ext]);n.hasOwnProperty(t)?n[t].uids.push(...e.uids):n[t]=e}return Object.entries(e).forEach((e=>{let[n,r]=e;r=Array.isArray(r)?r:[r];("pubProvidedId"===n?(0,d.deepClone)(r):r.map((e=>function(e,t,n){if(n&&e){let t={};t.source=(0,d.isFn)(n.getSource)?n.getSource(e):n.source;const o=(0,d.isFn)(n.getValue)?n.getValue(e):e;if((0,d.isStr)(o)){const r={id:o,atype:n.atype};if((0,d.isFn)(n.getUidExt)){const t=n.getUidExt(e);t&&(r.ext=t)}if(t.uids=[r],(0,d.isFn)(n.getEidExt)){const o=n.getEidExt(e);o&&(t.ext=o)}return t}}return null}(e,0,t.get(n))))).filter((e=>null!=e)).forEach(o)})),Object.values(n)}function m(e){const t=new Map,n={};return Object.entries(e).forEach((e=>{let[o,r]=e;const s=r.find((e=>null!=e.idObj?.[o]));s&&(n[o]=s.idObj[o],t.set(o,s.submodule.eids?.[o]))})),f(n,t)}var b=n(12938),h=n(63172),p=n(70433),y=n(51692),I=n(25555),w=n(16894),S=n(5973),E=n(45569),v=n(95139),D=n(76811),k=n(83441),O=n(38230),j=n(42627);const $="User ID",A=b.X0,T=b.qk,x="_pbjs_id_optout",C=(0,b.CK)("userId"),N={isAllowed:v.io};let P,U,_,F,L,W,q=[],M=[],G={},J=[];const R=(()=>{let e;return()=>(null==e&&(e=(0,w.K7)()),e)})();function H(e){return R().fork().renameWith((t=>[`userId.mod.${t}`,`userId.mods.${e}.${t}`]))}function B(e,t){t=t||e.storageMgr;const n="function"==typeof e.submodule.domainOverride?e.submodule.domainOverride():null,o=e.config.storage.name;return function(e,r,s){t.setCookie(o+(e||""),r,s,"Lax",n)}}function z(e,t){const n=e.config.storage;try{const o=new Date(Date.now()+864e5*n.expires).toUTCString(),r=(0,d.isPlainObject)(t)?JSON.stringify(t):t;e.enabledStorageTypes.forEach((t=>{switch(t){case A:!function(e,t,n){const o=e.config.storage,r=B(e);r(null,t,n),r("_cst",he(),n),"number"==typeof o.refreshInSeconds&&r("_last",(new Date).toUTCString(),n)}(e,r,o);break;case T:!function(e,t,n){const o=e.config.storage,r=e.storageMgr;r.setDataInLocalStorage(`${o.name}_exp`,n),r.setDataInLocalStorage(`${o.name}_cst`,he()),r.setDataInLocalStorage(o.name,encodeURIComponent(t)),"number"==typeof o.refreshInSeconds&&r.setDataInLocalStorage(`${o.name}_last`,(new Date).toUTCString())}(e,r,o)}}))}catch(e){(0,d.logError)(e)}}function K(e){ve(e),e.enabledStorageTypes.forEach((t=>{switch(t){case A:!function(e){const t=B(e,C),n=new Date(Date.now()-864e5).toUTCString();["","_last","_cst"].forEach((e=>{try{t(e,"",n)}catch(e){(0,d.logError)(e)}}))}(e);break;case T:!function(e){["","_last","_exp","_cst"].forEach((t=>{try{C.removeDataFromLocalStorage(e.config.storage.name+t)}catch(e){(0,d.logError)(e)}}))}(e)}}))}function V(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;const n=e.config.storage,o=t?`${n.name}_${t}`:n.name;let r;try{e.enabledStorageTypes.find((t=>{switch(t){case A:r=function(e,t){return e.storageMgr.getCookie(t)}(e,o);break;case T:r=function(e,t){const n=e.storageMgr,o=e.config.storage,r=n.getDataFromLocalStorage(`${o.name}_exp`);return""===r?n.getDataFromLocalStorage(t):r&&new Date(r).getTime()-Date.now()>0?decodeURIComponent(n.getDataFromLocalStorage(t)):void 0}(e,o)}return!!r})),"string"==typeof r&&"{"===r.trim().charAt(0)&&(r=JSON.parse(r))}catch(e){(0,d.logError)(e)}return r}function Y(e,t,n){t=R().fork().startTiming("userId.callbacks.total").stopBefore(t);const o=(0,d.delayExecution)((()=>{clearTimeout(U),t()}),e.length);e.forEach((function(e){const t=H(e.submodule.name).startTiming("callback").stopBefore(o);try{e.callback((function(o){o?(e.config.storage&&z(e,o),e.idObj=e.submodule.decode(o,e.config),n.refresh(),ye(n)):(0,d.logInfo)(`${$}: ${e.submodule.name} - request id responded with an empty value`),t()}),V.bind(null,e))}catch(n){(0,d.logError)(`Error in userID module '${e.submodule.name}':`,n),t()}e.callback=void 0}))}function Q(e){return Object.fromEntries(Object.entries(e).map((e=>{let[t,n]=e;return[t,n.find((e=>null!=e.idObj?.[t]))?.idObj?.[t]]})).filter((e=>{let[t,n]=e;return null!=n})))}function X(e,t,n){const o={};return e.forEach((e=>{const r=n(e),s=function(e){if(e.primaryIds)return e.primaryIds;const t=Object.keys(e.eids??{});if(t.length>1)throw new Error(`ID submodule ${e.name} can provide multiple IDs, but does not specify 'primaryIds'`);return t}(r);t(e).forEach((t=>{const n=o[t]=o[t]??[],i=G[t]?.indexOf(r.name)??(s.includes(t)?0:-1),a=n.findIndex((e=>{let[t]=e;return t<i}));n.splice(-1===a?n.length:a,0,[i,e])}))})),Object.fromEntries(Object.entries(o).map((e=>{let[t,n]=e;return[t,n.map((e=>{let[t,n]=e;return n}))]})))}function Z(){const e={submodules:[],global:{},bidder:{},combined:{},refresh(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const n=new Set(t.map((e=>e.submodule)));e.submodules=e.submodules.filter((e=>!n.has(e.submodule))).concat(t),function(){const t=X(e.submodules,(e=>Object.keys(e.idObj??{})),(e=>e.submodule)),n={},o={};Object.entries(t).forEach((e=>{let[t,r]=e,s=!0;const i=new Set;r.map((e=>e.config.bidders)).forEach((e=>{Array.isArray(e)&&e.length>0?e.forEach((e=>i.add(e))):s=!1})),i.size>0&&!s?(0,d.logWarn)(`userID modules ${r.map((e=>e.submodule.name)).join(", ")} provide the same ID ('${t}'), but are configured for different bidders. ID will be skipped.`):0===i.size?n[t]=r:i.forEach((e=>{o[e]=o[e]??{},o[e][t]=r}))}));const r=Object.values(o).concat([n]).reduce(((e,t)=>Object.assign(e,t)),{});Object.assign(e,{global:n,bidder:o,combined:r})}()}};return e}function ee(e){let{adUnits:t,ortb2Fragments:n}=e;if(n=n??{global:{},bidder:{}},function(e){const{global:t,bidder:n}=e,{global:o,bidder:r}=P,s=m(o);s.length>0&&(0,h.J)(t,"user.ext.eids",(t.user?.ext?.eids??[]).concat(s)),Object.entries(r).forEach((e=>{let[t,o]=e;const r=m(o);r.length>0&&(0,h.J)(n,`${t}.user.ext.eids`,(n[t]?.user?.ext?.eids??[]).concat(r))}))}(n),[t].some((e=>!Array.isArray(e)||!e.length)))return;const o=Q(P.global),r=n.global.user?.ext?.eids||[];t.forEach((e=>{e.bids&&(0,d.isArray)(e.bids)&&e.bids.forEach((e=>{const t=Object.assign({},o,Q(P.bidder[e.bidder]??{})),s=r.concat(n.bidder[e.bidder]?.user?.ext?.eids||[]);Object.keys(t).length>0&&(e.userId=t),s.length>0&&(e.userIdAsEids=s)}))}))}const te={};let ne;function oe(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ce()||[];const t=L&&e.find((e=>e.source===L));if(t&&"string"==typeof(0,p.A)(t,"uids.0.id")){const e=t.uids[0].id.replace(/[\W_]/g,"");if(e.length>=32&&e.length<=150)return e;(0,d.logWarn)(`User ID - Googletag Publisher Provided ID for ${L} is not between 32 and 150 characters - ${e}`)}}const re=(0,w.Ak)("userId",(function(e,t){let{delay:n=I.k.timeout,getIds:o=be}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};I.k.race([o().catch((()=>null)),n(F)]).then((()=>{ee(t),R().join((0,w.BO)(t.metrics),{propagate:!1,includeGroups:!0}),e.call(this,t)}))})),se=(0,w.Ak)("userId",(function(e,t){ee(t),e.call(this,t)}));function ie(){return!!j.gH.getHooks({hook:re}).length}function ae(){return Q(P.combined)}function ce(){return m(P.combined)}function le(e){return ce().filter((t=>t.source===e))[0]}function ue(e,t,n){return fe().then((()=>{let o={};if((0,d.isFn)(n)){(0,d.logInfo)(`${$} - Getting encrypted signal from custom function : ${n.name} & source : ${e} `);const t=n(e);o[e]=t?de(t):null}else{const n=le(e);(0,d.logInfo)(`${$} - Getting encrypted signal for eids :${JSON.stringify(n)}`),(0,d.isEmpty)(n)||(o[n.source]=!0===t?de(n):n.uids[0].id)}return(0,d.logInfo)(`${$} - Fetching encrypted eids: ${o[e]}`),o[e]}))}function de(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n="";if(1===t)n="object"==typeof e?window.btoa(JSON.stringify(e)):window.btoa(e);return`${t}||${n}`}function ge(){if(!(0,d.isGptPubadsDefined)())return;window.googletag.secureSignalProviders=window.googletag.secureSignalProviders||[];const e=s.$W.getConfig("userSync.encryptedSignalSources");if(e){const t=e.registerDelay||0;setTimeout((()=>{e.sources&&e.sources.forEach((e=>{let{source:t,encrypt:n,customFunc:o}=e;t.forEach((e=>{window.googletag.secureSignalProviders.push({id:e,collectorFunction:()=>ue(e,n,o)})}))}))}),t)}else(0,d.logWarn)(`${$} - ESP : encryptedSignalSources config not defined under userSync Object`)}function fe(e){return ne(e).then((()=>ae()),(e=>e===te?Promise.resolve().then(be):((0,d.logError)("Error initializing userId",e),I.k.reject(e))))}function me(){let{submoduleNames:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return fe({refresh:!0,submoduleNames:e}).then((e=>(t&&(0,d.isFn)(t)&&t(),e)))}function be(){return fe()}function he(){let e=Number(a.SL.hash);const t=[];for(;e>0;)t.push(String.fromCharCode(255&e)),e>>>=8;return btoa(t.join())}function pe(e,t){const n=a.mW.getConsentData();if(e.config.storage){let o,r=V(e),s=!1;if("number"==typeof e.config.storage.refreshInSeconds){const t=new Date(V(e,"last"));s=t&&Date.now()-t.getTime()>1e3*e.config.storage.refreshInSeconds}if(!r||s||t||function(e){const t=V(e,"cst");return!t||t!==he()}(e)){const t=Object.assign({enabledStorageTypes:e.enabledStorageTypes},e.config);o=e.submodule.getId(t,n,r)}else"function"==typeof e.submodule.extendId&&(o=e.submodule.extendId(e.config,n,r));(0,d.isPlainObject)(o)&&(o.id&&(z(e,o.id),r=o.id),"function"==typeof o.callback&&(e.callback=o.callback)),r&&(e.idObj=e.submodule.decode(r,e.config))}else if(e.config.value)e.idObj=e.config.value;else{const t=e.submodule.getId(e.config,n,void 0);(0,d.isPlainObject)(t)&&("function"==typeof t.callback&&(e.callback=t.callback),t.id&&(e.idObj=e.submodule.decode(t.id,e.config)))}}function ye(e){const t=m(e.combined);if(t.length&&L){const e=oe(t);e&&((0,d.isGptPubadsDefined)()?window.googletag.pubads().setPublisherProvidedId(e):(window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.googletag.cmd.push((function(){window.googletag.pubads().setPublisherProvidedId(e)}))))}}function Ie(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return R().fork().measureTime("userId.init.modules",(function(){if(!t.length)return[];if(t.forEach((e=>ve(e))),!(t=t.filter((e=>(!e.config.storage||!!e.enabledStorageTypes.length)&&N.isAllowed(D.yl,(0,k.s)(E.fW,e.config.name))))).length)return(0,d.logWarn)(`${$} - no ID module configured`),[];const o=t.reduce(((e,t)=>H(t.submodule.name).measureTime("init",(()=>{try{pe(t,n),e.push(t)}catch(e){(0,d.logError)(`Error in userID module '${t.submodule.name}':`,e)}return e}))),[]);return e.refresh(o),ye(e),o}))}function we(e){return e?.storage?.type?.trim().split(/\s*&\s*/)||[]}function Se(e){function t(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];(0,d.logWarn)(`Invalid userSync.userId config: ${e}`,...n)}return Array.isArray(e)?e.filter((e=>{if(!e?.name)return t('must specify "name"',e);if(e.storage){if(!e.storage.name||!e.storage.type)return t('must specify "storage.name" and "storage.type"',e);if(!function(e){return we(e).every((e=>Ee.has(e)))}(e))return t('invalid "storage.type"',e);["expires","refreshInSeconds"].forEach((n=>{let o=e.storage[n];null!=o&&"number"!=typeof o&&(o=Number(o),isNaN(o)?(t(`storage.${n} must be a number and will be ignored`,e),delete e.storage[n]):e.storage[n]=o)}))}return!0})):(null!=e&&t("must be an array",e),[])}const Ee=new Set([T,A]);function ve(e){if(e.enabledStorageTypes)return;const t=we(e.config);e.enabledStorageTypes=t.filter((t=>{switch(t){case T:return function(e){return!(!e.storageMgr.localStorageIsEnabled()||C.getDataFromLocalStorage(x)&&((0,d.logInfo)(`${$} - opt-out localStorage found, storage disabled`),1))}(e);case A:return function(e){return!(!e.storageMgr.cookiesAreEnabled()||C.getCookie(x)&&((0,d.logInfo)(`${$} - opt-out cookie found, storage disabled`),1))}(e)}return!1}))}function De(e){g.clear(),Object.entries(X(e,(e=>Object.keys(e.eids||{})),(e=>e))).forEach((e=>{let[t,n]=e;return g.set(t,n[0].eids[t])}))}function ke(){De(J);const e=Se(M);if(!e.length)return;const t=J.filter((e=>!(0,r.I6)(q,(t=>t.name===e.name))));q.splice(0,q.length),t.map((t=>{const n=(0,r.I6)(e,(e=>e.name&&(e.name.toLowerCase()===t.name.toLowerCase()||t.aliasName&&e.name.toLowerCase()===t.aliasName.toLowerCase())));return n&&t.name!==n.name&&(n.name=t.name),n?{submodule:t,config:n,callback:void 0,idObj:void 0,storageMgr:(0,b.vM)({moduleType:E.fW,moduleName:n.name})}:null})).filter((e=>null!==e)).forEach((e=>q.push(e))),q.length&&(ie()||(j.gH.getHooks({hook:se}).remove(),j.gH.before(re,100),c.Ay.callDataDeletionRequest.before(Oe),y.Q.after((e=>e(oe())))),(0,d.logInfo)(`${$} - usersync config updated for ${q.length} submodules: `,q.map((e=>e.submodule.name))))}function Oe(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];(0,d.logInfo)("UserID: received data deletion request; deleting all stored IDs..."),q.forEach((e=>{if("function"==typeof e.submodule.onDataDeletionRequest)try{e.submodule.onDataDeletionRequest(e.config,e.idObj,...n)}catch(t){(0,d.logError)(`Error calling onDataDeletionRequest for ID submodule ${e.submodule.name}`,t)}K(e)})),e.apply(this,n)}function je(e){return function(){return Promise.resolve(e.apply(this,arguments))}}!function(e){let{delay:t=I.k.timeout}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};L=void 0,q=[],M=[],P=Z(),ne=function(){let{delay:e=I.k.timeout}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=(0,I.v)(),n=(0,I.v)();let o,r,s=!1;function c(e){return r=R().fork(),null!=o&&o.reject(te),o=(0,I.v)(),I.k.race([e,o.promise]).finally(r.startTiming("userId.total"))}let g=P,f=q;function m(e){return function(){if(g===P&&f===q)return e(...arguments)}}function b(){return a.SL.promise.finally(r.startTiming("userId.init.consent"))}let h=c(I.k.all([u.Gc,t.promise]).then(b).then(m((()=>{Ie(g,f)}))).then((()=>n.promise.finally(r.startTiming("userId.callbacks.pending")))).then(m((()=>{const e=g.submodules.filter((e=>(0,d.isFn)(e.callback)));if(e.length)return new I.k((t=>Y(e,t,g)))}))));return function(){let{refresh:o=!1,submoduleNames:r=null,ready:a=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return a&&!s&&(s=!0,t.resolve(),F>0?n.resolve():i.on(l.qY.AUCTION_END,(function t(){i.off(l.qY.AUCTION_END,t),e(_).then(n.resolve)}))),o&&s&&(h=c(h.catch((()=>null)).then(b).then(m((()=>{const e=Ie(g,f.filter((e=>null==r||r.includes(e.submodule.name))),!0).filter((e=>null!=e.callback));if(e.length)return new I.k((t=>Y(e,t,g)))}))))),h}}({delay:t}),null!=W&&W(),J=[],W=e.getConfig("userSync",(e=>{const t=e.userSync;t&&(L=t.ppid,t.userIds&&(M=t.userIds,_=(0,d.isNumber)(t.syncDelay)?t.syncDelay:O.qh.syncDelay,F=(0,d.isNumber)(t.auctionDelay)?t.auctionDelay:O.qh.auctionDelay,ke(),function(e,t){if(e){const n={},o=new Map(t.map((e=>e.aliasName?[e.aliasName,e.name]:[])));Object.keys(e).forEach((t=>{const r=(0,d.isArray)(e[t])?[...e[t]].reverse():[];n[t]=r.map((e=>o.has(e)?o.get(e):e))})),G=n}else G={};P.refresh(),De(t)}(t.idPriority,J),ne({ready:!0})))})),(0,o.m)().getUserIds=ae,(0,o.m)().getUserIdsAsEids=ce,(0,o.m)().getEncryptedEidsForSource=je(ue),(0,o.m)().registerSignalSources=ge,(0,o.m)().refreshUserIds=je(me),(0,o.m)().getUserIdsAsync=je(be),(0,o.m)().getUserIdsAsEidBySource=le,ie()||j.gH.before(se,100)}(s.$W),(0,u.xG)("userId",(function(e){e.findRootDomain=S.S,(0,r.I6)(J,(t=>t.name===e.name))||(J.push(e),a.o2.register(E.fW,e.name,e.gvlid),ke(),ne({refresh:!0,submoduleNames:[e.name]}))}),{postInstallAllowed:!0}),(0,o.E)("userId")}},e=>{e.O(0,[60802,51085],(()=>{return t=34836,e(e.s=t);var t}));e.O()}]);
})(),pbjs.processQueue();