prebid.js 10.2.0 → 10.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1650) hide show
  1. package/.github/dependabot.yml +8 -0
  2. package/.github/workflows/scripts/codepath-notification +1 -0
  3. package/creative/renderers/display/renderer.js +3 -4
  4. package/dist/chunks/1plusXRtdProvider.js +1 -1
  5. package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
  6. package/dist/chunks/33acrossBidAdapter.js +1 -1
  7. package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
  8. package/dist/chunks/33acrossIdSystem.js +1 -1
  9. package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
  10. package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
  11. package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
  12. package/dist/chunks/adagioBidAdapter.js +1 -1
  13. package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
  14. package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
  15. package/dist/chunks/adagioUtils.js +1 -1
  16. package/dist/chunks/addefendBidAdapter.js +1 -1
  17. package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
  18. package/dist/chunks/adfBidAdapter.metadata.js +1 -1
  19. package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
  20. package/dist/chunks/adgenerationBidAdapter.js +1 -1
  21. package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
  22. package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
  23. package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
  24. package/dist/chunks/adlooxRtdProvider.js +1 -1
  25. package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
  26. package/dist/chunks/admixerBidAdapter.js +1 -1
  27. package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
  28. package/dist/chunks/admixerIdSystem.metadata.js +1 -1
  29. package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
  30. package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
  31. package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
  32. package/dist/chunks/adotBidAdapter.metadata.js +1 -1
  33. package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
  34. package/dist/chunks/adqueryBidAdapter.js +1 -1
  35. package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
  36. package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
  37. package/dist/chunks/adrelevantisBidAdapter.js +1 -1
  38. package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
  39. package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
  40. package/dist/chunks/adstirBidAdapter.js +1 -1
  41. package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
  42. package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
  43. package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
  44. package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
  45. package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
  46. package/dist/chunks/advertisingBidAdapter.js +1 -1
  47. package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
  48. package/dist/chunks/adxcgBidAdapter.js +1 -1
  49. package/dist/chunks/adyoulikeBidAdapter.js +1 -1
  50. package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
  51. package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
  52. package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
  53. package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
  54. package/dist/chunks/ajaBidAdapter.js +1 -1
  55. package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
  56. package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
  57. package/dist/chunks/amxBidAdapter.js +1 -1
  58. package/dist/chunks/amxBidAdapter.metadata.js +1 -1
  59. package/dist/chunks/amxIdSystem.js +1 -1
  60. package/dist/chunks/amxIdSystem.metadata.js +1 -1
  61. package/dist/chunks/aniviewBidAdapter.js +1 -1
  62. package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
  63. package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
  64. package/dist/chunks/appierAnalyticsAdapter.js +1 -1
  65. package/dist/chunks/appierBidAdapter.metadata.js +1 -1
  66. package/dist/chunks/appnexusBidAdapter.js +1 -1
  67. package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
  68. package/dist/chunks/appnexusUtils.js +1 -1
  69. package/dist/chunks/appushBidAdapter.metadata.js +1 -1
  70. package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
  71. package/dist/chunks/asoBidAdapter.js +1 -1
  72. package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
  73. package/dist/chunks/axisBidAdapter.metadata.js +1 -1
  74. package/dist/chunks/axonixBidAdapter.js +1 -1
  75. package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
  76. package/dist/chunks/beopBidAdapter.js +1 -1
  77. package/dist/chunks/beopBidAdapter.metadata.js +1 -1
  78. package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
  79. package/dist/chunks/bidglassBidAdapter.js +1 -1
  80. package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
  81. package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
  82. package/dist/chunks/big-richmediaBidAdapter.js +1 -1
  83. package/dist/chunks/bitmediaBidAdapter.js +1 -1
  84. package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
  85. package/dist/chunks/blockthroughBidAdapter.js +1 -1
  86. package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
  87. package/dist/chunks/blueBidAdapter.metadata.js +1 -1
  88. package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
  89. package/dist/chunks/bmtmBidAdapter.js +1 -1
  90. package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
  91. package/dist/chunks/bridBidAdapter.js +1 -1
  92. package/dist/chunks/bridBidAdapter.metadata.js +1 -1
  93. package/dist/chunks/bridgewellBidAdapter.js +1 -1
  94. package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
  95. package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
  96. package/dist/chunks/carodaBidAdapter.js +1 -1
  97. package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
  98. package/dist/chunks/categoryTranslation.metadata.js +1 -1
  99. package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
  100. package/dist/chunks/ceeIdSystem.metadata.js +1 -1
  101. package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
  102. package/dist/chunks/chtnwBidAdapter.js +1 -1
  103. package/dist/chunks/chunk-core.js +1 -1
  104. package/dist/chunks/compassBidAdapter.metadata.js +1 -1
  105. package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
  106. package/dist/chunks/concertBidAdapter.js +1 -1
  107. package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
  108. package/dist/chunks/connectIdSystem.metadata.js +1 -1
  109. package/dist/chunks/connectadBidAdapter.js +1 -1
  110. package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
  111. package/dist/chunks/consumableBidAdapter.js +1 -1
  112. package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
  113. package/dist/chunks/contxtfulBidAdapter.js +1 -1
  114. package/dist/chunks/conversantBidAdapter.js +1 -1
  115. package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
  116. package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
  117. package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
  118. package/dist/chunks/craftBidAdapter.js +1 -1
  119. package/dist/chunks/creative-renderer-display.js +1 -1
  120. package/dist/chunks/criteoBidAdapter.js +1 -1
  121. package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
  122. package/dist/chunks/criteoIdSystem.metadata.js +1 -1
  123. package/dist/chunks/cryptoUtils.js +1 -0
  124. package/dist/chunks/cwireBidAdapter.js +1 -1
  125. package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
  126. package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
  127. package/dist/chunks/dailymotionBidAdapter.js +1 -1
  128. package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
  129. package/dist/chunks/debugging-standalone.js +1 -1
  130. package/dist/chunks/debugging.metadata.js +1 -1
  131. package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
  132. package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
  133. package/dist/chunks/dependencies.json +13 -0
  134. package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
  135. package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
  136. package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
  137. package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
  138. package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
  139. package/dist/chunks/dspxBidAdapter.js +1 -1
  140. package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
  141. package/dist/chunks/dxkultureBidAdapter.js +1 -1
  142. package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
  143. package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
  144. package/dist/chunks/eplanningBidAdapter.js +1 -1
  145. package/dist/chunks/equativBidAdapter.js +1 -1
  146. package/dist/chunks/equativBidAdapter.metadata.js +1 -1
  147. package/dist/chunks/eskimiBidAdapter.js +1 -1
  148. package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
  149. package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
  150. package/dist/chunks/euidIdSystem.js +1 -1
  151. package/dist/chunks/euidIdSystem.metadata.js +1 -1
  152. package/dist/chunks/exadsBidAdapter.js +1 -1
  153. package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
  154. package/dist/chunks/excoBidAdapter.js +1 -1
  155. package/dist/chunks/feedadBidAdapter.js +1 -1
  156. package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
  157. package/dist/chunks/finativeBidAdapter.js +1 -1
  158. package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
  159. package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
  160. package/dist/chunks/getintentBidAdapter.js +1 -1
  161. package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
  162. package/dist/chunks/gmosspBidAdapter.js +1 -1
  163. package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
  164. package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
  165. package/dist/chunks/greenbidsBidAdapter.js +1 -1
  166. package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
  167. package/dist/chunks/greenbidsRtdProvider.js +1 -1
  168. package/dist/chunks/gridBidAdapter.js +1 -1
  169. package/dist/chunks/gridBidAdapter.metadata.js +1 -1
  170. package/dist/chunks/gumgumBidAdapter.js +1 -1
  171. package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
  172. package/dist/chunks/h12mediaBidAdapter.js +1 -1
  173. package/dist/chunks/hadronIdSystem.metadata.js +1 -1
  174. package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
  175. package/dist/chunks/holidBidAdapter.metadata.js +1 -1
  176. package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
  177. package/dist/chunks/hypelabBidAdapter.js +1 -1
  178. package/dist/chunks/iasRtdProvider.js +1 -1
  179. package/dist/chunks/id5AnalyticsAdapter.js +1 -1
  180. package/dist/chunks/id5IdSystem.js +1 -1
  181. package/dist/chunks/id5IdSystem.metadata.js +1 -1
  182. package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
  183. package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
  184. package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
  185. package/dist/chunks/improvedigitalBidAdapter.js +1 -1
  186. package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
  187. package/dist/chunks/inmobiBidAdapter.js +1 -1
  188. package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
  189. package/dist/chunks/innityBidAdapter.metadata.js +1 -1
  190. package/dist/chunks/insticatorBidAdapter.js +1 -1
  191. package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
  192. package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
  193. package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
  194. package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
  195. package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
  196. package/dist/chunks/ixBidAdapter.js +1 -1
  197. package/dist/chunks/ixBidAdapter.metadata.js +1 -1
  198. package/dist/chunks/jixieBidAdapter.js +1 -1
  199. package/dist/chunks/justIdSystem.metadata.js +1 -1
  200. package/dist/chunks/justpremiumBidAdapter.js +1 -1
  201. package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
  202. package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
  203. package/dist/chunks/jwplayerRtdProvider.js +1 -1
  204. package/dist/chunks/jwplayerVideoProvider.js +1 -1
  205. package/dist/chunks/kargoBidAdapter.js +1 -1
  206. package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
  207. package/dist/chunks/kimberliteBidAdapter.js +1 -1
  208. package/dist/chunks/kubientBidAdapter.js +1 -1
  209. package/dist/chunks/kubientBidAdapter.metadata.js +1 -1
  210. package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
  211. package/dist/chunks/lassoBidAdapter.js +1 -1
  212. package/dist/chunks/lifestreetBidAdapter.js +1 -1
  213. package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
  214. package/dist/chunks/liveIntentId.js +1 -1
  215. package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
  216. package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
  217. package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
  218. package/dist/chunks/logicadBidAdapter.js +1 -1
  219. package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
  220. package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
  221. package/dist/chunks/luceadBidAdapter.js +1 -1
  222. package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
  223. package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
  224. package/dist/chunks/mabidderBidAdapter.js +1 -1
  225. package/dist/chunks/madsenseBidAdapter.js +1 -1
  226. package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
  227. package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
  228. package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
  229. package/dist/chunks/marsmediaBidAdapter.js +1 -1
  230. package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
  231. package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
  232. package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
  233. package/dist/chunks/mediafuseBidAdapter.js +1 -1
  234. package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
  235. package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
  236. package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
  237. package/dist/chunks/medianetBidAdapter.js +1 -1
  238. package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
  239. package/dist/chunks/medianetUtils.js +1 -1
  240. package/dist/chunks/mediasquareBidAdapter.js +1 -1
  241. package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
  242. package/dist/chunks/mgidBidAdapter.js +1 -1
  243. package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
  244. package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
  245. package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
  246. package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
  247. package/dist/chunks/missenaBidAdapter.js +1 -1
  248. package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
  249. package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
  250. package/dist/chunks/mobilefuseBidAdapter.js +1 -1
  251. package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
  252. package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
  253. package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
  254. package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
  255. package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
  256. package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
  257. package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
  258. package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
  259. package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
  260. package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
  261. package/dist/chunks/nexx360Utils.js +1 -1
  262. package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
  263. package/dist/chunks/nobidBidAdapter.js +1 -1
  264. package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
  265. package/dist/chunks/nodalsAiRtdProvider.js +1 -1
  266. package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
  267. package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
  268. package/dist/chunks/oguryBidAdapter.js +1 -1
  269. package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
  270. package/dist/chunks/omsBidAdapter.metadata.js +1 -1
  271. package/dist/chunks/onetagBidAdapter.js +1 -1
  272. package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
  273. package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
  274. package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
  275. package/dist/chunks/openxBidAdapter.js +1 -1
  276. package/dist/chunks/openxBidAdapter.metadata.js +1 -1
  277. package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
  278. package/dist/chunks/optidigitalBidAdapter.js +1 -1
  279. package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
  280. package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
  281. package/dist/chunks/orbidderBidAdapter.js +1 -1
  282. package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
  283. package/dist/chunks/outbrainBidAdapter.js +1 -1
  284. package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
  285. package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
  286. package/dist/chunks/pairIdSystem.metadata.js +1 -1
  287. package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
  288. package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
  289. package/dist/chunks/pixfutureBidAdapter.js +1 -1
  290. package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
  291. package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
  292. package/dist/chunks/prebid-core.metadata.js +1 -1
  293. package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
  294. package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
  295. package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
  296. package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
  297. package/dist/chunks/publinkIdSystem.js +1 -1
  298. package/dist/chunks/publinkIdSystem.metadata.js +1 -1
  299. package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
  300. package/dist/chunks/pubmaticBidAdapter.js +1 -1
  301. package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
  302. package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
  303. package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
  304. package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
  305. package/dist/chunks/pulsepointBidAdapter.js +1 -1
  306. package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
  307. package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
  308. package/dist/chunks/pxyzBidAdapter.js +1 -1
  309. package/dist/chunks/qtBidAdapter.metadata.js +1 -1
  310. package/dist/chunks/quantcastBidAdapter.js +1 -1
  311. package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
  312. package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
  313. package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
  314. package/dist/chunks/raynRtdProvider.metadata.js +1 -1
  315. package/dist/chunks/readpeakBidAdapter.js +1 -1
  316. package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
  317. package/dist/chunks/relaidoBidAdapter.js +1 -1
  318. package/dist/chunks/relayBidAdapter.metadata.js +1 -1
  319. package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
  320. package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
  321. package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
  322. package/dist/chunks/retailspotBidAdapter.js +1 -1
  323. package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
  324. package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
  325. package/dist/chunks/rhythmoneBidAdapter.js +1 -1
  326. package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
  327. package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
  328. package/dist/chunks/riseBidAdapter.metadata.js +1 -1
  329. package/dist/chunks/riseUtils.js +1 -1
  330. package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
  331. package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
  332. package/dist/chunks/rubiconBidAdapter.js +1 -1
  333. package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
  334. package/dist/chunks/rumbleBidAdapter.js +1 -0
  335. package/dist/chunks/rumbleBidAdapter.metadata.js +1 -0
  336. package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
  337. package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
  338. package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
  339. package/dist/chunks/seedtagBidAdapter.js +1 -1
  340. package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
  341. package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
  342. package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
  343. package/dist/chunks/sevioBidAdapter.js +1 -0
  344. package/dist/chunks/sevioBidAdapter.metadata.js +1 -0
  345. package/dist/chunks/sharedIdSystem.metadata.js +1 -1
  346. package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
  347. package/dist/chunks/sharethroughBidAdapter.js +1 -1
  348. package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
  349. package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
  350. package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
  351. package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
  352. package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
  353. package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
  354. package/dist/chunks/smaatoBidAdapter.js +1 -1
  355. package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
  356. package/dist/chunks/smartadserverBidAdapter.js +1 -1
  357. package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
  358. package/dist/chunks/smartxBidAdapter.js +1 -1
  359. package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
  360. package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
  361. package/dist/chunks/smilewantedBidAdapter.js +1 -1
  362. package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
  363. package/dist/chunks/snigelBidAdapter.js +1 -1
  364. package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
  365. package/dist/chunks/sonaradsBidAdapter.js +1 -1
  366. package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
  367. package/dist/chunks/sonobiBidAdapter.js +1 -1
  368. package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
  369. package/dist/chunks/sovrnBidAdapter.js +1 -1
  370. package/dist/chunks/sovrnBidAdapter.metadata.js +1 -1
  371. package/dist/chunks/sparteoBidAdapter.js +1 -1
  372. package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
  373. package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
  374. package/dist/chunks/sspBCBidAdapter.js +1 -1
  375. package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
  376. package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
  377. package/dist/chunks/startioBidAdapter.metadata.js +1 -1
  378. package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
  379. package/dist/chunks/stvBidAdapter.js +1 -1
  380. package/dist/chunks/stvBidAdapter.metadata.js +1 -1
  381. package/dist/chunks/sublimeBidAdapter.js +1 -1
  382. package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
  383. package/dist/chunks/taboolaBidAdapter.js +1 -1
  384. package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
  385. package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
  386. package/dist/chunks/tappxBidAdapter.js +1 -1
  387. package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
  388. package/dist/chunks/targetVideoBidAdapter.js +1 -1
  389. package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
  390. package/dist/chunks/teadsBidAdapter.js +1 -1
  391. package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
  392. package/dist/chunks/teadsIdSystem.metadata.js +1 -1
  393. package/dist/chunks/tealBidAdapter.metadata.js +1 -1
  394. package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
  395. package/dist/chunks/themoneytizerBidAdapter.js +1 -1
  396. package/dist/chunks/themoneytizerBidAdapter.metadata.js +1 -1
  397. package/dist/chunks/tncIdSystem.metadata.js +1 -1
  398. package/dist/chunks/topicsFpdModule.metadata.js +1 -1
  399. package/dist/chunks/trionBidAdapter.js +1 -1
  400. package/dist/chunks/tripleliftBidAdapter.js +1 -1
  401. package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
  402. package/dist/chunks/ttdBidAdapter.js +1 -1
  403. package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
  404. package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
  405. package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
  406. package/dist/chunks/uid2IdSystem.js +1 -1
  407. package/dist/chunks/underdogmediaBidAdapter.js +1 -1
  408. package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
  409. package/dist/chunks/undertoneBidAdapter.js +1 -1
  410. package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
  411. package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
  412. package/dist/chunks/unrulyBidAdapter.js +1 -1
  413. package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
  414. package/dist/chunks/userId.js +1 -1
  415. package/dist/chunks/userId.metadata.js +1 -1
  416. package/dist/chunks/validationFpdModule.metadata.js +1 -1
  417. package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
  418. package/dist/chunks/vidazooUtils.js +1 -1
  419. package/dist/chunks/videobyteBidAdapter.js +1 -1
  420. package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
  421. package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
  422. package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
  423. package/dist/chunks/visxBidAdapter.js +1 -1
  424. package/dist/chunks/visxBidAdapter.metadata.js +1 -1
  425. package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
  426. package/dist/chunks/voxBidAdapter.metadata.js +1 -1
  427. package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
  428. package/dist/chunks/vuukleBidAdapter.js +1 -1
  429. package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
  430. package/dist/chunks/weboramaRtdProvider.js +1 -1
  431. package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
  432. package/dist/chunks/welectBidAdapter.metadata.js +1 -1
  433. package/dist/chunks/widespaceBidAdapter.js +1 -1
  434. package/dist/chunks/winrBidAdapter.js +1 -1
  435. package/dist/chunks/yahooAdsBidAdapter.js +1 -1
  436. package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
  437. package/dist/chunks/yandexBidAdapter.js +1 -1
  438. package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
  439. package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
  440. package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
  441. package/dist/chunks/yieldmoBidAdapter.js +1 -1
  442. package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
  443. package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
  444. package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
  445. package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
  446. package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
  447. package/dist/not-for-prod/prebid.js +443 -438
  448. package/dist/src/creative/renderers/display/renderer.js +3 -4
  449. package/dist/src/creative/renderers/display/renderer.js.map +1 -1
  450. package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
  451. package/dist/src/libraries/analyticsAdapter/AnalyticsAdapter.js.map +1 -1
  452. package/dist/src/libraries/appnexusUtils/anKeywords.js +15 -1
  453. package/dist/src/libraries/appnexusUtils/anKeywords.js.map +1 -1
  454. package/dist/src/libraries/consentManagement/cmUtils.js.map +1 -1
  455. package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
  456. package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
  457. package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
  458. package/dist/src/libraries/cryptoUtils/wallets.js +14 -0
  459. package/dist/src/libraries/cryptoUtils/wallets.js.map +1 -0
  460. package/dist/src/libraries/dspxUtils/bidderUtils.js.map +1 -1
  461. package/dist/src/libraries/impUtils.js +36 -0
  462. package/dist/src/libraries/impUtils.js.map +1 -0
  463. package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
  464. package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
  465. package/dist/src/libraries/liveIntentId/shared.js +20 -0
  466. package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
  467. package/dist/src/libraries/medianetUtils/constants.js +1 -1
  468. package/dist/src/libraries/nexx360Utils/index.js +1 -1
  469. package/dist/src/libraries/nexx360Utils/index.js.map +1 -1
  470. package/dist/src/libraries/ortbConverter/converter.js.map +1 -1
  471. package/dist/src/libraries/riseUtils/index.js +1 -1
  472. package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
  473. package/dist/src/libraries/video/constants/events.js.map +1 -1
  474. package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
  475. package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
  476. package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
  477. package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
  478. package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
  479. package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
  480. package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
  481. package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
  482. package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
  483. package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
  484. package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
  485. package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
  486. package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
  487. package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
  488. package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
  489. package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
  490. package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
  491. package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
  492. package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
  493. package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
  494. package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
  495. package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
  496. package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
  497. package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
  498. package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
  499. package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
  500. package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
  501. package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
  502. package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
  503. package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
  504. package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
  505. package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
  506. package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
  507. package/dist/src/metadata/modules/amxIdSystem.js +1 -1
  508. package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
  509. package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
  510. package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
  511. package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
  512. package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
  513. package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
  514. package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
  515. package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
  516. package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
  517. package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
  518. package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
  519. package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
  520. package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
  521. package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
  522. package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
  523. package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
  524. package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
  525. package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
  526. package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
  527. package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
  528. package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
  529. package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
  530. package/dist/src/metadata/modules/categoryTranslation.js +1 -1
  531. package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
  532. package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
  533. package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
  534. package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
  535. package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
  536. package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
  537. package/dist/src/metadata/modules/connectIdSystem.js +1 -1
  538. package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
  539. package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
  540. package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
  541. package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
  542. package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
  543. package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
  544. package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
  545. package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
  546. package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
  547. package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
  548. package/dist/src/metadata/modules/debugging.js +1 -1
  549. package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
  550. package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
  551. package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
  552. package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
  553. package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
  554. package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
  555. package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
  556. package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
  557. package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
  558. package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
  559. package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
  560. package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
  561. package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
  562. package/dist/src/metadata/modules/euidIdSystem.js +1 -1
  563. package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
  564. package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
  565. package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
  566. package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
  567. package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
  568. package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
  569. package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
  570. package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
  571. package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
  572. package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
  573. package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
  574. package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
  575. package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
  576. package/dist/src/metadata/modules/id5IdSystem.js +1 -1
  577. package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
  578. package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
  579. package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
  580. package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
  581. package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
  582. package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
  583. package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
  584. package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
  585. package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
  586. package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
  587. package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
  588. package/dist/src/metadata/modules/justIdSystem.js +1 -1
  589. package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
  590. package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
  591. package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
  592. package/dist/src/metadata/modules/kubientBidAdapter.js +1 -1
  593. package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
  594. package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
  595. package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
  596. package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
  597. package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
  598. package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
  599. package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
  600. package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
  601. package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
  602. package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
  603. package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
  604. package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
  605. package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
  606. package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
  607. package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
  608. package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
  609. package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
  610. package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
  611. package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
  612. package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
  613. package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
  614. package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
  615. package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
  616. package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
  617. package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
  618. package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
  619. package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
  620. package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
  621. package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
  622. package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
  623. package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
  624. package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
  625. package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
  626. package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
  627. package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
  628. package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
  629. package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
  630. package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
  631. package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
  632. package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
  633. package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
  634. package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
  635. package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
  636. package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
  637. package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
  638. package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
  639. package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
  640. package/dist/src/metadata/modules/pairIdSystem.js +1 -1
  641. package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
  642. package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
  643. package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
  644. package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
  645. package/dist/src/metadata/modules/prebid-core.js +1 -1
  646. package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
  647. package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
  648. package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
  649. package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
  650. package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
  651. package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
  652. package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
  653. package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
  654. package/dist/src/metadata/modules/pwbidBidAdapter.js +1 -1
  655. package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
  656. package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
  657. package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
  658. package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
  659. package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
  660. package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
  661. package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
  662. package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
  663. package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
  664. package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
  665. package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
  666. package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
  667. package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
  668. package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
  669. package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
  670. package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
  671. package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
  672. package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
  673. package/dist/src/metadata/modules/rumbleBidAdapter.js +2 -0
  674. package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
  675. package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
  676. package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
  677. package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
  678. package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
  679. package/dist/src/metadata/modules/sevioBidAdapter.js +2 -0
  680. package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
  681. package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
  682. package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
  683. package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
  684. package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
  685. package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
  686. package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
  687. package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
  688. package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
  689. package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
  690. package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
  691. package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
  692. package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
  693. package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
  694. package/dist/src/metadata/modules/sovrnBidAdapter.js +1 -1
  695. package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
  696. package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
  697. package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
  698. package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
  699. package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
  700. package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
  701. package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
  702. package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
  703. package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
  704. package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
  705. package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
  706. package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
  707. package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
  708. package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
  709. package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
  710. package/dist/src/metadata/modules/themoneytizerBidAdapter.js +1 -1
  711. package/dist/src/metadata/modules/tncIdSystem.js +1 -1
  712. package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
  713. package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
  714. package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
  715. package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
  716. package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
  717. package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
  718. package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
  719. package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
  720. package/dist/src/metadata/modules/userId.js +1 -1
  721. package/dist/src/metadata/modules/validationFpdModule.js +1 -1
  722. package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
  723. package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
  724. package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
  725. package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
  726. package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
  727. package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
  728. package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
  729. package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
  730. package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
  731. package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
  732. package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
  733. package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
  734. package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
  735. package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
  736. package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
  737. package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
  738. package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
  739. package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
  740. package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
  741. package/dist/src/modules/1plusXRtdProvider.js +6 -2
  742. package/dist/src/modules/1plusXRtdProvider.js.map +1 -1
  743. package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
  744. package/dist/src/modules/33acrossBidAdapter.js +1 -1
  745. package/dist/src/modules/33acrossIdSystem.js +1 -1
  746. package/dist/src/modules/adWMGBidAdapter.js.map +1 -1
  747. package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
  748. package/dist/src/modules/adagioBidAdapter.js +1 -1
  749. package/dist/src/modules/addefendBidAdapter.js +1 -1
  750. package/dist/src/modules/adgenerationBidAdapter.js +1 -1
  751. package/dist/src/modules/adlooxRtdProvider.js +1 -1
  752. package/dist/src/modules/admixerBidAdapter.js +5 -4
  753. package/dist/src/modules/admixerBidAdapter.js.map +1 -1
  754. package/dist/src/modules/adqueryBidAdapter.js +1 -1
  755. package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
  756. package/dist/src/modules/adspiritBidAdapter.js.map +1 -1
  757. package/dist/src/modules/adstirBidAdapter.js +1 -1
  758. package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
  759. package/dist/src/modules/adtrgtmeBidAdapter.js.map +1 -1
  760. package/dist/src/modules/advertisingBidAdapter.js +2 -2
  761. package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
  762. package/dist/src/modules/adxcgBidAdapter.js +4 -39
  763. package/dist/src/modules/adxcgBidAdapter.js.map +1 -1
  764. package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
  765. package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
  766. package/dist/src/modules/ajaBidAdapter.js +1 -1
  767. package/dist/src/modules/amxBidAdapter.js +2 -2
  768. package/dist/src/modules/amxBidAdapter.js.map +1 -1
  769. package/dist/src/modules/amxIdSystem.js +1 -1
  770. package/dist/src/modules/aniviewBidAdapter.js +1 -1
  771. package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
  772. package/dist/src/modules/appnexusBidAdapter.js +2 -2
  773. package/dist/src/modules/asoBidAdapter.js +1 -1
  774. package/dist/src/modules/axonixBidAdapter.js +1 -1
  775. package/dist/src/modules/beopBidAdapter.js +2 -2
  776. package/dist/src/modules/bidglassBidAdapter.js +1 -1
  777. package/dist/src/modules/bitmediaBidAdapter.js +1 -1
  778. package/dist/src/modules/blockthroughBidAdapter.js +1 -1
  779. package/dist/src/modules/bmtmBidAdapter.js +1 -1
  780. package/dist/src/modules/bridBidAdapter.js +1 -1
  781. package/dist/src/modules/bridgewellBidAdapter.js +1 -1
  782. package/dist/src/modules/carodaBidAdapter.js +1 -1
  783. package/dist/src/modules/chromeAiRtdProvider.js.map +1 -1
  784. package/dist/src/modules/chtnwBidAdapter.js +1 -1
  785. package/dist/src/modules/concertBidAdapter.js +1 -1
  786. package/dist/src/modules/connectadBidAdapter.js +1 -1
  787. package/dist/src/modules/consentManagementGpp.js.map +1 -1
  788. package/dist/src/modules/consentManagementTcf.js.map +1 -1
  789. package/dist/src/modules/consentManagementUsp.js.map +1 -1
  790. package/dist/src/modules/consumableBidAdapter.js +1 -1
  791. package/dist/src/modules/contxtfulBidAdapter.js +1 -1
  792. package/dist/src/modules/conversantBidAdapter.js +1 -1
  793. package/dist/src/modules/craftBidAdapter.js +1 -1
  794. package/dist/src/modules/criteoBidAdapter.js +2 -2
  795. package/dist/src/modules/currency.js.map +1 -1
  796. package/dist/src/modules/cwireBidAdapter.js +1 -1
  797. package/dist/src/modules/cwireBidAdapter.js.map +1 -1
  798. package/dist/src/modules/dailymotionBidAdapter.js +1 -1
  799. package/dist/src/modules/dailymotionBidAdapter.js.map +1 -1
  800. package/dist/src/modules/dchain.js.map +1 -1
  801. package/dist/src/modules/dspxBidAdapter.js +1 -1
  802. package/dist/src/modules/dspxBidAdapter.js.map +1 -1
  803. package/dist/src/modules/dxkultureBidAdapter.js +1 -1
  804. package/dist/src/modules/eightPodBidAdapter.js.map +1 -1
  805. package/dist/src/modules/eplanningBidAdapter.js +1 -1
  806. package/dist/src/modules/equativBidAdapter.js +1 -1
  807. package/dist/src/modules/eskimiBidAdapter.js +1 -1
  808. package/dist/src/modules/euidIdSystem.js +1 -1
  809. package/dist/src/modules/exadsBidAdapter.js +1 -1
  810. package/dist/src/modules/excoBidAdapter.js +3 -3
  811. package/dist/src/modules/feedadBidAdapter.js +2 -2
  812. package/dist/src/modules/finativeBidAdapter.js +1 -1
  813. package/dist/src/modules/genericAnalyticsAdapter.js.map +1 -1
  814. package/dist/src/modules/geolocationRtdProvider.js.map +1 -1
  815. package/dist/src/modules/getintentBidAdapter.js +4 -2
  816. package/dist/src/modules/getintentBidAdapter.js.map +1 -1
  817. package/dist/src/modules/gmosspBidAdapter.js +1 -1
  818. package/dist/src/modules/gmosspBidAdapter.js.map +1 -1
  819. package/dist/src/modules/gppControl_usstates.js.map +1 -1
  820. package/dist/src/modules/gptPreAuction.d.ts +3 -3
  821. package/dist/src/modules/gptPreAuction.js.map +1 -1
  822. package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
  823. package/dist/src/modules/greenbidsBidAdapter.js +1 -1
  824. package/dist/src/modules/greenbidsRtdProvider.js +1 -1
  825. package/dist/src/modules/gridBidAdapter.js +2 -2
  826. package/dist/src/modules/gumgumBidAdapter.js +2 -2
  827. package/dist/src/modules/h12mediaBidAdapter.js +1 -1
  828. package/dist/src/modules/hypelabBidAdapter.js +1 -1
  829. package/dist/src/modules/iasRtdProvider.js +110 -5
  830. package/dist/src/modules/iasRtdProvider.js.map +1 -1
  831. package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
  832. package/dist/src/modules/id5IdSystem.js +1 -1
  833. package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
  834. package/dist/src/modules/inmobiBidAdapter.js +1 -1
  835. package/dist/src/modules/insticatorBidAdapter.js +1 -1
  836. package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
  837. package/dist/src/modules/intentIqAnalyticsAdapter.js.map +1 -1
  838. package/dist/src/modules/intentIqIdSystem.js.map +1 -1
  839. package/dist/src/modules/ixBidAdapter.js +1 -1
  840. package/dist/src/modules/jixieBidAdapter.js +1 -1
  841. package/dist/src/modules/justpremiumBidAdapter.js +1 -1
  842. package/dist/src/modules/jwplayerRtdProvider.js +6 -2
  843. package/dist/src/modules/jwplayerRtdProvider.js.map +1 -1
  844. package/dist/src/modules/jwplayerVideoProvider.js +12 -9
  845. package/dist/src/modules/jwplayerVideoProvider.js.map +1 -1
  846. package/dist/src/modules/kargoBidAdapter.js +1 -1
  847. package/dist/src/modules/kimberliteBidAdapter.js +1 -1
  848. package/dist/src/modules/kubientBidAdapter.js +0 -1
  849. package/dist/src/modules/kubientBidAdapter.js.map +1 -1
  850. package/dist/src/modules/lassoBidAdapter.js +1 -1
  851. package/dist/src/modules/lifestreetBidAdapter.js +1 -1
  852. package/dist/src/modules/logicadBidAdapter.js +1 -1
  853. package/dist/src/modules/luceadBidAdapter.js +1 -1
  854. package/dist/src/modules/mabidderBidAdapter.js +1 -1
  855. package/dist/src/modules/madsenseBidAdapter.js +1 -1
  856. package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
  857. package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
  858. package/dist/src/modules/marsmediaBidAdapter.js +1 -1
  859. package/dist/src/modules/mediafuseBidAdapter.js +2 -2
  860. package/dist/src/modules/medianetAnalyticsAdapter.js.map +1 -1
  861. package/dist/src/modules/medianetBidAdapter.js +6 -2
  862. package/dist/src/modules/medianetBidAdapter.js.map +1 -1
  863. package/dist/src/modules/mediasquareBidAdapter.js +2 -2
  864. package/dist/src/modules/mgidBidAdapter.js +1 -1
  865. package/dist/src/modules/michaoBidAdapter.js.map +1 -1
  866. package/dist/src/modules/missenaBidAdapter.js +1 -1
  867. package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
  868. package/dist/src/modules/multibid/index.js.map +1 -1
  869. package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
  870. package/dist/src/modules/nexverseBidAdapter.js.map +1 -1
  871. package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
  872. package/dist/src/modules/nobidBidAdapter.js +1 -1
  873. package/dist/src/modules/nodalsAiRtdProvider.js +4 -2
  874. package/dist/src/modules/nodalsAiRtdProvider.js.map +1 -1
  875. package/dist/src/modules/oguryBidAdapter.js +1 -1
  876. package/dist/src/modules/onetagBidAdapter.js +1 -1
  877. package/dist/src/modules/onetagBidAdapter.js.map +1 -1
  878. package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
  879. package/dist/src/modules/openxBidAdapter.js +7 -2
  880. package/dist/src/modules/openxBidAdapter.js.map +1 -1
  881. package/dist/src/modules/optidigitalBidAdapter.js +1 -1
  882. package/dist/src/modules/orbidderBidAdapter.js +1 -1
  883. package/dist/src/modules/outbrainBidAdapter.js +1 -1
  884. package/dist/src/modules/pixfutureBidAdapter.js +2 -2
  885. package/dist/src/modules/prebidServerBidAdapter/index.js.map +1 -1
  886. package/dist/src/modules/priceFloors.d.ts +2 -2
  887. package/dist/src/modules/priceFloors.js.map +1 -1
  888. package/dist/src/modules/publinkIdSystem.js +1 -1
  889. package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
  890. package/dist/src/modules/pubmaticBidAdapter.js +23 -3
  891. package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
  892. package/dist/src/modules/pubmaticRtdProvider.js.map +1 -1
  893. package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
  894. package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
  895. package/dist/src/modules/pulsepointBidAdapter.js +2 -38
  896. package/dist/src/modules/pulsepointBidAdapter.js.map +1 -1
  897. package/dist/src/modules/pxyzBidAdapter.js +1 -1
  898. package/dist/src/modules/quantcastBidAdapter.js +1 -1
  899. package/dist/src/modules/readpeakBidAdapter.js +1 -1
  900. package/dist/src/modules/readpeakBidAdapter.js.map +1 -1
  901. package/dist/src/modules/relaidoBidAdapter.js +1 -1
  902. package/dist/src/modules/retailspotBidAdapter.js +1 -1
  903. package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
  904. package/dist/src/modules/rtdModule/index.js.map +1 -1
  905. package/dist/src/modules/rtdModule/spec.js.map +1 -1
  906. package/dist/src/modules/rubiconBidAdapter.js +6 -2
  907. package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
  908. package/dist/src/modules/rumbleBidAdapter.js +103 -0
  909. package/dist/src/modules/rumbleBidAdapter.js.map +1 -0
  910. package/dist/src/modules/schain.js.map +1 -1
  911. package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
  912. package/dist/src/modules/seedtagBidAdapter.js +1 -1
  913. package/dist/src/modules/sevioBidAdapter.js +254 -0
  914. package/dist/src/modules/sevioBidAdapter.js.map +1 -0
  915. package/dist/src/modules/sharedIdSystem.js.map +1 -1
  916. package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
  917. package/dist/src/modules/sharethroughBidAdapter.js +1 -1
  918. package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
  919. package/dist/src/modules/smaatoBidAdapter.js +1 -1
  920. package/dist/src/modules/smartadserverBidAdapter.js +1 -1
  921. package/dist/src/modules/smartxBidAdapter.js +1 -1
  922. package/dist/src/modules/smilewantedBidAdapter.js +1 -1
  923. package/dist/src/modules/snigelBidAdapter.js +1 -1
  924. package/dist/src/modules/sonaradsBidAdapter.js +2 -2
  925. package/dist/src/modules/sonobiBidAdapter.js +1 -1
  926. package/dist/src/modules/sovrnBidAdapter.js +1 -1
  927. package/dist/src/modules/sparteoBidAdapter.js +1 -1
  928. package/dist/src/modules/sspBCBidAdapter.js +1 -1
  929. package/dist/src/modules/storageControl.js.map +1 -1
  930. package/dist/src/modules/stvBidAdapter.js +1 -1
  931. package/dist/src/modules/sublimeBidAdapter.js +2 -2
  932. package/dist/src/modules/taboolaBidAdapter.js +1 -1
  933. package/dist/src/modules/tappxBidAdapter.js +1 -1
  934. package/dist/src/modules/targetVideoBidAdapter.js +1 -1
  935. package/dist/src/modules/tcfControl.js.map +1 -1
  936. package/dist/src/modules/teadsBidAdapter.js +1 -1
  937. package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
  938. package/dist/src/modules/themoneytizerBidAdapter.js +1 -3
  939. package/dist/src/modules/themoneytizerBidAdapter.js.map +1 -1
  940. package/dist/src/modules/trionBidAdapter.js +1 -1
  941. package/dist/src/modules/tripleliftBidAdapter.js +1 -1
  942. package/dist/src/modules/ttdBidAdapter.js +9 -2
  943. package/dist/src/modules/ttdBidAdapter.js.map +1 -1
  944. package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
  945. package/dist/src/modules/uid2IdSystem.js +1 -1
  946. package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
  947. package/dist/src/modules/undertoneBidAdapter.js +1 -1
  948. package/dist/src/modules/unrulyBidAdapter.js +1 -1
  949. package/dist/src/modules/userId/index.js +12 -8
  950. package/dist/src/modules/userId/index.js.map +1 -1
  951. package/dist/src/modules/userId/spec.js.map +1 -1
  952. package/dist/src/modules/validationFpdModule/index.js.map +1 -1
  953. package/dist/src/modules/videoModule/index.js.map +1 -1
  954. package/dist/src/modules/videobyteBidAdapter.js +1 -1
  955. package/dist/src/modules/visxBidAdapter.js +1 -1
  956. package/dist/src/modules/vuukleBidAdapter.js +1 -1
  957. package/dist/src/modules/weboramaRtdProvider.js +30 -11
  958. package/dist/src/modules/weboramaRtdProvider.js.map +1 -1
  959. package/dist/src/modules/welectBidAdapter.js.map +1 -1
  960. package/dist/src/modules/widespaceBidAdapter.js +1 -1
  961. package/dist/src/modules/winrBidAdapter.js +1 -1
  962. package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
  963. package/dist/src/modules/yandexBidAdapter.js +47 -15
  964. package/dist/src/modules/yandexBidAdapter.js.map +1 -1
  965. package/dist/src/modules/yieldmoBidAdapter.js +2 -2
  966. package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
  967. package/dist/src/package.json +2 -3
  968. package/dist/src/public/rumbleBidAdapter.js +1 -0
  969. package/dist/src/public/sevioBidAdapter.js +1 -0
  970. package/dist/src/src/activities/params.d.ts +5 -0
  971. package/dist/src/src/activities/params.js +6 -0
  972. package/dist/src/src/activities/params.js.map +1 -1
  973. package/dist/src/src/activities/redactor.js.map +1 -1
  974. package/dist/src/src/adRendering.js.map +1 -1
  975. package/dist/src/src/adUnits.js.map +1 -1
  976. package/dist/src/src/adapterManager.js.map +1 -1
  977. package/dist/src/src/adapters/bidderFactory.js.map +1 -1
  978. package/dist/src/src/ajax.js.map +1 -1
  979. package/dist/src/src/auction.js.map +1 -1
  980. package/dist/src/src/banner.js.map +1 -1
  981. package/dist/src/src/bidTTL.js.map +1 -1
  982. package/dist/src/src/bidderSettings.js.map +1 -1
  983. package/dist/src/src/bidfactory.js.map +1 -1
  984. package/dist/src/src/config.js +3 -3
  985. package/dist/src/src/config.js.map +1 -1
  986. package/dist/src/src/consentHandler.js.map +1 -1
  987. package/dist/src/src/constants.js.map +1 -1
  988. package/dist/src/src/cpmBucketManager.js.map +1 -1
  989. package/dist/src/src/debugging.js +1 -1
  990. package/dist/src/src/events.js.map +1 -1
  991. package/dist/src/src/fpd/enrichment.js.map +1 -1
  992. package/dist/src/src/hook.js.map +1 -1
  993. package/dist/src/src/mediaTypes.js.map +1 -1
  994. package/dist/src/src/native.js.map +1 -1
  995. package/dist/src/src/prebid.js +2 -2
  996. package/dist/src/src/prebid.js.map +1 -1
  997. package/dist/src/src/prebidGlobal.js.map +1 -1
  998. package/dist/src/src/refererDetection.js.map +1 -1
  999. package/dist/src/src/storageManager.js +26 -25
  1000. package/dist/src/src/storageManager.js.map +1 -1
  1001. package/dist/src/src/targeting.d.ts +7 -7
  1002. package/dist/src/src/targeting.js.map +1 -1
  1003. package/dist/src/src/types/common.d.js.map +1 -1
  1004. package/dist/src/src/types/common.d.ts +29 -29
  1005. package/dist/src/src/types/local/buildOptions.d.js.map +1 -1
  1006. package/dist/src/src/types/local/shim.d.js.map +1 -1
  1007. package/dist/src/src/types/objects.d.js.map +1 -1
  1008. package/dist/src/src/types/objects.d.ts +15 -15
  1009. package/dist/src/src/types/ortb/common.d.js.map +1 -1
  1010. package/dist/src/src/types/ortb/common.d.ts +1 -1
  1011. package/dist/src/src/types/ortb/ext/dchain.d.js.map +1 -1
  1012. package/dist/src/src/types/ortb/ext/dchain.d.ts +69 -69
  1013. package/dist/src/src/types/ortb/ext/dsa.d.js.map +1 -1
  1014. package/dist/src/src/types/ortb/ext/dsa.d.ts +50 -50
  1015. package/dist/src/src/types/ortb/request.d.js.map +1 -1
  1016. package/dist/src/src/types/ortb/request.d.ts +21 -21
  1017. package/dist/src/src/types/ortb/response.d.js.map +1 -1
  1018. package/dist/src/src/types/ortb/response.d.ts +6 -6
  1019. package/dist/src/src/types/summary/core.d.ts +5 -5
  1020. package/dist/src/src/userSync.js.map +1 -1
  1021. package/dist/src/src/utils/objects.js.map +1 -1
  1022. package/dist/src/src/utils/perfMetrics.js.map +1 -1
  1023. package/dist/src/src/utils/promise.js.map +1 -1
  1024. package/dist/src/src/utils/ttlCollection.js.map +1 -1
  1025. package/dist/src/src/video.js.map +1 -1
  1026. package/dist/src/src/videoCache.js.map +1 -1
  1027. package/dist/src/test/helpers/index_adapter_utils.js +1 -1
  1028. package/dist/src/test/helpers/index_adapter_utils.js.map +1 -1
  1029. package/dist/src/test/helpers/refererDetectionHelper.js.map +1 -1
  1030. package/dist/src/test/mocks/timers.js +12 -12
  1031. package/dist/src/test/mocks/timers.js.map +1 -1
  1032. package/dist/src/test/spec/adloader_spec.js.map +1 -1
  1033. package/dist/src/test/spec/config_spec.js +9 -3
  1034. package/dist/src/test/spec/config_spec.js.map +1 -1
  1035. package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
  1036. package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js.map +1 -1
  1037. package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
  1038. package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js.map +1 -1
  1039. package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
  1040. package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
  1041. package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
  1042. package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
  1043. package/dist/src/test/spec/modules/adgridBidAdapter_spec.js.map +1 -1
  1044. package/dist/src/test/spec/modules/adkernelAdnBidAdapter_spec.js.map +1 -1
  1045. package/dist/src/test/spec/modules/adkernelBidAdapter_spec.js.map +1 -1
  1046. package/dist/src/test/spec/modules/admediaBidAdapter_spec.js.map +1 -1
  1047. package/dist/src/test/spec/modules/adnuntiusBidAdapter_spec.js.map +1 -1
  1048. package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
  1049. package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
  1050. package/dist/src/test/spec/modules/adspiritBidAdapter_spec.js.map +1 -1
  1051. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
  1052. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js.map +1 -1
  1053. package/dist/src/test/spec/modules/adtrueBidAdapter_spec.js.map +1 -1
  1054. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
  1055. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js.map +1 -1
  1056. package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
  1057. package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
  1058. package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
  1059. package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  1060. package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
  1061. package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
  1062. package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +1 -1
  1063. package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
  1064. package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
  1065. package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
  1066. package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
  1067. package/dist/src/test/spec/modules/datablocksBidAdapter_spec.js.map +1 -1
  1068. package/dist/src/test/spec/modules/deepintentBidAdapter_spec.js.map +1 -1
  1069. package/dist/src/test/spec/modules/dexertoBidAdapter_spec.js.map +1 -1
  1070. package/dist/src/test/spec/modules/dochaseBidAdapter_spec.js.map +1 -1
  1071. package/dist/src/test/spec/modules/dspxBidAdapter_spec.js.map +1 -1
  1072. package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
  1073. package/dist/src/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js.map +1 -1
  1074. package/dist/src/test/spec/modules/enrichmentLiftMeasurement_spec.js.map +1 -1
  1075. package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
  1076. package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
  1077. package/dist/src/test/spec/modules/equativBidAdapter_spec.js.map +1 -1
  1078. package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
  1079. package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
  1080. package/dist/src/test/spec/modules/finativeBidAdapter_spec.js.map +1 -1
  1081. package/dist/src/test/spec/modules/ftrackIdSystem_spec.js.map +1 -1
  1082. package/dist/src/test/spec/modules/fwsspBidAdapter_spec.js.map +1 -1
  1083. package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
  1084. package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
  1085. package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
  1086. package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
  1087. package/dist/src/test/spec/modules/hypelabBidAdapter_spec.js.map +1 -1
  1088. package/dist/src/test/spec/modules/iasRtdProvider_spec.js +104 -1
  1089. package/dist/src/test/spec/modules/iasRtdProvider_spec.js.map +1 -1
  1090. package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
  1091. package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
  1092. package/dist/src/test/spec/modules/intentIqIdSystem_spec.js.map +1 -1
  1093. package/dist/src/test/spec/modules/invibesBidAdapter_spec.js.map +1 -1
  1094. package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
  1095. package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
  1096. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
  1097. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js.map +1 -1
  1098. package/dist/src/test/spec/modules/lane4BidAdapter_spec.js.map +1 -1
  1099. package/dist/src/test/spec/modules/lemmaDigitalBidAdapter_spec.js.map +1 -1
  1100. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
  1101. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
  1102. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
  1103. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
  1104. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
  1105. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
  1106. package/dist/src/test/spec/modules/liveIntentRtdProvider_spec.js.map +1 -1
  1107. package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
  1108. package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
  1109. package/dist/src/test/spec/modules/mediaeyesBidAdapter_spec.js.map +1 -1
  1110. package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
  1111. package/dist/src/test/spec/modules/mediagoBidAdapter_spec.js.map +1 -1
  1112. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +43 -26
  1113. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js.map +1 -1
  1114. package/dist/src/test/spec/modules/mediasquareBidAdapter_spec.js.map +1 -1
  1115. package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
  1116. package/dist/src/test/spec/modules/nexx360BidAdapter_spec.js.map +1 -1
  1117. package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
  1118. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
  1119. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js.map +1 -1
  1120. package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
  1121. package/dist/src/test/spec/modules/onetagBidAdapter_spec.js.map +1 -1
  1122. package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
  1123. package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
  1124. package/dist/src/test/spec/modules/optoutBidAdapter_spec.js.map +1 -1
  1125. package/dist/src/test/spec/modules/orbitsoftBidAdapter_spec.js.map +1 -1
  1126. package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
  1127. package/dist/src/test/spec/modules/oxxionAnalyticsAdapter_spec.js.map +1 -1
  1128. package/dist/src/test/spec/modules/ozoneBidAdapter_spec.js.map +1 -1
  1129. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
  1130. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js.map +1 -1
  1131. package/dist/src/test/spec/modules/prismaBidAdapter_spec.js.map +1 -1
  1132. package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
  1133. package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
  1134. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
  1135. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
  1136. package/dist/src/test/spec/modules/pubmaticRtdProvider_spec.js.map +1 -1
  1137. package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
  1138. package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
  1139. package/dist/src/test/spec/modules/pwbidBidAdapter_spec.js.map +1 -1
  1140. package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
  1141. package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
  1142. package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
  1143. package/dist/src/test/spec/modules/relevadRtdProvider_spec.js.map +1 -1
  1144. package/dist/src/test/spec/modules/relevatehealthBidAdapter_spec.js.map +1 -1
  1145. package/dist/src/test/spec/modules/richaudienceBidAdapter_spec.js.map +1 -1
  1146. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
  1147. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js.map +1 -1
  1148. package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js +110 -0
  1149. package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js.map +1 -0
  1150. package/dist/src/test/spec/modules/sevioBidAdapter_spec.js +182 -0
  1151. package/dist/src/test/spec/modules/sevioBidAdapter_spec.js.map +1 -0
  1152. package/dist/src/test/spec/modules/smaatoBidAdapter_spec.js.map +1 -1
  1153. package/dist/src/test/spec/modules/smarticoBidAdapter_spec.js.map +1 -1
  1154. package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
  1155. package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
  1156. package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
  1157. package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
  1158. package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
  1159. package/dist/src/test/spec/modules/stvBidAdapter_spec.js.map +1 -1
  1160. package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
  1161. package/dist/src/test/spec/modules/tapnativeBidAdapter_spec.js.map +1 -1
  1162. package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
  1163. package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -5
  1164. package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js.map +1 -1
  1165. package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
  1166. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +24 -3
  1167. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js.map +1 -1
  1168. package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  1169. package/dist/src/test/spec/modules/uid2IdSystem_spec.js.map +1 -1
  1170. package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
  1171. package/dist/src/test/spec/modules/userId_spec.js +41 -6
  1172. package/dist/src/test/spec/modules/userId_spec.js.map +1 -1
  1173. package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1738 -9
  1174. package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js.map +1 -1
  1175. package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
  1176. package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
  1177. package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
  1178. package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
  1179. package/dist/src/test/spec/modules/yandexBidAdapter_spec.js +107 -2
  1180. package/dist/src/test/spec/modules/yandexBidAdapter_spec.js.map +1 -1
  1181. package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
  1182. package/dist/src/test/spec/refererDetection_spec.js.map +1 -1
  1183. package/dist/src/test/spec/unit/core/storageManager_spec.js +18 -1
  1184. package/dist/src/test/spec/unit/core/storageManager_spec.js.map +1 -1
  1185. package/dist/src/test/spec/unit/core/targeting_spec.js.map +1 -1
  1186. package/dist/src/test/spec/utils_spec.js.map +1 -1
  1187. package/eslint.config.js +2 -6
  1188. package/gulpfile.js +0 -7
  1189. package/libraries/analyticsAdapter/AnalyticsAdapter.ts +28 -28
  1190. package/libraries/appnexusUtils/anKeywords.js +11 -0
  1191. package/libraries/consentManagement/cmUtils.ts +18 -18
  1192. package/libraries/creative-renderer-display/renderer.js +1 -1
  1193. package/libraries/cryptoUtils/wallets.js +38 -0
  1194. package/libraries/dspxUtils/bidderUtils.js +1 -1
  1195. package/libraries/impUtils.js +33 -0
  1196. package/libraries/liveIntentId/shared.js +16 -0
  1197. package/libraries/nexx360Utils/index.js +8 -8
  1198. package/libraries/ortbConverter/converter.ts +79 -79
  1199. package/libraries/video/constants/events.ts +5 -5
  1200. package/metadata/modules/33acrossBidAdapter.json +1 -1
  1201. package/metadata/modules/33acrossIdSystem.json +1 -1
  1202. package/metadata/modules/acuityadsBidAdapter.json +1 -1
  1203. package/metadata/modules/adagioBidAdapter.json +1 -1
  1204. package/metadata/modules/adagioRtdProvider.json +1 -1
  1205. package/metadata/modules/addefendBidAdapter.json +1 -1
  1206. package/metadata/modules/adfBidAdapter.json +1 -1
  1207. package/metadata/modules/adfusionBidAdapter.json +1 -1
  1208. package/metadata/modules/adheseBidAdapter.json +1 -1
  1209. package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
  1210. package/metadata/modules/adkernelBidAdapter.json +4 -4
  1211. package/metadata/modules/admaticBidAdapter.json +2 -2
  1212. package/metadata/modules/admixerBidAdapter.json +8 -1
  1213. package/metadata/modules/admixerIdSystem.json +1 -1
  1214. package/metadata/modules/adnowBidAdapter.json +1 -1
  1215. package/metadata/modules/adnuntiusBidAdapter.json +1 -1
  1216. package/metadata/modules/adnuntiusRtdProvider.json +1 -1
  1217. package/metadata/modules/adotBidAdapter.json +1 -1
  1218. package/metadata/modules/adponeBidAdapter.json +1 -1
  1219. package/metadata/modules/adqueryBidAdapter.json +1 -1
  1220. package/metadata/modules/adqueryIdSystem.json +1 -1
  1221. package/metadata/modules/adrinoBidAdapter.json +1 -1
  1222. package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
  1223. package/metadata/modules/adtargetBidAdapter.json +1 -1
  1224. package/metadata/modules/adtelligentBidAdapter.json +3 -3
  1225. package/metadata/modules/adtelligentIdSystem.json +1 -1
  1226. package/metadata/modules/aduptechBidAdapter.json +1 -1
  1227. package/metadata/modules/adyoulikeBidAdapter.json +1 -1
  1228. package/metadata/modules/aidemBidAdapter.json +1 -1
  1229. package/metadata/modules/airgridRtdProvider.json +1 -1
  1230. package/metadata/modules/alkimiBidAdapter.json +1 -1
  1231. package/metadata/modules/ampliffyBidAdapter.json +1 -1
  1232. package/metadata/modules/amxBidAdapter.json +1 -1
  1233. package/metadata/modules/amxIdSystem.json +1 -1
  1234. package/metadata/modules/aniviewBidAdapter.json +1 -1
  1235. package/metadata/modules/anonymisedRtdProvider.json +1 -1
  1236. package/metadata/modules/appierBidAdapter.json +15 -29
  1237. package/metadata/modules/appnexusBidAdapter.json +5 -5
  1238. package/metadata/modules/appushBidAdapter.json +1 -1
  1239. package/metadata/modules/apstreamBidAdapter.json +1 -1
  1240. package/metadata/modules/audiencerunBidAdapter.json +1 -1
  1241. package/metadata/modules/axisBidAdapter.json +1 -1
  1242. package/metadata/modules/azerionedgeRtdProvider.json +1 -1
  1243. package/metadata/modules/beopBidAdapter.json +1 -1
  1244. package/metadata/modules/betweenBidAdapter.json +1 -1
  1245. package/metadata/modules/bidmaticBidAdapter.json +1 -1
  1246. package/metadata/modules/bidtheatreBidAdapter.json +1 -1
  1247. package/metadata/modules/bliinkBidAdapter.json +1 -1
  1248. package/metadata/modules/blockthroughBidAdapter.json +1 -1
  1249. package/metadata/modules/blueBidAdapter.json +1 -1
  1250. package/metadata/modules/bmsBidAdapter.json +1 -1
  1251. package/metadata/modules/boldwinBidAdapter.json +1 -1
  1252. package/metadata/modules/bridBidAdapter.json +1 -1
  1253. package/metadata/modules/browsiBidAdapter.json +1 -1
  1254. package/metadata/modules/bucksenseBidAdapter.json +1 -1
  1255. package/metadata/modules/carodaBidAdapter.json +1 -1
  1256. package/metadata/modules/categoryTranslation.json +1 -1
  1257. package/metadata/modules/ccxBidAdapter.json +1 -1
  1258. package/metadata/modules/ceeIdSystem.json +1 -1
  1259. package/metadata/modules/chromeAiRtdProvider.json +1 -1
  1260. package/metadata/modules/compassBidAdapter.json +1 -1
  1261. package/metadata/modules/conceptxBidAdapter.json +1 -1
  1262. package/metadata/modules/connatixBidAdapter.json +1 -1
  1263. package/metadata/modules/connectIdSystem.json +1 -1
  1264. package/metadata/modules/connectadBidAdapter.json +1 -1
  1265. package/metadata/modules/contentexchangeBidAdapter.json +1 -1
  1266. package/metadata/modules/conversantBidAdapter.json +1 -1
  1267. package/metadata/modules/copper6sspBidAdapter.json +1 -1
  1268. package/metadata/modules/cpmstarBidAdapter.json +1 -1
  1269. package/metadata/modules/criteoBidAdapter.json +1 -1
  1270. package/metadata/modules/criteoIdSystem.json +1 -1
  1271. package/metadata/modules/cwireBidAdapter.json +1 -1
  1272. package/metadata/modules/czechAdIdSystem.json +1 -1
  1273. package/metadata/modules/dailymotionBidAdapter.json +1 -1
  1274. package/metadata/modules/debugging.json +1 -1
  1275. package/metadata/modules/deepintentBidAdapter.json +1 -1
  1276. package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
  1277. package/metadata/modules/dianomiBidAdapter.json +1 -1
  1278. package/metadata/modules/digitalMatterBidAdapter.json +1 -1
  1279. package/metadata/modules/distroscaleBidAdapter.json +1 -1
  1280. package/metadata/modules/docereeAdManagerBidAdapter.json +3 -3
  1281. package/metadata/modules/docereeBidAdapter.json +3 -3
  1282. package/metadata/modules/dspxBidAdapter.json +1 -1
  1283. package/metadata/modules/e_volutionBidAdapter.json +1 -1
  1284. package/metadata/modules/edge226BidAdapter.json +3 -3
  1285. package/metadata/modules/equativBidAdapter.json +1 -1
  1286. package/metadata/modules/eskimiBidAdapter.json +1 -1
  1287. package/metadata/modules/etargetBidAdapter.json +1 -1
  1288. package/metadata/modules/euidIdSystem.json +1 -1
  1289. package/metadata/modules/exadsBidAdapter.json +1 -1
  1290. package/metadata/modules/feedadBidAdapter.json +1 -1
  1291. package/metadata/modules/fwsspBidAdapter.json +1 -1
  1292. package/metadata/modules/gamoshiBidAdapter.json +1 -1
  1293. package/metadata/modules/glomexBidAdapter.json +1 -1
  1294. package/metadata/modules/goldbachBidAdapter.json +1 -1
  1295. package/metadata/modules/greenbidsBidAdapter.json +1 -1
  1296. package/metadata/modules/gridBidAdapter.json +1 -1
  1297. package/metadata/modules/gumgumBidAdapter.json +1 -1
  1298. package/metadata/modules/hadronIdSystem.json +1 -1
  1299. package/metadata/modules/hadronRtdProvider.json +1 -1
  1300. package/metadata/modules/holidBidAdapter.json +1 -1
  1301. package/metadata/modules/hybridBidAdapter.json +1 -1
  1302. package/metadata/modules/id5IdSystem.json +1 -1
  1303. package/metadata/modules/identityLinkIdSystem.json +1 -1
  1304. package/metadata/modules/illuminBidAdapter.json +1 -1
  1305. package/metadata/modules/impactifyBidAdapter.json +1 -1
  1306. package/metadata/modules/improvedigitalBidAdapter.json +1 -1
  1307. package/metadata/modules/inmobiBidAdapter.json +1 -1
  1308. package/metadata/modules/innityBidAdapter.json +1 -1
  1309. package/metadata/modules/insticatorBidAdapter.json +1 -1
  1310. package/metadata/modules/intentIqIdSystem.json +1 -1
  1311. package/metadata/modules/invibesBidAdapter.json +1 -1
  1312. package/metadata/modules/ipromBidAdapter.json +1 -1
  1313. package/metadata/modules/ixBidAdapter.json +1 -1
  1314. package/metadata/modules/justIdSystem.json +1 -1
  1315. package/metadata/modules/justpremiumBidAdapter.json +1 -1
  1316. package/metadata/modules/jwplayerBidAdapter.json +1 -1
  1317. package/metadata/modules/kargoBidAdapter.json +1 -1
  1318. package/metadata/modules/kubientBidAdapter.json +3 -8
  1319. package/metadata/modules/kueezRtbBidAdapter.json +1 -1
  1320. package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
  1321. package/metadata/modules/liveIntentIdSystem.json +1 -1
  1322. package/metadata/modules/liveIntentRtdProvider.json +1 -1
  1323. package/metadata/modules/livewrappedBidAdapter.json +1 -1
  1324. package/metadata/modules/loopmeBidAdapter.json +1 -1
  1325. package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
  1326. package/metadata/modules/luceadBidAdapter.json +1 -1
  1327. package/metadata/modules/luponmediaBidAdapter.json +1 -1
  1328. package/metadata/modules/madvertiseBidAdapter.json +1 -1
  1329. package/metadata/modules/marsmediaBidAdapter.json +1 -1
  1330. package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
  1331. package/metadata/modules/mediaforceBidAdapter.json +1 -1
  1332. package/metadata/modules/mediafuseBidAdapter.json +1 -1
  1333. package/metadata/modules/mediagoBidAdapter.json +1 -1
  1334. package/metadata/modules/mediakeysBidAdapter.json +1 -1
  1335. package/metadata/modules/medianetBidAdapter.json +2 -2
  1336. package/metadata/modules/mediasquareBidAdapter.json +1 -1
  1337. package/metadata/modules/mgidBidAdapter.json +1 -1
  1338. package/metadata/modules/mgidRtdProvider.json +1 -1
  1339. package/metadata/modules/mgidXBidAdapter.json +1 -1
  1340. package/metadata/modules/minutemediaBidAdapter.json +1 -1
  1341. package/metadata/modules/missenaBidAdapter.json +1 -1
  1342. package/metadata/modules/mobianRtdProvider.json +1 -1
  1343. package/metadata/modules/mobilefuseBidAdapter.json +1 -1
  1344. package/metadata/modules/mobkoiBidAdapter.json +1 -1
  1345. package/metadata/modules/mobkoiIdSystem.json +1 -1
  1346. package/metadata/modules/nativeryBidAdapter.json +1 -1
  1347. package/metadata/modules/nativoBidAdapter.json +1 -1
  1348. package/metadata/modules/newspassidBidAdapter.json +1 -1
  1349. package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
  1350. package/metadata/modules/nextrollBidAdapter.json +1 -1
  1351. package/metadata/modules/nexx360BidAdapter.json +8 -8
  1352. package/metadata/modules/nobidBidAdapter.json +2 -2
  1353. package/metadata/modules/nodalsAiRtdProvider.json +1 -1
  1354. package/metadata/modules/novatiqIdSystem.json +1 -1
  1355. package/metadata/modules/oguryBidAdapter.json +1 -1
  1356. package/metadata/modules/omsBidAdapter.json +1 -1
  1357. package/metadata/modules/onetagBidAdapter.json +1 -1
  1358. package/metadata/modules/openwebBidAdapter.json +1 -1
  1359. package/metadata/modules/openxBidAdapter.json +1 -1
  1360. package/metadata/modules/operaadsBidAdapter.json +1 -1
  1361. package/metadata/modules/optidigitalBidAdapter.json +1 -1
  1362. package/metadata/modules/optoutBidAdapter.json +1 -1
  1363. package/metadata/modules/orbidderBidAdapter.json +1 -1
  1364. package/metadata/modules/outbrainBidAdapter.json +1 -1
  1365. package/metadata/modules/ozoneBidAdapter.json +1 -1
  1366. package/metadata/modules/pairIdSystem.json +1 -1
  1367. package/metadata/modules/performaxBidAdapter.json +4 -5
  1368. package/metadata/modules/pgamsspBidAdapter.json +1 -1
  1369. package/metadata/modules/pixfutureBidAdapter.json +1 -1
  1370. package/metadata/modules/playdigoBidAdapter.json +1 -1
  1371. package/metadata/modules/prebid-core.json +2 -2
  1372. package/metadata/modules/precisoBidAdapter.json +1 -1
  1373. package/metadata/modules/prismaBidAdapter.json +1 -1
  1374. package/metadata/modules/programmaticXBidAdapter.json +1 -1
  1375. package/metadata/modules/proxistoreBidAdapter.json +1 -1
  1376. package/metadata/modules/publinkIdSystem.json +1 -1
  1377. package/metadata/modules/pubmaticBidAdapter.json +1 -1
  1378. package/metadata/modules/pubmaticIdSystem.json +1 -1
  1379. package/metadata/modules/pulsepointBidAdapter.json +1 -1
  1380. package/metadata/modules/pwbidBidAdapter.json +1 -1
  1381. package/metadata/modules/qtBidAdapter.json +1 -1
  1382. package/metadata/modules/quantcastBidAdapter.json +1 -1
  1383. package/metadata/modules/quantcastIdSystem.json +1 -1
  1384. package/metadata/modules/r2b2BidAdapter.json +1 -1
  1385. package/metadata/modules/raynRtdProvider.json +1 -1
  1386. package/metadata/modules/readpeakBidAdapter.json +1 -1
  1387. package/metadata/modules/relayBidAdapter.json +1 -1
  1388. package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
  1389. package/metadata/modules/resetdigitalBidAdapter.json +1 -1
  1390. package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
  1391. package/metadata/modules/retailspotBidAdapter.json +1 -1
  1392. package/metadata/modules/revcontentBidAdapter.json +7 -117
  1393. package/metadata/modules/rhythmoneBidAdapter.json +1 -1
  1394. package/metadata/modules/richaudienceBidAdapter.json +1 -1
  1395. package/metadata/modules/riseBidAdapter.json +2 -2
  1396. package/metadata/modules/rixengineBidAdapter.json +1 -1
  1397. package/metadata/modules/rtbhouseBidAdapter.json +1 -1
  1398. package/metadata/modules/rubiconBidAdapter.json +1 -1
  1399. package/metadata/modules/rumbleBidAdapter.json +13 -0
  1400. package/metadata/modules/scatteredBidAdapter.json +1 -1
  1401. package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
  1402. package/metadata/modules/seedtagBidAdapter.json +1 -1
  1403. package/metadata/modules/semantiqRtdProvider.json +1 -1
  1404. package/metadata/modules/setupadBidAdapter.json +1 -1
  1405. package/metadata/modules/sevioBidAdapter.json +18 -0
  1406. package/metadata/modules/sharedIdSystem.json +1 -1
  1407. package/metadata/modules/sharethroughBidAdapter.json +1 -1
  1408. package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
  1409. package/metadata/modules/silvermobBidAdapter.json +1 -1
  1410. package/metadata/modules/sirdataRtdProvider.json +1 -1
  1411. package/metadata/modules/slimcutBidAdapter.json +1 -1
  1412. package/metadata/modules/smaatoBidAdapter.json +1 -1
  1413. package/metadata/modules/smartadserverBidAdapter.json +1 -1
  1414. package/metadata/modules/smartxBidAdapter.json +1 -1
  1415. package/metadata/modules/smartyadsBidAdapter.json +1 -1
  1416. package/metadata/modules/smilewantedBidAdapter.json +1 -1
  1417. package/metadata/modules/snigelBidAdapter.json +1 -1
  1418. package/metadata/modules/sonaradsBidAdapter.json +1 -1
  1419. package/metadata/modules/sonobiBidAdapter.json +1 -1
  1420. package/metadata/modules/sovrnBidAdapter.json +4 -4
  1421. package/metadata/modules/sparteoBidAdapter.json +1 -1
  1422. package/metadata/modules/ssmasBidAdapter.json +1 -1
  1423. package/metadata/modules/sspBCBidAdapter.json +1 -1
  1424. package/metadata/modules/stackadaptBidAdapter.json +1 -1
  1425. package/metadata/modules/startioBidAdapter.json +1 -1
  1426. package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
  1427. package/metadata/modules/stvBidAdapter.json +1 -1
  1428. package/metadata/modules/sublimeBidAdapter.json +1 -1
  1429. package/metadata/modules/taboolaBidAdapter.json +1 -1
  1430. package/metadata/modules/taboolaIdSystem.json +1 -1
  1431. package/metadata/modules/tappxBidAdapter.json +1 -1
  1432. package/metadata/modules/targetVideoBidAdapter.json +1 -1
  1433. package/metadata/modules/teadsBidAdapter.json +1 -1
  1434. package/metadata/modules/teadsIdSystem.json +1 -1
  1435. package/metadata/modules/tealBidAdapter.json +1 -1
  1436. package/metadata/modules/themoneytizerBidAdapter.json +3 -8
  1437. package/metadata/modules/tncIdSystem.json +1 -1
  1438. package/metadata/modules/topicsFpdModule.json +1 -1
  1439. package/metadata/modules/tripleliftBidAdapter.json +1 -1
  1440. package/metadata/modules/ttdBidAdapter.json +1 -1
  1441. package/metadata/modules/twistDigitalBidAdapter.json +1 -1
  1442. package/metadata/modules/underdogmediaBidAdapter.json +1 -1
  1443. package/metadata/modules/undertoneBidAdapter.json +1 -1
  1444. package/metadata/modules/unifiedIdSystem.json +1 -1
  1445. package/metadata/modules/unrulyBidAdapter.json +1 -1
  1446. package/metadata/modules/userId.json +1 -1
  1447. package/metadata/modules/validationFpdModule.json +1 -1
  1448. package/metadata/modules/vidazooBidAdapter.json +1 -1
  1449. package/metadata/modules/vidoomyBidAdapter.json +1 -1
  1450. package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
  1451. package/metadata/modules/viouslyBidAdapter.json +1 -1
  1452. package/metadata/modules/visxBidAdapter.json +1 -1
  1453. package/metadata/modules/vlybyBidAdapter.json +1 -1
  1454. package/metadata/modules/voxBidAdapter.json +1 -1
  1455. package/metadata/modules/vrtcalBidAdapter.json +1 -1
  1456. package/metadata/modules/vuukleBidAdapter.json +1 -1
  1457. package/metadata/modules/weboramaRtdProvider.json +1 -1
  1458. package/metadata/modules/welectBidAdapter.json +1 -1
  1459. package/metadata/modules/yahooAdsBidAdapter.json +1 -1
  1460. package/metadata/modules/yieldlabBidAdapter.json +1 -1
  1461. package/metadata/modules/yieldliftBidAdapter.json +1 -1
  1462. package/metadata/modules/yieldloveBidAdapter.json +1 -1
  1463. package/metadata/modules/yieldmoBidAdapter.json +1 -1
  1464. package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
  1465. package/metadata/modules/zeta_globalBidAdapter.json +1 -1
  1466. package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
  1467. package/metadata/modules.json +23 -2
  1468. package/modules/1plusXRtdProvider.js +6 -2
  1469. package/modules/adWMGBidAdapter.js +8 -8
  1470. package/modules/admixerBidAdapter.js +9 -4
  1471. package/modules/adspiritBidAdapter.js +8 -8
  1472. package/modules/adtrgtmeBidAdapter.js +2 -2
  1473. package/modules/adxcgBidAdapter.js +2 -36
  1474. package/modules/amxBidAdapter.js +3 -3
  1475. package/modules/chromeAiRtdProvider.js +5 -5
  1476. package/modules/consentManagementGpp.ts +11 -11
  1477. package/modules/consentManagementTcf.ts +33 -33
  1478. package/modules/consentManagementUsp.ts +14 -14
  1479. package/modules/currency.ts +59 -59
  1480. package/modules/cwireBidAdapter.js +2 -2
  1481. package/modules/dailymotionBidAdapter.js +4 -4
  1482. package/modules/dchain.ts +4 -4
  1483. package/modules/dspxBidAdapter.js +8 -8
  1484. package/modules/eightPodBidAdapter.js +8 -8
  1485. package/modules/genericAnalyticsAdapter.ts +50 -50
  1486. package/modules/geolocationRtdProvider.ts +48 -48
  1487. package/modules/getintentBidAdapter.js +4 -2
  1488. package/modules/gmosspBidAdapter.js +1 -1
  1489. package/modules/gppControl_usstates.ts +40 -40
  1490. package/modules/gptPreAuction.ts +34 -34
  1491. package/modules/iasRtdProvider.js +87 -5
  1492. package/modules/intentIqAnalyticsAdapter.js +8 -8
  1493. package/modules/intentIqIdSystem.js +2 -2
  1494. package/modules/jwplayerRtdProvider.js +6 -2
  1495. package/modules/jwplayerVideoProvider.js +13 -9
  1496. package/modules/kubientBidAdapter.js +0 -1
  1497. package/modules/medianetAnalyticsAdapter.js +5 -5
  1498. package/modules/medianetBidAdapter.js +5 -1
  1499. package/modules/michaoBidAdapter.ts +7 -7
  1500. package/modules/multibid/index.ts +31 -31
  1501. package/modules/nexverseBidAdapter.js +1 -1
  1502. package/modules/nodalsAiRtdProvider.js +4 -2
  1503. package/modules/onetagBidAdapter.js +12 -12
  1504. package/modules/openxBidAdapter.js +6 -1
  1505. package/modules/prebidServerBidAdapter/index.ts +130 -130
  1506. package/modules/priceFloors.ts +131 -131
  1507. package/modules/pubmaticBidAdapter.js +21 -1
  1508. package/modules/pubmaticRtdProvider.js +143 -143
  1509. package/modules/pulsepointBidAdapter.js +3 -38
  1510. package/modules/readpeakBidAdapter.js +17 -17
  1511. package/modules/rtdModule/index.ts +8 -8
  1512. package/modules/rtdModule/spec.ts +30 -30
  1513. package/modules/rubiconBidAdapter.js +5 -1
  1514. package/modules/rumbleBidAdapter.js +128 -0
  1515. package/modules/rumbleBidAdapter.md +114 -0
  1516. package/modules/schain.ts +4 -4
  1517. package/modules/sevioBidAdapter.js +262 -0
  1518. package/modules/sevioBidAdapter.md +29 -0
  1519. package/modules/sharedIdSystem.ts +29 -29
  1520. package/modules/storageControl.ts +72 -72
  1521. package/modules/tcfControl.ts +60 -60
  1522. package/modules/themoneytizerBidAdapter.js +2 -4
  1523. package/modules/ttdBidAdapter.js +11 -1
  1524. package/modules/ttdBidAdapter.md +3 -1
  1525. package/modules/userId/index.ts +129 -119
  1526. package/modules/userId/spec.ts +136 -136
  1527. package/modules/validationFpdModule/index.ts +4 -4
  1528. package/modules/videoModule/index.ts +37 -37
  1529. package/modules/weboramaRtdProvider.js +30 -11
  1530. package/modules/welectBidAdapter.js +3 -3
  1531. package/modules/yandexBidAdapter.js +67 -24
  1532. package/package.json +2 -3
  1533. package/src/activities/params.js +6 -0
  1534. package/src/activities/redactor.ts +8 -8
  1535. package/src/adRendering.ts +61 -61
  1536. package/src/adUnits.ts +100 -100
  1537. package/src/adapterManager.ts +605 -605
  1538. package/src/adapters/bidderFactory.ts +99 -99
  1539. package/src/ajax.ts +39 -39
  1540. package/src/auction.ts +217 -217
  1541. package/src/banner.ts +28 -28
  1542. package/src/bidTTL.ts +16 -16
  1543. package/src/bidderSettings.ts +46 -46
  1544. package/src/bidfactory.ts +107 -107
  1545. package/src/config.ts +65 -65
  1546. package/src/consentHandler.ts +25 -25
  1547. package/src/constants.ts +14 -14
  1548. package/src/cpmBucketManager.ts +7 -7
  1549. package/src/events.ts +75 -75
  1550. package/src/fpd/enrichment.ts +8 -8
  1551. package/src/hook.ts +14 -14
  1552. package/src/mediaTypes.ts +16 -16
  1553. package/src/native.ts +62 -62
  1554. package/src/prebid.ts +362 -362
  1555. package/src/prebidGlobal.ts +18 -18
  1556. package/src/refererDetection.ts +54 -54
  1557. package/src/storageManager.ts +76 -73
  1558. package/src/targeting.ts +215 -215
  1559. package/src/types/common.d.ts +29 -29
  1560. package/src/types/local/buildOptions.d.ts +3 -3
  1561. package/src/types/local/shim.d.ts +6 -6
  1562. package/src/types/objects.d.ts +15 -15
  1563. package/src/types/ortb/common.d.ts +1 -1
  1564. package/src/types/ortb/ext/dchain.d.ts +69 -69
  1565. package/src/types/ortb/ext/dsa.d.ts +50 -50
  1566. package/src/types/ortb/request.d.ts +21 -21
  1567. package/src/types/ortb/response.d.ts +6 -6
  1568. package/src/userSync.ts +32 -32
  1569. package/src/utils/objects.ts +11 -11
  1570. package/src/utils/perfMetrics.ts +193 -193
  1571. package/src/utils/promise.ts +14 -14
  1572. package/src/utils/ttlCollection.ts +25 -25
  1573. package/src/video.ts +73 -73
  1574. package/src/videoCache.ts +60 -60
  1575. package/test/helpers/index_adapter_utils.js +1 -2
  1576. package/test/helpers/refererDetectionHelper.js +2 -2
  1577. package/test/mocks/timers.js +12 -9
  1578. package/test/spec/adloader_spec.js +13 -13
  1579. package/test/spec/config_spec.js +9 -3
  1580. package/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
  1581. package/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
  1582. package/test/spec/modules/adgridBidAdapter_spec.js +6 -6
  1583. package/test/spec/modules/adkernelAdnBidAdapter_spec.js +127 -127
  1584. package/test/spec/modules/adkernelBidAdapter_spec.js +308 -308
  1585. package/test/spec/modules/admediaBidAdapter_spec.js +34 -34
  1586. package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -7
  1587. package/test/spec/modules/adspiritBidAdapter_spec.js +1 -1
  1588. package/test/spec/modules/adtrgtmeBidAdapter_spec.js +3 -3
  1589. package/test/spec/modules/adtrueBidAdapter_spec.js +19 -19
  1590. package/test/spec/modules/advertisingBidAdapter_spec.js +2 -2
  1591. package/test/spec/modules/bidmaticBidAdapter_spec.js +2 -2
  1592. package/test/spec/modules/datablocksBidAdapter_spec.js +115 -115
  1593. package/test/spec/modules/deepintentBidAdapter_spec.js +51 -51
  1594. package/test/spec/modules/dexertoBidAdapter_spec.js +16 -16
  1595. package/test/spec/modules/dochaseBidAdapter_spec.js +17 -17
  1596. package/test/spec/modules/dspxBidAdapter_spec.js +23 -23
  1597. package/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js +17 -17
  1598. package/test/spec/modules/enrichmentLiftMeasurement_spec.js +8 -8
  1599. package/test/spec/modules/equativBidAdapter_spec.js +1 -1
  1600. package/test/spec/modules/finativeBidAdapter_spec.js +11 -11
  1601. package/test/spec/modules/ftrackIdSystem_spec.js +16 -16
  1602. package/test/spec/modules/fwsspBidAdapter_spec.js +5 -5
  1603. package/test/spec/modules/hypelabBidAdapter_spec.js +9 -9
  1604. package/test/spec/modules/iasRtdProvider_spec.js +89 -8
  1605. package/test/spec/modules/intentIqIdSystem_spec.js +3 -3
  1606. package/test/spec/modules/invibesBidAdapter_spec.js +2 -2
  1607. package/test/spec/modules/kargoBidAdapter_spec.js +7 -7
  1608. package/test/spec/modules/lane4BidAdapter_spec.js +17 -17
  1609. package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +37 -37
  1610. package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
  1611. package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
  1612. package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
  1613. package/test/spec/modules/liveIntentRtdProvider_spec.js +2 -2
  1614. package/test/spec/modules/mediaeyesBidAdapter_spec.js +166 -166
  1615. package/test/spec/modules/mediagoBidAdapter_spec.js +1 -1
  1616. package/test/spec/modules/medianetBidAdapter_spec.js +1724 -1707
  1617. package/test/spec/modules/mediasquareBidAdapter_spec.js +7 -7
  1618. package/test/spec/modules/nexx360BidAdapter_spec.js +6 -6
  1619. package/test/spec/modules/nobidBidAdapter_spec.js +16 -16
  1620. package/test/spec/modules/onetagBidAdapter_spec.js +47 -47
  1621. package/test/spec/modules/openxBidAdapter_spec.js +129 -0
  1622. package/test/spec/modules/optoutBidAdapter_spec.js +1 -1
  1623. package/test/spec/modules/orbitsoftBidAdapter_spec.js +85 -85
  1624. package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +1 -1
  1625. package/test/spec/modules/ozoneBidAdapter_spec.js +439 -439
  1626. package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -2
  1627. package/test/spec/modules/prismaBidAdapter_spec.js +6 -6
  1628. package/test/spec/modules/pubmaticBidAdapter_spec.js +73 -3
  1629. package/test/spec/modules/pubmaticRtdProvider_spec.js +1389 -1389
  1630. package/test/spec/modules/pwbidBidAdapter_spec.js +25 -25
  1631. package/test/spec/modules/relevadRtdProvider_spec.js +1 -1
  1632. package/test/spec/modules/relevatehealthBidAdapter_spec.js +16 -16
  1633. package/test/spec/modules/richaudienceBidAdapter_spec.js +10 -10
  1634. package/test/spec/modules/rubiconBidAdapter_spec.js +7 -7
  1635. package/test/spec/modules/rumbleBidAdapter_spec.js +125 -0
  1636. package/test/spec/modules/sevioBidAdapter_spec.js +209 -0
  1637. package/test/spec/modules/smaatoBidAdapter_spec.js +30 -30
  1638. package/test/spec/modules/smarticoBidAdapter_spec.js +10 -10
  1639. package/test/spec/modules/stvBidAdapter_spec.js +32 -32
  1640. package/test/spec/modules/tapnativeBidAdapter_spec.js +17 -17
  1641. package/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -6
  1642. package/test/spec/modules/ttdBidAdapter_spec.js +27 -2
  1643. package/test/spec/modules/uid2IdSystem_spec.js +3 -3
  1644. package/test/spec/modules/userId_spec.js +41 -7
  1645. package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1953 -154
  1646. package/test/spec/modules/yandexBidAdapter_spec.js +128 -0
  1647. package/test/spec/refererDetection_spec.js +11 -11
  1648. package/test/spec/unit/core/storageManager_spec.js +20 -1
  1649. package/test/spec/unit/core/targeting_spec.js +8 -8
  1650. package/test/spec/utils_spec.js +25 -25
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see debugging-standalone.js.LICENSE.txt */
2
- (()=>{var e={481:e=>{o.SYNC=1,o.ASYNC=2,o.QUEUE=4;var t="fun-hooks",n=Object.freeze({ready:0}),i=new WeakMap;function r(e,t){return Array.prototype.slice.call(e,t)}function o(e){var s,a={},d=[];function c(e,t){return"function"==typeof e?p.call(null,"sync",e,t):"string"==typeof e&&"function"==typeof t?p.apply(null,arguments):"object"==typeof e?l.apply(null,arguments):void 0}function l(e,t,n){var i=!0;void 0===t&&(t=Object.getOwnPropertyNames(e).filter((e=>!e.match(/^_/))),i=!1);var r={},o=["constructor"];do{t.forEach((function(t){var i=t.match(/(?:(sync|async):)?(.+)/),s=i[1]||"sync",a=i[2];if(!r[a]&&"function"==typeof e[a]&&-1===o.indexOf(a)){var d=e[a];r[a]=e[a]=p(s,d,n?[n,a]:void 0)}})),e=Object.getPrototypeOf(e)}while(i&&e);return r}function u(e){var n=Array.isArray(e)?e:e.split(".");return n.reduce((function(i,r,o){var a=i[r],c=!1;return a||(o===n.length-1?(s||d.push((function(){c||console.warn(t+": referenced '"+e+"' but it was never created")})),i[r]=f((function(e){i[r]=e,c=!0}))):i[r]={})}),a)}function f(e){var t=[],n=[],r=function(){},o={before:function(e,n){return a.call(this,t,"before",e,n)},after:function(e,t){return a.call(this,n,"after",e,t)},getHooks:function(e){var i=t.concat(n);"object"==typeof e&&(i=i.filter((function(t){return Object.keys(e).every((function(n){return t[n]===e[n]}))})));try{Object.assign(i,{remove:function(){return i.forEach((function(e){e.remove()})),this}})}catch(e){console.error("error adding `remove` to array, did you modify Array.prototype?")}return i},removeAll:function(){return this.getHooks().remove()}},s={install:function(i,o,s){this.type=i,r=s,s(t,n),e&&e(o)}};return i.set(o.after,s),o;function a(e,i,o,s){var a={hook:o,type:i,priority:s||10,remove:function(){var i=e.indexOf(a);-1!==i&&(e.splice(i,1),r(t,n))}};return e.push(a),e.sort((function(e,t){return t.priority-e.priority})),r(t,n),this}}function p(n,a,c){var l=a.after&&i.get(a.after);if(l){if(l.type!==n)throw t+": recreated hookable with different type";return a}var p,g=c?u(c):f(),h={get:function(e,t){return g[t]||Reflect.get.apply(Reflect,arguments)}};s||d.push(b);var m=new Proxy(a,h);return i.get(m.after).install(n,m,(function(e,t){var i,o=[];function s(e){o.push(e.hook)}e.length||t.length?(e.forEach(s),i=o.push(void 0)-1,t.forEach(s),p=function(e,t,s){var a,d=o.slice(),c=0,l="async"===n&&"function"==typeof s[s.length-1]&&s.pop();function u(e){"sync"===n?a=e:l&&l.apply(null,arguments)}function f(e){if(d[c]){var i=r(arguments);return f.bail=u,i.unshift(f),d[c++].apply(t,i)}"sync"===n?a=e:l&&l.apply(null,arguments)}return d[i]=function(){var i=r(arguments,1);"async"===n&&l&&(delete f.bail,i.push(f));var o=e.apply(t,i);"sync"===n&&f(o)},f.apply(null,s),a}):p=void 0,b()})),m;function b(){!s&&("sync"!==n||e.ready&o.SYNC)&&("async"!==n||e.ready&o.ASYNC)?"sync"!==n&&e.ready&o.QUEUE?h.apply=function(){var e=arguments;d.push((function(){m.apply(e[1],e[2])}))}:h.apply=function(){throw t+": hooked function not ready"}:h.apply=p}}return(e=Object.assign({},n,e)).ready?c.ready=function(){s=!0,function(e){for(var t;t=e.shift();)t()}(d)}:s=!0,c.get=u,c}e.exports=o}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";function e(t){var n,i,r;if(Array.isArray(t)){for(i=Array(n=t.length);n--;)i[n]=(r=t[n])&&"object"==typeof r?e(r):r;return i}if("[object Object]"===Object.prototype.toString.call(t)){for(n in i={},t)"__proto__"===n?Object.defineProperty(i,n,{value:e(t[n]),configurable:!0,enumerable:!0,writable:!0}):i[n]=(r=t[n])&&"object"==typeof r?e(r):r;return i}return t}function t(t){return e(t)||{}}const i="String",r="Function",o="Number",s="Object",a="Boolean",d=Object.prototype.toString;function c(e,t){return d.call(e)==="[object "+t+"]"}function l(e){return c(e,r)}function u(e){return c(e,i)}const f=Array.isArray.bind(Array);function p(e){return c(e,o)}function g(e){return c(e,s)}function h(e){return c(e,a)}const m=Number.isInteger.bind(Number);function b(e,t){return f(e)&&(!t||e.length===t)&&e.every((e=>m(e)))}const y=2,v={buckets:[{max:5,increment:.5}]},w={buckets:[{max:20,increment:.1}]},E={buckets:[{max:20,increment:.01}]},A={buckets:[{max:3,increment:.01},{max:8,increment:.05},{max:20,increment:.5}]},C={buckets:[{max:5,increment:.05},{max:10,increment:.1},{max:20,increment:.5}]};function T(e,t,n){let i="";if(!B(t))return i;const r=t.buckets.reduce(((e,t)=>e.max>t.max?e:t),{max:0});let o=0;const s=t.buckets.find((t=>{if(e>r.max*n){let e=t.precision;void 0===e&&(e=y),i=(t.max*n).toFixed(e)}else{if(e<=t.max*n&&e>=o*n)return t.min=o,t;o=t.max}}));return s&&(i=I(e,s,n)),i}function B(e){if(Be(e)||!e.buckets||!Array.isArray(e.buckets))return!1;let t=!0;return e.buckets.forEach((e=>{e.max&&e.increment||(t=!1)})),t}function I(e,t,n){const i=void 0!==t.precision?t.precision:y,r=t.increment*n,o=t.min*n;let s=Math.floor;const a=J.getConfig("cpmRoundingFunction");"function"==typeof a&&(s=a);const d=Math.pow(10,i+2),c=(e*d-o*d)/(r*d);let l,u;try{l=s(c)*r+o}catch(e){u=!0}return(u||"number"!=typeof l)&&(we("Invalid rounding function passed in config"),l=Math.floor(c)*r+o),l=Number(l.toFixed(10)),l.toFixed(i)}function R(e,t,n,i,r){for(t=t.split?t.split("."):t,i=0;i<t.length;i++)e=e?e[t[i]]:r;return e===r?n:e}const S={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"},k="pbjs_debug",O={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",BEFORE_PBS_HTTP:"beforePBSHttp",BROWSI_INIT:"browsiInit",BROWSI_DATA:"browsiData"},D={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={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"},_="s2s",x="Bid has missing or invalid properties",q="Invalid request ID",j="Bidder code is not allowed by allowedAlternateBidderCodes / allowUnknownBidderCodes",N="Bid price exceeds maximum value",$={body:"desc",body2:"desc2",sponsoredBy:"sponsored",cta:"ctatext",rating:"rating",address:"address",downloads:"downloads",likes:"likes",phone:"phone",price:"price",salePrice:"saleprice",displayUrl:"displayurl"},P={sponsored:1,desc:2,rating:3,likes:4,downloads:5,price:6,saleprice:7,phone:8,address:9,desc2:10,displayurl:11,ctatext:12},M={ICON:1,MAIN:3},W=["privacyIcon","clickUrl","adTemplate","rendererUrl","type"],L="TRUE"===Te(k).toUpperCase(),G={},F="random",H={};H[F]=!0,H.fixed=!0;const V=F,z={LOW:"low",MEDIUM:"medium",HIGH:"high",AUTO:"auto",DENSE:"dense",CUSTOM:"custom"};function K(e){const t=arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?{}:{priceGranularity:z.MEDIUM,customPriceBucket:{},mediaTypePriceGranularity:{},bidderSequence:V,auctionOptions:{}};function n(e){return t[e]}function i(n,i){t.hasOwnProperty(n)||Object.defineProperty(e,n,{enumerable:!0}),t[n]=i}const r={publisherDomain:{set(e){null!=e&&we("publisherDomain is deprecated and has no effect since v7 - use pageUrl instead"),i("publisherDomain",e)}},priceGranularity:{set(e){s(e)&&("string"==typeof e?i("priceGranularity",o(e)?e:z.MEDIUM):g(e)&&(i("customPriceBucket",e),i("priceGranularity",z.CUSTOM),ye("Using custom price granularity")))}},customPriceBucket:{},mediaTypePriceGranularity:{set(e){null!=e&&i("mediaTypePriceGranularity",Object.keys(e).reduce(((t,i)=>(s(e[i])?"string"==typeof e?t[i]=o(e[i])?e[i]:n("priceGranularity"):g(e)&&(t[i]=e[i],ye(`Using custom price granularity for ${i}`)):we(`Invalid price granularity for media type: ${i}`),t)),{}))}},bidderSequence:{set(e){H[e]?i("bidderSequence",e):we(`Invalid order: ${e}. Bidder Sequence was not set.`)}},auctionOptions:{set(e){(function(e){if(!g(e))return we("Auction Options must be an object"),!1;for(const t of Object.keys(e)){if("secondaryBidders"!==t&&"suppressStaleRender"!==t&&"suppressExpiredRender"!==t)return we(`Auction Options given an incorrect param: ${t}`),!1;if("secondaryBidders"===t){if(!f(e[t]))return we(`Auction Options ${t} must be of type Array`),!1;if(!e[t].every(u))return we(`Auction Options ${t} must be only string`),!1}else if(("suppressStaleRender"===t||"suppressExpiredRender"===t)&&!h(e[t]))return we(`Auction Options ${t} must be of type boolean`),!1}return!0})(e)&&i("auctionOptions",e)}}};return Object.defineProperties(e,Object.fromEntries(Object.entries(r).map((e=>{let[r,o]=e;return[r,Object.assign({get:n.bind(null,r),set:i.bind(null,r),enumerable:t.hasOwnProperty(r),configurable:!t.hasOwnProperty(r)},o)]})))),e;function o(e){return Object.keys(z).find((t=>e===z[t]))}function s(e){if(!e)return Ee("Prebid Error: no value passed to `setPriceGranularity()`"),!1;if("string"==typeof e)o(e)||we("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if(g(e)&&!B(e))return Ee("Invalid custom price value passed to `setPriceGranularity()`"),!1;return!0}}const J=function(){const e=[];let n,i,r,o=null;function s(){n={};const e=K({debug:L,bidderTimeout:3e3,enableSendAllBids:!0,useBidCache:!1,deviceAccess:!0,disableAjaxTimeout:!1,maxNestedIframes:10,maxBid:5e3,userSync:{topics:G}});i&&p(Object.keys(i).reduce(((t,n)=>(i[n]!==e[n]&&(t[n]=e[n]||{}),t)),{})),i=e,r={}}function a(){if(o&&r&&g(r[o])){const e=r[o],t=new Set([...Object.keys(i),...Object.keys(e)]),n={};for(const r of t){const t=i[r],o=e[r];n[r]=void 0===o?t:void 0===t?o:g(o)?Le({},t,o):o}return n}return{...i}}const[d,c]=[a,function(){const e=a();return Object.defineProperty(e,"ortb2",{get:function(){throw new Error("invalid access to 'orbt2' config - use request parameters instead")}}),e}].map((t=>function(){if(arguments.length<=1&&"function"!=typeof(arguments.length<=0?void 0:arguments[0])){const e=arguments.length<=0?void 0:arguments[0];return e?R(t(),e):a()}return function(t,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n;if("string"!=typeof t&&(r=t,t="*",i=n||{}),"function"!=typeof r)return void Ee("listener must be a function");const o={topic:t,callback:r};return e.push(o),i.init&&r("*"===t?c():{[t]:c(t)}),function(){e.splice(e.indexOf(o),1)}}(...arguments)})),[l,u]=[c,d].map((e=>function(){let n=e(...arguments);return n&&"object"==typeof n&&(n=t(n)),n}));function f(e){if(!g(e))return void Ee("setConfig options must be an object");const t=Object.keys(e),r={};t.forEach((t=>{let o=e[t];g(n[t])&&g(o)&&(o=Object.assign({},n[t],o));try{r[t]=i[t]=o}catch(e){we(`Cannot set config for property ${t} : `,e)}})),p(r)}function p(t){const n=Object.keys(t);e.filter((e=>n.includes(e.topic))).forEach((e=>{e.callback({[e.topic]:t[e.topic]})})),e.filter((e=>"*"===e.topic)).forEach((e=>e.callback(t)))}function h(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{!function(e){if(!g(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(!g(e.config))throw"setBidderConfig bidder options must contain a config object"}(e),e.bidders.forEach((n=>{r[n]||(r[n]=K({},!1)),Object.keys(e.config).forEach((i=>{const o=e.config[i],s=r[n][i];if(g(o)&&(null==s||g(s))){const e=t?Le:Object.assign;r[n][i]=e({},s||{},o)}else r[n][i]=o}))}))}catch(e){Ee(e)}}function m(e,t){o=e;try{return t()}finally{b()}}function b(){o=null}return s(),{getCurrentBidder:function(){return o},resetBidder:b,getConfig:c,getAnyConfig:d,readConfig:l,readAnyConfig:u,setConfig:f,mergeConfig:function(e){if(!g(e))return void Ee("mergeConfig input must be an object");const t=Le(a(),e);return f({...t}),t},setDefaults:function(e){g(n)?(Object.assign(n,e),Object.assign(i,e)):Ee("defaults must be an object")},resetConfig:s,runWithBidder:m,callbackWithBidder:function(e){return function(t){return function(){if("function"==typeof t){for(var n=arguments.length,i=new Array(n),r=0;r<n;r++)i[r]=arguments[r];return m(e,t.bind(this,...i))}we("config.callbackWithBidder callback is not a function")}}},setBidderConfig:h,getBidderConfig:function(){return r},mergeBidderConfig:function(e){return h(e,!0)}}}(),Y=window,Q=Y.pbjs=Y.pbjs||{};function X(){return Q}Q.cmd=Q.cmd||[],Q.que=Q.que||[],Q.installedModules=Q.installedModules||[],Y===window&&(Y._pbjsGlobals=Y._pbjsGlobals||[],Y._pbjsGlobals.push("pbjs")),X().setTimeout??setTimeout;const Z=X().Promise??Promise;function ee(){let e,t,{promiseFactory:n=(e=>new Z(e))}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};function i(e){return t=>e(t)}return{promise:n(((n,i)=>{e=n,t=i})),resolve:i(e),reject:i(t)}}const te=Boolean(window.console),ne=Boolean(te&&window.console.log),ie=Boolean(te&&window.console.info),re=Boolean(te&&window.console.warn),oe=Boolean(te&&window.console.error);let se,ae;function de(){null!=se&&se(...arguments)}const ce={checkCookieSupport:je,createTrackPixelIframeHtml:function(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e?((!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(e=encodeURI(e)),t&&(t=`sandbox="${t}"`),`<iframe ${t} id="${fe()}"\n frameborder="0"\n allowtransparency="true"\n marginheight="0" marginwidth="0"\n width="0" hspace="0" vspace="0" height="0"\n style="height:0px;width:0px;display:none;"\n scrolling="no"\n src="${e}">\n </iframe>`):""},getWindowSelf:function(){return window.self},getWindowTop:function(){return window.top},canAccessWindowTop:be,getWindowLocation:me,insertUserSyncIframe:ke,insertElement:Ie,isFn:l,triggerPixel:Se,logError:Ee,logWarn:we,logMessage:ye,logInfo:ve,parseQS:Pe,formatQS:function(e){return Object.keys(e).map((t=>Array.isArray(e[t])?e[t].map((e=>`${t}[]=${e}`)).join("&"):`${t}=${e[t]}`)).join("&")},deepEqual:We,resetWinDimensions:function(){const e=be()?ce.getWindowTop():ce.getWindowSelf();ae={screen:{width:e.screen?.width,height:e.screen?.height,availWidth:e.screen?.availWidth,availHeight:e.screen?.availHeight,colorDepth:e.screen?.colorDepth},innerHeight:e.innerHeight,innerWidth:e.innerWidth,outerWidth:e.outerWidth,outerHeight:e.outerHeight,visualViewport:{height:e.visualViewport?.height,width:e.visualViewport?.width},document:{documentElement:{clientWidth:e.document?.documentElement?.clientWidth,clientHeight:e.document?.documentElement?.clientHeight,scrollTop:e.document?.documentElement?.scrollTop,scrollLeft:e.document?.documentElement?.scrollLeft},body:{scrollTop:document.body?.scrollTop,scrollLeft:document.body?.scrollLeft,clientWidth:document.body?.clientWidth,clientHeight:document.body?.clientHeight}}}}};var le,ue=(le=0,function(){return++le});function fe(){return ue()+Math.random().toString(16).substr(2)}function pe(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,pe)}function ge(e){return e[0]+"x"+e[1]}function he(e){return f(e)&&2===e.length&&!isNaN(e[0])&&!isNaN(e[1])}function me(){return window.location}function be(){try{if(ce.getWindowTop().location.href)return!0}catch(e){return!1}}function ye(){Ce()&&ne&&console.log.apply(console,Ae(arguments,"MESSAGE:"))}function ve(){Ce()&&ie&&console.info.apply(console,Ae(arguments,"INFO:"))}function we(){Ce()&&re&&console.warn.apply(console,Ae(arguments,"WARNING:")),de(O.AUCTION_DEBUG,{type:"WARNING",arguments})}function Ee(){Ce()&&oe&&console.error.apply(console,Ae(arguments,"ERROR:")),de(O.AUCTION_DEBUG,{type:"ERROR",arguments})}function Ae(e,t){e=[].slice.call(e);const n=J.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 Ce(){return!!J.getConfig("debug")}function Te(e){return Pe(me().search)[e]||""}function Be(e){return!e||(f(e)||u(e)?!(e.length>0):Object.keys(e).length<=0)}function Ie(e,t,n,i){let r;t=t||document,r=n?t.getElementsByTagName(n):t.getElementsByTagName("head");try{if(r=r.length?r:t.getElementsByTagName("body"),r.length){r=r[0];const t=i?null:r.firstChild;return r.insertBefore(e,t)}}catch(e){}}function Re(e,t){let n=null;return new Z((i=>{const r=function(){e.removeEventListener("load",r),e.removeEventListener("error",r),null!=n&&window.clearTimeout(n),i()};e.addEventListener("load",r),e.addEventListener("error",r),null!=t&&(n=window.setTimeout(r,t))}))}function Se(e,t,n){const i=new Image;t&&ce.isFn(t)&&Re(i,n).then(t),i.src=e}function ke(e,t,n){const i=ce.createTrackPixelIframeHtml(e,!1,"allow-scripts allow-same-origin"),r=document.createElement("div");r.innerHTML=i;const o=r.firstChild;t&&ce.isFn(t)&&Re(o,n).then(t),ce.insertElement(o,document,"html",!0)}function Oe(e,t,n){return n.indexOf(e)===t}function De(e,t){return e.concat(t)}function Ue(e){return e.map((e=>e.bids.map((e=>e.bidder)).reduce(De,[]))).reduce(De,[]).filter((e=>void 0!==e)).filter(Oe)}function _e(e){let t=e.length;for(;t>0;){const n=Math.floor(Math.random()*t);t--;const i=e[t];e[t]=e[n],e[n]=i}return e}function xe(){return(new Date).getTime()}function qe(){return!1!==J.getConfig("deviceAccess")}function je(){if(window.navigator.cookieEnabled||document.cookie.length)return!0}function Ne(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 $e(e,t,n){return e.filter((e=>e.code===t)).flatMap((e=>e.bids)).filter((e=>e.bidder===n)).map((e=>e.params||{}))}function Pe(e){return e?e.replace(/^\?/,"").split("&").reduce(((e,t)=>{let[n,i]=t.split("=");return/\[\]$/.test(n)?(n=n.replace("[]",""),e[n]=e[n]||[],e[n].push(i)):e[n]=i||"",e}),{}):{}}function Me(e,t){const n=document.createElement("a");t&&"noDecodeWholeURL"in t&&t.noDecodeWholeURL?n.href=e:n.href=decodeURIComponent(e);const i=t&&"decodeSearchAsString"in t&&t.decodeSearchAsString;return{href:n.href,protocol:(n.protocol||"").replace(/:$/,""),hostname:n.hostname,port:+n.port,pathname:n.pathname.replace(/^(?!\/)/,"/"),search:i?n.search:ce.parseQS(n.search||""),hash:(n.hash||"").replace(/^#/,""),host:n.host||window.location.host}}function We(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)return!1;const i=Array.isArray(e),r=Array.isArray(t);if(i&&r){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!We(e[i],t[i],{checkTypes:n}))return!1;return!0}if(i||r)return!1;if(n&&e.constructor!==t.constructor)return!1;const o=Object.keys(e),s=Object.keys(t);if(o.length!==s.length)return!1;for(const i of o){if(!Object.prototype.hasOwnProperty.call(t,i))return!1;if(!We(e[i],t[i],{checkTypes:n}))return!1}return!0}function Le(e){for(let t=0;t<(arguments.length<=1?0:arguments.length-1);t++){const n=t+1<1||arguments.length<=t+1?void 0:arguments[t+1];g(n)&&Ge(e,n)}return e}function Ge(e,t){if(!g(e)||!g(t))return;const n=Object.keys(t);for(let i=0;i<n.length;i++){const r=n[i];if("__proto__"===r||"constructor"===r)continue;const o=t[r];g(o)?(e[r]||(e[r]={}),Ge(e[r],o)):Array.isArray(o)?Array.isArray(e[r])?o.forEach((t=>{e[r].some((e=>We(e,t)))||e[r].push(t)})):e[r]=[...o]:e[r]=o}}function Fe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=function(e,t){if(l(Math.imul))return Math.imul(e,t);var n=(4194303&e)*(t|=0);return 4290772992&e&&(n+=(4290772992&e)*t|0),0|n};let i=3735928559^t,r=1103547991^t;for(let t,o=0;o<e.length;o++)t=e.charCodeAt(o),i=n(i^t,2654435761),r=n(r^t,1597334677);return i=n(i^i>>>16,2246822507)^n(r^r>>>13,3266489909),r=n(r^r>>>16,2246822507)^n(i^i>>>13,3266489909),(4294967296*(2097151&r)+(i>>>0)).toString()}function He(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e};const n=new Map,i=function(){const i=t.apply(this,arguments);return n.has(i)||n.set(i,e.apply(this,arguments)),n.get(i)};return i.clear=n.clear.bind(n),i}function Ve(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;for(const n in e){const i=e[n],r=typeof i;if(void 0===i||"function"===r||"symbol"===r||i instanceof RegExp||i instanceof Map||i instanceof Set||i instanceof Date||null!==i&&"object"===r&&i.hasOwnProperty("toJSON"))return!0;if(null!==i&&"object"===r&&i.constructor===Object){if(t.has(i))return!0;if(t.add(i),Ve(i,t))return!0}}return!1}const ze=function(){let e;return function(){if(void 0!==e)return e;try{void 0===window.CompressionStream?e=!1:(new window.CompressionStream("gzip"),e=!0)}catch(t){e=!1}return e}}(),Ke="native",Je="video",Ye="banner",Qe="accessDevice",Xe="syncUser",Ze="fetchBids",et="transmitEids",tt="transmitUfpd",nt="transmitPreciseGeo",it="transmitTid",rt="loadExternalScript",ot="accessRequestCredentials",st="prebid",at="bidder",dt="analytics";var ct=n(481),lt=n.n(ct);const ut=lt()({ready:lt().SYNC|lt().ASYNC|lt().QUEUE}),ft=ee();ut.ready=(()=>{const e=ut.ready;return function(){try{return e.apply(ut)}finally{ft.resolve()}}})(),ft.promise,ut.get;const pt="component",gt=pt+"Type",ht=pt+"Name",mt="adapterCode",bt="storageType",yt="configName",vt="syncType",wt="syncUrl",Et="_config";function At(e){return function(t,n,i){const r={[gt]:t,[ht]:n,[pt]:`${t}.${n}`};return t===at&&(r[mt]=e(n)),Ct(Object.assign(r,i))}}const Ct=ut("sync",(e=>e)),[Tt,Bt]=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){function t(e){return function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];e("Activity control:",...n)}}return{logError:t(Ee),logWarn:t(we),logMessage:t(ye),logInfo:t(ve)}}();const t={};function n(e){return t[e]=t[e]||[]}function i(t,n,i,r){let o;try{o=i(r)}catch(i){e.logError(`Exception in rule ${n} for '${t}'`,i),o={allow:!1,reason:i}}return o&&Object.assign({activity:t,name:n,component:r[pt]},o)}const r={};function o(t){let{activity:n,name:i,allow:o,reason:s,component:a}=t;const d=`${i} ${o?"allowed":"denied"} '${n}' for '${a}'${s?":":""}`,c=r.hasOwnProperty(d);if(c&&clearTimeout(r[d]),r[d]=setTimeout((()=>delete r[d]),1e3),!c){const t=[d];s&&t.push(s),(o?e.logInfo:e.logWarn).apply(e,t)}}return[function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;const o=n(e),s=o.findIndex((e=>{let[t]=e;return r<t})),a=[r,t,i];return o.splice(s<0?o.length:s,0,a),function(){const e=o.indexOf(a);e>=0&&o.splice(e,1)}},function(e,t){let r,s;for(const[a,d,c]of n(e)){if(r!==a&&s)break;r=a;const n=i(e,d,c,t);if(n){if(!n.allow)return o(n),!1;s=n}}return s&&o(s),!0}]}(),It={fetch:window.fetch.bind(window),makeRequest:(e,t)=>new Request(e,t),timeout(e,t){const n=new AbortController;let i=setTimeout((()=>{n.abort(),Ee(`Request timeout after ${e}ms`,t),i=null}),e);return{signal:n.signal,done(){i&&clearTimeout(i)}}}},Rt="GET",St="POST",kt="Content-Type",Ot=ut("async",(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;return e.withCredentials&&(e.withCredentials=t&&n?Bt(ot,xr(t,n)):qe()),e}),"processRequestOptions");function Dt(){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=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=(t,n)=>{let o;null==e||null!=n?.signal||J.getConfig("disableAjaxTimeout")||(o=It.timeout(e,t),n=Object.assign({signal:o.signal},n)),Ot(n,i,r);let s=It.fetch(t,n);return null!=o?.done&&(s=s.finally(o.done)),s};return null==t&&null==n||(s=o,o=function(e,i){const r=new URL(null==e?.url?e:e.url,document.location).origin;let o=s(e,i);return t&&t(r),n&&(o=o.finally((()=>n(r)))),o}),o;var s}function Ut(e,t){let n,{status:i,statusText:r="",headers:o,url:s}=e;function a(e){if(void 0===n)try{n=(new DOMParser).parseFromString(t,o?.get(kt)?.split(";")?.[0])}catch(t){n=null,e&&e(t)}return n}return{readyState:XMLHttpRequest.DONE,status:i,statusText:r,responseText:t,response:t,responseType:"",responseURL:s,get responseXML(){return a(Ee)},getResponseHeader:e=>o?.has(e)?o.get(e):null,toJSON(){return Object.assign({responseXML:a()},this)},timedOut:!1}}function _t(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3,{request:t,done:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=Dt(e,{request:t,done:n},arguments.length>2?arguments[2]:void 0,arguments.length>3?arguments[3]:void 0);return function(e,t,n){!function(e,t){const{success:n,error:i}="object"==typeof t&&null!=t?t:{success:"function"==typeof t?t:()=>null,error:(e,t)=>Ee("Network error",e,t)};e.then((e=>e.text().then((t=>[e,t])))).then((e=>{let[t,r]=e;const o=Ut(t,r);t.ok||304===t.status?n(r,o):i(t.statusText,o)}),(e=>i("",Object.assign(Ut({status:0},""),{reason:e,timedOut:"AbortError"===e?.name}))))}(i(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n.method||(t?St:Rt);if(i===Rt&&t){const i=Me(e,n);Object.assign(i.search,t),e=((r=i).protocol||"http")+"://"+(r.host||r.hostname+(r.port?`:${r.port}`:""))+(r.pathname||"")+(r.search?`?${ce.formatQS(r.search||"")}`:"")+(r.hash?`#${r.hash}`:"")}var r;const o=new Headers(n.customHeaders);o.set(kt,n.contentType||"text/plain");const s={method:i,headers:o};return i!==Rt&&t&&(s.body=t),n.withCredentials&&(s.credentials="include"),isSecureContext&&(["browsingTopics","adAuctionHeaders"].forEach((e=>{n[e]&&(s[e]=!0)})),null!=n.suppressTopicsEnrollmentWarning&&(s.suppressTopicsEnrollmentWarning=n.suppressTopicsEnrollmentWarning)),n.keepalive&&(s.keepalive=!0),It.makeRequest(e,s)}(e,n,arguments.length>3&&void 0!==arguments[3]?arguments[3]:{})),t)}}_t(),Dt();const xt=new Map;function qt(e){return e.vastXml?e.vastXml:`<VAST version="3.0">\n <Ad>\n <Wrapper>\n <AdSystem>prebid.org wrapper</AdSystem>\n <VASTAdTagURI><![CDATA[${e.vastUrl}]]></VASTAdTagURI>\n ${(t=(t=e.vastImpUrl)&&(Array.isArray(t)?t:[t]))?t.map((e=>`<Impression><![CDATA[${e}]]></Impression>`)).join(""):""}\n <Creatives></Creatives>\n </Wrapper>\n </Ad>\n </VAST>`;var t}const jt=(e,t,n)=>{e.videoCacheKey=n||pe(),e.vastUrl||(e.vastUrl=t)},Nt=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_t;const i={puts:e.map((e=>function(e){let{index:t=oi.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=qt(e),i=t.getAuction(e),r={type:"xml",value:n,ttlseconds:Number(e.ttl)+15};return J.getConfig("cache.vasttrack")&&(r.bidder=e.bidder,r.bidid=e.requestId,r.aid=e.auctionId),null!=i&&(r.timestamp=i.getAuctionStart()),"string"==typeof e.customCacheKey&&""!==e.customCacheKey&&(r.key=e.customCacheKey),r}(e)))};n(J.getConfig("cache.timeout"))(J.getConfig("cache.url"),function(e){return{success:function(t){let n;try{n=JSON.parse(t).responses}catch(t){return void e(t,[])}n?e(null,n):e(new Error("The cache server didn't respond with a responses property."),[])},error:function(t,n){e(new Error(`Error storing video ad in the cache: ${t}: ${JSON.stringify(n)}`),[])}}}(t),JSON.stringify(i),{contentType:"text/plain",withCredentials:!0})};function $t(e){const t=e.map((e=>e.bidResponse));Nt(t,(function(n,i){n?Ee(`Failed to save to the video cache: ${n}. Video bids will be discarded:`,t):e.length!==i.length?Ee(`expected ${e.length} cache IDs, got ${i.length} instead`):i.forEach(((t,n)=>{const{auctionInstance:i,bidResponse:r,afterBidAdded:o}=e[n];var s;""===t.uuid?we("Supplied video cache key was already in use by Prebid Cache; caching attempt was rejected. Video bid must be discarded."):(jt(r,(s=t.uuid,`${J.getConfig("cache.url")}?uuid=${s}`),t.uuid),Vn(i,r),o())}))}))}let Pt,Mt,Wt;J.getConfig("cache",(e=>{let{cache:t}=e;Pt="number"==typeof t.batchSize&&t.batchSize>0?t.batchSize:1,Mt="number"==typeof t.batchTimeout&&t.batchTimeout>0?t.batchTimeout:0,t.useLocal&&!Wt&&(Wt=oi.onExpiry((e=>{e.getBidsReceived().forEach((e=>{const t=xt.get(e.videoCacheKey);t&&t.startsWith("blob")&&URL.revokeObjectURL(t),xt.delete(e.videoCacheKey)}))})))}));const Lt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:setTimeout,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$t,n=[[]],i=!1;const r=e=>e();return function(o,s,a){const d=Mt>0?e:r;n[n.length-1].length>=Pt&&n.push([]),n[n.length-1].push({auctionInstance:o,bidResponse:s,afterBidAdded:a}),i||(i=!0,d((()=>{n.forEach(t),n=[[]],i=!1}),Mt))}}(),Gt=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),R(this.getSettings(),`${e}.${t}`)}getScopes(){return Object.keys(this.getSettings()).filter((e=>e!==this.defaultScope))}settingsFor(e){return Le({},this.ownSettingsFor(null),this.ownSettingsFor(e))}ownSettingsFor(e){return e=this.#e(e),this.getSettings()[e]||{}}#e(e){return null==e?this.defaultScope:e}}((()=>X().bidderSettings||{}),S.BD_SETTING_STANDARD),Ft="html5",Ht="cookie";let Vt=[];function zt(){if(!qe())return{allow:!1}}Tt(Qe,"deviceAccess config",zt),Tt(ot,"deviceAccess config",zt),Tt(Qe,"bidderSettings.*.storageAllowed",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gt;if(e[gt]!==at)return;let n=t.get(e[mt],"storageAllowed");if(n&&!0!==n){const t=e[bt];n=Array.isArray(n)?n.some((e=>e===t)):n===t}else n=!!n;return n?void 0:{allow:n}})),ut("sync",((e,t)=>{})),J.setDefaults({userSync:t({syncEnabled:!0,filterSettings:{image:{bidders:"*",filter:"include"}},syncsPerBidder:5,syncDelay:3e3,auctionDelay:500})});const Kt=function(){let{moduleName:e,moduleType:t,advertiseKeys:n=!0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{isAllowed:i=Bt}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};function r(r,o,s){let a=e;const d=J.getCurrentBidder();d&&t===at&&_r.aliasRegistry[d]===e&&(a=d);const c={[bt]:o};return n&&null!=s&&(c.storageKey=s),r({valid:i(Qe,xr(t,a,c))})}function o(e,t,n,i){if(!i||"function"!=typeof i)return r(e,t,n);Vt.push((function(){const o=r(e,t,n);i(o)}))}function s(e){const t=e.charAt(0).toUpperCase()+e.substring(1),n=()=>window[e],i=function(t){return o((function(t){if(t&&t.valid)try{return!!n()}catch(t){Ee(`${e} api disabled`)}return!1}),Ft,null,t)};return{[`has${t}`]:i,[`${e}IsEnabled`]:e=>o((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}),Ft,null,e),[`setDataIn${t}`]:(e,t,r)=>o((function(r){r&&r.valid&&i()&&n().setItem(e,t)}),Ft,e,r),[`getDataFrom${t}`]:(e,t)=>o((function(t){return t&&t.valid&&i()?n().getItem(e):null}),Ft,e,t),[`removeDataFrom${t}`]:(e,t)=>o((function(t){t&&t.valid&&i()&&n().removeItem(e)}),Ft,e,t)}}return{setCookie:function(e,t,n,i,r,s){return o((function(o){if(o&&o.valid){const o=r&&""!==r?` ;domain=${encodeURIComponent(r)}`:"",s=n&&""!==n?` ;expires=${n}`:"",a=null!=i&&"none"==i.toLowerCase()?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}${s}; path=/${o}${i?`; SameSite=${i}`:""}${a}`}}),Ht,e,s)},getCookie:function(e,t){return o((function(t){if(t&&t.valid){const t=window.document.cookie.match("(^|;)\\s*"+e+"\\s*=\\s*([^;]*)\\s*(;|$)");return t?decodeURIComponent(t[2]):null}return null}),Ht,e,t)},cookiesAreEnabled:function(e){return o((function(e){return!(!e||!e.valid)&&je()}),Ht,null,e)},...s("localStorage"),...s("sessionStorage"),findSimilarCookies:function(e,t){return o((function(t){if(t&&t.valid){const t=[];if(qe()){const n=document.cookie.split(";");for(;n.length;){const i=n.pop();let r=i.indexOf("=");r=r<0?i.length:r,decodeURIComponent(i.slice(0,r).replace(/^\s+/,"")).indexOf(e)>=0&&t.push(decodeURIComponent(i.slice(r+1)))}}return t}}),Ht,e,t)}}}({moduleName:"usersync",moduleType:st}),Jt=function(e){const t={};let n={image:[],iframe:[]};const i=new Set;let r={};const o={image:!0,iframe:!1};let s=e.config;function a(){if(s.syncEnabled&&e.browserSupportsCookies){try{o.iframe&&d(n.iframe,(e=>{const[t,i]=e;ye(`Invoking iframe user sync for bidder: ${t}`),ke(i),function(e,t){e.image=e.image.filter((e=>e[0]!==t))}(n,t)})),o.image&&d(n.image,(e=>{const[t,n]=e;ye(`Invoking image pixel user sync for bidder: ${t}`),Se(n)}))}catch(e){return Ee("Error firing user syncs",e)}n={image:[],iframe:[]}}}function d(e,t){_e(e).forEach(t)}return J.getConfig("userSync",(e=>{if(e.userSync){const t=e.userSync.filterSettings;g(t)&&(t.image||t.all||(e.userSync.filterSettings.image={bidders:"*",filter:"include"}))}s=Object.assign(s,e.userSync)})),e.regRule(Xe,"userSync config",(e=>{if(!s.syncEnabled)return{allow:!1,reason:"syncs are disabled"};if(e[gt]===at){const n=e[vt],i=e[ht];if(!t.canBidderRegisterSync(n,i))return{allow:!1,reason:`${n} syncs are not enabled for ${i}`}}})),t.registerSync=(t,o,a)=>i.has(o)?ye(`already fired syncs for "${o}", ignoring registerSync call`):s.syncEnabled&&f(n[t])?o?0!==s.syncsPerBidder&&Number(r[o])>=s.syncsPerBidder?we(`Number of user syncs exceeded for "${o}"`):void(e.isAllowed(Xe,xr(at,o,{[vt]:t,[wt]:a}))&&(n[t].push([o,a]),r=function(e,t){return e[t]?e[t]+=1:e[t]=1,e}(r,o))):we("Bidder is required for registering sync"):we(`User sync type "${t}" not supported`),t.bidderDone=i.add.bind(i),t.syncUsers=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(e)return setTimeout(a,Number(e));a()},t.triggerUserSyncs=()=>{s.enableOverride&&t.syncUsers()},t.canBidderRegisterSync=(e,t)=>!s.filterSettings||!function(e,t){const n=s.filterSettings;if(function(e,t){if(e.all&&e[t])return we(`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;const n=e.all?e.all:e[t],i=e.all?"all":t;if(!n)return!1;const r=n.filter,o=n.bidders;return r&&"include"!==r&&"exclude"!==r?(we(`UserSync "filterSettings.${i}.filter" setting '${r}' is not a valid option; use either 'include' or 'exclude'.`),!1):!!("*"===o||Array.isArray(o)&&o.length>0&&o.every((e=>u(e)&&"*"!==e)))||(we(`Detected an invalid setup in userSync "filterSettings.${i}.bidders"; use either '*' (to represent all bidders) or an array of bidders.`),!1)}(n,e)){o[e]=!0;const i=n.all?n.all:n[e],r="*"===i.bidders?[t]:i.bidders,s={include:(e,t)=>!e.includes(t),exclude:(e,t)=>e.includes(t)};return s[i.filter||"include"](r,t)}return!o[e]}(e,t),t}(Object.defineProperties({config:J.getConfig("userSync"),isAllowed:Bt,regRule:Tt},{browserSupportsCookies:{get:function(){return!/^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent)&&Kt.cookiesAreEnabled()}}})),Yt="outstream";new Map([["mimes",e=>Array.isArray(e)&&e.length>0&&e.every((e=>"string"==typeof e))],["minduration",m],["maxduration",m],["startdelay",m],["maxseq",m],["poddur",m],["protocols",b],["w",m],["h",m],["podid",u],["podseq",m],["rqddurs",b],["placement",m],["plcmt",m],["linearity",m],["skip",e=>[1,0].includes(e)],["skipmin",m],["skipafter",m],["sequence",m],["slotinpod",m],["mincpmpersec",p],["battr",b],["maxextended",m],["minbitrate",m],["maxbitrate",m],["boxingallowed",m],["playbackmethod",b],["playbackend",m],["delivery",b],["pos",m],["api",b],["companiontype",b],["poddedupe",b]]);const Qt=ut("sync",(function(e,t,n,i,r){if(n&&(r||i!==Yt)){const{url:t,useLocal:n}=J.getConfig("cache")||{};return t||n||!e.vastXml||e.vastUrl?!(!e.vastUrl&&!e.vastXml):(Ee('\n This bid contains only vastXml and will not work when a prebid cache url is not specified.\n Try enabling either prebid cache with pbjs.setConfig({ cache: {url: "..."} });\n or local cache with pbjs.setConfig({ cache: { useLocal: true }});\n '),!1)}return!(i===Yt&&!r&&!(e.renderer||t&&t.renderer||n.renderer))}),"checkVideoBidSetup");let Xt=null,Zt=0,en=[];function tn(e,t){const n=Zt;let i=setTimeout((()=>{Zt===n&&null==Xt?e():null!=Xt?en.push({callback:e,startTime:n,setTimerId(e){i=e}}):i=tn(e,Zt-n)()}),t);return()=>i}function nn(){let{startTime:e=xe,ttl:t=(()=>null),monotonic:n=!1,slack:i=5e3}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=new Map,o=[],s=[],a=n?e=>s.push(e):e=>s.splice(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e=>e,i=0,r=e.length&&e.length-1;const o=n(t);for(;r-i>1;){const t=i+Math.round((r-i)/2);o>n(e[t])?i=t:r=t}for(;e.length>i&&o>n(e[i]);)i++;return i}(s,e,(e=>e.expiry)),0,e);let d,c;function l(){if(c&&clearTimeout(c),s.length>0){const e=xe();d=Math.max(e,s[0].expiry+i),c=tn((()=>{const e=xe();let t=0;for(const n of s){if(n.expiry>e)break;o.forEach((e=>{try{e(n.item)}catch(e){Ee(e)}})),r.delete(n.item),t++}s.splice(0,t),c=null,l()}),d-e)}else c=null}let u={};return{[Symbol.iterator]:()=>r.keys(),add(n){!r.has(n)&&r.set(n,function(n){const r={},o=u;let s;const[f,p]=Object.entries({start:e,delta:t}).map((e=>{let t,[f,p]=e;return function(){const e=t={};Z.resolve(p(n)).then((n=>{e===t&&(r[f]=n,o===u&&null!=r.start&&null!=r.delta&&(s=r.start+r.delta,a(g),(null==c||d>s+i)&&l()))}))}})),g={item:n,refresh:p,get expiry(){return s}};return f(),p(),g}(n))},clear(){s.length=0,l(),r.clear(),u={}},toArray:()=>Array.from(r.keys()),refresh(){s.length=0,l();for(const e of r.values())e.refresh()},onExpiry:e=>(o.push(e),()=>{const t=o.indexOf(e);t>=0&&o.splice(t,1)})}}document.addEventListener("visibilitychange",(function(){document.hidden?Xt=Date.now():(Zt+=Date.now()-(Xt??0),Xt=null,en.forEach((e=>{let{callback:t,startTime:n,setTimerId:i}=e;return i(tn(t,Zt-n)())})),en=[])}));const rn="eventHistoryTTL";let on=null;const sn=nn({monotonic:!0,ttl:()=>on});J.getConfig(rn,(e=>{const t=on,n=e?.[rn];on="number"==typeof n?1e3*n:null,t!==on&&sn.refresh()}));let an=Object.values(O);const dn={bidWon:"adUnitCode"},cn=function(){const e={};function t(e){return an.includes(e)}return{has:t,on:function(n,i,r){if(t(n)){const t=e[n]||{que:[]};r?(t[r]=t[r]||{que:[]},t[r].que.push(i)):t.que.push(i),e[n]=t}else Ee("Wrong event name : "+n+" Valid event names :"+an)},emit:function(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];!function(t,n){ye("Emitting event for: "+t);const i=n[0]||{},r=i[dn[t]],o=e[t]||{que:[]};var s=Object.keys(o);const a=[];sn.add({eventType:t,args:i,id:r,elapsedTime:window.performance&&window.performance.now&&window.performance.now()||0}),r&&s.includes(r)&&a.push(...o[r].que),a.push(...o.que),(a||[]).forEach((function(e){if(e)try{e(...n)}catch(e){Ee("Error executing handler:","events.js",e,t)}}))}(t,i)},off:function(t,n,i){const r=e[t];Be(r)||Be(r.que)&&Be(r[i])||i&&(Be(r[i])||Be(r[i].que))||(i?(r[i].que||[]).forEach((function(e){const t=r[i].que;e===n&&t.splice(t.indexOf(e),1)})):(r.que||[]).forEach((function(e){const t=r.que;e===n&&t.splice(t.indexOf(e),1)})),e[t]=r)},get:function(){return e},addEvents:function(e){an=an.concat(e)},getEvents:function(){return sn.toArray().map((e=>Object.assign({},e)))}}}();var ln;ln=cn.emit.bind(cn),se=ln;const{on:un,off:fn,get:pn,getEvents:gn,emit:hn,addEvents:mn,has:bn}=cn,yn="performanceMetrics",vn=window.performance&&window.performance.now?()=>window.performance.now():()=>Date.now(),wn=new WeakMap;function En(e,t,n){return function(){t&&t();try{for(var i=arguments.length,r=new Array(i),o=0;o<i;o++)r[o]=arguments[o];return e.apply(this,r)}finally{n&&n()}}}function An(){let{now:e=vn,mkNode:t=Tn,mkTimer:n=Cn,mkRenamer:i=(e=>e),nodes:r=wn}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(){return function o(s){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>({forEach(t){t(e)}});a=i(a);const d=function(e){return s.dfWalk({visit(t,n){const i=n.timestamps;if(i.hasOwnProperty(e))return i[e]}})};function c(e,t){const n=a(e);s.dfWalk({follow:(e,t)=>t.propagate&&(!e||!e.stopPropagation),visit(e,i){n.forEach((n=>{null==e?i.metrics[n]=t:(i.groups.hasOwnProperty(n)||(i.groups[n]=[]),i.groups[n].push(t))}))}})}function l(t){return n(e,(e=>c(t,e)))}function u(){let e={};return s.dfWalk({visit(t,n){e=Object.assign({},!t||t.includeGroups?n.groups:null,n.metrics,e)}}),e}const f={startTiming:l,measureTime:function(e,t){return l(e).stopAfter(t)()},measureHookTime:function(e,t,n){const i=l(e);return n(function(e){const t=i.stopBefore(e);return t.bail=e.bail&&i.stopBefore(e.bail),t.stopTiming=i,t.untimed=e,t}(t))},checkpoint:function(t){s.timestamps[t]=e()},timeSince:function(t,n){const i=d(t),r=null!=i?e()-i:null;return null!=n&&c(n,r),r},timeBetween:function(e,t,n){const i=d(e),r=d(t),o=null!=i&&null!=r?r-i:null;return null!=n&&c(n,o),o},setMetric:c,getMetrics:u,fork:function(){let{propagate:e=!0,stopPropagation:n=!1,includeGroups:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return o(t([[s,{propagate:e,stopPropagation:n,includeGroups:i}]]),a)},join:function(e){let{propagate:t=!0,stopPropagation:n=!1,includeGroups:i=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=r.get(e);null!=o&&o.addParent(s,{propagate:t,stopPropagation:n,includeGroups:i})},newMetrics:function(){return o(s.newSibling(),a)},renameWith:function(e){return o(s,e)},toJSON:()=>u()};return r.set(f,s),f}(t([]))}}function Cn(e,t){const n=e();let i=!1;function r(){i||(t(e()-n),i=!0)}return r.stopBefore=e=>En(e,r),r.stopAfter=e=>En(e,null,r),r}function Tn(e){return{metrics:{},timestamps:{},groups:{},addParent(t,n){e.push([t,n])},newSibling:()=>Tn(e.slice()),dfWalk(){let t,{visit:n,follow:i=(()=>!0),visited:r=new Set,inEdge:o}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r.has(this)){if(r.add(this),t=n(o,this),null!=t)return t;for(const[s,a]of e)if(i(o,a)&&(t=s.dfWalk({visit:n,follow:i,visited:r,inEdge:a}),null!=t))return t}}}}const Bn=(()=>{const e=function(){},t=()=>({}),n={forEach:e},i=()=>null;i.stopBefore=e=>e,i.stopAfter=e=>e;const r=Object.defineProperties({dfWalk:e,newSibling:()=>r,addParent:e},Object.fromEntries(["metrics","timestamps","groups"].map((e=>[e,{get:t}]))));return An({now:()=>0,mkNode:()=>r,mkRenamer:()=>()=>n,mkTimer:()=>i,nodes:{get:e,set:e}})()})();let In=!0;function Rn(e){return In&&e||Bn}function Sn(e,t){return function(n,i){var r=this;return function(o){for(var s=arguments.length,a=new Array(s>1?s-1:0),d=1;d<s;d++)a[d-1]=arguments[d];return Rn(t.apply(r,a)).measureHookTime(e+n,o,(e=>i.call(r,e,...a)))}}}J.getConfig(yn,(e=>{In=!!e[yn]})),An(),Sn("requestBids.",(e=>e.metrics)),Sn("addBidResponse.",((e,t)=>t.metrics));const kn="minBidCacheTTL";let On=1,Dn=null;const Un=[];function _n(){return Dn}function xn(e){Un.push(e)}J.getConfig("ttlBuffer",(e=>{"number"==typeof e.ttlBuffer?On=e.ttlBuffer:Ee("Invalid value for ttlBuffer",e.ttlBuffer)})),J.getConfig(kn,(e=>{const t=Dn;Dn=e?.[kn],Dn="number"==typeof Dn?Dn:null,t!==Dn&&Un.forEach((e=>e(Dn)))}));const{syncUsers:qn}=Jt,jn="completed";un(O.BID_ADJUSTMENT,(function(e){!function(e){const t=function(e,t,n){let{index:i=oi.index,bs:r=Gt}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n=n||i.getBidRequest(t);const o=t?.adapterCode,s=t?.bidderCode||n?.bidder,a=r.get(t?.adapterCode,"adjustAlternateBids"),d=r.getOwn(s,"bidCpmAdjustment")||r.get(a?o:s,"bidCpmAdjustment");if(d&&"function"==typeof d)try{return d(e,Object.assign({},t),n)}catch(e){Ee("Error during bid adjustment",e)}return e}(e.cpm,e);t>=0&&(e.cpm=t)}(e)}));const Nn={},$n={},Pn=[],Mn=X();function Wn(e){let{adUnits:t,adUnitCodes:n,callback:i,cbTimeout:r,labels:o,auctionId:s,ortb2Fragments:a,metrics:d}=e;d=Rn(d);const c=t,l=o,u=n,f=s||pe(),p=r,g=new Set,h=ee(),m=ee();let b=[],y=i,B=[];const I=nn({startTime:e=>e.responseTimestamp,ttl:e=>null==_n()?null:1e3*Math.max(_n(),e.ttl)});let R,S,k,D,U=[],x=[],q=[];function j(){return{auctionId:f,timestamp:R,auctionEnd:S,auctionStatus:D,adUnits:c,adUnitCodes:u,labels:l,bidderRequests:B,noBids:U,bidsReceived:I.toArray(),bidsRejected:b,winningBids:x,timeout:p,metrics:d,seatNonBids:q}}function N(e){if(e?hn(O.AUCTION_TIMEOUT,j()):clearTimeout(k),void 0===S){let n=[];e&&(ye(`Auction ${f} timedOut`),n=B.filter((e=>!g.has(e.bidderRequestId))).flatMap((e=>e.bids)),n.length&&hn(O.BID_TIMEOUT,n)),D=jn,S=Date.now(),d.checkpoint("auctionEnd"),d.timeBetween("requestBids","auctionEnd","requestBids.total"),d.timeBetween("callBids","auctionEnd","requestBids.callBids"),h.resolve(),hn(O.AUCTION_END,j()),Hn(c,(function(){try{if(null!=y){const t=I.toArray().filter((e=>u.includes(e.adUnitCode))).reduce(ii,{});y.apply(Mn,[t,e,f]),y=null}}catch(e){Ee("Error executing bidsBackHandler",null,e)}finally{n.length&&_r.callTimedOutBidders(t,n,p);const e=J.getConfig("userSync")??{};e.enableOverride||qn(e.syncDelay)}}))}}function $(){J.resetBidder(),ve(`Bids Received for Auction with id: ${f}`,I.toArray()),D=jn,N(!1)}function P(e){g.add(e)}function W(e){e.forEach((e=>{var t;t=e,B=B.concat(t)}));const t={},n={bidRequests:e,run:()=>{k=setTimeout((()=>N(!0)),p),D="inProgress",hn(O.AUCTION_INIT,j());const n=function(e,t){let{index:n=oi.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=0,r=!1;const o=new Set,s={};function a(){i--,r&&0===i&&e()}function d(e,t,n){return s[t.requestId]=!0,function(e,t){let{index:n=oi.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n.getBidderRequest(e),r=n.getAdUnit(e),o=i&&i.start||e.requestTimestamp;Object.assign(e,{responseTimestamp:e.responseTimestamp||xe(),requestTimestamp:e.requestTimestamp||o,cpm:parseFloat(e.cpm)||0,bidder:e.bidder||e.bidderCode,adUnitCode:t}),null!=r?.ttlBuffer&&(e.ttlBuffer=r.ttlBuffer),e.timeToRespond=e.responseTimestamp-e.requestTimestamp}(t,e),i++,n(a)}function c(e,i){d(e,i,(e=>{const r=function(e){let{index:t=oi.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};hn(O.BID_ADJUSTMENT,e);const n=t.getAdUnit(e);e.instl=1===n?.ortb2Imp?.instl;const i=t.getBidRequest(e)?.renderer||n.renderer,r=e.mediaType,o=t.getMediaTypes(e),s=o&&o[r];var a=s&&s.renderer,d=null;!a||!a.render||!0===a.backupOnly&&e.renderer?!i||!i.render||!0===i.backupOnly&&e.renderer||(d=i):d=a,d&&(e.renderer=Pr.install({url:d.url,config:d.options,renderNow:null==d.url}),e.renderer.setRender(d.render));const c=Kn(e.mediaType,o,J.getConfig("mediaTypePriceGranularity")),l=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=parseFloat(e);return isNaN(i)&&(i=""),{low:""===i?"":T(e,v,n),med:""===i?"":T(e,w,n),high:""===i?"":T(e,E,n),auto:""===i?"":T(e,C,n),dense:""===i?"":T(e,A,n),custom:""===i?"":T(e,t,n)}}(e.cpm,"object"==typeof c?c:J.getConfig("customPriceBucket"),J.getConfig("currency.granularityMultiplier"));return e.pbLg=l.low,e.pbMg=l.med,e.pbHg=l.high,e.pbAg=l.auto,e.pbDg=l.dense,e.pbCg=l.custom,e}(i);hn(O.BID_ACCEPTED,r),r.mediaType===Je?function(e,t,n){let{index:i=oi.index}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=!0;const o=i.getMediaTypes({requestId:t.originalRequestId||t.requestId,adUnitId:t.adUnitId})?.video,s=o&&o?.context,a=o&&o?.useCacheKey,{useLocal:d,url:c,ignoreBidderCacheKey:l}=J.getConfig("cache")||{};d?(e=>{const t=qt(e),n=URL.createObjectURL(new Blob([t],{type:"text/xml"}));jt(e,n),xt.set(e.videoCacheKey,n)})(t):c&&(a||s!==Yt)&&(!t.videoCacheKey||l?(r=!1,zn(e,t,n,o)):t.vastUrl||(Ee("videoCacheKey specified but not required vastUrl for video bid"),r=!1)),r&&(Vn(e,t),n())}(t,r,e):(function(e){return null!=e.native&&"object"==typeof e.native}(r)&&function(e,t){const n=t?.nativeOrtbRequest,i=e.native?.ortb;if(n&&i){const t=function(e,t){const n={},i=t?.assets||[];n.clickUrl=e.link?.url,n.privacyLink=e.privacy;for(const t of e?.assets||[]){const e=i.find((e=>t.id===e.id));t.title?n.title=t.title.text:t.img?n[e?.img?.type===M.MAIN?"image":"icon"]={url:t.img.url,width:t.img.w,height:t.img.h}:t.data&&(n[ui[fi[e?.data?.type]]]=t.data.value)}n.impressionTrackers=[];let r=[];e.imptrackers&&n.impressionTrackers.push(...e.imptrackers);for(const t of e?.eventtrackers||[])t.event===di&&t.method===si&&n.impressionTrackers.push(t.url),t.event===di&&t.method===ai&&r.push(t.url);return r=r.map((e=>`<script async src="${e}"><\/script>`)),e?.jstracker&&r.push(e.jstracker),r.length&&(n.javascriptTrackers=r.join("\n")),n}(i,n);Object.assign(e.native,t)}["rendererUrl","adTemplate"].forEach((n=>{const i=t?.nativeParams?.[n];i&&(e.native[n]=hi(i))}))}(r,n.getAdUnit(r)),Vn(t,r),e())}))}function l(e,n,i){return d(e,n,(e=>{n.rejectionReason=i,we(`Bid from ${n.bidder||"unknown bidder"} was rejected: ${i}`,n),hn(O.BID_REJECTED,n),t.addBidRejected(n),e()}))}function u(){let n=t.getBidRequests();const a=J.getConfig("auctionOptions");if(o.add(this),a&&!Be(a)){const e=a.secondaryBidders;e&&!n.every((t=>e.includes(t.bidderCode)))&&(n=n.filter((t=>!e.includes(t.bidderCode))))}r=n.every((e=>o.has(e))),this.bids.forEach((e=>{s[e.bidId]||(t.addNoBid(e),hn(O.NO_BID,e))})),r&&0===i&&e()}return{addBidResponse:function(){function e(e,t){Ln.call({dispatch:c},e,t,(()=>{let n=!1;return i=>{n||(l(e,t,i),n=!0)}})())}return e.reject=l,e}(),adapterDone:function(){Gn(Z.resolve()).finally((()=>u.call(this)))}}}($,this);_r.callBids(c,e,n.addBidResponse,n.adapterDone,{request(e,n){r(Nn,n),r(t,e),$n[e]||($n[e]={SRA:!0,origin:n}),t[e]>1&&($n[e].SRA=!1)},done(e){Nn[e]--,Pn[0]&&i(Pn[0])&&Pn.shift()}},p,P,a),m.resolve()}};function i(e){let t=!0;const n=J.getConfig("maxRequestsPerOrigin")||4;return e.bidRequests.some((e=>{let i=1;const r=void 0!==e.src&&e.src===_?"s2s":e.bidderCode;return $n[r]&&(!1===$n[r].SRA&&(i=Math.min(e.bids.length,n)),Nn[$n[r].origin]+i>n&&(t=!1)),!t})),t&&e.run(),t}function r(e,t){void 0===e[t]?e[t]=1:e[t]++}i(n)||(we("queueing auction due to limited endpoint capacity"),Pn.push(n))}return xn((()=>I.refresh())),un(O.SEAT_NON_BID,(e=>{var t;e.auctionId===f&&(t=e.seatnonbid,q=q.concat(t))})),{addBidReceived:function(e){I.add(e)},addBidRejected:function(e){b=b.concat(e)},addNoBid:function(e){U=U.concat(e)},callBids:function(){D="started",R=Date.now();const e=d.measureTime("requestBids.makeRequests",(()=>_r.makeBidRequests(c,R,f,p,l,a,d)));ve(`Bids Requested for Auction with id: ${f}`,e),d.checkpoint("callBids"),e.length<1?(we("No valid bid requests returned for auction"),$()):Fn.call({dispatch:W,context:this},e)},addWinningBid:function(e){x=x.concat(e),_r.callBidWonBidder(e.adapterCode||e.bidder,e,t),e.deferBilling||_r.triggerBilling(e)},setBidTargeting:function(e){_r.callSetTargetingBidder(e.adapterCode||e.bidder,e)},getWinningBids:()=>x,getAuctionStart:()=>R,getAuctionEnd:()=>S,getTimeout:()=>p,getAuctionId:()=>f,getAuctionStatus:()=>D,getAdUnits:()=>c,getAdUnitCodes:()=>u,getBidRequests:()=>B,getBidsReceived:()=>I.toArray(),getNoBids:()=>U,getNonBids:()=>q,getFPD:()=>a,getMetrics:()=>d,end:h.promise,requestsDone:m.promise,getProperties:j}}const Ln=function(e){return function(e,t){return Object.defineProperties(t,Object.fromEntries(["before","after","getHooks","removeAll"].map((t=>[t,{get:()=>e[t]}])))),t}(e,(function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return n.push((function(){})),e.apply(this,n)}))}(ut("async",(function(e,t,n){!function(e){const t=J.getConfig("maxBid");return!t||!e.cpm||t>=Number(e.cpm)}(t)?n(N):this.dispatch.call(null,e,t)}),"addBidResponse")),Gn=ut("sync",(e=>e),"responsesReady"),Fn=ut("sync",(function(e){this.dispatch.call(this.context,e)}),"addBidderRequests"),Hn=ut("async",(function(e,t){t&&t()}),"bidsBackCallback");function Vn(e,t){!function(e){let t;const n=!0===Gt.get(e.bidderCode,"allowZeroCpmBids")?e.cpm>=0:e.cpm>0;e.bidderCode&&(n||e.dealId)&&(t=function(e,t){let{index:n=oi.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return{};const i=n.getBidRequest(t);var r={};return ni(r,ti(t.mediaType,e),t,i),e&&Gt.getOwn(e,S.ADSERVER_TARGETING)&&(ni(r,Gt.ownSettingsFor(e),t,i),t.sendStandardTargeting=Gt.get(e,"sendStandardTargeting")),r}(e.bidderCode,e)),e.adserverTargeting=Object.assign(e.adserverTargeting||{},t)}(t),Rn(t.metrics).timeSince("addBidResponse","addBidResponse.total"),e.addBidReceived(t),hn(O.BID_RESPONSE,t)}const zn=ut("async",(function(e,t,n,i){Lt(e,t,n)}),"callPrebidCache");function Kn(e,t,n){if(e&&n){if(e===Je){const e=t?.[Je]?.context??"instream";if(n[`${Je}-${e}`])return n[`${Je}-${e}`]}return n[e]}}const Jn=e=>t=>{const n=e||function(e){let{index:t=oi.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=Kn(e.mediaType,t.getMediaTypes(e),J.getConfig("mediaTypePriceGranularity"));return"string"==typeof e.mediaType&&n?"string"==typeof n?n:"custom":J.getConfig("priceGranularity")}(t);return"auto"===n?t.pbAg:"dense"===n?t.pbDg:"low"===n?t.pbLg:"medium"===n?t.pbMg:"high"===n?t.pbHg:"custom"===n?t.pbCg:void 0},Yn=()=>e=>e.creativeId?e.creativeId:"",Qn=()=>e=>e.meta&&e.meta.advertiserDomains&&e.meta.advertiserDomains.length>0?[e.meta.advertiserDomains].flat()[0]:"",Xn=()=>e=>e.meta&&(e.meta.networkId||e.meta.networkName)?e?.meta?.networkName||e?.meta?.networkId:"",Zn=()=>e=>{const t=e?.meta?.primaryCatId;return Array.isArray(t)?t[0]||"":t||""};function ei(e,t){return{key:e,val:"function"==typeof t?function(e,n){return t(e,n)}:function(e){return e[t]}}}function ti(e,t){const n=Object.assign({},Gt.settingsFor(null));if(n[S.ADSERVER_TARGETING]||(n[S.ADSERVER_TARGETING]=[ei(D.BIDDER,"bidderCode"),ei(D.AD_ID,"adId"),ei(D.PRICE_BUCKET,Jn()),ei(D.SIZE,"size"),ei(D.DEAL,"dealId"),ei(D.SOURCE,"source"),ei(D.FORMAT,"mediaType"),ei(D.ADOMAIN,Qn()),ei(D.ACAT,Zn()),ei(D.DSP,Xn()),ei(D.CRID,Yn())]),"video"===e){const e=n[S.ADSERVER_TARGETING].slice();if(n[S.ADSERVER_TARGETING]=e,[D.UUID,D.CACHE_ID].forEach((t=>{void 0===e.find((e=>e.key===t))&&e.push(ei(t,"videoCacheKey"))})),J.getConfig("cache.url")&&(!t||!1!==Gt.get(t,"sendStandardTargeting"))){const t=Me(J.getConfig("cache.url"));void 0===e.find((e=>e.key===D.CACHE_HOST))&&e.push(ei(D.CACHE_HOST,(function(e){return e?.adserverTargeting?.[D.CACHE_HOST]||t.hostname})))}}return n}function ni(e,t,n,i){var r=t[S.ADSERVER_TARGETING];return n.size=n.getSize(),(r||[]).forEach((function(r){var o,s=r.key,a=r.val;if(e[s]&&we("The key: "+s+" is being overwritten"),l(a))try{a=a(n,i)}catch(e){Ee("bidmanager","ERROR",e)}(void 0===t.suppressEmptyKeys||!0!==t.suppressEmptyKeys)&&s!==D.DEAL&&s!==D.ACAT&&s!==D.DSP&&s!==D.CRID||(!u(o=a)||o&&0!==o.length)&&null!=a?e[s]=a:ve("suppressing empty key '"+s+"' from adserver targeting")})),e}function ii(e,t){return e[t.adUnitCode]||(e[t.adUnitCode]={bids:[]}),e[t.adUnitCode].bids.push(t),e}function ri(e){Object.assign(this,{getAuction(t){let{auctionId:n}=t;if(null!=n)return e().find((e=>e.getAuctionId()===n))},getAdUnit(t){let{adUnitId:n}=t;if(null!=n)return e().flatMap((e=>e.getAdUnits())).find((e=>e.adUnitId===n))},getMediaTypes(e){let{adUnitId:t,requestId:n}=e;if(null!=n){const e=this.getBidRequest({requestId:n});if(null!=e&&(null==t||e.adUnitId===t))return e.mediaTypes}else if(null!=t){const e=this.getAdUnit({adUnitId:t});if(null!=e)return e.mediaTypes}},getBidderRequest(t){let{requestId:n,bidderRequestId:i}=t;if(null!=n||null!=i){let t=e().flatMap((e=>e.getBidRequests()));return null!=i&&(t=t.filter((e=>e.bidderRequestId===i))),null==n?t[0]:t.find((e=>e.bids&&null!=e.bids.find((e=>e.bidId===n))))}},getBidRequest(t){let{requestId:n}=t;if(null!=n)return e().flatMap((e=>e.getBidRequests())).flatMap((e=>e.bids)).find((e=>e&&e.bidId===n))},getOrtb2(e){return this.getBidderRequest(e)?.ortb2||this.getAuction(e)?.getFPD()?.global?.ortb2}})}const oi=function(){const e=nn({startTime:e=>e.end.then((()=>e.getAuctionEnd())),ttl:e=>null==_n()?null:e.end.then((()=>1e3*Math.max(_n(),...e.getBidsReceived().map((e=>e.ttl)))))});xn((()=>e.refresh()));const t={onExpiry:e.onExpiry};function n(t){for(const n of e)if(n.getAuctionId()===t)return n}function i(){return e.toArray().flatMap((e=>e.getBidsReceived()))}return t.addWinningBid=function(e){const t=Rn(e.metrics);t.checkpoint("bidWon"),t.timeBetween("auctionEnd","bidWon","adserver.pending"),t.timeBetween("requestBids","bidWon","adserver.e2e");const i=n(e.auctionId);i?i.addWinningBid(e):we("Auction not found when adding winning bid")},Object.entries({getAllWinningBids:{name:"getWinningBids"},getBidsRequested:{name:"getBidRequests"},getNoBids:{},getAdUnits:{},getBidsReceived:{pre:e=>e.getAuctionStatus()===jn},getAdUnitCodes:{post:Oe}}).forEach((n=>{let[i,{name:r=i,pre:o,post:s}]=n;const a=null==o?e=>e[r]():e=>o(e)?e[r]():[],d=null==s?e=>e:e=>e.filter(s);t[i]=()=>d(e.toArray().flatMap(a))})),t.getAllBidsForAdUnitCode=function(e){return i().filter((t=>t&&t.adUnitCode===e))},t.createAuction=function(t){const n=Wn(t);return function(t){e.add(t)}(n),n},t.findBidByAdId=function(e){return i().find((t=>t.adId===e))},t.getStandardBidderAdServerTargeting=function(){return ti()[S.ADSERVER_TARGETING]},t.setStatusForBids=function(e,i){const r=t.findBidByAdId(e);if(r&&(r.status=i),r&&"targetingSet"===i){const e=n(r.auctionId);e&&e.setBidTargeting(r)}},t.getLastAuctionId=function(){const t=e.toArray();return t.length&&t[t.length-1].getAuctionId()},t.clearAllAuctions=function(){e.clear()},t.index=new ri((()=>e.toArray())),t}(),si=1,ai=2,di=1,ci=[],li={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}}},ui=bi($),fi=bi(P);function pi(e){if(e&&e.type&&(!(!(t=e.type)||!Object.keys(li).includes(t))||(Ee(`${t} nativeParam is not supported`),!1))&&(e=li[e.type]),!e||!e.ortb||function(e){const t=e.assets;if(!Array.isArray(t)||0===t.length)return Ee("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)))?(Ee("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)?(Ee("ortb.eventtrackers is not an array. Eventtrackers: ",e.eventtrackers),!1):t.every((e=>function(e){if(!g(e))return Ee("asset must be an object. Provided asset: ",e),!1;if(e.img){if(!p(e.img.w)&&!p(e.img.wmin))return Ee("for img asset there must be 'w' or 'wmin' property"),!1;if(!p(e.img.h)&&!p(e.img.hmin))return Ee("for img asset there must be 'h' or 'hmin' property"),!1}else if(e.title){if(!p(e.title.len))return Ee("for title asset there must be 'len' property defined"),!1}else if(e.data){if(!p(e.data.type))return Ee("for data asset 'type' property must be a number"),!1}else if(e.video&&!(Array.isArray(e.video.mimes)&&Array.isArray(e.video.protocols)&&p(e.video.minduration)&&p(e.video.maxduration)))return Ee("video asset is not properly configured"),!1;return!0}(e)))}(e.ortb))return e;var t}function gi(e){let{index:n=oi.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=n.getAdUnit(e);if(!i)return!1;const r=i.nativeOrtbRequest;return function(e,t){if(!e?.link?.url)return Ee("native response doesn't have 'link' property. Ortb response: ",e),!1;const n=t.assets.filter((e=>1===e.required)).map((e=>e.id)),i=e.assets.map((e=>e.id)),r=n.every((e=>i.includes(e)));return r||Ee(`didn't receive a bid with all required assets. Required ids: ${n}, but received ids in response: ${i}`),r}(e.native?.ortb||function(e,n){const i={...mi(e),assets:[]};function r(e,r){let o=n.assets.find(e);null!=o&&(o=t(o),r(o),i.assets.push(o))}return Object.keys(e).filter((t=>!!e[t])).forEach((t=>{const n=hi(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?M.MAIN:M.ICON;r((t=>null!=t.img&&t.img.type===e),(e=>{e.img={url:n}}));break;default:t in $&&r((e=>null!=e.data&&e.data.type===P[$[t]]),(e=>{e.data={value:n}}))}})),i}(e.native,r),r)}function hi(e){return e?.url||e}function mi(e){const t={link:{},eventtrackers:[]};return Object.entries(e).forEach((e=>{let[n,i]=e;switch(n){case"clickUrl":t.link.url=i;break;case"clickTrackers":t.link.clicktrackers=Array.isArray(i)?i:[i];break;case"impressionTrackers":(Array.isArray(i)?i:[i]).forEach((e=>{t.eventtrackers.push({event:di,method:si,url:e})}));break;case"javascriptTrackers":t.jstracker=Array.isArray(i)?i.join(""):i;break;case"privacyLink":t.privacy=i}})),t}function bi(e){var t={};for(var n in e)t[e[n]]=n;return t}function yi(){let{src:e="client",bidder:t="",bidId:n,transactionId:i,adUnitId:r,auctionId:o}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var s=e;Object.assign(this,{bidderCode:t,width:0,height:0,adId:fe(),requestId:n,transactionId:i,adUnitId:r,auctionId:o,mediaType:"banner",source:s}),this.getSize=function(){return this.width+"x"+this.height}}Object.fromEntries(Object.entries(U).map((e=>{let[t,n]=e;return[n,t]})));const vi=["cpm","ttl","creativeId","netRevenue","currency"],wi=["auctionId","transactionId"],Ei=He((e=>{let{bidderCode:t}=e;if(Bt(it,xr(at,t)))return{bidRequest:e=>e,bidderRequest:e=>e};function n(e,t,n){return wi.includes(t)?null:Reflect.get(e,t,n)}function i(e,t){const n=new Proxy(e,t);return Object.entries(e).filter((e=>{let[t,n]=e;return"function"==typeof n})).forEach((t=>{let[i,r]=t;return n[i]=r.bind(e)})),n}const r=He((e=>i(e,{get:n})),(e=>e.bidId));return{bidRequest:r,bidderRequest:e=>i(e,{get:(t,i,o)=>"bids"===i?e.bids.map(r):n(t,i,o)})}}));function Ai(e){return Object.assign((t=e.code,n=t,{callBids:function(){},setBidderCode:function(e){n=e},getBidderCode:function(){return n}}),{getSpec:function(){return Object.freeze(Object.assign({},e))},registerSyncs:i,callBids:function(t,n,r,o,s,a){if(!Array.isArray(t.bids))return;const d=Ei(t),c={};function l(e,t){const i=Rn(t.metrics);i.checkpoint("addBidResponse"),c[e]=!0,i.measureTime("addBidResponse.validate",(()=>function(e,t){let{index:n=oi.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function i(e){return`Invalid bid from ${t.bidderCode}. Ignoring bid: ${e}`}return e?t?function(){const e=Object.keys(t);return vi.every((n=>e.includes(n)&&![void 0,null].includes(t[n])))}()?"native"!==t.mediaType||gi(t,{index:n})?"video"!==t.mediaType||function(e){let{index:t=oi.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=t.getMediaTypes(e)?.video,i=n&&n?.context,r=n&&n?.useCacheKey,o=t.getAdUnit(e);return Qt(e,o,n,i,r)}(t,{index:n})?!("banner"===t.mediaType&&!function(e,t){let{index:n=oi.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;if(null!=t.wratio&&null!=t.hratio)return t.wratio=parseInt(t.wratio,10),t.hratio=parseInt(t.hratio,10),!0;const i=n.getBidRequest(t),r=n.getMediaTypes(t),o=(s=i&&i.sizes||r&&r.banner&&r.banner.sizes,(a=s,"string"==typeof a?a.split(/\s*,\s*/).map((e=>e.match(/^(\d+)x(\d+)$/i))).filter((e=>e)).map((e=>{let[t,n,i]=e;return[parseInt(n,10),parseInt(i,10)]})):Array.isArray(a)?he(a)?[a]:a.filter(he):[]).map(ge));var s,a;if(1===o.length){const[e,n]=o[0].split("x");return t.width=parseInt(e,10),t.height=parseInt(n,10),!0}return!1}(e,t,{index:n}))||(Ee(i("Banner bids require a width and height")),!1):(Ee(i("Video bid does not have required vastUrl or renderer property")),!1):(Ee(i("Native bid missing some required properties.")),!1):(Ee(i(`Bidder ${t.bidderCode} is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params.`)),!1):(we(`Some adapter tried to add an undefined bid for ${e}.`),!1):(we("No adUnitCode was supplied to addBidResponse."),!1)}(e,t)))?n(e,t):n.reject(e,t,x)}const u=[];function p(){r(),J.runWithBidder(e.code,(()=>{hn(O.BIDDER_DONE,t),i(u,t.gdprConsent,t.uspConsent,t.gppConsent)}))}const g=Ri(t).measureTime("validate",(()=>t.bids.filter((t=>{return n=d.bidRequest(t),!!e.isBidRequestValid(n)||(we(`Invalid bid sent to bidder ${e.code}: ${JSON.stringify(n)}`),!1);var n}))));if(0===g.length)return void p();const h={};g.forEach((e=>{h[e.bidId]=e})),Ti(e,g,t,o,a,{onRequest:e=>hn(O.BEFORE_BIDDER_HTTP,t,e),onResponse:t=>{s(e.code),u.push(t)},onPaapi:e=>{const t=h[e.bidId];t?Ii(t,e):we("Received fledge auction configuration for an unknown bidId",e)},onError:(n,i)=>{i.timedOut||s(e.code),_r.callBidderError(e.code,i,t),hn(O.BIDDER_ERROR,{error:i,bidderRequest:t}),Ee(`Server call for ${e.code} failed: ${n} ${i.status}. Continuing without bids.`,{bidRequests:g})},onBid:t=>{const i=h[t.requestId],r=t;if(i){if(r.adapterCode=i.bidder,function(e,t){const n=Gt.get(t,"allowAlternateBidderCodes")||!1;let i=Gt.get(t,"allowedAlternateBidderCodes");return!!(e&&t&&t!==e&&(i=f(i)?i.map((e=>e.trim().toLowerCase())).filter((e=>!!e)).filter(Oe):i,!n||f(i)&&"*"!==i[0]&&!i.includes(e)))}(t.bidderCode,i.bidder))return we(`${t.bidderCode} is not a registered partner or known bidder of ${i.bidder}, hence continuing without bid. If you wish to support this bidder, please mark allowAlternateBidderCodes as true in bidderSettings.`),void n.reject(i.adUnitCode,t,j);r.originalCpm=t.cpm,r.originalCurrency=t.currency,r.meta=t.meta||Object.assign({},t[i.bidder]),r.deferBilling=i.deferBilling,r.deferRendering=r.deferBilling&&(t.deferRendering??"function"!=typeof e.onBidBillable);const a=Object.assign(new yi(i),r,(s=wi,"object"!=typeof(o=i)?{}:s.reduce(((e,t,n)=>{if("function"==typeof t)return e;let i=t;const r=t.match(/^(.+?)\sas\s(.+?)$/i);r&&(t=r[1],i=r[2]);let a=o[t];return"function"==typeof s[n+1]&&(a=s[n+1](a,e)),void 0!==a&&(e[i]=a),e}),{})));l(i.adUnitCode,a)}else we(`Bidder ${e.code} made bid for unknown request ID: ${t.requestId}. Ignoring.`),n.reject(null,t,q);var o,s},onCompletion:p})}});var t,n;function i(t,n,i,r){Bi(e,t,n,i,r)}}const Ci=["bids","paapi"],Ti=ut("async",(function(e,t,n,i,r,o){let{onRequest:s,onResponse:a,onPaapi:d,onError:c,onBid:l,onCompletion:u}=o;const p=Ri(n);u=p.startTiming("total").stopBefore(u);const g=Ei(n);let h=p.measureTime("buildRequests",(()=>e.buildRequests(t.map(g.bidRequest),g.bidderRequest(n))));if(Array.isArray(h)||(h=[h]),!h||0===h.length)return void u();const m=Ne(u,h.length);h.forEach((t=>{const n=p.fork();function o(e){null!=e&&(e.metrics=n.fork().renameWith()),l(e)}const u=r((function(i,r){h();try{i=JSON.parse(i)}catch(e){}i={body:i,headers:{get:r.getResponseHeader.bind(r)}},a(i);try{i=n.measureTime("interpretResponse",(()=>e.interpretResponse(i,t)))}catch(t){return Ee(`Bidder ${e.code} failed to interpret the server's response. Continuing without bids`,null,t),void m()}let s,c;i&&!Object.keys(i).some((e=>!Ci.includes(e)))?(s=i.bids,c=i.paapi):s=i,f(c)&&c.forEach(d),s&&(f(s)?s.forEach(o):o(s)),m()})),g=r((function(e,t){h(),c(e,t),m()}));s(t);const h=n.startTiming("net"),b="TRUE"===Te(k).toUpperCase()||Ce();function y(n){const i=t.options;return Object.assign(n,i,{browsingTopics:!(i?.hasOwnProperty("browsingTopics")&&!i.browsingTopics)&&(Gt.get(e.code,"topicsHeader")??!0)&&Bt(tt,xr(at,e.code)),suppressTopicsEnrollmentWarning:i?.hasOwnProperty("suppressTopicsEnrollmentWarning")?i.suppressTopicsEnrollmentWarning:!b})}switch(t.method){case"GET":i(`${t.url}${v=t.data,v?`?${"object"==typeof v?function(e){let t="";for(var n in e)e.hasOwnProperty(n)&&(t+=n+"="+encodeURIComponent(e[n])+"&");return t=t.replace(/&$/,""),t}(v):v}`:""}`,{success:u,error:g},void 0,y({method:"GET",withCredentials:!0}));break;case"POST":const n=t.options?.endpointCompression,r=e=>{let{url:t,payload:n}=e;i(t,{success:u,error:g},n,y({method:"POST",contentType:"text/plain",withCredentials:!0}))};n&&b&&we(`Skipping GZIP compression for ${e.code} as debug mode is enabled`),n&&!b&&ze()?async function(e){"string"!=typeof e&&(e=JSON.stringify(e));const t=(new TextEncoder).encode(e),n=new Blob([t]).stream().pipeThrough(new window.CompressionStream("gzip")),i=await new Response(n).blob(),r=await i.arrayBuffer();return new Uint8Array(r)}(t.data).then((e=>{const n=new URL(t.url,window.location.origin);n.searchParams.has("gzip")||n.searchParams.set("gzip","1"),r({url:n.href,payload:e})})):r({url:t.url,payload:"string"==typeof t.data?t.data:JSON.stringify(t.data)});break;default:we(`Skipping invalid request from ${e.code}. Request type ${t.method} must be GET or POST`),m()}var v}))}),"processBidderRequests"),Bi=ut("async",(function(e,t,n,i,r){const o=J.getConfig("userSync.aliasSyncEnabled");if(e.getUserSyncs&&(o||!_r.aliasRegistry[e.code])){let o=e.getUserSyncs({iframeEnabled:Jt.canBidderRegisterSync("iframe",e.code),pixelEnabled:Jt.canBidderRegisterSync("image",e.code)},t,n,i,r);o&&(Array.isArray(o)||(o=[o]),o.forEach((t=>{Jt.registerSync(t.type,e.code,t.url)})),Jt.bidderDone(e.code))}}),"registerSyncs"),Ii=ut("sync",((e,t)=>{}),"addPaapiConfig");function Ri(e){return Rn(e.metrics).renameWith((t=>[`adapter.client.${t}`,`adapters.client.${e.bidderCode}.${t}`]))}const Si="requests",ki="wins",Oi="auctions";let Di={};function Ui(e,t){const n=Di[e]=Di[e]||{bidders:{}};return t?n.bidders[t]=n.bidders[t]||{}:n}function _i(e,t){return function(n,i){const r=Ui(n,t&&i);return r[e]=(r[e]??0)+1,r[e]}}function xi(e,t){return function(n,i){return Ui(n,t&&i)[e]??0}}const qi=_i(Si,!1),ji=_i(Si,!0),Ni=_i(ki,!0),$i=_i(Oi,!1),Pi=xi(Si,!1),Mi=xi(Si,!0),Wi=xi(ki,!0),Li=xi(Oi,!1);function Gi(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 Fi(e){let t,{noLeadingWww:n=!1,noPort:i=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{t=new URL(Gi(e))}catch(e){return}return t=i?t.hostname:t.host,n&&t.startsWith("www.")&&(t=t.substring(4)),t}function Hi(e){try{const t=e.querySelector("link[rel='canonical']");if(null!==t)return t.href}catch(e){}return null}const Vi=function(e){let t,n,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;return r.top!==r?e:function(){const o=Hi(r.document),s=r.location.href;return t===o&&s===n||(t=o,n=s,i=e()),i}}((zi=window,function(){const e=[],t=function(e){try{if(!e.location.ancestorOrigins)return;return e.location.ancestorOrigins}catch(e){}}(zi),n=J.getConfig("maxNestedIframes");let i,r,o,s,a=!1,d=0,c=!1,l=!1,u=!1;do{const n=i,s=l;let f,p=!1,g=null;l=!1,i=i?i.parent:zi;try{f=i.location.href||null}catch(e){p=!0}if(p)if(s){const e=n.context;try{g=e.sourceUrl,r=g,u=!0,c=!0,i===zi.top&&(a=!0),e.canonicalUrl&&(o=e.canonicalUrl)}catch(e){}}else{we("Trying to access cross domain iframe. Continuing without referrer and location");try{const e=n.document.referrer;e&&(g=e,i===zi.top&&(a=!0))}catch(e){}!g&&t&&t[d-1]&&(g=t[d-1],i===zi.top&&(u=!0)),g&&!c&&(r=g)}else{if(f&&(g=f,r=g,c=!1,i===zi.top)){a=!0;const e=Hi(i.document);e&&(o=e)}i.context&&i.context.sourceUrl&&(l=!0)}e.push(g),d++}while(i!==zi.top&&d<n);e.reverse();try{s=zi.top.document.referrer}catch(e){}const f=a||u?r:null,p=J.getConfig("pageUrl")||o||null;let g=J.getConfig("pageUrl")||f||Gi(p,zi);return f&&f.indexOf("?")>-1&&-1===g.indexOf("?")&&(g=`${g}${f.substring(f.indexOf("?"))}`),{reachedTop:a,isAmp:c,numIframes:d-1,stack:e,topmostLocation:r||null,location:f,canonicalUrl:p,page:g,domain:Fi(g)||null,ref:s||null,legacy:{reachedTop:a,isAmp:c,numIframes:d-1,stack:e,referer:r||null,canonicalUrl:p}}}));var zi;Object.freeze({});const Ki="gdpr",Ji="gpp",Yi="usp",Qi="coppa";class Xi{#t;#n;#i;#r;#o=!0;#s;constructor(){this.reset()}#a(e){this.#r=!0,this.#n=e,this.#i.resolve(e)}reset(){this.#i=ee(),this.#t=!1,this.#n=null,this.#r=!1,this.generatedTime=null}enable(){this.#t=!0}get enabled(){return this.#t}get ready(){return this.#r}get promise(){return this.#r?Z.resolve(this.#n):(this.#t||this.#a(null),this.#i.promise)}setConsentData(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:xe();this.generatedTime=t,this.#o=!0,this.#a(e)}getConsentData(){return this.#n}get hash(){return this.#o&&(this.#s=Fe(JSON.stringify(this.#n&&this.hashFields?this.hashFields.map((e=>this.#n[e])):this.#n)),this.#o=!1),this.#s}}const Zi=new class extends Xi{hashFields=["gdprApplies","consentString"];getConsentMeta(){const e=this.getConsentData();if(e&&e.vendorData&&this.generatedTime)return{gdprApplies:e.gdprApplies,consentStringSize:u(e.vendorData.tcString)?e.vendorData.tcString.length:0,generatedAt:this.generatedTime,apiVersion:e.apiVersion}}},er=new class extends Xi{getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},tr=new class extends Xi{hashFields=["applicableSections","gppString"];getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},nr=(()=>{function e(){return!!J.getConfig("coppa")}return{getCoppa:e,getConsentData:e,getConsentMeta:e,reset(){},get promise(){return Z.resolve(e())},get hash(){return e()?"1":"0"}}})(),ir=function(){const e={},t={},n={};return{register(i,r,o){o&&((e[r]=e[r]||{})[i]=o,t.hasOwnProperty(r)?t[r]!==o&&(t[r]=n):t[r]=o)},get(i){const r={modules:e[i]||{}};return t.hasOwnProperty(i)&&t[i]!==n&&(r.gvlid=t[i]),r}}}(),rr={[Ki]:Zi,[Yi]:er,[Ji]:tr,[Qi]:nr};!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:rr;const t=Object.entries(e);Object.assign({get promise(){return Z.all(t.map((e=>{let[t,n]=e;return n.promise.then((e=>[t,e]))}))).then((e=>Object.fromEntries(e)))},get hash(){return Fe(t.map((e=>{let[t,n]=e;return n.hash})).join(":"))}},Object.fromEntries(["getConsentData","getConsentMeta","reset"].map((e=>{return[e,(n=e,function(){return Object.fromEntries(t.map((e=>{let[t,i]=e;return[t,i[n]()]})))})];var n}))))}();const or=["data","ext.data","yob","gender","keywords","kwarray","id","buyeruid","customdata"].map((e=>`user.${e}`)).concat("device.ext.cdep"),sr=["user.eids","user.ext.eids"],ar=["user.geo.lat","user.geo.lon","device.geo.lat","device.geo.lon"],dr=["device.ip"],cr=["device.ipv6"];function lr(e){return Object.assign({get(){},run(e,t,n,i,r){const o=n&&n[i];if(function(e){return null!=e&&("object"!=typeof e||Object.keys(e).length>0)}(o)&&r()){const e=this.get(o);void 0===e?delete n[i]:n[i]=e}}},e)}function ur(e){return e.forEach((e=>{e.paths=e.paths.map((e=>{const t=e.split("."),n=t.pop();return[t.length>0?t.join("."):null,n]}))})),function(t,n){const i=[];for(var r=arguments.length,o=new Array(r>2?r-2:0),s=2;s<r;s++)o[s-2]=arguments[s];const a=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return function(t){return e.hasOwnProperty(t.name)||(e[t.name]=!!t.applies(...n)),e[t.name]}}(t,...o);return e.forEach((e=>{if(!1!==t[e.name])for(const[r,o]of e.paths){const s=null==r?n:R(n,r);if(i.push(e.run(n,r,s,o,a.bind(null,e))),!1===t[e.name])return}})),i.filter((e=>null!=e))}}function fr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Bt;return function(n){return!t(e,n)}}const pr=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Bt;const t=ur(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Bt;return[{name:tt,paths:or,applies:fr(tt,e)},{name:et,paths:sr,applies:fr(et,e)},{name:nt,paths:ar,applies:fr(nt,e),get:e=>Math.round(100*(e+Number.EPSILON))/100},{name:nt,paths:dr,applies:fr(nt,e),get:e=>function(e){if(!e)return null;const t=e.split(".").map(Number);if(4!=t.length)return null;const n=[];for(let e=0;e<4;e++){const 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:nt,paths:cr,applies:fr(nt,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;const n=[];for(let e=0;e<8;e++){const 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:it,paths:["source.tid"],applies:fr(it,e)}].map(lr)}(e)),n=ur(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Bt;return[{name:et,paths:["userId","userIdAsEids"],applies:fr(et,e)},{name:it,paths:["ortb2Imp.ext.tid"],applies:fr(it,e)}].map(lr)}(e));return function(e){const i={};return{ortb2:n=>(t(i,n,e),n),bidRequest:t=>(n(i,t,e),t)}}}();Tt(it,"enableTIDs config",(()=>{if(!J.getConfig("enableTIDs"))return{allow:!1,reason:"TIDs are disabled"}}));const gr="pbsBidAdapter",hr={CLIENT:"client",SERVER:"server"},mr={isAllowed:Bt,redact:pr},br={},yr={},vr={};let wr=[];J.getConfig("s2sConfig",(e=>{e&&e.s2sConfig&&(wr=f(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])}));const Er=At((e=>kr.resolveAlias(e)));function Ar(e){return e.configName??e.name}const Cr=["nativeParams","nativeOrtbRequest","renderer"];function Tr(e){let{bidderCode:t,auctionId:n,bidderRequestId:i,adUnits:r,src:o,metrics:s}=e;return r.reduce(((e,r)=>{const a=r.bids.filter((e=>e.bidder===t));return null==t&&0===a.length&&null!=r.s2sBid&&a.push({bidder:null}),e.push(a.reduce(((e,a)=>{var d;const c=null==(a=Object.assign({},a,{ortb2Imp:Le({},r.ortb2Imp,a.ortb2Imp)},(d=r,Cr.filter((e=>d[e])).reduce(((e,t)=>Object.assign(e,{[t]:d[t]})),{})))).mediaTypes?r.mediaTypes:a.mediaTypes;return function(e){const t=["banner","native","video"];return!!Object.keys(e).every((e=>t.includes(e)))&&(!e.video||!e.video.context||["instream","outstream","adpod"].includes(e.video.context))}(c)?a=Object.assign({},a,{mediaTypes:c}):Ee(`mediaTypes is not correctly configured for adunit ${r.code}`),"client"===o&&ji(r.code,t),e.push(Object.assign({},a,{adUnitCode:r.code,transactionId:r.transactionId,adUnitId:r.adUnitId,sizes:c?.banner?.sizes||c?.video?.playerSize||[],bidId:a.bid_id||fe(),bidderRequestId:i,auctionId:n,src:o,metrics:s,auctionsCount:Li(r.code),bidRequestsCount:Pi(r.code),bidderRequestsCount:Mi(r.code,a.bidder),bidderWinsCount:Wi(r.code,a.bidder),deferBilling:!!r.deferBilling})),e}),[])),e}),[]).reduce(De,[]).filter((e=>""!==e))}const Br=ut("sync",(function(e,t){let{getS2SBidders:n=Rr}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null==t)return e;{const i=n(t);return e.filter((e=>{if(!i.has(e.bidder))return!1;if(null==e.s2sConfigName)return!0;const n=Ar(t);return(Array.isArray(e.s2sConfigName)?e.s2sConfigName:[e.s2sConfigName]).includes(n)}))}}),"filterBidsForAdUnit"),Ir=ut("sync",((e,t)=>e),"setupAdUnitMediaTypes");function Rr(e){f(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 Sr=ut("sync",(function(e,t){let{getS2SBidders:n=Rr}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n(t);return Ue(e).reduce(((e,t)=>(e[i.has(t)?hr.SERVER:hr.CLIENT].push(t),e)),{[hr.CLIENT]:[],[hr.SERVER]:[]})}),"partitionBidders"),kr={bidderRegistry:br,analyticsRegistry:vr,aliasRegistry:yr,makeBidRequests:ut("sync",(function(e,n,i,r,o){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=arguments.length>6?arguments[6]:void 0;a=Rn(a),hn(O.BEFORE_REQUEST_BIDS,e),function(e){e.forEach((e=>{const t=e.nativeParams||e?.mediaTypes?.native;t&&(e.nativeParams=pi(t)),e.nativeParams&&(e.nativeOrtbRequest=e.nativeParams.ortb||function(e){if(!e&&!g(e))return void Ee("Native assets object is empty or not an object: ",e);const t={ver:"1.2",assets:[]};for(const n in e){if(W.includes(n))continue;if(!U.hasOwnProperty(n)){Ee(`Unrecognized native asset code: ${n}. Asset will be ignored.`);continue}if("privacyLink"===n){t.privacy=1;continue}const i=e[n];let r=0;i.required&&h(i.required)&&(r=Number(i.required));const o={id:t.assets.length,required:r};if(n in $)o.data={type:P[$[n]]},i.len&&(o.data.len=i.len);else if("icon"===n||"image"===n){if(o.img={type:"icon"===n?M.ICON:M.MAIN},i.aspect_ratios)if(f(i.aspect_ratios))if(i.aspect_ratios.length){const{min_width:e,min_height:t}=i.aspect_ratios[0];m(e)&&m(t)?(o.img.wmin=e,o.img.hmin=t):Ee("image.aspect_ratios min_width or min_height are invalid: ",e,t);const n=i.aspect_ratios.filter((e=>e.ratio_width&&e.ratio_height)).map((e=>`${e.ratio_width}:${e.ratio_height}`));n.length>0&&(o.img.ext={aspectratios:n})}else Ee("image.aspect_ratios was passed, but it's empty:",i.aspect_ratios);else Ee("image.aspect_ratios was passed, but it's not a an array:",i.aspect_ratios);i.sizes&&(2===i.sizes.length&&m(i.sizes[0])&&m(i.sizes[1])?(o.img.w=i.sizes[0],o.img.h=i.sizes[1],delete o.img.hmin,delete o.img.wmin):Ee("image.sizes was passed, but its value is not an array of integers:",i.sizes))}else"title"===n?o.title={len:i.len||140}:"ext"===n&&(o.ext=i,delete o.required);t.assets.push(o)}return t}(e.nativeParams))}))}(e),e.map((e=>e.code)).filter(Oe).forEach($i),e.forEach((e=>{g(e.mediaTypes)||(e.mediaTypes={}),e.bids=e.bids.filter((e=>!e.bidder||mr.isAllowed(Ze,Er(at,e.bidder)))),qi(e.code)})),e=Ir(e,o);let{[hr.CLIENT]:d,[hr.SERVER]:c}=Sr(e,wr);J.getConfig("bidderSequence")===F&&(d=_e(d));const l=Vi(),u=[],p=s.global||{},b=s.bidder||{};function y(e,t){const n=mr.redact(null!=t?t:Er(at,e.bidderCode)),r=Object.freeze(n.ortb2(Le({source:{tid:i}},p,b[e.bidderCode])));return e.ortb2=r,e.bids=e.bids.map((e=>(e.ortb2=r,n.bidRequest(e)))),e}wr.forEach((r=>{const o=function(e){return Er(st,gr,{[yt]:Ar(e)})}(r);if(r&&r.enabled&&mr.isAllowed(Ze,o)){const{adUnits:s,hasModuleBids:d}=function(e,n){let i=t(e),r=!1;return i.forEach((e=>{const t=e.bids.filter((e=>e.module===gr&&e.params?.configName===Ar(n)));1===t.length?(e.s2sBid=t[0],r=!0,e.ortb2Imp=Le({},e.s2sBid.ortb2Imp,e.ortb2Imp)):t.length>1&&we('Multiple "module" bids for the same s2s configuration; all will be ignored',t),e.bids=Br(e.bids,n).map((e=>(e.bid_id=fe(),e)))})),i=i.filter((e=>!(n.filterBidderlessCalls&&1===e.bids.length&&null==e.bids[0].bidder||0===e.bids.length&&null==e.s2sBid))),{adUnits:i,hasModuleBids:r}}(e,r),f=pe();(0===c.length&&d?[null]:c).forEach((e=>{const d=fe(),c=a.fork(),p=y({bidderCode:e,auctionId:i,bidderRequestId:d,uniquePbsTid:f,bids:Tr({bidderCode:e,auctionId:i,bidderRequestId:d,adUnits:t(s),src:_,metrics:c}),auctionStart:n,timeout:r.timeout,src:_,refererInfo:l,metrics:c},o);0!==p.bids.length&&u.push(p)})),s.forEach((e=>{const t=e.bids.filter((e=>u.find((t=>t.bids.find((t=>t.bidId===e.bid_id))))));e.bids=t})),u.forEach((e=>{void 0===e.adUnitsS2SCopy&&(e.adUnitsS2SCopy=s.filter((e=>e.bids.length>0||null!=e.s2sBid)))}))}}));const v=function(e){let n=t(e);return n.forEach((e=>{e.bids=Br(e.bids,null)})),n=n.filter((e=>0!==e.bids.length)),n}(e);return d.forEach((e=>{const o=fe(),s=a.fork(),d=y({bidderCode:e,auctionId:i,bidderRequestId:o,bids:Tr({bidderCode:e,auctionId:i,bidderRequestId:o,adUnits:t(v),src:"client",metrics:s}),auctionStart:n,timeout:r,refererInfo:l,metrics:s}),c=br[e];c||Ee(`Trying to make a request for bidder that does not exist: ${e}`),c&&d.bids&&0!==d.bids.length&&u.push(d)})),u.forEach((e=>{Zi.getConsentData()&&(e.gdprConsent=Zi.getConsentData()),er.getConsentData()&&(e.uspConsent=er.getConsentData()),tr.getConsentData()&&(e.gppConsent=tr.getConsentData())})),u}),"makeBidRequests"),callBids(e,t,n,i,r,o,s){let a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{};if(!t.length)return void we("callBids executed with no bidRequests. Were they filtered by labels or sizing?");const[d,c]=t.reduce(((e,t)=>(e[Number(void 0!==t.src&&t.src===_)].push(t),e)),[[],[]]);var l=[];c.forEach((e=>{for(var t=-1,n=0;n<l.length;++n)if(e.uniquePbsTid===l[n].uniquePbsTid){t=n;break}t<=-1&&l.push(e)}));let u=0;wr.forEach((e=>{if(e&&l[u]&&Rr(e).has(l[u].bidderCode)){const t=_t(o,r?{request:r.request.bind(null,"s2s"),done:r.done}:void 0),d=e.bidders,f=br[e.adapter],p=l[u].uniquePbsTid,g=l[u].adUnitsS2SCopy,h=c.filter((e=>e.uniquePbsTid===p));if(f){const r={ad_units:g,s2sConfig:e,ortb2Fragments:a,requestBidsTimeout:o};if(r.ad_units.length){const e=h.map((e=>(e.start=xe(),function(t){t||s(e.bidderRequestId);for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];i.apply(e,[t,...r])}))),o=Ue(r.ad_units).filter((e=>d.includes(e)));ye(`CALLING S2S HEADER BIDDERS ==== ${o.length>0?o.join(", "):'No bidder specified, using "ortb2Imp" definition(s) only'}`),h.forEach((e=>{hn(O.BID_REQUESTED,{...e,tid:e.auctionId})})),f.callBids(r,c,n,(t=>e.forEach((e=>e(t)))),t)}}else Ee("missing "+e.adapter);u++}})),d.forEach((e=>{e.start=xe();const t=br[e.bidderCode];J.runWithBidder(e.bidderCode,(()=>{ye("CALLING BIDDER"),hn(O.BID_REQUESTED,e)}));const a=_t(o,r?{request:r.request.bind(null,e.bidderCode),done:r.done}:void 0),d=i.bind(e);try{J.runWithBidder(e.bidderCode,t.callBids.bind(t,e,n,d,a,(()=>s(e.bidderRequestId)),J.callbackWithBidder(e.bidderCode)))}catch(t){Ee(`${e.bidderCode} Bid Adapter emitted an uncaught error when parsing their bidRequest`,{e:t,bidRequest:e}),d()}}))},videoAdapters:[],registerBidAdapter(e,t){let{supportedMediaTypes:n=[]}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e&&t?"function"==typeof e.callBids?(br[t]=e,ir.register(at,t,e.getSpec?.().gvlid),n.includes("video")&&kr.videoAdapters.push(t),n.includes("native")&&ci.push(t)):Ee("Bidder adaptor error for bidder code: "+t+"bidder must implement a callBids() function"):Ee("bidAdapter or bidderCode not specified")},aliasBidAdapter(e,t,n){if(void 0===br[t]){const i=br[e];if(void 0===i){const n=[];wr.forEach((i=>{if(i.bidders&&i.bidders.length){const r=i&&i.bidders;i&&r.includes(t)?yr[t]=e:n.push(e)}})),n.forEach((e=>{Ee('bidderCode "'+e+'" is not an existing bidder.',"adapterManager.aliasBidAdapter")}))}else try{let r;const o=function(e){const t=[];return kr.videoAdapters.includes(e)&&t.push("video"),ci.includes(e)&&t.push("native"),t}(e);if(i.constructor.prototype!=Object.prototype)r=new i.constructor,r.setBidderCode(t);else{const{useBaseGvlid:o=!1}=n||{},s=i.getSpec(),a=o?s.gvlid:n?.gvlid;null==a&&null!=s.gvlid&&we(`Alias '${t}' will NOT re-use the GVL ID of the original adapter ('${s.code}', gvlid: ${s.gvlid}). Functionality that requires TCF consent may not work as expected.`);const d=n&&n.skipPbsAliasing;r=Ai(Object.assign({},s,{code:t,gvlid:a,skipPbsAliasing:d})),yr[t]=e}kr.registerBidAdapter(r,t,{supportedMediaTypes:o})}catch(t){Ee(e+" bidder does not currently support aliasing.","adapterManager.aliasBidAdapter")}}else ye('alias name "'+t+'" has been already specified.')},resolveAlias(e){let t,n=e;for(;yr[n]&&(!t||!t.has(n));)n=yr[n],(t=t||new Set).add(n);return n},registerAnalyticsAdapter(e){let{adapter:t,code:n,gvlid:i}=e;t&&n?"function"==typeof t.enableAnalytics?(t.code=n,vr[n]={adapter:t,gvlid:i},ir.register(dt,n,i)):Ee(`Prebid Error: Analytics adaptor error for analytics "${n}"\n analytics adapter must implement an enableAnalytics() function`):Ee("Prebid Error: analyticsAdapter or analyticsCode not specified")},enableAnalytics(e){f(e)||(e=[e]),e.forEach((e=>{const t=vr[e.provider];t&&t.adapter?mr.isAllowed("reportAnalytics",Er(dt,e.provider,{[Et]:e}))&&t.adapter.enableAnalytics(e):Ee(`Prebid Error: no analytics adapter found in registry for '${e.provider}'.`)}))},getBidAdapter:e=>br[e],getAnalyticsAdapter:e=>vr[e],callTimedOutBidders(e,t,n){var i;t=t.map((t=>(t.params=$e(e,t.adUnitCode,t.bidder),t.timeout=n,t))),i="bidder",t=t.reduce((function(e,t){return(e[t[i]]=e[t[i]]||[]).push(t),e}),{}),Object.keys(t).forEach((e=>{Ur(e,"onTimeout",t[e])}))},callBidWonBidder(e,t,n){t.params=$e(n,t.adUnitCode,t.bidder),Ni(t.adUnitCode,t.bidder),Ur(e,"onBidWon",t)},triggerBilling:(()=>{const e=new WeakSet;return t=>{var n;e.has(t)||(e.add(t),((n=t.eventtrackers,(n??[]).reduce(((e,t)=>{let{event:n,method:i,url:r}=t;const o=e[n]=e[n]??{};return(o[i]=o[i]??[]).push(r),e}),{}))[di]?.[si]||[]).forEach((e=>ce.triggerPixel(e))),Ur(t.bidder,"onBidBillable",t))}})(),callSetTargetingBidder(e,t){Ur(e,"onSetTargeting",t)},callBidViewableBidder(e,t){Ur(e,"onBidViewable",t)},callBidderError(e,t,n){Ur(e,"onBidderError",{error:t,bidderRequest:n})},callAdRenderSucceededBidder(e,t){Ur(e,"onAdRenderSucceeded",t)},callDataDeletionRequest:ut("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(br).filter((e=>!yr.hasOwnProperty(e))).forEach((e=>{const n=Or(e,i);if(null!=n){const r=oi.getBidsRequested().filter((t=>function(e){const t=new Set;for(;yr.hasOwnProperty(e)&&!t.has(e);)t.add(e),e=yr[e];return e}(t.bidderCode)===e));Dr(e,i,...n,r,...t)}})),Object.entries(vr).forEach((e=>{let[n,r]=e;const o=r?.adapter?.[i];if("function"==typeof o)try{o.apply(r.adapter,t)}catch(e){Ee(`error calling ${i} of ${n}`,e)}}))}))};function Or(e,t){const n=br[e],i=n?.getSpec&&n.getSpec();if(i&&i[t]&&"function"==typeof i[t])return[i,i[t]]}function Dr(e,t,n,i){try{ve(`Invoking ${e}.${t}`);for(var r=arguments.length,o=new Array(r>4?r-4:0),s=4;s<r;s++)o[s-4]=arguments[s];J.runWithBidder(e,i.bind(n,...o))}catch(n){we(`Error calling ${t} of ${e}`)}}function Ur(e,t,n){if(n?.source!==_){const i=Or(e,t);null!=i&&Dr(e,t,...i,n)}}const _r=kr,xr=At((e=>_r.resolveAlias(e))),qr=new WeakMap,jr=["debugging","outstream","aaxBlockmeter","adagio","adloox","arcspan","airgrid","browsi","brandmetrics","clean.io","humansecurityMalvDefense","humansecurity","confiant","contxtful","hadron","mediafilter","medianet","azerionedge","a1Media","geoedge","qortex","dynamicAdBoost","51Degrees","symitridap","wurfl","nodalsAi","anonymised","optable","justtag","tncId","ftrackId","id5"];const Nr=X(),$r="outstream";function Pr(e){const{url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a}=e;this.url=t,this.config=n,this.handlers={},this.id=i,this.renderNow=a,this.adUnitCode=s,this.loaded=o,this.cmd=[],this.push=e=>{"function"==typeof e?this.loaded?e.call():this.cmd.push(e):Ee("Commands given to Renderer.push must be wrapped in a function")},this.callback=r||(()=>{this.loaded=!0,this.process()}),this.render=function(){const e=arguments,n=()=>{this._render?this._render.apply(this,e):we("No render function was provided, please use .setRender on the renderer")};!function(e){const t=Nr.adUnits.find((t=>t.code===e));if(!t)return!1;const n=t?.renderer,i=!!(n&&n.url&&n.render),r=t?.mediaTypes?.video?.renderer,o=!!(r&&r.url&&r.render);return!!(i&&!0!==n.backupOnly||o&&!0!==r.backupOnly)}(s)?a?n():(this.cmd.unshift(n),function(e,t,n,i,r,o){if(!Bt(rt,xr(t,n)))return;if(!n||!e)return void Ee("cannot load external script without url and moduleCode");if(!jr.includes(n))return void Ee(`${n} not whitelisted for loading external JavaScript`);r||(r=document);const s=c(r,e);if(s)return i&&"function"==typeof i&&(s.loaded?i():s.callbacks.push(i)),s.tag;const a=qr.get(r)||{},d={loaded:!1,tag:null,callbacks:[]};return a[e]=d,qr.set(r,a),i&&"function"==typeof i&&d.callbacks.push(i),we(`module ${n} is loading external JavaScript`),function(t,n,i,r){i||(i=document);var o=i.createElement("script");o.type="text/javascript",o.async=!0;const s=c(i,e);return s&&(s.tag=o),o.readyState?o.onreadystatechange=function(){"loaded"!==o.readyState&&"complete"!==o.readyState||(o.onreadystatechange=null,n())}:o.onload=function(){n()},o.src=t,r&&function(e,t){Object.entries(t).forEach((t=>{let[n,i]=t;return e.setAttribute(n,i)}))}(o,r),Ie(o,i),o}(e,(function(){d.loaded=!0;try{for(let e=0;e<d.callbacks.length;e++)d.callbacks[e]()}catch(e){Ee("Error executing callback","adloader.js:loadExternalScript",e)}}),r,o);function c(e,t){const n=qr.get(e);return n&&n[t]?n[t]:null}}(t,st,$r,this.callback,this.documentContext)):(we(`External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ${s}`),n())}.bind(this)}Pr.install=function(e){let{url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a}=e;return new Pr({url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a})},Pr.prototype.getConfig=function(){return this.config},Pr.prototype.setRender=function(e){this._render=e},Pr.prototype.setEventHandlers=function(e){this.handlers=e},Pr.prototype.handleVideoEvent=function(e){let{id:t,eventName:n}=e;"function"==typeof this.handlers[n]&&this.handlers[n](),ye(`Prebid Renderer event for id ${t} type ${n}`)},Pr.prototype.process=function(){for(;this.cmd.length>0;)try{this.cmd.shift().call()}catch(e){Ee(`Error processing Renderer command on ad unit '${this.adUnitCode}':`,e)}};const Mr=new Map;const Wr=["img","video","link","data","title"],Lr={[Ye]:(e,t)=>{if(!t.hasOwnProperty("ad")&&!t.hasOwnProperty("adUrl")){let[e,n]=(t.width??t.wratio)<(t.height??t.hratio)?[t.width,"repeat-y"]:[t.height,"repeat-x"];e=null==e?"100%":`${e}px`,t.ad=`<html><body><div style="display: inline-block; height: ${null==t.height?"100%":t.height+"px"}; width: ${null==t.width?"100%":t.width+"px"}; background-image: url(https://vcdn.adnxs.com/p/creative-image/27/c0/52/67/27c05267-5a6d-4874-834e-18e218493c32.png); background-size: ${e}; background-repeat: ${n}"></div></body></html>`}},[Je]:(e,t)=>{t.hasOwnProperty("vastXml")||t.hasOwnProperty("vastUrl")||(t.vastXml='<?xml version="1.0" encoding="UTF-8"?><VAST version="3.0"><Ad><InLine><AdSystem>GDFP</AdSystem><AdTitle>Demo</AdTitle><Description><![CDATA[Demo]]></Description><Creatives><Creative><Linear ><Duration>00:00:11</Duration><VideoClicks><ClickThrough><![CDATA[https://prebid.org/]]></ClickThrough></VideoClicks><MediaFiles><MediaFile delivery="progressive" width="640" height="360" type="video/mp4" scalable="true" maintainAspectRatio="true"><![CDATA[https://s3.amazonaws.com/files.prebid.org/creatives/PrebidLogo.mp4]]></MediaFile></MediaFiles></Linear></Creative></Creatives></InLine></Ad></VAST>',t.renderer=Pr.install({url:"https://cdn.jwplayer.com/libraries/l5MchIxB.js"}),t.renderer.setRender((function(e,n){const i=function(e){if(Mr.has(e))return Mr.get(e);const t=function(e){let t;return function(){if(window.googletag&&l(window.googletag.pubads)&&l(window.googletag.pubads().getSlots))return!0}()&&(t=window.googletag.pubads().getSlots().find(function(e){return t=>((e,t)=>e.getAdUnitPath()===t||e.getSlotElementId()===t)(t,e)}(e))),t}(e);let n={};return t&&(n={gptSlot:t.getAdUnitPath(),divId:t.getSlotElementId()}),Mr.set(e,n),n}(e.adUnitCode).divId??e.adUnitCode,r=n.createElement("div");r.id=`${i}-video-player`,n.getElementById(i).appendChild(r);const o=window.jwplayer(r.id).setup({debug:!0,width:t.width,height:t.height,advertising:{client:"vast",outstream:!0,endstate:"close"}});o.on("ready",(async function(){e.vastUrl?o.loadAdTag(e.vastUrl):o.loadAdXml(e.vastXml)}))})))},[Ke]:(e,t)=>{t.hasOwnProperty("native")||(t.native={ortb:{link:{url:"https://www.link.example",clicktrackers:["https://impression.example"]},assets:e.nativeOrtbRequest.assets.map(Gr)}})}};function Gr(e){switch(Wr.find((t=>e.hasOwnProperty(t)))){case"img":return{...e,img:{type:3,w:600,h:500,url:"https://vcdn.adnxs.com/p/creative-image/27/c0/52/67/27c05267-5a6d-4874-834e-18e218493c32.png"}};case"video":return{...e,video:{vasttag:'<?xml version="1.0" encoding="UTF-8"?><VAST version="3.0"><Ad><InLine><AdSystem>GDFP</AdSystem><AdTitle>Demo</AdTitle><Description><![CDATA[Demo]]></Description><Creatives><Creative><Linear ><Duration>00:00:11</Duration><VideoClicks><ClickThrough><![CDATA[https://prebid.org/]]></ClickThrough></VideoClicks><MediaFiles><MediaFile delivery="progressive" width="640" height="360" type="video/mp4" scalable="true" maintainAspectRatio="true"><![CDATA[https://s3.amazonaws.com/files.prebid.org/creatives/PrebidLogo.mp4]]></MediaFile></MediaFiles></Linear></Creative></Creatives></InLine></Ad></VAST>'}};case"data":return{...e,data:{value:"5 stars"}};case"title":return{...e,title:{text:"Prebid Native Example"}}}}function Fr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};({setTimeout:this.setTimeout=window.setTimeout.bind(window)}=e),this.logger=e.logger,this.rules=[]}let Hr,Vr;function zr(e,t){let{hook:n,logger:i}=t;Hr=Xr.bind({overrides:e,logger:i}),n.get("addBidResponse").before(Hr,5),Vr=Zr.bind({overrides:e,logger:i}),n.get("addBidderRequests").before(Vr,5)}function Kr(e){let{hook:t}=e;t.get("addBidResponse").getHooks({hook:Hr}).remove(),t.get("addBidderRequests").getHooks({hook:Vr}).remove()}function Jr(e,t,n){return!(!e.bidder||e.bidder===t)||!(!e.adUnitCode||e.adUnitCode===n)}function Yr(e,t){return Array.isArray(e)&&-1===e.indexOf(t)}function Qr(e,t,n,i){return Object.keys(e).filter((e=>-1===["adUnitCode","bidder"].indexOf(e))).reduce((function(t,r){return i.logMessage(`bidder overrides changed '${t.adUnitCode}/${t.bidderCode}' ${n}.${r} from '${t[r]}.js' to '${e[r]}'`),t[r]=e[r],t.isDebug=!0,t}),t)}function Xr(e,t,n,i){const{overrides:r,logger:o}=this;Yr(r.bidders,n.bidderCode)?o.logWarn(`bidder '${n.bidderCode}' excluded from auction by bidder overrides`):(Array.isArray(r.bids)&&r.bids.forEach((function(e){Jr(e,n.bidderCode,t)||Qr(e,n,"bidder",o)})),e(t,n,i))}function Zr(e,t){const{overrides:n,logger:i}=this,r=t.filter((function(e){return!Yr(n.bidders,e.bidderCode)||(i.logWarn(`bidRequest '${e.bidderCode}' excluded from auction by bidder overrides`),!1)}));Array.isArray(n.bidRequests)&&r.forEach((function(e){n.bidRequests.forEach((function(t){e.bids.forEach((function(n){Jr(t,e.bidderCode,n.adUnitCode)||Qr(t,n,"bidRequest",i)}))}))})),e(r)}Object.assign(Fr.prototype,{DEFAULT_RULE_OPTIONS:{delay:0},serializeConfig(e){return e.filter(((e,t)=>{const n=!Ve(e);return n||R(e,"options.suppressWarnings")||this.logger.logWarn(`Bid interceptor rule definition #${t+1} contains non-serializable properties and will be lost after a refresh. Rule definition: `,e),n}))},updateConfig(e){this.rules=(e.intercept||[]).map(((e,t)=>this.rule(e,t+1)))},rule(e,t){return{no:t,match:this.matcher(e.when,t),replace:this.replacer(e.then,t),options:Object.assign({},this.DEFAULT_RULE_OPTIONS,e.options),paapi:this.paapiReplacer(e.paapi||[],t)}},matcher(e,t){if("function"==typeof e)return e;if("object"!=typeof e)return this.logger.logError(`Invalid 'when' definition for debug bid interceptor (in rule #${t})`),()=>!1;function n(t,i){let{ref:r=e,args:o=[]}=i;return Object.entries(r).map((e=>{let[i,r]=e;const s=t[i];return r instanceof RegExp?null!=r.exec(s):"function"==typeof r?!!r(s,...o):"object"==typeof r?n(s,{ref:r,args:o}):s===r})).every((e=>e))}return function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];return n(e,{args:i})}},replacer(e,t){var n=this;if(null===e)return()=>null;let i;return"function"==typeof(e=e||{})?i=t=>{let{args:n}=t;return e(...n)}:"object"!=typeof e?(this.logger.logError(`Invalid 'then' definition for debug bid interceptor (in rule #${t})`),i=()=>({})):i=t=>{let{args:n,ref:r=e}=t;const o=Array.isArray(r)?[]:{};return Object.entries(r).forEach((e=>{let[t,r]=e;o[t]="function"==typeof r?r(...n):null!=r&&"object"==typeof r?i({args:n,ref:r}):r})),o},function(e){const t=n.responseDefaults(e);for(var r=arguments.length,o=new Array(r>1?r-1:0),s=1;s<r;s++)o[s-1]=arguments[s];Le(t,i({args:[e,...o]}));const a=Lr[t.mediaType];return a&&a(e,t),t.isDebug=!0,t}},paapiReplacer(e,t){function n(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((e=>Object.keys(e).some((e=>!["config","igb"].includes(e)))?{config:e}:e))}return Array.isArray(e)?()=>n(e):"function"==typeof e?function(){return n(e(...arguments))}:void this.logger.logError(`Invalid 'paapi' definition for debug bid interceptor (in rule #${t})`)},responseDefaults(e){const t={requestId:e.bidId,cpm:3.5764,currency:"EUR",ttl:360,creativeId:"mock-creative-id",netRevenue:!1,meta:{}};let n;return e.mediaType||(t.mediaType=Object.keys(e.mediaTypes??{})[0]??Ye),t.mediaType===Ye?n=e.mediaTypes?.banner?.sizes?.[0]??[300,250]:t.mediaType===Je&&(n=e.mediaTypes?.video?.playerSize?.[0]??[600,500]),Array.isArray(n)&&([t.width,t.height]=n),t},match(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 this.rules.find((t=>t.match(e,...n)))},matchAll(e,t){const[n,i]=[[],[]];return e.forEach((e=>{const r=this.match(e,t);null!=r?n.push({rule:r,bid:e}):i.push(e)})),[n,i]},intercept(e){let{bids:n,bidRequest:i,addBid:r,addPaapiConfig:o,done:s}=e;null==n&&(n=i.bids);const[a,d]=this.matchAll(n,i);if(a.length>0){const e=Ne(s,a.length);a.forEach((t=>{const n=t.rule.replace(t.bid,i),s=t.rule.paapi(t.bid,i),a=t.rule.options.delay;this.logger.logMessage(`Intercepted bid request (matching rule #${t.rule.no}), mocking response in ${a}ms. Request, response, PAAPI configs:`,t.bid,n,s),this.setTimeout((()=>{n&&r(n,t.bid),s.forEach((e=>o(e,t.bid,i))),e()}),a)})),i=t(i),n=i.bids=d}else this.setTimeout(s,0);return{bids:n,bidRequest:i}}});const eo=[];let to,no=!1;function io(e,t){let{fromSession:n=!1,config:i,hook:r,logger:o}=t;i.setConfig({debug:!0}),to.updateConfig(e),ro(!0),Kr({hook:r}),zr(e,{hook:r,logger:o}),no||(no=!0,o.logMessage("Debug overrides enabled"+(n?" from session":"")))}function ro(e){eo.forEach((e=>{let[t,n]=e;t().getHooks({hook:n}).remove()})),e&&eo.forEach((e=>{let[t,n]=e;t().before(n)}))}function oo(e,t){const n=function(){return to.intercept(...arguments)};eo.push([e,function(e){for(var i=arguments.length,r=new Array(i>1?i-1:0),o=1;o<i;o++)r[o-1]=arguments[o];t(e,n,...r)}])}function so(e,t,n,i,r,o,s,a){const d=Ne(a.onCompletion,2);({bids:i,bidRequest:r}=t({bids:i,bidRequest:r,addBid:s(a.onBid),addPaapiConfig:s(((e,t)=>a.onPaapi({bidId:t.bidId,...e}))),done:d})),0===i.length?(a.onResponse?.({}),d()):e(n,i,r,o,s,{...a,onCompletion:d})}function ao(e){let{DEBUG_KEY:n,config:i,hook:r,createBid:o,logger:s}=e;to=new Fr({logger:s});const a=function(e){let{createBid:n}=e;return function(e,i,r,o,s,a){let d,{onResponse:c,onError:l,onBid:u,onFledge:f}=a;const p=Ne((()=>c(...d)),o.length+1);function g(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];d=t,p()}function h(e,t){u({adUnit:t.adUnitCode,bid:Object.assign(n(t),{requestBidder:t.bidder},e)})}if(o=o.map((e=>i({bidRequest:e,addBid:h,addPaapiConfig(e,t,n){f({adUnitCode:t.adUnitCode,ortb2:n.ortb2,ortb2Imp:t.ortb2Imp,...e})},done:p}).bidRequest)).filter((e=>e.bids.length>0)),o.length>0){const n=new Set;o.forEach((e=>e.bids.forEach((e=>n.add(e.bidId))))),(r=t(r)).ad_units.forEach((e=>{e.bids=e.bids.filter((e=>n.has(e.bid_id)))})),r.ad_units=r.ad_units.filter((e=>e.bids.length>0)),e(r,o,s,{onResponse:g,onError:l,onBid:u})}else g(!0,[])}}({createBid:o});oo((()=>r.get("processBidderRequests")),so),oo((()=>r.get("processPBSRequest")),a),function(e){let t,{DEBUG_KEY:n,storage:i,config:r,hook:o,logger:s}=e;try{i=i||window.sessionStorage,t=JSON.parse(i.getItem(n))}catch(e){}t&&io(t,{fromSession:!0,config:r,hook:o,logger:s})}({DEBUG_KEY:n,config:i,hook:r,logger:s}),i.getConfig("debugging",(e=>{let{debugging:o}=e;return function(e){let n,{getStorage:i=(()=>window.sessionStorage),DEBUG_KEY:r,config:o,hook:s,logger:a}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!=e){try{n=i()}catch(e){a.logError("sessionStorage is not available: debugging configuration will not persist on page reload",e)}null!=n&&function(e){let{sessionStorage:n=window.sessionStorage,DEBUG_KEY:i}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.enabled){e.intercept&&((e=t(e)).intercept=to.serializeConfig(e.intercept));try{n.setItem(i,JSON.stringify(e))}catch(e){}}else try{n.removeItem(i)}catch(e){}}(e,{sessionStorage:n,DEBUG_KEY:r}),e.enabled?io(e,{config:o,hook:s,logger:a}):function(e){let{hook:t,logger:n}=e;to.updateConfig({}),ro(!1),Kr({hook:t}),no&&(no=!1,n.logMessage("Debug overrides disabled"))}({hook:s,logger:a})}}(o,{DEBUG_KEY:n,config:i,hook:r,logger:s})}),{init:!0})}window._pbjsGlobals.forEach((e=>{window[e]&&!0===window[e]._installDebugging&&(window[e]._installDebugging=ao)}))})()})();
2
+ (()=>{var e={481:e=>{o.SYNC=1,o.ASYNC=2,o.QUEUE=4;var t="fun-hooks",n=Object.freeze({ready:0}),i=new WeakMap;function r(e,t){return Array.prototype.slice.call(e,t)}function o(e){var s,a={},d=[];function c(e,t){return"function"==typeof e?p.call(null,"sync",e,t):"string"==typeof e&&"function"==typeof t?p.apply(null,arguments):"object"==typeof e?l.apply(null,arguments):void 0}function l(e,t,n){var i=!0;void 0===t&&(t=Object.getOwnPropertyNames(e).filter((e=>!e.match(/^_/))),i=!1);var r={},o=["constructor"];do{t.forEach((function(t){var i=t.match(/(?:(sync|async):)?(.+)/),s=i[1]||"sync",a=i[2];if(!r[a]&&"function"==typeof e[a]&&-1===o.indexOf(a)){var d=e[a];r[a]=e[a]=p(s,d,n?[n,a]:void 0)}})),e=Object.getPrototypeOf(e)}while(i&&e);return r}function u(e){var n=Array.isArray(e)?e:e.split(".");return n.reduce((function(i,r,o){var a=i[r],c=!1;return a||(o===n.length-1?(s||d.push((function(){c||console.warn(t+": referenced '"+e+"' but it was never created")})),i[r]=f((function(e){i[r]=e,c=!0}))):i[r]={})}),a)}function f(e){var t=[],n=[],r=function(){},o={before:function(e,n){return a.call(this,t,"before",e,n)},after:function(e,t){return a.call(this,n,"after",e,t)},getHooks:function(e){var i=t.concat(n);"object"==typeof e&&(i=i.filter((function(t){return Object.keys(e).every((function(n){return t[n]===e[n]}))})));try{Object.assign(i,{remove:function(){return i.forEach((function(e){e.remove()})),this}})}catch(e){console.error("error adding `remove` to array, did you modify Array.prototype?")}return i},removeAll:function(){return this.getHooks().remove()}},s={install:function(i,o,s){this.type=i,r=s,s(t,n),e&&e(o)}};return i.set(o.after,s),o;function a(e,i,o,s){var a={hook:o,type:i,priority:s||10,remove:function(){var i=e.indexOf(a);-1!==i&&(e.splice(i,1),r(t,n))}};return e.push(a),e.sort((function(e,t){return t.priority-e.priority})),r(t,n),this}}function p(n,a,c){var l=a.after&&i.get(a.after);if(l){if(l.type!==n)throw t+": recreated hookable with different type";return a}var p,g=c?u(c):f(),h={get:function(e,t){return g[t]||Reflect.get.apply(Reflect,arguments)}};s||d.push(b);var m=new Proxy(a,h);return i.get(m.after).install(n,m,(function(e,t){var i,o=[];function s(e){o.push(e.hook)}e.length||t.length?(e.forEach(s),i=o.push(void 0)-1,t.forEach(s),p=function(e,t,s){var a,d=o.slice(),c=0,l="async"===n&&"function"==typeof s[s.length-1]&&s.pop();function u(e){"sync"===n?a=e:l&&l.apply(null,arguments)}function f(e){if(d[c]){var i=r(arguments);return f.bail=u,i.unshift(f),d[c++].apply(t,i)}"sync"===n?a=e:l&&l.apply(null,arguments)}return d[i]=function(){var i=r(arguments,1);"async"===n&&l&&(delete f.bail,i.push(f));var o=e.apply(t,i);"sync"===n&&f(o)},f.apply(null,s),a}):p=void 0,b()})),m;function b(){!s&&("sync"!==n||e.ready&o.SYNC)&&("async"!==n||e.ready&o.ASYNC)?"sync"!==n&&e.ready&o.QUEUE?h.apply=function(){var e=arguments;d.push((function(){m.apply(e[1],e[2])}))}:h.apply=function(){throw t+": hooked function not ready"}:h.apply=p}}return(e=Object.assign({},n,e)).ready?c.ready=function(){s=!0,function(e){for(var t;t=e.shift();)t()}(d)}:s=!0,c.get=u,c}e.exports=o}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";function e(t){var n,i,r;if(Array.isArray(t)){for(i=Array(n=t.length);n--;)i[n]=(r=t[n])&&"object"==typeof r?e(r):r;return i}if("[object Object]"===Object.prototype.toString.call(t)){for(n in i={},t)"__proto__"===n?Object.defineProperty(i,n,{value:e(t[n]),configurable:!0,enumerable:!0,writable:!0}):i[n]=(r=t[n])&&"object"==typeof r?e(r):r;return i}return t}function t(t){return e(t)||{}}const i="String",r="Function",o="Number",s="Object",a="Boolean",d=Object.prototype.toString;function c(e,t){return d.call(e)==="[object "+t+"]"}function l(e){return c(e,r)}function u(e){return c(e,i)}const f=Array.isArray.bind(Array);function p(e){return c(e,o)}function g(e){return c(e,s)}function h(e){return c(e,a)}const m=Number.isInteger.bind(Number);function b(e,t){return f(e)&&(!t||e.length===t)&&e.every((e=>m(e)))}const y=2,v={buckets:[{max:5,increment:.5}]},w={buckets:[{max:20,increment:.1}]},E={buckets:[{max:20,increment:.01}]},A={buckets:[{max:3,increment:.01},{max:8,increment:.05},{max:20,increment:.5}]},C={buckets:[{max:5,increment:.05},{max:10,increment:.1},{max:20,increment:.5}]};function T(e,t,n){let i="";if(!B(t))return i;const r=t.buckets.reduce(((e,t)=>e.max>t.max?e:t),{max:0});let o=0;const s=t.buckets.find((t=>{if(e>r.max*n){let e=t.precision;void 0===e&&(e=y),i=(t.max*n).toFixed(e)}else{if(e<=t.max*n&&e>=o*n)return t.min=o,t;o=t.max}}));return s&&(i=I(e,s,n)),i}function B(e){if(Be(e)||!e.buckets||!Array.isArray(e.buckets))return!1;let t=!0;return e.buckets.forEach((e=>{e.max&&e.increment||(t=!1)})),t}function I(e,t,n){const i=void 0!==t.precision?t.precision:y,r=t.increment*n,o=t.min*n;let s=Math.floor;const a=J.getConfig("cpmRoundingFunction");"function"==typeof a&&(s=a);const d=Math.pow(10,i+2),c=(e*d-o*d)/(r*d);let l,u;try{l=s(c)*r+o}catch(e){u=!0}return(u||"number"!=typeof l)&&(we("Invalid rounding function passed in config"),l=Math.floor(c)*r+o),l=Number(l.toFixed(10)),l.toFixed(i)}function R(e,t,n,i,r){for(t=t.split?t.split("."):t,i=0;i<t.length;i++)e=e?e[t[i]]:r;return e===r?n:e}const S={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"},k="pbjs_debug",O={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",BEFORE_PBS_HTTP:"beforePBSHttp",BROWSI_INIT:"browsiInit",BROWSI_DATA:"browsiData"},D={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={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"},_="s2s",x="Bid has missing or invalid properties",q="Invalid request ID",j="Bidder code is not allowed by allowedAlternateBidderCodes / allowUnknownBidderCodes",N="Bid price exceeds maximum value",$={body:"desc",body2:"desc2",sponsoredBy:"sponsored",cta:"ctatext",rating:"rating",address:"address",downloads:"downloads",likes:"likes",phone:"phone",price:"price",salePrice:"saleprice",displayUrl:"displayurl"},P={sponsored:1,desc:2,rating:3,likes:4,downloads:5,price:6,saleprice:7,phone:8,address:9,desc2:10,displayurl:11,ctatext:12},M={ICON:1,MAIN:3},W=["privacyIcon","clickUrl","adTemplate","rendererUrl","type"],L="TRUE"===Te(k).toUpperCase(),G={},F="random",H={};H[F]=!0,H.fixed=!0;const V=F,z={LOW:"low",MEDIUM:"medium",HIGH:"high",AUTO:"auto",DENSE:"dense",CUSTOM:"custom"};function K(e){const t=arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?{}:{priceGranularity:z.MEDIUM,customPriceBucket:{},mediaTypePriceGranularity:{},bidderSequence:V,auctionOptions:{}};function n(e){return t[e]}function i(n,i){t.hasOwnProperty(n)||Object.defineProperty(e,n,{enumerable:!0}),t[n]=i}const r={publisherDomain:{set(e){null!=e&&we("publisherDomain is deprecated and has no effect since v7 - use pageUrl instead"),i("publisherDomain",e)}},priceGranularity:{set(e){s(e)&&("string"==typeof e?i("priceGranularity",o(e)?e:z.MEDIUM):g(e)&&(i("customPriceBucket",e),i("priceGranularity",z.CUSTOM),ye("Using custom price granularity")))}},customPriceBucket:{},mediaTypePriceGranularity:{set(e){null!=e&&i("mediaTypePriceGranularity",Object.keys(e).reduce(((t,i)=>(s(e[i])?"string"==typeof e?t[i]=o(e[i])?e[i]:n("priceGranularity"):g(e)&&(t[i]=e[i],ye(`Using custom price granularity for ${i}`)):we(`Invalid price granularity for media type: ${i}`),t)),{}))}},bidderSequence:{set(e){H[e]?i("bidderSequence",e):we(`Invalid order: ${e}. Bidder Sequence was not set.`)}},auctionOptions:{set(e){(function(e){if(!g(e))return we("Auction Options must be an object"),!1;for(const t of Object.keys(e)){if("secondaryBidders"!==t&&"suppressStaleRender"!==t&&"suppressExpiredRender"!==t)return we(`Auction Options given an incorrect param: ${t}`),!1;if("secondaryBidders"===t){if(!f(e[t]))return we(`Auction Options ${t} must be of type Array`),!1;if(!e[t].every(u))return we(`Auction Options ${t} must be only string`),!1}else if(("suppressStaleRender"===t||"suppressExpiredRender"===t)&&!h(e[t]))return we(`Auction Options ${t} must be of type boolean`),!1}return!0})(e)&&i("auctionOptions",e)}}};return Object.defineProperties(e,Object.fromEntries(Object.entries(r).map((e=>{let[r,o]=e;return[r,Object.assign({get:n.bind(null,r),set:i.bind(null,r),enumerable:t.hasOwnProperty(r),configurable:!t.hasOwnProperty(r)},o)]})))),e;function o(e){return Object.keys(z).find((t=>e===z[t]))}function s(e){if(!e)return Ee("Prebid Error: no value passed to `setPriceGranularity()`"),!1;if("string"==typeof e)o(e)||we("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if(g(e)&&!B(e))return Ee("Invalid custom price value passed to `setPriceGranularity()`"),!1;return!0}}const J=function(){const e=[];let n,i,r,o=null;function s(){n={};const e=K({debug:L,bidderTimeout:3e3,enableSendAllBids:!0,useBidCache:!1,deviceAccess:!0,disableAjaxTimeout:!1,maxNestedIframes:10,maxBid:5e3,userSync:{topics:G}});i&&p(Object.keys(i).reduce(((t,n)=>(i[n]!==e[n]&&(t[n]=e[n]||{}),t)),{})),i=e,r={}}function a(){if(o&&r&&g(r[o])){const e=r[o],t=new Set([...Object.keys(i),...Object.keys(e)]),n={};for(const r of t){const t=i[r],o=e[r];n[r]=void 0===o?t:void 0===t?o:g(o)?Le({},t,o):o}return n}return{...i}}const[d,c]=[a,function(){const e=a();return Object.defineProperty(e,"ortb2",{get:function(){throw new Error("invalid access to 'orbt2' config - use request parameters instead")}}),e}].map((t=>function(){if(arguments.length<=1&&"function"!=typeof(arguments.length<=0?void 0:arguments[0])){const e=arguments.length<=0?void 0:arguments[0];return e?R(t(),e):a()}return function(t,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n;if("string"!=typeof t&&(r=t,t="*",i=n||{}),"function"!=typeof r)return void Ee("listener must be a function");const o={topic:t,callback:r};return e.push(o),i.init&&r("*"===t?c():{[t]:c(t)}),function(){e.splice(e.indexOf(o),1)}}(...arguments)})),[l,u]=[c,d].map((e=>function(){let n=e(...arguments);return n&&"object"==typeof n&&(n=t(n)),n}));function f(e){if(!g(e))return void Ee("setConfig options must be an object");const t=Object.keys(e),r={};t.forEach((t=>{let o=e[t];g(n[t])&&g(o)&&(o=Object.assign({},n[t],o));try{r[t]=i[t]=o}catch(e){we(`Cannot set config for property ${t} : `,e)}})),p(r)}function p(t){const n=Object.keys(t);e.filter((e=>n.includes(e.topic))).forEach((e=>{e.callback({[e.topic]:t[e.topic]})})),e.filter((e=>"*"===e.topic)).forEach((e=>e.callback(t)))}function h(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{!function(e){if(!g(e))throw new Error("setBidderConfig bidder options must be an object");if(!Array.isArray(e.bidders)||!e.bidders.length)throw new Error("setBidderConfig bidder options must contain a bidders list with at least 1 bidder");if(!g(e.config))throw new Error("setBidderConfig bidder options must contain a config object")}(e),e.bidders.forEach((n=>{r[n]||(r[n]=K({},!1)),Object.keys(e.config).forEach((i=>{const o=e.config[i],s=r[n][i];if(g(o)&&(null==s||g(s))){const e=t?Le:Object.assign;r[n][i]=e({},s||{},o)}else r[n][i]=o}))}))}catch(e){Ee(e)}}function m(e,t){o=e;try{return t()}finally{b()}}function b(){o=null}return s(),{getCurrentBidder:function(){return o},resetBidder:b,getConfig:c,getAnyConfig:d,readConfig:l,readAnyConfig:u,setConfig:f,mergeConfig:function(e){if(!g(e))return void Ee("mergeConfig input must be an object");const t=Le(a(),e);return f({...t}),t},setDefaults:function(e){g(n)?(Object.assign(n,e),Object.assign(i,e)):Ee("defaults must be an object")},resetConfig:s,runWithBidder:m,callbackWithBidder:function(e){return function(t){return function(){if("function"==typeof t){for(var n=arguments.length,i=new Array(n),r=0;r<n;r++)i[r]=arguments[r];return m(e,t.bind(this,...i))}we("config.callbackWithBidder callback is not a function")}}},setBidderConfig:h,getBidderConfig:function(){return r},mergeBidderConfig:function(e){return h(e,!0)}}}(),Y=window,Q=Y.pbjs=Y.pbjs||{};function X(){return Q}Q.cmd=Q.cmd||[],Q.que=Q.que||[],Q.installedModules=Q.installedModules||[],Y===window&&(Y._pbjsGlobals=Y._pbjsGlobals||[],Y._pbjsGlobals.push("pbjs")),X().setTimeout??setTimeout;const Z=X().Promise??Promise;function ee(){let e,t,{promiseFactory:n=(e=>new Z(e))}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};function i(e){return t=>e(t)}return{promise:n(((n,i)=>{e=n,t=i})),resolve:i(e),reject:i(t)}}const te=Boolean(window.console),ne=Boolean(te&&window.console.log),ie=Boolean(te&&window.console.info),re=Boolean(te&&window.console.warn),oe=Boolean(te&&window.console.error);let se,ae;function de(){null!=se&&se(...arguments)}const ce={checkCookieSupport:je,createTrackPixelIframeHtml:function(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e?((!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(e=encodeURI(e)),t&&(t=`sandbox="${t}"`),`<iframe ${t} id="${fe()}"\n frameborder="0"\n allowtransparency="true"\n marginheight="0" marginwidth="0"\n width="0" hspace="0" vspace="0" height="0"\n style="height:0px;width:0px;display:none;"\n scrolling="no"\n src="${e}">\n </iframe>`):""},getWindowSelf:function(){return window.self},getWindowTop:function(){return window.top},canAccessWindowTop:be,getWindowLocation:me,insertUserSyncIframe:ke,insertElement:Ie,isFn:l,triggerPixel:Se,logError:Ee,logWarn:we,logMessage:ye,logInfo:ve,parseQS:Pe,formatQS:function(e){return Object.keys(e).map((t=>Array.isArray(e[t])?e[t].map((e=>`${t}[]=${e}`)).join("&"):`${t}=${e[t]}`)).join("&")},deepEqual:We,resetWinDimensions:function(){const e=be()?ce.getWindowTop():ce.getWindowSelf();ae={screen:{width:e.screen?.width,height:e.screen?.height,availWidth:e.screen?.availWidth,availHeight:e.screen?.availHeight,colorDepth:e.screen?.colorDepth},innerHeight:e.innerHeight,innerWidth:e.innerWidth,outerWidth:e.outerWidth,outerHeight:e.outerHeight,visualViewport:{height:e.visualViewport?.height,width:e.visualViewport?.width},document:{documentElement:{clientWidth:e.document?.documentElement?.clientWidth,clientHeight:e.document?.documentElement?.clientHeight,scrollTop:e.document?.documentElement?.scrollTop,scrollLeft:e.document?.documentElement?.scrollLeft},body:{scrollTop:document.body?.scrollTop,scrollLeft:document.body?.scrollLeft,clientWidth:document.body?.clientWidth,clientHeight:document.body?.clientHeight}}}}};var le,ue=(le=0,function(){return++le});function fe(){return ue()+Math.random().toString(16).substr(2)}function pe(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,pe)}function ge(e){return e[0]+"x"+e[1]}function he(e){return f(e)&&2===e.length&&!isNaN(e[0])&&!isNaN(e[1])}function me(){return window.location}function be(){try{if(ce.getWindowTop().location.href)return!0}catch(e){return!1}}function ye(){Ce()&&ne&&console.log.apply(console,Ae(arguments,"MESSAGE:"))}function ve(){Ce()&&ie&&console.info.apply(console,Ae(arguments,"INFO:"))}function we(){Ce()&&re&&console.warn.apply(console,Ae(arguments,"WARNING:")),de(O.AUCTION_DEBUG,{type:"WARNING",arguments})}function Ee(){Ce()&&oe&&console.error.apply(console,Ae(arguments,"ERROR:")),de(O.AUCTION_DEBUG,{type:"ERROR",arguments})}function Ae(e,t){e=[].slice.call(e);const n=J.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 Ce(){return!!J.getConfig("debug")}function Te(e){return Pe(me().search)[e]||""}function Be(e){return!e||(f(e)||u(e)?!(e.length>0):Object.keys(e).length<=0)}function Ie(e,t,n,i){let r;t=t||document,r=n?t.getElementsByTagName(n):t.getElementsByTagName("head");try{if(r=r.length?r:t.getElementsByTagName("body"),r.length){r=r[0];const t=i?null:r.firstChild;return r.insertBefore(e,t)}}catch(e){}}function Re(e,t){let n=null;return new Z((i=>{const r=function(){e.removeEventListener("load",r),e.removeEventListener("error",r),null!=n&&window.clearTimeout(n),i()};e.addEventListener("load",r),e.addEventListener("error",r),null!=t&&(n=window.setTimeout(r,t))}))}function Se(e,t,n){const i=new Image;t&&ce.isFn(t)&&Re(i,n).then(t),i.src=e}function ke(e,t,n){const i=ce.createTrackPixelIframeHtml(e,!1,"allow-scripts allow-same-origin"),r=document.createElement("div");r.innerHTML=i;const o=r.firstChild;t&&ce.isFn(t)&&Re(o,n).then(t),ce.insertElement(o,document,"html",!0)}function Oe(e,t,n){return n.indexOf(e)===t}function De(e,t){return e.concat(t)}function Ue(e){return e.map((e=>e.bids.map((e=>e.bidder)).reduce(De,[]))).reduce(De,[]).filter((e=>void 0!==e)).filter(Oe)}function _e(e){let t=e.length;for(;t>0;){const n=Math.floor(Math.random()*t);t--;const i=e[t];e[t]=e[n],e[n]=i}return e}function xe(){return(new Date).getTime()}function qe(){return!1!==J.getConfig("deviceAccess")}function je(){if(window.navigator.cookieEnabled||document.cookie.length)return!0}function Ne(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 $e(e,t,n){return e.filter((e=>e.code===t)).flatMap((e=>e.bids)).filter((e=>e.bidder===n)).map((e=>e.params||{}))}function Pe(e){return e?e.replace(/^\?/,"").split("&").reduce(((e,t)=>{let[n,i]=t.split("=");return/\[\]$/.test(n)?(n=n.replace("[]",""),e[n]=e[n]||[],e[n].push(i)):e[n]=i||"",e}),{}):{}}function Me(e,t){const n=document.createElement("a");t&&"noDecodeWholeURL"in t&&t.noDecodeWholeURL?n.href=e:n.href=decodeURIComponent(e);const i=t&&"decodeSearchAsString"in t&&t.decodeSearchAsString;return{href:n.href,protocol:(n.protocol||"").replace(/:$/,""),hostname:n.hostname,port:+n.port,pathname:n.pathname.replace(/^(?!\/)/,"/"),search:i?n.search:ce.parseQS(n.search||""),hash:(n.hash||"").replace(/^#/,""),host:n.host||window.location.host}}function We(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)return!1;const i=Array.isArray(e),r=Array.isArray(t);if(i&&r){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!We(e[i],t[i],{checkTypes:n}))return!1;return!0}if(i||r)return!1;if(n&&e.constructor!==t.constructor)return!1;const o=Object.keys(e),s=Object.keys(t);if(o.length!==s.length)return!1;for(const i of o){if(!Object.prototype.hasOwnProperty.call(t,i))return!1;if(!We(e[i],t[i],{checkTypes:n}))return!1}return!0}function Le(e){for(let t=0;t<(arguments.length<=1?0:arguments.length-1);t++){const n=t+1<1||arguments.length<=t+1?void 0:arguments[t+1];g(n)&&Ge(e,n)}return e}function Ge(e,t){if(!g(e)||!g(t))return;const n=Object.keys(t);for(let i=0;i<n.length;i++){const r=n[i];if("__proto__"===r||"constructor"===r)continue;const o=t[r];g(o)?(e[r]||(e[r]={}),Ge(e[r],o)):Array.isArray(o)?Array.isArray(e[r])?o.forEach((t=>{e[r].some((e=>We(e,t)))||e[r].push(t)})):e[r]=[...o]:e[r]=o}}function Fe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=function(e,t){if(l(Math.imul))return Math.imul(e,t);var n=(4194303&e)*(t|=0);return 4290772992&e&&(n+=(4290772992&e)*t|0),0|n};let i=3735928559^t,r=1103547991^t;for(let t,o=0;o<e.length;o++)t=e.charCodeAt(o),i=n(i^t,2654435761),r=n(r^t,1597334677);return i=n(i^i>>>16,2246822507)^n(r^r>>>13,3266489909),r=n(r^r>>>16,2246822507)^n(i^i>>>13,3266489909),(4294967296*(2097151&r)+(i>>>0)).toString()}function He(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e};const n=new Map,i=function(){const i=t.apply(this,arguments);return n.has(i)||n.set(i,e.apply(this,arguments)),n.get(i)};return i.clear=n.clear.bind(n),i}function Ve(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;for(const n in e){const i=e[n],r=typeof i;if(void 0===i||"function"===r||"symbol"===r||i instanceof RegExp||i instanceof Map||i instanceof Set||i instanceof Date||null!==i&&"object"===r&&i.hasOwnProperty("toJSON"))return!0;if(null!==i&&"object"===r&&i.constructor===Object){if(t.has(i))return!0;if(t.add(i),Ve(i,t))return!0}}return!1}const ze=function(){let e;return function(){if(void 0!==e)return e;try{void 0===window.CompressionStream?e=!1:(new window.CompressionStream("gzip"),e=!0)}catch(t){e=!1}return e}}(),Ke="native",Je="video",Ye="banner",Qe="accessDevice",Xe="syncUser",Ze="fetchBids",et="transmitEids",tt="transmitUfpd",nt="transmitPreciseGeo",it="transmitTid",rt="loadExternalScript",ot="accessRequestCredentials",st="prebid",at="bidder",dt="analytics";var ct=n(481),lt=n.n(ct);const ut=lt()({ready:lt().SYNC|lt().ASYNC|lt().QUEUE}),ft=ee();ut.ready=(()=>{const e=ut.ready;return function(){try{return e.apply(ut)}finally{ft.resolve()}}})(),ft.promise,ut.get;const pt="component",gt=pt+"Type",ht=pt+"Name",mt="adapterCode",bt="storageType",yt="write",vt="configName",wt="syncType",Et="syncUrl",At="_config";function Ct(e){return function(t,n,i){const r={[gt]:t,[ht]:n,[pt]:`${t}.${n}`};return t===at&&(r[mt]=e(n)),Tt(Object.assign(r,i))}}const Tt=ut("sync",(e=>e)),[Bt,It]=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){function t(e){return function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];e("Activity control:",...n)}}return{logError:t(Ee),logWarn:t(we),logMessage:t(ye),logInfo:t(ve)}}();const t={};function n(e){return t[e]=t[e]||[]}function i(t,n,i,r){let o;try{o=i(r)}catch(i){e.logError(`Exception in rule ${n} for '${t}'`,i),o={allow:!1,reason:i}}return o&&Object.assign({activity:t,name:n,component:r[pt]},o)}const r={};function o(t){let{activity:n,name:i,allow:o,reason:s,component:a}=t;const d=`${i} ${o?"allowed":"denied"} '${n}' for '${a}'${s?":":""}`,c=r.hasOwnProperty(d);if(c&&clearTimeout(r[d]),r[d]=setTimeout((()=>delete r[d]),1e3),!c){const t=[d];s&&t.push(s),(o?e.logInfo:e.logWarn).apply(e,t)}}return[function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;const o=n(e),s=o.findIndex((e=>{let[t]=e;return r<t})),a=[r,t,i];return o.splice(s<0?o.length:s,0,a),function(){const e=o.indexOf(a);e>=0&&o.splice(e,1)}},function(e,t){let r,s;for(const[a,d,c]of n(e)){if(r!==a&&s)break;r=a;const n=i(e,d,c,t);if(n){if(!n.allow)return o(n),!1;s=n}}return s&&o(s),!0}]}(),Rt={fetch:window.fetch.bind(window),makeRequest:(e,t)=>new Request(e,t),timeout(e,t){const n=new AbortController;let i=setTimeout((()=>{n.abort(),Ee(`Request timeout after ${e}ms`,t),i=null}),e);return{signal:n.signal,done(){i&&clearTimeout(i)}}}},St="GET",kt="POST",Ot="Content-Type",Dt=ut("async",(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;return e.withCredentials&&(e.withCredentials=t&&n?It(ot,qr(t,n)):qe()),e}),"processRequestOptions");function Ut(){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=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,o=(t,n)=>{let o;null==e||null!=n?.signal||J.getConfig("disableAjaxTimeout")||(o=Rt.timeout(e,t),n=Object.assign({signal:o.signal},n)),Dt(n,i,r);let s=Rt.fetch(t,n);return null!=o?.done&&(s=s.finally(o.done)),s};return null==t&&null==n||(s=o,o=function(e,i){const r=new URL(null==e?.url?e:e.url,document.location).origin;let o=s(e,i);return t&&t(r),n&&(o=o.finally((()=>n(r)))),o}),o;var s}function _t(e,t){let n,{status:i,statusText:r="",headers:o,url:s}=e;function a(e){if(void 0===n)try{n=(new DOMParser).parseFromString(t,o?.get(Ot)?.split(";")?.[0])}catch(t){n=null,e&&e(t)}return n}return{readyState:XMLHttpRequest.DONE,status:i,statusText:r,responseText:t,response:t,responseType:"",responseURL:s,get responseXML(){return a(Ee)},getResponseHeader:e=>o?.has(e)?o.get(e):null,toJSON(){return Object.assign({responseXML:a()},this)},timedOut:!1}}function xt(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3,{request:t,done:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=Ut(e,{request:t,done:n},arguments.length>2?arguments[2]:void 0,arguments.length>3?arguments[3]:void 0);return function(e,t,n){!function(e,t){const{success:n,error:i}="object"==typeof t&&null!=t?t:{success:"function"==typeof t?t:()=>null,error:(e,t)=>Ee("Network error",e,t)};e.then((e=>e.text().then((t=>[e,t])))).then((e=>{let[t,r]=e;const o=_t(t,r);t.ok||304===t.status?n(r,o):i(t.statusText,o)}),(e=>i("",Object.assign(_t({status:0},""),{reason:e,timedOut:"AbortError"===e?.name}))))}(i(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n.method||(t?kt:St);if(i===St&&t){const i=Me(e,n);Object.assign(i.search,t),e=((r=i).protocol||"http")+"://"+(r.host||r.hostname+(r.port?`:${r.port}`:""))+(r.pathname||"")+(r.search?`?${ce.formatQS(r.search||"")}`:"")+(r.hash?`#${r.hash}`:"")}var r;const o=new Headers(n.customHeaders);o.set(Ot,n.contentType||"text/plain");const s={method:i,headers:o};return i!==St&&t&&(s.body=t),n.withCredentials&&(s.credentials="include"),isSecureContext&&(["browsingTopics","adAuctionHeaders"].forEach((e=>{n[e]&&(s[e]=!0)})),null!=n.suppressTopicsEnrollmentWarning&&(s.suppressTopicsEnrollmentWarning=n.suppressTopicsEnrollmentWarning)),n.keepalive&&(s.keepalive=!0),Rt.makeRequest(e,s)}(e,n,arguments.length>3&&void 0!==arguments[3]?arguments[3]:{})),t)}}xt(),Ut();const qt=new Map;function jt(e){return e.vastXml?e.vastXml:`<VAST version="3.0">\n <Ad>\n <Wrapper>\n <AdSystem>prebid.org wrapper</AdSystem>\n <VASTAdTagURI><![CDATA[${e.vastUrl}]]></VASTAdTagURI>\n ${(t=(t=e.vastImpUrl)&&(Array.isArray(t)?t:[t]))?t.map((e=>`<Impression><![CDATA[${e}]]></Impression>`)).join(""):""}\n <Creatives></Creatives>\n </Wrapper>\n </Ad>\n </VAST>`;var t}const Nt=(e,t,n)=>{e.videoCacheKey=n||pe(),e.vastUrl||(e.vastUrl=t)},$t=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:xt;const i={puts:e.map((e=>function(e){let{index:t=si.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=jt(e),i=t.getAuction(e),r={type:"xml",value:n,ttlseconds:Number(e.ttl)+15};return J.getConfig("cache.vasttrack")&&(r.bidder=e.bidder,r.bidid=e.requestId,r.aid=e.auctionId),null!=i&&(r.timestamp=i.getAuctionStart()),"string"==typeof e.customCacheKey&&""!==e.customCacheKey&&(r.key=e.customCacheKey),r}(e)))};n(J.getConfig("cache.timeout"))(J.getConfig("cache.url"),function(e){return{success:function(t){let n;try{n=JSON.parse(t).responses}catch(t){return void e(t,[])}n?e(null,n):e(new Error("The cache server didn't respond with a responses property."),[])},error:function(t,n){e(new Error(`Error storing video ad in the cache: ${t}: ${JSON.stringify(n)}`),[])}}}(t),JSON.stringify(i),{contentType:"text/plain",withCredentials:!0})};function Pt(e){const t=e.map((e=>e.bidResponse));$t(t,(function(n,i){n?Ee(`Failed to save to the video cache: ${n}. Video bids will be discarded:`,t):e.length!==i.length?Ee(`expected ${e.length} cache IDs, got ${i.length} instead`):i.forEach(((t,n)=>{const{auctionInstance:i,bidResponse:r,afterBidAdded:o}=e[n];var s;""===t.uuid?we("Supplied video cache key was already in use by Prebid Cache; caching attempt was rejected. Video bid must be discarded."):(Nt(r,(s=t.uuid,`${J.getConfig("cache.url")}?uuid=${s}`),t.uuid),zn(i,r),o())}))}))}let Mt,Wt,Lt;J.getConfig("cache",(e=>{let{cache:t}=e;Mt="number"==typeof t.batchSize&&t.batchSize>0?t.batchSize:1,Wt="number"==typeof t.batchTimeout&&t.batchTimeout>0?t.batchTimeout:0,t.useLocal&&!Lt&&(Lt=si.onExpiry((e=>{e.getBidsReceived().forEach((e=>{const t=qt.get(e.videoCacheKey);t&&t.startsWith("blob")&&URL.revokeObjectURL(t),qt.delete(e.videoCacheKey)}))})))}));const Gt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:setTimeout,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Pt,n=[[]],i=!1;const r=e=>e();return function(o,s,a){const d=Wt>0?e:r;n[n.length-1].length>=Mt&&n.push([]),n[n.length-1].push({auctionInstance:o,bidResponse:s,afterBidAdded:a}),i||(i=!0,d((()=>{n.forEach(t),n=[[]],i=!1}),Wt))}}(),Ft=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),R(this.getSettings(),`${e}.${t}`)}getScopes(){return Object.keys(this.getSettings()).filter((e=>e!==this.defaultScope))}settingsFor(e){return Le({},this.ownSettingsFor(null),this.ownSettingsFor(e))}ownSettingsFor(e){return e=this.#e(e),this.getSettings()[e]||{}}#e(e){return null==e?this.defaultScope:e}}((()=>X().bidderSettings||{}),S.BD_SETTING_STANDARD),Ht="html5",Vt="cookie";let zt=[];function Kt(){if(!qe())return{allow:!1}}Bt(Qe,"deviceAccess config",Kt),Bt(ot,"deviceAccess config",Kt),Bt(Qe,"bidderSettings.*.storageAllowed",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ft;if(e[gt]!==at)return;let n=t.get(e[mt],"storageAllowed");if(n&&!0!==n){const t=e[bt];n=Array.isArray(n)?n.some((e=>e===t)):n===t}else n=!!n;return n?void 0:{allow:n}})),ut("sync",((e,t)=>{})),J.setDefaults({userSync:t({syncEnabled:!0,filterSettings:{image:{bidders:"*",filter:"include"}},syncsPerBidder:5,syncDelay:3e3,auctionDelay:500})});const Jt=function(){let{moduleName:e,moduleType:t,advertiseKeys:n=!0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{isAllowed:i=It}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};function r(r,o,s,a){let d=e;const c=J.getCurrentBidder();c&&t===at&&xr.aliasRegistry[c]===e&&(d=c);const l={[bt]:o,[yt]:a};return n&&null!=s&&(l.storageKey=s),r({valid:i(Qe,qr(t,d,l))})}function o(e,t,n,i,o){if(!o||"function"!=typeof o)return r(e,t,n,i);zt.push((function(){let s=r(e,t,n,i);o(s)}))}function s(e){const t=e.charAt(0).toUpperCase()+e.substring(1),n=()=>window[e],i=function(t){return o((function(t){if(t&&t.valid)try{return!!n()}catch(t){Ee(`${e} api disabled`)}return!1}),Ht,null,!1,t)};return{[`has${t}`]:i,[`${e}IsEnabled`]:e=>o((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}),Ht,null,!1,e),[`setDataIn${t}`]:(e,t,r)=>o((function(r){r&&r.valid&&i()&&n().setItem(e,t)}),Ht,e,!0,r),[`getDataFrom${t}`]:(e,t)=>o((function(t){return t&&t.valid&&i()?n().getItem(e):null}),Ht,e,!1,t),[`removeDataFrom${t}`]:(e,t)=>o((function(t){t&&t.valid&&i()&&n().removeItem(e)}),Ht,e,!0,t)}}return{setCookie:function(e,t,n,i,r,s){return o((function(o){if(o&&o.valid){const o=r&&""!==r?` ;domain=${encodeURIComponent(r)}`:"",s=n&&""!==n?` ;expires=${n}`:"",a=null!=i&&"none"==i.toLowerCase()?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}${s}; path=/${o}${i?`; SameSite=${i}`:""}${a}`}}),Vt,e,!0,s)},getCookie:function(e,t){return o((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}),Vt,e,!1,t)},cookiesAreEnabled:function(e){return o((function(e){return!(!e||!e.valid)&&je()}),Vt,null,!1,e)},...s("localStorage"),...s("sessionStorage"),findSimilarCookies:function(e,t){return o((function(t){if(t&&t.valid){const t=[];if(qe()){const n=document.cookie.split(";");for(;n.length;){const i=n.pop();let r=i.indexOf("=");r=r<0?i.length:r,decodeURIComponent(i.slice(0,r).replace(/^\s+/,"")).indexOf(e)>=0&&t.push(decodeURIComponent(i.slice(r+1)))}}return t}}),Vt,e,!1,t)}}}({moduleName:"usersync",moduleType:st}),Yt=function(e){const t={};let n={image:[],iframe:[]};const i=new Set;let r={};const o={image:!0,iframe:!1};let s=e.config;function a(){if(s.syncEnabled&&e.browserSupportsCookies){try{o.iframe&&d(n.iframe,(e=>{const[t,i]=e;ye(`Invoking iframe user sync for bidder: ${t}`),ke(i),function(e,t){e.image=e.image.filter((e=>e[0]!==t))}(n,t)})),o.image&&d(n.image,(e=>{const[t,n]=e;ye(`Invoking image pixel user sync for bidder: ${t}`),Se(n)}))}catch(e){return Ee("Error firing user syncs",e)}n={image:[],iframe:[]}}}function d(e,t){_e(e).forEach(t)}return J.getConfig("userSync",(e=>{if(e.userSync){const t=e.userSync.filterSettings;g(t)&&(t.image||t.all||(e.userSync.filterSettings.image={bidders:"*",filter:"include"}))}s=Object.assign(s,e.userSync)})),e.regRule(Xe,"userSync config",(e=>{if(!s.syncEnabled)return{allow:!1,reason:"syncs are disabled"};if(e[gt]===at){const n=e[wt],i=e[ht];if(!t.canBidderRegisterSync(n,i))return{allow:!1,reason:`${n} syncs are not enabled for ${i}`}}})),t.registerSync=(t,o,a)=>i.has(o)?ye(`already fired syncs for "${o}", ignoring registerSync call`):s.syncEnabled&&f(n[t])?o?0!==s.syncsPerBidder&&Number(r[o])>=s.syncsPerBidder?we(`Number of user syncs exceeded for "${o}"`):void(e.isAllowed(Xe,qr(at,o,{[wt]:t,[Et]:a}))&&(n[t].push([o,a]),r=function(e,t){return e[t]?e[t]+=1:e[t]=1,e}(r,o))):we("Bidder is required for registering sync"):we(`User sync type "${t}" not supported`),t.bidderDone=i.add.bind(i),t.syncUsers=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(e)return setTimeout(a,Number(e));a()},t.triggerUserSyncs=()=>{s.enableOverride&&t.syncUsers()},t.canBidderRegisterSync=(e,t)=>!s.filterSettings||!function(e,t){const n=s.filterSettings;if(function(e,t){if(e.all&&e[t])return we(`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;const n=e.all?e.all:e[t],i=e.all?"all":t;if(!n)return!1;const r=n.filter,o=n.bidders;return r&&"include"!==r&&"exclude"!==r?(we(`UserSync "filterSettings.${i}.filter" setting '${r}' is not a valid option; use either 'include' or 'exclude'.`),!1):!!("*"===o||Array.isArray(o)&&o.length>0&&o.every((e=>u(e)&&"*"!==e)))||(we(`Detected an invalid setup in userSync "filterSettings.${i}.bidders"; use either '*' (to represent all bidders) or an array of bidders.`),!1)}(n,e)){o[e]=!0;const i=n.all?n.all:n[e],r="*"===i.bidders?[t]:i.bidders,s={include:(e,t)=>!e.includes(t),exclude:(e,t)=>e.includes(t)};return s[i.filter||"include"](r,t)}return!o[e]}(e,t),t}(Object.defineProperties({config:J.getConfig("userSync"),isAllowed:It,regRule:Bt},{browserSupportsCookies:{get:function(){return!/^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent)&&Jt.cookiesAreEnabled()}}})),Qt="outstream";new Map([["mimes",e=>Array.isArray(e)&&e.length>0&&e.every((e=>"string"==typeof e))],["minduration",m],["maxduration",m],["startdelay",m],["maxseq",m],["poddur",m],["protocols",b],["w",m],["h",m],["podid",u],["podseq",m],["rqddurs",b],["placement",m],["plcmt",m],["linearity",m],["skip",e=>[1,0].includes(e)],["skipmin",m],["skipafter",m],["sequence",m],["slotinpod",m],["mincpmpersec",p],["battr",b],["maxextended",m],["minbitrate",m],["maxbitrate",m],["boxingallowed",m],["playbackmethod",b],["playbackend",m],["delivery",b],["pos",m],["api",b],["companiontype",b],["poddedupe",b]]);const Xt=ut("sync",(function(e,t,n,i,r){if(n&&(r||i!==Qt)){const{url:t,useLocal:n}=J.getConfig("cache")||{};return t||n||!e.vastXml||e.vastUrl?!(!e.vastUrl&&!e.vastXml):(Ee('\n This bid contains only vastXml and will not work when a prebid cache url is not specified.\n Try enabling either prebid cache with pbjs.setConfig({ cache: {url: "..."} });\n or local cache with pbjs.setConfig({ cache: { useLocal: true }});\n '),!1)}return!(i===Qt&&!r&&!(e.renderer||t&&t.renderer||n.renderer))}),"checkVideoBidSetup");let Zt=null,en=0,tn=[];function nn(e,t){const n=en;let i=setTimeout((()=>{en===n&&null==Zt?e():null!=Zt?tn.push({callback:e,startTime:n,setTimerId(e){i=e}}):i=nn(e,en-n)()}),t);return()=>i}function rn(){let{startTime:e=xe,ttl:t=(()=>null),monotonic:n=!1,slack:i=5e3}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=new Map,o=[],s=[],a=n?e=>s.push(e):e=>s.splice(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e=>e,i=0,r=e.length&&e.length-1;const o=n(t);for(;r-i>1;){const t=i+Math.round((r-i)/2);o>n(e[t])?i=t:r=t}for(;e.length>i&&o>n(e[i]);)i++;return i}(s,e,(e=>e.expiry)),0,e);let d,c;function l(){if(c&&clearTimeout(c),s.length>0){const e=xe();d=Math.max(e,s[0].expiry+i),c=nn((()=>{const e=xe();let t=0;for(const n of s){if(n.expiry>e)break;o.forEach((e=>{try{e(n.item)}catch(e){Ee(e)}})),r.delete(n.item),t++}s.splice(0,t),c=null,l()}),d-e)}else c=null}let u={};return{[Symbol.iterator]:()=>r.keys(),add(n){!r.has(n)&&r.set(n,function(n){const r={},o=u;let s;const[f,p]=Object.entries({start:e,delta:t}).map((e=>{let t,[f,p]=e;return function(){const e=t={};Z.resolve(p(n)).then((n=>{e===t&&(r[f]=n,o===u&&null!=r.start&&null!=r.delta&&(s=r.start+r.delta,a(g),(null==c||d>s+i)&&l()))}))}})),g={item:n,refresh:p,get expiry(){return s}};return f(),p(),g}(n))},clear(){s.length=0,l(),r.clear(),u={}},toArray:()=>Array.from(r.keys()),refresh(){s.length=0,l();for(const e of r.values())e.refresh()},onExpiry:e=>(o.push(e),()=>{const t=o.indexOf(e);t>=0&&o.splice(t,1)})}}document.addEventListener("visibilitychange",(function(){document.hidden?Zt=Date.now():(en+=Date.now()-(Zt??0),Zt=null,tn.forEach((e=>{let{callback:t,startTime:n,setTimerId:i}=e;return i(nn(t,en-n)())})),tn=[])}));const on="eventHistoryTTL";let sn=null;const an=rn({monotonic:!0,ttl:()=>sn});J.getConfig(on,(e=>{const t=sn,n=e?.[on];sn="number"==typeof n?1e3*n:null,t!==sn&&an.refresh()}));let dn=Object.values(O);const cn={bidWon:"adUnitCode"},ln=function(){const e={};function t(e){return dn.includes(e)}return{has:t,on:function(n,i,r){if(t(n)){const t=e[n]||{que:[]};r?(t[r]=t[r]||{que:[]},t[r].que.push(i)):t.que.push(i),e[n]=t}else Ee("Wrong event name : "+n+" Valid event names :"+dn)},emit:function(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];!function(t,n){ye("Emitting event for: "+t);const i=n[0]||{},r=i[cn[t]],o=e[t]||{que:[]};var s=Object.keys(o);const a=[];an.add({eventType:t,args:i,id:r,elapsedTime:window.performance&&window.performance.now&&window.performance.now()||0}),r&&s.includes(r)&&a.push(...o[r].que),a.push(...o.que),(a||[]).forEach((function(e){if(e)try{e(...n)}catch(e){Ee("Error executing handler:","events.js",e,t)}}))}(t,i)},off:function(t,n,i){const r=e[t];Be(r)||Be(r.que)&&Be(r[i])||i&&(Be(r[i])||Be(r[i].que))||(i?(r[i].que||[]).forEach((function(e){const t=r[i].que;e===n&&t.splice(t.indexOf(e),1)})):(r.que||[]).forEach((function(e){const t=r.que;e===n&&t.splice(t.indexOf(e),1)})),e[t]=r)},get:function(){return e},addEvents:function(e){dn=dn.concat(e)},getEvents:function(){return an.toArray().map((e=>Object.assign({},e)))}}}();var un;un=ln.emit.bind(ln),se=un;const{on:fn,off:pn,get:gn,getEvents:hn,emit:mn,addEvents:bn,has:yn}=ln,vn="performanceMetrics",wn=window.performance&&window.performance.now?()=>window.performance.now():()=>Date.now(),En=new WeakMap;function An(e,t,n){return function(){t&&t();try{for(var i=arguments.length,r=new Array(i),o=0;o<i;o++)r[o]=arguments[o];return e.apply(this,r)}finally{n&&n()}}}function Cn(){let{now:e=wn,mkNode:t=Bn,mkTimer:n=Tn,mkRenamer:i=(e=>e),nodes:r=En}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(){return function o(s){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>({forEach(t){t(e)}});a=i(a);const d=function(e){return s.dfWalk({visit(t,n){const i=n.timestamps;if(i.hasOwnProperty(e))return i[e]}})};function c(e,t){const n=a(e);s.dfWalk({follow:(e,t)=>t.propagate&&(!e||!e.stopPropagation),visit(e,i){n.forEach((n=>{null==e?i.metrics[n]=t:(i.groups.hasOwnProperty(n)||(i.groups[n]=[]),i.groups[n].push(t))}))}})}function l(t){return n(e,(e=>c(t,e)))}function u(){let e={};return s.dfWalk({visit(t,n){e=Object.assign({},!t||t.includeGroups?n.groups:null,n.metrics,e)}}),e}const f={startTiming:l,measureTime:function(e,t){return l(e).stopAfter(t)()},measureHookTime:function(e,t,n){const i=l(e);return n(function(e){const t=i.stopBefore(e);return t.bail=e.bail&&i.stopBefore(e.bail),t.stopTiming=i,t.untimed=e,t}(t))},checkpoint:function(t){s.timestamps[t]=e()},timeSince:function(t,n){const i=d(t),r=null!=i?e()-i:null;return null!=n&&c(n,r),r},timeBetween:function(e,t,n){const i=d(e),r=d(t),o=null!=i&&null!=r?r-i:null;return null!=n&&c(n,o),o},setMetric:c,getMetrics:u,fork:function(){let{propagate:e=!0,stopPropagation:n=!1,includeGroups:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return o(t([[s,{propagate:e,stopPropagation:n,includeGroups:i}]]),a)},join:function(e){let{propagate:t=!0,stopPropagation:n=!1,includeGroups:i=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=r.get(e);null!=o&&o.addParent(s,{propagate:t,stopPropagation:n,includeGroups:i})},newMetrics:function(){return o(s.newSibling(),a)},renameWith:function(e){return o(s,e)},toJSON:()=>u()};return r.set(f,s),f}(t([]))}}function Tn(e,t){const n=e();let i=!1;function r(){i||(t(e()-n),i=!0)}return r.stopBefore=e=>An(e,r),r.stopAfter=e=>An(e,null,r),r}function Bn(e){return{metrics:{},timestamps:{},groups:{},addParent(t,n){e.push([t,n])},newSibling:()=>Bn(e.slice()),dfWalk(){let t,{visit:n,follow:i=(()=>!0),visited:r=new Set,inEdge:o}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r.has(this)){if(r.add(this),t=n(o,this),null!=t)return t;for(const[s,a]of e)if(i(o,a)&&(t=s.dfWalk({visit:n,follow:i,visited:r,inEdge:a}),null!=t))return t}}}}const In=(()=>{const e=function(){},t=()=>({}),n={forEach:e},i=()=>null;i.stopBefore=e=>e,i.stopAfter=e=>e;const r=Object.defineProperties({dfWalk:e,newSibling:()=>r,addParent:e},Object.fromEntries(["metrics","timestamps","groups"].map((e=>[e,{get:t}]))));return Cn({now:()=>0,mkNode:()=>r,mkRenamer:()=>()=>n,mkTimer:()=>i,nodes:{get:e,set:e}})()})();let Rn=!0;function Sn(e){return Rn&&e||In}function kn(e,t){return function(n,i){var r=this;return function(o){for(var s=arguments.length,a=new Array(s>1?s-1:0),d=1;d<s;d++)a[d-1]=arguments[d];return Sn(t.apply(r,a)).measureHookTime(e+n,o,(e=>i.call(r,e,...a)))}}}J.getConfig(vn,(e=>{Rn=!!e[vn]})),Cn(),kn("requestBids.",(e=>e.metrics)),kn("addBidResponse.",((e,t)=>t.metrics));const On="minBidCacheTTL";let Dn=1,Un=null;const _n=[];function xn(){return Un}function qn(e){_n.push(e)}J.getConfig("ttlBuffer",(e=>{"number"==typeof e.ttlBuffer?Dn=e.ttlBuffer:Ee("Invalid value for ttlBuffer",e.ttlBuffer)})),J.getConfig(On,(e=>{const t=Un;Un=e?.[On],Un="number"==typeof Un?Un:null,t!==Un&&_n.forEach((e=>e(Un)))}));const{syncUsers:jn}=Yt,Nn="completed";fn(O.BID_ADJUSTMENT,(function(e){!function(e){const t=function(e,t,n){let{index:i=si.index,bs:r=Ft}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n=n||i.getBidRequest(t);const o=t?.adapterCode,s=t?.bidderCode||n?.bidder,a=r.get(t?.adapterCode,"adjustAlternateBids"),d=r.getOwn(s,"bidCpmAdjustment")||r.get(a?o:s,"bidCpmAdjustment");if(d&&"function"==typeof d)try{return d(e,Object.assign({},t),n)}catch(e){Ee("Error during bid adjustment",e)}return e}(e.cpm,e);t>=0&&(e.cpm=t)}(e)}));const $n={},Pn={},Mn=[],Wn=X();function Ln(e){let{adUnits:t,adUnitCodes:n,callback:i,cbTimeout:r,labels:o,auctionId:s,ortb2Fragments:a,metrics:d}=e;d=Sn(d);const c=t,l=o,u=n,f=s||pe(),p=r,g=new Set,h=ee(),m=ee();let b=[],y=i,B=[];const I=rn({startTime:e=>e.responseTimestamp,ttl:e=>null==xn()?null:1e3*Math.max(xn(),e.ttl)});let R,S,k,D,U=[],x=[],q=[];function j(){return{auctionId:f,timestamp:R,auctionEnd:S,auctionStatus:D,adUnits:c,adUnitCodes:u,labels:l,bidderRequests:B,noBids:U,bidsReceived:I.toArray(),bidsRejected:b,winningBids:x,timeout:p,metrics:d,seatNonBids:q}}function N(e){if(e?mn(O.AUCTION_TIMEOUT,j()):clearTimeout(k),void 0===S){let n=[];e&&(ye(`Auction ${f} timedOut`),n=B.filter((e=>!g.has(e.bidderRequestId))).flatMap((e=>e.bids)),n.length&&mn(O.BID_TIMEOUT,n)),D=Nn,S=Date.now(),d.checkpoint("auctionEnd"),d.timeBetween("requestBids","auctionEnd","requestBids.total"),d.timeBetween("callBids","auctionEnd","requestBids.callBids"),h.resolve(),mn(O.AUCTION_END,j()),Vn(c,(function(){try{if(null!=y){const t=I.toArray().filter((e=>u.includes(e.adUnitCode))).reduce(ri,{});y.apply(Wn,[t,e,f]),y=null}}catch(e){Ee("Error executing bidsBackHandler",null,e)}finally{n.length&&xr.callTimedOutBidders(t,n,p);const e=J.getConfig("userSync")??{};e.enableOverride||jn(e.syncDelay)}}))}}function $(){J.resetBidder(),ve(`Bids Received for Auction with id: ${f}`,I.toArray()),D=Nn,N(!1)}function P(e){g.add(e)}function W(e){e.forEach((e=>{var t;t=e,B=B.concat(t)}));const t={},n={bidRequests:e,run:()=>{k=setTimeout((()=>N(!0)),p),D="inProgress",mn(O.AUCTION_INIT,j());const n=function(e,t){let{index:n=si.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=0,r=!1;const o=new Set,s={};function a(){i--,r&&0===i&&e()}function d(e,t,n){return s[t.requestId]=!0,function(e,t){let{index:n=si.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n.getBidderRequest(e),r=n.getAdUnit(e),o=i&&i.start||e.requestTimestamp;Object.assign(e,{responseTimestamp:e.responseTimestamp||xe(),requestTimestamp:e.requestTimestamp||o,cpm:parseFloat(e.cpm)||0,bidder:e.bidder||e.bidderCode,adUnitCode:t}),null!=r?.ttlBuffer&&(e.ttlBuffer=r.ttlBuffer),e.timeToRespond=e.responseTimestamp-e.requestTimestamp}(t,e),i++,n(a)}function c(e,i){d(e,i,(e=>{const r=function(e){let{index:t=si.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};mn(O.BID_ADJUSTMENT,e);const n=t.getAdUnit(e);e.instl=1===n?.ortb2Imp?.instl;const i=t.getBidRequest(e)?.renderer||n.renderer,r=e.mediaType,o=t.getMediaTypes(e),s=o&&o[r];var a=s&&s.renderer,d=null;!a||!a.render||!0===a.backupOnly&&e.renderer?!i||!i.render||!0===i.backupOnly&&e.renderer||(d=i):d=a,d&&(e.renderer=Mr.install({url:d.url,config:d.options,renderNow:null==d.url}),e.renderer.setRender(d.render));const c=Jn(e.mediaType,o,J.getConfig("mediaTypePriceGranularity")),l=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=parseFloat(e);return isNaN(i)&&(i=""),{low:""===i?"":T(e,v,n),med:""===i?"":T(e,w,n),high:""===i?"":T(e,E,n),auto:""===i?"":T(e,C,n),dense:""===i?"":T(e,A,n),custom:""===i?"":T(e,t,n)}}(e.cpm,"object"==typeof c?c:J.getConfig("customPriceBucket"),J.getConfig("currency.granularityMultiplier"));return e.pbLg=l.low,e.pbMg=l.med,e.pbHg=l.high,e.pbAg=l.auto,e.pbDg=l.dense,e.pbCg=l.custom,e}(i);mn(O.BID_ACCEPTED,r),r.mediaType===Je?function(e,t,n){let{index:i=si.index}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=!0;const o=i.getMediaTypes({requestId:t.originalRequestId||t.requestId,adUnitId:t.adUnitId})?.video,s=o&&o?.context,a=o&&o?.useCacheKey,{useLocal:d,url:c,ignoreBidderCacheKey:l}=J.getConfig("cache")||{};d?(e=>{const t=jt(e),n=URL.createObjectURL(new Blob([t],{type:"text/xml"}));Nt(e,n),qt.set(e.videoCacheKey,n)})(t):c&&(a||s!==Qt)&&(!t.videoCacheKey||l?(r=!1,Kn(e,t,n,o)):t.vastUrl||(Ee("videoCacheKey specified but not required vastUrl for video bid"),r=!1)),r&&(zn(e,t),n())}(t,r,e):(function(e){return null!=e.native&&"object"==typeof e.native}(r)&&function(e,t){const n=t?.nativeOrtbRequest,i=e.native?.ortb;if(n&&i){const t=function(e,t){const n={},i=t?.assets||[];n.clickUrl=e.link?.url,n.privacyLink=e.privacy;for(const t of e?.assets||[]){const e=i.find((e=>t.id===e.id));t.title?n.title=t.title.text:t.img?n[e?.img?.type===M.MAIN?"image":"icon"]={url:t.img.url,width:t.img.w,height:t.img.h}:t.data&&(n[fi[pi[e?.data?.type]]]=t.data.value)}n.impressionTrackers=[];let r=[];e.imptrackers&&n.impressionTrackers.push(...e.imptrackers);for(const t of e?.eventtrackers||[])t.event===ci&&t.method===ai&&n.impressionTrackers.push(t.url),t.event===ci&&t.method===di&&r.push(t.url);return r=r.map((e=>`<script async src="${e}"><\/script>`)),e?.jstracker&&r.push(e.jstracker),r.length&&(n.javascriptTrackers=r.join("\n")),n}(i,n);Object.assign(e.native,t)}["rendererUrl","adTemplate"].forEach((n=>{const i=t?.nativeParams?.[n];i&&(e.native[n]=mi(i))}))}(r,n.getAdUnit(r)),zn(t,r),e())}))}function l(e,n,i){return d(e,n,(e=>{n.rejectionReason=i,we(`Bid from ${n.bidder||"unknown bidder"} was rejected: ${i}`,n),mn(O.BID_REJECTED,n),t.addBidRejected(n),e()}))}function u(){let n=t.getBidRequests();const a=J.getConfig("auctionOptions");if(o.add(this),a&&!Be(a)){const e=a.secondaryBidders;e&&!n.every((t=>e.includes(t.bidderCode)))&&(n=n.filter((t=>!e.includes(t.bidderCode))))}r=n.every((e=>o.has(e))),this.bids.forEach((e=>{s[e.bidId]||(t.addNoBid(e),mn(O.NO_BID,e))})),r&&0===i&&e()}return{addBidResponse:function(){function e(e,t){Gn.call({dispatch:c},e,t,(()=>{let n=!1;return i=>{n||(l(e,t,i),n=!0)}})())}return e.reject=l,e}(),adapterDone:function(){Fn(Z.resolve()).finally((()=>u.call(this)))}}}($,this);xr.callBids(c,e,n.addBidResponse,n.adapterDone,{request(e,n){r($n,n),r(t,e),Pn[e]||(Pn[e]={SRA:!0,origin:n}),t[e]>1&&(Pn[e].SRA=!1)},done(e){$n[e]--,Mn[0]&&i(Mn[0])&&Mn.shift()}},p,P,a),m.resolve()}};function i(e){let t=!0;const n=J.getConfig("maxRequestsPerOrigin")||4;return e.bidRequests.some((e=>{let i=1;const r=void 0!==e.src&&e.src===_?"s2s":e.bidderCode;return Pn[r]&&(!1===Pn[r].SRA&&(i=Math.min(e.bids.length,n)),$n[Pn[r].origin]+i>n&&(t=!1)),!t})),t&&e.run(),t}function r(e,t){void 0===e[t]?e[t]=1:e[t]++}i(n)||(we("queueing auction due to limited endpoint capacity"),Mn.push(n))}return qn((()=>I.refresh())),fn(O.SEAT_NON_BID,(e=>{var t;e.auctionId===f&&(t=e.seatnonbid,q=q.concat(t))})),{addBidReceived:function(e){I.add(e)},addBidRejected:function(e){b=b.concat(e)},addNoBid:function(e){U=U.concat(e)},callBids:function(){D="started",R=Date.now();const e=d.measureTime("requestBids.makeRequests",(()=>xr.makeBidRequests(c,R,f,p,l,a,d)));ve(`Bids Requested for Auction with id: ${f}`,e),d.checkpoint("callBids"),e.length<1?(we("No valid bid requests returned for auction"),$()):Hn.call({dispatch:W,context:this},e)},addWinningBid:function(e){x=x.concat(e),xr.callBidWonBidder(e.adapterCode||e.bidder,e,t),e.deferBilling||xr.triggerBilling(e)},setBidTargeting:function(e){xr.callSetTargetingBidder(e.adapterCode||e.bidder,e)},getWinningBids:()=>x,getAuctionStart:()=>R,getAuctionEnd:()=>S,getTimeout:()=>p,getAuctionId:()=>f,getAuctionStatus:()=>D,getAdUnits:()=>c,getAdUnitCodes:()=>u,getBidRequests:()=>B,getBidsReceived:()=>I.toArray(),getNoBids:()=>U,getNonBids:()=>q,getFPD:()=>a,getMetrics:()=>d,end:h.promise,requestsDone:m.promise,getProperties:j}}const Gn=function(e){return function(e,t){return Object.defineProperties(t,Object.fromEntries(["before","after","getHooks","removeAll"].map((t=>[t,{get:()=>e[t]}])))),t}(e,(function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return n.push((function(){})),e.apply(this,n)}))}(ut("async",(function(e,t,n){!function(e){const t=J.getConfig("maxBid");return!t||!e.cpm||t>=Number(e.cpm)}(t)?n(N):this.dispatch.call(null,e,t)}),"addBidResponse")),Fn=ut("sync",(e=>e),"responsesReady"),Hn=ut("sync",(function(e){this.dispatch.call(this.context,e)}),"addBidderRequests"),Vn=ut("async",(function(e,t){t&&t()}),"bidsBackCallback");function zn(e,t){!function(e){let t;const n=!0===Ft.get(e.bidderCode,"allowZeroCpmBids")?e.cpm>=0:e.cpm>0;e.bidderCode&&(n||e.dealId)&&(t=function(e,t){let{index:n=si.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return{};const i=n.getBidRequest(t);var r={};return ii(r,ni(t.mediaType,e),t,i),e&&Ft.getOwn(e,S.ADSERVER_TARGETING)&&(ii(r,Ft.ownSettingsFor(e),t,i),t.sendStandardTargeting=Ft.get(e,"sendStandardTargeting")),r}(e.bidderCode,e)),e.adserverTargeting=Object.assign(e.adserverTargeting||{},t)}(t),Sn(t.metrics).timeSince("addBidResponse","addBidResponse.total"),e.addBidReceived(t),mn(O.BID_RESPONSE,t)}const Kn=ut("async",(function(e,t,n,i){Gt(e,t,n)}),"callPrebidCache");function Jn(e,t,n){if(e&&n){if(e===Je){const e=t?.[Je]?.context??"instream";if(n[`${Je}-${e}`])return n[`${Je}-${e}`]}return n[e]}}const Yn=e=>t=>{const n=e||function(e){let{index:t=si.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=Jn(e.mediaType,t.getMediaTypes(e),J.getConfig("mediaTypePriceGranularity"));return"string"==typeof e.mediaType&&n?"string"==typeof n?n:"custom":J.getConfig("priceGranularity")}(t);return"auto"===n?t.pbAg:"dense"===n?t.pbDg:"low"===n?t.pbLg:"medium"===n?t.pbMg:"high"===n?t.pbHg:"custom"===n?t.pbCg:void 0},Qn=()=>e=>e.creativeId?e.creativeId:"",Xn=()=>e=>e.meta&&e.meta.advertiserDomains&&e.meta.advertiserDomains.length>0?[e.meta.advertiserDomains].flat()[0]:"",Zn=()=>e=>e.meta&&(e.meta.networkId||e.meta.networkName)?e?.meta?.networkName||e?.meta?.networkId:"",ei=()=>e=>{const t=e?.meta?.primaryCatId;return Array.isArray(t)?t[0]||"":t||""};function ti(e,t){return{key:e,val:"function"==typeof t?function(e,n){return t(e,n)}:function(e){return e[t]}}}function ni(e,t){const n=Object.assign({},Ft.settingsFor(null));if(n[S.ADSERVER_TARGETING]||(n[S.ADSERVER_TARGETING]=[ti(D.BIDDER,"bidderCode"),ti(D.AD_ID,"adId"),ti(D.PRICE_BUCKET,Yn()),ti(D.SIZE,"size"),ti(D.DEAL,"dealId"),ti(D.SOURCE,"source"),ti(D.FORMAT,"mediaType"),ti(D.ADOMAIN,Xn()),ti(D.ACAT,ei()),ti(D.DSP,Zn()),ti(D.CRID,Qn())]),"video"===e){const e=n[S.ADSERVER_TARGETING].slice();if(n[S.ADSERVER_TARGETING]=e,[D.UUID,D.CACHE_ID].forEach((t=>{void 0===e.find((e=>e.key===t))&&e.push(ti(t,"videoCacheKey"))})),J.getConfig("cache.url")&&(!t||!1!==Ft.get(t,"sendStandardTargeting"))){const t=Me(J.getConfig("cache.url"));void 0===e.find((e=>e.key===D.CACHE_HOST))&&e.push(ti(D.CACHE_HOST,(function(e){return e?.adserverTargeting?.[D.CACHE_HOST]||t.hostname})))}}return n}function ii(e,t,n,i){var r=t[S.ADSERVER_TARGETING];return n.size=n.getSize(),(r||[]).forEach((function(r){var o,s=r.key,a=r.val;if(e[s]&&we("The key: "+s+" is being overwritten"),l(a))try{a=a(n,i)}catch(e){Ee("bidmanager","ERROR",e)}(void 0===t.suppressEmptyKeys||!0!==t.suppressEmptyKeys)&&s!==D.DEAL&&s!==D.ACAT&&s!==D.DSP&&s!==D.CRID||(!u(o=a)||o&&0!==o.length)&&null!=a?e[s]=a:ve("suppressing empty key '"+s+"' from adserver targeting")})),e}function ri(e,t){return e[t.adUnitCode]||(e[t.adUnitCode]={bids:[]}),e[t.adUnitCode].bids.push(t),e}function oi(e){Object.assign(this,{getAuction(t){let{auctionId:n}=t;if(null!=n)return e().find((e=>e.getAuctionId()===n))},getAdUnit(t){let{adUnitId:n}=t;if(null!=n)return e().flatMap((e=>e.getAdUnits())).find((e=>e.adUnitId===n))},getMediaTypes(e){let{adUnitId:t,requestId:n}=e;if(null!=n){const e=this.getBidRequest({requestId:n});if(null!=e&&(null==t||e.adUnitId===t))return e.mediaTypes}else if(null!=t){const e=this.getAdUnit({adUnitId:t});if(null!=e)return e.mediaTypes}},getBidderRequest(t){let{requestId:n,bidderRequestId:i}=t;if(null!=n||null!=i){let t=e().flatMap((e=>e.getBidRequests()));return null!=i&&(t=t.filter((e=>e.bidderRequestId===i))),null==n?t[0]:t.find((e=>e.bids&&null!=e.bids.find((e=>e.bidId===n))))}},getBidRequest(t){let{requestId:n}=t;if(null!=n)return e().flatMap((e=>e.getBidRequests())).flatMap((e=>e.bids)).find((e=>e&&e.bidId===n))},getOrtb2(e){return this.getBidderRequest(e)?.ortb2||this.getAuction(e)?.getFPD()?.global?.ortb2}})}const si=function(){const e=rn({startTime:e=>e.end.then((()=>e.getAuctionEnd())),ttl:e=>null==xn()?null:e.end.then((()=>1e3*Math.max(xn(),...e.getBidsReceived().map((e=>e.ttl)))))});qn((()=>e.refresh()));const t={onExpiry:e.onExpiry};function n(t){for(const n of e)if(n.getAuctionId()===t)return n}function i(){return e.toArray().flatMap((e=>e.getBidsReceived()))}return t.addWinningBid=function(e){const t=Sn(e.metrics);t.checkpoint("bidWon"),t.timeBetween("auctionEnd","bidWon","adserver.pending"),t.timeBetween("requestBids","bidWon","adserver.e2e");const i=n(e.auctionId);i?i.addWinningBid(e):we("Auction not found when adding winning bid")},Object.entries({getAllWinningBids:{name:"getWinningBids"},getBidsRequested:{name:"getBidRequests"},getNoBids:{},getAdUnits:{},getBidsReceived:{pre:e=>e.getAuctionStatus()===Nn},getAdUnitCodes:{post:Oe}}).forEach((n=>{let[i,{name:r=i,pre:o,post:s}]=n;const a=null==o?e=>e[r]():e=>o(e)?e[r]():[],d=null==s?e=>e:e=>e.filter(s);t[i]=()=>d(e.toArray().flatMap(a))})),t.getAllBidsForAdUnitCode=function(e){return i().filter((t=>t&&t.adUnitCode===e))},t.createAuction=function(t){const n=Ln(t);return function(t){e.add(t)}(n),n},t.findBidByAdId=function(e){return i().find((t=>t.adId===e))},t.getStandardBidderAdServerTargeting=function(){return ni()[S.ADSERVER_TARGETING]},t.setStatusForBids=function(e,i){const r=t.findBidByAdId(e);if(r&&(r.status=i),r&&"targetingSet"===i){const e=n(r.auctionId);e&&e.setBidTargeting(r)}},t.getLastAuctionId=function(){const t=e.toArray();return t.length&&t[t.length-1].getAuctionId()},t.clearAllAuctions=function(){e.clear()},t.index=new oi((()=>e.toArray())),t}(),ai=1,di=2,ci=1,li=[],ui={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}}},fi=yi($),pi=yi(P);function gi(e){if(e&&e.type&&(!(!(t=e.type)||!Object.keys(ui).includes(t))||(Ee(`${t} nativeParam is not supported`),!1))&&(e=ui[e.type]),!e||!e.ortb||function(e){const t=e.assets;if(!Array.isArray(t)||0===t.length)return Ee("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)))?(Ee("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)?(Ee("ortb.eventtrackers is not an array. Eventtrackers: ",e.eventtrackers),!1):t.every((e=>function(e){if(!g(e))return Ee("asset must be an object. Provided asset: ",e),!1;if(e.img){if(!p(e.img.w)&&!p(e.img.wmin))return Ee("for img asset there must be 'w' or 'wmin' property"),!1;if(!p(e.img.h)&&!p(e.img.hmin))return Ee("for img asset there must be 'h' or 'hmin' property"),!1}else if(e.title){if(!p(e.title.len))return Ee("for title asset there must be 'len' property defined"),!1}else if(e.data){if(!p(e.data.type))return Ee("for data asset 'type' property must be a number"),!1}else if(e.video&&!(Array.isArray(e.video.mimes)&&Array.isArray(e.video.protocols)&&p(e.video.minduration)&&p(e.video.maxduration)))return Ee("video asset is not properly configured"),!1;return!0}(e)))}(e.ortb))return e;var t}function hi(e){let{index:n=si.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=n.getAdUnit(e);if(!i)return!1;const r=i.nativeOrtbRequest;return function(e,t){if(!e?.link?.url)return Ee("native response doesn't have 'link' property. Ortb response: ",e),!1;const n=t.assets.filter((e=>1===e.required)).map((e=>e.id)),i=e.assets.map((e=>e.id)),r=n.every((e=>i.includes(e)));return r||Ee(`didn't receive a bid with all required assets. Required ids: ${n}, but received ids in response: ${i}`),r}(e.native?.ortb||function(e,n){const i={...bi(e),assets:[]};function r(e,r){let o=n.assets.find(e);null!=o&&(o=t(o),r(o),i.assets.push(o))}return Object.keys(e).filter((t=>!!e[t])).forEach((t=>{const n=mi(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?M.MAIN:M.ICON;r((t=>null!=t.img&&t.img.type===e),(e=>{e.img={url:n}}));break;default:t in $&&r((e=>null!=e.data&&e.data.type===P[$[t]]),(e=>{e.data={value:n}}))}})),i}(e.native,r),r)}function mi(e){return e?.url||e}function bi(e){const t={link:{},eventtrackers:[]};return Object.entries(e).forEach((e=>{let[n,i]=e;switch(n){case"clickUrl":t.link.url=i;break;case"clickTrackers":t.link.clicktrackers=Array.isArray(i)?i:[i];break;case"impressionTrackers":(Array.isArray(i)?i:[i]).forEach((e=>{t.eventtrackers.push({event:ci,method:ai,url:e})}));break;case"javascriptTrackers":t.jstracker=Array.isArray(i)?i.join(""):i;break;case"privacyLink":t.privacy=i}})),t}function yi(e){var t={};for(var n in e)t[e[n]]=n;return t}function vi(){let{src:e="client",bidder:t="",bidId:n,transactionId:i,adUnitId:r,auctionId:o}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var s=e;Object.assign(this,{bidderCode:t,width:0,height:0,adId:fe(),requestId:n,transactionId:i,adUnitId:r,auctionId:o,mediaType:"banner",source:s}),this.getSize=function(){return this.width+"x"+this.height}}Object.fromEntries(Object.entries(U).map((e=>{let[t,n]=e;return[n,t]})));const wi=["cpm","ttl","creativeId","netRevenue","currency"],Ei=["auctionId","transactionId"],Ai=He((e=>{let{bidderCode:t}=e;if(It(it,qr(at,t)))return{bidRequest:e=>e,bidderRequest:e=>e};function n(e,t,n){return Ei.includes(t)?null:Reflect.get(e,t,n)}function i(e,t){const n=new Proxy(e,t);return Object.entries(e).filter((e=>{let[t,n]=e;return"function"==typeof n})).forEach((t=>{let[i,r]=t;return n[i]=r.bind(e)})),n}const r=He((e=>i(e,{get:n})),(e=>e.bidId));return{bidRequest:r,bidderRequest:e=>i(e,{get:(t,i,o)=>"bids"===i?e.bids.map(r):n(t,i,o)})}}));function Ci(e){return Object.assign((t=e.code,n=t,{callBids:function(){},setBidderCode:function(e){n=e},getBidderCode:function(){return n}}),{getSpec:function(){return Object.freeze(Object.assign({},e))},registerSyncs:i,callBids:function(t,n,r,o,s,a){if(!Array.isArray(t.bids))return;const d=Ai(t),c={};function l(e,t){const i=Sn(t.metrics);i.checkpoint("addBidResponse"),c[e]=!0,i.measureTime("addBidResponse.validate",(()=>function(e,t){let{index:n=si.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function i(e){return`Invalid bid from ${t.bidderCode}. Ignoring bid: ${e}`}return e?t?function(){const e=Object.keys(t);return wi.every((n=>e.includes(n)&&![void 0,null].includes(t[n])))}()?"native"!==t.mediaType||hi(t,{index:n})?"video"!==t.mediaType||function(e){let{index:t=si.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=t.getMediaTypes(e)?.video,i=n&&n?.context,r=n&&n?.useCacheKey,o=t.getAdUnit(e);return Xt(e,o,n,i,r)}(t,{index:n})?!("banner"===t.mediaType&&!function(e,t){let{index:n=si.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;if(null!=t.wratio&&null!=t.hratio)return t.wratio=parseInt(t.wratio,10),t.hratio=parseInt(t.hratio,10),!0;const i=n.getBidRequest(t),r=n.getMediaTypes(t),o=(s=i&&i.sizes||r&&r.banner&&r.banner.sizes,(a=s,"string"==typeof a?a.split(/\s*,\s*/).map((e=>e.match(/^(\d+)x(\d+)$/i))).filter((e=>e)).map((e=>{let[t,n,i]=e;return[parseInt(n,10),parseInt(i,10)]})):Array.isArray(a)?he(a)?[a]:a.filter(he):[]).map(ge));var s,a;if(1===o.length){const[e,n]=o[0].split("x");return t.width=parseInt(e,10),t.height=parseInt(n,10),!0}return!1}(e,t,{index:n}))||(Ee(i("Banner bids require a width and height")),!1):(Ee(i("Video bid does not have required vastUrl or renderer property")),!1):(Ee(i("Native bid missing some required properties.")),!1):(Ee(i(`Bidder ${t.bidderCode} is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params.`)),!1):(we(`Some adapter tried to add an undefined bid for ${e}.`),!1):(we("No adUnitCode was supplied to addBidResponse."),!1)}(e,t)))?n(e,t):n.reject(e,t,x)}const u=[];function p(){r(),J.runWithBidder(e.code,(()=>{mn(O.BIDDER_DONE,t),i(u,t.gdprConsent,t.uspConsent,t.gppConsent)}))}const g=Si(t).measureTime("validate",(()=>t.bids.filter((t=>{return n=d.bidRequest(t),!!e.isBidRequestValid(n)||(we(`Invalid bid sent to bidder ${e.code}: ${JSON.stringify(n)}`),!1);var n}))));if(0===g.length)return void p();const h={};g.forEach((e=>{h[e.bidId]=e})),Bi(e,g,t,o,a,{onRequest:e=>mn(O.BEFORE_BIDDER_HTTP,t,e),onResponse:t=>{s(e.code),u.push(t)},onPaapi:e=>{const t=h[e.bidId];t?Ri(t,e):we("Received fledge auction configuration for an unknown bidId",e)},onError:(n,i)=>{i.timedOut||s(e.code),xr.callBidderError(e.code,i,t),mn(O.BIDDER_ERROR,{error:i,bidderRequest:t}),Ee(`Server call for ${e.code} failed: ${n} ${i.status}. Continuing without bids.`,{bidRequests:g})},onBid:t=>{const i=h[t.requestId],r=t;if(i){if(r.adapterCode=i.bidder,function(e,t){const n=Ft.get(t,"allowAlternateBidderCodes")||!1;let i=Ft.get(t,"allowedAlternateBidderCodes");return!!(e&&t&&t!==e&&(i=f(i)?i.map((e=>e.trim().toLowerCase())).filter((e=>!!e)).filter(Oe):i,!n||f(i)&&"*"!==i[0]&&!i.includes(e)))}(t.bidderCode,i.bidder))return we(`${t.bidderCode} is not a registered partner or known bidder of ${i.bidder}, hence continuing without bid. If you wish to support this bidder, please mark allowAlternateBidderCodes as true in bidderSettings.`),void n.reject(i.adUnitCode,t,j);r.originalCpm=t.cpm,r.originalCurrency=t.currency,r.meta=t.meta||Object.assign({},t[i.bidder]),r.deferBilling=i.deferBilling,r.deferRendering=r.deferBilling&&(t.deferRendering??"function"!=typeof e.onBidBillable);const a=Object.assign(new vi(i),r,(s=Ei,"object"!=typeof(o=i)?{}:s.reduce(((e,t,n)=>{if("function"==typeof t)return e;let i=t;const r=t.match(/^(.+?)\sas\s(.+?)$/i);r&&(t=r[1],i=r[2]);let a=o[t];return"function"==typeof s[n+1]&&(a=s[n+1](a,e)),void 0!==a&&(e[i]=a),e}),{})));l(i.adUnitCode,a)}else we(`Bidder ${e.code} made bid for unknown request ID: ${t.requestId}. Ignoring.`),n.reject(null,t,q);var o,s},onCompletion:p})}});var t,n;function i(t,n,i,r){Ii(e,t,n,i,r)}}const Ti=["bids","paapi"],Bi=ut("async",(function(e,t,n,i,r,o){let{onRequest:s,onResponse:a,onPaapi:d,onError:c,onBid:l,onCompletion:u}=o;const p=Si(n);u=p.startTiming("total").stopBefore(u);const g=Ai(n);let h=p.measureTime("buildRequests",(()=>e.buildRequests(t.map(g.bidRequest),g.bidderRequest(n))));if(Array.isArray(h)||(h=[h]),!h||0===h.length)return void u();const m=Ne(u,h.length);h.forEach((t=>{const n=p.fork();function o(e){null!=e&&(e.metrics=n.fork().renameWith()),l(e)}const u=r((function(i,r){h();try{i=JSON.parse(i)}catch(e){}i={body:i,headers:{get:r.getResponseHeader.bind(r)}},a(i);try{i=n.measureTime("interpretResponse",(()=>e.interpretResponse(i,t)))}catch(t){return Ee(`Bidder ${e.code} failed to interpret the server's response. Continuing without bids`,null,t),void m()}let s,c;i&&!Object.keys(i).some((e=>!Ti.includes(e)))?(s=i.bids,c=i.paapi):s=i,f(c)&&c.forEach(d),s&&(f(s)?s.forEach(o):o(s)),m()})),g=r((function(e,t){h(),c(e,t),m()}));s(t);const h=n.startTiming("net"),b="TRUE"===Te(k).toUpperCase()||Ce();function y(n){const i=t.options;return Object.assign(n,i,{browsingTopics:!(i?.hasOwnProperty("browsingTopics")&&!i.browsingTopics)&&(Ft.get(e.code,"topicsHeader")??!0)&&It(tt,qr(at,e.code)),suppressTopicsEnrollmentWarning:i?.hasOwnProperty("suppressTopicsEnrollmentWarning")?i.suppressTopicsEnrollmentWarning:!b})}switch(t.method){case"GET":i(`${t.url}${v=t.data,v?`?${"object"==typeof v?function(e){let t="";for(var n in e)e.hasOwnProperty(n)&&(t+=n+"="+encodeURIComponent(e[n])+"&");return t=t.replace(/&$/,""),t}(v):v}`:""}`,{success:u,error:g},void 0,y({method:"GET",withCredentials:!0}));break;case"POST":const n=t.options?.endpointCompression,r=e=>{let{url:t,payload:n}=e;i(t,{success:u,error:g},n,y({method:"POST",contentType:"text/plain",withCredentials:!0}))};n&&b&&we(`Skipping GZIP compression for ${e.code} as debug mode is enabled`),n&&!b&&ze()?async function(e){"string"!=typeof e&&(e=JSON.stringify(e));const t=(new TextEncoder).encode(e),n=new Blob([t]).stream().pipeThrough(new window.CompressionStream("gzip")),i=await new Response(n).blob(),r=await i.arrayBuffer();return new Uint8Array(r)}(t.data).then((e=>{const n=new URL(t.url,window.location.origin);n.searchParams.has("gzip")||n.searchParams.set("gzip","1"),r({url:n.href,payload:e})})):r({url:t.url,payload:"string"==typeof t.data?t.data:JSON.stringify(t.data)});break;default:we(`Skipping invalid request from ${e.code}. Request type ${t.method} must be GET or POST`),m()}var v}))}),"processBidderRequests"),Ii=ut("async",(function(e,t,n,i,r){const o=J.getConfig("userSync.aliasSyncEnabled");if(e.getUserSyncs&&(o||!xr.aliasRegistry[e.code])){let o=e.getUserSyncs({iframeEnabled:Yt.canBidderRegisterSync("iframe",e.code),pixelEnabled:Yt.canBidderRegisterSync("image",e.code)},t,n,i,r);o&&(Array.isArray(o)||(o=[o]),o.forEach((t=>{Yt.registerSync(t.type,e.code,t.url)})),Yt.bidderDone(e.code))}}),"registerSyncs"),Ri=ut("sync",((e,t)=>{}),"addPaapiConfig");function Si(e){return Sn(e.metrics).renameWith((t=>[`adapter.client.${t}`,`adapters.client.${e.bidderCode}.${t}`]))}const ki="requests",Oi="wins",Di="auctions";let Ui={};function _i(e,t){const n=Ui[e]=Ui[e]||{bidders:{}};return t?n.bidders[t]=n.bidders[t]||{}:n}function xi(e,t){return function(n,i){const r=_i(n,t&&i);return r[e]=(r[e]??0)+1,r[e]}}function qi(e,t){return function(n,i){return _i(n,t&&i)[e]??0}}const ji=xi(ki,!1),Ni=xi(ki,!0),$i=xi(Oi,!0),Pi=xi(Di,!1),Mi=qi(ki,!1),Wi=qi(ki,!0),Li=qi(Oi,!0),Gi=qi(Di,!1);function Fi(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 Hi(e){let t,{noLeadingWww:n=!1,noPort:i=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{t=new URL(Fi(e))}catch(e){return}return t=i?t.hostname:t.host,n&&t.startsWith("www.")&&(t=t.substring(4)),t}function Vi(e){try{const t=e.querySelector("link[rel='canonical']");if(null!==t)return t.href}catch(e){}return null}const zi=function(e){let t,n,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;return r.top!==r?e:function(){const o=Vi(r.document),s=r.location.href;return t===o&&s===n||(t=o,n=s,i=e()),i}}((Ki=window,function(){const e=[],t=function(e){try{if(!e.location.ancestorOrigins)return;return e.location.ancestorOrigins}catch(e){}}(Ki),n=J.getConfig("maxNestedIframes");let i,r,o,s,a=!1,d=0,c=!1,l=!1,u=!1;do{const n=i,s=l;let f,p=!1,g=null;l=!1,i=i?i.parent:Ki;try{f=i.location.href||null}catch(e){p=!0}if(p)if(s){const e=n.context;try{g=e.sourceUrl,r=g,u=!0,c=!0,i===Ki.top&&(a=!0),e.canonicalUrl&&(o=e.canonicalUrl)}catch(e){}}else{we("Trying to access cross domain iframe. Continuing without referrer and location");try{const e=n.document.referrer;e&&(g=e,i===Ki.top&&(a=!0))}catch(e){}!g&&t&&t[d-1]&&(g=t[d-1],i===Ki.top&&(u=!0)),g&&!c&&(r=g)}else{if(f&&(g=f,r=g,c=!1,i===Ki.top)){a=!0;const e=Vi(i.document);e&&(o=e)}i.context&&i.context.sourceUrl&&(l=!0)}e.push(g),d++}while(i!==Ki.top&&d<n);e.reverse();try{s=Ki.top.document.referrer}catch(e){}const f=a||u?r:null,p=J.getConfig("pageUrl")||o||null;let g=J.getConfig("pageUrl")||f||Fi(p,Ki);return f&&f.indexOf("?")>-1&&-1===g.indexOf("?")&&(g=`${g}${f.substring(f.indexOf("?"))}`),{reachedTop:a,isAmp:c,numIframes:d-1,stack:e,topmostLocation:r||null,location:f,canonicalUrl:p,page:g,domain:Hi(g)||null,ref:s||null,legacy:{reachedTop:a,isAmp:c,numIframes:d-1,stack:e,referer:r||null,canonicalUrl:p}}}));var Ki;Object.freeze({});const Ji="gdpr",Yi="gpp",Qi="usp",Xi="coppa";class Zi{#t;#n;#i;#r;#o=!0;#s;constructor(){this.reset()}#a(e){this.#r=!0,this.#n=e,this.#i.resolve(e)}reset(){this.#i=ee(),this.#t=!1,this.#n=null,this.#r=!1,this.generatedTime=null}enable(){this.#t=!0}get enabled(){return this.#t}get ready(){return this.#r}get promise(){return this.#r?Z.resolve(this.#n):(this.#t||this.#a(null),this.#i.promise)}setConsentData(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:xe();this.generatedTime=t,this.#o=!0,this.#a(e)}getConsentData(){return this.#n}get hash(){return this.#o&&(this.#s=Fe(JSON.stringify(this.#n&&this.hashFields?this.hashFields.map((e=>this.#n[e])):this.#n)),this.#o=!1),this.#s}}const er=new class extends Zi{hashFields=["gdprApplies","consentString"];getConsentMeta(){const e=this.getConsentData();if(e&&e.vendorData&&this.generatedTime)return{gdprApplies:e.gdprApplies,consentStringSize:u(e.vendorData.tcString)?e.vendorData.tcString.length:0,generatedAt:this.generatedTime,apiVersion:e.apiVersion}}},tr=new class extends Zi{getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},nr=new class extends Zi{hashFields=["applicableSections","gppString"];getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},ir=(()=>{function e(){return!!J.getConfig("coppa")}return{getCoppa:e,getConsentData:e,getConsentMeta:e,reset(){},get promise(){return Z.resolve(e())},get hash(){return e()?"1":"0"}}})(),rr=function(){const e={},t={},n={};return{register(i,r,o){o&&((e[r]=e[r]||{})[i]=o,t.hasOwnProperty(r)?t[r]!==o&&(t[r]=n):t[r]=o)},get(i){const r={modules:e[i]||{}};return t.hasOwnProperty(i)&&t[i]!==n&&(r.gvlid=t[i]),r}}}(),or={[Ji]:er,[Qi]:tr,[Yi]:nr,[Xi]:ir};!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:or;const t=Object.entries(e);Object.assign({get promise(){return Z.all(t.map((e=>{let[t,n]=e;return n.promise.then((e=>[t,e]))}))).then((e=>Object.fromEntries(e)))},get hash(){return Fe(t.map((e=>{let[t,n]=e;return n.hash})).join(":"))}},Object.fromEntries(["getConsentData","getConsentMeta","reset"].map((e=>{return[e,(n=e,function(){return Object.fromEntries(t.map((e=>{let[t,i]=e;return[t,i[n]()]})))})];var n}))))}();const sr=["data","ext.data","yob","gender","keywords","kwarray","id","buyeruid","customdata"].map((e=>`user.${e}`)).concat("device.ext.cdep"),ar=["user.eids","user.ext.eids"],dr=["user.geo.lat","user.geo.lon","device.geo.lat","device.geo.lon"],cr=["device.ip"],lr=["device.ipv6"];function ur(e){return Object.assign({get(){},run(e,t,n,i,r){const o=n&&n[i];if(function(e){return null!=e&&("object"!=typeof e||Object.keys(e).length>0)}(o)&&r()){const e=this.get(o);void 0===e?delete n[i]:n[i]=e}}},e)}function fr(e){return e.forEach((e=>{e.paths=e.paths.map((e=>{const t=e.split("."),n=t.pop();return[t.length>0?t.join("."):null,n]}))})),function(t,n){const i=[];for(var r=arguments.length,o=new Array(r>2?r-2:0),s=2;s<r;s++)o[s-2]=arguments[s];const a=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return function(t){return e.hasOwnProperty(t.name)||(e[t.name]=!!t.applies(...n)),e[t.name]}}(t,...o);return e.forEach((e=>{if(!1!==t[e.name])for(const[r,o]of e.paths){const s=null==r?n:R(n,r);if(i.push(e.run(n,r,s,o,a.bind(null,e))),!1===t[e.name])return}})),i.filter((e=>null!=e))}}function pr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:It;return function(n){return!t(e,n)}}const gr=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:It;const t=fr(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:It;return[{name:tt,paths:sr,applies:pr(tt,e)},{name:et,paths:ar,applies:pr(et,e)},{name:nt,paths:dr,applies:pr(nt,e),get:e=>Math.round(100*(e+Number.EPSILON))/100},{name:nt,paths:cr,applies:pr(nt,e),get:e=>function(e){if(!e)return null;const t=e.split(".").map(Number);if(4!=t.length)return null;const n=[];for(let e=0;e<4;e++){const 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:nt,paths:lr,applies:pr(nt,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;const n=[];for(let e=0;e<8;e++){const 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:it,paths:["source.tid"],applies:pr(it,e)}].map(ur)}(e)),n=fr(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:It;return[{name:et,paths:["userId","userIdAsEids"],applies:pr(et,e)},{name:it,paths:["ortb2Imp.ext.tid"],applies:pr(it,e)}].map(ur)}(e));return function(e){const i={};return{ortb2:n=>(t(i,n,e),n),bidRequest:t=>(n(i,t,e),t)}}}();Bt(it,"enableTIDs config",(()=>{if(!J.getConfig("enableTIDs"))return{allow:!1,reason:"TIDs are disabled"}}));const hr="pbsBidAdapter",mr={CLIENT:"client",SERVER:"server"},br={isAllowed:It,redact:gr},yr={},vr={},wr={};let Er=[];J.getConfig("s2sConfig",(e=>{e&&e.s2sConfig&&(Er=f(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])}));const Ar=Ct((e=>Or.resolveAlias(e)));function Cr(e){return e.configName??e.name}const Tr=["nativeParams","nativeOrtbRequest","renderer"];function Br(e){let{bidderCode:t,auctionId:n,bidderRequestId:i,adUnits:r,src:o,metrics:s}=e;return r.reduce(((e,r)=>{const a=r.bids.filter((e=>e.bidder===t));return null==t&&0===a.length&&null!=r.s2sBid&&a.push({bidder:null}),e.push(a.reduce(((e,a)=>{var d;const c=null==(a=Object.assign({},a,{ortb2Imp:Le({},r.ortb2Imp,a.ortb2Imp)},(d=r,Tr.filter((e=>d[e])).reduce(((e,t)=>Object.assign(e,{[t]:d[t]})),{})))).mediaTypes?r.mediaTypes:a.mediaTypes;return function(e){const t=["banner","native","video"];return!!Object.keys(e).every((e=>t.includes(e)))&&(!e.video||!e.video.context||["instream","outstream","adpod"].includes(e.video.context))}(c)?a=Object.assign({},a,{mediaTypes:c}):Ee(`mediaTypes is not correctly configured for adunit ${r.code}`),"client"===o&&Ni(r.code,t),e.push(Object.assign({},a,{adUnitCode:r.code,transactionId:r.transactionId,adUnitId:r.adUnitId,sizes:c?.banner?.sizes||c?.video?.playerSize||[],bidId:a.bid_id||fe(),bidderRequestId:i,auctionId:n,src:o,metrics:s,auctionsCount:Gi(r.code),bidRequestsCount:Mi(r.code),bidderRequestsCount:Wi(r.code,a.bidder),bidderWinsCount:Li(r.code,a.bidder),deferBilling:!!r.deferBilling})),e}),[])),e}),[]).reduce(De,[]).filter((e=>""!==e))}const Ir=ut("sync",(function(e,t){let{getS2SBidders:n=Sr}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null==t)return e;{const i=n(t);return e.filter((e=>{if(!i.has(e.bidder))return!1;if(null==e.s2sConfigName)return!0;const n=Cr(t);return(Array.isArray(e.s2sConfigName)?e.s2sConfigName:[e.s2sConfigName]).includes(n)}))}}),"filterBidsForAdUnit"),Rr=ut("sync",((e,t)=>e),"setupAdUnitMediaTypes");function Sr(e){f(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 kr=ut("sync",(function(e,t){let{getS2SBidders:n=Sr}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n(t);return Ue(e).reduce(((e,t)=>(e[i.has(t)?mr.SERVER:mr.CLIENT].push(t),e)),{[mr.CLIENT]:[],[mr.SERVER]:[]})}),"partitionBidders"),Or={bidderRegistry:yr,analyticsRegistry:wr,aliasRegistry:vr,makeBidRequests:ut("sync",(function(e,n,i,r,o){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=arguments.length>6?arguments[6]:void 0;a=Sn(a),mn(O.BEFORE_REQUEST_BIDS,e),function(e){e.forEach((e=>{const t=e.nativeParams||e?.mediaTypes?.native;t&&(e.nativeParams=gi(t)),e.nativeParams&&(e.nativeOrtbRequest=e.nativeParams.ortb||function(e){if(!e&&!g(e))return void Ee("Native assets object is empty or not an object: ",e);const t={ver:"1.2",assets:[]};for(const n in e){if(W.includes(n))continue;if(!U.hasOwnProperty(n)){Ee(`Unrecognized native asset code: ${n}. Asset will be ignored.`);continue}if("privacyLink"===n){t.privacy=1;continue}const i=e[n];let r=0;i.required&&h(i.required)&&(r=Number(i.required));const o={id:t.assets.length,required:r};if(n in $)o.data={type:P[$[n]]},i.len&&(o.data.len=i.len);else if("icon"===n||"image"===n){if(o.img={type:"icon"===n?M.ICON:M.MAIN},i.aspect_ratios)if(f(i.aspect_ratios))if(i.aspect_ratios.length){const{min_width:e,min_height:t}=i.aspect_ratios[0];m(e)&&m(t)?(o.img.wmin=e,o.img.hmin=t):Ee("image.aspect_ratios min_width or min_height are invalid: ",e,t);const n=i.aspect_ratios.filter((e=>e.ratio_width&&e.ratio_height)).map((e=>`${e.ratio_width}:${e.ratio_height}`));n.length>0&&(o.img.ext={aspectratios:n})}else Ee("image.aspect_ratios was passed, but it's empty:",i.aspect_ratios);else Ee("image.aspect_ratios was passed, but it's not a an array:",i.aspect_ratios);i.sizes&&(2===i.sizes.length&&m(i.sizes[0])&&m(i.sizes[1])?(o.img.w=i.sizes[0],o.img.h=i.sizes[1],delete o.img.hmin,delete o.img.wmin):Ee("image.sizes was passed, but its value is not an array of integers:",i.sizes))}else"title"===n?o.title={len:i.len||140}:"ext"===n&&(o.ext=i,delete o.required);t.assets.push(o)}return t}(e.nativeParams))}))}(e),e.map((e=>e.code)).filter(Oe).forEach(Pi),e.forEach((e=>{g(e.mediaTypes)||(e.mediaTypes={}),e.bids=e.bids.filter((e=>!e.bidder||br.isAllowed(Ze,Ar(at,e.bidder)))),ji(e.code)})),e=Rr(e,o);let{[mr.CLIENT]:d,[mr.SERVER]:c}=kr(e,Er);J.getConfig("bidderSequence")===F&&(d=_e(d));const l=zi(),u=[],p=s.global||{},b=s.bidder||{};function y(e,t){const n=br.redact(null!=t?t:Ar(at,e.bidderCode)),r=Object.freeze(n.ortb2(Le({source:{tid:i}},p,b[e.bidderCode])));return e.ortb2=r,e.bids=e.bids.map((e=>(e.ortb2=r,n.bidRequest(e)))),e}Er.forEach((r=>{const o=function(e){return Ar(st,hr,{[vt]:Cr(e)})}(r);if(r&&r.enabled&&br.isAllowed(Ze,o)){const{adUnits:s,hasModuleBids:d}=function(e,n){let i=t(e),r=!1;return i.forEach((e=>{const t=e.bids.filter((e=>e.module===hr&&e.params?.configName===Cr(n)));1===t.length?(e.s2sBid=t[0],r=!0,e.ortb2Imp=Le({},e.s2sBid.ortb2Imp,e.ortb2Imp)):t.length>1&&we('Multiple "module" bids for the same s2s configuration; all will be ignored',t),e.bids=Ir(e.bids,n).map((e=>(e.bid_id=fe(),e)))})),i=i.filter((e=>!(n.filterBidderlessCalls&&1===e.bids.length&&null==e.bids[0].bidder||0===e.bids.length&&null==e.s2sBid))),{adUnits:i,hasModuleBids:r}}(e,r),f=pe();(0===c.length&&d?[null]:c).forEach((e=>{const d=fe(),c=a.fork(),p=y({bidderCode:e,auctionId:i,bidderRequestId:d,uniquePbsTid:f,bids:Br({bidderCode:e,auctionId:i,bidderRequestId:d,adUnits:t(s),src:_,metrics:c}),auctionStart:n,timeout:r.timeout,src:_,refererInfo:l,metrics:c},o);0!==p.bids.length&&u.push(p)})),s.forEach((e=>{const t=e.bids.filter((e=>u.find((t=>t.bids.find((t=>t.bidId===e.bid_id))))));e.bids=t})),u.forEach((e=>{void 0===e.adUnitsS2SCopy&&(e.adUnitsS2SCopy=s.filter((e=>e.bids.length>0||null!=e.s2sBid)))}))}}));const v=function(e){let n=t(e);return n.forEach((e=>{e.bids=Ir(e.bids,null)})),n=n.filter((e=>0!==e.bids.length)),n}(e);return d.forEach((e=>{const o=fe(),s=a.fork(),d=y({bidderCode:e,auctionId:i,bidderRequestId:o,bids:Br({bidderCode:e,auctionId:i,bidderRequestId:o,adUnits:t(v),src:"client",metrics:s}),auctionStart:n,timeout:r,refererInfo:l,metrics:s}),c=yr[e];c||Ee(`Trying to make a request for bidder that does not exist: ${e}`),c&&d.bids&&0!==d.bids.length&&u.push(d)})),u.forEach((e=>{er.getConsentData()&&(e.gdprConsent=er.getConsentData()),tr.getConsentData()&&(e.uspConsent=tr.getConsentData()),nr.getConsentData()&&(e.gppConsent=nr.getConsentData())})),u}),"makeBidRequests"),callBids(e,t,n,i,r,o,s){let a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{};if(!t.length)return void we("callBids executed with no bidRequests. Were they filtered by labels or sizing?");const[d,c]=t.reduce(((e,t)=>(e[Number(void 0!==t.src&&t.src===_)].push(t),e)),[[],[]]);var l=[];c.forEach((e=>{for(var t=-1,n=0;n<l.length;++n)if(e.uniquePbsTid===l[n].uniquePbsTid){t=n;break}t<=-1&&l.push(e)}));let u=0;Er.forEach((e=>{if(e&&l[u]&&Sr(e).has(l[u].bidderCode)){const t=xt(o,r?{request:r.request.bind(null,"s2s"),done:r.done}:void 0),d=e.bidders,f=yr[e.adapter],p=l[u].uniquePbsTid,g=l[u].adUnitsS2SCopy,h=c.filter((e=>e.uniquePbsTid===p));if(f){const r={ad_units:g,s2sConfig:e,ortb2Fragments:a,requestBidsTimeout:o};if(r.ad_units.length){const e=h.map((e=>(e.start=xe(),function(t){t||s(e.bidderRequestId);for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];i.apply(e,[t,...r])}))),o=Ue(r.ad_units).filter((e=>d.includes(e)));ye(`CALLING S2S HEADER BIDDERS ==== ${o.length>0?o.join(", "):'No bidder specified, using "ortb2Imp" definition(s) only'}`),h.forEach((e=>{mn(O.BID_REQUESTED,{...e,tid:e.auctionId})})),f.callBids(r,c,n,(t=>e.forEach((e=>e(t)))),t)}}else Ee("missing "+e.adapter);u++}})),d.forEach((e=>{e.start=xe();const t=yr[e.bidderCode];J.runWithBidder(e.bidderCode,(()=>{ye("CALLING BIDDER"),mn(O.BID_REQUESTED,e)}));const a=xt(o,r?{request:r.request.bind(null,e.bidderCode),done:r.done}:void 0),d=i.bind(e);try{J.runWithBidder(e.bidderCode,t.callBids.bind(t,e,n,d,a,(()=>s(e.bidderRequestId)),J.callbackWithBidder(e.bidderCode)))}catch(t){Ee(`${e.bidderCode} Bid Adapter emitted an uncaught error when parsing their bidRequest`,{e:t,bidRequest:e}),d()}}))},videoAdapters:[],registerBidAdapter(e,t){let{supportedMediaTypes:n=[]}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e&&t?"function"==typeof e.callBids?(yr[t]=e,rr.register(at,t,e.getSpec?.().gvlid),n.includes("video")&&Or.videoAdapters.push(t),n.includes("native")&&li.push(t)):Ee("Bidder adaptor error for bidder code: "+t+"bidder must implement a callBids() function"):Ee("bidAdapter or bidderCode not specified")},aliasBidAdapter(e,t,n){if(void 0===yr[t]){const i=yr[e];if(void 0===i){const n=[];Er.forEach((i=>{if(i.bidders&&i.bidders.length){const r=i&&i.bidders;i&&r.includes(t)?vr[t]=e:n.push(e)}})),n.forEach((e=>{Ee('bidderCode "'+e+'" is not an existing bidder.',"adapterManager.aliasBidAdapter")}))}else try{let r;const o=function(e){const t=[];return Or.videoAdapters.includes(e)&&t.push("video"),li.includes(e)&&t.push("native"),t}(e);if(i.constructor.prototype!=Object.prototype)r=new i.constructor,r.setBidderCode(t);else{const{useBaseGvlid:o=!1}=n||{},s=i.getSpec(),a=o?s.gvlid:n?.gvlid;null==a&&null!=s.gvlid&&we(`Alias '${t}' will NOT re-use the GVL ID of the original adapter ('${s.code}', gvlid: ${s.gvlid}). Functionality that requires TCF consent may not work as expected.`);const d=n&&n.skipPbsAliasing;r=Ci(Object.assign({},s,{code:t,gvlid:a,skipPbsAliasing:d})),vr[t]=e}Or.registerBidAdapter(r,t,{supportedMediaTypes:o})}catch(t){Ee(e+" bidder does not currently support aliasing.","adapterManager.aliasBidAdapter")}}else ye('alias name "'+t+'" has been already specified.')},resolveAlias(e){let t,n=e;for(;vr[n]&&(!t||!t.has(n));)n=vr[n],(t=t||new Set).add(n);return n},registerAnalyticsAdapter(e){let{adapter:t,code:n,gvlid:i}=e;t&&n?"function"==typeof t.enableAnalytics?(t.code=n,wr[n]={adapter:t,gvlid:i},rr.register(dt,n,i)):Ee(`Prebid Error: Analytics adaptor error for analytics "${n}"\n analytics adapter must implement an enableAnalytics() function`):Ee("Prebid Error: analyticsAdapter or analyticsCode not specified")},enableAnalytics(e){f(e)||(e=[e]),e.forEach((e=>{const t=wr[e.provider];t&&t.adapter?br.isAllowed("reportAnalytics",Ar(dt,e.provider,{[At]:e}))&&t.adapter.enableAnalytics(e):Ee(`Prebid Error: no analytics adapter found in registry for '${e.provider}'.`)}))},getBidAdapter:e=>yr[e],getAnalyticsAdapter:e=>wr[e],callTimedOutBidders(e,t,n){var i;t=t.map((t=>(t.params=$e(e,t.adUnitCode,t.bidder),t.timeout=n,t))),i="bidder",t=t.reduce((function(e,t){return(e[t[i]]=e[t[i]]||[]).push(t),e}),{}),Object.keys(t).forEach((e=>{_r(e,"onTimeout",t[e])}))},callBidWonBidder(e,t,n){t.params=$e(n,t.adUnitCode,t.bidder),$i(t.adUnitCode,t.bidder),_r(e,"onBidWon",t)},triggerBilling:(()=>{const e=new WeakSet;return t=>{var n;e.has(t)||(e.add(t),((n=t.eventtrackers,(n??[]).reduce(((e,t)=>{let{event:n,method:i,url:r}=t;const o=e[n]=e[n]??{};return(o[i]=o[i]??[]).push(r),e}),{}))[ci]?.[ai]||[]).forEach((e=>ce.triggerPixel(e))),_r(t.bidder,"onBidBillable",t))}})(),callSetTargetingBidder(e,t){_r(e,"onSetTargeting",t)},callBidViewableBidder(e,t){_r(e,"onBidViewable",t)},callBidderError(e,t,n){_r(e,"onBidderError",{error:t,bidderRequest:n})},callAdRenderSucceededBidder(e,t){_r(e,"onAdRenderSucceeded",t)},callDataDeletionRequest:ut("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(yr).filter((e=>!vr.hasOwnProperty(e))).forEach((e=>{const n=Dr(e,i);if(null!=n){const r=si.getBidsRequested().filter((t=>function(e){const t=new Set;for(;vr.hasOwnProperty(e)&&!t.has(e);)t.add(e),e=vr[e];return e}(t.bidderCode)===e));Ur(e,i,...n,r,...t)}})),Object.entries(wr).forEach((e=>{let[n,r]=e;const o=r?.adapter?.[i];if("function"==typeof o)try{o.apply(r.adapter,t)}catch(e){Ee(`error calling ${i} of ${n}`,e)}}))}))};function Dr(e,t){const n=yr[e],i=n?.getSpec&&n.getSpec();if(i&&i[t]&&"function"==typeof i[t])return[i,i[t]]}function Ur(e,t,n,i){try{ve(`Invoking ${e}.${t}`);for(var r=arguments.length,o=new Array(r>4?r-4:0),s=4;s<r;s++)o[s-4]=arguments[s];J.runWithBidder(e,i.bind(n,...o))}catch(n){we(`Error calling ${t} of ${e}`)}}function _r(e,t,n){if(n?.source!==_){const i=Dr(e,t);null!=i&&Ur(e,t,...i,n)}}const xr=Or,qr=Ct((e=>xr.resolveAlias(e))),jr=new WeakMap,Nr=["debugging","outstream","aaxBlockmeter","adagio","adloox","arcspan","airgrid","browsi","brandmetrics","clean.io","humansecurityMalvDefense","humansecurity","confiant","contxtful","hadron","mediafilter","medianet","azerionedge","a1Media","geoedge","qortex","dynamicAdBoost","51Degrees","symitridap","wurfl","nodalsAi","anonymised","optable","justtag","tncId","ftrackId","id5"];const $r=X(),Pr="outstream";function Mr(e){const{url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a}=e;this.url=t,this.config=n,this.handlers={},this.id=i,this.renderNow=a,this.adUnitCode=s,this.loaded=o,this.cmd=[],this.push=e=>{"function"==typeof e?this.loaded?e.call():this.cmd.push(e):Ee("Commands given to Renderer.push must be wrapped in a function")},this.callback=r||(()=>{this.loaded=!0,this.process()}),this.render=function(){const e=arguments,n=()=>{this._render?this._render.apply(this,e):we("No render function was provided, please use .setRender on the renderer")};!function(e){const t=$r.adUnits.find((t=>t.code===e));if(!t)return!1;const n=t?.renderer,i=!!(n&&n.url&&n.render),r=t?.mediaTypes?.video?.renderer,o=!!(r&&r.url&&r.render);return!!(i&&!0!==n.backupOnly||o&&!0!==r.backupOnly)}(s)?a?n():(this.cmd.unshift(n),function(e,t,n,i,r,o){if(!It(rt,qr(t,n)))return;if(!n||!e)return void Ee("cannot load external script without url and moduleCode");if(!Nr.includes(n))return void Ee(`${n} not whitelisted for loading external JavaScript`);r||(r=document);const s=c(r,e);if(s)return i&&"function"==typeof i&&(s.loaded?i():s.callbacks.push(i)),s.tag;const a=jr.get(r)||{},d={loaded:!1,tag:null,callbacks:[]};return a[e]=d,jr.set(r,a),i&&"function"==typeof i&&d.callbacks.push(i),we(`module ${n} is loading external JavaScript`),function(t,n,i,r){i||(i=document);var o=i.createElement("script");o.type="text/javascript",o.async=!0;const s=c(i,e);return s&&(s.tag=o),o.readyState?o.onreadystatechange=function(){"loaded"!==o.readyState&&"complete"!==o.readyState||(o.onreadystatechange=null,n())}:o.onload=function(){n()},o.src=t,r&&function(e,t){Object.entries(t).forEach((t=>{let[n,i]=t;return e.setAttribute(n,i)}))}(o,r),Ie(o,i),o}(e,(function(){d.loaded=!0;try{for(let e=0;e<d.callbacks.length;e++)d.callbacks[e]()}catch(e){Ee("Error executing callback","adloader.js:loadExternalScript",e)}}),r,o);function c(e,t){const n=jr.get(e);return n&&n[t]?n[t]:null}}(t,st,Pr,this.callback,this.documentContext)):(we(`External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ${s}`),n())}.bind(this)}Mr.install=function(e){let{url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a}=e;return new Mr({url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a})},Mr.prototype.getConfig=function(){return this.config},Mr.prototype.setRender=function(e){this._render=e},Mr.prototype.setEventHandlers=function(e){this.handlers=e},Mr.prototype.handleVideoEvent=function(e){let{id:t,eventName:n}=e;"function"==typeof this.handlers[n]&&this.handlers[n](),ye(`Prebid Renderer event for id ${t} type ${n}`)},Mr.prototype.process=function(){for(;this.cmd.length>0;)try{this.cmd.shift().call()}catch(e){Ee(`Error processing Renderer command on ad unit '${this.adUnitCode}':`,e)}};const Wr=new Map;const Lr=["img","video","link","data","title"],Gr={[Ye]:(e,t)=>{if(!t.hasOwnProperty("ad")&&!t.hasOwnProperty("adUrl")){let[e,n]=(t.width??t.wratio)<(t.height??t.hratio)?[t.width,"repeat-y"]:[t.height,"repeat-x"];e=null==e?"100%":`${e}px`,t.ad=`<html><body><div style="display: inline-block; height: ${null==t.height?"100%":t.height+"px"}; width: ${null==t.width?"100%":t.width+"px"}; background-image: url(https://vcdn.adnxs.com/p/creative-image/27/c0/52/67/27c05267-5a6d-4874-834e-18e218493c32.png); background-size: ${e}; background-repeat: ${n}"></div></body></html>`}},[Je]:(e,t)=>{t.hasOwnProperty("vastXml")||t.hasOwnProperty("vastUrl")||(t.vastXml='<?xml version="1.0" encoding="UTF-8"?><VAST version="3.0"><Ad><InLine><AdSystem>GDFP</AdSystem><AdTitle>Demo</AdTitle><Description><![CDATA[Demo]]></Description><Creatives><Creative><Linear ><Duration>00:00:11</Duration><VideoClicks><ClickThrough><![CDATA[https://prebid.org/]]></ClickThrough></VideoClicks><MediaFiles><MediaFile delivery="progressive" width="640" height="360" type="video/mp4" scalable="true" maintainAspectRatio="true"><![CDATA[https://s3.amazonaws.com/files.prebid.org/creatives/PrebidLogo.mp4]]></MediaFile></MediaFiles></Linear></Creative></Creatives></InLine></Ad></VAST>',t.renderer=Mr.install({url:"https://cdn.jwplayer.com/libraries/l5MchIxB.js"}),t.renderer.setRender((function(e,n){const i=function(e){if(Wr.has(e))return Wr.get(e);const t=function(e){let t;return function(){if(window.googletag&&l(window.googletag.pubads)&&l(window.googletag.pubads().getSlots))return!0}()&&(t=window.googletag.pubads().getSlots().find(function(e){return t=>((e,t)=>e.getAdUnitPath()===t||e.getSlotElementId()===t)(t,e)}(e))),t}(e);let n={};return t&&(n={gptSlot:t.getAdUnitPath(),divId:t.getSlotElementId()}),Wr.set(e,n),n}(e.adUnitCode).divId??e.adUnitCode,r=n.createElement("div");r.id=`${i}-video-player`,n.getElementById(i).appendChild(r);const o=window.jwplayer(r.id).setup({debug:!0,width:t.width,height:t.height,advertising:{client:"vast",outstream:!0,endstate:"close"}});o.on("ready",(async function(){e.vastUrl?o.loadAdTag(e.vastUrl):o.loadAdXml(e.vastXml)}))})))},[Ke]:(e,t)=>{t.hasOwnProperty("native")||(t.native={ortb:{link:{url:"https://www.link.example",clicktrackers:["https://impression.example"]},assets:e.nativeOrtbRequest.assets.map(Fr)}})}};function Fr(e){switch(Lr.find((t=>e.hasOwnProperty(t)))){case"img":return{...e,img:{type:3,w:600,h:500,url:"https://vcdn.adnxs.com/p/creative-image/27/c0/52/67/27c05267-5a6d-4874-834e-18e218493c32.png"}};case"video":return{...e,video:{vasttag:'<?xml version="1.0" encoding="UTF-8"?><VAST version="3.0"><Ad><InLine><AdSystem>GDFP</AdSystem><AdTitle>Demo</AdTitle><Description><![CDATA[Demo]]></Description><Creatives><Creative><Linear ><Duration>00:00:11</Duration><VideoClicks><ClickThrough><![CDATA[https://prebid.org/]]></ClickThrough></VideoClicks><MediaFiles><MediaFile delivery="progressive" width="640" height="360" type="video/mp4" scalable="true" maintainAspectRatio="true"><![CDATA[https://s3.amazonaws.com/files.prebid.org/creatives/PrebidLogo.mp4]]></MediaFile></MediaFiles></Linear></Creative></Creatives></InLine></Ad></VAST>'}};case"data":return{...e,data:{value:"5 stars"}};case"title":return{...e,title:{text:"Prebid Native Example"}}}}function Hr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};({setTimeout:this.setTimeout=window.setTimeout.bind(window)}=e),this.logger=e.logger,this.rules=[]}let Vr,zr;function Kr(e,t){let{hook:n,logger:i}=t;Vr=Zr.bind({overrides:e,logger:i}),n.get("addBidResponse").before(Vr,5),zr=eo.bind({overrides:e,logger:i}),n.get("addBidderRequests").before(zr,5)}function Jr(e){let{hook:t}=e;t.get("addBidResponse").getHooks({hook:Vr}).remove(),t.get("addBidderRequests").getHooks({hook:zr}).remove()}function Yr(e,t,n){return!(!e.bidder||e.bidder===t)||!(!e.adUnitCode||e.adUnitCode===n)}function Qr(e,t){return Array.isArray(e)&&-1===e.indexOf(t)}function Xr(e,t,n,i){return Object.keys(e).filter((e=>-1===["adUnitCode","bidder"].indexOf(e))).reduce((function(t,r){return i.logMessage(`bidder overrides changed '${t.adUnitCode}/${t.bidderCode}' ${n}.${r} from '${t[r]}.js' to '${e[r]}'`),t[r]=e[r],t.isDebug=!0,t}),t)}function Zr(e,t,n,i){const{overrides:r,logger:o}=this;Qr(r.bidders,n.bidderCode)?o.logWarn(`bidder '${n.bidderCode}' excluded from auction by bidder overrides`):(Array.isArray(r.bids)&&r.bids.forEach((function(e){Yr(e,n.bidderCode,t)||Xr(e,n,"bidder",o)})),e(t,n,i))}function eo(e,t){const{overrides:n,logger:i}=this,r=t.filter((function(e){return!Qr(n.bidders,e.bidderCode)||(i.logWarn(`bidRequest '${e.bidderCode}' excluded from auction by bidder overrides`),!1)}));Array.isArray(n.bidRequests)&&r.forEach((function(e){n.bidRequests.forEach((function(t){e.bids.forEach((function(n){Yr(t,e.bidderCode,n.adUnitCode)||Xr(t,n,"bidRequest",i)}))}))})),e(r)}Object.assign(Hr.prototype,{DEFAULT_RULE_OPTIONS:{delay:0},serializeConfig(e){return e.filter(((e,t)=>{const n=!Ve(e);return n||R(e,"options.suppressWarnings")||this.logger.logWarn(`Bid interceptor rule definition #${t+1} contains non-serializable properties and will be lost after a refresh. Rule definition: `,e),n}))},updateConfig(e){this.rules=(e.intercept||[]).map(((e,t)=>this.rule(e,t+1)))},rule(e,t){return{no:t,match:this.matcher(e.when,t),replace:this.replacer(e.then,t),options:Object.assign({},this.DEFAULT_RULE_OPTIONS,e.options),paapi:this.paapiReplacer(e.paapi||[],t)}},matcher(e,t){if("function"==typeof e)return e;if("object"!=typeof e)return this.logger.logError(`Invalid 'when' definition for debug bid interceptor (in rule #${t})`),()=>!1;function n(t,i){let{ref:r=e,args:o=[]}=i;return Object.entries(r).map((e=>{let[i,r]=e;const s=t[i];return r instanceof RegExp?null!=r.exec(s):"function"==typeof r?!!r(s,...o):"object"==typeof r?n(s,{ref:r,args:o}):s===r})).every((e=>e))}return function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];return n(e,{args:i})}},replacer(e,t){var n=this;if(null===e)return()=>null;let i;return"function"==typeof(e=e||{})?i=t=>{let{args:n}=t;return e(...n)}:"object"!=typeof e?(this.logger.logError(`Invalid 'then' definition for debug bid interceptor (in rule #${t})`),i=()=>({})):i=t=>{let{args:n,ref:r=e}=t;const o=Array.isArray(r)?[]:{};return Object.entries(r).forEach((e=>{let[t,r]=e;o[t]="function"==typeof r?r(...n):null!=r&&"object"==typeof r?i({args:n,ref:r}):r})),o},function(e){const t=n.responseDefaults(e);for(var r=arguments.length,o=new Array(r>1?r-1:0),s=1;s<r;s++)o[s-1]=arguments[s];Le(t,i({args:[e,...o]}));const a=Gr[t.mediaType];return a&&a(e,t),t.isDebug=!0,t}},paapiReplacer(e,t){function n(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((e=>Object.keys(e).some((e=>!["config","igb"].includes(e)))?{config:e}:e))}return Array.isArray(e)?()=>n(e):"function"==typeof e?function(){return n(e(...arguments))}:void this.logger.logError(`Invalid 'paapi' definition for debug bid interceptor (in rule #${t})`)},responseDefaults(e){const t={requestId:e.bidId,cpm:3.5764,currency:"EUR",ttl:360,creativeId:"mock-creative-id",netRevenue:!1,meta:{}};let n;return e.mediaType||(t.mediaType=Object.keys(e.mediaTypes??{})[0]??Ye),t.mediaType===Ye?n=e.mediaTypes?.banner?.sizes?.[0]??[300,250]:t.mediaType===Je&&(n=e.mediaTypes?.video?.playerSize?.[0]??[600,500]),Array.isArray(n)&&([t.width,t.height]=n),t},match(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 this.rules.find((t=>t.match(e,...n)))},matchAll(e,t){const[n,i]=[[],[]];return e.forEach((e=>{const r=this.match(e,t);null!=r?n.push({rule:r,bid:e}):i.push(e)})),[n,i]},intercept(e){let{bids:n,bidRequest:i,addBid:r,addPaapiConfig:o,done:s}=e;null==n&&(n=i.bids);const[a,d]=this.matchAll(n,i);if(a.length>0){const e=Ne(s,a.length);a.forEach((t=>{const n=t.rule.replace(t.bid,i),s=t.rule.paapi(t.bid,i),a=t.rule.options.delay;this.logger.logMessage(`Intercepted bid request (matching rule #${t.rule.no}), mocking response in ${a}ms. Request, response, PAAPI configs:`,t.bid,n,s),this.setTimeout((()=>{n&&r(n,t.bid),s.forEach((e=>o(e,t.bid,i))),e()}),a)})),i=t(i),n=i.bids=d}else this.setTimeout(s,0);return{bids:n,bidRequest:i}}});const to=[];let no,io=!1;function ro(e,t){let{fromSession:n=!1,config:i,hook:r,logger:o}=t;i.setConfig({debug:!0}),no.updateConfig(e),oo(!0),Jr({hook:r}),Kr(e,{hook:r,logger:o}),io||(io=!0,o.logMessage("Debug overrides enabled"+(n?" from session":"")))}function oo(e){to.forEach((e=>{let[t,n]=e;t().getHooks({hook:n}).remove()})),e&&to.forEach((e=>{let[t,n]=e;t().before(n)}))}function so(e,t){const n=function(){return no.intercept(...arguments)};to.push([e,function(e){for(var i=arguments.length,r=new Array(i>1?i-1:0),o=1;o<i;o++)r[o-1]=arguments[o];t(e,n,...r)}])}function ao(e,t,n,i,r,o,s,a){const d=Ne(a.onCompletion,2);({bids:i,bidRequest:r}=t({bids:i,bidRequest:r,addBid:s(a.onBid),addPaapiConfig:s(((e,t)=>a.onPaapi({bidId:t.bidId,...e}))),done:d})),0===i.length?(a.onResponse?.({}),d()):e(n,i,r,o,s,{...a,onCompletion:d})}function co(e){let{DEBUG_KEY:n,config:i,hook:r,createBid:o,logger:s}=e;no=new Hr({logger:s});const a=function(e){let{createBid:n}=e;return function(e,i,r,o,s,a){let d,{onResponse:c,onError:l,onBid:u,onFledge:f}=a;const p=Ne((()=>c(...d)),o.length+1);function g(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];d=t,p()}function h(e,t){u({adUnit:t.adUnitCode,bid:Object.assign(n(t),{requestBidder:t.bidder},e)})}if(o=o.map((e=>i({bidRequest:e,addBid:h,addPaapiConfig(e,t,n){f({adUnitCode:t.adUnitCode,ortb2:n.ortb2,ortb2Imp:t.ortb2Imp,...e})},done:p}).bidRequest)).filter((e=>e.bids.length>0)),o.length>0){const n=new Set;o.forEach((e=>e.bids.forEach((e=>n.add(e.bidId))))),(r=t(r)).ad_units.forEach((e=>{e.bids=e.bids.filter((e=>n.has(e.bid_id)))})),r.ad_units=r.ad_units.filter((e=>e.bids.length>0)),e(r,o,s,{onResponse:g,onError:l,onBid:u})}else g(!0,[])}}({createBid:o});so((()=>r.get("processBidderRequests")),ao),so((()=>r.get("processPBSRequest")),a),function(e){let t,{DEBUG_KEY:n,storage:i,config:r,hook:o,logger:s}=e;try{i=i||window.sessionStorage,t=JSON.parse(i.getItem(n))}catch(e){}t&&ro(t,{fromSession:!0,config:r,hook:o,logger:s})}({DEBUG_KEY:n,config:i,hook:r,logger:s}),i.getConfig("debugging",(e=>{let{debugging:o}=e;return function(e){let n,{getStorage:i=(()=>window.sessionStorage),DEBUG_KEY:r,config:o,hook:s,logger:a}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!=e){try{n=i()}catch(e){a.logError("sessionStorage is not available: debugging configuration will not persist on page reload",e)}null!=n&&function(e){let{sessionStorage:n=window.sessionStorage,DEBUG_KEY:i}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.enabled){e.intercept&&((e=t(e)).intercept=no.serializeConfig(e.intercept));try{n.setItem(i,JSON.stringify(e))}catch(e){}}else try{n.removeItem(i)}catch(e){}}(e,{sessionStorage:n,DEBUG_KEY:r}),e.enabled?ro(e,{config:o,hook:s,logger:a}):function(e){let{hook:t,logger:n}=e;no.updateConfig({}),oo(!1),Jr({hook:t}),io&&(io=!1,n.logMessage("Debug overrides disabled"))}({hook:s,logger:a})}}(o,{DEBUG_KEY:n,config:i,hook:r,logger:s})}),{init:!0})}window._pbjsGlobals.forEach((e=>{window[e]&&!0===window[e]._installDebugging&&(window[e]._installDebugging=co)}))})()})();
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[11934],{5216:(e,s,d)=>{d(28157).y.register("debugging",{disclosures:{"https://cdn.jsdelivr.net/gh/prebid/Prebid.js/metadata/disclosures/prebid/debugging.json":{timestamp:"2025-07-14T20:27:49.446Z",disclosures:[{identifier:"__*_debugging__",type:"web",purposes:[1]}]}},components:[{componentType:"prebid",componentName:"debugging",disclosureURL:"https://cdn.jsdelivr.net/gh/prebid/Prebid.js/metadata/disclosures/prebid/debugging.json"}]})}},e=>{e.O(0,[36784,60802,37769,51085],(()=>{return s=5216,e(e.s=s);var s}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[11934],{5216:(e,s,d)=>{d(28157).y.register("debugging",{disclosures:{"https://cdn.jsdelivr.net/gh/prebid/Prebid.js/metadata/disclosures/prebid/debugging.json":{timestamp:"2025-07-21T22:11:36.091Z",disclosures:[{identifier:"__*_debugging__",type:"web",purposes:[1]}]}},components:[{componentType:"prebid",componentName:"debugging",disclosureURL:"https://cdn.jsdelivr.net/gh/prebid/Prebid.js/metadata/disclosures/prebid/debugging.json"}]})}},e=>{e.O(0,[36784,60802,37769,51085],(()=>{return s=5216,e(e.s=s);var s}));e.O()}]);
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[10530],{80124:(e,s,n)=>{n(28157).y.register("deepintentBidAdapter",{disclosures:{"https://www.deepintent.com/iabeurope_vendor_disclosures.json":{timestamp:"2025-07-14T20:28:05.428Z",disclosures:[]}},components:[{componentType:"bidder",componentName:"deepintent",disclosureURL:"https://www.deepintent.com/iabeurope_vendor_disclosures.json"}]})}},e=>{e.O(0,[36784,60802,37769,51085],(()=>{return s=80124,e(e.s=s);var s}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[10530],{80124:(e,s,n)=>{n(28157).y.register("deepintentBidAdapter",{disclosures:{"https://www.deepintent.com/iabeurope_vendor_disclosures.json":{timestamp:"2025-07-21T22:11:50.726Z",disclosures:[]}},components:[{componentType:"bidder",componentName:"deepintent",disclosureURL:"https://www.deepintent.com/iabeurope_vendor_disclosures.json"}]})}},e=>{e.O(0,[36784,60802,37769,51085],(()=>{return s=80124,e(e.s=s);var s}));e.O()}]);
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[97420],{68318:(e,s,o)=>{o(28157).y.register("deltaprojectsBidAdapter",{disclosures:{"https://cdn.de17a.com/policy/deviceStorage.json":{timestamp:"2025-07-14T20:28:05.567Z",disclosures:[]}},components:[{componentType:"bidder",componentName:"deltaprojects",disclosureURL:"https://cdn.de17a.com/policy/deviceStorage.json"}]})}},e=>{e.O(0,[36784,60802,37769,51085],(()=>{return s=68318,e(e.s=s);var s}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[97420],{68318:(e,s,o)=>{o(28157).y.register("deltaprojectsBidAdapter",{disclosures:{"https://cdn.de17a.com/policy/deviceStorage.json":{timestamp:"2025-07-21T22:11:50.825Z",disclosures:[]}},components:[{componentType:"bidder",componentName:"deltaprojects",disclosureURL:"https://cdn.de17a.com/policy/deviceStorage.json"}]})}},e=>{e.O(0,[36784,60802,37769,51085],(()=>{return s=68318,e(e.s=s);var s}));e.O()}]);